Steganography Using Quotient Value Differencing and LSB Substitution for AMBTC Compressed Images

In this paper, we apply quotient value differencing (QVD) and least significant bits (LSBs) substitution to hide secret data in an absolute moment block truncation coded (AMBTC) image. An AMBTC compressed image block consists of a high mean, low mean, and bitmap matrix. Based on the data structure of an AMBTC block, the proposed method includes three phases of embedding. In the first phase, QVD and LSB substitution are applied to embed secret digits into the low mean and high mean values. In the second phase, an additional bit is embedded by alternating the order of the low mean and high mean or not. Secret digits are embedded in the third phase by substituting the bitmap of smooth blocks. By leveraging the entire data structure of the AMBTC compressed code, the proposed method outperforms related works in embedding capacity.


I. INTRODUCTION
With the increasing usage of Internet services, information security has attracted greater attention. Data hiding is a technology used to embed secret messages into some types of reliable media, such as videos, audio files, text files, and images, to conceal activity. These media are meaningful in themselves, and wiretapping cannot be aware of the embedding. Data hiding techniques can be classified into the following two categories: reversible and nonreversible data hiding. Reversible data hiding methods can recover the original cover media after the secret message is extracted. However, the embedding capacity of reversible data hiding methods is limited to a very low level compared with nonreversible methods.
Nonreversible data hiding can be further divided into the following three major types: LSB substitution [1]- [3], pixel value differencing (PVD) [4]- [6], and reference matrix (RM)-based [7]- [9] methods. The LSB substitution method embeds secret data by substituting one or more LSBs of the pixel values. These methods have a good embedding capacity.
The associate editor coordinating the review of this manuscript and approving it for publication was Zhen Ren . However, the image quality rapidly degrades when increasing the leveraged number of bits per pixel. Furthermore, the LSB substitution method is vulnerable to RS steganalysis [10]. The PVD method embeds data by evenly enlarging or reducing the difference value of a cover pixel pair, which improves the image quality at the expense of reducing the embedding capacity. In addition, the data can be detected by analyzing the pixel value difference histogram [11]. The RM-based method embeds data using a reference matrix. The information on constructing the RM should be securely shared between the encryption and decryption ends, which requires additional resources.
In 1989, Turner [2] proposed an LSB substitution method. This method has a good embedding capacity but suffers from image quality degradation with increased embedding. Wu and Tsai proposed a pixel-value differencing method [4] in 2003. The visual quality of a stego image is improved at the expense of reducing the embedding capacity to 0.2 bpp. In 2018, Jung mixed PVD and LSB substitution [12] to improve the embedding capacity. In his method, the image pixels are divided into a higher bit plane and a lower bit plane. Then, PVD is applied to embed the higher bit plane, while LSB substitution is applied to embed the lower bit plane. This approach significantly improves the embedding capacity. However, the fall off boundary problem (FOBP) may occur during embedding. In 2018, Swain proposed an improved version [13] to solve the FOBP. Upon FOBP occurrence, LSB substitution is applied to the higher bit plane as well, instead of PVD. A marker bit is embedded in the lower bit plane to discriminate the different situations. Additionally, the PVD of the higher bit plane is renamed as quotient value differencing (QVD) in his work.
To transmit images efficiently, many image compression methods [14]- [17] have been proposed. In 1979, Delp and Mitchell proposed the block truncation coding method [16]. In this method, the original image is divided into blocks of size n×n. For each block, the mean value and standard deviation are calculated. A bit map is used to record the block, where the pixels are represented by '1' when their value is greater than the mean and represented by '0' otherwise. Two output levels are computed using the mean and standard deviation to substitute '1' and '0' in decompression. In 1984, Lema and Mitchell proposed an absolute moment block truncation coding method [17] to improve the quality and decompressed image.
To achieve data embedding and image compression at the same time, many AMBTC-based data hiding methods have been proposed [18]- [23]. In 2015, Ou et al. classified image blocks into smooth and complex blocks [20]. For smooth blocks, secret data are embedded directly into the bitmap, while embedding is performed through order exchange of two quantization levels for complex blocks. In 2019, Li et al. applied a modulo-2 operation in bitmap embedding of smooth blocks [22]. An additional 2 bits are embedded into the two quantization levels by applying the Hamming code (3,2) technique. In the same year, Kumar et al. classified image blocks into smooth, less complex, and highly complex blocks [23]. For these three types of blocks, the bit substitution, Hamming distance calculation, and PVD are used to embed secret data, respectively.
In this paper, we focus on the extension of the payload for AMBTC-based data hiding. Since AMBTC images are highly compressed objects, to achieve this goal, we fully leverage the data structure of the image. AMBTC divides an image into nonoverlapping blocks, and each block is represented by two quantization levels and a bitmap. Three objectives of a block can be targeted, namely, the quantization levels, the order of the quantization levels, and the bitmap. The proposed data hiding scheme consists of three phases to deal with the three objectives.
By leveraging the full data structure of an AMBTC compressed block, our data hiding scheme can achieve a better embedding capacity than those described in related works. The remainder of this the paper is organized as follows. In Section 2, we briefly review the AMBTC image format and the QVD-based data hiding proposed in [13]. In Section 3, the proposed scheme is introduced. Experimental results are given in Section 4. In Section 5, conclusions are drawn.

