• 沒有找到結果。

Data Hiding in Binary Images with Distortion-Minimizing Capabilities by Optimal Block Pattern Coding and Dynamic Programming Techniques ∗

N/A
N/A
Protected

Academic year: 2022

Share "Data Hiding in Binary Images with Distortion-Minimizing Capabilities by Optimal Block Pattern Coding and Dynamic Programming Techniques ∗"

Copied!
9
0
0

加載中.... (立即查看全文)

全文

(1)

PAPER

Special Section on Image Recognition and Understanding

Data Hiding in Binary Images with Distortion-Minimizing Capabilities by Optimal Block Pattern Coding and Dynamic Programming Techniques

I-Shi LEE, Member and Wen-Hsiang TSAI††a), Nonmember

SUMMARY A new method for data hiding in binary images based on block pattern coding and dynamic programming with distortion- minimizing capabilities is proposed. Up to three message data bits can be embedded into each 2× 2 block in an input image by changing the block’s pixel pattern into another, which represents the value of the message data bits as a code according to a block pattern encoding table. And extraction of hidden message data is accomplished by block pattern decoding. To minimize the resulting image distortion, two optimization techniques are proposed. The first is to use multiple block pattern encoding tables, from which an optimal one is selected specifically for each input image, and the second is to use a dynamic programming algorithm to divide the message data into bit segments for optimal embedding in a sense of minimizing the number of binary bit flippings. Accordingly, not only more data bits can be embedded in an image block on the average, but the resulting image distortion is also reduced in an optimal way. Experimental results are also included to show the effectiveness of the proposed approach.

key words: data hiding, binary image, block pattern encoding, dynamic programming, image distortion minimization

1. Introduction

Many data hiding techniques have been proposed for a variety of digital image applications in recent years [1]–

[6]. Most of the techniques were proposed for color and grayscale images because the pixels in such images take a wide range of values and so are easier to use for data hiding.

One simple approach is to use the least-significant-bit (LSB) replacement technique [6]. However, data hiding in binary images is a more challenging work. The major reason is that such images have drastic contrasts and so it is easier for hu- mans’ eyes to find out pixel value changes in them after data hiding works. For binary images, Wu et al. [7] embedded message data in specific image blocks that are selected with higher flippability scores by pattern matching. Manipulated

Manuscript received October 5, 2006.

Manuscript revised February 4, 2007.

The author is with the Department of Computer Science, Na- tional Chiao Tung University, Hsinchu, Taiwan 30010. He is also with the Department of Management Information at Northern Tai- wan Institute of Science and Technology.

††The author was with the Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan 30010. He is now with the Department of Computer Science and Information Engineering, Asia University, Wufeng, Taichung, Taiwan 41354.

This work was supported partially by the NSC project, Ad- vanced Technologies and Applications for Next Generation Infor- mation Networks (II) – Sub-project 5: Network Security, with Project No. NSC93-2752-E-009-006-PAE.

a) E-mail: [email protected] DOI: 10.1093/ietisy/e90–d.8.1142

flippable pixels on image region boundaries are then used to embed significant amounts of data without causing notice- able artifacts. Pan et al. [8] changed pixel values in binary image blocks, mapped block contents into given message data, and used a secret key and a weight matrix to protect the hidden data. In an image block of size m× n, the scheme can conceal up tolog2(m× n + 1) bits of data by chang- ing at most two bits in the image block. Tseng and Pan [9]

proposed a technique to alter the value of an image bit into a new one identical to that of a neighboring bit, yielding a bet- ter hiding effect within a binary image. Koch and Zhao [10]

embedded a bit 0 or 1 in a binary image block by chang- ing the number of black pixels in the block to be larger or smaller than that of white ones, respectively. In Refs. [11], [12], message data are concealed into dithered images by maneuvering dithering patterns. Tzeng and Tsai [13] en- coded the edge features of a binary image into 4× 4 block patterns, and authenticated the image by pattern matching.

Tzeng and Tsai [14] also proposed a new feature, surround- ing edge count, for measuring the structural randomness in a 3× 3 image block, and defined pixel embeddability from the viewpoint of minimizing image distortion. Accordingly, embeddable image pixels suitable for hiding message data can be selected.

In a binary image, there are two distinct pixel values, 0 and 1, corresponding to black and white pixels, respectively.

