# High-Quality Reversible Data Hiding Approach Based on Evaluating Multiple Prediction Methods

Cheng-Hsing Yang, Kuan-Liang Liu, Chun-Hao Chang, Yi-Jhong Jhang

► To cite this version:

Cheng-Hsing Yang, Kuan-Liang Liu, Chun-Hao Chang, Yi-Jhong Jhang. High-Quality Reversible Data Hiding Approach Based on Evaluating Multiple Prediction Methods. 2nd Information and Communication Technology - EurAsia Conference (ICT-EurAsia), Apr 2014, Bali, Indonesia. pp.622-632, 10.1007/978-3-642-55032-4_64. hal-01397279

HAL Id: hal-01397279

https://inria.hal.science/hal-01397279

Submitted on 15 Nov 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
High-quality Reversible Data Hiding Approach
Based on Evaluating Multiple Prediction Methods

Cheng-Hsing Yang, Kuan-Liang Liu, Chun-Hao Chang, Yi-
Jhong Jhang

Department of Computer Science, National Pingtung University of Education, Pingtung, Taiwan 900

chyang@mail.npue.edu.tw

{tony3161515, chanangsmj5210, at20021006}@gmail.com

**Abstract.** Reversible data hiding based on prediction methods is a good technique that can hide secret bits into cover images efficiently. In this paper, we propose a reversible data hiding method based on four candidates of prediction methods and local complexity for enhancing stego-image quality. In our proposed method, before we embed the secret message in one level, we evaluate the four prediction methods by calculating their efficiency ratios to decide which prediction method will be used. When the selected prediction method is applied, a threshold based on local complexity is used to determine which pixel should join the shifting and embedding process. Therefore, more pixels will avoid executing the process of pixel shifting. It results in stego-images with lower distortion. The experimental results show that our image quality is superior to that of other approaches at the same capacity.

**Keywords:** Reversible Data Hiding, Variance, Image Quality, Prediction

# 1 Introduction

Reversible data hiding is a branch of data hiding. A reversible data hiding approach indicates that the original digital content can be completely recovered after the data extracting process is executed [1-2]. So far, many applications adopt the technique of reversible data hiding, such as military map, medical image [3, 4], law text, and so on.

Several reversible data hiding schemes have been proposed [5-23]. According to those literatures, the techniques in reversible data hiding could be divided into three categories. One is the difference expansion (DE for shorting) [8-10], another is histogram-based [11, 12], and the other is a hybrid. Here, the hybrid reversible data hiding indicates that the developer takes the combination of DE and predicted error (PE for shorting) or histogram-based and PE into consideration, and creates other views in the reversible data hiding scheme [13-23]. The hybrid reversible data hiding scheme is an improvement of DE or Histogram-based. The key point of hybrid reversible data hiding is prediction-based. Unlike in DE where only relation with two adjacent pixels is considered and Histogram-based where no relation is considered, prediction-based methods exploit the local relation between the current pixel and its predicted value. Meanwhile, many valuable hybrid approaches have been proposed, such as Lin et al.'s multilevel scheme [13], Tsai et al.'s predictive coding scheme [14], Yang and Tsai's interleaving prediction scheme [15], and Li et al.'s general scheme [22]. On the
other hand, some authors provided some different kind of data hiding methods, such as the one proposed in [24].

In this paper, we propose a reversible data hiding scheme based on four prediction methods and local complexity. Secret data is embedded into the cover image level by level [13]. In each level, the interleaving grouping approach is applied to divide the cover image into four groups [15]. Besides, one of the four prediction methods is chosen to apply to each group of the level. When a pixel of each group is processed, the predicted error is computed between the current pixel value and its predicted pixel value. Then, the local complexity, i.e. pixel variance, is adopted to determine whether the predicted error will join the process of pixel shifting and data concealing or not. After the process of pixel shifting and data embedding has been executed in one level, the difference between a cover pixel and a stego-pixel remains within ± 1.

The rest of this paper is organized as follows. In Section 2, the interleaving prediction method proposed by Yang and Tsai in 2010 is introduced [15]. In Section 3, our reversible data hiding with high image quality is presented in detail. The experimental result of our scheme is demonstrated in Section 4. Finally, the conclusion is given in the last section.

