Large-capacity image data hiding based on table look-up

Data hiding, also known as information hiding and digital watermarking, refers to the technology of hiding secret information in publicly available media and making it difficult for people to feel its existence. According to the survival result of the hidden information when the stego media is processed, this technology can be divided into robust, semi-fragile, and fragile watermarking. Strong robust digital watermarking is technically difficult to achieve, so it is unrealistic to apply it for digital copyright protection at present. In contrast, fragile (and semi-fragile) watermarking has good feasibility and has been used for authentication and tamper localization of the stego media. However, the existing technology has limitations. To improve the sensitivity and positioning accuracy of tampering, some algorithms embed excessive data, which greatly reduces the fidelity of stego media. To prevent third parties from bypassing integrity authentication and tamper localization, some algorithms add complex encryption algorithms to achieve the confidentiality of hidden data, which not only greatly increases the computational cost, but also destroys the blindness of data extraction. To overcome these shortcomings, this paper proposes a lightweight large-capacity image data-hiding technology. Both the data hiding and data extraction are based on looking up a shared codebook table, so the computational cost on both sides is low. The codebook table can be flexibly customized according to the agreement of the sender and receiver of the stego image. It not only ensures the fidelity of stego image but also naturally provides the confidentiality of hidden data. The experimental results and analysis show that its comprehensive performance, including imperceptibility, capacity, complexity, security, and customizability, is better than various state-of-the-art fragile watermarking techniques. Thus, the proposed technique has obvious advantages when used in image authentication, tampering localization, source tracing, and steganography. The proposed technique can be flexibly extended to hide data in other media.


Introduction
The general model of most data-hiding techniques can be described in Fig. 1.The information to be hidden is decomposed into a bit stream b.The data of the host media is directly or indirectly fine-tuned under the control of the bits to be hidden.Let X represent the original media, and let m represent its fine-tuning amount under the control of the information to be hidden.Then, the process of data hiding is equivalent to X superimposed with m.The resulting X', X' =X + m, is stego media.Although X' is different from X in data value, it is possible to make it difficult for people to perceive the difference between the two in vision or hearing.This is the basic principle of data hiding.
The general model for data extraction is accordingly shown in Fig. 2. At the receiving end, the hidden information b can be extracted from the received X', (maybe X" if the stego media has encountered an attack during transmission).For reversible data hiding techniques, the original media X is further recovered from the received X'.
In this paper, we focus on image data-hiding technology.In Fig. 3, the basic strategy of image data hiding technology is to choose some kind of object in an image, such as a pixel in the spatial domain or coefficient in a transform domain, and appoint its two values with small differences corresponding to the information bits "0" and "1" respectively.Next, the process of information hiding is to ensure that the value of the object matches the information bit to be hidden.If not, fine-tune the object's value to match.At the receiving end, each hidden bit is extracted from the stego image by resolving the value of the corresponding host object.
In some ways, data hiding can be analogous to digital modulation.The information bits to be hidden act as a modulation signal, the image acts as a carrier signal, and the stego image corresponds to the modulated signal.For images, the object that acts as a basic carrier signal can be chosen from the spatial domain or transform domain.For gray images in the spatial domain, a single pixel, a pair of pixels, a pixel block, or a pair of pixel blocks can be used as a basic carrier of information.In the transform domain, a single coefficient, a pair of coefficients, a coefficient block, or a pair of coefficient blocks, can be used as a basic carrier of information.There are many candidates transforms, such as Discrete Cosine Transform, Discreet Wavelet Transform, Discrete Fourier Transform, Haar Transform, Integer Wavelet Transform, and Contourlet Transform.For example, the high-frequency coefficients of DCT are better suited for data hiding because they are visually more Fig. 1 A simple model of information hiding resistant to noise than low-frequency coefficients.The DWT hides data in regions of highresolution detail bands (HL, LH, and HH) that are less sensitive to the human visual system.This is because the higher subband represents the finer details of the image, while the lowest subband has the most important and relevant information about the image.Contourlet transform has wavelet features and the subbands at each scale are decomposed into different directions.It provides a multi-scale and multi-directional representation of the cover image using Laplacian Pyramid.Hence, so Contourlet transform is more effective than DWT to capture smooth contours and geometric structures.
To hide information, whether the information is a signature, voice, or company logo, it is first encoded as a bit stream.Then, embed or parasitize the information bit by bit into the selected basic objects of the host image.The method of embedding or parasitizing information bits is very flexible.It can directly replace the LSB of the object value with information bits, or make rules to make information bits "0" and "1" correspond to different values of an object or different logical relations of a pair of objects, which is similar to digital modulation.
In this paper, we present a data-hiding technique based on looking up an information table in which each element is an octal digit.The table is shared by both the data hider and data extractor.Data hiding and data extraction are realized by querying the table with a pair of pixels in the host image.The proposed technique can achieve high capacity and security with very low computational cost, which makes it suitable for image steganography, tampering authentication and positioning, and source tracing.
The major contributions of this work are multifold and are presented as follows.
• Provided a strategy to customize an efficient information coding table; • Proposed a table looking-up based data hiding technique achieving high imperceptibility, high capacity, low complexity, and intrinsic security.• Proposed strategies for diversified codebooks and expansion of hiding information in other digital media.
The rest of the paper is organized as follows: In Section 2, a review of related works is presented.In Section 3, we introduce the creation of an information table, then data hiding and data extraction; In Section 4, experimental results and performance analysis are provided.In Section 5, we conclude the paper and point out our future work.

