Joint coding and embedding techniques for multimedia images

Joint coding and embedding techniques for multimedia images

Information Sciences 178 (2008) 3543–3556 Contents lists available at ScienceDirect Information Sciences journal homepage: www.elsevier.com/locate/i...

2MB Sizes 0 Downloads 31 Views

Information Sciences 178 (2008) 3543–3556

Contents lists available at ScienceDirect

Information Sciences journal homepage: www.elsevier.com/locate/ins

Joint coding and embedding techniques for multimedia images Chin-Chen Chang a,c,*, Wen-Chuan Wu b, Yi-Hui Chen a a b c

Department of Computer Science and Information Engineering, National Chung Cheng University, Chiayi 621, Taiwan, ROC Department of Computer and Information Science, Aletheia University, Taipei 251, Taiwan, ROC Department of Information Engineering and Computer Science, Feng Chia University, 100 Wenhwa Road, Seatwen, Taichung 40724, Taiwan, ROC

a r t i c l e

i n f o

Article history: Received 5 February 2007 Received in revised form 10 April 2008 Accepted 2 May 2008

Keywords: Clustering Image compression Quantization index modulation Side-match VQ

a b s t r a c t Hiding data in digital images is a technique for secret data communication. It involves embedding important data into a cover image in digital form with minimal perceptible degradation. In this paper, we first propose an improved data hiding method for sidematch vector quantization (SMVQ) compressed images, which utilizes the codeword-pairing procedure to modulate the index code of each image block. In order to take it a step further and obtain a larger embedding capacity, we remodel the first proposed method into a new one with the power of variable-rate data embedding through the use of a multiplebase notational system. According to the experimental results, the two proposed methods are indeed capable of providing a larger embedding capacity without causing noticeable distortions of stego-images in comparison with previous methods. Moreover, our methods also maintain a low compression bit-rate without auxiliary data. Ó 2008 Elsevier Inc. All rights reserved.

1. Introduction Images, such as trademarks, figures, photos, and drawings, are a form of visual communication used to express information immediately in our daily lives. The incredibly rapid advancements in computer technology and the Internet have transformed these images gradually into the digital format for the ease of editing, storage, and sharing. In the human vision system (HVS), it is impossible to detect the differences between two highly similar images with the naked eye. Based on this property, therefore, data hiding techniques have been developed to convey important and secret data imperceptibly in digital images [23]. Data hiding technique is a generic term of designing a very wide set of applications, such as steganography [5,21], copyright protection [3], fingerprinting, and so on. Each has its own specific characteristics. Steganography, the main subject studied in this paper, refers to a camouflage artifice in the field of secret data communication which involves embedding information behind a seemingly meaningful cover image (host image) in an invisible way to prevent the leakage of secret data. As compared with the cipher-based cryptosystem, this practice is more able to maintain the security of confidential content [2]. It is noted that the cover image containing the secret message is called a stego-image. In this paper, three metrics are used to measure the performance of our proposed schemes: embedding capacity, visual quality of stego-image, and bit rates. Generally, embedding capacity of an image is as large as possible, quality fidelity of a stego-image (i.e. visual quality) is as high as possible, and its stego-image can suffer from various statistical detections. Yet they, embedding capacity and visual quality, are mutually exclusive. The higher embedding capacity often results in a worse image quality (i.e. high-distortion). To provide a high embedding capacity with a low-distortion of stego-image, LSB-based schemes [1,2,18] have been published. These LSB-based schemes have often been applied to the applications of content * Corresponding author. Address: Department of Information Engineering and Computer Science, Feng Chia University, 100 Wenhwa Road, Seatwen, Taichung 40724, Taiwan, ROC. Tel.: +886 4 24517250x3790; fax: +886 4 27066495. E-mail addresses: [email protected], [email protected] (C.-C. Chang), [email protected] (W.-C. Wu), [email protected] (Y.-H. Chen). 0020-0255/$ - see front matter Ó 2008 Elsevier Inc. All rights reserved. doi:10.1016/j.ins.2008.05.003

3544

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