## 2 Related Works

In this section, we introduce Yang and Tsai's reversible data hiding scheme, which is based on interleaving prediction and histogram shifting [15]. The interleaving prediction method is used to promote the altitude of the peak point in histogram. Similar to a black-and-white chessboard, an image is partitioned into two groups with black and white pixels. In the first stage, white pixels are processed and predicted by their neighbor black pixels. Then, in the second stage, black pixels are processed and predicted by their neighbor white pixels.

The detailed steps of the first stage, which processes white pixels, are as follows. Let $P_{i,j}$ be a white pixel, where $(i, j)$ is the location, and $D_{i,j}$ be the predicted error between $P_{i,j}$ and its predictive value. All predicted errors are collected to generate a histogram $HS(D)$. Then, the following steps are executed.

Step 1: Find two pairs of peak and zero points ($Peak_A$, $Zero_B$) and ($Peak_B$, $Zero_B$) from the histogram $HS(D)$, such that $Zero_B < Peak_B < Peak_A < Zero_A$.

Step 2: Shift the value of the predicted error $D_{i,j}$ by 1 in the following cases.

Case A: Change all values in the range of $[Zero_B + 1, Peak_B - 1]$ to the left by 1 unit. This indicates that $D'_{i,j}$ is set to $D_{i,j-1}$ as $D_{i,j} \in [Zero_B + 1, Peak_B - 1]$.

Case B: Change all values in the range of $[Peak_A + 1, Zero_A - 1]$ to the right by 1 unit. This shows that $D'_{i,j}$ is set to $D_{i,j+1}$ as $D_{i,j} \in [Peak_A + 1, Zero_A - 1]$.

Step 3: Conceal a secret bit when the predicted error $D_{i,j}$ is equal to $Peak_A$ or $Peak_B$ as the following two cases.

Case A: If the to-be-embedded bit is 0, predicted error $D_{i,j}$ is unchanged. It indicates that $D'_{i,j}$ is set to $D_{i,j}$.

Case B: If the to-be-embedded bit is 1,
$$D'_{i,j} = \begin{cases} D_{i,j} + 1, & \text{if } D_{i,j} = \text{Peak}_A \\ D_{i,j} - 1, & \text{if } D_{i,j} = \text{Peak}_B \end{cases}$$

Step 4: Transform all the predicted errors into pixel values by running the inversed interleaving prediction. Then, output the stego-image.

After the first stage, its outputted stego-image is used as the input image of the second stage, which processes black pixels. After the second stage is processed, another two pairs of peak and zero points (PeakA, ZeroA) and (PeakB, ZeroB) are created and the final stego-image is obtained.

## 3 Our Proposed Methods

Our method takes four different prediction methods and a variance strategy into consideration. Firstly, the cover image is divided into four groups, Group1, Group2, Group3, and Group4, by the interleaving grouping method. Fig. 1 shows a grouping result, where each cell indicates a pixel and the number in the cell indicates the group number of the cell. Then, four stages are used to process the four groups, respectively. At each stage, four different prediction methods are evaluated and the one with the largest efficiency ratio R is chosen and used in this stage. Finally, all predicted error values and variance values are calculated by the chosen prediction method. Besides, a threshold TH is determined by variance values to decide whether a pixel would join the shifting and embedding process or not. The detail of the data hiding algorithm and extracting-restoring algorithm is given in following subsections.

<figure><img src="image_2.png" /><figcaption>Fig. 1 Interleaving grouping with four groups</figcaption></figure>

### 3.1 Data Hiding Algorithm

We take the first stage, which processes Group1, to describe our data hiding method. As shown in the gray part of Fig 1, one Group1 pixel, says $P_{i,j}$, is surrounded by eight neighboring pixels which belong to the other groups. The detailed algorithm is as follows.

**Algorithm Data_Hiding_of_the Firstly_Stage**

Input: Cover Image I, Secret message S, Proportional relationship C.

Output: Stego Image I', the couple data (PeakA, ZeroA) and (PeakB, ZeroB), a variance value THfirst.
Step 1: For each pixel $P_{i,j}$ in Group1, a predicted error $D_{i,j}$ is calculated by each of four following prediction methods:

