High Capacity Reversible Data Hiding for VQ-Compressed Images Based on Difference Transformation and Mapping Technique

In this paper, two reversible data hiding (RDH) methods for vector quantization (VQ)-compressed images are presented. In the first method, the difference-index table instead of the standard-index table is designed, and all difference indices are then classified into two groups, i.e., the to-be-mapped group and the candidate group, according to the occurrence frequencies of them. Afterwards, the mapping table between those two groups is adaptively constructed and used to serve for data embedding. Furthermore, another joint method is conducted by combining the standard-index based method and the difference-index based method, resulting in a better embedding performance. The experimental results confirm that both proposed methods, especially the joint method, are significantly superior to the most recent schemes in terms of the embedding capacity, bitrate and embedding rate.


I. INTRODUCTION
Data hiding (also called data embedding or information hiding) embeds secret data imperceptibly into a cover media, such as a video, a piece of audio, an image, etc. Since 1990s, a variety of data hiding techniques have been performing a growingly important role in privacy protection, copyright, and so on [1]- [12], [49], [50]. Traditional data hiding is usually irreversible, and the embedding process brings permanent distortion to the original host image, which is unacceptable in circumstances where a complete reconstruction of the original host image and verification of data are required, such as encrypted data annotation in the cloud environment, remote medical diagnostic and judicial forensics, and so on. To achieve data hiding and a non-distortional reconstruction of original cover media, reversible (also called lossless) data The associate editor coordinating the review of this manuscript and approving it for publication was Michele Nappi . hiding (RDH) technique was proposed [8]. The benefit is that the original host image can be recovered completely after the removal of secret data. RDH schemes include the spatial domain, compressed domain, frequency domain, and so on. Because the image is usually stored or transmitted in the form of compressed file, such a reversible data hiding technique for compressed images has become a research hotspot.
Vector quantization (VQ) [13] is a lossy data compression technique widely used in the various fields of image processing. In recent years, some VQ-based reversible data hiding methods have been developed. In all VQ-based reversible data hiding techniques, a VQ standard-index table is used as the cover image, and the image embedded with the secret message is called the ''stego image,'' hence the reversibility means the capability of completely recovering the original VQ standard-index table after removing the secret data. For simplicity in description, we denote the VQ standard-index table as the standard-index table in this paper.
Data hiding techniques try to replace the redundant data within the image with some secret data in an undetectable manner. As such, an exploration of the correlations among the indices in the standard-index table is needed. It can be used to acquire redundancy, which is then replaced by secret data, thus achieving data hiding. The more redundancy that is explored, the more secret data that can be hidden. Hence, the goal is to achieve high embedding capacity. Irreversible data hiding schemes can achieve a high capacity relatively easily. However, it is hard for reversible data hiding schemes to achieve this goal because it has another task of reconstructing the original carrier without a loss; further, there is also a trade-off between the embedding capacity and the bitrate. The biggest challenge is to enhance the embedding capacity while maintaining a satisfactory bitrate.
Recently, research [14]- [47] related to VQ-based reversible data hiding schemes have been published. Most of them employ such techniques, e.g., SMVQ [47], [15], SOC [28], LAS [26] and JNC [43], to exploit various types of indirect correlations to achieve confidential communication. Scheme [47] embeds secret data into a compressed image by selecting different codewords in a sub-codebook that is generated based on SMVQ technique, and scheme [15] transforms each standard index into the transformed index, making the histogram of the transformed indices that is normally distributed around zero. In what follows, the secret data is embedded into the smallest index value using a transformedindex mapping strategy. Reference [28] first reduces the size of the standard index by combining the algorithms of SOC and SCM (state-codebook mapping) and then embeds the secret data into the vacated redundancy room. Moreover, the locally adaptive coding (LAS)-based RDH scheme [26] embeds the secret data into a standard-index table throughout the whole LAS encoding phase. In [43], the secret data is embedded by using the difference values between the current standard-index and its left or upper neighboring indices. In particular, the histogram-based index mapping mechanism proposed by [3] achieved a much higher embedding capacity than that of past methods. Obviously, those schemes exploit various types of indirect correlations to achieve a good performance in embedding capacity and just only explore the redundancy room in the standard-index table. To achieve a higher embedding capacity, other forms of the index table can be constructed to explore further more redundancy.
In this paper, another form of the correlation between the standard indices is explored. First, a difference-index table that consists of the differences between adjacent index values is constructed, and this table could contain more redundancy than that of the original standard-index table. Second, a corresponding mapping table can be constructed based on the occurrence frequency of indices in the difference-index table. Third, the corresponding amount of candidate indices are assigned to each selected index with a high occurrence frequency in an adaptive approach. As a result, an embedding process based on this mapping table can achieve a much higher embedding capacity. To further improve performance, a joint method is also proposed in this paper, i.e. a method of jointing the standard-index based method and the differenceindex based method. As such, two embedding stages are performed. It can be expected that the embedding capacity can be enhanced dramatically. Moreover, for a better compression effect, some lossless compressing algorithm, such as Huffman coding and locally adaptive scheme (LAS) [27], [35], can be employed to compress the stego index table to ensure a satisfactory bitrate.
The rest of this paper is organized as follows. Section II reviews related works related to the VQ technique. The proposed schemes, including the difference-index based method and the joint method, are presented in Section III. Section IV gives the experimental results and discussions. Finally, Section V concludes this paper.

