Abstract

The combination of pixel value differencing (PVD) and least significant bit (LSB) substitution gives higher capacity and lesser distortion. However, there are three issues to be taken into account: (i) fall off boundary problem (FOBP), (ii) pixel difference histogram (PDH) analysis, and (iii) RS analysis. This paper proposes a steganography technique in two variants using combination of modified LSB substitution and PVD by taking care of these three issues. The first variant operates on 2 × 3 pixel blocks and the second technique operates on 3 × 3 pixel blocks. In one of the pixels of a block, embedding is performed using modified LSB substitution. Based on the new value of this pixel, difference values with other neighboring pixels are calculated. Using these differences, PVD approach is applied. The edges in multiple directions are exploited, so PDH analysis cannot detect this steganography. The LSB substitution is performed in only one pixel of the block, so RS analysis also cannot detect this steganography. To address the FOBP, suitable equations are used during embedding procedure. The experimental results such as bit rate and distortion measure are satisfactory.

1. Introduction

Least significant bit (LSB) substitution is a very old image steganography approach, wherein the LSB bits (one, two, three, or four) of the pixels are substituted by secret data bits. This simplest technique is detected by RS analysis. Wu and Tsai [1] exposed the fact that the edge regions in an image can conceal more amounts 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 1 × 2 pixels. For a block the difference value between the two pixels is computed and changed to a new value by hiding data in it. The PVD technique with block size 2 × 2 has been proposed to enhance the embedding capacity [2, 3]. In blocks of size 2 × 2, edges in three directions are considered. Chang and Tseng [4] considered the values of 2, 3, and 4 neighboring pixels, to calculate the pixel value differences. However, they did not address the fall in error problem (FIEP). Yang et al. [5] calculated varieties of pixel value differences in 4 pixel blocks for data hiding. Hong et al. [6] used diamond encoding with pixel value differencing to achieve better peak signal-to-noise ratio (PSNR). LSB substitution techniques offer higher embedding capacity, but PVD techniques offer higher imperceptibility. Thus PVD and LSB substitution techniques have been combined to obtain larger hiding capacity and better imperceptibility [7, 8]. Chen [9] proposed a PVD steganography using two reference tables to randomize the data embedding. Based on pixel value differences, adaptive LSB substitution has been performed in [10]. Khodaei and Faez [11] proposed a hybrid approach by combining LSB substitution and PVD in 1 × 3 pixel block. It is extended to 2 × 2 size block in [12] and 2 × 3 size block in [13] to improve the performance.

The traditional PVD steganography techniques follow a static range table. Due to this, the pixel difference histogram of the stego-image becomes zig-zag in nature. This is called step effect. This step effect can be avoided by applying two tricks: (i) exploiting the edges in multiple directions and (ii) introducing adaptive range table. Luo et al. [14] also proposed an adaptive PVD steganography with three pixel blocks, which does not suffer with the step effect. Swain [15] proposed two adaptive PVD steganography techniques using vertical, horizontal, and diagonal edges, which does not suffer with step effect. The first technique uses pixel blocks of size 2 × 2, and the second technique uses pixel blocks of size 3 × 3. In general, adaptive image steganography schemes possess lower embedding capacity. Anita et al. [16] optimized the performance of adaptive PVD by using 6 pixel blocks. The edges can be predicted by some prediction functions, and hiding capacity depends upon this prediction. If we hide bits of data in smooth regions, distortion will be more. Based on the level of complexity of the edge regions, adaptive embedding can be applied [17]. In this way capacity can be increased and chance of detection can be decreased. Balasubramanian et al. [18] proposed a PVD scheme with 3 × 3 size pixel blocks, to achieve higher hiding capacity. To prevent the detection from pixel difference histogram (PDH) analysis, multidirectional edges have been exploited in [19]. Darabkh et al. [20] also proposed PVD steganography using eight directional PVD which is an extension in principle from Wu and Tsai’s original PVD. Any PVD technique which is an extension of Wu and Tsai’s approach should qualify through PDH analysis.

Exploiting modification direction (EMD) steganography was initiated by Zhang and Wang [21], wherein the main idea was to convert a group of bits to a digit in (2n + 1)-ary notational system and hide it in a pixel of the block. The hiding capacity of this technique is very poor. It has been improved by Kim [22] using )-ary notational system, where n and x are user defined values. Shen and Huang [23] combined PVD with EMD to achieve higher hiding capacity and better PSNR.

This paper proposes a combination of modified LSB substitution (M-LSB) and PVD. It is judiciously designed in such a manner that the fall off boundary problem (FOBP) does not arise and neither PDH analysis nor RS analysis can detect it. There are two main contributions in this paper: (i) discovering the FOBP that exists in Khodaei and Faez’s [11] technique (ii) and addressing it by proposing an improved technique with larger block size.

