- Review Article
- Open Access

# Reversible Watermarking Techniques: An Overview and a Classification

- Roberto Caldelli
^{1}Email author, - Francesco Filippini
^{1}and - Rudy Becarelli
^{1}

**2010**:134546

https://doi.org/10.1155/2010/134546

© Roberto Caldelli et al. 2010

**Received:**23 December 2009**Accepted:**17 May 2010**Published:**14 June 2010

## Abstract

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.

## Keywords

- Wavelet Coefficient
- Watermark Image
- Watermark Scheme
- JPEG Compression
- Reversible Data Hiding

## 1. Introduction

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.

*fragile*and

*semifragile*. Most of the developed techniques belong to the family of

*fragile*that means that the inserted watermark disappears when a modification has occurred to the watermarked image, thus revealing that data integrity has been compromised. An inferior number, in percentage, are grouped in the second category of

*semi-fragile*where with this term it is intended that the watermark is able to survive to a possible unintentional process the image may undergo, for instance, a slight JPEG compression.

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.

## 2. Fragile Algorithms

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.

- (i)
a JBIG compressed location map,

- (ii)
the original LSB values, and

- (iii)
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.

Definition 1.

Definition 2.

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) | 39566 | 63676 | 84066 | 101089 | 120619 | 141493 | 175984 | 222042 | 260018 | 377869 | 516794 |
---|---|---|---|---|---|---|---|---|---|---|---|

Bit Rate (bpp) | 0.1509 | 0.2429 | 0.3207 | 0.3856 | 0.4601 | 0.5398 | 0.6713 | 0.8470 | 0.9919 | 1.4415 | 1.9714 |

PSNR (dB) | 44.20 | 42.86 | 41.55 | 40.06 | 37.66 | 36.15 | 34.80 | 32.54 | 29.43 | 23.99 | 16.47 |

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 [2], and the RS method proposed in [1].

*triplet*a vector containing the pixel values of a colored image is intended; in particular, there are two kinds of triplets.

- (i)
*Spatial Triplet:*three pixel values of the image chosen from the same color component within the image according to a predetermined order. - (ii)
*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.

- (1)
: contains all expandable triplets whose and ( , predefined threshold).

- (2)
: contains all changeable triplets that are not in .

- (3)
: contains the not changeable triplets.

- (4)
contains all changeable triplets

*Lena*,

*Baboon,*and

*Fruits*. The algorithm is applied recursively to columns and rows of each color component. The watermark is generated by a random binary sequence and in all experiments. In Table 2, PSNRs of the watermarked images are shown. In general, the quality level is about 27 dB with a bitrate of 3.5 bits/colored pixel. In Table 3, it is reported also the performance comparison in terms of capacity between the Tian's algorithm and this one, by using grayscale images

*Lena*and

*Barbara*.

Embedded payload size versus PSNR for colored images.

Lena | Baboon | Fruits | |||
---|---|---|---|---|---|

Payload (bits) | PSNR (dB) | Payload (bits) | PSNR (dB) | Payload (bits) | PSNR (dB) |

305,194 | 35.80 | 115,050 | 30.14 | 299,302 | 35.36 |

420,956 | 34.28 | 187,248 | 28.54 | 497,034 | 33.00 |

516,364 | 33.12 | 256,334 | 27.20 | 582,758 | 32.45 |

660,618 | 31.44 | 320,070 | 26.10 | 737,066 | 31.14 |

755,096 | 30.28 | 408,840 | 24.73 | 824,760 | 30.06 |

837,768 | 29.10 | 505,150 | 23.34 | 853,846 | 29.49 |

941,420 | 27.01 | 656,456 | 21.20 | 888,850 | 28.52 |

Comparison results between Tian's and Alattar's algorithm.

Gray-scale Lena | Gray-scale Barbara | ||||
---|---|---|---|---|---|

Tian's Alg. | Alattar's Alg. | Tian's Alg. | Alattar's Alg. | ||

PSNR (dB) | Payload (bits) | Payload (bits) | PSNR (dB) | Payload (bits) | Payload (bits) |

29.4 | 260.018 | 298.872 | 23.6 | 247.629 | 279.756 |

32.5 | 222.042 | 236.318 | 31.2 | 159.000 | 202.120 |

34.8 | 175.984 | 189.468 | 32.8 | 138.621 | 187.288 |

36.2 | 141.493 | 131.588 | 34.1 | 120.997 | 167.986 |

37.7 | 120.619 | 107.416 | 37.4 | 81.219 | 108.608 |

40.1 | 101.089 | 49.588 | 40.2 | 60.577 | 45.500 |

41.6 | 84.066 | 19.108 | 42.8 | 39.941 | 19.384 |

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.

*quads*a vector containing the pixel values ( adjacent pixel values) from different locations within the same color component of the image is intended (see Figure 2).

- (1)
: contains all expandable quads whose , , with transformed values and predefined threshold.

- (2)
: contains all changeable quads that are not in .

- (3)
: contains the rest of quads (not changeable).

- (4)
: 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 [2] method using grayscale images like Lena and Barbara. Also, in this case the proposed method outperforms Celik [2] at almost all PSNRs. The proposed algorithm is also compared with the previous work of Alattar described in [6]. 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 [8], 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.)

*expandable*if, for all , can be modified to produce without causing overflow and underflow problems in

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 .

*Lena*,

*Baboon,*and

