Open Access

Reversible Watermarking Techniques: An Overview and a Classification

EURASIP Journal on Information Security20102010:134546

DOI: 10.1155/2010/134546

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.

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.

Reversible algorithms can be subdivided into two main categories, as evidenced in Figure 1: 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.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig1_HTML.jpg
Figure 1

Categorization of reversible watermarking techniques.

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

One of the most important works in such a field has been presented by Tian [4, 5]. It presents a high-capacity, high visual quality, and reversible data embedding method for grayscale digital images. This method calculates the difference of neighboring pixel values and then selects some of such differences to perform a difference expansion (DE). In such different values, a payload https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq1_HTML.gif made by the following parts will be embedded:
  1. (i)

    a JBIG compressed location map,

     
  2. (ii)

    the original LSB values, and

     
  3. (iii)

    the net authentication payload which contains an image hash.

     

To embed the payload, the procedure starts to define two amounts, the average https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq2_HTML.gif and the difference https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq3_HTML.gif (see (1)).

Given a pair of pixel values https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq4_HTML.gif in a grayscale image, with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq5_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq6_HTML.gif ,
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ1_HTML.gif
(1)
and given https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq7_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq8_HTML.gif , the inverse transform can be respectively computed according to(2)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ2_HTML.gif
(2)

The method defines different kinds of pixel couples according to the characteristics of the corresponding https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq9_HTML.gif 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.

For a grayscale-valued pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq10_HTML.gif a difference number https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq11_HTML.gif is changeable if
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ3_HTML.gif
(3)

Definition 2.

For a grayscale-valued pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq12_HTML.gif a difference number https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq13_HTML.gif is expandable if
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ4_HTML.gif
(4)

This is imposed to prevent overflow/underflow problems for the watermarked pixels https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq14_HTML.gif .

To embed a bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq15_HTML.gif of the payload, it is necessary to modify the amount https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq16_HTML.gif obtaining https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq17_HTML.gif which is called DE (Difference Expansion) according to (5) for expandable differences
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ5_HTML.gif
(5)
and (6) for changeable ones
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ6_HTML.gif
(6)

by replacing https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq18_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq19_HTML.gif within (2), the watermarked pixel values https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq20_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq21_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq22_HTML.gif . 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: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq23_HTML.gif for changeable https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq24_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq25_HTML.gif for not changeable https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq26_HTML.gif . By taking all LSBs of differences belonging to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq27_HTML.gif set, a bit stream https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq28_HTML.gif is created. Firstly, the location map is recovered and used together with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq29_HTML.gif to restore the original https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq30_HTML.gif values; secondly, by using (2) the original image is obtained, lastly, the embedded payload (the remaining part of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq31_HTML.gif ) is used for authentication check by resorting to the embedded hash.

Tian applies the algorithm to "Lena" ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq32_HTML.gif ), 8 bpp grayscale image. The experimental results are shown in Table 1, where the embedded payload size, the corresponding bitrate, and PSNRs of the watermarked image are listed.
Table 1

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

The previous method has been taken and extended by Alattar in [6]. Instead of using difference expansion applied to pairs of pixels to embed one bit, in this case difference expansion is computed on spatial and cross-spectral triplets of pixels in order to increase hiding capacity; the algorithm embeds two bits in each triplet. With the term triplet a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq33_HTML.gif vector containing the pixel values of a colored image is intended; in particular, there are two kinds of triplets.
  1. (i)

    Spatial Triplet: three pixel values of the image chosen from the same color component within the image according to a predetermined order.

     
  2. (ii)

    Cross-spectral Triplet: three pixel values of the image chosen from different color components (RGB).

     
The forward transform for the triplet https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq34_HTML.gif is defined as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ7_HTML.gif
(7)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq35_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq36_HTML.gif are constant. For spatial triplets, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq37_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq38_HTML.gif , while in cross-spectral triplets, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq39_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq40_HTML.gif . On the other side, the inverse transform, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq41_HTML.gif , for the transformed triplets https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq42_HTML.gif is defined as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ8_HTML.gif
(8)
The value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq43_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq44_HTML.gif are considered for watermarking according to (9)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ9_HTML.gif
(9)

for all the expandable triplets, where expandable means that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq45_HTML.gif satisfies a limitation similarly to what has been proposed in the previous paper to avoid overflow/underflow. In case of only changeable triplets, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq46_HTML.gif ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq47_HTML.gif changes correspondingly), but the same bound for the sum of these two amounts has to be verified again.

According to the above definition, the algorithm classifies the triplets in the following groups.
  1. (1)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq48_HTML.gif : contains all expandable triplets whose https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq49_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq50_HTML.gif ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq51_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq52_HTML.gif predefined threshold).

     
  2. (2)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq53_HTML.gif : contains all changeable triplets that are not in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq54_HTML.gif .

     
  3. (3)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq55_HTML.gif : contains the not changeable triplets.

     
  4. (4)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq56_HTML.gif contains all changeable triplets

     
In the embedding process, the triplets are transformed using (7) and then divided into https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq57_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq58_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq59_HTML.gif . https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq60_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq61_HTML.gif are transformed in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq62_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq63_HTML.gif (watermarked) and the pixel values of the original image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq64_HTML.gif are replaced with the corresponding watermarked triplets in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq65_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq66_HTML.gif to produce the watermarked image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq67_HTML.gif . The algorithm uses a binary JBIG compressed location map https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq68_HTML.gif , to identify the location of the triplets in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq69_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq70_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq71_HTML.gif which becomes part of the payload together with the LSB of changeable triplets. In the reading and restoring process, the system simply follows the inverse steps of the encoding phase. Alattar tested the algorithm with three https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq72_HTML.gif  RGB images, 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq73_HTML.gif 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.
Table 2

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