* **Chessboard prediction:**

Case A: If $P_{i,j}$ has only two neighbor pixels $P_1$ and $P_2$ belonging to Group2 and Group3, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2}{2} \right\rfloor.$$

Case B: If $P_{i,j}$ has only three neighbor pixels $P_1$, $P_2$ and $P_3$ belonging to Group2 and Group3, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2 + P_3}{3} \right\rfloor.$$

Case C: If $P_{i,j}$ has four neighbor pixels $P_1$, $P_2$, $P_3$ and $P_4$ belonging to Group2 and Group3, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2 + P_3 + P_4}{4} \right\rfloor.$$

* **Edge prediction:**

Case A: If $P_{i,j}$ has only two neighbor pixels belonging to Group2 and Group3, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2}{2} \right\rfloor.$$

Case B: If $P_{i,j}$ has only three neighbor pixels belonging to Group2 and Group3, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2 + P_3}{3} \right\rfloor.$$

Case C: If $P_{i,j}$ has two neighbor Group2 pixels $P_1$ and $P_2$ and two neighboring Group3 pixels $P_3$ and $P_4$, the predicted error $D_{i,j}$ is given as

$$\text{If } |P_1 - P_2| > |P_3 - P_4|, \quad D_{i,j} = P_{i,j} - \left\lfloor \frac{P_3 + P_4}{2} \right\rfloor;$$

$$\text{else, } D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2}{2} \right\rfloor.$$

* **Squared prediction:**

Case A: If $P_{i,j}$ has only three neighbor pixels $P_1$, $P_2$ and $P_3$, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2 + P_3}{3} \right\rfloor.$$

Case B: If $P_{i,j}$ has only five neighbor pixels $P_1$, $P_2$, $P_3$, $P_4$ and $P_5$, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2 + P_3 + P_4 + P_5}{5} \right\rfloor.$$

Case C: If $P_{i,j}$ has eight neighbor pixels $P_1$, $P_2$, $P_3$, $P_4$, $P_5$, $P_6$, $P_7$ and $P_8$, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2 + P_3 + P_4 + P_5 + P_6 + P_7 + P_8}{8} \right\rfloor.$$
* Max-min-omitted prediction:

Case A: If $P_{i,j}$ has only two neighbor pixels $P_1$ and $P_2$ belonging to Group2 and Group3, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2}{2} \right\rfloor.$$

Case B: If $P_{i,j}$ has only three neighbor pixels $P_1$, $P_2$ and $P_3$ belonging to Group2 and Group3, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_1 + P_2 + P_3}{3} \right\rfloor.$$

Case C: If $P_{i,j}$ has four neighbor Group2 and Group3 pixels $P_1$, $P_2$, $P_3$ and $P_4$, with $P_1 \le P_2 \le P_3 \le P_4$, the predicted error $D_{i,j}$ is given as

$$D_{i,j} = P_{i,j} - \left\lfloor \frac{P_2 + P_3}{2} \right\rfloor.$$

Step 2: For each pixel $P_{i,j}$ in Group1, a variance value $V_{i,j}$ is calculated by each of the four prediction methods. The calculations of the four methods are similar, here only the chessboard prediction's calculation is shown below:

Case A: If $P_{i,j}$ has only two neighboring pixels $P_1$ and $P_2$ belonging to Group2 and Group3, the variance value $V_{i,j}$ is given as

$$V_{i,j} = 2 \cdot \left[ \left( P_1 - \left\lfloor \frac{P_1 + P_2}{2} \right\rfloor \right)^2 + \left( P_2 - \left\lfloor \frac{P_1 + P_2}{2} \right\rfloor \right)^2 \right].$$

Case B: If $P_{i,j}$ has only three neighboring pixels $P_1$, $P_2$ and $P_3$ belonging to Group2 and Group3, the variance value $V_{i,j}$ is given as

$$V_{i,j} = \left\lfloor \frac{4}{3} \cdot \left[ \left( P_1 - \left\lfloor \frac{P_1 + P_2 + P_3}{3} \right\rfloor \right)^2 + \left( P_2 - \left\lfloor \frac{P_1 + P_2 + P_3}{3} \right\rfloor \right)^2 + \left( P_3 - \left\lfloor \frac{P_1 + P_2 + P_3}{3} \right\rfloor \right)^2 \right] \right\rfloor.$$

