You are on page 1of 20

Journal of Network and

Computer Applications 30 (2007) 423


VQ-based watermarking scheme with genetic
codebook partition
Feng-Hsing Wang
a,
, Lakhmi C. Jain
a
, Jeng-Shyang Pan
b
a
University of South Australia, Knowledge-Based Intelligent Engineering System Centre,
School of Electrical and Information Engineering, Australia
b
National Kaohsiung University of Applied Sciences, Department of Electronics Engineering,
Kaohsiung, Taiwan, R.O.C.
Received 28 June 2005; accepted 28 June 2005
Abstract
To enhance the traditional vector quantisation (VQ) system by adding the watermarking
ability, a digital image watermarking scheme, which modies the VQ indices to carry
watermark bits, is presented. This scheme partitions the main codebook into two sub-
codebooks by referring to the user-key. Then, for each input vector of the cover image, a sub-
codebook is selected according to the watermark bit to be embedding. The traditional VQ
coding procedure is then done using the sub-codebook for the vector. Furthermore, to
improve the performance of the scheme, a genetic codebook partition (GCP) procedure, which
employs the genetic algorithm (GA) to nd a better way to split the codebook, is proposed. It
is demonstrated that the proposed methods provide faster encoding time, better impercept-
ibility, stronger robustness under some common attacks, and easier implementation than some
related VQ-based watermarking schemes proposed in the literature.
r 2005 Elsevier Ltd. All rights reserved.
Keywords: Image watermarking; Vector quantisation; Codebook partition; Genetic algorithm
ARTICLE IN PRESS
www.elsevier.com/locate/jnca
1084-8045/$ - see front matter r 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.jnca.2005.08.002

