Skip to main content

Reversible Watermarking Techniques: An Overview and a Classification

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.

Figure 1
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 [1–3], though they are not discussed in detail. The paper tries to categorize these techniques according to the classification pictured in Figure 1 and by adding an interesting distinction regarding the embedding domain they work on: spatial domain (pixel) or transformed domain (DFT, DWT, etc.).

The paper is structured as follows: in Section 2, fragile algorithms are introduced and subdivided into two subclasses on the basis of the adopted domain; in Section 3, techniques which provide features of semi-fragileness and/or robustness are presented and classified again according to the watermarking domain. Section 4 concludes the paper.

2. Fragile Algorithms

Fragile algorithms cover the majority of the published works in the field of reversible. With the term fragile a watermarking technique which embeds a code in an image that is not readable anymore if the content is altered. Consequently the original data are not recoverable too.

2.1. Spatial Domain

This subsection is dedicated to present some of the main works implementing fragile reversible watermarking by operating in the spatial domain.

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 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 and the difference (see (1)).

Given a pair of pixel values in a grayscale image, with , ,

(1)

and given and , the inverse transform can be respectively computed according to(2)

(2)

The method defines different kinds of pixel couples according to the characteristics of the corresponding and behaves slightly different for each of them during embedding. Two are the main categories: changeable and expandable differences, let us see below for their definitions, respectively.

Definition 1.

For a grayscale-valued pair a difference number is changeable if

(3)

Definition 2.

For a grayscale-valued pair a difference number is expandable if

(4)

This is imposed to prevent overflow/underflow problems for the watermarked pixels .

To embed a bit of the payload, it is necessary to modify the amount obtaining which is called DE (Difference Expansion) according to (5) for expandable differences

(5)

and (6) for changeable ones

(6)

by replacing with within (2), the watermarked pixel values and are got. The basic feature which distinguishes expandable differences from changeable ones is that the first ones can carry a bit without asking for saving the original LSB. That yields to a reduced total payload . A location map takes into account of the diverse disjoint categories of differences.

To extract the embedded data and recover the original values, the decoder uses the same pattern adopted during embedding and applies (1) to each pair. Then two sets of differences are created: for changeable and for not changeable . By taking all LSBs of differences belonging to set, a bit stream is created. Firstly, the location map is recovered and used together with to restore the original values; secondly, by using (2) the original image is obtained, lastly, the embedded payload (the remaining part of ) is used for authentication check by resorting to the embedded hash.

Tian applies the algorithm to "Lena" (), 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.

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 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 is defined as

(7)

where and are constant. For spatial triplets, and , while in cross-spectral triplets, and . On the other side, the inverse transform, , for the transformed triplets is defined as

(8)

The value and are considered for watermarking according to (9)

(9)

for all the expandable triplets, where expandable means that satisfies a limitation similarly to what has been proposed in the previous paper to avoid overflow/underflow. In case of only changeable triplets, ( changes correspondingly), but the same bound for the sum of these two amounts has to be verified again.

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

  1. (1)

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

  2. (2)

    : contains all changeable triplets that are not in .

  3. (3)

    : contains the not changeable triplets.

  4. (4)

    contains all changeable triplets

In the embedding process, the triplets are transformed using (7) and then divided into , and . , and are transformed in and (watermarked) and the pixel values of the original image are replaced with the corresponding watermarked triplets in and to produce the watermarked image . The algorithm uses a binary JBIG compressed location map , to identify the location of the triplets in , , and 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  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 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.
Table 3 Comparison results between Tian's and Alattar's algorithm.

From the results of Table 3, the algorithm proposed outperforms the Tian's technique at lower PSNRs. At higher PSNRs instead, the Tian's method outperforms the proposed.

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 vector containing the pixel values ( adjacent pixel values) from different locations within the same color component of the image is intended (see Figure 2).

Figure 2
figure 2

Quads configuration in an image.

Figure 3
figure 3

Vector configuration in an image.

The difference expansion transform, , for the quad is defined as in (10)

(10)

The inverse difference expansion transform, , for the transformed quad is correspondingly defined as in (11)

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

    : contains all expandable quads whose , , with transformed values and predefined threshold.

  2. (2)

    : contains all changeable quads that are not in .

  3. (3)

    : contains the rest of quads (not changeable).

  4. (4)

    : contains all changeable quads ().

