# Reversible Data Hiding Using Two Marked Images Based on Adaptive Coefficient-Shifting Algorithm

Authors: Ching-Yu Yang
Journal: Advances in Multimedia
 (2012)

---

## Abstract

This paper proposes a novel form of reversible data hiding using two marked images by employing the adaptive coefficient-shifting (ACS) algorithm. The proposed ACS algorithm consists of three parts: the minimum-preserved scheme, the minimum-preserved with squeezing scheme, and the base-value embedding scheme. More specifically, each input block of a host image can be encoded to two stego-blocks according to three predetermined rules by the above three schemes. Simulations validate that the proposed method not only completely recovers the host medium but also losslessly extracts the hidden message. The proposed method can handle various kinds of images without any occurrence of overflow/underflow. Moreover, the payload and peak signal-to-noise ratio (PSNR) performance of the proposed method is superior to that of the conventional invertible data hiding schemes. Furthermore, the number of shadows required by the proposed method is less than that required by the approaches which are based upon secret image sharing with reversible steganography.


---

## Body

## 1. Introduction

Due to ubiquitous broadband services and high-speed networks provided by Internet service providers (ISPs), along with mass production of high-capacity and low-cost multimedia devices, individuals and organizations can easily share their information on the Internet. Moreover, thanks to the portability and mobility provided by such wireless communications as intelligent mobile systems, wireless fidelity (Wi-Fi), and worldwide interoperability microaccess (WiMax), people can exchange/retrieve resources anywhere and anytime. Preventing data from being eavesdropped, tampered with, and falsified during transmission has become an important goal. In addition to the use of cryptographic systems, one can use data hiding to achieve this result. Primary applications of data hiding can be found in proof of ownership, content authentication, copyright protection, and covert communications. In general, data hiding can be divided into two categories: digital watermarking and steganography [1, 2]. In digital watermarking, the embedded message (or watermark) is often related to the medium and conveys additional information about the medium. Robust performance is a key feature of the watermarking schemes [3–5]. In steganography, the hidden message often has nothing to do with the host media; however, both hiding capacity and perceived quality are the two areas of concern pursued by the authors [6–8]. One of the major issues of the steganographic approach is that the marked images are susceptible to manipulation. In this scenario, the embedded message cannot be extracted if even a slight alteration is imposed on the marked images. Note that the two above mentioned data hiding techniques are irreversible. Since host media such as medical and military images, geographic systems, and satellite resources can be valuable or even priceless, it is undesirable that the host media be at all damaged after data extraction. Recently, several researchers [9–15] have presented lossless data hiding in an effort to address this issue.Tian [9] used a difference expansion (DE) technique to derive a high-capacity and low-distortion form of reversible watermarking. An image was first divided into pairs of pixels. A secret message was then embedded into the difference of the pixels in each of the pairs that were not expected to cause an overflow or an underflow. For a single-layer embedding, the payload size of the technique was less than 0.5 bits per pixel (bpp). Alattar [10] extended Tian’s algorithm using a DE of vectors, instead of pairs, to improve the performance of the algorithm. In a single pass, Alattar’s algorithm can embed several bits in every vector. In addition to grayscale images, the algorithm can effectively be applied to color systems. Lin et al. [11] proposed a multilayer scheme for reversible data hiding based on the modification of the difference histogram. By combining the peak point of a difference image with a multilevel hiding strategy, the scheme maintained high capacity while keeping distortion low. In the fifteenth-level embedding, the optimal payload surpassed 5 × 105 bits with a peak signal-to-noise ratio (PSNR) value of 25.39 dB. To obtain a reversible watermarking technique, Zeng et al. [12] used adjacent pixel difference and multilayer embedding techniques on a scan path. Specifically, they employed nine predetermined scan paths to dig out space for hiding bits. The multilayer embedding technique did increase the hiding capacity. To improve the performance of the conventional difference expansion methods, Wu et al. [13] presented a high-capacity reversible data hiding scheme based on the JPEG-LS predictive technique and the multiple-base notational system. In using the JPEG-LS predictive technique, the distortion of the marked images can be significantly reduced. Moreover, the multiple-base notational system can effectively increase the hiding storage capacity. Simulations indicate that their method can provide a high embedding capacity while preserving the quality of the perceived results. Yang and Tsai [14] suggested a reversible (multilevel) data hiding method based upon an interleaving prediction. All predictive values were transformed into a histogram to generate high peak values and improve the hiding capacity. For each pixel, the difference in value between the original image and the marked one remained within ±1. This guaranteed that the PSNR of the marked image was around 48 dB. Moreover, in the twelfth-level embedding, the optimal payload surpassed 3.5 × 105 bits with a PSNR value of 29.26 dB. Yang and Hu [15] proposed a lossless data hiding method based on the minimum/maximum preserved with overflow/underflow avoidance (MMPOUA) algorithm. First, the MMPOUA algorithm kept the minimum (or maximum) pixel of a host block unchanged. A difference block was introduced by subtracting the pixels remaining in the block from the minimum (or maximum) one. Following pixel adjustment, data bits were embedded in the difference blocks. Simulations showed that the MMPOUA algorithm not only generated good hiding capacity but also high perceived quality, especially at a moderate rate of embedding.To enlarge the hiding storage, the idea of a secret sharing scheme, namely, the (t, n) threshold scheme invented by Shamir [16], was employed and extended to image hiding and authentication [17–23]. Moreover, to fully recover the host image and losslessly extract the hidden message, researchers [24, 25] presented reversible secret image sharing with steganography. However, a (t, n) threshold of secret image sharing with steganography often requires t≤n and n≥3. As result, a large size of storage is an inevitable requirement.In this paper, we present the adaptive coefficient-shifting (ACS) algorithm to losslessly embed a secret message into a host image. The ACS algorithm requires less number of shadows than the techniques based upon reversible secret image sharing with steganography. In addition, both the payload and the PSNR for the ACS algorithm are far larger than that of the existing invertible data hiding schemes. The rest of the paper is organized as follows. Section2 describes the ACS algorithm, including the minimum-preserved scheme, the minimum-preserved with squeezing scheme, the base-value (BV) embedding scheme, and the prevention of overflow/underflow. Section 3 presents the simulation results and also includes performance comparisons. Section 4 offers the conclusions.