Corresponding author.
E-mail addresses: wanfy002@students.unisa.edu.au (F.-H. Wang),
lakhmi.jain@unisa.edu.au (L.C. Jain), jspan@cc.kuas.edu.tw (J.-S. Pan).
1. Introduction
With the rapid development of multimedia and the fast growth of the Internet, the
need for copyright protection, ownership verication, and other issues for digital
data are getting more and more attention nowadays. Among the solutions for these
issues, digital watermarking techniques (Nikolaidis and Pitas, 1999; Barni and
Bartolini, 2004) are the most popular ones lately. A variety of watermarking
methods has been proposed, where most of them are based on the spatial domain or
the transform domain. In recent years, some researchers have paid attention on
embedding watermarks in the vector quantisation (VQ) (Gersho and Gray, 1992)
domain, since these schemes can enhance the traditional VQ system by adding the
watermarking ability.
Lu and Sun (2000) introduced their method where they partitioned the original
VQ codebook into a number of groups by referring to a secret key. They then
modied the VQ indices to hide the watermark bits. Their method requires the
original cover image to be presented during extraction. To improve this method, Lu
et al. proposed another method in Lu et al. (2000). However, this method requires
expanding the codebook used. Jo and Kim (2002) proposed a method to improve
imperceptibility. They suggested partitioning the codebook used into three groups
according to a given threshold, and using two of them in the watermark embedding
procedure. In a similar way to Lu and Sun (2000), they modied the indices obtained
to carry watermark bits. Unlike the techniques which split the codebook used into
groups for embedding, Huang et al. (2001, 2002) suggested hiding watermark bits in
the output keys according to the VQ indices obtained, so that their methods can
provide better imperceptibility.
In this paper, we begin with the introduction of VQ and genetic algorithms (GAs)
in Section 1. Some related VQ-based watermarking schemes are described in Section
2. We present our watermarking scheme in Section 3 and the genetic codebook
partition (GCP) procedure for improving the performance of the proposed
watermarking scheme in Section 4. Experimental results given in Section 5 will
demonstrate the superiority of our methods in comparison to other reported
techniques in the literature. Section 6 discusses some related issues and Section 7
summaries this paper.
1.1. Vector quantisation (VQ)
VQ (Gersho and Gray, 1992) is an old coding method which has been applied
successfully on image coding and speech coding. For image coding, the image to be
coded is rst decomposed into non-overlapping vectors (or, blocks) of size d pixels.
For each of the vectors, a nearest-codeword-search process is performed to nd a
codeword with the minimum distortion from the assigned codebook. The index of
the obtained codeword is afterwards transmitted to the receiver. In the receiver, a
table-lookup procedure using the same codebook as in the encoding procedure is
carried out. According to the index received, the corresponding codeword from the
codebook is output and regarded as the reconstructed vector.
ARTICLE IN PRESS
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 5
In the above coding procedure, the input vector is compressed into log
2
L=s of its
original size, where L is the number of codewords contained in the codebook, log
2
L
is the length of each index, and s is the size (in bit) of each vector. For example, for a
given vector with size d 4 4 pixels, if the vector is in grey-level format (8 bits/
pixel) and the codebook contains L 256 codewords therein, then the VQ system
uses log
2
L 8 bits to express each vector (whose size is s d 8 128 bits).
Thus, the input vector is compressed into 8=128 which is 1=16 of its original size.
1.2. Genetic algorithm (GA)
GA (Goldberg, 1992) is one branch of evolutionary algorithms which simulate the
natural evolution process to evolve solutions for problems. The basic concept of
GAs is based on Darwins natural selection theory: members of an environment
struggle and compete for surviving and producing their offsprings. Usually, the tter
members have higher surviving rate and therefore they have more chances to
produce offsprings. By passing their chromosomes and genes to their offsprings, they
should have similar predominance to survive in the same environment. Fig. 1
illustrates the general steps for the GA searching procedure. Their brief details are
described as follows.
Initialisation: To apply GAs to solve a problem, the tness function and some
parameters for the problem have to be dened. Usually, the parameters that affect
the tness function are regarded as the genes. All the genes are combined together to
form a chromosome. An individual may consist of more than one chromosome. In
this step, the number of individuals and chromosomes, the selection rate, the
crossover rate, the mutation rate, and the considered GA iteration are dened. Also,
the initial genes are generated (within the considered range) randomly.
Evaluation: The performance of each individual is measured according to the
tness function and its genes. Obviously, an individual with good genes (parameters)
usually has good performance. It therefore is more t in the environment.
Selection: Similar to the natural world that tter individuals have a higher chance
to survive and produce offsprings, some bad-performance individuals are discarded
according to a selection rate, r
s
, in this step.
Crossover: Some new individuals, called children, are produced from the survived
individuals in this step. First of all, two individuals, called parents, are selected from
the survived individuals using the well-known roulette-wheel-selection scheme
(Goldberg, 1992) or other type of scheme. Then, a pre-dened crossover rate, r
c
, is
referred to decide whether the crossover operator is performed or not. That is, if a
random-generated probability is higher than r
c
, the crossover operator is then
skipped and the selected parents are simply copied to the children without any change.
Otherwise, a crossover point (or multiple crossover points sometimes) between the
rst and the last chromosomes is determined randomly. The fractions of each parent
are then exchanged after the point, and two child individuals are produced. This
process is repeated until the needed number of child individuals are produced.
Mutation: A mutation operator is considered in order to avoid GAs get trapped on
a local optimum. This usually happens when most individuals in one certain
ARTICLE IN PRESS
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 6
generation are very similar. In this step, each gene of all individuals is checked.
According to a pre-dened mutation rate, r
m
, if a random-generated probability is
less than r
m
, the current gene is mutated to another random value (which is within
the considered range).
Termination test: To terminate the GA training procedure, the number of
iteration, t, dened beforehand is referred to. That is, if the iteration is met, then the
training procedure is stopped and the individual with the best performance is output
as the trained result.
2. Related VQ-based watermarking schemes
In this section, the watermarking schemes proposed in Lu and Sun (2000) and Jo
and Kim (2002) are illustrated briey. To begin with, we dene that C is a codebook,
ARTICLE IN PRESS
Fig. 1. The block diagram of the GA training procedure.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 7
X is a cover image, and W is a watermark to be embedded into X. The information
used for splitting C into sub-codebooks is regarded as the user-key.
After decomposing X into many non-overlapping vectors, fx
1
; x
2
; . . . ; x
T
g, where
T is the number of vectors and the size of either vector is d pixels, the traditional VQ
encoding procedure is performed to obtain the nearest codewords from C for all the
vectors. The following sections then illustrate how the related VQ-based methods
modify these codewords to carry the watermark bits.
2.1. Lu Suns method
For simplicity, the description below is limited to embedding only one watermark
bit into each vector.
2.1.1. Original method
In Lu and Sun (2000), the codebook C was partitioned into N groups,
fG
1
; G
2
; . . . ; G
N
g, where C G
1
[ G
2
[ [ G
N
, G
1
\ G
2
\ \ G
N
;, and
G
i
fc
i
0
; c
i
1
g1pipN). The partitioned results are shown in Fig. 2.
For a given vector x, we assume that codeword c
p
g
2 G
p
, where 1pppN and
g 2 f0; 1g, is the nearest codeword. To hide the corresponding watermark bit w in x,
the jth codeword of G
p
is given as the watermarked vector, x
0
:
j g wMODkG
p
k, (1)
x
0
c
p
j
. (2)
Here kG
p
k denotes the number of codewords contained in group G
p
(for
embedding only one bit into each vector, kG
p
k 2) and 0pjokG
p
k. In Fig. 2, c
p
1
is
the nearest codeword to x (where g 1). If w 0, then codeword c
p
1
is used. If
w 1, codeword c
p
0
is used. After all the watermark bits have been embedded into
the corresponding vectors, the output vectors are pieced together to form the
watermarked image, X
0
.
ARTICLE IN PRESS
Fig. 2. Partitioning the codebook used in N groups by applying LuSuns method, where x is a test vector.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 8
In addition, due to the embedding strategy used, Method (Lu and Sun, 2000)
requires the original cover image to be presented during extraction; otherwise, the
hidden information cannot be obtained.
2.1.2. Modied method
To improve the shortage of requiring the original cover image during extraction,
the embedding strategy, which is Eqs. (1) and (2), is modied as
x
0
c
p
w
. (3)
That is, after obtaining the nearest codeword from C for x, which means p can be
determined, and according to the bit, w, for embedding, codeword c
p
w
is selected and
regarded as the output watermarked vector, x
0
.
2.2. Jo Kims method
In Jo and Kim (2002), codebook C was partitioned into three groups,
fG
1
; G
0
; G
1
g, according to a given threshold D. Here C G
1
[ G
0
[ G
1
,
G
1
\ G
0
\ G
1
;, and G
i
fc
i
1
; c
i
2
; . . . ; c
i
M
g when i 2 f0; 1g. Fig. 3 shows the
partitioned results.
For a given vector x, we assume that codeword c is the nearest codeword and w is
the watermark bit for embedding. If c 2 G
1
, then no watermark bit is embedded
into x. If c c
g
p
2 G
g
, where g 2 f0; 1g and 1pppM, then the pth codeword of G
w
is
output as the watermarked vector:
x
0
c
w
p
. (4)
For instance, in Fig. 3, c
1
p
is the nearest codeword to x. To embed a bit-0,
codeword c
0
p
is used; otherwise, c
1
p
is used. After all watermark bits have been
ARTICLE IN PRESS
Fig. 3. Partitioning the codebook used into three groups by applying JoKims method, where x is a test
vector.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 9
embedded into the input vectors, we assemble all the output vectors to form a
watermarked image, X
0
.
In addition, when assigning more codewords to group G
1
, which means a smaller
threshold of D is used, the method provides better imperceptibility but lower
embedding capacity.
2.3. Summary of Lu Suns and Jo Kims methods
From Sections 2.1 and 2.2, it can be seen that, if (i) for Lu and Sun (2000), only
one bit is embedded in each vector (that is, kG
i
k 2 where 1pipN), and (ii) for Jo
and Kim (2002), D is large enough (that is, kG
1
k 0 and M N), then Lu and
Sun (2000) and Jo and Kim (2002) will have the similar performance.
For example, we collect fc
1
0
; c
2
0
; . . . ; c
N
0
g, the rst codewords of all groups in Fig. 2,
as set S
0
, and collect fc
1
1
; c
2
1
; . . . ; c
N
1
g, the second codewords of all groups, as set S
1
, as
shown in Fig. 4. Comparing Fig. 3 with Fig. 4 and Eq. (3) with Eq. (4), it can be seen
that both methods use the same strategy to modify the vectors obtained for carrying
watermark bits. We can now say that Lu and Sun (2000) and Jo and Kim (2002)
possess similar features and performance, but Jo and Kim (2002) provides an extra
parameter, D, to control imperceptibility or capacity.
3. Proposed watermarking scheme
3.1. Codebook partition
For a given codebook C which contains L codewords fc
1
; c
2
; . . . ; c
L
g, a user-key
K fk
1
; k
2
; . . . ; k
L
j8k
i
2 f0; 1g; 1pipLg is used to split it into two sub-codebooks
G
0
and G
1
. That is, codeword c
i
, where 1pipL, is assigned to group G
k
i
. The
relationships among C, G
0
, and G
1
are C G
0
[ G
1
and G
0
\ G
1
;. Similar to Lu
ARTICLE IN PRESS
Fig. 4. Collecting the rst codewords of all groups to form another group S
0
and collecting the second
codewords of all groups to form group S
1
.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 10
and Sun (2000) and Jo and Kim (2002) we use the codewords in G
0
and G
1
to hide
bit-0 and bit-1, respectively.
3.2. Embedding procedure
The steps for enabling the normal VQ system to have the watermarking ability are
illustrated. They are as follows:
Step 1: Partition the original codebook, C, into two sub-codebooks, G
0
and G
1
, by
applying the method mentioned in Section 3.1 with the user-key, K.
Step 2: Divide the cover image, X, into a number of non-overlapping vectors,
fx
1
; x
2
; . . . ; x
T
g, where T is the number of vectors and the size of each vector is d
pixels.
Step 3: For an input vector x
i
, 1pipT, and the watermark bit w
i
2 f0; 1g to be
embedded into it, set sub-codebook G
w
i
as the used codebook for the VQ system
(i.e., if w
i
0 then G
w
i
G
0
is selected).
Step 4: Execute the traditional VQ nearest codeword search to obtain a nearest
codeword from G
w
i
for x
i
.
Step 5: Output the obtained codeword as the watermarked vector, x
0
i
.
Step 6: Repeat Steps 35 until all the watermark bits have been handled.
Step 7: Reconstruct the VQ decoded image X
0
, which is also the watermarked
image, by piecing together all the output vectors fx
0
1
; x
0
2
; . . . ; x
0
T
g.
The process of embedding w
i
into x
i
, which is Step 3 to Step 5, is illustrated in
Fig. 5(a).
3.3. Extraction procedure
To extract the hidden watermark bits from a received watermarked image, the
steps given below are applied.
Step 1: Decompose the received watermarked image,
^
X, into a number of non-
overlapping vectors, f^ x
1
; ^ x
2
; . . . ; ^ x
T
g, where T is the number of vectors and the size of
each vector is d pixels.
ARTICLE IN PRESS
Fig. 5. Proposed embedding method (a) and extraction method (b).
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 11
Step 2: For an input vector ^ x
i
, where 1pipT, execute the traditional VQ nearest
codeword search to obtain a nearest codeword from the original codebook C. Here
we assume that c
j
, where 1pjpL, is the obtained codeword.
Step 3: Determine the watermark bit hidden in c
j
according to its index, j, and the
user-key, K:
w
0
i
k
j
2 f0; 1g, (5)
where w
0
i
is the extracted watermark bit and k
j
is the jth element of K.
Step 4: Repeat Steps 2 and 3 until all the hidden watermark bits, fw
0
1
; w
0
2
; . . . ; w
0
T
g,
have been extracted.
Step 5: Assemble fw
0
1
; w
0
2
; . . . ; w
0
T
g to form a recovered watermark, W
0
.
The process of extracting w
0
i
from ^ x
i
, which is Step 2 to Step 3, is illustrated in Fig.
5(b).
In the above extraction procedure, splitting the original codebook into two sub-
codebooks is unnecessary. The key, K, here is referred to merely indicate which
codeword belongs to which sub-codebook. In other words, without the key which
was used in the embedding procedure, no useful information can be extracted from
the watermarked image.
4. Genetic codebook partition (GCP)
As investigated in Hwang (2003), partitioning the original codebook into sub-
codebooks (or groups) plays an important role in the VQ-based watermarking
schemes such as Lu and Sun (2000) and Jo and Kim (2002). In this section, we focus
on the method of partitioning a codebook and present our GCP method. It employs
GAs to nd a better way to split the given codebook. Due to this, the
imperceptibility provided by the introduced VQ-based watermarking scheme can
be improved. The steps for the GCP method are as follows:
Step 1: Generate S keys, fK
1
; K
2
; . . . ; K
S
g, randomly as the initial GA individuals.
Step 2: Embed the given watermark, W, into the given cover image, X, using
fK
1
; K
2
; . . . ; K
S
g, respectively.
Step 3: Evaluate the performance of each individual according to the given tness
function.
Step 4: Select r
s
S individuals with best tness scores and discard the remaining
1 r
s
S bad individuals, where r
s
is a pre-dened selection rate.
Step 5: Output the best individual and terminate the training procedure if the
considered iteration, t, is met. Otherwise, keep executing the following steps.
Step 6: Execute the crossover procedure to generate S new individuals for next
generation according to the pre-dened crossover rate, r
c
.
Step 7: Mutate the genes of the new individuals according to the pre-dened
mutation rate, r
m
.
Step 8: Go to Step 2.
In Step 1, due to the goal of the GCP procedure is to nd a better way to split the
codebook used, the key, K, therefore is regarded as a GA individual. We generate
ARTICLE IN PRESS
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 12
S keys randomly as the initial GA individuals. For example, if S 3 and L 6, then
S keys with length L bits such as K
1
f0; 1; 1; 0; 1; 0g, K
2
f0; 0; 0; 0; 0; 1g, and K
3

f1; 1; 0; 0; 1; 0g can be used.
In the embedding step, which is Step 2, the VQ-based watermark embedding
procedure introduced in Section 3.2 is employed. Each generated key is referred to
split C into two groups for embedding W into X. By repeating this embedding
procedure for S time, where in each time a different key is used, S watermarked
images, fX
0
1
; X
0
2
; . . . ; X
0
S
g, can be obtained.
Afterwards, we evaluate the performance for these individuals according to the
given tness function like:
f
i
f
I
X; X
0
i
; i 1; 2; . . . ; S, (6)
where f
i
is the tness score of K
i
and f
I
is a imperceptibility evaluating function (e.g.,
PSNR, see Eq. (10)). By calculating the tness score for each watermarked image, we
can obtain ff
1
; f
2
; . . . ; f
S
g, which denotes the performance of fK
1
; K
2
; . . . ; K
S
g,
respectively.
In Step 4, according to these scores and a pre-dened selection rate, r
s
, the r
s
S
good individuals are selected and the remaining 1 r
s
S individuals are discarded.
For those survived individuals, probabilities, fr
1
; r
2
; . . . ; r
n
g, for being selected as
parent individuals in the crossover step are assigned according to their performance,
ff
0
1
; f
0
2
; . . . ; f
0
n
g, where n r
s
S, f
0
i
(1pipn) is the tness score of the ith selected
individual, and
f
sum

X
n
i1
f
0
i
, (7)
r
i

f
0
i
f
sum
100%; i 1; 2; . . . ; n, (8)
X
n
i1
r
i
1. (9)
As described in Section 1.2, according to fr
1
; r
2
; . . . ; r
n
g, two individuals are
selected from the survived individuals using the roulette-wheel selection scheme or
any other selection scheme to produce offsprings. This step nally generates S new
individuals for next generation. That is, when there is no individual discarded in the
selection step (i.e., r
s
100%), S child individuals are produced; otherwise, 1
r
s
S child individuals are produced to replace the discarded individuals. In Step 7,
we check each gene of the new individuals according to a pre-dened mutation rate,
r
m
. That is, if a random probability generated for gene k is less than r
m
, then k is
mutated as 1 k. This step means the corresponding codeword is removed from
group G
k
and assigned to another group G
1k
.
The above steps are repeated until the considered iteration, t, is met. Finally, the
individual with the best tness score in the nal generation is output as the trained
result, as described in Step 5. The output result of the GCP procedure can be used in
ARTICLE IN PRESS
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 13
the mentioned VQ-based watermarking scheme to provide better watermarking
result in imperceptibility.
5. Simulation results
In our simulation, the image of LENA (Fig. 6(a)) with size 512 512 pixels
in 8 bits grey-level was used as the cover image. The image of ROSE (Fig. 6(b))
with size 128 128 pixels in bi-level was used as the watermark. A code-
book containing L 256 codewords was obtained from Fig. 6(a) by applying
the LBG algorithm (Gersho and Gray, 1992) with a threshold of 10
4
. We
decomposed the cover image into T 16 384 non-overlapping blocks of size 4 4
pixels (d 16).
To evaluate the performance of the proposed methods, we employed the well-
known peak-signal-to-noise ratio (PSNR) and the bit-correct rate (BCR) to examine
imperceptibility and robustness, respectively. Their denitions are:
PSNRX; X
0
10 log
10
255
2
MSEX; X
0

, (10)
MSEX; X
0

P
H
j1
P
W
i1
xi; j x
0
i; j
2
W H
, (11)
where MSE is the mean square error, W and H are the width and height of images
X or X
0
, and xi; j and x
0
i; j are the pixel values in position i; j of X
ARTICLE IN PRESS
Fig. 6. The cover image (a) and the watermark (b) used in the experiments.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 14
and X
0
, respectively.
BCRW; W
0
1
P
L
W
i
jw
i
w
0
i
j
L
W
!
100%, (12)
where L
W
, w
i
, and w
0
i
are the size of the watermark, the ith bit of W, and the ith bit of
W
0
, respectively.
In addition, without embedding any bit into the cover image, the PSNR value
between the cover image and the VQ coded image is 31.80 dB.
5.1. Performance without GCP
5.1.1. Imperceptibility test
To determine an objective performance of the proposed watermarking scheme,
10 000 experiments without the GCP procedure were done. In each of the
experiments, a codebook partition key was generated randomly to partition the
original codebook into two sub-codebooks, where kG
0
k kG
1
k 128 codewords.
As a comparison, Method (Jo and Kim, 2002) was also run 10 000 times with the
same test data and a threshold of D 100. As previously mentioned in Section 2.3,
Methods (Lu and Sun, 2000; Jo and Kim, 2002) have similar performances, therefore
here we only compare the proposed method with Jo and Kim (2002).
Fig. 7 displays the PSNR values of the 10 000 experiments. Table 1 lists the
performance of both methods, where AEB denotes the average embedded bits,
APSNR denotes the average PSNR value, and BPSNR denotes the best PSNR value
of the experiments.
5.1.2. Robustness test
To test the robustness of the proposed watermarking scheme, some common
image processing methods listed in Table 2 were employed to attack the
watermarked images. From the 10 000 experiments, one experiment is selected
randomly and its test results are listed here. The PSNR value between the cover
ARTICLE IN PRESS
Fig. 7. Experimental results of 10 000 experiments using JoKims scheme (left) and the proposed scheme
(right).
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 15
image and the watermarked image is 29.78 dB. Fig. 8 displays the watermarks
extracted from the attacked images and Table 2 lists the robustness results.
For comparison, we also employed the same attacks to test Method (Jo and Kim,
2002). Table 3 lists the embedded results when different values of threshold D are
ARTICLE IN PRESS
Table 1
Imperceptibility test results of the two methods
Items JoKim (Jo and Kim, 2002) Proposed
BCR 100% 100%
AEB 16112 bits 16 384 bits
APSNR 28.65 dB 30.02 dB
BPSNR 29.39 dB 30.23 dB
Table 2
Robustness test results of the proposed scheme
Attacks BCR (%) Extract bits
VQ compression 100.00 16 384
JPEG, QF 40% 88.64 16 384
JPEG, QF 60% 95.37 16 384
JPEG, QF 80% 99.80 16 384
Low-pass ltering 80.44 16 384
Median ltering 91.99 16 384
Cropping, 25% 86.13 16 384
Shifting, downward 1 line 82.79 16 384
Fig. 8. The watermarks extracted from the attacked images: (a) JPEG compression with QF 40%; (b)
JPEG compression with QF 80%; (c) low-pass ltering with window size 3; (d) median ltering with
window size 3; (e) cropping 25% in the lower-left quarter; and (f) shifting 1 line downward.
Table 3
The embedded results of Jo and Kims method, where g 2 f0; 1g
D kG
1
k kG
g
k PSNR (dB) Embedded bits
50 110 73 30.38 14 365
100 18 119 28.96 16 223
200 0 128 28.28 16 384
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 16
used. Tables 4 and 5 display the extracted results when the threshold D is 50 and 200,
respectively.
5.2. Performance with GCP
The proposed GCP procedure was run using the mentioned materials and the
settings of S 10, t 1000, r
s
100%, r
c
50%, and r
m
0:1%. The PSNR
function was used as the tness function and the roulette wheel selection scheme was
applied in the crossover operator. Fig. 9 displays the PSNR values during the 1000
iterations, where the PSNR value of the nal iteration is 30.45 dB. After the training
procedure, the trained result was regarded as the codebook partition key to embed
the watermark bits into the cover image. The total number of embedded bits is
16 384. Table 6 lists the robustness results to some common attacks and Fig. 10
shows the watermarks extracted from the attacked images.
6. Discussions
Generally speaking, the proposed watermarking method has better performance in
encoding time, image quality, and robustness compared with the related VQ-based
ARTICLE IN PRESS
Table 4
Robustness test of Jo and Kims method when D 50
Attacks BCR (%) Extracted bits
VQ compression 100.00 14 365
JPEG, QF 40% 50.76 14 429
JPEG, QF 60% 51.17 14 375
JPEG, QF 80% 51.41 14 367
Low-pass ltering 51.51 14 802
Median ltering 55.40 14 602
Cropping, 25% 74.08 15 245
Shifting, downward 1 line 50.46 14 437
Table 5
Robustness test of Jo and Kims method when D 200
Attacks BCR (%) Extracted bits
VQ compression 100.00 16 384
JPEG, QF 40% 86.68 16 384
JPEG, QF 60% 94.82 16 384
JPEG, QF 80% 99.65 16 384
Low-pass ltering 73.11 16 384
Median ltering 85.26 16 384
Cropping, 25% 88.87 16 384
Shifting, downward 1 line 76.29 16 384
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 17
ARTICLE IN PRESS
Table 6
The robustness test results to some common attacks
Attacks BCR (%)
VQ compression 100.00
JPEG, QF 30% 76.75
JPEG, QF 40% 84.76
JPEG, QF 60% 94.41
JPEG, QF 80% 99.78
Low-pass ltering 82.64
Median ltering 93.94
Cropping, 25% 86.82
Shifting downward (1 line) 82.89
Down sampling 87.73
Fig. 9. The PSNR values during the 1000-iteration training.
Fig. 10. The watermarks extracted from the attacked images while the result of the GCP procedure is
used: (a) JPEG compression with QF 30%; (b) JPEG compression with QF 40%; (c) JPEG
compression with QF 80%; (d) low-pass ltering with window size 3; (e) median ltering with
window size 3; (f) cropping 25% in the lower-left quarter; (g) shifting 1 line downward; and (h) down
sampling.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 18
watermarking methods. The explanations and some related issues are discussed in
this section.
6.1. Codebook partition methods
As stated in Sections 2 and 3, the method used for partitioning codebooks plays an
important role. Using a poor partitioned result for the embedding procedure leads to
a poor watermarked result. To ensure the partition has minimum effect on the
embedding method, it was found that consideration must be given to the
minimisation of the total distortion caused by the embedding process.
For Lu and Sun (2000), the object function is
dis Min
X
N
i
EDc
i
0
; c
i
1

!
, (13)
where dis is the total distortion, N is the number of partitioned groups, c
i
0
and c
i
1
are
the codewords within group G
i
, and ED is the Euclidean distortion between two
vectors. The denition of ED is
EDc
1
; c
2

X
d
i
c
1i
c
2i

2
, (14)
where d is the size of the input vector, c
1i
and c
2i
are the ith elements of c
1
and c
2
respectively.
For Jo and Kim (2002), the object function is
dis Min
X
M
i
EDc
0
i
; c
1
i

!
, (15)
where M kG
0
k kG
1
k is the number of codewords contained in G
0
or G
1
, and c
0
i
and c
1
i
are the ith codeword of G
0
and G
1
, respectively.
It is necessary to develop a suitable algorithm or a training strategy to minimize
the object functions for Lu and Sun (2000) and Jo and Kim (2002). Without this, the
methods proposed in Lu and Sun (2000) and Jo and Kim (2002) cannot always
provide good watermarked results. In contrast, the method proposed in Section 3.1
provides a simple and easy way to achieve the partition job effectively. Experimental
results of the 10 000 experiments have veried this.
6.2. Embedding methods
The results from Fig. 7 and Table 1 show that the proposed watermarking scheme
provides better imperceptibility even using no training technique. The reason for this
is clear: while the embedding procedure is searching for a codeword to substitute the
original nearest codeword for hiding the watermark bit, the proposed method
provides more candidate codewords for choosing, unlike Methods (Lu and Sun,
ARTICLE IN PRESS
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 19
2000; Jo and Kim, 2002), which only provide a default codeword for substitution,
irrespective of whether this default codeword is close to the input vector or not.
As shown in Figs. 2 and 3, after obtaining the nearest codeword for a input vector
x, only the default codeword, which is c
p
0
or c
p
1
in Fig. 2 and c
0
p
or c
1
p
in Fig. 3, can be
used for substitution. In contrast, all the codewords in the corresponding group are
available candidates, as shown in Fig. 11. To obtain another codeword with a
smaller distortion is more practical than either Lu and Sun (2000) or Jo and Kim
(2002).
6.3. Encoding time
In the embedding procedures of the related VQ-based watermarking schemes such
as Lu and Sun (2000), Lu et al. (2000), Jo and Kim (2002) and Huang et al. (2001,
2002), they search the whole codebook to obtain a nearest codeword for each input
vector. In contrast, the proposed method achieves this job by merely using a sub-
codebook. The proposed watermarking scheme therefore possesses faster encoding
time than the other methods listed.
6.4. Training time
Although the GCP procedure requires time to generate a better codebook-
partition key, this training duty can be done off-line. That is, if a system does not
require online training, the proposed GCP scheme provides a possible method to
improve its performance.
6.5. Fitness function of the GCP method
In the VQ system, for two input vectors with a reasonable distortion between
them, the VQ system usually obtains the same codeword to express each of
them. For example, let x
0
, ^ x, and Search denote the watermarked vector, the
watermarked vector contained noise, and the VQ nearest-codeword-search
procedure, respectively. Usually, if the distortion between x
0
and ^ x is reasonable,
then Searchx
0
Search ^ x. Due to this, we are more concerned in how to obtain
ARTICLE IN PRESS
Fig. 11. The illustration of the proposed method provides more candidates of codewords for substitution,
where x is a test vector.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 20
the codewords with the minimum distortion for the input vectors (imperceptibility)
than robustness. Also, to simplify the GA training procedure, we only considered the
PSNR as the tness function in the proposed GCP procedure.
However, in some cases the robustness against certain considered attacks
sometimes is important. Therefore, the tness function used in the proposed GCP
procedure (or other training procedures) can be dened as below in order to take the
effect of the considered attacks into account:
f f
I
X; X
0
l f
R
W; W
0
, (16)
where f
I
is an imperceptibility evaluating function (e.g., PSNR) for the cover
image X and the watermarked image X
0
, f
R
is a robustness evaluating function
(e.g., BCR) for the original watermark W and the extracted watermark W
0
, and l is a
parameter for controlling the weighting of f
I
and f
R
. Related details can be
found in Shieh et al. (2004).
6.6. User-key selection, reuse, and delivery
In a watermarking system, some issues such as whether the users should have the
full control to select or dene the user-keys, whether the keys can be reused, or
whether delivering the keys is important, are sometimes of concern but sometimes
not. Usually these issues depend on the application where the watermarking system
is applied. Among the above issues, the key delivery issue is beyond the focus of this
paper. It is therefore omitted and the focus is on the other two issues.
As mentioned in Section 6.1, most related VQ-based watermarking schemes
require a suitable technique to generate the used keys. For example, the paper (Lu
and Sun, 2000) mentions a tabu search approach used to obtain the codebook
partition key. A comparison of some related methods is given in Table 7.
ARTICLE IN PRESS
Table 7
Comparison of the keys used among some VQ-based watermarking methods
Method Purpose of key Generating method Reusable or not
Lu-Sun (2000) Partition the used
codebook
Training techniques Reusable if associated
with the codebook used.
Jo-Kim (2002) Partition the used
codebook
Training techniques Reusable if associated
with the codebook used.
Huang-Wang-Pan
(2001, 2002)
Extract the watermark Generated from the
cover image and the
watermark
Not reusable. Associated
with the cover image and
watermark only.
Proposed Partition the used
codebook
1. Random-assigned
or
Reusable.
2. Training techniques Reusable.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 21
6.7. Robustness of using one vector to carry multi-bits
Generally speaking, the watermarking schemes which divide the input image into
blocks for embedding or extraction have poorer robustness under some kinds of
attacks such as cropping or rotation. An example is now given.
For a given codebook C, Method (Jo and Kim, 2002) is carried out to split it into
three sub-codebooks, fG
1
; G
0
; G
1
g. For simplicity, we assume that C
fc
1
; c
2
; . . . ; c
8
g, G
1
fc
1
; c
8
g, G
0
fc
2
; c
4
; c
6
g, and G
1
fc
3
; c
5
; c
7
g. In this embed-
ding procedure, if the nearest codeword for a given vector belongs to G
1
, no
watermark bit is embedded into the current vector. After employing (Jo and Kim,
2002) to a given image with the above partition information, the modied VQ indices
and the embedded bits are shown in Fig. 12. Afterwards, the generated watermarked
image is transmitted to the receiver by some channel. We assume that some noise is
added to the watermarked image during the transmission.
When the receiver has the watermarked image, Method (Jo and Kim, 2002) is
applied. The indices obtained are shown in Fig. 13, where 1pyp8. Here if c
y
2 G
1
(e.g., y 1 or y 8), the embedded bits will be extracted correctly without
distortion, such as Fig. 14(a). If c
y
2 G
g
(e.g., y 2), where g 2 f0; 1g, then the
extracted bits will be incorrect, as in Fig. 14(b).
From the above example, it is clear that the watermark bits are easy to shift when
noise occurs. This problem is due to the use of G
1
. In other words, due to using a
ARTICLE IN PRESS
Fig. 12. The example of employing (Jo and Kim, 2002) to a given image: (a) Modied VQ indices and (b)
the bits embedded in the image, where the symbol - denotes no watermark bit is embedded in the block.
Fig. 13. The indices obtained from the received watermarked image, where the rst vector is affected by
noise during transmission and therefore the index of the obtained codeword to it is becoming from 1 to y.
Fig. 14. The bits extracted from the watermarked image contained distortion when: (a) c
y
2 G
1
(e.g.,
y 1) and (b) c
y
2 G
g
(e.g., y 2), where g 2 f0; 1g.
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 22
single vector to carry vary number of watermark bits, as in (Lu and Sun, 2000). It
explains why the extracted results in Tables 4 and 5 are not good under some
common attacks.
7. Conclusion
A novel watermarking scheme has been proposed in this paper for enhancing the
VQ system of the watermarking ability. Compared with other VQ-based water-
marking schemes, the one proposed possesses the advantages of better impercept-
ibility, stronger robustness, faster encoding time, easy implementation, and complete
freedom for users to choose their own secret keys. Furthermore, using the proposed
GCP procedure, the performance of the proposed watermarking scheme can be
improved. Experimental results have supported and shown the superiority of this
approach.
References
Barni M, Bartolini F. Watermarking systems engineering: enabling digital assets security and other
applications. New York: Marcel Dekker Inc; 2004.
Gersho A, Gray RM. Vector quantization and signal compression. London: Kluwer Academic Publisher;
1992.
Goldberg DE. Genetic algorithms in search, optimization and machine learning. Reading, MA: Addison-
Wesley; 1992.
Huang HC, Wang FH, Pan JS. Efcient and robust watermarking algorithm with vector quantisation.
Electron Lett 2001;37(13):8268.
Huang HC, Wang FH, Pan JS. A VQ-based robust multi-watermarking algorithm. IEICE Trans Fund
2002;E85-A(7):171926.
Hwang JJ. Digital image watermarking employing codebook in vector quantisation. Electro Lett
2003;39(11):8401.
Jo M, Kim H. A digital image watermarking scheme based on vector quantisation. IEICE Trans Inf
Systems 2002;E85-D:10546.
Lu ZM, Pan JS, Sun SH. VQ-based digital image watermarking method. Electron Lett
2000;36(14):12012.
Lu ZM, Sun SH. Digital image watermarking technique based on vector quantisation. Electron Lett
2000;36(4):3035.
Nikolaidis N, Pitas I. Digital image watermarking: an overview. 1999 IEEE international conference on
multimedia computing and systems, vol. 1. 1999. p. 16.
Shieh CS, Huang HC, Wang FH, Pan JS. Genetic watermarking based on transform-domain techniques.
Pattern Recognition 2004;37(3):55565.
ARTICLE IN PRESS
F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 423 23

You might also like