In the embedding process the quads are transformed by using (10) and then divided into the sets , , and . and are modified in and (the watermarked versions) and the pixel values of the original image are replaced with the corresponding watermarked quads in and to produce the watermarked image . Watermark extraction and restoring process proceeds inversely as usual.

In the presented experimental results, the algorithm is applied to each color component of three  RGB images, Baboon, Lena, and Fruits setting in all experiments. The embedding capacity depends on the nature of the image itself. In this case, the images with a lot of low frequencies contents and high correlation, like Lena and Fruits, produce more expandable triplets with lower distortion than high frequency images such as Baboon. In particular with Fruits, the algorithm is able to embed 867 kbits with a PSNR  dB, but with only 321 kbits image quality increases at  dB. It is interesting to verify that with Baboon the algorithm is able to embed 802 kbits or 148 kbits achieving a PSNR of  dB and of  dB, respectively.

The proposed method is compared with Tian's algorithm, using grayscale images, Lena and Barbara. At PSNR higher than 35 dB, quad-based technique outperforms Tian, while at lower PSNR Tian outperforms (marginally) the proposed techniques. The quad-based algorithm is also compared with [2] method using grayscale images like Lena and Barbara. Also, in this case the proposed method outperforms Celik [2] at almost all PSNRs. The proposed algorithm is also compared with the previous work of Alattar described in [6]. The results reveal that the achievable payload size for the quad-based algorithm is about 300,000 bits higher than for the spatial triplets-based algorithm at the same PSNR; furthermore, the PSNR is about  dB higher for the quad-based algorithm than for the spatial triplet-based algorithm at the same payload size.

Finally, in [8], Alattar has proposed a further generalization of his algorithm, by using difference expansion of vectors composed by adjacent pixels. This new method increases the hiding capacity and the computation efficiency and allows to embed into the image several bits, in every vector, in a single pass. A vector is defined as , where is the number of pixel values chosen from different locations within the same color component, taken, according to a secret key, from a pixel set of size.

In this case, the forward difference expansion transform, , for the vector is defined as

(12)

where is a constant integer, , and , ( and are the image width and height, resp.)

The inverse difference expansion transform, , for the transformed vector , is defined as

(13)

Similarly to what was done before, the vector can be defined expandable if, for all , can be modified to produce without causing overflow and underflow problems in

(14)

To prevent overflow and underflow, the following conditions have to be respected.

(15)

On the contrary, the vector can be defined changeable if, (14) holds when the expression is substituted by .

Given , that represents any of the set of vectors in the RGB color components, such vectors can be classified in the following groups

(1): contains all expandable vectors whose

(16)

with: transformed values; predefined threshold.

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

(3): contains the rest of the vectors (not changeable).

(4) contains all changeable vectors.

In the embedding process the vectors are forward transformed and then divided into the groups , , and . , and are modified in and (watermarked) and the pixel values of the original image are replaced with the corresponding watermarked vectors in and to produce the watermarked image . Reading and restoring phase simply inverts the process. The algorithm uses a location map to identify , , and .

The 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 ( RGB images). In all experiments; . In the case of spatial triplets, the payload size against PSNR of the watermarked images is depicted in Figure 4(a). The performance of the algorithm is lower with Baboon than with Lena or Fruits. With Fruits, the algorithm is able to embed 858 kb (3.27 bits/pixel) with an image quality (PSNR) of 28.52 dB or only 288 kb (1.10 bits/pixel) with reasonably high image quality of 37.94 dB. On the contrary, with Baboon, the algorithm is able to embed 656 kb (2.5 bits/pixel) at 21.2 dB and 115 kb (0.44 bits/pixel) at 30.14 dB. In the case of spatial quads, the payload size against PSNR is plotted in Figure 4(b). In this case, the algorithm performs slightly better with Fruits. In this case with Fruits, the algorithm is able to embed 508 kb (1.94 bits/pixel) with image quality of 33.59 dB or alternatively 193 kb (0.74 bits/pixel) with high image quality of 43.58 dB. Again with Baboon, a payload of 482 kb (1.84 bits/pixel) at 24.73 dB and of only 87 kb (0.33 bits/pixel) at 36.6 dB are achieved. In general, the quality of the watermarked images, using spatial quads, is better than the quality obtained with spatial triplets algorithm (the sharpening effects is less noticeable). The payload size versus PSNR for cross-color triplets and cross-color quads are shown in Figures 4(c) and 4(d), respectively. For a given PSNR, the spatial vector technique is better than the cross-color vector method. The comparison between these results demonstrates that the cross-color algorithms (triplets and quads) have almost the same performance with all images (except Lena at PSNR greater than 30 dB). From the results above and from the comparison with Celik and Tian, the spatial quad-based technique, that provides high capacity and low distortion, would be the best solution for most applications.