Table 3

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.

Alattar proposed in [7] an extension of such a technique, to hide triplets of bits in the difference expansion of quads of adjacent pixels. With the term quads a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq74_HTML.gif vector containing the pixel values ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq75_HTML.gif adjacent pixel values) from different locations within the same color component of the image is intended (see Figure 2).
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig2_HTML.jpg
Figure 2

Quads configuration in an image.

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig3_HTML.jpg
Figure 3

Vector configuration in an image.

The difference expansion transform, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq76_HTML.gif , for the quad https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq77_HTML.gif is defined as in (10)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ10_HTML.gif
(10)
The inverse difference expansion transform, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq78_HTML.gif , for the transformed quad https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq79_HTML.gif is correspondingly defined as in (11)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ11_HTML.gif
(11)
Similarly to the approach previously adopted, quads are categorized in expandable or changeable and differently treated during watermarking; then they are grouped as follows.
  1. (1)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq80_HTML.gif : contains all expandable quads whose https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq81_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq82_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq83_HTML.gif with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq84_HTML.gif transformed values and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq85_HTML.gif predefined threshold.

     
  2. (2)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq86_HTML.gif : contains all changeable quads that are not in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq87_HTML.gif .

     
  3. (3)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq88_HTML.gif : contains the rest of quads (not changeable).

     
  4. (4)

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq89_HTML.gif : contains all changeable quads ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq90_HTML.gif ).

     

In the embedding process the quads are transformed by using (10) and then divided into the sets https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq91_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq92_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq93_HTML.gif . https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq94_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq95_HTML.gif are modified in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq96_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq97_HTML.gif (the watermarked versions) and the pixel values of the original image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq98_HTML.gif are replaced with the corresponding watermarked quads in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq99_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq100_HTML.gif to produce the watermarked image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq101_HTML.gif . Watermark extraction and restoring process proceeds inversely as usual.

In the presented experimental results, the algorithm is applied to each color component of three https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq102_HTML.gif  RGB images, Baboon, Lena, and Fruits setting https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq103_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq104_HTML.gif  dB, but with only 321 kbits image quality increases at https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq105_HTML.gif  dB. It is interesting to verify that with Baboon the algorithm is able to embed 802 kbits or 148 kbits achieving a PSNR of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq106_HTML.gif  dB and of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq107_HTML.gif  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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq108_HTML.gif  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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq109_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq110_HTML.gif is the number of pixel values chosen from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq111_HTML.gif different locations within the same color component, taken, according to a secret key, from a pixel set of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq112_HTML.gif size.

In this case, the forward difference expansion transform, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq113_HTML.gif , for the vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq114_HTML.gif is defined as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ12_HTML.gif
(12)

where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq115_HTML.gif is a constant integer, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq116_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq117_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq118_HTML.gif , ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq119_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq120_HTML.gif are the image width and height, resp.)

The inverse difference expansion transform, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq121_HTML.gif , for the transformed vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq122_HTML.gif , is defined as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ13_HTML.gif
(13)
Similarly to what was done before, the vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq123_HTML.gif can be defined expandable if, for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq124_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq125_HTML.gif can be modified to produce https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq126_HTML.gif without causing overflow and underflow problems in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq127_HTML.gif
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ14_HTML.gif
(14)
To prevent overflow and underflow, the following conditions have to be respected.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ15_HTML.gif
(15)

On the contrary, the vector https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq128_HTML.gif can be defined changeable if, (14) holds when the expression https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq129_HTML.gif is substituted by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq130_HTML.gif .

Given https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq131_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq132_HTML.gif that represents any of the set of vectors in the RGB color components, such vectors can be classified in the following groups

(1) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq133_HTML.gif : contains all expandable vectors whose
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ16_HTML.gif
(16)

with: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq134_HTML.gif transformed values; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq135_HTML.gif predefined threshold.

(2) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq136_HTML.gif : contains all changeable vectors that are not in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq137_HTML.gif .

(3) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq138_HTML.gif : contains the rest of the vectors (not changeable).

(4) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq139_HTML.gif contains all changeable vectors.

In the embedding process the vectors are forward transformed and then divided into the groups https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq140_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq141_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq142_HTML.gif . https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq143_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq144_HTML.gif are modified in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq145_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq146_HTML.gif (watermarked) and the pixel values of the original image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq147_HTML.gif are replaced with the corresponding watermarked vectors in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq148_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq149_HTML.gif to produce the watermarked image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq150_HTML.gif . Reading and restoring phase simply inverts the process. The algorithm uses a location map https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq151_HTML.gif to identify https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq152_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq153_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq154_HTML.gif .

The maximum capacity of this algorithm is 1 bit/pixel but it can be applied recursively to increase the hiding capacity. The algorithm is tested with spatial triplets, spatial quads, cross-color triplets, and quads. The images used are Lena, Baboon, and Fruits ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq155_HTML.gif  RGB images). In all experiments; https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq156_HTML.gif . 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.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig4_HTML.jpg
Figure 4

(a) Spatial Triplets, (b) Spatial Quads, (c) Cross-col Triplets and (d) Cross-col Quads.

