A Method for Protecting Digital Images from Being Copied Illegally

A Method for Protecting Digital
Images from Being Copied
Illegally
Chin-Chen Chang, Jyh-Chiang
Yeh, and Ju-Yuan Hsiao
Outline
Introduction
Discrete Cosine Transform Action
A Novel Scheme
Experiment Results
Introduction
In general, all digital watermarking
techniques can be classified into two
categories.
In the first category, the watermark is
embedded in the frequency domain.
In the second category, the embedding
process is executed just in the spatial
domain.
Introduction
 However, these methods have some drawbacks.
 First, since these methods do actually embed a
watermark in an image, it means that the content
of the image is more or less changed.
 Second, it may not be applicable to multiple
watermarking, because these methods can not
guarantee to keep the first embedded watermark
intact after the second watermark is embedded
in the image.
Discrete Cosine Transform Action
 In general, for the applications of image
processing, the definition of two-dimensional
DCT, block-sized n n ,is given by:
4C (u )C (v) n l n l
(2 j  l )u
(2k  l )v
F (u, v) 
f ( j , k )  cos[
] cos[
]

2
n
2n
2n
j 0 k 0
1
for u , v  0,1,..., n  1, where C ( w) 
for w  0 and C(w)  1 for w  0
2
Discrete Cosine Transform Action
 The top-left coefficient
of the DCT block is
called the DC
coefficient while the
others are called AC
coefficient.
A Novel Scheme
 Our scheme contains two phases:
secret key generation
 watermark revelation.
 Assume that we want to cast a watermark with
size N1  N2 bits for a gray-scale image with
image size M1  M 2 pixels.
Secret Key Generation
 At first, we must generate a bitmap M whose
size is the same as that of the watermark W to
be cast.
 Then, the generation of secret key K is
depended on the bitmap M and the watermark
W.
 In the first step, we apply 4x4 DCT on the grayscale image to obtain a transformed image with
in total M 1  M 2 DCT blocks.
4
4
Secret Key Generation
 In the second step, we use a secret seed k s as
the seed of a pseudo-random number generator.
 Then, the pseudo-random number generator is
used to select two different DCT blocks from the
transformed image randomly.
 If the DC coefficient of the former block is greater
than or equal to that of the later one, a binary
value 1 is stored in the bitmap M. Otherwise we
store a binary value 0.
Secret Key Generation
 In the third step, we apply the exclusive–or
operation on the bitmap M and the watermark W
to generate the secret key K.
 The generation of the secret key K is defined as
follows: K  M W
Secret Key Generation
 For example, if we randomly
select two different DCT blocks
X and Y from these DCT
blocks. Here we can take X
and Y for tuples of values.
 The tuple X is
<63,4,1,-2,-6>
The tuple Y is
<56,-1,0,2,1>
 because the DC coefficient of
the tuple X(63) is greater than
tuple Y(56), a binary 1 is
stored in the bitmap M
Watermark Revelation
 The process of watermark revelation is just the
same as that of the secret key generation,
except the third step.
 In the first step, we apply the same 4*4 DCT on
the protected image to obtain a transformed
image.
 In the second step, we use the secret seed k s
that is kept by the copyright owner himself as
the seed of the pseudo-random number
generator to perform the same random
sequence to construct a bitmap M ' .
Watermark Revelation
 In the third step, we can reveal the watermark W '
by applying the exclusive-or operation on the
bitmap M ' and the secret key K that is kept by
the trusted third party.
 The process of the watermark revelation is
defined as follows: W '  M ' K
Experimental Results
 In our experiments,
the 512x512 grayscale image in figure
3(a) is used as the
original image, and
the 64x64 binary
image in figure 3(b) is
used as the
watermark.
Experimental Results
 In order to evaluate the quality of the protected
image under various image processing, we
define the PSNR as follows:
PSNR  10 log 10
2552
(dB)
MSE
for an m*m image, the mean-square error (MSE)
is defined as follows:
1
MSE  2
m
m
m
 (
i 1 j 1
[i , j ]
 [ i , j ] )
where  [i , j ] and [i , j ] denote the component values of the pixel [i, j] in the
original image and the protected image, respective ly.
Experimental Results
 In addition, we introduce the NC to measure the
quality of the revealed watermark and define it as
follows:
N1 N 2
Normalized Correlatio n (NC) 
 w(i, j )  w' (i, j )
i 1 j 1
N1  N 2
where w(i,j) denotes an element of the original watermark W ,
w'(i,j) denotes an element of the reveal watermark W' .
Experimental Results
 In the first experiment,
the protected image
has been blurred and
sharpened,
respectively.
 The blurred image is
shown in figure 4(a)
and the revealed
watermark from the
blurred image is
shown in figure 4(b).
Experimental Results
 The sharpened image
is shown in figure 5(a)
and the revealed
watermark from the
sharpened image is
shown in figure 5(b).
Experimental Results
 In the second experiment,
we investigate the
sensitivities of our
method to rotate and
scale of images.
 Figure 6(a) shows the
rotated image that is
obtained by rotating the
protected image one
degree in the clockwise
direction .
Experimental Results
 Figure 7(a) is an
example where we
scale the protected
image with size
512x512 into size
256x256.
Experimental Results
In the third experiment, we manipulate the
brightness of the protected image and see
what happens.
Figure 8(a) and figure 9(a) show the
darkened and the brightened images.
respectively.
Experimental Results
Experimental Results
 Furthermore, the
revealed watermark can
be identified under JPEG
lossy compression ,too.
 Figure 10(a) shows the
JPEG compressed
version of the protected
image with the
compression ratio of 15:1.
Experimental Results
 In addition, we also conduct an experiment in
comparison with the scheme proposed by Chang and
Hwang.
 They divide the original image into lost of pixel blocks.
 In order to construct a bitmap with the same size of the
watermark, they repeatedly select a pixel block from the
original image and compare the variance of the pixel
block with the average of the variances of all pixel blocks.
 If the variance of the selected pixel block is greater than
the average of the variance of all pixel blocks, a binary
value 1 is stored in the bitmap.
 Otherwise, a binary value 0 is stored in the bitmap.