protection, secret sharing, metadata retrieval, digital restoration, and so on. But, they might be insecure because the hidden data could be easily detected by some detectors [12,13]. Additionally, this kind of schemes in spatial domain is inefficient because the amount of data needed to be transferred via the public network is large. When the network bandwidth is rather limited, the on-line transfer of images over the Internet is time-consuming, image compression techniques have thus been introduced to make digital images smaller. This approach, however, causes a serious concern: the hidden data might be impaired and lost after the use of the compression procedure. As a result, steganography methods processed in the spatial domain have this weakness. Recently, some researchers have focused on the approach of quantization index modulation (QIM) [7] in order to enhance the robustness of the embedded data in the compressed domain. As the name implies, the principle of QIM is to embed secrets by directly modulating the code stream of an image. Such a carrier not only conceals the existence of secret information but simultaneously shortens the delivery time via the network. In 1999, Lin and Wang proposed an LSB-like method [20] for VQ-coded images in which each index code holds one secret bit. This method utilizes the pairwise nearest clustering manner to create many pairs of codewords that are extremely similar to each other. One of the two codewords in the same pair is responsible for implying for the secret ‘‘0” embedding, and the other codeword is responsible for implying for the secret ‘‘1” embedding. Although replacement with the alternative embedding rule does not cause perceptible distortion, the capacity of this method is a little too low. To improve this defect, Lu et al. [19] extended it to a t-bit/index embedding method. That is to say, 2t codewords that are as similar as possible are arranged in the same cluster instead of a pair. Jo and Kim, in 2002, also designed a revised version [15] of Lin and Wang’s method in order to raise the quality of embedded images. They mainly extract the singular codewords that might burden the quality with large degradation from the codebook and collect them in a cluster that is not for embedding. Further, some adaptive embedding methods, such as [9,11,25], that can deliver more secret data into VQ-coded images, have been introduced. Whether the codewords in the codebook are paired/clustered, or the fixed/adaptive embedding is exploited, the schemes mentioned above do have one thing in common: all of them are based on vector quantization (VQ) compression [17]. The VQ algorithm is widely known and quite effective, but there is a serious issue with odd-looking appearance of artifacts, especially in object boundaries. For this reason, certain data-hiding methods have been developed based on side-match VQ (SMVQ) coding rather than VQ coding. For example, earlier work [8] based on two-stage SMVQ was performed to adjust the compressed results according to the binary random sequences. In this paper, we shall propose two SMVQ-based steganography methods to improve on the preceding developments. One of the proposed methods is also based on the concept of the pairwise nearest clustering technique. This approach can improve the visual quality of the stego-image and reduce the compression bit-rate at the 1-bit/index embedding unit. The other proposed method exploits the multiple-base notational system to achieve the purpose of variable-rate data embedding. This approach can significantly improve the embedding capacity for secret data while still preserving acceptable visual quality. The rest of this paper is organized as follows. In Section 2, we shall briefly review some previous works. In Section 3, we shall present the two novel embedding schemes for SMVQ-coded images. In Section 4, our experimental results will be presented and discussed to show if the proposed methods indeed produce better performance. Finally, conclusions will be summarized in the last section. 2. Related works In this section, we will provide some background knowledge of our new methods by reviewing several related works. First, in Sections 2.1 and 2.2, the basic concepts of VQ [17] and side-match VQ algorithms [16] are introduced, respectively. Then in Section 2.3, a brief review of the earlier embedding scheme [8] based on SMVQ is presented. 2.1. Vector quantization In 1980, Linde et al. addressed a block-based quantization algorithm [17], named vector quantization (VQ), mainly for grayscale images. This algorithm can effectively reduce image storage size by a lossy compression mechanism. As the name implies, the image needs to be divided into non-overlapping blocks of k  k pixels, which are then transformed into k2dimensional vectors before executing the VQ encoding procedure. In VQ, it is also necessary to design a set of representative image blocks beforehand to form the codebook W = {C0, C1, . . . , CN1}, where each element Ci in W is regarded as the i-th k2-dimensional codeword. A good codebook is capable of replacing all the possible image blocks within the satisfying quantization error. In order to minimize the average distortion, certainly, we will seek the most similar codeword in the codebook for each input vector in the encoding procedure [4,10]. Then the corresponding index of the found codeword is used as a substitution for the vector itself. The VQ quantizer eventually produces a set of indices, also called an index table, to become the compressed codes of the original image. On the opposite side, the identical content of the VQ codebook as the quantizer used is held and employed in the decoding procedure. The de-quantizer will sequentially decode these received codes in the raster scanning order. In accordance with the indices, it fetches the corresponding codewords in the codebook by using the table-lookup operation and then reconstructs the compressed image. Indeed, VQ has an excellent performance with a low bit rate and a fast decoding process, so it has been applied to a variety of research fields thus far, even face detection [14] and anomaly intrusion detection [27].

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

3545

2.2. Side-match vector quantization As noted above, VQ compression exhibits an excellent rate-distortion performance. According to the literatures concerning the block coding operation, however, VQ might result in block visual discontinuities [6] in the spatial domain. In 1992, the concept of side matching for VQ images was thereby presented to improve the block artifacts. The original side-match VQ (SMVQ) method [16] takes advantage of the prediction process to make recovered images smoother. In general, any two neighboring blocks in an image show high correlation with each other. Hence, SMVQ considers the side information of two neighbors (i.e. the upper and left adjacent blocks) of the current block to predict its index. Assume that each block is sized 4  4 (k = 4), shown in Fig. 1, where U = (u1, u2, . . . , u16) and L = (l1, l2, . . . , l16) are the reconstructed blocks and X = (x1, x2, . . . , x16) is an image block to be encoded. The prediction process of SMVQ is as follows. First, partial border values of X are temporarily assigned, as depicted in Fig. 1, by two neighbors U and L. For example, x1 = (u13+l4)/2, x2 = u14, x3 = u15, x4 = u16, x5 = l8, x9 = l12, and x13 = l16. After that, the SMVQ encoder selects certain n qualified codewords from W to form a state codebook, WS, in accordance with these predicted values of X. These eligible codewords are just those with smaller side-match distortions. The sidematch distortion of codeword C i ¼ ðci;1 ; ci;2 ; . . . ; ci;k2 Þ is SMD(Ci), computed by Eq. (1), where ci,j is the j-th component of codeword Ci. From WS, the codeword most similar to X is chosen and used to encode X in the end. Since the number of codewords in WS is far smaller than that in W, i.e. n  N, the bit rate of the predicted block is therefore reduced. That is to say, the compression performance of SMVQ is better than that of VQ.

SMDðC i Þ ¼

k k1 X X ðxj  ci;j Þ2 þ ðxkjþ1  ci;kjþ1 Þ2 : j¼1

ð1Þ

j¼1

Only the seed blocks in the first row and the first column are encoded by VQ, intuitively, so SMVQ may meet the derailment problem. That is, an inaccurate result leads to the incorrect prediction of successive blocks. The simplest solution, also called the two-stage SMVQ, is to adopt a threshold to control the visual quality of the reconstructed image. In the two-stage SMVQ, an indicator is required to indicate whether the image block is encoded by VQ or SMVQ. 2.3. Two-stage SMVQ-based steganography scheme In past work, a steganography scheme based on two-stage SMVQ was published in [8]. This scheme only modulates the compressed codes of the non-seed blocks to hide information. To embed a secret bit, it first predicts several codewords of the current block to build a state codebook by using two neighboring encoded blocks, U and L. Then a proper codeword is chosen from this state codebook according to a binary random number sequence. This sequence T1 is randomly generated, and it is the same size as the number of codewords in the state codebook, as shown in Fig. 2. Thus, each codeword is responsible for a random bit (0 or 1). Note that there are merely n  1 codewords in this state codebook and the position indexed by zero is empty. These n  1 codewords are then labeled with signs in order from high to low according to their similarities to the current input block and the codeword itself. If the random bit corresponding to the nearest codeword matches the secret bit, this codeword will be used to encode the block; otherwise, the next nearest codeword whose random bit equals the secret bit is selected. When the selected codeword is not similar to the input block, in other words, the difference between them exceeds a threshold THSMVQ, it means that the derailment problem is probably caused in this scheme. Thus, the block cannot be encoded by SMVQ, but it can be encoded by VQ itself. The VQ encoding is performed as in the steps mentioned above. Another random sequence T2 is also generated randomly for the VQ codebook. Let Ci be the codeword in order whose random bit first

