Skip to Content
IJGIISPRS International Journal of Geo-Information
  • Article
  • Open Access

21 February 2023

A Self-Error-Correction-Based Reversible Watermarking Scheme for Vector Maps

,
and
1
Nanjing Institute of Geography and Limnology, Chinese Academy of Sciences, Nanjing 210008, China
2
School of Environment Science and Spatial Informatics, China University of Mining and Technology, Xuzhou 221116, China
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.

Abstract

The existing digital watermarking schemes for vector maps focus mainly on the process of watermark embedding, while few works have been conducted on the topic of the self-optimization of watermark data in the process of watermark detection. There is thus still much room for accuracy improvement in watermark detection. In this paper, a model of mixed watermark data construction is built first. It constructs the error-correction codes and checking code of the original copyright watermark data and combines them to generate the final watermark data. Additionally, a lossless compression algorithm is designed for watermark data to constrain the total watermark length. Based on the constructed model, a self-error-correction-based reversible watermarking scheme is put forward for vector maps. In this scheme, map vertices are divided into non-intersecting groups first according to stability, and mixed watermark data are then embedded with respective vertex groups. Simulation results demonstrate that the watermark capacity of this scheme is 1.0000, the coordinate error caused by the watermark embedding process can be limited to no more than 0.00001 when the strength of watermark embedding is set to five, and several watermark bits can be effectively detected and corrected after watermark extraction. Experimental results and analysis show that it can strike a good balance among reversibility, invisibility, capacity and robustness. It can provide a novel solution to improve the watermark detection accuracy of digital watermarking schemes for vector maps.

1. Introduction

Vector maps, in which geo-spatial elements are represented by points, polylines and polygons, are the basic data of national infrastructure construction and geo-information science research. They are playing a more and more important role in various fields of national economic construction [1,2]. On the one hand, vector map data must make a breakthrough in terms of data opening and sharing, so as to develop their full use value. On the other one, the opening and sharing of vector map data poses a great threat to its security protection. As a kind of digital product, vector maps are easy to copy, tamper and disseminate, making it very convenient for map piracy, infringement and other illegal acts [3,4]. Accordingly, the security protection of vector maps in the environment of data opening and sharing has captured high attention from governments at all levels and scholars at home and abroad [5,6].
As an important branch of information hiding, digital watermarking technology has been applied widely in the integrity authentication and copyright protection of multi-source heterogeneous data, e.g., digital images [7], CAD drawings [8], convolutional neural networks [9], etc. Moreover, it has been considered as a promising solution for the copyright protection of vector maps. Traditional research, however, focuses mainly on the optimization of the methods and positions of watermark embedding, while the watermark detection process is usually the inverse one of watermark embedding. To the best of our knowledge, there are only a few works that have been conducted on the topic of the self-error-correction of watermark data, and there is still plenty of room for improvement in watermarking detection accuracy.
In this paper, we try to propose a self-error-correction-based reversible watermarking scheme for vector maps. A construction model of mixed watermark data is first constructed, which can strength the self-correcting ability of watermark data under the constraint of watermark length. Based on this model, a self-error-correction-based reversible watermarking scheme for vector maps is put forward. The contributions of this paper include the following:
(1)
Analysis of the existing works indicates that they concentrate mainly on methods of watermark embedding, while very few works have been reported about error detection and the control of watermark extraction results. Moreover, there is still plenty of room for accuracy improvement in watermarking detection.
(2)
A construction model of mixed watermark data is proposed. It combines the original copyright watermark data and their corresponding error-correction codes and checking code to generate the final mixed watermark data, which can strengthen the self-correcting ability of watermark data under the constraint of watermark length.
(3)
Based on the above model, a reversible watermarking scheme is proposed for vector maps. Experimental results and analysis demonstrate that it has good performance in terms of reversibility, invisibility, capacity and robustness.
The rest of this paper is organized as follows. The related work is introduced in Section 2. The construction model of mixed watermark data is proposed in Section 3. In Section 4, a reversible watermarking scheme is put forward for vector maps based on the constructed model of mixed watermark data. Experimental results and analysis are provided in Section 5. Finally, some conclusions are given in Section 6.

3. Construction Model of Mixed Watermark Data

To equip watermarking schemes with the ability to detect and correct error bits after watermark extraction, the error-correction code (ECC) of the original copyright watermark data, as well as the corresponding checking code (CC), is first constructed. In addition, the above three types of data are then combined to generate the final watermark data to be embedded. The generated final watermark data are called mixed watermark data in this paper. Generally, the introduction of ECC and CC will enlarge the total watermark length, and the robustness of the watermarking scheme will be affected accordingly. To solve this problem, a lossless compression method is designed for watermark data in this paper. The basic framework of mixed watermark data construction is shown in Figure 1.
Figure 1. The basic framework of mixed watermark data construction.

3.1. Error-Correcting Coding and Checking Coding

