1 Introduction

For traditional watermarking schemes, to accomplish watermark embedding in the host data, certain distortion of the original information will inevitably occur. However, such a strategy is not suitable for some special applications like medical, judicature, and military ones, where the data integrity demands are quite strict, and no distortion is allowed. To solve this problem, the concept of reversible watermark was proposed [4, 5, 7]. In recent years, research on reversible data-hiding methods was mainly focused on raster images [13, 6, 15, 16, 19, 20], while only a few lossless watermarking techniques had been developed for vector graphics. Voigt et al. [17] first proposed the algorithm of reversible data hiding in vector maps. They embedded watermark information by modifying the 8-point integer DCT coefficients of the map coordinates. However, its distortion controlling mechanism was complex and the payload was low. Another reversible watermarking method for vector graphics based on difference expansion was proposed in [18]. The scheme hid data by modifying the difference between the adjacent coordinates or Manhattan distances, which achieved high capacity. For 3D mesh models, Ji et al. [8] presented a reversible watermarking method based on ratio expansion. The distances between a vertex and its adjacent vertices were dealt with and then expanded to embed watermarks. Zhu proposed a reversible watermarking scheme for 3D meshes based on prediction-error expansion in [21]. The watermark was embedded by slightly modulating the distance from a given vertex to the centroid of its adjacent vertices with the topology structure unchanged. A new reversible 3D mesh watermarking scheme was proposed in conjunction with progressive compression in [10]. Each level of detail was compressed and watermarked by modifying the geometry of refined vertices with respect to the center of mass of the original 3D mesh. The proposed scheme was robust against channel noise and intentional attacks while having slightly additional compression rate cost.

2-D CAD engineering graphics is a kind of vector graphics, which has been widely applied in mechanics, architecture, and costume design, etc. Recently, since the illegal copying and distribution of engineering graphics occur frequently, research on watermarking for 2-D CAD engineering graphics has been continuously increasing. The digital watermarking method for CAD drawings was firstly proposed in [9]. The scheme embedded watermarks using an adaptive algorithm related to the length of the line, radius of the circle, and angle of the arc, which was robust against various attacks. In [11], a watermarking scheme was presented based on k-means for CAD design drawings. The proposed technique embedded the watermark into the geometric distribution of POLYLINE, ARC and 3DFACE objects in the main layers, which was tolerant to file format conversion, layer deletion, and other geometric attacks. A semi-fragile digital watermarking scheme for 2-D CAD engineering graphics based on log-polar coordinate mapping was proposed in [12] by Peng et al. The algorithm divided the vertices into groups, and embedded the watermark in the mantissa of the real-valued log-polar coordinates via bit substitution. It was robust against incidental global operations, and could also detect and locate malicious attacks.

Nevertheless, little work has been done on reversible watermarking for 2-D CAD engineering graphics. As a representative example, a reversible watermarking scheme for 2-D CAD engineering graphics based on IQIM was proposed in [13]. The technique embedded the watermark into the relative amplitudes or the relative phases of entity vertices and recovers data with a secret key, which could achieve a good balance among imperceptibility, robustness and security. A drawback of this scheme was that not every vertex could be embeddable. Another representative reversible watermarking scheme for 2-D CAD engineering graphics based on IDE was presented in [14]. It embedded the watermark in the ratio data of the distance between two vertexes, which ensured that every vertex could embed at least 1-bit watermark and was robust against typical operations such as translation, scaling and rotation. In this paper, a combined reversible watermarking scheme for 2-D CAD engineering graphics is proposed to overcome the embedding-limitation problem existing in [13] and increase the watermark capacity of the schemes in [13, 14] as well as keep other merits, such as good imperceptibility, security and robustness.

The remaining sections are organized as follows. The two above-mentioned hiding techniques are reviewed briefly in Section 2. In Section 3, the combined technique is proposed. Section 4 gives out the calculating process of some important parameters and the reversibility proof of the proposed technique. A detailed description of the proposed scheme for 2-D CAD engineering graphics is presented in Section 5. The experimental results and analysis are displayed in Section 6. Finally, the conclusions are summarized in Section 7.

