A lossless data embedding technique by joint neighboring coding

A lossless data embedding technique by joint neighboring coding

Pattern Recognition 42 (2009) 1597 -- 1603 Contents lists available at ScienceDirect Pattern Recognition journal homepage: w w w . e l s e v i e r ...

707KB Sizes 4 Downloads 59 Views

Pattern Recognition 42 (2009) 1597 -- 1603

Contents lists available at ScienceDirect

Pattern Recognition journal homepage: w w w . e l s e v i e r . c o m / l o c a t e / p r

A lossless data embedding technique by joint neighboring coding Chin-Chen Chang a,∗ , The Duc Kieu a , Wen-Chuan Wu b a b

Department of Information Engineering and Computer Science, Feng Chia University, No. 100 Wenhwa Rd., Seatwen, Taichung 40724, Taiwan, ROC Department of Computer and Information Science, Aletheia University, Tamsui Taipei 25103, Taiwan, ROC

A R T I C L E

I N F O

Article history: Received 24 January 2007 Received in revised form 16 October 2008 Accepted 27 November 2008 Keywords: Information hiding Reversible data embedding Vector quantization

A B S T R A C T

Information hiding methods are currently exploited by many researchers for various applications. Proposing an efficient and feasible information hiding method is valuable. This paper presents a new reversible information hiding method for vector quantization (VQ)-compressed grayscale images by using joint neighboring coding (JNC) technique. The proposed method embeds secret data by using the difference values between the current VQ-compressed index and left or upper neighboring indices. The experimental results show that the proposed method achieves the best visual quality of reconstructed images compared with the two related works. In addition, the proposed method obtains as high embedding capacity as Lin and Chang's method, followed by Yang et al.'s method. As for execution speed, Yang et al.'s method is fastest, followed by the proposed method, and then Lin and Chang's method. With respect to bit rate, the proposed method has a little higher bit rate in comparison with the two related works. © 2008 Elsevier Ltd. All rights reserved.

1. Introduction Secure communications can be protected by using cryptographic methods and steganographic methods. Cryptographic methods, however, do not hide the existence of secret communications in fact. In contrast, steganographic methods make secret communications invisible (or imperceptible). That is, they hide the very existence of secret communications. In general, information hiding (also called data hiding or data embedding) technique includes digital watermarking and steganography [2,9]. Digital watermarking techniques are suitable for applications relevant to the protection of digital contents where the amount of secret data, such as ownership information, needed to be embedded into cover media is small. The robustness (i.e. the ability to resist certain malicious attacks such as common signal processing operations) of digital watermarking schemes is critical. In contrast, steganography is used to embed secret data into cover media imperceptibly for the purpose of secret communications. Cover media can be written texts, images, digital sound files, videos, and so on. For security purpose, cryptographic techniques can be applied to an information hiding scheme to make secret communications more secure. Secret data, for example, can be encrypted using cryptographic techniques before the data embedding. Three factors that really affect an information hiding scheme are visual quality (or image distortion), embedding capacity (or payload),

∗ Corresponding author. Tel.: +886 4 24517250x3790; fax: +886 4 27066495. E-mail addresses: [email protected] (C.-C. Chang), [email protected] (T.D. Kieu), [email protected] (W.-C. Wu). 0031-3203/$ - see front matter © 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.patcog.2008.11.040

and efficiency [9]. An information hiding scheme with low image distortion is more secure than that with high distortion because it does not raise any suspicions. Therefore, image quality factor is the first important one. The second important factor is embedding capacity (called capacity for short). An information hiding scheme with high payload is preferred because more secret data can be transferred. In nature, embedding capacity is inversely proportional to visual quality. That is, if capacity is increased then visual quality is reduced. The tradeoff between the two factors above is made by users, depending on users' purposes and application fields. The third worthy factor needed to consider is the efficiency of an information hiding scheme. The efficiency refers to the simplicity of the embedding and extracting algorithms and the small transmitted data quantity. Simple embedding and extracting algorithms (i.e. low complexity) are preferred because their execution speed is fast. The small transmitted quantity is achieved by using data embedding methods with a low bit rate and using compressed cover media such as compressed images. Actually, efficient data embedding methods are particularly meaningful to large-scale and real-time applications on the Internet where transmission speed is critical. Furthermore, data embedding methods with the small transmitted data quantity contribute to avoiding the network congestion. The tradeoff among image distortion, embedding capacity, and efficiency varies from application to application. Consequently, different techniques are employed for different applications. Three embedding classes are information hiding techniques in spatial domain [1,2,11], in transformed domain (e.g. using DCT, DFT, or DWT) [5], and in compressed domain [3,4,6,7,10]. Information hiding techniques in spatial domain/transformed domain embed secrets by modifying