Related works
According to the basic carrier elements used, data hiding can be divided into two categories: spatial data hiding and frequency domain data hiding.In this section, we first briefly review classical image data-hiding technologies proposed in the past decades, including LSB, odd-even-based, patchwork, PVD, spread spectrum, self-reference, and QIM-based technique.Then, we review the state-of-the-art fragile data-hiding techniques emerging in recent years.
In the traditional LSB-based data hiding, the least significant bits (LSB) of pixel values [9] or high-frequency coefficients [43] are used as the holder of information bits.In [9], it works by replacing the LSBs of randomly selected pixels in the host image with secret message bits.There are many different data hiding methods based on LSB pixel or bit plane, and they have been developed to optimize payload while improving visual quality and undetectability.Some of them include adaptive LSB substitution based on edges, texture, intensity level, and the brightness of the host images [51].Similarly, a different flavor such as optimized LSB substitution using cat swarm strategy [47], and LSB substitution with interpolation image [18] were also proposed.In Even-Odd-based data hiding, the parity of pixel value [6,34] or quantized high-frequency coefficient [10,30] is used to correspond to the bit to be hidden.Like the LSB technique, a single pixel or quantized transform coefficient is used as the carrier of information, and its parity is directly used to represent the hidden bit.For example, if the pixel value is odd, it means that it carries information bit 1; if it is even, it means bit 0. By adjusting the parity of the selected pixels or coefficients to meet the rules, information is hidden.At the receiver end, information can be extracted bit by bit by parsing the information hiding rule shared by the information embedder and extractor.In Patchwork-based image data hiding [32], the relative size of a certain characteristic value of a pair of blocks in an image is used to correspond to different bits ('1' or '0').For example, the pixels in a region are divided into two blocks of the same size, P and Q, by sub-sampling.Due to the proximity correlation of pixel values, the average values of pixels in P and Q are equal.Information hiding is realized according to the difference between the two blocks.To hide '1', a small value is added to the pixel values in block P, and subtracted from the pixel values in block Q, making the average value of pixels in P slightly greater than in Q. (The average value of this region remains unchanged).Since the difference can be well preserved under attacks such as image compression, and image de-noising, the algorithm has certain robustness.In pixel value difference (PVD) based data hiding [17], the difference of a pair of pixels in the image is used as the basic carrier.To hide the information bit, the difference value between two adjacent pixels is adjusted.The number of bits that can be hidden depends on the texture area of the image.Since the human visual system can tolerate more changes in sharp-edge blocks than in smooth blocks, the larger the difference (higher texture), the more secret bits can be hidden in pixel pairs.To improve information hiding capacity, the PVD method is combined with adaptive LSB substitution and optimal pixel adjustment process [22].To obtain good visual quality and high payload, Hsiao Shan et al. [15] proposed a multi-way PVD method by combining the tri-way PVD and mode selection process.Mandal et al. [35] proposed an adaptive PVD method with a modulus function to resolve the fall-off-boundary conditions while retaining payload and imperceptibility similar to the original PVD.In image watermarking techniques based on the spread spectrum in the spatial domain [38], whether the correlation value between the host image and an equal-size matrix with small element values is greater than a threshold indicates whether the image is watermarked.In image watermarking techniques based on the spread spectrum in the transform domain [23], whether the correlation value between the coefficient matrix of the image in the frequency domain and an equalsize matrix with small element values is greater than a threshold indicates the image is watermarked.In self-reference-based data hiding [31,46], a pixel and its estimated counterpart, or a high-frequency coefficient and its estimated counterpart, are used as the basic carrier of information.The relative size of their values represents information bits "0" or "1".For example, if the information bit to be hidden is consistent with the relative size of a pixel and its estimated counterpart, it is not necessary to modify the pixel value.Otherwise, modify the pixel value to meet the relative size specified in the rule.In Quantization Index Modulation (QIM) based data hiding [55], a single selected object, such as the highfrequency coefficient, of the host image is used to hide information bit.First of all, the QIM constructs a set of quantizers and assigns corresponding indexes.For binary data hiding, a bit "0" and "1" correspond to two index values respectively.These two indexes correspond to two quantizers, which are used to quantize the selected objects of the host image, to hide bits '1' and '0' respectively.In the aspect of information extraction, the minimum distance decoder or maximum likelihood decoder is used to complete the decoding.
Since these classical methods were proposed, data-hiding technology basically has had no significant breakthrough.In recent years, the academic community seeks new research hotspots, shifting to new branches of data-hiding technology, such as reversible data hiding [16,24,25,28,54], compressed media data hiding [12,26,29,39,48], and encrypted media hiding [13,14,45,52,53].Thus, the research of traditional data-hiding technology is in a quiet period.Although some data-hiding techniques have been proposed, most of them are small improvements or optimization of classical data-hiding techniques to focus on specific performance(s): • To improve the fidelity of stego image at a cost of capacity RoselinKiruba et al. proposed to improve the bit plane data hiding method by using edge quad-tree block complexity [42].Edges in the cover image are identified using an edge detector and are partitioned using a quad-tree.The edges are smooth regions divided into smaller blocks to obtain good embedding capacity, whereas the rough regions involve those regions other than the edges and are kept as larger blocks to avoid distortion.Zhang et al. proposed a data-hiding scheme based on improved diamond encoding and integer wavelet transform [56].Because the human eyes tolerate more changes in edge and texture areas than in smooth areas, the proposed method exploits coefficient value sum/difference to select the base for digits to be embedded for each coefficient pair.Ahmad et al. presented a computationally simple interpolation-based data-hiding technique that increases data-hiding capacity and limits the cover image distortion that is caused by the two major steps of interpolation-based techniques [37].Image distortion reduction in the downscaling/expansion step is achieved by using a new image interpolation algorithm, whereas the image distortion in the data hiding step is reduced by utilizing a new adjustable data hiding algorithm.Basu et al. proposed a novel watermarking scheme that used a differential evolution optimization algorithm to efficiently hide data [7].They apply a differential evolution optimization algorithm on the pixel intensities of the host image to locate the cognitively insignificant regions and choose a proper value of scaling factor when embedding the watermark.The method is carried out in the spatial domain.Chen et al. presented a blind data-hiding scheme based on block truncation coding [11].Secret data are embedded in three block types using different approaches.To improve the quality of images without damaging the secret data, they proposed a progressive data hiding strategy and integration of an iteration-based half-toning method into block truncation coding.When decoding, the secret data are extracted without recalling the original image.Currently, the proposed method is designed for converting a grayscale image into a BTC-based stego image.AbdelRaouf et al. presented an image steganography based on the human visual properties using adaptive least significant bits [1].Two different methodologies are applied.Firstly, the human eye has a different sensitivity to RGB color channels which permits a different number of bits for every color channel.Secondly, photos focus normally on their middle zone which permits hiding the secret message using a spiral way starting from the images' edges towards its center.Khadse et al. presented a data hiding and integrity verification based on quotient value differencing and Merkle tree [20].The image is sliced into various non-overlapping blocks of size 3 × 3. The secret information is camouflaged using bit replacement and differencing mechanisms in 7 MSBs of the 9 pixels.After bits are camouflaged in these 7 MSBs of all the pixels, the verification bits are generated using Merkle tree concept.The root of the tree holds the verification bits and these are camouflaged in the LSBs of various pixels in the block.
This kind of technology improves the fidelity of the image to a certain extent.But since their data hiding position and data hiding rate is dynamic, it is difficult to achieve blind data extraction.

