Protecting Data by Improving Quality of Stego Image based on Enhanced Reduced difference Expansion

ABSTRACT


INTRODUCTION
In this information technology age, transferring files between users has been a need for everyone, anytime and anywhere. Public network that is normally used for such communication is however insecure. This means that everything being transferred through the internet can be intercepted and changed. If the modified message is forwarded to the receiver, the message integrity and confidentiality are violated. Hence, data should be protected during the transmission process. As one of the methods to protect data, data hiding technique hides secret information within a multimedia file such as image, video, audio or text [1]. In the simplest form, it was implemented thousands years ago before the information technology was developed [2]. Furthermore, this technique was also used in the Second World War [3].
Watermarking technique is a kind of spatial domain-based data hiding approach that uses the same technique as data hiding. In the spatial domain, secret data are hidden within the redundancy information in a cover media. This is different from transformed domain where secret information are hidden in coefficients obtained by transforming spatial values to frequency coefficients by using dimensional transform methods such as discrete cosine transform (DCT), discrete wavelet transform (DWT) or integer wavelet transform (IWT). These coefficients are then utilized for hiding secret data in transformed domain data hiding [4]. Nevertheless, in watermarking-based method the hidden secret data are related to the cover media for its copyright identification [5]. In this research field, high visual quality for high embedding capacity is a challenging problem. The high distortion of original media causes the stego to be suspected to carry secret data, which may provoke the adversaries in doing their best to break the embedding algorithm. Due to the common appearance of original and stego media, unauthorized users who intercept the data may not realize that a secret message is being transmitted. In general, after a secret message has been embedded to the cover, the resulted stego medium is sent over a public network to the destination where the secret message and the cover are extracted and recovered accordingly. In literatures, data hiding techniques have been proposed by various researchers to maintain high quality of stego image for a given embedding capacity after secret data embedding, for example in [6] and [7]. In [8], a Difference Expansion (DE) based data hiding algorithm was proposed. As one of spatial domain techniques, this algorithm exploits redundancy information between pixels to hide a secret message. In [9], a high embedding capacity for low distortion of host image was developed where an RGB image was used and secret bits are inserted based on pixel block classification. In general, it is a challenging problem to develop a data hiding method that supports both high visual quality and payload capacity because these two factors are inversely proportional [10], [11].
In this paper, we propose a new base point in the computation of differences between pixels of image in combination with a new reduced difference expansion to minimize the difference before secret data embedding process takes place. Hence, the quality of stego image is enhanced for a given payload capacity.
This paper is organized in 5 sections. In Section 1, we give an overview of the research problems. In Section 2, we describe the literature study on data hiding based on difference expansion method. Section 3 explains the proposed method while in Section 4, the evaluation of the method and its results are presented which are then compared with previous methods. We end up the work in Section 5 by providing the conclusion remarks and the future works.