When data are embedded into a binary image, some image pixels used for data hiding will be changed from black to white or reversely. The pixel value changes will be called bit flippings in the sequel. To embed more data, more bit flip- pings may be conducted; however, the quality of the result- ing image will also get worse. The bit flipping rates of most data hiding methods for binary images are about 50%. We propose in this paper a new data hiding method which has the capability to conceal up to three data bits in a 2×2 block, resulting in bit flipping rates lower than 50%. The method can thus be used to embed more data. This is achieved by a block pattern coding technique. On the other hand, while it is desirable to embed more data, the resulting image quality should be maintained in the mean time. For this purpose, two optimization techniques are proposed. The first is to use multiple block pattern encoding tables, from which an optimal one is selected for each input image. The second technique is to use a dynamic programming algorithm to di- vide the message data stream into appropriate bit segments Copyright c 2007 The Institute of Electronics, Information and Communication Engineers

(2)

for optimal data embedding in the image blocks in the sense of minimizing the number of bit flippings. As a result, the proposed method can achieve the goals of both increasing the embedded data volume and reducing the resulting image distortion. Furthermore, the method can be used to extract embedded data without referencing the original image.

In the remainder of this paper, the proposed method is described in Sect. 2. Some experimental results are shown in Sect. 3, followed by a conclusion in Sect. 4.

2. Proposed Data Hiding Method

The proposed method is designed to hide message data be- hind binary images in random fashions controlled by secret keys. The method consists of a data embedding process and a data extraction one. In this section, the ideas behind the proposed method are presented first, followed by the de- tailed descriptions of the proposed processes. In the sequel, the image into which a message is hidden will be called a cover image, and the result a stego-image.

2.1 Block Pattern Encoding for Data Embedding

In order to embed a message into a binary cover image, ev- ery 2× 2 block of the image is regarded as a pattern with a 4-bit binary value in which each bit of 0 corresponds to a black pixel and each bit of 1 a white one. An illustration is shown in Fig. 1. Therefore, possible binary values of a block pattern are 00002through 11112, where 00002means an entirely black block and 11112an entirely white one.

The proposed data embedding process is based on the use of a block pattern encoding table which maps each block pattern into a certain code with each code being one, two, or three bits of the message data to be hidden. And data embedding is accomplished by changing block bit values so that the corresponding codes of the resulting block pat- terns become just the input message data to be embedded. A block pattern encoding table designed for use in this study is shown in Table 1. The idea behind the design of this table is described as follows. It is emphasized, by the way, that such a table is just one of the many possible ones usable for data hiding, and the proposed data embedding process will choose from them an optimal one for each specific input im- age, as described later.

The number of possible patterns in a 2×2 block are 16.

This number is much larger than that needed to represent

Fig. 1 Illustration of block patterns and corresponding binary values.

the two message bits ‘0’ and ‘1,’ so we use multiple block patterns to represent a single message data value, allowing the possibility of choosing among the patterns an optimal one to replace the original image block in the data embed- ding process and thus reducing the image distortion in the resulting block. Furthermore, we wish to embed more data in a block, and for this purpose we use a block pattern to represent more than one bit of message data.

For example, we may use either the block pattern t1 = 11012or the pattern t2= 11102to represent the two-bit mes- sage value s= 002. In this way, when we want to embed, for example, the message value s= 002into a block B with value v= 01102, we have the two alternative block patterns t1= 11012and t2 = 11102, instead of the conventional case of just one, from which we can choose t2= 11102to replace the value v= 01102of block B, resulting in a smaller distor- tion of just a 1-bit error. Contrastively, if only one choice, say, t1 = 11012 is allowed, then an error of 3 bits will re- sult, which means a larger distortion in the resulting block.

It is such an allowance of multiple choices for block pat- tern replacement that results in less image distortion in the proposed method.

More generally, we group in this study the 16 possible block patterns in a 2× 2 block B into distinct sets according to the entropy values of the block patterns, where an entropy value E of a block pattern P is defined as follows:

Table 1 A block pattern encoding table proposed in this study.

(3)

E= −

k

pklog2pk= −p0log2p0− p1log2p1