Khodaei and Faez [11] in 2012 proposed a steganography method using both PVD and LSB substitution. The embedding procedure of this technique is as described below. The image is divided into nonoverlapping blocks of size 1 × 3; i.e., a block comprises 3 pixels from one row and three adjacent columns of the image, as shown in Figure 1(a). Image is viewed as a two-dimensional matrix of pixels/bytes. On middle pixel , k bit LSB substitution is applied. The k can be chosen from 3, 4, or 5. An ideal value for k will be 3. After k bit LSB substitution, becomes . Suppose the decimal value of k LSBs of is L and the decimal value of k LSBs of is S. The deviation d is equal to L-S. Now is optimized by (1).This value is final. Two difference values and are calculated. Table 1 is the range table for type 1 and Table 2 is the range table for type 2.

The value belongs to one of the ranges in range table whose lower bound is and embedding capacity is . From the secret data stream bits are taken and its decimal equivalent is . To hide bits of data in , the new value for is . Similarly, the value belongs to a range in the range table whose lower bound is and embedding capacity is . From the secret data stream bits are taken and its decimal equivalent is . To hide bits of data in , the new value for is . These new difference values, and , are calculated using (2).Two new values of and two new values for are calculated as below using (3).Now, , the final value of , is calculated using (4). Similarly, the final value of known as is calculated using (5).Thus the block of Figure 1(a) is converted to its stego-block as shown in Figure 1(b).

The extraction of the secret embedded data is done by the procedure as described below. The image is partitioned into blocks as was done in embedding procedure. A stego-block is as shown in Figure 1(b). From the middle pixel , k LSBs are extracted. Two differences and are calculated using (6). The difference belongs to a range in the range table whose embedding capacity is and lower bound is . Similarly, the difference belongs to a range in the range table whose embedding capacity is and lower bound is . Note that out of two range tables, the one that was used during embedding is the same one that should be used during extraction. The decimal equivalents of secret bit streams embedded in and are and , respectively, as in (7). Finally, and are converted to and binary bits, respectively. These are the bits actually hidden.

3. Proposed Technique

3.1. Proposed Variant 1: Five Directional PVD with Modified LSB Substitution

The image is divided into nonoverlapping blocks of size 2 × 3; i.e., a block comprises 6 pixels from two adjacent rows and three adjacent columns of the image, as shown in Figure 2(a). The image is viewed as a two-dimensional matrix of pixels/bytes. On pixel , k bit LSB substitution is applied. The k value can be chosen from 3, 4, or 5. An ideal value for k is 3. After k bit LSB substitution becomes . Suppose the decimal values of k LSBs of is L and the decimal value of k LSBs of is S. The deviation d is equal to L-S. Now is optimized using (1). This value is final.

For i = 1 to 5, five difference values are calculated. Table 1 is the range table for type 1 and Table 2 is the range table for type 2. The value belongs to a range in the range table whose lower bound is and embedding capacity is . For i = 1 to 5, take binary bits from secret data stream and convert it to decimal value . Now, for i = 1 to 5 calculate new difference values using (8). For i = 1 to 5, for each , two new values, namely, and , are calculated using (9). Now, for i = 1 to 5, the stego-value of is known as . It is calculated using (10). Thus the block of Figure 2(a) is converted to its stego-block as shown in Figure 2(b).

The extraction of the secret embedded data is done by the procedure as described below. The image is partitioned into blocks as was done in embedding procedure. A stego-block is shown in Figure 2(b). From the pixel , the k least significant bits are extracted. For i = 1 to 5, five difference values are calculated using (11). The difference belongs to a range in the range table whose embedding capacity is and lower bound is . Note that out of two range tables, the one that was used during embedding is the same one that should be used during extraction. The decimal equivalents of secret bit streams embedded in is . It is calculated using (12). Finally, for i = 1 to 5, each is converted to binary bits. These bits are the embedded data.

3.2. Example of Embedding and Extraction for Proposed Technique-Variant 1 and FOBP

To understand the embedding procedure, let us consider the original block in Figure 3(a). Suppose the secret data to be embedded is 100 1111 101 000 001 001. Let us choose the k value as 3 and Table 1 as the range table. The value of is 181. The values of , , , , and are 255, 200, 190, 192, and 182, respectively. The in binary is . Take 3 bits of data, i.e., 100 from the secret data stream and embed in using LSB substitution. The new binary value is and its decimal equivalent is 180; thus is 180. The decimal value of 3 LSBs of is 5 and the decimal value of 3 LSBs of is 4. The deviation d is equal to 5-4 = 1. Now is optimized using (1). Hence final value of after optimization is 180.