Fig. 1. The prediction process of SMVQ.

3546

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

Fig. 2. The embedding procedure in [8].

matches with the secret bit. If the difference between the block and Ci does not exceed another threshold THVQ, then Ci is used to encode this block; otherwise, no secret is hidden in it. Here, a special code indexed by zero in the state codebook, such as ‘‘0000”, is used to imply this kind of block without secret data. During the decoding phase, this scheme can recognize an SMVQ-encoded or VQ-encoded block easily by the prior indicator. Then the succeeding index is implemented to reconstruct an image block and to extract the embedded bit. The random bit corresponding to the index is exactly the embedded data in case of the non-zero index. With the help of the two-stage embedding, this scheme indeed increases the possibility of finding the appropriate codeword. However, it leads to two serious problems: one is degradation in the visual quality of the stego-image, and the other is the impairment of the compression rate. Because the retreat mechanism used for hiding secrets might select a worse codeword or produce many auxiliary codes, this way not only distorts the image quality but has a poor bit rate. 3. The proposed schemes In the application of steganography, visual quality of the embedded image and embedding capacity of the embedded image are the two major considerations. In order to further improve the performance of the previous methods, in this section, we shall propose two novel steganography schemes based on two-stage SMVQ compression. The two schemes proposed are given the titles ‘‘Scheme-1” and ‘‘Scheme-2”, respectively. In these two schemes, the data embedding procedures are both performed in a block-wise fashion. In other words, a cover image is divided into non-overlapping blocks of size k  k. These blocks are classified into seed blocks and residual blocks, as in traditional SMVQ. Residual blocks are able to hide secret data during the vector encoding process, but seed blocks are only operated by the original VQ encoder to match the best codewords. By this way, the produced compressed result holds the secret data. From the code stream, the hidden message can be accurately retrieved by executing the corresponding extraction operations in which an all-purpose codebook W of N codewords is required. Before being hidden, in addition, the secret data that a sender wants to deliver to a receiver should be encrypted so that the safety of the important information is doubly protected. 3.1. Scheme-1 The first proposed scheme, Scheme-1, adopts the pairwise nearest clustering technique to modulate the quantized indices. This technique is actually the task of pairing the members of a group one-by-one. For a residual block X, Scheme-1 first constructs a state codebook WS by using the two encoded neighbors U and L. This codebook WS = {SC0, SC1, . . . , SCn1} has only n codewords, and each codeword SCi refers to an index value i, where 0 6 i < n. Then these n codewords are sequentially paired by a clustering rule, as follows.

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi u 2 k uX EDðC i ; C j Þ ¼ t ðci;t  cj;t Þ2 :

3547

ð2Þ

t¼1

Initially, all the codewords in WS are put into an unclassified list Lp. Next, the first codeword SC0 is taken to start the pairing operation. From this list, the best codeword SCj (j 6¼ 0) to SC0 is chosen according to the criterion of the Euclidean distance, ED, shown in Eq. (2). These two codewords, SC0 and SCj, are then drawn out of Lp and paired together into the same pair. After that, we select another codeword with the smallest index from Lp to start the above pairing operation. When the list is empty, finally, we obtain n/2 pairs, in which each pair holds only two codewords of WS. It can be clearly seen that this clustering result preserves the following three properties, where Pt stands for the t-th pair and Alt(a) represents the alternative codeword of vector a in the identical cluster. n=2

