Tc=0 | Tc=1 | Tc=2 | Tc=3 | Tc=4 | |
Tr=0 | 0000 | 0001 | 00010 | 0011 | 00100 |
Tr=1 | 00101 | 0110 | 0111 | 01000 | 01001 |
Tr=2 | 01010 | 01011 | 1100 | 1101 | 1110 |
Tr=3 | 1111 | 10000 | 10001 | 10010 | 10011 |
Tr=4 | 10100 | 10101 | 10110 | 10111 | 11000 |
Citation: Yan-Xiao Liu , Ching-Nung Yang, Qin-Dong Sun. Enhance embedding capacity for switch map based multi-group EMD datahiding[J]. Mathematical Biosciences and Engineering, 2019, 16(5): 3382-3392. doi: 10.3934/mbe.2019169
[1] | Li Li, Min He, Shanqing Zhang, Ting Luo, Chin-Chen Chang . AMBTC based high payload data hiding with modulo-2 operation and Hamming code. Mathematical Biosciences and Engineering, 2019, 16(6): 7934-7949. doi: 10.3934/mbe.2019399 |
[2] | Dingwei Tan, Yuliang Lu, Xuehu Yan, Lintao Liu, Longlong Li . High capacity reversible data hiding in MP3 based on Huffman table transformation. Mathematical Biosciences and Engineering, 2019, 16(4): 3183-3194. doi: 10.3934/mbe.2019158 |
[3] | Cheonshik Kim, Dongkyoo Shin, Ching-Nung Yang . High capacity data hiding with absolute moment block truncation coding image based on interpolation. Mathematical Biosciences and Engineering, 2020, 17(1): 160-178. doi: 10.3934/mbe.2020009 |
[4] | Rong Li, Xiangyang Li, Yan Xiong, An Jiang, David Lee . An IPVO-based reversible data hiding scheme using floating predictors. Mathematical Biosciences and Engineering, 2019, 16(5): 5324-5345. doi: 10.3934/mbe.2019266 |
[5] | Chuanlong Li, Xingming Sun, Yuqian Li . Information hiding based on Augmented Reality. Mathematical Biosciences and Engineering, 2019, 16(5): 4777-4787. doi: 10.3934/mbe.2019240 |
[6] | Kaimeng Chen, Chin-Chen Chang . High-capacity reversible data hiding in encrypted images based on two-phase histogram shifting. Mathematical Biosciences and Engineering, 2019, 16(5): 3947-3964. doi: 10.3934/mbe.2019195 |
[7] | Jimmy Ming-Tai Wu, Jerry Chun-Wei Lin, Philippe Fournier-Viger, Youcef Djenouri, Chun-Hao Chen, Zhongcui Li . The density-based clustering method for privacy-preserving data mining. Mathematical Biosciences and Engineering, 2019, 16(3): 1718-1728. doi: 10.3934/mbe.2019082 |
[8] | Guodong Ye, Huishan Wu, Kaixin Jiao, Duan Mei . Asymmetric image encryption scheme based on the Quantum logistic map and cyclic modulo diffusion. Mathematical Biosciences and Engineering, 2021, 18(5): 5427-5448. doi: 10.3934/mbe.2021275 |
[9] | Yongju Tong, YuLing Liu, Jie Wang, Guojiang Xin . Text steganography on RNN-Generated lyrics. Mathematical Biosciences and Engineering, 2019, 16(5): 5451-5463. doi: 10.3934/mbe.2019271 |
[10] | Hongmin Chen, Zhuo Wang, Di Wu, Heming Jia, Changsheng Wen, Honghua Rao, Laith Abualigah . An improved multi-strategy beluga whale optimization for global optimization problems. Mathematical Biosciences and Engineering, 2023, 20(7): 13267-13317. doi: 10.3934/mbe.2023592 |
Data hiding can embed secret data into meaningful cover media such as image, audio and video. The approach of least significant bit (LSB) replacement [1,2,3] is a common method in data hiding that embeds secret data into meaningful images. However, LSB replacement is vulnerable with some statistic analysis [4]. Matrix embedding (ME) is an approach to improve the stego security in data hiding, the ME technique was made popular by the F5 algorithm of Westfeld [5]. In [6], Li et al. proposed a novel ME based data hiding which is based on finite abelian group, it provides a general way for designing efficient steganography. Later in [7], Kim et al. proposed a new ME based data hiding scheme that can greatly improve the embedding capacity of previous Hamming code based data hiding [8]. On the other hand, data hiding scheme can be also combined with other applications to achieve more practical schemes, such as the combination of data hiding with image compression [9].
In 2006, Zhang and Wang [10] introduced a new method of data hiding, which is called Exploiting Modification Direction (EMD) that can also resist the statistic analysis and improve the quality of stego-image simultaneously. The difference between ME data hiding and EMD data hiding is that the former is based on parity check matrix and the latter is based on dividing pixels into blocks. The EMD method is a block-wise data hiding, which groups n cover-pixels into a block. It can embed a (2n+1)-ary data by only modifying one pixel value ±1 at most in this n-pixel group. Since EMD method can embed secret information with minor modifications on cover image, it achieves high quality of stego-images and high visual security. However, the problem of EMD is that the embedding capacity will decrease with large n, and the spatial redundancy caused by converting binary stream into (2n+1)-ary notational system.
Improving embedding capacity of EMD is an attractive research topic in data hiding in recent years. Many works [11,12,13] have focused on this issue. In 2013, Kuo et al. proposed a generalized EMD (GEMD)[14] method. GEMD still uses n cover-pixels in a group, and is capable of embedding n+1 bits of secret data. The embedding capacity of GEMD is n+1n bpp, which maintains over 1 bpp. In addition, GEMD can also resolve the spatial redundancy problem in EMD. For instance, suppose n=2 and the 3 bits secret data is 111. The decimal value of 111 is 7, when using EMD, 7 is larger than 2n+1=5, therefore the secret data can not be embedded into one 2-pixels group, two 2-pixels groups are needed to embed secret data 111; when using GEMD, the 3 bits 111 can be embedded into one group of 2 pixels efficiently. In 2016, Kuo et al. [15] constructed a data hiding method based on Modified Signed Digit (MSD), which also uses EMD approach and the embedding capacity is log(2⋅4n/2+13)n bpp. In 2017, Wang et al. introduced a re-adjusted GEMD (RGEMD) [16] that can embed 2n bits secret data into n-cover-pixels. Although GEMD, MSD and RGEMD can improve embedding capacity of EMD, they need much more than one pixel among the group of n pixels to be changed in the embedding process, the qualities of stego-images are worse than EMD. In [17], a section-wise EMD was introduced to improve the embedding capacity of EMD. It divides the n cover-pixels into two groups to embed secret data. This approach can improve the image quality and enhance the embedding capacity a little bit from the EMD. However, a section-wise EMD is equally a combination of two EMD data hiding, it still causes a spatial problem. In [18], Wang et al. proposed a switch map based multi-group EMD to further enhance the embedding capacity. The scheme in [18] is extended from section-wise EMD, it divides n cover-pixels into k groups instead of two groups to embedding secret data. The innovation of scheme [18] is that it uses a switch map algorithm to solve the redundance problem in [10] and [17], and therefore improved the embedding capacity.
The switch map in [18] encodes a set of decimal digits into binary codewords. However, by a detail observation, we find that more codewords with longer code-length can be put into this switch map. In this paper, we bulid a new switch map based on Huffman code instead of switch map in [18], and propose an enhanced multi-group EMD method to improve the embedding capacity. On the other hand, when dividing n cover-pixels into k groups, there are multiple distributions on the pixel numbers in each group. We give an analysis on the distributions when our scheme achieves the maximum embedding capacity. The contributions of proposed scheme can be concluded as follows.
(1) A new switch map based on Huffman code is built instead of the switch map in [18].
(2) The proposed scheme improves the embedding capacity of the switch map based multi-group EMD data [18], and maintains the stego-image quality.
(3) An algorithm is proposed to achieving maximum embedding capacity in proposed data hiding scheme.
This paper is organized as follows. In section 2, we introduce the related works, which includes EMD [10], section-wise EMD [17] and switch map based multi-group EMD [18] respectively. In section 3, we build a new switch map on Huffman code, and propose a enhanced multi-group EMD based on this map to improve the embedding capacity. The comparisons of embedding capacities and the PSNR value of stego images for proposed data hiding are shown in section 4, and the conclusion is included in section 5.
The EMD method is a block-wise data hiding, which groups n cover-pixels (g1,g2,...,gn) into a block. The process of EMD can be divided into embedding phase and extracting phase, which is shown in following Scheme 1.
Scheme 1: EMD method
Embedding phase: Input: a cover-image with n pixels I=(g1,g2,...,gn), secret data s; Output: stego-image I′=(g′1,g′2,...,g′n).
(1) Compute fEMD=[∑ni=1(gi×i)] mod (2n+1), and convert s into 2n+1-ary stream s′.
(2) Compute d=(s′−fEMD) mod (2n+1).
(3) If (1≤d≤n), g′d=gd+1,g′i=gi,i∈[1,n],i≠d;
else if (d=0), g′i=gi,i∈[1,n];
else, g′2n+1−d=g2n+1−d−1,g′i=gi,i∈[1,n],i≠2n+1−d.
Output the stego-image: I′=(g′1,g′2,...,g′n).
Extracting phase: Input: stego-image: I′=(g′1,g′2,...,g′n); Output: secret data s.
(1) Compute s′=f′EMD=[∑ni=1(g′i×i)] mod (2n+1).
(2) Convert 2n+1-ary data s′ into binary stream s, output s.
The embedding capacity of EMD is presented as REMD=log2(2n+1)n. However, this result is not practical since the conversion from a binary stream into a 2n+1-ary digits causes redundancy binary bits.
In [17], a section-wise EMD (SEMD) method was introduced based on EMD [10]. The preliminary work of [17] is shown as follows. First determining the acceptable cutoff length L on the binary stream s of the secret data, then choosing two integers n1,n2 (n=n1+n2, n is the number of all cover-pixels) satisfying (2n1+1)(2n2+1)≥2L. Next, building up a table T of 2n1+1 rows and 2n2+1 columns, and filling T with all 2L binary streams of length L. We describe the section-wise EMD in following Scheme 2.
Scheme 2: Section-wise EMD
Embedding phase: Input: a cover image with n pixels I=(g1,g2,...,gn), L length binary secret data s; Output: stego-image I′
(1) Dividing I=(g1,g2,...,gn) into two two groups I1 and I2, where I1 consists of n1 pixels and I2 consists of n2 pixels. (n=n1+n2)
(1) Looking up s in the table T, let p and q represent the corresponding row and column of s.
(2) Embedding p and q into I1 and I2 using EMD respectively, the corresponding stego images are I′1,I′2. Output the stego-image I′=(I′1,I′2).
Extracting phase: Input: stego-images: I′=(I′1,I′2); Output: secret data s.
(1) Extracting p and q from I′1 and I′2 according to EMD extraction.
(2) s is the binary stream in row p and column q in Table T. Output s.
The SEMD can improve embedding capacity of EMD. However it causes spatial redundancy from the table T.
In [18], Wang et al. proposed a switch map based multi-group EMD (SMEMD) to reduce the spatial redundancy in [17], and enhance embedding capacity. It divides all N cover-pixels into k groups (the numbers of pixels in each group are n1,n2,...,nk,N=∑ki=1ni) to embed secret data. First computing X=∏ki=1(2ni+1), and L=⌊log2X⌋; Next set up a switch map of all X decimal digits in [0,X−1], where each decimal digit is encoded to a L or L+1 length binary stream in the map using the switch algorithm. When k=2, the embedding phase and extracting phase of SMEMD are similar with those of SEMD. The difference between them is that SMEMD can embedding all X different binary streams with length L or L+1. On the contrary, SEMD can only embed 2L binary streams with length L and causes X−2L spatial redundancy.
We adopt N=4,k=2,n1=2,n2=2 to show the embedding process as follows, and the extracting process is similar as in Scheme 2.
1 Computing X=(2n1+1)(2n2+1)=25, and L=⌊log2X⌋=4.
2 Constructing a switch map of 25 different binary streams with length L or L+1 as shown in Table 1.
Tc=0 | Tc=1 | Tc=2 | Tc=3 | Tc=4 | |
Tr=0 | 0000 | 0001 | 00010 | 0011 | 00100 |
Tr=1 | 00101 | 0110 | 0111 | 01000 | 01001 |
Tr=2 | 01010 | 01011 | 1100 | 1101 | 1110 |
Tr=3 | 1111 | 10000 | 10001 | 10010 | 10011 |
Tr=4 | 10100 | 10101 | 10110 | 10111 | 11000 |
3 Extracting a binary stream s with length L+1, if s exists in the map, find out its position (Tc,Tr); else find out the position (Tc,Tr) of L MSBs of s in the switch map.
4 Embedding Tc,Tr in each pixel-groups respectively.
In this section, we construct a new switch map instead of the switch map in SMEMD to put more codewords with longer code-length. As shown in the switch map in [18] (Table 1), all the codes are binary streams with length of L=4 or L+1=5. The embedding capacity will increase when there are as more L+1 length codes as possible. Although the switch map in [18] has more L+1=5 length code than L=4 length code, there are still problems in Table 1 and the embedding capacity can be further improved. For example, if we want to encode the binary stream (00011) using the switch map (see Table I), one can find that the 5−tuple (00011) does not exist in switch map, but the 4-tuple (0001) (Tr=0,Tc=1) and 5-tuple (00010) (Tr=0,Tc=2) are included in the switch map. However, this case reduces embedding efficiency. In fact, if the 5-tuple (00011) is substituted for the original 4-tuple (0001) in Table 1, both (00010) and (00011) exist in the map. Thus, we can avoid embedding 4 bits (0001) and enhance embedding efficiency. The switch map in Table I has two such situations, which are (0001),(00010) and (1100),(11000). By further observation on the switch map in Table 1, if we have more such 5-tuple pairs (b1b2b3b40) and (b1b2b3b41), we may have higher embedding efficiency. Also, for correct embedding/extraction, all 2L=16 4-bit patterns should appear in leading 4-bits for all X=25 binary patterns. This observation delivers the following equation 3.1.
x+12y=2Lx+y=X | (3.1) |
where x and y are the numbers of L=4-tuples and L+1=5-tuples in the map of size X. For the case X=25, we have x+12y=16 and x+y=25, and derive x=7 and y=18. However, the switch map in Table 1 has x=9 and y=16. The embedding capacity can be derived from the following equation (3.2).
R=xL+y(L+1)X(∑ki=1ni)(L=⌊log2X⌋) | (3.2) |
From Eq.(3.2), the embedding capacity of SMEMD can be enhanced from 4×9+5×1625×4=1.16 to 4×7+5×1825×4=1.18 when using x=7 and y=18. We can establish a map of X=25 with x=7 and y=18 by Huffman code (HC). Let the decimal values 0 to 6 represent 7 4-tuples, and decimal values 7 to 24 represent other 18 5-tuples. The total probability of all these 25 codewords is 1, and the probability of 4-tuple should be larger than that of 5-tuple, such that the length of codeword with high probability will have the small code length (CL). The proposed map with x=7 and y=18 for X=25 is illustrated in Table 2.
Tc=0 | Tc=1 | Tc=2 | Tc=3 | Tc=4 | |
Tr=0 | 0000 | 0001 | 0010 | 0011 | 0100 |
Tr=1 | 0101 | 0110 | 01110 | 01111 | 10000 |
Tr=2 | 10001 | 10010 | 10011 | 10100 | 10101 |
Tr=3 | 10110 | 10111 | 11000 | 11001 | 11010 |
Tr=4 | 11011 | 11100 | 11101 | 11110 | 11111 |
Let the probabilities of each decimal value 0 to 6 and 7 to 24 be 116 and 132, respectively. By HC, the encoding approach is given in Figure 1(a). All these 25 codewords with L=4 and L+1=5 are listed in Figure 1(b). The extraction algorithm of SMEMD (see page 1530 in [18]) demonstrates that they adopt look up table (LUT). The original statement of (Step 6) in [18] extraction algorithm is "Convert SD (secret digit) into L or L+1 secret bits with the switch map". Therefore, like the extraction algorithm in [18], we can implement the extraction by LUT. But, if we want adopt calculative process to extract L or L+1 secret bits when using HC based map. This can also be easily implemented by HC compressed table (see Figure 1(b)), which records the maximum Huffman codeword (MHC) and CL for each subset with the same CL, and the offset (the number of total codewords including this subset and previous subsets). Via this small compressed LUT, we can easily encode/decode HC. For example, we demonstrate two cases of encoding. Case (ⅰ) the decimal is 5: since 5<7 (the value of offset in 1st row), we can derive codeword by converting 5(=0+5) to binary number with CL=4. Thus, the codeword is (0101). Case (ⅱ) the decimal is 18: since 18>7, we can derive codeword by converting 25(=7+18), where 18 is the value of offset in 2nd row, to binary number with CL=5. Thus the codeword is (11001). In addition, the method of constructing switch map using HC can be public for both the message sender and receiver, they can build up the corresponding switch map without any communication.
In our scheme, all the N cover-pixels are divided into k groups firstly. The different distributions on n1,n2,...,nk,N=∑ki=1ni achieve different embedding capacities. In following theorem, we give an analysis on the distribution on n1,n2,...,nk when our scheme has maximum embedding capacity.
Theorem 1: When N and k are fixed, the embedding capacity achieves maximum if ni,i∈[1,k] equals to the arithmetic mean of N that ni=Nk,i∈[1,k].
Proof: The embedding capacity is R=xL+y(L+1)X×N in Eq.(3.2), and we can also resolve x=2L+1−X,y=2X−2L+1 from Eq.(3.1). Then the embedding capacity can be presented as:
R=2+log2X−2⌊log2X⌋+1XN | (3.3) |
From Eq.(3.3) we can observe that R increases when X becomes larger. Since X=∏ki=1(2ni+1), and the sum of all (2ni+1),i=1,2,...,k is fixed, (∑ki=1(2ni+1)=2N+k) X achieved its maximum value when each 2ni+1 are identical. Therefore the embedding capacity achieves maximum when ni,i∈[1,k] equals to the arithmetic mean of N, ni=Nk. End of proof.
If Nk is not a integer, we use the following algorithm for distribution on each ni.
Algorithm 1: Distribution on ni to achieving maximum on embedding capacity.
Input: N,k; Output: n1,n2,...,nk
1 Compute p,q(q<k) such that N=pk+q.
2 n1=n2=,...,=nq=p+1,nq+1=,...,=nk=p.
For example when N=8,k=3, n1=3,n2=3,n3=2 will reaches the maximum on the embedding capacity R=0.995. The Table 3 shows the embedding capacities with different distributions on ni,i=1,2,...,k when N=∑ki=1ni is fixed. In addition, we also discuss the computational complexity of proposed data hiding in this case. According to the description previously, the proposed data hiding is equally to dividing an EMD data hiding using N pixel group into k EMD data hiding where each sub-EMD data hiding uses a Nk pixel group. Since the computational complexity of EMD is O(N), the corresponding computational complexity of proposed scheme is O(Nk)×k≃O(N). Therefore our proposed data hiding achieves similar computational complexity as EMD data hiding.
(1,1,6) | (1,2,5) | (1,3,4) | (2,2,4) | (2,3,3) | |
X | 117 | 165 | 189 | 225 | 245 |
L | 6 | 7 | 7 | 7 | 7 |
R | 0.863 | 0.931 | 0.956 | 0.982 | 0.995 |
In this section, we give a comparison of embedding capacities between the EMD, SEMD, SMEMD and our proposed scheme, and then use an experiment to show the embedding distortion of proposed scheme. Suppose the number of all cover-pixels is N. In original EMD [10], there is only one group of N pixels, it causes redundancy when converting binary bits into 2N+1-ary notational system. The embedding capacity of EMD is REMD=log2(2N+1)N; SEMD divides the N cover-pixels into two groups which include n1,n2 pixels respectively. The embedding capacity of SEMD is RSEMD=⌊log2(2n1+1)(2n2+1)⌋N; The SMEMD divides the N cover-pixels into k(k≥2) groups, which include n1,n2,...,nk pixels respectively. Let X=∏ki=1(2ni+1), a switch map of X binary streams of length L=⌊log2X⌋ or L+1 is constructed for embedding secret data. The embedding capacity of SMEMD is RSMEMD=xL+y(L+1)XN, where x and y are the number of L-length and L+1-length binary streams in the switch map. In this paper, we analyze the weakness of switch map in [18], and construct a new switch map based on HC to obtain optimum x=2L+1−X and y=2X−2L+1. Comparing with switch map in [18], the HC based switch map includes more binary streams of length L+1, which can enhance the embedding efficiency. The embedding capacity of our scheme can be presented as RPRO=2+L−2L+1XN. In addition, when N=∑ki=1ni is fixed, we give an optimum distribution on n1,n2,...,nk to achieving the maximum embedding capacity. (see Algorithm 1) The following Table 4 shows the comparison of embedding capacities between these four schemes.
RPRO | RSMEMD | RSEMD | REMD | ||||
(N,k) | (x,y) | bpp | (x,y) | bpp | |||
4,2 | (7,18) | 1.18 | (9,16) | 1.16 | 1.00 | 0.792 | |
n1=2,n2=2 | |||||||
5,2 | (29,6) | 1.03 | (29,6) | 1.03 | 1.00 | 0.692 | |
n1=3,n2=2 | |||||||
6 | 2 | (15,34) | 0.961 | (16,33) | 0.958 | 0.835 | 0.617 |
n1=3,n2=3 | |||||||
3 | (3,122) | 1.16 | (7,118) | 1.15 | |||
n1=2,n2=2,n3=2 | |||||||
7 | 2 | (1,62) | 0.855 | (1,62) | 0.855 | 0.714 | 0.558 |
n1=4,n2=3 | |||||||
3 | (81,94) | 1.08 | (88,87) | 1.07 | |||
n1=3,n2=2,n3=2 | |||||||
8 | 2 | (47,34) | 0.802 | (48,33) | 0.800 | 0.750 | 0.511 |
n1=4,n2=4 | |||||||
3 | (11,234) | 0.994 | (15,230) | 0.992 | |||
n1=3,n2=3,n3=2 | |||||||
9 | 2 | (29,70) | 0.745 | (30,69) | 0.744 | 0.667 | 0.472 |
n1=5,n2=4 | |||||||
3 | (169,174) | 0.945 | (177,166) | 0.942 | |||
n1=3,n2=3,n3=3 |
Here experiments are used to generate stego-images using our proposed data hiding, and comparisons of stego-image qualities are also made between EMD, SEMD, SMEMD and our proposed data-hiding. Three 512×512 grayscale images: Lena, pepper, and jet (see Figure 2) are used as cover images to embed secret data using our proposed data hiding. The stego-images (Figure 3) that generated from these three cover images with different parameters (N,k)=(4,2),(5,2),(6,2) and (6,3) respectively. Generally, the quality of stego-image is evaluated in terms of the peak-signal-to-noise ratio (PSNR). Higher PSNR reflects better image quality. Normally, a stego-image is unable to be visually distinguished from the cover image when its PSNR is higher than 30 dB. The PSNR and mean square error (MSE) are presented as follows.
MSE=1M×NM∑i=1N∑j=1(I(i,j)−I′(i,j))2PSNR=10×log102552MSE | (4.1) |
where M and N represent the length and width of the image.
In following Table 5, we give a comparison of PSNR value on stego images between EMD, SEMD, SMEMD and proposed data hiding, where the original grayscale image Lena is used as cover image with different parameters (N,k). From Table 5 we can see that the our data hiding scheme achieves similar PNSR value as SEMD and SMEMD and is lower than EMD data hiding. Even though the PSNR value of our scheme is high enough to guarantee the stego image quality. The data in Table 5 also demonstrates that the PNSR value is related to the embedding capacity. For instance, when (N,k)=(6,3), SMEMD and our proposed data hiding have higher embedding capacities than EMD and SEMD, as a result, the PSNR value is lower than EMD and SEMD.
EMD | SEMD | SMEMD | Proposed data hiding | |
(N,k)=(4,2) | 54.66 | 51.34 | 51.43 | 51.37 |
(5,2) | 55.53 | 51.78 | 51.64 | 51.50 |
(6,2) | 56.12 | 52.09 | 51.97 | 51.78 |
(6,3) | 55.94 | 52.13 | 49.78 | 49.56 |
Switch map based multi-group EMD solved the conversion redundancy and spatial redundancy of EMD and section-wise EMD respectively. In this paper, we use HC based map instead of the previous switch map to embed secret data in multi-group EMD. Comparing with previuos switch map, HC based map includes more codes with longer code-length, which can enhance the embedding capacity. In addition, we analyze the distributions to ni,i=1,2,...,k to achieving maximum embedding capacity. The data from Table 4 shows that our scheme has the optimum embedding capacity when comparing with EMD, section-wise EMD and multi-group EMD.
This work was supported by National Natural Science Foundation of China under Grant No. 61502384, 61571360, 61872289; This research was supported in part by Ministry of Science and Technology (MOST), under Grant 107-2221-E-259-007.
The authors declared they have no competing interests.
[1] | C. K. Chan and L. M. Cheng, Hiding data in image by simple LSB substitution, Patt. Recogn., 37(2004), 469–474. |
[2] | R. Z. Wang, C. F. Lin and J. C. Lin, Image hiding by optimal LSB substitution and genetic algo- rithm, Patt. Recogn., 34(2001), 671–683. |
[3] | S. Dumitrescu, X. Wu and Z. Wang, Detection of LSB steganography via sample pair analysis, IEEE T. Signal Process., 51(2003), 1995–2007. |
[4] | J. Fridrich, M. Goljan and D. Rui, Detection steganography in color and grayscale images, IEEE Multimedia, 8(2004), 22–28. |
[5] | A. Westfeld, High capacity despite better steganalysis: F5-a steganographic algorithm, in 4th International Information Hiding Workshop, 2001. |
[6] | X. L. Li, S. R. Cai, W. M. Zhang, et al., Matrix embedding in finite abelian group, Signal Process., 113(2015), 250–258. |
[7] | C. Kim, D. Shin, C. N. Yang, et al., Improving capacity of Hamming (n,k)+1 stego-code by using optimized Hamming +k, Digit. Signal Process., 78(2018), 284–293. |
[8] | W. Zhang, S. Wang and X. Zhang, Improving embedding efficiency of covering codes for applica- tions in steganography, IEEE Commun. Lett., 11(2007), 680–682. |
[9] | C. Qin, C. C. Chang and Y. P. Chiu, A novel joint data-hiding and compression scheme based on SMVQ and image inpainting, IEEE T. Image Process., 23(2014), 969–978. |
[10] | X. Zhang and S. Wang, Efficient steganographic embedding by exploiting modification direction, IEEE Commun. Lett., 10(2006), 781–783. |
[11] | X. Zhang, W. Zhang and S. Wang, Efficient double-layered steganographic embedding, Electron. Lett., 43(2007), 482–483. |
[12] | X. Zhang, W. Zhang and S. Wang, A double layered "plus-minus one" data embedding scheme, IEEE Signal Proc. Lett., 14(2007), 848–851. |
[13] | K. H. Jung and K. Y. Yoo, Improved exploiting modification direction method by modulus opera- tion, Int. J. Signal Process. Image Process. Patt., 2(2009), 79–88. |
[14] | W. C. Kuo and C. C. Wang, Data hiding based on generalized exploiting modification direction method, Imaging Sci. J., 61(2013), 484–490. |
[15] | W. C. Kuo, C. C. Wang and H. C. Hou, Signed digit data hiding scheme, Inform. Process. Lett., 116(2016), 183–191. |
[16] | C. C. Wang, W. C. Kuo, Y. C. Huang, et al., A high capacity data hiding scheme based on re- adjusted GEMD, Multimed. Tools Appl., 8(2017), 1–15. |
[17] | J. Wang, Y. Sun, H. Xu, et al., An improved section-wise exploiting modification direction method, Signal Process., 90(2010), 2954–2964. |
[18] | X. T. Wang, C. C. Chang, C. C. Lin, et al., A novel multi-group exploiting direction method based on switch map, Signal Process., 92(2012), 1525–1535. |
Tc=0 | Tc=1 | Tc=2 | Tc=3 | Tc=4 | |
Tr=0 | 0000 | 0001 | 00010 | 0011 | 00100 |
Tr=1 | 00101 | 0110 | 0111 | 01000 | 01001 |
Tr=2 | 01010 | 01011 | 1100 | 1101 | 1110 |
Tr=3 | 1111 | 10000 | 10001 | 10010 | 10011 |
Tr=4 | 10100 | 10101 | 10110 | 10111 | 11000 |
Tc=0 | Tc=1 | Tc=2 | Tc=3 | Tc=4 | |
Tr=0 | 0000 | 0001 | 0010 | 0011 | 0100 |
Tr=1 | 0101 | 0110 | 01110 | 01111 | 10000 |
Tr=2 | 10001 | 10010 | 10011 | 10100 | 10101 |
Tr=3 | 10110 | 10111 | 11000 | 11001 | 11010 |
Tr=4 | 11011 | 11100 | 11101 | 11110 | 11111 |
(1,1,6) | (1,2,5) | (1,3,4) | (2,2,4) | (2,3,3) | |
X | 117 | 165 | 189 | 225 | 245 |
L | 6 | 7 | 7 | 7 | 7 |
R | 0.863 | 0.931 | 0.956 | 0.982 | 0.995 |
RPRO | RSMEMD | RSEMD | REMD | ||||
(N,k) | (x,y) | bpp | (x,y) | bpp | |||
4,2 | (7,18) | 1.18 | (9,16) | 1.16 | 1.00 | 0.792 | |
n1=2,n2=2 | |||||||
5,2 | (29,6) | 1.03 | (29,6) | 1.03 | 1.00 | 0.692 | |
n1=3,n2=2 | |||||||
6 | 2 | (15,34) | 0.961 | (16,33) | 0.958 | 0.835 | 0.617 |
n1=3,n2=3 | |||||||
3 | (3,122) | 1.16 | (7,118) | 1.15 | |||
n1=2,n2=2,n3=2 | |||||||
7 | 2 | (1,62) | 0.855 | (1,62) | 0.855 | 0.714 | 0.558 |
n1=4,n2=3 | |||||||
3 | (81,94) | 1.08 | (88,87) | 1.07 | |||
n1=3,n2=2,n3=2 | |||||||
8 | 2 | (47,34) | 0.802 | (48,33) | 0.800 | 0.750 | 0.511 |
n1=4,n2=4 | |||||||
3 | (11,234) | 0.994 | (15,230) | 0.992 | |||
n1=3,n2=3,n3=2 | |||||||
9 | 2 | (29,70) | 0.745 | (30,69) | 0.744 | 0.667 | 0.472 |
n1=5,n2=4 | |||||||
3 | (169,174) | 0.945 | (177,166) | 0.942 | |||
n1=3,n2=3,n3=3 |
EMD | SEMD | SMEMD | Proposed data hiding | |
(N,k)=(4,2) | 54.66 | 51.34 | 51.43 | 51.37 |
(5,2) | 55.53 | 51.78 | 51.64 | 51.50 |
(6,2) | 56.12 | 52.09 | 51.97 | 51.78 |
(6,3) | 55.94 | 52.13 | 49.78 | 49.56 |
Tc=0 | Tc=1 | Tc=2 | Tc=3 | Tc=4 | |
Tr=0 | 0000 | 0001 | 00010 | 0011 | 00100 |
Tr=1 | 00101 | 0110 | 0111 | 01000 | 01001 |
Tr=2 | 01010 | 01011 | 1100 | 1101 | 1110 |
Tr=3 | 1111 | 10000 | 10001 | 10010 | 10011 |
Tr=4 | 10100 | 10101 | 10110 | 10111 | 11000 |
Tc=0 | Tc=1 | Tc=2 | Tc=3 | Tc=4 | |
Tr=0 | 0000 | 0001 | 0010 | 0011 | 0100 |
Tr=1 | 0101 | 0110 | 01110 | 01111 | 10000 |
Tr=2 | 10001 | 10010 | 10011 | 10100 | 10101 |
Tr=3 | 10110 | 10111 | 11000 | 11001 | 11010 |
Tr=4 | 11011 | 11100 | 11101 | 11110 | 11111 |
(1,1,6) | (1,2,5) | (1,3,4) | (2,2,4) | (2,3,3) | |
X | 117 | 165 | 189 | 225 | 245 |
L | 6 | 7 | 7 | 7 | 7 |
R | 0.863 | 0.931 | 0.956 | 0.982 | 0.995 |
RPRO | RSMEMD | RSEMD | REMD | ||||
(N,k) | (x,y) | bpp | (x,y) | bpp | |||
4,2 | (7,18) | 1.18 | (9,16) | 1.16 | 1.00 | 0.792 | |
n1=2,n2=2 | |||||||
5,2 | (29,6) | 1.03 | (29,6) | 1.03 | 1.00 | 0.692 | |
n1=3,n2=2 | |||||||
6 | 2 | (15,34) | 0.961 | (16,33) | 0.958 | 0.835 | 0.617 |
n1=3,n2=3 | |||||||
3 | (3,122) | 1.16 | (7,118) | 1.15 | |||
n1=2,n2=2,n3=2 | |||||||
7 | 2 | (1,62) | 0.855 | (1,62) | 0.855 | 0.714 | 0.558 |
n1=4,n2=3 | |||||||
3 | (81,94) | 1.08 | (88,87) | 1.07 | |||
n1=3,n2=2,n3=2 | |||||||
8 | 2 | (47,34) | 0.802 | (48,33) | 0.800 | 0.750 | 0.511 |
n1=4,n2=4 | |||||||
3 | (11,234) | 0.994 | (15,230) | 0.992 | |||
n1=3,n2=3,n3=2 | |||||||
9 | 2 | (29,70) | 0.745 | (30,69) | 0.744 | 0.667 | 0.472 |
n1=5,n2=4 | |||||||
3 | (169,174) | 0.945 | (177,166) | 0.942 | |||
n1=3,n2=3,n3=3 |
EMD | SEMD | SMEMD | Proposed data hiding | |
(N,k)=(4,2) | 54.66 | 51.34 | 51.43 | 51.37 |
(5,2) | 55.53 | 51.78 | 51.64 | 51.50 |
(6,2) | 56.12 | 52.09 | 51.97 | 51.78 |
(6,3) | 55.94 | 52.13 | 49.78 | 49.56 |