*Fruits*( RGB images). In all experiments; . In the case of spatial triplets, the payload size against PSNR of the watermarked images is depicted in Figure 4(a). The performance of the algorithm is lower with

*Baboon*than with

*Lena*or

*Fruits*. With

*Fruits*, the algorithm is able to embed 858 kb (3.27 bits/pixel) with an image quality (PSNR) of 28.52 dB or only 288 kb (1.10 bits/pixel) with reasonably high image quality of 37.94 dB. On the contrary, with

*Baboon*, the algorithm is able to embed 656 kb (2.5 bits/pixel) at 21.2 dB and 115 kb (0.44 bits/pixel) at 30.14 dB. In the case of spatial quads, the payload size against PSNR is plotted in Figure 4(b). In this case, the algorithm performs slightly better with

*Fruits*. In this case with

*Fruits*, the algorithm is able to embed 508 kb (1.94 bits/pixel) with image quality of 33.59 dB or alternatively 193 kb (0.74 bits/pixel) with high image quality of 43.58 dB. Again with

*Baboon,*a payload of 482 kb (1.84 bits/pixel) at 24.73 dB and of only 87 kb (0.33 bits/pixel) at 36.6 dB are achieved. In general, the quality of the watermarked images, using spatial quads, is better than the quality obtained with spatial triplets algorithm (the sharpening effects is less noticeable). The payload size versus PSNR for cross-color triplets and cross-color quads are shown in Figures 4(c) and 4(d), respectively. For a given PSNR, the spatial vector technique is better than the cross-color vector method. The comparison between these results demonstrates that the cross-color algorithms (triplets and quads) have almost the same performance with all images (except

*Lena*at PSNR greater than 30 dB). From the results above and from the comparison with Celik and Tian, the spatial quad-based technique, that provides high capacity and low distortion, would be the best solution for most applications.

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 [4] and the Thodi's one [3] 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 [10], 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 [10]. 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 [10], 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. [12], two spatial quad-based schemes starting from the difference expansion of Tian [4] 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 [9] 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.

*Lena*is represented.

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) |
---|---|---|

Lena | 48.2 | 5,460 |

Airplane | 48.3 | 16,171 |

Tiffany | 48.2 | 8,782 |

Jet | 48.7 | 59,979 |

Baboon | 48.2 | 5,421 |

Boat | 48.2 | 7,301 |

House | 48.3 | 14,310 |

Bacteria | 48.2 | 13,579 |

Blood | 48.2 | 79,460 |

### 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 [15]. 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. [16]. 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. [14]. 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. [17], 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 [18], 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.

for ,

for ,

## 3. Semi-Fragile and Robust Algorithms

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 [20], 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. [21], 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.

Category 1

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).

- (1)
The value is located between the range and .

- (2)
The absolute value of exceeds the threshold .

Category 2

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).

- (1)
The value is located between the range and .

- (2)
The value of is located on the right hand side beyond the threshold .

Category 3

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).

- (1)
The value is located between the range and .

- (2)
The value of is located on the left hand side beyond the threshold .

Category 4

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.

- (1)
The value is located between the range and .

- (2)
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 [20]. 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 [20]. 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.

*Lena*, a 8-bit gray-scale image and the performance results, are shown in Table 5. Zou algorithm's is also robust to JPEG2000 lossy compression.

Block size versus capacity (Lena ).

Block size | ECC scheme | Capacity | Min shift values | PSNR (dB) |
---|---|---|---|---|

5 | (15,11) | 1907 | 8 | 40.09 |

6 | (15,11) | 1293 | 6 | 41.87 |

7 | (15,11) | 950 | 4 | 44.81 |

8 | (15,11) | 750 | 4 | 44.36 |

9 | (15,11) | 574 | 4 | 44.18 |

10 | (15,11) | 458 | 2 | 49.86 |

11 | (15,11) | 387 | 2 | 49.62 |

12 | (15,11) | 323 | 2 | 49.46 |

*Lena*,

*Baboon*,

*Barbara*,

*Peppers,*and so forth, are used. All images have a size of bits. In Table 6, PSNRs of six marked images are shown. The experimental results show that the embedding distortion is small and a good visual quality of the watermarked image is guaranteed. The proposed technique can also resist JPEG lossy compression at a low quality factor.

PSNR values for some test images.

Test image | PSNR of marked image (dB) | Test image | PSNR of marked image (dB) |
---|---|---|---|

Lena | 43.42 | Peppers | 43.46 |

Baboon | 44.48 | Barbara | 43.45 |

Boat | 43.47 | Pentagon | 43.46 |

### 3.2. Robust Algorithms

#### 3.2.1. Spatial Domain

The algorithm presented in [24] 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.

(i)

(ii) .

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.

*ceil*functions. Due to this property, LSBs are used for carrying the watermark. For sake of correctness, it can be said that ceiling operation is robust to the loss induced by watermarking only if both and are not both odd numbers and this happens only if and are odd numbers too. So odd couples would not be allowed for marking. To overtake that, only a selected set of odd couples (such that the respective transformed values are not equal to or ) is taken; so the domain is restricted to . After the image is partitioned into pairs, embedding proceeds as follows.

- (1)
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.

- (2)
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.

- (3)
If , (47) is not applied and the LSB of is set to 0 and the true LSB of is saved in the payload.

- (1)
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,

- (2)
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

- (3)
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 [27], 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 [28], 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.

## 4. Conclusions

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.

## Declarations

### Acknowledgment

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.

## Authors’ Affiliations

## References

- 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

## Copyright

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.