## 2. Proposed Adaptive Coefficient-Shifting (ACS) Algorithm

The proposed ACS algorithm consists of three parts: the minimum-preserved scheme, the minimum-preserved with squeezing scheme, and the base-value embedding scheme. Namely, each input (host) block can be encoded to two stego-blocks according to the three predetermined rules listed in Table1. For example, the two blocks stego-block 1 (S1) and stego-block 2 (S2) can be generated by embedding data bits into a host block (H) via the minimum-preserved scheme, when the BV of the block is less than τ/3. The term τ is a control parameter. The details of the ACS algorithm are specified in the following subsections. In addition, the BV of the block will be defined later in Section 2.3.Table 1
Three rules of data embedment for each host block.
Input block
Output (two) blocks
Rule1* (BV <τ/3)
Rule2+ (τ/3 ≤ BV ≤τ)
Rule3† (BV >τ)
H
S1-A
S1-A
S1-C
S2-A
S2-B
S2-C
*Both S1 and S2 were introduced by embedding data bits into H via the minimum-preserved scheme (A).
+S1 was introduced by embedding a secret message into H via the minimum-preserved scheme, and S2 was introduced by the BV embedding scheme (B).
†Both S1 and S2 were introduced by embedding data bits into H via the minimum-preserved with squeezing scheme (C).


### 2.1. The Minimum-Preserved Scheme

Table1 indicates that both S1 and S2 can be generated by the minimum-preserved scheme when the BV of the host block is less than τ/3. In addition, a stego-block S1 can be generated by the minimum-preserved scheme if the BV of the host block satsifies τ/3≤BV≤τ. The details of the minimum-preserved scheme are described in the following sections.


#### 2.1.1. Bit Embedding

LetP={pij}i=0n×n-1 be the jth non-overlapping block of size n×n that is divided from an input image. A difference block {p^ij}i=0n×n-1 can be obtained by
(1){p^ij}i=0n×n-1={pij}i=0n×n-1-mj,
where mj=Min{pij}i=0n×n-1 indicates the minimum pixel value of the jth block. To maintain low levels of distortion, an isolation process can be subsequently conducted to p^ij to obtain a new value p⌢ij according to the following criteria:
(2)p⌢ij=p^ij+(2k-1)βifp^ij≥β.
The term β is a control parameter and k is an integer. Namely, no data bits would be carried by the isolated coefficients. After adjustment, data bits are ready to be embedded into p^ij with 0≤p^ij<β, by multiplying p^ij by 2k to obtain p⌣ij and adding an input data to p⌣ij. Finally, a stego-block is formed by adding mj to p⌢ij and p⌣ij, respectively.


#### 2.1.2. Bit Extraction

LetQ={qij}i=0n×n-1 be the jth hidden block of the stego-image and mj=Min{qij}i=0n×n-1 the minimum pixel value of the block. The coefficients of the jth difference block {q^ij}i=0n×n-1are acquired using {q^ij}i=0n×n-1={qij}i=0n×n-1-mj. Then, data bits can be extracted from a difference block. If 0≤q^ij<2kβ, then the data bits are obtained by applying modulo-2k operation. Subsequently, the pixels q^ij which hid the data bit can be restored by computing q^ij=⌊q^ij/2k⌋. The pixels q^ij which satisfy q^ij≥2kβ were subtracted from (2k-1)β in order to recover the pixels which contained no data bits. Notice that ⌊x⌋ is the floor function. Finally, a host block can be restored by adding mj to all the coefficients except the minimum pixel of the difference block.