Case C: If $P_{i,j}$ has four neighboring pixels $P_1$, $P_2$, $P_3$ and $P_4$ belonging to Group2 and Group3, the variance value $V_{i,j}$ is given as

$$V_{i,j} = \left( P_1 - \left\lfloor \frac{P_1 + P_2 + P_3 + P_4}{4} \right\rfloor \right)^2 + \left( P_2 - \left\lfloor \frac{P_1 + P_2 + P_3 + P_4}{4} \right\rfloor \right)^2 + \left( P_3 - \left\lfloor \frac{P_1 + P_2 + P_3 + P_4}{4} \right\rfloor \right)^2 + \left( P_4 - \left\lfloor \frac{P_1 + P_2 + P_3 + P_4}{4} \right\rfloor \right)^2.$$

Step 3: Collect all predicted error $D_{i,j}$ and generate their histogram. Then, select two pairs of peak and zero points ($Peak_A$, $Zero_A$) and ($Peak_B$, $Zero_B$), such that $Zero_B < Peak_B < Peak_A < Zero_A$.

Step 4: For each prediction method, its efficiency ratio $R$ is calculated as follows: Let the numbers of pixels falling in $Peak_A$, $Peak_B$, [$Peak_A+1$, $Zero_A$], and [$Zero_B$, $Peak_B-1$] be $J_1$, $J_2$, $I_1$ and $I_2$, respectively.

$$R = \frac{J_1 + J_2}{I_1 + I_2}$$

Step 5: Select the prediction method with the maximal $R$ value. Name the selected prediction method as $M_{first}$. Then, this level, including Group1, Group2, Group3 and Group4, will use the selected prediction method $M_{first}$ to embed the secret data.
Step 6: We use Group1 as an example of embedding secret data by method $M_{first}$. Let all predicted errors $D_{i,j}$, variance values $V_{i,j}$, two peak points $Peak_A$ and $Peak_B$, and two zero points $Zero_A$ and $Zero_B$ have been calculated. Count the number of pixels with predicted errors equal to $Peak_A$ and $Peak_B$ and with variance values equal to $r$, and store the number in $V_{first}[r]$. The numbers of pixels with variance values equal to $r$ and predicted errors falling into [$Peak_A+1$, $Zero_A$] and [$Zero_B$, $Peak_B-1$] are stored in $V_{positive\_shift\_first}[r]$ and $V_{negative\_shift\_first}[r]$, respectively. With the given proportional relationship $C$, find a maximal value $P_{first} \ge 0$ satisfying

$$ \frac{V_{positive\_shift\_first}[r] + V_{negative\_shift\_first}[r]}{V_{first}[r]} < C, 0 \le r \le P_{first}. $$

If $P_{first}$ does not exist, go to Step 10.

Step 7: Add values of $V_{first}[0]$, $V_{first}[1]$, ..., $V_{first}[t]$ to capacity until Capacity $\ge |S|$ or $t = P_{first}$. Set a variance threshold $TH_{first} = t$.

Step 8: Use $TH_{first}$ to distinguish whether a Group1's pixel $P_{i,j}$ will join the shifting and embedding process or not by setting the following flag:

$$ Flag_{i,j} = \begin{cases} 1, & \text{if } V_{i,j} \le TH_{first} \\ 0, & \text{if } V_{i,j} > TH_{first} \end{cases}. $$

If $Flag_{i,j} = 0$, it means that the pixel $P_{i,j}$ in Group1 will not join the shifting and embedding process; If $Flag_{i,j} = 1$, it means that the pixel $P_{i,j}$ in Group1 will join the shifting and embedding process.

Step 9: Run the following cases for each predicted error $D_{i,j}$ and its variance $V_{i,j}$.

Case A: If $Flag_{i,j} = 1$ and the predicted error $D_{i,j}$ is equal to $Peak_A$ or $Peak_B$, fetch a secret bit from $S$ and do the following two cases:

Case A1: If to-be-embedded-bit is 0, $D'_{i,j}$ is set to $D_{i,j}$.

