Abstract

Data hiding is a technique that hides the existence of secret data from malicious attackers. In this paper, we propose a new data-hiding scheme using multidirectional pixel-value differencing, which can embed secret data in two directions or three directions on colour images. The cover colour image is divided into nonoverlapping blocks, and the pixels of each block are decomposed into R, G, and B channels. The pixels of each block perform regrouping, and then the minimum pixel value within each block is selected. The secret data can be embedded into two directions or three directions based on the minimum pixel value by using the difference value for the block. The pixel pairs with the embedded secret data are put separately into two stego images for secret data extraction on receiver sides. In the extraction process, the secret data can be extracted using the difference value of the two stego images. Experimental results show that the proposed scheme has the highest embedding capacity when the secret data are embedded into three directions. Experimental results also show that the proposed scheme has a high embedding capacity while maintaining the degree of distortion that cannot be perceived by human vision system for two directions.

1. Introduction

In recent years, the use of the Internet has become more increased towing to the development of computer performance and communication technology. Therefore, digital contents such as image, video, movie, and audio files are generally used to transmit and receive each other on the Internet. Digital contents have many advantages such as convenience of transmission and ease of use. Therefore, information exchange using digital contents is becoming common. However, digital contents are easy to change and can be duplicated on the Internet that has the characteristics of an open space. Thus, there are many problems that can infringe on the copyright of an individual or an organization. To solve these problems, cryptographic techniques and data-hiding techniques are used to prevent illegal use of information. Cryptography encrypts data with embedded secret data [1, 2]. Cryptography can prevent the transmitted data from being manipulated or leaked. On the other hand, data-hiding techniques hide the existence of secret data [3, 4]. Therefore, malicious attackers cannot know the existence of secret data in digital contents. Data hiding or digital watermarking techniques are used steadily for complete digital information and copyright protection. Watermarking embeds a watermark on digital contents to prevent copyright problems [5, 6]. Data-hiding techniques can be divided into various categories according to classification criteria. Data-hiding methods can be classified into hidden channel technique, steganography technique, anonymity technique, and technique for hiding copyright information. The covert channel technique reduces the signal-to-noise ratio in order to reduce the bandwidth of the base channel, so that the secret data are not exposed to others [7, 8]. Therefore, only authorized senders and receivers can know whether the secret data exist or not. In other words, it is a technique to transmit secret data through a secret path. Steganography is a technique that hides the existence of secret data [911]. Steganography can hide the secret data in common digital contents such as image, audio, and video file, so that the secret data to be transmitted cannot be detected by human senses. Conventional cryptography technique sends the encrypted data together with secret data to conceal confidential information, while steganography is related to hide the existence of secret data. Anonymity is a technique that hides the subject of communication and conceals the identity of the sender and the receiver that transmit and receive secret data, where the secret channel between the sender and the receiver is not exposed [12]. Information hiding techniques for hiding copyright information can be categorized into robustness and ductility. Watermarking and fingerprinting are robustness methods. The watermarking technique records copyright information in a video, audio file, or image file for copyright protection. If attackers attempt to modify the digital watermarking information in an illegal manner, the original video or audio files cannot be used. Fingerprinting is a technique that inserts buyer information into contents to track which purchaser has started illegal distribution of contents when illegal distribution of contents occurs [13]. In particular, data-hiding techniques can be classified into data-hiding method and reversible data-hiding method. The data-hiding methods using digital images embed the secret data after changing the pixels of the original cover image. Therefore, the stego image having the embedded secret data is distorted. In order to solve distortion problems, various techniques have been suggested, but such distortions have been acted sensitively in the fields of military, medical, and artwork. As a result, reversible data-hiding methods are being actively researched not only to recover the original cover image but also to extract the secret data [14, 15]. LSB (Least Significant Bit) and PVD (Pixel-Value Differencing) are typical examples of data-hiding techniques. The LSB is a technique to hide secret data into the least significant bits so that it cannot be easily recognized by the human eye [3]. Generally, when secret data are hidden by using up to 3 least significant bits, distortion of the image cannot be perceived by human eyes. However, image distortion can be perceived by human eyes when the least significant bits are used more than 4. In order to overcome the distortion problem, the optimal LSB replacement algorithm has been proposed [16], and Wang et al. proposed an improved scheme using the genetic algorithm [17]. The PVD scheme proposed by Wu and Tsai uses difference values of two consecutive pixels in a block to determine the size of the secret data [18]. Also, an improved PVD scheme using the LSB replacement method for the smooth area of the cover image has been proposed by Wu et al. [19]. Wang et al.’s scheme was proposed to improve the image quality by applying the coefficient function to the PVD scheme [20]. In 2009, Chang et al. proposed a dual image-based data-hiding scheme that could embed secret data into two images [21]. Chang et al.’s scheme improved the function of EMD (Exploiting Modification Direction) scheme which used secret data based on pentadecimal number [22]. However, the embedding capacity of secret data was low in EMD scheme, so Chang et al.’s scheme solved the low embedding capacity problem by using dual image. Lee et al.’s scheme embedded secret data into two images using four directions [23]. Qin et al.’s scheme performed different embedding processes on the two images [24]. The EMD scheme is used for the first image, and three rules are applied to the second image based on the first image to embed the secret data. Lu et al.’s scheme reduced image distortion using CFS (Center Folding Strategy) method, where two stego images using the up and down functions were produced [25]. In 2017, Yao et al. proposed a dual image-based data-hiding scheme using selection strategy of shiftable pixel’s coordinates to improve the scheme proposed by Lu et al. [26]. The technique using PVD on colour image was proposed by Nagaraj et al.’s scheme uses modulus three function with PVD to embed the secret message bits into the colour image [27]. Prema and Manimegalai proposed a technique using three pairs of {(R, G), (G, B), (B, R)} and modified PVD scheme [28]. Swain et al. proposed an adaptive PVD-based colour image-hiding scheme [29]. In 2017, Shiv and Arup proposed a technique to apply PVD scheme to overlapping blocks on colour image. In Shiv and Arup’s scheme, colour image is grouped into two pairs (R, G) and (G, B). The PVD scheme is applied to each pixel pair and performs a reconditioning step to obtain a modified stego image. The concept of redundant blocks is considered to increase embedding capacity. Although there are many techniques to use the PVD on colour image, it still have to improve the image quality and the embedding capacity. In this paper, a novel steganography scheme using the PVD to multidirections on colour images is proposed. We divide a colour image into nonoverlapping blocks and decompose the colour pixels in each block into R, G, and B. The decomposed pixels perform regrouping and find the minimum value to apply the PVD scheme in two directions or three directions. The pairs of pixels on which the PVD scheme was performed are stored in two images and generate two stego images. The remainder of this paper is organized as follows. The pixel-value differencing, data hiding in dual images, and the pixel-value differencing on colour images are explained in Section 2. The proposed scheme is described in Section 3, and the experimental results are analysed in Section 4. Finally, the conclusions are described in Section 5.

