Adaptive pixel value differencing steganography using ... - Springer Link

0 downloads 0 Views 1MB Size Report
Oct 5, 2015 - Abstract This paper proposes two pixel value differencing (PVD) steganography techniques by considering adaptive ranges to improve the ...
Multimed Tools Appl (2016) 75:13541–13556 DOI 10.1007/s11042-015-2937-2

Adaptive pixel value differencing steganography using both vertical and horizontal edges Gandharba Swain 1

Received: 6 February 2015 / Revised: 20 July 2015 / Accepted: 3 September 2015 / Published online: 5 October 2015 # Springer Science+Business Media New York 2015

Abstract This paper proposes two pixel value differencing (PVD) steganography techniques by considering adaptive ranges to improve the security. In the first technique, the image is partitioned into 2×2 pixel blocks in a non-overlapping fashion and scanned in raster-scan order. For every 2×2 pixel block the left-upper and bottom-right corner pixels are targetted based on their correlation with the other two pixels. Both horizontal and vertical edges are considered. In the second technique, the image is partitioned into blocks with 3×3 pixels in an overlapped fashion and scanned in raster-scan order. For a block the central pixel is targetted for embedding. Both the horizontal and vertical edges are inspected, but one of them is considered for data embedding at the target pixel. The ranges are adaptively calculated based upon the local statistics of the blocks. The first technique provides higher hiding capacity and the second technique provides higher peak signal-to-noise ratio value. Keywords Image steganography . Pixel value differencing steganography . Adaptive data hiding . Adaptive PVD . Horizontal and vertical edges

1 Introduction Steganography is a technique for secret and un-noticeable communication. In recent days it has drawn great attention from both academic and industrial communinities. The most popular method of steganography is the least signoficant bit (LSB) substitution, wherein the LSB of every pixel is substituted by one bit of the secret data. It can be extended upto four LSBs in order to increase the hiding capacity. But it is detectable by the steganalysis techniques like RS- analysis [4] and Chi-square attack [20]. LSB matching steganography is another technique that embedds the secret data by adding +1, 0 or −1. LSB matching steganalysis techniques based on pixel differences and support vector machine has been proposed in [23, 24]. * Gandharba Swain [email protected]; [email protected] 1

Department of Computer Science & Engineering, KL College of Engineering, KL University, Greenfields, Vaddeswaram, 522502, Guntur Dist, Andhra Pradesh, India

13542

Multimed Tools Appl (2016) 75:13541–13556

Researchers have been attempting to improve the un-detectibility of LSB substitution techniques by making some slight modifications. In, [14] authors have taken the LSBs of the different pixels as an array and embedded the message at an optimal embedding location in it, so that distortion can be reduced. Similarly, in [18] the different words of the message are hidden at optimal locations in the LSB array. But for large amount of message these methods are not suitable. To improve upon the undetectability the embedding locations in a pixel (say 3 LSBs) can be randomized depending upon the message bits [15]. The smooth areas in an image can not hide more amount of bits because the pixel values in the neighborhood are very close to each other. A large change in this areas will invite suspicion. But in the edge areas, since the pixel values are not close to each other in the neighbor hood, a large change can be tolerated and will not arise any suspicion. Based on this ideology, the pixel value differencing (PVD) steganography was initiated by Wu and Tsai [21]. They partitioned the image into nonoverpapping 1×2 pixel blocks by scanning the image in zig-zag manner. Calculated the pixel value difference of these two pixels. This differnce value is again changed to a new difference value after hiding the data bits. Finally the new pixel values are calculated as per the new difference value. To improve upon the hiding capacity PVD techniques using 2×2 pixel blocks have been proposed [2, 6]. As per Chang et al.’s [2] tri-way PVD method, three directional differences (horizontal, vertical and diagonal) are considered to increase the hiding capacity. Zhang and Wang [26] investigated that the PVD technique is vulnerable to histogram based analysis. The pixel difference histogram clearly reveals the presence of hidden data. Chang and Tseng [3] advanced this PVD approach and proposed side match methods, wherein the correlation of a target pixel with its neighboring pixels is exploited to take embedding decision in the target pixel. They proposed three variants such as two sided, three sided and four sided side match methods. Since this method suffered with fall in error problem (FIEP), so a modified version of it was proposed in [16]. The side match techniques based upon the maximum difference amongst the neighboring pixel values have been proposed in [12] to improve upon the hiding capacity. Tseng and Leng [19] proposed the 2-pixel block PVD with a range table based on perfect square. LSB substitution approaches can possess higher capacity, but the PVD approaches can achieve higher un-detectability. Techniques combining both PVD and LSB substitution have been proposed in [5, 22, 25]. Liao et al. [7] calculated the average pixel value difference in four pixel blocks and then categorized the blocks either into low level or high level. Then embedded k-bits in a block using modified LSB substitution approach. The k-value is different for the two levels. Swain [13] proposed nine-pixel blocks with modified LSB substitution by adaptively embedding message bits using four levels (lower, lower-middle, higher-middle, and higher). The experimental results have revealed that this technique outperforms over the Liao et al.’s method by increasing capacity and reducing distortion. Luo et al. [8] proposed a more secure steganography based on adaptive pixel-value differencing with three pixel blocks by partitioning the image into 1×3 pixel blocks in a non-overlapping manner. For a block comprising of three pixels Pi, Pi+1 and Pi+2 with their gray values gi, gi+1, and gi+2, two difference values d1 =gi+1 −gi, and d2=gi+2−gi+1 are calculated. A threshold value T is assumed, such that it can be a value from 32 to 1. If |d1 | ≤T and |d2| ≤T, then this block is skipped. Otherwise if |d1 | >T or |d2 | >T which means