Weng et al. [9] proposed high-capacity reversible data hiding scheme, to solve the problem of consuming almost all the available capacity in the embedding process noticed in various watermarking techniques. Each pixel https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq157_HTML.gif is predicted by its right neighboring pixel ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq158_HTML.gif ) and its prediction-error https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq159_HTML.gif is determined (see Figure 5).
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig5_HTML.jpg
Figure 5

Embedding process.

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq160_HTML.gif is then companded to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq161_HTML.gif by applying the quantized compression function https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq162_HTML.gif according to the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ17_HTML.gif
(17)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq163_HTML.gif is a predefined threshold; the inverse expanding function is described in the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ18_HTML.gif
(18)

The so-called companding error is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq164_HTML.gif which is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq165_HTML.gif if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq166_HTML.gif .

Embedding is performed according to (19) ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq167_HTML.gif is the watermarked pixel and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq168_HTML.gif is the watermark), on the basis of a classification into two categories: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq169_HTML.gif if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq170_HTML.gif does not cause any over/underflow, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq171_HTML.gif otherwise.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ19_HTML.gif
(19)
Pixel belonging to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq172_HTML.gif which will be considered for watermarking, are further divided into two subsets https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq173_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq174_HTML.gif in dependence if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq175_HTML.gif or not respectively. The information to be embedded are: a lossless compressed location map, containing 1 for all pixels in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq176_HTML.gif and 0 for all pixels in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq177_HTML.gif , whose length is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq178_HTML.gif , the bitstream https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq179_HTML.gif containing the companding error https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq180_HTML.gif for each pixel in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq181_HTML.gif and the watermark https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq182_HTML.gif . The maximum payload is given by the cardinality of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq183_HTML.gif reduced by number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq184_HTML.gif and by the length of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq185_HTML.gif . The extraction process follows reversely the same steps applied in embedding. All LSBs are collected and then the string of the location map which was identified by an EOS is recovered and decompressed, after that the classification is obtained again. Restoring is firstly performed through prediction by using the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ20_HTML.gif
(20)

where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq186_HTML.gif , the predicted value, is equal to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq187_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq188_HTML.gif  bpp and grants https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq189_HTML.gif  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.

Let us see how the integer transform is structured. Given a gray-level ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq190_HTML.gif ) image and let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq191_HTML.gif be a pair of pixels and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq192_HTML.gif be a fixed integer, the forward transform https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq193_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq194_HTML.gif is given in the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ21_HTML.gif
(21)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq195_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq196_HTML.gif belong to a subdomain contained within https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq197_HTML.gif to avoid under/overflow for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq198_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq199_HTML.gif . The inverse transform https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq200_HTML.gif is instead given in the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ22_HTML.gif
(22)
which is basically based on the fact that the relations in (23) (called congruence) hold
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ23_HTML.gif
(23)
If a further modification is applied (i.e., watermarking) through an additive insertion of a value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq201_HTML.gif , like in (24), (23) are not anymore satisfied by the new couple of pixels.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ24_HTML.gif
(24)
In addition, it is important to point out that a nontransformed pair does not necessarily fulfill (23), but it can be demonstrated that it always exists an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq202_HTML.gif to adjust the pair in order to fulfill (23). On this basis, before the watermarking phase, all the couples are modified to satisfy (23) and then the watermark codewords (let us suppose that they are integers in the range https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq203_HTML.gif ) are embedded into the transformed pixel couples by means of (24). For the watermarked pairs, (23) no longer holds so they are easily detectable. Another constraint must be imposed to prevent pixel overflow
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ25_HTML.gif
(25)

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.

During detection, the same pairs of pixels are identified and then, by checking (23) if the result is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq204_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq205_HTML.gif not-transformed and transformed (bringing the watermark) couples are respectively individuated. The watermark is recovered and split in correction data and payload; if the embedded information is valid, both kinds of pairs are inverted to recover the original image. Given https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq206_HTML.gif the number of pixel pairs, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq207_HTML.gif is the transformed ones and being https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq208_HTML.gif the range for the inserted codeword, the hiding capacity is basically equal to
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ26_HTML.gif
(26)

In the proposed scheme, the bitrate depends on the number of transformed pixel pairs and on the parameter https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq209_HTML.gif . The experimental results for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq210_HTML.gif show that, a single pass of the proposed algorithm for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq211_HTML.gif gives a bit-rate of 0.5 bpp at a PSNR of 29.96 dB. In the case of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq212_HTML.gif the bit-rate is almost https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq213_HTML.gif  bpp with a PSNR of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq214_HTML.gif  dB. By increasing https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq215_HTML.gif , the bit-rate becomes greater than 1 bpp obtaining a maximum bit-rate for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq216_HTML.gif , namely 1.42 bpp at a PSNR of 19.95 dB. As https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq217_HTML.gif increases, the number of transformed pairs decreases. However, for highlytextured images like Baboon performances are sensibly lower.

In [11], Coltuc improves the algorithm previously presented [10]. A different transform is presented: instead of embedding a single watermark codeword into a pair of transformed pixels, now the algorithm embeds a codeword into a single transformed pixel. Equation (27) defines the direct transform.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ27_HTML.gif
(27)
while the inverse transform is given by the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ28_HTML.gif
(28)
This time the congruence relation is given by by the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ29_HTML.gif
(29)
Then the technique proceeds similarly to the previous method by distinguishing in transformed and not-transformed pixels. The hiding capacity is now
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ30_HTML.gif
(30)