2 Preliminaries

In this section, the concept of data precision of 2D CAD engineering graphic is firstly defined along with the measurement of reversibility for CAD graphics, and then the two watermarking methods which are used in our combined scheme are reviewed briefly.

2-D CAD engineering graphic consists of different entities such as points, lines and circles. Each entity has at least one two-dimensional vertex whose coordinates are real numbers. In most application cases, high precision of the graphics is one of the most important requirements. While there is a precision limitation of data stored in computer, the coordinate values are usually required to have a precision of 6–8 decimal digits in practice. As long as the loss between the original graphic and the recovered graphic is within this precision, the watermark scheme will have no influence on the application of 2-D CAD engineering graphics and can be regarded as reversible.

2.1 The improved quantization index modulation technique (IQIM) [13]

2.1.1 Watermark embedding

Given a quantization coefficient f(a real number), the embedding process is as follows.

  1. Step 1:

    Calculate m, r according to

    $$ m=\left\lfloor \frac{f}{2^b\varDelta}\right\rfloor \kern0.5em ,\kern0.5em r=f-{2}^b m\varDelta, $$
    (1)

    where m(a positive integer) is the ordinal number of the quantization interval, b(a positive integer) is an embedding strength, ∆(a small real) is the quantization step, and r(a nonnegative real and r ∈ [0, 2b × Δ)) is the relative distance of f in the m th quantization interval.

  2. Step 2:

    Embed the watermark w ∈ {0, 1, …, 2b − 1} in the quantization coefficient f according to

    $$ {f}^w={2}^b m\varDelta + w\varDelta +\frac{r}{2^b}, $$
    (2)

    where f w is the watermarked quantization coefficient.

2.1.2 Watermark extraction and data recovery

The process of watermark extraction and data recovery is as follows.

  1. Step 1:

    Calculate the ordinal number of the quantization cell n and its relative distance d according to

    $$ n=\left\lfloor \frac{f^w}{\varDelta}\right\rfloor \kern0.5em ,\kern0.5em d={f}^w- n\varDelta . $$
    (3)
  2. Step 2:

    Extract the watermark w * according to

    $$ {w}^{*}=n-{2}^b\left\lfloor \frac{n}{2^b}\right\rfloor . $$
    (4)
  3. Step 3:

    Recover the original real coefficient f * according to

    $$ {f}^{*}={2}^b\left\lfloor \frac{n}{2^b}\right\rfloor \varDelta +{2}^bd. $$
    (5)

    For example, given f = 4.23246, Δ = 0.001, b = 1, w = 1, the parameters can be calculated as follows.

    Watermark embedding:

    $$ m=\left\lfloor \frac{f}{2^b\varDelta}\right\rfloor =\left\lfloor \frac{4.23246}{2\times 0.001}\right\rfloor =2116 $$
    $$ r=f-{2}^b m\varDelta =4.23246-2\times 2116\times 0.001=0.00046 $$
    $$ {f}^w={2}^b m\varDelta + w\varDelta +\frac{r}{2^b}=2\times 2116\times 0.001+1\times 0.001+\frac{0.00046}{2}=4.23323. $$

    Watermark extraction:

    $$ n=\left\lfloor \frac{f^w}{\varDelta}\right\rfloor =\left\lfloor \frac{4.23323}{0.001}\right\rfloor =4233 $$
    $$ d={f}^w- n\varDelta =4.23323-4233\times 0.001=0.00023 $$
    $$ {w}^{*}=n-{2}^b\left\lfloor \frac{n}{2^b}\right\rfloor =4233-2\times \left\lfloor \frac{4233}{2}\right\rfloor =1 $$

    Data recovery:

    $$ {f}^{*}={2}^b\left\lfloor \frac{n}{2^b}\right\rfloor \varDelta +{2}^bd=2\times \left\lfloor \frac{4233}{2}\right\rfloor \times 0.001+2\times 0.00023=4.23246. $$

2.2 The improved difference expansion technique (IDE) [14]

2.2.1 Watermark embedding

