1. Introduction
The concealment of information within media files is commonly used in various applications. This process originates from the hieroglyphs used in the Egyptian civilization. Other cultures, such as the Chinese culture, adopted a more physical approach to hide messages by writing them on silk or paper, rolling the material into a ball, and covering the material with wax to communicate political or military secrets. Data hiding is nearly indispensable for every aspect in our daily lives whether for good or evil intentions.
Due to its rapid growth, the Internet has recently become far more popular than traditional media. Data is accessible by everyone due to the popularity of the Internet. Therefore, possessing the capabilities of detecting copyright violations, forgery, and fraud is crucial. Many techniques, such as steganography and cryptography, have been designed to secure digital data. The difference between steganography and cryptography is as follows: In cryptography (e.g., chaos-based encrypted systems, secure pseudo-random number generator, etc. [
1]) users are aware that there is an encrypted image, but they cannot efficiently decode the encrypted image unless they know the proper key. In steganography, users can easily decode the encrypted message, but most people do not notice that there is an encrypted message. In this study, we focused on the techniques used for hiding data in images.
The schemes present for hiding data in an image can be broadly classified into two categories, irreversible data-hiding schemes [
2,
3,
4] and reversible data-hiding schemes [
5,
6,
7]. In the irreversible data-hiding schemes, a recipient can extract the secret information. However, the original image cannot be recovered after extracting the secret information. In the reversible data-hiding schemes, the hidden data can be extracted from the image, and the original image can be retrieved from a stego image without any distortion. Two factors affect a data-hiding scheme, i.e., visual quality and embedding payload. A high-quality data-hiding scheme should not raise any suspicions of adversaries. Therefore, this type of scheme should provide low image distortion and high payload.
To decrease the size of a digital image file or accelerate the transmission, a data-hiding scheme that employs a compressed image should be developed. Many compressed file formats have been proposed, such as JPEG and JPEG2000. Wang et al. [
8] proposed a lossless data-hiding method for JPEG images by using adaptive embedding. Lee et al. [
9] proposed a scheme in which a secret image was compressed using JPEG2000 and then, embedded in the cover image by using tri-way pixel value differencing. Nevertheless, both JPEG and JPEG2000 need complicated computation for image compression and decompression.
Another popular technique used for image compression is block truncation coding (BTC) [
10]. Compared with the methods using JPEG and JPEG2000, BTC is a simple and efficient encoding technique that is used for image compression. Therefore, the computation cost is relatively low when a data-hiding scheme is based on BTC.
Lema and Mitchell [
11] proposed the absolute moment BTC (AMBTC) technique to improve the compression performance of BTC. When AMBTC is used, the first absolute moment is maintained with the mean. To exploit the advantages of AMBTC compression, we proposed an AMBTC decompressed image-based data-hiding scheme by using a pixel adjusting strategy.
The basic idea of the proposed study is to preliminarily calculate the probability of secret data and then select the best codebook for embedding the secret data. The secret data are embedded into the AMBTC compression image by modifying the pixel value according to the codebook. Experimental results reveal that the proposed scheme is almost better than the current state of the art method in terms of the hiding capacity.
The remainder of the paper is organized as follows:
Section 2 describes the relevant approaches such as the BTC and AMBTC techniques for data hiding;
Section 3 describes the implementation flow of the scheme proposed for data hiding;
Section 4 discusses several experimental results are presented, and some issues; and finally,
Section 5 specifies the conclusions and future work.
3. Proposed Scheme
Figure 1 shows the flowchart of our application. First, one monitoring image on the unmanned aerial vehicle was compressed because the transmitting volume of wireless network is limited. When the command post or chief’s car receives the compression codes, they are decoded as the decompressed image. In addition, they embed secret data into the reconstructed image, thereby cheating hackers and avoiding attacks. Finally, the headquarters can extract secret data and recover the decompressed image.
The main aim of the study is to present a data-hiding scheme with high data-hiding capacity and high image quality. In the scheme, secret data is hidden in an AMBTC decompressed image. The AMBTC decompressed image is losslessly reconstructed and the secret data, then, is losslessly revealed from the reconstructed image. The AMBTC encoding procedures are described in
Section 2. Before embedding the secret data, the cover image must be compressed using the AMBTC algorithm. In other words, the proposed scheme uses the AMBTC decompressed image to embed the secret data.
The proposed scheme involves three stages: In the first stage, an appropriate encoding and decoding dictionary is found. The dictionary is used in the second stage to embed the data. In the third stage, the secret data is extracted. The details of the proposed scheme are presented in
Figure 1.
3.1. Finding a Unique Decodable Dictionary
A binary secret sequence
comprises 0 and 1 values and is denoted as
S , where
for
. Consider the dictionaries
D1,
D2,
D3, and
D4 formed using
subsets of
, that is,
. Different image quality is obtained due to the different dictionaries. Thus, we can calculate each probability of symbol
in
. The amount of information in each symbol
can be represented by
Then, the average information per symbol interval is
and can be represented by
The average information is referred to as the entropy. The dictionary with the smallest entropy H should be selected because it can achieve the best encoding benefit. The following explains why the dictionary of the smallest entropy is used: Assume that there is only one symbol’s type in the whole secret sequence. In other words, the other types never occur. In this case, the entropy is equal to 0, i.e., Afterwards, the specific symbols are replaced by the absolute minimum value “0”, thereby controlling the distortion level in the data embedding phase. Consequently, the proposed method selects the dictionary of the smallest dictionary.
An example is used to explain the above procedure. Assume the secret sequence
. In dictionary
listed in
Table 1, the secret sequence is represented as
for easy readability. According to
, the total number of information is 12.4670 and the average information
per symbol at
is 2.1570. In dictionary
, which is listed in
Table 2, the secret sequence can be represented as
. According to
, the total number of information is 12.1451 and the average information
per symbol at
is 2.2264. The third and fourth dictionaries are constructed in the same manner, and their entropies values are listed in
Table 3 and
Table 4, respectively. Obviously, the entropy of
is the smallest among all the dictionaries. Therefore, we used
to encode the secret sequence.
Subsequently, the symbols in the selected dictionary are encoded further to obtaining the embedded digits. According to the rule of thumb of data encoding,
with the maximum occurrence frequency was encoded as the absolute minimum value. By contrast,
with the lowest occurrence frequency was encoded as the absolute maximum value. Consequently,
was sorted based on the occurrence frequency, and then, its sorted index was encoded to obtain the adjusting pixel values
, i.e.,
The following example is used to explain how to encode most symbols as smaller digits, as listed in
Table 5. The occurrence frequencies of two symbols, “001” and “10”, are 4, which are higher than those of other symbols. According to Equation (9), the symbol “001” is encoded as the absolute minimum value “0”. Moreover, the symbol “10” is encoded as the second smallest value “1”. The remaining symbols are encoded in the same manner.
3.2. Embedding Stage
The AMBTC decompressed blocks in the original AMBTC decompressed image are sequentially scanned. If the difference between and is smaller than 4, then the block is considered a non-embeddable block. Otherwise, the block is an embeddable block. In the first embeddable block, the binary representation of the ID number of the selected dictionary is embedded into the least significant bits (LSBs) of the second Hm and the second . Note that the number of dictionaries is four, thus the two LSBS can effectively represent the ID number. The other blocks are then used to embed the secret data by using the pixel value adjusting strategy.
In each embeddable block, the first
and the first
are defined as non-embeddable pixels, which are used as the reference information of data extraction and image recovery. For the embeddable block
, each pixel
except the first
and the first
is increased by the adjusting pixel values
, that is,
. The difference between maximum
and minimum
in the difference
is equal to 4. It implies that the distortion of pixels is low. The embedding pseudocode is shown in Algorithm 1 as follows:
Algorithm 1: Embedding pseudocode |
then /* non-embeddable block */
; |
Figure 2 displays the embedding example in which
.
Figure 2a presents the appropriate dictionary
found in
Section 3.1. This dictionary was used to encode the secret sequence. After looking up the dictionary
,
is divided into many subsets
, as shown in
Figure 2b. These subsets are mapped using the adjusting pixel values
, which are just the embedded value.
To embed these values, the original block must be compressed and decompressed using the AMBTC algorithm, as shown in
Figure 2c. After using the AMBTC algorithm, the AMBTC decompressed block can be reconstructed using a low mean value
of 97 and a high mean value
of 155, as shown in
Figure 2d. Both the first
and first
are non-embeddable pixels and are marked with yellow color for easy readability. They are used as reference information of data extraction and image recovery. For the AMBTC decompressed block, the pixel, except the first
and the first
, is increased by the adjusting pixel values
to obtain the stego pixel.
Figure 2e shows the stego block.
If the overflow or underflow problem occurs in any altered pixel of the block, then all of the pixels in the corresponding block remain unchanged. In other words, the block cannot be used to embed any secret bit. In addition, the proposed method records the ID number of the non-embeddable block to discriminate between the embeddable block and the non-embeddable block.
3.3. Extraction Stage
In the extraction stage, the secret data is extracted from the stego image . Moreover, can be used to recover the original AMBTC decompressed image . The details of the procedures are listed as follows:
1. Scan the stego AMBTC decompressed block in sequentially. If the difference between and is smaller than 4, then this block is considered a non-embeddable block. Otherwise, it is an embeddable block.
2. Retrieve the ID number of the selected dictionary from the first embedded block. In the first embedded block, both the LSBs of the second Hm and the second Lm are extracted, i.e., binary representation of the ID number of the selected dictionary. Therefore, the proposed method can reconstruct the selected dictionary. In addition, both the LSBs are replaced by the first Hm and the first Lm, thereby recovering the original decompressed pixel.
3. Calculate the adjusting pixel values by using
or
for each embeddable block
. After obtaining
, we can look up the dictionary
to obtain the symbol
. After concatenating all
, we obtain the secret sequence
and recover the original AMBTC decompressed image
. The extraction and recovery pseudocode are shown in Algorithm 2.
Algorithm 2: Extraction and recovery pseudocode |
/* non-embeddable block */ ;
|
Figure 3 illustrates the extraction and recovery example. First, the dictionary is retrieved from the first embeddable block. Second, the adjusting pixel values are calculated as
or
. Third,
is mapped with the dictionary values to obtain
. Finally,
is concatenated for obtaining the secret sequence
and the AMBTC decompressed block.
4. Experimental Results and Discussion
Some experimental cover images were tested to demonstrate the efficiency of the proposed scheme. In the experiments, the proposed scheme was verified using the following six test cover images: airplane, boat, lena, mandrill, peppers, and sailboat. As shown in
Figure 4, all the images had the same size of 512 × 512 pixels with 256 grayscales, and the features of the images were diverse. The block size of the image presented in the AMBTC format was 4 × 4 pixels. A random binary sequence generated using a MATLAB (R2018a) function was used in the experiments as the secret sequence, where our secret data are the same as the secret data of the related works [
15,
16,
17,
19]. Note that each bit in the sequence has equal probability of being 0 or 1.
The proposed scheme was evaluated and compared with the aforementioned schemes in terms of two performance measures, i.e., hiding capacity and peak signal-to-noise ratio (PSNR). The hiding capacity can be defined as the number of secret data bits that can be hidden into a cover image. The PSNR is an objective measure used for determining the visual quality of an image. The higher the PSNR of a stego image, the better its visual quality is. The rule of thumb is that when the PSNR is higher than 30 dB, the human eyes cannot easily perceive the difference between the cover image and the stego image. PSNR is defined by
where
and
x′
ij are the original and stego grayscale pixel values located at (
i,
j), respectively.
To present the superiority of the proposed scheme, we compared our scheme with the schemes presented by Li et al. [
15], Lin et al. [
16], Ou and Sun [
17], and Malik et al. [
19], as shown in
Table 6. The proposed scheme achieved the highest data-hiding capacity for all five images except for the airplane image. The data-hiding capacity of the pixel value adjusting strategy was determined using the number of smooth blocks. If there are many smooth zones in a cover image, non-embeddable blocks are observed in abundance in the image. Moreover, the pixel value adjusting strategy used in the proposed scheme is modified at the most by 2, whereas the strategy used in the scheme proposed by Malik et al. is modified at the most by 1. Therefore, compared with the scheme presented by Malik et al., our scheme has a higher number of non-embeddable blocks in the airplane image. Non-embeddable blocks can be observed in black in
Figure 5a,b. This is the main factor that causes the hiding capacity of the scheme proposed by Malik et al. to be better than that of the proposed scheme for the airplane image. For the other five images, the hiding capacity of our scheme is better than that of the scheme presented by Malik et al. by an enhancement value in the range of 10.13% to 29.89%. The hiding capacity of our scheme is better than the schemes proposed by Li et al., Lin et al., and Ou and Sun. Thus, we conclude that our scheme is better than the existing AMBTC- and BTC-based data-hiding schemes, in terms of the hiding capacity.
Table 7 lists the comparison between the method by Malik et al. and the proposed method in terms of structural similarity index (SSIM). As mentioned above, the SSIM value of the method by Malik et al. is greater than that of the proposed method because the proposed method embeds more secret data. In other words, the maximum hiding capacity of the proposed method is higher than that of the method by Malik et al.
The PSNR is the other factor for evaluating performance of a hiding scheme.
Table 6 presents that the PSNR of our scheme is better than the schemes proposed by Li et al., Lin et al., and Ou and Sun. For the airplane stego image, the proposed scheme has a better PSNR but a weaker hiding capacity than the scheme proposed by Malik et al., because our scheme has a higher number of non-embeddable blocks than the scheme by Malik et al. Note that a non-embeddable block maintains the image quality but decreases the hiding capacity. For the other five stego images, the PSNR obtained using the proposed scheme is weaker than that obtained using the scheme proposed by Malik et al. However, because the PSNR difference is less than 0.29 dB for the five stego images, they would not be distinguishable by human vision due to such negligible differences. By contrast, the hiding capacities are significantly increased by a value in the range of 10.13% to 29.89% for the other five stego images. This implies that a tradeoff exists between the PSNR and hiding capacity when the pixel value adjusting strategy is used. The visual quality of the proposed scheme is observed to be above the average value of that of the baseline schemes.