Keywords

1 Introduction

Recently, reversible watermarking has aroused peoples interesting, which enables embed data into images and allow extraction of the original image and the embedded data [1]. Reversible watermarking is very useful in medical image system, military image and law enforcement [2]. It plays an important role in protecting the copyright of digital media [3]. Although there are so many reversible watermarking methods, but most of them can’t resist any type of attacks. As a result, the original image or the embedded data can’t be recovered after attack [4].

In some cases, the embedded data is expected to be robust to some attacks like image compression and some inevitable random noise. To this end, researchers pay more attention on robust reversible watermarking method. Robust reversible watermarking is that the original image and the embedded data can be recovered correctly when the watermarked image remains intact, and the embedded data can still be extracted without error even the watermarked image suffered some attacks [5]. Until now, a few robust reversible watermarking methods have been proposed, which can be classified into two groups:

  • Blind watermarking scheme: In [5, 6], Vleeschouwer et al. proposed a blind extraction scheme based on the patchwork theory and modulo-256 by using the gray-scale histogram rotation. This work is robust against JPEG compression, but the watermarked image has lower visible quality due to the salt-and-pepper noise is caused. Besides, the capacity is low. To handle the salt-and-pepper noise problem, Zou et al. proposed a scheme by shifting the absolute mean values of the integer wavelet transform (IWT) coefficients in a chosen sub-band [7], and Ni et al. proposed scheme by modifying the histogram of a robust statistical quantity in the spatial domain [8]. Since the embedding process may introduce the error bits, the error correction coding (ECC) has been used. Besides, these two methods suffered from the unstable robustness and incomplete reversibility according to [9]. In [10], Zeng et al. enhanced the scheme of Ni et al. by introducing two thresholds and a new embedding mechanism. This method is blind extraction and can avoid the error bits, but the threshold value changes with different cover images.

  • Non-blind watermarking scheme: In [11], a non-blind extraction scheme based on wavelet-domain statistical quantity histogram shifting and clustering (WSQH-SC) is proposed. A pixel adjustment is presented at first to avoid the overflow and underflow, and a location map is used to record the changed pixels. This method achieved good robustness against JPEG, JPEG2000 and additive Gaussian noise, but this method is not blind since the locations of the changed pixels need to be saved as a part of side information and transmitted to the receiver side in order to recover the original image. In [12], the Slantlet transform (SLT) is applied to image blocks and then modifying the mean values of the HL and LH sub-band coefficients to embed the watermark bits. Due to the coefficients and the mean values are fractional with more decimal places, the mean information is taken as side information to be send to the receiver side for the recovery of the original cover image.

In [13], Coltuc et al. proposed a general framework for robust reversible watermarking by multiple watermarking. The scheme embeds the watermark with a robust watermarking method at first and then a reversible watermarking method is adopted to embed the information used to recover the original cover image into the watermarked image. Supposing o and w is the original image and the robust watermarked image, respectively. The embedding distortion, \(d=o-w\), is compressed and embedded into the robust watermarked image with the reversible watermarking method. At the receiver side, if there is no attacks, the watermark and the difference d can be extracted, the robust watermarked image can be recovered, then the original image o can be recovered by:\(o=d+w\). If the watermarked image goes through JPEG compression, the robust watermark can still be extracted. This framework is very instructive and achieves higher capacity and good robustness against JPEG compression.

Inspired by the work of Coltuc et al. [13], in this paper we develop a robust reversible watermarking method in the IWT domain. The main idea of the scheme includes the following 4 aspects: (1) choose IWT to get integer coefficients, (2) modify the mean values of the middle-frequency sub-bands coefficients to embed the watermark bit, (3) calculate the mean value by 10 of the 16 coefficients instead of all the 16 coefficients so that the mean value has at most one decimal place, (4) embed the mean information with reversible watermarking method so that the original cover image can be recovered. If the overflow or underflow happened, a location map and a pixel adjustment operation are introduced, and the location map need to be deeply compressed and embedded into the image. The proposed method is blind and without any side information, the watermark and the original image can be recovered perfectly if the watermarked image remains intact. When the watermarked image suffer some extent of attacks (such as JPEG/JPEG2000 or random noise), the watermark is also detectable. Comparing with recent robust reversible watermarking schemes, the proposed method is not only blind, but provides higher capacity, stronger robustness and better invisibility.