Given a real number D, an embedding position p (a negative integer which indicates the number of digits after the decimal point), an embedding strength s which may be different from the above embedding strength b in Section 2.1, the embedding process is as follows.

  1. Step 1:

    According to the embedding position p, regulate the position of the decimal point of D, and perform a s-bit right-shift to D.

    $$ {D}_1=\left(D\times {10}^{-p}\right)/{2}^s. $$
    (6)
  2. Step 2:

    Obtain the integer part I and the decimal part F of D 1 according to

    $$ {D}_1=I+F, $$
    (7)
    $$ I= LTrim\left({D}_1\right),\kern0.5em F= RTrim\left({D}_1\right). $$
    (8)

    Here, LTrim(A) represents a function to trim the integer part of A and RTrim(A) represents a function to trim the fractional part of A.

  3. Step 3:

    Embed the watermark w ∈ {0, 1, …, 2s − 1} according to

    $$ {I}^w=I\times {2}^s+w\times sign(D), $$
    (9)

    where sign(D) is the sign function of D.

  4. Step 4:

    Calculate the watermarked data D w according to

    $$ {D}^w=\left({I}^w+F\right)\times {10}^p. $$
    (10)

2.2.2 Watermarking extraction and data recovery

  1. Step 1:

    Acquire the watermarked data D w. Regulate the position of the decimal point of the host data according to

    $$ {D}_1^w={D}^w\times {10}^{-p}. $$
    (11)
  2. Step 2:

    Calculate the integer part I w1 and the decimal part F w1 of D w, then extract watermark w* according to

    $$ {D}_1^w={I}_1^w+{F}_1^w, $$
    (12)
    $$ {w}^{*}={I}_1^w\%{2}^s\times sign\left({D}_1^w\right). $$
    (13)
  3. Step 3:

    Recover the host data according to

    $$ {D}^{*}=\left(\left\lfloor \left|{I}_1^w\right|\times {2}^{-s}\right\rfloor \times sign\left({I}_1^w\right)+{F}_1^w\right)\times {2}^s\times {10}^p. $$
    (14)

    For example, given D = 100.32412,  s = 1,  p = − 4,  w = 1, the parameters can be calculated as follows.

    Watermark embedding:

    $$ {D}_1=\left(D\times {10}^{-p}\right)/{2}^s=\left(100.32412\times {10}^4\right)/2=501620.6 $$
    $$ I= LTrim\left({D}_1\right)=501620,\kern0.5em F= RTrim\left({D}_1\right)=0.6 $$
    $$ {I}^w=I\times {2}^s+w\times sign(D)=501620\times 2+1=1003241 $$
    $$ {D}^w=\left({I}^w+F\right)\times {10}^p=\left(1003241+0.6\right)\times {10}^{-4}=100.32416. $$

    Watermark extraction:

    $$ {D}_1^w={D}^w\times {10}^{-p}=100.32416\times {10}^4=1003241.6 $$
    $$ {I}_1^w=1003241,\kern0.5em {F}_1^w=0.6 $$
    $$ {w}^{*}={I}_1^w\%{2}^s\times sign\left({D}_1^w\right)=1003241\%2\times 1=1. $$

    Data recovery:

    $$ {D}^{*}=\left(\left\lfloor \left|{I}_1^w\right|\times {2}^{-s}\right\rfloor \times sign\left({I}_1^w\right)+{F}_1^w\right)\times {2}^s\times {10}^p=\left(\left\lfloor 1003241\times {2}^{-1}\right\rfloor \times 1+0.6\right)\times 2\times {10}^{-4}=100.32412. $$

3 The combined IQIM and IDE technique

Given an original quantization coefficient f(in the m th quantization interval), there may be a rounding error in the watermarked quantization coefficient f w because of the storage precision limitation in computer, which may cause f w to fall in the (m + 1)th quantization interval. Since f w is not in the same quantization interval as f, errors may occur at watermark extraction and data recovery stages. In order to reversibly extract the watermark and recover the host data, Reference [13] gives the following condition which must be satisfied

$$ 5\cdot {2}^b\cdot {10}^{-\left(q+1\right)}\le r<{2}^b\left(\varDelta -5\cdot {10}^{-\left(q+1\right)}\right). $$
(15)