Case A2: If to-be-embedded-bit is 1,

$$ \begin{cases} \text{If } D_{i,j} = Peak_A, D'_{i,j} = D_{i,j} + 1 \\ \text{If } D_{i,j} = Peak_B, D'_{i,j} = D_{i,j} - 1. \end{cases} $$

Case B: If $Flag_{i,j} = 1$ and the predicted error $D_{i,j}$ falls into the range of [$Zero_B + 1$, $Peak_B - 1$] or [$Peak_A + 1$, $Zero_A - 1$], shift predicted error $D_{i,j}$ by one unit as follows:

$$ \begin{cases} \text{If } D_{i,j} \in [Peak_A + 1, Zero_A - 1], D'_{i,j} = D_{i,j} + 1 \\ \text{If } D_{i,j} \in [Zero_B + 1, Peak_B - 1], D'_{i,j} = D_{i,j} - 1. \end{cases} $$

Case C: If $Flag_{i,j} = 0$, do nothing, that is, $D'_{i,j}$ is set to $D_{i,j}$.

Step 10: Transform each predicted error $D'_{i,j}$ into pixel value $P'_{i,j}$ by the inverse of the prediction method $M_{first}$. Finally, all pixel values $P'_{i,j}$ form the stego-image $I'$.

Step 11: Output two pairs ($Peak_A$, $Zero_A$) and ($Peak_B$, $Zero_B$), a variance threshold $TH_{first}$, and a prediction method $M_{first}$.

Step 12: If Capacity $< |S|$, repeat Step 1 to Step 12 until all secret $S$ have been embedded. Else, output stego-image $I'$.
Note that the outputted parameter data in Step 11 can be seen as secret data and be embedded firstly in the next stage. So, only the outputted parameter data of the last stage cannot be embedded.

## 3.2 Overflow/Underflow

In our Histogram-based reversible data hiding method, each pixel will change ±1 at most in every level. Therefore, before embedding secret data into the image in one level, we pre-modify pixels with values 0 and 255 into pixels with values 1 and 254, respectively, to prevent overflow and underflow as follows:

$$P_{i,j} = \begin{cases} 1, & \text{if } P_{i,j} = 0 \\ 254, & \text{if } P_{i,j} = 255. \end{cases}$$

Also, to judge those modifications, the location map is created before those modifications as follows:

$$L[k] = \begin{cases} 0, & \text{if } P_{i,j} = 1 \text{ or } P_{i,j} = 254 \\ 1, & \text{if } P_{i,j} = 0 \text{ or } P_{i,j} = 255, \end{cases}$$

where L is the location map and k is an index for those recorded pixels. Therefore, in each level, the size of the location map is k bits if there are k pixels with values equal to values 0, 1, 254, or 255.

# 4 Experiments

In this section, we provide the resultant of embedding capacity and image quality to demonstrate the performance of our proposed scheme. In our experiment, five gray-level images with size 512×512, which are depicted in Fig. 2, are used, and the secret message is obtained by pseudo-random generation. To estimate the image quality, we applied the function of peak-signal-to-noise-ratio (PSNR), which is defined as Eq. (1). To estimate the embedding capacity, the function of ER (Embedded Ratio; bpp) is adopted, where ER = Total Embedded bits / Size of Cover image. In the experiment, the proportional relationship C is set to 20 at the first level. Then, the C value is added by 0.5 at each of the following levels.

$$PSNR = 10 \times \log_{10} \left( \frac{255^2}{MSE} \right), \qquad (1)$$

where MSE is the mean square error between the cover image and the stego-image.

<figure><img src="image_3.png" /><figcaption>**Fig. 2** The cover images with size 512×512; (a) Airplane; (b) Baboon; (c) Boat; (d) Lena; (e) Peppers.</figcaption></figure>
Table 1 shows the comparison among Weng et al.'s method, Yang-Tsai method, and our proposed scheme. From this table, our scheme has better image quality than that of Weng et al.'s method, and the Yang-Tsai method when the sizes of the embedded bits of these two methods are similar. The reason is that our approach forbids some prediction errors entering the process of pixel shifting and we use four different prediction methods. The threshold TH strategy in our proposed scheme has efficiently eliminated the distortion caused by pixel shifting. It therefore has good performance of PSNR than the previous work.