with p0 and p1 being the occurrence probability values of black and white pixels appearing in P computed as one- fourth of their numbers in P, respectively (note that there are four pixels in P). A pattern P in a set with a higher en- tropy value E is presumably more random in its black and white arrangement, and so is more suitable for hiding more message data without causing a noticeable change. There are three possible entropy values 0, 0.811, and 1 in a 2× 2 block by the above definition, so we divide the 16 possible block patterns into three sets. The first set with the entropy value 0 has two distinct block patterns, one being entirely white and the other entirely black. They are denoted as A and F in Table 1 and are used to represent (i.e., to encode) the message data of 1 and 0, respectively.

The second set with the entropy value 0.811 includes eight distinct block patterns, which can be classified into two classes, one class being with each pattern including one black pixel and three white ones, and the other class with each pattern including three black pixels and one white one.

The first class, denoted as B in Table 1, includes four block patterns, and we use two block patterns of them to encode the message value 002, and the other two of them to encode the message value 012. To decide which two patterns should be selected to encode a message value, we adopt the mis- match reduction criterion of making the two selected pat- terns, after being superimposed, less different in the number of mismatching pixel values. We use the four block patterns of the other class, denoted as E in Table 1, to encode the message values 102and 112in a similar way.

The last set with the entropy value 1 has six distinct block patterns. So far, we have completed, by the use of 10 patterns, the encoding of all possible one-bit and two-bit messages. So the remaining six patterns in the 16 ones may be used to encode three-bit message values. But six pat- terns are not enough to encode all the eight possible three- bit message values, so we only take care of some of them, following the aforementioned mismatch reduction criterion.

Specifically, we use two block patterns to encode each of the two 3-bit message values 0112and 0102, and finally the last two patterns to encode the message values 1002 and 1012, respectively. The six patterns are denoted as C1 through C4, and D1 and D2 in Table 1.

2.2 Sketch of Proposed Idea of Data Hiding

In the proposed data embedding process, the more data we embed in a 2× 2 block, the worse the resulting image qual- ity becomes. Therefore, we must control the number of de- structed pixels in a block to reduce the resulting image dis- tortion. The idea of the proposed data embedding process is sketched as four major steps in the following, which in- cludes two folds of distortion minimization.

(1) Dividing the input image into blocks: We divide the input image into 2× 2 blocks with every two neigh-

boring blocks being separated by a 1-pixel-wide line, as shown in Fig. 2. The 1-pixel-wide band around each 2× 2 block is said to be the neighborhood of the block.

(2) Selecting a random list of embeddable blocks for data embedding: We then use a secret key K as well as a random number generator f to select randomly a se- quential list of embeddable blocks. A block B is said to be embeddable in this study if the following two con- ditions are satisfied: (a) the neighborhood of B is not entirely black or white, (b) B has not been selected for data embedding yet. The way we adopt to gener- ate the random list of embeddable blocks is as follows:

(a) concatenate all blocks obtained in Step (1) above in sequence; (b) use K and f to generate sequentially a random number f (K), divide it by the total number of blocks, and take the remainder as a block number, de- noted by N; (c) check block N to see if it is an embed- dable block; if not, then perform the same process until an embeddable block is obtained; (d) append the ob- tained embeddable block to the end of the desired ran- dom list; (e) stop the process when a sufficient number of embeddable blocks for data embedding are obtained.

(3) Using multiple block pattern encoding tables for the first-fold distortion reduction: We generate all possible block pattern encoding tables and select an optimal one for use in the data embedding process, in the sense of introducing the least distortion.

(4) Applying optimal search techniques for the second-fold distortion reduction: Finally we apply the dynamic programming technique to segment the input message data stream optimally into a series of codes and embed them in the input image, according to a cost function designed in advance for measuring the degree of the pattern change in each image block. This reduces the resulting distortion further in a global sense.

2.3 Use of Multiple Block Pattern Encoding Tables The first distortion-reduction technique using multiple block pattern encoding tables, as mentioned previously in the third major step of the proposed data embedding process, is based on the idea that a single block pattern encoding table will not be suitable for every input binary image. If a binary image is destroyed very seriously in the data embedding process using a specific block pattern encoding table like Table 1, it will be necessary to use another table with other combi-

Fig. 2 Division of input image into 2× 2 blocks with separating lines (grids with bold boundaries are 2× 2 blocks for data embedding).

(4)

nations of block patterns and encoded hidden message data.

For example, assume that a binary message value v= 1012