1598

C.-C. Chang et al. / Pattern Recognition 42 (2009) 1597 -- 1603

spatial characteristics (i.e. pixel amplitude)/transformed coefficients of cover media. These techniques, however, are not robust enough to lossy compressions. Information hiding techniques in compressed domain (such as using vector quantization, VQ, compression method [8]) can make the transmitted data smaller [6] although there is a bit less data quantity to be embedded. In some sense, information hiding schemes can be further categorized into two types, namely irreversible data embedding schemes and reversible (or lossless) data embedding schemes. With respect to an irreversible data embedding scheme, receivers can extract secret data only, no cover media restoration. In contrast, with a reversible data embedding scheme, receivers can extract secret data and recover cover media completely [10]. A reversible hiding scheme is suitably used for the healthcare industry and online content distribution systems. By integrating an information hiding method with the VQ compression, some data embedding methods were proposed such as Lin and Wang's method [7], and Jo and Kim's method [4]. These methods both embed secrets by modifying VQ-compressed indices. However, these methods are irreversible, low embedding capacity, and have a little high image distortion. To achieve reversibility, Yang et al. [10] proposed a new information hiding method in VQ-compressed domain by using a modified fast correlation based VQ (MFCVQ) technique. However, this method achieves very low payload. To improve Yang et al.'s weakness, Lin and Chang [6] proposed an information hiding method in the VQ-compressed domain by using dissimilar pairs of the codebook. But this method is only nearly reversible. Achieving low image distortion (i.e. it reduces the suspicion of adversaries), high data embedding capacity, reversibility, and efficiency are the desires of most information hiding system designers. Since no method is applicable of achieving all these goals, a class of data hiding schemes is needed to span the range of possible applications. From the aforementioned considerations, with the purpose of improving the visual quality of reconstructed images, achieving high embedding capacity and fast execution speed at the cost of a little higher bit rate, we propose a fully lossless data embedding scheme for the steganographic application (i.e. secret communications) by using joint neighboring coding (JNC) for VQ-compressed images. The proposed method embeds secrets into VQ-compressed indices by using the difference values between the current index and left or upper neighboring indices. The rest of this paper is organized as follows. The review of some previous works is presented in Section 2. The proposed scheme is explored in Section 3. Section 4 presents the experimental results and discussions. Some conclusions are made in Section 5. 2. Related works VQ is a lossy data compression method based on the principle of block coding. First, the representative codebook C containing Nkdimensional codewords CW i 's is generated by using the LBG clustering algorithm [8], where i = 0, 1, . . . , N − 1. At the beginning of the embedding process, an R × S-sized grayscale image I is divided into non-overlapping r × s image blocks Xt 's, where r × s = k. Then, each image block is encoded to an index value i of a codeword CW i . Finally, put these index values into the (R/r) × (S/s)-sized index table P = {ph,c } at the position (h, c) (i.e. ph,c = i). As for block decoding, the original image I is easily reconstructed from the index table P and the codebook C by using the simple table-lookup operation. In both Yang et al.'s method [10] and Lin and Chang's method [6], the original image blocks located at the first row and the first column of the cover image I are encoded by using the ordinary VQ. These VQ-compressed indices are kept unchanged during the data embedding process. This means that there is no data embedding in this area. This area is called the seed area.

Fig. 1. Four encoded neighbors of Xt .

Fig. 2. Three encoded neighbors of Xt .