Binary images are adopted frequently to represent copyright information in common digital watermarking algorithms. Consequently, a binary watermark image is exploited in this section to explain the method of error-correcting coding and checking coding. Two stages of ECCs are generated first for original copyright watermark data, so as to detect and correct error bits in the watermark detection phase. Afterwards, the checking code of ECCs is generated so that a few error bits of ECCs can be identified in the watermark detection phase. Additionally, Huffman coding is conducted on the copyright watermark data, ECCs and CC to shorten the total watermark length. Given a l × m (unit: pixel) binary watermark image, assumed b w , the process of error-correcting coding and checking coding can be summarized as the following steps:
Step 1. Generate the first stage of the ECC of the b w . Create an l × m (unit: pixel) blank binary image, named E C C 01 , and assign it by parity-checking coding, i.e., the total number of black pixels in b w i , j , b w i + 1   m o d   l , j , b w i , j + 1   m o d   m and E C C 01 i , j is an odd (resp. even) number.
Step 2. Generate the second stage of the ECC of the b w , i.e., the ECC of E C C 01 , adopting the same method described in Step 1. Let E C C 02 be the obtained second stage of ECC. It can be inferred that the size of E C C 02 is l × m (unit: pixel).
Step 3. Generate the XOR code of E C C 01 and E C C 02 and take the obtained result as the checking code (CC) of the two stages of ECCs. Create an l × m (unit: pixel) blank binary image to represent the obtained XOR code, assumed C C 01 . Then, assign C C 01 by Equation (1). Here, ⨂ means an operation between two binary pixels (black or white), i.e., if the two pixels participating in the operation are the same, the operation result is a white pixel or the operation result is a black pixel.
C C 01 i , j = E C C 01 i , j E C C 02 i , j
Step 4. Perform the Hamming coding operation on C C 01 , taking each row as a unit. For each unit, the coding process can be completed by the following sub-steps:
(i)
Calculate the number of redundant bits. The minimum value of r that satisfies the condition described in Equation (2) is taken as the number of redundant bits, where m means the number of original bits in this unit.
2 r m + r + 1
(ii)
Position the redundant bits. The r redundant bits are placed at bit positions of powers of 2, i.e., 1, 2, 4, 8, etc. They are referred to in the rest of this step as r 1 (at position 1), r 2 (at position 2), r 3 (at position 4), r 4 (at position 8) and so on.
(iii)
Calculate the values of each redundant bit. The redundant bits are parity bits. Each redundant bit, r i , is calculated as the parity based upon its bit position. It covers all bit positions whose binary representation includes a “1” in the i th position except the position of r i . Thus, r 1 is the parity bit for all data bits in positions whose binary representation includes a “1” in the least significant position excluding 1 (3, 5, 7, 9, 11 and so on). The other redundant bits, e.g., r 2 , r 3 , etc., can be calculated by a similar method.
An example of error-correcting coding of copyright watermark data is shown in Figure 2 (odd-parity checking is adopted). Exploiting the same data, the result of checking coding is shown in Figure 3.
Figure 2. An example of error-correcting coding of copyright watermark data: (a) is the original copyright watermark data, (b,c) are the first stage and the second stage of ECCs of (a), respectively.
Figure 3. An example of checking coding of ECCs: (a) is the XOR code of Figure 2b,c, and (b) is the result of Hamming coding of (a).

3.2. Mixed Watermark Data Construction Based on Lossless Compression

The introduction of ECCs and CC will inevitably lead to an increase in the total watermark length, a reduction in the average embedding times of watermark bits and a decrease in the watermark robustness. As a result, Huffman coding is adopted in this paper to solve the problem of an increased watermark length. Take the copyright watermark data in Figure 2a as an example, the process of Huffman coding can be summarized as the following steps, and the ECCs and CC can be operated with the same method.
Step 1. Divide the copyright watermark data into several 2 × 2 blocks, and then replace each block by a single value based on the correspondence shown in Table 1. The result is shown in Figure 4.
Table 1. Correspondence between 2 × 2 blocks and single values.
Figure 4. Result of block division and single-value replacement of the copyright watermark data.
Step 2. Encode the obtained single values based on Huffman coding by the following sub-steps, i.e., (i) count total numbers of each letter in Figure 3 (the result is shown in Table 2), (ii) construct a Huffman tree based on the statistical results (the result is shown in Figure 5) and (iii) generate Huffman code for each letter based on the constructed Huffman tree (the result is shown in Table 3).
Table 2. Statistical results of letter frequency.
Figure 5. Result of Huffman tree construction.
Table 3. Result of Huffman coding for each letter.
Step 3. Replace each element in the original letters (i.e., “LBOBLJJLC”) by the corresponding Huffman code, and take the obtained result (i.e., “11010010111101011000”) as the final result of Huffman coding.

4. The Proposed Watermarking Scheme

The proposed scheme will be described in three stages in this section. The designed algorithm of vertex grouping and watermark embedding will be introduced first, and the process of watermark extraction and map content recovery will be described in detail afterwards. Finally, the method of self-optimization of watermark data after watermark extraction will be explained minutely.

4.1. Vertex Grouping and Watermark Embedding