II. RELATED WORKS
In this section, the VQ and adaptive index rearrangement (AIR) technique are introduced in Subsections II-A and II-B, respectively. Then, a brief literature review is given in Subsection II-C.

A. VECTOR QUANTIZATION
VQ compression technique was proposed by Linde et al. [36], in 1980 and became an important data compression technique since it is widely used in various fields of multimedia compression [37]- [42]. VQ compression method includes three main steps: codebook generation, VQ encoding and VQ decoding. A codebook is trained by a clustering algorithm, such as the LBG algorithm [36] with some training images. It is constructed with a number of representative image blocks called codewords. Let Y = {Y 1 , Y 2 , . . . , Y k , . . . , Y cz } denotes the representative codebook, where the codebook size is CZ and Y k = {y k1 , y k2 , . . . , y kn } is the k th codeword of β × β dimensions in Y . In the encoding process, the VQ encoder divides the original image into non-overlapping blocks with a size of n = β × β pixels, X = (x 1 , x 2 , . . . , x n ) denotes the current block. For each image block, a most similar codeword is searched for from the codebook Y , and the Euclidean distance defined as follows is used to evaluate the similarity.
where y ki denotes the i th pixel of the codeword Y k , x i denotes the i th pixel of block X . The most similar codeword is that with the minimum value of ED. Then the index value of the most similar codeword in the codebook is used to encode the current block X . As a result, using the VQ compression technique, the standard-index table of the image is then generated.
During the decoding process, the VQ decoder performs the reconstructing of each image block by the table-lookup operation based on an identical codebook Y . The codeword corresponding to the index in the codebook is obtained to reconstruct the compressed image. VOLUME 8, 2020

B. ADAPTIVE INDEX REARRANGEMENT TECHNIQUE
The AIR was proposed by Hong et al. [10] in 2018. The concept of the AIR technique comes from the palette reordering [45], [46], and it rearranges the standard indices to make their spatial correlations stronger. Here, we give an example to show how to arrange the index using the AIR technique.
Step 1: Construct the occurrence matrix D, where D(i, j) represents the occurrence frequency of adjacent indices i and j in both the horizontal and vertical directions.
Step 2: Select two indices l k−1 and l k that are most frequently found adjacent to each other, and place them in an index list L k , where k represents the number of elements in L. For example, the initial index list should be L 2 = (l 1 , l 2 ). Let l i represent the indices already in L and u i is the indices that not yet been assigned. In each iteration, an index u * in the unassigned index list that has the maximal occurrence of adjacencies to all other already assigned indices should be selected. Therefore, the index u * in the unassigned index list that maximizes k j=1 D(u i , l j ) t is selected and placed in the index list, where t is a constant.
Step 3: Decide which side to place u * into L, calculate u * is then placed to the right of L, or otherwise, u * is placed to the left of L.
Step 4: Process each index in the unassigned list in the similar manner until all indices in the unassigned list are assigned. Finally, replace those indices l i in original index table by i and rearrange the codewords of codebook accordingly. The rearranged index table is then constructed.
Here is an example to illustrate the process of rearranging a standard-index table using AIR. Let us assume the standardindex table is as shown in Fig. 1(a) and its sorted occurrence frequency of indices is shown in TABLE 1. Next, we count the occurrence frequency of adjacent indices i and j in both the horizontal and vertical directions. For example, the adjacent indices (i = 4, j = 1) appears 5 times in the horizontal direction and 4 times in vertical direction, thus, the D(i, j) is equal to 9. By the same way, the occurrence matrix D can be derived as shown in Fig. 1(b). Fig. 1(c) is the rearranged standard-index table obtained by using AIR method based on Fig. 1(a), and its sorted occurrence frequency of indices is shown in TABLE 2. By comparing Fig. 1(a) and Fig. 1(c), we can see that the original indices 4, 1, 0, and 2 are mapped to 1, 2, 0, and 3, respectively. Meanwhile it is apparent from TABLE 1 and TABLE 2 that the occurrence frequency of indices in Fig. 1(a) and Fig. 1(c) are the same.    On the other hand, we also construct a difference-index table corresponds to Fig. 1(a) and shown in Fig. 2, which can be derived by the following rules: the first index at the upper left corner, i.e., 0, remains unchanged; the differences are calculated by the operation of subtracting between two adjacent indices in a raster scanning manner. Similarly, Fig. 3 can be obtained from Fig. 1(c). The sorted occurrence frequency of difference indices in Fig. 2 Fig. 3 has a more concentrated distribution in comparison with that of the difference indices in Fig. 2. This means that, the larger amounts of redundancies within Fig. 3 can be vacated compared to that in Fig. 2. This characteristic of the AIR technique is beneficial for improving data embedding performance.