Property 1: WS ¼ [t¼1 Pt . Property 2: Ps \ Pt = ;, where 1 6 s; t 6 n2 for s 6¼ t. Property 3: Alt(SCi) = SCj, where SCi, SCj 2 Pt for i 6¼ j. 3.1.1. Data embedding procedure Due to the similarities in the pair of codewords SCi and SCj, they can replace each other, and this behavior will be rarely perceived. For this reason, Scheme-1 adopts this replacement as the framework to hide secrets. The following is the data embedding process, step-by-step, of Scheme-1 for each non-seed block X. Step Step Step Step

1: 2: 3: 4:

Select one secret-bit sb from the secret data to be embedded. Find the most similar codeword SCi of X from the state codebook WS. Find the alternative codeword of SCi, i.e. Alt(SCi) = SCj. If i 6 j, go to Case 4.a; otherwise, go to Case 4.b. Case 4.a:If sb is ‘‘0”, output the index i; otherwise, output the index j if sb is ‘‘1”. Case 4.b:If sb is ‘‘0”, output the index j; otherwise, output the index i if sb is ‘‘1”.

Repeating the four steps above, we eventually obtain a series of compressed codes carried with the secrets. However, this approach still encounters the error propagation problem. Therefore, Scheme-1 needs a control condition appended to it, just as two-stage SMVQ does, before the performance of the embedding steps. The condition is the limitation that both the ED values between block X and codewords SCi as well as SCj cannot exceed a predefined threshold value, THSMVQ. If satisfied, then this block X is operated by the foregoing SMVQ encoder; otherwise, this block X is operated by the latter VQ encoder. The VQ encoder of Scheme-1 is also conducted based on the equivalent concept of codeword-pairing. In accordance with the clustering rule depicted above, the original VQ codebook W = {C0, C1, . . . , CN1} can be classified into N/2 pairs, and the two codewords of each pair are equally paired one by one. Note that there are no codewords left. The proposed VQ encoder works like the earlier replacement steps, but the relative argument is codebook W. For clarity of presentation, here we present an example to illustrate this case. Suppose that the current 2  2 block to be encoded is X, and its neighbors U and L have already been processed, as shown in Fig. 3. By the predicted vector (9, 15, 20, ?) of X, a state codebook WS of size eight can be built. In WS, the best codeword, SC2, and its alternative codeword, SC5, to X both have larger ED values when THSMVQ = 10, so the proposed VQ encoder is considered to process X. Let C17 be the best codeword of X in the VQ codebook and C4 be the alternative codeword of C17. When the secret bit is ‘‘0”, we encode X by index 4; otherwise, we encode X by index 17 if the secret bit is ‘‘1”. In this example, it is clear to see that the codewords in the same pair appear alike. It is remarkable that this scheme does not yield extra codes except the indicators of two-stage SMVQ. Trace back to the earlier scheme [8], a special compression code is required to indicate the case of blocks without secret data embedded. Obviously, the performance of this scheme is slightly better than that of the scheme [8] in terms of compression rate. Also, the scheme [8] uses the retreat strategy to cater for the hiding bit such that it might select a worse codeword. By contrast, Scheme-1 has better image quality under the same condition. 3.1.2. Data extraction procedure During the data extraction procedure, we must first handle the significant seed information without any secrets embedded. For this kind of seed code, a bit stream of length dlog2Ne is taken each time and is translated into a decimal index i for the traditional VQ decoder. With the help of index i, the seed block can be reconstructed by using the corresponding codeword Ci of W. The same handling is repeated until all the seed information are processed. For the other residual codes, subsequently, the anterior one-bit indicators are the guide signs to be performed by SMVQ or VQ decoders. No matter which one is assigned, the codebooks, W and WS, must be operated by the preceding clustering rule before extraction. To make it systematic, the extraction procedure for residual blocks is specified below, step by step.

3548

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

Fig. 3. An example of the data embedding procedure in Scheme-1.

Step 1: Read one bit from the residual codes to be the indicator. Through the indicator, determine which decoder is adopted. Step 2: If the SMVQ decoder is adopted, then perform the following sub-steps: Step 2.1: Build the state codebook WS by using the side-match prediction operation. Then, cluster WS into n/2 pairs. Step 2.2: Derive the following dlog2ne bits and translate it as a decimal value i. Step 2.3: Find the codeword SCi of WS by using i as address to recover the block and acquire the alternative codebook SCj of SCi. Step 3: If the VQ decoder is adopted, then perform the following sub-steps: Step 3.1: Derive the following dlog2Ne bits and translate them as a decimal value i. Step 3.2: Find the codeword Ci of W by using i as the address to recover the block and acquire the alternative codebook Cj of Ci. Step 4: If i 6 j, it means that the embedded bit is ‘‘0”; otherwise, the embedded bit is ‘‘1”. Step 5: Repeat Steps 1 to 4 until all the residual codes are processed. Step 6: Decrypt the extracted encrypted secret data to derive the original secret data. 3.2. Scheme-2 The second proposed scheme, Scheme-2, adopts the variable-rate data embedding strategy in order to further increase the embedding capacity. The so-called variable-rate embedding is that the numbers of secret bits carried in individual blocks are made different, depending on the block content itself. In fact, a desirable codebook ought to hold many smooth and similar codewords for natural image coding. This can be exploited to accommodate more secret data without causing visually detectable traces. In the initial stage, Scheme-2 introduces a notational system with multiple bases to re-express a secret data to be hidden. This way can skillfully decrease the quantity of symbols representing original secret data. In general, binary and decimal digits are the frequently used notational systems. The bases used in these systems are 2 and 10, respectively. In most cases of computer operations, the secret data is a bit stream in which each symbol is exactly one bit. Considering that image blocks have different data-carrying abilities, here, the secret data is converted as an integer number using a variable base system. The greater the base, the more secret data will be involved in the corresponding symbol.

D ¼ ðr t1 ; r t2 ; . . . ; r 2 ; r 1 ; r 0 Þbt1 ;bt2 ;...;b2 ;b1 ;b0 ; where 0 6 r i < bi for i ¼ 0; 1; . . . ; t  1: 8 q¼0 D mod bq ; > > > " # < q1 i 1 P Q 1 rq ¼ D  r 0  ðr i  bj Þ mod bq ; 1 6 q 6 t  1 : q 1 > Q > > j¼0 i¼1 : bj j¼0

ð3Þ

ð4Þ

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

3549

Let D be an integer decimal number. Any valueD can be expressed in a variable base system as Eq. (3). Here, r0, r1, . . . , and rt1 denote the remainder symbols corresponding to the different basesb0, b1, . . . , and bt1, respectively. It is obvious that using different base series will produce the distinct results of the symbols. Once these bases are given, the corresponding symbols will be obtained through Eq. (4). On the contrary, the former value D can be easily computed by Eq. (5) when these bases and symbols are known. By this way, any decimal integer can be represented as successive bases and symbols. For example, (23)10 = (1, 0, 3, 1)3,2,4,2 and (211)10 = (3, 2, 0, 1)6,4,3,5. t1 i1 Y X ðri  bj Þ þ r 0 ¼ D: i¼1

ð5Þ

j¼0

Before the data embedding procedure of Scheme-2 begins, there are two more operations that must be performed. One is the codebook clustering, in which VQ codebook W is clustered into many groups of similar members. The purpose of codebook clustering is to assemble those codewords with similar contents so that the codewords that belong to the same group can replace each other. Here, the criterion of similarity measurement depends on a given threshold, as in the earlier method [9]. First of all, all the codewords are put into an unclassified list. Then, each time, one codeword Ci and its most similar one are taken out of this list to start the grouping operation. If their Euclidean distance is not greater than the given threshold, merge them to form a group and continue the group enlargement; otherwise, stop codeword Ci’s grouping, group it individually, and it is another un-selected codeword’s turn. When a new group appears, it is made as large as possible under condition that it does not go beyond the threshold. Thus, we also search for the closest codeword from that list and compare it with the gravity of the new group. It can be clearly seen that the codeword grouping result depends on the threshold value. After clustering, we will obtain g groups, i.e. G1, G2, . . . , and Gg, with different sizes where each codeword in W appears in only one of these groups. For clarity, the clustering result satisfies (1) G1 [ G2 [    [ Gg = W, and (2) Gi \ Gj = ;, where i 6¼ j. The other operation is the block classification to decide which encoder, VQ or SMVQ, should be adopted for residual blocks. For two-stage SMVQ compression, VQ and SMVQ codes are two kinds of compressed results in which we merely apply the variable-rate embedding technique to the VQ-encoded codes, because the VQ codebook has more substitutes than the SMVQ codebook. Here, the principle of block classification is the variation of the boundary between the current block and its adjacent neighbors. If the variation of pixel amplitudes is large enough, it means that the current block is situated in complex areas and will be processed by the VQ encoder; otherwise, the current block will be processed by the SMVQ encoder instead. 3.2.1. Data embedding procedure For the blocks to be encoded by VQ, they have numerous similar substitutes in the corresponding groups due to the prior codebook clustering. A rule of thumb in the embedding of Scheme-2 is that the greater the number of members in a group, the more substitutes can be chosen in data modification, allowing a larger amount of secret data to be involved. As such, we let each VQ block carry one symbol of the secret data in a multiple-base notational system by using the corresponding group size as its base. Thus, the chosen substitute is still in the identical group. As for the blocks to be encoded by SMVQ they carry secrets by using the pairing operation of Scheme-1 and here no more words interpret its details again. The detailed data embedding procedure of Scheme-2 is designed as follows: Step 1: Encode the first row and the first column of original image blocks, i.e. seed blocks, by full search in the VQ codebook. In other words, they are not used for data embedding. Step 2: Scan all of the residual blocks in a raster order to calculate the boundary variation, var, between the current block X P P and its neighbors U and L as var ¼ kj¼1 ðxj  ukðk1Þþj Þ2 þ kj¼1 ðxkðj1Þþ1  lkj Þ2 . Compare var with the pre-set threshold THvar, if var > THvar, and then send an indicative bit ‘‘1” to the code stream; encode X to produce the best index of VQ, and put the index in an ordered list Lc, such as Lc = {I0, I1, . . . , Im1} (m represents the number of VQencoded blocks); otherwise, send an indicator bit ‘‘0” to the code stream. Q Step 3: Draw at least t feasible indices out of Lc to let the number T be greater than or equal to 28, where T ¼ t1 i¼0 jGhðIi Þ j. Here, jaj denotes the number of elements in the group a, and h(a) stands for the identification number of the group where index a is situated. Step 4: Derive 8 binary bits from the secret data and convert them into a positive decimal integer D. Through Eq. (4), reexpress D into t symbols, r0, r1, . . . , and rt1, corresponding to these t bases jGhðIi Þ j, where i = 0, 1, . . ., t-1. Step 5: According to symbols r0, r1, . . ., and rt1, pick out codewords whose orders in the corresponding groups, GhðI0 Þ ,GhðI1 Þ , . . . , and GhðIt1 Þ , are equal to these residual symbols, respectively. Then send the indices of the chosen codewords to the code stream. Step 6: Go to Step 3 until list Lc is empty. Then, perform the embedding procedure of Scheme-1 on the other SMVQ blocks. Clearly, the codeword replacement is accomplished within the identical group due to the introduction of group size as the base. Furthermore, the codewords in the same group are fairly similar to each other. Therefore, the modification to index codes does not destroy the original data too visually. Noted that the parameter t is a variable value depending on the clustering result. According to the content of neighboring blocks, this procedure will adaptively determine the value t each time

3550

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

to hide 8-bit data, where the value of t is usually less than 8. It is easy to see that, compared with Scheme-1, Scheme-2 can carry more than one-bit secrets in each VQ block. This also ensures that the variable-rate embedding of Scheme-2 is successfully achieved. 3.2.2. Data extraction procedure On the extraction side, the first thing which must be done is to restore the same codebook clustering result as the prior embedding procedure. After the codeword gathering over W, the embedded secret data can be extracted from the received codes of residual blocks according to the itemized steps shown as follows: Step 1: Read the one-bit message to be the indicator. If the indicator is ‘‘1”, the following dlog2Ne bits are represented in decimal format, so put the decimal value in a list Lc; otherwise, the following dlog2ne bits are represented in decimal format. Step 2: Perform Step 1 repeatedly until all the residual codes are processed. At this time, list Lc is composed of indices of VQ blocks, i.e. Lc = {I0, I1, . . . , Im1}. Q Step 3: Draw at least t feasible indices out of Lc to let the number T be larger than or equal to 28, where T ¼ t1 i¼0 jGhðIi Þ j. Step 4: According to these indices I0, I1, . . . , and It1, derive the serial number (order) of codewords in which groups they are situated, respectively, as the corresponding residual symbols r0, r1, . . . , and rt1. In addition, these group sizes jGhðIi Þ j’s are the bases b0, b1, . . . , and bt1. Step 5: Compute the decimal value D by the known bases and symbols through Eq. (5). Actually, the 8 binary bits of D are the embedded secret data. Go to Step 3 until list Lc is empty. Step 6: Perform the SMVQ decoder of Scheme-1 on the other SMVQ indices to obtain all the embedded secret data. Step 7: Decrypt the extracted secret data to derive the original plaintext. Let us give an example to illustrate the embedding and extraction processes of Scheme-2. Suppose that the codebook of 16 codewords is clustered into five groups, G1, G2, . . . , and G5, as shown in Fig. 4a. By using the proposed block classification, the non-seed blocks in the example of 25 image blocks, shown in Fig. 4b, can be partitioned into two types: the one presented in pale gray represents VQ blocks, and the one presented in white represents SMVQ blocks. For VQ blocks, we can find the best codewords by a primitive VQ encoder and then put their indices into list Lc in order. In addition, we also convert two 8-bit secret data of ‘‘1011101011101110” to positive integers, 186 and 238, of a decimal system. First of all, we take the prior four indices, i.e. 3, 4, 6, and 5, out of Lc because they make the number T=6  6  5  2 not less than 28. These codewords corresponding to the four indices are in G2, G2, G1, and G3, respectively, and their group sizes are 6, 6, 5, and 2. According to these values as bases, then we can obtain the first re-expressed data (186)10 = (1, 0, 1, 0)2,5,6,6. In this case, C3 is replaced by C1, whose codeword order in the same group is zero, C4 is replaced by C3, whose codeword order in the same group is one, and so on. Finally, we can acquire the embedded result of these VQ blocks as shown in the right illustration of Fig. 4b in the same manner. Because the embedded codewords C1, C3, C0, and C8 still satisfy the condition of T, we can collect them together and derive the corresponding bases 6, 6, 5, and 2, respectively. These codewords’ orders in the corresponding groups are 0, 1, 0, and 1, so we also can obtain the right residual symbols. Through Eq. (5), (1, 0, 1, 0)2,5,6,6 can be converted into a decimal value (186)10. In fact, (186)10 is exactly in the decimal system of the embedded secret data ‘‘10111010”.

Fig. 4. An example of the data embedding procedure in Scheme-2.

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

3551

4. Experimental results In our experiments, six standard 256 gray-scale images of 512  512 pixels served as test images: ‘‘Baboon”, ‘‘Jet”, ‘‘Lena”, ‘‘Pepper”, ‘‘GoldHill”, and ‘‘Boat”. As shown in Fig. 5, each of these was divided into 16384 blocks of 4  4 pixels (i.e. k = 4) to evaluate the performance of the proposed schemes, Scheme-1 and Scheme-2. These experiments used the JAVA function random( ) to generate a pseudo random binary bit stream as the secret data. In addition, a VQ codebook of size 512 (i.e. N = 512) was acquired by the LBG training algorithm [17]. Three ruling metrics were used to measure the performance of our schemes and the methods to which they were compared: peak-signal-to-noise ratio (PSNR), embedding capacity, and bit rate. The PSNR value indicates the fidelity between the original image and the reconstructed image with the secret data embedded. Generally speaking, the higher the PSNR value is, the better the quality of the reconstructed image will be, and vice versa. The other two factors, embedding capacity (capacity for short) and bit rate, are the average number of secret bits hidden for each block and the compression rate of the embedded image, respectively. It is no doubt that an image with a smaller compression bit-rate and higher capacity will degrade the PSNR quality of the embedded image. Table 1 shows the comparative results of the six cover images using different embedding schemes in terms of PSNR quality, capacity, and compression bit-rate. Here, the used state codebook size is n = 16, and the threshold values used in the scheme [8] are THSMVQ = 30 and THVQ = 120. Compared with previous scheme [8,15], the proposed scheme, Scheme-1, is able not only to embed more secret data but also to do so at a better compression rate (only 0.41 bpp on average) at the same threshold condition. We observed that each residual block in Scheme-1 carries one secret bit, but in the previous schemes, certain residual blocks do not hide any secrets due to the thought of block content. This causes Scheme-1 to have a slightly worse image quality than that of scheme [8]. On the other hand, although scheme [8] adopts the SMVQ framework, it still has a poor compression rate because of the production of auxiliary codes. Therefore, each of Scheme-1 and scheme [8] has its own merits and demerits. As for Scheme-2, it is clear from Table 1 that its performance is superior to those of the other three schemes. As Scheme-2 introduces the variable-rate embedding technique to attempt to hide more secret bits, Scheme-2 has the largest capacity.

Fig. 5. Test images.

3552

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

Table 1 The performance of various schemes under different cover images Factor

The scheme [15]

Image

Capacity (bit/ block)

PSNR (dB)

Rate (bpp)

The scheme [8] Capacity (bit/ block)

PSNR (dB)

Rate (bpp)

Scheme-1 (THSMVQ = 30) Capacity (bit/ block)

PSNR (dB)

Rate (bpp)

Scheme-2 (THvar = 30) Capacity (bit/ block)

PSNR (dB)

Rate (bpp)

Baboon Jet Lena Pepper GoldHill Boat Average

0.911 0.942 0.975 0.971 0.973 0.937 0.952

23.46 29.28 28.44 28.96 27.56 28.26 27.66

0.56 0.56 0.56 0.56 0.56 0.56 0.56

0.935 0.976 0.976 0.968 0.983 0.978 0.969

23.99 30.22 29.01 29.75 28.65 28.88 28.42

0.58 0.42 0.46 0.45 0.52 0.46 0.48

0.984 0.984 0.984 0.984 0.984 0.984 0.984

23.09 28.93 29.65 28.86 27.80 27.79 27.69

0.48 0.38 0.38 0.39 0.42 0.41 0.41

1.209 1.653 1.533 1.506 1.494 1.358 1.459

24.44 30.54 31.08 30.22 29.06 29.39 29.12

0.57 0.51 0.51 0.50 0.52 0.51 0.52

Furthermore, these replacements of codewords are still in identical and similar groups. Under such a circumstance, it is natural that the produced image quality should be pretty good. Moreover, Scheme-2 does not use other special codes, so its compression bit-rate is also well within acceptable limits. More detailed discussions on the parameter settings of Scheme-1 and Scheme-2 are appeared in Fig. 6. These parameters are the threshold values THSMVQ of Scheme-1 and THvar of Scheme-2, where both of them are used to control the image quality. For clarity, we have listed the experimental results of only the ‘‘Lena” image. As shown in Fig. 6b, when the threshold values increase gradually, the capacity of Scheme-2 decreases because the number of blocks encoded by VQ becomes

Fig. 6. The results of Scheme-1 and Scheme-2 in terms of image quality, embedding capacity, and compression bit-rate.

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

3553

smaller, but the capacity of Scheme-1 is always stable. The number of blocks encoded by SMVQ is relatively higher due to the reduction of the number of VQ encoded blocks. In other words, this implies that the compression bit-rate is lowered, but the image quality is degraded by the SMVQ prediction, as shown in Fig. 6a and c. This can also be confirmed by Fig. 7, where Fig. 7 is the encoding distribution of residual blocks among Scheme-1 and Scheme-2. Under the same threshold value, 10, we can see that the number of SMVQ blocks in Scheme-1 is significantly higher than that in Scheme-2. In fact, the SMVQ operation is the primary factor affecting the bit rate, which is why the compression rate of Scheme-1 outperforms that of Scheme-2. The increase of the threshold value leads to the decrease in the number of VQ blocks and the increase in the number of SMVQ blocks, so the corresponding bit rate becomes more and more satisfying, as shown in Fig. 6c. From these results, it is obvious that the capacity, the quality, and the compression rate of cover images are tightly related to the thresholds, so the tradeoff between the three factors can be made according to user preferences. Here we cannot give a uniform threshold value because each image has different content. However, users had better adopt suitable thresholds to produce the good stego-image, where the PSNR of over 27 dB is recommended [24]. The reason for this suggestion is that such an image quality will not be perceptible to naked eyes. Fig. 8 shows the resultant stego-images of the original image in Fig. 5c under different embedding strength (i.e. THSMVQ of Scheme-1 and THvar of Scheme-2). For the subjective evaluation of the visual quality of stego-images, Fig. 8b and c obtained by Scheme-1 have obvious block effect problems, face and shoulder especially. It might lead to attackers’ doubts so security is unsafe. In Scheme-2, in addition, the embedding capacity can be adapted to user preferences with another threshold, which is used to control the codebook clustering. When this threshold value is set to large, the number of groups is small and the amount of codeword members in a group is usually high. The number of secret bits a group can carry also becomes higher. For this reason, we can utilize this clustering threshold to adaptively adjust the secret data capacity, depending on user demand. Tables 2–4 present comparative results by using various variable-rate embedding schemes on the test images ‘‘Lena”, ‘‘Pepper”, and ‘‘Jet”, respectively. It is clear that all four schemes are able to embed unstable data quantities ranging from 16 to 48 K bits or more. In these tables, scheme [25] and Scheme-2 should yield unstable bit rates because both of them adopt the VQ and SMVQ alternative coding. However, in this case, Scheme-2 used the same threshold value THvar = 10 that it leads to the resultant block classifications being identical. It also implies that the bit rates over various capacities are equivalent. In terms of the PSNR quality of the embedded image, Scheme-2 mostly achieves the best results in comparison with other methods at the same embedding capacity level, except at quantities over 48 K bits. The reason is that Scheme-2 performs the variable-rate clustering on the two-stage SMVQ coding. In fact, certain smooth and predictable blocks can be executed by using the SMVQ predication technique without causing distortions. Hence, other residual blocks in Scheme-2 can be worked into better clustering by using VQ coding than that in the VQ-based embedding schemes [9,11] in order to achieve the same capacity. For scheme [25], in addition, the embedding capacity was restricted to the number of smooth blocks only. If the payload is increased, the size and the content consistence of the state codebook will become large and worse, respectively. The image quality will also degrade significantly. Therefore, for embedding 16–40 K secret bits, we can say that the proposed scheme, Scheme-2, is more suitable than other variable-rate embedding schemes. Finally, we show why the proposed schemes are based on side-match VQ. As mentioned earlier, SMVQ can effectively improve the block effect problem which VQ always causes. Fig. 9 displays the improvement of such techniques, where these results of VQ-based and SMVQ-based schemes are worked on the image ‘‘Lena” at the same bit rate (0.56 bpp) and the similar capacity (16 kilobits). From the subjective evaluation of the visual quality of stego-images, we can clearly discover that

Fig. 7. The encoding distribution of residual blocks among Scheme-1 and Scheme-2.

3554

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

Fig. 8. Stego-image comparisons after the embedding of a random bit-stream.

Table 2 The performance of various variable-rate embedding schemes on the image ‘‘Lena” Capacity (kilobit)

16 24 32 40 48

The scheme [11]

The scheme [9]

The scheme [25]

Scheme-2

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

29.82 29.21 28.59 27.96 27.61

0.56 0.56 0.56 0.56 0.56

31.76 31.22 30.31 28.64 27.87

0.56 0.56 0.56 0.56 0.56

31.76 31.19 30.44 29.08 28.01

0.59 0.55 0.51 0.48 0.46

32.02 31.52 30.82 29.48 27.41

0.55 0.55 0.55 0.55 0.55

VQ-based schemes, such as the schemes [7,9,11], have the visual discontinuities on the chin and shoulder especially. Even Fig. 9c with a higher PSNR value still has the block effect problem. But, the block effect problem is not very obvious on these smooth areas for the SMVQ-based schemes such as the schemes [6], Scheme-1, and Scheme-2. For this reason, we tend to adopt the SMVQ technique as the base of our proposed schemes.

3555

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556 Table 3 The performance of various variable-rate embedding schemes on the image ‘‘Pepper” Capacity (kilobit)

16 24 32 40 48

The scheme [11]

The scheme [9]

The scheme [25]

Scheme-2

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

28.43 28.05 27.97 27.51 27.09

0.56 0.56 0.56 0.56 0.56

30.93 30.38 29.06 28.54 27.39

0.56 0.56 0.56 0.56 0.56

31.13 30.54 29.91 28.95 27.01

0.61 0.57 0.53 0.49 0.45

31.19 30.77 30.01 29.18 26.92

0.56 0.56 0.56 0.56 0.56

Table 4 The performance of various variable-rate embedding schemes on the image ‘‘Jet” Capacity (kilobit)

16 24 32 40 48

The scheme [11]

The scheme [9]

The scheme [25]

Scheme-2

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

PSNR (dB)

Rate (bpp)

28.30 28.24 28.10 27.87 27.38

0.56 0.56 0.56 0.56 0.56

31.28 30.55 30.02 29.08 28.36

0.56 0.56 0.56 0.56 0.56

30.55 30.03 29.54 28.75 26.82

0.60 0.56 0.52 0.49 0.45

31.45 31.14 30.34 29.20 27.19

0.55 0.55 0.55 0.55 0.55

Fig. 9. Local results in the image ‘‘Lena” produced by different embedding schemes.

3556

C.-C. Chang et al. / Information Sciences 178 (2008) 3543–3556

To evaluate the impact of the stego-image on the visibility more precisely, another two quality metrics, namely wPSNR (weight peak signal-to-noise ratio) and SSIM (structural similarity), are applied in Figs. 8 and 9. wPSNR is a function measures the spatial frequency weighting of error between two images by using CSF (contrast sensitivity function) [22] of HVS (human visual system). SSIM index [26] is used to measure the similarity between two images. It is noted that the value of SSIM index is ranged from 0 to 1. The higher wPSNR and SSIM values are, the more similar two images will be. In Figs. 8 and 9, the situation we observed in VQ or SMVQ hiding techniques, wPSNR and SSIM values are high while PSNR value also keeps high. In Fig. 9, the quality metrics applied in our proposed Scheme-2 are all better than that in the other schemes [6,7,9,11]. 5. Conclusions In an earlier scheme, the way to conceal secret data was developed based on the two-stage SMVQ coding framework. However, it required the use of auxiliary codes to preserve the quality of a cover image at cost to the bit rate. In this paper, we attempt to improve the compression bit-rate by using the pairwise nearest clustering procedure so that no codeword is left on purpose. To increase the data capacity, in addition, we further present a revised version, in which the embedding strength is varied to the block content, realized by using a multiple-base notation in the same coding. Simulation experiments show that the first proposed scheme is slightly superior to other preceding schemes in terms of embedding capacity and compression rate. Every non-seed block can hide one secret bit, and the average compression ability is only 0.41 bpp when the codebook size is 512. Moreover, the second proposed scheme, with a variable-rate embedding capacity, works quite well. The image quality produced is the best, still over 29 dB, even though the data quantity is as large as 40K bits. In conclusion, our novel proposed schemes are simple and effective to conceal a large volume of secret data. References [1] C.K. Chan, L.M. Cheng, Hiding data in images by simple LSB substitution, Pattern Recognition 37 (3) (2004) 469–474. [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] C.C. Chang, Y.S. Hu, T.C. Lu, A watermarking-based image ownership and tampering authentication scheme, Pattern Recognition Letters 27 (5) (2006) 439–446. [4] S.C. Chu, Z.M. Lu, J.S. Pan, Hadamard transform based fast codeword search algorithm for high-dimensional VQ encoding, Information Sciences 177 (3) (2007) 734–746. [5] C.C. Chang, C.Y. Lin, Y.Z. Wang, New image steganographic method using run-length approach, Information Sciences 176 (22) (2006) 3393–3408. [6] C.C. Chang, W.L. Tai, C.C. Lin, A reversible data hiding scheme based on side match vector quantization, IEEE Transactions on Circuits and Systems for Video Technology 16 (10) (2006) 1301–1308. [7] 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. [8] C.C. Chang, W.C. Wu, A steganographic method for hiding secret data using side match vector quantization, IEICE Transactions on Information and Systems E88-D (9) (2005) 2159–2167. [9] C.C. Chang, W.C. Wu, Hiding secret data adaptively in vector quantisation index tables, IEE Proceedings on Vision, Image and Signal Processing 153 (5) (2006) 589–597. [10] C.C. Chang, W.C. Wu, Fast planar-oriented ripple search algorithm for hyperspace VQ codebook, IEEE Transactions on Image Processing 16 (6) (2007) 1538–1547. [11] W.C. Du, W.J. Hsu, Adaptive data hiding based on VQ compressed images, IEE Proceedings on Vision, Image, and Signal Processing 150 (4) (2003) 233– 238. [12] S. Dumitrescu, X. Wu, Z. Wang, Detection of LSB steganography via sample pair analysis, IEEE Transaction on Signal Processing 51 (2003) 1995–2007. [13] J. Fridrich, M. Goljan, D. Hogea, D. Soukal, Quantitative steganalysis of digital images: estimating the secret message length, ACM Multimedia Systems Journal 9 (2003) 288–302 (special issue on Multimedia Security). [14] C. Garcia, G. Tziritas, Face detection using quantized skin color regions merging and wavelet packet analysis, IEEE Transactions on Multimedia 1 (3) (1999) 264–277. [15] M. Jo, H.D. Kim, A digital image watermarking scheme based on vector quantisation, IEICE Transactions on Information and Systems E85-D (6) (2002) 1054–1056. [16] T. Kim, Side match and overlap match vector quantizers for images, IEEE Transactions on Image Processing 1 (2) (1992) 170–185. [17] Y. Linde, A. Buzo, R.M. Gray, An algorithm for vector quantizer design, IEEE Transactions on Communications 28 (1) (1980) 84–95. [18] S.H. Liu, T.H. Chen, H.X. Yao, W. Gao, A variable depth LSB data hiding technique in images, in: Proceedings of the Third International Conference on Machine Learning and Cybernetics, Shanghai, China, 2004, pp. 3990–3994. [19] Z.M. Lu, J.S. Pan, S.H. Sun, VQ-based digital image watermarking method, Electronics Letters 36 (14) (2000) 1201–1202. [20] Y.C. Lin, C.C. Wang, Digital images watermarking by vector quantization, in: Proceedings of National Computer Symposium, Taipei, Taiwan, 1999, pp. 76–87. [21] X. Li, J. Wang, A steganographic method based upon JPEG and particle swarm optimization algorithm, Information Sciences 177 (15) (2007) 3099– 3109. [22] M. Makoto, Objective picture quality scale (PQS) for image coding, IEEE Transactions on Communications 46 (9) (1998) 1215–1226. [23] F.A.P. Petitcolas, R.J. Anderson, M.G. Kuhn, Information hiding – a survey, Proceedings of the IEEE 87 (7) (1999) 1062–1078. [24] F. Rizzo, J.A. Storer, B. Carpentieri, Overlap and channel errors in adaptive vector quantization for image coding, Information Sciences 171 (1–3) (2005) 125–143. [25] S.C. Shie, S.D. Lin, C.M. Fang, Adaptive data hiding based on SMVQ prediction, IEICE Transactions on Information and Systems E89-D (1) (2006) 358– 362. [26] Z. Wang, A.C. Bovik, H.R. Sheikh, E.P. Simoncelli, Image quality assessment: from error visibility to structural similarity, IEEE Transactions on Image Processing 13 (4) (2004) 600–612. [27] J. Zheng, M. Hu, An anomaly intrusion detection system based on vector quantization, IEICE Transactions on Information and Systems E89-D (1) (2006) 201–210.