1. Field of the Invention
The present invention relates to a method for authenticating the compressed image data, and more specifically, to a method of watermarking for authenticating the compressed image data by embedding watermarks.
2. Description of the Prior Art
In recent years, more and more applications for tamper detection of image data have been proposed because the applications can be used in the court to detect tampered images or to prove the image data have not been tampered. With the rapid growth of digital image data processing techniques, image data could be maliciously tampered while transferring through network or storing into a database, and they could be embezzled maliciously and illegally. Generally speaking, image data compression is used to decrease the data size to ease its transfer or storage. However, the image data could be damaged by the compression, therefore image data compression needs to be considered as one kind of legal image attack.
The prior art techniques for image data authentication are not very reliable, and there are two common types of authentication errors caused by the prior art techniques. The first type, false negative (missed detection), is the missed detection of tampered area in the tampered image, and we must detect it to guarantee the preciseness of authentication. It means that some actual detecting tampered areas in the tampered image will be likely missed. The second type, false positive (false alarm), is an incidental modification like the JPEG compression is a kind of “attack” that we would like to bypass. If an incidental attack is detected, it will cause a false positive type error. Therefore, it is important to judge whether the tampered image is resulted from the intentional action or the compression process.
It is therefore an objective of the present invention to provide a compressed-image authentication method to solve the above problems.
The method of watermarking for authenticating the compressed image data comprises partitioning original image data into non-overlapping blocks, transforming the non-overlapping blocks into Discrete Cosine Transform (DCT) coefficient blocks, and quantizing the DCT coefficient blocks to generate quantized DCT blocks. When a quantized DCT block is a flat block, a watermark is embedded into a coefficient of the quantized DCT block.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Please refer to
Step 100: receiving a fast one-dimensional pseudorandom number;
Step 101: partitioning original image data into 8-by-8 non-overlapping blocks. The original image data is part of a complete image. Each non-overlapping block has 8-by-8 pixels or coefficients. If the complete image has 384-by-288 pixels or coefficients, the complete image can be divided into 27 original image data since (384*288)/[(8*8)*(8*8)]=27 or 1728 non-overlapping blocks since (384*288)/(8*8)=1728;
Step 102: transforming the non-overlapping blocks into 8-by-8 DCT coefficient blocks by performing Discrete Cosine Transformation (DCT) according to a JPEG lossy compression standard;
Step 103: quantizing the DCT coefficient blocks to generate quantized DCT blocks according to a JPEG lossy compression standard;
Step 104: detecting number of non-zero quantized AC (NQAC) coefficients and the NQAC coefficients for each quantized DCT block;
Step 105: checking if the number of NQAC coefficients of the quantized DCT block is greater than or equal to an authentication strength which is 6 in the present embodiment; if so, the quantized block is regarded as a normal block, and the process continue in step 107 for watermarking the normal block; if not, the quantized block is regarded as a flat block, and the process continue in step 113 for watermarking the flat block;
Step 107: normalizing coefficients of the quantized DCT block from between 0 and 255 in a spatial domain to between 5 and 250 to generate a normalized DCT block. The normalization is used to reduce clipping errors of Y components of the gray-level image. If a normal block contains pixels with coefficients of extreme values such as between 0 to 5 and 250 to 255, and the normal block undergoes a transformation in step 108, the transformation will reduce the capability of the normal block to preserve watermarks which will be embedded in step 109. Therefore, the normalization is performed to eliminate the extreme values;
Step 108: transforming the normalized coefficients of the normalized DCT block to generate a transformed DCT block. The transformation is an iteration procedure which comprises dequantization, Inverse Discrete Cosine Transform (IDCT), normalization, Discrete Cosine Transform (DCT), and quantization. This iteration procedure will enable the coefficients of the normalized DCT block to remain the same throughout the transformation;
Step 109: embedding original watermarks to LSBs of some of the transformed coefficients of the transformed DCT block determined by an authentication step with an authentication strength by performing a backward zigzag scan to generate a watermarked DCT block. The transformed coefficients embedded with watermarks are part of the coefficients generated from the NQAC coefficients detected in step 104;
Step 110: adjusting each coefficient of the watermarked DCT block according to a corresponding transformed coefficient and a corresponding normalized coefficient;
Step 111: detecting if a hamming distance between a watermark of an adjusted coefficient and a corresponding original watermark is within a predetermined value; if not, go to step 116;
Step 113: embedding a watermark into an LSB of an NQAC coefficient of the quantized DCT block according to the fast one-dimensional pseudorandom number;
Step 114: searching the quantized DCT block for the NQAC coefficient which contains a watermark;
Step 115: detecting if the LSB of the NQAC coefficient equals to 1; if not, go to step 116; and
Step 116: affirming the quantized DCT block is tampered.
In Step 109, the number of transformed coefficients of the transformed DCT block to be embedded with watermarks is determined according to the following formula:
(NumNQAC−authentication strength)*authentication step (1)
wherein NumNQAC denotes the number of NQAC coefficients determined in step 104; an authentication step is a value between 0 and 1 and is specific to each transformed block; and the authentication strength is a reference number of transformed coefficients of a transformed DCT block to be embedded with watermarks. According to experiment results, the false positive, which is an incidental modification like the JPEG compression is a kind of “attack” that we would like to bypass of the color image. In other words, the degree of false positive of the color image will be decided by a reasonable trade-off choosing strategy of the authentication step; moreover, the larger authentication step results in higher quality of watermarked image. It's not suitable to embed obviously watermarks into the transformed coefficients in the higher frequency domain due to the effect of a quantization table of the JPEG lossy compression. However, while we embed watermarks into the transformed coefficients in the lower frequency domain, the watermarked coefficients will be easily changed due to the energy of image is more concentrated in the low frequency. Therefore, it is also not suitable to embed the watermark into the transformed coefficients in the low frequency domain. The probability of false positive can be calculated by the authentication step. For example, 8*8 blocks of source 352*288 image=1584 blocks since (352*288)/(8*8)=1584. If the authentication step is equal to “0.7” and the number of blocks of false positive in the image is 12, the probability of false positive will be calculated as (blocks of false positive)/(blocks of source image)=12/1584≈0.0075. According to our experimental results in the present embodiment, the probability of false positive will be almost zero when the value of the authentication step is under 0.5 and grow rapidly when the value of the authentication step is over 0.5, and the relationship between the probability of false positive and the authentication step will be illustrated and explained in
In Step 110, each coefficient of the watermarked DCT block is adjusted according to a corresponding coefficient and a corresponding coefficient of the watermarked DCT block. The formula of adjusting the coefficient, especially for the NQAC coefficient, of the watermarked DCT block, can be expressed as
wherein an NQAC′ coefficient is the adjusted value of the NQAC coefficient of the adjusted DCT block, an NQAC′i coefficient is the value of the NQAC′ coefficient belonging to the i-th adjusted DCT block of the 8-by-8 adjusted DCT blocks, wi is a watermark bit to be embedded into the i-th adjusted DCT block of the 8-by-8 adjusted DCT blocks, and AF is an adjustment function that adjusts the value of NQAC′i. The 8-by-8 adjusted DCT blocks is assigned with various and unique serial numbers, which are in zigzag scan order of the adjusted DCT blocks, of between 0 and 63 so that the i-th adjusted DCT block of the 8-by-8 adjusted DCT blocks is the block with serial number i. The zigzag order of the 8-by-8 adjusted DCT blocks will be illustrated in
The value of sign (NQACi) is +1 or −1 and depends on the sign of NQACi. The adjustment function AF has two features. The first feature, the NQACi “1” will be altered into “0” while wi is “0”. This will generate an extracting fault of the embedded watermark bit due to the absence of the watermarked NQAC. The second feature is to transform the NQACi “2” or “−2” into “1” or “−1” while wi is “1”. The definition of the adjustment function AF is as follows:
wherein ⊕ denotes an XOR operation. For example, according to the results of the normal block watermarking, the NQACi “1” is “1”, “−2” is “−1”, “3” is “3”, “−4” is “−5” while wi is “1”. The other NQACi “1” is “2”, “−2” is “−2”, “3” is “2”, “4” is “4” while wi is “0”.
Step 111 is performed for all of the watermarks of the adjusted DCT block in step 110. When a hamming distance between a watermark of an adjusted coefficient and a corresponding original watermark is beyond the predetermined value, even if all other hamming distances are within the predetermined value for the same watermarked DCT block, step 116 will still affirm that the quantized DCT block is tampered.
In Step 113, a watermark is embedded into a Least Significant Bit (LSB) of a coefficient of the quantized DCT block. According to the characteristic of the few embedding capability in flat blocks, fewer watermarks are embedded into flat blocks than into normal blocks. Based on the robust of image authentication, we can find out the coefficients which can be safely embedded with watermarks by statistics. We count the existence probability of each NQAC coefficient by statistics for the flat blocks. Consequently, the absent positions of Quantized AC (QAC) coefficients, where the existence probability of NQAC is zero, are the safe watermarked points. Positions of the safe watermarked points with better quality are concentrated in middle-frequency region of the flat block according to frequency domain appearing in DCT of the JPEG lossy compression. We pick out four fixed watermarked points whose locations are (2, 6), (3,5), (5,3), and (6,1) in the 8-by-8 coefficient flat block and embed only one watermark bit into one of them, wherein the locations of the points in the northwest corner and the southeast corner of the 8-by-8 coefficient flat block are (1,1) and (8,8). To consider the security of image authentication, we use the fast one-dimensional pseudorandom number received in Step 100 to choose positions to be embedded by watermark bit “1”. We embed the watermark bit “1” into the LSB bit of the chosen i-th Quantized AC coefficient QACi in each flat block. The QACi will be altered to QACi′ as
Bit0(QACi′)=Bit0(QACi)⊕1, i=2*pk+1+pk (4)
wherein the value of i is between 0 and 3, the value of k is between the value of 0 and length of the fast one-dimensional pseudorandom number p, pk and pk+1 are the (k+1)-th and k-th bits of p, and the possible chosen locations of QACi in the 8-by-8 coefficient flat block can be represented as QACi{0≦i≦3}={(2,6),(3,5),(5,3),(6,1)}. For the better trade-off between the robust of image authentication and the quality of watermarked image, we can replace the pseudorandom number p with the last bit Bit0 and the first bit Bit1 of the quantized DC coefficient in each flat blocks. We have three watermark bits comprising Bit0, Bit1 of the pseudorandom number p and the embedded watermark bit to authenticate the tampered blocks in the flat blocks. It is very useful for the robust of image authentication and maintaining the quality of watermarked image.
In Step 114, the quantized DCT block is searched for the coefficient that contains a watermark. The previous fast one-dimensional pseudorandom number p in Step 113 is used to find out the watermarked coefficient by extracting the (k+1)th bit pk+1 and the kth bit pk of the pseudorandom number p.
In Step 116, the quantized DCT block is considered as a tampered block, and the blocks which are not tampered are authenticated blocks.
Please refer to
Please refer to
Please refer to
Please refer to
Please refer to
Please refer to
Please refer to
It is an advantage of the present invention that semi-fragile watermarking has excellent strength and sensitivity against tampering of image data, therefore semi-fragile watermarking is able to measure the degree of tampering of image data and distinguish malicious tampering of image data from legal image attacks.
Therefore, the present invention can detect whether the image is tampered maliciously or tampered by image compression. The present invention can also decrease the probability of misjudging illegal tampering (i.e. false positive) and authentication (i.e. false negative).
Number | Date | Country | Kind |
---|---|---|---|
093135061 | Nov 2004 | TW | national |