II. RELATED WORKS
In this section, we introduce two related works. The first is the AMBTC image compression method [17] proposed by Lema and Mitchell. The second is data embedding based on the QVD technique proposed by Swain [13].
AMBTC is a lossy compression technique for gray level images. The grayscale image is divided into nonoverlapping blocks before compression. Then, each block is represented by two quantization levels and a bitmap. The details of the encoding process are as follows.
The input image of size W × H is divided into nonoverlapping blocks of size n × n. To compress an image block, the mean value µ is calculated first by (1) where p i is the gray level value of the pixel in the block. Then, each pixel value is compared with the mean, assuming the number of pixels greater than or equal to the mean is m. The two quantization levels are calculated by (2) and (3).
A bitmap BM of size n × n is constructed, where the bit value is '0' when its corresponding pixel value is less than the mean, while the bit value is '1' otherwise. Finally, each image block is recorded by (L, H , BM ) in the compressed code. The decoding process is to construct an image block of size n×n, where the pixel value is L when the corresponding value in the bitmap is '0' and is H when the corresponding value is '1'.

B. DATA HIDING SCHEME BASED ON QVD AND LSB SUBSTITUTION
In the data hiding scheme proposed by Swain [13], the image is partitioned into nonoverlapping blocks of 3 × 3 pixels. Each pixel block is sheared into a quotient block (i.e., higher bit-plane block) and an LSB block (i.e., lower bit-plane block) by (4) and (5).
where 'div' and 'mod' are the divide and modulo operations, respectively. The resulting blocks are shown in Fig. 1.
The lower bit-plane is embedded by substitution directly except for the lowest bit, i.e., the marker bit, of the center pixel R c . For the higher bit-plane, eight difference values are calculated with respect to the center pixel by (6).  The embedding capacity for a quotient value Q i is determined by comparing its absolute difference |d i | with the range table given in Table 1. Supposing |d i | falls in the range r j = r L j , r H j , n j data bits are collected and converted into decimal value b i . Then, the new difference value d i and the new quotient pairs Q ci , Q i are calculated by (7) and (8).
However, we cannot assign eight different values to the new central quotient Q c . The compromise is to average them by (9).
Then, Q i is adjusted again to fit the required d i by (10).
If there is no FOBP, i.e., Q i ∈ [0, 63], the marker bit is set to '1'. The quotient block and the LSB block are merged to obtain the stego block. Otherwise, 4-bit LSB substitution is applied to the covered pixels directly, and the marker bit is set to '0'.
The extraction process is in the reverse order of embedding. The marker bit is extracted first to determine the type of embedding. Then, the secret data are extracted according to the embedding type.

III. THE PROPOSED SCHEME
In this section, we propose a new data hiding scheme for AMBTC images. The proposed scheme consists of three phases to fully leverage the AMBTC data structure. The data hiding techniques of QVD, LSB substitution, quantization level swapping, and bitmap replacement are hybrid to achieve a high embedding capacity. The data embedding and extraction flowchart is shown in Fig. 2. The details are presented in the following subsections.

