Next Article in Journal
Security-Oriented Architecture for Managing IoT Deployments
Previous Article in Journal
Group Decision-Making Based on the VIKOR Method with Trapezoidal Bipolar Fuzzy Information

Symmetry 2019, 11(10), 1314; https://doi.org/10.3390/sym11101314

Article
A Hybrid Data Hiding Method for Strict AMBTC Format Images with High-Fidelity
1
Department of Information Engineering and Computer Science, Feng Chia University, Taichung 40724, Taiwan
2
School of Computer Science and Technology, Hangzhou Dianzi University, Hangzhou 310018, China
3
Department of Electronic Engineering, National Quemoy University, Kinmen 89250, Taiwan
*
Author to whom correspondence should be addressed.
Received: 11 September 2019 / Accepted: 18 October 2019 / Published: 19 October 2019

Abstract

:
With the rapid development of smartphones, cloud storage, and wireless communications, protecting the security of compressed images through data transmission on the Internet has become a critical contemporary issue. A series of data hiding methods for AMBTC compressed images has been proposed to solve this problem. However, most of these methods either change the file size of the final compressed code or exchange the order of two quantization values in some blocks. To reverse this situation, this paper proposes a data hiding method for strict AMBTC format images using a hybrid strategy: replacement, matrix encoding, and symmetric quantization value embedding for three block types i.e., smooth blocks, less complex blocks and highly complex blocks. According to the hybrid strategy, an efficient data hiding order is designed to achieve higher-fidelity. Experimental results show that our proposed method provides an excellent balance between image quality and hiding capacity and has no error blocks in the final stego-compressed code.
Keywords:
data hiding; strict AMBTC format; high-fidelity; matrix coding

1. Introduction

People all around the world are increasingly using the Internet and a tremendous amount of information is transferred every day. When sensitive data is transmitted over the Internet, malicious actors may use various techniques to intercept messages and steal information. Therefore, information security has become a critical issue and many methods have been proposed to protect it. In recent years, multimedia files become prevalent in network transmissions, and some efficient data hiding techniques have been proposed for such applications. Data hiding techniques embed secret data into various multimedia files, such as image, audio, video, and in other forms for transmission over the network, so that others are unaware of the existing embedded data [1]. Because of the practicability and convenience of images, adopting a data hiding method to embed secret data in a digital image is of keen research interest [2].
Current data hiding methods are mainly divided into four types: data hiding in the spatial domain, the transform domain, the encryption domain and the compressed domain. In the spatial domain, the difference expansion technique and the histogram shifting technique are two of the most famous methods. The difference expansion technique uses differences between neighboring pixel values to explore redundancy and to find the embedding area [3]. The histogram shifting technique treats pixels as a histogram and vacates room for data embedding by shifting the points between the peak and zero points toward the zero point of the histogram [4]. Due to higher operability, data hiding in the spatial domain has attracted wide attention, and a series of related methods have been proposed to improve the performance of hiding capacity and image quality [5,6,7,8]. In the transform domain, images are first converted into frequency coefficients using different techniques such as discrete wavelet transform (DWT) [9], discrete Fourier transform (DFT) [10], or discrete cosine transform (DCT) [11]. Subsequently, redundant coefficients can be used for data hiding. In the encryption domain, images are encrypted before transmission over the Internet and no useful content is accessible to others [12]. Then, the data hider will embed data into the encrypted image.
With the rapid development of smartphones, cloud storage, and wireless communications, compressed images are widely used for such applications because of fast transmission and reduced storage requirements. Therefore, data hiding methods in the compressed domain have received more attention. Various data hiding methods in different compression techniques have been proposed, such as vector quantization (VQ) [13], side match vector quantization (SMVQ) [14], joint photographic experts group (JPEG) [15], block truncation coding (BTC), and absolute moment block truncation coding (AMBTC). The BTC compression method divides an image into non-overlapping blocks and stores two quantization values and a bitmap of each block as one compressed block code [16]. AMBTC is an improved version of BTC [17], and has advantages both in computing speed and image quality. A detailed description is provided in Section 2.1. Because the AMBTC compression technique is easy to implement, many data hiding methods have been proposed based on AMBTC compressed images.
To date, data hiding methods in AMBTC compressed images are mainly divided into two categories: embedding data into AMBTC compressed images while changing the final file size, and embedding data into AMBTC compressed images while preserving the final file size. For the first category, Lin et al. [18] proposed a novel data hiding method by adjusting the two quantization values of each block according to the combination of the secret bit and the bitmap. After embedding, one 4 × 4 block contains four quantization values and one double sized bitmap. Kim et al. [19] applied histogram modification to use ’1s’ of the bitmap to embed almost 8 bits of secret data and to add one new quantization value for one block to reduce the compression ratio while increasing image quality compared with [18]. Later, Chen et al. [20] adopted four disjointed embedding strategies according to the four corner values of the bitmap. This method can achieve the same hiding capacity and compression ratio as [18] and offer almost the same image quality as [19]. Malik et al. [21] converted secret data into a ternary system which can embed, at most, 23 bits into one block by adding or subtracting the ternary secret data; as a result, four new quantization values are added and the size of the bitmap changes to 32 bits. Huynh et al. [22] provided a minima–maxima preserving algorithm to replace 1 LSB or 2 LSBs of the reconstructed image block to achieve an almost 2 bpp hiding capacity, but the final stego-code has the same size as the original image. All the above methods will increase the final size of the compressed image code. Sun et al. [23] proposed a JNC predictor-based RDH method to embed four bits into one modified compressed block code and reduced the size of the final compressed image codes at the same time. Later, Hong et al. proposed two methods [24,25] to improve the performance of Sun et al.’s method by achieving a higher hiding capacity and lower bitrate, i.e., a smaller file size. A MED predictor was used in these two methods and a series of improvements were proposed to achieve better performance.
All of the above methods will increase or decrease the size of the final stego-compressed image code, and these significant changes in file size will no doubt become a clue for malicious actors. For the second category, Chuang and Chang [26] first proposed a bitmap replacement method that can embed 16 bits of data into a block when the block is smooth while preserving edge blocks. Hong et al. [27] proposed a method where a compressed block code (L, H, BM) is stored when the embedded secret bit is ‘0’ and changes to (H, L, BM ¯ ) when the embedded secret bit is ‘1’, and cannot embed data when L is equal to H. Combining advantages of these two methods, Ou and Sun [28] divided blocks into smooth blocks and complex blocks, then replaced the bitmap with secret data and recalculated two quantization values in a smooth block, and used Hong et al.’s method to embed one bit into a complex block. Later, Chen and Chi [29] sub-divided complex blocks into less complex blocks and highly complex blocks, then used the method of [28] to process the smooth blocks and less complex blocks while embedding 2 bits into a highly complex block by changing the number of ‘1’s in the bitmap to even or odd. Kumar et al. [30] further improved the above methods by using the Hamming distance and pixel value differencing to embed 8 bits into a less complex block and 5 bits into a highly complex block, respectively. In the AMBTC compressed image, each block is strictly represented by a code (L, H, BM). However, except for [26], all of the other methods will exchange the order of two quantization values in some blocks of the final stego-compressed code, and thus, the reversed two quantization values will undoubtedly draw attacker attention. In this paper, we treat these blocks as the error blocks and try to avoid them.
After reviewing the previous AMBTC-based data hiding methods, some methods will change the size of the final compressed image code, while other methods will exchange the order of two quantization values. These two obvious changes are no doubt violating the file format. Thus, in this paper, we propose a data hiding method for strict AMBTC format images. Three different strategies are adopted in three block types: smooth blocks, less complex blocks and highly complex blocks. The first two strategies preserve the difference and the third strategy will not reduce the difference of each block, so we can define the hiding order of the difference from low to high when the block belongs to the smooth or less complex blocks, and from left to right and top to bottom of the image when the block belongs to the highly complex blocks. Therefore, our proposed method provides high-fidelity when the hiding amount is lower.
The rest of this paper is organized as follows. Section 2 introduces the AMBTC compression technique and matrix coding technique. Section 3 explains block classification and the three different strategies of our proposed method and offers some simple examples to illustrate the embedding and extraction phases. Section 4 provides the experimental results and discussions, including visual comparisons, PSNR under different amounts of the hiding data, and performance under the various thresholds. Finally, Section 5 gives some conclusions.