Figure 4
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 is predicted by its right neighboring pixel () and its prediction-error is determined (see Figure 5).

Figure 5
figure 5

Embedding process.

is then companded to by applying the quantized compression function according to the following.

(17)

where is a predefined threshold; the inverse expanding function is described in the following.

(18)

The so-called companding error is which is if .

Embedding is performed according to (19) ( is the watermarked pixel and is the watermark), on the basis of a classification into two categories: if does not cause any over/underflow, otherwise.

(19)

Pixel belonging to which will be considered for watermarking, are further divided into two subsets and in dependence if or not respectively. The information to be embedded are: a lossless compressed location map, containing 1 for all pixels in and 0 for all pixels in , whose length is , the bitstream containing the companding error for each pixel in and the watermark . The maximum payload is given by the cardinality of reduced by number of and by the length of . 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.

(20)

where , the predicted value, is equal to in this case. On the basis of the presented experimental results, the algorithm globally outperforms the Tian's method [4] and the Thodi's one [3] from the capacity-vs-distortion point of view: for instance it achieves  bpp and grants  dB of PSNR. In particular, performances seem to be better when textured images, such as Baboon, are taken into account.

In Coltuc [10], a high-capacity low-cost reversible watermarking scheme is presented. The increment in capacity is due to the fact that it is not used any particular location map to identify the transformed pairs of pixels (as usually happens). The proposed scheme, adopts a generalized integer transform for pairs of pixels. The watermark and the correction data, needed to recover the original image, are embedded into the transformed pixel by simple additions. This algorithm can provide for a single pass of watermarking, bitrates greater than 1 bpp.

Let us see how the integer transform is structured. Given a gray-level () image and let be a pair of pixels and be a fixed integer, the forward transform , where is given in the following.

(21)

where and belong to a subdomain contained within to avoid under/overflow for and . The inverse transform is instead given in the following.

(22)

which is basically based on the fact that the relations in (23) (called congruence) hold

(23)

If a further modification is applied (i.e., watermarking) through an additive insertion of a value , like in (24), (23) are not anymore satisfied by the new couple of pixels.

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