Now the five difference values are , , , , and . The value belongs to the range , so and . The value belongs to the range , so = 3 and = 16. Similarly, = 3, = 8, = 3, = 8, = 3, and = 0. Take , , , , and binary bits from secret data stream and convert them to decimal values , , , , and , respectively. Hence , , , , and .

Using (8), , = 16+5 = 21, = 8 + 0 = 8, = 8 + 1 = 9, and = 0 + 1 = 1. Using (9), , , , , , , , , , and .

Using (10), = 101, = 201, = 188, = 189, and = 181. Hence the stego-block is as shown in Figure 3(b).

To understand the extraction procedure, let us consider the stego-block in Figure 3(b). The value of is 180 and in binary is ; the three LSBs, , are extracted. Using (11), , , , , and . The value belongs to , so and . The value belongs to , so , . Similarly, , , , , , and .

Using (12), , , , , and . Converting , , , , and to , , , , and binary bits, we get 1111 101 000 001 001. From , we had extracted . Thus the total data extracted is 100 1111 101 000 001 001.

Fall of Boundary Problem (FOBP). A pixel of a gray image is represented in 8 bits. The decimal value of a pixel falls in the range . If a stego-pixel value is less than zero or greater than 255, then we declare that a FOBP has arisen. Khodaei and Faez’s LSB+PVD approach is a very fantastic one and has higher embedding capacity and PSNR, but it suffers with FOBP.

Khodaei and Faez’s Technique Suffers with FOBP. It can be understood from the following discussion. Let us consider a 1 × 3 pixel block as shown in Figure 4(a). The secret data stream to be embedded is 100 001 1111 000, etc. The middle pixel, i.e., , is 181; its binary value in 8 bits is . The values of and are 182 and 255, respectively. Let us choose k = 3 and Table 1 as range table. The 3 bits of data from the secret data stream is 100. After applying 3 bit LSB substitution, the binary value of changes to , which is equal to 180 in decimal. Thus the value of is 180. The three least significant bits of are 101; in decimal it is 5. The three least significant bits of are 100; in decimal it is 4. Thus d = L-S = 5-4 = 1. By applying (1), the optimized value of is 180, as shown in Figure 4(b).

Now we calculate two difference values and . The difference belongs to the range , so and value are 0 and 3, respectively. The next 3 bits of data from the secret data stream are 001; its decimal value is 1, i.e., = 1. The new difference is 0 + 1 = 1, as per (2). The difference belongs to the range , so and value are 64 and 4, respectively. The next 4 bits of data from the secret data stream are 1111; its decimal value is 15, i.e., . The new difference is 64 + 15 = 79, as per (2).

Now by referring to (3), , , , and . By referring to (4) and (5) and are calculated. This is shown as (13) and (14), respectively. Hence the = 181 and = 259. The stego-block is as shown in Figure 4(c). A FOBP occurred. Thus the embedding procedure of Khodaei and Faez’s technique needs some modification.

3.3. Proposed Variant 2: Eight Directional PVD with Modified LSB Substitution

The image is divided into nonoverlapping blocks of size 3 × 3; i.e., a block comprises 9 pixels from three adjacent rows and three adjacent columns of the image, as shown in Figure 5(a). Image is viewed as a two-dimensional matrix of pixels/bytes. On pixel , k bit LSB substitution is applied. The k value can be chosen from 3, 4, or 5. An ideal value for k will be 3. After k bit LSB substitution becomes . Suppose the decimal value of k LSBs of is L and the decimal value of k LSBs of is S. The deviation d is equal to L-S. Now is optimized using (1). This value is final.

For i = 1 to 8, eight difference values are calculated. Table 1 is the range table for type 1 and Table 2 is the range table for type 2. The value belongs to a range in the range table whose lower bound is and embedding capacity is . For i = 1 to 8, take binary bits from secret data stream and convert it to decimal value . Now, for i = 1 to 8 calculate new difference values using (15).For i = 1 to 8, for each , two new values, namely, and , are calculated using (16). Now, for i = 1 to 8, , the stego-value of is calculated using (17).Thus the block of Figure 5(a) is converted to its stego-block as shown in Figure 5(b).

The extraction of hidden data is done by the procedure described below. From the stego-image blocks are formed as in embedding procedure. A stego-block is as shown in Figure 5(b). From the pixel , k least significant bits are extracted. For i = 1 to 8, eight difference values are calculated using (18). The difference belongs to a range in the range table whose embedding capacity is and lower bound is . Note that out of two range tables, the one that was used during embedding is the same one that should be used during extraction. The decimal equivalent of secret bit stream embedded in is . It is calculated using (19). Finally, for i = 1 to 8, each is converted to binary bits. These bits are the embedded data.

4. Results and Discussion

