Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
Contents lists available at SciVerse ScienceDirect
International Journal of Electronics and Communications (AEÜ) journal homepage: www.elsevier.de/aeue
Prediction-based reversible data hiding using the difference of neighboring pixels Chin-Chen Chang a,b,∗ , Ying-Hsuan Huang c , Hsin-Yi Tsai d , Chuan Qin a,e a
Department of Information Engineering and Computer Science, Feng Chia University, Taichung 40724, Taiwan Department of Computer Science and Information Engineering, Asia University, Taichung 41354, Taiwan c Department of Computer Science and Engineering, National Chung Hsing University, Taichung 40227, Taiwan d Department of Computer Science, National Tsing Hua University, 101 Section 2, Kuang-Fu Rd, Hsinchu 30013, Taiwan e School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China b
a r t i c l e
i n f o
Article history: Received 8 July 2011 Accepted 12 January 2012 Keywords: Reversible data hiding Histogram-shifting Visual quality Hiding capacity
a b s t r a c t A multilevel histogram-modification mechanism was proposed by Zhao et al. in 2011 to achieve the high hiding capacity. However, the pixel was modified regardless of whether it was embeddable, which led to a serious distortion problem. In this paper, we propose a reversible data hiding scheme that determines whether the pixel is embeddable or not by calculating the absolute difference of its neighboring pixels. If the absolute difference is higher than a predetermined threshold, the pixel remains unchanged to achieve high image quality. Experimental results and performance comparisons show that the proposed method has better visual quality and higher hiding capacity than the recently proposed methods. © 2012 Elsevier GmbH. All rights reserved.
1. Introduction In recent years, the Internet has become a popular public communication channel to transmit large amounts of multimedia information, such as text, images, and audio. However, the prevalence of the Internet has caused some security concerns, including protecting private communication and intellectual property rights (IPR). Cryptography is a well-known method for solving such security problems [1,2], but, since the encrypted secret data generated by this kind of method is unreadable, it may attract the attention of eavesdroppers. In order to solve this problem, the information hiding method is proposed that can utilize a variety of multimedia as cover media and embed the secret data into the cover media to generate stego media. Because of the visual similarity of stego media and cover media, the stego media can avoid the hacker’s notice and prevent a possible attack. Currently, the information hiding methods are classified into two categories, i.e., irreversible data hiding methods [3–5] and reversible data hiding methods [6–12]. Irreversible data hiding methods are those in which the recipient cannot recover the cover media when the cover image embedded with the secret data is transmitted to the receiver. Although the advantages of this approach are that it has high hiding capacity and good image
∗ Corresponding author at: Department of Information Engineering and Computer Science, Feng Chia University, No. 100 Wenhwa Rd., Seatwen, Taichung, 40724, Taiwan. Tel.: +886 4 24517250; fax: +886 4 27066495. E-mail addresses:
[email protected] (C.-C. Chang),
[email protected] (Y.-H. Huang),
[email protected] (H.-Y. Tsai),
[email protected] (C. Qin). 1434-8411/$ – see front matter © 2012 Elsevier GmbH. All rights reserved. doi:10.1016/j.aeue.2012.01.008
quality, the disadvantage is that the cover image cannot be recovered. In order to overcome this problem, researchers have proposed a reversible data hiding method by which the embedded information and the cover image both can be recovered without any distortion. Therefore, reversibility can be used for the transmission of sensitive information, such as military and medical images. In 2003, Tian first proposed a reversible data hiding method using difference expansion (DE) [6]. In this method, the difference between two adjacent pixels is calculated and then doubled. Therefore, the difference between the two pixels is an even number. During the embedding procedure, if the secret bit was 0, the difference was unchanged and remained even, while if the secret bit is 1, the difference was odd. The secret data can be extracted from the least significant bit (LSB) of the difference of two adjacent pixels in the stego image. However, the image quality of Tian’s method is not high. In 2004, Alattar proposed a reversible integer transform method [7] that can enhance the visual quality of stego images and increase the hiding capacity. In 2007, different from Alattar’s approach, Thodi et al. proposed an expansion scheme based on prediction error (PE) to embed secret data [8]. They used a predictable function to predict the pixel value and calculated the difference between the pixel and its predicted value. In order to embed secret data, the prediction error was doubled. The above three methods [6–8] are all based on the DE mechanism, and their hiding capacity and image quality are satisfactory. However, due to the expansion in the embedding stage, the pixels may have an overflow or underflow problem. In order to solve this problem, these methods must have a location map to identify whether the pixel is embeddable or not. The location map was also embedded into the cover image together with the secret data. Therefore, the image quality and
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
759
hiding capacity were decreased. In 2007, Jin et al. proposed a location map-free lossless information hiding method [9]. They calculated the difference between the embeddable pixel and the average value of its eight neighboring pixels and explored the relationships of these neighboring pixels to obtain an appropriate threshold, which can guarantee that the embeddable pixel does not have an underflow or overflow problem. However, the hiding capacity was quite low when the calculated threshold was small. To achieve better visual quality, many researchers proposed histogram-shifting methods to control image quality distortion [10–12]. In 2006, Ni et al. [10] counted the occurrence number of pixels in the cover image to generate a histogram. The pixel value that occurred most frequently in the histogram was called the peak point and the pixel value with zero frequency was called the zero point. The pixel values in the range from the right one of peak point to the zero point must be increased by one to create the hiding space, and the peak point was used to embed the secret data. Because only some pixels were modified, the stego image had good visual quality. However, the disadvantage of this method was low hiding capacity. In 2009, Li et al. proposed a reversible data hiding method that they called the “adjacent pixel difference” (APD) method, which was based on the modification of the differences between the neighboring pixels [11]. Because the adjacent pixel values were similar, the difference values were approximately zero in the histogram. In this method, two pairs of peak points and zero points were picked. The negative pair was moved to the left with the increment of one level, and the positive pair was moved to the right with the increment of one level to increase the hiding capacity. The stego image quality of the above histogram-shifting methods is satisfactory, but their schemes require the information of peak point and zero point to extract the secret data and recover the original pixel. In order to overcome this problem and increase the hiding capacity, Zhao et al. proposed a method in 2011 [12] that exploited the technique of the multilevel histogram-modification to generate an integer pointer called “embedding level” (EL) for indicating the embedding bin. First, the right bins of the pointer were shifted EL + 1 levels to the right, and the left bins of the pointer were shifted EL levels to the left to create the embedding space that used the hierarchical concept to embed secret data level by level. Therefore, a larger EL indicated that more secret data could be embedded. In the above histogram-shifting method, regardless of whether the pixel was embedded with the secret data, the pixel value was changed by the histogram-shifting operation, which causes serious destruction in the image quality.
In this paper, we propose a reversible data hiding method based on PE expansion and the median edge detection (MED) predictor [13] that has higher hiding capacity than that of the histogram-shifting methods. Meanwhile, in order to overcome the serious distortion caused by embedding the location map and the histogram-shifting operation, inspired by Jin et al.’s scheme [9], we used one pre-determined threshold and the adjacent pixel’s difference to determine whether the pixel can be used to embed the secret data. If the adjacent pixel’s difference is higher than the predetermined threshold, the pixel remains unchanged to achieve high image quality. The rest of the paper is organized as follows. In Section 2, the related works about the prediction approach and multilevel histogram-shifting are introduced. Section 3 describes the proposed method. Experimental results and comparison are given in Section 4, and Section 5 concludes the paper.
Fig. 1. The pixels of one 2 × 2 block.
Fig. 2. An example of cover image block.
2. Related works 2.1. PE expansion method In 2007, Thodi et al. proposed a PE expansion reversible data hiding method [8]. The embedding procedure of this method can be summarized as follows: Step 1: The cover image is divided into several overlapping 2 × 2 blocks. The four pixels in one block can be represented as shown in Fig. 1, where p is the current embedding pixel. Step 2: The prediction value pˆ can be calculated by Eqs. (1) and (2): pˆ = 2 ×
p=
p 2
,
min(b, c), max(b, c), b + c − a,
(1) if a ≥ max(b, c), if a ≤ min(b, c), otherwise.
(2)
Step 3: Compute the prediction error e between the current embedding pixel p and the prediction value pˆ , i.e., e = p − pˆ . Step 4: Calculate the stego pixel p by p = pˆ + 2 × e + s,
(3)
where s is secret data and s∈ {0, 1}. The following gives an example to illustrate the embedding procedure of this method. Suppose that the four pixels of the block are {155, 158, 160, 162}, as shown in Fig. 2, and the secret data s is 1. First, we obtain a prediction value pˆ = 160 by Eqs. (1) and (2). Then,
760
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
the prediction error e between the embeddable pixel p and the prediction value pˆ is calculated, i.e., e = p − pˆ = 162 − 160 = 2. Finally, we use Eq. (3) to embed secret data s = 1 and obtain the stego pixel p = 165. Also, we use the above example to explain the procedure of the secret data extraction step and recovery of the pixel value. The four pixels of the stego block are {155, 158, 160, 165}. We get a prediction value pˆ = 160 using Eqs. (1) and (2). Then, the prediction error e between the stego pixel p and the prediction value pˆ is calculated, i.e., e = p − pˆ = 165 − 160 = 5, and the secret bit s can be obtained from the LSB of prediction error e , i.e., s = LSB(e ) = 1. Finally, the original pixel value can be recovered using the equation p = pˆ + e2 5 = 160 + 2 = 162.
2.2. Multilevel histogram-modification mechanism In 2011, Zhao et al. proposed a multilevel histogrammodification scheme that improved the hiding capacity of the histogram-based method and reduced the information of the peak point and zero point. The embedding procedure of this method is described below: Step 1: Transform the two-dimensional cover image sized M × N into a one-dimensional sequence pj , where j = 1, 2, . . ., M × N, in the raster-scanning order. Step 2: Compute the difference di of the two adjacent pixels to construct the histogram, i.e., di = pj − pj+1 , where i = 1, 2, . . ., M × N − 1, and the bins of the histogram are denoted as b(-255), b(-254), . . ., b(255). Step 3: The right bins of b(EL) are shifted EL +1 levels to the right, and the left bins of b(−EL) are shifted EL levels to the left. Step 4: The difference di that is equal to −EL or EL can be used to embed the secret data s by Eq. (4):
di
=
2 × EL + s, −2 × EL − s + 1,
if di = EL, if di = −EL,
(4)
where di is the difference after embedding, s is the secret data and s∈ {0, 1}. Step 5: Decrease EL by one. If EL is not equal to 0, go to Step 4 repeatedly. Otherwise, EL and the difference di are both equal to 0, and then the difference di is embedded with secret data s by the equation di = di + s. Step 6: The stego pixel pi is calculated using the equation
pj
=
p1 , pj−1 − di ,
if j = 1, otherwise,
Step 3: Each original difference di can be recovered by:
di =
⎧ di − EL − 1, if di > 2 × EL + 1, ⎪ ⎪ ⎪ if di < −2 × EL, ⎪ di + EL, ⎨
(6)
Step 4: The secret data s can be extracted by:
s=
⎧ 0, if di = 2 × EL, ⎪ ⎪ ⎪ ⎨ 0, if di = −2 × EL + 1, if d = 2 × EL + 1,
1,
i ⎪ ⎪ 1, if di = −2 × EL. ⎪ ⎩
(7)
Step 5: Decrease EL by one. If EL is not equal to 0, go to Step 4 repeatedly. If EL is equal to 0 and di is equal to 0 or 1, the secret data s can be extracted by:
s=
0, if di = 0, 1, if di = 1.
(8)
Step 6: The original pixel pj is calculated by:
pj =
p1 , pj−1 − di ,
if j = 1, otherwise.
(9)
2.3. Jin et al.’s scheme [9] In 2007, Jin et al. proposed a lossless data hiding method, which included the derivation best threshold phase, the embedding data phase, and the extraction and recovery phase. The derivation best threshold phase is described as follows. 2.3.1. Derivation best threshold phase Step 1: The cover image is divided into W2−1 × H−1 overlapping 2 blocks sized 3 × 3, where W and H are the width and the height of cover image, respectively. The center pixel of each block is denoted as CPi (i = 1, 2, . . . , W2−1 × H−1 ), and 2 its neighboring pixels is denoted as NPi,j (j = 1, 2, . . ., 8). Step 2: The integer average IAi of neighboring pixels NPi,j is derived,
8
i.e., IAi = 18 j=1 NP i,j . Step 3: The difference di between the center pixel CPi and the integer average IAi is calculated, i.e., di = CPi − IAi . Step 4: The maximum difference MDi of neighboring pixels NPi,j is computed, see Eq. (10).
(5)
and pj is transformed into a two-dimensional stego image.
if di ∈ {2 × r, 2 × r + 1}, r = 0, 1, . . . , EL, if di ∈ {−2 × r, −2 × r + 1}, r = 1, 2, . . . , EL.
r,
⎪ ⎪ ⎪ ⎪ ⎩ −r,
MDi =
max{NP i,j } − IAi , min{NP i,j } − IAi ,
if di ≥ 0, otherwise.
(10)
Step 5: The threshold ti can be obtained, see Eq. (11). When the receiver receives the stego image, the extraction and recovery algorithm is used to extract secret data and recover the original pixel. The extraction and recovery algorithm is described below: Step 1: Transform the two-dimensional stego image sized M × N into a one-dimensional sequence pj , where j = 1, 2, . . ., M × N, in the raster-scanning order. Step 2: Compute the difference di of the two adjacent pixels to construct the histogram, i.e., di = pj − pj+1 , where i = 1, 2, . . ., M × N − 1.
ti =
⎧ ⎪ ⎨ MDi , if IAi + 2di < 0 ⎪ ⎩ ∞,
or IAi + 2di > 254, otherwise.
(11)
Step 6: The best threshold T can be acquired, see Eq. (12). T = min(ti ).
(12)
2.3.2. Embedding phase When the best threshold T is obtained, the embedding phase is used to hide secret data s. The embedding phase is as follows.
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
761
Step 1: The maximum difference MDi is calculated in the same way as the derivation best threshold phase. Step 2: The stego pixel SPi is obtained, see Eq. (13).
SP i =
IAi + 2di + s, CP i ,
if |MDi | < T, otherwise,
(13)
where s is a secret bit. 2.3.3. Extraction and recovery phase When the receiver obtains the stego image and the threshold, the secret data can be extracted and the original pixel can be restored by the extraction and recovery phase. Step 1: The stego image is divided into W2−1 × H−1 overlapping 2 blocks sized 3 × 3. The center pixel of each block is denoted as CP i (i = 1, 2, . . . , W2−1 × H−1 ), and its neighboring 2 pixels is denoted as NP i,j (j = 1, 2, . . . , 8). Step 2: The integer average IAi of neighboring pixels NP i,j is derived, i.e., IAi = 18
Step 3: Step 4:
8
NP i,j . j=1 The difference di between the center pixel CP i and the integer average IAi is calculated, i.e., di = CP i − IAi . The maximum difference MDi of neighboring pixels NP i,j is
computed:
MDi =
⎧ ⎨ max{NP i,j } − IAi , if di ≥ 0, ⎩
min{NP i,j } − IAi ,
otherwise.
Step 5: If MDi is smaller than threshold T, a secret bit s can be extracted: s = (CP i − IAi ) < MML : MSPACEWIDTH = "THINMATHSPACE"/ > mod < MML : MSPACEWIDTH = "THINMATHSPACE"/ > 2. Step 6: The original pixel can be recovered by Eq. (14).
CP i =
⎧ ⎨ CP i + IAi − s , if |MDi | < T,
⎩ CP i ,
2
otherwise.
(14)
3. Proposed scheme In previous research, the location map was used to identify whether the pixel was embeddable or not. However, the location map also was embedded into the cover image together with the secret data, which may cause a decrease in image quality. Although the histogram-modification method was proposed to overcome the above distortion problem, it still changed the pixels that were not embedded with the secret data. In order to solve this problem, we used a pre-determined threshold and the absolute difference of the neighboring pixels to identify whether the pixel can be embedded with secret data. If the absolute difference is higher than the pre-determined threshold, the pixel cannot be embedded with the secret data and remains unchanged. In other words, the pixel is changed only when the secret data are embedded.
Fig. 3. Embeddable and non-embeddable regions in the cover image.
overlapping blocks sized 2 × 2, where W and H are the width and the height of cover image, respectively. The absolute difference of the current embedding pixel is calculated using the adjacent pixels. If the absolute difference is higher than the pre-determined threshold T, after embedding, the pixel may have an overflow or underflow problem and serious distortion. Therefore, this block cannot be used to embed the secret data. Otherwise, the block can hide the secret data using the DE-based technique. The detailed embedding algorithm is described below: Step 1: The cover image is divided into two regions, i.e., the embeddable region and the non-embeddable region, as shown in Fig. 3. The non-embeddable region consists of the rightmost two columns and the lowest two rows of the cover image. The LSB of the pixels in the non-embeddable region are used to record the information of pixels with overflow or underflow problems when embedding the secret data. Therefore, the LSBs of the pixels in the non-embeddable region are added into the secret data to generate the embedded data w. Step 2: The embeddable region is divided into (W − 3) × (H − 3) overlapping blocks sized 2 × 2. The four pixels in the 2 × 2 block can be represented as shown in Fig. 4, where p is the
3.1. Data embedding The cover image is divided into two regions, i.e., the embeddable region and the non-embeddable region. The LSBs of the pixels in the non-embeddable region are used to record the information of the pixels with underflow or overflow problems when secret data are embedded. Therefore, the LSBs of the pixels in the non-embeddable region must be added into the secret data to generate the embedded data w. The embeddable region is divided into (W − 3) × (H − 3)
Fig. 4. The four pixels of one embeddable block.
762
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
current embedding pixel, the others are the adjacent pixels, and the initial block index (BI) is 1. Step 3: The absolute difference of the neighboring pixels is calculated by Eq. (15) to identify whether the block is embeddable or not. d =| c − a | + | b − a | .
(15)
(a) If d ≥ T, the embedding procedure may cause an overflow or underflow problem of the current pixels and lead to serious distortion. Therefore, the pixel value remains unchanged and the algorithm goes to Step 8. (b) Otherwise, continue to the next step for embedding the embedded data w if d < T. Step 4: The prediction pixel value pˆ is calculated by:
pˆ =
min(b, c), max(b, c), b + c − a,
if a ≥ max(b, c), if a ≤ min(b, c), otherwise.
(16)
Step 5: Compute the prediction error e between the current embedding pixel p and the prediction pixel pˆ , i.e., e = p − pˆ . Step 6: The intermediate stego pixel p˜ is calculated by Eq. (17): p˜ = pˆ + 2 × e + w,
(17)
where w is the embedded data and w ∈ {0, 1}. Step 7: If p˜ > 255 or p˜ < 0, the pixel cannot be embedded with the embedded data. Therefore, the BI is transformed into a binary representation and embedded into the rightmost two columns and the lowest two rows of the cover image by LSB substitution. After that, the stego pixel is calculated by:
p =
p, if p˜ > 255 or p˜ < 0, p˜ , otherwise.
(18)
Step 8: BI is increased by one. Then, repeat the steps from 3 through 8 until all of the data are embedded. The optimal threshold Toptimal can be decided to ensure good image quality and high hiding capacity. In Step 3, it can be seen that poor choice of threshold will cause the serious distortion in stego image. Therefore, how to choose an appropriate pre-determined threshold is an important issue for secret data embedding in our scheme. Here, we can use the knowledge of the previous steps to determine an optimal threshold for various images by recording the prediction error e in Step 5. First, we construct a histogram of the absolute errors |e| and check the number of values in zero bin to judge if it is greater than the number of the secret bits for embedding. If the number of values in zero bin is greater, it implies that Toptimal should be zero. Otherwise, we need to use the zeros bin and its right ones together to embed the secret bits. The best choice of the threshold Toptimal is the smallest value, whose corresponding bin value added with the values from bin 0 to its left bin is greater than the number of secret bits. The proposed scheme under the optimal threshold Toptimal can acquire high hiding capacity and good image quality for various images. The following gives an example to illustrate the embedding procedure of the proposed scheme. Suppose that two secret bits are {0, 1} and the threshold T is 2. The original pixels in the embedded region are shown in Fig. 5. The pixels in the first block are {100, 101, 100, 101} and the absolute difference is calculated, i.e.,
Fig. 5. The original pixels of the embedded region.
Fig. 6. The stego pixels after embedding procedure.
d = |101 − 101| + |100 − 101| = 1. Because the absolute difference is smaller than the threshold, we use Eq. (16) to generate a prediction value pˆ = 100. Then, the intermediate stego pixel p˜ = 100 is calculated by Eq. (17). The intermediate stego pixel does not have the overflow or underflow problem. Therefore, the stego pixel is equal to the intermediate stego pixel. The pixels of the second block are {101, 255, 101, 255} and the absolute difference is 154. Because the absolute difference is higher than the threshold, this block cannot be embedded with the secret data. The pixels of the third block are {255, 254, 255, 254} and the absolute difference is 1. The absolute difference is smaller than the threshold T = 2, the prediction value pˆ = 255 produced by Eq. (16) and the prediction error e = 0 are obtained, i.e., e = p − pˆ = 255 − 255 = 0. Then, the intermediate stego pixel is obtained by p˜ = 255 + 2 × 0 + 1 = 256. We can see that the pixel has the overflow problem. Therefore, the stego pixel must be modified into the original pixel, and its block index should be embedded into the non-embeddable region. The pixels of the fourth block are {254, 255, 254, 255} and the absolute difference is 1. Since the absolute difference is smaller than the threshold, we can calculate the prediction value pˆ = 254 and the prediction error e = 0. Then, the intermediate stego pixel is calculated by p˜ = 254 + 2 × 0 + 1 = 255. The intermediate stego pixel does not have the overflow or underflow problem. Therefore, the stego pixel is equal to the intermediate stego pixel. The stego pixels after embedding secret data are shown in Fig. 6. 3.2. Data extraction and image recovery When the receiver obtains the stego image and the threshold T, the embedded data w can be extracted and the original pixel can be recovered by the procedure of extraction and recovery. Step 1: The cover image is divided into two regions in the same way as the embedding procedure, i.e., embedded region and non-embeddable region, as shown in Fig. 3. The nonembeddable region contains the rightmost two columns and the lowest two rows of the stego image. Step 2: The indices of the overflow and underflow blocks (IOUB) can be extracted from the LSBs of the pixels in the nonembeddable region. Step 3: Divide the embedded region into (W − 3) × (H − 3) overlapping 2 × 2 stego blocks and recover the cover image from the last block. The four pixels in the block can be represented as shown in Fig. 4, where p is the current pixel for extracting, the others are the adjacent pixels, and the initial block index (BI) is set to the number of the divided blocks. Step 4: The absolute difference d of the neighboring pixels is calculated, i.e., d =| c − a | + | b − a |. Step 5: Use three conditions to extract the embedded data w and recover the original pixel p. (a) If BI belongs to IOUB, there is no secret bit in this block. Therefore, there is no need to modify this block. (b) If BI does not belong to IOUB and d is not smaller than T, there is no secret bit in this block, and we do not modify the pixel value in this block. (c) If BI does not belong to IOUB and d is smaller than T, there is one secret bit in this pixel. Then, go to Step 6.
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
Fig. 7. Cover images with stego images.
763
764
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
Step 6: The prediction value pˆ is calculated by:
pˆ =
min(b, c), max(b, c), b + c − a,
if a ≥ max(b, c), if a ≤ min(b, c), otherwise.
(19)
Step 7: Compute the prediction error e between the stego pixel p and the prediction value pˆ , i.e., e = p − pˆ . Step 8: The embedded data w can be extracted from the LSB of the prediction error e , and the original pixel can be recovered by Eq. (20): p = pˆ +
e 2
.
(20)
Step 9: BI is decreased by one. Repeat the steps from 4 through 9 until the embedded data are extracted. Step 10: The non-embeddable region can be recovered from the extracted data by the LSB substitution. The following gives an example to illustrate the extraction and recovery procedure. Fig. 6 shows ten stego pixels in the embedded region and the threshold T is 2. Let the information of IOUB is 3. The four stego pixels in the last block are {255, 255, 254, 255} and the absolute difference is 1. Because the absolute difference is smaller than threshold and the block index does not belong to IOUB, the prediction value pˆ = 254 can be obtained using the Eq. (19). Then, the prediction error between the stego pixel and the prediction error is calculated, i.e., e = 255 − 254 = 1. We extract the LSB of e to get secret bit 1. Further, the original pixel p can be recovered by p = 254 + 12 = 254. The block index BI = 3 of the third block is belongs to IOUB, it means there is no secret bit embedded in this block. The original pixel is the same as the stego pixel. The four stego pixels in the second block are {101, 255, 101, 255} and the absolute difference is d = |101 − 255| + |255 − 255| = 154, which is higher than the threshold, it means that there is no secret bit embedded in this block. The pixel remains unchanged. The four pixels in the first block are {100, 101, 100, 101} and the absolute difference is 1, i.e., d = |101 − 101| + |100 − 101| = 1. Additionally, its BI does not belongs to IOUB. Then, the prediction value pˆ is obtained by Eq. (19), and the prediction error between the stego pixel and the prediction value is calculated, i.e., e = 100 − 100 = 0. The secret bit is obtained from the LSB of the prediction error, i.e., s = LSB(e ) = 0. Finally, the original pixel p can be recovered by p = 100 + 20 = 100. 4. Experimental results In the experiments, we compared the proposed scheme with four previous reversible data hiding methods, i.e., Zhao et al.’s scheme [12], Thodi et al.’s scheme [8], Jin et al.’s scheme [9], and Ni et al.’s scheme [10]. The nine grayscale images sized 512 × 512 were selected as test image, including Lena, Barbara, Boats, F-16, Peppers, Tiffany, Sailboat, Gold, and Zelda, as shown in Fig. 7. The peak signal-to-noise ratio (PSNR) was used to measure the quality of the stego image quality. (See Eqs. (21)–(22).) PSNR = 10 × log10
1 (I(i, j) − I (i, j))2 , W ×H W
MSE =
2552 (dB), MSE
(21)
H
(22)
i=1 j=1
where MSE is the mean square error between the cover image and stego image, W and H are the width and the height of the test image, respectively. I(i, j) and I (i, j) are two pixel values of the cover image and stego image at the location (i, j), respectively.
Fig. 8. PSNR values of the proposed scheme with fixed and variant thresholds for the test images: (a) Lena, (b) Barbara, (c) Boats, and (d) F-16.
Fig. 7 shows that stego images with the maximum hiding capacity of the proposed method. The image Barbara, which is more complex, has larger prediction errors, while the image F-16, which is smoother, has smaller prediction errors with our method. The expansion operation for larger prediction error leads to serious image quality distortion and may cause an overflow or underflow problem. We can observe that the image quality and hiding capacity of the F-16 are better than that of Barbara. Therefore, the proposed scheme has better performance for smooth images than for complex images. Fig. 8 shows that the proposed scheme with variant thresholds acquired the better image quality than that of the fixed threshold with the same hiding capacity. Because the small volume of secret bits with low threshold can avoid the expansion of large prediction error and serious distortion, better visual quality of the stego image can be obtained by decreasing the threshold when the volume of secret bits volume is low. Fig. 9 shows the visual quality and the hiding capacity of stego images by the proposed method with different thresholds. We can see that the hiding capacity of the proposed scheme is greater than 131,072 bits if the threshold T is greater than 13, it means that the prediction errors are small and the expansion operation produces the slight distortion. Therefore, the image quality of the proposed scheme is visually satisfactory. Fig. 10 shows that the proposed scheme has higher image quality and better hiding capacity than Zhao et al.’s scheme [12]. The hiding capacity for image Lena of our scheme is 24,456 bits more than that of Zhao et al.’s scheme for the same visual quality. This is because Zhao et al.’s scheme embeds the secret bits by shifting
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
765
Fig. 10. Performance comparison between the proposed scheme and other schemes.
all of the differences, which may lead to the serious visual distortion. The image quality of the proposed scheme is lower than that of Ni et al.’s scheme [10], but the hiding capacity of the proposed scheme is almost 30 times greater than that of Ni et al.’s scheme. Fig. 10 shows that the hiding capacity and image quality of the proposed scheme are better than that of the PE expansion scheme [8]. This is because the PE expansion scheme requires a location map and the map needs to be embedded into image, which causes serious image quality distortion. Although Jin et al.’s scheme did not need the location map and the histogram-shifting operation; the scheme generated larger differences that may cause serious visual distortion when expanding the differences to embed secret data. Fig. 10 shows that the visual quality of Lena produced by the proposed scheme was about 2.3 dB less than that of Jin et al.’s scheme, but the hiding capacity of the proposed scheme was 120,096 bits more than that of Jin et al.’s scheme. In other words, the image quality of our scheme is close to that of Jin et al.’s scheme; however, the hiding capacity of our scheme is almost 1.91 times greater than that of their method. 5. Conclusions
Fig. 9. Nine test images with different thresholds.
In this paper, we propose a reversible data hiding scheme based on the PE expansion technique, which can recover the cover image without any distortion from the stego image. For low hiding capacity, the proposed scheme uses a pre-determined threshold and the absolute difference of the neighboring pixels to determine whether the current pixel is embeddable. If the current pixel is not embeddable, the pixel remains unchanged to achieve high image quality. The proposed scheme has higher hiding capacity and better image quality than that of the recently proposed schemes.
766
C.-C. Chang et al. / Int. J. Electron. Commun. (AEÜ) 66 (2012) 758–766
References [1] Chu YH, Chang S. Dynamical cryptography based on synchronized chaotic systems. IEE Electronics Letters 1999;35(12):974–5. [2] Highland HJ. Data encryption: a non-mathematical approach. Computers and Security 1997;16(5):369–86. [3] Chan CK, Cheng LM. Hiding data in images by simple LSB substitution. Pattern Recognition 2004;37(3):469–74. [4] Wu HC, Wu NI, Tsai CS, Hwang MS. Image steganographic scheme based on pixel-value differencing and LSB replacement methods. IEE Proceedings: Vision, Image & Signal Processing 2005;152(5):611–5. [5] Zhang X, Wang S. Efficient steganographic embedding by exploiting modification direction. IEEE Communication Letters 2006;10(11):781–3. [6] Tian J. Reversible data embedding using a difference expansion. IEEE Transactions on Circuits and Systems for Video Technology 2003;13(8):890–6. [7] Alattar AM. Reversible watermark using the difference expansion of a generalized integer transform. IEEE Transactions on Image Processing 2004;13(8):1147–56. [8] Thodi DM, Rodriguez JJ. Expansion embedding techniques for reversible watermarking. IEEE Transactions on Image Processing 2007;16(3):721–30. [9] Jin HL, Fujiyoshi M, Kiya H. Lossless data hiding in the spatial domain for high quality images. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences 2007;E90-A(4):771–7. [10] Ni Z, Shi YQ, Ansari N, Su W. Reversible data hiding. IEEE Transactions on Circuits and Systems for Video Technology 2006;16(3):354–62. [11] Li YC, Yeh CM, Chang CC. Data hiding based on the similarity between neighboring pixels with reversibility. Digital Signal Processing 2009;20(4):1116–28. [12] Zhao ZF, Luo H, Lu ZM, Pan JS. Reversible data hiding based on multilevel histogram modification and sequential recovery. International Journal of Electronics and Communications (AEÜ) 2011;65(10):814–26. [13] Hong W, Chen TS, Shiu CW. Reversible data hiding for high quality images using modification of prediction errors. Journal of Systems and Software 2009;82(11):1833–42. Chin-Chen Chang received his BS degree in applied mathematics in 1977 and the MS degree in computer and decision sciences in 1979, both from the National Tsing Hua University, Hsinchu, Taiwan. He received his Ph.D. in computer engineering in 1982 from the National Chiao Tung University, Hsinchu, Taiwan. From 2002 to 2005, he was a Chair Professor of National Chung Cheng University. Since February 2005, he has been a Chair Professor of Feng Chia University. In addition, he has served as a consultant to several research institutes and government departments. His current research interests include database design, computer cryptography, image compression and data structures.
Ying-Hsuan Huang received the M.S. degree in information management from Chaoyang University of Technology, Taiwan. He is currently pursuing the Ph.D. degree in computer science and engineering from National Chung Hsing University. His research interests include data hiding, secret sharing, watermarking and image processing.
Hsin-Yi Tsai received the B.S. degree in computer science from National Tsing Hua University, Hsinchu, Taiwan, in 2009. She is currently pursing the MS degree in institute of information systems and applications from National Tsing Hua University. Her research interests include data hiding and digital watermarking.
Chuan Qin received the B.S. and M.E. degrees in electronic engineering from the Hefei University of Technology, Anhui, China, in 2002 and 2005, respectively, and the Ph.D. degree in signal and information processing from Shanghai University, Shanghai, China, in 2008. Since 2008, he has been with the faculty of the School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, where he is currently a Lecturer. He also has been with Feng Chia University at Taiwan as a Postdoctoral Researcher from June 2010 to now. His research interests include image processing and multimedia security.