• To deliberately combine data hiding with cryptography technology to improve security
Yadav et al. presented a genetic algorithm and hamilton path-based data hiding scheme including embedding cost optimization [50].The main objective is to reduce the bit-flip cost count and maximize the PSNR value to reduce image distortion and keep the data secure by using secret keys while embedding.The genetic algorithm is employed to select the best chromosome that has the minimum bit-flip cost count and maximum PSNR.Data security is achieved by the secret key generated from Hamiltonian path for embedding and retrieving data.Khan et al. presented a combination of information confidentiality and data-hiding mechanism [21].In the first phase, the digital data is encrypted and in the second phase, the encrypted data is embedded into the cover data.The encryption scheme consists of both diffusion and confusion.For diffusion, they have utilized a logistic chaotic map-based novel diffusion.For confusion pre-defined highly nonlinear S-boxes are used.Anand et al. presented secure data hiding in a fused medical image for smart healthcare [5].They first create a fused medical image as a cover by non-subsampled contourlet transform (NSCT).The method, which is based on NSCT, QR, and Schur decomposition, allows concealing the image and electronic patient records (EPR) mark into the fused image.EPR watermark includes a hash value of the cover that is created first and then embedded into the cover via a magic cube-based procedure.Finally, the marked image is encrypted using deoxyribonucleic acid (DNA), chaotic maps, and a hash function-based encryption scheme.Akgul et al. presented a two-level data-hiding algorithm for high security based on a nonlinear system [2].They realized a secure steganography application with chaos-based encryption by employing a four-dimensional continuous chaotic system.As a first step, the chaotic system that is used in the study is described and analyzed, and then a random number generator (RNG) is designed for encryption application.In the next step, the data is encrypted with the designed RNG and then embedded in a carrier in a chaos-based manner.As the final step, the security analysis of encryption and data-hiding processes is carried out to evaluate their performances.Xia et al. presented a fragile watermarking scheme in the spatial domain based on the prime number distribution theory [49].Firstly, 54 approximate pixel sets are constructed according to the prime number distribution in [0,255].Secondly, the embedding of watermark information is achieved by pixel replacement in the approximate pixel set, while the MD5 hashing algorithm is used in the embedding process to ensure the security of the scheme.
This kind of technology does not confuse a third party to extract hidden data.The security of hidden data is obtained by converting the original data into ciphertext in advance by using the heavyweight cryptographic algorithm(s).It not only increases the computational cost at both the data hiding end and data extraction end but also destroys blindness due to the transfer of keys and other parameters.

