Abstract

The traditional pixel value differencing (PVD) steganographical schemes are easily detected by pixel difference histogram (PDH) analysis. This problem could be addressed by adding two tricks: (i) utilizing horizontal, vertical, and diagonal edges and (ii) using adaptive quantization ranges. This paper presents an adaptive PVD technique using 6-pixel blocks. There are two variants. The proposed adaptive PVD for -pixel blocks is known as variant 1, and the proposed adaptive PVD for -pixel blocks is known as variant 2. For every block in variant 1, the four corner pixels are used to hide data bits using the middle column pixels for detecting the horizontal and diagonal edges. Similarly, for every block in variant 2, the four corner pixels are used to hide data bits using the middle row pixels for detecting the vertical and diagonal edges. The quantization ranges are adaptive and are calculated using the correlation of the two middle column/row pixels with the four corner pixels. The technique performs better as compared to the existing adaptive PVD techniques by possessing higher hiding capacity and lesser distortion. Furthermore, it has been proven that the PDH steganalysis and RS steganalysis cannot detect this proposed technique.

1. Introduction

In image steganography techniques, the images are used for covert communication [1]. Since we hide the artificial message inside an image, the image statistics change, so the goal is to minimize this change [2]. Least significant bit (LSB) substitution methods are the age-old methods of image steganography, wherein the LSB bits of a pixel are substituted by secret data bits. This LSB steganography can very easily be detected by RS analysis. Wu and Tsai [3] discovered the fact that the edge regions in an image can conceal more amount of data as compared to the smooth regions. Based on this principle, they proposed pixel value differencing (PVD) steganography. The image should be partitioned into different blocks, each of size of . For a block, the difference between the two pixels is computed and changed to a new value by hiding data in it. The PVD technique with block size of has been proposed to enhance the embedding capacity [4, 5]. Chang and Tseng [6] considered the values of 2, 3, and 4 neighboring pixels to calculate the pixel value differences. But they did not address the FIEP problem, which was resolved in [7]. To achieve higher embedding capacity, Swain [8] proposed PVD steganography considering the maximum difference out of all the differences calculated with all the neighbors. LSB substitution techniques offer higher embedding capacity, but PVD techniques offer higher imperceptibility. Thus, PVD and LSB techniques have been combined to obtain larger hiding capacity and better imperceptibility [9, 10]. Tseng and Leng also proposed one PVD steganography in blocks of size of based on the concept of perfect square in the range table [11].

The traditional PVD steganography techniques [35] follow a static range table. Due to this, some undesired steps are introduced in pixel difference histograms of the stego images. These step effects can be avoided by applying two tricks: (i) exploiting horizontal, vertical, and diagonal edges and (ii) using adaptive range table. Luo et al. [12] also proposed an adaptive PVD steganography with three-pixel blocks, which does not suffer from the step effects. Swain [13] proposed two PVD steganography techniques using vertical, horizontal, and diagonal edges, which do not suffer from step effects. The first technique uses pixel blocks of size of and the second technique uses pixel blocks of size of . Balasubramanian et al. [14] and Pradhan et al. [15] have proposed PVD schemes with size pixel blocks to achieve higher hiding capacity. Chen [16] proposed a PVD steganography using two reference tables to randomize the data embedding. To improve upon the security, Wang et al. [17] have proposed a different type of PVD steganography. They used modulus function to modify the remainder of a pair of pixels instead of their difference. Lee et al. [18] observed that this technique is also suffering from step effects. So they proposed some improved way to avoid these step effects. Based on pixel value differences, adaptive LSB substitution has been performed in [19, 20]. Nguyen et al. [21] used more than one bit planes and pixel block complexity measure to perform adaptive embedding. In this method, the high textured regions carry more number of bits and low textured regions carry less number of bits. In general, adaptive image steganography schemes possess lower embedding capacity. The edges can be predicted by some prediction functions and hiding capacity depends upon this prediction. Smooth regions cannot hide more number of bits. Based on the level of complexity of the edge regions, adaptive embedding can be applied [22]. Capacity is increased and chance of detection is decreased. To prevent the detection from pixel difference histogram (PDH) analysis, multidirectional edges have been exploited in [15]. A combination of LSB substitution and PVD against RS analysis has been proposed in [23] and a technique based on group of bits substitution against PDH analysis has been proposed in [24]. Compression and encryption techniques can be used with steganography in various ways to add additional measures. In [25], the steganography algorithm uses a public key and a private key to generate pseudorandom numbers that identify the embedding locations.

Being motivated by Luo et al.’s [12] and Swain’s [13] adaptive PVD techniques, an adaptive PVD technique with two variants has been proposed using 6-pixel blocks. The number of conditions used for range detection is lesser as compared to Luo et al.’s [12] and Swain’s [13] adaptive PVD techniques. The hiding capacity and PSNR have been improved.