Multimed Tools Appl (2016) 75:13541–13556

13543

that the middle pixel Pi+1 is an edge and can tolerate some changes. Then the range of Pi+1 is calculated based upon one of the twelve conditions, see [8] for details. Then the number of bits that can be embedded in the pixel Pi+1 depends on this range. Although this technique can survive from pixel difference histogram analysis, but only considers a block of three pixels from a single row. So exploits the edge in only one direction. Balasubramanian et al. [1] proposed an octonary PVD scheme with 3×3 pixel blocks. Shen and Huang [11] proposed a steganographic scheme using PVD and exploiting modification directions to achieve higher embedding capacity and better imperceptibility. Image inpainting is an art of repairing an image by filling in some gaps, deleting some unwanted areas and wiping some visible marks. This art has been used in some data hiding methods [9, 10]. The PVD techniques can be further improved in two ways, (i) using adaptive quantization ranges, and (ii) exploiting both vertical and horizontal edges. This paper proposes two PVD techniques with adaptive quantization ranges, considering both horizontal and vertical edges. In the first technique, the quantization is made adaptive using 8 pre-defined conditions in 2× 2 pixel blocks and in the second technique; the quantization is made adaptive using 24 predefined conditions in 3×3 pixel blocks.

2 The proposed technique 1 2.1 Data embedding Step 1- partition the cover image into 2×2 non-overlapping blocks by scanning the image in a raster scan order. For a 2×2 pixel block as shown in Fig. 1a, the pixels are designated as gx1, gr, gb, and gx2. The pixels gx1 and gx2 are used as target pixels and the other two are used as neighbors only. Step 2- Calculate differences d1, d2, d3, and d4 as given below. d1 ¼ gx1 −gr ; d2 ¼ gx1 −gb ; d3 ¼ gx2 −gr ; d4 ¼ gx2 −gb Step 3- Calculate the lower bound l1 and upper bound u1 for gx1 using the following four cases. Case 1: If d1 >0 and d2 > 0 Then l1 =max(gr +1,gb +1), and u1 =255 Case 2: If d1 ≤ 0 and d2 ≤0 Then l1 =0, and u1 =min(gr,gb)

g

g

g

g

20

40

20

40

g

g

g

g

30

35

30

33

(a) Original block Fig. 1 2×2 Pixel blocks

(b) Stego block

(c) Original values

(d) Stego values

13544

Multimed Tools Appl (2016) 75:13541–13556

Case 3: If d1 >0 and d2 ≤0 Then l1 =gr +1, and u1 =gb Case 4: If d1 ≤0 and d2 > 0 Then l1 =gb +1, and u1 =gr Similarly, calculate the lower bound l2 and upper bound u2 for gx2 using the following four cases. Case 5: If d3 > 0 and d4 > 0 Then l2 =max(gr +1,gb +1), and u2 =255 Case 6: If d3 ≤ 0 and d4 ≤0 Then l2 =0, and u2 =min(gr,gb) Case 7: If d3 > 0 and d4 ≤0 Then l2 =gr +1, and u2 =gb Case 8: If d3 ≤ 0 and d4 > 0 Then l2 =gb +1, and u2 =gr Step 4- The number of bits, n1 to be embedded in the target pixel gx1 can be calculated as n1 ¼ floorðlog2 ju1 −l1 þ 1jÞ Similarly, the number of bits, n2 to be embedded in the target pixel gx2 can be calculated as, n2 ¼ floorðlog2 ju2 −l2 þ 1jÞ Step 5- If n1 > 0, take n1 secret message bits and convert to integer value b1, and then calculate the new value (stego-pixel) of target pixel gx1 as below. 0