Map vertices are grouped first in this section by feature vertex extraction. Then, the given mixed watermark data will be separated into four individual parts, i.e., copyright watermark data, the first stage of ECC, the second stage of ECC and Hamming codes. Afterwards, the obtained Hamming codes will be embedded into feature vertices, and copyright watermark data and two stages of ECCs will be embedded into non-feature vertices. Finally, the watermarked feature vertices and non-feature vertices will be combined to generated the watermarked vector map.
Given the original vector map and the mixed watermark data, the procedure of vertex grouping and watermark embedding is shown in Figure 6, which can be summarized as the following steps:
Figure 6. Diagram of vertex grouping and watermark embedding.
Step 1. Extract feature vertices of the original vector map adopting the D o u g l a s P e u c k e r algorithm [3], and then allocate all map vertices to a feature vertex set F = f i , 0 i l f 1 ) and a non-feature vertex set N = n i , 0 i l n 1 ) .
Step 2. Separate the given mixed watermark data into four individual parts, i.e., copyright watermark data W C = W C i , 0 i l w c 1 , the first stage of ECC E 1 = e 1 i , 0 i l e 1 1 , the second stage of ECC E 2 = e 2 i , 0 i l e 2 1 and Hamming codes H = h i , 0 i l h 1 .
Step 3. Establish correspondence between elements in H and F . The virtual reference vertex of the original vector map, assumed v r x r , y r , will be determined first according to Equation (3), where x i * , y i * is the integer part of the coordinate of f i and · denotes the rounding function. Afterwards, for each f t x t , y t , the corresponding Hamming code h t can be determined according to Equation (4), where H a s h 1 · is an existing function that can transform inputs with arbitrary lengths into outputs with fixed lengths, and x t * and y t * are integer parts of x t and y t , respectively.
x r = 1 l f i = 0 l f 1 x i * y r = 1 l f i = 0 l f 1 y i *
h t = h H a s h 1 x t * x r 2 + y t * y r 2   m o d   l h
Step 4. Combine elements in W C , E 1 and E 2 into one large code list, assumed T = t i , 0 i l w c + l e 1 + l e 2 1 . Establish correspondence between elements in T and N . For each n s x s , y s , the corresponding watermark bit T s can be determined according to Equation (5), where H a s h 2 · is an existing function that can transform inputs with arbitrary lengths into outputs with fixed lengths, and x s * and y s * are integer parts of x s and y s , respectively.
T s = t H a s h 2 x s * x r 2 + y s * y r 2   m o d   l w c + l e 1 + l e 2
Step 5. Embed each bit in H into its corresponding feature vertices in F , and a watermarked feature vertex set F can be obtained. Take a feature vertex f a x a , y a and its corresponding Hamming code h b as an example, and the embedding process can be completed by the following sub-steps, i.e., (i) calculate the polar coordinate of f a by Equation (6) (let ρ a , θ a be the obtained polar coordinate), (ii) embed h b into ρ a by Equation (7) where k k 1 denotes the strength of watermark embedding and (iii) convert the watermarked polar coordinates ρ a , θ a into rectangular ones x a , y a by Equation (8).
ρ a = x a x r 2 + y a y r 2 θ a = arctan y r y a x r x a
ρ a = ρ a × 10 k + 10 k + h b + ρ a × 10 k ρ a × 10 k + 10 k + 1
x a = x r + ρ a × cos θ a y a = y r + ρ a × sin θ a
For example, if ρ a = 8.912354 , h b = 1 and k = 4 , then
ρ a = 8.912354 × 10 4 + 10 4 + 1 + 8.912354 × 10 4 8.912354 × 10 4 + 10 5 = 89,123 10 4 + 1 + 89,123.54 89,123 10 5 = 8.9123 + 0.0000154 = 8.9123154
Step 6. Embed all bits in T into non-feature vertices in N by the same method as that described in Step 5, and a watermarked non-feature vertex set N can be obtained. Combine all vertices in F and N to obtain the final watermarked vector map.

4.2. Watermark Extraction and Map Content Recovery

As shown in Figure 7, the process of watermark extraction and map content recovery is the inverse one of watermark embedding, and the details are described as follows:
Figure 7. Diagram of watermark extraction and map content recovery.
Step 1. Extract feature vertices of the watermarked vector map and allocate all map vertices into a feature vertex set F = f i , 0 i l f 1 and a non-feature vertex set N = n i , 0 i l n 1 , as described in Step 1 of Section 4.1.
Step 2. Determine the virtual reference vertex of the watermarked vector map, assumed v r x r , y r , by Equation (9), where x i * and y i * are integer parts of x i and y i , respectively.
x r = 1 l f i = 0 l f 1 x i * y r = 1 l f i = 0 l f 1 y i *
Step 3. Extract watermarks from vertices in F and recovery map content. For each f t x t , y t , the corresponding watermark bit h t can be extract by the following sub-steps, i.e., (i) calculate the polar coordinate of f t by Equation (10), (ii) extract h t from the obtained polar coordinate by Equation (11) where · + is a function getting the integer part of a decimal number, (iii) create a list H to store the extracted watermark bits, and the correspondence between watermark bits and elements in H can be constructed by the method mentioned in Step 3 of Section 4.1 (a simple statistical method, i.e., the minority is subordinate to the majority, is adopted here for optimal value selection), (iv) obtain the recovered polar coordinate of f t , assumed ρ t , θ t , by Equation (12) where · is a function getting the fraction part of a decimal number and (v) convert the recovered polar coordinates of f t into rectangular ones by Equation (13).
ρ t = x t x r 2 + y t y r 2 θ t = arctan y t y r x t x r
h t = ρ t × 10 k ρ t × 10 k + × 10 +
ρ t = ρ t × 10 k + + ρ t × 10 k × 10 10 k θ t = θ t
x t = x r + ρ t × cos θ t y t = y r + ρ t × sin θ t
Take the data in Step 5 of Section 4.1 as an example, i.e., ρ a = 8.9123154 and k = 4 , and the watermark bit can be extracted by
h t = 8.9123154 × 10 4 8.9123154 × 10 4 + × 10 + = 89,123.154 89,123 × 10 + = 1.54 + = 1
Then, the map content can be recovered by
ρ t = 8.9123154 × 10 4 + + 8.9123154 × 10 4 × 10 10 4 = 89,123 + 0.154 × 10 10 4 = 89,123 + 0.54 10 4 = 8.912354
Step 4. Extract watermarks from vertices in N by the same method as that described in Step 3. Copyright watermark data and two stages of ECCs can be obtained, and watermarked non-feature vertices can be recovered.
Step 5. Combine the recovered map vertices to generate the recovered vector map. Similarly, combine the obtained Hamming codes, copyright watermark data and two stages of ECCs to generate the extracted mixed watermark data.

