- Review Article
- Open Access
Reversible Watermarking Techniques: An Overview and a Classification
© Roberto Caldelli et al. 2010
- Received: 23 December 2009
- Accepted: 17 May 2010
- Published: 14 June 2010
An overview of reversible watermarking techniques appeared in literature during the last five years approximately is presented in this paper. In addition to this a general classification of algorithms on the basis of their characteristics and of the embedding domain is given in order to provide a structured presentation simply accessible for an interested reader. Algorithms are set in a category and discussed trying to supply the main information regarding embedding and decoding procedures. Basic considerations on achieved results are made as well.
- Wavelet Coefficient
- Watermark Image
- Watermark Scheme
- JPEG Compression
- Reversible Data Hiding
Digital watermarking techniques have been indicated so far as a possible solution when, in a specific application scenario (authentication, copyright protection, fingerprinting, etc.), there is the need to embed an informative message in a digital document in an imperceptible way.Such a goal is basically achieved by performing a slight modification to the original data trying to, at the same time, satisfy other bindings such as capacity and robustness. What is important to highlight, beyond the way all these issues are achieved, it is that this "slight modification" is irreversible: the watermarked content is different from the original one. This means that any successive assertion, usage, and evaluation must happen on a, though weakly, corrupted version, if original data have not been stored and are not readily available. It is now clear that in dependence of the application scenario, this cannot always be acceptable. Usually when dealing with sensitive imagery such as deep space exploration, military investigation, and recognition, and medical diagnosis, the end-user cannot tolerate to risk to get a distorted information from what he is watching at. One example above all: a radiologist who is checking a radiographic image to establish if a certain pathology is present or not. It cannot be accepted that his diagnosis is wrong both, firstly, to safeguard the patient's health and, secondly, to protect the work of the radiologist himself. In such cases, irreversible watermarking algorithms clearly appear not to be feasible; due to this strict requirement, another category of watermarking techniques have been introduced in literature which are catalogued as reversible, where, with this term, it is to be intended that the original content, other than the watermark signal, is recovered from the watermarked document such that any evaluation can be performed on the unmodified data. Thus doing, the watermarking process is zero-impact but allows, at the same time, to convey an informative message.
Reversible watermarking techniques are also named as invertible or lossless and were born to be applied mainly in scenarios where the authenticity of a digital image has to be granted and the original content is peremptorily needed at the decoding side. It is important to point out that, initially, a high perceptual quality of the watermarked image was not a requirement due to the fact that the original one was recoverable and simple problems of overflow and underflow caused by the watermarking process were not taken into account too. Successively also, this aspect has been considered as basic to permit to the end user to operate on the watermarked image and to possibly decide to resort to the uncorrupted version in a second time if needed.
Such feature could be interesting in applications where a certain degree of lossy compression has to be tolerated; that is, the image has to be declared as authentic even if slightly compressed. Within this last category can also be included a restricted set of techniques that can be defined as robust which are able to cope with intentional attacks such as filtering, partial cropping, JPEG compression with relatively low quality factors, and so on.
The rationale behind this paper is to provide an overview, as complete as possible, and a classification of reversible watermarking techniques, while trying to focus on their main features in a manner to provide to the readers basic information to understand if a certain algorithm matches with what they were looking for. In particular, our attention has been dedicated to papers appeared approximately from years 2004-2005 till 2008-2009; in fact, due to the huge amount of works in this field, we have decided to restrict our watch to the last important techniques. Anyway we could not forget some "old" techniques that are considered as reference throughout the paper, such as [1–3], though they are not discussed in detail. The paper tries to categorize these techniques according to the classification pictured in Figure 1 and by adding an interesting distinction regarding the embedding domain they work on: spatial domain (pixel) or transformed domain (DFT, DWT, etc.).
The paper is structured as follows: in Section 2, fragile algorithms are introduced and subdivided into two subclasses on the basis of the adopted domain; in Section 3, techniques which provide features of semi-fragileness and/or robustness are presented and classified again according to the watermarking domain. Section 4 concludes the paper.
Fragile algorithms cover the majority of the published works in the field of reversible. With the term fragile a watermarking technique which embeds a code in an image that is not readable anymore if the content is altered. Consequently the original data are not recoverable too.
2.1. Spatial Domain
This subsection is dedicated to present some of the main works implementing fragile reversible watermarking by operating in the spatial domain.
a JBIG compressed location map,
the original LSB values, and
the net authentication payload which contains an image hash.
To embed the payload, the procedure starts to define two amounts, the average and the difference (see (1)).
The method defines different kinds of pixel couples according to the characteristics of the corresponding and behaves slightly different for each of them during embedding. Two are the main categories: changeable and expandable differences, let us see below for their definitions, respectively.
This is imposed to prevent overflow/underflow problems for the watermarked pixels .
by replacing with within (2), the watermarked pixel values and are got. The basic feature which distinguishes expandable differences from changeable ones is that the first ones can carry a bit without asking for saving the original LSB. That yields to a reduced total payload . A location map takes into account of the diverse disjoint categories of differences.
To extract the embedded data and recover the original values, the decoder uses the same pattern adopted during embedding and applies (1) to each pair. Then two sets of differences are created: for changeable and for not changeable . By taking all LSBs of differences belonging to set, a bit stream is created. Firstly, the location map is recovered and used together with to restore the original values; secondly, by using (2) the original image is obtained, lastly, the embedded payload (the remaining part of ) is used for authentication check by resorting to the embedded hash.
Payload size versus PSNR of Lena image.
Payload Size (bits)
Bit Rate (bpp)
As DE increases, the watermark has the effect similar to mild sharpening in the mid tone regions. Applying the DE method on "Lena," the experimental results show that the capacity versus distortion is better in comparison with the G-LSB method proposed in , and the RS method proposed in .
Spatial Triplet: three pixel values of the image chosen from the same color component within the image according to a predetermined order.
Cross-spectral Triplet: three pixel values of the image chosen from different color components (RGB).
for all the expandable triplets, where expandable means that satisfies a limitation similarly to what has been proposed in the previous paper to avoid overflow/underflow. In case of only changeable triplets, ( changes correspondingly), but the same bound for the sum of these two amounts has to be verified again.
: contains all expandable triplets whose and ( , predefined threshold).
: contains all changeable triplets that are not in .
: contains the not changeable triplets.
contains all changeable triplets
Embedded payload size versus PSNR for colored images.
Comparison results between Tian's and Alattar's algorithm.
From the results of Table 3, the algorithm proposed outperforms the Tian's technique at lower PSNRs. At higher PSNRs instead, the Tian's method outperforms the proposed.
: contains all expandable quads whose , , with transformed values and predefined threshold.
: contains all changeable quads that are not in .
: contains the rest of quads (not changeable).
: contains all changeable quads ( ).
In the embedding process the quads are transformed by using (10) and then divided into the sets , , and . and are modified in and (the watermarked versions) and the pixel values of the original image are replaced with the corresponding watermarked quads in and to produce the watermarked image . Watermark extraction and restoring process proceeds inversely as usual.
In the presented experimental results, the algorithm is applied to each color component of three RGB images, Baboon, Lena, and Fruits setting in all experiments. The embedding capacity depends on the nature of the image itself. In this case, the images with a lot of low frequencies contents and high correlation, like Lena and Fruits, produce more expandable triplets with lower distortion than high frequency images such as Baboon. In particular with Fruits, the algorithm is able to embed 867 kbits with a PSNR dB, but with only 321 kbits image quality increases at dB. It is interesting to verify that with Baboon the algorithm is able to embed 802 kbits or 148 kbits achieving a PSNR of dB and of dB, respectively.
The proposed method is compared with Tian's algorithm, using grayscale images, Lena and Barbara. At PSNR higher than 35 dB, quad-based technique outperforms Tian, while at lower PSNR Tian outperforms (marginally) the proposed techniques. The quad-based algorithm is also compared with  method using grayscale images like Lena and Barbara. Also, in this case the proposed method outperforms Celik  at almost all PSNRs. The proposed algorithm is also compared with the previous work of Alattar described in . The results reveal that the achievable payload size for the quad-based algorithm is about 300,000 bits higher than for the spatial triplets-based algorithm at the same PSNR; furthermore, the PSNR is about dB higher for the quad-based algorithm than for the spatial triplet-based algorithm at the same payload size.
Finally, in , Alattar has proposed a further generalization of his algorithm, by using difference expansion of vectors composed by adjacent pixels. This new method increases the hiding capacity and the computation efficiency and allows to embed into the image several bits, in every vector, in a single pass. A vector is defined as , where is the number of pixel values chosen from different locations within the same color component, taken, according to a secret key, from a pixel set of size.
where is a constant integer, , and , ( and are the image width and height, resp.)
On the contrary, the vector can be defined changeable if, (14) holds when the expression is substituted by .
Given , that represents any of the set of vectors in the RGB color components, such vectors can be classified in the following groups
with: transformed values; predefined threshold.
(2) : contains all changeable vectors that are not in .
(3) : contains the rest of the vectors (not changeable).
(4) contains all changeable vectors.
In the embedding process the vectors are forward transformed and then divided into the groups , , and . , and are modified in and (watermarked) and the pixel values of the original image are replaced with the corresponding watermarked vectors in and to produce the watermarked image . Reading and restoring phase simply inverts the process. The algorithm uses a location map to identify , , and .
The so-called companding error is which is if .
where , the predicted value, is equal to in this case. On the basis of the presented experimental results, the algorithm globally outperforms the Tian's method  and the Thodi's one  from the capacity-vs-distortion point of view: for instance it achieves bpp and grants dB of PSNR. In particular, performances seem to be better when textured images, such as Baboon, are taken into account.
In Coltuc , a high-capacity low-cost reversible watermarking scheme is presented. The increment in capacity is due to the fact that it is not used any particular location map to identify the transformed pairs of pixels (as usually happens). The proposed scheme, adopts a generalized integer transform for pairs of pixels. The watermark and the correction data, needed to recover the original image, are embedded into the transformed pixel by simple additions. This algorithm can provide for a single pass of watermarking, bitrates greater than 1 bpp.
During watermarking, all pairs which do not cause under/overflow are transformed, on the contrary not transformed ones are modified according to (24) to satisfy (23), and the corresponding correction data are collected and appended to watermark payload.
In the proposed scheme, the bitrate depends on the number of transformed pixel pairs and on the parameter . The experimental results for show that, a single pass of the proposed algorithm for gives a bit-rate of 0.5 bpp at a PSNR of 29.96 dB. In the case of the bit-rate is almost bpp with a PSNR of dB. By increasing , the bit-rate becomes greater than 1 bpp obtaining a maximum bit-rate for , namely 1.42 bpp at a PSNR of 19.95 dB. As increases, the number of transformed pairs decreases. However, for highlytextured images like Baboon performances are sensibly lower.
where is the number of transformed pixels and is the number of image pixels.
The proposed algorithm is compared with the previous work . This new technique provides a significant gain in data hiding capacity while, on the contrary, achieves low values of perceptual quality in terms of PSNR. Considering the test image Lena, a single pass of the proposed algorithm for gives a bit-rate of 0.96 bpp. The bit-rate is almost the same of , but at a lower PSNR (22.85 dB compared with 25.24 dB). For one gets 1.46 bpp at 20.15 dB which already equals the maximum bit-rate obtained with the scheme of previous work; namely, 1.42 bpp at 19.95 dB (obtained for ). By increasing , the bit-rate increases: for one gets 1.77 bpp, for the bit-rate is 1.97 bpp, for the bit-rate is 2,08 bpp and so on, up to the maximum value of 2.19 bpp obtained for . The same problems when dealing with highly textured images are presented.
In Chang et al. , two spatial quad-based schemes starting from the difference expansion of Tian  algorithm are presented. In particular, the proposed methods exploit the property that the differences between the neighboring pixels in local regions of an image are small. The difference expansion technique is applied to the image in row-wise and column-wise simultaneously.
where is a block, is a predefined threshold, , , , and are pixel values in , is the "AND" operator. If is true, is chosen for watermarking, otherwise is discarded. Two watermarking approaches are proposed. In the first one, row-wise watermarking is applied to those blocks satisfying the relation which determines that (34) still holds for watermarked values and consequently to apply column-wise watermarking. Bindings to avoid over/underflow are imposed to watermarked pixels both for row-wise embedding and for column-wise one. In the second approach initial relation is not required anymore, only over/underflow is checked, and a 4-bit message is hidden in each block. In both cases, a location map to record the watermarked block is adopted; such location map is compressed and then concealed. The algorithm is tested on four 8 bit grayscale images, F16, Baboon, Lena, and Barbara. The results, in terms of capacity versus PSNR, are compared with other three algorithms, proposed by Thodi, Alattar and Tian. All methods are applied to images only once. From the comparison, the proposed algorithm can conceal more information than Tian's and Thodi's methods, while the performances of Alattar scheme are similar. In general, the proposed scheme is better than Alattar at low and high PSNRs. For middle PSNR Alattar's algorithm performs better.
The watermarking process starts with the transformation of each quad and then proceeds with the application of a companding function (see  for detail) whose output values are classified into three categories , , and , according to specified characteristics. Quads belonging to the first two categories are watermarked, the others are left unmodified; finally is applied to obtain the watermarked image. The to-be-inserted watermark is the composition of payload, location map and original LSBs. During extraction, quads are recognized again and then the transformation is applied; after that the quad classification is performed by resorting to the location map recovery. Finally, the watermark is extracted and image restoration is achieved by computing .
The algorithm is tested and compared with Tian's and Alattar's method on several images including Lena and Barbara. Embedding rates close to 0.75 bpp are obtained with the proposed and the Alattar's algorithm without multiple embedding, while multiple embedding is applied to Tian's algorithm to achieve rates above 0.5 bpp. From results the proposed method presents a PSNR of 1–3 dB more than the others with a payload of the same size. For example, considering Lena, in the proposed method the embedding capacity of 0.3 bpp is achieved with a PSNR of 44 dB, while in Tian, the PSNR is 41 db and in Alattar is 40 db. The embedding capacity of 1 bpp is achieved with a PSNR of 32 db for the proposed method, while in this case in Tian and Alattar the PSNR is 30 db. For Baboon, the results show that for a payload of 0.1 bpp a PSNR of 44 db, 35 db, and 32 db for the proposed method, Tian and Alattar is achieved, respectively. In general, the proposed technique outperforms Alattar and Tian at almost all PSNR values.
Given the histogram of the original image the algorithm first finds a zero point (no value of that gray level in the original image) or minimum point in case that zero point does not exist, and then the peak point (maximum frequency of that gray level in the original image). In Figure 7(a) (255) represents the zero point and (154) represents the peak point. The number of bits that can be embedded into an image, equals to the frequency value of the peak point. Let us take this histogram as an example. The first step in the embedding process (after scanning in sequential order) is to increase by 1, the value of pixels between 155 and 254 (including 155 and 254). The range of the histogram is shifted to the right-hand side by 1, leaving the value 155 empty. The image is scanned once again in the same sequential order, when a value of 154 is encountered, such value is incremented by 1, if the bit value of the data to embed is 1; otherwise, the pixel value remains intact. In this case, the data embedding capacity corresponds to the frequency of peak point. In Figure 7(b) the histogram of the marked Lena is displayed.
Experimental results for some different images.
Images ( )
PSNR of marked image (dB)
Pure payload (bits)
2.2. Transformed Domain
In this subsection, works dealing with fragile reversible watermarking operating on transformed domain are presented.
An interesting and simple technique which uses quantized DCT coefficients of the the to-be-marked image has been proposed by Chen and Kao . Such an approach resorts to three parameters adjustment rules: ZRE (Zero-Replacement Embedding), ZRX (Zero-Replacement Extraction), and CA (Confusion Avoidance); the first two are adopted to embed and extract one bit, respectively, the third one is to prevent confusion during embedding and extraction. Hereafter, these three rules are listed.
ZRE: embeds one bit into satisfying as follows.
(1) Change to as embedding bit 1.
(2) Change to as embedding bit 0.
(1) Extract bit 1 from and modify them to .
(2)Extract bit 0 from and modify them to .
(1) In embedding, each are changed to when , or changed to when , .
(2) In extracting, each are changed to when , or changed to when , .
ZRX: extract one bit from when or as follows.
CA: proposed to avoid embedding or extracting error.
To perform embedding, the image is partitioned in blocks and each of them is DCT transformed and quantized. Then, on the basis of a predetermined selection sequence, triplets of coefficients are selected and preprocessed by applying CA rule. Finally, the watermark bits are embedded through ZRE rule into valid triplets (i.e., with the format where ) and IDCT is computed to obtain the watermarked image. During extraction, all the initial steps are repeated as well until when triplets are constructed again; ZRX rule is applied to all the valid triplets, thus the watermark is read and the original coefficients are recovered. By using CA rule, all the other triplets are converted back to their original values too. Finally IDCT is obviously computed. Experimental results show that with Lena a payload of bits can be embedded and at the same time a PSNR of dB can be granted; similar values are provided for Cameraman (payload of bits and PSNR of dB).
Another work based on integer DCT coefficients modification has been proposed by Yang et al. . The reversibility is guaranteed by integer DCT, a lossless block transform, is applied to the whole image; the algorithm exploits the principle of histogram modification proposed by Ni et al. . The integer DCT transform has the property of energy concentration which can be used to improve the capacity of histogram modification scheme. The watermarking process starts with dividing the image into blocks with size and computing the integer DCT. Within each transformed block, the coefficients in position ( are selected to form coefficient groups and for every group an histogram is created. Histogram modification is then applied to insert the watermark only to AC groups. In some applications, it can be used a secret key to select ( ) coefficient groups for watermarking. For each histogram of the total coefficient groups, the positions of the original peak point and zero point which are involved in modification, must be recorded as overhead information needed during the extraction process. The extraction process is simply the reversed of the embedding process. The presented experimental results say that with Lena , bits of payload are achievable with a PSNR of almost dB.
In Weng et al. , a data hiding scheme, based on companding technique and an improved difference expansion (DE) method is presented. The payload is embedded into high frequency bands (LH, HL, and HH) in the integer wavelet transform domain (IWT), using the companding technique. To solve the overflow/underflow problem, after IWT, a method based on histogram modification is proposed. Such algorithm is based on Xuan's technique , which suffered the problem of overflow/underflow. Weng avoids that problem by interchanging the order of histogram modification and IWT. The advantages are basically an increment in hiding capacity with the PSNR value slightly increased and an overall PSNR improvement. Watermark embedding is divided into two steps: firstly, the image is IWT-transformed and the watermark w is embedded into the LSB of one bit left shifted version of an IWT selected coefficient; after that inverse, IWT is applied and the image is obtained. could be out of range and to guarantee that such value are into such a range, an histogram modification technique is used and an improved DE method is adopted to embed information regarding this modification into (the modified ) to achieve, finally, . Such improved DE method is based on a classification which divides each difference into three categories: expandable, changeable and nonchangeable.
The extraction process is composed by two stages: in the first one, classification is performed again and DE embedding is inverted till retrieving and information about histogram modification. After that, histogram modification is inversely applied and then the obtained image is IWT-transformed. High frequencies subbands are selected and the watermark is extracted. Finally inverse IWT is computed to retrieve the original image. Experimental results witness that a payload of bpp with a correspondent PSNR of dB is achieved for Lena . The same capacity is obtained for Baboon but with a PSNR of dB.
In this section the second category of algorithms belonging to the class of semi-fragile and robust is introduced. Such techniques present the characteristic to grant a certain degree of robustness when a specific process is applied to the watermarked image: this means that the image is still asserted as authentic.
3.1. Semifragile Algorithms
3.1.1. Spatial Domain
De Vleeschouwer et al. proposed in , a semi-fragile algorithm based on the identification of a robust feature of the luminance histogram for an image tile. As for the patchwork approach, the cover media is tiled in non-overlapping blocks of pixels that are associated to a bit of the embedded message.
For a single block, the pixels are equally divided into two pseudorandom sets (i.e., zones A and B) and for each zone the luminance histogram is computed and mapped around a circular support. A weight, proportional to the occurrence of each luminance value, is placed on the corresponding position of the circle and then a center of mass is calculated and localized respect to the center of the circle.
Since zones A and B are pseudo-randomly determined, it is highly probable that the localization of the corresponding centers of mass are very close to each other. This peculiarity can be exploited to embed a bit by simply rotating the center of mass of the A and B zones in opposite ways. A clockwise rotation of the zone center of mass can be associated to the embedding of a bit "1," while an anticlockwise rotation can be associated to a bit "0." The zone is rotated in the opposite direction accordingly to the technique previously presented.
By using this approach, it is very easy to determine, during the watermark detection, if a "1" or "0" bit is embedded in a certain block and, eventually, remove the mark by counter rotating the histogram along the circular support.
In a real image, some pathological cases can arise when the two centers of mass are not properly positioned and in general do not respect the mutual nearness. These cases are statistically negligible and do not affect significantly the available watermark payload.
If the histogram is mapped linearly into the circular support, salt and pepper noise can appear because of the abrupt transition on the occurrences of the 255-level to the 0-level and viceversa even for a small support rotation. To cope with this problem, the histogram can be mapped to the support in an alternative fashion by mapping clockwise the st, the th histogram value, and so forth.
Because of the rearrangement of the histogram on the support, the center of mass for the A and B zones appear very close to the center of the circle making the watermark detection less reliable. In this case, the center of mass computation is substituted by the computation of the minimal inertia axis that can be detected more easily. This alternative technique make the salt and pepper noise disappear. Both these approaches can cope with acceptable lossy attacks such cropping (by embedding a synchronization grid) and JPEG compression. The proposed methods show a good robustness, even if the second one, while more appealing from a perceptual point of view, is more fragile to JPEG compression.
In Ni et al. , an algorithm based on the De Vleeschouwer idea is proposed in order not to be fragile to JPEG compression. This method is based upon an analysis of the differences between couples of pixels belonging to an image tile.
An image tile is divided into pixel couples and a sum of differences of their luminance values (taken in an ad hoc manner) is computed. A statistical analysis shows that this computed value (named ) is very close to zero for most of the tiles. The main idea for bit embedding is that the difference value is related to a reference value (usually less than 5 according to numerous experiments) and a categorization of the value respect to the value is carried on. The categorization is defined even by means of the parameter that is usually . This approach is aimed to avoid falling into underflow/overflow errors that would significantly lower the stego image quality. In particular, four categories are identified.
The pixel grayscale values of a block under consideration are far enough away from the two bounds of the histogram (0 and 255 for an 8-bit grayscale image).
The value is located between the range and .
The absolute value of exceeds the threshold .
Some pixel grayscale values of the block under consideration are very close to the lower bound of the histogram (0 for an 8-bit grayscale image).
The value is located between the range and .
The value of is located on the right hand side beyond the threshold .
Some pixel grayscale values of the block under consideration are very close to the upper bound of the histogram (255 for an 8-bit grayscale image).
The value is located between the range and .
The value of is located on the left hand side beyond the threshold .
Some pixel grayscale values of the block under consideration are close to the upper bounds, while some pixel grayscale values are close to the lower bounds of the histograms.
The value is located between the range and .
The absolute value of is beyond the threshold .
Depending on the categories and on the cases the couples of pixels are referrable to, the difference can be increased or decreased by . The increment/decrement is always implemented as a modification of the value of the higher valued pixel of the pair. In some cases, cannot be modified without generating salt and pepper noise; in these case, no modification are applied and then an error is inserted.
To cope with these insertion errors, the payload is embedded with an Error Correction Code providing a sufficient data redundancy. Authors states that BCH(63,7,15) can correct most of the random errors that can be generated during the embedding process. In some cases, errors concentrate in particular regions of the image (bursts of errors) giving no chance to the ECC to recover data. In order to deal with these situations, the authors used a message bits permutation scheme to redistribute errors along the entire image. Experimental results confirm that a significant enhancement of the data embedding capacity and of the PSNR of the marked image can be achieved respect to the method proposed in . The images used in the experiments are Lena, Baboon, and Boat ( ). For Lena with a PSNR of 40.2 db the capacity is 792 bits, but for the other two images the capacity is lower, in fact in Baboon with a PSNR of 38.7 db the capacity is 585 bits while for Boat with a PSNR of 40.5 db the payload is 560 bits. In particular, robustness is slightly increased in the case of a lossy modification like JPEG/JPEG2000 compression with higher compression rates with respect to . For severe compression rates, instead, the results of the proposed algorithm are comparable to those presented by De Vleeschouwer. A unified authentication framework based on the proposed methods has been included in the Security part of JPEG2000 (known as JPSEC) IS (International Standard), JPSEC ISO/IEC 15444-8:2007, April 2007.
3.1.2. Transformed Domain
From this feature it is possible to deduce that dividing the considered sub-band into non-overlapping blocks of size nxn and calculating the mean of the coefficients values in each block, the resulting mean values also have zero-mean Laplacian distribution. The scheme starts scanning all the blocks to find out the maximum absolute mean value of coefficients, . A threshold is set to the smallest integer number greater than . The embedding phase, manipulates the mean value of the block. Considering a block, to embed a bit , the mean value of the block is shifted by (positive or negative, resp.). is equal or larger than . To embed a bit , the mean value of the coefficients in the considered block is unchanged. In the extraction process, when a mean value of the block with absolute value larger than is found, a bit = 1 is recovered. If such mean value is smaller than a bit = 0 is recovered.
Block size versus capacity (Lena ).
Min shift values
PSNR values for some test images.
PSNR of marked image (dB)
PSNR of marked image (dB)
3.2. Robust Algorithms
3.2.1. Spatial Domain
The algorithm presented in  is based on histogram modification. Embedding is performed by selecting a couples of histogram bins, and , and in order to insert a message bit or , the following relations are required.
If the asked relation does not already exist, bins are swapped (pixels belonging to the bins are changed accordingly); if an equality happens between selected bins, they are skipped. Bins couples are individuated according to a public key which is composed by a real number whose integer and decimal parts are used to determine the initial bin (start) and the distance between the two bins within each couple (step), respectively. Couples are selected sequentially over the histogram, in order to allocate all the message bits. Furthermore, reference side information which records if bins are swapped or not is constructed and passed to the extractor, together with the watermark length and the public key, to allow reversibility.
The capacity of this method is quite low (at most bits for a 256-gray level image) but, on the contrary, perceptual quality is preserved (PSNR dB for usual test images). The algorithm presents a high robustness to different kinds of attacks such as flipping, rotation ( , , and ), up-sizing, increasing aspect ratio, cropping ( ), drawing and so on; resistance is reduced if the parameter (step) is not over . JPEG compression, low pass filtering and noise addition are not tolerated by this technique.
If and it is not composed by odd pixel values, (47) is applied and the LSB of is set to 1 (to indicate a transformed pair) and the LSB of is available for watermark bit insertion.
If and it is composed by odd pixel values, (47) is not applied and the LSB of is set to 0 (to indicate an odd pair) and the LSB of is available for watermark bit insertion.
If , (47) is not applied and the LSB of is set to 0 and the true LSB of is saved in the payload.
if the LSB of is 1 then the LSB of is a watermark bit; after setting the LSBs of and to 0 the original pair is recovered by inverse RCM transform,
if the LSB of is 0 and the pair with the LSBs set to 1 (odd) belongs to , then the LSB of is a watermark bit; after setting the LSBs of and to 1 the original pair is simply recovered, and
if the LSB of is 0 and the pair with the LSBs set to 1 does not belong to , there is not a watermark bit; after replacing the LSB of with the true LSB taken from the watermark sequence, the original pair is reconstructed.
Further iterations can be applied to augment capacity to the extent of increasing perceptual distortion. The proposed scheme was tested on several graylevel and color images, Lena, Baboon, and Boat. Applying the proposed scheme on Lena without control distortion, a bit-rate of 0.49 bpp is obtained. The bit-rate is very close to the theoretical upper bound of 0.5 bpp. Further iterations of the scheme increase the hiding bit-rate till 0.98, 1.40, 1.73, and 1.86 bpp. For low and medium bit-rates, a slight increase of contrast can be seen. Increasing the hiding capacity, the noise increases as well. Boat is slightly lower, the maximum hiding capacity is of 1.53 bpp. Baboon provides only 0.84 bpp of embedding rate. With a bitrate of 0.2 bpp, a PSNR of 45 db is achieved for Lena. PSNR of 40 db and 32 db are achieved with Boat and Baboon respectively with a bitrate of 1 bpp. The technique outperforms other compression-based methods but it is slightly worst than Tian's difference expansion approach though it appears less complex.
The second protection level adopts a reversible technique to cast, this time in the ROI, another code depending upon the whole image (marked RONI plus ROI). The global robustness is limited by the fact that a possible attack determines a wrong reconstruction of ROI which consequently influences watermark extraction at the first protection level; in the paper, it is asserted that a JPEG compression not lower than a quality factor of does not generate any bit error.
3.2.2. Transformed Domain
In the work presented in , a quantization-based approach, named Weighted Quantization Method, (WQM) is introduced. Being the input signal and its quantization levels, message bit embedding is achieved by resorting to a couple of functions . The function , according to the message bits performs as it follows.
(i) = The biggest quantization level greater than
(ii) = The least quantization level smaller than ,
The parameter has to be major or equal to to grant that the values obtained when embedding a bit fall in a range disjoint with respect to that for embedding a bit . In addition to that, the higher the value of the stronger the image distortion; usually is set to . According to the definition of functions and , it yields that where is the watermarked signal; so for extracting the message bit the quantization level closer to is chosen. By using the watermarking process can be inverted and the original value can be recovered. The approach can be adopted both in spatial and transformed domain, though the authors applied it after a Point to Point Graph (PGP) transformation and experimental results are achieved on such a basis. Robustness of such a method is very limited; only BER against AWGN addition is presented within the paper. High perceptual quality (PSNR around dB) is achievable with test images such as Lena and Baboon.
In Gao and Gu , a procedure based on Alattar's difference expansion computed in the wavelet domain is presented. 1-level IWT (Integer Wavelet Transform) is applied to blocks of the image and sub-band is considered; in particular, the four coefficients belonging to the diagonal are grouped into two couples and used for watermarking according to their expansibility. Expansibility is checked to avoid overflow and underflow, and it is recorded and passed as side information to the detector side. Image blocks are shuffled according to a secret key before being wavelet transform, in order to achieve security and robustness against some malicious attacks. The proposed scheme is tested on Lena, Boat, and Baboon ( ). The achieved PSNRs are 35.8 db for Lena, 40.2 db for Boat and 42 db for Baboon. Image reversibility is granted when no attacks have happened and watermark robustness is partially provided against cropping, salt and pepper noise, and other image damaging localized in restricted zones.
Reversible digital watermarking techniques have been individuated so far to be adopted in application scenarios where data authentication and original content recovery were required at the same time. Such techniques have been introduced and a general classification has been provided; some of the main algorithms known in literature have been presented and discussed, trying to give to the interested readers an easy-to-use overview of the matter.
The work described in this paper has been supported under a Grant provided by ASF (Azienda Sanitaria Fiorentina) which is the Public Entity for Health in the Florence Area.
- Fridrich J, Goljan M, Du R: Lossless data embedding-new paradigm in digital watermarking. EURASIP Journal on Applied Signal Processing 2002, 2(2):185-196.View ArticleMATHGoogle Scholar
- Celik MU, Sharma G, Tekalp AM, Saber E: Reversible data hiding. Proceedings of the International Conference on Image Processing (ICIP '02), September 2002 2: 157-160.Google Scholar
- Thodi DM, Rodríguez JJ: Prediction-error based reversible watermarking. Proceedings of International Conference on Image Processing (ICIP '04), October 2004 3: 1549-1552.Google Scholar
- Tian J: Reversible data embedding using a difference expansion. IEEE Transactions on Circuits and Systems for Video Technology 2003, 13(8):890-896. 10.1109/TCSVT.2003.815962View ArticleGoogle Scholar
- Tian J: Reversible watermarking by differenceexpansion. Proceedings of Multimedia and Security Workshopat ACM Multimedia (ACMMM '02) 2002, 19-22.Google Scholar
- Alattar AM: Reversible watermark using difference expansion of triplets. Proceedings of International Conference on Image Processing (ICIP '03), September 2003 1: 501-504.Google Scholar
- Alattar AM: Reversible watermark using difference expansion of quads. Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP '04), May 2004 377-380.Google Scholar
- Alattar AM: Reversible watermark using the difference expansion of a generalized integer transform. IEEE Transactions on Image Processing 2004, 13(8):1147-1156. 10.1109/TIP.2004.828418MathSciNetView ArticleGoogle Scholar
- Weng S, Zhao Y, Pan J-S, Ni R: A novel high-capacity reversible water-marking scheme. Proceedings of IEEE International Conference on Multimedia and Expo (ICME '07), July 2007 631-634.Google Scholar
- Coltuc D: Improved capacity reversible watermarking. Proceedings of the 14th IEEE International Conference on Image Processing (ICIP '07), September-October 2007 3: 249-252.Google Scholar
- Coltuc D: Improved capacity reversible watermarking. Proceedings of the 14th IEEE International Conference on Image Processing (ICIP '07), September-October 2007 3: 249-252.Google Scholar
- Chang Z, Xu J, Kou W: Reversible watermarking schemes using spatial quad-based difference expansion. Proceedings of International Conference on Convergence and Hybrid Information Technology (ICHIT '08), August 2008 522-525.Google Scholar
- Weng S, Zhao Y, Pan J-S, Ni R: A novel reversible watermarking based on an integer transform. Proceedings of International Conference on Image Processing (ICIP '07), September 2007, San Antonio, Tex, USA 3: 241-244.Google Scholar
- Ni Z, Shi Y-Q, Ansari N, Su W: Reversible data hiding. IEEE Transactions on Circuits and Systems for Video Technology 2006, 16(3):354-361.View ArticleGoogle Scholar
- Chen C-C, Kao D-S: DCT-based reversible image watermarking approach. Proceedings of the 3rd International Conference on Intelligent Information Hiding and Multimedia Signal Processing (IIHMSP '07), November 2007 2: 489-492.View ArticleGoogle Scholar
- Yang B, Schmucker M, Niu X, Busch C, Sun S: Reversible image watermarking by histogram modification for integer DCT coefficients. Proceedings of the 6th Workshop on Multimedia Signal Processing (MMSP '04), October 2004 143-146.Google Scholar
- Weng S, Zhao Y, Pan J-S, Ni R: Reversible data hiding using the companding technique and improved DE method. Circuits, Systems, and Signal Processing 2008, 27(2):229-245. 10.1007/s00034-008-9021-3MathSciNetView ArticleGoogle Scholar
- Xuan G, Yang C, Zhen Y, Shi YQ, Ni Z: Reversible data hiding using integer wavelet transform and companding technique. Proceedings of the 3rd International Workshop on Digital Watermarking (IWDW '04), October-November 2004, Seoul, South Korea 3304: 115-124.Google Scholar
- Lee S, Yoo CD, Kalker T: Reversible image watermarking based on integer-to-integer wavelet transform. IEEE Transactions on Information Forensics and Security 2007, 2(3):321-330.View ArticleGoogle Scholar
- de Vleeschouwer C, Delaigle JF, Macq B: Circular interpretation of bijective transformations in lossless watermarking for media asset management. IEEE Transactions on Circuits and Systems for Video Technology 2006, 16(11):1423-1429.View ArticleGoogle Scholar
- Ni Z, Shi YQ, Ansari N, Su W, Sun Q, Lin X: Robust lossless image data hiding designed for semi-fragile image authentication. IEEE Transactions on Circuits and Systems for Video Technology 2008, 18(4):497-509.View ArticleGoogle Scholar
- Zou D, Shi YQ, Ni Z, Su W: A semi-fragile lossless digital watermarking scheme based on integer wavelet transform. IEEE Transactions on Circuits and Systems for Video Technology 2006, 16(10):1294-1300.View ArticleGoogle Scholar
- Wu X: Reversible semi-fragile watermarking based on histogram shifting of integer wavelet coefficients. Proceedings of Inaugural IEEE-IES Digital EcoSystems and Technologies Conference (DEST '07), February 2007 501-505.Google Scholar
- Chrysochos E, Fotopoulos V, Skodras AN, Xenos M: Reversible image watermarking based on histogram modification. Proceedings of the 11th Panhellenic Conference on Informatics with International Partecipation (PCI '07), May 2007 93-104.Google Scholar
- Coltuc D, Chassery J-M: Very fast watermarking by reversible contrast mapping. IEEE Signal Processing Letters 2007, 14(4):255-258.View ArticleGoogle Scholar
- Coatrieux G, Montagner J, Huang H, Roux Ch: Mixed reversible and RONI watermarking for medical image reliability protection. Proceedings of the 29th Annual International Conference of the IEEE Engineering in Medicine and Biology (EMBC '07), August 2007, Lyon, France 5653-5656.Google Scholar
- Saberian MJ, Akhaee MA, Marvasti F: An invertible quantization based watermarking approach. Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '08), April 2008 1677-1680.Google Scholar
- Gao T-G, Gu Q-L: Reversible watermarking algorithm based on wavelet lifting scheme. Proceedings of International Conference on Wavelet Analysis and Pattern Recognition (ICWAPR '07), November 2007 4: 1771-1775.Google Scholar
This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.