2.1. Yang et al.'s scheme For the embedding process, from the cover image I and the codebook C, the secret data are embedded by using the MFCVQ encoding as follows. The current 4 × 4 image block Xt is encoded by using its four neighboring encoded 4 × 4 image blocks CW u , CW v , CW x , and CW y as shown in Fig. 1. When the block Xt is located at the last column of I, it is encoded by using its three neighboring encoded 4 × 4 image blocks CW u , CW v , and CW x as shown in Fig. 2. Firstly, calculate the Euclidean distances between the block Xt and its four neighboring encoded 4 × 4 image blocks du = D(CW u , Xt ), dv = D(CW v , Xt ), dx = D(CW x , Xt ), and dy = D(CW y , Xt ), where   16  D(X, Y) =  (xi − yi )2 ,

X = (x1 , x2 , . . . , x16 ) and

i=1

Y = (y1 , y2 , . . . , y16 ).

(1)

Secondly, find the smallest distance dmin = min{du , dv , dx , dy }. Thirdly, if dmin  the predefined threshold TH , then the current block Xt is embeddable. Otherwise, the current block Xt is non-embeddable. For an embeddable Xt , read the next secret bit bt . Next, send a flag bit “0” to the binary code stream. Then, calculate the mean vector Cm =(CW u +CW v +CW x +CW y )/4. Find the best-matched code vector CW mb of Cm out of {CW u , CW v , CW x , CW y }. If the secret bit bt = 0, then the block Xt is encoded by the code vector CW mb . Otherwise (i.e. bt = 1), find the best-matched code vector CW X of the block Xt out of {CW u , CW v , CW x , CW y }. The block Xt is then encoded as the code vector CW X . For a non-embeddable Xt , send a flag bit “1” to the binary code stream. Next, find the best-matched code vector CW mb of the block Xt out of the whole codebook C and encode block Xt by the code vector CW mb . There is no secret data embedding when Xt is non-embeddable. 2.2. Lin and Chang's scheme In Lin and Chang's scheme, they used the principal component analysis (PCA) algorithm [6] to sort the codebook C so that they can use dissimilar pairs for the embedding process. First, dissimilar pairs (CW i , CW ((N−2)/2)+i) )'s, where 1  i  (N −2)/2, are created. This means that the first and the last codewords CW 0 and CW N−1 are not used in the VQ encoding process. The codeword CW i located at (h,c) the position (h, c) in the VQ image is denoted as CW i . Second,

C.-C. Chang et al. / Pattern Recognition 42 (2009) 1597 -- 1603

1599

Fig. 4. Left and upper joint neighboring indices ph,c−1 and ph−1,c .

3.1. The embedding process Fig. 3. Values used for the side-match distortion (SMD) function.

(h,c)

the side-match distortion (SMD) function for CW i follows: (h,c)

SMD(CW i

 )=

x1 −

y4 + z13 2

2

is defined as

+ (x2 − z14 )2 + (x3 − z15 )2

+ (x4 − z16 )2 + (x5 − y8 )2 + (x9 − y12 )2 1/2 + (x13 − y16 )2

,

(2)

where the boundary values used in Eq. (1) are shown in Fig. 3. (h,c) in the VQ image is defined Third, a changeable 4 × 4 block CW i (h,c)

as follows. CW i (h,c)

SMD(CW i

(h,c)

) < SMD(CW ((N−2)/2)+i ).

(h,c)

When CW i

is called changeable if (3)

is changeable, then it remains unchanged to represent

Given an R × S-sized cover image I and the N-sized codebook C containing Nk-dimensional codewords CW i 's, where CW i = (cwi1 , cwi2 , . . . , cwik ) and i = 0, 1, . . . , N − 1. First, compute the

sum Si of each codeword CW i in the codebook C by Si = 16 j=1 cwij . Second, sort the codebook C according to Si in ascending order: S0 < S1 < · · · < SN−1 . The purpose of sorting the codebook C as above is to make neighboring codewords CW i 's in the sorted codebook C close to each other. Consequently, the difference values d's, where d means the distance between two neighboring VQ-compressed indices, are very small. The set of VQ-compressed indices is called the index table P. The index table P is (R/4) × (S/4)-sized matrix containing VQ-compressed indices ph,c , where h = 0, 1, . . . , (R/4) − 1 and c = 0, 1, . . . , (S/4) − 1. The secret data are then embedded by encoding the current VQcompressed index. One secret bit is embedded into the current VQcompressed index at a time during the embedding process. More specifically, encoding the current index ph,c is performed by encoding the difference values d's between the left neighboring index ph,c−1 or the upper neighboring index ph−1,c and the index ph,c as shown in Fig. 4. Our embedding strategy is based on two embedding rules. Here, we introduce the embedding rules in the following. The embedding rules:

(h,c)

embedding the secret bit 0 or it is replaced with CW ((N−2)/2)+i to (h,c) CW i

represent embedding the secret bit 1. If is unchangeable (i.e. it does not satisfy (3)), then find the most similar codeword CW t from (h,c) the sorted codebook C (excluding CW 0 and CW N−1 ) such that CW t (h,c)

(h,c)

(h,c)

is changeable. If CW t is found, then replace CW i with CW t to make the 4 × 4 image block at position (h, c) of the VQ image (h,c) is called pseudo-changeable. become changeable. This type of CW i (h,c)

is called unchangeable. Pseudo-changeable blocks Otherwise, CW i make the VQ indices distorted after extracting the secret data so these blocks should be selected carefully.

3. The proposed scheme This section proposes our novel scheme. In our proposed scheme, the VQ-compressed indices located at the first row and the first column of the index table P are kept unchanged during the data embedding process. This means that there is no data embedding in this area (called the seed area). Embedding the secret data into the index table P (i.e. into VQ indices) is started from the VQ-compressed index located at the second row and the second column of the index table P. For the security purpose, the secret data B is encrypted before embedding by using a pseudo-random number generator (PRNG) with a seed z, which is known by the sender and the receiver only, to generate a bit stream U. Next, the new bit stream Z is created by Z = B ⊕ U, where ⊕ is the exclusive OR operator. Then, embed Z into the index table P. The detailed embedding process of the proposed scheme by using the joint neighboring coding VQ (JNCVQ) based technique is represented as below.

Rule 1: If the secret bit is 1, then the difference value d between the left neighboring index ph,c−1 and the current VQ-compressed index ph,c is computed by d = ph,c−1 –ph,c . Rule 2: If the secret bit is 0, then the difference value d between the upper neighboring index ph−1,c and the current VQcompressed index ph,c is computed by d = ph−1,c –ph,c . The JNCVQ-based encoding technique is really affected by various amplitudes of the difference values d's. The amplitude variation of the difference values d's depends on the image content (i.e. smooth images or complex images). The various amplitudes of the difference values d's are represented with various number of bits. The d's absolute value |d| ranges from 0 to N–1 (i.e. 0  |d|  N − 1). Thus, the binary representation of d needs m bits, where 1  m  log2 N and the notation x denotes the ceiling function returning the smallest integer not less than x. The possible amplitudes of d are represented as 2m − 1. The dynamic values of m used correspondingly to the dynamic values of d during the embedding process of the proposed scheme are shown in Table 1. Note that d equals 0 is the typical case and it is considered in detail in Case 3. For the sake of convenience, the binary representation of d is denoted as d2 = a0 a1 · · · am−1 , where aj ∈ {0, 1} and 0  j  m − 1. Two prefix bits 00, 01, 10, and 11 used for four different cases of the various amplitudes of d are represented as follows. Note that, in Cases 1 and 2 (called normal cases), and 3 (called zero case), m bits are needed to represent d2 . So the (2 + m)-bit code is concatenated with the binary code stream for each case. For example, if 15 < |d|  31 then 5 bits (i.e. m = 5) are needed to represent d2 and the 7-bit code is concatenated with the binary code stream.

1600

C.-C. Chang et al. / Pattern Recognition 42 (2009) 1597 -- 1603

Table 1 m's dynamic values used corresponding to the d's dynamic ranges. m's dynamic values d's dynamic ranges

1 1

2 3

3 7

4 15

5 31

Table 2 Summary of the embedding process. Secret bit

Case 1

Case 2

Case 3

Case 4

1

11d2

10d2

11d2 (i.e. 1100 . . . 0)

1000 . . . 0(ph,c )2

0

01d2

00d2

01d2 (i.e. 0100 . . . 0)