gx1 ¼ argmine fje−gx1 j jje−gr j ≡b1 ðmod 2n1 Þ; e∈½l1 ; u1 g If n2 > 0, take n2 secret message bits and convert to integer value b2, and then calculate the new value (stego-pixel) of target pixel gx2 as below. 0

gx2 ¼ argmine fje−gx2 j jje−gr j ≡b2 ðmod 2n2 Þ; e∈½l2 ; u2 g

Thus the 2×2 stego-pixel block is as shown in Fig. 1b. Let us have one example. Suppoe we have a block as in Fig. 1c. The gx1 =20, gx2 =35, gb = 30, and gr =40. Then d1 =−20, d2 =−10, d3 =−5, and d4 =5. As per step-2 of embedding procedure, case 2: d1 ≤0 & d2 ≤0, so l1 =0 & u1 =30, case 8: d3 ≤0 & d4 >0, so l2 =31 & u2 = 40. As per step-4: n1 =4, n2 =3. Now suppose that the 7 data bits to be embedded are: 0100111. Now by taking 4 bits of data and converting to decimal the value, b1 =4. Similarly by converting the next 3 bits to decimal, the value, b2 =7. Now step-7 can be applied as below.

Multimed Tools Appl (2016) 75:13541–13556

13545

0

gx1 ¼ argmine fje−20j jje−40j ≡4 ðmod 16Þ; e∈½0; 30g From the above expression, g′x1 =20. 0 Similarly, gx2 ¼ argmine fje−35 j j je−40j ≡7 ðmod 8Þ ; e∈ ½31; 40g From the above expression, g′x2 =33. Now the stego-block is as shown in Fig. 1d.

2.2 Data extraction The stego-image is partitioned into non-overlapping 2×2 pixel blocks by scanning the image in a raster scan order. A sample 2×2 stego-pixel block is as shown in Fig. 2. Calculate four difference values d1 ¼ g*x1 −g*r ; d2 ¼ g*x1 −g*b ; d3 ¼ g*x2 −g*r ; and d4 ¼ g*x2 −g*b . By applying step 3 of data embedding process calculate the lower bound l1 and upper bound u1 for gx1 and the lower bound l2 and upper bound u2 for gx2. Now calculate n1 and n2 as below. n1 ¼ floorðlog2 ju1 −l1 þ 1jÞ; and n2 ¼ floorðlog2 ju2 −l2 þ 1jÞ And the integer values b1 and b2 are calculated as     b1 ≡g*x1 −g*r  ðmod 2n1 Þ; and b2 ≡g*x2 −g*r  ðmod 2n2 Þ Finally these b1 and b2 values are converted into n1 and n2 binary bits respectively. Now, let us have an example. Suppose the stego-pixel block is as shown in Fig. 1d. The values, d1 =−20, d2 =−10, d3 =−7 & d4 =3. As per step3 of embedding procedure, case 2: l1 =0, u1 =30, case 8: l2 =31, u2 =40. Now following the equations from extraction procedure, n1 =4, n2 =3, and b1 =4, b2 =7. Now by converting 4 to 4 bits of binary we get 01002 and converting 7 to 3 bits of binary we get 1112, Thus the extracted binary data is 01001112.

3 The proposed technique 2 3.1 Data embedding Step 1- The cover image is partitioned into 3×3 pixel blocks in an overlapped fashion by scanning the image in raster scan order. The third row and third column of a block

Fig. 2 Stego block at receiver

g

g

g

g

13546

Multimed Tools Appl (2016) 75:13541–13556

Ind

g

Ind

g

Ind

g

g

g

g /g

g

g /g

g

Ind

g /g

Ind

g /g

Ind

g /g

g

g

g /g

g

g /g

g

Ind

g /g

Ind

g /g

Ind

g /g

g

g

g /g

g

g /g

g

g

g

g g g

g

Fig. 3 Nine overlapped 3×3 blocks