4.3. Self-Optimization of Watermark Extracting Results

After watermark extraction, the accuracy of copyright watermark detection can be further improved in this paper from the perspective of the self-error-correction of mixed watermark data. Given the extracted mixed watermark data, the self-optimization procedure (Figure 8) can be summarized as follows:
Figure 8. Diagram of self-optimization of the extracted mixed watermark data.
Step 1. Separate the mixed watermark data into four parts, i.e., copyright watermark data, first stage of ECC, second stage of ECC and Hamming codes. Then, decode the four parts, replacing each code by its corresponding 2 × 2 block (the correspondence is shown in Table 1). Then, four binary images can be obtained, assumed c w i (copyright watermark image), e c c 01 (first stage of ECC), e c c 02 (second stage of ECC) and h c i (Hamming code image).
Step 2. Detect and correct error elements in h c i , taking each row as a unit. For each unit, assumed b 1 ,   b 2 , , b m + r , the process of error bit detection and correction can be completed by the following sub-steps:
(i)
Calculate the number of redundant bits and position them using the same formula as in Step 4 of Section 3.1.
(ii)
Parity checking. Calculate parity bits based upon the data bits and the redundant bits using the same rule as in Step 4 of Section 3.1. Thus, let c 1 be the first redundant bit and c 1 = p a r i t y b 1 , b 3 , b 5 , b 7   a n d   s o   o n . The other redundant bits can be ascertained similarly.
(iii)
Detect and correct error bits. Calculate the decimal equivalent of the parity bits (binary values) first. If it is 0, there is no error. Otherwise, the decimal value gives the bit position that has an error. For example, if c 1 c 2 c 3 c 4 = 1001 , it implies that the data bit at position 9, decimal equivalent of 1001, has an error. Then, flip the bit to get the correct bit value.
Step 3. Obtain the corrected XOR code by eliminating redundant bits from the optimized h c i . All positions of redundant bits are calculated in sub-step (i) of Step 2.
Step 4. Choose credible bits in e c c 01 , e c c 02 and the obtained XOR codes (assumed X = x i , j ). For each e c c 01 i , j , e c c 02 i , j and x i , j , if e c c 01 i , j = e c c 02 i , j and x i , j is a white pixel, they will be considered “credible” or they will be considered “incredible”.
Step 5. Correct incredible bits in e c c 01 . For each incredible e c c 01 i , j , if e c c 02 i , j and x i , j are all credible, then it can be corrected: if x i , j is a black pixel, let e c c 01 i , j = e c c 02 i , j or assign e c c 01 i , j   by flipping e c c 02 i , j .
Step 6. Detect and correct error bits in c w i based on the corrected e c c 01 . Firstly, choose credible bits from c w i . For each c w i i , j , it will be considered credible if the total number of black pixels in c w i i , j , c w i i , j + 1 , c w i i + 1 , j and e c c 01 i , j is an odd (resp. even) number or it will be considered incredible. Afterwards, correct incredible bits in c w i . For each incredible c w i i , j , if one of the following conditions is satisfied, i.e., (i) c w i i , j + 1 , c w i i + 1 , j and e c c 01 i , j are all credible, (ii) c w i i , j 1 , c w i i + 1 , j 1 and e c c 01 i , j 1 are all credible and (iii) c w i i 1 , j , c w i i 1 , j + 1 and e c c 01 i 1 , j are all credible, it can be corrected according to the rule that the total number of black pixels in the aforementioned four pixels is an odd (resp. even) number.

5. Experimental Results and Analysis