### 2.2. The Minimum-Preserved with Squeezing Scheme

To provide even further capacity, the minimum-preserved with squeezing scheme can be used to embed data bits into the blocks classified by Rule 3 of Table1. A major distinction between the minimum-preserved scheme and the minimum-preserved with squeezing scheme is that the latter scheme employs a squeezing technique which can effectively dig out extra hiding space. The minimum-preserved with squeezing scheme is summarized in the following subsections.


#### 2.2.1. Bit Embedding and Extraction

As a difference block was obtained by{p^ij}i=0n×n-1={pij}i=0n×n-1-mj, the squeezing process adjusted p^ij to a new value p~ij=p^ij-γ if p^ij>γ, where γ is a control parameter. Note that a bitmap was used here to flag whether or not a coefficient of the block had undergone adjustment. To help the decoder to later extract the data bits, overhead information can be losslessly compressed and sent by an out-of-band transmission to the receiver. After the squeezing process, the isolation process and bit embedding mentioned in Section 2.1.1 can be sequentially performed on the difference block.The bit extraction of the minimum-preserved with squeezing scheme that uses the bitmap as a look-up table is similar to that of the minimum-preserved scheme (see Section2.1.2). After bit extraction, to restore the original difference coefficients which had undergone adjustment, the term γ has to be added to the temporary difference block if the corresponding flag in the bitmap was set at 1. Subsequently, the original pixels can be recovered by adding mj to all the coefficients except the minimum pixel of the difference block.


#### 2.2.2. Overhead Information Analysis

The number of bits for the bitmap iss×n2 with s denoting the occurrence of the blocks encoded by the minimum-preserved with squeezing scheme. The overhead information can be significantly reduced if (s/⌊M/n⌋×⌊N/n⌋)×100%≤40%, where the image size is M×N. This can be achieved by adjusting the value of τ during data embedding.


### 2.3. BV Embedding Scheme

According to Rule 2 of Table1, the minimum-preserved scheme and the BV embedding scheme can be used to generate stego-blocks 1 and 2, respectively, when the BV of the host block satisfies τ/3≤BV≤τ. Let bj be the BV of the jth block. The term bj is defined by
(3)bj=Cmax-Cmin+1,
where Cmin=Min{pij}i=0n×n-1 and Cmax=Max{pij}i=0n×n-1 represent the minimum and maximum pixel value of the block. A difference block {p^ij}i=0n×n-3 can be obtained by
(4){p^ij}i=0n×n-3={pij}i=0n×n-3-Cmin.
Note that the minimum and the maximum pixel values of the block remain intact. The main idea of the BV embedding scheme is the addition of the difference block {p^ij}i=0n×n-3 to an input bit stream. More specifically, let the binary bit stream with the length of L to be embedded into {p^ij}i=0n×n-3 be B={ϕi}i=0L-1=∑i=0L-1ϕi2i. Transform B into B=∑i=0n2-3ηibji=(ηn2-3,…,η1,η0)bj with BV of bj. The resulting jth stego-block {p~ij}i=0n2-3 is obtained by
(5){p~ij}i=0n2-3={p^ij+ηi+Cmin}i=0n2-3.
Notice that the locations of both the minimum and the maximum pixels must be adjusted to the top-left of the block before the addition of data (ηi) and restored to their original locations after the addition of the minimum pixel (Cmin).At the receiver, instead of retrieving the BV from the stego-block 2, we compute the BVbj′=Dmax-Dmin+1, where Dmax and Dmin represent the maximum and minimum pixel values of the host block. These values have been previously restored by the minimum-preserved scheme from the stego-block 1. Let Q={qij}i=0n×n-1 be the jth hidden block which is derived from stego-image 2. The difference pixels of the jth block can be acquired using
(6){q^ij}i=0n×n-3={qij}i=0n×n-3-Dmin.
Then treat the n2-3 digit number
(7){ηij′}i=0n2-3={q^ij-p^ij)}i=0n2-3
as a BV of bj′ number, and convert the number {ηij′}i=0n2-3 to the expected number with BV of 2. Note that the coefficients {p^ij}i=0n2-3 have been previously obtained from the stego-block 1 by the minimum-preserved scheme. Notice as well that the number of bits hidden in the block is L=⌊(n2-2)log2bj⌋. This implies that the length of bits to be embedded into a host block is determined by the BV of bj.Figures1 and 2 present examples of data embedding and extraction by the BV embedding scheme. A host block was shown in Figure 1(a) with the minimum and maximum pixel value of the block denoted by the gray highlighted numbers. The BV of the block is 118 − 115 + 1 = 4. Figure 1(b) shows the difference block which was introduced by subtracting all the pixels except the minimum and maximum ones in Figure 1(a) from 115. Figure 1(c) was obtained by adjusting the maximum pixel value of 118 to the top-left of the block. Note that the corresponding adjusted coefficient in Figure 1(c) was marked by a rectangle. Assume that the secret bit stream (0100110 1001101)2 is the 14-bit stream to be embedded in Figure 1(c). Figure 1(d) was acquired by adding the input digits (01001101001101)2 = (4942)10 = (1031032)4 to the cofficients in Figure 1(c) in a raster scan with a reverse order. The hidden block, as shown in Figure 1(e), was generated by adding 115 to each of the coefficients in Figure 1(d). Finally, the stego-block 2 in which the maximum pixel was restored, is shown in Figure 1(f). The mean square error (MSE) computed from Figures 1(a) and 1(f) was 2.67. To extract the hidden data and recover the host block, a similar reverse procedure can be conducted to Figure 1(f). An example of data extraction is given in Figure 2.Example of data embedment with an input data digits of (103 103 2)4. (a) A host block, (b) a difference block; (c) adjust the maximum pixel value (118) to the top-left of the block; (d) add each data digit to the coefficients of the block in reverse order, (e) a hidden block, and (f) the resultant stego-block 2.
(a)
(b)
(c)
(d)
(e)
(f)Example of data extraction. (a) The stego-block 2, (b) after the adjustment of the maximum pixel value, (c) the difference block, (d) the host block restored from the stego-block 1, (e) the difference block of (d), and (f) after adjustment the maximum pixel value. The hidden digits can be extracted by subtracting the coefficients in (c) from those in (f); respectively, the extracted digits was (1031032)4.
(a)
(b)
(c)
(d)
(e)
(f)