0000 . . . 0(ph,c )2

Case 1: 0 < d  2m − 1. The current VQ-compressed index ph,c is encoded into binary form as 11d2 or 01d2 , where  denotes the concatenation operation, to represent embedding the secret bit 1 or 0, respectively. Case 2: −(2m − 1)  d < 0. The current VQ-compressed index ph,c is encoded into binary form as 10d2 or 00d2 to represent embedding the secret bit 1 or 0, respectively. Case 3: d = 0. The current VQ-compressed index ph,c is encoded into binary form as 11d2 or 01d2 , where d2 is represented with m digits “0”, to represent embedding the secret bit 1 or 0, respectively. Case 4: |d| > 2m − 1. The current VQ-compressed index ph,c is encoded into binary form as 1000 . . . 0(ph,c )2 , (m digits “0”), or 0000 . . . 0(ph,c )2 , (m digits “0”), to represent embedding the secret bit 1 or 0, respectively, where (ph,c )2 is the binary representation of ph,c , (ph,c )2 = a0 a1 . . . alog2 N−1 (aj ∈ {0, 1}, 0  j  log2 N − 1). Note that, in this case, log2 N bits are needed to represent (ph,c )2 . So the (2+m+log2 N)-bit code is concatenated with the binary code stream. The embedding process of the proposed scheme is summarized in Table 2. 3.2. The extracting process When the data embedding process is done, the sender sends the binary code stream to the receiver, the N-sized sorted codebook C, and the seed area to the receiver via a secure channel. The extracting process used to extract the embedded secret data and recover the original VQ-compressed indices is represented in the following description. The extracting algorithm: Input:

The binary code stream (i.e. the JNCVQ-encoded indices), the N-sized sorted codebook C, the seed region Output: The secret bit stream and the original VQ-compressed indices Step 1: Read the next (2 + m) bits into p from the binary code stream. Step 2: Get the first bit of p to be the secret bit. Step 3: If the last m bits of p are 00 . . . 0, (m digits “0”), then If the second bit of p is 1 (i.e. d = 0), then If the secret bit is 1, then The original VQ index is decoded by ph,c = ph,c−1 . Otherwise, the original VQ index is decoded by ph,c = ph−1,c . Otherwise, (i.e. |d| > 2m − 1) Read the next log2 N bits into q2 from the binary code stream. Convert q2 into the decimal value q. The original VQ index is decoded by ph,c = q. Otherwise, (i.e. – (2m − 1)  d < 0 or 0 < d  2m − 1) Assign the last m bits of p to the difference value d2 . Convert the difference value d2 into the decimal difference value d.

6 63

7 127

... ...

m 2m − 1

... ...

log2 N N−1