where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq218_HTML.gif is the number of transformed pixels and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq219_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq220_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq221_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq222_HTML.gif ). By increasing https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq223_HTML.gif , the bit-rate increases: for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq224_HTML.gif one gets 1.77 bpp, for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq225_HTML.gif the bit-rate is 1.97 bpp, for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq226_HTML.gif the bit-rate is 2,08 bpp and so on, up to the maximum value of 2.19 bpp obtained for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq227_HTML.gif . 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.

Let ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq228_HTML.gif ) be a pixel pair, the Integer Haar wavelet transform is applied as follows
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ31_HTML.gif
(31)
and a message bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq229_HTML.gif is hidden by changing https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq230_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq231_HTML.gif . The inverse transform is
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ32_HTML.gif
(32)
and then https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq232_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq233_HTML.gif are restorable by using the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ33_HTML.gif
(33)
In the proposed scheme, the host image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq234_HTML.gif is firstly partitioned into https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq235_HTML.gif https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq236_HTML.gif blocks (spatial quad-based expansions, see Figure 6).
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig6_HTML.jpg
Figure 6

The partitioned image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq237_HTML.gif and a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq238_HTML.gif block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq239_HTML.gif .

To establish if a block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq240_HTML.gif is watermarkable, the measure function, presented in (34) which assumes boolean values, is considered.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ34_HTML.gif
(34)

where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq241_HTML.gif is a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq242_HTML.gif block, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq243_HTML.gif is a predefined threshold, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq244_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq245_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq246_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq247_HTML.gif are pixel values in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq248_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq249_HTML.gif is the "AND" operator. If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq250_HTML.gif is true, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq251_HTML.gif is chosen for watermarking, otherwise https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq252_HTML.gif is discarded. Two watermarking approaches are proposed. In the first one, row-wise watermarking is applied to those blocks satisfying the relation https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq253_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq254_HTML.gif 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.

Weng et al. presented in [13] a reversible data hiding scheme based on integer transform and on the correlation among four pixels in a quad. Data embedding is performed by expanding the differences between one pixel and each of its three neighboring pixels. Companding technique is adopted too. Given a grayscale image https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq255_HTML.gif , each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq256_HTML.gif adjacent pixels are grouped into nonoverlapping quads https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq257_HTML.gif
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ35_HTML.gif
(35)
The forward integer transform https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq258_HTML.gif is defined as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ36_HTML.gif
(36)
while the inverse integer transform https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq259_HTML.gif is given by
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ37_HTML.gif
(37)

The watermarking process starts with the transformation https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq260_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq261_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq262_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq263_HTML.gif , according to specified characteristics. Quads belonging to the first two categories are watermarked, the others are left unmodified; finally https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq264_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq265_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq266_HTML.gif .

The algorithm is tested and compared with Tian's and Alattar's method on several images including https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq267_HTML.gif 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.

In [14], Ni et al. proposed a reversible data hiding algorithm which can embed about 5–80 kb of data for a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq268_HTML.gif grayscale image with PSNR higher than 48 dB. The algorithm is based on the histogram modification, in the spatial domain, of the original image. In Figure 7(a), the histogram of Lena is represented.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig7_HTML.jpg
Figure 7

(a) Histogram of Lena image, (b) Histogram of watermarked Lena image.

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) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq269_HTML.gif (255) represents the zero point and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq270_HTML.gif (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.

Let be https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq271_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq272_HTML.gif , with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq273_HTML.gif , the peak point and the zero point (or minimum point), respectively, of the marked image. the algorithm scan in sequential order (the order used in embedding phase) the marked image. When a pixel with its grayscale value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq274_HTML.gif , is encountered, a bit "1" is extracted. If a pixel with its value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq275_HTML.gif is encountered, a bit "0" is extracted. The algorithm described above is applied in the simple case of one pair of minimum point and maximum point. An extension of the proposed method considers the case of multiple pairs of maximum and minimum points. The multiple pair case can be treated as the multiple repetition of the technique for one pair case. The lower bound of the PSNR of the marked image generated by the proposed algorithm can be larger than 48 dB. This value derives from the following equation.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ38_HTML.gif
(38)
In embedding process the value of pixel (between the minimum and maximum point) is added or subtracted by 1. In the worst case, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq276_HTML.gif . Another advantage of the algorithm is the low computational complexity. Also the experimental results demonstrate that the overall performance of the proposed technique is good and better than many other reversible data hiding algorithm. In Table 4, results, in terms of PSNR and payload, of an experiment with some different images are shown.
Table 4

Experimental results for some different images.

Images ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq277_HTML.gif )

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq278_HTML.gif satisfying https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq279_HTML.gif as follows.

(1) Change https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq280_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq281_HTML.gif as embedding bit 1.

(2) Change https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq282_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq283_HTML.gif as embedding bit 0.

(1) Extract bit 1 from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq284_HTML.gif and modify them to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq285_HTML.gif .

(2)Extract bit 0 from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq286_HTML.gif and modify them to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq287_HTML.gif .

(1) In embedding, each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq288_HTML.gif are changed to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq289_HTML.gif when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq290_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq291_HTML.gif or changed to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq292_HTML.gif when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq293_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq294_HTML.gif .

(2) In extracting, each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq295_HTML.gif are changed to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq296_HTML.gif when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq297_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq298_HTML.gif or changed to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq299_HTML.gif when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq300_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq301_HTML.gif .

ZRX: extract one bit from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq302_HTML.gif when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq303_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq304_HTML.gif as follows.