• To increase hiding density for integrity authentication and tamper detection
Data hiding, or more accurately, digital watermarking can be divided into robust, semi-fragile, and fragile digital watermarking.Among them, the fragile watermark is suitably used in integrity authentication and tamper detection.Kamili et al. presented a dual watermarking framework for industrial image authentication and tamper localization [19].The robust and fragile watermarks along with overhead bits related to the cover image for tamper localization are embedded in different planes of the cover image.They have used discrete cosine transform coefficients and exploited their energy compaction property for robust watermark embedding.They make use of a four-point neighborhood to predict the value of a predefined pixel and use it for embedding the fragile watermark bits in the spatial domain.Chaotic and deoxyribonucleic acid encryption is used to encrypt the robust watermark before embedding to enhance its security.Akhtarkavan et al. proposed a fragile data-hiding algorithm based on Integer-to-Integer Discrete Wavelet Transforms and Lattice Vector Quantization [3].In the proposed datahiding algorithm, a combination of the medical image Metadata and Message Authentication Codes (MAC) is embedded into the medical image to protect their integrity.To preserve the privacy of the patients and the physician/hospital, the Metadata is then replaced with fake information.The receiver can extract the Metadata and the MAC.If the extracted MAC is the same as the expected MAC, the integrity of the medical image is guaranteed.Otherwise, a tampering attempt is detected.Raj et al. proposed a watermarking scheme for tamper localization in images using a logistic map and singular value decomposition (SVD) [41].The proposed scheme divides the image into blocks of size 2 × 2 pixels and generates an 8-bit watermark from each block.The watermark is computed by permuting the six most significant bits of each pixel in the block using the logistic map, followed by SVD.To secure, the watermark thus generated is further encrypted using the logistic map.This encrypted watermark is embedded into the 2 least significant bits of each pixel to enable tamper detection and localization.Lefèvre et al. proposed an image tampering localization algorithm using fragile watermarking and Error-Locating codes in the DWT domain [27].They first experimentally show that error localization block codes is as precise as using classical error correcting codes (Reed-Solomon and BCH codes) to locate image tampering.However, their corresponding decoding algorithms' complexity is at least quadratic which makes them impractical for some real-time applications.To solve this problem, they introduce errorcontrol codes called Error-Locating codes where error localization is reduced to a single syndrome computation performed with a low number of binary operations.Similar data-hiding techniques using the DWT domain are proposed in [8,33,36].Sisaudia et al. proposed a secure gray-scale image watermarking technique [44].The technique employs fractional discrete cosine transform (FDCT) and zig-zag scrambling to add a layer of security while embedding watermark bits in the cover image.A transformation through multiple fractional value pairs is chosen while embedding the watermark.The same pair is needed at the time of extraction of the original watermark from a signed image.This pair of unique values adds a layer of security to the proposed technique.After dividing the cover image into sub-blocks that are non-overlapping, fuzzy entropy is used to make the selection of appropriate sub-blocks in which watermark bits are to be embedded.These blocks are first mapped in a zig-zag fashion and then, after the selection of half sub-blocks, FDCT is applied to each of them.FDCT coefficients serve as training data for Kernel extreme learning machine (KELM).Used as a non-linear regression model, KELM predicts the value of a particular coefficient with the help of neighboring transform domain coefficients.Multiple scaling factors are used to control the extent to which the watermark bit modifies the predicted coefficient.The strength of these scaling factors is determined and controlled with the help of the standard deviation of every selected sub-block.Alshehri et al. proposed a watermarking technique for the authentication of digital images based on a binary rotation invariant and noise tolerant (BRINT) local texture descriptor and an extreme learning machine (ELM) [4].BRINT is used to generate and retrieve the watermark in both the embedding and extraction procedures.In parallel, ELM is used in both procedures to learn and recover any tampered areas.Prasad et al. proposed a watermarking using hamming code and logisticmap to achieve pixel-level active forgery detection [40].In this regard, an authentication code is formed and subsequently, the same is concealed in each pixel for the realization of a fragile watermarked image.In an active forgery detection procedure, the extracted authentication code from the fragile watermarked image is considered to detect the tampered region properly.Initially, the authentication code for each pixel is computed using Hamming code from the first four most significant bits and subsequently, the same is considered to conceal into some least significant bits (LSBs) of that particular pixel.Generally, the LSB components are found visually insignificant so, the suggested pixellevel authentication code embedding procedure retains the high visual quality of the watermarked image.
This kind of technology can locate the tampered position of the image, but the high cost of embedding a large amount of additional data is paid, and the fidelity of the stego image is sacrificed.
In sum, few existing works can achieve customizable tradeoffs among imperceptibility, complexity, payload, tamper localization, and intrinsic security.