If the second bit of p is 0 (i.e. −(2m −1)  d < 0), then d=−d. If the secret bit is 1, then The original VQ index is decoded by ph,c = ph,c−1 − d. Otherwise, the original VQ index is decoded by ph,c =ph−1,c − d. Step 4: Repeat Steps 1–3 until all bits of the binary code stream are read. 4. Experimental results and discussions In this section, we will show the superiority of our proposed method by conducting some experimental results. Six 512 × 512sized grayscale images and the codebook C with size N = 512 were used in our experiments. Fig. 5 shows these test images used in our experiments. To evaluate the performance of the proposed method, Yang et al.'s method, Lin and Chang's method, and the proposed method were implemented by using Borland C++ Builder 6.0 software running on the Pentium IV, 3.0 GHz CPU, and 512 MB RAM hardware platform. The purpose of sorting the codebook C in the proposed scheme is to make the neighboring VQ-compressed indices in the index table P similar (i.e. close Euclidean distance) to each other. Consequently, the difference values d's between neighboring VQ-compressed indices in the index table P are quite small as shown in Figs. 6(a)–(f). Figs. 6(a)–(f) indicate that with respect to smooth images such as Lena and Pepper images, the distribution of the difference values d's is mostly in the range of [−100, 100]. So 5 or 6 bits are needed to represent the difference values d's in the binary form in most cases (i.e. Cases 1–3). In the worst case (i.e. Case 4), 9 bits are needed to represent a VQ-compressed index ph,c in the binary form. In contrast, Fig. 6(c) indicates that with regard to complex images such as Baboon image, the distribution of the difference values d's is mostly in the range of [−200, 200]. So 7 or 8 bits are needed to represent the difference values d's in the binary form in most cases (i.e. Cases 1–3). The above results explain why we adopt the JNC in our proposed scheme. Note that the number of bits m used to represent the difference values d's in the binary form affects the bit rate of the proposed scheme for different test grayscale images as shown in Fig. 7. By observing the graphs in Fig. 7, it is suggested that the suitable value of m for natural (or smooth) images such as Lena and Pepper images is 5 or 6 and that for edge (or complex) images such as Baboon is 7 to reduce the final transmitted bit quantity. The effects of different values of m on the bit rate of the proposed scheme for two representative test images Lena and Baboon are shown in Tables 3(a) and (b), respectively. The visual quality of reconstructed images was evaluated by using peak-signal-to-noise ratio (PSNR), referred to [2]. The comparative results in terms of PSNR, embedding capacity (i.e. the total number of embedded secret bits), bit rate (i.e. the number of bits is used to represent a pixel), embedding-efficiency (EE), and reversibility for different test images between the proposed method with m = 6 and other previous methods are presented in Table 4. Note that the EE indicates the number of embedded secret data when a bit of the binary code stream has been transmitted, where it can be calculated as EE = Capacity/(Bit rate × R × S). From Table 4, the superiority of our method can be observed. In terms of PSNR, the proposed scheme achieves the best result (i.e. the PSNR is the same as that of VQ) in comparison with other methods.

C.-C. Chang et al. / Pattern Recognition 42 (2009) 1597 -- 1603

1601

Fig. 5. Six test grayscale images: (a) Lena, (b) Pepper, (c) Baboon, (d) Boat, (e) GoldHill and (f) Jet_F16.

Fig. 6. Histograms showing that neighboring VQ-compressed indices are similar: (a) for Lena image, (b) for Pepper image, (c) for Baboon image, (d) for Boat image, (e) for GoldHill image and (f) for Jet_F16 image.

Fig. 7. The graphical demonstration of the impact of m's different values on the bit rate.

This means that the proposed scheme achieves the lowest image distortion. This can be explained as follows. In the proposed method, the cover image is first compressed by using the VQ compression method to achieve the index table. Next, the secret bits are reversibly embedded into the VQ indices in the index table. Therefore, the original VQ indices can be fully restored. This makes the proposed method have same the visual quality of the reconstructed images

with that of the VQ compression method. The pseudo-changeable image blocks in Lin and Chang's method cannot be fully restored to their original VQ-encoded indices. This causes the distortion of reconstructed images generated by this method. Yang et al.'s method has the worst visual quality of the reconstructed images because each embeddable image block Xt in this method is encoded by using the best-matched code vector of the mean vector CW m or the

1602

C.-C. Chang et al. / Pattern Recognition 42 (2009) 1597 -- 1603

Table 3 The effect of m's different values on the bit rate. m

2

3

4

5

6

7

8

(a) For Lena image Capacity (bits) Bit rate (bpp) Normal case Zero case Special case

16 129 0.669 1569 2496 12 064

16 129 0.644 4080 2496 9553

16 129 0.609 6891 2496 6742

16 129 0.583 9450 2496 4183

16 129 0.582 11 259 2496 2374

16 129 0.597 12 632 2496 1001

16 129 0.631 13 439 2496 194

(b) For Baboon image Capacity (bits) Bit rate (bpp) Normal case Zero case Special case

16 129 0.76 811 616 14 702

16 129 0.779 2042 616 13 471

16 129 0.766 4207 616 11 306

16 129 0.721 7303 616 8210

16 129 0.659 10 912 616 4601

16 129 0.611 14 107 616 1406

16 129 0.627 15 436 616 77

Table 4 Comparative results for different test images between the proposed method and other methods. Method

Factor

Lena

Pepper

Baboon

Boat

GoldHill

Jet_F16

VQ (Bit rate = 0.5625 bpp)

PSNR

32.248

31.408

24.436

30.163

29.950

31.578

Our method (m = 6)

