bility, the coefficients for modification are
)2,(iF
,
)3,(iF
,
)5,(iF
empirically. The average value of
the three coefficients:
3/)]5,()3,()2,([_ iFiFiFACaver +
=
(8)
If the watermark
1)(
=iw
, we should promote
the average value to the positive. The details are
as follows:
if
1_ ≥ACaver
, do not need to modify;
else if
1_0 <≤ ACaver
,
)_1(),(),(' ACaverjiFjiF −
=
(9)
Where
),(' jiF
is the modified coefficient, j=2, 3, 5.
else,
0_ <ACaver
,
)_(),(),(' ACaverfloorjiFjiF
=
(10)
Where floor(*) denotes the maximum integer that
is less than (*), and j=2, 3, 5.
If the watermark
1)( −
=iw
, we should demote
the average value to the negative. The details are
as follows:
if
1_ −≤ACaver
, do not need to modify;
else if
0_1 ≤<− ACaver
,
)_1(),(),(' ACaverjiFjiF −−+=
(11)
else
0_ >ACaver
,
)_(),(),(' ACaverceiljiFjiF
=
(12)
Where ceil(*) is the minimum integer that is
greater than (*), and j=2, 3, 5.
3) Repeat Step-2 until selected blocks are embedded
with watermarks. For the non-selected blocks, the
corresponding watermarking bit has no need to be
inserted. Then perform inverse DCT for those
blocks and finally obtain the watermarked image.
2.4 Watermark Extraction
The watermark extracting can be performed without
knowledge of the original image. Here are the steps
as follows:
1) Perform DCT compressed for each
88
block.
Select n blocks as mentioned in Section 2.2. Here
the
00025.0=Δ
is less than that of the inserting,
so some embedded blocks will be excluded as
the step halved of that of the embedding. We can
extract the information from these blocks.
2) For each selected block, the average of some
coefficients is computed as follows:
3/)]5,(')3,(')2,('['_ iFiFiFACAver +
(13)
Where
'_ ACAver
denotes the average value of
the three quantized AC coefficients, and
),(' jiF
denotes the j
th
quantized coefficients in
zigzag scanning order of the i
th
88×
block in the
watermarked image. The detected watermarking
bits are extracted according to sign of the average
value:
)'_()(' ACAversigniw
(14)
Where w’(i) indicate the extracted watermark,
and sign(*) is signed function.
For non-selected blocks such as those edge and
texture blocks, while the one is the
th
i
block of
the whole blocks, we set the corresponding
detected watermark information:
0)('
iw
. (15)
Repeat this step for every block till the whole
detected watermarking sequence is obtained.
Then we can get the extracted watermark
sequence w’ from {1, 0, -1}, with the length of L
the same as the number of all the blocks. When
the detected watermark is from {1, -1}, it means
we get the valid watermark information; else if
is {0}, the corresponding watermark bit is useless.
3) To evaluate the similarity of the extracted and
the original, we measure the similarity by the
following correlation function :
∑∑
==
=
L
i
L
i
iwiwiwNC
1
2
1
)('/)(')(
(16)
Where L is the length of the watermark sequence,
which is same as the number of the whole blocks,
w(i) is the original watermark and w’(i) is the
extracted. NC is the normalized correlation,
which range from -1 to 1. If NC>T, it implies that
there is a watermark existing in the testing image,
where T is an experimental value.
3 EXPERIMENTAL RESULTS
Several common image processing operations and
geometric distortions were applied to these images
to evaluate whether the correlation output of detector
SMOOTH BLOCKS-BASED BLIND WATERMARKING ALGORITHM IN COMPRESSED DCT DOMAIN
349