Keywords

1 Introduction

In general, electronic charts are one kind of vector map, which is the core data in the electronic chart display and information system [1]. They are considered necessary to safe navigation. Raster charts are also used in these areas. Electronic charts have become a fundamental means of representing data structures in several marine navigational information systems. Especially, electronic charts, which have both land and marine coordinate systems (Fig. 1(c)), are more flexible than raster maps (Fig. 1(a)) and regular vector map (Fig. 1(b)). During the past twenty years, electronic charts have been widely used and distributed. This has raised concerns regarding the copyright protection of electronic charts. However, most existing algorithms can distort original maps after the watermarks are extracted [2]. This is highly undesirable because any disruption of the accuracy of the data will make the map unusable. It is difficult to recover the land and marine coordinate systems at the same time.

Fig. 1.
figure 1

Three types of digital maps

2 Features of the Watermarking Algorithm

Generally, the watermark can be embedded into the frequency domain or spatial domain. In spatial domain scenario, the watermark is directly embedded into the coordinate data, which visibly distorts the map. The map should be converted into the frequency domain, at which point the watermark is embedded into the frequency coefficients, which only slightly distorts the map.

There are few digital watermarking algorithms for electronic charts, but the digital watermarking methods for vector maps have been widely investigated in the last decade. Because of dual coordinate systems, not all algorithms for vector maps are capable of protecting the copyright of electronic charts. For example, by changing the vector data to embed the watermark in the spatial domain, the precision loss of land coordinate system is different from marine coordinate systems. To improve the watermarking of electronic charts, the topology of the maps was taken into account.

Few works have been proposed on topology: Lee et al. proposed the first watermarking algorithm for vector maps. It worked by modifying the vector coefficients in the DCT domain [3]. Considering the characteristic of vector geo-spatial data provided in two previous works, Zhang et al. presented a new watermarking scheme based on spectral coefficients in each factitious divided mesh [4]. With the goal of creating lossless watermarking for vector maps, Sun et al. proposed an algorithm based on recursive embedding [5]. Researchers also proposed several improved algorithms based on topological structure in frequency domains [68]. The topological characteristics of the map graphics are extracted, and then the relative coefficients of these vertices are calculated. Finally, the watermark is embedded into the coordinates. Lai and Zhang were the first to propose a solution to security issues regarding electronic charts [7]. In one study, they describe the methods they used to evaluate the performance of watermarking algorithms, and in another, they provided a security cryptography scenario to protect the content of electronic charts.

In general, the performance of digital watermarking for electronic charts means robustness, capacity, and invisibility. Information must be encoded into the watermark and embedded it into the electronic chart to indicate the copyright owner and allow detection of tampering.

A robust watermarking technique should be able to withstand different types of attacks and be easily read from the attacked map.

Producers generally prefer robust watermarking algorithms with high total information.

Invisibility is a key factor that determines the capability of the watermarking scenario to embed the watermarks. Sometimes, capacity and invisibility are mutually exclusive (Fig. 2).

Fig. 2.
figure 2

Main performance factors

3 Characteristics of the Vector Map

Generally, the broadcasted vector map consists of single points, lines, and regions, which make up three types of letters, sometimes the maps only contain two or three types of objects. This makes these maps more complex than other digital products, such as images, audio, and video.

The object in the map is described with three types of information, which are attribute, topology, and property. These instructions describe the location, name, color, and spatial relationships with other unities in the map.

Because vector maps are widely used across many areas, such as geographic information systems (GIS), military management systems, intelligent transportation systems, and similar systems. There are several storage formats, and .SHP (Table 1) is one of main standard structures for vector map. The software environment was an ArcGIS programming platform.

Table 1. Structure of SHP format for vector map

The details introductions of format files are as follows:

  1. 1.

    Structural definition file .TAB: To define the la, basic layers, color rendering, and other patterns.

  2. 2.

    Attribute description file .DAT: To describe the attribute information for every object in the map, including single vertexes, lines, and regions.

  3. 3.

    Object index file .ID: To create the one-to-one match between the object and its attribute information, also named crossing index file.

  4. 4.

    Topological description file .MAP: To record the characteristics of object in the topology space, for instance, geometric relation, shape features, and graphic data.

Typically, the base unit of the types of files given above is the data block. These blocks come in two sizes for a variety of software platforms: 512 bytes and 1024 bytes. As shown in Table 2, a data block consists of file heading, index block, definition block, and resource block. The label numbers of each block are marked as follows:

Table 2. Definitions of data block

4 Proposed Watermarking Scheme

The watermarking scheme consists of three steps: pre-processing, embedding, and extraction.

4.1 Pre-processing

To prevent various types of attacks, before embedding the operation, the vertices to be used to embed watermark must first be chosen. This procedure is called pre-processing. Vertices will be selected using the topological characteristics of the host map.

As mentioned in Sect. 3, the vertex is described by data blocks for object definition and object attributes. By tracking the ID, some features including the name, location and attributes of the specified vertex were retrieved from the map file.

The algorithm used for pre-processing is as follows:

Input: vector map V, vertex v, the coordinate value of which is \( (v_{x} ,v_{y} ) \), connected relation R in the line, connected relation Q in the region;