### 2.4. Overflow/Underflow Discussion

Since the minimum pixel value of the block is preserved by the minimum-preserved (with squeezing) scheme, an underflow issue can be prevented. As for the blocks encoded by the BV embedding scheme, the underflow issue could be avoided by adjusting the value of parameterτ. However, if there is a pixel of the block where the value is equal to (or a little less than) 255, an overflow issue can occur during bit embedding. A block skipped policy can be used to solve the issue. Alternatively, the maximum-preserved (with squeezing) scheme, which preserves the maximum pixel value of the block, can be employed in the proposed ACS algorithm to overcome the overflow issue; more precisely, the minimum-preserved (with squeezing) scheme can be replaced by the maximum-preserved (with squeezing) scheme when (1) the host images were incapable of recovering from the stego-images by the former scheme or (2) the number of skipped blocks lies beyond a predefined threshold. Since the process of data embedment and the extraction procedure for the maximum-preserved (with squeezing) scheme is similar to that of the minimum-preserved (with squeezing) scheme, they are skipped here.


## 2.1. The Minimum-Preserved Scheme

Table1 indicates that both S1 and S2 can be generated by the minimum-preserved scheme when the BV of the host block is less than τ/3. In addition, a stego-block S1 can be generated by the minimum-preserved scheme if the BV of the host block satsifies τ/3≤BV≤τ. The details of the minimum-preserved scheme are described in the following sections.


### 2.1.1. Bit Embedding

LetP={pij}i=0n×n-1 be the jth non-overlapping block of size n×n that is divided from an input image. A difference block {p^ij}i=0n×n-1 can be obtained by
(1){p^ij}i=0n×n-1={pij}i=0n×n-1-mj,
where mj=Min{pij}i=0n×n-1 indicates the minimum pixel value of the jth block. To maintain low levels of distortion, an isolation process can be subsequently conducted to p^ij to obtain a new value p⌢ij according to the following criteria:
(2)p⌢ij=p^ij+(2k-1)βifp^ij≥β.
The term β is a control parameter and k is an integer. Namely, no data bits would be carried by the isolated coefficients. After adjustment, data bits are ready to be embedded into p^ij with 0≤p^ij<β, by multiplying p^ij by 2k to obtain p⌣ij and adding an input data to p⌣ij. Finally, a stego-block is formed by adding mj to p⌢ij and p⌣ij, respectively.


### 2.1.2. Bit Extraction

LetQ={qij}i=0n×n-1 be the jth hidden block of the stego-image and mj=Min{qij}i=0n×n-1 the minimum pixel value of the block. The coefficients of the jth difference block {q^ij}i=0n×n-1are acquired using {q^ij}i=0n×n-1={qij}i=0n×n-1-mj. Then, data bits can be extracted from a difference block. If 0≤q^ij<2kβ, then the data bits are obtained by applying modulo-2k operation. Subsequently, the pixels q^ij which hid the data bit can be restored by computing q^ij=⌊q^ij/2k⌋. The pixels q^ij which satisfy q^ij≥2kβ were subtracted from (2k-1)β in order to recover the pixels which contained no data bits. Notice that ⌊x⌋ is the floor function. Finally, a host block can be restored by adding mj to all the coefficients except the minimum pixel of the difference block.