2. The Proposed Adaptive PVD Technique with 2 × 3-Pixel Blocks

2.1. The Embedding and Extraction Procedures

The data embedding is performed by traversing the image in raster scan order and splitting the image into blocks of size of pixels. A sample block is given in Figure 1(a). The four corner pixels, , , , and , are used to hide confidential message bits, based on the two centre pixels and . The embedding scheme is narrated in the following steps.

Step 1. For , eight difference values, and , are calculated.

Step 2. For , for target pixel , the lower and upper bounds of the range, and , respectively, are calculated based on the four cases narrated below.
Case  1. If and   > 0, then and .
Case  2. If and  , then and .
The term is a function to find the minimum of two values and .
Case  3. If and  , then and .
Case  4. If and  , then and .
Thus, four sets of lower and upper bounds, (i) and for , (ii) and for , (iii) and for , and (iv) and for , are calculated.

Step 3. For , should be the embedding length in . It is estimated by the following equation: In (1), floor is a function to find the lower integer of its floating point argument. For example, floor .

Step 4. For , bits of secret data are taken and converted to decimal equivalents, . After hiding in , the new value is calculated as follows:It means, for the original pixel , the stego pixel is a value chosen from the range such that it satisfies the following conditions: (i) and (ii) is minimum. Thus the stego-pixel block of size of is shown in Figure 1(b).

The data extraction can be performed by traversing the stego image in raster scan fashion and partitioning it into blocks of sizes of . Figure 1(b) is an example of a -stego-pixel block. Data is to be extracted from the pixels , , , and using the following steps.

Step 1. For , the eight difference values, and , are calculated.

Step 2. For , assume that lower bounds and upper bounds of the ranges for the four corner pixels are and . These are calculated using Step  2 of embedding procedure.

Step 3. The embedding length, , is calculated using the equation in Step  3 of embedding procedure.

Step 4. For , the decimal equivalent of the binary data to be extracted from is . This is calculated using (3). Finally each is converted to , binary bits.Equation (3) means that, out of the list of values of , those satisfying the condition , the smallest one should be chosen to be the final value of .

2.2. Flow Charts for Embedding and Extraction Procedures

The image is traversed in raster scan order and splitted into nonoverlapped blocks of size of pixels. The flow chart in Figure 2 represents embedding into a block.

The flow chart in Figure 3 represents the retrieval of secret binary data from a -pixel block.

2.3. Examples of Embedding and Extraction Procedures

An example of embedding is described below. Figure 4(a) is a sample block. Here , , , , , and .

Step 1. Eight difference values are given as follows:

Step 2. Now let us find out the lower and upper bounds and for = 1, 2, 3, and 4: and . Case  2 is satisfied. Hence, and . and . Case  2 is satisfied. Hence, and . and . Case  3 is satisfied. Hence, and . and . Case  1 is satisfied. Hence, and .

Step 3.

Step 4. Suppose that the secret data stream is Take , that is, 3 bits of data from the secret data stream and convert to its decimal value . Thus, is 5. Similarly, take , , and bits of data from the secret data stream and convert to decimal values , and , respectively. Thus, , , and values are 4, 1, and 7, respectively.

Now calculate as follows:that is,It means that for and should be chosen as one of the values from this list subject to the condition that is minimum. Thus, is 95.

Calculate as follows:that is,It means that for and should be chosen as one of the values from this list subject to the condition that is minimum. Thus, is 96.

Calculate as follows:that is,It means that for and should be chosen as one of the values from this list subject to the condition that is minimum. Thus, is 101.

Calculate as follows:that is,It means that for and should be chosen as one of the values from this list subject to the condition that is minimum. Thus, is 107.

Thus the stego block is as shown in Figure 4(b).

An example of extraction is as described below. Let us extract the embedded data from the stego block shown in Figure 4(b). Here , , , , , and .

Step 1. Eight difference values are given as follows:

Step 2. Now let us find out the lower and upper bounds and for , and 4: and . Case  2 is satisfied. Hence, and . and . Case  2 is satisfied. Hence, and . and . Case  3 is satisfied. Hence, and . and . Case  1 is satisfied. Hence, and .

Step 3.

Step 4. For , the decimal equivalent of the binary data to be extracted from is . That means is extracted from , is extracted from , is extracted from , and is extracted from . It is performed as follows.that is,It means that .
implies that minimum value of is 5. This is converted to binary bits. That means 5 is converted to 3 binary bits as . that is,It means that .
implies that minimum value of is 4. This is converted to binary bits. That means 4 is converted to 3 binary bits as .that is,It means that .
implies that minimum value of is 1. This is converted to binary bits. That means 1 is converted to a single binary bit. It is . that is,It means that .
implies that minimum value of is 7. This is converted to binary bits. That means 7 is converted to 3 binary bits as .
Thus the extracted bits are . These are the embedded bits.

3. The Proposed Adaptive PVD Technique with 3 × 2-Pixel Blocks

