• 沒有找到結果。

Previous Studies on Information Hiding Techniques in Art Images

Chapter 2 Review of Related Works

2.3 Previous Studies on Information Hiding Techniques in Art Images

The combination of art image creation and information hiding techniques is a new concept of computer technology. This technique utilizes the characteristics of the art image creation process to embed extra information in the generated images. With this disguise, hackers will tend to get unaware of the data embedded in such images, and secret data can so be kept or transmitted safely and covertly.

Lin and Tsai [15] proposed methods for embedding secret data in image mosaics by adjusting regions of boundaries and altering pixel values of the hue component in the HIS color model. A result generated by the method is shown in Figure 2.5(a).

Wang and Tsai [16] also presented a data hiding method for image mosaics. By

20

utilizing the overlapping space of component images, the scheme can embed secret messages in image mosaics without arousing notice from an observer. An example of the resulting images is shown in Figure 2.5(b).

Figure 2.5 Image mosaics. (a) An image mosaic created with Lin and Tsai’s method [15]. (b) An image mosaic created with Wang and Tsai’s method [16].

In addition to generating image mosaics, several studies of combining art image creation and information hiding have been conducted, yielding other types of art images. Hung and Tsai [1] proposed information hiding methods through the use of stained glass images and tile mosaic images. By modifying the tree structure used in the creation process, secret data can be hidden in computer-generated stained glass images. Moreover, they utilized the rotation angles of the tiles in tile mosaic images to design data hiding techniques. Hsu and Tsai [17] presented three new types of art images and used the characteristics of their creation processes to hide secret messages in the generated art images. First, in the digital puzzle image generated by them, the angles of puzzles are used for data hiding. Second, they proposed a method for generating a kind of so-called circular-dotted image, as shown in Figure 2.6(a). By changing the order of circular-dot overlappings, a method of information hiding was

(a) (b)

21

implemented. And the last data hiding method proposed by them is the use of the pallet colors in pointillistic images for data hiding. An image yielded by their method is shown in Figure 2.6(b). Chang and Tsai [18] proposed a new type of art image, called tetromino-based mosaic, which is composed of tetrominoes appearing in a video game. By geometric shape composition, tetrominoes can be combined to one another to form blocks which in turn can be used to fill a plane with a limited shape (rectangles mostly). This is the reason why tetrominoes can be used to create mosaic images. Data hiding is made possible by distinct combinations and color shifting of the tetromino elements. Examples of the resulting images are shown in Figures 2.7(a) and 2.7(b).

Figure 2.6 Art images created by Hsu and Tsai [17]. (a) A circular-dotted image. (b) A pointillistic image.

In this study, we also propose new methods which combine art image creation and information hiding techniques to implement covert communication, image steganography, and secret sharing. By using the characteristics of the secret-fragment-visible mosaic image creation process, the images can be transmitted

(a) (b)

22

with the embedded data arousing no notice from observers.

Figure 2.7 Tetromino-based mosaic images [18]. (a) Lena. (b) Peppers.

(a) (b)

23

Chapter 3

Creation of Secret-fragment-visible Mosaic Images

3.1 Idea of Proposed Method

A sliding puzzle is composed of all block pieces but one of a divided image. The randomly-placed block pieces compose a meaningless picture. Players can slide the blocks in a certain way by observing the color or texture of them, and finish the game with a meaningful picture. The idea of the proposed art image creation method is inspired by this concept of puzzle piece sliding, as mentioned previously, to create the new type of mosaic image, the secret-fragment-visible mosaic image, as proposed in this study.

In the creation of a secret-fragment-visible mosaic image, a secret image is divided into fragment pieces. The pieces of the secret image are all visible in the mosaic image, but the size of them is tiny and the rearranged positions are random.

Therefore, people cannot extract the secret data from the mosaic image unless they have the knowledge to rearrange the pieces back into their original positions, using the right secret key from the owner as required by the proposed method.

The proposed mosaic image creation process is composed of two major procedures. The first is the construction of an image database which can be used later to select a sufficiently similar target image for a given secret image. The quality of a constructed secret-fragment-visible mosaic image is related to the similarity between the secret image and the target image. So we try to select a target image from a

24

database based on the contents of a given secret image by computing a similarity measure; the selected target image should be as similar to the secret image as possible.

