Chapter 2 Review of Related Works
2.4 Previous Studies on Image Steganography
Steganography, which means “covered writing” in Greek, is the science of communicating a message by embedding it into data files of certain forms. This technique differs from cryptography in that communication is evident but the content of the communication is camouflaged. Unlike data hiding and digital watermarking, the main goal of steganography is to create complete imperceptibility. Many different file formats can be used as cover media for data hiding, but digital image are the most popular file type because they are used everywhere on the Internet.
Least significant bit (LSB) insertion is the most common approach to embedding information in a cover image [17]. In this approach, the least significant bit of each byte inside an image is changed to hide at least a bit of the secret message. Lee and Chen [25] proposed an image steganographic model based on variable-sized LSB insertion to maximize the embedding capacity while maintaining image fidelity.
Currie and Irvine [26] suggested a modified LSB insertion technique for use in JPEG
images by using the compression properties of the frequency domain. Fridrich and Du [27] presented a steganographic technique for palette images by hiding message bits into the parity bits of colors which are close to one another.
Marvel et al. [28] presented a new type of digital image steganography, called spread spectrum image steganography (SSIS). The SSIS system proposed by them combines spread spectrum communication, error control coding, and image processing to hide information in images. Fridrich and Goljan [29] presented a new steganographic method for digital images in raster formats. Message bits are embedded in the cover image by adding a weak noise signal with a specified but arbitrary probabilistic distribution. A steganographic technique for embedding secret messages into a gray-valued cover image was proposed by Wu and Tsai [30].
Information is embedded into a cover image by replacing the difference values of the two-pixel blocks of the cover image with similar ones in which bits of embedded data are included.
(a)
Figure 2.8 Art images created by Wang and Tsai [24]. (a) An irregular hexagonal-tiled images. (b) A tile-overlapping mosaic images. (c) A variable-sized mosaic images.
(b)
(c)
Figure 2.8 Art images created by Wang and Tsai [24]. (a) An irregular hexagonal-tiled images. (b) A tile-overlapping mosaic images. (c) A variable-sized mosaic images (continued).
Chapter 3
Creation of Tetromino-based Mosaic Images
3.1 Idea of Proposed Method
Lin and Tsai [21] proposed a method to create an image mosaic by arranging a large number of small tile images with each tile image resembling a similar-sized block of a given image. The image mosaic composed of all the tile images looks integrally like the source image when seen from a distance. The idea of the proposed art image creation method in this study was inspired by Lin and Tsai’s method to create a new type of mosaic images, called tetromino-based mosaic image, as mentioned previously. The idea of tetromino-based mosaic image creation was developed by two main concepts. The first is an integration of art and computer technology. Users can create their own images which look more artistically with special visual effects for decorations. The second concept is that a mosaic image can be used as a fine medium for covert communication. As a result, the proposed method also deals with the problem of copyright protection.
In geometry, tetrominoes can be repeated to fill a plane and combined closely to one another to form a square lock. This is the reason why tetrominoes are also good units for mosaic image creation as proposed in this study. However, tiling a plane with tetrominoes is more difficult than traditional mosaic creation because tetrominoes have more complicated shapes. Consequently, how to combine different
kinds of tetrominoes to create a variety of distinct mosaic image is a critical issue. In addition, using tetrominoes as components to generate mosaic images can provide a new style of visual effects for viewers. The tetromino-based mosaic image creation and other related processes are stated in the following sections.
3.2 Review of Traditional Image Mosaic Creation Process
3.2.1 Mosaic Image Creation Process
Two issues, mosaic database construction and similarity measure selection, play important roles in mosaic image creation. The former is the first step of the mosaic creation process to generate tiles images. Tile images are not only the basic components of mosaic images but also the key components determining how mosaic images look like. The latter issue is the design of a good measure for use in the process of choosing the best matching tile image from a mosaic database. In Lin and Tsai’s study [21], mosaic images were created according to the following procedures.
First, a mosaic database was constructed by selecting a set of tile images and then extracting from their relevant features which depend on what types of tile images are used as the input to the construction process. Next, the image mosaic creation process starts with a source image as an input. The process divides the source image into many small target images based on a given size. A similarity measure is then used to search the best matching tile images of the given size from the mosaic database.
Finally, after putting the best-matching tile images together, a mosaic image is generated. A step-by-step process is described in Algorithm 3.1.
Algorithm 3.1. Traditional mosaic creation process.
Input: a source image I, a tile image database DB, and a given tile size S.
Output: a mosaic image I′.
Steps:
Step 1. Divide I into blocks of target images based on the given size S.
Step 2. Extract features from each target image.
Step 3. For each target image, search the best matching tile image from tile image database DB according to a similarity measure.
Step 4. Compose all tile images to generate a mosaic image I′.
The architecture of traditional mosaic creation is shown in Figure 3.1. The experimental result is show in Figure 3.2.
Figure 3.1 The system architecture of an image mosaic creation system.
Divide image into target images
Figure 3.2 An experimental result of image mosaic creation by Lin and Tsai [21].
3.2.2 Tile Image Mosaic Database Construction
For mosaic image creation, we have to construct a database to accelerate the computation of searching the best matching tile image. We accomplish tile image database construction using the following algorithm.
Algorithm 3.2. Tile image database construction.
Input: a set of original tile images, M = {I1, I2, …, In}.
Output: a set of new tile images, N = {T1, T2, .., Tn} and a set of feature vectors V = {V1, V2, .., Vn} , for use as the tile image database.
Steps:
Step 1 Calculate the average color of each original tile image Ii in each of the RGB channels.
Step 2 Represent the average colors as a one-dimension feature vector Vi with three elements Ri, Gi, and Bi for Ii.
Step 3 Generate a new tile image Ti by resizing and cropping each original image Ii
to a predefined tile size.
Step 4 Add all Ti and associated Vi to DB.
3.2.3 Similarity Measure Computation
In Algorithm 3.1, computation of the similarity measure between a target image and a tile image is mentioned. An input source image is first divided into blocks of small target images and the feature vector of each target image is obtained by calculating three average color values of the target image in the RGB channels. The vector extracted from a target image is taken as an input to the similarity measure computation with another input being the feature vector extracted from a tile image in the mosaic database. A tile image from the mosaic database is considered to be similar to the target image if the resulting value of the similarity measure, say a Euclidean distance between the two feature vectors, is the smallest among all the tile images in the database. The detailed algorithm of similarity measure computation is described as follows.
Algorithm 3.3. Similarity measure computation.
Input: a target image T, and a tile image L from the database DB.
Output: a similarity measure value D between T and L.
Steps:
Step 1. Divide T and L into N parts, where N is a predefined number.
Step 2. Extract color features from each part of T to form a vector VT with N×3
In this section, based on above-mentioned traditional mosaic image creation process we show how to create a tetromino-based mosaic image as an algorithm as follows.
Algorithm 3.4. Creation process of tetromino-based mosaic images.
Input: a source image I, a given size s of one square in a tetromino, and a tile image database DB.
Output: a tetromino-based mosaic image I′.
Steps:
Step 1. Construct a tetromino database DB by generating numerous tile images with different tetromino combinations and colors.
Step 2. Divide the source image I into many target images with the given size s.
Step 3. For each target image T, perform the following operations.
3.1 Calculate the distance between T and each tile image L in the tetromino database DB by Algorithm 3.3. create a tetromino-based mosaic image I′ as output.
In the above steps, a best matching tile image, which is the most similar to the corresponding target image, is found by the similarity measure computation as stated in Algorithm 3.3. The construction of the tetromino database DB mentioned in the above algorithm is described in the next section.
3.3.2 Tetromino Database Construction
The tetromino database is used to find the best matching tile image for each target image, as described in the previous algorithm. It is desired to control the number of colors and combinations of the tetrominoes in the database. Before the beginning of tetromino database construction, we have to design an algorithm to enumerate all the possible tetromino combinations in a fixed-sized region. Nineteen types of tetrominoes, as shown in Figure 3.3, are used as inputs for the tetromino database construction algorithm. In this study, the fixed-sized region is a plane of 4×4 grids as shown in Figure 3.4 (a). For example, Figure 3.4 (b) shows one of tetromino
combinations in a 4×4 grid. The detail of the enumerating process of tetromino combinations is described in Algorithm 3.4 below. The tetromino database is constructed by Algorithm 3.5 below.
Figure 3.3 Nineteen types of oriented tetrominoes.
Figure 3.4 Some illustrations of inputs in Algorithm 3.5. (a) A plane of 4×4 grids. (b) A tetromino combination in a plane of 4×4 grids.
Algorithm 3.5. Process for enumerating tetromino combinations.
Input: 19 types of tetrominoes E and a plane P of 4×4 grids.
Output: a set of all possible tetromino combinations T = {T1, T2, .., Tn} in P.
Steps:
Step 1. Create a four-level tree R with a root r.
Step 2. In first level, for each tetromino type X in E, perform the following operations.
2.1 For each position which can be used to place X, perform the following operations.
2.1.1 Generate a child node Cr of root r.
2.1.2 If the filled tetromino crosses the boundary of P, delete Cr and go back to 2.1.
2.1.3 Record the tetromino type X and the position of X in Ck
Step 3. For each node of level Li , where 2≧i≧4, perform the following operations.
3.1 For each node D in level i − 1, perform the following operations.
3.1.1 Choose one type from E and denote it by Y. tetromino, delete child node Ck and go back to Step 3.1.2.
3.1.2.4 If the filled tetromino combination Y already exists in the
Input: 19 types of tetrominoes, and a fixed number N of colors.
Output: a tetromino database DB with all possible tile images.
Steps:
Step 1. Generate a set of all possible tetromino combinations T = {T1, T2, .., Tn} in a plane of 4×4 grids by Algorithm 3.5.
Step 2. Generate a set of N distinct colors, C = {C1, C2, .., CN}, in the RGB color space uniformly.
Step 3. Create all possible tile images by generating all possible combinations of Ti
in T and Ci in C.
3.3.3 Visual Effect Improvement by Border Enhancement
Through the above-proposed algorithms, a basic tetromino-based mosaic image is created. However, a problem occurs in our creation process. If two tetrominoes which are close to one another have the same or similar color, the edge between these two tetrominoes may be hard for the viewers to recognize. It is desire to enhance the boundary of tetrominoes in tetromino-based mosaic creation. Furthermore, we also hope to make each piece of tetrominoes look more three-dimensional. As a result, two visual effects, lightening and shading borders, are created as a post-processing step in this study after the tetromino-based mosaic image creation process, which we call border enhancement. An algorithm for this purpose is described as follows.
Algorithm 3.7. Border enhancement.
Input: a plane Y of 4×4 grids with a tetromino combination P.
Output: Y with lightening and shading effects P′.
Steps:
Step 1. For each tetrominoes t in P, transform the color of the tetromino from the RGB model to the HSL model
Step 2. For each tetrominoes t in P, check its edge type according to the follow steps.
2.1 If it is a top or left edge in t, then lighten the edge by increasing the L channel value of the color at the borders.
2.2 If it is a bottom or right edge in t, then shade the edge by decreasing the L channel value of the color at the borders.
3.4 Experimental Results
Some tetromino-based mosaic images generated by the proposed creation process (Algorithm 3.4) are shown in this section. All the tetromino-based mosaic images in our experimental results were created by the use of a tetromino database with 125 kinds of colors and 117 types of tetromino combinations constructed in this study. Figures 3.6, 3.7 and 3.8 show the results of using different border enhancements. Figures 3.9, 3.10 and 3.11 show some experimental results of using different kinds of original images obtained from the proposed mosaic image creation process.
3.5 Discussions and Summary
In this chapter, we reviewed a traditional mosaic image creation process and proposed accordingly an idea of creating a novel type of mosaic image composed by tetrominoes. Then, a creation process of tetromino-based mosaic images is proposed.
In addition, an algorithm has been proposed to generate a tetromino database with different colors and tiling styles. Finally, we also proposed a border enhancement process for improving edge effects in tetromino-based mosaic images. Some experimental results are presented to show the effects of the proposed algorithms.
Colors and tetromino combination are the most important characteristics in tetromino-based mosaic image creation. With these two features, we will propose two data hiding methods in the two following chapters.
Figure 3.5 An original image.
(a)
(b)
Figure 3.6 Some of experimental results of the proposed tetromino-based mosaic creation. (a) A tetromino-based mosaic image without border effects created from Figure 3.5. (b) A partial image of the red region in (a).
(a)
(b)
Figure 3.7 Some of experimental results of the proposed tetromino-based mosaic creation. (a) A tetromino-based mosaic image with dark border effects created from Figure 3.5. (b) A partial image of the red region in (a).
(a)
(b)
Figure 3.8 Some of experimental results of the proposed tetromino-based mosaic creation. (a) A tetromino-based mosaic image with lightening and shading border effects created from Figure 3.5. (b) A partial image of the red region in (a).
(a)
(b)
Figure 3.9 Some of experimental results of the proposed tetromino-based mosaic creation. (a) An image of Eiffel Tower. (b) A tetromino-based mosaic image created from (a)
(a)
(b)
Figure 3.10 Some of experimental results of the proposed tetromino-based mosaic creation. (a) An self-portrait of van Gogh. (b) A tetromino-based mosaic image created from (a).
(a)
(b)
Figure 3.11 Some of experimental results of the proposed tetromino-based mosaic creation. (a) An image of Jolin, a singer. (b) A tetromino-based mosaic image created from (a).
Chapter 4
Data Hiding in Tetromino-based Mosaic Images by Distinct
Combinations of Tetrominoes
4.1 Idea of Proposed Method
As mentioned in Chapter 3, we create a new type of mosaic images in this study, named tetromino-based mosaic images. This type of mosaic image is generated by the use of distinct tetromino combinations. Combinations of tetrominoes can be encoded to hide data. However, using this way to hide data may damage the tetromino-based mosaic images which we create. Therefore, we propose to use edge fitting to maintain visual qualities of tetromino-based mosaic images by sacrificing a portion of capacity of data hiding. In this chapter, we will describe the proposed data hiding method using distinct combinations of tetrominoes and an edge fitting technique based on edge detection.
4.2 Proposed Data Hiding Method by Distinct Combinations of
Tetrominoes
4.2.1 Scheme of Propose Method
The main concept of the proposed method for data hiding using tetromino-based mosaic images is to encode tetromino combinations during tetromino-based mosaic image creation. The creation can be regarded as a two-level hierarchical operation.
The lower level of the operation is to fill four tetrominoes into a block of 4×4 grids for tile image generation. And the upper level is to put all tile images together to create a tetromino-based mosaic image. As a result, we can use the lower level of this two-level hierarchical image creation to hide data. Through the tetromino database construction described in Chapter 3, 117 kinds of tetromino combinations can be found by an enumerating process, as mentioned previously. In theory, we can only embed six bits in a block of 4×4 grids by fundamental binary encoding because the largest power of 2 smaller than 117 is 26. To increase the capacity of our data hiding technique, a transformation process between a binary digit system and a decimal digit one are proposed. At first, the given data are transformed into a binary digit sequence.
Subsequently, we transform the binary number sequence into a decimal digit sequence.
Then, we encode 100 tetromino combinations for every two digits of the decimal digit sequence for data hiding. Because the capacity of the maximum integer data type in C/C++ is 64 binary bits long, which equals 20 decimal digits, we can embed 64×(2/20)=6.4 bits in a block of 4×4 grids by the above-mentioned process. The detail of the process is described as algorithm below.
Algorithm 4.1. Data transformation from binary to decimal.
Input: message data D and a secret key K.
Output: a randomized decimal digit sequence Sr to be used in the data hiding process.
Steps:
Step 1. Transform D into a binary digit sequence S = {S1, S2, ..., Sn}.
Step 2. Create an integer set A of integers in a form of the maximum integer data type.
Step 3. For every 20-bit segment St of S, transform St into a decimal number Ai and store it in A in order.
Step 4. Extract each decimal digit of every Ai in A to form a decimal digit array Sd. Step 5. Use K to randomize Sd to get a randomized decimal digit sequence Sr.
4.2.2 Data Hiding Process
In this section, we combine a tetromino-based mosaic image creation and a data embedding technique to carry out the function of data hiding. Algorithm 4.2 shows the details of our method.
Algorithm 4.2. Data hiding in a tetromino-based mosaic image.
Input: a source image I, a tetromino database DB, a secret message M, and a secret key K.
Output: a stego-tetromino-based mosaic image I′.
Steps:
Step 1. Divide I into a set of 4×4 blocks, B = {B1, B2, .., Bn}.
Step 2. Use the secret key K to transform M into a randomized decimal digit sequence Sr by Algorithm 4.1.
Step 3. Divide Sr into several substrings {S1, S2, .., Sn}, each having a length of two digits.
Step 4. For each Bi in B and each Si in S, perform the following operations.
4.1. Transform Si to a decimal number d.
4.2. Choose a tile image L from DB according to d.
4.3. Perform a border enhancement process (Algorithm 3.6) on L to generate L′.
Step 5. For each block Bi in I, replace it with corresponding L′ generated in the last
step to create a stego-tetromino-based mosaic image I′ as output.
4.2.3 Data Extraction Process
Before a data extraction process, we have to figure out the tetromino combination of each 4×4 block in a stego-tetromino-based mosaic image. Because a stego-image is created by a two-level hierarchical mosaic creation process, we also propose a scheme for recognizing two-level tetromino combinations in stego-tetromino-based mosaic images. In the lower level of recognition, we label each 4×4 grid with an index to identify its edge type at first. Fourteen edge types and their relative indexes are shown in Figure 4.1 for tetromino combination recognition. In the upper level of recognition, we represent indexes of edge types as a 4×4 integer array in each block of 4×4 grids. Each array entry records an index according to the edge type of the corresponding position in a block of 4×4 grids. For instance, Figure 4.2(a) shows a combination of tetrominoes. A corresponding edge type array is show in Figure 4.2(b). The detailed algorithm of tetromino combination recognition is stated in Algorithm 4.3. Using this algorithm, we propose a data extraction process, as described in Algorithm 4.4, for a stego-tetromino-based mosaic images.
Algorithm 4.3. Tetromino combination recognition.
Input: a block B of 4×4 grids, a corresponding table T of edge types and indexes (like Figure 4.1), and a tetromino database DB.
Output: a number m to recognize one of tetromino combinations from DB.
Output: a number m to recognize one of tetromino combinations from DB.