1. Introduction
Data hiding, also known as data embedding, is the technology to embed secret information into public digital media by taking advantages of the redundancy of carriers and the insensitivity of human perception. The emergence and development of data hiding have exploited a novel promising filed of information security which guards the embedded contents from illegal access or interception. Digital image is the most common carrier in data hiding. For digital image, data hiding can be roughly classified as irreversible and reversible schemes. In both methods, secret data are embedded by modifying the cover images’ pixel intensities or mathematical transform coefficients. Such manipulation is distorted to cover image, and the caused distortion in irreversible methods is permanent. Consequently irreversible data hiding is not eligible for particular application where no distortion is allowed such as military or medical images. On the contrary, original cover images can be completely recovered in reversible data hiding (RDH) after secret data being extracted. Compared with irreversible methods, RDH expands the application field of data hiding technology, therefore study of RDH is increasingly appealing to researchers in past decades.…
The difference expansion (DE) proposed by Tian[1] and the histogram shifting (HS) proposed by Ni[2] are two kinds of typical RDH algorithms. Instead of just considering the difference of two adjacent pixels in DE, predict-error expansion (PEE)[3]–[5] exploits the local correlation of larger neighborhood by utilizing a pixel predictor. Compared with former RDH schemes, PEE is considered superior in performance for its better exploiting the redundancy of natural images. Generally, in RDH approaches, the reversibility is guaranteed by auxiliary information and in most methods schemes, processing of such data calls for additional binary lossless compression. The reversible contrast mapping (RCM) proposed by Coltuc[6] is an efficient RDH algorithm without any extra lossless compression scheme which effectively reduces the computational complexity. RDH can be applied not only in spatial domain of cover image by directly modifying the pixels, but also employed in compressed domains. Many recent researches have exploited extending RDH in compressed code stream including vector quantization (VQ)[7] and joint photographic experts group (JPEG)[8], [9].
Similarly as VQ and JPEG, absolute moment block truncation coding (AMBTC)[10] is another efficient compression coding scheme for digital images which presents the nonoverlapping block with a pair of quantization levels and a binary bitmap indicates their distribution. As AMBTC has characteristics of low computational complexity and high efficiency while achieving acceptable reconstructed image quality, many RDH schemes and their application in AMBTC compressed code has been continuously proposed in recent years [11-20].
to two categories. In type I AMBTC RDH methods, obtained stego AMBTC codes retain the same format as original AMBTC, which is, the stego bit stream can be directly decoded by AMBTC decoder. Hong et al.[11] proposed an RDH scheme in AMBTC format by switching the order of quantization levels. Chen et al.[12] modifies Hong et al.’s work by substituting all bits in bitmap with secret data in case both quantity levels are equal. In 2015. Ou and Sun[13] proposed a high capacity AMBTC based data hiding approach. It can be converted into RDH method which is actually equivalent to Chen et al.’s scheme as long as the threshold thr = 0 is applied. In Lin et al.[14], two secret bits are embedded into a pair of neighboring blocks by expanding the difference of adjacent quantity levels. In 2018, Yin et al. [15] proposed an RDH method in AMBTC code by utilizing encryption and histogram shifting.
In the other type (Type II) of RDH scheme for AMBTC, the compressed codes are recoded with specific coding structure to obtain stego AMBTC format. The Type II method cannot be decoded directly by standard AMBTC decoder, nevertheless Type II is significantly superior to Type I in embedding capacity. In 2013, Zhang et al. [16] proposed a dynamic programming technology in which RDH and compression are simultaneously applied for input image. In their work, a three-bit indictor is employed which represents the eight cases of 2 × 2 mean table included. Sun et al. [17] applied joint neighbor coding (JNC) in to predict AMBTC’s quantity levels, which are then grouped as four cases. Together with two-bit indictors and secret data the obtained errors are constructed as stego format. In the following years, many researchers have been working on modifying Sun et al.’s method. In 2017, Hong et al.[18] utilized median edge detection (MED) for the prediction of quantization levels in AMBTC codes instead of JNC. In their work, the obtained errors are still classified as four categories, and thus the output format retains secret bits, two-bit indictors and encoded predictor errors as Sun et al.’s. Chang et al.[19] also proposed an approach to improve Sun et al.’s work. In their scheme, JNC is still employed as the predictor while the errors of quantization levels are calculated by performing exclusive OR operation. In 2018, Hong et al. proposed an efficient RDH scheme to improve reference [20] in which pairs quantization levels of AMBTC are firstly converted to means and differences by reversible integer transform. Similarly, the obtained means and differences are predicted by MED detector. They then induced an adaptive coding which utilized indictors of unequal length for each case of obtained errors. With all the effort mentioned, the bit rate of stego code is significantly reduced.
In conclusion, the output format of type I RDH scheme mimics the original AMBTC of which bit rate (compression ratio) remains constant. However, the embedding capacity of such type is quite limited. Type II method significantly scales up the embedding capacity by recoding AMBTC format with designed rules, but such recoding always leads to increase in bitrate which may be inappropriate in some application scenes
Self-embedding [21] is a concept origins from watermarking in which the watermark refers to the content of cover image. Inspired by self-embedding, we focus on applying AMBTC based RDH to .optical remote sensing (ORS) images transmission. Basically ORS image, especially satellite ORS image has three attributes, which are: 1) informative region (or target region) occupies a tiny fraction of overall image, while most content is filled with less meaningful background; 2) Considering the cost of transmission bandwidth and storage, ORS images are always required to be compressed; 3) Scale of processed images should stay identical for frequency/clock designing of circuits. Apparently, applying RDH in AMBTC effectively fulfils the requirement of attribute 1) and 2) by using the detected target in ORS image as secret data to embed into AMBTC format, therefore the target preservation and image compression can be both achieved simultaneously. However, the recoding procedure in type II AMBTC RDH methods may violate the third requirement in ORS image transmission for causing stego codes bloat. It is acceptable for images travelling over Internet, yet it is inappropriate for ORS image transmission.
In summary, the scale of detected region is limited due to the insufficient embedding capacity when type I AMBTC RDH methods are applied to the target-preserved ORS image transmission. Though type II RDH method is superior to type I method in embedding capacity, the unavoidable expansion inside stego codes is not eligible for mentioned ORS image transmission either. Therefore, in this paper, we propose a novel type I RDH scheme to prevent bloat inside stego AMBTC codes with significant improvement in embedding capacity. Given a threshold, AMBTC codes are firstly classified as smooth or complex trio. Subsequently, hybrid hiding methods are applied to both kinds of trios respectively, and thus the secret data are embedded by reconstructing the low quantity levels. The length of modified level strictly retains eight bits as AMBTC code prevent expansion in stego format. Since the embedding capacity of proposed method somehow relies on the own feature of cover image, we also give out correlation between the smoothness of input image and output embedding capacity by curve fitting. Experimental result shows that, for standard test images and ORS image dataset, embedding capacity of proposed scheme is superior to existing type I methods. In certain circumstances, proposed scheme even provides greater embedding capacity than aforementioned type II schemes without any expansion caused inside output stego codes.
The rest of paper is organized as follow. In Section 2, we brief review the AMBTC compression technique as well as Coltuc’s RCM transform. Section 3 describes the proposed method in detail. Section 4 gives out the experimental results and discussion. Then we conclude our work in last section
2. Related Work
2.1 Absolute Moment Block Truncation Coding
The AMBTC compression is a technique which encodes the m n × non-overlapping subblocks of the input image with a series of trios. Such trio \(\left\{h_{i}, l_{i}, S_{i}\right\}_{i=1}^{N}\) consist of a pair of high/low quantity levels, denoted by hi / li and a binary bitmap Si that indicates their distribution. N refers to the total number of trios. Let \(\bar{x}\) be the average of a sub-block, high quantity h denotes the averaged result of pixels greater than or equal to \(\bar{x}\) , l represents the average result of pixels less than \(\bar{x}\) , respectively. Bitmap S is a binary matrix of which size m × n is the same as the sub-block, if the u,v-th pixels xu, v is larger than or equal to \(\bar{x}\), element su, v in S is set to ‘1’. Otherwise su, v is set to ‘0’. The encoding procedures of AMBTC are shown as following formulas:
\(\bar{x}=\frac{1}{m \times n} \sum_{v=1}^{m} \sum_{u=1}^{n} x_{u, v}\) (1)
\(S=\left(\begin{array}{ccc} s_{1,1} & \cdots & s_{1, n} \\ \vdots & \ddots & \vdots \\ s_{m, 1} & \cdots & s_{m, n} \end{array}\right), \text { where } s_{u, \mathrm{v}}=\left\{\begin{array}{l} 0, x_{u, v}<\bar{x} \\ 1, x_{u, v} \geq \bar{x} \end{array}\right.\) (2)
\(h=\frac{1}{m \times n-t} \times \sum_{x_{u, v}<\bar{x}} x_{u, v} ; l=\frac{1}{t} \times \sum_{x_{u,,} \geq x} x_{u, v}\) (3)
where t stands for the amount of pixels less than \(\bar{x}\). Decoding of AMBTC is done by simply replacing the ‘1’s in S with h and ‘0’s with l . The output bitrate of AMBTC compressed format is \(\frac{2 \times 8+m \times n}{m \times n}\) bit per pixel (bpp).
2.2 Reversible Contrast Mapping
RCM is an efficient reversible integer transform that applies to pairs of pixels. Let ( x, y) be a pair of pixels, the definition of RCM forward transform is derived by:
\(x^{\prime}=2 x-y, \quad y^{\prime}=2 y-x\) (4)
The inverse transform of RCM is defined as follows:
\(x=\left\lceil\frac{2}{3} x^{\prime}+\frac{1}{3} y^{\prime}\right\rceil, \quad y=\left\lceil\frac{1}{3} x^{\prime}+\frac{2}{3} y^{\prime}\right\rceil\) (5)
where, \(\lceil a\rceil\) denotes the ceil function (the smallest integer greater than or equal to a ). In RCM, the transformed pair is restricted to a subdomain \(D_{c} \subset[0,255]\) to prevent overflow, which is:
\(0 \leq 2 x-y \leq 255, \quad 0 \leq 2 y-x \leq 255\) (6)
For pair ( x y, ) , if its RCM transformed pair \(\left(x^{\prime}, y^{\prime}\right) \subset[0,255]\), the RCM transform retains reversible except both x and y are odd. In case \(\left(x^{\prime}, y^{\prime}\right) \subset[0,255]\), let pair ( x, y) which consists of both odd numbers be the type I pair, and the rest be type II pair. RDH scheme is achieved by performing RCM to type II pair and leaving type I pair untransformed. Unlike traditional RDH scheme including DE, HS and PEE, RCM does not need additional data compression dealing with auxiliary information, which significantly contributes to reducing computational complexity.
3. Proposed Methods
In recent years, the tendency of research about RDH for AMBTC compressed images [17]– [20] is to perform prediction on quantization levels which we induct as type II methods . By recoding the obtained error with secret data and indicators, type II method is significantly superior to type I in embedding capacity. However, the scales of stego formats differ from each other, because they depend on the unique texture characters of the input cover images in type II methods.
Furthermore, predictor errors with greater value are unavoidable due to the texture character of input image. In this case, the length of quantity level obtained by concatenating secret data, indicator and the encoded prediction error will be more than eight bits, thus expansion is caused inside overall stego format. In this paper, we induce an application of AMBTC based RDH method to ORS image which achieves image compression and target region preservation simutenously. Considering the frequency/clock of hardware, amount of transmitted bits should hold constant in a cycle time, which is, the expansion inside stego image is inappropriate for ORS image transmission. Fig. 1 shows flowchart of how AMBTC based RDH preserves target region in ORS image transmission.
Fig. 1. An example of applying AMBTC based RDH method to ORS image transmission.
Table 1 lists the length of stego AMBTC codes of recent type II schemes, in which different sizes of sub-block are employed. The embedding capacities of such works are displayed in Table 2. As seen from Table 1, compared with original AMBTC codes, scales of stego format in scheme [17]–[19] bloat in certain extent for both test images. Hong et al. [20] proposed an efficient RDH method which significantly reduces the bit rate of stego codes. However, the expansion caused by recoding quantity levels is still unavoidable for specific test image (Baboon). Table 2 gives the payloads of mentioned works from which we can figure out each modified quantity level carries two bit in type II scheme. According to Table 1 and Table 2, in some cases, scale of carried payload in [17], [19], [20] is similar to the caused expansion ( 8 × 8 sized block) or even less than the expansion [18] ( 2 × 2 sized block).
Table 1. Some recent type II RDH work’s size of stego format (bits)
Therefore, considering the distinguishing features of ORS image transmission, we propose a type I RDH method in AMBTC codes in order to avoid bloating. Before describing the proposed work, some definitions of bits manipulation are firstly introduced, which are:
\(b=\operatorname{bitget}(x, r), \quad r \in[1,2, \ldots, 7,8]\) (7)
\(x^{*}=\operatorname{bitset}(x, r, b), \quad r \in[1,2, \ldots, 7,8], b \in[0,1]\) (8)
where, bitget function extracts the r-th bit of integer x . For \(x \in[0,255]\), r = 8 indicates its most significant bit (MSB) and r =1 denotes the LSB. On the other hand, bitset function substitutes the r-th bit of x , for example bitset(127,8,1)=255. The detailed description of proposed work is shown as below.
3.1 The embedding procedures
The embedment procedure of proposed method can be decomposed as three parts, namely the pre-process, embedment for smooth trio and embedment for complex trio, which are explained as follows in detail.
3.1.1. Pre-process
In this section, we describe pre-process of embedding procedure in detail. Assume the AMBTC compressed trio as \(\left\{h_{i}, l_{i}, S_{i}\right\}_{i=1}^{N}\). Each trio is then classified as smooth or complex by a given threshold T . Three empty arrays CS CC and CL are initialed to store smooth trios, complex trios and quantization levels in complex trios. In addition, other two empty array A1 and A2 are prepared to record the auxiliary information as well. The step-by-step procedures of pre-process are listed as following:
1. For each AMBTC compressed trio \(\left\{h_{i}, l_{i}, S_{i}\right\}_{i=1}^{N}\), calculate a temporary high quantity level by replacing the original LSB with ‘1’, which is \(h_{i}^{t}=\operatorname{bitset}\left(h_{i}, 1,1\right)\). A series of difference \(d_{i}=h_{i}^{t}-l_{i}\) Append the original LSB \(a_{i}=\operatorname{bitget}\left(h_{i}, 1\right)\) to A1 , which is \(A_{1}=\left\{a_{i}\right\}_{i=1}^{N}\)
1) If di < T , trio \(\left\{h_{i}, l_{i}, S_{i}\right\}\) is classified as a smooth trio. Then hi is modified by \(h_{i}^{s}=\operatorname{bitset}\left(h_{i}, 1,1\right)\) as the indicator of smoothness. Let Ns be the amount of smooth trios, append the modified trio to CS , which is \(C S=\left\{h_{i}^{s}, l_{i}, S_{i}\right\}_{i=1}^{N^{s}}\)
2) If di ≥ T, trio \(\left\{h_{i}, l_{i}, S_{i}\right\}\) is classified as a complex trio. Then hi is modified by \(h_{i}^{c}=\operatorname{bitset}\left(h_{i}, 1,0\right)\) as the indicator of smoothness. Ns is the amount of smooth trios, append the modified trio to CC , which is \(C S=\left\{h_{i}^{c}, l_{i}, S_{i}\right\}_{i=1}^{N^{c}}\). Additionally, append the low quantity level li of complex trio to CL .
2. Partition each two adjacent elements in CL as a series of pairs \(\left\{p_{i}, q_{i}\right\}_{i=1}^{N^{l}}\), which consists of \(N^{l}=\left\lfloor\frac{N^{c}}{2}\right\rfloor\) pairs. According to Eq.6 each pair is checked in order to prevent overflow when transformed by RCM. If \(\left(p_{i}^{\prime}, q_{i}^{\prime}\right) \notin D_{c}\), append the LSB of \(g_{i}=\operatorname{bitget}\left(p_{i}, 1\right)\) to A2 . Let Na to be the length of A2 , then \(A_{2}=\left\{g_{i}\right\}_{i=1}^{N^{a}}\)
3. Assemble obtained auxiliary information A1 and A2 with pure payload P as data to be embedded \(X=A_{1} \cup A_{2} \cup P\)
3.1.2. Embedment for smooth trios
n this section, secret data from X are embedded into smooth trios in CS . RDH for smooth trio is achieved by reconstructing the low quantity level with Huffman codes and secret bits. As mentioned difference \(d_{i}=h_{i}^{t}-l_{i}\) fulfills \(d_{i} \in[0, T-1]\), therefore we have T Huffman codes for each \(d_{i}=r, r=0,1, \ldots, T-1\). The step-by-step procedures are shown as follows:
1. Calculate the difference \(d_{i}=h_{i}^{s}-l_{i}\) for each trio in CS . Look up to a general Huffman table to encode di , in which log2 (T) codes are included. Let \(n^{r}, r=0,1, \ldots, T-1\) to be the length of Huffman codes \(c^{r}=\left\{c_{i}\right\}_{i}^{n^{\prime}}\), which is strictly less than or equal to eight to prevent expansion.
2. For each di = r, its binary Huffman code is \(c^{r}=\left\{c_{i}\right\}_{i}^{n^{\prime}}\). Then extract 8 − nr bits from X as secret bits \(\left\{s_{i}\right\}_{i}^{8-n^{r}}\). Replace low quantity level li with \(l_{i}^{s}=\left\{c_{i}\right\}_{i}^{n^{r}} \|\left\{s_{i}\right\}_{i}^{8-n^{r}}\). Therefore, the embedded smooth trios turns to \(\left\{h_{i}^{s}, l_{i}^{s}, S_{i}\right\}_{i=1}^{N^{s}}\)
It’s noteworthy that length of each Huffman code cr should be restricted to less than or equal to eight so that no expansion is caused in stego AMBTC formats. Table 3 illustrates the general Huffman LUTs generated by over 40 standard test images [23]. Dataset in case of threshold T=8,16,32,and 64 respectively. As shown in Table 3, the eligible threshold for proposed scheme is T = 2t, t≤5 .
Table 3. Maximum length of Huffman code under various thresholds.
3.1.3. Embedment for complex trio
In this article, RCM is employed for the embedment of complex trios. Before describing the embedding procedure, we firstly explored the advantage of applying RCM to CL over other RDH schemes including DE[1], HS[2] and PEE[4]. In the following test, location map generated in DE is compressed by run-length and Huffman coding. The maximum two peaks are shifted to left/right by one respectively in HS. In selected PEE algorithm[4], obtained prediction errors e* are derived by MED detector and modified as following:
\(e^{*}=\left\{\begin{array}{ll} 2 e+b, & \text { if } e \in[-T, T) \\ e+T, & \text { if } e \in[T,+\infty) \\ e-T, & \text { if } e \in(-\infty,-T) \end{array}\right.\) (9)
where \(b \in\{0,1\}\) is the secret bit. Let x be the to-be-embedded element and p be its prediction value, in the following test we adaptively search the maximum threshold T in [4] which fulfills \(p+e^{*} \subset[0,255]\). In this case, location map is no longer required. Table 4 displays the average embedding capacity derived by DE, HS, PEE and RCM from more than 40 test images in [23] under threshold T =16 . Table 5 shows how different RDH methods deal with auxiliary information.
Table 4. Resulted average payload (bits) carried by different RDH methods for complex
Table 5. Process of auxiliary information for different DE schemes
As seen from Table 4, RCM provides the maximum average payload bits among four RDH schemes. A possible reason is that CL is a vector other than matrix and correlation between elements in CL is no longer as strong as a natural image. Besides, DE, HS and PEE are still required to handle overflow issue, which is, once overflow occurs the binary location map in same size with input image will be generated. In other word, payload carried DE, HS, RCM somehow relies on the performance of selected lossless compression scheme. Furthermore, utilizing additional lossless compression increases the computational complexity. Therefore, we select RCM as the RDH scheme for obtained complex trio. The step-by-step procedures are illustrated as below:
1. For each pair collected in CL , utilize the RCM rules to obtain the embedded pair \(C L^{e}=\left\{p_{i}^{e}, q_{i}^{e}\right\}_{i=1}^{N^{l}}\) which is:
1) For pair \(\left\{p_{i}, q_{i}\right\}\), if its RCM transformed pair \(\left\{p_{i}^{\prime}, q_{i}^{\prime}\right\} \in D_{c}\) and not both \(\left\{p_{i}, q_{i}\right\}\) are odd. Extract one bit w from X as secret data. Then set the LSB of \(p_{i}^{\prime}\) to ‘1’ and replace the LSB of \(q_{i}^{\prime}\) with obtained secret data. The modified pair is \(p_{i}^{e}=\operatorname{bitset}\left(p_{i}, 1,1\right) ; \mathrm{q}_{i}^{e}=\operatorname{bitset}\left(q_{i}, 1, w\right)\)
2) For pair \(\left\{p_{i}, q_{i}\right\}\) , if its RCM transformed pair \(\left\{p_{i}^{\prime}, q_{i}^{\prime}\right\} \in D_{c}\) and both \(\left\{p_{i}, q_{i}\right\}\) are odd. Extract one bit w from X as secret data. Then set the LSB of pi to ‘0’ and replace the LSB of qi with obtained secret data. The modified pair is \(p_{i}^{e}=\text { bitset }\left(p_{i}, 1,0\right) ; \mathrm{q}_{i}^{e}=\operatorname{bitset}\left(q_{i}, 1, w\right)\)
3) For pair \(\left\{p_{i}, q_{i}\right\}\) , if its RCM transformed pair \(\left\{p_{i}^{\prime}, q_{i}^{\prime}\right\} \notin D_{c}\). Set the LSB of pi to ‘0’. The modified pair is \(p_{i}^{e}=\operatorname{bitset}\left(p_{i}, 1,0\right) ; q_{i}^{e}=q_{i}\).
2. Scan each trio in CC and replace the low quantity level with first element in CLe. Therefore the output of embedded complex trio turns to \(\left\{h_{i}^{c}, l_{i}^{c}, S_{i}\right\}_{i=1}^{N^{c}}\).
Therefore the embedding process of the proposed scheme is completed by successively applying executions described in section 3.1.1, 3.1.2 and 3.1.3. Append the modified trios \(\left\{h_{i}^{s}, l_{i}^{s}, S_{i}\right\}_{i=1}^{N^{s}}\) and \(\left\{h_{i}^{c}, l_{i}^{c}, S_{i}\right\}_{i=1}^{N^{c}}\) to their corresponding position in original AMBTC format, then the stego codes \(\left\{h_{i}^{e}, l_{i}^{e}, S_{i}\right\}_{i=1}^{N}\) is obtained.
3.2. The extraction and recovery procedures
Once the stego codes \(\left\{h_{i}^{e}, l_{i}^{e}, S_{i}\right\}_{i=1}^{N}\) are received, with threshold T and the general Huffman table, secret data, X , can be extracted. Subsequently, auxiliary information A1 and A2 can be separated out from X . Therefore, the original AMBTC trios \(\left\{h_{i}, l_{i}, S_{i}\right\}_{i=1}^{N}\) will be recovered. The description of extraction and recovery procedures are shown as below.
3.2.1. Extraction procedures
In this section, stego codes \(\left\{h_{i}^{e}, l_{i}^{e}, S_{i}\right\}_{i=1}^{N}\) are firstly classified as smooth and complex based on the pre-set LSB of \(h_{i}^{e}\). Initiate two empty arrays X and CL to store the extracted data and low quantity levels in complex trios. Detailed extraction procedures are listed as following.
1. Scan each stego code \(\left\{h_{i}^{e}, l_{i}^{e}, S_{i}\right\}_{i=1}^{N}\) and extract the LSB of \(h_{i}^{e}\) as flag, where \(\text { flag }=\operatorname{bitget}\left(h_{i}^{e}, 1\right)\).
1) If flag =1, the current trio \(\left\{h_{i}^{s}, l_{i}^{s}, S_{i}\right\}\) is smooth. Compare the highest nr bits of \(l_{i}^{s}\) with the codes in the Huffman table to find the corresponding Huffman code \(c^{r}=\left\{c_{i}\right\}_{i}^{n^{\prime}}\). Extract the other 8-nr bits of \(l_{i}^{s}\) as secret data \(\left\{s_{i}\right\}_{i}^{8-n^{r}}\) and append them to X . Decode cr to get the decimal difference di = r . Then the original low quantity level li is derived by \(l_{i}=h_{i}^{s}-d_{i}\) and thus trio turns to \(\left\{h_{i}^{s}, l_{i}, S_{i}\right\}\).
2) If flag = 0 , the current trio \(\left\{h_{i}^{c}, l_{i}^{c}, S_{i}\right\}\) is complex. Append each \(l_{i}^{c}\) to CL .
2. For pairs \(\left\{p_{i}^{e}, q_{i}^{e}\right\}_{i=1}^{N^{t}}\) in obtained sequence CL .The pre-set LSBs of \(p_{i}^{e}\) are firstly extracted as another indicator, which is \(\text { flag } 1=\operatorname{bitget}\left(p_{i}^{e}, 1\right)\). Then data extraction and recovery are applied to \(\left\{p_{i}^{e}, q_{i}^{e}\right\}_{i=1}^{N^{t}}\) according to RCM rules. Define a counter Na which represents the length of auxiliary information A2 . The initial ct is Na = 0.
1) If flag1 = 1, extract the LSB of \(p_{i}^{e}\) and append it to X
2) If flag1 = 0 , generate a temporary pair \(\left\{p_{i}^{t}, q_{i}^{t}\right\}\) by replacing both LSBs of \(\left\{p_{i}^{e}, q_{i}^{e}\right\}\) to ‘1’.
• If \(\left\{p_{i}^{t}, q_{i}^{t}\right\} \in D_{c}\), extract the LSB of \(p_{i}^{e}\) and append it to X .
• If\(\left\{p_{i}^{t}, q_{i}^{t}\right\} \notin D_{c}\), \(N^{a}=N^{a}+1\).
3. After step 2 and step 3 are done, the total hidden data X are obtained, where \(X=A_{1} \cup A_{2} \cup P\). The length of A1 and A2 are N and Na respectively. Therefore X is split as A1 A2 and pure payload P .
3.2.2. Recovery procedures
By means of auxiliary information A1 and A2 , the original AMBTC trios are completely covered. The detailed recovery procedures are list as follows:
1. For each pair \(\left\{p_{i}^{e}, q_{i}^{e}\right\}_{i=1}^{N^{t}}\) in CL , extract LSB of \(p_{i}^{e}\) as indicator, which \(\text { flag } 1=\operatorname{bitget}\left(p_{i}^{e}, 1\right)\)
1) If flag1 = 1 , apply inverse RCM transform to \(\left\{p_{i}^{e}, q_{i}^{e}\right\}\) according to Eq.5. Append transformed \(\left\{p_{i}, q_{i}\right\}\) back to CL
2) If flag1 0 = , generate a temporary pair \(\left\{p_{i}^{t}, q_{i}^{t}\right\}\) by replacing both LSBs of \(\left\{p_{i}^{e}, q_{i}^{e}\right\}\) to '1'
• If \(\left\{p_{i}^{t}, q_{i}^{t}\right\} \in D_{c}\), append \(\left\{p_{i}^{t}, q_{i}^{t}\right\}\) to CL .
• If \(\left\{p_{i}^{t}, q_{i}^{t}\right\} \notin D_{c}\), extract one bit g from A2 , replace LSB of \(p_{i}^{e}\) with g , which \(p_{i}=\operatorname{bitset}\left(p_{i}^{e}, \mathrm{~g}\right)\), append \(\left\{p_{i}, q_{i}^{e}\right\}\) to CL .
2. Rescan the stego codes \(\left\{h_{i}^{e}, l_{i}^{e}, S_{i}\right\}_{i=1}^{N}\) and extract the LSBs of \(h_{i}^{e}\) as flags, where \(f l a g=\operatorname{bitget}\left(h_{i}^{e}, 1\right)\).
1) If flag =1, the current trio \(\left\{h_{i}^{s}, l_{i}, S_{i}\right\}\) is smooth and li has already been recovered in extraction procedures. Extract one bit a from A1 , the original high quantity level hi is recovered by \(h_{i}=\operatorname{bitset}\left(h_{i}^{s}, 1, a\right)\)
2) If flag = 0 , the current trio \(\left\{h_{i}^{c}, l_{i}^{c}, S_{i}\right\}\) is complex and substitute \(l_{i}^{s}\) with the first element in CL . Meanwhile, extract one bit a from A1 , the original high quantity level hi is recovered by \(h_{i}=\operatorname{bitset}\left(h_{i}^{c}, 1, a\right)\)
3. Cover image is reconstructed by applying AMBTC decoding principle to the recovered trios \(\left\{h_{i}, l_{i}, S_{i}\right\}_{i=1}^{N}\).
Therefore, extraction of secret data is completed by procedures displayed in section 3.2.1 and the recovery of the carrier image is achieved through the method illustrated in section 3.2.2.
3.3. Brief Examples
We give out two simple examples to illustrate the proposed RDH scheme for further understanding. For a 4 × 4 block [52,48,47,50;52,48,46,56;52,52,48,52;52,46,45,58] its AMBTC output is [52,47,1000100111011000]. Firstly set the LSB of high quantity level to ‘1’, where ht = bitset(52,1,1) 53 Given threshold T =16 , the difference is d = ht - l = 53 - 47 = 6, which is less than 16. Classified as smooth block, the high quantity level is converted to he = ht = 53 and its original LSB a = bitget(52,1) = '0' is appended to A1 .By searching the Huffman table, we have the code \(\left\{c_{i}\right\}_{i}^{3}=' 110^{\prime}\). Let \(\left\{s_{i}\right\}_{i}^{5}=' 00101^{\prime}\) be the extracted secret data. Therefore we obtain the newly generated low quantity level by \(l^{e}=\left\{c_{i}\right\}_{i}^{3}\left\|\left\{s_{i}\right\}_{i}^{5}=110\right\| 00101=197\). The output stego trio turns to [53,97,1000100111011000].
Fig. 2. Example of secret bits embedment of smooth AMBTC compressed trio
We use another example to illustrate the embedment for quantity levels of complex trio. Given threshold T =16 , (148,124) , (155,103) , (92,73) , (148,117) , (43,25) , (174, 143) are a series of complex trios. Then set LSBs of high levels to ‘0’ as indicators and the appended original LSBs '010010' to A1 .Meanwhile, low levels are collected as a sequence (124,103) , (73,117) (174,143 ). Assume '10' be the extracted secret bits. By applying RCM forward transform, pair (124,103) fulfills Eq.6 of which composes an odd and an even digit. Then convert (124,103) to its RCM transform (145,82) and embed secret bit ‘1’ by replacing LSB of ‘82’. The LSB of 145 is set to ‘1’ as well, therefore the output pair is (145,83) . For pair (73,117) of which RCM transform fulfills Eq.6 and composes both odd digits, secret bit ‘0’ is embedded by substituting LSB of 117. As indicator, LSB of 73 is set to ‘0’, thus the modified pair is (72,116). Based on Eq.4 and Eq.6, overflow will occur in pair (25,143) when applying RCM. Sett LSB of 25 to ‘0’and append its original LSB ‘1’ to A2 for reversibility. Assemble the modified quantity levels together, we have the final stego sequence as (148,145) , (154,83) , (92,72) , (148,116) , (42,24) , (174,143 ).
Fig. 3. Example of secret bits embedment in complex AMBTC compressed trios
3.4. Embedding Capacity Analysis
In proposed scheme, N AMBTC compressed trios are classified into s Ns smooth and Nc complex trios. Secret bits are embedded into both categories by utilizing different RDH methods. Let nh be the average length of T Huffman codes ([0, T − 1]), the average amount of carried secret bits per smooth trio are 8 − nh . On the other hand we have \(N^{l}=\left\lfloor\frac{N^{\tilde{c}}}{2}\right\rfloor\) pairs of extracted low quantity levels in CL . According to Eq.6, if Na denotes the amount of overflowed pairs when transform by RCM. Total number secret bits embedded in complex trio are \(N^{l}-N^{a}=\left\lfloor\frac{N^{C}}{2}\right\rfloor-N^{a}\). Scale of total secret data X is
\(\operatorname{count}(X)=N^{s}\left(8-n^{h}\right)+\left\lfloor\frac{N^{c}}{2}\right\rfloor-N^{a} \quad(\text { bits })\) (10)
Besides the pure payload P , auxiliary information A1 and A2 are included in X as well. As each original LSB of high quantity level is appended in A1 , the length of A1 is N . A2 records the original LSBs of overflow pairs in CL of which length is Na . Therefore, scale of P is derived by
\(\operatorname{count}(P)=\operatorname{count}(X)-N-N^{a}=N^{s}\left(8-n^{h}\right)+\left\lfloor\frac{N^{c}}{2}\right\rfloor-2 N^{a} \text { (bits) }\) (11)
where, count (P) denotes the bits contained in set P . In general, image with fewer IAM value is covered with more smooth areas. Apparently, smooth trio carries significantly more secret bits than complex trio. The embedment in complex trio is a supplement to smooth trio. The complexity of the cover image itself is a primary determinant of the amount of smooth trios Ns . In [22], authors induced an efficient solution for image assessment called image activity measure (IAM), which is
\(I A M=\frac{1}{h \times w}\left[\sum_{i=1}^{h-1} \sum_{j=1}^{w}|I(i, j)-I(i+1, j)|+\sum_{i=1}^{h} \sum_{j=1}^{w-1}|I(i, j)-I(i, j+1)|\right] .\) (12)
Besides, the selected threshold T also effects Ns . Therefore, we exploit curve fitting between IAM and pure payload P in image dataset under various thresholds. In virtue of the obtained curves, we can not only have the preliminary estimation of pure payload but also choose the optimal threshold. The exponential relationship between the IAM and P is a reasonable solution, the predicted scale of payload P* is derived by
\(\operatorname{count}\left(P^{*}\right)=a(I A M)^{b}+c\) (13)
4. Experimental Classification Results and Analysis
In this section, we conduct several experiments to evaluate the performance of the proposed scheme. Eight 512 × 512 grayscale standard test images shown in Fig. 4 are used to generate AMBTC compressed codes, including Airplane, Cameraman, Fruits, House, Lena, Milkdrop, Peppers and Woman. The size of sub-blocks in AMBTC encoding is set to 4 × 4 , therefore the corresponding bit rate is 2 bit per pixel.
Fig. 4. 8 test images
Threshold T is the key parameter in the proposed method, which contributes to the classification of smooth/complex trios. Fig. 5 displays the curve of pure payloads versus various thresholds for test images. As seen from Table 3, in order to avoid expansion in stego format, the maximum length of Huffman codes should remain less than or equal to eight bits, thus the appropriate threshold should be T = 2t , t ≤ 5. This is because of threshold T =16 balances the amount of smooth trio Ns and the secret bits embedded per smooth trio 8 - nh according to Eq.11, which achieves the optimal pure payload.
Fig. 5. Resulted payloads for test images under various thresholds
Fig. 6 gives the proportions of each contained components A1 , A2 and P in embedded secret data X under threshold T =16 . As analyzed, scale of A1 equals the amount of AMBTC trios N (in this case it is 16384 bits). Auxiliary information A1 occupies approximately 20~25% of embedded bits and A2 is a tiny fraction which is about hundreds of bits. From Fig. 6, we can figure out that test images proved much more bits for pure payload rather than auxiliary information.
Fig. 6. Proportions of each components embedded
Considering the prevention of expansion in stego code, the proposed scheme is a type I AMBTC RDH method with improved payload. Therefore, we then compare some related type I methods in embedding capacity including Hong et al.’s [11], Chen et al.’s[12], Ou and Sun [13], Lin et al.’s[14] and Yin et al.’s[15]. In the proposed scheme, the best threshold is set to maximize payload. For each compared work, all the required parameters are optimized so that the best performance will be achieved.
In Table 6, the peak signal to noise ratio (PSNR) is exploited to measure the image quality of AMTC reconstructed images. As seen from Table 6, each AMBTC compressed trio carries approximately one bit (about 16384 bits in total ) in methods [11]–[14]. Yin et al. [15] proposed an RDH scheme in encrypted AMBTC domain in which the correlation between encrypted quantity levels is no longer as close as the original ones, thus the payload bits in such method vary for different cover images. In the proposed scheme, the average payload carried is about 50300 bits which is superior to the listed type I methods. Table 2 displays the embedding capacity of recent Type II methods, which are 64008 [17][19] and 64516 [18][20] bits respectively. We can infer that the scale of carried secret data of the proposed approach is very close to those in Type II methods. However, as a Type I RDH scheme, no expansion occurs in the obtained stego AMBTC codes of which structure and scale is exactly same as original AMBTC format.
Table 2. Embedding capacity of some recent type II RDH schemes (bits).
Table 6. Comparison with prior type I RDH methods.
To further evaluate the performance and flexibility of the proposed scheme, we also implemented the test on 200 grayscale ORS images with 512 × 512 pixels from WHU-19RS dataset [24]. Fig. 7 displays six images randomly selected from 200 images. In following test, the curve fitting illustrated in Eq.13 is also performed as well.
Fig. 7. Six random ORS images in WHU-19RS dataset
Some curve fitting parameters for IAM versus payload are shown in Table 7. For both threshold T =16 and T = 32 , the obtained R-squares are close to ‘1’ which indicates that the fitting precision between actual and fitted payload stays at a relatively high level. Meanwhile, the average carried payloads under both thresholds are above 50000 bits (approximately three bits per quantity pair) in 200 images. The detailed fitting curve and scattered payload is shown in Fig. 8 (T=16).
Table 7. Statistical results of proposed scheme for curve fitting and payload of 200 images in WHU-19RS dataset
Fig. 8. The resulted fitting curve (IAM versus payload)
In Fig. 8, payloads (or approximate payloads) of different recent methods are marked as straight lines with different colors, which are 64516 bits [18], [20], 64008 bits[17], [19], 32768 bits [16] and around 16384 bits [11]–[14] respectively. According to the obtained fitting parameters, more than four, two and one bits can be embedded into each quantity for an image with its IAM less than 3.18, 13.74 and 22.54 (corresponding payloads are 65536, 32768 and 16384 bits). It is figured out that images in the left-hand side are smoother than those in the right due to their IAMs, thus the proposed scheme offers higher payload for smoother cover images.
5. Conclusion
In this paper, we proposed an efficient RDH method for AMBTC compressed codes of which stego codes mimic the original AMBTC formats to prevent bloat. The AMBTC compressed trios are firstly grouped as smooth and complex trios. Such smoothness is indicated by replacing LSBs of high quantity levels. Then we performed different RDH methods for both categories respectively. The differences of quantity levels in smooth trios are encoded by Huffman coding. The resulted Huffman codes and secret bits are concatenated to obtain the modified low quantity level. For complex trios, the low quantity levels are firstly extracted to constitute a sequence. Secret data are embedded by performing RCM scheme to the obtained sequence. Experimental results show that the proposed scheme provides the highest payload compared with existing type I methods. Meanwhile, no expansion inside stego codes is caused in the proposed scheme.
The primary objective of proposed method is to achieve a target-preserved ORS image transmission via image compression. On the one hand, stego codes of proposed method remains the same as original AMBTC codes, which fulfills the requirement of frequency/clock design of ORS image transmission. On the other hand, the significant improvement in embedding capacity can make larger proportion of ORS image involved as undistorted target region.
References
- Jun Tian, "Reversible data embedding using a difference expansion," IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 8, pp. 890-896, Aug. 2003. https://doi.org/10.1109/TCSVT.2003.815962
- Z. Ni, Y. Q. Shi, N. Ansari, and S. Wei, "Reversible data hiding," IEEE Transactions on Circuits & Systems for Video Technology, vol. 16, no. 3, pp. 354-362, 2006. https://doi.org/10.1109/TCSVT.2006.869964
- D. M. Thodi and J. J. Rodriguez, "Prediction-error based reversible watermarking," in International Conference on Image Processing, 2005.
- Y. Hu, H. K. Lee, and J. Li, "DE-Based Reversible Data Hiding With Improved Overflow Location Map," IEEE Transactions on Circuits & Systems for Video Technology, vol. 19, no. 2, pp. 250-260, 2009. https://doi.org/10.1109/TCSVT.2008.2009252
- W. Hong, T.-S. Chen, and C.-W. Shiu, "Reversible data hiding for high quality images using modification of prediction errors," Journal of Systems and Software, vol. 82, no. 11, pp. 1833-1842, Nov. 2009. https://doi.org/10.1016/j.jss.2009.05.051
- D. Coltuc and J.-M. Chassery, "Very Fast Watermarking by Reversible Contrast Mapping," IEEE Signal Processing Letters, vol. 14, no. 4, pp. 255-258, Apr. 2007. https://doi.org/10.1109/LSP.2006.884895
- C. Chang, T. S. Nguyen, and C. Lin, "Reversible Data Hiding Scheme for VQ Indices Based on Absolute Difference Trees," Ksii Transactions on Internet and Information Systems, vol. 8, no. 7, pp. 2572-2589, 2014. https://doi.org/10.3837/tiis.2014.07.021
- Y. Liu and C.-C. Chang, "Reversible data hiding for JPEG images employing all quantized non-zero AC coefficients," Displays, vol. 51, pp. 51-56, Jan. 2018. https://doi.org/10.1016/j.displa.2018.01.004
- M. Zhang, Q. Zhou, and Y. Hu, "Lossless data hiding in JPEG images with segment coding," Journal of Electronic Imaging, vol. 28, no. 05, p. 053015, 2019.
- M. Lema and O. Mitchell, "Absolute Moment Block Truncation Coding and Its Application to Color Images," IEEE Transactions on Communications, vol. 32, no. 10, pp. 1148-1157, Oct. 1984. https://doi.org/10.1109/TCOM.1984.1095973
- W. Hong, T.-S. Chen, and C.-W. Shiu, "Lossless Steganography for AMBTC-Compressed Images," in Proc. of 2008 Congress on Image and Signal Processing, Sanya, China, pp. 13-17, 2008.
- J. Chen, W. Hong, T.-S. Chen, and C.-W. Shiu, "Steganography for BTC compressed images using no distortion technique," The Imaging Science Journal, vol. 58, no. 4, pp. 177-185, Aug. 2010. https://doi.org/10.1179/136821910X12651933390629
- D. Ou and W. Sun, "High payload image steganography with minimum distortion based on absolute moment block truncation coding," Multimedia Tools and Applications, vol. 74, no. 21, pp. 9117-9139, Nov. 2015. https://doi.org/10.1007/s11042-014-2059-2
- C.-C. Lin, S.-C. Chen, K. F. Hwang, and C.-M. Yao, "A Reversible Data Hiding Scheme for BTC-Compressed Images," International Journal of Advanced Computer Science and Applications (IJACSA), vol. 7, no. 5, 2016.
- Z. Yin, X. Niu, X. Zhang, J. Tang, and B. Luo, "Reversible data hiding in encrypted AMBTC images," Multimed Tools Appl, vol. 77, no. 14, pp. 18067-18083, Jul. 2018. https://doi.org/10.1007/s11042-017-4957-6
- Y. Zhang, S.-Z. Guo, Z.-M. Lu, and H. Luo, "Reversible Data Hiding for BTC-Compressed Images Based on Lossless Coding of Mean Tables," IEICE TRANSACTIONS on Communications, vol. E96-B, no. 2, pp. 624-631, Feb. 2013. https://doi.org/10.1587/transcom.E96.B.624
- W. Sun, Z.-M. Lu, Y.-C. Wen, F.-X. Yu, and R.-J. Shen, "High performance reversible data hiding for block truncation coding compressed images," Signal, Image and Video Processing, vol. 7, no. 2, pp. 297-306, Mar. 2013. https://doi.org/10.1007/s11760-011-0238-4
- W. Hong, Y.-B. Ma, H.-C. Wu, and T.-S. Chen, "An efficient reversible data hiding method for AMBTC compressed images," Multimed Tools Appl, vol. 76, no. 4, pp. 5441-5460, Feb. 2017. https://doi.org/10.1007/s11042-016-4032-8
- C.-C. Chang, T.-S. Chen, Y.-K. Wang, and Y. Liu, "A reversible data hiding scheme based on absolute moment block truncation coding compression using exclusive OR operator," Multimedia Tools and Applications, vol. 77, no. 7, pp. 9039-9053, Apr. 2018. https://doi.org/10.1007/s11042-017-4800-0
- W. Hong, X. Zhou, and S. Weng, "Joint Adaptive Coding and Reversible Data Hiding for AMBTC Compressed Images," Symmetry, vol. 10, no. 7, p. 254, Jul. 2018. https://doi.org/10.3390/sym10070254
- D. Singh and S. K. Singh, "Effective self-embedding watermarking scheme for image tampered detection and localization with recovery capability," Journal of Visual Communication & Image Representation, vol. 38, pp. 775-789, 2016. https://doi.org/10.1016/j.jvcir.2016.04.023
- Z. Cui, J. Fu, J. Liu, and A. Li, "What statistics is PSNR related using JPEG2000," in Proc. of 2008 IEEE Conference on Cybernetics and Intelligent Systems, 2008.
- The USC-SIPI Image Database. Available online: http://sipi.usc.edu/database (accessed on 15 December 2019)
- WHU-RS19 dataset. Available online: http://dsp.whu.edu.cn/cn/staff/yw/HRSscene.html (accessed on 15 December 2019)