C. LITERATURE REVIEW
The index mapping scheme was proposed by Chang and Lin [29] in 2007 . It is based on a declustering strategy and utilizes the local spatial characteristics of the VQ-compressed   images. Later, some other researchers also developed [3], [19], [22], [30]- [34]. In [22], [31], [32], index mapping schemes were based on the referred counts of the indices, and the embedding capacities are low. In [19], [29], [30], [34], the index mapping schemes were based on the sidematch prediction, but they failed to use it in an efficient way. Scheme [3] also used the SMVQ and LAS schemes to explore the redundancy, followed by constructing an efficient index mapping mechanism based on the theory of Huffman coding, and finally they obtained a much higher embedding capacity and better bitrate than the previous methods.
Most of these index mapping methods embedded secret data based on the redundancy generated from the standard indices. However, if we construct another form of index table in an appropriate way, for example, a difference-index table which made up of the differences between adjacent indices, more redundancy might generate from it. There are some existing schemes that utilize the difference values between adjacent indices to hide secret data in a standard-index table, such as [10], [23], [24], [43], [44]. In schemes [23], [24], [43], [44], the difference values are first generated by employing their distinct strategies. Then, several cases are designed according to the amplitudes of the difference values and a preset threshold (or parameter). For each case, the variablelength of secret bits is embedded by encoding the index as a code stream, which is generated by concatenating the indicator and secret data or the binary representation of difference value. In [10], the AIR technique is employed to find a transformed standard-index table, thus making the neighboring indices have similar values. Meanwhile, a weight-controlled least square estimator is employed for prediction, and the indicators are better assigned according to the prediction errors. In summary, those schemes [10], [23], [24], [43], [44] utilize the difference-index coding to carry the secret data fully with the guidance of the amplitudes of the difference values. Besides, the embedding of these schemes is not based on an associate mapping table.
For the aim of high embedding performance, the novel difference-index based RDH methods for VQ compressed image are presented in this paper, which are quite different from the previous methods [10], [23], [24], [43], [44] with respect to the following aspects: first, the proposed methods effectively combine the mapping mechanism and the difference-index based scheme to generate more redundancy; second, a new difference-index table made up of the differences between adjacent standard indices is constructed, and the secret data will be embedded into it instead of a standard-index table. Third, an adaptive mapping mechanism for data embedding is constructed based on the occurrence frequency of the difference indices in the difference-index table, instead of the amplitudes of the difference values. Last, the redundancy of both the standard-index table and the difference-index table can even be easily combined by using the proposed joint method so that a higher embedding capacity can be obtained.

III. PROPOSED SCHEME
In this section, we describe the proposed difference-index based reversible data hiding scheme for the aim of achieving a high embedding performance. Before we start, let us first look at a simple example to illustrate that how to explore and vacate redundancy room.
Assume that an index sequence A = {10, 11, 12, 14, 17, 18, 19}. For A, it is considered that there is poor redundancy since there is no repeated index. But if we perform a simple transformation, i.e., let each index (except the first index, ''10,'' which retains the original value) minus its adjacent left index to form a difference index. As a result, a new sequence, namely difference-index sequence, B = {10, 1, 1, 2, 3, 1, 1}, is generated, where it contains 4 repeated difference indices of 1. This means that more redundancies can be obtained in B than in A, hence a better embedding performance can be obtained. However, most of previous researches explored data embedding method only based on the standard index table (like A), while ignoring the better potential in their difference indices.
Therefore, inspired by the idea of above example, we present a novel RDH method based on difference-index table and a mapping mechanism, namely the difference-index VOLUME 8, 2020 based method. Moreover, a joint method is conducted by combining the standard-index based method and the aforementioned difference-index based method, resulting in a better embedding performance. Next, we introduce how to construct the difference-index table in Subsection III-A. Subsection III-B describes the construction of mapping tables for the standard indices and the difference indices. Finally, the detailed process of data embedding and data extraction are given in Subsection III-C and Subsection III-D, respectively.

A. CONSTRUCTION OF THE DIFFERENCE-INDEX TABLE
In the pre-processing phase, the standard-index table is rearranged by using the AIR technique, and accordingly the codewords of codebook is also rearranged. Then the difference-index table can be derived from this rearranged standard-index table by using difference transformation. In this way, a higher redundancy can be achieved. Figure 4(a) gives the standard-index table with a size of 128 × 128 for image Baboon, where the codebook size is set to 256. Fig. 4(b) is the corresponding difference-index table, which can be derived from Fig. 4(a) by the following rules: 1) the first index at the upper left corner, i.e., 179, remains unchanged; 2) the differences are calculated by the operation of subtracting between two adjacent indices in a raster scanning manner.
Sequentially, the occurrence frequency of all indices or difference indices are counted and sorted by a descending order. The results are depicted in TABLE 5 and TABLE 6,  respectively. Through comparing TABLE 5 with TABLE 6, it can be concluded that the indices with high occurrence frequency in the difference-index table are more condensed than those in the standard-index table.
For a better illustration, Fig. 5 shows the histogram of indices and difference-indices of images Lena and Baboon. It can be observed that the high occurrence indices in Fig. 5(a) and Fig. 5(c) are at a higher proportion than that of Fig. 5(b) and Fig. 5(d). These high occurrence indices can provide more redundancy for embedding secret data. Not only that, it is interesting that the first k difference indices have a high probability of occurrence in all difference indices. Fig. 6 and Fig. 7 show the sum of probability of occurrence of the first k difference indices or indices for images Lena and Baboon, respectively. This characteristic will be exploited to design   the idea of difference-index based RHD scheme and details will be stated in the following.

B. CONSTRUCTION OF THE MAPPING TABLE
In this section, the detailed discussion in construction of mapping tables for standard indices and difference indices is introduced respectively.