Experiments have been conducted using a PC with the following configuration: CPU Inter Core i7-8700 3.20 GHz, RAM 64 GB, OS Windows 10 Education 64-bit, ArcGIS Engine 10.2 and Visual Studio 2010. Fifty vector maps (in .shp format) are used as the experimental data, and eight of them are shown in Figure 9. The properties of the used vector maps are listed in Table 4. The result of mixed watermark data generation is shown in Figure 10. The strength of watermark embedding is set to five.
Figure 9. Eight of the fifty experimental vector maps.
Table 4. Properties of the fifty adopted experimental vector maps.
Figure 10. Results of error-correcting coding and checking coding: (a) is the original copyright watermark image with a size of 64 × 48 (unit: pixel), (b) is the 1st stage of ECC with a size of 64 × 48 (unit: pixel), (c) is the 2nd stage of ECC with a size of 64 × 48 (unit: pixel), (d) is the XOR code of (b,c) whose size is also 64 × 48 (unit: pixel) and (e) is the Hamming code of (d) with a size of 71 × 48 (unit: pixel).
Based upon the results of error-correcting coding and checking coding, results of single-value replacement and Huffman coding are calculated as described in Section 3.2. Limited by the length of this article, only the results of the original copyright watermark data are shown here (Figure 11 and Table 5).
Figure 11. Results of single-value replacement taking the original copyright watermark data as an example.
Table 5. Results of Huffman coding taking the original copyright watermark data as an example.
After Huffman coding, the total length of the original copyright data is 1946. By the same method, Huffman codes of the two stages of ECCs and Hamming codes of XOR code are then calculated. The statistical results of compression coding are listed in Table 6, from which it can be seen that various parts of watermark data can be compressed effectively after Huffman coding.
Table 6. Statistical results of compression coding.

5.1. Experimental Results

First of all, a set of simulation experiments were conducted to test the stability of the result of feature vertex extraction. Feature vertices of the fifty experimental vector maps were first extracted and then mixed watermark data were embedded, as described in Section 4.1. Afterwards, feature vertices were extracted from the fifty watermarked vector maps. Experimental results show that all original extracted feature vertices can be successfully obtained after watermark embedding.
Afterwards, the statistical analysis was conducted during the watermark embedding procedure to evaluate the benefits of the designed watermarking scheme. Table 7 shows the results of the statistical analysis, indicating that the embedded times of watermark bits is ideal and the robustness of the designed scheme can be guaranteed in theory.
Table 7. Statistical results of watermark embedding.

5.2. Performance Analysis

5.2.1. Analysis about Reversibility

It can be inferred from the procedure of watermark extraction and map content recovery (Section 4.2) that the embedded watermark bits can be eliminated precisely from the cover data. Moreover, the reversibility of this scheme can be guaranteed in theory. To further verify the reversibility of the proposed scheme, a set of experiments were carried out based upon the fifty experimental vector maps. Watermarks were embedded first into the fifty vector maps, and then watermarks were extracted and map content was recovered. Finally, coordinate differences between original map vertices and their watermarked counterparts were calculated. The experimental results indicate that all map vertices can be recovered after watermark extraction, and the reversibility of this scheme is thus validated.

5.2.2. Analysis about Invisibility

It is described in Section 4.1 that only the decimal portion of vertex coordinates are modified to embed watermark data, and the distortion of map coordinates can be controlled by setting a reasonable strength of watermark embedding. In this work, the watermark embedding strength is set to five. Accordingly, the original vector maps will not be affected significantly in visualization in theory. An experimental vector map is shown in Figure 12, as well as its watermarked counterpart. It is quite difficult to distinguish the difference between the two vector maps from the visual aspect, even in the local zoom mode.
Figure 12. An example of invisibility analysis.
To further evaluate the invisibility of this scheme, errors of map coordinates were calculated, and two indicators, i.e., max error ( M E ) and root-mean-square error ( R M S E ), were adopted to express quantificationally the distortion of map vertices caused by watermark embedding. The M E and R M S E of each vector map can be calculated by Equation (14), where n is the total number of vertices, M a x · is a function that can get the maximal value of a given sequence and x i , y i and x i , y i are the original and the watermarked coordinates of the i - th map vertex, respectively.
M E = M a x x i x i 2 + y i y i 2 , 0 i n 1 R M S E = 1 n i = 0 n 1 x i x i 2 + y i y i 2 , 0 i n 1
Additionally, a comparison of the aspect of invisibility has been made among this scheme and three representative schemes in [5,6,13]. The results are shown in Table 8, indicating that both the M E and R M S E of the proposed scheme are acceptable (less than 1 × 10 5 ) and satisfying compared with the three state-of-the-art works.
Table 8. The comparison results of invisibility among different watermarking schemes.

5.2.3. Analysis about Capacity

In this scheme, each vertex is adopted for embedding a watermark bit, and it can be thus inferred that the total number of embedded watermark bits equals to the number of map vertices. Contrasting experiments were made among the proposed scheme and three representative schemes in [5,6,13] for the aspect of watermark capacity. Experimental results (Table 9) indicates that the watermark capacity of this scheme is basically at a normal level.
Table 9. Comparison results of watermark capacity among different schemes (bit/vertex).

5.2.4. Analysis about Robustness

