Professional Documents
Culture Documents
N
w
be the size of embedded binary-valued watermark W.
In order to enhance the safety and robustness, we
process the original image I with Arnold transform to
obtain the scrambled image
'
I . The transform is a process
of clipping and splicing that realign the pixel matrix of
digital image. The Arnold transform is shown as follow
[8]
( )
' 1,1
mod
' 1, 2
x x
N
y y
=
, (1)
where x and y are the pixel position of original image,
' x and ' y are the pixel position of scrambled image. N is
the height or width of the image processed. The transform
Third International Conference on Natural Computation (ICNC 2007)
0-7695-2875-9/07 $25.00 2007
Authorized licensed use limited to: CENTRE FOR DEVELOPMENT OF ADVANCED COMPUTING. Downloaded on March 10,2010 at 06:58:34 EST from IEEE Xplore. Restrictions apply.
changes the pixel position for several times, a scrambled
image can be generated as follow
1
', ' ,
(mod )
T T
x y x y
p p N
+
= A , (2)
where
,
T
x y
p and
1
', '
T
x y
p
+
are pixel of original image and
scrambled image respectively, A is Arnold transform
matrix, T is times of Arnold transform.
A scrambled image is shown in Figure 1.
(a) Original image (b) Scrambled image
(For 3 times)
Figure 1. Original Lena image and the scrambled image
With a secret key, we get two pseudo-random
sequences p and q:
{ } { }
r
| 1, 1 , 0 1
k k
p p p k c = (3)
{ } { }
r
| 1, 1 , 0 1
k k
q q q k c = (4)
where
2
r I w
( / 4 ) c N N = is the length of pseudo-random
sequence.
We shape p and q into square matrix P and Q by Z
scan and modulated W using P and Q. The expression for
modulated matrix M is written
w
w
w w w w
11 12 1
21 22 2
1 2
N
N
N N N N
=
M
"
"
# # # #
"
, (5)
w w
, , 1, 2,..., ; 1, 2,...,
, 0
,
, 1
ij ij
ij
ij
ij
i N j N
w
w
w
= =
=
=
W M M
P
M
Q
,
(6)
We perform 2-level wavelet decomposition with the
Haar wavelet on the scrambled image
'
I . To balance of
robustness and invisibility, we embed the watermark into
subbands HL2 and LH2. 2-level horizontal coefficient
matrix H denotes subband HL2, and 2-level vertical
coefficient matrix L denotes subband LH2. H and L are
divided into
2
w
N non-overlapping blocks
ij
H and
ij
L
w w
( =1,2,..., ; =1,2,..., ) i N j N respectively. Watermark are
embedded into blocks
ij
H and
ij
L , we then have
2
w
N new
non-overlapping blocks
'
ij
H and
'
ij
L as follow
w w
'
=1, 2, ..., ; =1, 2, ..., ,
ij ij ij
i N j N = + H H M , (7)
w w
'
ij
=1, 2, ..., ; =1, 2, ..., ,
ij ij
i N j N = + L L M , (8)
where is embedding strength of the watermark.
The watermarked matrix
'
H and
'
L are written
w
w
w w w w
' ' '
11 12 1
' ' '
21 22 2 '
' ' '
1 2
...
...
...
N
N
N N N N
=
H H H
H H H
H
H H H
# # # #
, (9)
w
w
w w w w
' ' '
11 12 1
' '
21 22 2 '
'
1 2
...
...
...
N
N
N N N N
=
'
' '
L L L
L L L
L
L L L
# # # #
, (10)
A 2-level inverse DWT and an inverse Arnold
transform are performed to generate the watermarked
image.
2.2 Watermark extraction algorithm
The watermark extraction process is the inverse
procedure of the watermark embedding process. At the
receiver end, the secrete key is required during watermark
extraction process. With the key, p and q are reproduced.
Thus, square matrix P, Q can be obtained. An Arnold
transform is performed on watermarked image. 2-level
wavelet decomposition with the Haar wavelet is
performed on the scrambled watermarked image. We
divide 2-level horizontal coefficient matrix
''
H and 2-level
vertical coefficient matrix
''
L into
2
w
N non-overlapping
blocks
''
ij
H and
''
ij
L
w w
( =1,2,..., ; =1,2,..., ) i N j N
respectively.
Watermark extraction is completed by calculating the
correlation between coefficient matrix and square matrix
P, Q respectively. The correlation property
0
ij
c and
1
ij
c are
defined as
w w
''
=0 =0
0
''
, { , }
N N
ij
ij ij ij ij
i j
c
=
P F
F H L
P P
, (11)
w w
'' ''
=0 =0
1
, { , }
N N
ij
ij ij ij ij
i j
c
=
Q F
F H L
Q Q
, (12)
The extracted value
'
ij
w can be evaluated as follow
Third International Conference on Natural Computation (ICNC 2007)
0-7695-2875-9/07 $25.00 2007
Authorized licensed use limited to: CENTRE FOR DEVELOPMENT OF ADVANCED COMPUTING. Downloaded on March 10,2010 at 06:58:34 EST from IEEE Xplore. Restrictions apply.
w w
0 1
1 0
'
1, 2, ... ; 1, 2,...
0,
,
1,
ij ij
ij ij
ij
i N j N
c c
w
c c
= =
>
=
>
, (13)
The extracted watermark matrix
e
W is written
w
w
w w w w
' ' '
11 12 1
' ' '
21 22 2
e
' ' '
1 2
...
...
...
N
N
N N N N
w w w
w w w
w w w
=
W
# # # #
. (14)
The watermark embedding and extraction process is
described in Figure 2.
Figure 2. watermark embedding and extraction process
3. Optimization with Genetic Algorithm
In our work, we apply GA to obtain the optimized
watermarking performance. There are two parameters to
be considered: embedding strength ( ) and times of
Arnold transform (T ). We need to balance the impacts
caused by both factors. Therefore, the searching objective
function is designed by using two factors related to
robustness and invisibility of a watermarking algorithm.
The detail of the GA training process is described as
follow:
1) Chromosome Encoding: There are 20 chromosomes
used in this work. The chromosomes are encoded using
binary string encoding scheme. Each chromosome
consists of two parameters and T to be searched.
2) Fitness function: By properly selecting the fitness
function in GA training, we can optimize both the
watermarked image quality and the robustness of the
watermarking algorithm. For the invisibility measure, we
calculate peak signal-to-noise Ratio (PSNR) value of the
watermarked image. The higher the PSNR value, the
better the invisibility of watermark. We calculate the
Normalized Cross-correlation (NC) between the
embedded watermark and the extracted one which has
been attacked. The higher the NC value, the better the
robustness of the watermark. PSNR and NC lie on
parameters and T, the higher the value, the lower the
PSNR value but the higher the NC value. In Arnold
transform, higher T value is used to gain high robustness
performance, but if the error is arisen during watermark
extraction process, high T value may lower the quality of
the watermarked image. Therefore, the proper and T
should be searches. In the GA training process, the fitness
function can be evaluated as follow
p PSNR NC
1
i
i
n
i
f = r ( ,T ) + v ( ,T )
n
, (15)
where n is the number of attacking schemes,
PSNR
r is
value of PSNR,
NC
i
v is value of NC,
p
and
i
are the
weight factor for
PSNR
r and
NC
i
v respectively. (The
relationship
p
1
1.0
n
i
i
=
+ =