are used as first row and first column of other blocks. The sampling arrangement of pixels is as shown in Fig. 3. The darker pixels are used as targets and the brighter pixels are used as neighbors only. The upper-left corner pixel of a block (indicated as Ind) is used as indicator for that block. For each 3×3 block the central pixel is the target pixel. Suppose gx is the target pixel value, and it’s upper, left, right, and bottom neighbor pixel values are, gu, gl, gr and gb respectively. Step 2- For a given block, calculate four differences d1, d2, d3, and d4 as given below. d1 ¼ gx −g1 ; d2 ¼ gr −gx ; d3 ¼ gx −gu ; d4 ¼ gb −gx If |d1|≤T, |d2|≤T, |d3|≤T, and |d4|≤T, then this block is not used for embedding, go to the next block. Otherwise, in the said block the middle pixel is in an edge area and capable of carrying hidden data. T is a threshold value. An ideal value selected for T is 10. Step 3- If |d1|>T and/or |d2|>T, then the lower bound lh, and the upper bound uh of the horizontal range Rh can be calculated by applying the following 12 cases. Otherwise set lh =0 and uh =0. Case 1: if (gx T) Then, lh =0 and uh =min(gl −T−1, gr −T−1) Case 2: if (gx gr) and (|d1|>T &|d2|>T) Then, lh =max(gl +T+1, gr +T+1) and uh =255 Case 5: if (gx >gl & gx >gr) and (|d1|>T &|d2|≤T) Then, lh =max(gl +T+1, gr +1) and uh =min(gr +T , 255) Case 6: if (gx >gl & gx >gr) and (|d1|≤T &|d2|>T) Then, lh =max(gl +1, gr +T+1) and uh =min(gl +T , 255) Case 7: if (gl ≥gx ≥gr) and (|d1|>T &|d2|>T) Then, lh =gr +T+1, and uh =gl −T−1

Multimed Tools Appl (2016) 75:13541–13556

13547

Case 8: if (gl ≥gx ≥gr) and (|d1|>T &|d2|≤T) Then, lh =gr, and uh =min(gr +T,gl −T−1) Case 9: if (gl ≥gx ≥gr) and (|d1|≤T &|d2|>T) Then, lh =max(gr +T+1, gl −T) and uh =gl Case 10: if (gl ≤gx ≤gr) and (|d1|>T &|d2|>T) Then, lh =gl +T+1, and uh =gr −T−1 Case 11: if (gl ≤gx ≤gr) and (|d1|>T &|d2|≤T) Then, lh =max(gr −T,gl +T+1) and uh =gr Case 12: if (gl ≤gx ≤gr) and (|d1|≤T &|d2|>T) Then, lh =gl and uh =max(gr −T−1,gl +T) Step 4- If |d3|>T and/or |d4|>T, then the lower bound lv, and the upper bound uv of the vertical range Rv can be calculated by applying the following twelve cases. Otherwise set lv =0 and uv =0. Case 13: if (gx T) Then, lv =0 and uv =min(gu −T−1, gb −T−1) Case 14: if (gx gb) and (|d3|>T &|d4|>T) Then, lv =max(gu +T+1, gb +T+1) and uv =255 Case 17: if (gx >gu & gx >gb) and (|d3| > T &|d4|≤T) Then, lv =max(gu +T+1, gb +1) and uv =min(gb +T , 255) Case 18: if (gx >gu & gx >gb) and (|d3|≤T &|d4|>T) Then, lv =max(gu +1, gb +T+1) and uv =min(gu +T , 255) Case 19: if (gu ≥gx ≥gb) and (|d3|>T &|d4|>T) Then, lv =gb +T+1, and uv =gu −T−1 Case 20: if (gu ≥gx ≥gb) and (|d3|>T &|d4|≤T) Then, lv =gr, and uv =min(gb +T,gu −T−1) Case 21: if (gu ≥gx ≥gb) and (|d3|≤T &|d4|>T) Then, lv =max(gb +T+1,gu −T) and uv =gu Case 22: if (gu ≤gx ≤gb) and (|d3|>T &|d4|>T) Then, lv =gu +T+1, and uv =gb −T−1 Case 23: if (gu ≤gx ≤gb) and (|d3|>T &|d4|≤T) Then, lv =max(gb −T,gu +T+1) and uv =gb Case 24: if (gu ≤gx ≤gb) and (|d3|≤T &|d4|>T) Then, lv =gu and uv =max(gb −T−1,gu +T) Step 5- Now the final lower bound, lf and the final upper bound, uf can be calculated from lh, uh, lv,and uvin the following manner. And a normalized pixel value gf can also be calculated. Furthermore, a flag value is calculated in the following manner. Case 1: If lh =0 & uh =0, Then lf =lv, uf =uv, gf =gu, and flag=1 Case 2: If lv =0 & uv =0, Then lf =lh, uf =uh, gf =gl, and flag=0