(1)
Vertex reordering
Vertex reordering is a common kind of attack that vector maps suffer frequently, which may change the organization structure of the watermarked vector data and cause an impact on the result of watermark extraction. In this paper, the key sub-steps of the watermark embedding procedure, i.e., feature vertex extraction, polar coordinate conversion, etc., are all independent in the order of the map vertices. Consequently, it can be inferred that the proposed scheme will not be disturbed by vertex reordering. Moreover, simulation experiments were also carried out and the results confirmed the strong robustness of this scheme under vertex reordering operations.
(2)
Map translation and rotation
It can be inferred from the watermark embedding procedure mentioned in Section 4.1 that the proposed watermarking scheme is immune to map translation and rotation for the constancy of polar coordinates under geometric transformation. A set of experiments have been conducted to verify the robustness of this scheme under map translation and rotation, and the results show that the proposed scheme is quite robust under various intensities of translations and rotations.
(3)
Vertex addition and deletion
Vertex addition and deletion are two common operations of vector maps. While the former may introduce some interference vertices to the cover data, the latter may eliminate several map vertices, as well as the included watermark bits. Both the introduction of interference vertices and the loss of watermarked vertices have appreciable effects on the accurate extraction of watermark data. In this scheme, each watermark bit is embedded simultaneously into multiple map vertices, and a statistical method is adopted for optimal value selection in the watermark extraction phase. As a result, the ability of this scheme in resisting vertex addition can be enhanced theoretically. More importantly, after watermark extraction, a self-error-correction algorithm is put forward in this paper that is helpful for accuracy in watermark detection in theory.
Simulation attack experiments have been conducted to verify the robustness of this scheme under map translation and rotation. The generated mixed watermark data were first embedded into the fifty experimental vector maps, and then various proportions (from 10% to 70%) of vertices were added into (resp. removed from) the watermarked data. Finally, watermark data were extracted from the attacked cover data and self-optimized adopting the designed method. The results of the watermark extraction were generated by calculating the average value of fifty vector maps. Experimental results (Figure 13) show that (i) the accuracy of watermark detection can be improved effectively by the proposed self-error-correction algorithm; (ii) the smaller the attack intensity, the better the effect of self-error-correction of watermark data, and the relationship between attacking intensity and corrected error bits is not linear; and (iii) the robustness of this scheme under vertex addition is slightly better than under vertex deletion. Here, the bit error rate (BER) is used to express quantificationally the effect of watermark extraction.
Figure 13. Results of watermark extraction after vertex addition and vertex deletion.
(4)
Map simplification and clipping
Map simplification and clipping are two other kinds of attacks that vector maps suffer frequently. The former preserves feature vertices and removes non-feature vertices, and the latter retains vertices in an object region and deletes all the other vertices. Similar to vertex deletion, map simplification and clipping may lead to the loss of some watermarked vertices and thus affect the accuracy of watermark extraction. In this paper, copyright watermark data and ECCs are embedded into non-feature vertices, while Hamming codes are embedded into feature vertices. It can be inferred that the Hamming codes in the cover data are relatively stable, compared with copyright watermark data and ECCs. Therefore, a number of error bits in ECCs and copyright watermark data can be detected and corrected based upon Hamming codes in theory.
Simulation experiments have been carried out in this section to verify the robustness of the proposed scheme under map simplification and clipping. Moreover, comparisons have been made among this scheme and three representative schemes in [5,6,13] to evaluate objectively the performance of this scheme. Experimental results (Figure 14) show that the watermarking scheme proposed in this paper has a better performance in resisting map simplification and clipping attacks, compared with the three representative schemes. Moreover, the proposed scheme is more robust under map simplification than under map clipping.
Figure 14. Comparison results of watermark extraction after map simplification and clipping. The blue solid line, the red solid line, the green solid line and the yellow solid line denote the BER of this scheme, the BER of the scheme in [5], the BER of the scheme in [6] and the BER of the scheme in [13] after map simplification, respectively. The blue dashed line, the red dashed line, the green dashed line and the yellow dashed line denote the BER of this scheme, the BER of the scheme in [5], the BER of the scheme in [6] and the BER of the scheme in [13] after map clipping, respectively.

6. Conclusions

In this paper, a novel self-error-correction-based reversible watermarking scheme is put forward for vector maps, to provide new means to improve the accuracy of watermark detection. To equip the final watermark data with the self-correcting ability, a model of mixed watermark data construction is first built. It combines the copyright watermark data and its corresponding ECCs and CC to generate the final watermark data to be embedded. Moreover, to limit the total watermark length, a lossless compression method is designed for watermark data. After watermark extraction, a portion of error bits in the obtained copyright watermark data can be detected and corrected based upon the obtained ECCs and CC. Experimental results have demonstrated the reversibility, invisibility, capacity and robustness of the proposed scheme. In theory, the method of mixture watermark data construction is also worthy of being referenced in watermarking schemes of other types of geo-spatial data, e.g., remote sensing images, 3D models, etc.
The core innovation of this paper is the method of equipping the watermark data with the self-correcting ability under the constraints of total watermark length, and there are three aspects of work that are valuable for further study. Firstly, although the final watermark length is limited to a considerable extent in this paper by a designed lossless compression algorithm, it is a little bigger than the original length of copyright watermark data. In the near future, more attention should be paid to the development of more efficient lossless compression schemes for watermark data. Moreover, watermark data are embedded into the polar coordinates of map vertices in this paper, and the scheme is thus quite fragile under map scaling attacks. In future work, the construction of geometric invariants of vector maps should be researched, as well as the methods of embedding watermarks into the constructed geometric invariants, so as to improve significantly the robustness of watermarking schemes under geometric transformation. Finally, feature vertex extraction is a key step of the proposed watermarking scheme, and the Douglas–Peucker algorithm is used in this step. Accordingly, this scheme is not suitable for point data. The feature vertex extraction of point data is worthy of being researched in-depth in future work.

