VQ-based Watermarking Scheme With Genetic Codebook Partition

20
Journal of Network and Computer Applications 30 (2007) 4–23 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 modifies 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 find 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: [email protected] (F.-H. Wang), [email protected] (L.C. Jain), [email protected] (J.-S. Pan).

description

To enhance the traditional vector quantisation (VQ) system by adding the watermarking ability, a digital image watermarking scheme, which modifies 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 find 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.

Transcript of VQ-based Watermarking Scheme With Genetic Codebook Partition

Page 1: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

Journal of Network and

Computer Applications 30 (2007) 4–23

1084-8045/$ -

doi:10.1016/j

�CorrespoE-mail ad

lakhmi.jain@

www.elsevier.com/locate/jnca

VQ-based watermarking scheme with geneticcodebook partition

Feng-Hsing Wanga,�, Lakhmi C. Jaina, Jeng-Shyang Panb

aUniversity of South Australia, Knowledge-Based Intelligent Engineering System Centre,

School of Electrical and Information Engineering, AustraliabNational 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 modifies 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 find 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

see front matter r 2005 Elsevier Ltd. All rights reserved.

.jnca.2005.08.002

nding author.

dresses: [email protected] (F.-H. Wang),

unisa.edu.au (L.C. Jain), [email protected] (J.-S. Pan).

Page 2: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 5

1. Introduction

With the rapid development of multimedia and the fast growth of the Internet, theneed for copyright protection, ownership verification, and other issues for digitaldata are getting more and more attention nowadays. Among the solutions for theseissues, digital watermarking techniques (Nikolaidis and Pitas, 1999; Barni andBartolini, 2004) are the most popular ones lately. A variety of watermarkingmethods has been proposed, where most of them are based on the spatial domain orthe transform domain. In recent years, some researchers have paid attention onembedding watermarks in the vector quantisation (VQ) (Gersho and Gray, 1992)domain, since these schemes can enhance the traditional VQ system by adding thewatermarking ability.

Lu and Sun (2000) introduced their method where they partitioned the originalVQ codebook into a number of groups by referring to a secret key. They thenmodified the VQ indices to hide the watermark bits. Their method requires theoriginal cover image to be presented during extraction. To improve this method, Luet al. proposed another method in Lu et al. (2000). However, this method requiresexpanding the codebook used. Jo and Kim (2002) proposed a method to improveimperceptibility. They suggested partitioning the codebook used into three groupsaccording to a given threshold, and using two of them in the watermark embeddingprocedure. In a similar way to Lu and Sun (2000), they modified the indices obtainedto carry watermark bits. Unlike the techniques which split the codebook used intogroups for embedding, Huang et al. (2001, 2002) suggested hiding watermark bits inthe output keys according to the VQ indices obtained, so that their methods canprovide 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 Section2. We present our watermarking scheme in Section 3 and the genetic codebookpartition (GCP) procedure for improving the performance of the proposedwatermarking scheme in Section 4. Experimental results given in Section 5 willdemonstrate the superiority of our methods in comparison to other reportedtechniques in the literature. Section 6 discusses some related issues and Section 7summaries this paper.

1.1. Vector quantisation (VQ)

VQ (Gersho and Gray, 1992) is an old coding method which has been appliedsuccessfully on image coding and speech coding. For image coding, the image to becoded is first decomposed into non-overlapping vectors (or, blocks) of size d pixels.For each of the vectors, a nearest-codeword-search process is performed to find acodeword with the minimum distortion from the assigned codebook. The index ofthe obtained codeword is afterwards transmitted to the receiver. In the receiver, atable-lookup procedure using the same codebook as in the encoding procedure iscarried out. According to the index received, the corresponding codeword from thecodebook is output and regarded as the reconstructed vector.

Page 3: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–236

In the above coding procedure, the input vector is compressed into log2ðLÞ=s of itsoriginal size, where L is the number of codewords contained in the codebook, log2ðLÞis the length of each index, and s is the size (in bit) of each vector. For example, for agiven 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 systemuses log2ð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 thenatural evolution process to evolve solutions for problems. The basic concept ofGAs is based on Darwin’s natural selection theory: members of an environmentstruggle and compete for surviving and producing their offsprings. Usually, the fittermembers have higher surviving rate and therefore they have more chances toproduce offsprings. By passing their chromosomes and genes to their offsprings, theyshould have similar predominance to survive in the same environment. Fig. 1illustrates the general steps for the GA searching procedure. Their brief details aredescribed as follows.