Output: feature vertices set FS.

In the map V, all of connected vertices can be denoted linked list L i . The elements belonging to L i , are sorted connected vertex set \( \{ v_{1} ,v_{2} , \ldots ,v_{j} \} \).

  1. 1.

    If vertices \( v_{i} ,v_{j} \) that make up the \( v_{i} Rv_{j} \) are established and \( v_{j} Rv_{i} \equiv v_{i} Rv_{j} \), then definite \( L_{i} = L_{i} \cup \{ v_{i} ,v_{j} \} \);

  2. 2.

    Similarly, if some vertices connect to a closed area, such as a region in the map, denoting \( v_{i} \,Qv_{i + 1} \,Q \ldots v_{i + n - 1} \,Qv_{i + n} \,Qv_{i} \), then \( L_{i} = L_{i} \cup \{ v_{i} ,v_{i + 1} , \ldots ,v_{i + n - 1} ,v_{n + 1} \} \);

  3. 3.

    As shown in Fig. 1(a), for some cross lines in the map, if \( L_{i} \cap L_{j} = v_{m} \), \( L_{l} \cap L_{k} = v_{n} \), \( v_{m} \,Rv_{n} \), indicating that some lines have common vertices. This defines \( L' = L_{i} \cap \{ v_{m} ,v_{n} \} \).

  4. 4.

    As shown in Fig. 1(b) for some neighborhood regions, if \( L_{i} \cap L_{j} \ne\Phi \), then define \( L' = L_{i} \cap L_{j} \). Let L′ be \( L' \) the critical set shared by multiple adjacent regions.

  5. 5.

    The linked list \( L' \) L′ is the result used to embed the watermark, and the elements of \( L' \) L′ also occupy the most important topological locations in the vector map.

  6. 6.

    FS = \( L' \).

Before embedding, the map is pre-processed using the scenario given above, and one dataset FS is given to embed the watermark binary (Fig. 3).

Fig. 3.
figure 3

Critical objects in the vector map

4.2 Embedding Procedures

Restructure linked list \( L' \) L′: load the vertex elements from header of \( L' \) L′, and dived \( L' \) L′ into some sections by two vertices one pair. As shown in Fig. 4, every line curve consists of many micro-straight lines, so is the region in the map. And the pair of vertices is two terminal points of the straight line.

Fig. 4.
figure 4

Group theory for linked list

Define the coordinate values of two terminal vertices as \( (x_{a} ,y_{a} ),(x_{b} ,y_{b} ) \) (x a , y a ) and (x b , y b ) and the coordinate value of the medium position C denotes \( x_{c} = \frac{{\left| {x_{b} - x_{a} } \right|}}{2},\,\,y_{c} = \frac{{\left| {y_{b} - y_{a} } \right|}}{2} \).

The embedding process takes place as follows:

  • Step 1: Group the pair vertices from linked list.

  • Step 2: Select the specified pair of vertices, and compute the coordinate value of medium point C.

  • Step 3: Using the watermarking bit value, embed watermark by creating the new vertex C or not creating one. The process is carried out on the pre-processed vector map:

    $$ \left\{ {\begin{array}{*{20}c} {creating\;C, if w_{i} = 1} \\ {unembedding, if w_{i} = 0} \\ \end{array} } \right. $$
    (1)

    Where \( w_{i} \) is the given i th watermark, C is the new vertex inserted into the middle of the line, to preserve invisibility, \( C(\frac{{\left| {x_{b} - x_{a} } \right|}}{2},\,\,\frac{{\left| {y_{b} - y_{a} } \right|}}{2}) \) is only created while watermark bit equals 1.

    The embedding process is shown in Fig. 5.

    Fig. 5.
    figure 5

    Diagram of the watermark embedding process

4.3 Extraction Procedures

For a watermarked electronic chart, the procedure of watermark extraction and recovery can be demonstrated as follows:

  • Step 1: According to the topological distribution of the marked map, recover the feature dataset of vertices \( L_{ex} \) L ex , the elements are all critical to the topology, if vector map is available, then \( L_{ex} \approx L' \) L ex  ≈ L′ is established.

  • Step 2: After keys grouped by the pair of vertices for linked list \( L_{ex} \) L ex , by secret key, the watermark bit could be extracted from every pair vertices.

  • Step 3: If there is one medium vertex C′ between one pair of vertices in the same line, then remove C′, and \( W_{ti} = 1 \), else, \( W_{ti} = 0 \).

5 Experimental Validation

To evaluate the performance of the proposed watermarking scheme, we use three .shp format maps, here called ‘Harbin Services map’, ‘Road map’ and ‘Urban map’. As shown in Fig. 6, the original maps used in the current experiments represent three types of topological maps: single vertex sets (Fig. 6(a)), linear vertex sets (Fig. 6(b)), and regional vertex sets (Fig. 6(c)).

Fig. 6.
figure 6

Vector maps used in the experiments

Abbas et al. proposed the robust algorithm for vector map, in which additional vertex coordinates are inserted between adjacent vertices whose locations are governed by the value of the watermark data [9]. From the point of realization, it can be compared to the algorithm used in this paper. The watermark image is still 70 × 60 pixels in size, like the one used by Abbas et al., and also black and white. The vector maps are in .shp format files. The parameter described by Abbas et al. is here specified as 0.03.

The watermark image used is shown in Fig. 7.

Fig. 7.
figure 7

Watermark used in the experiments

The performance of the proposed algorithm was here measured using three criteria: robustness, watermarking capacity, and invisibility. The experiment exploits Visual Studio 6.0 and ArcGIS AO plug platform.

5.1 Robustness Evaluation

To assess the ability of the proposed algorithm to withstand attacks, the watermarked maps were here subjected to several rules. Then attempts were made to extract the watermark from the attacked host map. To quantify the extracted watermarks integrity, normalization correlation (NC) was calculated as described in Eq. 2 the algorithm.

$$ Sim(W,W_{t} ) = \frac{{\sum\limits_{i = 1}^{n} { < W_{i} ,W_{{t_{i} }} > } /N}}{{\sqrt {\sum\limits_{i = 1}^{n} {W_{i}^{2} } } \cdot \sqrt {\sum\limits_{i = 1}^{n} {W_{{t_{i} }}^{2} } } }},\,\, < W_{i} ,W_{{t_{i} }} > \,\, = \left\{ {\begin{array}{*{20}c} {1\,,} & {\,\,\,W_{i} = W_{{t_{i} }} } \\ {0\,,} & {\,\,W_{i} \ne W_{{t_{i} }} } \\ \end{array} } \right. $$
(2)

Here n denotes the length of the watermark and \( W_{{t_{i} }} \) and \( W_{i} \) are the extracted and original watermark binary values, respectively.

Table 3 shows the results of geometric and format exchange attacks.

Table 3. Results of geometric and format exchange attacks

The results show that the proposed algorithm can preserve watermark information perfectly. It performed better when some of the topography was removed or changed.

Noise attacks made on the marked vector map, and the noise was applied to the vertices in the map. Two algorithms were used under the same experimental conditions (Table 4). The thresholds of noise attacks were specified as 0.015 and 0.03.

Table 4. Results for noise attacks

Because the algorithm proposed here has less information to be embedded into the vector map, the watermark does not distort the image as much as other watermarks do.

Sometimes, the map is simplified for convenient use. Here, a watermarked vector map was simplified using a compression algorithm [10]. By converting coordinates to different types, mapping the vector data, and then filtering the vertex on the curve from the map, the compression rate could exceed 40 %.

Table 5 shows the extracted watermarks after compressed attack on the vector map. The proposed algorithm performed visibly better than the one described by Abbas et al. [9]. Because the newly created vertices in the embedding algorithms were all redundant, any compression algorithm was prone to remove these non-terminal points in some straight lines. Because the Abbas algorithm requires embedding almost twice as many watermarks as the current algorithm doing, it showed extracted watermark images of poorer quality [9].

Table 5. Results for compression attacks

5.2 Watermarking Capacity

To evaluate the capacity of the algorithm to carry the watermarks, the proposed algorithm was compared to the existing algorithm under the same conditions in [9]. We chose the same watermark to embed them into maps for 2, 5, and 10 times.

As shown in Table 6, the proposed algorithm had a larger capacity and better performance than the earlier algorithm. The medium vertex in the map was created when the watermark bit was equal to 1, showing the current algorithm to have twice the theoretical capacity as the Abbas algorithm [9].

Table 6. Results for capacity testing

5.3 Invisibility

Figure 8 shows the original map (Fig. 8(a)) and watermarked map (Fig. 8(b)). As shown, the partial watermarks do not distort the map (Fig. 8(d)). Visually, the imperceptibility is very good. Figure 8(c) shows results produced using their algorithm in [9]. The fidelity is also perfect. However, as discussed, if the capacity is increased, the mark becomes more visible.

Fig. 8.
figure 8

Results of invisibility testing

The coordinates of the regular vertices in the map showed no changes after the watermarks were embedded. None of the original vertices were moved. Only limited medium vertexes were created. For this reason, all changes were within the allowable range of distortion. The watermarked map is also shown, and has the same function as original map.

For vector maps, the precision of geographical coordinates is very important. That is, if the coordinates of some key vertices are wrong, the map cannot be used. For this reason, if the critical vertices are used to anchor the watermarks, the watermarked map can reach a sweet spot, striking a balance between performance of the algorithm and usability of the map. That is, if some watermarks are destroyed, the critical vertices that maintain the topology of the map are removed or changed, rendering the map useless.

6 Conclusion

In this paper, an improved robust embedding scheme is proposed for the electronic chart safety. Our method could keep the less distortion to the map and enhance the performance of the watermarking algorithm. To handle the first issue, we decrease the embedding amounts to preserve the topology space on the map, which results in the high invisibility and preserved topology for the watermarked map. To handle the second issue, we proposed one improved means, in which fewer vertices are created and embedded between two terminal points in some important straight lines or regions. We also provide analysis and experimental validation, we have shown that high capacity, and perfect invisibility and strong robustness all can be achieved based on the proposed scheme.