1) CONSTRUCTION OF MAPPING TABLE BASED ON STANDARD INDEX
For an image, we first sort its indices according to their frequency, and assume the sorted result T = {T 1 , T 2 , . . . , T s },  where s is the size of T . Generally, only one part of codewords are used during VQ compression. In other words, only some of indices will appear in the standard-index table for an image. For simplicity, we separate these appear indices into a group, represented by T appear , and separate the remaining unused indices into other group, represented by T nonappear . Moreover, in T appear , we further separate the first N indices with highest frequency into the to-be-mapped group and denote it as TH = {T 1 , T 2 , . . . , T N }. Accordingly, other remaining indices in T appear are denoted as TL Obviously, we can employ the indices in T nonappear and TL to represent additional bits to be embedded. Before providing the detailed embedding processes, we introduce how to adaptively assign indices between two groups and construct a mapping table based on standard index, as shown below.
Step 1: Derive the to-be-mapped group TH (first N indices with highest frequency).
Step 3: Map and assign the indices in CI to the indices in TH. Concretely, for the i th index in TH, represented by TH(i) = T i , l i candidate indices in CI are selected and assigned to it, where i is also called as the serial number corresponds to T i and ranged in [1, N]. It is obvious that the candidate indices can be assigned with an equal approach, i.e., l 1 = l 2 = . . . = l N , to achieve a considerable embedding capacity. However, more hiding capacity can be provided by an adaptive assignment approach. That is, for the aim of achieving the high embedding capacity, a greater group length l i should be assigned to a to-be-mapped index TH(i) = T i with higher frequency and vice versa. Based on this principle, the value of l i can be determined as where Here |CI| is the number of indices in CI, and T SH represents the remaining un-assigned indices in TH, and f i is the occurrence frequency of index TH(i), [·] represents the operation of round, and u i is an integer number. Besides, the following constraint condition in Eq. (5) should be satisfied.
Step 4: After l i is determined, a mapping table (See  TABLE 7) is constructed among the corresponding indices in TH and CI. The main principle used for assigning which candidate indices to each T i is based on the ascending order of the occurrence frequency of indices in CI; the lower frequency indices are priority to be assigned to the T i with higher frequency and vice versa. Here, CI = {CI(1), CI(2), . . . , CI(N)}, and CI(1) ∩ CI(2) ∩ . . . ∩ CI(N) = ∅. It should be noted that both the standard-index based mapping table and the difference-index based mapping table have the same construction strategy.
To explain the process of constructing mapping table better, an example is given and shown in Fig. 8, where the standard-index table is sized of 4 × 4, and codebook size s = 16.     TABLE 8 gives the illustration of mapping table. As can be seen, for the 1 st index 3 in TH, it is assigned l 1 = 7 indices from CI, i.e., CI(1) = {15, 14, 13, 12, 11, 10, 6}. As a result, for each index 3 in standard-index table, it can be used to carry log 2 (1 + l 1 ) = 3 secret bits. Similarly, the indices 4 and 2 can represent log 2 (1 + l 2 ) = 2 and log 2 (1 + l 3 ) = 1 secret bits, respectively. Besides, it also can be observed that indices 0 and 1 are not used in this example. That is because they are reserved as the flag indices during the embedding phase, and used to indicate whether an encoded index is the original index itself or not. Note that, in fact, flag indices do not have to be 0 or 1; any two indices that do not appear in the index table can be selected as flag indices, and these flag indices cannot be included in CI set.

2) CONSTRUCTION OF MAPPING TABLE BASED ON DIFFERENCE INDEX
As Subsection III-A mentioned, the difference index of an image has significantly high peaks of the distribution of difference indices. This means that more elements will be classified into the to-be-mapped group under the same conditions, so its embedding capacity is higher than that of standardindex based method. Details on constructing a mapping table based on difference-index table are described as follows.
Step 1: Construct the difference-index table as mentioned in Subsection III-A. Then the frequency of each difference index is counted and all of difference indices are also sorted by a descending order according to their frequencies.
Step 2: Separate difference indices into two groups, i.e., to-be-mapped group and the candidate group. Here, the tobe-mapped group includes the first N difference indices with highest frequency and denoted as DTH = {D 1 , D 2 , . . . , D N }. The candidate group makes up of the difference indices with low frequencies DTL = {D N+1 , D N+2 , . . . , D m } and the indices with frequency of zero DT nonappear = {DT m +1 , . . . , DT s }, where m is the number of indices without zero in frequency.
Step 3: Assign the difference indices in the candidate group into the difference indices in the to-be-mapped group, resulting in a mapping relation between those two groups. Fig. 9(a) gives an example of difference-index table deriving from Fig. 8. Considering that it is customary to use a nonnegative integer to represent the value in the index table, we add an offset to the value of each difference index except the first index 2. The result is depicted in Fig. 9(b). Here, we also set N = 3. Thus, we can derive DTH = {16, 14, 13}, and the remaining difference indices are assigned to those three elements by the same way as TABLE 7. TABLE 9 gives one  of mapping table, where 0 and 1 are also used as flag indices and do not appear in the mapping table.
It should be noted that the assignment of indices of the candidate group in TABLE 8 and TABLE 9 can be selected with flexibility. Concretely, we can select all indices (difference indices) in CI as the elements in candidate group, or only select the indices (difference indices) in T nonapaper as elements in candidate group, or select the indices (difference indices) in T nonapaper along with part of indices (difference indices) in TL (DTL) as elements in candidate group. Generally, the first case has the highest embedding capacity, and  for the last two cases, there is a little degree of decrement in the embedding capacity, but the bitrate can be reduced so that the compression rate can be kept at a satisfactory level.

