a method for protecting digital images from being copied illegally chin-chen chang, jyh-chiang yeh,...
TRANSCRIPT
A Method for Protecting Digital Images from Being Copied
Illegally
Chin-Chen Chang, Jyh-Chiang Yeh, and Ju-Yuan Hsiao
Outline
IntroductionDiscrete Cosine Transform ActionA Novel SchemeExperiment 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 ,is given by:nn
0for 1 and 0for 2
1)( where,1,...,1,0,for
]2
)2(cos[]
2
)2(cos[),(
)()(4),(
0 02
wC(w)wwCnvu
n
vlk
n
uljkjf
n
vCuCvuF
ln
j
ln
k
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 bits for a gray-scale image with image size pixels.
21 NN 21 MM
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 gray-scale image to obtain a transformed image with in total DCT blocks.
4421 MM
Secret Key Generation
In the second step, we use a secret seed 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.
sk
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:
WMK
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 t
he 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 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 .
sk
'M
Watermark Revelation
In the third step, we can reveal the watermark
by applying the exclusive-or operation on the bitmap and the secret key K that is kept by the trusted third party.
The process of the watermark revelation is defined as follows:
'W
KMW ''
'M
Experimental Results
In our experiments, the 512x512 gray-scale 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:
for an m*m image, the mean-square error (MSE) is defined as follows:
)(255
log10PSNR2
10 dBMSE
ly.respective image, protected theand image original
in the j][i, pixel theof valuescomponent thedenote and where
)(1
],[],[
1 1],[],[2
jiji
m
i
m
jjijim
MSE
Experimental Results
In addition, we introduce the NC to measure the quality of the revealed watermark and define it as follows:
. watermarkreveal theofelement an denotes
, watermarkoriginal theofelement an denotes where
),('),(
21
1 1
1 2
W'w'(i,j)
Ww(i,j)
NN
jiwjiw
(NC) nCorrelatio Normalized
N
i
N
j
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.