## 2.1.1. Bit Embedding

LetP={pij}i=0n×n-1 be the jth non-overlapping block of size n×n that is divided from an input image. A difference block {p^ij}i=0n×n-1 can be obtained by
(1){p^ij}i=0n×n-1={pij}i=0n×n-1-mj,
where mj=Min{pij}i=0n×n-1 indicates the minimum pixel value of the jth block. To maintain low levels of distortion, an isolation process can be subsequently conducted to p^ij to obtain a new value p⌢ij according to the following criteria:
(2)p⌢ij=p^ij+(2k-1)βifp^ij≥β.
The term β is a control parameter and k is an integer. Namely, no data bits would be carried by the isolated coefficients. After adjustment, data bits are ready to be embedded into p^ij with 0≤p^ij<β, by multiplying p^ij by 2k to obtain p⌣ij and adding an input data to p⌣ij. Finally, a stego-block is formed by adding mj to p⌢ij and p⌣ij, respectively.


## 2.1.2. Bit Extraction

LetQ={qij}i=0n×n-1 be the jth hidden block of the stego-image and mj=Min{qij}i=0n×n-1 the minimum pixel value of the block. The coefficients of the jth difference block {q^ij}i=0n×n-1are acquired using {q^ij}i=0n×n-1={qij}i=0n×n-1-mj. Then, data bits can be extracted from a difference block. If 0≤q^ij<2kβ, then the data bits are obtained by applying modulo-2k operation. Subsequently, the pixels q^ij which hid the data bit can be restored by computing q^ij=⌊q^ij/2k⌋. The pixels q^ij which satisfy q^ij≥2kβ were subtracted from (2k-1)β in order to recover the pixels which contained no data bits. Notice that ⌊x⌋ is the floor function. Finally, a host block can be restored by adding mj to all the coefficients except the minimum pixel of the difference block.


## 2.2. The Minimum-Preserved with Squeezing Scheme

To provide even further capacity, the minimum-preserved with squeezing scheme can be used to embed data bits into the blocks classified by Rule 3 of Table1. A major distinction between the minimum-preserved scheme and the minimum-preserved with squeezing scheme is that the latter scheme employs a squeezing technique which can effectively dig out extra hiding space. The minimum-preserved with squeezing scheme is summarized in the following subsections.


### 2.2.1. Bit Embedding and Extraction

As a difference block was obtained by{p^ij}i=0n×n-1={pij}i=0n×n-1-mj, the squeezing process adjusted p^ij to a new value p~ij=p^ij-γ if p^ij>γ, where γ is a control parameter. Note that a bitmap was used here to flag whether or not a coefficient of the block had undergone adjustment. To help the decoder to later extract the data bits, overhead information can be losslessly compressed and sent by an out-of-band transmission to the receiver. After the squeezing process, the isolation process and bit embedding mentioned in Section 2.1.1 can be sequentially performed on the difference block.The bit extraction of the minimum-preserved with squeezing scheme that uses the bitmap as a look-up table is similar to that of the minimum-preserved scheme (see Section2.1.2). After bit extraction, to restore the original difference coefficients which had undergone adjustment, the term γ has to be added to the temporary difference block if the corresponding flag in the bitmap was set at 1. Subsequently, the original pixels can be recovered by adding mj to all the coefficients except the minimum pixel of the difference block.


### 2.2.2. Overhead Information Analysis

The number of bits for the bitmap iss×n2 with s denoting the occurrence of the blocks encoded by the minimum-preserved with squeezing scheme. The overhead information can be significantly reduced if (s/⌊M/n⌋×⌊N/n⌋)×100%≤40%, where the image size is M×N. This can be achieved by adjusting the value of τ during data embedding.


## 2.2.1. Bit Embedding and Extraction

As a difference block was obtained by{p^ij}i=0n×n-1={pij}i=0n×n-1-mj, the squeezing process adjusted p^ij to a new value p~ij=p^ij-γ if p^ij>γ, where γ is a control parameter. Note that a bitmap was used here to flag whether or not a coefficient of the block had undergone adjustment. To help the decoder to later extract the data bits, overhead information can be losslessly compressed and sent by an out-of-band transmission to the receiver. After the squeezing process, the isolation process and bit embedding mentioned in Section 2.1.1 can be sequentially performed on the difference block.The bit extraction of the minimum-preserved with squeezing scheme that uses the bitmap as a look-up table is similar to that of the minimum-preserved scheme (see Section2.1.2). After bit extraction, to restore the original difference coefficients which had undergone adjustment, the term γ has to be added to the temporary difference block if the corresponding flag in the bitmap was set at 1. Subsequently, the original pixels can be recovered by adding mj to all the coefficients except the minimum pixel of the difference block.