is to be embedded into a sequence of three randomly se- lected image blocks with patterns 0000, 0100, and 1111 by the use of Table 1. The data embedding process, as illus- trated in Fig. 3 (a), will select optimally the block pattern type D2= 1001, which encodes the three-bit message value v = 1012, to replace the first selected block with pattern 0000, resulting in a flipping of two bits. However, if we con- struct a new table by replacing the encoded message data of type A in Table 1 with those of type F and replacing those of types B1 through B4 with those of types E1 through E4, re- spectively, then the use of the new table to hide the message value v = 1012 will result in no bit flipping because now we can, as illustrated in Fig. 3 (b), select in sequence opti- mally the new pattern type F= 0000 (encoding the message data of 1) and the new pattern type E3= 0100 (encoding the message data of 012) to encode together the message data v= 1012. This means that the proposed idea of adaptive ta- ble generations and selections for use in data embedding in- deed helps distortion reduction. More generally, by enumer- ating all possible ways for exchanging the encoded message data of certain types in Table 1 with those of the other types in the following way, we can get 128 distinct block pattern encoding tables (numbered from 0 to 127) for selection in the data embedding process to minimize the distortion:

exchange the message data “0” with “1”;

exchange the message data “00” with “01”;

exchange the message data “10” with “11”;

exchange the message data “010” with “011”;

exchange the message data “100” with “101”;

exchange the message data “00” and “01” with “10”

and “11,” respectively;

exchange the message data “010” and “011” with

(a) Block replacement using Table 1.

(b) Block replacement using new table.

Fig. 3 An example of proposed data embedding process.

“100” and “101,” respectively.

2.4 Proposed Distortion-Minimizing Cost Function and Search Techniques for Optimal Solutions

The cost function proposed in this study for use in the pro- posed data embedding process to minimize image distortion is the total number of bit flippings in the resulting stego- image. In Table 1, block patterns can be used to encode one, two, or three message bits. Accordingly, when we hide a binary message value v, we have the three choices of embedding into a block the first one, two, or three bits in the prefix of v. To determine how many bits should be embedded, we may calculate first the cost function value for each of the three cases, and then replace the currently selected block with the block pattern which corresponds to the optimal case with the minimum cost function value. This method provides a quick way for data embedding. However, it is actually a greedy search and in general does not yield an optimal solution.

To see this, for example, for the previously-mentioned example in which the message value v of 1012is embedded in three selected blocks with patterns 0000, 0100, and 1111 according to Table 1, by the above-mentioned greedy search algorithm we first replace the block with pattern 0000 by the block pattern E3= 0100 to embed two bits 102. The computed cost function value is 1 because a bit is flipped here. This cost is a local minimal one. Next, we replace the block with pattern 0100 by the block pattern A= 1111 to embed the last bit 1 of v, and get a local minimal cost value of 3. The total cost value is then 1+ 3 = 4. Now, if we do not use the greedy search algorithm at the beginning, and replace instead the first block with pattern 0000 by the block pattern D2= 1001 to embed three bits 1012directly, then the total cost value will be reduced to 2 which is smaller than the previous one of 4. This shows that there indeed exists at least one solution better than that found by the greedy search method. Figure 4 illustrates the data embedding process for this example. This is also true for many other examples, as found in this study. And so, the search of an optimal solution is meaningful, for which the proposed method in this study is dynamic programming.

In the proposed dynamic programming algorithm (ab- breviated as DPA in the sequel), edit distances are defined to minimize the cost function, as described in the follow- ing. Assume that the input message data to be hidden are in the form of an n-bit string S1with S1[i] denoting its ith bit. Also, let the list of n randomly selected 2× 2 blocks for data embedding be expressed as another string S2 with S2[i] denoting its ith block. For convenience, let Sk[i ∼ j]

denote a substring of Sk with bits or blocks Sk[i] through Sk[ j], where k= 1 or 2 and i, j = 1, 2, . . . , n.

Only one type of edit operation, namely, replacement, is used in the proposed DPA to specify the image block re- placement operations involving S1 and S2 in the proposed data embedding process. The edit distance between S1and

(5)