(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 or 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 the number of pixel pairs, where is the transformed ones and being the range for the inserted codeword, the hiding capacity is basically equal to

(26)

In the proposed scheme, the bitrate depends on the number of transformed pixel pairs and on the parameter . The experimental results for show that, a single pass of the proposed algorithm for gives a bit-rate of 0.5 bpp at a PSNR of 29.96 dB. In the case of the bit-rate is almost  bpp with a PSNR of  dB. By increasing , the bit-rate becomes greater than 1 bpp obtaining a maximum bit-rate for , namely 1.42 bpp at a PSNR of 19.95 dB. As increases, the number of transformed pairs decreases. However, for highlytextured images like Baboon performances are sensibly lower.

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.

(27)

while the inverse transform is given by the following.

(28)

This time the congruence relation is given by by the following.

(29)

Then the technique proceeds similarly to the previous method by distinguishing in transformed and not-transformed pixels. The hiding capacity is now

(30)

where is the number of transformed pixels and is the number of image pixels.

The proposed algorithm is compared with the previous work [10]. This new technique provides a significant gain in data hiding capacity while, on the contrary, achieves low values of perceptual quality in terms of PSNR. Considering the test image Lena, a single pass of the proposed algorithm for gives a bit-rate of 0.96 bpp. The bit-rate is almost the same of [10], but at a lower PSNR (22.85 dB compared with 25.24 dB). For one gets 1.46 bpp at 20.15 dB which already equals the maximum bit-rate obtained with the scheme of previous work; namely, 1.42 bpp at 19.95 dB (obtained for ). By increasing , the bit-rate increases: for one gets 1.77 bpp, for the bit-rate is 1.97 bpp, for the bit-rate is 2,08 bpp and so on, up to the maximum value of 2.19 bpp obtained for . The same problems when dealing with highly textured images are presented.

In Chang et al. [12], two spatial quad-based schemes starting from the difference expansion of Tian [4] algorithm are presented. In particular, the proposed methods exploit the property that the differences between the neighboring pixels in local regions of an image are small. The difference expansion technique is applied to the image in row-wise and column-wise simultaneously.

Let () be a pixel pair, the Integer Haar wavelet transform is applied as follows

(31)

and a message bit is hidden by changing to . The inverse transform is

(32)

and then and are restorable by using the following.

(33)

In the proposed scheme, the host image is firstly partitioned into blocks (spatial quad-based expansions, see Figure 6).

Figure 6
figure 6

The partitioned image and a block .

To establish if a block is watermarkable, the measure function, presented in (34) which assumes boolean values, is considered.

(34)

where is a block, is a predefined threshold, , , , and are pixel values in , is the "AND" operator. If is true, is chosen for watermarking, otherwise is discarded. Two watermarking approaches are proposed. In the first one, row-wise watermarking is applied to those blocks satisfying the relation which determines that (34) still holds for watermarked values and consequently to apply column-wise watermarking. Bindings to avoid over/underflow are imposed to watermarked pixels both for row-wise embedding and for column-wise one. In the second approach initial relation is not required anymore, only over/underflow is checked, and a 4-bit message is hidden in each block. In both cases, a location map to record the watermarked block is adopted; such location map is compressed and then concealed. The algorithm is tested on four 8 bit grayscale images, F16, Baboon, Lena, and Barbara. The results, in terms of capacity versus PSNR, are compared with other three algorithms, proposed by Thodi, Alattar and Tian. All methods are applied to images only once. From the comparison, the proposed algorithm can conceal more information than Tian's and Thodi's methods, while the performances of Alattar scheme are similar. In general, the proposed scheme is better than Alattar at low and high PSNRs. For middle PSNR Alattar's algorithm performs better.

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 , each adjacent pixels are grouped into nonoverlapping quads

(35)

The forward integer transform is defined as

(36)

while the inverse integer transform is given by

(37)

The watermarking process starts with the transformation of each quad and then proceeds with the application of a companding function (see [9] for detail) whose output values are classified into three categories , , and , according to specified characteristics. Quads belonging to the first two categories are watermarked, the others are left unmodified; finally is applied to obtain the watermarked image. The to-be-inserted watermark is the composition of payload, location map and original LSBs. During extraction, quads are recognized again and then the transformation is applied; after that the quad classification is performed by resorting to the location map recovery. Finally, the watermark is extracted and image restoration is achieved by computing .

The algorithm is tested and compared with Tian's and Alattar's method on several images including Lena and Barbara. Embedding rates close to 0.75 bpp are obtained with the proposed and the Alattar's algorithm without multiple embedding, while multiple embedding is applied to Tian's algorithm to achieve rates above 0.5 bpp. From results the proposed method presents a PSNR of 1–3 dB more than the others with a payload of the same size. For example, considering Lena, in the proposed method the embedding capacity of 0.3 bpp is achieved with a PSNR of 44 dB, while in Tian, the PSNR is 41 db and in Alattar is 40 db. The embedding capacity of 1 bpp is achieved with a PSNR of 32 db for the proposed method, while in this case in Tian and Alattar the PSNR is 30 db. For Baboon, the results show that for a payload of 0.1 bpp a PSNR of 44 db, 35 db, and 32 db for the proposed method, Tian and Alattar is achieved, respectively. In general, the proposed technique outperforms Alattar and Tian at almost all PSNR values.

In [14], Ni et al. proposed a reversible data hiding algorithm which can embed about 5–80 kb of data for a 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.

Figure 7
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)(255) represents the zero point and (154) represents the peak point. The number of bits that can be embedded into an image, equals to the frequency value of the peak point. Let us take this histogram as an example. The first step in the embedding process (after scanning in sequential order) is to increase by 1, the value of pixels between 155 and 254 (including 155 and 254). The range of the histogram is shifted to the right-hand side by 1, leaving the value 155 empty. The image is scanned once again in the same sequential order, when a value of 154 is encountered, such value is incremented by 1, if the bit value of the data to embed is 1; otherwise, the pixel value remains intact. In this case, the data embedding capacity corresponds to the frequency of peak point. In Figure 7(b) the histogram of the marked Lena is displayed.

Let be and , with , 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 , is encountered, a bit "1" is extracted. If a pixel with its value 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.

(38)

In embedding process the value of pixel (between the minimum and maximum point) is added or subtracted by 1. In the worst case, . 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.

2.2. Transformed Domain