<table><caption>**Table 1.** The compared resultant between our approach and Yang and Tsai's scheme.</caption><thead><tr><th rowspan="2"></th><th colspan="2">Weng et al.'s scheme[23]</th><th colspan="2">Yang and Tsai's scheme [15]</th><th colspan="2">Our approach</th></tr><tr><th>Payload (Bits)</th><th>PSNR</th><th>Payload (Bits)</th><th>PSNR</th><th>Payload (Bits)</th><th>PSNR</th></tr></thead><tbody><tr><td>Air-plane</td><td>31,142</td><td>60.41</td><td>30,013</td><td>52.70</td><td>31,142</td><td>60.41</td></tr><tr><td>Baboon</td><td>30,000</td><td>50.82</td><td>30,030</td><td>48.39</td><td>30,000</td><td>58.67</td></tr><tr><td>Boat</td><td>30,010</td><td>60.58</td><td>30,007</td><td>51.85</td><td>30,010</td><td>60.58</td></tr><tr><td>Lena</td><td>30,119</td><td>60.36</td><td>30,066</td><td>52.52</td><td>30,119</td><td>60.43</td></tr><tr><td>Peppers</td><td>30,148</td><td>60.44</td><td>30,005</td><td>52.23</td><td>30,148</td><td>60.42</td></tr><tr><td>Average</td><td>30,284</td><td>58.52</td><td>30,024</td><td>51.54</td><td>30,284</td><td>60.102</td></tr></tbody></table>

In addition, we also compared the resultant with some other previous works. As shown in Fig. 3, our scheme has better image quality than previous works [13, 15, 18, 23] with the same embedding capacities.

## 5 Conclusion

In this study, we propose a reversible data hiding method based on four candidates of prediction methods and local complexity for enhancing stego-image quality. We evaluate the four prediction methods by calculating their efficiency ratios to decide which prediction method will be used, and used the variance strategy to find out a threshold TH for selecting which prediction pixel should join the process of pixel shifting and data concealing. The variance strategy has efficiently improved histogram-based approaches to obtain high image quality. The experimental resultant shows that our method owns higher image quality than that of previous works when the embedding capacities are the same.
<figure><img src="image_4.png" /><figcaption>**Fig. 3** Comparison results among our proposed scheme and other reversible schemes for images: (a) Lena; (b) Baboon.</figcaption></figure>

## Acknowledgment

This research was partially supported by the National Science Council of the Republic of China under the Grant NSC-101-2221-E-153-002-MY2.

## References

1. J. B. Feng, I. C. Lin, C. S. Tsai, and Y. P. Chu, "Reversible watermarking: Current status and key issues," *International Journal of Networks and Security*, vol. 2, no. 3, pp. 161-170, 2006.

2. Y. Q. Shi, Z. Ni, D. Zou, C. Liang, and G. Xuan, "Lossless data hiding: Fundamentals, algorithms,
and applications,” in Proc. *IEEE ISCAS*, pp. 33-36, 2004.

3. D. C. Lou, M. C. Hu, and C. Li Liu, "Multiple-layer data hiding scheme for medical image," *Computer Standards and Interfaces*, vol. 31, no. 2, pp. 329-335, 2010.

4. Q. M. Al-Qershi and B. E. Khoo, "High capacity data hiding schemes for medical images based on difference expansion," *Journal of Systems and Software*, vol. 31, no. 4, pp. 787-794, 2011.

5. C. C. Chang, T. S. Nguyen, and C. C. Lin, "A reversible data hiding scheme for VQ indices using locally adaptive coding," *Journal of Visual Communications and Image Representation*, vol. 22, no. 7, pp. 664-672, 2011.

6. C. H. Yang, W. J. Wang, c. T. Huang, and S. J. Wang, "Reversible steganography based on side match and hit pattern for VQ-compressed images," *Information Sciences*, vol. 181, no. 11, pp. 2218-2230, 2011.

7. J. X. Wang and Z. M. Lu, "A path optional lossless data hiding scheme based on VQ joint neighbor- ing coding," *Information Sciences*, vol. 179, no. 19, pp.1016-1024, 2009.