A. EMBEDDING PROCEDURE
In the first phase of embedding, the two quantization levels of the AMBTC code are used to hide the secret data. The QVD and LSB substitution approach [13] proposed by Swain is applied. The quantization levels (L, H ) are sheared into quotients and LSBs by (11) and (12).
Then, the quotient value difference is calculated by (13).
The embedding capacity for the quotient pair is determined by comparing its absolute difference |d| with the modified range table given in Table 2. Suppose |d| falls in the range r j = r L j , r H j , n j data bits are collected and converted to decimal value b. Then, the new difference value d and the new quotient pairs Q L , Q H 's are calculated by (14) and (15).
Q L , Q H VOLUME 8, 2020 Since a quotient is the six most significant bits of a quantization level, direct bit substitution will result in severe degradation of the stego image quality. To increase the payload with a slight quotient modification, the QVD is a good option. The quotient value difference is divided into five ranges. The width of each range is decided by the number of bits to be embedded, i.e., r H j − r L j + 1 = 2 n j . A decimal value b of n j data bits is embedded by adjusting the quotient value difference to d = r L j + b. While d is achieved by evenly expanding or shrinking the two quantization levels, on average, the required modification of the quantization levels is significantly lower than direct bit substitution. In addition, the human visual system has a larger tolerance to degradation of high contrast blocks. Therefore, the adjustment range is designed to increase with the quotient value difference.
For LSBs, i.e., (R L , R H ), LSB substitution is applied and produces (R L , R H ). For rare cases of FOBP, the quotients are shifted back to fit the boundary by (16).
Thus, the marker bit used in [13] is not required here. The final process in the first phase is to merge the quotients and LSBs back to the modified quantization levels by (17).
In the second phase of embedding, a single secret bit is embedded. If the secret bit is '1', the order of the quantization levels is swapped and the bitmap is flipped, i.e., (L , H , BM ) → (H , L , BM ); otherwise, the compressed code remains unchanged. For the special case of Q H = Q L , this block is nonembeddable in the second phase.
In the third phase, the modified difference d p = H − L is compared with the predetermined threshold d th . If d p < d th , then the bitmap is replaced by secret bits; otherwise, the bitmap is nonembeddable. A compressed block of very close quantization levels that cannot be discriminated by a human visual system is defined as a smooth block and can be totally replaced by secret data. On the contrary, a block with a difference greater than or equal to the threshold is defined as a complex block and is nonembeddable. The complete data embedding algorithm is summarized as follows.

B. EXTRACTION PROCEDURE
The data extraction procedure is in the reverse order of embedding. At the receiver end, the stego AMBTC code and the threshold d th , which is shared with the transmitter end, are used to extract the secret data. For each stego AMBTC block, the quantization levels are compared first. If the difference is

Data Embedding Algorithm
Input: cover image I , secret data S, threshold d th Output: stego image in AMBTC format I Step 1: compress the cover image I into AMBTC format.
Step 2 (phase 1): shear the quantization levels (L, H ) into (Q L , Q H ) and (R L , R H ).
Step 4: apply LSB substitution to (R L , R H ) and obtain (R L , R H ).
Step Step 7 (phase 3): If d p = H − L < d th , replace BM by secret bits.
Step 8: write modified block to I and repeat Steps 2-7, until all blocks are embedded.
less than the threshold, then the bitmap contains secret data and extracted. Then, an additional bit is determined by checking the order of quantization levels. Finally, the secret bits embedded by QVD and LSB substitution of the quantization levels are extracted. The extraction algorithm is given below.

C. EXAMPLES OF EMBEDDING AND EXTRACTION
In this subsection, we give some examples to demonstrate the proposed data embedding and extraction procedures. In our examples, the threshold is set to 8, i.e., d th = 8. The first example is a demonstration of the data embedding procedure and is illustrated in Fig. 3. Step 6: (phase 1): if s 2 = 1, Step 7: concatenate s = [(s 11 | |s 12 | |s 13 )||s 2 ||s 3 ].
Step 8: write s to S and repeat Steps 1-7, until all blocks are extracted.    The third example is a demonstration of the data extraction procedure for smooth blocks. As shown in Fig. 5, the difference of the modified quantization levels is calculated first, i.e., d p = 143 − 149 = −6. Since d p < d th , the block is a smooth block, and the bitmap is extracted as s 3 . Then, the quantization levels (143, 149) are sheared into quotients (35, 37) and LSBs (3,1). Since Q A < Q B , a secret bit s 2 = 0 is extracted. Next, s 11 = (Q B − Q A − r L j ) 2 = 129352 VOLUME 8, 2020