C. DATA EMBEDDING
In this section, the embedding procedures are described in detail, including three aspects: the standard-index based method, the difference-index based method, and the joint method.

1) STANDARD-INDEX BASED METHOD
After constructing the mapping table, for i-th index in the tobe-mapped group, it is assigned l i candidate indices. Hence, this index can be used to represent a log 2 (1 + l i ) -bit secret data. The algorithm of data embedding using standardindex based method can be described as Algorithm 1, where '||' represents the operation of cascade and CZ is the codebook size. Note that, the notation (0) cz and (1)   log 2 CZ bits. Let us focus on the example in Fig. 8. Based on this example, the detailed process of embedding secret data into this standard-index table is demonstrated in Fig. 10, where we suppose the random secret bitstream S = (011111101100000110011100111101. . . ) 2 . For the first index TH(1) = 2, it is obvious from TABLE 8 that 2 belongs to the to-be-mapped group TH = {3, 4, 2}, and it is assigned one candidate index 7, i.e., CI(3) = {7}, where the serial number i = 3. Thus, it can be used to carry log 2 (1+1) = 1 bit secret data. Due to the current secret bit is (0) 2 , and its decimal value is 0, so this index 2 remains unchanged. On the contrary, if the current secret bit is (1) 2 , since its decimal value is 1, this index 2 should be changed to the 1 st index of candidate index group CI(3), i.e. index 7, for the aim to carrying secret data (1) 2 . Let us move on to the next index 3. Obviously, it belongs to TH and its corresponding candidate index group is CI(1) = {15, 14, 13, 12, 11, 10, 6}, so index 3 can be used to carry log 2 (1 + 7) = 3 bits secret data. Thus, we fetch the following 3-bit secret bits (111) 2 from S. Since its decimal value is 7, this index 3 is then mapped to the 7 th candidate index in CI(1) ( i.e., 6) to carry secret bits (111) 2 . By the same way, the third index 4 is mapped to the 3 th candidate index in CI(2) (i.e., 5) to represent the 2-bit secret bits (11) 2 .
Take another specific case for example. Certainly, the fourth index 8 is not in TH. Moreover, it not only acts as an index in standard-index table but also as a candidate index in CI (2). To avoid conflict between those two cases, we will cascade a flag index with this standard index 8 as the stego standard index, so that we can identify the index is an original standard index during the decoding phase. As shown in TABLE 8, we have reserved digits 0 and 1 as flag indices. As a result, one secret bit can be carried by combining the flag index and index 8. That is, if the to-be-embedded secret bit is (1) 2 , we use 1||8 as the stego standard index; otherwise, it is replaced as 0||8.

2) DIFFERENCE-INDEX BASED METHOD
Similarly, the algorithm of data embedding using differenceindex based method can be described as Algorithm 2.
Here, the notation (0) cz' and (1) cz' denote the binary representation of value 0 or 1 with the length of log 2 CZ + 1 bits. Let us consider again the example of the previous Subsection III-B-2 and assume S = (01111110110000011001 110011110101100101110000. . . ) 2 . Fig. 12 gives the process   SDT(k) = CI(i, p d ); end loc = loc + log 2 (l i + 1); end end of embedding S into the difference-index table. It can' be observed from Fig. 12 that, the process of data embedding is similar to the previous example in Fig. 10. The difference is just the first index 2 is only used as the basic index hence remain unchanged and does not carry any secret bits.
After completely embedding, the corresponding stego difference-index table is shown in Fig. 13, and the sequence of stego difference indices SDT = {2, 8,20,1,19,9,13,19,22,27,0,15,21,23,27,6,17, 13}, which carries 44 bits secret data. compared to standard-index based method, we can see that, the embedding capacity provided by the difference-index based method is 14 bits more than that of the previous standard-index based method. It is concluded that the embedding capacity performance of the system has been improved.

3) JOINT METHOD
To exploit further the advantages of the above methods fully, a joint method that combines the standard-index based FIGURE 13. An example of stego difference-index table corresponds to Fig. 9(b). method and the difference-index based method is presented, where the two-layer embedding process is performed, resulting in a significant improvement of the embedding capacity. The algorithm of data embedding using joint method includes two stages and can be described as Algorithm 3. Herein, we must point out that all indices used as flag indices (i.e., 0 or 1) in Stage 1 will be skipped during the embedding processes of Stage 2.
Here, the notation (2) cz' and (3) cz' denote the binary representation of value 2 or 3 with the length of log 2 CZ+1 bits. We still use the previous example in Subsection III-C-1 and assume the secret data S = (01111110110000011001 1100111101011001011100000101010110100011. . . ) 2 . The process of Stage 1 is the same as Subsection III-C-1 and the stego standard-index table SIT is shown in Fig. 11. Based on SIT, we reconstruct the difference-index table as shown in Fig. 14  After the execution of Stage 1, the first 30 bits of secret bitstream S have been embedded. Sequentially, the remaining secret bits in S continue to be processed in the following Stage 2. The detailed process of embedding is shown    difference-index table but also as a candidate index in CI(2). Hence, we cascade a flag index with index 22 as the stego difference index. Since the current secret bit is (1) 2 , we use 1||22 as the stego difference index. Finally, in this stage, there are 30 bits secret data, i.e., ''0110010111000001 01010110100011,'' are carried. Fig. 16 shows the stego joint-index table SJT after combining the results of Stage 1 and Stage 2. In summary, the proposed joint method embeds 60 bits of secret data in total, which is around 2.0 times than those of both the standard-index based method and the difference-index based method. In other words, the joint method has a superior performance in embedding capacity among those three methods.
Moreover, it is interesting to note that, the choice of candidate indices in the joint method can also be flexible. For example, it can be divided into the following cases according to the different choices of indices to constructing the candidate indices group CI in Stages 1 and 2 of Algorithm 3.
Case 1: In Stages 1 and 2, both TL and T nonappear group indices are chosen. Case 1 usually has the highest data embedding capacity, while Case 2 and Case 3, a little lower, but can reduce the bitrate so that can achieve better compression ratio. The related discussions will be introduced in Subsection IV-B.