In this section, the Wu and Tsai’s PVD scheme and Chang et al.’s dual image-based data-hiding scheme are explained [18, 21]. In addition, we describe the PVD based on the colour image proposed by Shiv and Arup [30].

2.1. PVD Scheme

PVD technique determines the size of the secret data that can be hidden by using the difference value of two consecutive pixels in a block. There exists a smooth area and an edge area in images. The edge region is relatively more complicated than the smooth region. When the image is distorted, the change of the smooth area in the human eye can be well distinguished, but the change of the edge area is not well distinguished. Therefore, we can hide more secret data in the edge area than in the smooth area when hiding the secret data in an image. In the PVD scheme, the cover image is separated into blocks, and two consecutive pixels in an each block are used which are defined as and . The pixel values of and are defined as and , and the difference value of two pixels is calculated using the following equation:

The difference value ranges from 255 to 255. If has a value close to 0, it is located in the smooth region, whereas if has a value close to 255 and 255, it is located in the edge region. When the defined range is and has a range from 1 to , is defined as the lowest value, and is defined as the highest value. The range table is defined in Figure 1.

When the -th block has the difference value , the bits can be embedded in the block are calculated by the following equation:

The parameter denotes the number of embeddable secret bits. The binary secret bits are converted into secret data in decimal. The new difference value is calculated by equation (3) after inserting the secret data.

The value of has a range from 0 to , so has a range from to . When the value of is calculated, a new pixel value is calculated from the following equation:

2.2. PVM Scheme

In 2013, Nagaraj et al. proposed a PVM (Pixel-Value Modification) scheme using a modulus 3 function. The colour cover image is decomposed into R, G, and B, and the modulus 3 operation is performed. The result of the modulus 3 operation is compared with the ternary secret data, and the cover image pixel value is changed according to the compared result. The embedding algorithm is given in Algorithm 1.