S2is defined, according to the previous discussions, as the minimum cost to transform S2into S1by editing operations according to a certain block pattern encoding table used in the embedding process. Let C be an n× n cost matrix with its element C[i, j] denoting the minimum cost to transform a substring S2[ j∼ n] of S2into a substring S1[i∼ n] of S1. Then C[1, 1] is the value of the minimum cost to transform S2into S1. Also, let RC be a replacement cost function with each of its element RC(, i, j) denoting the cost for replac- ing the jth block S2[ j] of S2 with the block pattern which encodes the initial bits of the substring S1[i ∼ n] of S1, where = 1, 2, or 3. By the above definitions, the value C[i, j] is recursively just the minimum of all possible values of RC(, i, j) + C[i + , j + 1], where  = 1, 2 or 3. Then, according to the dynamic programming technique, the min- imum cost may be computed by the following algorithm.

Algorithm 1. Computing cost for minimizing distortion in proposed data embedding process by DPA.

Input: (1) an n-bit message data string S1; (2) a string S2

of n randomly selected blocks; (3) a block pattern encoding table T ; (3) an n× n cost matrix C[i, j], for i, j = 1, 2, . . . , n;

(4) an n× n type matrix R with its element R[i, j] being used for recording the block pattern in T used for replacing S2[ j]

in calculating C[i, j]; and (5) an n×n segmentation matrix N with its element N[i, j] being used for recording the number of initial bits in the prefix of S1[i ∼ n] used in calculating C[i, j].

Output: C[i, j], R[i, j], and N[i, j] for all i, j = 1, 2, . . . , n.

Steps:

1. Set all C[i, j] initially to be ∞ for all i, j = 1, 2, . . . , n.

2. Starting from i = n and j = n, for each pair of (i, j) with i, j = 1, 2, . . . , n perform the following steps.

2.1 If C[i, j] is equal to ∞, continue the next step; else calculate the next C[i, j].

2.2 Take C[i, j] to be the minimum of the three cost values, RC(1, i, j) + C[i + 1, j + 1], RC(2, i, j) +

Fig. 4 An example of proposed data embedding process.

C[i+ 2, j + 1], RC(3, i, j) + C[i + 3, j + 1]; and record the corresponding number of the processed initial bits in the prefix of S1[i∼ n] in N[i, j], and the corresponding type of the used block pattern of T in R[i, j].

In the above algorithm, the initial bits in the prefix of S1[i ∼ n] and the used block pattern type in each recursive step are recorded respectively in matrices N and R, which will be used in the data embedding process as described in the next algorithm.

Algorithm 2. Proposed data embedding process using block pattern encoding tables and DPA.

Input: a binary image I, a message data string S1with n bits, a secret key K as well as a random number generator f , and 128 block pattern encoding tables.

Output: a stego-image S , an optimal block pattern encoding table Topt, the number Loptof a list of selected blocks for data embedding, and a minimal total cost Cmin.

Steps:

1. Get a list of n embeddable 2× 2 blocks from the input image I in a way described in Sect. 2.2 using the input secret key K and the random number generator f . 2. For each block pattern encoding table T among the in-

put 128 ones, calculate the cost matrix C[i, j], the type matrix R[i, j], and the segmentation matrix N[i, j] for all i, j = 1, 2, . . . , n using T by Algorithm 1.

3. Take the desired value of Cmin to be the minimum of the 128 values of C[1, 1] computed in the last step, and the desired value of Toptto be the corresponding block pattern encoding table used in computing Cmin. 4. Use Table Toptto embed the message data string S1into

I to get the desired stego-image S in a way specified by the type matrix R and the segmentation matrix N corresponding to Cmin. Take the desired value of Lopt

to be the number of the selected blocks for embedding the message data.

2.5 Proposed Data Recovery Process

The goal of the proposed data recovery process is to extract the embedded message data from a stego-image. Before the proposed data extraction process is started, an involved block pattern encoding table is simplified in advance into

Table 2 An extraction table (table number T= 0).

(6)

an extraction table. For example, the extraction table cor- responding to Table 1 is as shown in Table 2. This form of extraction table makes it easier to carry out the data extrac- tion work, as described in the following.

Algorithm 3. Message data recovery process.

Input: a stego-image Ipresumably including a message bit stream S ; the secret key K as well as the random number generator f used in the data embedding process; the table Topt; and the number Lopt of the selected block list used in the data embedding process.

Output: the message bit stream S . Steps:

1. Extract a list of 2×2 embeddable blocks from the stego- image I by the use of the secret key K, the random number generator f , and the number Lopt of the se- lected block list by the way described in Sect. 2.2.