Another procedure is the creation of a secret-fragment-visible mosaic image, which uses the secret image and the selected target image as input. In this procedure, we divide a secret image into fragment pieces, i.e., tile images as mentioned before, and use these tile images to create the mosaic image. The number of tile images for use in mosaic image creation is limited by the size of the secret image and that of the tile images. Note that this is not the case in traditional mosaic image generation where available tile images to fit into the target image are unlimited in number. In order to solve this problem of fitting a limited number of tile images into a target image, we propose a greedy algorithm to find an appropriate answer.

In addition, we present a method for remedying a database which is not large enough for selecting a sufficiently similar target image. The method basically enlarges the size of the selected target image so that the tile images of the secret image can be fitted into the target image at more freely-chosen positions, resulting in a mosaic image more similar to the secret image.

The detailed algorithms of the above-mentioned processes are presented in the following sections.

3.2 Proposed Secret-fragment-visible Mosaic Image Creation Process

3.2.1 Database construction

First of all, we have to construct a database which keeps target images. The

25

database plays an important role in the secret-fragment-visible mosaic image creation process. If a target image is dissimilar to a secret image, the created image will be distinct from the target one. In order to generate a good result, the database so should be as large as possible.

To search a target image from a database with the highest similarity to the secret image is a problem of content-based image retrieval. In general, the content of an image may be described by features like shape, texture, and color. Because only the color distributions of a secret image and a target image will affect the overall visual appearance of the resulting mosaic image, we may focus first on extracting color distributions from images by techniques developed for content-based image retrieval.

The simplest technique for extracting the color distribution of an image by content-based image retrieval is 1-D color histogram transformation [19]. This technique transforms three color channel values (such as R, G, and B or H, S, and V) into a single channel value. More details are described in the following.

First, each color channel (usually with a range of 0~255, i.e., with 256 levels) is re-quantized into less levels, yielding an new image I′ with a lower resolution in color, which we specify as (r, g, b). Let Nr, Ng, and Nb denote the numbers of levels for the new colors r, g, and b respectively. Then, for each pixel P′ in I′ with new color (r′, g′,

b′), we compute the following 1-D function value f:

f(r′, g′, b′) = r′ + N

r  g′ + Nr  Ng  b′ (3.1) and so generate conceptually a 1D image I′′ with new ―1-D color‖ values specified by

f above. Then, this new image then can be used for image content analysis and similar

image search and retrieval. Note that the sizes of I′ and I′′ are both the same as that of the original image I.

However, according to our experimental experience using this 1-D color function

26

f, it is found inappropriate for our study here which emphasizes human’s visual

feeling of image similarity. Therefore, we propose a new function h as follows:

h(r′, g′, b′) = b′ + N

b  r′ + Nb  Nr  g′ (3.2) where the numbers of levels, Nr, Ng and Nb, are all set to 8. Differently from the case in (3.1), we set in (3.2) the largest weight Nb  Nr to the green channel value g′ and the smallest weight 1 to the blue channel value b′. The reason is that the eyes of human beings are the most sensitive to the green color, and the least sensitive to the blue color. In addition, with all of Nr, Ng, and Nb set to 8 in (3.2), an advantage of speeding up the later process of mosaic image creation can be obtained according to our experiments. In the sequel, we will say that the new color feature function h we propose above defines a 1-D h-colorscale.

Furthermore, to measure the similarity between a tile image in the secret image and a target block in an image in a database for use in tile image fitting in generating a mosaic image, we propose a new feature, called h-feature, for each block image C (either a tile image or a target block), denoted as hC, which is computed by the

3. calculate the h-feature hC for C by Eq. (3.2) above, resulting in the following equation:

h

C(rC′, gC′, bC′) = bC′ + Nb  rC′ + Nb  Nr  gC′. (3.3) With Nr, Ng, and Nb all equals 8, the range of the computed values of the

27

h-feature f

C above may be figured out to be from 0 to 584. The proposed algorithm for constructing a database of candidate images (from which a target image is to be selected for each given secret image) for this study is described in the following.

Algorithm 3.1: candidate image database construction.

Input: a set S of images, a pre-selected tile image size Z

t, and a pre-selected candidate image size Zc.

Output: a database DB of candidate images with size Z

c and their h-colorscale histograms.

Steps:

Step 1. For each input image I, perform the following steps.

1.1 Resize and crop I to yield an image D of size Zc. 1.2 Divide D into blocks of size Zt.

1.3 For each block C of D, calculate and round off the h-feature value hC

described by Eq. (3.3).