In this subsection, works dealing with fragile reversible watermarking operating on transformed domain are presented.

An interesting and simple technique which uses quantized DCT coefficients of the the to-be-marked image has been proposed by Chen and Kao [15]. Such an approach resorts to three parameters adjustment rules: ZRE (Zero-Replacement Embedding), ZRX (Zero-Replacement Extraction), and CA (Confusion Avoidance); the first two are adopted to embed and extract one bit, respectively, the third one is to prevent confusion during embedding and extraction. Hereafter, these three rules are listed.

ZRE: embeds one bit into satisfying as follows.

(1) Change to as embedding bit 1.

(2) Change to as embedding bit 0.

(1) Extract bit 1 from and modify them to .

(2)Extract bit 0 from and modify them to .

(1) In embedding, each are changed to when , or changed to when , .

(2) In extracting, each are changed to when , or changed to when , .

ZRX: extract one bit from when or as follows.

CA: proposed to avoid embedding or extracting error.

To perform embedding, the image is partitioned in blocks and each of them is DCT transformed and quantized. Then, on the basis of a predetermined selection sequence, triplets of coefficients are selected and preprocessed by applying CA rule. Finally, the watermark bits are embedded through ZRE rule into valid triplets (i.e., with the format where ) and IDCT is computed to obtain the watermarked image. During extraction, all the initial steps are repeated as well until when triplets are constructed again; ZRX rule is applied to all the valid triplets, thus the watermark is read and the original coefficients are recovered. By using CA rule, all the other triplets are converted back to their original values too. Finally IDCT is obviously computed. Experimental results show that with Lena a payload of  bits can be embedded and at the same time a PSNR of  dB can be granted; similar values are provided for Cameraman (payload of  bits and PSNR of  dB).