CA: proposed to avoid embedding or extracting error.

To perform embedding, the image is partitioned in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq305_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq306_HTML.gif where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq307_HTML.gif ) 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq308_HTML.gif a payload of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq309_HTML.gif  bits can be embedded and at the same time a PSNR of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq310_HTML.gif  dB can be granted; similar values are provided for Cameraman (payload of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq311_HTML.gif  bits and PSNR of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq312_HTML.gif  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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq313_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq314_HTML.gif blocks with size https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq315_HTML.gif and computing the integer DCT. Within each transformed block, the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq316_HTML.gif coefficients in position https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq317_HTML.gif ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq318_HTML.gif are selected to form https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq319_HTML.gif coefficient groups https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq320_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq321_HTML.gif to select https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq322_HTML.gif ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq323_HTML.gif ) coefficient groups for watermarking. For each histogram of the total https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq324_HTML.gif coefficient groups, the positions of the original peak point https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq325_HTML.gif and zero point https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq326_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq327_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq328_HTML.gif  bits of payload are achievable with a PSNR of almost https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq329_HTML.gif  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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq330_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq331_HTML.gif is obtained. https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq332_HTML.gif could be out of range https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq333_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq334_HTML.gif (the modified https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq335_HTML.gif ) to achieve, finally, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq336_HTML.gif . 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq337_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq338_HTML.gif  bpp with a correspondent PSNR of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq339_HTML.gif  dB is achieved for Lena https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq340_HTML.gif . The same capacity is obtained for Baboon https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq341_HTML.gif but with a PSNR of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq342_HTML.gif  dB.

Lee et al. [19] proposed a reversible watermarking scheme with high embedding capacity. The input image is divided into non-overlapping blocks, and the watermark is embedded into the high-frequency wavelet coefficients of each block. To guarantee the reversibility, invertible integer to integer wavelet transforms are used, by applying the Lazy wavelet and the lifting construction (finite length filter), to avoid loss of information through forward and inverse transform. The watermark is embedded into the wavelet coefficients using two techniques, the LSB-substitution or the bit-shifting (specifically p-bit-shifting). In the first case, the watermark is embedded by replacing the LSB of the selected wavelet coefficient with the watermark bit.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ39_HTML.gif
(39)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq343_HTML.gif is the original coefficient, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq344_HTML.gif is the watermarked coefficient and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq345_HTML.gif is the watermark bit. In the second case, the original coefficient https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq346_HTML.gif is multiplied by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq347_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq348_HTML.gif is a positive integer, and the watermark bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq349_HTML.gif is embedded into its https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq350_HTML.gif LSBs
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ40_HTML.gif
(40)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq351_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq352_HTML.gif is a set of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq353_HTML.gif watermark bits. During this phase, an overflow or underflow problem, in the corresponding spatial domain, can occur. To achieve the reversibility, underflow and overflow must be predicted before watermark embedding identifying the LSB-changeable and bit-shiftable image blocks. As defined, an image block is said to be LSB-changeable when a watermark bitstream can be embedded into the LSBs of its high-frequency wavelet coefficients using the LSB-substitution without any underflow or overflow in the spatial domain, bit-shiftable or, specifically, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq354_HTML.gif -bit-shiftable, when a watermark bitstream can be embedded into its high-frequency wavelet coefficients using the bit-shifting without any underflow or overflow in the spatial domain. To understand how to avoid overflow and underflow Figure 8 is to be considered. It displays the scheme of forward and inverse wavelet transform and watermark embedding.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig8_HTML.jpg
Figure 8

Forward and inverse wavelet transform and watermark embedding.

First, an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq355_HTML.gif pixel block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq356_HTML.gif is transformed into a block of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq357_HTML.gif wavelet coefficients https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq358_HTML.gif using the integer-to-integer transform https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq359_HTML.gif . Next, a block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq360_HTML.gif is obtained by setting the LSBs of the chosen coefficients to zero or by applying bit-shifting to the chosen coefficients in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq361_HTML.gif . The modified pixel block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq362_HTML.gif is obtained by applying the 2-D inverse floating-point https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq363_HTML.gif wavelet transform to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq364_HTML.gif . By adding a watermark bit block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq365_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq366_HTML.gif , a block of watermarked wavelet coefficients https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq367_HTML.gif is obtained. Then, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq368_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq369_HTML.gif are obtained by applying https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq370_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq371_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq372_HTML.gif , respectively. The embedding error https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq373_HTML.gif is obtained by applying https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq374_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq375_HTML.gif . Using a floating-point wavelet transform, overflow and underflow, caused by watermarking in the wavelet domain, can be predicted exploiting the linearity of the transform. From Figure 8, it derives that,
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ41_HTML.gif
(41)
The underflow or overflow depend on the error https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq376_HTML.gif introduced by the embedded watermark https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq377_HTML.gif . In this case, two matrices https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq378_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq379_HTML.gif , whose elements represent limits of max positive and negative errors caused by the embedding process are shown in the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ42_HTML.gif
(42)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq380_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq381_HTML.gif is the matrix with only one nonzero element of value 1 in the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq382_HTML.gif th row and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq383_HTML.gif th column. Since https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq384_HTML.gif satisfy the inequality https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq385_HTML.gif , the overflow and underflow will not occur in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq386_HTML.gif for any watermark block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq387_HTML.gif if
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ43_HTML.gif
(43)

for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq388_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq389_HTML.gif