## 2.2.2. Overhead Information Analysis

The number of bits for the bitmap iss×n2 with s denoting the occurrence of the blocks encoded by the minimum-preserved with squeezing scheme. The overhead information can be significantly reduced if (s/⌊M/n⌋×⌊N/n⌋)×100%≤40%, where the image size is M×N. This can be achieved by adjusting the value of τ during data embedding.


## 2.3. BV Embedding Scheme

According to Rule 2 of Table1, the minimum-preserved scheme and the BV embedding scheme can be used to generate stego-blocks 1 and 2, respectively, when the BV of the host block satisfies τ/3≤BV≤τ. Let bj be the BV of the jth block. The term bj is defined by
(3)bj=Cmax-Cmin+1,
where Cmin=Min{pij}i=0n×n-1 and Cmax=Max{pij}i=0n×n-1 represent the minimum and maximum pixel value of the block. A difference block {p^ij}i=0n×n-3 can be obtained by
(4){p^ij}i=0n×n-3={pij}i=0n×n-3-Cmin.
Note that the minimum and the maximum pixel values of the block remain intact. The main idea of the BV embedding scheme is the addition of the difference block {p^ij}i=0n×n-3 to an input bit stream. More specifically, let the binary bit stream with the length of L to be embedded into {p^ij}i=0n×n-3 be B={ϕi}i=0L-1=∑i=0L-1ϕi2i. Transform B into B=∑i=0n2-3ηibji=(ηn2-3,…,η1,η0)bj with BV of bj. The resulting jth stego-block {p~ij}i=0n2-3 is obtained by
(5){p~ij}i=0n2-3={p^ij+ηi+Cmin}i=0n2-3.
Notice that the locations of both the minimum and the maximum pixels must be adjusted to the top-left of the block before the addition of data (ηi) and restored to their original locations after the addition of the minimum pixel (Cmin).At the receiver, instead of retrieving the BV from the stego-block 2, we compute the BVbj′=Dmax-Dmin+1, where Dmax and Dmin represent the maximum and minimum pixel values of the host block. These values have been previously restored by the minimum-preserved scheme from the stego-block 1. Let Q={qij}i=0n×n-1 be the jth hidden block which is derived from stego-image 2. The difference pixels of the jth block can be acquired using
(6){q^ij}i=0n×n-3={qij}i=0n×n-3-Dmin.
Then treat the n2-3 digit number
(7){ηij′}i=0n2-3={q^ij-p^ij)}i=0n2-3
as a BV of bj′ number, and convert the number {ηij′}i=0n2-3 to the expected number with BV of 2. Note that the coefficients {p^ij}i=0n2-3 have been previously obtained from the stego-block 1 by the minimum-preserved scheme. Notice as well that the number of bits hidden in the block is L=⌊(n2-2)log2bj⌋. This implies that the length of bits to be embedded into a host block is determined by the BV of bj.Figures1 and 2 present examples of data embedding and extraction by the BV embedding scheme. A host block was shown in Figure 1(a) with the minimum and maximum pixel value of the block denoted by the gray highlighted numbers. The BV of the block is 118 − 115 + 1 = 4. Figure 1(b) shows the difference block which was introduced by subtracting all the pixels except the minimum and maximum ones in Figure 1(a) from 115. Figure 1(c) was obtained by adjusting the maximum pixel value of 118 to the top-left of the block. Note that the corresponding adjusted coefficient in Figure 1(c) was marked by a rectangle. Assume that the secret bit stream (0100110 1001101)2 is the 14-bit stream to be embedded in Figure 1(c). Figure 1(d) was acquired by adding the input digits (01001101001101)2 = (4942)10 = (1031032)4 to the cofficients in Figure 1(c) in a raster scan with a reverse order. The hidden block, as shown in Figure 1(e), was generated by adding 115 to each of the coefficients in Figure 1(d). Finally, the stego-block 2 in which the maximum pixel was restored, is shown in Figure 1(f). The mean square error (MSE) computed from Figures 1(a) and 1(f) was 2.67. To extract the hidden data and recover the host block, a similar reverse procedure can be conducted to Figure 1(f). An example of data extraction is given in Figure 2.Example of data embedment with an input data digits of (103 103 2)4. (a) A host block, (b) a difference block; (c) adjust the maximum pixel value (118) to the top-left of the block; (d) add each data digit to the coefficients of the block in reverse order, (e) a hidden block, and (f) the resultant stego-block 2.
(a)
(b)
(c)
(d)
(e)
(f)Example of data extraction. (a) The stego-block 2, (b) after the adjustment of the maximum pixel value, (c) the difference block, (d) the host block restored from the stego-block 1, (e) the difference block of (d), and (f) after adjustment the maximum pixel value. The hidden digits can be extracted by subtracting the coefficients in (c) from those in (f); respectively, the extracted digits was (1031032)4.
(a)
(b)
(c)
(d)
(e)
(f)