2. For each 2× 2 embeddable block P in I, compute the corresponding binary value v of the block pattern P, and decode v as the extracted result by looking v up in the extraction table Topt generated from Table Topt to get the corresponding encoded message data bits em- bedded in the block.

3. Concatenate all the extracted data bits in sequence as the desired message bit stream S .

3. Experimental Results

Some experimental results of applying the proposed method are shown in Figs. 5, 6, and 7. Figures 5 (a), 6 (a) and 7 (a) show three binary cover images of the sizes 687× 534,

(a) (b)

(c) (d)

Fig. 5 Input binary images, output stego-images with message data, and difference images. (a) Binary image “NCTU”. (b) Stego-image using greedy search and optimal encoding table. (c) Stego-image using DPA and optimal encoding table. (d) An enlarged part of difference image between (a) and (c) in which the white spots are difference pixels.

512× 512, and 2320 × 3408, respectively. Two streams of message data were generated by a random fashion. One is a stream of 2432 bits, which was embedded into each of the binary images shown in Figs. 5 (a), and 7 (a). The other is 992-bit long, which was embedded into the binary image shown in Fig. 6 (a). The stego-images obtained by embed- ding the message data using the greedy search algorithm and the optimal encoding table among the 128 ones are shown in Figs. 5 (b), 6 (b) and 7 (b), respectively. And the stego- images after embedding the message using the DPA and the optimal encoding table among the 128 ones are shown in Figs. 5 (c), 6 (c) and 7 (c), respectively. Figure 6 (d) shows the difference between Figs. 6 (a) and 6 (c) in terms of white pixels. And Figs. 5 (d), and 7 (d) show similarly enlarged versions of parts of the differences between Figs. 5 (a) and 7 (a) and Figs. 5 (c) and 7 (c), respectively, for better inspec- tion effects. Note that the original input images are included in Figs. 5 (d), 6 (d) and 7 (d) in gray values as the back- grounds to show more clearly the difference spots.

Table 3 shows the statistical data of the stego-images of Figs. 5 (b), 5 (c), 6 (b), 6 (c), 7 (b), and 7 (c), in which we list the selected encoding table numbers, the numbers of used blocks, the minimum cost values, the message data length and the distortion rate. The minimum cost values show that the DPA using an optimal encoding table among the 128 ones is the best, the greedy search algorithm using an opti- mal encoding table among the 128 ones is the next, and the greedy search algorithm using just a fixed encoding table is

Table 3 Statistics of three stego-images processed by proposed algo- rithms.

(7)

(a) (b)

(c) (d)

Fig. 6 Input binary images, output stego-images with message data, and the difference images. (a) Binary image “Lena”. (b) The stego-image using the greedy search algorithm and the optimal encoding table. (c) The stego-image using the DPA and the optimal encoding table. (d) The difference image between (a) and (c) in which the white spots are difference pixels.

(a) (b) (c) (d)

Fig. 7 Input binary images, output stego-images with message data, and difference images. (a) Binary image “Patent.” (b) Stego-image resulting from greedy search and optimal encoding table. (c) Stego- image using DPA and optimal encoding table. (d) An enlarged part of difference image between (a) and (c) in which the white spots are difference pixels.

the worst. For other images, similar results can be observed.

For the images shown here, the average number of message data embedded in a block, using the DPA, is about 1.7 bits.

And the distortion rate computed as the ratio of the number of bit flippings to the length of the message data, using the

DPA is in the range from 37% to 39%. Furthermore, we tested 19 images that are obtained from an image database of the USC, and the results are listed in Table 4. As shown there, the average number of message data embedded in a block, using the DPA, is about 1.939 bits. And the average

(8)

Table 4 Statistics of 19 stego-images processed by proposed DPA.

distortion rate using the DPA is 35.6%, which is smaller than 50% yielded by most existing data hiding methods for bi- nary images. The image with number 4.2.03 in Table 4 was used for three times to embed secret message data of two different lengths and three different contents (*992 and 992 mean two streams of message data with identical lengths of 992 bits but with different contents).

4. Discussions

A novel optimal method for hiding message data into binary images with a distortion minimization effect and a larger data embedding capability has been proposed. An optimal block pattern encoding table is chosen from 128 alternative ones for use in the proposed data embedding process to min- imize distortion in the stego-image. The method can mini- mize further the distortion using the dynamic programming technique and can embed up to three bits in a 2× 2 image block. By the proposed method, not only more data can be embedded in a binary image, but also the distortion rate of the stego-image can be effectively reduced. The space and time complexities of the proposed DPA are both of the order of n2. It may cost more time to embed a long secret code.