RESEARCH METHOD
In [8], a data hiding algorithm that uses difference expansion was proposed. The algorithm hides secret information within the difference between two adjacent pixels. Here, the difference and average are computed then a message is embedded within the difference while the average is used during the creation of stego pixels and in the extraction process. The algorithm is presented as follow. Suppose, the cover image is divided into blocks comprising two successive pixels . Let be the difference without secret message and difference with secret message embedded, respectively; while is the pixel whose difference contains the secret data . In the paper, takes the value 0 to 1 because a block is composed of two pixels and only a single difference is computed which means for difference is subjected to be 1. The index is an index for secret message that takes 1 because only a single bit from a secret message is embedded within a difference. In addition, ̅ denotes the average between those two pixels. The stego pixels are obtained through the processes from Equations (1) to (5).
In the extraction process, the difference between stego pixels is computed. Then the least significant bit function is applied to extract the secret message. Thereafter, the original difference is calculated which in turn is used to compute original pixels. First, the difference between stego pixels is calculated using . Secondly, the secret message is taken from each of the differences as shown in . After getting the secret message, the original difference is obtained by using Equation (6) where the difference computed from the stego image is right shifted. The original pixel are given back by using Equations (7) and (8) where the former is used to compute the original first pixel while the latter is used to get the second one. This demonstrates that difference expansion is a reversible data hiding method where both secret message and cover are extracted and recovered respectively without any damage.
The method suffers to underflow or overflow issue. In all grayscale images, overflow happens if the resulted pixel value is greater than 255 , while underflow happens if it is less than 0 . To ensure that the problem is avoided, the Equation (9) is verfied.
In this method, a pixel block may have one of three possible characteristics: expandable, changeable or non-changeable. Here, a block is considered as expandable if Equation (10) is satisfied and as changeable if equation (11) is fulfilled. The non-changeable blocks are ignored because they cause either an overflow or underflow problem. Many algorithms have been proposed to improve the algorithm either by increasing quality of stego image [10], payload capacity [12], [13] or both [14], [15].
In [12], Alattar proposed a data hiding method based on quad pixels block that aims to improve the embedding capacity. To make this, the block size increases from 1 2 to 2 2 pixels. This time, the method is able to carry three secret bits in a single pixel block instead of one secret bit. The difference integer transform is computed by using Equation (12) where the first difference is considered as the average of all four pixels in a single block.
In his method, the secret data embedding is performed in the same way as in [8] except that there are three differences to carry three secret bits. Thereafter, the inverse integers transform scheme to obtain original pixels is calculated using Equation (13).
In another research done to improve the visual quality of stego image, Liu et al [16] proposed to reduce the difference before the embedding process. The reduction is performed if and only if the difference is greater than 2 , otherwise it is not reduced, see Equation (14) where is the reduced difference. After getting , the embedding and extraction process have become the same as the method proposed in [8]. The location map ( ) specified in Equation (15) was used for the purpose of reversibility.
At the receiver side, the secret message bits are extracted from the embedded differences by using the function. Next, the original difference is recovered by using Equation (16). Once the value has been obtained, the original pixel is recovered using the same expression in [8].
In [17], an improved quad and Reduced Difference Expansion (RDE) data hiding algorithm was presented. In this method, the quality of stego image has increased due to further reduction of difference between adjacent pixels. In addition, high payload capacity is maintained. Different from integer transform scheme in [12] and [18], the first difference was proposed to be 0 and the integer transform function was performed using Equation (17). { In order to reduce image distortion after embedding process, difference reduction formula proposed in [16] is improved to get smaller differences, as depicted in Equation (18) where varies from 0 to 3. That is, the reduction is performed for both negative and positive difference values except the difference that is equal to 0 or 1 which may cause either overflow or underflow.
The category of pixel block is slightly different from the previous one [16] because here, the expandable is classified into either RDE expandable or RDE non-expandable. In this case, if a block is RDE expandable, the difference is reduced before the embedding process; but if it is RDE non-expandable, then the embedding is performed directly to the original differences. The drawback of the method is that the similarity between the host image and stego image is still low. In the next section, we illustrate a new approach to improve this method.

IMPROVING THE QUALITY OF STEGO IMAGE
In this paper, to improve the quality of stego image we proposed a new data hiding approach based on the previous methods, especially that of Ahmad et al [17]. A new base point is defined and a reduced difference formula is proposed. That is, the data hiding approach is performed in two successive phases: embedding and extraction processes.

The embedding process
Similar to other reduced difference expansion algorithms proposed in [12], [16] and [17], the embedding process starts by splitting image into pixel blocks. Also, as in [12] and [17], we use the block of 4 pixels and differences between adjacent pixels are computed based on fixed pixel value in each block. In this work, the fixed pixel is located at the top right in each block. In a 2 2 pixel block, the used fixed pixel is at the second position on the top right corner. The proposed integer transform scheme is shown in Equation (19). Here, the differences are computed by subtracting the fixed pixel from each pixel in a block. Thereafter, the differences are saved into a vector as: . In Equation (19), the second difference is equal to because the pixel is fixed .

{ (19)
After computing the differences, the characteristic of blocks is considered in order to reduce the difference before embedding; otherwise, the payload is embedded directly to the difference without reduction. Possible characteristics are expandable, changeable or non-changeable. A difference is reduced if it is categorized as expandable which is subdivided into RDE expandable and non-RDE expandable. Here, RDE expandable is reduced for positive and negative value using Equation (20) while non-RDE expandable is not reduced. This is similar to changeable pixel blocks, where the embedding is done at the original difference; on the other hand, non-changeable pixel blocks are ignored due to overflow and underflow issues. The reduction is done as follow. If the difference between two pixels is greater than 1 , then the first expression of Equation (20) is used; if , then the second expression is considered. After the difference reduction, secret data are embedded.
The location map is defined to identify embedded pixel blocks as: where the bits 0, 1, -1 are assigned to the pixel block categories: expandable, changeable and non-changeable repectively. As stated previously, an expandable pixel block is classified as expandable RDE and nonexpandable RDE. For expandable RDE, is assigned the value ( ), while for expandable non-RDE, it is given the value 0 ( ). Here, the embedding is performed using (21) for expandable pixel block. Then, the location map from until are assigned the value , if and only if the first part of Equation (22) is verified for positive differences greater than ( ). Moreover, the location map from to is given the value 0, if and only if the second part is verified. This is done for negative differences that are less than -1 ( . These location map values are used to identify the block carrying secret data. For the expandable non RDE, the embedding is performed on the original difference without reduction and the location map , are given the value 1 and 0 respectively. For changeable pixel blocks, the secret data embedding is done using Equation (23). Then, the pixel block is identified using the location map by considering the original difference as follow. If is odd, then the location map from o to is assigned the value 1; if the original difference is even, the location map from until is assigned the value 0. Different from [12], the overflow or underflow issue is alleviated by using the Equation (24) which must be checked before the construction of new pixel (stego pixel) using (25) which later gives stego image. Here, the pixel at the second position is not changed and it is added to each embedded difference.
After embedding phase, the remaining step is to construct the full stego image which is then sent together with location map to the receiver through a public network where the secret message is extracted and cover image is restored.

The extraction process
In the extraction process, two entities are considered. These are the difference between two pixels of stego image and location map. The extraction process starts by dividing stego image into blocks of the same size as the size of a block used in the embedding process. After that, the difference between the pixels that makes stego pixel block is computed. Then, the secret message extraction is performed directly from the difference by taking the least significant bit (LSB) from each difference using equation [12] where takes values 0, 1, 2 (three bits to be extracted). The obtained difference from stego image is the one that has the secret message. Due to the difference reduction that has been performed during embedding process when the block was expandable RDE, this difference is right shifted to return to the reduced difference. The original differences are recovered using Equation (26).
For non-RDE expandable, we have adapted the formula proposed by Alattar in [12] to recover the original differences using Equation (27). If the block is changeable and difference value is even, then the original difference is recovered using the first expression of Equation (28), while for the odd difference value the second part of Equation (28) is used. Here, is the embedded difference computed from stego image. Next, the original image is reconstructed using Equation (29).
In general, the comparison between our proposed method and the previous method [17] is illustrated in Table 1. The stages of embedding and extraction processes for each pixel block are depicted in Figure 1, in the form of algorithm.  Figure 1. The proposed embedding and extraction processes

EXPERIMENTAL RESULTS AND DISCUSSION
In the implementation of our algorithm, we used 8 bits grayscale medical images of resolution 512 512 taken from [19]. In addition, to evaluate the performance of the proposed method, we also implemented the method in [17]. Furthermore, in the experiment, we use MATLAB programming. Thereafter, random binary bits of different sizes (5Kb, 10Kb and 20Kb) are generated using a random function. The visual quality is measured using Peak Signal to Noise Ratio (PSNR) and Means Square Error (MSE) in order to evaluate how much the original image is distorted after secret message embedding. The formula to compute PSNR and MSE are illustrated in Equations (30) and (31) respectively where is the number of pixels, is the original image and is the stego image.
The results of the experiment can be presented in Table 2, Table 3, Table 4 according to the size of secret message. That is, we use 5Kb, 10Kb, and 20Kb whose corresponding PSNR values are depicted in Table 2, Table 3 and Table 4, respectively. Due to different pixel intensity (brightness), smoothness and texture, the visual quality of stego image are different for the same payload capacity. In some cases, the cover are relatively similar to the stego images, as indicated by their PSNR values. In Table 2, where the secret message is smaller (5Kb), the performance is better than that of bigger size, as shown in Table 3 and Table 4. This shows that more payload leads to decreasing visual quality.  In both proposed and previous method in [17], the visual quality is better for chest image than other medical images, while the lower performance is obtained for the head image. The reason of this phenomenon can be described as follow. Some images have a large white color and some do not, which means the highest and the lowest value of pixels. Meanwhile, gray scale images have the pixel values between white and black. Therefore, in case many pixesl tends to be white (head) or black (chest), this characteristic affects the computed difference, which also influences the visual quality of stego image after the embedding process.
The performace of two algorithms for all five medical images is evaluated based on the average of PSNR for each secret size, whose results are presented in Figure 2. Here, the results prove that the proposed method performs better for each size of secret message used. In addition, along with the increasing of the payload size, the visual quality decreases. As shown in those tables, the average of PSNR is 39.866 dB and 38.898 dB for the proposed and that of [17], respectively. If the secret message of 10Kb is hidden, we obtain 37.403 dB on average, while [17] is 36.652 dB. Next, ours is 37.362 dB, and [17] is 36.641for 20Kb of secret data.

CONCLUSION AND FUTURE WORK
In this paper, we have developed a new data hiding algorithm based on enhanced reduced difference expansion and fixed pixel value for each block of four pixels to solve the problem of high distortion of original image after bits embedding. Secret message of different sizes (5Kb, 10Kb and 20 Kb) was used to evaluate the proposed approach. The experimental results show that our proposed method performs better in terms of the visual quality of stego image. Moreover, by increasing the paylad size, the quality of stego image decreases gradually. According to the results, we also notice that the embedding capacity and visual quality could be affected by the properties of image like smoothness, brightness and textures in addition to the choice of the basepoint of image pixel blocks.
For further research, this method can be improved in terms of embedding capacity by considering the image properties during difference computation before the embedding process. So, more secret bits can be hidden several times in each block based on the embedding level of each pixel block.