During embedding process, the watermarked image block obtained is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq390_HTML.gif . The integer to integer wavelet transforms introduce a roundoff error (caused by truncation). The roundoff error matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq391_HTML.gif can be defined, as represented by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq392_HTML.gif https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq393_HTML.gif , by two matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq394_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq395_HTML.gif . In case of integer to integer wavelet transform that approximates LeGalle 5/3 filter, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq396_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq397_HTML.gif are shown in the following.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ44_HTML.gif
(44)
Introducing such error, the watermarked image block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq398_HTML.gif is given now by
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ45_HTML.gif
(45)
An image block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq399_HTML.gif can be said LSB-changeable or bit-shiftable for any watermark block https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq400_HTML.gif if (46) is satisfied.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ46_HTML.gif
(46)

for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq401_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq402_HTML.gif

The proposed algorithm uses also a location map L (binary matrix) that indicates which blocks are watermarked. This matrix is a part of the side information used in decoding phase, and is embedded during the watermarking process. The decoding algorithm starts dividing the watermarked image into non-overlapping https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq403_HTML.gif blocks. The transformation applied to each block uses the same wavelet utilized in the embedding scheme. Next LSB-changeable blocks are searched. When the process identifies the LSB-changeable blocks, the location map is recovered (through the LSBs of the high frequency wavelet coefficients), the watermarked blocks are searched and the payload (original LSBs and message bits) extracted. From the original LSBs and the location map, the original image block can be reconstructed. The experimental results show that the proposed scheme has higher embedding capacity, compared with other existing reversible algorithm. Figure 9 shows the quality of watermarked images at various embedding capacities with block size of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq404_HTML.gif . The size of the block determines the performance of the proposed algorithm. If the block size is too small ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq405_HTML.gif ) or too large ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq406_HTML.gif ), the performance of the algorithm is degraded.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig9_HTML.jpg
Figure 9

Comparison of embedding capacity versus PSNR for some grayscale images.

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq407_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq408_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq409_HTML.gif st, the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq410_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq411_HTML.gif ) is very close to zero for most of the tiles. The main idea for bit embedding is that the difference value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq412_HTML.gif is related to a reference value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq413_HTML.gif (usually less than 5 according to numerous experiments) and a categorization of the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq414_HTML.gif value respect to the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq415_HTML.gif value is carried on. The categorization is defined even by means of the parameter https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq416_HTML.gif that is usually https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq417_HTML.gif . 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).

In this category, two other cases are further considered according to the value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq418_HTML.gif .
  1. (1)

    The value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq419_HTML.gif is located between the range https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq420_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq421_HTML.gif .

     
  2. (2)

    The absolute value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq422_HTML.gif exceeds the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq423_HTML.gif .

     

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

In this category, two other cases are further considered according to the value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq424_HTML.gif .
  1. (1)

    The value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq425_HTML.gif is located between the range https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq426_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq427_HTML.gif .

     
  2. (2)

    The value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq428_HTML.gif is located on the right hand side beyond the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq429_HTML.gif .

     

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

In this category, two other cases are further considered according to the value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq430_HTML.gif .
  1. (1)

    The value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq431_HTML.gif is located between the range https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq432_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq433_HTML.gif .

     
  2. (2)

    The value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq434_HTML.gif is located on the left hand side beyond the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq435_HTML.gif .

     

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.

In this category, two other cases are further considered according to the value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq436_HTML.gif .
  1. (1)

    The value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq437_HTML.gif is located between the range https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq438_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq439_HTML.gif .

     
  2. (2)

    The absolute value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq440_HTML.gif is beyond the threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq441_HTML.gif .

     

Depending on the categories and on the cases the couples of pixels are referrable to, the difference https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq442_HTML.gif can be increased or decreased by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq443_HTML.gif . The increment/decrement is always implemented as a modification of the value of the higher valued pixel of the pair. In some cases, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq444_HTML.gif 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 ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq445_HTML.gif ). 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

Zou et al. [22] proposed a semi-fragile lossless watermarking scheme based on the 5/3 (LeGalle 5/3 filter) integer wavelet transform ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq446_HTML.gif ) integrated into JPEG2000 standard compression. The watermarking scheme embeds data into the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq447_HTML.gif coefficients of a selected high-frequency sub-band ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq448_HTML.gif ). The proposed algorithm exploits a feature of the image wavelet transform: the coefficients of the high-frequency sub-band follow a zero-mean Laplacian-like distribution (see Figure 10).
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig10_HTML.jpg
Figure 10

Histogram of the IWT coefficients in the HL sub-band of JPEG2000.

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, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq449_HTML.gif . A threshold https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq450_HTML.gif is set to the smallest integer number greater than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq451_HTML.gif . The embedding phase, manipulates the mean value of the block. Considering a block, to embed a bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq452_HTML.gif , the mean value of the block is shifted by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq453_HTML.gif (positive or negative, resp.). https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq454_HTML.gif is equal or larger than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq455_HTML.gif . To embed a bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq456_HTML.gif , the mean value of the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq457_HTML.gif coefficients in the considered block is unchanged. In the extraction process, when a mean value of the block with absolute value larger than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq458_HTML.gif is found, a bit = 1 is recovered. If such mean value is smaller than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq459_HTML.gif a bit = 0 is recovered.