But one can alternatively use the other proposed method, the greedy search algorithm, that takes only linear compu- tation time and still minimize distortion in the stego-image in a suboptimal way. On the other hand, in certain applica- tions there is no need of real-time processing and optimality in data embedding volumes is the main concern. Then the proposed method is applicable.

The proposed method is based on the use of 2× 2 blocks. It may be extended by processing larger blocks be- cause then, the number of block patterns which can be se- lected to encode messages will become larger as well, re- sulting in greater reductions of image distortions. However, there is a tradeoff here, i.e., the resulting data embedding ca-

pacity will decrease. Other future works may be directed to designing a better cost function from the perspective of the human visual system, imposing more constraints on the cost function to yield better image quality, and finding a better way to design encoding tables to reduce stego-image distor- tion further.

References

[1] S. Katzenbeisser and F.A.P. Petitolas, Information Hiding Tech- niques for Steganography and Digital Watermarking, Artech House, Boston, MA, 2000.

[2] D. Kundur, “Energy allocation principles for high capacity data hid- ing,” Proc. IEEE International Conf. on Image Processing, vol.1, pp.423–426, Vancouver, Canada, Sept. 2000.

[3] S. Lin and D.J. Costello, Jr., Error Control Coding: Fundamentals and Applications, Prentice-Hall, Englewood Cliffs, NJ, 1983.

[4] L.M. Marvel, J.C.G. Boncelet, and C.T. Retter, “Spread spectrum image steganography,” IEEE Trans. Image Process., vol.8, no.8, pp.1075–1083, Aug. 1999.

[5] M. Swanson, M. Kobayashi, and A. Tewfik, “Multimedia data- embedding and watermarking technologies,” Proc. IEEE, vol.86, pp.1064–1088, 1998.

[6] D.C. Wu and W.H. Tsai, “Spatial-domain image hiding using an im- age differencing,” IEE Proc., Vis. Image Signal Process., vol.147, no.1, pp.29–37, 2000.

[7] M. Wu, E. Tang, and B. Liu, “Data hiding in digital binary image,”

Proc. IEEE International Conference on Multimedia & Expo 2000 (ICME’00), New York, 2000.

[8] H.K. Pan, Y.Y. Chen, and Y.C. Tseng, “A secure data hiding scheme for two-color images,” IEEE ISCC 2000, pp.750–755, 2000.

[9] Y.C. Tseng and H.K. Pan, “Secure and invisible data hiding in 2- color images,” Proc. IEEE INFOCOM 2001 Conference on Com- puter Communications, no.1, pp.887–896, 2001.

[10] E. Koch and J. Zhao, “Embedding robust labels into images for copyright protection,” Proc. International Congress on Intellectual Property Rights for Specialized Information, Knowledge and New Techniques, pp.242–251, Munich, Germany, 1995.

[11] K. Matsui and K. Tanaka, “Video-steganography: How to secretly embed a signature in a picture,” IMA Intellectual Property Project, pp.187–205.

[12] H.C. Wang, “Data hiding techniques for printed binary images,”

Proc. IEEE International Conf. on Information Technology: Coding and Computing, pp.55–59, Las Vegas, NV, April 2001.

[13] C.H. Tzeng and W.H. Tsai, “A new technique for authentication of image/video for multimedia applications,” Proc. ACM Multimedia 2001 Workshops-Multimedia and Security: New Challenges, pp.23–

26, Ottawa, Ontario, Canada, Oct. 2001.

[14] C.H. Tzeng and W.H. Tsai, “Hiding authenticable general digital information behind binary images with reduced distortion,” Proc.

2nd Workshop on Digital Archives Technologies, Taipei, Taiwan, July 2003.

(9)

I-Shi Lee was born in Taipei, Taiwan, R.O.C., in 1961. He received the B.S. degree in electronic engineering from National Taiwan University of Science and Technology, Taipei, Taiwan, Republic of China in 1987, the M.S.