The rest of the paper is organized as follows. The foundation work is introduced in Sect. 2. The proposed algorithm is described in Sect. 3. Experimental results are presented in Sect. 4. Section 5 concludes this paper.

2 Algorithm’s Principle

This section will introduce the foundation works of the proposed robust reversible watermarking scheme. Firstly, how to modify the statistic quantity of IWT domain to embed the watermark bit is introduced, then how to record the original statistic quantity by using reversible watermarking method is briefly described.

2.1 Modification of Block Mean Values

Given an \(8\times 8\) image block, we utilize 5/3 IWT to obtain the IWT-coefficients block. The coefficients of 5/3 wavelet filter are given in Table 1. There are 16 coefficients in HL and LH sub-bands in total. Their mean values are denoted by \(\mu _{HL}\) and \(\mu _{LH}\), respectively. For blind extraction, \(\mu _{HL}\) and \(\mu _{LH}\) are calculated by 10 randomly chosen of the 16 coefficients in each sub-band. As a result, they could be integer or fractional with one decimal place. The difference of \(\mu _{HL}\) and \(\mu _{LH}\), denoted by A, as the robust statistic quantity:

$$\begin{aligned} A=\mu _{HL} - \mu _{LH}, \end{aligned}$$
(1)

It’s clear that the difference A could be an integer or a fractional with one decimal place. As an example, the distribution of all A values of image Lena is shown in Fig. 1(a). We can see that the distribution is Laplacian-like distribution and the mean value is close to 0. The results of other images are similar.

For a block, a watermark bit can be embedded by modifying the difference value A of \(\mu _{HL}\) and \(\mu _{LH}\). Here we choose the middle-frequency sub-bands is to achieve the trade-off between robustness and invisibility. The main idea of the bit embedding is that keep the difference value A is beyond a pre-defined threshold T to embed the watermark bit ‘1’ and beyond \(-T\) to embed the watermark bit ‘0’. Figure 1(b) shows the distribution of the modified difference values of Lena.

If the watermark bit is ‘1’, then modify \(\mu _{HL}\) and \(\mu _{LH}\) to make sure \(A=\mu _{HL} - \mu _{LH} \ge T\). If the watermark bit is ‘0’, modify \(\mu _{HL}\) and \(\mu _{LH}\) to make sure \(A=\mu _{HL} - \mu _{LH} \le -T\). T is a pre-defined positive integer threshold value. Since the bit-1-zone and bit-0-zone are separated by the robust zone \((-T,T)\), we can extract the watermark bit by identifying the difference value A. When the watermarked image remains intact, the watermark can be recovered correctly (see Fig. 1(b)). Even the watermarked image is attacked, the watermark is also able to be detected if the bit-0-zone and bit-1-zone are not overlapped. Figure 1(c) shows the distribution of the watermarked image after a JPEG compression operation.

Table 1. 5/3 Filter coefficients
Fig. 1.
figure 1

Distribution of A values of Lena.

The watermarking rules are as follows.

For the watermark bit ‘1’: if \(A=\mu _{HL} - \mu _{LH} < T\), let

$$\begin{aligned} \begin{aligned}&\mu ^{new}_{HL}=\mu _{HL}+round((T-A)/2); \\&\mu ^{new}_{LH}=\mu _{LH}-round((T-A)/2), \end{aligned} \end{aligned}$$
(2)

Otherwise, if \(A=\mu _{HL} - \mu _{LH} \ge T\), keep \(\mu _{HL}\) and \(\mu _{LH}\) unchanged.

For the watermark bit ‘0’: if if \(A=\mu _{HL} - \mu _{LH} > -T\), let