D. DATA EXTRACTION AND IMAGE RECOVERY
When the recipient receives the VQ compression codes, s/he can decode the corresponding index table. Then, the data extraction and image recovery corresponding to above three methods can be performed, and details are described as follows.

1) STANDARD-INDEX BASED METHOD
The algorithm of data extraction corresponding to Algorithm 1 can be described as Algorithm 4.
Take a specific case for example. Here, let us assume that the decoded sequence of stego standard indices SIT = {2, 6, 5, 1, 8, 0, 9, 1,7, 1, 5, 4, 3, 10, 9, 10, 2, 6, 8, 7} IT(t) = TH(i); t = t + 1; k = k + 1; End end end End 4. Output IT and S. Notice: b(j) is the binary representation of j with length of log 2 (l i + 1) bits.   Fig. 17. As can be seen, the first index in SIT is 2, which is just equal to TH(3). Thus, one binary secret bit (0) 2 is extracted and the original standard index 2 is also recovered. Similarly, the second index 6 is the 7 th element in CI(1), so we can extract a 3-bit secret data (111) 2 and recover the original standard index as TH(1) = 3. By the same way, a 2-bit secret data (11) 2 and the corresponding index 4 can be derived from the third stego standard index. Next, the stego standard index 1 is encountered, which is a flag index and indicates that the following index 8 is an original standard index. As a result, the 4 th original standard index is set to 8. Meanwhile, one bit secret data (1) 2 can be extracted because of the flag index is 1. After all stego standard indices have been processed, the secret bitstream can be extracted correctly and the original standard-index table can be recovered losslessly.

2) DIFFERENCE-INDEX BASED METHOD
The algorithm of data extraction corresponding to Algorithm 2 can be described as Algorithm 5.
From Fig. 18, we can observe that the first index in SDT is 2, which is skipped and remains unchanged due to it is the basic index. The second index 8 is the 7 th element in CI(1), so we can extract a 4-bit secret data (0111) 2 and recover the original difference index as TH(1) = 16. By the same way, a 4-bit secret data (1110) 2 and the corresponding index 16 can be derived from the third stego difference index. Next, the stego difference index 1 is encountered, which is a flag , where j makes SDT(k) == TH(i); DT(t) = TH(i);t = t+ 1;k = k + 1; end end end end 4. Recover the standard-index table IT from DT. 5. Output IT and S. Notice: b(j) is the binary representation of j with length of log 2 (l i + 1) bits.
index and indicates that the following index 19 is an original difference index. Meanwhile, one bit of secret data (1) 2 can be extracted because of the flag index is 1.

3) JOINT METHOD
The algorithm of data extraction corresponding to Algorithm 3 can be described as Algorithm 6.
By the same way, we assume that the decoded sequence of stego joint indices SJT = {2, 27, 5, 1, 8, 0, 9, 1, 7, 1, 5, 23, 14, 3, 22, 9, 2, 16, 3, 7, 29, 17, 6} and the mapping table  for Stages 1 and 2 are the same as TABLE 8 and TABLE 10, respectively. The process of Stage 1 is shown in Fig. 19.  First of all, the 1 st index in SJT is 2, it remains unchanged since it is the basic index, and there is no secret bit extracted. The second index 27 is the 3 th element in CI(2), so a 3-bit secret data (011) 2 is extracted and recovers the original difference index as TH(2) = 19. In the same way, a 4-bit secret data (0010) 2 and the corresponding index 14 can be derived from the third stego joint index. Next, a flag index is encountered, i.e. 1, indicating this combined index 1||8 should be skipped in this stage. In the following, let us focus on the fifth row in Fig. 19, where a combined index 3||22 is encountered. Thus, 1-bit secret data (1) 2 is extracted and the following index 22 is set as its original difference index. Finally, after Stage 1 completed, the recovered stego difference indices DT   -index  table IT from SIT, and recover the following secret data. 6. Output IT and S. Notice: b(j) is the binary representation of j with length of log 2 (l i + 1) bits.
Sequentially, the process of Stage 2 is performed and details are shown in Fig. 20. First, In Stage 2, the valid index in DT minus the offset (i.e. 15), then transform it into the stego standard indices sequence SIT. Then, we can further perform the decoding as mentioned in Algorithm 4, and the original standard-index table IT is recovered error-free, and the secret bitsream S is extracted successfully. It should be pointed out that the mapping table should be sent to the receiver as the auxiliary information. Inspired by reference [3], in this paper, we used the scheme that is to embed the mapping table before the secret data through using a generic mapping table, followed by embedding the secret data by using the specific mapping table. Here, the specific mapping table means it constructed based on the Standardindex based histogram or Difference-index based histogram of each image, and the generic mapping table means a predefined and pre-shared mapping table.