The embedding algorithm of PVM scheme is as follows.
Step 1: Separate RGB colour image into R, G, and B channels
Step 2: Convert decimal secret data to generate ternary secret data
Step 3: Perform modulus 3 operation on the all pixel values of the R, G, and B grayscale images to generate
Step 4: Convert the cover image pixel value to the stego image pixel value according to the following conditions.Case 1:  = , then not modifiedCase 2:  ≠  and  < , then  =   + 1Case 3:  ≠  and  > , then  =   – 1
 Step 5: Merge R, G, and B to generate a stego image.

In the extraction process, the stego image is separated into R, G, and B. And the modulus 3 operation is performed on all the pixels to extract the ternary secret data. Finally, the ternary secret data are transformed into the original secret data.

2.3. Shiv and Arup’s Scheme

In 2017, Shiv and Arup proposed a PVD scheme based on RGB colour image. RGB colour image is separated into R, G and B grayscale images, and two pairs (R, G) and (G, B) are created for all pixel values for each R, G, and B grayscale images. Then the PVD scheme is applied to generate , , , and for the two pairs. A stego RGB image is generated using the average values of and and the adjusted values of and . The embedding algorithm is given in Algorithm 2.

The embedding algorithm of Shiv and Arup’s scheme is as follows.
Step 1: Separate RGB colour image into R, G, B channel
Step 2: Create two pairs (R, G) and (G, B)
Step 3: Compute and for the threshold: , .
Step 4: Perform Steps 5 through 7. If the threshold is less than the sum of and .
Step 5: Apply the PVD scheme to generate and on two pairs
Step 6: Calculate the average value of and to generate :
Step 7: Calculate , using ,
Step 8: Repeat Steps 1 through 7 for all pixels

In the extraction process, the stego RGB image is separated into , , and . And two pairs and are created. Then, the extraction algorithm of PVD scheme is applied to and to extract secret data.

3. The Proposed Scheme

In this paper, we divide colour image into nonoverlapping blocks, and pixel values in each block decompose into R, G, and B. In the embedding process, the R, G, and B pixel values of each block are regrouped to apply the PVD scheme in two directions or three directions. In order to embed the secret data, we find the minimum value in the regrouped blocks. The secret data are embedded in two directions or three directions based on the minimum value. We split two pixels of each pair into two images for the perfect extraction of the secret data. In the extraction process, we extract the secret data by applying extraction algorithm of PVD scheme in two stego images (Algorithms 3 and 4).

The embedding algorithm is as follows.
Step 1: Divide the colour image into 2  2 size blocks. If the -th block is , then the pixels in are defined as: .
Step 2: Decompose the colour pixels in each block into R, G, and B. is decomposed into , , and by the following equation: , , ,
Step 3: Regroup the , , and pixel values in the block to generate , , and . , ,
Step 4: Find the minimum pixel value of , and , respectively. The function returns the minimum value. , , .
Step 5: Generate pairs in two directions or three directions.Step 5-1: Construct two pairs in two directions based on the minimum value as shown Figure 2. The same algorithm is performed on , and . Therefore, we will explain only . If the minimum pixel value in is , then the two pairs are and .Step 5-2: Construct three pairs in three directions based on the minimum value as shown Figure 3. The same algorithm is performed on , , and . Therefore, we will explain only . If the minimum pixel value in is , then the three pairs are , , and .
Step 6: Apply PVD scheme in two directions or three directions.Step 6-1: Perform the PVD scheme to two pairs for embeds the secret data. The two pairs after the PVD scheme is performed which are defined as and .Step 6-2: Perform the PVD scheme to three pairs for embeds the secret data. The three pairs after the PVD scheme is performed which are defined as , , and .
Step 7: Distribute pixels in two pairs or three pairs to two imagesStep 7-1: Distribute pixels in two pairs to two images and as shown Figure 4.Step 7-2: Distribute pixels in three pairs to two images and as shown Figure 5.
In this step, generated and associated with R channel. and are generated in the G channel, and and are generated in the B channel.
Step 8: Generates two stego colour images and by using the following equation. The function combines R, G, and B to produce a colour image. .
Step 9: Repeat the above steps for all blocks.
In the extraction process, we split the two stego colour images into nonoverlapping blocks and decompose each colour image into R, G, and B. Then, the PVD extraction algorithm is applied to R, G, and B to extract secret data. The extraction algorithm is as follows.
Step 1: Divide the two stego colour images and into 2  2 size blocks. If the -th block is , then the pixels in are defined as .
Step 2: Decompose two stego colour images and into R, G, and B. is decomposed into , , and
Step 3: Extract the secret data by using the following equation. means extraction algorithm of PVD scheme. .
Step 4: Repeat the above Steps for all blocks.