The data embedding is performed by traversing the image in raster scan order and splitting the image into blocks of size of 3 × 2 pixels. A sample block is given in Figure 5(a). The four corner pixels, , , , and , are used to hide confidential message bits, based on the two centre pixels and . The embedding scheme is narrated in the steps below.

Step 1. For , eight difference values, and , are calculated.

Step 2. For , for target pixel , the lower and upper bounds of the range, and , respectively, are calculated based on the four cases narrated below.
Case  1. If and  , then and .
Case  2. If and  , then and .
Case  3. If and  , then and .
Case  4. If and  , then and .
Thus four sets of lower and upper bounds, (i) and for , (ii) and for , (iii) and for , and (iv) and for , are calculated.

Step 3. For , the embedding length in is . It is estimated by (24). The term is a function to find the minimum of two values and .

Step 4. For , the bits of secret data are taken and converted to decimal equivalents, . After hiding in , the new value is calculated as follows:Thus the stego-pixel block of size of is as given in Figure 5(b).

The data extraction can be performed by traversing the stego image in raster scan fashion and partitioning into blocks of sizes of . Figure 5(b) is an example of a -stego-pixel block. Data is to be extracted from the pixels , , , and using the following steps.

Step 1. For , the eight difference values, and , are calculated.

Step 2. For , assume that lower bounds and upper bounds of the ranges for the four corner pixels are and . These are calculated using Step  2 of embedding procedure.

Step 3. The embedding length, , is calculated using the equation in Step  3 of the embedding procedure.

Step 4. For , the decimal equivalent of the binary data to be extracted from is . This is calculated using (26). Finally, each is converted to binary bits.

4. Experimental Results and Discussion

MATLAB is used for simulating this technique. The tested images are collected from SIPI database. Figure 6 represents some original sample images. Figures 7 and 8 show their respective stego images. The embedding length in each of these stego images is 140000 (one lakh and forty thousand) bits. The stego images are as good as the original images.

The proposed adaptive PVD schemes are compared with the adaptive PVD techniques in [12, 13]. There are three parameters considered for comparison. The first parameter is peak signal-to-noise ratio (PSNR). It is an estimation of distortion in the stego image. Higher value of PSNR implies lesser amount of distortion. The PSNR is calculated in terms of mean square error (MSE). Equations (27) and (28) represent the calculations for MSE and PSNR, respectively:The second parameter is hiding capacity. It is the maximum amount of information that can be concealed in the stego image, represented in bits. It can also be represented as bits per byte (BPB). This BPB is often termed as bit rate; it is calculated as in (29). It is used to express the hiding capacity per a byte of the image [13]: The third parameter, quality index (), is a measure of equivalence between two images. It is evaluated by (30). If the two images are exactly the same, then quality index is 1. The terms used in (28) are as follows. The terms and are the mean pixel value of the original image and stego image, respectively. The terms and are the standard deviation for the original image and stego image, respectively. The term is the covariance. The estimation of all these symbols is done using (31), (32), (33), (34), and (35), respectively:Looking at the last rows in Tables 1 and 2, the average over the results of seven sample images is given. It can be noticed that both the capacity and PSNR of the proposed techniques are improved over the existing techniques proposed in [12, 13].

The security of our proposed technique is evaluated by tools like (i) RS steganalysis and (ii) PDH steganalysis. The RS steganalysis graphs of Lena, Baboon, Peppers, and Jet images are represented in Figures 9 and 10 for proposed variant 1 and variant 2, respectively. In all the cases, graphs for and are linear and very near to each other. Similarly, the graphs for and are linear and close to each other. Hence, the relation is valid. So we can conclude that the proposed technique cannot be detected by RS analysis.

Figures 11 and 12 represent the PDH analysis for Lena, Baboon, Peppers, and Jet images for proposed variant 1 and variant 2, respectively. In all these eight graphs, the solid line curve is for original image and the dotted line curve is for stego image. We can verify that there are no step effects in the curves of the stego images. This proves that the technique could not be detected by pixel difference histogram analysis.

5. Conclusion

The PVD steganography techniques are well known for higher imperceptibility. But for the traditional PVD steganography techniques, the pixel difference histograms show some step effects. This problem has been addressed by using two tricks: (i) exploiting vertical, horizontal, and diagonal edges and (ii) using adaptive quantization ranges. In both proposed variants, the four corner pixels are used to hide data bits and the two middle row/column pixels are used to detect the edges. The quantization ranges are adaptive and are calculated using correlation of the middle pixels with the four corner pixels. From the observations, it is evident that this proposed technique achieves higher embedding length and lesser distortion as compared to that of Luo et al.’s and Swain’s adaptive PVD techniques. Furthermore, it has been experimentally proven that the RS steganalysis and pixel difference histogram steganalysis cannot detect this proposed technique.

Conflicts of Interest

The authors declare that they have no conflicts of interest.