Advancements in information technology have made it possible to transmit large quantities of data via the Internet. However, these advancements also provide opportunities for hackers to steal valuable information. Therefore, security has become an important issue. This application includes a numbered list of reference documents at the end hereof. For the sake of brevity, these documents are referred to herein using the reference document number within square brackets.
Digital data hiding can hide sensitive information into multimedia for covert communications. Most multimedia data hiding techniques distort the cover media by inserting hidden data therein. Moreover, in some cases, the effects on the cover media may not be fully reversible upon extraction of the hidden data. Although the distortion is often small and imperceptible to human visual systems (HVS), the irreversibility is unacceptable for certain sensitive applications, such as legal and medical imaging. For these applications, lossless data hiding is desirable to extract the embedded data and to recover the original cover media without any distortion. About twenty lossless data hiding methods have been developed. For a survey, readers are referred to Y. Q. Shi, Z. Ni, D. Zou, C. Liang and G. Xuan, “Lossless data hiding: Fundamentals, algorithms and applications,” Proceedings of IEEE International Symposium on Circuits and Systems, vol. II, pp. 33-36, Vancouver, Canada, May 2004; Y. Q. Shi, “Reversible data hiding,” Proceedings of International Workshop on Digital Watermarking, Seoul, Korea, Oct. 1 to Nov. 2, 2004. Ni et al. have proposed a histogram-manipulation based lossless data hiding scheme. See Z. Ni, Y. Q. Shi, N. Ansari and W. Su, “Reversible data hiding,” Proceedings of IEEE International Symposium on Circuits and Systems, Bangkok, Thailand, May 2003. Leest et al., A. Leest, M. Veen, and F. Bruekers, “Reversible image watermarking,” Proc. of IEEE ICIP, vol. 2, pp. 731-734, September 2003, proposed a reversible image watermarking algorithm using the gaps technique. J. Tian, “Reversible data embedding using a difference expansion,” IEEE Transactions on Circuits and Systems for Video Technology, August (2003) (890-896) embeds data using a difference expansion technique. Xuan et al. proposed the reversible data hiding algorithms carried out in the integer wavelet transform (IWT) domain. This method, by G. Xuan, J. Zhu, J. Chen, Y. Q. Shi, Z. Ni and W. Su, “Distortionless data hiding based on integer wavelet transform,” IEE Electronics Letters, December (2002) 1646-1648, losslessly compresses one or more middle bit-planes to save space for data embedding. Another method by G. Xuan, Y. Q. Shi, Z. Ni, “Lossless data hiding using integer wavelet transform and spread spectrum,” IEEE International Workshop on Multimedia Signal Processing, Siena, Italy, September 2004, applies a spread-spectrum technique to embed data in high frequency IWT coefficients. However, there is a need in the art for a simpler and more efficient way to embed information within image data.
According to one aspect, the invention provides a method which may include a method that may include subjecting an original, pixel domain image to an Integer Wavelet Transform (IWT) to obtain a first matrix of IWT coefficients; multiplying selected ones of said IWT coefficients by two; and embedding a data bit in a LSB (Least Significant Bit) position of each said selected coefficient, thereby providing a marked image.
Other aspects, features, advantages, etc. will become apparent to one skilled in the art when the description of the preferred embodiments of the invention herein is taken in conjunction with the accompanying drawings.
For the purposes of illustrating the various aspects of the invention, there are shown in the drawings forms that are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
with λ=2, which distribution is similar to that found for the values of coefficients of high frequency coefficients in the integer wavelet transform domain;
Herein, the term “hidden data” generally corresponds to the term “embedded data.” Embedded data may include “payload data” and/or “overhead data.” Herein, the term “overhead data” may include “bookkeeping data.” Herein, the terms “frequency band” and frequency sub-band” correspond to the term “wavelet sub-band.”
Herein, “payload data” (which may also be referred to herein as “a watermark signal”) is information which may form part of a coherent message, which may be embedded in an image, thereby providing a marked image. This payload data may subsequently be extracted from the marked image, thereby partially or completely restoring the condition of the original image. The referenced “partial” restoration may occur where other data, such as overhead data, is still embedded in the image, and/or where histogram modification of the original occurred and has not yet been reversed.
Thus, there may be an unencoded form of the payload data which exists prior to it being embedded into an image and an encoded form of the payload data which exists while the data is embedded in the image. Once embedded into an image, the watermark signal is preferably recoverable by a payload data extraction method in accordance with one or more embodiments of the present invention.
In one or more embodiments, embedding step 104 may include subjecting an original, pixel domain image to an Integer Wavelet Transform (IWT) to obtain a matrix of IWT coefficients. A more detailed description of the Integer Wavelet Transform may be found following the discussion of
In one or more embodiments, the extraction step 108 may include subjecting a marked pixel-domain image to an Integer Wavelet Transform to obtain a matrix of IWT coefficients. Thereafter, IWT coefficients within the matrix that contain embedded payload data are preferably identified using one or more of the methods disclosed herein. It will be recalled that coefficients with embedded data preferably have an embedded data bit in the LSB position thereof. Accordingly, a data bit is preferably extracted (step 108) from the LSB position of each of the coefficients that was identified as having data embedded therein. Preferably, to restore the values of the identified coefficients to what they were prior to the embedding of data therein, the identified coefficients are preferably divided by two. Upon performing this division on all of the coefficients that had data embedded therein, the image is preferably restored (step 110) to its original condition.
Integer Wavelet Transform
The Integer Wavelet Transform is widely applied to many different tasks in image processing. Since the wavelet transform coefficients are highly decorrelated, and because the wavelet transform is consistent with one or more features of the human visual system (HVS), the wavelet transform is also widely applied to image data hiding. Evidence indicates that slight modification of wavelet transform coefficients in high frequency subbands is difficult to perceive. Hence, in one or more embodiments disclosed herein, data is embedded into high-frequency wavelet coefficients.
To recover the original image losslessly, a reversible wavelet transform is preferably employed. Hence, one or more embodiments of the present invention employ the integer wavelet transformation which maps integer to integer and which can reconstruct the original image from the transformed image without distortion. Various wavelet families could be employed for the reversible embedding scheme described herein. However, through extensive experimental comparison, it has been discovered that CDF(2,2) (where CDF refers to “Cohen-Daubechies-Feauveau”) is better than other wavelet families in terms of data embedding capacity and the visual quality of the marked images. In addition, it is noted that the CDF(2,2) format has been adopted by the JPEG2000 standard.
In one or more embodiments, an original image 202 is preferably provided. At step 204, histogram modification may be performed on the original image to prevent underflow and/or overflow of pixel values upon performing the inverse integer wavelet transform in step 210. Histogram modification is described in greater detail later in this disclosure and is therefore not described in detail in this section. Histogram modification data 228 may be preserved as part of step 204 to enable histogram recovery in step 224. Herein, histogram modification data may also be referred to as “bookkeeping data.”
At step 206, an integer wavelet transform is preferably performed on the original pixel-domain image 202. At step 208, payload data 230 are preferably embedded into the IWT coefficients. The data embedding method discussed above in connection with
At step 210, an inverse IWT transform may be performed to convert the IWT coefficients that may have undergone compression and data embedding in step 208 into a pixel-domain marked image 212. The marked image 212 may be securely stored and/or transmitted (step 214) as desired. Preferably, marked image 212 provides secure protection against inadvertent disclosure of the payload data and/or other data embedded therein to unauthorized persons or entities, since the specific algorithms disclosed herein are preferably needed to extract such payload data and other data (such as compression recording data and histogram modification data).
The remainder of
In one or more embodiments, marked image 216 may be subjected to an integer wavelet transform in step 218. At step 220, a data extraction algorithm may be applied to the IWT coefficients to extract the embedded payload data and the compression recording data 234. In the compression process which forms part of step 208, compression recording data preferably preserves information describing instances where compression results in a many-to-one mapping of pre-compression coefficient values to post-compression values. In the expansion process (which may form part of step 220), this compression recording data preferably enables the method to accurately identify which original coefficient value, among the “many” (usually two) coefficient values that could have mapped to a single compressed coefficient value, will be restored to the post-expansion IWT coefficient. Thus, the original IWT coefficient values (those existing prior to step 208 in the embedding half of method 200) may be accurately restored. Separately, histogram modification data 234, which were preferably embedded into the IWT coefficients in step 208, may be extracted for later use within method 200.
In one or more embodiments, an inverse integer wavelet transform (step 222) may be performed on the IWT coefficients resulting from the operations of step 220, which preferably provides a histogram-modified pixel domain image that preferably matches the condition of the image in existence in between steps 204 and 206 of method 200. Preferably, at step 224, histogram recovery is performed using extracted histogram modification data 234, thereby providing recovered image 226. Recovered image is preferably identical to original image 202.
In the following, additional detail is provided with respect to certain operations described above.
Companding, the processing pair of compression and expansion, is a technique utilized to implement non-uniform quantization in speech communications in order to achieve high signal-and-noise ratio (SNR), where the noise is usually quantization noise. Specifically, this procedure first compresses a signal and then expands it. Uniform quantization is applied after the compression and before the expansion. As a result, with the companding and uniform quantization, non-uniform quantization is equivalently performed. That is, the signal of small magnitude is quantized with a relatively small quantization step while the signal of large magnitude is quantized with a relatively large quantization step so that the SNR through quantization is reduced as compared with using uniform quantization. Hence, the quantizing process is more accurate where needed. After the expansion is applied to the compressed signal, the expanded signal is expected to be close to the original signal. In the ideal situation, this companding operation can be expressed as
E(C(x))=x (1)
where C stands for the compression function, and E for the expanding function. Preferably, if this assumption is satisfied, this technique can be successfully applied to the invertible data hiding.
Companding Technique Used for Invertible Data Hiding
A simple realization is as follows:
From the above steps, we can see that the functions C, E and P should satisfy the following two conditions:
In dealing with digital signals, however, the above two conditions are difficult to completely satisfy due to the nature of digitization. This is because the quantized companding functions CQ and EQ may be utilized instead, where
CQ=Q(C), EQ=Q(E) (2)
and Q denotes the quantization function. Obviously, right now for some signal x, we may have
EQ(CQ(x))≠x (3)
namely the difference (error) value is
r=EQ(CQ(x))−x≠0. (4)
Hence in order to recover the original signal x, we must record the difference value r. This is to say that the difference value r and the payload data may both be embedded into the host signal x as overhead data (compression recording data) and payload data, respectively.
Selection of Compression Function in the Companding Technique
Through the analysis of companding function, we find that if Condition (B) were not considered, then any one-to-one mapping function F can be utilized as a compression function. For example, the simplest linear function F(x)=x can be considered to be a compression function. However, if multiple x values map to a single value of y, it will not be straightforward to find the x value corresponding to a given y value. This function can, however, still be used as a compression function under the condition that some payload may be sacrificed to make room for data to record the multiplicity, and to resolve any uncertainty regarding the value of x upon applying the expansion function.
For example, if x1, x2 are compressed to the same y0, in order to express this mapping relationship, we need to use one bit to record which x is mapped to y0, say, bit 0 to indicate x1 and bit 1 to indicate x2. These overhead data, used for compression recording purposes, may also be embedded into the TWT coefficients.
For speech signals, the following compression and expanding functions may be used:
in which x is normalized to the range [0,1].
In practice, it is difficult to find a function that satisfies both one-to-one mapping and Condition (B). For example, the linear function F(x)=x does not satisfy Condition (B) if the input signal x is large, since y′ is almost twice the value of x, and y′ may encounter either an overflow or underflow problem.
From the histogram of many images, it is observed that image data are different from speech signals in that the former often have large magnitude while the latter are generally of small magnitude. Therefore, for digital images, the above functions expressed in (5) are not suitable for companding. See B. Yang, M. Schmucker, W. Funk, C. Busch, and S. Sun, “Integer DCT-based reversible watermarking for images using companding technique,” Proceedings of SPIE Vol. #5306, 5306-41, January 2004. This is because of the differing nature of aural and visual signals. The selection of compression and expanding functions plays a key role when used in the invertible data hiding.
For most images, the values of high-frequency IWT coefficients fall within a Laplacian-like distribution. An example of a Laplacian distribution function is shown in
First, most high frequency IWT coefficients are very small in magnitude. It is then convenient to select the compression function. For example, the linear function F(x)=x may be considered to be a compression function since, even though y′ is twice the value of x, the coefficients of y′ are still within the allowed range of value of the high frequency IWT coefficients.
Second, there are still some large-magnitude high frequency IWT coefficients. For these large coefficients, the selected compression function selection may violate the restriction of Condition (B). In this case, the linear function F(x)=x may not serve as an effective compression function.
Considering the above two different situations, we propose to adopt the following piecewise linear function as the compression function.
where T is a pre-defined threshold. A plot of C(x) as a function of x is depicted in
In actual realization, however, as discussed above, the compression function in quantized version is preferably employed, which is:
The meaning of the symbol └ ┘ in equation (7) is explained as follows: └x┘ takes the largest integer value that is smaller than x. It can be shown from the above equation that when |x|≧T, x, more than one x value will be compressed to the same y value. The first possibility is that x and (x+1) will compress to the same value. Alternatively, x and (x−1) could compress to the same value. Referring to equations (4) and (7), where r>0, the pre-compression value is (x+1); where r<0, the pre-compression value is (x−1); and where r=0, the pre-compression value is simply “x”. Hence, as discussed earlier herein, the identification of which value among x and (x+1), or x and (x−1), is mapped to a particular Y value is preferably recorded, and this recording data (referred to herein as compression recording data) is preferably stored as overhead data into the wavelet coefficients. Preferably, storing the compression recording data enables the reversal of the above-mentioned mappings of multiple x values to a single y value in a subsequent expanding operation. Specifically, in the expanding operation, a single y value will be mapped to one of several possible x values based on equation (7). Preferably, the combination of the expanding function and the stored compression recording data can identify a unique x value for every y value subject to the expanding operation (expansion function).
The value of T may be selected by a human operator so as to achieve a desired compromise between data embedding payload and quality of the marked image. Alternatively, a software program may be executed to determine the value of T. Moreover, a software program may be run to determine data embedding payloads and numerical indicia of marked image quality for various values of T. Thereafter, a human operator may select a value of T based on these computer-generated data. When T is small, the changes in value of the coefficients are small, and good visual quality of marked image may be achieved. When T is large, a larger payload can be achieved. Preferably, both the desired quantity of payload data and the resulting quality of the image that contains the embedded data are factors in deciding the value of T to be used in the embedding process.
Values of T for various known images are shown below.
The inventive method was applied to some frequently used images. Tables 3, 4, 5, and 6 contain the experimental results on four grayscale images, Lena, Baboon, Barbara and Goldhill, respectively. These four images are shown in
It should be pointed out that this proposed method can be applied several times in succession on the same image, meaning that we can repeatedly embed data into images that have previously been marked (have data embedded therein) one or more times. Since we preferably embed data into the IWT coefficients of three high frequency subbands, the theoretical upper bound of data embedding capacity is 0.75 bpp each time. The results reported in Tables 3, 4, 5, and 6 arise from a single round of data embedding. For most images, however, a data embedding concentration of 1.3 bpp may be achieved after three successive rounds of data embedding. After that, still more data may be embedded into the marked image, the payload will increase very slowly while the visual quality drops substantially as displayed in
To further test the validity of the proposed invertible data hiding algorithm, in addition to the above frequently used images, we have applied it to all of the 1096 test images (512×768) in the CorelDraw ® database. Both the payload and PSNR are satisfactory for these images, thus demonstrating the widespread applicability of the proposed scheme.
The desirable results believed to arise from one or more of the following: (1) the superior features of integer wavelet transform, including its high decorrelation among the coefficients, results in a Laplacian-like distribution for high frequency coefficients, which facilitates selection of a suitable compression function; (2) the companding technique makes distortion small between the original image and marked image; and (3) the efficient histogram modification scheme reduces the amount of bookkeeping data. For these reasons, the invertible data hiding technique described herein is preferably applicable to a wide range of uses in areas such as a secure medical image data system, law enforcement, e-government, e-commerce, image authentication and covert communication.
In one or more embodiments, including that disclosed in this section, companding is preferably not employed. Instead, data is preferably embedded only in coefficients small enough such that even when subjected to the embedding formula (x′=2*x+b, where “b” is a single bit placed in the LSB position of the coefficient) the resulting coefficient value does not result in overflow or underflow. In such embodiments, coefficients having absolute values greater than or equal to a specified value, such as T, preferably have no data embedded therein.
In one or more embodiments, a threshold value T is predefined. Different embedding rules may be applied to high frequency wavelet coefficients based on whether the coefficient is (a) smaller than T, (b) equal to T, or (c) larger than T. Herein, the term “high frequency wavelet coefficients” generally refers to IWT coefficients of high frequency sub-bands such as the HL, LH, and HH subbands.
Data Hiding
In one or more embodiments, to embed data into a high frequency coefficient x, the absolute value of the coefficient may be compared with T. If |x|<T, the coefficient value may be doubled, and a payload data bit may be embedded into the LSB position of the coefficient that is left empty after the doubling of the coefficient value. Otherwise stated, the binary representation of the coefficient value may be shifted towards left by one bit, and the to-be-embedded bit may be appended as the right-most bit. The resultant coefficient is denoted by x′.
Where x≧T, the value of T may be added to the coefficient. Where x≦−T, the value of T−1 may be subtracted from the coefficient. In one or more embodiments, in either of the cases where the absolute value of x exceeds the value of T, no bit is embedded into the coefficient. These rules are summarized in Equation (8). In the first line of equation (8) below, the symbol in between “2” and “x” corresponds to multiplication. Thus, the first line of equation (8) below recites the equation 2*x+b.
Hidden Data Extraction and Original Image Restoration
In one or more embodiments, in the data extraction stage, the IWT coefficients of the marked image are obtained by subjecting the marked pixel domain image to an integer wavelet transform. If a coefficient is less then 2T and larger than (−2T+1), the LSB of the coefficient is the data bit embedded in the coefficient.
Where the coefficient is outside this range, the data extraction method preferably concludes, consistent with the data embedding formula (8), that no payload data bit is embedded in the coefficient, and therefore, preferably does not attempt to extract a data bit from the coefficient. After deciding not to extract a data bit, one or more embodiments of the data extraction method preferably proceed to examine the next coefficient, since the current coefficient has no hidden bit in it. However, the method may first restore the current coefficient to its original value.
In addition to extracting hidden data, the data extraction method preferably also recovers the original cover image. Preferably, each coefficient is restored to its original value by applying equation (9).
The symbol surrounding the expression x′/2 is explained as follows: └y┘ takes the largest integer value that is smaller than y. This principle is readily applicable to the expression x′/2 in formula (9) above. In one or more embodiments, when applying formula (9) to divide x′ by 2 is effective in restoring the original value of x.
Table 7 lists the data associated with embedding data into four coefficients, with one coefficient having a 0 bit embedded therein, another coefficient having a 1 bit embedded therein, and two coefficients receiving no embedded data. In the example of Table 7, T is set equal to 6. Verification of the embedding formula, the data extraction formula, and the recovery of original coefficients is easily accomplished in the illustrated example.
Data Hiding System
In one or more embodiments, the proposed lossless data hiding scheme may embed data into the first-level high-frequency subbands of images, namely, HL1, LH1 and HH1 (see
At step 906, an inverse wavelet transform is preferably performed on the wavelet domain data which is, at this point, preferably free of the embedded data extracted in step 904. At step 908 an inverse histogram modification is preferably performed using the histogram modification information performed in step 904, thereby recovering the original image that the method of
Herein, the term “high frequency coefficients” refers to the coefficients in the HL, LH or, HH sub-bands. Herein, the sub-band identifiers HL, LH, and HH are used interchangeably with the labels HL1, LH1, and HH1, respectively.
For most images, the distribution of high frequency coefficients of the integer wavelet transform has a Laplacian-like distribution (see
Generally, the larger the threshold T is, the higher the payload will be. However, on the other hand, the larger the threshold T, the lower the PSNR (peak signal noise ratio) will be. The foregoing applies to a substantial range of data hiding techniques. Thus, payload and PSNR are competing characteristics.
To further improve the data payload of an image, the data embedding process may be repeated several times in succession, in each case (except for the first time) starting with an image (stego-image) that has already been marked (had data embedded therein) one or more times. By applying the same embedding procedure to the stego-images, the payload can be increased. The drawback is the decrease of PSNR, which corresponds to a deterioration in image quality.
Histogram Modification:
For a given image, after data are embedded into some IWT (Integer Wavelet Transform) coefficients, it is possible to cause overflow and/or underflow. This means that after the inverse integer wavelet transform is performed, the grayscale values of some pixels in the marked image may exceed the upper bound (the upper bound being 255 for an eight-bit grayscale image) or the lower bound (the lower bound being 0 for an eight-bit grayscale image). In this situation, truncation is generally applied to restore the resulting grayscale value to a permissible numerical range, thereby violating the reversibility of the data hiding. This is a challenging issue confronting all lossless data hiding algorithms.
In one or more embodiments of the present invention, in order to prevent overflow and/or underflow, a histogram modification procedure may be adopted which narrows the range of histograms of pixel-domain images from both the left and right sides. Preferably, after the histogram modification, some grayscale values on the left-hand side of the histogram are merged towards the center of the histogram and left empty, while some grayscale values from the right-hand side are merged towards the center of the histogram and left empty. In the following discussion, it is assumed that we are going to narrow a histogram by G grayscale levels, which means that G grayscale values should be empty after the histogram is modified.
For the sake of simplicity, in this section, G is restricted to being an even number. Thus we can narrow down the histogram in G/2 passes, and in each pass the histogram is preferably narrowed down by two grayscale levels, one from the left-hand side, the other from the right-hand side. In narrowing down a histogram to the range [G/2, 255−G/2], (See
A Simplified Histogram Modification Example:
In order to illustrate the histogram narrow-down process, we use a simplified example, where the original image has a size of 6×6 pixels, each pixel having 23=8 possible gray scale values (the values ranging from 0 to 7) as shown in
One embodiment of a histogram narrowing algorithm is described in
In one or more embodiments, RAM 1806 and/or ROM 1808 may hold user data, system data, and/or programs. I/O adapter 1810 may connect storage devices, such as hard drive 1812, a CD-ROM (not shown), or other mass storage device to computing system 1800. Communications adapter 1822 may couple computing system 1800 to a local, wide-area, or Internet network 1824. User interface adapter 1816 may couple user input devices, such as keyboard 1826 and/or pointing device 1814, to computing system 1800. Moreover, display adapter 1818 may be driven by CPU 1802 to control the display on display device 1820. CPU 1802 may be any general purpose CPU.
It is noted that the methods and apparatus described thus far and/or described later in this document may be achieved utilizing any of the known technologies, such as standard digital circuitry, analog circuitry, any of the known processors that are operable to execute software and/or firmware programs, programmable digital devices or systems, programmable array logic devices, or any combination of the above. One or more embodiments of the invention may also be embodied in a software program for storage in a suitable storage medium and execution by a processing unit.
Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/620,494, filed Oct. 20, 2004, entitled “INVERTIBLE DATA HIDING BASED ON INTEGER WAVELET TRANSFORM AND COMPANDING TECHNIQUE”, the entire disclosure of which is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60620494 | Oct 2004 | US |