## 2.4. Overflow/Underflow Discussion

Since the minimum pixel value of the block is preserved by the minimum-preserved (with squeezing) scheme, an underflow issue can be prevented. As for the blocks encoded by the BV embedding scheme, the underflow issue could be avoided by adjusting the value of parameterτ. However, if there is a pixel of the block where the value is equal to (or a little less than) 255, an overflow issue can occur during bit embedding. A block skipped policy can be used to solve the issue. Alternatively, the maximum-preserved (with squeezing) scheme, which preserves the maximum pixel value of the block, can be employed in the proposed ACS algorithm to overcome the overflow issue; more precisely, the minimum-preserved (with squeezing) scheme can be replaced by the maximum-preserved (with squeezing) scheme when (1) the host images were incapable of recovering from the stego-images by the former scheme or (2) the number of skipped blocks lies beyond a predefined threshold. Since the process of data embedment and the extraction procedure for the maximum-preserved (with squeezing) scheme is similar to that of the minimum-preserved (with squeezing) scheme, they are skipped here.


## 3. Experimental Results

Several 512 × 512 gray-scale images, as shown in Figure3, are used as the host images. One of the host images, Baboon, is used as the test data. The size of block is 3 × 3, and the integer k is set to 1. A tradeoff between the PSNR (dB) and the payload (in bits) for the stego-images 1 and 2 generated by the proposed method using various β is drawn in Figure 4. Figure 4(a) shows that the payload exceeds 6 × 105 bits for all images except Baboon. The optimal PSNRs for the stego-image 1 (Figure 4(a)) and stego-image 2 (Figure 4(b)) are 30.98 dB and 31.78 dB, respectively, with an average payload size of 662,861 bits. Moreover, Figure 4 reveals that the average PSNR value of stego-image 2 is nearly 2 dB below that of stego-image 1 if the payload size is less than 5 × 105 bits. Notice that a block skipped policy was employed on the image Boat; however, only 5 blocks were skipped. In addition, two stego-images generated by the proposed method from the images Lena and Baboon, respectively, are depicted in Figure 5. It can be seen that the perceived quality of these images is acceptable. The average PSNR/payload for the images Lena and Baboon are 33.73 dB/690,233 bits and 30.36 dB/546,688 bits, respectively. The PSNR is defined by
(8)PSNR=10×log102552MSE,
where MSE=(1/MN)∑i=1N∑j=1M(x^(i,j)-x(i,j))2 if the image size is M×N. Here x(i,j) and x^(i,j) denote the pixel values of the original image and the marked image, respectively. Notice as well that the relation between two control parameters β and γ is γ=β-1. Figure 6 indicates that the payload size varied by a different combination of the parameters β, γ, and τ on the images Lena and Baboon. The payload is gradually increased as β (or τ) is enlarged. Figure 6 also reveals that the maximum hiding storage provided by the image Lena is approximately 2×105 bits larger than that provided by the image Baboon. To demonstrate the capability of handling the overflow issue, the proposed maximum-preserved (with squeezing) scheme was applied to the image Tiffany, which is a typical image often used to test the occurrence of overflow by several existing methods. Simulations confirm not only that the proposed method can losslessly extract the secret message but also that the host image can be fully recovered. Figure 7 presents the experimental results. Figure 7(a) displays the relationship between PSNR and payload. We can see that the performance of stego-image 1 is better than that of stego-image 2 when the payload size is lower than 6.5 × 105 bits. Moreover, Figure 7(b) shows the variations of payload versus the parameters of β, γ, and τ. It presents a similar performance to that of Figure 6(a).The host images.
(a)
Lena
(b)
Jet
(c)
Peppers
(d)
Baboon
(e)
Goldhill
(f)
Scene
(g)
Man
(h)
Boat
(i)
TiffanyThe relationship between PSNR and payload for the proposed method on test images. (a) Stego-image 1 and (b) stego-image 2.
(a)
(b)Two stego-images generated by the proposed method. (a) Stego-image 1 ofLena (33.19 dB), (b) stego-image 2 of Lena (34.25 dB), (c) stego-image 1 of Baboon (30.41 dB), and (d) stego-image 2 of Baboon (30.78 dB).
(a)
(b)
(c)
(d)Relationship between the payload and the control parametersβ (with γ-1) and τ  for the proposed method on the test images. (a) Lena and (b) Baboon.
(a)
(b)Simulations of the imageTiffany. (a) Tradeoff between PSNR and payload and (b) the relationship between the payload and the parameters β (with γ-1) and τ.
(a)
(b)To evaluate our scheme’s performance, this subsection compares our scheme with various approaches [11, 13, 14, 20, 22, 24]. Since the PSNR value of Yang and Tsai [14] is better than those of Zeng et al. [12] and Yang and Hu [15] when the payload approaches 1 bpp, the performance comparison does not include both methods. Figure 8 illustrates the comparison between various methods in two test images, Lena and Boat. Figure 8(a) shows that our method provides the best PSNR with the largest hiding capacity when the payload is larger than 1.70 × 105 bits. Note that the larger the payload, the larger the leading gap. Similarly, Figure 8(b) reveals the superiority of the proposed method when the payload is larger than 1.25 × 105 bits. Table 2 compares our method with the conventional reversible data hiding techniques [11, 13, 14] when the average payload size is larger than 3 × 105 bits with the PSNR around 30 dB. Table 2 indicates that the payload generated by the proposed method is far larger than that generated by the rest of the techniques, while our PSNR is the best among them. Table 2 also implies that it is difficult for the reversible data hiding techniques [11–15] to provide a payload of a size approaching 7 × 105 bits with a PSNR value above 32 dB. For example, if one tried to embed a secret message of the above size into two host images using one of the other approaches, the PSNR value would be around 31 dB. Since a secret message can be separately embedded into two stego-images using the proposed method, third parties (or malicious users) would be incapable of extracting the hidden message (and recovering the original host image) when they are only dealing with one of the stego-images.Table 2
Payload/PSNR performance comparison between various methods (under PSNR value above 30 dB).
Methods
Images
Lena
Jet
Peppers
Boat
Average
Lin et al. [11]
346,568/30.19
362,847/30.19
342,175/30.19
314,196/30.19
341,447/30.19
Wu et al. [13]
319,816/30.30
411,566/31.35
322,437/31.54
306,708/31.01
340,132/31.05
Yang and Tsai [14]
385,519/31.65
364,951/31.65
341,202/31.65
280,285/31.65
342,989/31.65
Our method†
716,596/32.29
610,269/33.58
769,364/31.71
702,811/30.60
699,760/32.05
†Theaverage PSNR of stego-image 1 and stego-image 2 was displayed here.Performance comparison between various methods on two test images. (a)Lena and (b) Boat.
(a)
(b)Table3 compares our method with the secret image sharing schemes. All of the methods except for Chang et al.’s technique [22] have the capability of generating meaningful stego-images, which can be an important feature for a secret image sharing (with steganography). In addition, however, the three schemes, Yang et al. [20], Chang et al. [21], and Chang et al. [22], are incapable of recovering the host image without distortion. Although the PSNR of our method is not better than that of the other schemes [20, 21, 24], the maximum capacity provided by our method is larger than that provided by Yang et al. [20] and Chang et al. [21]. However, both the PSNR and the payload of our method are superior to that of Chang et al. [22]. Finally, the last row of Table 3 reveals that the number of shadows needed to implement the proposed method is less than that required by the other three schemes [20, 21, 24].Table 3
Comparisons of the related secret image sharing schemes.
Functionality
Methods
Yang et al. [20]
Chang et al. [21]
Chang et al. [22]
Lin et al. [24]
Our method
Meaningful shadows
Yes
Yes
No
Yes
Yes
PSNR
40 dB
40 dB
~34 dB
43 dB
~35 dB
Lossless secret image
Yes
Yes
Yes
Yes
Yes
Lossless cover image
No
No
No
Yes
Yes
Max. payload (bytes)
(
M
×
N
)
/
4
(
M
×
N
)
/
4
(
M
×
N
)
/
8
≤
(
(
t
-
3
)
M
×
N
)
/
3
>(M×N)/4
Number of shadows
3
3
2
>3
2


## 4. Conclusions

This paper presents an effective reversible data hiding method using two marked images via the adaptive coefficient-shifting (ACS) algorithm. According to the three predetermined rules, two target blocks, stego-block 1 (S1) and stego-block 2 (S2), are generated by embedding secret digits into the host block via the ACS algorithm. More specifically, both S1 and S2 are generated by either the minimum-preserved scheme (or the minimum-preserved with squeezing scheme) when Rule 1 (or Rule 3) is satisfied. S1 and S2 are generated by the minimum-preserved scheme and the BV embedding scheme, respectively, if Rule 2 fits the case. Simulations validate that the ACS algorithm not only completely recovers a host medium but is also able to obtain a distortion-free extracted message. The ACS algorithm is capable of handling various kinds of images without any occurrence of overflow/underflow. Moreover, the payload and PSNR performance of the proposed method is superior to that of the conventional invertible data hiding schemes. Since a secret message is spread into two stego-images by the proposed method, third parties with one stego-image cannot extract the hidden message nor can the original host image be recovered. Furthermore, the number of shadows required by the proposed method is less than that required by the existing (t, n)-threshold schemes of secret image sharing with steganography.



---

*Source: 473896-2012-12-04.xml*