13548

Multimed Tools Appl (2016) 75:13541–13556

Case 3: (If the above case 1 and case 2 fails) & |uh −lh|≥|uv −lv|, Then lf =lv, uf =uv, gf =gu, and flag=1 Case 4: (If the above case 1 and case 2 fails) & |uh −lh|0, take n secret message bits and convert to integer value b, and then calculate the new value of target pixel gx, i.e., the stego-pixel value, g′x as below. n o 0  gx ¼ argmine e−gx j j je−g f j ≡b ðmod 2n Þ The upper-left neighbor pixel of gx is gul. If flag=0 then the LSB bit of gul is set to 0. If flag=1 then the LSB bit of gul is set to 1. This LSB bit of gul will be used as indicator during extraction. Let us have one example. Suppose we have a block as in Fig. 4a. gx =58, gl =45, gr =40, gu =26, gb =65, gul =44. So, d1 =13, d2 =−18, d3 =32, d4 =7. Assuming T= 10, the condition (|d1|≤T&|d2|≤T &|d3|≤T &|d4|≤T ) does not satisfy, so we can go for embedding. For horizontal edge, gx =58, gl =45, gr =40, |d1|=13, |d2|=18, case 4 (gx >gl &gx >gr) and (|d1|>T&|d2|>T ) satisfies. Thus lh =max(gl +T+1, gr +T+1)=max(56, 51)=56 and uh =255. For vertical edge, gx =58, gu =26, gb =65. So, |d3|=32, |d4|=7, case 23 (gu ≤gx ≤gb) and (|d3|>T &|d4|≤T) satisfies. Thus, lv =max(gb −T,gu +T+1)=max(55, 37)=55 and uv =gb =65. lh =56, uh =255, lv =55 and uv =65. Now case 3 of step-5 |uh −lh|≥ |uv −lv| satisfies, so lf =55, uf =65, gf =26, and flag=1. Now, n=floor (log2|uf −lf +1|)=3. Suppose the three data bits are, 1112, then b=7. 0 gx ¼ argmine fje−gx j j je−g f j ≡b ðmod 2n Þg, e ∈ {55, 65}=57. gul = 44 = 001011002, for embedding vertical edge is considered, so LSB of it is set to 1, gul becomes 001011012 = 45. The block after embedding is as shown in Fig. 4b.

3.2 Data extraction The stego-image is partitioned into 3×3 pixel blocks in an overlapped fashion and scanned in raster scan order. The third row and third column of a block are used as first row and first column of other blocks. The sampling arrangement of pixels is same as in embedding case, as shown in Fig. 3. The darker pixels are used as targets and the brighter pixels are used as neighbors only. For each 3×3 pixel block the central pixel is the target pixel. Suppose g*x is the target stego-pixel value, and it’s upper, left, right, and bottom neighbor pixel values are g*u, g*l , g*r , and g*b respectively. Fig. 4 The 3×3 Pixel blocks before and after embedding

44

26

52

45

26

52

45

58

40

45

57

40

60

65

62

60

65

62

(a) Before embedding

(b) After embedding

Multimed Tools Appl (2016) 75:13541–13556

13549

Calculate four difference values d*1 ¼ g*x −g*l ; d*2 ¼ g*r −g*x ; d*3 ¼ g*x −g*u ; and d*4 ¼ g*b −g*x . If |d*1|≤T, |d*2|≤T, |d*3|≤T, and |d*4|≤T, then this block is not used for extraction, go to the next block. Otherwise, apply steps 3 and 4 of embedding procedure to calculate the values, lh, uh, lv,and uv. Suppose g∗ul is the upper-left neighbor pixel of g∗x . If the LSB of g*ul is 0, then set lf =lh, uf =uh and gf =gl . Otherwise if the LSB of g*ul is 1, then set lf =lv, uf =uv and gf =gu. Now calculate the number of bits embedded in the target stego-pixel g*x. n ¼ floorðlog2 ju f −l f þ 1jÞ