Initialisation: To apply GAs to solve a problem, the fitness function and someparameters for the problem have to be defined. Usually, the parameters that affectthe fitness function are regarded as the genes. All the genes are combined together toform a chromosome. An individual may consist of more than one chromosome. Inthis step, the number of individuals and chromosomes, the selection rate, thecrossover rate, the mutation rate, and the considered GA iteration are defined. Also,the initial genes are generated (within the considered range) randomly.

Evaluation: The performance of each individual is measured according to thefitness function and its genes. Obviously, an individual with good genes (parameters)usually has good performance. It therefore is more fit in the environment.

Selection: Similar to the natural world that fitter individuals have a higher chanceto survive and produce offsprings, some bad-performance individuals are discardedaccording to a selection rate, rs, in this step.

Crossover: Some new individuals, called children, are produced from the survivedindividuals in this step. First of all, two individuals, called parents, are selected fromthe survived individuals using the well-known roulette-wheel-selection scheme(Goldberg, 1992) or other type of scheme. Then, a pre-defined crossover rate, rc, isreferred to decide whether the crossover operator is performed or not. That is, if arandom-generated probability is higher than rc, the crossover operator is thenskipped and the selected parents are simply copied to the children without any change.Otherwise, a crossover point (or multiple crossover points sometimes) between thefirst and the last chromosomes is determined randomly. The fractions of each parentare then exchanged after the point, and two child individuals are produced. Thisprocess is repeated until the needed number of child individuals are produced.

Mutation: A mutation operator is considered in order to avoid GAs get trapped ona local optimum. This usually happens when most individuals in one certain

Page 4: VQ-based Watermarking Scheme With Genetic Codebook Partition

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) 4–23 7

generation are very similar. In this step, each gene of all individuals is checked.According to a pre-defined mutation rate, rm, if a random-generated probability isless than rm, the current gene is mutated to another random value (which is withinthe considered range).

Termination test: To terminate the GA training procedure, the number ofiteration, t, defined beforehand is referred to. That is, if the iteration is met, then thetraining procedure is stopped and the individual with the best performance is outputas the trained result.

2. Related VQ-based watermarking schemes

In this section, the watermarking schemes proposed in Lu and Sun (2000) and Joand Kim (2002) are illustrated briefly. To begin with, we define that C is a codebook,

Page 5: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–238

X is a cover image, and W is a watermark to be embedded into X. The informationused for splitting C into sub-codebooks is regarded as the user-key.

After decomposing X into many non-overlapping vectors, fx1;x2; . . . ;xT g, whereT is the number of vectors and the size of either vector is d pixels, the traditional VQencoding procedure is performed to obtain the nearest codewords from C for all thevectors. The following sections then illustrate how the related VQ-based methodsmodify these codewords to carry the watermark bits.

2.1. Lu– Sun’s method

For simplicity, the description below is limited to embedding only one watermarkbit into each vector.

2.1.1. Original method