Proposed technique
Our proposed data-hiding technique includes three parts, namely, the creation of an information table, data hiding by locating an element in the table, and data extraction by looking up the table.The table is shared by both data hiding and data extraction.It is queried with a pair of pixels of the host image.
To facilitate reading and understanding the paper, some terms appearing in the paper are explained here.The "information table", "code table", or "table" means that 256x256 matrix in which the value of each element is an unsigned integer in [0, 7].The "seed block", or "block" means 3x3 matrix in which the value of each element is also an unsigned integer in [0, 7].The information table is constructed by cloning a seed block.The "sliding window", or "window" is a block that is temporarily enclosed in the table with an element as the center (focus), and its shape and size are the same as the seed block.The "focus element" is an element located in the table with a pair of original pixel values of the host image.

Creation of Seed Block
The seed block is a 3x3 matrix.With a key, KEY g , set the value of one element as an unsigned integer in [0, 7], say 0 as indicated with red in Fig. 4. Then set the other 8 elements in the block with 8 different unsigned integers in [0, 7]. Figure 4 shows an implementation of a seed block.There is a total of 8 x8! = 322560 implementations of seed mod (KEY g , 8) Assign remained 8 elements with different unsigned integers in [0,7] Assign the 1 st element with mod (KEY g , 8) 1 2 3 4 5 6 7 0 KEYg Fig. 4 An example of a seed block blocks.This greatly enhances the security of data hiding, because the information table is constructed with a seed block, which will be introduced next.First, generate an empty information table, i.e., a matrix with a size of 256x256.In the matrix, the columns and rows are represented by x and y respectively, where {x, y}∈[0,255].Starting from the top left corner of the matrix, duplicate a 3x3 seed block horizontally and vertically without overlapping.Because the remainder of 256/3 is 1 instead of 0, the rightmost column of the table, i.e., x=255, does not belong to a complete block.The bottom row of the table, y=255, is similar.As an isolated element, the element labeled purple at the lower right corner of the matrix can be assigned any value from 0 to 7, say 0. Finally, the information table is obtained, as shown in Fig. 5.

Construction of Information Table
Let's observe the characteristics of the information table.Placing a 3x3 window (shown as a green dotted frame) anywhere in the table, eight different element values, 0 to 7, appear in the window.Therefore, if the element located in the table by a pair of pixel values (x, y) is not what we need, we can use the focus element to enclose a window.In the window, the element we need can be found.Four examples of windows are shown in Fig. 5, labeled as 1, 2(a), 2(b) & 2(c), representing the window located respectively inside the table, at the corner of the table, and on the edge of the table, respectively.In each window, the bold digit pointed by an arrow is the focus element, around which a window is formed.
Fig. 5 Semi-randomly generated Coding Table Next, we discuss the moving steps within the window from the focus element to the one we search for.
(1) The expression (x, y) = ( [1,254], [1,254]) means the value of x is between 1 and 254, and y is between 1 and 254.Let (x, y) be the coordinates of the focus element.If (x, y) = ( [1,254], [1,254]), the window is completely inside the table, and 1 in Fig. 5 is such an example.In such a window, moving from the focus element to any other element in the horizontal or vertical direction, the movement of x or y is only 1.When moving from the focus element to the element in the diagonal direction, the movement of both x and y is 1 (increasing or decreasing by 1).The result is summarized in Table 1, in which we assume that the focus element is 2 as shown in 1 in Fig. 5. From Table 1, we can see that from focus element to four elements (6,7,4,3), the sum of changes in x and y is 2; while from focus element to other four elements (0, 1, 5, 0), the sum of changes in x and y is only 1.
(2) If the focus element is at the edge of the table, i.e., (x, y) = {(0, any), (255, any), (any, 0), or (any, 255)}, the window cannot be enclosed around the focus element in the table.This can be further divided into two cases: (3) If the coordinates of the focus element, (x, y) = {(0, 0), (0, 255), (255, 0), (255, 255)}, the focus element is located at the corner of the table.With the focus element as a vertex, a 3x3 window is formed in the table, such as 2(a) in Fig. 5. Since the distance from the focus element to other elements in the window varies, the change of x and y of the focus element is very different when moving the focus element to other elements.We summarize the result in Table 2.
(2.2) If the coordinates of the focus element, (x, y) = {(0, [1,255]), (255, [0, 254]), ([1, 255], 0), ([0, 254], 255)}, the focus element is located in the outermost column or row of the table, but not at the corner of the table.Take the focus element as the midpoint of the boundary side to form a 3x3 window in the table, such as 2(b) and 2(c) in Fig. 5. Moving from the focus element to other elements in the window, the change of the coordinate values x and y of the focus element is ∆x = {0, 1, 2, -1, -2} and/or ∆y = {0, 1, 2, -1, -2}.Like in Table 1 and Table 2, we only consider the sum of the absolute movement of x and y, and summarize the results in Table 3.