8. J. Tian, "Reversible data embedding using a difference expansion," *IEEE Trans. on Circuits Sys- tems for Video Technology*, vol. 16, no. 3, pp. 890-896, 2003.

9. A. M. Alttar, "Reversible watermark using the difference expansion of a generalized integer trans- form," *IEEE Trans. on Image Processing*, vol. 13, no. 8, pp. 1147-1156, 2004.

10. C. C. Lee, H. C. Wu, C. S. Tsai, and Y. P. Chu, "Adaptive lossless steganography with centralized difference expansion," *Pattern Recognition*, vol. 141, no. 6, pp. 2097-2106, 2008.

11. Z. Ni, Y. Q. Shi, N. Ansar, and W. Su, "Reversible data hiding," *IEEE Trans. on Circuits Systems for Video Technology*, vol. 16, no. 3, pp. 354-362, 2006.

12. S. Yousefl, H. Rablee, E. Yousefl, and M. Ghanbarl, "Reversible data hiding using histogram sort- ing and integer transform," in *Proc. IEEE DEST*, pp. 487-490, 2007.

13. C. C. Lin, W. L. Tai, C. C. Chang, "Multilevel reversible data hiding based on histogram modifica- tion of difference images," *Pattern Recognition*, vol. 41, no. 12, pp. 3582-3591, 2008.

14. P. Tsai, Y. C. Hu, and H. L. Yeh, "Reversible image hiding scheme using predictive coding," *Signal Processing*, vol. 89, no. 6, pp. 1129-1143, 2009.

15. C. H. Yang and M. H. Tsai, "Improving histogram-based reversible data hiding by interleaving prediction," *IET Image Processing*, vol. 4, no. 4, pp. 223-234, 2010.

16. C. F. Lee, H. L. Chen, and H. K. Tso, "Embedding capacity raising in reversible data hiding based on prediction of difference expansion," *Journal of Systems and Software*, vol. 83, no. 10, pp. 1864-1872, 2010.

17. A. Zhao, H. Luo, Z. M. Lu, J. S. Pan, "Reversible data hiding based on multilevel histogram modi- fication and sequential recovery," *AEU-International Journal of Electronics and Communication*, vol. 65, no. 10, pp. 814-826, 2011.

18. H. J. Hwang, H. J. Kim, V. Sachnev, and S. H. Joo, "Reversible watermarking method using opti- mal histogram pair shifting based on prediction and sorting," *KSII Trans. on Internet and Infor- mation Systems*, vol. 4, no. 4, pp. 555-670, 2010.

19. X. Li, B. Yang, and T. Zeng, "Efficient reversible watermarking based on adaptive prediction-error expansion and pixel selection," *IEEE Trans. on Image Processing*, vol. 20, no. 12, pp. 3524-3533, 2011.

20. W. L. Tai, C. M. Yeh, and C. C. Chang, "Reversible data hiding based on histogram modification of pixel differences," *IEEE Trans. on Circuits Systems for Video Technology*, vol. 19, no. 6, pp. 906-910, 2009.

21. Z. Zhao, H. Luo, Z.M. Lu, J.S. Pan, "Reversible data hiding based on multilevel histogram modifica- tion and sequential recovery" *International Journal of Electronics and Communications (AEU)*, Int. J. Electron. Commun. (AEU) , vol. 65 , no. 10, pp. 814–826, 2011.

22. X. Li, B. Li, B. Yang, and T. Zeng, "General framework to histogram-shifting-based reversible data hiding" *IEEE Transactions on image processing*, vol. 22, no. 6, June 2013.

23. C. Y. Weng, C. H. Yang, C. I. Fan, K. L. Liu, and H. M. Sun, "Histogram-Based Reversible Infor- mation Hiding Improved by Prediction with the Variance to Enhance Image Quality," in *The 8th Asia Joint Conference on Information Security, Seoul, Korea*, July 25-26, 2013.

24. A. Catiglione, A. De Santis, C.Soriente, "Taking advantages of a disadvantage: Digital forensics and steganography using document metadata," *Journal of Systems and Software*, vol. 80, no. 5, pp. 750-764, 2007.