$$\begin{aligned} \begin{aligned}&\mu ^{new}_{HL}=\mu _{HL}-round((T+A)/2); \\&\mu ^{new}_{LH}=\mu _{LH}+round((T+A)/2), \end{aligned} \end{aligned}$$
(3)

Otherwise, if \(A=\mu _{HL} - \mu _{LH} \le -T\), there is no operation.

\(HL^{(k)}(i,j)\) and \(LH^{(k)}(i,j)\) denotes the IWT coefficient of the point (ij) in the kth block’s HL and LH sub-band respectively, and the modification of the mean values is done by (M is a matrix using for selecting 10 of 16 coefficients):

$$\begin{aligned} HL^{(k)}(i,j)= {\left\{ \begin{array}{ll} &{} HL^{(k)}(i,j)+round((T-A)/2)*M(i,j), \text { if } w_k=1 \text { and } A<T\\ &{} HL^{(k)}(i,j)-round((T+A)/2)*M(i,j), \text { if } w_k=0 \text { and } A>-T\\ &{}HL^{(k)}(i,j), \text { otherwise}, \end{array}\right. } \end{aligned}$$
(4)
$$\begin{aligned} LH^{(k)}(i,j)= {\left\{ \begin{array}{ll} &{} LH^{(k)}(i,j)-round((T-A)/2)*M(i,j), \text { if } w_k=1 \text { and } A<T\\ &{} LH^{(k)}(i,j)+round((T+A)/2)*M(i,j), \text { if } w_k=0 \text { and } A>-T\\ &{} LH^{(k)}(i,j), \text { otherwise}, \end{array}\right. } \end{aligned}$$
(5)

At the receiver side, the bit-1-zone is redefined as \([0,+\infty )\) and bit-0-zone is \((-\infty ,0)\), and the watermark bit is extracted by:

$$\begin{aligned} w^{'}_{i}= {\left\{ \begin{array}{ll} &{} 1 , \text { if } A^{'} \ge 0\\ &{} 0 , \text { otherwise }, \end{array}\right. } \end{aligned}$$
(6)

The above operation can embed a watermark bit into a image block. In referring to (2) and (3), the difference value A should be saved so that the original cover image could be recovered at the receiver side.

2.2 Recording of Block Mean Values

Due to the use of IWT, the coefficients are integers. By choosing 10 of the 16 coefficients to calculate the mean values of the sub-band, the mean values (\(\mu _{HL}\) and \(\mu _{LH}\)) and the difference (A) could be an integer or only has one decimal place. So if we expand the difference A 10 times, the new difference A1 will be an integer and can be changed into a string of binary bits B, then we can embed the binary bits into the watermarked image with the reversible watermarking method.

According to robust reversible watermarking scheme in [13], any reversible watermarking methods can be used as the second stage of embedding, but the distortion of the second stage of the reversible watermarking should be as lower as possible. In our method, we choose the reversible watermarking method proposed in [14]. For better description, the low distortion transform is introduced as below.

Let nw,  and nw be the north, west, and north-west neighbors of pixel x, and b is the watermark bit, the estimate of x is \(\hat{x}=n+w-nw\), and \(p=x-\hat{x}\), \(p_b=p+b\). The marked pixel is \(x^{new}=x+\lfloor \frac{p_b}{4} \rfloor \), and \(n^{new}=n-\lfloor \frac{p_{b+3}}{4} \rfloor \), \(w^{new}=w-\lfloor \frac{p_{b+1}}{4} \rfloor \), \(nw^{new}=nw+\lfloor \frac{p_{b+2}}{4} \rfloor \). \(\lfloor \alpha \rfloor \) is the maximum integer not exceeding.

The transform is reversible. Suppose X, N, W, NW are the transformed pixels. The inverse transform are as follows: \(\hat{X}=N+W-NW =\hat{x}-\lfloor \frac{p_{b+3}}{4} \rfloor -\lfloor \frac{p_{b+1}}{4} \rfloor -\lfloor \frac{p_{b+2}}{4} \rfloor .\) \(P=X-\hat{X}=x-\hat{x}+\lfloor \frac{p_b}{4} \rfloor +\lfloor \frac{p_{b+3}}{4} \rfloor +\lfloor \frac{p_{b+1}}{4} \rfloor +\lfloor \frac{p_{b+2}}{4} \rfloor =2p+b.\)

Then the embedded bit can be obtained by: \(b=(X-\hat{X})-2\times \lfloor \frac{(X-\hat{X})}{2} \rfloor , p=(X-\hat{X}-b)/2,p_b=p+b.\)

Then the original pixels can be recovered by: \(x=X-\lfloor \frac{p_b}{4} \rfloor ,n=N+\lfloor \frac{p_{b+3}}{4} \rfloor ,w=W+\lfloor \frac{p_{b+1}}{4} \rfloor ,nw=NW-\lfloor \frac{p_{b+2}}{4} \rfloor .\)

Table 2 gives the range of the difference A of some images. It’s obviously that most of them are within [-1024,1024] after expand 10 times. So we can replace the absolute value of A1 with 10 binary bits and one bit for sign bit, A1 is 10 times of the difference A, so 11 bits are totally enough for replacing a difference A. Since the reversible watermarking method can embed a bit into 4 pixels, so one \(8\times 8\) block is capable of embedding the 11 bits of the difference information.

Table 2. The range of difference value

2.3 Prevention of Overflow/Underflow

For an 8-bit gray-scale image, the permitted range is [0,255]. The watermark embedding process may cause overflow or underflow, to avoid the overflow or underflow, a location map and a pixel adjustment operation are introduced. The location map is used to record the position of the pixels, mark ‘1’ if the pixel is overflow or underflow, and ‘0’ if the pixel is normal. The location map is deeply compressed and embedded into the watermarked image with any reversible watermarking method after the pixel adjustment is done.

The pixel adjustment is done by, \(T'\) is an integer bigger than 2T:

$$\begin{aligned} x_{(i,j)}= {\left\{ \begin{array}{ll} &{} x_{(i,j)}+T', \text { if } x_{(i,j)}< 0\\ &{} x_{(i,j)}-T', \text { if } x_{(i,j)}> 255\\ \end{array}\right. } \end{aligned}$$
(7)

The inverse transform is done by:

$$\begin{aligned} x_{(i,j)}= {\left\{ \begin{array}{ll} &{} x_{(i,j)}-T', \text { if } x_{(i,j)}< 125\\ &{} x_{(i,j)}+T', \text { if } x_{(i,j)}> 125\\ \end{array}\right. } \end{aligned}$$
(8)

3 Proposed Algorithm

In our proposed robust reversible watermarking scheme, robust watermark based on robust statistic quantity is first embedded, and then the difference value of each block, \(A=\mu _{HL} - \mu _{LH}\) is embedded by using the reversible watermarking scheme. Compared with the previous robust reversible watermarking schemes, the proposed method is blind and has a satisfactory robustness and visible quality, as described below.

Fig. 2.
figure 2

Watermark embedding process.

3.1 Watermark Embedding

Figure 2 shows the proposed watermark embedding process. The robust watermark is embedded with the following five steps:

Step 1: Dividing the original cover image I into \(8\times 8\) non-overlapping blocks.

Step 2: Decomposing a block with 5/3 IWT.

Step 3: Select the HL and LH sub-bands of the block, and calculate their mean values, denoted by \(\mu _{HL}\) and \(\mu _{LH}\) respectively.

Step 4: Calculate the difference value \(A=\mu _{HL} - \mu _{LH}\), and modify \(\mu _{HL}\) and \(\mu _{LH}\) to embed a robust watermark bit by referring to (4) and (5).

Step 5: Perform inverse 5/3 IWT to obtain the watermarked block. Go to Step 2 until all the blocks are marked to get the watermarked image \(I_{w1}\).

In the embedding process of the robust watermark, the A values of all the blocks should be saved and embedded into the image \(I_{w1}\) reversibly. In this way, the original image can be recovered once the watermark was extracted. We use the following steps to embed all the A values in reversible way:

Step 1: Expand a difference value A ten times to get an integer A1, then change A1 into binary array B.

Step 2: Embedding the binary array B into each blocks with the reversible watermarking technique. Repeat Step 1 until all the A values are embedded to get image \(I_{w2}\).

At last, a location map and pixel adjustment is taken if overflow or underflow occur.

3.2 Watermark Extraction

The robust watermark can be extracted whether the watermarked image remains unchanged or goes through an attack, and the extraction process are as follow steps:

Step 1: Dividing the watermarked image \(I_{w}\) into \(8\times 8\) non-overlapping blocks.

Step 2: Decomposing a block with 5/3 IWT.

Step 3: Select the HL and LH sub-band and calculate the mean value of the chosen 10 coefficients \(\mu _{HL}'\) and \(\mu _{LH}'\) respectively.

Step 4: Calculate the difference value \(A'=\mu _{HL}' - \mu _{LH}'\), the watermark bit \(w_{i}^{'}\) can be extracted by referring to (6).

Step 5: Go to Step 2 until all the watermark bits are extracted.

If the watermarked image keeps unchanged, the original can be recovered after the watermark has been extracted. And the original cover image is recovered with the following steps:

Step 1: If there are overflow or underflow problems happened, extract the compressed location map and uncompressing it to get the location map. According to the location map transform the changed pixels by referring to (6).

Step 2: Recover the binary array B from each block and change the binary number into decimal number \(\overline{A}\), then the difference value can be obtained by: \(A'=\overline{A}/10\).

Step 3: Applying 5/3 IWT to the block, Select the HL and LH sub-band and calculate the mean value of the chosen 10 coefficients in each sub-band \(\mu _{HL}'\) and \(\mu _{LH}'\).

Step 4: According to the watermark bit \(w_{i}^{'}\), the mean value \(\mu _{HL}'\) and \(\mu _{LH}'\), the difference value \(A'\), the threshold T, we can recover the original coefficients.

Step 5: Perform inverse 5/3 IWT to get the original block. Go to Step 2 until all the blocks are recovered. Combining the blocks to recover the original image.

4 Experimental Results

In this section, we take some experiments to evaluate the proposed method. In our experiments, some 8 bit grayscale images are chosen as example images, such as Lena, Boat, Barbara, and Baboon, etc.

The threshold T has an effect on invisibility and robustness. Here, we choose 4 natural images and 4 synthetic aperture radar (SAR) images with the size of \(512\times 512\) (see Fig. 3) as data set  [15]. The watermark is a fixed random sequence with 100 bits. The invisibility is evaluated by PSNR.

Fig. 3.
figure 3

Test images: (a) natural images; (b) SAR images.

Fig. 4.
figure 4

PSNR values for different threshold values.

Figure 4 shows the relationship between the threshold T and the PSNR values of the different images. The threshold is adjusted from 5 to 25. We can find that the PSNR values of the natural images are above 46 dB except the image Baboon, and the PSNR value of Baboon is lower than other 4 natural images when the threshold is low. The reason is that the Baboon image is more textural. The PSNR values of the SAR images are above 43 dB. Obviously, the higher the threshold T is, the lower the PSNR is.

To assess the effect of the threshold on robustness against JPEG compression, we utilize the ACDsee tool to compress the watermarked images at different quality factor (10, 20, 30,..., 100). Figure 5 shows the results that the robust watermark can be extracted correctly for different JPEG quality factors with different corresponding embedding thresholds. When T is 5, all the 5 natural images can resist JPEG 90 compression. We can observe that the higher the threshold is, the better robustness is. In particularly, the SAR images achieved very good robustness. When the threshold is 25, the four images can resist JPEG compression with quality factor 40.

To make a comparison with other method, the surviving bit rate (bpp) is selected to evaluate the robustness against JPEG2000. The relationship between the surviving bit rate and the maximum compression ratio is: the surviving bit rate=8/(maximum compression ratio). So the lower the surviving bit rate, the better the robustness is. Figure 6 shows the relationship between the surviving bit rates and the threshold values. The watermark can be extracted correctly when the surviving bit rate is larger than it. We can observe that natural images achieved very good robustness when the threshold value is 25, and all of the natural images achieve the robustness under 1 bpp.

Figure 7 shows the robustness against salt-and-pepper noise with different thresholds. It demonstrates that the robustness of these images against the maximum noise intensity at each threshold. Its clear that the robustness increases as the threshold increases while the invisibility drops at the same time. Its because that the lager the threshold is, the lager the robust zone is, so the robustness increases.

Fig. 5.
figure 5

The robustness against JPEG (the minimum quality factor to extract the watermark correctly at this threshold).

Fig. 6.
figure 6

The robustness against JPEG2000 (the minimum bpp to extract the watermark correctly at this threshold).

Fig. 7.
figure 7

The robustness against salt-and-pepper noise (the maximum noise intensity to extract the watermark correctly at this threshold).

To make a comparison with the WSQH-SC mentioned in  [11], we choose 50 natural images and 50 SAR images as the test images. The threshold in our method is 25 while \(\lambda \) is 16 in the WSQH-SC method. The average robustness comparison results are shown in Table 3. We can see that our method achieved better robustness against JPEG/JPEG2000 with natural images and SAR images. Furthermore, our method is blind to extract the watermark while WSQH-SC is non-blind to some extent.

Table 3. Comparison of robustness with WSQH-SC  [11]

To make a comparison with Zeng et al.’s method  [10], we take Lena, Baboon, Boat and Barbara, etc. as example images. The threshold in our method is 20. We evaluate the robustness by the minimum surviving bit rate (bpp) when the BER is lower than \(1\,\%\). Table 4 shows that our method has better robustness at the same PSNR. The basic reason is that in our method the watermark is in the wavelet domain while Zeng et al.’s method embedding the watermark in the spatial domain.

Table 4. Comparison with Zeng et al.’s method  [10]

To compare with Coltuc et al.’s method [13], we apply our method on the same test images Lena and Boat in size \(512\times 512\). The watermark is a binary image (a Logo with Jnu) with the size of \(64\times 64\) as shown in Fig. 8(a). The PSNR values of watermarked versions of Lena and Boat are 33.15 dB and 32.66 dB respectively while the threshold T is 18. In [13], the PSNR values of the watermarked Lena and Boat are 24.63 dB at the 0.97 bpp and 22.62 dB at 0.93 bpp. Our method achieves much better invisibility. For JPEG compression with the quality factors of 100, 75, 50 and 25, the extracted watermark images are shown in Fig. 8(b-i), and the corresponding bit error rates (BER) are shown in Table 5. From Table 5 we can find that the watermark can be extracted without error when the JPEG quality factor is larger than 25 for Lena and 50 for Boat. In [13], there are error bits, even with quality factor at 100. So the proposed method is superior than Coltuc et al.’s method.

Fig. 8.
figure 8

The original watermark (a) and the extracted watermarks: (b) Lena-quality factor 100; (c) Lena-75; (d) Lena-50; (e) Lena-25; (f) Boat-100; (g) Boat-75; (h) Boat-50; (i) Boat-25.

Table 5. Comparison with Coltuc et al.’s method  [13]

5 Conclusion

In this paper, we proposed a novel robust reversible watermarking method based on multiple watermarking. The robust watermarking based on shifting the mean value of the 5/3 integer wavelet transform coefficients is first adopted to embed the watermark, the reversible watermarking followed by the robust watermarking is taken to embed the difference values which is used to recover the original cover image. The original image can be recovered without error after the watermark extracted if the watermarked image keep intact, and the watermark can be extracted correctly even the watermarked image suffered some attacks such as JPEG/JPEG2000 or random noise. Compared to the method in  [11], our method achieves better robustness, compared to the method in  [10], our method achieves better robustness against JPEG2000 at the same PSNR, compared to the method in  [13], our method achieves better image quality and better robustness against JPEG at the same capacity. Furthermore, the proposed method is very simple and can be applied in various images.

In the future research, we will combine the multiple robust reversible watermarking framework with the local feature of different kinds of images to improve the robustness with a higher image quality.