2. Related Work

Two important techniques are used in our proposed method: absolute moment block truncation coding (AMBTC) compression and matrix coding. These techniques are briefly introduced in Section 2.1 and Section 2.2, respectively.

2.1. Absolute Moment Block Truncation Coding (AMBTC)

In 1979, an efficient block-based lossy image compression technique named block truncation coding (BTC) was proposed by Delp and Mitchell [16]. In order to achieve compression, an image is divided into several non-overlapping blocks and stores only one bitmap and two corresponding quantization values of each block. Because the algorithm utilized in the BTC technique has significant computational complexity, Lema and Mitchell [17] proposed an improved version named absolute moment block truncation coding (AMBTC). In AMBTC, the image is also divided into several non-overlapping blocks with a size of k × k pixels, for each block, the mean value AVG can be calculated by Equation (1).
AVG = j = 1 k × k p j k × k ,
where p j denotes the j-th pixel value in the block. The bitmap can then be constructed by comparing each pixel value with AVG: Set the bit value of bitmap to ‘0’ if the pixel value p j is less than AVG and set to ‘1’ for others.
Next, Equations (2) and (3) can be applied to derive two quantization values, i.e., the low mean value L and the high mean value H, respectively.
L = p j B 0 p j k × k q ,
H = p j B 1 p j q
where q represents the number of ‘1’ that exist in the bitmap BM. Meanwhile, B 0 and B 1 denote two original pixel sets which the corresponding bits are ‘0’ and ‘1’, respectively in bitmap BM. Therefore, the final compression code of the block can be obtained by concatenating L, H, and BM, i.e., (L, H, BM). The corresponding restored block can be constructed by replacing each ‘0’ and ‘1’ of the bitmap with low mean value L and high mean value H, respectively.

2.2. Matrix Coding

Matrix coding method is a modified version of the (7, 4) Hamming code, and is widely used in LSB-based data hiding methods [31]. By utilizing the matrix operation, for a seven-bit sequence (also called a code-word), at most one bit is changed when embedding three secret bits. In the matrix coding method, H is the check matrix and is defined as [ 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 ] . Equation (4) is used to obtain which bit needs to be changed.
z = ( H × CW T ) T S ,
where CW denotes the seven-bit sequence, and S represents the three-bit vector to be hidden. Notice that Equation (4) is calculated under the modulo-2 operation. The location of z is listed in Table 1.
In the data extraction phase, Equation (5) can be used to extract three bits of secret data from each seven-bit sequence.
S = ( H × RCW T ) T
where RCW denotes the seven-bit sequence that has been embedded. Equation (5) is also calculated under the modulo-2 operation.