where q (a positive integer) is the data storage precision, and the other symbols are defined as Section 2.1.

Because of the above condition, not all quantization coefficients f(responding to the coordinate values in graphic) can be embeddable in the scheme. Therefore, to extract the embedded data and recover the original values, one needs to know which coordinate values have been selected for the embedding watermarks. Without the knowledge, their scheme may not work. However, such problem has not been considered in [13]. Here, we propose an improved watermark scheme with a combination of the two above methods, in which every vertex can be guaranteed to be embeddable. Furthermore, out scheme has greatly increased the embedding capacity of [13, 14].

3.1 Watermark embedding

Given a real number X as host data, two embedding strength b and s, a quantization step ∆, the embedding process is as follows(all the same symbols are defined as above).

  1. Step 1:

    Calculate the ordinal number of the quantization interval m and the relative distance r of X in the m th quantization interval as described in IQIM technique.

    $$ m=\left\lfloor \frac{X}{2^b\varDelta}\right\rfloor \kern0.5em ,\kern0.5em r=X-{2}^b m\varDelta . $$
    (16)
  2. Step 2:

    Take the relative distance r as the real number D defined in Section 2.2.1 and embed a watermark w 1 (w 1 ∈ {0, 1, …, 2s − 1}) in r using IDE technique, then obtain the watermarked relative distance r w (corresponding to D w in Section 2.2.1). This is the first embedding process.

  3. Step 3:

    Embed a watermark w 2 (w 2 ∈ {0, 1, …, 2b − 1}) in the quantization coefficient X for the second embedding process according to

    $$ {X}^w={2}^b m\varDelta +{w}_2\varDelta +\frac{r^w+k}{t}. $$
    (17)

    where X w is the watermarked quantization coefficient, t and k are two positive real constants. The values of t and k will be given in Section 4.1.

3.2 Watermark extraction and data recovery

The process of watermark extraction and data recovery is as follows.

  1. Step 1:

    Obtain the watermarked data X w, and calculate the ordinal number of the quantization cell n and its relative distance d according to

    $$ n=\left\lfloor \frac{X^w}{\varDelta}\right\rfloor \kern0.5em ,\kern0.5em d={X}^w- n\varDelta . $$
    (18)
  2. Step 2:

    w 2 can be extracted according to

    $$ {w}_2=n-{2}^b\left\lfloor \frac{n}{2^b}\right\rfloor \kern0.5em ,\kern0.5em {w}_2\in \left\{0,1,\dots, {2}^b-1\right\}. $$
    (19)
  3. Step 3:

    Calculate the watermarked relative distance r w * (corresponding to r w in Step 2 of the above embedding process) according to

    $$ {r}^{w*}=d\times t-k. $$
    (20)
  4. Step 4:

    Take r w * as the watermarked data D w defined in Section 2.2.1 and extract the watermark w 1 using IDE technique, then recover r w * to r* (corresponding to r in Step 1 of the above embedding process).

  5. Step 5:

    Recover the host data X* according to

    $$ {X}^{*}={2}^b\left\lfloor \frac{n}{2^b}\right\rfloor \varDelta +{r}^{*}. $$
    (21)

    The proof of the reversibility is described in Section 4.2.

4 The requirements and proof of reversibility

4.1 Requirements of reversibility

Given the data precision q, an embedding strength b, a quantization step ∆ and the original quantization coefficient X in the m th quantization interval, the watermarked quantization coefficient X w, to guarantee the requirement of reversibility, Reference [13] gives the following conditions

$$ {2}^b m\varDelta -5\cdot {10}^{-\left(q+1\right)}\le {X}^w<{2}^b\left(m+1\right)\varDelta -5\cdot {10}^{-\left(q+1\right)}. $$
(22)

Combined with Eq. (17), we obtain

$$ 0\le {w}_2\varDelta +\frac{r^w+k}{t}<{2}^b\varDelta -5\cdot {10}^{-\left(q+1\right)}. $$
(23)

Thus, we obtain