degree in the Department of Computer Science and Information Science at National Chiao Tung University in 1989. In 1992, he joined the De- partment of Management Information at North- ern Taiwan Institute of Science and Technology and acted as a lecturer from 1992 to now. He also works in the Computer Vision Laboratory of the Department of Com- puter and Information Science at National Chiao Tung University as a re- search assistant from August 1999, and is currently working toward his Ph.D. degree there. His recent research interests include pattern recogni- tion, watermarking, and image hiding.

Wen-Hsiang Tsai was born in Tainan, Tai- wan, Republic of China (R.O.C.) in May 10, 1951. He received the B.S. degree in electri- cal engineering from National Taiwan Univer- sity, Taipei, Taiwan, Republic of China in 1973, the M.S. degree in electrical engineering (with major in computer science) from Brown Univer- sity, Providence, Rhode Island, U.S.A. in 1977, and the Ph.D. degree in electrical engineering (with major in computer engineering) from Pur- due University, West Lafayette, Indiana, U.S.A.

in 1979. Dr. Tsai joined the faculty of National Chiao Tung University, Hsinchu, Taiwan in November 1979, and stays there until 2004. He is cur- rently a Professor in the Department of Computer Science and Information Science, Asia University and the President of the University. Professor Tsai has been an associate professor of the Department of Computer En- gineering (now called Department of Computer Science and Information Engineering) and the Acting Director of the Institute of Computer Engi- neering. In 1984, he joined the Department of Computer and Information Science and acted as the Department Head from 1984 through 1988. He has also been the Associate Director of the Microelectronics and Informa- tion System Research Center from 1984 through 1987, the Dean of General Affairs from 1995 to 1996, the Dean of Academic Affairs of the University from 1999 to 2001, and the Vice President of the National Chiao Tung Uni- versity from 2001 to 2004. He has served as the Chairman of the Chinese Image Processing and Pattern Recognition Society at Taiwan from 1999 to 2000. Outside the campus, Professor Tsai has served as a Consultant to sev- eral major research institutions in Taiwan. He has acted as the Coordinator of Computer Science in National Science Council, and a member of the Counselor Committee of the Institute of Information Science of Academia Sinica in Taipei. He has been the Editor of several academic journals, in- cluding Computer Quarterly (now Journal of Computers), Proceedings of the National Science Council, Journal of the Chinese Engineers, Interna- tional Journal of Pattern Recognition and Artificial Intelligence, Journal of Information Science and Engineering, and Pattern Recognition. He was the Editor-in-Chief of Journal of Information Science and Engineering from 1998 through 2000. Professor Tsai’s major research interests include im- age processing, pattern recognition, computer vision, virtual reality, and information copyright and security protection. So far he has published 257 academic papers, including 107 journal papers and 150 conference papers.

He is also granted 6 R.O.C. or U.S.A. patents. Dr. Tsai has supervised the thesis studies of 26 Ph.D. students and 101 master students. Professor Tsai has received many awards, including one Distinguished Research Award, four Outstanding Research Awards, and three Special Researcher Awards, all of the National Science Council in 1987 through 2004. He also received an Academic Award from the Ministry of Education. He was the recipient of the 13th Annual Best Paper Award of the Pattern Recognition Society of the U.S.A. He was elected as an Outstanding Talent of Information Science and Technology of the R.O.C. in 1986, received the Best Teacher Award of the Ministry of Education in 1989, and was the recipient of the Distin- guished Official Award of the Ministry of Education in 1994. He was the recipient of many Academic Paper Awards made by several academic so- cieties, including two by the Computer Society of the Republic of China in 1989, and thirteen by the Chinese Image Processing and Pattern Recogni- tion Society. He has also received in the past twenty years eleven Ph.D. and Master’s Thesis Supervision Awards from the Acer Long-Term Foundation, the Xerox Taiwan Company, the Federation of Image Product Companies, the Electrical Engineers Society at Taiwan, and the Information Science Society at Taiwan. Dr. Tsai is a senior member of the IEEE of the U.S.A., and a member of the Chinese Image Processing and Pattern Recognition Society, the Medical Engineering Society of the Republic of China, and the International Chinese Computer Society.

數據

Fig. 1 Illustration of block patterns and corresponding binary values.
Fig. 2 Division of input image into 2 × 2 blocks with separating lines (grids with bold boundaries are 2 × 2 blocks for data embedding).
Fig. 3 An example of proposed data embedding process.
Fig. 4 An example of proposed data embedding process.
+4

參考文獻

相關文件