Data hiding
For an 8-bit gray image, each pixel value is an unsigned integer between [0, 255].Correspondingly, the size of the information table in Fig. 5 is 256x256, so its row and column numbers are also assigned as unsigned integers between [0, 255].The value of each element in the table is an unsigned integer between [0, 7], i.e., 3-bit binary data.
To hide information in the image, we first encode information into a binary bit stream, then divide the bit stream into 3-bit segments, each of which is between [000, 111], i.e., an unsigned integer between [0, 7].Each time, 3 bits can be hidden in the image.To do so, a pair of pixels in the image is selected, then use their pixel values p i and p j as column and row (x and y), respectively, to locate an element e in the information table.If e is equal to the 3-bit value we will hide, nothing needs to be done; Otherwise, enclose a window in the table with e as the focus element.In the window, search for an element e' equal to the 3-bit value to be hidden.Finally, update the pixel values p i and p j with the column and row coordinates of e', respectively.Figure 6 depicts the entire data-hiding process, and the steps are summarized as follows.
Step 1: For simplicity, assume the length of the information bit stream m is multiple of 3. Divide m into 3-bit segments, so the value of each segment is an unsigned integer between 0 and 7. Suppose there are T segments, then m = 3 * T bits; Step 2: Suppose there are F pixels in a gray image.Use a key KEY p to pair pixels, forming N = ⌊F/2⌋ pairs of pixels, where ⌊. ⌋ is the floor function.Assume N ≥ T, i.e., so the image can hold all information; Step 3: Take 3 bit w i , i = 1, 2, ..., T, from the information m, and a pair of pixels {x k , y k }, k =1, 2, …, N from the image.Use the pixel values x k and y k as row and column numbers to locate an element e in the information table ; Step 4: If e = w i , the pixel values x k and y k will not change, and go to Step 5; If e ≠ w i , use e as the focus element to construct a 3x3 window in the table, as discussed in Section 3.1.
Table 3 Movement of x or y within a window formed by the focus element located in the outermost column or row of the table

Sum of changes in x and y
Destination elements (The focus element is 6 in 2(b) of Fig. 5) Destination elements (The focus element is 1 in 2(c) in Fig. 5)

Number of destination elements
In the window, find out the element e' which is equal to w i .(If there is more than one element equal to w i in the window, choose the one closest to e).Then, replace the pixel value of pair {x k , y k } with the row number and column number of e'; Step 5: i = i +1.If i >T, go to Step 6; otherwise, go to Step 3; Step 6: End of information hiding.Now, assuming that the number of pixels F is even, we derive the total number of pixel pairing strategies in the following: For a given pixel at the beginning, there can be F-1 pixels paired with it.When the pixel is paired, the number of remaining pixels is F-2.In the remaining F-2 pixels, for a given pixel, there can be F-3 pixels paired with it.When the pixel is paired, the number of remaining pixels is F-4.In the remaining F-4 pixels, for a given pixel, there can be F-5 pixels paired with it.…, and so on.Near the end, when a pixel is paired, the number of remaining pixels is F-(F-4) =4.Then, in the remaining 4 pixels, for a given pixel, there can be 3 pixels paired with it.When the pixel is paired, the number of remaining pixels is F-(F-2) =2.In the remaining 2 pixels, for a given pixel, there can be 1 pixel paired with it.Through the above analysis, we can derive that the total number of pixel pairing strategies equals (F-1) + (F-3) + (F-5) +…+3 +1= (F 2 )/4.