4. Experimental Results

In this section, we analyse , quality index, and embedding capacity for performance evaluation in the proposed scheme. In the data hiding scheme, is measuring the degree of distortion between the cover image and the stego image by using the following equation:

The mean square error is calculated using the following equation:

When the size of the image is given as , the cover image is and the stego image is . If the value is more than 30 dB, the image distortion cannot be detected by human eyes. The quality index is an indicator of the correlation between two images. If quality index is 1, the two images are the same. Conversely, if the quality index is 1, the two images are different images. The quality index is shown in the following equation:

The equations for each element of equation (8) are as follows:

The quality index is defined as the combination of loss of correlation, luminance distortion, and contrast distortion which is redefined as the following equation:

The correlation coefficient between the two images is . The luminance between the two images measures by using , and the similarity of the two images measures by using . The embedding capacity means the size of the secret data that can be embedded into the cover image. Figure 6 shows the 512  512 sized colour images used in the experiment.

Figure 7 shows , , , , , , , and for Lena image after performing the PVD scheme in two directions. and are related to R channel, and are related to G channel, and and are related to B channel. The first stego image is and the second stego image is . Figure 8 shows , , , , , , , and for Lena image after to perform the PVD scheme in three directions. Table 1 compares the of the proposed scheme with other schemes. The proposed scheme generates two stego images. The value of the first stego image is -1 and the value of the second stego image is -2. In the case of embedding secret data in two directions, the each value of the proposed scheme is similar to Shiv and Arup’s scheme or about 1.5 dB lower. And the value of the proposed scheme is about 10 dB lower than Wu and Tsai’s scheme and about 8 dB lower than Nagaraj et al.’s scheme. However, the proposed scheme keeps the value above 30 dB on average, so it cannot detect image distortion by human eyes. Table 2 compares the embedding capacity of the proposed scheme and other schemes. The embedding capacity of the proposed scheme is about 2,400,000 bits higher than Wu and Tsai’s scheme and about 1,500,000 bits higher than Nagaraj el al.’s scheme. Also, the embedding capacity of the proposed scheme is about 1,350,000 bits higher than Shiv and Arup’s scheme and about 1,330,000 bits higher than Prema and Manimegalai’s scheme. As a result, the proposed scheme maintains the of 30 dB or more while the embedding capacity of the secret data is much higher than other schemes. Table 3 compares the quality index of the proposed scheme and Shiv and Arup’s scheme. The quality index of the proposed scheme is similar with Shiv and Arup’s scheme. Table 4 shows the experimental results for each case where secret data are embedded in two directions and three directions in the proposed scheme. When embedding secret data in three directions, the value is about 2 dB lower in both stego images, but the embedding capacity is approximately 1,800,000 bits higher.

Figures 9 and 10 show histograms about frequency of image pixel values. In the histogram, the leftmost value means 0 and the rightmost value is 255. Pixels with a high frequency in the image have a high shape. As shown in Figures 9 and 10, the shape of the histogram changes when the secret data is embedded.

5. Conclusion

In this paper, a data-hiding scheme using multidirectional pixel-value differencing based on colour image has been proposed. The colour image was divided into nonoverlapping sub-blocks and then decomposed with three channels. The minimum value was determined in the each block, and the pixel-value differencing scheme was applied in two or three directions based on the minimum value. Two or three pairs with the secret data were stored separately in two grayscale images. The proposed embedding method was performed on R, G, and B channels and combined the grayscale images into two colour stego images. The colour stego images were separated into R, G, and B channels, and the secret data were extracted using the pixel-value differencing on two or three directions. The experimental results demonstrated that the proposed scheme had a high embedding capacity and acceptable imperceptibility in the visual image quality. The proposed method could hide 1,601,314 bits more than previous method. In the future, new data-hiding schemes will be worked to increase the embedding capacity by combining the pixel-value differencing scheme and secret sharing scheme.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

The authors thank the anonymous reviewers for their valuable suggestions that improved the clarity of this article. This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF-2018R1D1A1A09081842 and NRF-2018R1A2A2A05023180). This research project was supported by Ministry of Culture, Sports and Tourism (MCST) and from Korea Copyright Commission in 2018 (2018-f_drm-9500) and 2017 (2017-watermark-9500).