3. The Proposed Method

In this section, we propose a data hiding method for AMBTC compressed images using a hybrid strategy to process different types of AMBTC compressed blocks that can maintain the strict AMBTC format. The proposed method also uses two thresholds to define three block types as done in [30]: smooth blocks, less complex blocks and highly complex blocks. Three strategies named bitmap replacement, matrix encoding, and symmetric quantization value embedding are then applied to embed data into the blocks of different types and no error blocks are generated after embedding. We also designed an efficient data hiding order to achieve higher-fidelity. In Section 3.1, we first define our block classification rule and their corresponding strategies. Detailed processes regarding the data embedding and extraction phases are described in Section 3.2 and Section 3.3, respectively. Subsequently in Section 3.4, some examples are provided to illustrate the proposed method.

3.1. Block Classification and Hybrid Strategy

After AMBTC compression, the original M × N sized image is divided into i (i = 1, 2, …, M × N k × k ) non-overlapping k × k sized blocks, and the block size is set to 4 × 4, i.e., k = 4 for the experiments. Each block has only two quantization values H i , L i , and one bitmap B i , the carriers for data embedding are chosen from them. Equation (6) is first used to calculate the difference D i . Then, according to D i , we set two thresholds thr1 and thr2 to classify each block into three block types: smooth blocks, less complex blocks and highly complex blocks.
D i = H i L i
Block   type = { smooth , if   D i thr 1 less   complex , if   thr 1 D i thr 2 highly   complex ,   otherwise
Figure 1 shows an example of block classification under different thresholds. The complex blocks are the edges of the image and more data are embedded into edges will lead to a significant decline in image quality. To maintain a balance between embedding capacity and image quality, a hybrid strategy contains three different hiding methods is used to process different block types for different sized data embedding.
The changes in the smoother blocks will reduce the image quality less. Therefore, data are embedded following the order of ascending difference value in smooth blocks and less complex blocks, while from left to right and top to bottom of the image in highly complex blocks in our method. On this account, in our hybrid hiding strategy, first two strategies will preserve blocks’ difference, and guarantee blocks’ difference will not decrease in the rest blocks.

3.1.1. Strategy 1 for Smooth Blocks: Bitmap Replacement

For smooth blocks, the two quantization values are very close, and thus, changes of the bitmap have a slight effect on image quality. Therefore, the bitmap can be totally replaced by 16 bits of secret data. Then, refer to the original image blocks and original pixels p j , Equations (7) to (10) are used to calculate two new quantization values H i and L i to obtain the best image quality that is closer to the original image, i.e., minimizing the square error of the final stego-compressed block while preserving the same difference D i . A detailed proof for the optimization is provided in the Appendix A.
a i = p j B 0 p j k × k q ,
b i = p j B 1 p j q ,
L i = a i q ( D i b i + a i ) k × k ,
H i = b i + ( k × k q ) ( D i b i + a i ) k × k ,
where q′ represents the number of ‘1’ in the new bitmap, B 0 and B 1 denote two original pixel sets which the corresponding bits are ‘0’ and ‘1’, respectively, in a new bitmap.

3.1.2. Strategy 2 for Less Complex Blocks: Matrix Encoding

For less complex blocks, the difference between H i and L i is large, and the image quality is going to decline dramatically if we change all the values of the bitmap like the smooth blocks. Therefore, the matrix coding that can embed three bits by at most changing one of seven bits is used in less complex blocks. First, the bitmap is divided into two non-overlapping sub-blocks, i.e., the upper sub-block and the lower sub-block. The first seven bits of each sub-block are treated as code-words for data embedding. For details of the method, please refer to Section 2.2. This strategy embeds data by modifying the bitmap and thus, does not change D i .

3.1.3. Strategy 3 for Highly Complex Blocks: Symmetric Quantization Value Embedding

For highly complex blocks, D i is too large, such that even a one bit change of the bitmap is intolerable. Therefore, in consideration of the image quality, we turn to hiding data by modifying two quantization values to embed 2 bits into one of them, i.e., 4 bits can be embedded into one block. To guarantee that D i will not reduce, instead of the LSB replacement method, the symmetric quantization value embedding method is used to obtain two new nearest expanding quantization values which is given by Equations (11) to (14). After embedding, L i will decrease and H i will increase, i.e., the difference D i will not reduce, thus, misjudgments will not happen in the data extraction phase.
m L = mod ( L i ,   4 ) ,
m H = mod ( H i ,   4 ) ,
L i = L i mod [ ( m L S i , L ) ,   4 ] ,
H i = H i + mod [ ( S i , H m H ) ,   4 ] ,
where S i , L and S i , H denote two quaternary system secret data where each one is converted by 2 bit binary system secret data. When extracting data, we only apply modulo-4 operation on two quantization values and convert two results into the binary to get the embedded secret data.
By utilizing the proposed hybrid strategy, we can embed 16 bits, 6 bits, and 4 bits into one smooth block, one less complex block and one highly complex block, respectively. Additionally, in smooth blocks and less complex blocks, our method can preserve the same value of D i , and can guarantee D i will not reduce in highly complex blocks. Therefore, the hiding order can be used to embed data into blocks in order of D i from low to high when D i thr 2 , and embed secret data into blocks from left to right and top to bottom of the image when D i > thr 2 , and the extraction process will not violate the order of embedding.

3.2. Data Embedding Phase

According to the block classification, in the data embedding phase, the blocks are first classified into smooth blocks, less complex blocks, and highly complex blocks based on two thresholds, thr1 and thr2. Three corresponding data embedding strategies are used to embed secret data into the three block types. As mentioned before, the order of data embedding is followed in D i from low to high when D i thr 2 , and from left to right and top to bottom of the image when D i > thr 2 . Based on the above discussions, the detailed data embedding algorithm is given below:
Input: Original M × N sized image O, secret data bit stream S, and two thresholds thr1, thr2.
Output: Stego-AMBTC compressed code C’.
Step 1. Divide the original image into M × N 4 × 4 non-overlapping 4 × 4 sized blocks. Next, apply the AMBTC compression method to compress each block and obtain the compressed block code C i with two quantization values and one bitmap ( L i , H i , BM i ).
Step 2. Calculate D i by Equation (6), sort the compressed blocks according to the ascending order of D i when D i thr 2 and the raster scan order of image for the rest of the blocks.
Step 3. Extract the compressed block code C i of the i-th block according to the ascending sort order. If D i thr 1 , the block belongs to the smooth blocks and go to Step 4; or else if thr 1 < D i thr 2 , the block belongs to the less complex blocks and go to Step 5; or else the block belongs to the highly complex blocks and go to Step 6.
Step 4. Extract the 16 bits S i from S, and totally replace the bitmap BM i with S i to get the new bitmap BM i . Then, use Equations (7) to (10) to calculate two new quantization values L i and H i . Therefore, the final stego-compressed block code C i can be obtained by concatenating L i , H i , and BM i , i.e., ( L i , H i , BM i ).
Step 5. Extract the 6 bits S i from S, and divide into S i , 1 and S i , 2 both with 3 bits of secret data. Then, divide BM i into non-overlapping upper sub-block UBM i and lower sub-block LBM i , and extract the first seven bits of UBM i and LBM i to form two code-words UCW i and LCW i . Use Equation (4) to calculate which bits of UCW i and LCW i need to be flipped, respectively. Flip two corresponding bits of BM i to obtain the new bitmap BM i , and the final stego-compressed block code C i can be obtained by concatenating L i , H i , and BM i , i.e., ( L i , H i , BM i ).
Step 6. Extract 4 bits of S i from S, then divide into S i , 1 and S i , 2 , both with 2 bits of secret data. Then, convert S i , 1 and S i , 2 into a quaternary system and use Equations (11) to (14) to calculate two new quantization values, L i and H i . Finally, concatenate L i , H i , and BM i to obtain the final stego-compressed block code C i : ( L i , H i , BM i ).
Step 7. Finish the algorithm when all of the final stego-compressed block codes are obtained, and concatenate each C i according its location in the original image to form the final stego-AMBTC compressed code C’. The stego-image
with secret data can also be obtained by AMBTC decoding.

3.3. Data Extraction Phase

In the data extraction phase, the secret data can be extracted follow the order of D i from low to high when D i thr 2 , and from left to right and top to bottom of the image when D i > thr 2 without any loss. Details on the extraction algorithm are given below:
Input: Stego-AMBTC compressed code C’, and two thresholds thr1, thr2.
Output: Secret data bit stream S.
Step 1. Collect all stego-compressed block code C i .
Step 2. Calculate D i by Equation (6), sort each stego-compressed block code according to the order for D i from low to high when D i thr 2 and the raster scan order of image for the rest of the blocks.
Step 3. Extract the stego-compressed block code C i of the i-th block according to the ascending sort order. If D i thr 1 , the block belongs to the smooth blocks and go to Step 4; or else if thr 1 < D i thr 2 , the block belongs to the less complex blocks and go to Step 5; or else, go to Step 6.
Step 4. Extract the 16 bits of bitmap from the stego-compressed block code C i , and add these 16 bits directly into S.
Step 5. Divide BM i into non-overlapping upper sub-block UBM i and lower sub-block LBM i , and extract the first seven bits of UBM i and LBM i to form two code-words UCW i and LCW i , respectively. Use Equation (5) to calculate two parts of secret data S i , 1 and S i , 2 both with 3 bits. Then, add these 6 bits into S.
Step 6. Apply modulo-4 operation on its two quantization values and convert the results into the binary system, respectively. By doing so, 4 bits secret data can be obtained, then, add these 4 bits into S.
Step 7. Finish the algorithm when all of the stego-compressed block codes are processed, and the final secret data bit stream S can be obtained.

3.4. Example of Our Proposed Method

In this section, we will use three simple examples to illustrate the data embedding and data extraction phases of our proposed method. Three 4 × 4 sized blocks of the original image are assumed in the Figure 2a–c, i.e., (176, 178, 188, 180; 181, 182, 187, 173; 177, 178, 187, 170; 179, 180, 182, 173), (152, 143, 142, 127; 147, 140, 132, 126; 143, 141, 129, 123; 137, 135, 121, 114), and (111, 70, 44, 37; 108, 86, 52, 39; 116, 90, 55, 41; 120, 87, 50, 44). After being compressed by AMBTC, three compressed codes (176, 183, BM 1 ), (125, 142, BM 2 ), and (48, 103, BM 3 ) are obtained. We set thr1 = 10 and thr2 = 25.
For the first compressed code (176, 183, BM 1 ), the difference D 1 = 7 < thr1, so the block belongs to the smooth blocks, and BM 1 can be totally replaced by 16 bits of secret data, as shown in Figure 2a. Then, use Equations (7) to (10) to calculate two new quantization values L 1 = 177 and H 1 = 184 . Even when the two quantization values are changed, the value of the difference between them is maintained.
For the second compressed code (125, 142, BM 2 ), difference D 2 = 17, which is between thr1 and thr2, so the block belongs to the less complex blocks. The matrix coding method is used to embed 6 bits of secret data in BM 2 . First, the secret bits are divided into S 1 = 101 and S 2 = 001 . Then, use Equation (4) to separately calculate which bit needs to be flipped in the upper code-word and the lower code-word. As shown in Figure 2b, the third bit needs to be flipped in the upper code-word and the lower code-word is unchanged. Therefore, the secret bits ‘101001’ can be embedded by just changing the third bit of BM 2 from ‘1’ to ‘0’, and the two quantization values are preserved.
For the third compressed code (48, 103, BM 3 ), difference D 3 = 55 > thr2, so the block belongs to the highly complex blocks. First, two secret data sequences ‘11’ and ‘00’ are converted into the quaternary system ‘3’ and ‘0’, respectively. Then, use Equations (11) to (14) to calculate two new quantization values L 1 = 47 and H 1 = 104 . By doing so, 4 bits secret data can be embedded into this block. The difference between 47 and 104 is 59, which is higher than thr2, as expected. Therefore, misjudgments will not happen in the data extraction phase.
When extracting data, we also need to follow the order as mentioned above. For the first stego-compressed code (177, 184, BM 1 ), D 1 = 7 < thr 1 , we just extract the 16 bits of bitmap ‘0101000110100010’ to obtain the secret data. For the second stego-compressed code (125, 142, BM 2 ), D 2 = 17, which is between thr1 and thr2. The upper code-word and the lower code-word are used to calculate the secret data by Equation (5). After calculation, two parts of the secret data ‘101’ and ‘001’ can be obtained. For the third stego-compressed code (47, 104, BM 3 ), D 3 = 59 > thr2, we just apply modulo-4 operation on two quantization values and convert the results into a binary system to obtain two parts of secret data ‘11’ and ‘00’.

4. Experimental Results and Discussion

This section presents the experimental data and compares the results of our proposed method with three relevant methods. Eight common 512 × 512 sized grayscale images, “Airplane”, “Baboon”, “Boat”, “Couple”, “House”, “Lena”, “Peppers”, and “Sailboat” are used as test images as shown in Figure 3. In our experiments, the block size used for AMBTC compression of each method is set to 4 × 4. All the experiments were implemented by MATLAB R2017a, and run on a platform with an Intel (R) Core i5-8500 3.00 GHz processor, 8 GB RAM and Windows 10 operating system. The embedded secret data used in our experiments were generated by a pseudo-random number generator.
Hiding capacity and PSNR are used to quantitatively compare and evaluate our proposed method with other methods. Hiding capacity refers to the number of secret bits that can be embedded into the test images. Peak signal-to-noise ratio (PSNR) is used to estimate the visual quality of the stego-images compared to the original images. The definitions of mean square error (MSE) and PSNR are shown in Equations (15) and (16), respectively.
MSE = 1 M × N m = 1 M n = 1 N ( O m , n O m , n ) 2 ,
PSNR = 10 log 10 ( 255 ) 2 MSE dB ,
where (m, n) denotes the coordinate of each pixel.
Three relevant data hiding methods which embed data into AMBTC compressed images while preserving the final file size that were proposed by Ou and Sun [28], Chen and Chi [29], and Kumar et al. [30] are used to compare with our proposed method. For a fair comparison, two thresholds are set to the same values in the four methods. The visual comparison is shown in Figure 4. We can see that in (c), noticeable distortions appear on some edge regions such as the bridge of the nose and the eyebrows. In (d), there are some black points in the white blocks or some white points in the black blocks on the edge. The stego-images of our proposed method and Ou and Sun’s method are closer to the original AMBTC compressed image.
Then, we use PSNR to evaluate each method accurately. Figure 5 shows the PSNR for different amounts of the hiding data (from 1000 bits to the highest hiding capacity) of eight test images when thr1 = 10 and thr2 = 25.
Kumar et al.’s method achieves the highest hiding capacity; however, the image quality is the worst. In the Ou and Sun method, the PSNR will not change when embedding bits into complex blocks. Therefore, the image quality of [28] is the best, but the hiding capacity is the lowest in most images. Our proposed method can achieve the second highest hiding capacity, i.e., only lower than [30]. In addition, our proposed method can achieve a relatively higher image quality. This is especially the case in smooth images such as Airplane, where the PSNR of our proposed method is the highest, and in Lena, when hiding capacity is lower, the PSNR of our proposed is also the highest. In Figure 5a, the PSNR of the other methods are rapidly declining when hiding capacity is higher than 8000 because the image becomes complex in the rear areas. Due to the hiding order of our proposed method, the PSNR of our proposed method will decline slowly with the increasing amount of hiding data. Therefore, our proposed method can achieve an excellent balance between image quality and hiding capacity, and can obtain high-fidelity images when the hiding amount is lower.
Table 2 shows the performance under different thresholds in eight test images. HC and ER denote hiding capacity and error ratio, respectively. The error ratio is the ratio of the error blocks to all blocks, and the error blocks are blocks where two quantization values are exchanged. Our proposed method can embed 6 bits and 4 bits into one less complex block and one highly complex block, with 2 bits and 1 bit less than [30], respectively. Thus, the gap in hiding capacity between our proposed method and [30] decreases when thresholds are enlarged, and the hiding capacity of our proposed method is always higher than the remaining two methods. The most important benefit of our proposed method is that there are no error blocks. The ER of the other three methods are all greater than 30%, and the ER increases with the decrease of thresholds, because the hiding strategy for smooth blocks in these three methods exchange the order of two quantization values. Method [28] has the highest ER in the most cases because of the embedding strategy in the complex block, thus, its security is the worst. Our proposed method can achieve a strict AMBTC format while the other methods cannot, and as such, security can be perfectly guaranteed in data transmission.

5. Conclusions

This paper presented a high-fidelity data hiding method for strict AMBTC format images by using a hybrid strategy for three block types: smooth blocks, less complex blocks and highly complex blocks. Our proposed method can embed 16 bits and 6 bits into a smooth block and a less complex block while maintaining the same difference between two quantization values, and 4 bits into a highly complex block, which guarantees that the difference will not decrease. Due to the designed hiding order, our method can obtain a high-fidelity image in the lower hiding amount. Experimental results show that our proposed method achieves an excellent balance between image quality and hiding capacity. In addition, our proposed method is able to strictly maintain the AMBTC compressed code format and as such, there are no error blocks in the final stego-compressed code.

Author Contributions

conceptualization, C.-C.C.; methodology, X.W. and J.-H.H.; software, X.W.; validation, C.-C.C., X.W. and J.-H.H.; formal analysis, C.-C.C. and J.-H.H.; investigation, X.W.; resources, X.W.; data curation, X.W.; writing—original draft preparation, X.W.; writing—review and editing, X.W. and J.-H.H.; visualization, X.W.; supervision, C.-C.C.; project administration, X.W. and J.-H.H.

Funding

This research received no external funding.

Acknowledgments

The authors would like to thank the reviewers for their valuable suggestions on improving the quality of this paper to this professional international journal.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Details of the proofs for Equations (9) and (10) are provided below. We first list the symbols that are used:
Table A1. The list of symbols.
Table A1. The list of symbols.
SymbolMeaning
kBlock size
B 0 Pixels belong to ‘0’ in new bitmap
B 1 Pixels belong to ‘1’ in new bitmap
D i The difference between two original quantization values
qThe number ‘1’ in a new bitmap
L i and H i Two new quantization values
eThe square error of the block
The following processes are used to prove Equations (9) and (10), to obtain the best image quality when maintaining the same D i .
Get
a i = p j B 0 p j k × k q ,
and
b i = p j B 1 p j q .
We have
e i = p j B 0 ( p j L i ) 2 + p j B 1 ( p j H i ) 2 = p j B 0 [ ( p j a i ) + ( a i L i ) ] 2 + p j B 1 [ ( p j b i ) + ( b i H i ) ] 2 = p j B 0 ( p j a i ) 2 + 2 ( p j a i ) (   a i L i ) + ( a i L i ) 2 + p j B 1 ( p j b i ) 2 + 2 ( p j b i ) ( b i H i ) + ( b i H i ) 2 = p j B 0 ( p j a i ) 2 + p j B 0 2 ( p j a i ) ( a i L i ) + p j B 0 ( a i L i ) 2 + p j B 1 ( p j b i ) 2 + p j B 1 2 ( p j b i ) ( b i H i ) + p j B 1 ( b i H i ) 2 = p j B 0 ( p j a i ) 2 + p j B 0 ( a i L i ) 2 + p j B 1 ( p j b i ) 2 + p j B 1 ( b i H i ) 2 = p j B 0 ( p j a i ) 2 + p j B 0 [ a i ( H i D i ) ] 2 + p j B 1 ( p j b i ) 2 + p j B 1 ( b i H i ) 2 = p j B 0 ( p j a i ) 2 + ( k × k q ) [ a i ( H i D i ) ] 2 + p j B 1 ( p j b i ) 2 + q ( b i H i ) 2
Since
d e i d H i = 2 ( k × k q ) [ a i ( H i D i ) ] 2 q ( b i H i ) = 0
then
2 q b i + 2 a i ( k × k q ) + 2 D i ( k × k q ) = 2 q H i + 2 H i ( k × k q )
so
H i = q b i + a i ( k × k q ) + D i ( k × k q ) k × k
= b i b i ( k × k q ) + a i ( k × k q ) + D i ( k × k q ) k × k
= b i + ( k × k q ) ( D i b i + a i ) k × k
and
L i = a i q ( D i b i + a i ) k × k

References

  1. Bender, W.; Gruhl, D.; Morimoto, N.; Lu, A. Techniques for data hiding. IBM Syst. J. 1996, 35, 313–336. [Google Scholar] [CrossRef]
  2. Wu, M.; Liu, B. Data hiding in binary image for authentication and annotation. IEEE Trans. Multimed. 2004, 6, 528–538. [Google Scholar] [CrossRef]
  3. Tian, J. Reversible data embedding using a difference expansion. IEEE Trans. Circuits Syst. Video Technol. 2003, 13, 890–896. [Google Scholar] [CrossRef]
  4. Tsai, P.; Hu, Y.C.; Yeh, H.-L. Reversible image hiding scheme using predictive coding and histogram shifting. Signal Process. 2009, 89, 1129–1143. [Google Scholar] [CrossRef]
  5. Chang, C.-C.; Lu, T.C. A difference expansion oriented data hiding scheme for restoring the original host images. J. Syst. Softw. 2006, 9, 1754–1766. [Google Scholar] [CrossRef]
  6. Lee, C.F.; Chen, H.L.; Tso, H.K. Embedding capacity raising in reversible data hiding based on prediction of difference expansion. J. Syst. Softw. 2010, 83, 1864–1872. [Google Scholar] [CrossRef]
  7. Hu, Y.; Lee, H.K.; Li, J. DE-based reversible data hiding with improved overflow location map. IEEE Trans. Circuits Syst. Video Technol. 2008, 19, 250–260. [Google Scholar]
  8. Tai, W.L.; Yeh, C.M.; Chang, C.C. Reversible data hiding based on histogram modification of pixel differences. IEEE Trans. Circuits Syst. Video Technol. 2009, 19, 906–910. [Google Scholar]
  9. Xuan, G.; Yao, Q.; Yang, C.; Gao, J.; Chai, P.; Shi, Y.Q.; Ni, Z. Lossless data hiding using histogram shifting method based on integer wavelets. In International Workshop on Digital Watermarking 2006; Lecture Notes in Computer Science; Jeon, B., Ed.; Springer: Berlin, Germany, 2006; pp. 323–332. [Google Scholar]
  10. Chen, W.Y. Color image steganography scheme using DFT, SPIHT codec, and modified differential phase-shift keying techniques. Appl. Math. Comput. 2008, 196, 40–54. [Google Scholar] [CrossRef]
  11. Chang, C.C.; Lin, C.C.; Tseng, C.S.; Tai, W.-L. Reversible hiding in DCT-based compressed images. Inf. Sci. 2007, 177, 2768–2786. [Google Scholar] [CrossRef]
  12. Zhang, X. Reversible data hiding in encrypted image. IEEE Signal Process. Lett. 2011, 18, 255–258. [Google Scholar] [CrossRef]
  13. Wang, J.X.; Lu, Z.M. A path optional lossless data hiding scheme based on VQ joint neighboring coding. Inf. Sci. 2009, 179, 3332–3348. [Google Scholar] [CrossRef]
  14. Qin, C.; Chang, C.C.; Chiu, Y.P. A novel joint data-hiding and compression scheme based on SMVQ and image inpainting. IEEE Trans. Image Process. 2013, 23, 969–978. [Google Scholar]
  15. Tseng, H.W.; Chang, C.C. High capacity data hiding in JPEG-compressed images. Informatica 2004, 15, 127–142. [Google Scholar]
  16. Delp, E.; Mitchell, O. Image compression using block truncation coding. IEEE Trans. Commun. 1979, 27, 1335–1342. [Google Scholar] [CrossRef]
  17. Lema, M.; Mitchell, O. Absolute moment block truncation coding and its application to color images. IEEE Trans. Commun. 1984, 32, 1148–1157. [Google Scholar] [CrossRef]
  18. Lin, C.C.; Liu, X.L.; Tai, W.L.; Yuan, S.M. A novel reversible data hiding scheme based on AMBTC compression technique. Multimed. Tools Appl. 2015, 74, 3823–3842. [Google Scholar] [CrossRef]
  19. Kim, C.; Shin, D.; Leng, L.; Yang, C.N. Lossless data hiding for absolute moment block truncation coding using histogram modification. J. Real-Time Image Process. 2018, 14, 101–114. [Google Scholar] [CrossRef]
  20. Chen, Y.Y.; Hsia, C.H.; Jhong, S.Y.; Lin, H.J. Data hiding method for AMBTC compressed images. J. Ambient Intell. Hum. Comput. 2018, 1–9. [Google Scholar] [CrossRef]
  21. Malik, A.; Sikka, G.; Verma, H.K. An AMBTC compression based data hiding scheme using pixel value adjusting strategy. Multidimens. Syst. Signal Process. 2018, 29, 1801–1818. [Google Scholar] [CrossRef]
  22. Huynh, N.-T.; Bharanitharan, K.; Chang, C.C.; Liu, Y. Minima-maxima preserving data hiding algorithm for absolute moment block truncation coding compressed images. Multimed. Tools Appl. 2018, 77, 5767–5783. [Google Scholar] [CrossRef]
  23. Sun, W.; Lu, Z.M.; Wen, Y.C.; Yu, F.X.; Shen, R.J. High performance reversible data hiding for block truncation coding compressed images. Signal Image Video Process. 2013, 7, 297–306. [Google Scholar] [CrossRef]
  24. Hong, W.; Ma, Y.B.; Wu, H.C.; Chen, T.S. An efficient reversible data hiding method for AMBTC compressed images. Multimed. Tools Appl. 2017, 76, 5441–5460. [Google Scholar] [CrossRef]
  25. Hong, W.; Zhou, X.; Weng, S. Joint adaptive coding and reversible data hiding for AMBTC compressed images. Symmetry 2018, 10, 254. [Google Scholar] [CrossRef]
  26. Chuang, J.C.; Chang, C.C. Using A Simple and Fast Image Compression Algorithm To Hide Secret Information. Int. J. Comput. Appl. 2006, 28, 329–333. [Google Scholar]
  27. Hong, W.; Chen, T.S.; Shiu, C.W. Lossless steganography for AMBTC-compressed images. 2008 Congr. Image Signal Process. 2018, 2, 3–17. [Google Scholar]
  28. Ou, D.; Sun, W. High payload image steganography with minimum distortion based on absolute moment block truncation coding. Multimed. Tools Appl. 2015, 74, 9117–9139. [Google Scholar] [CrossRef]
  29. Chen, Y.Y.; Chi, K.Y. Cloud image watermarking: High quality data hiding and blind decoding scheme based on block truncation coding. Multimed. Syst. 2017, 1–13. [Google Scholar] [CrossRef]
  30. Kumar, R.; Kim, D.S.; Jung, K.H. Enhanced AMBTC based data hiding method using hamming distance and pixel value differencing. J. Inf. Secur. Appl. 2019, 47, 94–103. [Google Scholar] [CrossRef]
  31. Westfeld, A. F5—A steganographic algorithm. Inf. Hiding 2001, 2137, 289–302. [Google Scholar]
Figure 1. Examples of block classification for Lena with different thresholds: (a) thr1 = 10 and thr2 = 25; (b) thr1 = 20 and thr2 = 35; (c) thr1 = 30 and thr2 = 45. The black blocks are smooth blocks, the gray blocks are less complex blocks, and the white blocks are highly complex blocks.
Figure 1. Examples of block classification for Lena with different thresholds: (a) thr1 = 10 and thr2 = 25; (b) thr1 = 20 and thr2 = 35; (c) thr1 = 30 and thr2 = 45. The black blocks are smooth blocks, the gray blocks are less complex blocks, and the white blocks are highly complex blocks.
Symmetry 11 01314 g001
Figure 2. Examples of the data embedding phase of three type blocks: (a) a smooth block, (b) a less complex block, and (c) a highly complex block.
Figure 2. Examples of the data embedding phase of three type blocks: (a) a smooth block, (b) a less complex block, and (c) a highly complex block.
Symmetry 11 01314 g002aSymmetry 11 01314 g002b
Figure 3. Eight test images.
Figure 3. Eight test images.
Symmetry 11 01314 g003
Figure 4. Visual comparison among different methods for the enlarged “Lena” image (block size k = 4, thr1 = 10, thr2 = 25, and the hiding capacity is 100,000).
Figure 4. Visual comparison among different methods for the enlarged “Lena” image (block size k = 4, thr1 = 10, thr2 = 25, and the hiding capacity is 100,000).
Symmetry 11 01314 g004
Figure 5. Comparison of peak signal-to-noise ratio (PSNR) among different methods for eight test images: (a) Airplane; (b) Baboon; (c) Boat; (d) Couple; (e) House; (f) Lena; (g) Peppers, and (h) Sailboat.
Figure 5. Comparison of peak signal-to-noise ratio (PSNR) among different methods for eight test images: (a) Airplane; (b) Baboon; (c) Boat; (d) Couple; (e) House; (f) Lena; (g) Peppers, and (h) Sailboat.
Symmetry 11 01314 g005aSymmetry 11 01314 g005b
Table 1. Changed bit location of corresponding z.
Table 1. Changed bit location of corresponding z.
z001010011100101110111
location1234567
Table 2. Comparison of PSNR, hiding capacity (HC) and error ratio (ER) of the four methods under different thresholds in eight test images.
Table 2. Comparison of PSNR, hiding capacity (HC) and error ratio (ER) of the four methods under different thresholds in eight test images.
MethodsMetricsAirplaneBaboonBoatCoupleHouseLenaPeppersSailboat
AMBTCPSNR31.983226.974831.159231.279330.991033.205333.405631.1794
thr1 = 10 and thr2 = 25
ProposedPSNR30.857326.474829.616929.752829.897731.344131.188829.7954
HC200837105437168901159993166187200531203817177087
ER00000000
Kumar et al. [30]PSNR29.294725.043928.312428.380527.937430.120630.161728.5961
HC209719125563183149174552179473209672213103189226
ER0.36220.35990.50220.47050.38840.45060.46970.4482
Chen and Chi [29]PSNR29.186425.441029.058129.167128.418331.062230.170129.0832
HC18217863258136126126380136503178991182888149453
ER0.38590.48850.45030.45970.39940.41950.43520.4360
Ou and Sun [28]PSNR30.572226.902530.269530.714830.537332.132531.841030.6045
HC17917954214132664122014131929176674180829145729
ER0.38200.48850.45150.46130.40420.41560.43450.4364
thr1 = 15 and thr2 = 30
ProposedPSNR30.358126.087028.890529.028029.257030.595330.488229.1793
HC213679129215196907185321184375218979224239197479
ER00000000
Kumar et al. [30]PSNR28.910724.571927.900827.852227.319729.815429.8764228.0991
HC220792146730206789196410195790225366230105206875
ER0.34950.35680.45690.44640.38750.42020.42680.4235
Chen and Chi [29]PSNR29.281425.402628.990929.089728.680930.773730.565429.2090
HC19987794409175623161156160229204727212117177217
ER0.38340.48880.44140.44600.39180.41190.41890.4269
Ou and Sun [28]PSNR31.410626.754230.301430.490730.401632.178631.881330.4846
HC19726986494172789157594156544202894210409174199
ER0.37810.48360.44180.44600.39660.41320.42500.4335
thr1 = 20 and thr2 = 35
ProposedPSNR29.797825.614728.204128.275428.498729.884729.910528.5282
HC222565146017213361201759199551229697233449210615
ER00000000
Kumar et al. [30]PSNR28.781224.411727.768227.624627.049529.516329.684627.8663
HC228449161804220686210580209023234623237888218300
ER0.34550.37410.42690.43880.38480.41660.41250.4224
Chen and Chi [29]PSNR29.280625.302828.671828.822228.485530.733530.069628.9940
HC211774115348198396183117180081219048224892194609
ER0.37550.47940.43400.44850.39330.41130.42440.4331
Ou and Sun [28]PSNR30.857226.559029.855830.038230.089731.580831.729630.1260
HC209524108499196039180229177124217654223444192169
ER0.37670.47790.44610.44900.39590.40800.43370.4279

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Back to TopTop