$$ 5\cdot t\cdot {10}^{-\left(q+1\right)}-k\le {r}^w<t\left(\varDelta -5\cdot {10}^{-\left(q+1\right)}\right)-k. $$
(24)

From the above inequality, we finally manage

$$ k>{k}_0\kern0.5em ,\kern0.5em \frac{2^b\varDelta +\left({2}^s-1\right)\times {10}^p+k}{\varDelta -5\cdot {10}^{-\left(q+1\right)}}<t\le \frac{\left(1-{2}^s\right)\times {10}^p+k}{5\cdot {10}^{-\left(q+1\right)}}. $$
(25)

where \( {k}_0=\frac{5\varDelta {2}^b\cdot {10}^{-\left(q+1\right)}+\left({2}^s-1\right)\varDelta \cdot {10}^p}{\varDelta -{10}^{-q}}. \)

The detailed derivation process for Inequality (25) is provided in Appendix.

When the values of k and t satisfy the requirement, regardless of the rounding error every vertex can be guaranteed to be embeddable in our scheme.

4.2 Proof of reversibility

According to the above Inequality (24), it can be deduced that \( 0<\frac{r^w+k}{t}<\varDelta . \)

According to Eq. (18), we have

$$ n=\left\lfloor \frac{X^w}{\varDelta}\right\rfloor =\left\lfloor {2}^b m\varDelta +{w}_2\varDelta +\frac{r^w+k}{t}\right\rfloor ={2}^bm+{w}_2 $$
(26)
$$ d={f}^w- n\varDelta =\frac{r^w+k}{t} $$
(27)

According to Eqs. (20) and (27), r w * = d × t − k = r w. As the extraction process of Step 4 in Section 3.2 has been proved to be reversible in Reference [14], the watermarked relative distance r w * can be recovered exactly as the same as the original relative distance r; that is r* = r.

According to Eq. (26), we can obtain \( \left\lfloor \frac{n}{2^b}\right\rfloor =\left\lfloor m+\frac{w_2}{2^b}\right\rfloor \). For w 2 < 2b, then \( \left\lfloor \frac{n}{2^b}\right\rfloor =m \). Finally, we have \( {X}^{*}={2}^b\left\lfloor \frac{n}{2^b}\right\rfloor \varDelta +{r}^{*}={2}^b m\varDelta +r=X \).

The proof is completed.

5 Reversible watermark for 2-D CAD engineering graphics

5.1 Watermark embedding