PSNR Capacity Bit rate EE Reversibility

32.248 16129 0.582 0.106

31.408 16129 0.572 0.108

24.436 16129 0.659 0.093

30.163 16129 0.584 0.105

29.950 16129 0.590 0.104

31.578 16129 0.577 0.107

Yang et al. (TH = 18)

PSNR Capacity Bit rate EE Reversibility

29.831 7512 0.424 0.068

29.072 6995 0.438 0.061

24.399 969 0.599 0.006

28.170 7155 0.434 0.063

29.231 2317 0.563 0.016

27.962 8283 0.404 0.078

Lin and Chang (t = 0)

PSNR Capacity Bit rate EE Reversibility

32.240 16129 0.567 0.109

30.468 16129 0.567 0.109

24.434 16129 0.580 0.106

30.145 16129 0.570 0.108 Fully/nearly

29.603 16129 0.565 0.109

31.577 16129 0.569 0.108

Fully

Fully

Table 5 Comparative results in terms of execution speed (unit: second). Method

Process

Lena

Pepper

Baboon

Boat

GoldHill

Jet_F16

Our method

Embedding Extraction

0.063 0.016

0.062 0.016

0.078 0.016

0.066 0.015

0.074 0.016

0.062 0.016

Yang et al.

Embedding Extraction

0.046 0.016

0.047 0.015

0.047 0.015

0.046 0.016

0.047 0.016

0.046 0.015

Lin and Chang

Embedding Extraction

0.422 0.046

0.422 0.047

1.219 0.047

0.407 0.046

0.796 0.047

0.413 0.046

best-matched code vector of the block Xt out of four neighboring blocks {CW u , CW v , CW x , CW y }. With respect to embedding capacity, the proposed scheme achieves the high embedding capacity similar to that of Lin and Chang's method and the proposed scheme achieves significantly better embedding capacity in comparison with Yang et al.'s method. The embedding capacity of Yang et al.'s method is quite low because this method just embeds the secret data into smooth image blocks (i.e. image blocks with dmin  TH). In contrast, the proposed method and Lin and Chang's method embed the secret bits into every VQ index in the index table except for the seed area. In regard to bit rate, Yang et al.'s method achieves the best result (i.e. the lowest bit rate) followed by Lin and Chang's method followed by the proposed scheme at acceptable bit rate. This is because Yang et al.'s method only uses 3 bits to encode one VQ-compressed index. In terms of EE, Yang et al.'s method has the lowest EE values. This means that this method transmits the least number of embedded secret data when a bit of the binary code stream has been

transmitted. In contrast, the EE values of Lin and Chang's method and the proposed method are high and very similar. This indicates that these two methods have high embedding efficiency. In terms of reversibility, the proposed method can fully recover the original VQ-compressed indices because the secret bits are reversibly embedded into the VQ indices in the index table whereas Lin and Chang's method nearly fully recover the original VQ-compressed indices. It is because to achieve high embedding capacity, the pseudo(h,c) changeable image blocks CW i 's in Lin and Chang's method are used to embed the secret data. Consequently, there is no information to recover the original VQ-compressed indices of the pseudo(h,c) changeable image blocks CW i 's. In Yang et al.'s method, they can fully recover the original MFCVQ-compressed indices, but not VQcompressed indices. The comparative results in terms of the embedding and extracting speed of the proposed method and other methods are presented in Table 5. Table 5 shows that our proposed method achieves the fast execution speed that is similar to Yang et al.'s method whereas

C.-C. Chang et al. / Pattern Recognition 42 (2009) 1597 -- 1603

that of Lin and Chang's method is quite slow. This is because Lin and Chang's method always computes the SMD value of the current image block. 5. Conclusions We propose a simply and efficiently fully reversible data embedding method for VQ-compressed images. The experimental results show that our proposed method achieves the best visual quality of reconstructed images (i.e. highest PSNR). In addition, the proposed method has as high embedding capacity as Lin and Chang's method, followed by Yang et al.'s method. With regard to execution speed, Yang et al.'s method runs fastest, followed by the proposed method, and then Lin and Chang's method. With respect to bit rate, the proposed method has a little higher bit rate in comparison with the two related works. Hence, we can say that our proposed method is applicable to some steganographic applications such as secret communications where the network bandwidth and the execution speed are of concerns.