Since S is fixed for all blocks, the original coefficients can be recovered to reconstruct the original image. The reconstructed value is obtained by subtracting https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq460_HTML.gif from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq461_HTML.gif coefficients in the block where bit = 1 is embedded. In this case, the reversibility of the embedding process is guaranteed. To prevent overflow and underflow, caused for example by a conversion of the watermarked image from JPEG2000 format to other, the authors present a block classification method to identify which blocks can be modified during embedding process. This classification divides the blocks into four categories (see Figure 11). Each category is represented by an histogram of the corresponding pixel values of the blocks in the spatial domain. Assuming that the maximum absolute pixel grayscale value (0–255) change is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq462_HTML.gif , the underflow condition occurs when there are pixels with grayscale values less than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq463_HTML.gif and the values need to be decreased in the embedding process. The overflow condition, instead, occurs when there are pixels with grayscale values greater than (255- https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq464_HTML.gif ) and the values need to be increased. The worst case is described in Figure 11(d); in this kind of block is not possible to embed data (not-embeddable block). If during embedding phase a bit 1 is embedded, in detection process the system can extract this value without problems. Problems occur when during detection process a bit 0 is detected. In this case, the decoder is not able to decide if a bit 0 has been embedded or the considered block is not embeddable. To solve the problem and correct the errors, an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq465_HTML.gif (Error Correction Code) technique is used. The experimental results show that the proposed method works well. No salt-and-pepper noise exist and the visual quality of the watermarked images is much higher compared with the method of De Vleeschouwer [20]. The PSNR of the proposed method are all over 38 dB. Zou applies the algorithm to Lena, a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq466_HTML.gif 8-bit gray-scale image and the performance results, are shown in Table 5. Zou algorithm's is also robust to JPEG2000 lossy compression.
Table 5

Block size versus capacity (Lena https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq467_HTML.gif ).

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

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig11_HTML.jpg
Figure 11

Blocks classification. (a) Type A. (b) Type B. (c) Type C. (d) Type D.

Wu [23] proposed a reversible semi-fragile watermarking scheme for image authentication. This algorithm embeds a watermark into https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq468_HTML.gif sub-band of the integer wavelet domain, can restore the original image and can also locate the tamper region. To embed data, the proposed scheme uses histogram shifting of integer wavelet coefficients which grants higher visual quality of the watermarked image compared with other algorithms reported in the literature. The method can also tolerate JPEG compression at low quality factor. To reconstruct the original image, the algorithm implements a four-level integer wavelet transform, CDF 9/7, a bi-orthogonal wavelet based on lifting scheme. The original image can be obtained if the marked image has not been altered. As seen in Zou [22], for most of the images, the integer wavelet coefficients histogram, of the high-frequency sub-band, follow a near zero-mean Laplacian-like distribution. https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq469_HTML.gif coefficients values in the high-frequency sub-band are concentrated near zero in the histogram. This property is used to implement reversible data hiding. Before to start with embedding process, the image is pre-processed by histogram modification, to prevent underflow or overflow. Then four-level IWT is performed on the pre-processed image. The watermark is embedded in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq470_HTML.gif sub-band by inserting a five-bit code (one identifying "0" and one "1") by substituting the 5 LSBs of selected wavelet coefficients. Information needed to reconstruct the original image, are instead embedded reversibly by histogram shifting in high-frequency sub-bands of the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq471_HTML.gif domain. Finally, inverse https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq472_HTML.gif is applied to obtain the marked image. During detection and recovery step, the four-level https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq473_HTML.gif on the image is performed. From https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq474_HTML.gif sub-band the hidden watermark is extracted and authenticity is verified by comparing the extracted watermark with the original known one. Due to the spatial correlation granted by wavelet transform, possible alterations are individuated by means of this comparison. If the image is authentic, the original image is then recovered from the marked one. To evaluate the performance of the proposed algorithm, some common images, Lena, Baboon, Barbara, Peppers, and so forth, are used. All images have a size of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq475_HTML.gif  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.
Table 6

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, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq476_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq477_HTML.gif , and in order to insert a message bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq478_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq479_HTML.gif , the following relations are required.

(i) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq480_HTML.gif

(ii) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq481_HTML.gif .

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq482_HTML.gif  bits for a 256-gray level image) but, on the contrary, perceptual quality is preserved (PSNR https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq483_HTML.gif  dB for usual test images). The algorithm presents a high robustness to different kinds of attacks such as flipping, rotation ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq484_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq485_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq486_HTML.gif ), up-sizing, increasing aspect ratio, cropping ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq487_HTML.gif ), drawing and so on; resistance is reduced if the parameter (step) is not over https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq488_HTML.gif . JPEG compression, low pass filtering and noise addition are not tolerated by this technique.