And the integer value b is calculated as   b≡g*x −g f ðmod 2n Þ Finally this b value is converted into n bit binary. Let us have an example. Suppose the stego-block is as given in Fig. 4b. g*x ¼ 57; g*1 ¼ 45; g*r ¼ 40; g*u ¼ 26; g*b ¼ 65 . Then d∗1 =12, d∗2 =−17, d*3 =31, and d*4 =8, Assume T=10. The condition (|d*1|≤T& |d*2|≤T &|d*3|≤T & |d*4|≤T) does not satisfy, so we can go for extraction. Now LSB of g*ul =1, so lf =lv, uf =uv and gf =gu. The vertical edge is evaluated. g*x ¼ 57; g*u ¼ 26; g*b ¼ 65; d*3 ¼ 31; and d*4 ¼ 8 , case 23 (g u ≤ g x ≤ g b ) and ((|d3|>T &|d4|≤T ) satisfied. Hence lv =max(55, 37)=55 and uv =65. lf =55, uf =65 and gf = 26. n=3. Now b≡|g∗x −gf|(mod2n) means b≡|57-26| (mod 8), thus b=3. Convert 3 to three bit binary, the extracted message is 1112.

4 Results and comparisons The proposed techniques are implemented using MATLAB. It is tested with the images from SIPI image database. Some sample cover images are as shown in Fig. 5, and their respective stego-images are shown in Figs. 6 and 7 for technique 1 and technique 2 respectively, with 105,000 bits of data hidden in each of them. The stego-images are quite imperceptible. No visual artifacts can be observed. The estimated peak signal-to-noise-ratio (PSNR), correlation and hiding capacity values of the proposed schemes are compared with that of Wu and Tsai’s original PVD and Luo et al.’s adaptive PVD in Tables 1 and 2. The equations to estimate PSNR and correlation are referred from [17]. The PSNR is a measure of distortion in the stego-

(a) Lena

(b) Baboon

Fig. 5 Original images

(c) Pepper

(d) Jet

(e) Boat

(f) House

13550

Multimed Tools Appl (2016) 75:13541–13556

Fig. 6 Stego-images of proposed Technique 1

image. It should be as high as possible. A PSNR of more than 40 dB is quite good to accept the stego-images. In Steganography there has been a tradeoff between hiding capacity and PSNR. To get higher hiding capacity, the PSNR is to be sacrificed and vice-versa. The PSNR values of the proposed technique 1 are slightly lesser as compared to Luo et al.’s technique. But the hiding capacity is very much improved as compared to the Wu and Tsai’s and Luo et al.’s techniques. The PSNR values of the proposed technique 2 are slightly improved over the Luo et al.’s technique. To improve the PSNR using both horizontal & vertical edges, the hiding capacity is sacrificed. If higher hiding capacity is required the proposed technique 1 is preferred, if higher PSNR is required then the proposed technique 2 is preferred. The correlation is a measure of similarity between the cover image and the stego-image. It can be a maximum of 1, if cover image and stego-image are the same. In Tables 1 and 2 we can observe that the correlation values of the proposed techniques are close to 1. The bit rate is defined as the no of bits that can be hidden per a byte of the image [5]. It is calculated as below. Bit rate ¼

Maximum hiding capacity in bits Image size in bytes

In Tables 1 and 2, the PSNR is compared with same amount of data (i.e., 105,000 bits) being hidden for all the images in all the four techniques (i.e., Wu & Tsai, Luo et al., proposed technique 1, and proposed technique 2).

5 Security evaluation Figure 8 represents the pixel difference histograms, (a) Wu & Tsai’s technique, (b) Luo et al.’s technique, (c) proposed technique 1, and (d) proposed technique 2 for Lena image.

Fig. 7 Stego-images of proposed Technique 2

Bit rate

53.76

44.21

51.79 53.93

49.10

51.10

50.64

Baboon

Peppers Jet

Boat

House

Average

1,232,606

1,261,127

1,256,404

1,278,971

1,174,751 1,220,544

1,403,491

0.9999

0.9998

0.9999

0.9999

0.9999 0.9999

0.9996

1.56

1.59

1.59

1.62

1.49 1.55

1.78

50.11

49.65

49.62

49.44

49.55 49.94

49.29

316,508

259,413

389,588

264,058 145,755

611,197

229,037

Maximum Capacity

0.9998

0.9999

0.9999

0.9999 0.9998

0.9999

0.9998

r

PSNR

r

PSNR

Maximum Capacity

Luo et al.’s technique, with T=10

Wu and Tsai’s technique

Lena

Images 512×512 (color)

Table 1 Comparison of the results

0.40

0.33

0.50

0.34 0.19

0.78

0.29

Bit rate

46.65

44.73

47.29

47.06 46.18

48.49

46.17

PSNR

1,369,005

1,339,985

1,424,967

1,350,251 1,267,690

1,489,945

1,341,192

Maximum Capacity

Proposed technique 1

0.9997

0.9996

0.9998

0.9998 0.9995

0.9998

0.9996

r

1.74

1.70

1.81

1.72 1.61

1.89

1.71

Bit rate

Multimed Tools Appl (2016) 75:13541–13556 13551

Bit rate

53.76

44.21

51.79 53.93

49.10

51.10

50.64

Baboon

Peppers Jet

Boat

House

Average

1,232,606

1,261,127

1,256,404

1,278,971

1,174,751 1,220,544

1,403,491

0.9999

0.9998

0.9999

0.9999

0.9999 0.9999

0.9996

1.56

1.59

1.59

1.62

1.49 1.55

1.78

50.11

49.65

49.62

49.44

49.55 49.94

49.29

316,508

259,413

389,588

264,058 145,755

611,197

229,037

Maximum Capacity

0.9998

0.9999

0.9999

0.9999 0.9998

0.9999

0.9998

r

PSNR

r

PSNR

Maximum Capacity

Luo et al.’s technique, with T=10

Wu and Tsai’s technique

Lena

Images 512×512 (color)

Table 2 Comparison of the results

0.40

0.33

0.50

0.34 0.19

0.78

0.29

Bit rate

50.17

50.20

49.98

50.27 50.45

49.56

50.57

PSNR

231,819

210,858

289,397

180,578 112,053

481,201

116,831

Maximum Capacity

0.9998

0.9999

0.9999

0.9999 0.9998

0.9999

0.9998

r

Proposed technique 2, with T=10

0.29

0.27

0.37

0.23 0.14

0.61

0.15

Bit rate

13552 Multimed Tools Appl (2016) 75:13541–13556

Multimed Tools Appl (2016) 75:13541–13556

13553

(a) Wu & Tsai’s technique

(c) Proposed technique 1

(b) Luo et al.’s technique

(d) Proposed technique 2

Fig. 8 Pixel difference histogram for Lena image

(a) Wu & Tsai’s technique

(c) Proposed technique 1

(b) Luo et al.’s technique

(d) Proposed technique 2

Fig. 9 Pixel difference histogram for baboon image

13554

Multimed Tools Appl (2016) 75:13541–13556

(a) Proposed technique 1

(b) Proposed technique 2

Fig. 10 RS analysis with Lena Image

Similarly, Fig. 9 represents the pixel difference histograms, (a) Wu & Tsai’s technique, (b) Luo et al.’s technique, (c) proposed technique 1, and (d) proposed technique 2 for Baboon image. The Wu & Tsai’s method suffers with step effects. The steps are very clearly identifiable. In Luo et al.’s technique and in both the proposed techniques the step effects in pixel difference histogram are not present. Thus the proposed techniques are not vulnerable to pixel difference histogram analysis. Figures 10 and 11 represents the RS diagrams for the proposed schemes for Lena and Baboon images respectively. The curves for Rm and R−m are straight lines and almost overlap with each other. And the curves for Sm and S−m are straight lines and almost overlap with each other. Thus the relation Rm ≅ R−m > Sm ≅ S−m is true. This confirms that the RS analysis can not detect the proposed techniques.

(a) Proposed technique 1 Fig. 11 RS analysis with Baboon Image

(b) Proposed technique 2

Multimed Tools Appl (2016) 75:13541–13556

13555

6 Conclusion Two steganographic methods based on adaptive quantization range are proposed. The first proposed technique uses 2×2 pixel blocks and eight predefined conditions. It performs better than Luo et al’s technique in terms of capacity. The second proposed technique uses 3×3 pixel blocks and 24 predefined conditions. It performs better than Luo et al.’s technique in terms of peak signal-to-noise ratio. The proposed techniques uses adaptive quanization ranges, so that the security is improved. Unlike other traditional PVD techniques, this technique can survive from pixel difference histogram analysis and RS analysis.

References 1. Balasubramanian C, Selvakumar S, Geetha S (2013) High payload image steganography with reduced distortion using octonary pixel pairing scheme. Multimed Tools Appl. doi:10.1007/s11042-013-1640-4 2. Chang KC, Chang CP, Huang PS, Tu TM (2008) A novel image steganography method using tri-way pixel value differencing. J Multimed 3(2):37–44 3. Chang CC, Tseng HW (2004) A steganographic method for digital images using side match. Pattern Recogn Lett 25(12):1431–1437 4. Fridrich J, Goljian M, Du R (2001) Detecting LSB steganography in color and gray-scale images. Mag IEEE Multimed Secur 8:22–28 5. Khodaei M, Faez K (2012) New adaptive steganographic method using least-significant-bit substitution and pixel-value differencing. IET Image Process 6(6):677–686 6. Lee YP, Lee JC, Chen WK, Chang KC, Su IJ, Chang CP (2012) High-payload image hiding with quality recovery using tri-way pixel-value differencing. Inf Sci 191:214–225 7. Liao X, Wen QY, Zhang J (2011) A steganographic method for digital images with four-pixel differencing and modified LSB Substitution. J Vis Commun Image Represent 22:1–8 8. Luo W, Huang F, Huang J (2010) A more secure steganography based on adaptive pixel-value differencing scheme. Multimed Tools Appl 52:407–430 9. Qin C, Chang C-C, Huang Y-H, Liao L-T (2013) An inpainting-assisted reversible steganographic scheme using a histogram shifting mechanism. IEEE Trans Circ Syst Video Technol 23(7):1109–1118 10. Qin C, Chang C-C, Chiu Y-P (2014) A novel joint data-hiding and compression scheme based on SMVQ and image inpainting. IEEE Trans Image Process 23(3):969–978 11. Shen SY, Huang LH (2015) A data hiding scheme using pixel value differencing and improving exploiting modification directions. Comput Secur 48:131–141 12. Swain G (2013) Steganography in digital images using maximum difference of neighboring pixel values. Int J Secur Appl 7(6):285–294 13. Swain G (2014) Digital image steganography using nine-pixel differencing and modified LSB Substitution. Indian J Sci Technol 7(9):1444–1450 14. Swain G, Lenka SK (2012) LSB array based image steganography technique by exploring the four least significant bits. CCIS 270(2):479–488 15. Swain G, Lenka SK (2012) A technique for secret communication by using a new block cipher with dynamic steganography. Int J Secur Appl 6(2):1–12 16. Swain G, Lenka SK (2013) Steganography using two sided, three sided, and four sided side match methods. CSI Trans ICT 1(2):127–133 17. Swain G, Lenka SK (2014) Classification of spatial domain image steganography techniques: a study. Int J Comput Sci Eng Technol 5(3):219–232 18. Swain G, Lenka SK (2015) A novel steganography technique by mapping words with LSB array. Int J Signal Imaging Syst Eng 8(1/2):115–122 19. Tseng HW, Leng HS (2013) A steganographic method based on pixel-value differencing and the perfect square number. J Appl Math, Article ID 189706, 8 pages 20. Westfeld A, Pfitzmann A (2000) Attacks on steganographic systems. Lect Notes Comput Sci 1768:61–76 21. Wu DC, Tsai WH (2003) A steganograhic method for images by pixel value differencing. Pattern Recogn Lett 24(9–10):1613–1626 22. Wu HC, Wu NI, Tsai CS, Hwang MS (2005) Image steganographic scheme based on pixel-value differencing and LSB replacement methods. IEEE Proc Vis Image Sig Process 152(5):611–615

13556

Multimed Tools Appl (2016) 75:13541–13556

23. Xia Z, Wang X, Sun X, Liu Q, Xiong N (2014) Steganalysis of LSB matching using differences between nonadjacent pixels. Multimed Tools Appl. doi:10.1007/s11042-014-2381-8 24. Xia Z, Wang X, Sun X, Wang B (2014) Steganalysis of least significant bit matching using multi‐order differences. Secur Commun Netw 7(8):1283–1291 25. Yang CH, Weng CY, Wang SJ, Sun HM (2010) Varied PVD+LSB evading programs to spatial domain in data embedding systems. J Syst Softw 83:1635–1643 26. Zhang X, Wang S (2004) Vulnerability of pixel-value differencing steganography to histogram analysis and modification for enhanced security. Pattern Recogn Lett 25:331–339

Dr. Gandharba Swain is working as a Professor in the Department of Computer Science & Engineering, KL University, Vaddeswaram, Andhra Pradesh, India. Previously he had worked at GMR Institute of Technology, Rajam, Andhra Pradesh, India and at IACR Ecgineering College, Rayagada, Odisha, India. He received B.Sc(Hons) degree from Berhampur University in 1995, MCA degree from VSS University of Technology (formerly UCE), Burla, in 1999, M.Tech (CSE) degree from NIT, Rourkela, in 2004. He was awarded with PhD degree from SOA University, Bhubaneswar in 2014. He has more than 15 years of teaching experience and more than 5 years of research experience. He has authored one text book, published more than 23 research articles in national and international journals and conferences in the areas of Security and Digital Image Stegaography.