For a 2-D engineering graphics G, assuming all vertices can be denoted as V = {V 1, V 2, …, V i  …, V N } (N is the total number of vertices in G), where V i (V ix ,V iy ) represents a vertex at coordinates (V ix ,V iy ). Given a random binary sequence W = {w 1,w 2, …,w n } (n is the total number of bits) as watermark information, the embedding process is described as follows.

  1. Step 1:

    Choose two reference vertices V p and V q from V with a secret key K, and calculate the distance between the two vertices, \( u=\sqrt{{\left({V}_{px}-{V}_{qx}\right)}^2+{\left({V}_{py}-{V}_{qy}\right)}^2} \).

  2. Step 2:

    Compute the distance between any vertex V i and V p (i ≠ p, q), i.e., \( {s}_i=\sqrt{{\left({V}_{ix}-{V}_{px}\right)}^2+{\left({V}_{iy}-{V}_{py}\right)}^2} \), then calculate the ratio R i  = s i /u. In such a way, a ratio set can be obtained from V, i.e., R = {R 1,R 2, …,R M }, where M = N − 2.

  3. Step 3:

    Use the combined IQIM and IDE hiding technique described in Section 3.1 to embed watermark W into the ratio set R, and obtain the watermarked ratio set R w.

  4. Step 4:

    Given the ratio set R w = {R w1 ,R w2 , …,R w M }. The watermarked coordinates of the 2-D vertex can be calculated according to

    $$ \left\{\begin{array}{l}{V}_{ix}^w={V}_{px}+\frac{s_i^w}{s_i}\left({V}_{ix}-{V}_{px}\right)\\ {}{V}_{iy}^w={V}_{py}+\frac{s_i^w}{s_i}\left({V}_{iy}-{V}_{py}\right)\end{array}\right., $$
    (28)

    where s w i  = R w i  × u (i ≠ p, q).

    Replace the original data with the watermarked coordinates and obtain the watermarked 2-D CAD engineering graphics G w.

5.2 Watermark extraction and data recovery

The process of watermark extraction and data recovery is as follows.

  1. Step 1:

    Get all the vertices of the watermarked 2-D engineering graphics G w and select the two reference vertices V p and V q with the key K, then calculate the ratio data set R w = {R w1 ,R w2 , …,R w M }.

  2. Step 2:

    Use the combined IQIM and IDE hiding technique described in Section 3.2 to extract watermark information W*.

  3. Step 3:

    Calculate the correlation coefficient NC between W* and the original watermark W, i.e.,

    $$ NC=\frac{{\displaystyle \sum_{i=1}^n{w}_i}\times {w}_i^{*}}{\sqrt{{\displaystyle \sum_{i=1}^n{\left({w}_i\right)}^2}}\times \sqrt{{\displaystyle \sum_{i=1}^n{\left({w}_i^{*}\right)}^2}}}. $$
    (29)
  4. Step 4:

    If the value of NC is equal to 1.0, use the combined IQIM and IDE embedding technique described in Section 3.2 to recover the original ratio set R = {R 1,R 2, …,R M }.

  5. Step 5:

    According to Eq. (28), calculate the original vertex set V, and recover the original 2-D CAD engineering graphics G.

6 Experimental results and analysis

The experiments in this section are carried out on a PC with CPU P4 2.0 GHz, RAM 1 GB, Win7 Professional, AutoCAD 2007 and Visual C++ 6.0. Fifty different 2-D CAD engineering graphics (in DWG format) are used.

In the experiments, the parameters are chosen as follows: embedding strength s = b = 1, storage precision q = 6, quantization step ∆ = 0.001, embedding position p = − 4, watermark sequence W= “Chongqing University”. With the above values, we can calculate and choose that k = 1.02 × 10− 4, t = 2.5 according to the analyses in Section 4.1.

Here, the root mean square error (RMSE) is exploited to measure the objective quality of the watermarked graphics,

$$ RMSE=\frac{1}{N}\left\Vert V-{V}^w\right\Vert . $$
(30)

where V and V w are the corresponding vertices in the original 2-D CAD engineering graphics and its watermarked counterpart, and N is the total number of vertices.

6.1 Analysis of reversibility

In the experiment, 50 different 2-D CAD engineering graphics are used to check the RMSE between the original graphics and the recovered graphics. The results are listed in Table 1.

Table 1 The RMSE values between the original graphics and the recovered graphics

As can be seen from Table 1, the average RMSE between the original graphics and the recovered graphics is about 3.81202 × 10−14, which can satisfy the reversibility requirement for 2-D CAD engineering graphics. Additionally, one of the 50 test graphics is shown in Fig. 1 as well as its watermarked and recovered counterpart. The distortion between the recovered graphics and the original graphics is so small that it is almost impossible to distinguish the difference.

Fig. 1
figure 1

An example of watermark embedding and data recovery

6.2 Analysis of imperceptibility

In this section, a set of experiments are done to compare the imperceptibility of the watermarked graphics among the proposed scheme and the scheme in [13, 14]. In the experiments, the embedding capacity is set to be 1 bit/vertex for all those schemes. As seen in Table 2, the RMSE values of the watermarked graphics using the proposed watermark scheme are smaller than those using the methods in [13, 14]. It indicates that under the same embedding capacity, our scheme has a better imperceptibility.

Table 2 The comparison of RMSE between the original graphics and the watermarked graphics with different schemes

According to the principle of our proposed scheme, the distortion inflicted on the graphics is closely related to the quantization step ∆ and embedding strength b (s). A first set of experiments have been conducted to evaluate the relation between the imperceptibility and the quantization step ∆. Different quantization steps are used to embed a watermark into the 2D CAD engineering graphics G1 ~ G5, and the RMSE between the original graphic and the watermarked counterpart is calculated. The results are illustrated in Fig. 2, which indicates that the imperceptibility of the watermarked graphics is decreased when the quantization step is increased. A second set of experiments have been done to evaluate the relation between the imperceptibility and the embedding strength b (s=b). Different embedding strengths are used to embed a watermark into the graphics G1 ~ G5 and the RMSE between the original graphic and the watermarked counterpart is calculated. The results are illustrated in Fig. 3, which indicates that the imperceptibility of the watermarked graphics is decreased when the embedding strength is increased.

Fig. 2
figure 2

The relation between imperceptibility and quantization step

Fig. 3
figure 3

The relation between imperceptibility and embedding strength

6.3 Analysis of capacity

According to the principle of the reversible watermark scheme, the watermark can be embedded into all the vertices except two reference vertices and each vertex can be embedded twice.

One set of experiments are conducted to compare the embedding capacity with other schemes under the similar transparency. Since the imperceptibility of Scheme [14] is much bigger than that of Scheme [13] and our proposed scheme, we only choose Scheme [13] for capacity comparison with our scheme. In the experiments, we embed two watermarks into each vertex in our proposed scheme, while the scheme in [13] embeds as many watermarks as possible when it achieves similar distortion to our scheme. Table 3 displays the result which indicates that under the similar transparency the embedding capacity of the proposed scheme is much higher than that in scheme [13].

Table 3 The comparison of watermark capacity of different schemes (bit/vertex)

6.4 Analysis of robustness

Translation, rotation, and scaling are typical operations in applications for 2D CAD engineering graphics. Robustness against these operations is very important for a reversible watermark scheme. Experiments have been done to evaluate the robustness against translation, scaling and rotation operations for 2D CAD graphics. Here, the correlation coefficient (NC) is used to indicate the correlation between the original watermark and the extracted watermark. As can be seen from the NC values listed in Table 4, the proposed scheme is robust against translation, rotation, scaling and their combination.

Table 4 NC value after different operations on the watermarked 2-D CAD engineering graphics

What’s more, since the watermark is embedded into the ratio of two relative distances, our scheme is robust against those operations regardless of quantization step or embedding strength. We have also done two set of experiments. One is to evaluate the influence that the quantization step ∆ has on robustness in which we use different quantization steps. The other is to evaluate the influence that the embedding strength b (s=b) has on robustness in which we use different embedding strengths. All the results are the same as shown in Table 4.

6.5 Analysis of other performance

In this section, we discuss other performance of our proposed scheme including the time complexity and security. The time complexity of the two algorithms in Scheme [13] and [14] are both O(N) (N is the number of vertices in a 2D engineering graphics). Since our proposed scheme combines the two methods in a linear way, we can deduce that our algorithm also has a linear time complexity O(N).

The security of the proposed scheme mainly depends on two factors: the secret key K for selecting reference vertices and the quantization step ∆. Since the quantization step ∆ is a real number, it can be used as part of the secret keys to improve the security of the algorithm. If the quantization step for extraction process is not exactly the same as the one used in the embedding process, the extracted watermarks will be entirely different from the real ones. At the same time, the secret key K is used to determinate the two reference vertices V p and V q . Without knowing them, one cannot know where the watermarks have been embedded. Therefore, both of the two keys will greatly improve the security of the proposed scheme.

6.6 Other discussion

Because of the merging of IQIM with IDE techniques, there are some constraints existing in our scheme. In one case where the two reference vertices are exchanged, the content of a graphic will not be changed. However, the extracted watermark will be different from the original watermark, which will cause a false alarm for the integrity of the graphic.

7 Conclusion

In this paper, a reversible watermark scheme which combines IQIM [13] and IDE [14] techniques is proposed. It can solve the embedding-limitation problem existing in [13] so that every vertex of the 2-D CAD engineering graphics can be utilized for embedding watermark. Moreover, the combined scheme achieves high watermark capacity by embedding twice every round with good imperceptibility. In addition, the proposed scheme is robust against translation, rotation, scaling and their combination. Nevertheless, a false alarm will still occur if a swap between the reference points takes place. In our future work, further investigations will be made to improve the robustness for other operations in applications including modifications which do not change the content of graphics.