Data extraction
Because information hidden in the image is "recorded" in the information table, information can be extracted by looking up the table.First, the information extractor should build the same information table as in the data hiding stage.Next, the process of information extraction shown in Fig. 7 is straightforward.
The steps of information extraction are as follows.
Step 1: To extract information from the stego image, use the same key KEY p to pair pixels as done in the data hiding stage, getting N pairs of pixels.Let m represent the container of information, which is initially empty.In the above, we use the grayscale image with the basic element (pixel) value range of [0, 255] as the carrier, and the minimum step △that can be changed is 1.In general, for a carrier that is not necessarily an image, such as audio and video, if its basic element value range is [a, b] and the minimum step that can be changed is △, the seed block of 3x3 is constructed in the same way as in Section 3.1.By duplicating the seed block, an information table with the size of ing can be realized by looking up the table as well.

Experiments and performance analysis
Nine standard gray images with the size of 512x512 are used as test images in our experiments, including Lake, Baboon, Peppers, Airplane, Couple, Milkdrop, Woman, Boats, and Lena, shown in Fig. 8.
In the following experiments, we present and analyze the capacity of data hiding, imperceptibility of stego image, security of data extraction, computational cost, and customizability of the algorithm.The experiments have been performed on the MATLAB @ 2017b platform using Windows @ 10 with processor Intel (R) Pentium G4560T @2.90GHz, and RAM of 4.00 GB.

Capacity
Since a pair of pixels in a host image is used as the carrier of data hiding (or more accurately as the index of the look-up table), the amount of data hiding is only related to the size of the image, nothing to do with the content of the image.Since each pair of pixels can carry 3 bits of information, for an image with a size of 512x512, data hiding capacity is ⌊(512x512)/2⌋*3 bits = 393216 bits, or 1.5bits per pixel (bpp).The ten standard gray images in Fig. 8 are 512x512 in size, so the data hiding capacity in each image is 393216 bits.

Imperceptibility
As we know, no matter what image data-hiding technology is applied, pixel values of the host image will be modified directly or indirectly.In our proposed technique, the exact number of pixels modified and the amount of modification of a single pixel are related to three factors:  (1) The amount of data hidden, and the specific composition of a bit stream of data to be hidden, (2) The specific information table, and (3) The content of an image, and pixel pairing strategy.
In our experiment, we make the following settings: (1) The amount of data to be hidden is 393216 bits, which is the maximum capacity that can be hidden in a 512x512 image, as described in Section 4.1.The 393216 bits consist of bit 1 and bit 0 alternately, that is, "10101010...".(2) As mentioned in Section 3.1, there are 322560 different seed blocks.Accordingly, 322560 different information tables can be constructed.Here, we choose a specific information table shown in Fig. 5 in our experiment.(3) As derived in Section 3.2, the total number of pixel pairing strategies is (F 2 )/4.For an image of size 512x512, F= 512x512 = 262144, so the total number of pixel pairing strategies = (262144) 2 /4= 1.7180x10 10 .Here, we choose one of the pairing strategies --two adjacent pixels in the same row as a pair.The pixel pairing does not overlap, that is, paired pixels are no longer paired with other pixels.
We perform the proposed data hiding technique in the 9 test images respectively.The experimental results of PSNR values of stego images are listed in Table 4.
From Table 4, we can find that the PSNR values are all very high.This is because if the value of the focus element positioned by a pixel pair is exactly equal to the 3-bit value to be hidden, the values of the pixel pair remain unchanged.The probability of this situation within a window is 1/9.If the value of the located element is not equal to the 3-bit value to be hidden, we take the located element as a focus to form a 3x3 window, then find the element equal to the 3-bit value by moving the row and/or column in the window.Finally, the pixel values of the pairs in the host image are replaced with the row and column of the found element in the window.As described in Section 3.1, if the element initially located by the pixel pair falls on the table boundary, the final change of the pixel pair is often larger.Let's look at the probability of this situation in the following.The statistical result of using adjacent pixels to look up the table is equivalent to the co-occurrence matrix of the host image.In our experiment, each pair of horizontally adjacent pixels is used to locate an element in the information table.Equivalently, we work out the horizontal co-occurrence matrix of each host image, shown in Fig. 9.
In Fig. 9, the size of the co-occurrence matrix is also 256x256, which is the same as the code table.The co-occurrence matrix can reflect the position distribution of focus elements in the information table.In Fig. 9, the numbers marked in rows and columns, 0 --255, represent the gray values of the host image.The brightness in the figure represents the relative values of elements ---black indicates a small value, and white indicates a large value.From Fig. 9, we can see that the proportion of white dots on the boundary is very small.This indirectly tells us that number of elements located by pixel pairs in the information table that falls on the edge of the table is small.In other words, in most cases, the focus element is inside the information table, like 1 of Fig. 5. Therefore, if the value of the focus element is not equal to the 3-bit information, the correct element can be found by moving only 1 horizontally or vertically, or 1 in the diagonal direction from the focus element in most cases.For the former, only a one-pixel value changes by 1.For the latter, both pixel values change by 1.The probability of changing only a one-pixel value and the probability of changing two-pixel values are all 4/9.

Security
The security of the proposed algorithm is reflected in two aspects.One aspect is the construction of an information