1.4 Generate a histogram H of the values of the h-features of all the blocks in

D.

1.5 Save H together with D into the desired database DB.

Step 2. If the input images are not exhausted yet, then go to Step 1; otherwise, exit.

3.2.2 Similarity measure computation and target image selection

Before we generate a mosaic image, we have to choose as the target image a similar candidate image from the database based on the given secret image content.

For this, we can use the 1-D h-colorscale histogram of each candidate image in the database to compute a similarity measure between the secret image and the candidate

28

image. More specifically, by summing up the differences between the 1-D histograms of the secret image and that of the candidate image, we can get an error e (computed by Eq. (3.4) described later in the following). The smaller the value e is, the more similar the candidate image is to the secret image. After calculating the errors of all the candidate images in the database, we can select the candidate image with the smallest error as the desired target image for use in later mosaic image generation.

The detailed algorithm is given as follows.

Algorithm 3.2: selection of the most similar candidate image to be the target image.

Input: a secret image S, a database DB of candidate images, and the sizes Z

t and Zc of tile images and candidate images, respectively, mentioned in Algorithm 3.1.

Output: a target image T selected from DB with the largest content similarity to S.

Steps:

Step 1. Resize S to yield an image S′ of size Zc to become of the same size as the candidate images in DB.

Step 2. Divide S′ into blocks of size Zt, and perform the following steps.

2.1 For each block C of S′ generated in Step 1, calculate and round off for it the h-feature value hC described by Eq. (3.3).

2.2 Generate a 1-D h-colorscale histogram HS′

for S′ from the values of the h-features of all the blocks in S′.

Step 3. For each candidate image D with 1-D h-colorscale histogram HD stored in DB, perform the following steps.

where m stands for the value of the h-feature mentioned above.

29

3.2 Record the error e.

Step 4. If the images in DB are not exhausted, then go to Step 3; otherwise, continue.

Step 5. Select the image in DB which has the minimum error value and take it as the desired target image T.

3.2.3 Algorithm for secret-fragment-visible mosaic image creation

In this section, after discussing some problems which are encountered in the creation process of secret-fragment-visible mosaic images, we will present an algorithm to implement the process.

A. Problems of creating secret-fragment-visible mosaic images

We face two major problems in the secret-fragment-visible mosaic image creation process. One is about finding an optimal solution for fitting tile images in appropriate target blocks. Another is dealing with the situation of a database which is not large enough for selecting a sufficiently similar candidate image as a target image.

About the first problem, we can reduce it to a single-source shortest path problem. The shortest path problem is one of finding a path in a graph with the smallest sum of between-vertices edge weights. The state of fitting tile images represents the vertices of the graph. In the fitting process, we select a tile image for a target block, once a block. Therefore, the edge means the label of the tile image that we choose at the time. Then, the weight of an edge is the Euclidean distance between the selected tile image and the filled target block (defined later). Accordingly, we can build a tree structure for this problem, as shown by Figure 3.1.

In order to find an optimal solution of the single-source shortest path problem, we utilize Dijkstra's algorithm. In this algorithm, the running time of getting an

30

optimal answer is

  V

2 , where V stands for the number of vertices. According to Figure 3.1, the number of vertices in this problem is as follows:

 

used in this study. Obviously, the computation cost for getting an optimal solution for such a large N is too high. In this case, we have to find other possible solutions for fitting tile images in order to create a secret-fragment-visible mosaic image.

Figure 3.1 A tree structure of fitting tile images to target blocks.

The second problem is about how to select a sufficiently similar target image from a database which is not large enough. While we use such a database in the secret-fragment-visible mosaic creation process, the process will very likely to choose a dissimilar target image. As a result, the resulting image will look unlike the target one. In this case, we have to design a remedy method to deal with such a problem of use of a small-sized database.

B. Possible solutions for fitting tile images

……

31

One possible solution for fitting tile images is the greedy algorithm. We try to calculate the Euclidean distance between a tile image and a target block as a selection function for a greedy algorithm. However, as shown by Figure 3.3(a), the resulting image of using such a greedy algorithm for fitting tile images is incomplete with its lower part being filled with fragment pieces with inappropriate colors. This phenomenon comes from the reason that the number of tile images obtained from the secret image, Figure 3.2(a), is limited by its own size, so that the available tile images for choice to fit the target blocks in Figure 3.2(b) become less and less near the end of the fitting process. As a result, the differences in terms of the Euclidean distance between the later-fitted tile images and the target blocks become bigger and bigger than the earlier-fitted ones, resulting in the poorly-fitted bottom part of Figure 3.3(a).