Another work based on integer DCT coefficients modification has been proposed by Yang et al. [16]. The reversibility is guaranteed by integer DCT, a lossless block transform, is applied to the whole image; the algorithm exploits the principle of histogram modification proposed by Ni et al. [14]. The integer DCT transform has the property of energy concentration which can be used to improve the capacity of histogram modification scheme. The watermarking process starts with dividing the image into blocks with size and computing the integer DCT. Within each transformed block, the coefficients in position ( are selected to form coefficient groups and for every group an histogram is created. Histogram modification is then applied to insert the watermark only to AC groups. In some applications, it can be used a secret key to select () coefficient groups for watermarking. For each histogram of the total coefficient groups, the positions of the original peak point and zero point which are involved in modification, must be recorded as overhead information needed during the extraction process. The extraction process is simply the reversed of the embedding process. The presented experimental results say that with Lena,  bits of payload are achievable with a PSNR of almost  dB.

In Weng et al. [17], a data hiding scheme, based on companding technique and an improved difference expansion (DE) method is presented. The payload is embedded into high frequency bands (LH, HL, and HH) in the integer wavelet transform domain (IWT), using the companding technique. To solve the overflow/underflow problem, after IWT, a method based on histogram modification is proposed. Such algorithm is based on Xuan's technique [18], which suffered the problem of overflow/underflow. Weng avoids that problem by interchanging the order of histogram modification and IWT. The advantages are basically an increment in hiding capacity with the PSNR value slightly increased and an overall PSNR improvement. Watermark embedding is divided into two steps: firstly, the image is IWT-transformed and the watermark w is embedded into the LSB of one bit left shifted version of an IWT selected coefficient; after that inverse, IWT is applied and the image is obtained. could be out of range and to guarantee that such value are into such a range, an histogram modification technique is used and an improved DE method is adopted to embed information regarding this modification into (the modified ) to achieve, finally, . Such improved DE method is based on a classification which divides each difference into three categories: expandable, changeable and nonchangeable.

The extraction process is composed by two stages: in the first one, classification is performed again and DE embedding is inverted till retrieving and information about histogram modification. After that, histogram modification is inversely applied and then the obtained image is IWT-transformed. High frequencies subbands are selected and the watermark is extracted. Finally inverse IWT is computed to retrieve the original image. Experimental results witness that a payload of  bpp with a correspondent PSNR of  dB is achieved for Lena. The same capacity is obtained for Baboon but with a PSNR of  dB.

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.

(39)

where is the original coefficient, is the watermarked coefficient and is the watermark bit. In the second case, the original coefficient is multiplied by , where is a positive integer, and the watermark bit is embedded into its LSBs

(40)

where and is a set of 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, -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.

Figure 8
figure 8

Forward and inverse wavelet transform and watermark embedding.

First, an pixel block is transformed into a block of wavelet coefficients using the integer-to-integer transform . Next, a block is obtained by setting the LSBs of the chosen coefficients to zero or by applying bit-shifting to the chosen coefficients in . The modified pixel block is obtained by applying the 2-D inverse floating-point wavelet transform to . By adding a watermark bit block to , a block of watermarked wavelet coefficients is obtained. Then, and are obtained by applying and to , respectively. The embedding error is obtained by applying to . 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,

(41)

The underflow or overflow depend on the error introduced by the embedded watermark . In this case, two matrices and , whose elements represent limits of max positive and negative errors caused by the embedding process are shown in the following.

(42)

where , is the matrix with only one nonzero element of value 1 in the th row and th column. Since satisfy the inequality , the overflow and underflow will not occur in for any watermark block if

(43)

for ,

During embedding process, the watermarked image block obtained is . The integer to integer wavelet transforms introduce a roundoff error (caused by truncation). The roundoff error matrix can be defined, as represented by , by two matrix and . In case of integer to integer wavelet transform that approximates LeGalle 5/3 filter, and are shown in the following.

(44)

Introducing such error, the watermarked image block is given now by

(45)

An image block can be said LSB-changeable or bit-shiftable for any watermark block if (46) is satisfied.

(46)

for ,

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 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 . The size of the block determines the performance of the proposed algorithm. If the block size is too small () or too large (), the performance of the algorithm is degraded.

Figure 9
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 zone center of mass can be associated to the embedding of a bit "1," while an anticlockwise rotation can be associated to a bit "0." The zone is rotated in the opposite direction accordingly to the technique previously presented.

By using this approach, it is very easy to determine, during the watermark detection, if a "1" or "0" bit is embedded in a certain block and, eventually, remove the mark by counter rotating the histogram along the circular support.

In a real image, some pathological cases can arise when the two centers of mass are not properly positioned and in general do not respect the mutual nearness. These cases are statistically negligible and do not affect significantly the available watermark payload.

If the histogram is mapped linearly into the circular support, salt and pepper noise can appear because of the abrupt transition on the occurrences of the 255-level to the 0-level and viceversa even for a small support rotation. To cope with this problem, the histogram can be mapped to the support in an alternative fashion by mapping clockwise the st, the th histogram value, and so forth.

Because of the rearrangement of the histogram on the support, the center of mass for the A and B zones appear very close to the center of the circle making the watermark detection less reliable. In this case, the center of mass computation is substituted by the computation of the minimal inertia axis that can be detected more easily. This alternative technique make the salt and pepper noise disappear. Both these approaches can cope with acceptable lossy attacks such cropping (by embedding a synchronization grid) and JPEG compression. The proposed methods show a good robustness, even if the second one, while more appealing from a perceptual point of view, is more fragile to JPEG compression.

In Ni et al. [21], an algorithm based on the De Vleeschouwer idea is proposed in order not to be fragile to JPEG compression. This method is based upon an analysis of the differences between couples of pixels belonging to an image tile.

An image tile is divided into pixel couples and a sum of differences of their luminance values (taken in an ad hoc manner) is computed. A statistical analysis shows that this computed value (named ) is very close to zero for most of the tiles. The main idea for bit embedding is that the difference value is related to a reference value (usually less than 5 according to numerous experiments) and a categorization of the value respect to the value is carried on. The categorization is defined even by means of the parameter that is usually . This approach is aimed to avoid falling into underflow/overflow errors that would significantly lower the stego image quality. In particular, four categories are identified.

Category 1

The pixel grayscale values of a block under consideration are far enough away from the two bounds of the histogram (0 and 255 for an 8-bit grayscale image).

In this category, two other cases are further considered according to the value of .

  1. (1)

    The value is located between the range and .

  2. (2)

    The absolute value of exceeds the threshold .

Category 2

Some pixel grayscale values of the block under consideration are very close to the lower bound of the histogram (0 for an 8-bit grayscale image).

In this category, two other cases are further considered according to the value of .

  1. (1)

    The value is located between the range and .

  2. (2)

    The value of is located on the right hand side beyond the threshold .

Category 3

Some pixel grayscale values of the block under consideration are very close to the upper bound of the histogram (255 for an 8-bit grayscale image).

In this category, two other cases are further considered according to the value of .

  1. (1)

    The value is located between the range and .

  2. (2)

    The value of is located on the left hand side beyond the threshold .

Category 4

Some pixel grayscale values of the block under consideration are close to the upper bounds, while some pixel grayscale values are close to the lower bounds of the histograms.

In this category, two other cases are further considered according to the value of .

  1. (1)

    The value is located between the range and .

  2. (2)

    The absolute value of is beyond the threshold .

Depending on the categories and on the cases the couples of pixels are referrable to, the difference can be increased or decreased by . The increment/decrement is always implemented as a modification of the value of the higher valued pixel of the pair. In some cases, cannot be modified without generating salt and pepper noise; in these case, no modification are applied and then an error is inserted.

To cope with these insertion errors, the payload is embedded with an Error Correction Code providing a sufficient data redundancy. Authors states that BCH(63,7,15) can correct most of the random errors that can be generated during the embedding process. In some cases, errors concentrate in particular regions of the image (bursts of errors) giving no chance to the ECC to recover data. In order to deal with these situations, the authors used a message bits permutation scheme to redistribute errors along the entire image. Experimental results confirm that a significant enhancement of the data embedding capacity and of the PSNR of the marked image can be achieved respect to the method proposed in [20]. The images used in the experiments are Lena, Baboon, and Boat (). For Lena with a PSNR of 40.2 db the capacity is 792 bits, but for the other two images the capacity is lower, in fact in Baboon with a PSNR of 38.7 db the capacity is 585 bits while for Boat with a PSNR of 40.5 db the payload is 560 bits. In particular, robustness is slightly increased in the case of a lossy modification like JPEG/JPEG2000 compression with higher compression rates with respect to [20]. For severe compression rates, instead, the results of the proposed algorithm are comparable to those presented by De Vleeschouwer. A unified authentication framework based on the proposed methods has been included in the Security part of JPEG2000 (known as JPSEC) IS (International Standard), JPSEC ISO/IEC 15444-8:2007, April 2007.

3.1.2. Transformed Domain

Zou et al. [22] proposed a semi-fragile lossless watermarking scheme based on the 5/3 (LeGalle 5/3 filter) integer wavelet transform () integrated into JPEG2000 standard compression. The watermarking scheme embeds data into the coefficients of a selected high-frequency sub-band (). 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).