Author Contributions

Conceptualization, Yinguo Qiu and Jiuyun Sun; methodology, Yinguo Qiu; software, Jiaojue Zheng; validation, Jiuyun Sun and Yinguo Qiu; formal analysis, Yinguo Qiu; investigation, Yinguo Qiu; resources, Jiuyun Sun; data curation, Jiaojue Zheng; writing—original draft preparation, Yinguo Qiu; writing—review and editing, Jiuyun Sun; visualization, Jiuyun Sun; supervision, Yinguo Qiu; project administration, Jiuyun Sun; funding acquisition, Yinguo Qiu. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Natural Science Foundation of Jiangsu Province (Grant No. BK20201100), the National Natural Science Foundation of China (Grant No. 42101433) and the Open Research Fund of the National Engineering Research Center for Agro-Ecological Big Data Analysis & Application, Anhui University (Grant No. AE202107).

Data Availability Statement

The data presented in this study are available on request from the authors.

Acknowledgments

We would like to express our sincere gratitude to anonymous reviewers for their kind comments and suggestions for improving the manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Roy, A. Atmospheric Pollution Retrieval Using Path Radiance Derived from Remote Sensing Data. J. Geovis. Spat. Anal. 2021, 5, 26. [Google Scholar] [CrossRef]
  2. Ahmed, R.; Mahmud, K.H.; Tuya, J.H. A GIS-based mathematical approach for generating 3D terrain model from high-resolution UAV imageries. J. Geovis. Spat. Anal. 2021, 5, 24. [Google Scholar] [CrossRef]
  3. Qiu, Y.; Duan, H. A novel multi-stage watermarking scheme of vector maps. Multimed. Tools Appl. 2021, 80, 877–897. [Google Scholar] [CrossRef]
  4. Zhou, Q.; Ren, N.; Zhu, C.; Tong, D. Storage feature-based watermarking algorithm with coordinate values preservation for vector line data. KSII Trans. Internet Inf. Syst. 2018, 12, 3475–3496. [Google Scholar]
  5. Yan, H.; Zhang, L.; Yang, W. A normalization-based watermarking scheme for 2D vector map data. Earth Sci. Inform. 2017, 10, 471–481. [Google Scholar] [CrossRef]
  6. Yang, C.; Zhu, C.; Wang, Y.; Rui, T.; Zhu, J.; Ding, K. A robust watermarking algorithm for vector geographic data based on qim and matching detection. Multimed. Tools Appl. 2020, 79, 30709–30733. [Google Scholar] [CrossRef]
  7. Sahu, A.K.; Hassaballah, M.; Rao, R.S.; Suresh, G. Logistic-map based fragile image watermarking scheme for tamper detection and localization. Multimed. Tools Appl. 2022. [Google Scholar] [CrossRef]
  8. Peng, F.; Lin, Z.; Zhang, X.; Long, M. A semi-fragile reversible watermarking for authenticating 2D engineering graphics based on improved region nesting. IEEE Trans. Circuits Syst. Video Technol. 2021, 31, 411–424. [Google Scholar] [CrossRef]
  9. Guan, X.; Feng, H.; Zhang, W.; Zhou, H.; Zhang, J.; Yu, N. Reversible watermarking in deep convolutional neural networks for integrity authentication. In Proceedings of the 28th ACM International Conference on Multimedia, Seattle, WA, USA, 12–16 October 2020. [Google Scholar]
  10. Yang, H.; Zhu, E.; Qu, L. Multilevel Digital Watermarking Algorithm for Vector Map Data. Geomat. Spat. Inf. Technol. 2021, 6, 1–4. (In Chinese) [Google Scholar]
  11. Li, Y.; Zhang, L.; Wang, X.; Zhang, X.; Zhang, Q. A novel invariant based commutative encryption and watermarking algorithm for vector maps. ISPRS Int. J. Geo-Inf. 2021, 10, 718. [Google Scholar] [CrossRef]
  12. Yang, C.; Zhu, C.; Tao, D. A blind watermarking algorithm for vector geo-spatial data based on coordinate mapping. J. Image Graph. 2010, 15, 684–688. (In Chinese) [Google Scholar]
  13. Wang, X.; Shao, C.; Xu, X.; Niu, X. Reversible data-hiding scheme for 2-D vector maps based on difference expansion. IEEE Trans. Inf. Forensics Secur. 2007, 2, 311–320. [Google Scholar] [CrossRef]
  14. Wang, N.; Zhang, H.; Men, C. A high capacity reversible data hiding method for 2D vector maps based on virtual coordinates. Comput.-Aided Des. 2014, 47, 108–117. [Google Scholar] [CrossRef]
  15. Yang, N. Discussion on the application of digital watermarking technology in vector map. Geospat. Inf. 2022, 20, 114–118+122. (In Chinese) [Google Scholar]
  16. Zhu, C.; Ren, N.; Xu, D. Geo-information security technology: Progress and prospects. Acta Geod. Cartogr. Sin. 2022, 51, 1017–1028. (In Chinese) [Google Scholar]
  17. Wang, Y.; Zhao, J.; Wang, T.; Cui, W. A blind watermarking algorithm for vector data against geometric transformation attack. Comput. Eng. 2013, 39, 136–139. (In Chinese) [Google Scholar]
  18. Yang, C.; Zhu, C. Robust watermarking algorithm for geometrical transform for vector geo-spatial data based on invariant function. Acta Geod. Cartogr. Sin. 2011, 40, 256–261. (In Chinese) [Google Scholar]
  19. Peng, Z.; Yue, M.; Wu, X. Blind watermarking scheme for polylines in vector geo-spatial data. Multimed. Tools Appl. 2015, 74, 11721–11739. [Google Scholar] [CrossRef]
  20. Zhou, Q.; Ren, N.; Zhu, C.; Zhu, A. Blind Digital Watermarking Algorithm against Projection Transformation for Vector Geographic Data. ISPRS Int. J. Geo-Inf. 2020, 9, 692. [Google Scholar] [CrossRef]
  21. Zhang, L.; Yan, H.; Lv, W. A blind watermarking algorithm robust to projection attacks for vector data. Remote Sens. Inf. 2017, 32, 175–180. (In Chinese) [Google Scholar]
  22. Doncel, V.R.; Nikolaidis, N.; Pitas, I. An optimal detector structure for the fourier descriptors domain watermarking of 2D vector graphics. IEEE Trans. Vis. Comput. Graph. 2007, 13, 851–863. [Google Scholar] [CrossRef]
  23. Neyman, S.N.; Pradnyana, I.N.P.; Sitohang, B. A new copyright protection for vector map using FFT-based watermarking. Telkomnika 2014, 12, 367–378. [Google Scholar] [CrossRef]
  24. Xi, X.; Zhang, X.; Bao, J.; Zhang, Y. Watermarking algorithm for vector maps based on improved DFT and QR code. Sci. Surv. Mapp. 2022, 47, 190–197. [Google Scholar]
  25. Zhang, L.; Yan, H.; Qi, J.; Zhang, Y. A blind watermarking algorithm for copyright protection of vector geospatial data under controllable errors based on DFT. Geomat. Inf. Sci. Wuhan Univ. 2015, 40, 990–994. (In Chinese) [Google Scholar]
  26. Zhou, Q.; Zhu, C.; Ren, N.; Chen, W.; Gong, W. Zero Watermarking Algorithm for Vector Geographic Data Based on the Number of Neighboring Features. Symmetry 2021, 13, 208. [Google Scholar] [CrossRef]
  27. Min, L.; Yu, Q. A digital map watermarking algorithm based on discrete cosine transform. Comput. Appl. Softw. 2007, 24, 146–148+174. (In Chinese) [Google Scholar]
  28. Wang, C.; Li, Z.; Liang, B.; Zheng, H.; Du, W.; Peng, Y. Watermarking vector maps based on minimum encasing rectangle. In Proceedings of the 2011 IEEE International Conference on Intelligent Computation Technology and Automation, Shenzhen, China, 18–20 November 2011. [Google Scholar]
  29. Men, C.; Cao, L.; Sun, J. A perception-based reversible watermarking algorithm for 2D-vector maps. Chin. High Technol. Lett. 2010, 20, 342–348. (In Chinese) [Google Scholar]
  30. Im, D.H.; Lee, H.Y.; Ryu, S.J.; Lee, H.K. Vector watermarking robust to both global and local geometrical distortions. IEEE Signal Process. Lett. 2008, 15, 789–792. [Google Scholar] [CrossRef]
  31. Zhang, Y.; Wang, Q. Complementary watermarking algorithm of vector map based on discrete wavelet transform. J. Comput. Appl. 2010, 30, 110–111+115. (In Chinese) [Google Scholar]
  32. Ren, N.; Zhao, Y.; Zhu, C.; Zhou, Q.; Xu, D. Copyright Protection Based on Zero Watermarking and Blockchain for Vector Maps. ISPRS Int. J. Geo-Inf. 2021, 10, 294. [Google Scholar] [CrossRef]
  33. Ding, W.; Yan, W.; Qi, D. Digital image watermarking based on discrete wavelet transform. J. Comput. Sci. Technol. 2000, 17, 129–139. [Google Scholar] [CrossRef]
  34. Xi, X.; Zhang, X. Reversible watermarking for vector maps based on interval mapping and maximum perturbation region. Acta Geod. Cartogr. Sin. 2022, 51, 2379–2389. (In Chinese) [Google Scholar]
  35. Zhou, X.; Ren, Y.; Pan, X. Watermark embedded in polygonal line for copyright protection of contour map. Int. J. Comput. Sci. Netw. Secur. 2006, 6, 202–205. [Google Scholar]
  36. Sun, J.; Men, C.; Ma, C.; Li, C. Authentication-based double images fractal watermarking model of vector maps. J. Commun. 2009, 30, 24–28. (In Chinese) [Google Scholar]
  37. Guo, J.; Du, Y.; Zhang, Y.; Li, M. A provably secure ECC-based access and handover authentication protocol for space information networks. J. Netw. Comput. Appl. 2021, 193, 103183. [Google Scholar] [CrossRef]
  38. Tanwar, S.; Badotra, S.; Gupta, M.; Rana, A. Efficient and secure multiple digital signature to prevent forgery based on ECC. Int. J. Appl. Sci. Eng. 2021, 18, 2021131. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.