IV. EXPERIMENTAL RESULTS
In our experiments, MATLAB R2017a is used to implement the proposed data hiding scheme. Six standard gray level images (see Fig. 7) of size 512 × 512 are used, including Air-  plane, Baboon, Boats, Lena, Peppers, and Zelda. Secret data are produced by a random number generator. The hardware and operating system are an Intel R Core TM i7-3770 CPU @ 3.40 GHz, 8 GB RAM PC and Windows 10 Professional, respectively.
Since the proposed data hiding scheme is based on the AMBTC compressed images, we have to evaluate the image quality of the compressed images first. The peak signal to noise ratio (PSNR), defined by (18) and (19), is used to measure the visual quality after compression.
where MSE is the mean square error between the cover image I and the AMBTC compressed image I ; the image size is N × N , i.e., N = 512 in our experiments. The test images are divided into nonoverlapping blocks of size 4 × 4 and compressed in the AMBTC format. For each 4×4 block, the compressed code uses two quantization levels of one byte each and a bitmap of sixteen bits to represent the sixteen bytes of the pixel values. Therefore, the compression ratio is 1:4. The images recovered from the AMBTC compressed format are shown in Fig. 8, which serve as the input of our embedding scheme. The PSNR values with respect to the original standard images are also given below each image. Typically, the difference cannot be discriminated by the human visual system and provide a value greater than 30 dB.
The data hiding capacity and stego image quality of the proposed scheme depend on the threshold value d th of the block classification. Increasing the threshold value will obtain more smooth blocks and thus a higher embedding capacity. At the same time, the visual quality of the stego image will degrade gradually. The results of applying the proposed scheme with different threshold values to the six test images are listed in Table 3.
Based on the initial PSNR of each cover image, the visual quality of a stego image degrades with the increasing hiding capacity controlled by the threshold value. At a threshold value of 16, our data hiding scheme can embed approximately 1.2 bits per pixel (bpp) with a PSNR of approximately 30 dB. The image 'Baboon' is a special case initiated from an input image of PSNR 27.77 dB.    9 shows the relationship between the embedding capacity and stego image quality. As the embedding capacity increases with the threshold of block classification, the image quality degrades gradually. In addition, the image feature can be identified by the level of PSNR. The PSNR level indicates the smoothness of the applied image. The curve for the smoothest image 'Zelda' is at the top, while that for the most complex image 'Baboon' is at the bottom. Table 4 compares the experimental data of the proposed scheme with related works, including those by Ou and Sun [20], Li et al. [22], and Kumar et al. [23]. Since different data hiding schemes are controlled by different parameters, the embedding capacities are not exactly the same. However, the highlighted entries indicate that the proposed scheme outperforms the methods proposed in related works at high payloads.
A graphical representation of Table 4 is shown in Fig. 10, which indicates that our scheme has no advantage at a low payload. However, as the payload increases, our scheme gradually outperforms others and reaches the maximum payload among all the schemes.

V. CONCLUSIONS
In this paper, we propose a data hiding scheme for AMBTC compressed images. The QVD and LSB substitution techniques are applied to embed data in the quantization levels. For each pair of quantization levels, the proposed scheme can hide 6 to 9 bits of secret data. One additional bit is included for order arrangement of the quantization levels. For smooth blocks, the bitmap is totally replaced with the secret bits. By leveraging three phases of embedding, the proposed scheme achieves the best embedding capacity in comparison with existing AMBTC-based methods using the same PSNR level.
According to a series of related works, the performance of the three different strategies can be concluded as follows. The quantization level swapping with bitmap flipping will not degrade the PSNR; however, its payload is limited. Bitmap replacement and quantization level modification can achieve a higher payload, but the PSNR degrades with increasing payload.
As experimentally shown, modifying the quantization levels while preserving the bitmap of the low contrast block has no advantage. Therefore, the latter two strategies achieved better results. To design a data hiding scheme applicable to a broad range of payloads, swapping the quantization levels may be applied first. Then, the parameters of the latter two strategies are adjusted gradually to achieve the required payload. In this way, different payloads can be achieved with the least degradation of stego image quality.