Figure 10
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, . A threshold is set to the smallest integer number greater than . The embedding phase, manipulates the mean value of the block. Considering a block, to embed a bit , the mean value of the block is shifted by (positive or negative, resp.). is equal or larger than . To embed a bit , the mean value of the coefficients in the considered block is unchanged. In the extraction process, when a mean value of the block with absolute value larger than is found, a bit = 1 is recovered. If such mean value is smaller than a bit = 0 is recovered.

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 from 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 , the underflow condition occurs when there are pixels with grayscale values less than 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-) 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 (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 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 ).
Figure 11
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 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. 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 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 domain. Finally, inverse is applied to obtain the marked image. During detection and recovery step, the four-level on the image is performed. From 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  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.

3.2. Robust Algorithms

3.2.1. Spatial Domain

The algorithm presented in [24] is based on histogram modification. Embedding is performed by selecting a couples of histogram bins, and , and in order to insert a message bit or , the following relations are required.

(i)

(ii).

If the asked relation does not already exist, bins are swapped (pixels belonging to the bins are changed accordingly); if an equality happens between selected bins, they are skipped. Bins couples are individuated according to a public key which is composed by a real number whose integer and decimal parts are used to determine the initial bin (start) and the distance between the two bins within each couple (step), respectively. Couples are selected sequentially over the histogram, in order to allocate all the message bits. Furthermore, reference side information which records if bins are swapped or not is constructed and passed to the extractor, together with the watermark length and the public key, to allow reversibility.

The capacity of this method is quite low (at most  bits for a 256-gray level image) but, on the contrary, perceptual quality is preserved (PSNR  dB for usual test images). The algorithm presents a high robustness to different kinds of attacks such as flipping, rotation (, , and ), up-sizing, increasing aspect ratio, cropping (), drawing and so on; resistance is reduced if the parameter (step) is not over . JPEG compression, low pass filtering and noise addition are not tolerated by this technique.

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 , the forward RCM transform for the pair is given in

(47)

where and are limited to to avoid overflow and underflow and consequently must belong to . The inverse RCM transform is defined as in(48)

(48)