IV. EXPERIMENTAL RESULTS
In this section, several experiments are implemented to demonstrate the effectiveness of the proposed differenceindex based method and the joint method. Six gray-scale images with a size of 512 × 512, shown in Fig. 21, are served as test images. Meanwhile, the block size used in VQ compression is set to 4 × 4 pixels, and the size of codebook CZ is set to 256 and 512, respectively. Furthermore, the standard-index table is rearranged and the codebook is sorted accordingly by the AIR technique before embedding.
Besides, in our experiments, two widely used statistical metrics are employed to evaluate the performance, i.e. the embedding capacity (in bits) and the bitrate (in bpp, i.e., bits per pixel). Moreover, to evaluate the overall embedding efficiency of those VQ-based reversible data hiding schemes, we also use the embedding rate to further measure the ability of carrying secret bits of the developed data hiding scheme. The bitrate and embedding rate are defined as Eq. (6) and (7), respectively.

Total number bits of VQ compression codes
Total number bits of image , Embedding rate = Total number bits of embedded secret bitstream Total number bits of VQ compression codes . (7) Generally, the higher the embedding rate is, the better the embedding efficiency is, and the lower bitrate is, the higher compression efficiency has.

A. EXPERIMENTAL RESULTS OF PROPOSED DIFFERENCE-INDEX BASED METHOD
In this section, the experimental results provided by the standard-index based method and the difference-index based method are given and discussed. First of all, it is apparent that the different value of N will result in a different embedding capacity and efficacy. Moreover, the different assignment strategies between the to-be-mapped group and the candidate group make a significant effect in values of l i s (the length of CI(i)), resulting in the different experimental results. Thus, two approaches of constructing a mapping table are evaluated. i.e., the equal approach, where the length of each candidate index group (i.e., l i ) is equal, and the adaptive approach, where the value of each l i is determined by Eq. (2). TABLE 11 shows the results provided by standardindex based method and the difference-index based method for images Lena and Baboon, with respects to embedding capacity, bitrate and embedding rate, where codebook size CZ = 256 and N is set to 5, 15, and 30. Firstly, compared to the standard-index based method, the proposed difference-index based method has significantly. improved in terms of embedding capacity, bitrate and embedding rate. That is because the former has a higher proportion of high-frequency indices and a more concentrated distribution in histogram of indices, which indicates a larger redundancy can be vacated for hiding more secret data. It also achieves a better satisfactory bitrate and embedding rate than that of standard-index based method. As an increment of N, the superior performance of the difference-index based method reveals significantly. VOLUME 8, 2020   Secondly, we can observe that for those two methods, the adaptive approach always achieves a better performance than the equal approach. The reasons are two-fold: one is that more candidate indices are assigned to the to-be-mapped index with higher frequency in the adaptive approach; another one is that a larger number of indices are exploited to carry secret bits under the same condition (N). Therefore, the higher embedding capacity and embedding rate can be achieved at the same bitrate, especially in the differenceindex based method.