In Coltuc and Chassery [25], a technique based on Reversible Contrast Mapping (RCM) which is a simple integer transform applied to couples of pixels is presented. RCM is invertible even if the LSBs of the transformed pixels are lost. Being the image gray-level https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq489_HTML.gif , the forward RCM transform for the pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq490_HTML.gif is given in
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ47_HTML.gif
(47)
where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq491_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq492_HTML.gif are limited to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq493_HTML.gif to avoid overflow and underflow and consequently https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq494_HTML.gif must belong to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq495_HTML.gif . The inverse RCM transform is defined as in(48)
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ48_HTML.gif
(48)
It can be proved that (48) exactly inverts (47) also if the LSBs of the transformed pixels are lost; furthermore, if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq496_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq497_HTML.gif are not changed that holds also without using the 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq498_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq499_HTML.gif are not both odd numbers and this happens only if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq500_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq501_HTML.gif are odd numbers too. So odd couples would not be allowed for marking. To overtake that, only a selected set of odd couples https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq502_HTML.gif (such that the respective transformed values are not equal to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq503_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq504_HTML.gif ) is taken; so the domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq505_HTML.gif is restricted to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq506_HTML.gif . After the image is partitioned into pairs, embedding proceeds as follows.
  1. (1)

    If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq507_HTML.gif and it is not composed by odd pixel values, (47) is applied and the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq508_HTML.gif is set to 1 (to indicate a transformed pair) and the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq509_HTML.gif is available for watermark bit insertion.

     
  2. (2)

    If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq510_HTML.gif and it is composed by odd pixel values, (47) is not applied and the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq511_HTML.gif is set to 0 (to indicate an odd pair) and the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq512_HTML.gif is available for watermark bit insertion.

     
  3. (3)

    If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq513_HTML.gif , (47) is not applied and the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq514_HTML.gif is set to 0 and the true LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq515_HTML.gif is saved in the payload.

     
The watermark is composed by the payload and the bits saved in the step 3. During detection, the image is partitioned again into pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq516_HTML.gif and,
  1. (1)

    if the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq517_HTML.gif is 1 then the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq518_HTML.gif is a watermark bit; after setting the LSBs of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq519_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq520_HTML.gif to 0 the original pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq521_HTML.gif is recovered by inverse RCM transform,

     
  2. (2)

    if the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq522_HTML.gif is 0 and the pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq523_HTML.gif with the LSBs set to 1 (odd) belongs to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq524_HTML.gif , then the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq525_HTML.gif is a watermark bit; after setting the LSBs of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq526_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq527_HTML.gif to 1 the original pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq528_HTML.gif is simply recovered, and

     
  3. (3)

    if the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq529_HTML.gif is 0 and the pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq530_HTML.gif with the LSBs set to 1 does not belong to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq531_HTML.gif , there is not a watermark bit; after replacing the LSB of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq532_HTML.gif with the true LSB taken from the watermark sequence, the original pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq533_HTML.gif is reconstructed.

     
It is important to highlight that the embedding of the true LSB of a nontransformed pair will happen in a spatially close couple thus granting a slight robustness in case of cropping, though experimental results on that are not reported within the paper. Being https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq534_HTML.gif the global number of couples and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq535_HTML.gif the number of pairs carrying information, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq536_HTML.gif will be the additional payload to attach to the watermark, so the bit-rate https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq537_HTML.gif provided by the algorithm will be
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ49_HTML.gif
(49)

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.

In Coatrieux et al. [26], robustness is achieved by mixing two different approaches: one based on a reversible technique and one based on a robust watermarking method, such an approach is summarized with regard to the embedding phase in Figure 12. This technique is basically devoted to deal with MR (Magnetic Resonance) images in which is quite simple to separate ROI (Region Of Interest) like the head or any anatomical object, by the RONI (Region Of Non Interest) which is the black background area behind the object. The capacity to make such a distinction is fundamental to allow the system to work, and it is very important to grant that the watermarking process does not affect this segmentation in the detection phase. According to what is pictured in Figure 12, there are two protection levels. The first one provides robustness to the watermark extraction, for instance against JPEG compression, by watermarking with a lossy robust method the RONI; the inserted code is composed by an authenticity code and a digital signature derived from the ROI.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Fig12_HTML.jpg
Figure 12

Embedding phase.

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq538_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq539_HTML.gif the input signal and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq540_HTML.gif its quantization levels, message bit embedding is achieved by resorting to a couple of functions https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq541_HTML.gif . The function https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq542_HTML.gif , according to the message bits https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq543_HTML.gif performs as it follows.

(i) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq544_HTML.gif = The biggest quantization level greater than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq545_HTML.gif

(ii) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq546_HTML.gif = The least quantization level smaller than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq547_HTML.gif ,

while function https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq548_HTML.gif works as
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_Equ50_HTML.gif
(50)

The parameter https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq549_HTML.gif has to be major or equal to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq550_HTML.gif to grant that the values obtained when embedding a bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq551_HTML.gif fall in a range disjoint with respect to that for embedding a bit https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq552_HTML.gif . In addition to that, the higher the value of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq553_HTML.gif the stronger the image distortion; usually https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq554_HTML.gif is set to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq555_HTML.gif . According to the definition of functions https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq556_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq557_HTML.gif , it yields that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq558_HTML.gif where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq559_HTML.gif is the watermarked signal; so for extracting the message bit the quantization level closer to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq560_HTML.gif is chosen. By using https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq561_HTML.gif the watermarking process can be inverted and the original value https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq562_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq563_HTML.gif  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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq564_HTML.gif blocks of the image and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq565_HTML.gif 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 ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F134546/MediaObjects/13635_2009_Article_70_IEq566_HTML.gif ). 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

(1)
MICC, University of Florence

References

  1. 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
  2. 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
  3. 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
  4. 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
  5. Tian J: Reversible watermarking by differenceexpansion. Proceedings of Multimedia and Security Workshopat ACM Multimedia (ACMMM '02) 2002, 19-22.Google Scholar
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. Coltuc D, Chassery J-M: Very fast watermarking by reversible contrast mapping. IEEE Signal Processing Letters 2007, 14(4):255-258.View ArticleGoogle Scholar
  26. 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
  27. 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
  28. 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

© Roberto Caldelli et al. 2010

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.