Comparison of Digital Image Watermarking Algorithms Xu Zhou Colorado School of Mines December 1, 2014 Outlier • • • • • Introduction Background on digital image watermarking Comparison of several algorithms Experimental Results Conclusion Introduction • Can be considered as a kind of a signature that reals the owner of the multimedia object. • Used for copyright protection, content authentication, tamper detection. • Three different types: visible watermark, invisible-robust watermark and invisible-fragile watermark • Three main requirements: transparency (or fidelity), robustness and capacity. Evaluation Criteria • Peak Signal to Noise Ratio (PSNR) • Normalized Cross-Correlation (NC) Classical Methods for Digital Image Watermarking Spatial Domain: • Least Significant Bit (LSB) Substitution Frequency Domain: • • • • • Discrete Cosine Transform (DCT) based watermarking Discrete Wavelet Transform (DWT) based watermarking Discrete Fourier Transform (DFT) based watermarking Discrete Hartley Transform (DHT) based watermarking etc. LSB based watermarking Watermark Embedding Algorithm For each pixel in base, watermark and watermarked image 1. set n least significant bits to zero for base image 2. shift right by 8-n bits for watermark 3. add values from base and watermark for the watermarked image. LSB based watermarking Watermark Extraction Algorithm For each pixel in watermarked image and extracted image 1. shift left by 8-n bits for watermarked image 2. set to the shifted value of watermarked image for extracted image DCT based watermarking The DCT transform and its inverse manner can be expressed as where πΆ π€ = 1 2, when w=0; πΆ π€ = 1, when w = 1, 2, 3, …, n-1 An image is usually divided into non-overlapped m*m block. In general, a block always consists of 8*8 components. The zigzag scanning implies (1) low frequency to high frequency (2) high energy distribution to low energy distribution DCT based watermarking Watermark Embedding Algorithm 1. Sequentially extract out every 8-bit data from watermark-bit-stream. 2. Obtain a random number, generated by pseudo random system, which points to one of n blocks of host image. 3. Embed extracted the 8-bit watermarking data into the 8 lower-band coefficients in the block pointed by previous step. 4. Repeat step 1 to step 3, until the watermark bit stream is run out. 5. The proposed employee replace bit to embedded watermark bit stream, and it was hidden at position bit 3 in the selected 8-bit coefficient. If the watermark bit is ‘1’, then bit 3 to ‘1’ otherwise ‘0’. DCT based watermarking Watermark Extraction Algorithm 1. Transform the watermarked image to frequency domain by DCT. 2. Use the same set of random numbers, which is applied in the embedding process. 3. Apply the random number to find the exact location of the DCT block in the watermarked image. 4. Extract 8-bit watermark data from each DCT block by means of the inverse embedded. The watermark bit is ‘1’ when bit 3 is ‘1’ of selected DCT-block coefficient otherwise the watermark bit is ‘0’. 5. Repeat the 8-bit data into watermark image. DWT based watermarking • A signal can be split into two parts, usually high frequency and low frequency. • Edge components are largely confined to the high frequency part. • Low frequency can be split again into two parts of high and low frequencies. DWT based watermarking Low pass filter: π» π = π βπ π −πππ High pass filter: πΊ π = π ππ π −πππ A signal can be decomposed recursively as ππ−1,π = βπ−2π ππ,π π ππ−1,π = ππ−2π ππ,π π A signal can be reconstructed from its DWT coefficients recursively ππ,π = βπ−2π ππ−1,π + π ππ−2π ππ−1,π π We often use Haar wavelet filters: 1 1 1 1 π» π = 2 + 2 π −ππ€ , and πΊ π = 2 − 2 π −ππ€ DWT based watermarking Watermark Embedding algorithm 1. Decompose the original image into several bands with a pyramid structure. 2. Add a pseudo-random sequence (Gaussian noise) to the largest coefficients. Specifically, let y[m,n] denote the DWT coefficients, N[m,n] is a Gaussian noise sequence with mean 0 and variance 1. π¦ π, π = π¦ π, π + πΌπ¦ 2 π, π π[π, π] where πΌ is a parameter to control the level of the watermark, the square indicates the amplification of the largest DWT coefficients. 3. Take the two dimensional IDWT of the modified DWT coefficients π¦ and the unchanged DWT coefficients at the lowest resolution. DWT based watermarking Watermark Extraction Algorithm 1. Decompose the watermarked image into four bands. 2. Compare the watermark added in the HH1 band and the difference of the DWT coefficients in HH1 bands of the watermarked and the original images by calculating their cross correlations. If there is a peak, watermark is detected. 3. If 2 is not satisfied, do that in HH1 and LH1 bands, respectively. 4. If watermark is still not detected, compose the signals in the LL1 band into four additional subbands LL2, LH2, HL2, and HH2 and repeat 2-3. 5. Several times later, we assume watermark cannot be detected. DFT based watermarking Watermark Embedding Algorithm 1. Take the Fourier transform of the original image and move the low frequency to magnitude coefficients to the center. 2. Use the pseudo-random (PRND) number generator to obatin the row vector v with l binary elements. 3. Determine the watermark: π π₯π , π¦π = π£ π 1 9 π π π π₯π + π , π¦π + π‘ π =−1 π‘=−1 π ππ π₯π = + 1 + πππππ(π0 cos( )) 2 π π ππ π¦π = + 1 + πππππ(π0 sin( )) 2 π 4. Calculate the magnitude coefficients ππ€ π₯, π¦ = π π₯, π¦ + πΌ ∗ π(π₯, π¦) 5. Take the inverse Fourier Transform. DFT based watermarking Watermark Extracting Algorithm 1. Take the Fourier transform of the watermarked image. 2. Extract the row vectors form radius rmin to rmax and resize and normalize for the adjustment. 3. Calculate the cross covariance between the extracted vector and the generated vector. If the maximum value of cross covariance exceeds a threshold, we say the watermark is detected. Experimental Results Take DCT for example. PSNR = 35.6360; NC =1; Experimental Results Take DCT for example. PSNR = 21.8958; NC = 0.9687; Experimental Results Take DCT for example. PSNR = 29.4418; NC = 1; Experimental Results Take DCT for example. PSNR = 42.9229; NC =1; Experimental Results Take DCT for example. PSNR = 42.9559; NC = 0.8591; Experimental Results Take DCT for example. PSNR = 42.9267; NC =0.4810; Experimental Results Image Processing Operations Geometric Attacks Noise Low Pass Filtering Blurring Rotation Scaling Cropping LSB N N N N N N DCT Y Y Y N N N DWT Y N N Y Y Y DFT N N N Y Y Y Conclusion • Digital image watermarking is an important tool for copyright protection, content authentication and tamper detection. • Can implement watermarking in both spatial domain and frequency domain. • Different algorithms are focusing on different effects, but in general the result of frequency domain is better. • Can combine different algorithms to obtain better results. Reference • • • • • • V. Potdar, S. Han, E. Chang, “A Survey of Digital Image Watermarking Techniques”, IEEE International conference on Industrial Informatics (INDIN), pp. 709-716, 10-12 Aug., 2005 J. Huang, Y. Q. Shi, Y. Shi, “Embedding Image Watermarks in DC Components”, IEEE Transactions on Circuits and System for Video Technology, vol. 10, no. 6, pp. 974979, Sept. 2000 X. Kang, J. Huang, Y. Q. Shi, Y. Lin, “A DWT-DFT Composite Watermarking Scheme Robust to Both Affine Transform and JPEG Compression”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 8, pp. 776-786, Aug. 2003 C.K. Chan, L.M. Cheng, “Hiding data in images by simple LSB substitution”, Pattern Recognition, vol. 37, pp. 469-474, Mar. 2004 X.G. Xia, C.G. Boncelet, G.R. Arce, “Wavelet transform based watermark for digital images”, Optics Express, vol. 3, no. 12, pp. 497-511, Dec. 1998 V. Solachidis, I. Pitas, “Circularly symmetric watermark embedding in 2-D DFT”, IEEE Transactions on Image Processing, vol. 10, no. 11, pp. 1741-1753, Nov. 2001