1. Introduction
The Internet is deeply involved in everyday life and work; most work is actively introducing Internet-based cloud services in modern society. This means that personal and corporate data will no longer be stored only on personal computers. Accordingly, security issues for digital data are becoming more important. The watermark may be copyright information and authentication information to determine the copyright owner of the work, to authenticate the authenticity and integrity of the multimedia work, and to achieve the purpose of copyright protection. Digital watermarking technology has several features such as digital media protection, authentication, distribution, and anti-counterfeiting. Therefore, the research in this area is important [
1].
While data hiding (DH) [
2] is a method to transmit information to the destination secretly by embedding information in cover media. Unlike existing communication methods, a hidden exchange is secure communication. Thus, DH has a potential for safety communication. DH does not replace encryption, but it may be a safety personal communication when it cannot be detect by attackers. If the cover image embeds secret data, the cover image is distorted and cannot be recovered. In some applications, such as military imaging systems and remote sensing, it is desirable to restore the stego media back to the original media without distortion. The DH that has this feature of reversibility is called reversible DH (RDH) [
3].
DH may be classified into two technologies in the spatial domain and the frequency (or transform) domain. In the spatial domain, the secret message is embedded into the pixels of the cover image directly. DH based on the Least Significant Bit (LSB) [
4,
5,
6] is mainly used in the spatial domain. In the frequency domain, the cover image must first be transformed using Discrete Cosine Transform (DCT) [
7,
8] Discrete Wavelet Transform (DWT) or similar frequency-oriented mechanisms, and then secret message is embedded in such a transformed domain [
9]. Vector Quantization (VQ) [
10] and block truncation coding (BTC) [
11] are lossy compression methods, and many DH methods based on the compressions have been proposed.
After BTC, lossy compression methods such as Absolute Moment Block Truncation Coding (AMBTC) [
12,
13,
14], Modified BTC (MBTC) [
15], and Adaptive BTC based on Edge Quantization (ABTC-EQ) [
16] with improved performance appeared. These compression methods also have the advantages of a stable compression ratio and low computation time, which are suitable for wide use in DH and watermarking. The compressed basic structure of AMBTC is
, BM), where
and
are two quantization levels, and BM is a bitmap. Here,
a is less than
b. One of the most efficient methods in AMBTC-based DH is to embed secret data directly into the bit-plane. Chuang and Chang [
17] introduced a way to embed data using Direct Bitmap Substitution (DBS). Here, a suitable condition to embed secret data is to use smooth blocks rather than complex blocks because it helps to maintain good image quality.
Chen et al. [
18] introduced a method of the Order of Two Quantization Levels (OTQL) to embed data into
compressed using AMBTC without loss. They may hinder the loss of the stego block by using OTQL and flipped bitmap BM. That is why the OTQL method is efficient. Ou and Sun [
19] pointed out that flipping the bitmap BM for hiding secret data without adjusting the coefficients of quantization could result in distortion. Besides, to improve the quality of the stego image, they introduced an adjusting method for the quantization levels.
Huang et al. [
20] introduced a hybrid method increasing as much as
bits by using difference expansion and the reduction of two quantization levels. The merit of this method is that it might not need the type of the blocks. Besides, they also introduced OTQL for higher Embedding Capacity (EC) without loss additionally. Hong [
21] introduced a method to embed data in the quantization level of smoothing blocks using Adaptive Pixel Pair Matching (APPM) techniques [
22]. Chen and Chi [
23] processed by sub-dividing less complex block and highly complex block. In 2016, Malik et al. [
24] introduced a DH based on AMBTC using 2-bit plane and 4 quantization levels. The merit of this method is high payload, and the demerit is to decrease the compression rates.
In this paper, we propose a new DH method based on ABTC-EQ with high embedding rates and good image quality. Because in the existing DH based on AMBTC the quality of the cover image is not high compared to the original image, there is a problem that the PSNR of the cover image decreases below 30 dB when we embed many bits into the cover image, and we replace AMBTC with ABTC-EQ in order to solve this problem. Our purpose is to increase the performance of DH by applying the LSB method to the pixels of quantization levels. There exists a demerit to generate some noises in encoding procedure, though the LSB substitution method is enough to achieve our purpose. In order to solve the problem, we propose a way to optimize the errors and enhance the quality of an image by using Optimal Pixel Adjustment Process (OPAP) [
6] in this paper.
The rest of this paper is organized as follows.
Section 2 briefly reviews AMBTC, ABTC-EQ, LSB substitution and OPAP, and Ou & Sun’s method. The proposed new DH based on ABTC-EQ is introduced in
Section 3. Experimental results and discussions are given in
Section 4. And
Section 5 sketches some conclusions.
2. Related Works
2.1. AMBTC
Lema and Mitchell introduced AMBTC, a variant of BTC which improved BTC’s computation time. Moreover, the quality of the AMBTC is better than that of the BTC. AMBTC obtains the high and low mean of each block and uses these two values to produce a compressed size of grayscale image. In AMBTC, the image is first divided into non-overlapped blocks sized
, where
may be set to (
), (
), (
), and so on. AMBTC works on block by block, and the mean value for each block is calculated using Equation (
1).
Here,
represents the
pixel value in this block. For every pixel in each block, binary values (‘0’ or ‘1’) are produced using Equation (
2), and a block composed of ‘0’s or ‘1’s is called a bitmap block. That is, a value larger than the value
is replaced by ‘1’, otherwise replaced by ‘0’.
Let
t denote the number of ‘1’ in the bitmap BM. The mean
or
above or below of
is calculated in Equation (
3).
The two quantization levels and the bitmap BM can be represented by the basic unit
, BM) of compression. The compressed
is used for decoding to reconstruct the grayscale image. For
pixels are represented by a
of 8 + 8 + 16 = 32 bits, so the compression ratio (CR) is
. For
pixel images, the file size of 2 M-bits can be reduced to 0.5 M-bits. AMBTC provides better image quality and faster computation, so most BTC-based DH and secret image sharing schemes adopt the AMBTC. Mathews et al. [
15] proposed MBTC using a maximum and minimum quantizer to further improve the quality of reconstructed images. AMBTC divides the pixels in a block into two groups (‘0’s or ‘1’s) using the mean of the block, and based on this, obtains two quantization levels. In Equation (
4), the threshold value
of MBTC is obtained by the mean of the maximum (
), the minimum (
) and the mean (
) in a block.
In MBTC, a is obtained by using instead of the mean of per block. It is a difference between AMBTC and MBTC.
2.2. ABTC-EQ
AMBTC and MBTC in BTC-like obtain two quantization levels in per block using mean values according to the given equations. ABTC-EQ, on the other hand, uses a canny edge detector [
25] to find edge from the input image and to obtain quantization levels based on it. To extract two quantization levels, an edge information,
, for each block (
size) is extracted, which is classified into edge block or non-edge blocks. If
E in the block is all zeros, it is a non-edge block, otherwise it is defined as an edge block. We use two quantization level approaches to non-edged block. For non-edge blocks, each block can be represented as a
using the MBTC method, where
notation is used intentionally to represent the bitmap for non-edge blocks. For edge blocks, three cluster
are found and grouped using the
k-means cluster algorithm [
26]. The bit map
of the edge block is generated by Equation (
5).
The mean
of each cluster
is calculated by Equation (
6), where
. Thus, the edge image block is represented by
.
Bi-clustering and tri-clustering methods are applied to non-edge blocks and edge-blocks. In , the identifier f is used to distinguish non-edge blocks and edge-blocks, and is defined as ‘1’ and ‘0’, respectively. Finally, pixels can be represented as or . Therefore, the CR in ABTC-EQ is dynamic, not static, as in the previous BTC scheme.
2.3. LSB Substitution and OPAP
Least-Significant-Bit (LSB) substitution is a way to manipulate the LSB planes by directly replacing the LSBs of the cover-image with the hidden bits. Wang et al. [
27] introduced a DH by optimal LSB substitution and genetic algorithm, where the worst mean-square-error (WMSE) is shown to be 1/2 of that obtained by the simple LSB substitution technique. Let us look at the DH procedure for the original 8-bit grayscale represented by
.
S denotes n-bit hidden values represented as
. The mapping between the
n-bit secret bits
and the embedded bits
can be defined as follows:
. The pixel value
for embedding the
-bit
is changed to form the stego-pixel
like
. The
LSBs of the pixels are extracted by
.
An Optimal Pixel Adjustment Process (OPAP) has an ability to enhance the image quality of the stego-image generated by the simple LSB substitution method and it was proved by mathematically proof. Let be the pixel of the cover image, be the obtained pixel from pixel using the LSB replacement method, and is the optimized pixel derived from by the OPAP method. Let be the error between and . is obtained by the direct substitution of the LSBs of with secret bits. The value of may be segmented into three intervals. The OPAP modifies to form the stego-pixel as the following rule:
Rule 1 : if , then ; otherwise ;
Rule 2 : ;
Rule 3 : if , then ; otherwise ;
2.4. Ou and Sun’s Method
In this method, smooth blocks of AMBTC are mainly used with DBS method in order to improve DH performance and less image distortion. In addition, the two quantization levels of the block are re-calculated in order to recover the distorted pixels after embedding secret message. For complex blocks, they embed 1-bit into by using the OTQL. The detailed procedure of embedding secret bits is described as follows:
Input: A bit sequence S, , and a parameter T.
Output: A stego AMBTC-compressed codes .
- Step 1:
One block (including two quantization levels and a bit-plane ) from the is got.
- Step 2:
Compute the absolute difference value of two quantization levels and , such that .
- Step 3:
If , 1-bit from S can be embedded. If is equal to ‘1’, the bit plane is toggled and the two quantization levels are exchanged, . Then, add into . If is equal to ‘0’, there is no change of the . Return to Step 1 to process the next block.
- Step 4:
If , the 16-bits from S can be embedded. The bit-plane are substituted with the 16-bits. Re-calculate two new quantization levels and . Then, add into . Return to Step 1 to process the next block.
- Step 5:
Repeat Steps 1∼4 until all the blocks are completely processed. The output compressed , each of which contains two quantization levels and 1-bit plane.
3. The Proposed Scheme
This section discusses new DH method based on ABTC-EQ by using OPAP. In our proposed method, OPAP combine existing DBS and OTQL to increase the performance. Also, to improve the quality of the image, ABTC-EQ is used as the cover image. Thus, the method can embed an appropriate amount of secret data while maintaining the displayed image quality. A complete description of the proposed algorithm along with an example is given in
Section 3.3.
3.1. Embedding Procedure
First,
are generated by compressing the original gray image with ABTC-EQ before applying the proposed embedding algorithm. The generated
consist of quantization levels and bitmaps. The quantization levels representing each block are
and
. If the image is an edged block,
is required. A bitmap
is divided into two groups:
and
. If the image is an edged block, three elements of
are needed. The procedure of DH in our proposed method is shown in
Figure 1. Three methods (OPAP, DBS, and OTQL) are applied to the generated
in order to conceal the data. The proposed method is applied to the
block repeatedly.
To improve DH performance, the OPAP algorithm is used for DH regardless of block type (i.e., smooth or complex). By increasing or decreasing the pixel value by one according to the pattern of the LSB, it is possible to reduce the distortion of the image while increasing the number of data concealment bits. When we use the previous DBS method to the bitmaps, only the bitmap is used, and is not used for DH to reduce image distortion. The DBS method distinguishes two group, that is, smooth and complex blocks, using a threshold and the DBS method may be used only for smooth blocks. In addition, to complex blocks, we use OTQL method to hide 1-bit per block additionally. Our proposed method should apply OPAP, DBS, and OTQL in order, and keep this order in the data extraction process. The complete proposed embedding algorithm is discussed as follows:
Input: original image I of size pixels, T: threshold, S: secret bits
Output: ABTC-EQ compressed marked codes,
- Step 1:
Divide the original image into non-overlapping sized blocks. Next, apply the ABTC-EQ method to compress every block. After all, we obtain two or three quantization values and one bitmap for each block, which is represented as .
- Step 2:
Fetch one
from compressed packet (
) according to the defined order. Embed 4-bits into two quantization level values,
and
, using OPAP rules (
Table 1 and
Table 2), which is LSB optimization we proposed. Transform the value
into binary value and then embed one bit into second LSB by using the rule (
Table 1 and Equation (
7)) (notes, the variables
S and
are secret bit and operation, respectively. For example, given the 2LSB and LSB are ‘00’ and
S is ‘1’, it may embed
S =‘1’ into the pixel using the calculation of the OP, ‘
’). Then, it is possible to hide 1-bit as XOR operation between 2LSB and LSB of the pixel
and the given operation, according to the rule of
Table 2 and Equation (
8). For the pixel
, the same procedure as shown in the pixel
is used and it may embed 2-bits additionally.
- Step 3:
If
, take bitmap BM from the
and apply Equation (
9) to it (notes: count
and
in the BM, then take the same number of secret bits from the
S). Replace every binary element of the BM with secret bits
S in the specified order directly; otherwise, go to Step 2.
- Step 4:
If ( and , change order of two quantization level and , that is, . If and , it is remained unchanged.
- Step 5:
Steps 2 ∼ 4 are repeated until all are scanned.
- Step 6:
Save the and return to the function.
3.2. Extraction Procedure
The procedure to extract data from marked
is shown in
Figure 2. First, read a block (
) from
. Then, OPAP, DBS, and OTQL are applied to the quantization level and the bitmap in order to extract the secret bits hidden in the
. At this time,
are divided into smooth blocks and complex blocks by using a predefined threshold
T. OPAP are applied to
regardless of the type (i.e., smooth or complex) of them. DBS is used on only smooth blocks. Lastly, the order of two quantization levels are used to hide 1-bit per block additionally.
The complete proposed extraction algorithm is discussed as follows:
Input: AMBTC compressed marked codes, T is threshold
Output: S is secret data bit stream
- Step 1:
The block is fetched from compressed packet, , according to the defined order.
- Step 2:
For the quantization values
and
of the
, Equations (10) and (11) are used for obtaining 4-bits of hidden bits. (note: the
l is an indexing variable).
- Step 3:
If
, Equation (
12) is applied to the BM for obtaining the hidden bits. That is, the hidden bits are appended in
. Otherwise, go to Step 1.
- Step 4:
If and the order of two quantization level is ascending order, then assign ‘0’ into . if and the order is descending order, then assign ‘1’ into .
- Step 5:
Steps 1∼4 are repeated until all are scanned.
- Step 6:
Return to function.
3.3. Example of Embedding Process
In
Figure 3a–d, the example of the proposed embedding algorithm is discussed. A secret bit stream
and threshold
are considered to the example. Suppose there is a block
of the original image. Canny edge detector confirmed
B as non-edged block. Thus, we apply the procedure of
Figure 3a to
B. That is, first,
is calculated using Equation (
4). If
is greater than or equal to
, ‘1’ is assigned to the position of the corresponding pixel. Otherwise, ‘0’ is assigned to the position.
Finally, the bitmap is constructed by this procedure. Two quantization levels representing the original block are obtained by using Equation (
3). That is,
and
. The compression type of a block represents as
.
Figure 3b shows the detailed procedure that secret bits
S = ‘
’ is embedded into the two quantization levels
and
by OPAP method. Then, first, convert
and
to binary,
.
We may exploit Rule 1 (
Table 1, Equation (
7)) to embed the bit
= ‘1’ into the 2LSB of
. In case of
, there is no need to apply Rule 1 of Equation (
7) since 2LSB = ‘1’. To embed consecutive 1-bit, we apply Equation (
8) into the quantization level
. That is, we obtain
by the equation of
, since (XOR (2LSB = 1, LSB = 1) = 0) and
= ‘1’. For
, we also may obtain
by the same procedure as
. The procedure of
concealing ‘00’ is unnecessary, because
already had ‘00’.
Lastly, we finished embedding 4-bits in two quantization levels,
and
, by using OPAP. We can see the procedure where the bitmap is replaced by the secret bits of
sized block directly by DBS method in
Figure 3c. For embedding secret bits
S, the bit stream of
S replace the BM of the smooth block directly. Thus, we have to find the smooth blocks according to predefined threshold value
T of criteria (
) and then apply DBS method to the blocks. In this example, this block is the smooth block because it satisfies with the given criteria.
That is, the block BM is filled with
(
Figure 3c).
Figure 3d may use existing OTQL method to embed 1-bit additionally. This OTQL method is recommended by having an hint from the fact that two or three quantization levels of the blocks are specific ordered when each block is compressed. In other words, if the hidden bit is
S =‘1’, then we change the order of two quantization levels. In
Figure 3d, switch the order of
and
, that is,
.
3.4. Example of Extraction Process
In this section, we introduce extraction procedure of hidden bits from the given . First, the hidden bit ‘’ may be extracted from the using Equations (10) and (11), that is, and , respectively. After, we might obtain the hidden values ‘’ from applying Equations (10) and (11) to , respectively. Before applying DBS method, we confirm whether or not the block is edged block using canny edge detector and k-mean. Thus, it is possible to achieve as assigning all pixels of the BM into the variable when . Finally, we get the hidden bits S with this decoding procedure, that is,
4. Experimental Results and Discussions
In this section, we compare and analyze the experimental results of the proposed and other existing methods. For a comparison and analysis, we use nine grayscale images of size
pixels, as shown in
Figure 4. The secret data used in the experiments are random bits generated by the Pseudo Random Number Generator (PRNG). For evaluation, EC and peak signal-to-noise ratio (PSNR) are used to compare the performance of the existing and proposed methods. The DH capacity represents the number of secret bits contained in the cover image. The quality of the image is measured by the PSNR defined as:
In other words, PSNR is the ratio between the maximum possible power of a signal and the power of noise that affects the fidelity of its representation. The MSE used for the PSNR is the average intensity difference between the compressed and the reference image. If the MSE value of the compressed image is low, the image quality is evaluated as good. MSE is calculated used the reference image
p and the distorted image
as follows.
The error value
, denotes the difference between the original and the distorted signal. The
means the allowable pixel intensity in Equation (
13).
Structural Similarity Index Metric (SSIM) [
22] is used to evaluate the resemblance between the cover image and the stego-image. SSIM is designed to deal with the quality of the whole image by constructing and combining equations with luminance, contrast, and structure that are recognized as the main contents in human vision. The average luminance, contrast and structural information are combined together to produce the quality index. The yield of SSIM value is limited in the range between 0 and 1. If the SSIM value is near to 1 the stego-image is alike the cover image and it has high quality. Equation (
15) is used to calculate the value of SSIM:
where
and
are mean values of cover image
x and stego-image
y and
and
are standard deviation values of the cover image and stego image while,
means the covariance of both two images.
and
are constants to stabilize the division.
Like we discuss about the proposed algorithm, the blocks of the ABTC-EQ are categorized by using threshold
T into smooth and complex block. Moreover, a threshold value may affect an image quality as well as an EC of DH.
Table 3 shows the comparison of the performance of compression, PSNR, and SSIM in compression methods such as AMBTC, MBTC, and ABTC-Equation We know that ABTC-EQ represents better performance in all aspect of PSNR, CR, and SSIM.
If the threshold value increases, the image quality becomes down, while the EC of DH is increased. In other words, there exists inverse correlation between image quality and embedding capacity. In
Table 4, we use the performance like EC and PSNR to compare between our proposed method and existing methods (i.e., Ou & Sun, Huang et al., and W. Hong). For a fair performance comparison, we evaluate the performance using two threshold values (i.e., 10 and 20) in every block of two compression methods, that is, AMBTC and ABTC-Equation In
Table 4, we notice the performance of PSNR and EC according to the various threshold values
T. There is a trade-off between EC and image quality, while it may be different in various methods.
Our proposed scheme is the first DH based on ABTC-EQ, while the existing three methods (i.e., Ou & Sun, Huang et al., and W. Hong) are based on AMBTC. Our proposed method is superior to those of existing methods in aspect of image quality. For Peppers and Tiffany images when , the PSNRs of Huang et al. are higher than our proposed method by 0.2 dB. Except these two cases, the proposed method showed excellent results in two criteria namely PSNR and EC.
Huang et al.’s method offers high EC with keeping low distortion when and 20, relatively. And, this method may be better than the previous schemes (i.e., Ou & Sun and W. Hong) because it has a code to improve image quality. But the proposed method based on ABTC-EQ can offer higher EC and PSNR than those based on AMBTC generally. The weakness of our method is that it provides somewhat higher performance for smooth images, but at some specific points PSNR falls but does not get much worse.
In
Figure 5, we show the performance comparisons between the proposed method based on ABTC-EQ and the existing methods based on AMBTC, respectively. In the case of (a) Lena, (c) Zelda, and (d) Airplane in
Figure 5, our proposed scheme offers good performance in aspects of EC and PSNR. When
, in
image, ECs and PSNRs of our proposed method and Huang et al.’s method are 290,668 (31.8599 dB) and 285,651 (30.344 dB), respectively. Therefore, it show that our proposed method is good objectively.
For all images, the PSNRs of our proposed scheme shows excellent performance compared to existing schemes for when secret bits are less than equal 100,000. According to increase secret bits, the gap of PSNR is gradually reduced between our proposed method and Huang et al.’s method.
In
Figure 5b, the PSNR values of our proposed method are almost similar to those of Huang et al.’s method. After then, it is shown that the PSNR of our proposed method is reduced rather than that of Huang et al.’s method, but the gap between them is not high. In our proposed scheme, it has an ability to embed 320,000 bits maximally into cover image although it was difference by the feature of the image, while Huang et al.’s method has a capability to embed more than 340,000 bits.
But, if more than 310,000 bits (information) will be embedded into most cover images, they become useless as cover media, since the PSNR of them become low, less than 30 dB. Huang et al.’s method is also in that same performance range. Our proposed scheme is possible to embed more than 340,000 bits if we make sacrifice PSNRs even larger using LSB3 and LSB4. In order to keep allowable PSNR, it is proved that our proposed optimization for LSB pixels is an efficient solution.
Figure 6 is shown an evaluation that we embed same number of bits (i.e., 280,000) into Lena cover image using four DH methods including our proposed method and existing methods, then compare marked Lena images using the human visual system and PSNRs. Both of (a) and (c) in
Figure 6 exhibit low image quality of less than 30 dB as a result of experiment, while (b) and (d) show high image quality as 30.5441 dB and 32.5431 dB, respectively. Especially, we find out that our proposed method has highest image quality among them. Therefore, we proved that our proposed scheme is appropriate for covert communication through the simulation.