1603

[2] C.C. Chang, C.S. Chan, Y.H. Fan, Image hiding scheme with modulus function and dynamic programming strategy on partitioned pixels, Pattern Recognition 39 (6) (2006) 1155–1167. [3] B. Chen, G.W. Wornell, Quantization index modulation: a class of provably good methods for digital watermarking and information embedding, IEEE Transactions on Information Theory 47 (4) (2001) 1423–1443. [4] M. Jo, H.D. Kim, A digital image watermarking scheme based on vector quantisation, IEICE Transactions on Information and Systems E 85-D (6) (2002) 1054–1056. [5] T.H. Lan, A.H. Tewfik, A novel high-capacity data-embedding system, IEEE Transactions on Image Processing 15 (8) (2006) 2431–2440. [6] C.Y. Lin, C.C. Chang, Hiding data in VQ-compressed images using dissimilar pairs, Journal of Computers 17 (2) (2006) 3–10. [7] Y.C. Lin, C.C. Wang, Digital images watermarking by vector quantization, in: Proceedings of National Computer Symposium, Taipei, Taiwan, December 1999, pp. 76–87. [8] Y. Linde, A. Buzo, R.M. Gray, An algorithm for vector quantizer design, IEEE Transactions on Communications 28 (1) (1980) 84–95. [9] F.A.P. Petitcolas, R.J. Anderson, M.G. Kuhn, Information hiding—a survey, Proceedings of the IEEE 87 (7) (1999) 1062–1078. [10] B. Yang, Z.M. Lu, S.H. Sun, Reversible watermarking in the VQ-compressed domain, in: Proceedings of the Fifth IASTED International Conference on Visualization, Imaging, and Image Processing, Benidorm, Spain, September 2005, pp. 298–303. [11] X.P. Zhang, S.Z. Wang, Efficient steganographic embedding by exploiting modification direction, IEEE Communications Letters 10 (11) (2006) 1–3.

References [1] C.K. Chan, L.M. Cheng, Hiding data in images by simple LSB substitution, Pattern Recognition 37 (3) (2004) 469–474.

About the Author—CHIN-CHEN CHANG received his BS degree in applied mathematics in 1977 and the MS degree in computer and decision sciences in 1979, both from the National Tsing Hua University, Hsinchu, Taiwan. He received his PhD in computer engineering in 1982 from the National Chiao Tung University, Hsinchu, Taiwan. During the academic years of 1980–1983, he was on the faculty of the Department of Computer Engineering at the National Chiao Tung University. From 1983 to 1989, he was on the faculty of the Institute of Applied Mathematics, National Chung Hsing University, Taichung, Taiwan. From August 1989 to July 1992, he was the head of, and a professor in, the Institute of Computer Science and Information Engineering at the National Chung Cheng University, Chiayi, Taiwan. From August 1992 to July 1995, he was the dean of the College of Engineering at the same university. From August 1995 to October 1997, he was the provost at the National Chung Cheng University. From September 1996 to October 1997, Dr. Chang was the Acting President at the National Chung Cheng University. From July 1998 to June 2000, he was the director of Advisory Office of the Ministry of Education of the ROC. From 2002 to 2005, he was a Chair Professor of National Chung Cheng University. Since February 2005, he has been a Chair Professor of Feng Chia University. In addition, he has served as a consultant to several research institutes and government departments. His current research interests include database design, computer cryptography, image compression and data structures. About the Author—The DUC KIEU received the BS degree in computer science from the Natural Sciences University, Vietnam, in1999, and the MS degree in computer science from Latrobe University, Australia, in 2005. Currently, he is a PhD student at Feng Chia University, Taiwan. His current research interests include image processing, information hiding. About the Author—WEN-CHUAN WU received the BS degree in computer science and information engineering from the Tung Hai University, Taiwan, in 2001, and the MS degree in computer science and information engineering from the National Chung Cheng University, Taiwan, in 2003. Currently, she is a PhD student in National Chung Cheng University, Taiwan. Her current research interests include image processing, information hiding, data compression, and image retrieval.