Comparison of Digital Image Watermarking Algorithms Xu Zhou Colorado School of Mines

advertisement
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
Download