To get a possible solution to this problem, we try to vary the select function for use in the greedy algorithm. After many trials, we find that the effect on the created mosaic images becomes better if the previously-proposed h-feature, instead of the Euclidean distance, is used for defining the selection function for the greedy algorithm. This feature takes the global color distribution of an image into consideration. That makes the content of a created mosaic image using the proposed creation process resemble a target image, as shown by Figure 3.3(b)

C. Remedy method for creation process

By using the greedy algorithm with the selection function defined in terms of the

h-feature, we can generate a secret-fragment-visible mosaic image successfully. Yet

we still have the small-sized database problem to deal with. While a database is not large enough, the mosaic image creation process will select from the database a candidate image dissimilar to the secret image. As shown by Figure 3.5(a) which is a created mosaic image, which is created with Figures 3.4(a) and 3.4(b) as the secret

32

and the selected target image, the major color of the created mosaic image is quite different from the selected target one.

Figure 3.2 Input images. (a) A secret image. (b) A target image.

Figure 3.3 Created mosaic images generated by a greedy algorithm. (a) Image created using Euclidean distance used to define a selection function for a greedy algorithm. (b) Image created using the h-feature to define the select function for a greedy algorithm.

To solve this problem, during the candidate image selection process, after we

(b) (a)

(b) (a)

33

compute an error between a secret image and a candidate image to measure the similarity, if the error is large, the selected target image is inappropriate for the creation process. In this case, we propose to enlarge the size of the target image. The reason is that if the size of a target image is larger than that of the secret image, the number of target blocks, or equivalently, the number of positions to fit the tile image, may be more freely chosen.

Furthermore, to deal with the surplus target blocks coming from enlargement of the target image, we fill each of them with the most similar tile image in the sense of the h-feature or with the average color of itself. More specifically, if the difference between the h-feature of the most similar tile image and that of the target block is larger than a certain threshold, then the target block is filled in the average color instead of the selected tile image. In this way, the resulting mosaic image is better than before, as shown by Figure 3.5(b).

D. Algorithm for secret-fragment-visible mosaic image creation

According to above-mentioned related processes, an algorithm for the proposed secret-fragment-visible mosaic image creation is described in the following. Basically, in the process of tile image fitting, we try to sort the h-feature values of tile images and target blocks, and then get two block-label sequences from the sorted feature values of them. By one-by-one mapping these two block-label sequences, each tile image can be fit into a most similar target block achieving the greedy search goal and decreasing the running time to

n log n

. The detailed algorithm is given as follows.

Algorithm 3.3: secret-fragment-visible mosaic image creation.

Input: a secret image S, a database DB, and a selected size Z

t of a tile image.

34

Output: A secret-fragment-visible mosaic image R.

Steps:

Stage 1 --- embedding secret image fragments into a selected target image.

Step 1. Crop S to yield an image S′ which is divisible by size Zt. Step 2. Perform following steps to select a target image T.

2.1 Select a candidate image by Algorithm 3.2 as T.

2.2 If the error e computed in Step 3.1 of Algorithm 3.2 is larger than a pre-selected threshold Th, then enlarge the size of T

  e T

h

 

times.

Step 3. Perform the following steps to obtain a block-label sequence of each of S′ and

T.

3.1 Divide S′ into a sequence QS′ of blocks S1′, S2′, …, Sn′ as tile images based on size Zt, where each block Si′ is said to have the label i.

3.2 Divide T into a sequence QT of blocks T1, T2, …, Tn as target blocks based on size Zt, where the label of Ti is similarly defined.

3.3 For each tile image of S′ and each target block of T, calculate the h-feature values of them based on Eq. (3.3).

3.4 Sort the h-feature values of all Si′ and all Ti, and re-order accordingly the blocks in QS′ and QT, respectively, to get two re-ordered block sequences

Q

S′′ and QT′.

3.5 Get the new label sequences L1 and L2 from the re-ordered block sequences QS′′ and QT′, and call them h-sorted label sequences of the resized secret image S′ and the selected target image T.

Step 4. Fit the tile images to the target blocks based on the one-to-one mappings from the ordered labels of L1 to those of L2, thus completing the embedding of all the tile images in S′ into all the target blocks of T.