B. EXPERIMENTAL RESULTS OF PROPSED JOINT METHOD
In this experiment, we demonstrate the performance of the proposed joint scheme and compare the results provided by the proposed joint scheme with the results provided by standard-index based method and the difference-index based method. Both Stage 1 and Stage 2 in joint method use the same N. TABLE 12 lists the performance of those three methods when the group number N is set to 5, 15, 30, and 45, respectively. From TABLE 12, we can see that the embedding capacity provided by joint method are always higher than that of other two methods. When N = 30, the average embedding capacity reaches the maximum value of 96585 bits. Meanwhile, it is interesting to note that as the increasing of N, the embedding capacity is not always growing and vice versa it is a little decrement. That is mainly because that when N is large, the relative fewer candidate indices are assigned to the to-be-mapped index.  Moreover, Fig. 22 shows the embedding rate provided by above three methods for images Lena, Baboon, Airplane, Goldhill, Peppers, and Boat. As can be seen from Fig. 22, the embedding rate of the proposed joint method is significantly higher than that of other two methods. This is because the proposed joint method has a greatly increasing in embedding capacity while keeps a relative fewer increment of VQ compression codes, so that a higher embedding rate can be obtained.
As can be seen from the above experimental results, the embedding capacity of the proposed joint method is not equal to the simple sum of the embedding capacity of the standard-index based method and the difference-index based method; it is usually a little less than that. That is because after the first embedding stage, the correlations between the neighboring indices in the mapped index table is decrement to some extent. However, in our experiments, the index values that belong to candidate groups are also sorted according to their occurrence frequency during the sort codebook phase, making the index values whose occurrence frequencies are close have as similar values as possible. Moreover, in the first embedding stage, for each index in the to-be-mapped group, the consecutive index values in sorted candidate groups are assigned to it. Thus, it has more opportunities to reserve some correlations between the neighboring indices in the mapped index table. Thus, the joint method can still maintain considerable redundancy in the second stage. As a result, the sum of the embedding capacity of the two stages in joint method can be greater than that obtained by either standard-index based method alone or difference-index based method alone.
Furthermore, we also experimented on 100 images from the widely used database UCID to verify the effectiveness of the proposed methods. The results are plotted in Fig. 23 and Fig. 24, which correspond to the codebook size CZ of 256 and 512, respectively. From Figs. 23 and 24, it can be apparent VOLUME 8, 2020  that, no matter that codebook size is 512 or 256, both embedding capacity and embedding rate of the proposed joint method are the best and the bitrate can only be slightly increased compared to the other two methods. When CZ = 512, the embedding capacity is a little higher than that of CZ = 256. However, because the bitrate of the former is larger, the embedding rate is slightly lower than that of the latter. Also, as shown in Fig. 23(c), the peak of the embedding capacity is 187070 bits when the group number N is 40, and the peak of the embedding capacity in Fig. 24(c) reaches 192570 bits when the group number N is 75. This indicates that the larger the codebook size is, the more the peak of the embedding capacity will appear in the case of a larger group number N. For the problem of how the optimal number of groups (i.e., parameter N) and the group length for each to-be-mapped index are determined for a given hiding capacity can be resolved by traversing all possible N like [48], or by some optimization techniques that find the optimal solution.
To further demonstrate the effectiveness and superiority of our proposed joint method, we also compared the embedding capacity, bitrate and embedding rate between our joint method and other existing methods [2], [3], [19]- [23]. It should be noted that, in these experiments, two strategies of the proposed joint method based on Case 1 and Case 2 are performed, respectively. The difference between those two cases is that only the indices with zero frequency were employed as candidate indices in Stage 1 in the former strategy and the others are the same. The comparisons of the embedding capacity and bitrate are shown in TABLE 13, and the comparisons of the embedding rate is depicted in Fig. 25. Here, codebook size is set to 256.
From TABLE 13, it is easy to find that the proposed joint methods, including strategies of Case 1 and Case 2, outperform all the previous methods [2], [3], [19]- [23]. Obviously, most of those schemes [2], [19]- [23] have a little weakness in embedding capacity (no more than 50000 bits), which is significantly lower than that of scheme [3] and our method. In scheme [3], an efficient index mapping mechanism based on the concepts of Huffman coding was designed to obtain a higher embedding capacity. This benefits from their idea in fully exploring redundancy room from the peaks of the distribution of the indices in the standard-index table. On the contrary, we further observed that the more redundancy can be exploited in the difference-index table rather than in its corresponding standard-index table. Moreover, the joint method is designed to achieve a better embedding performance. As expected, the Case 1-based joint method is not only far greater than other methods in embedding capacity, but also can maintain a satisfactory bitrate (i.e., lower than the LAS-based method in [3]). Moreover, the Case 1-based joint method also obtains the better embedding capacity than the SMVQ-based method in [3] while maintaining a relative lower bitrate. Fig. 25 plots the comparisons of performance in embedding rate of those schemes [2], [3], [19]- [23] and our joint method. It can be seen that the embedding rates of the proposed joint method based on strategies Case 1 and Case 2 outperforms the other methods [2], [3], [19]- [23], especially strategies Case 1-based method achieves the highest embedding rate because of its great increment of embedding capacity. In other words, it is concluded that the proposed joint method has a superior performance than other methods, in respects to embedding capacity, bit rate and embedding capacity.

V. CONCLUSIONS
Most of previous reversible data hiding schemes are restricted to the generation of redundancy vacated from the conventional standard-index table directly, while neglecting the intrinsic relationship in differences of those indices. In this paper, we present two novel RDH methods for VQ-compressed images. The first one is difference-index based method, which aims on taking advantage of the sharp and compact distribution of difference indices to achieve high embedding performance. Based on the frequency of those indices, a mapping table is constructed and then sued to serve for hiding secret bits. The second one is the joint method by combining the standard-index based method and difference-index based method. This joint strategy draws on standard-and difference-index based methods' strengths, resulting in the improvement in embedding capacity and embedding rate while keeping the bitrate at a satisfactory level. Experimental results and analysis demonstrate the superior performance of the proposed scheme.
CHIN-CHEN CHANG (Fellow, IEEE) received the B.Sc. degree in applied mathematics and the M.Sc. degree in computer and decision sciences from National Tsing Hua University and the Ph.D. degree in computer engineering from National Chiao Tung University. He has served for National Chung Cheng University, from 1989 to 2005. Since February 2005, he holds a chair professor position at the Department of Information Engineering and Computer Science, Feng Chia University. He is also a Guest Professor with Hangzhou Dianzi University. Prior to joining Feng Chia University, he was an Associate Professor with Chiao Tung University, a Professor with National Chung Hsing University, and a Chair Professor with National Chung Cheng University. He had also been a Visiting Researcher and a Visiting Scientist with Tokyo University and Kyoto University, Japan. During his service in Chung Cheng, he has served as the Chairman of the Institute of Computer Science and Information Engineering, the Dean of College of Engineering, a Provost and then Acting President of Chung Cheng University, and the Director of Advisory Office in Ministry of Education, Taiwan. On numerous occasions, he was invited to serve as a visiting professor, a chair professor, an honorary professor, the honorary director, the honorary chairman, a distinguished alumnus, a distinguished researcher, a research fellow by universities and research institutes. His current research interests include database design, computer cryptography, image compression, and data structures. He is currently a Fellow of the IEE, U.K. He has won many research awards and honorary positions by and in prestigious organizations both nationally and internationally. Since his early years of career development, he consecutively won Outstanding Talent in Information Sciences of China, the AceR Dragon Award of the Ten Most Outstanding Talents