In Lu and Sun (2000), the codebook C was partitioned into N groups,fG1;G2; . . . ;GNg, where C ¼ G1 [G2 [ � � � [GN , G1 \G2 \ � � � \GN ¼ ;, andGi ¼ fc

i0; c

i1gð1pipN). The partitioned results are shown in Fig. 2.

For a given vector x, we assume that codeword cpg 2 Gp, where 1pppN and

g 2 f0; 1g, is the nearest codeword. To hide the corresponding watermark bit w in x,the jth codeword of Gp is given as the watermarked vector, x0:

j ¼ ðgþ wÞMODkGpk, (1)

x0 ¼ cpj . (2)

Here kGpk denotes the number of codewords contained in group Gp (forembedding only one bit into each vector, kGpk ¼ 2) and 0pjokGpk. In Fig. 2, c

p1 is

the nearest codeword to x (where g ¼ 1). If w ¼ 0, then codeword cp1 is used. If

w ¼ 1, codeword cp0 is used. After all the watermark bits have been embedded into

the corresponding vectors, the output vectors are pieced together to form thewatermarked image, X0.

Fig. 2. Partitioning the codebook used in N groups by applying Lu–Sun’s method, where x is a test vector.

Page 6: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 9

In addition, due to the embedding strategy used, Method (Lu and Sun, 2000)requires the original cover image to be presented during extraction; otherwise, thehidden information cannot be obtained.

2.1.2. Modified method

To improve the shortage of requiring the original cover image during extraction,the embedding strategy, which is Eqs. (1) and (2), is modified as

x0 ¼ cpw. (3)

That is, after obtaining the nearest codeword from C for x, which means p can bedetermined, and according to the bit, w, for embedding, codeword cp

w is selected andregarded as the output watermarked vector, x0.

2.2. Jo– Kim’s method

In Jo and Kim (2002), codebook C was partitioned into three groups,fG�1;G0;G1g, according to a given threshold D. Here C ¼ G�1 [G0 [G1,G�1 \G0 \G1 ¼ ;, and Gi ¼ fc

i1; c

i2; . . . ; c

iMg 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 embeddedinto x. If c ¼ cg

p 2 Gg, where g 2 f0; 1g and 1pppM, then the pth codeword of Gw isoutput as the watermarked vector:

x0 ¼ cwp . (4)

For instance, in Fig. 3, c1p is the nearest codeword to x. To embed a bit-0,codeword c0p is used; otherwise, c1p is used. After all watermark bits have been

Fig. 3. Partitioning the codebook used into three groups by applying Jo–Kim’s method, where x is a test

vector.

Page 7: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

Fig. 4. Collecting the first codewords of all groups to form another group S0 and collecting the second

codewords of all groups to form group S1.

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–2310

embedded into the input vectors, we assemble all the output vectors to form awatermarked image, X0.

In addition, when assigning more codewords to group G�1, which means a smallerthreshold of D is used, the method provides better imperceptibility but lowerembedding capacity.

2.3. Summary of Lu– Sun’s and Jo– Kim’s methods

From Sections 2.1 and 2.2, it can be seen that, if (i) for Lu and Sun (2000), onlyone bit is embedded in each vector (that is, kGik ¼ 2 where 1pipN), and (ii) for Joand Kim (2002), D is large enough (that is, kG�1k ¼ 0 and M ¼ N), then Lu andSun (2000) and Jo and Kim (2002) will have the similar performance.

For example, we collect fc10; c20; . . . ; c

N0 g, the first codewords of all groups in Fig. 2,

as set S0, and collect fc11; c21; . . . ; c

N1 g, the second codewords of all groups, as set S1, as

shown in Fig. 4. Comparing Fig. 3 with Fig. 4 and Eq. (3) with Eq. (4), it can be seenthat both methods use the same strategy to modify the vectors obtained for carryingwatermark 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 extraparameter, D, to control imperceptibility or capacity.

3. Proposed watermarking scheme

3.1. Codebook partition

For a given codebook C which contains L codewords fc1; c2; . . . ; cLg, a user-keyK ¼ fk1; k2; . . . ; kLj8ki 2 f0; 1g; 1pipLg is used to split it into two sub-codebooksG0 and G1. That is, codeword ci, where 1pipL, is assigned to group Gki

. Therelationships among C, G0, and G1 are C ¼ G0 [G1 and G0 \G1 ¼ ;. Similar to Lu

Page 8: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 11

and Sun (2000) and Jo and Kim (2002) we use the codewords in G0 and G1 to hidebit-0 and bit-1, respectively.

3.2. Embedding procedure

The steps for enabling the normal VQ system to have the watermarking ability areillustrated. They are as follows:

Step 1: Partition the original codebook, C, into two sub-codebooks, G0 and G1, byapplying 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,fx1;x2; . . . ;xT g, where T is the number of vectors and the size of each vector is d

pixels.Step 3: For an input vector xi, 1pipT , and the watermark bit wi 2 f0; 1g to be

embedded into it, set sub-codebook Gwias the used codebook for the VQ system

(i.e., if wi ¼ 0 then Gwi¼ G0 is selected).

Step 4: Execute the traditional VQ nearest codeword search to obtain a nearestcodeword from Gwi

for xi.Step 5: Output the obtained codeword as the watermarked vector, x0i.Step 6: Repeat Steps 3–5 until all the watermark bits have been handled.Step 7: Reconstruct the VQ decoded image X0, which is also the watermarked

image, by piecing together all the output vectors fx01;x02; . . . ;x

0T g.

The process of embedding wi into xi, which is Step 3 to Step 5, is illustrated inFig. 5(a).

3.3. Extraction procedure

To extract the hidden watermark bits from a received watermarked image, thesteps given below are applied.

Step 1: Decompose the received watermarked 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 ofeach vector is d pixels.

Fig. 5. Proposed embedding method (a) and extraction method (b).

Page 9: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–2312

Step 2: For an input vector x̂i, where 1pipT , execute the traditional VQ nearestcodeword search to obtain a nearest codeword from the original codebook C. Herewe assume that cj, where 1pjpL, is the obtained codeword.

Step 3: Determine the watermark bit hidden in cj according to its index, j, and theuser-key, K:

w0i ¼ kj 2 f0; 1g, (5)

where w0i is the extracted watermark bit and kj is the jth element of K.Step 4: Repeat Steps 2 and 3 until all the hidden watermark bits, fw01;w

02; . . . ;w

0T g,

have been extracted.Step 5: Assemble fw01;w

02; . . . ;w

0T g to form a recovered watermark, W0.

The process of extracting w0i 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 whichcodeword belongs to which sub-codebook. In other words, without the key whichwas used in the embedding procedure, no useful information can be extracted fromthe 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 watermarkingschemes such as Lu and Sun (2000) and Jo and Kim (2002). In this section, we focuson the method of partitioning a codebook and present our GCP method. It employsGAs to find a better way to split the given codebook. Due to this, theimperceptibility provided by the introduced VQ-based watermarking scheme canbe improved. The steps for the GCP method are as follows:

Step 1: Generate S keys, fK1;K2; . . . ;KSg, randomly as the initial GA individuals.Step 2: Embed the given watermark, W, into the given cover image, X, usingfK1;K2; . . . ;KSg, respectively.

Step 3: Evaluate the performance of each individual according to the given fitnessfunction.

Step 4: Select rsS individuals with best fitness scores and discard the remainingð1� rsÞS bad individuals, where rs is a pre-defined selection rate.

Step 5: Output the best individual and terminate the training procedure if theconsidered iteration, t, is met. Otherwise, keep executing the following steps.

Step 6: Execute the crossover procedure to generate S new individuals for nextgeneration according to the pre-defined crossover rate, rc.

Step 7: Mutate the genes of the new individuals according to the pre-definedmutation rate, rm.

Step 8: Go to Step 2.In Step 1, due to the goal of the GCP procedure is to find a better way to split the

codebook used, the key, K, therefore is regarded as a GA individual. We generate

Page 10: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 13

S keys randomly as the initial GA individuals. For example, if S ¼ 3 and L ¼ 6, thenS keys with length L bits such as K1 ¼ f0; 1; 1; 0; 1; 0g, K2 ¼ f0; 0; 0; 0; 0; 1g, and K3 ¼

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 tosplit C into two groups for embedding W into X. By repeating this embeddingprocedure for S time, where in each time a different key is used, S watermarkedimages, fX01;X

02; . . . ;X

0Sg, can be obtained.

Afterwards, we evaluate the performance for these individuals according to thegiven fitness function like:

f i ¼ f IðX;X0iÞ; i ¼ 1; 2; . . . ;S, (6)

where f i is the fitness score of Ki and f I is a imperceptibility evaluating function (e.g.,PSNR, see Eq. (10)). By calculating the fitness score for each watermarked image, wecan obtain ff 1; f 2; . . . ; f Sg, which denotes the performance of fK1;K2; . . . ;KSg,respectively.

In Step 4, according to these scores and a pre-defined selection rate, rs, the rsSgood individuals are selected and the remaining ð1� rsÞS individuals are discarded.For those survived individuals, probabilities, fr1;r2; . . . ;rng, for being selected asparent individuals in the crossover step are assigned according to their performance,ff 01; f

02; . . . ; f

0ng, where n ¼ rsS, f 0i (1pipn) is the fitness score of the ith selected

individual, and

f sum ¼Xn

i¼1

f 0i, (7)

ri ¼f 0i

f sum

� 100%; i ¼ 1; 2; . . . ; n, (8)

Xn

i¼1

ri ¼ 1. (9)

As described in Section 1.2, according to fr1;r2; . . . ;rng, two individuals areselected from the survived individuals using the roulette-wheel selection scheme orany other selection scheme to produce offsprings. This step finally generates S newindividuals for next generation. That is, when there is no individual discarded in theselection step (i.e., rs ¼ 100%), S child individuals are produced; otherwise, ð1�rsÞ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-defined mutation rate,rm. That is, if a random probability generated for gene k is less than rm, then k ismutated as ð1� kÞ. This step means the corresponding codeword is removed fromgroup Gk and assigned to another group Gð1�kÞ.

The above steps are repeated until the considered iteration, t, is met. Finally, theindividual with the best fitness score in the final generation is output as the trainedresult, as described in Step 5. The output result of the GCP procedure can be used in

Page 11: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–2314

the mentioned VQ-based watermarking scheme to provide better watermarkingresult in imperceptibility.

5. Simulation results

In our simulation, the image of LENA (Fig. 6(a)) with size 512� 512 pixelsin 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 applyingthe LBG algorithm (Gersho and Gray, 1992) with a threshold of 10�4. Wedecomposed the cover image into T ¼ 16 384 non-overlapping blocks of size 4� 4pixels (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 examineimperceptibility and robustness, respectively. Their definitions are:

PSNRðX;X0Þ ¼ 10� log102552

MSEðX;X0Þ, (10)

MSEðX;X0Þ ¼

PHj¼1

PWi¼1ðxði; jÞ � x0ði; jÞÞ2

W �H, (11)

where MSE is the mean square error, W and H are the width and height of imagesX or X0, and xði; jÞ and x0ði; jÞ are the pixel values in position ði; jÞ of X

Fig. 6. The cover image (a) and the watermark (b) used in the experiments.

Page 12: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 15

and X0, respectively.

BCRðW;W0Þ ¼ 1�

PLW

i jwi � w0ij

LW

!� 100%, (12)

where LW, wi, and w0i are the size of the watermark, the ith bit ofW, and the ith bit ofW0, respectively.

In addition, without embedding any bit into the cover image, the PSNR valuebetween 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 theexperiments, a codebook partition key was generated randomly to partition theoriginal codebook into two sub-codebooks, where kG0k ¼ kG1k ¼ 128 codewords.As a comparison, Method (Jo and Kim, 2002) was also run 10 000 times with thesame 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, thereforehere 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 theperformance of both methods, where AEB denotes the average embedded bits,APSNR denotes the average PSNR value, and BPSNR denotes the best PSNR valueof the experiments.

5.1.2. Robustness test

To test the robustness of the proposed watermarking scheme, some commonimage processing methods listed in Table 2 were employed to attack thewatermarked images. From the 10 000 experiments, one experiment is selectedrandomly and its test results are listed here. The PSNR value between the cover

Fig. 7. Experimental results of 10 000 experiments using Jo–Kim’s scheme (left) and the proposed scheme

(right).

Page 13: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

Table 1

Imperceptibility test results of the two methods

Items Jo–Kim (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 filtering 80.44 16 384

Median filtering 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 filtering with window size ¼ 3; (d) median filtering 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 Kim’s method, where g 2 f0; 1g

D kG�1k kGgk 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) 4–2316

image and the watermarked image is 29.78 dB. Fig. 8 displays the watermarksextracted 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

Page 14: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

Table 4

Robustness test of Jo and Kim’s 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 filtering 51.51 14 802

Median filtering 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 Kim’s 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 filtering 73.11 16 384

Median filtering 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) 4–23 17

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 thesettings of S ¼ 10, t ¼ 1000, rs ¼ 100%, rc ¼ 50%, and rm ¼ 0:1%. The PSNRfunction was used as the fitness function and the roulette wheel selection scheme wasapplied in the crossover operator. Fig. 9 displays the PSNR values during the 1000iterations, where the PSNR value of the final iteration is 30.45 dB. After the trainingprocedure, the trained result was regarded as the codebook partition key to embedthe watermark bits into the cover image. The total number of embedded bits is16 384. Table 6 lists the robustness results to some common attacks and Fig. 10shows the watermarks extracted from the attacked images.

6. Discussions

Generally speaking, the proposed watermarking method has better performance inencoding time, image quality, and robustness compared with the related VQ-based

Page 15: VQ-based Watermarking Scheme With Genetic Codebook Partition

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 filtering 82.64

Median filtering 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 filtering with window size ¼ 3; (e) median filtering 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) 4–2318

Page 16: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 19

watermarking methods. The explanations and some related issues are discussed inthis section.

6.1. Codebook partition methods

As stated in Sections 2 and 3, the method used for partitioning codebooks plays animportant role. Using a poor partitioned result for the embedding procedure leads toa poor watermarked result. To ensure the partition has minimum effect on theembedding method, it was found that consideration must be given to theminimisation of the total distortion caused by the embedding process.

For Lu and Sun (2000), the object function is

dis ¼MinXN

i

EDðci0; c

i1Þ

!, (13)

where dis is the total distortion, N is the number of partitioned groups, ci0 and ci

1 arethe codewords within group Gi, and ED is the Euclidean distortion between twovectors. The definition of ED is

EDðc1; c2Þ ¼Xd

i

ðc1i � c2iÞ2, (14)

where d is the size of the input vector, c1i and c2i are the ith elements of c1 and c2respectively.

For Jo and Kim (2002), the object function is

dis ¼MinXM

i

EDðc0i ; c1i Þ

!, (15)

where M ¼ kG0k ¼ kG1k is the number of codewords contained in G0 or G1, and c0iand c1i are the ith codeword of G0 and G1, respectively.

It is necessary to develop a suitable algorithm or a training strategy to minimizethe object functions for Lu and Sun (2000) and Jo and Kim (2002). Without this, themethods proposed in Lu and Sun (2000) and Jo and Kim (2002) cannot alwaysprovide good watermarked results. In contrast, the method proposed in Section 3.1provides a simple and easy way to achieve the partition job effectively. Experimentalresults of the 10 000 experiments have verified this.

6.2. Embedding methods

The results from Fig. 7 and Table 1 show that the proposed watermarking schemeprovides better imperceptibility even using no training technique. The reason for thisis clear: while the embedding procedure is searching for a codeword to substitute theoriginal nearest codeword for hiding the watermark bit, the proposed methodprovides more candidate codewords for choosing, unlike Methods (Lu and Sun,

Page 17: VQ-based Watermarking Scheme With Genetic Codebook Partition

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) 4–2320

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 vectorx, only the default codeword, which is c

p0 or c

p1 in Fig. 2 and c0p or c1p in Fig. 3, can be

used for substitution. In contrast, all the codewords in the corresponding group areavailable candidates, as shown in Fig. 11. To obtain another codeword with asmaller 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 suchas 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 inputvector. In contrast, the proposed method achieves this job by merely using a sub-codebook. The proposed watermarking scheme therefore possesses faster encodingtime 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 notrequire online training, the proposed GCP scheme provides a possible method toimprove its performance.

6.5. Fitness function of the GCP method

In the VQ system, for two input vectors with a reasonable distortion betweenthem, the VQ system usually obtains the same codeword to express each ofthem. For example, let x0, x̂, and SearchðÞ denote the watermarked vector, thewatermarked vector contained noise, and the VQ nearest-codeword-searchprocedure, respectively. Usually, if the distortion between x0 and x̂ is reasonable,then Searchðx0Þ ¼ Searchðx̂Þ. Due to this, we are more concerned in how to obtain

Page 18: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 21

the codewords with the minimum distortion for the input vectors (imperceptibility)than robustness. Also, to simplify the GA training procedure, we only considered thePSNR as the fitness function in the proposed GCP procedure.

However, in some cases the robustness against certain considered attackssometimes is important. Therefore, the fitness function used in the proposed GCPprocedure (or other training procedures) can be defined as below in order to take theeffect of the considered attacks into account:

f ¼ f IðX;X0Þ þ l� f RðW;W0Þ, (16)

where f Ið Þ is an imperceptibility evaluating function (e.g., PSNR) for the coverimage X and the watermarked image X0, f Rð Þ is a robustness evaluating function(e.g., BCR) for the original watermarkW and the extracted watermarkW0, and l is aparameter for controlling the weighting of f Ið Þ and f Rð Þ. Related details can befound 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 thefull control to select or define the user-keys, whether the keys can be reused, orwhether delivering the keys is important, are sometimes of concern but sometimesnot. Usually these issues depend on the application where the watermarking systemis applied. Among the above issues, the key delivery issue is beyond the focus of thispaper. It is therefore omitted and the focus is on the other two issues.

As mentioned in Section 6.1, most related VQ-based watermarking schemesrequire a suitable technique to generate the used keys. For example, the paper (Luand Sun, 2000) mentions a tabu search approach used to obtain the codebookpartition key. A comparison of some related methods is given in Table 7.

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.

Page 19: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–2322

6.7. Robustness of using one vector to carry multi-bits

Generally speaking, the watermarking schemes which divide the input image intoblocks for embedding or extraction have poorer robustness under some kinds ofattacks 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 intothree sub-codebooks, fG�1;G0;G1g. For simplicity, we assume that C ¼

fc1; c2; . . . ; c8g, G�1 ¼ fc1; c8g, G0 ¼ fc2; c4; c6g, and G1 ¼ fc3; c5; c7g. In this embed-ding procedure, if the nearest codeword for a given vector belongs to G�1, nowatermark bit is embedded into the current vector. After employing (Jo and Kim,2002) to a given image with the above partition information, the modified VQ indicesand the embedded bits are shown in Fig. 12. Afterwards, the generated watermarkedimage is transmitted to the receiver by some channel. We assume that some noise isadded to the watermarked image during the transmission.

When the receiver has the watermarked image, Method (Jo and Kim, 2002) isapplied. The indices obtained are shown in Fig. 13, where 1pyp8. Here if cy 2 G�1(e.g., y ¼ 1 or y ¼ 8), the embedded bits will be extracted correctly withoutdistortion, such as Fig. 14(a). If cy 2 Gg (e.g., y ¼ 2), where g 2 f0; 1g, then theextracted bits will be incorrect, as in Fig. 14(b).

From the above example, it is clear that the watermark bits are easy to shift whennoise occurs. This problem is due to the use of G�1. In other words, due to using a

Fig. 12. The example of employing (Jo and Kim, 2002) to a given image: (a) Modified 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 first 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) cy 2 G�1 (e.g.,

y ¼ 1) and (b) cy 2 Gg (e.g., y ¼ 2), where g 2 f0; 1g.

Page 20: VQ-based Watermarking Scheme With Genetic Codebook Partition

ARTICLE IN PRESS

F.-H. Wang et al. / Journal of Network and Computer Applications 30 (2007) 4–23 23

single vector to carry vary number of watermark bits, as in (Lu and Sun, 2000). Itexplains why the extracted results in Tables 4 and 5 are not good under somecommon attacks.

7. Conclusion

A novel watermarking scheme has been proposed in this paper for enhancing theVQ 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 completefreedom for users to choose their own secret keys. Furthermore, using the proposedGCP procedure, the performance of the proposed watermarking scheme can beimproved. Experimental results have supported and shown the superiority of thisapproach.

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. Efficient and robust watermarking algorithm with vector quantisation.

Electron Lett 2001;37(13):826–8.

Huang HC, Wang FH, Pan JS. A VQ-based robust multi-watermarking algorithm. IEICE Trans Fund

2002;E85-A(7):1719–26.

Hwang JJ. Digital image watermarking employing codebook in vector quantisation. Electro Lett

2003;39(11):840–1.

Jo M, Kim H. A digital image watermarking scheme based on vector quantisation. IEICE Trans Inf

Systems 2002;E85-D:1054–6.

Lu ZM, Pan JS, Sun SH. VQ-based digital image watermarking method. Electron Lett

2000;36(14):1201–2.

Lu ZM, Sun SH. Digital image watermarking technique based on vector quantisation. Electron Lett

2000;36(4):303–5.

Nikolaidis N, Pitas I. Digital image watermarking: an overview. 1999 IEEE international conference on

multimedia computing and systems, vol. 1. 1999. p. 1–6.

Shieh CS, Huang HC, Wang FH, Pan JS. Genetic watermarking based on transform-domain techniques.

Pattern Recognition 2004;37(3):555–65.