The proposed technique (variant 1 and 2) is experimented using MATLAB programming. The test images are taken from SIPI database [26]. The eight sample images are shown in Figure 6. These are RGB color images of size 512 × 512. Each pixel consists of 3 bytes. Each byte is treated like a pixel for computation point of view. Figure 7 represents the stego-images of Lena and Baboon for proposed variant 1. Figure 8 represents the stego-images of Lena and Baboon for proposed variant 2. It can be observed from the stego-images that there is no distortion observable to be suspected as stego-images; they are as good as original images. In each of these stego-images 840000 bits (eight lakhs and forty thousand bits) of data is hidden.

The proposed technique is compared with the Khodaei and Faez’s technique in terms of PSNR, hiding capacity, quality index (Q), and bits per byte (BPB). The formulae to measure these parameters are referred to in [27]. The number of cases of fall off boundary arisen during execution is recorded for these techniques. From Table 3 it can be observed that in both type 1 and type 2 of Khodaei and Faez’s technique FOBP arises. Further from Tables 4 and 5 it can be observed that both the variants of proposed technique do not suffer with FOBP. In proposed technique the hiding capacity and bit rate are higher than those of Khodaei and Faez’s technique, but PSNR is slightly lower than that of Khodaei and Faez’s technique.

Furthermore the PSNR and hiding capacity of three closely related techniques discussed in [12, 13, 19] are recorded in Table 6. Techniques in [12, 13] are extension of Khodaei and Faez’s [11] technique, so they suffer with FOBP. Technique in [19] is extension of Wu and Tsai’s [1] PVD technique. It also suffers with FOBP. Although the PSNR values of these three techniques are greater than that of the proposed technique, the hiding capacity of the proposed technique is higher than these techniques.

The proposed technique has been compared with the techniques in [16, 24, 25] as shown in Table 7. The technique in [16] is an adaptive PVD technique with two variants. The hiding capacity of the proposed technique (in all the four variants) is greater than this technique. As the hiding capacity of the adaptive PVD technique is very less, PSNR is comparatively higher than the proposed technique. The hybrid technique in [24] is a mixture of PVD, LSB substitution, and EMD. All the four variants of this technique possess lesser hiding capacity as compared to the proposed technique. In [25] the two variants of eight directional PVD technique have been discussed. The PSNR and hiding capacity of the proposed technique (type 1) are as good as those of the technique in [25] (type 1). Similarly, the PSNR and hiding capacity of the proposed technique (type 2) are as good as those of the technique in [25] (type 2).

The proposed technique (variant 1 and variant 2) uses LSB substitution and PVD, so it needs to be analyzed by both RS analysis and PDH analysis. Figure 9 represents the PDH analysis using Lena, Baboon, Jet, and Tiffany images for type 1 and type 2 of Khodaei and Faez’s technique. There are eight subfigures in it. Each subfigure represents two curves. The solid line curve is for the original image and the dotted line curve is for the stego-image. The curve of original image will be smooth in nature, i.e., free from zig-zag appearance. This zig-zag appearance is called step effect. For Lena image the step effect is clearly identified, and for the other three images it is slightly identified. For the proposed variant 1 the PDH analysis is shown in Figure 10. The step effects are reduced as compared to that of Khodaei and Faez’s technique. For the proposed variant 2 the PDH analysis is shown in Figure 11. The step effects do not exist at all.

The RS analysis of Khodaei and Faez’s technique and the proposed technique is shown in Figures 1214, using Lena and Baboon images. It is carried out by computing 4 parameters such as , , , and [27]. If the condition is true, then RS analysis fails to detect the steganography technique. However, if the condition is true, then the RS analysis succeeds in detecting the steganography technique. From these figures it is evident that Khodaei and Faez’s technique and the proposed technique both escape from RS analysis.

5. Conclusion

Steganography techniques, those using the principles of LSB substitution and PVD, need to address three issues: (i) fall off boundary problem (FOBP), (ii) pixel difference histogram (PDH) analysis, and (iii) RS analysis. This paper proposes a steganography technique in two variants using LSB substitution and PVD. The first variant operates on 2 × 3 pixel blocks and the second variant operates on 3 × 3 pixel blocks. In one of the pixels of a block embedding is performed using modified LSB substitution. Based on the new value of this pixel, difference values with other neighboring pixels are calculated. Using these differences, PVD approach is applied. The edges in multiple directions are exploited, so PDH analysis cannot detect this steganography. The LSB substitution is performed in only one pixel of the block, so RS analysis also cannot detect this steganography. The FOBP is addressed by introducing suitable equations in the embedding procedure. The experimental results such as bit rate and PSNR are satisfactory.

Conflicts of Interest

The author declares that there are no conflicts of interest regarding the publication of this paper.