It can be proved that (48) exactly inverts (47) also if the LSBs of the transformed pixels are lost; furthermore, if and 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 and are not both odd numbers and this happens only if and are odd numbers too. So odd couples would not be allowed for marking. To overtake that, only a selected set of odd couples (such that the respective transformed values are not equal to or ) is taken; so the domain is restricted to . After the image is partitioned into pairs, embedding proceeds as follows.

  1. (1)

    If and it is not composed by odd pixel values, (47) is applied and the LSB of is set to 1 (to indicate a transformed pair) and the LSB of is available for watermark bit insertion.

  2. (2)

    If and it is composed by odd pixel values, (47) is not applied and the LSB of is set to 0 (to indicate an odd pair) and the LSB of is available for watermark bit insertion.

  3. (3)

    If , (47) is not applied and the LSB of is set to 0 and the true LSB of 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 and,

  1. (1)

    if the LSB of is 1 then the LSB of is a watermark bit; after setting the LSBs of and to 0 the original pair is recovered by inverse RCM transform,

  2. (2)

    if the LSB of is 0 and the pair with the LSBs set to 1 (odd) belongs to , then the LSB of is a watermark bit; after setting the LSBs of and to 1 the original pair is simply recovered, and

  3. (3)

    if the LSB of is 0 and the pair with the LSBs set to 1 does not belong to , there is not a watermark bit; after replacing the LSB of with the true LSB taken from the watermark sequence, the original pair is reconstructed.

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 the global number of couples and the number of pairs carrying information, will be the additional payload to attach to the watermark, so the bit-rate provided by the algorithm will be

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

Figure 12
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 does not generate any bit error.

3.2.2. Transformed Domain

In the work presented in [27], a quantization-based approach, named Weighted Quantization Method, (WQM) is introduced. Being the input signal and its quantization levels, message bit embedding is achieved by resorting to a couple of functions . The function , according to the message bits performs as it follows.

(i) = The biggest quantization level greater than

(ii) = The least quantization level smaller than ,

while function works as

(50)

The parameter has to be major or equal to to grant that the values obtained when embedding a bit fall in a range disjoint with respect to that for embedding a bit . In addition to that, the higher the value of the stronger the image distortion; usually is set to . According to the definition of functions and , it yields that where is the watermarked signal; so for extracting the message bit the quantization level closer to is chosen. By using the watermarking process can be inverted and the original value can be recovered. The approach can be adopted both in spatial and transformed domain, though the authors applied it after a Point to Point Graph (PGP) transformation and experimental results are achieved on such a basis. Robustness of such a method is very limited; only BER against AWGN addition is presented within the paper. High perceptual quality (PSNR around  dB) is achievable with test images such as Lena and Baboon.

In Gao and Gu [28], a procedure based on Alattar's difference expansion computed in the wavelet domain is presented. 1-level IWT (Integer Wavelet Transform) is applied to blocks of the image and sub-band is considered; in particular, the four coefficients belonging to the diagonal are grouped into two couples and used for watermarking according to their expansibility. Expansibility is checked to avoid overflow and underflow, and it is recorded and passed as side information to the detector side. Image blocks are shuffled according to a secret key before being wavelet transform, in order to achieve security and robustness against some malicious attacks. The proposed scheme is tested on Lena, Boat, and Baboon (). The achieved PSNRs are 35.8 db for Lena, 40.2 db for Boat and 42 db for Baboon. Image reversibility is granted when no attacks have happened and watermark robustness is partially provided against cropping, salt and pepper noise, and other image damaging localized in restricted zones.

4. Conclusions

Reversible digital watermarking techniques have been individuated so far to be adopted in application scenarios where data authentication and original content recovery were required at the same time. Such techniques have been introduced and a general classification has been provided; some of the main algorithms known in literature have been presented and discussed, trying to give to the interested readers an easy-to-use overview of the matter.

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.

    Article  MATH  Google 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.815962

    Article  Google 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.828418

    Article  MathSciNet  Google 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.

    Article  Google 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.

    Article  Google 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-3

    Article  MathSciNet  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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.

    Article  Google 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 

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roberto Caldelli.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Caldelli, R., Filippini, F. & Becarelli, R. Reversible Watermarking Techniques: An Overview and a Classification. EURASIP J. on Info. Security 2010, 134546 (2010). https://doi.org/10.1155/2010/134546

Download citation

  • Received:

  • Accepted:

  • Published:

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

Keywords