Complexity
The complexity of this algorithm is O(n), where n is the number of times to execute the embedding algorithm.Each time, three bits can be hidden in the image.Both information hiding and extraction are based on looking up an information table, and element searching is limited to a window size of 3x3, so the computational cost is very low.For data hiding, the modification of some pixels is done by simple data replacement.Besides, since element matching is within the information table, there is no overflow of pixel values.
We perform the proposed algorithm on images at various resolutions and obtain the average times which are listed in Table 5 for each module.Table 5 shows that the computational cost of the proposed algorithm is very low.

Comparison of tamper localization
One of the important applications of our proposed technique is image authentication and tamper localization, so we compare its related performance with typical data-hiding techniques and state-of-the-art counterparts.Table 6 shows the comparison results of sensitivity to tampering, localization granularity of tampering, and the blindness of authentication.
From Table 6, it can be seen that our method is sensitive to tampering, and has the ability of fine-grained localization of tampering as well as blind authentication.These characteristics make it advantageous in image authentication, tampering localization, and source tracing.

Comparison of comprehensive performances
Here we compare the common general performance of data hiding, including capacity, PSNR, security, computational cost, and robustness.By running each algorithm to test standard images according to their default parameters, the qualitative results obtained through statistics are shown in Table 7.
From Table 7, it can be seen that our method has advantages in capacity, PSNR, security, and computational cost.Our technique is not robust against attacks, so it belongs to fragile watermarking.It is suitable for applications like image active authentication and image tampering detection, other than copyright protection.affected by the number of redundant elements in the seed block, and the moving distance in the window.Besides, the irregularity of seed block splicing at the table boundary, as shown in Fig. 10, also affects data hiding efficiency.
Figure 11 shows the relationship between the number of bits m embedded at one time and the PSNR value.Figure 12 shows the relationship between the number of bits m embedded at one time and the number of hidden bits per pixel BPP (bpp).

Conclusions and future work
In this paper, we present a high-capacity image data-hiding technique based on looking up a self-customized information table in which each element is an octal digit, i.e. 3-bit data.The table is shared by both the data hider and data extractor.Data hiding and data extraction are realized by querying the same table with a pair of pixels of the host image.To hide information in a gray image, the gray values of a pair of pixels are used as coordinates to locate an element in the table.If the element value is equal to the 3-bit information value, the pixel values of the pair remain unchanged.Otherwise, search for the element equal to the 3-bit information value in a small area of the table, then replace the pixel values with the coordinate values of the found element.To extract information at the receiver end, the gray values of a pair of pixels in the host image are used as coordinates in the table to locate an element.The value of the located element is the extracted 3-bit information value.The proposed algorithm has a low computational cost and achieves large data-hiding capacity on the premise of ensuring imperceptibility.
It also naturally provides the confidentiality of hidden information to a certain extent without using additional heavy encryption algorithms.Experiments and analysis show that the proposed technique is superior to the state-of-the-art techniques when applied to image steganography, authentication and tamper localization, and source tracking.
Our near future work is to extend the proposed method to data hiding in color images by applying it to RGB planes respectively, to meet the requirements of larger-capacity data hiding applications.The embedding capacity of the color image will be three times the same size gray image.Then, we will extend the proposed algorithm to data hiding in audio, and the basic tip regarding code table creation is proposed at the end of Section 3. In the future, we will study general modules that can be integrated into other data-hiding technologies based on the proposed techniques.To further enhance the performances of the proposed technique, such as data hiding rate and coding efficiency, We will also explore more efficient information tables, such as irregular tables and multidimensional tables, and consider unequal-length segment information hiding.

Fig. 2 Fig. 3
Fig. 2 General model of information extraction and original media recovery

NoFig. 6
Fig. 6 Information hiding by looking up the information table with a pair of pixel values of a host image

Fig. 7
Fig. 7 Information extraction by looking up the code table with pair of pixels

Fig. 8
Fig. 8 Test images in the experiments

Fig. 10 Fig. 11
Fig. 10 Information table generated by cloning a rectangle or diamond block

Table 1
Movement of x or y within a window completely inside the table

Table 4
PSNR of each stego image in which 393216 bits are hidden table.The information table is generated by the duplication of a specific 3x3 seed block.Since there are a total of 8 x8! = 322560 implementations of seed blocks, accordingly there are 322560 possible information tables in total.The selection of a seed block is based on a key KEY g .Another aspect is the selection of pixel pairs from the Pixel pairing in an image is based on a key KEY p .For an image with F pixels, the total number of pixel pairing strategies is (F 2 )/4, which is calculated in Section 3.2.Without knowing the KEY g , a third party cannot construct the correct information table.Without knowing the KEY p , a third party cannot extract hidden information correctly even if s/he knows the information table.
Fig. 9 Co-occurrence matrix of each host image host image.

Table 5
Time analysis in seconds Image resolution