• 沒有找到結果。

Data Hiding in Computer-Generated Stained Glass Images and Its Applications to Information Protection

N/A
N/A
Protected

Academic year: 2022

Share "Data Hiding in Computer-Generated Stained Glass Images and Its Applications to Information Protection"

Copied!
16
0
0

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

全文

(1)

PAPER

Data Hiding in Computer-Generated Stained Glass Images and Its Applications to Information Protection

Shi-Chei HUNG†∗, Nonmember, Da-Chun WU††a), Member, and Wen-Hsiang TSAI†††,††††, Nonmember

SUMMARY The two issues of art image creation and data hiding are integrated into one and solved by a single approach in this study. An au- tomatic method for generating a new type of computer art, called stained glass image, which imitates the stained-glass window picture, is proposed.

The method is based on the use of a tree structure for region growing to construct the art image. Also proposed is a data hiding method which uti- lizes a general feature of the tree structure, namely, number of tree nodes, to encode the data to be embedded. The method can be modified for uses in three information protection applications, namely, covert communication, watermarking, and image authentication. Besides the artistic stego-image content which may distract the hacker’s attention to the hidden data, data security is also considered by randomizing both the input data and the seed locations for region growing, yielding a stego-image which is robust against the hacker’s attacks. Good experimental results proving the feasibility of the proposed methods are also included.

key words: computer art, stained glass image, data hiding, region growing, covert communication, watermarking, image authentication

1. Introduction

In the era of computer networks, more and more people ex- change digital images over the Internet. Many methods have been proposed to make digital images more artistic before publishing them. New types of computed-generated art im- age are also proposed. However, when such art images are transmitted over networks, people can duplicate or tamper with them easily. Thus, the issue of information protection must be considered seriously.

Many studies on automatic art image creation[1]–[12]

and data hiding for information protection have been con- ducted. But rare of them integrate respective solutions to the two issues into a single approach. If one wants to cre- ate an art image to decorate his/her websites, e.g., and does not want the image to be downloaded and modified, ad- ditional watermarking works need be carried out to pro- tect the copyright of the image. Also, when one wants to

Manuscript received September 9, 2019.

Manuscript revised November 29, 2019.

Manuscript publicized January 15, 2020.

The author was with the Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan.

††The author is with the Department of Computer and Commu- nication Engineering, National Kaohsiung University of Science and Technology, Kaohsiung, Taiwan.

†††The author is with the Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan.

††††The author is also with the Department of Information Com- munication, Asia University, Taichung, Taiwan.

Presently, with Somuch Co. Ltd., Taipei, Taiwan.

a) E-mail: dcwu@nkust.edu.tw (Corresponding author) DOI: 10.1587/transinf.2019EDP7239

conduct covert communication via a secret message, one way is to hide the message into an art image which, by its artistic appearance, may detract a hacker from tamper- ing with it. Or it might also happen that an art image pub- lished on the Internet is modified and claimed illicitly to be original. In such a case, image authentication is needed.

In this study, an automatic method is proposed to create a new type of art image, which imitates the stained glass im- age often seen on church windows. Furthermore, a new method for data hiding via such art images is proposed, which may be adapted to solve all the three issues of water- marking for copyright protection[13],[14], covert commu- nication[11],[14], and image authentication[15],[16]just mentioned.

About art image generation, Hertzmann[1] sur- veyed stroke-based rendering algorithms for creating non- photorealistic images which are composed by discrete el- ements like paint strokes and stipples. The main goal of these algorithms is to make generated images look like real artworks such as oil painting. Figure 1 shows an example of images created by Hertzmann[2], [3] where Fig. 1 (a) is a source painting and Fig. 2 (b) is the cor- responding computer-generated oil painting image. Fig- ures 2 (a) through 2 (d) shows some mosaic or tile images generated automatically by Hausner[4], Haeberli[5] and Matsumura et al.[6]. Recently, with the fast development of neural networks and deep learning applications, Chen, et al.[7]and Gatys, et al.[8]proposed image style transfer methods based on the use of convolutional neural networks to generate art images. The methods can transfer given im- ages to specific styles like those created by famous artists, as shown in Figs. 2 (e) through 2 (j).

Stained glass windows are composed of glass pieces of different shapes, colors, and sizes. They first appeared in the 7th century, had heydays in the 16th century, and are still being built today[9]. Figure 3 (a) shows the detail of a

Fig. 1 Computer-generated oil-painting images. (a) The source painting.

(b) An image imitating (a) created by Hertzmann[2],[3].

Copyright c 2020 The Institute of Electronics, Information and Communication Engineers

(2)

stained glass window in a church. Mould[10]proposed an algorithm for automatic creation of stained glass images like those in Figs. 3 (b) and 3 (c).

Briefly speaking, in the proposed method for stained glass image generation, a source image is processed by quantization and region growing to obtain a group of glass regions which looks like a stained glass version of the source image. In the proposed data hiding method, a technique of slight glass cracking is carried out to achieve the purpose of bit-code embedding in the image. The proposed data hiding technique can be modified further to fit the aforementioned three applications of information protection. It is mentioned by the way that the proposed method, differently from those that hide data in natural images, is proposed for applica- tions on art images (here, on stained glass images) with the specific characteristics of the art image considered in detail in designing the data embedding and extraction algorithms.

Fig. 2 Art images generated by computers. (a) A painting in Sistine Chapel by Michelangelo. (b) A mosaic image imitating (a) by Haus- ner[4]. (c) Another mosaic image imitating (a) by Haeberli[5]. (d) A tile image generated by Matsumura et al.[6]. (e) An art image generated by Chen, et al.[7]with (f) as the input according to V. van Gogh’s post- impressionism art style of the painting “Starry Night” shown in (g). (h) An art image generated by Gatys, et al.[8]with (i) as the input according to E.

Munch’s expressionism art style of the painting “The Scream” shown in (j).

Fig. 3 Stained glass windows and computer-generated images. (a) A stained glass window of The Crucifixion, St. James Church, Staveley, UK.

(b), (c) Two stained glass images generated by Mould[10].

This contrasts with those data hiding methods which usually just consider the general properties of natural images while conducting data embedding and extraction.

In the remainder of this paper, the proposed method for creating stained glass images is presented in Sect. 2.

The proposed processes for data embedding and extraction via stained glass images, which implementing the proposed method are described in Sects. 3 and 4, respectively. The three applications of the proposed method mentioned pre- viously are described in Sect. 5, with conclusions given in Sect. 6.

2. Automatic Creation of Stained Glass Images A stained glass window is composed of multiple glass re- gions separated by black and thin gaps, called leading. A new type of art image, imitating the picture seen on the stained glass window, is proposed in this study from the viewpoint of data hiding in this study. It is called as usual stained glass image in this paper. In Sect. 2.1, a review of an existing method for stained glass image creation proposed by Mould[10]will be given. In Sect. 2.2, the ideas behind the method proposed in this study for automatic creation of the proposed new type of stained glass image are described;

and an algorithm for implementing the ideas is presented in Sect. 2.3. Finally, some experimental results yielded by the proposed method are presented in Sect. 2.4.

2.1 Review of a Method for Stained Glass Image Creation In Mould’s method[10], at first an input image is segmented into regions which then are smoothed by image processing techniques. Next, the resulting regions are filled with colors chosen from a palette of heraldic tinctures, which are close to those of real stained glasses. Finally, a displacement- mapped plane representing imperfections in the regions is rendered, and leading is applied to the gaps between the re- gion boundaries to obtain the final result.

Some results created by Mould[10]is shown in Fig. 4, where Fig. 4 (a) is the source image and Fig. 4 (b) is the seg-

Fig. 4 An example of stained glass images created by Mould[10]. (a) An original image entitled Gretzky. (b) Segmented regions of (a). (c) Region boundaries of (b). (d) Smoothed region boundaries of (b). (e) A final ver- sion of generated stained glass images. (f) Another version of generated stained glass images with a different background.

(3)

Fig. 5 Proposed creation process of stained glass images.

mentation result shown as color regions. Figure 4 (c) is the region boundaries of Fig. 4 (b), and Fig. 4 (d) is a smoothed version of Fig. 4 (c). Figure 4 (e) is a final stained glass image, and Fig. 4 (f) is another whose background pattern and colors are different from those of Fig. 4 (e).

The appearances of the stained glass images created by Mould’s method[10]are close to those seen on the real stained glass windows, but the method is not designed from the viewpoint of data hiding while the method proposed in this study instead is, though the generated stained glass images are less similar to the real ones. As examples for comparisons, some results yielded by the two methods with identical source images can be seen later in Fig. 11. Granted that the images generated by the proposed method are not so realistic as commonly-seen stained glass images, hopefully it may still be regarded as a new type of computer art via which data hiding can be conducted and detraction of the hacker’ attention on the hidden data can be achieved!

2.2 Ideas of the Proposed Method

The proposed method for creating a stained glass image from a given source image is illustrated by the flowchart shown in Fig. 5. At first, the source image is quantized to yield simple color regions. Then, noise in the resulting im- age is eliminated by a voting filter. Subsequently, discrete pixels called seeds are sprinkled over the color regions ran- domly. Randomization of the seeds is adopted mainly for keeping the security of the embedded data in the stained glass image. Then, region growing is applied to each seed to obtain a group of glass regions. In this process, a glass region tree is constructed. Finally, large gaps between the glass regions are filled with extra glass regions by a gap fill- ing process. As a result, a stained glass image is created.

More details of these steps are described next.

(A) Preprocessing of the source image

The preprocessing operations applied to the input image are

Fig. 6 Image preprocessing before region growing. (a) A source image, (b) a quantized image of (a). (c) A filtered image of (b). (d) A square voting filter of size 11× 11.

quantization and filtering. Take Fig. 6 as an example, where the R, G, and B values of each pixel’s color in Fig. 6 (a) are quantized into three bits, with one bit for each color channel.

The result is shown in Fig. 6 (b), in which the color regions are seen to be shattered. This will affect the result of region growing. So, a 11× 11 voting filter as shown in Fig. 6 (d) is applied to each pixel in Fig. 6 (b) which accumulates the numbers of pixels for each color within the filter scope, and resets the pixel’s color to be that with the maximum accumu- lation value. Figure 6 (c) is the filtering result with the noise removed. Now, region growing can be applied to Fig. 6 (c) to obtain a group of color regions, called glass regions.

(B) Tree structure for region growing

In more detail, each glass region formed by region growing is obtained through the construction of a glass region tree of a structure as illustrated by Fig. 7 (a). Specifically, a node in the tree is either an internal node or a leaf node. An internal node has at least one child node and a leaf node does not.

In addition, a tree node may also be classified as an expand- ing node or a succeeding node. An expanding node is the first node or the last one at a tree level (i.e., the rightmost or leftmost node when the tree level is laid out horizontally as shown in Fig. 7 (a)), and a succeeding node is one in be- tween. For example, in Fig. 7, each expanding node is en- closed by red thick border lines and each succeeding node by black thin border lines. Also, as illustrated by Fig. 7 (a), each expanding node has, if any, two child nodes, one being an expanding node and the other a succeeding one. On the other hand, a succeeding node has, if any, only a child node which is a succeeding node as well.

(C) Construction process of glass region trees

While constructing a glass region tree T , the nodes grown

(4)

Fig. 7 Structure and expansion of the glass region tree. (a) A tree of a glass region; (b)–(f) Examples for illustrating details of Steps 2 and 3 in Algorithm 1. (g) Figure descriptions. Note (explanations of the tree levels L1–L7) – L1: the root of glass region tree; L2: the start level of region growing with two expanding nodes (in each of the four directions); L3–L7: intermediate levels of tree growing (with the number of levels depending on the size of the color region being grown).

of T correspond to the pixels in a preprocessed image S. So, e.g., “adding two expanding nodes N1and N2to a node N0

as its two child nodes” means finding two pixels P1and P2 in S corresponding respectively to N1 and N2 with each of P1and P2being a neighbor of the pixel P0corresponding to N0 in S and being corresponding to an expanding node for further tree growing. Thus, in the sequel, we will discuss tree nodes directly, regarding “tree node” and “image pixel”

as two equivalent terms, so long as the pixel has the property required by the tree node. The details of glass region tree construction are described as an algorithm as follows.

Algorithm 1: Constructing a glass region tree.

Input: a color region G in a preprocessed image S and a pixel P0in G.

Output: a glass region tree T for color region G with pixel

P0as its root R.

Steps:

1. Take pixel P0as the root R of a tree T ; and at the high- est tree level L1of T , add two expanding nodes to tree level L2 as the child nodes of R, and assign them as internal.

2. At each tree level Lifor i ≥ 2, perform the following steps.

2.1 For each internal node Nj, generate horizontally or vertically a child node Cjin image S, assign it as both internal and succeeding, and perform the following two steps.

(i) If Njand Cj are not both in region G, then regard Cjas out of bound, discard it, and re- assign Njas a leaf node.

(ii) If the depth of Cj is greater than that of its neighboring sibling, then regard Cjas inap- propriate, discard it, and re-assign Nj as a leaf node.

2.2 For each node Njwhich is both internal and ex- panding, generate diagonally a child node Cjin image S, assign it as internal and expanding, and perform the following two steps.

(i) If Njand Cjare not both in region G, then regard Cjas out of bound, and discard it.

(ii) If the depth of Cjis greater than that of its neighboring sibling, then regard Cjas inap- propriate, and discard it.

2.3 If no child node is generated in Steps 2.1 and 2.2, terminate the tree growing process and exit; else, increase index i by 1, and go back to Step 2.

The major steps of Algorithm 1 above for constructing a glass region tree are explained here using Fig. 7 as an illus- trative example. In Fig. 7, a dashed green curve is used to enclose the pixels of a color region derived from the prepro- cessing process. Initially in Step 1, two expanding nodes are added at tree level L1 as the child nodes of the tree root R, and regard them as internal nodes.

In Step 2.1 of Algorithm 1, for each internal nodes at tree level Li(i≥ 2), a child node which is internal and suc- ceeding is generated. Then, Step 2.1(i) is performed, yield- ing a result which can be illustrated by Figs. 7 (b) and 7 (c).

As shown in Fig. 7 (b), four succeeding nodes are generated at level Li+1, in which the rightmost one is located, differ- ently from its parent, in a color region outside the dashed green curve. So, according to Step 2.1(i), it is regarded as out of bound and is discarded, with its parent node being transformed into a leaf node instead of being an internal one as shown by Fig. 7 (c).

In Step 2.2, for each internal node which is also an expanding one at tree level Li, a child node which is both internal and expanding is generated. Then, Step 2.2(i) is performed, yielding a result which can be illustrated by Figs. 7 (d) and 7 (e). As shown in Fig. 7 (d), only one ex- panding node is generated at level Li+1which is the leftmost node at level Li+1; the rightmost node at Li, though expand- ing in nature originally, has been transformed to be a leaf

(5)

node in Step 2.1(i), and so cannot be extended to generate child nodes at level Li+1. However, as shown in Fig. 7 (e), the generated leftmost node at level Li+1is located in a color region differently from its parent node; therefore, it is dis- carded without transforming its parent node to be a leaf node according to Step 2.2(i).

Steps 2.1(i) and 2.2(i) as illustrated can be seen to have a function of keeping the depth differences of neighboring leaf nodes smaller than or equal to one. The reason for designing them in this way is illustrated by a counter ex- ample shown in Fig. 7 (f) where the depth difference of the two neighboring leaf nodes is four, and the blue line is the edge defined by the two leaf nodes. It can be seen that this edge overlaps another color region outside the dashed green curve. This will result in yielding overlapping glass regions after region growing. That is why we have to keep the depth differences of neighboring leaf nodes to be smaller than or equal to one by carrying out Steps 2.1(ii) and 2.2(ii).

Finally, in Step 2.3, we decide to terminate the tree growing process if no child node is generated in Steps 2.1 and 2.3. After the process terminates, the pixel group cor- responding to the derived tree nodes will become part of a glass region yielded by the proposed glass region growing process described next.

2.3 Proposed Glass Region Growing Process

After preprocessing the source image, a color region im- age like Fig. 6 (c) is derived. Then, region growing is started. The ideas behind this process, an algorithm to im- plement them, and a gap filling scheme are described in the following.

(A) Ideas of the proposed glass region growing process After seed sprinkling, at first four trees are ‘rooted’ at each seed pixel, which are denoted by Nt, Et, St, and Wt for the four directions of north, east, south, and west, respectively, as shown in Fig. 8. This work is accomplished by forming an initial glass range of 3× 3 nodes with the seed pixel as the center, which is shown in Fig. 8 (a) or 8 (c) as the central square enclosed by the pink boundary lines. And starting from the top-middle node and around the eight boundary nodes of the initial glass range, every two boundary nodes are taken sequentially to form an initial node pair of each of the four trees of Nt, Et, St, and Wt in order, which are shown as the purple, pink, blue, and orange node pairs in the ini- tial glass range in Fig. 8 (a) or 8 (b). Then, the four trees are grown in the four directions, respectively, by applying Algorithm 1. The trees of all seeds are grown simultane- ously level by level. The resulting four trees are shown by different colors in Fig. 8.

Subsequently, the leaf nodes in each tree and then the four trees are linked integrally to form the boundary of a complete glass region. The links of the leaf nodes are drawn as blue lines and those of the trees as yellow lines, as shown in Fig. 8. Specifically, a leaf node link is created simply by linking every pair of adjacent leaf nodes in each tree. On

Fig. 8 Illustration of region growing. (a) Linking leaf nodes. (b) Nota- tions. (c) Linking trees. (d) Notations identical to (b). Note (explanations of the notations) – (1) root node: a node on which a seed is sprinkled and from which region growing starts; (2) leaf node: a node having no child node and lying on the boundary of the region; (3) internal node: a node which is not a leaf node; (4) expanding node: the first or last node at a tree level (i.e., the rightmost or leftmost node when the tree level is laid out horizontally); (5) succeeding node: a node between two expanding nodes.

(6) Nt, Et, St, and Wt: the north, east, south, and west trees starting from the root node.

the contrary, the four trees are not linked simply by linking the rightmost and leftmost leaf nodes of two adjacent trees because a link so created may be out of the color region, as illustrated by Fig. 8 (a) where the link between the two neighboring trees Nt and Et is out of the color region, lead- ing to glass-region overlapping in the final region growing result. Note that in the above discussions and those in the se- quel, it is assumed that each tree has its root located on the top, so that the terms rightmost and leftmost can be used; if not so, it is assumed that the tree has been rotated to be so.

In order to solve the aforementioned glass-region over- lapping problem, at first the node expanding pass (NEP) of a given leaf node is defined, which is an upward trace of all the expanded nodes from the leaf node to the tree root.

These nodes in the NEP are all grown in the tree growing process described by Algorithm 1. Then, the problem is solved by a scheme consisting of the following three steps.

(6)

(i) Find in an upward direction the first expanding node N1e in the NEP P1 of the leftmost leaf node N1f of a tree T1 (like Nt in Fig. 8 (c)), and construct a partial NEP P1of P1consisting of all the nodes traced from the expanding node N1eto the leaf node N1f.

(ii) Do similarly to find in an upward direction the first ex- panding node N2ein the NEP P2 of the rightmost leaf node N2f of the clockwisely-neighboring tree T2 (like Et in Fig. 8 (c)), and construct a partial NEP P2of P2

consisting of all the traced nodes from the expanding node N2eto the leaf node N2f.

(iii) Regarding all the nodes in each of the partial NEP’s P1and P2 as already being linked together, link the two trees T1and T2by linking N1fand N2fwhich con- nect to the two partial NEP’s P1and P2, respectively, resulting in a chain link of P1 – N1f – N2f – P2 for use as part of the final glass region boundary (like the L-shaped boundary appearing at the concave corner at the middle right side of the glass region in Fig. 8 (c)).

The above steps together will be called in the sequel the tree linking scheme for a pair of clockwisely-neighboring trees (i.e., T1and T2in the above description).

Two points need be noted in the above region grow- ing process. First, according to the proposed glass region tree growing process described by Algorithm 1, each glass region has a minimum size of 3× 3, or equivalently, nine nodes, as shown by the pink squares enclosing the initial glass range in the middle of Fig. 8 (a) or 8 (c). Therefore, in order to prevent the resulting glass regions from overlap- ping one another, while conducting seed sprinkling, we have to keep the inter-seed distance at least three nodes in magni- tude. Furthermore, in this study we let the distance between nodes to be two pixels. Therefore, the minimum inter-seed distance must be six pixels.

The second point to be noticed is that more than one seed might be located undesirably in a color region after seed sprinkling. In order to prevent this from happening, a global tree map is created for use in the proposed glass region growing process to record the positon of each gen- erated seed in order. And after the first seed is recorded in the map, every seed generated later at a certain position is checked against the map to see if a formerly-generated seed has been sprinkled into an identical color region already; if so, then discard the seed and generate another until the colli- sion case is avoided. Furthermore, the position of each node generated in the glass region tree construction process is also recorded in the map. And if a parent node, which is internal originally, ‘wants’ to extend a child node into an occupied node position in the map, then the status of the parent node is transformed from an internal node to a leaf node. Finally, it is mentioned that the tree map will also be used for the gap filling process described next.

(B) Proposed glass region gap filling process

Though the problem of multiple seeds sprinkled in an iden- tical color region can be solved as described above, it might happen contrarily that no seed is sprinkled in certain regions,

Fig. 9 Illustration of the gap filling process.

causing gaps between the grown regions. For example, the blue polygons in Fig. 9 are the regions yielded by the glass region growing process, and it can be seen that between them there exist gaps which should be filled up further.

In this study, for gap filling, initially the tree map is scanned. If no tree node is found within a certain square area of 15× 15 pixels, an additional seed is put at the cen- ter of that square and the previously-proposed glass region growing process is applied on it. For example, the yellow polygons in Fig. 9 are the additional glass regions which are found by such a gap filling process.

(C) Proposed glass region growing process

The proposed glass region growing process realizing all the above-mentioned ideas is described as an algorithm below.

Algorithm 2: Glass region growing to create a stained glass image.

Input: a source image S and a secret key K.

Output: a stained glass image G.

Steps:

Stage 1 — initialization (including preprocessing, tree map setup, and random seed sprinkling).

1. Preprocess the source image S by quantization and noise filtering to obtain a simplified image S.

2. Set up a tree map M of the same size as that of S with cells to record generated seeds and nodes, initially empty.

3. Use a random number generator R with the secret key K as the input to sprinkle randomly seeds with the min- imum inter-distance of 6 pixels into Sin the following way.

3.1 For each generated seed d at random position (x, y), check the content of the tree map M at (x, y), and if there already exists a seed there, then dis- card d; else, save seed d into M at (x, y).

3.2 Repeat Step 3.1 until the number of saved seeds equal to a pre-selected threshold Td.

Stage 2 — constructing glass region trees.

4. For each sprinkled seed d, perform the following steps

(7)

to yield a glass region Rd.

4.1 Identify the color region R where seed d is located.

4.2 Regard d as the root of four glass region trees la- beled as Nt, Et, St, and Wt in the clockwise direc- tion and construct an initial part of each tree in the following way.

(i) Form an initial glass range Rinitof 3×3 nodes with d as the center.

(ii) Starting from the top-middle node and around the eight boundary nodes of Rinit, take sequentially every two boundary nodes to form an initial node pair of each of Nt, Et, St, and Wt in order.

4.3 Perform Algorithm 1 with R and d as the input to grow each of the four trees.

4.4 Link the four trees, Nt, Et, St, and Wt, in the fol- lowing way to produce the desired glass region Rd. (i) Link every pair of adjacent leaf nodes of each

of the four trees.

(ii) For every pair (T1, T2) of clockwisely- neighboring trees of the four trees (i.e., for every pair of (Nt, Et), (Et, St), (St, Wt), and (Wt, Nt)), perform a tree linking scheme in the following way to link T1and T2.

(1) Trace upward all the expanded nodes from the leftmost leaf node N1f of T1

to the root node d to construct the node expanding pass (NEP), P1, of N1f; and find the first expanding node N1ein P1 to trace all the nodes from N1eto N1fto construct a partial NEP P1of P1. (2) Do similarly to (1) to construct the NEP,

P2, of the rightmost leaf node N2fof T2 and find the first expanding node N2ein P2to construct a partial NEP P2which includes all the traced nodes from N2eto N2f.

(3) Regarding all nodes in each of the par- tial NEPs P1 and P2 as already be- ing linked together, link T1 and T2 by linking N1f and N2f which connect to P1and P2, respectively, resulting in a chain link of P1– N1f– N2f– P2which can be used as part of the final glass re- gion boundary.

(iii) Take all the nodes of the four linked trees as the desired glass region Rd.

Stage 3 — conducting gap filling and composing the de- sired stained glass image.

5. Scan the tree map to find any square area of size 15× 15 with no tree node filled, and conduct the following steps for each of the square areas so found.

5.1 Put a seed into the center of the square area.

5.2 Perform Steps 4.1 through 4.4 to yield a glass region.

6. Compose the desired stained glass image G in the fol- lowing way and exit.

Fig. 10 An experimental result. (a) A source image. (b) A stained glass image created with (a) as the input.

Fig. 11 Some experimental results with the left column including the source images, the middle including the images created by Mould[10], and the right including those created by the proposed method.

6.1 Copy into G those pixels in source image S cov- ered by all the glass regions yielded in Steps 4 and 5.

6.2 Apply leading to those pixels in G (i.e., color them by black) which are not filled up in Step 6.1.

In the next section, Sect. 3, the proposed data hiding tech- niques for uses in the three applications of watermarking, se- cret communication, and image authentication, will be pre- sented. The data are embedded into the glass region gen- erated with randomly scattered seeds, but not into the glass regions which are generated by gap filling except in the ap- plication of image authentication.

2.4 Experimental Results and Discussions

Figure 10 is a result of applying Algorithm 2 above, where Fig. 10 (a) is the source image and Fig. 10 (b) the yielded stained glass image in which it can be seen that the glass re- gions do not overlap one another. This characteristic is good for data embedding and extraction later. More experimen- tal results are shown in Fig. 11 where the images in the first column are the source, those in the middle are the stained glass images created by Mould’s method[10], and those in

(8)

the last created by the proposed method.

3. Data Hiding in Stained Glass Images

In this section, the proposed data hiding method in a glass region is presented, whose basic ideas are described in Sect. 3.1; and the hiding technique, which is based on a scheme of tree node number modification, is proposed in Sect. 3.2. An involved issue is the acquisition of effective trees, which is described in Sect. 3.3 with a solution pro- posed. Finally, an algorithm to implement these ideas is presented in Sect. 3.4.

3.1 Basic Ideas of Proposed Data Hiding Method

The feature utilized in this study for data hiding via stained glass images is the number of tree nodes in a glass region tree; by removing a computed number of the deepest tree nodes, message data can be hidden in a stained glass image.

Though this will cause little cracks at the edges and cor- ners of the glass regions, the change in the resulting image appearance is still acceptable visually. For example, as illus- trated by Fig. 12 (a), the two nodes on the top and enclosed by red boundaries are the deepest nodes of the north tree Nt of a glass region, which can be removed to embed data in the proposed data hiding method. Figure 12 (b) shows the result of removing them, creating a little crack in the glass region represented by the tree nodes.

Although four trees are enclosed in a glass region, not all of them can be used for data hiding; the number of nodes in a tree must be large enough so that the data can be embed- ded by removing some tree nodes without causing relatively intolerable crack distortions. We name the trees that can be used for data hiding effective trees. More details on effective trees will be discussed subsequently, and so will be the glass region feature detection process.

The overall concept of embedding data into a stained glass image is illustrated by the flowchart shown in Fig. 13.

Since only one type of glass feature is used for data hiding, only one of the three aforementioned applica- tions of secret communication, watermarking, and image authentication can be implemented at a time. No matter what kind of data to be embedded is, the input data are first transformed into a bit-code sequence in advance. Then, the previously-described stained glass image creation process is performed with glass region trees yielded. Afterwards, the bit sequence of the data is embedded by removing some deepest nodes of every single effective tree. More details are discussed next.

3.2 Data Embedding by Tree Node Number Modification The core concept of data hiding by tree node number modi- fication proposed in this study can be illustrated by Fig. 14.

Assume that a message is to be embedded into a glass region tree T with TNN nodes. Initially, the remainder, REM, of dividing the number, TNN, by a divisor, DIV, is computed,

Fig. 12 An example of removing nodes for data hiding. (a) A glass re- gion copied from Fig. 8 (b) with two nodes (enclosed by red boundaries on the top) to be removed. (b) A glass region with data to be embedded by removing two nodes.

Fig. 13 Proposed process for embedding bit-code data into a stained glass image obtained from a source image.

Fig. 14 Core concept of data hiding via stained glass images.

where DIV is to be determined. The value of REM will thus range between 0 and DIV − 1 as shown by the following formula:

REM= TNN mod DIV, 0 ≤ REM < DIV − 1. (1) Then, the value range of REM is divided into several sub- ranges, with each sub-range representing a specific bit-code.

In the case of Fig. 14, the bit-code is assumed to contain two bits, so the range is divided into four sub-ranges represent- ing the bit-codes 00, 01, 10 and 11. In other words, the number of sub-ranges, NSR, is computed by the following formula:

NSR= 2bitN, (2)

(9)

where bitN is the number of bits to be embedded into tree T and is a pre-selected parameter. It is noted here that because each sub-range includes several values of REM, a certain degree of tolerance of detection errors can be achieved. Take Fig. 14 as an example, where there are four sub-ranges, and each sub-range includes three values of REM. If an REM falls, for example, into the first sub-range which includes the three values 0, 1, and 2, then no matter what value REM is, as long as it is one of the three values, it means that the bit-code 00 is embedded into tree T . Now, the value of DIV can be determined as follows:

DIV = SSR × NSR, (3)

where SSR is the number of REM values spanned by a sub- range and NSR is the number of sub-ranges decided by Eq. (2) above. So, the value of DIV in Fig. 14 is 3× 4 = 12.

Now, to embed a bit-code C into tree T , in this study it is proposed that the value REM be adjusted to be the cen- tral value of the target sub-range which represents the bit- code C. This way is considered also helpful to allow the computed REM value to have an even larger tolerance of er- rors to represent a bit-code (i.e., the computed REM may be any of those values slightly larger or smaller than the cen- tral value in the target sub-range without causing errors of bit-code representations). This means that the number NNR of nodes to be removed from tree T should be computed by NNR= |REM − central value of target sub-range|. (4) For the example of Fig. 14, assume that the value REM is 9 and the bit-code to be embedded is 01. The target sub-range representing bit-code 01 is the second one whose central value is 4. So the number of nodes to be removed from tree T , NNR, for embedding bit-code 01 is computed as NNR= |9 − 4| = 5. By removing the five deepest nodes from tree T , the new REM will become the central value, four, of the second sub-range, which still represents the bit- code 01.

3.3 Acquiring Effective Trees for Data Hiding

Before data embedding via a stained glass image can be con- ducted, for each tree T of a glass region, it needs to know if data can be embedded into T , or equivalently, to know if the tree is effective with a sufficient number of nodes to be removed for the data hiding purpose. Specifically, as dis- cussed previously, with the parameter DIV fixed, at most DIV− 1 nodes are removed from a target tree. Also, each tree in a glass region contains at least three nodes in the pro- posed creation process as mentioned previously. Therefore, an effective tree must contain at least DIV + 3 nodes for a bit-code to be embedded in all cases. We call this minimum number of nodes in an effective tree for data embedding, the minimum tree size, and denote it by minTSE. Also, to pre- vent glass regions from being broken into tiny pieces, we let the value of minTSE be DIV× 2 + 3 instead of just the above-mentioned value of DIV+ 3.

Fig. 15 Concept of acquiring effective trees in data embedding and extraction.

On the other hand, during data extraction, because the value of minTSE now is taken to be DIV× 2 + 3 and because at most DIV − 1 nodes are removed from a target tree for data embedding, the minimum number of nodes in an effec- tive tree for data extraction, which is denoted by minTSD subsequently, should thus be

(DIV× 2 + 3) − (DIV − 1) = DIV + 4.

In other words, if the number TNN of nodes of a tree is not smaller than the value minTSD above, it can be decided that there are data embedded in the tree.

Now, it might happen that a tree has its number of nodes larger than minTSD and smaller than minTSE, as shown in the blue area of Fig. 15, then it might occur that no message is embedded in the data embedding process but some meaningless bit-codes are extracted out in the data ex- traction process. To avoid such a case, it is proposed to re- duce the value of TNN to be minTSD by removing some of the deepest nodes of the target tree during the process of ac- quiring effective trees. Then, there will be no tree with its value of TNN between minTSD and minTSE (i.e., in the blue area in Fig. 15) after the effective tree acquisition process.

3.4 Data Embedding Algorithm

The above discussions about the proposed data embedding process are summarized as an algorithm in the following.

Algorithm 3: Embedding bit-code data into the glass re- gions of a stained glass image.

Input: a sequence GR of n glass regions of a source image S; a sequence B of m bit-codes of a message M with each bit-code having bitN bits; and two pre-selected parame- ters minTSE and minTSD representing the minimum tree size and the minimum number of nodes in an effective tree, respectively.

Output: a stego-stained glass image G with B embedded.

Steps:

1. Append an ending bit-code pattern Bm+1 to the end of the sequence B of bit-codes, resulting in a new se- quence B = {B0, B1, . . . , Bm, Bm+1} with each Bi hav- ing bitN bits.

2. Retrieve the four glass region trees from each GRi

in the input sequence of glass regions, GR = {GR1, GR2, . . . , GRn}; and concatenate the resulting 4n trees

(10)

into a sequence, RT = {RT0, RT1, . . . , RT4n}.

3. For each RTiin RT with TNNinodes, perform one of the following two cases to acquire a sequence of effec- tive trees, ET= {ET0, ET1, . . . , ETk}, where k ≤ 4n:

3.1 if TNNi> minTSE, then add RTiinto ET as ETi; 3.2 if minTSD≤ TNNi< minTSE, then

(i) let n= TNNi− minTSD;

(ii) remove the n deepest nodes of RTi so that TNNi= minTSD; and

(iii) add the resulting RTiinto ET as ETi. 4. For each pair of Biand ETi, i= 1, 2, . . . , m+1, perform

the following steps.

4.1 Obtain the value REMi for ETi according to Eqs. (1) through (3) by the following steps:

(i) count the number TNNiof nodes in ETi; (ii) compute the number NSR of sub-ranges of

the range RGiof REMias NSR= 2bitN; (iii) decide the number SSR of REMispanned by

a sub-range of range RGi;

(iv) compute the divisor DIV for REMias DIV= SSR × NSR;

(v) compute the remainder REMias REMi= TNNimod DIV so that 0≤ REMi< DIV − 1.

4.2 Compute the corresponding number NNRi of nodes to remove from ETiaccording to Eq. (4) as

NNRi= |REMi− CVi|

where CVi is the central value of the target sub- range determined by the bit-code Bi.

4.3 Remove the deepest NNRinodes from ETi. 5. Construct the desired stego-stained glass image G, ini-

tially empty, in the following way and exit.

5.1 Copy into G those pixels in the source image S which correspond to the nodes of all trees in the resulting sequence ET of trees.

5.2 Apply leading to those pixels in G (i.e., color them by black) which are not processed in Step 5.1.

Note that in the above algorithm, an ending bit-code pattern is appended to the end of the bit-code sequence, which is embedded as well into the stego-image. It will be used as the signal to end the bit-code extraction operations during the data extraction process as discussed next.

4. Extraction of Data from Stego-Images

In this section, after a description of the ideas behind the proposed data extraction process in Sect. 4.1, an algorithm implementing the ideas is presented in Sect. 4.2. Some ex- perimental results are shown in Sect. 4.3.

4.1 Ideas of Proposed Method

A flowchart of the proposed process for data extraction from

Fig. 16 Proposed process for extracting data from a stego-image.

stego-stained glass images is shown in Fig. 16. The secret key is applied in the glass feature detection process, which, as done in the image creation process, is used for seed gen- eration using a random number generator. A seed sequence is derived, which is identical to the one derived in the image creation process. The seed sequence is then sprinkled on the stego-image instead of on the color region image, differently from what is done in the data hiding process. Subsequently, the processes of glass region tree construction and glass re- gion growing, as presented in Sect. 3, are conducted to yield a sequence of glass regions GR= {GR0, GR1, . . . , GRn}. The two sequences of glass regions derived in the image cre- ation process and in the region growing process here pre- sumably are identical. Also, the effective glass region trees ET0, ET1, . . . , ETkare picked out. By counting the number REMiof nodes in each single effective tree ETi, the embed- ded bit-code sequence can be extracted.

4.2 Data Extraction Algorithm

An algorithm to implement the above ideas of data extrac- tion is presented in the following.

Algorithm 4: Extracting hidden data from a stego- stained glass image.

Input: a stego-stained glass image G into which the se- quence B of bit-codes of a message M was embedded with each bit-code having bitN bits; and the secret key K used in the data embedding process.

Output: the sequence B of bit-codes of M.

Steps:

1. With the stego-image G and the secret key K as inputs, perform Algorithm 2 to generate a sequence of glass re- gions GR = {GR0, GR1, GR2, . . . , GRn} with each GRi

including four glass region trees.

2. Retrieve the four glass region trees from each GRi, i= 1, 2, . . . , n, and concatenate the resulting 4n trees into

(11)

Fig. 17 Detection result of a stained glass image.

a sequence, RT = {RT0, RT1, . . . , RT4n}.

3. Perform Step 3 of Algorithm 3 to acquire a sequence of effective trees, ET = {ET0, ET1, . . . , ETk}, from RT where k≤ 4n.

4. From each ETi, i = 1, 2, . . . , k, perform the following steps to construct a sequence B of bit-codes, initially empty.

4.1 Count the number of nodes in ETi and take it as the value of REMi.

4.2 Let the number of values spanned by a sub-range of the range RGiof all possible values of REMibe denoted by SSR which is pre-selected.

4.3 (Determine which sub-range the value REMifalls in) Compute the decimal value Ci= REMi/SSR

where · is the integer ceiling function; and de- cide that REMifalls in the Ci-th subrange of range RGi.

4.4 Transform Ciinto a bit-code Biof bitN bits.

4.5 If Biis not the ending bit-code pattern which is as- sumed to be known in advance, then put Biinto B in order; else, exit with B as the desired sequence of bit-codes of the message M.

4.3 Experimental Results

Figure 17 shows the result of glass regions found by Algo- rithm 4 with a stego-image as the input. The white points sprinkled on the image are the seeds generated by the secret key. The blue polygons are the found glass regions accord- ing to the seeds. As can be seen, they fit well the original color regions in the stego-image. Subsequently, the embed- ded data are extracted from the effective trees, into which message data have been embedded.

About the data embedding capacities of the pro- posed method, three images named ‘Lena’, ‘Pepper’, and

‘Madonna and Child’ with different sizes of 512 × 512, 600× 800, and 773 × 1140, respectively, were tested with their embedding capacities being counted while running Algorithm 3 with input messages composed of random

Table 1 Statistics of data embedding capacities of three tested images resulting from different numbers of sprinkled seeds.

Fig. 18 Graphs showing trends of data embedding capacities of three tested images resulting from different numbers of sprinkled seeds.

bit-codes. The results for a series of cases of sprinkling dif- ferent numbers of seeds are shown in Table 1 and Fig. 18.

It can be seen from the table and figure that the data embedding capacity is affected not only by the image size and content as is usually known but also by the number N of sprinkled seeds because each seeds grows to yield a glass region. Specifically, there exists an optimal number Nmaxof sprinkled seeds by which the resulting data embedding ca- pacity becomes the maximum. For example, for the image of ‘Lena’ with size 512× 512, the embedding capacity be- comes the maximum value of 345 when Nmax = 300; for

‘Pepper’ with size 600× 800, the maximum capacity of 623 occurs when Nmax= 600; and for ‘Madonna and Child’ with size 773×1140, the maximum capacity of 1300 occurs when Nmax= 900.

The reason why an optimal data embedding capacity

(12)

will occur when a certain number Nmax of seeds are sprin- kled on each image is twofold: (1) if the number N of sprin- kled seeds is too large, then the image will be divided into too many small glass regions so that regions that are large enough to be effective for secret bit embedding become very few, resulting in a small data embedding capacity; and (2) if the number N of sprinkled seeds is too small on the con- trary, then the image will be divided into too few glass re- gions, though large enough, so that again there will yield too few glass regions to generate a sufficient number of effective regions, resulting again in a small data embedding capacity.

5. Data Hiding Applications

Three applications of the proposed data hiding technique via stained glass images are described in this section, namely, covert communication, watermarking for copyright protec- tion, and image authentication.

5.1 Covert Communication via Stained Glass Images Covert communication here means embedding a message data into a given stained glass image and transmitting the resulting stego-image to a receiver in a secret way. The aim is to protect the message from being intercepted by hackers.

(A) Secret Message Embedding

The proposed process for embedding a secret message into a stained glass image for covert communication is presented as an algorithm below.

Algorithm 5: Embedding a secret message in a stained glass image for covert communication.

Input: a source image S, a secret message M, and a secret key K.

Output: a stego-stained glass image G with M embedded.

Steps:

1. Perform the steps in Stages 1 and 2 of Algorithm 2 with source image S and secret key K as the inputs to yield a sequence GR= {GR0, GR1, . . . , GRn} of glass regions.

2. Transform the input message M into a sequence B = {B0, B1, . . . , Bm} of bit-codes, each with bitN bits.

3. Use the secret key K and a random number generator to randomize B, resulting in a randomized bit-code se- quence B= {B0, B1, . . . , Bm}.

4. Perform the data embedding algorithm, Algorithm 3, with sequences GR and Bas the inputs to yield a stego- stained glass image G as the desired output.

It is noted that Stage 3 of Algorithm 2, which mainly performs the work of gap filling, is not carried out in Step 1 of the above algorithm, Algorithm 5. This is owing to the reason that it is not desired to use those glass regions yielded by gap filling for data hiding, because the gaps change in size after data embedding, leading possibly to undesirable changes of the yielded glass regions during data extraction which in turn causes erroneous extracted bit-code data.

Fig. 19 Experimental results of secret message hiding in stained glass image for covert communication. (a) A stained glass image without hidden data. (b) A stained glass image with a secret message embedded. (c) A detailed part of (a). (d) The detailed part of (b) corresponding to (c). (e) The secret message extracted from (b), which is correct with the meaning of the Chinese being “Damou, one thing I did not dare to mention to you till today is: I love you.” (f) The erroneous extraction result of (b) with a wrong key with the extracted data being random noise mixed with meaningless Chinese characters.

(B) Secret Message Extraction

The proposed message data extraction process is de- scribed as an algorithm in the following.

Algorithm 6: Extracting the secret message embedded in a stego-stained glass image.

Input: a stego-stained glass image G and the secret key K used in embedding a secret message M in G.

Output: the secret message M embedded in G.

Steps:

1. Perform Algorithm 4 with image G and key K as the in- puts to extract the sequence B of bit-codes of the mes- sage M as the output.

2. Transform the bit-code sequence B backward into the text format to get the desired secret message M.

(C) Experimental Results

Figure 19 shows some experimental results of secret message embedding and extraction via a stained glass im- age for covert communication using Algorithms 5 and 6.

Figures 19 (a) and 19 (b) are stained glass images without and with secret message data embedded, respectively. Fig- ures 19 (c) and 19 (d) are the details at the upper left cor- ners of Figs. 19 (a) and 19 (c), respectively. By comparing Figs. 19 (c) and 19 (d), we can find that the glass regions

(13)

of Fig. 19 (d) have been cracked slightly. Figure 19 (e) is a secret message extracted from Fig. 19 (b) with a correct secret key. The message is identical to the one embedded originally (the extracted data are in Chinese whose mean- ing is explained in the figure). Figure 19 (f) is the data ex- tracted from Fig. 19 (b) with a wrong key, which are just noise mixed with some meaningless characters. These re- sults prove that the key works well for the purpose of hidden data security protection.

5.2 Application to Watermarking for Copyright Protection The second application of the proposed data hiding method via stained glass images is watermarking for copyright pro- tection. It means that if a watermark, whose shape is usu- ally easy to differentiate (like a logo, a shop sign, etc.), is embedded in a stained glass image to yield a stego-image with no difference from the original one in appearance, then later when the stego-image is stolen for illicit purposes, the owner of the image may claim his/her copyright of the im- age by extracting the watermark to show to the public.

(A) Watermark Embedding

The proposed algorithm for embedding a watermark for copyright protection is similar to that for embedding a se- cret message for covert communication but with three dif- ferences as described in the following.

(i) The bit-code sequence B = {B0, B1, . . . , Bm} to be em- bedded into the source image is obtained from trans- forming a watermark W which may be an image, in- stead of from a secret message which is usually com- posed of characters.

(ii) The required number of glass regions used for water- mark embedding is equal to the number of bit-codes of B, say, m. Accordingly, the sequence GR of the glass regions is denoted as GR= {GR0, GR1, . . . , GRm}.

(iii) After acquiring the sequence of effective trees, ET = {ET0, ET1, . . . , ETk}, each bit-code Biis embedded into all the effective trees which come from GRi, i = 1, 2, . . . , m. Because each GRihas at most four effec- tive trees in the set ET, each bit-code Bi will thus be embedded at most four times into GRi. The repetitions of embedding each bit-code will result in better robust- ness of the embedded watermark W.

To implement the above requirements, at first Step 4 of the bit-code embedding algorithm, Algorithm 3, need be modi- fied as follows.

4. (Embedding each Biinto every effective tree ETjof re- gion GRi) For each pair of Biand GRi, i= 1, 2, . . . , m+

1, and for each effective tree ETj of GRi in ET, per- form Steps 4.1 through 4.3 of Algorithm 3 except that all variables involved with subscript i there are changed to be with subscript j.

Let the new version of Algorithm 3 revised as above be named Algorithm 3A. Now, the complete data embedding

algorithm proposed for watermarking can be conducted by performing an algorithm called Algorithm 7, which is simi- lar to Algorithm 5 except the following two operations:

(1) a watermark W is taken to be one of the input data, whose pixels’ values are transformed in Step 2 of the algorithm into a sequence of bit-codes, each with bitN bits; and

(2) Step 4 of the algorithm is implemented by Algorithm 3A described above, instead of by the original Algo- rithm 3.

(B) Watermark Extraction

The process for extracting an embedded watermark for copyright protection is similar to that for extracting a se- cret message for covert communication, i.e., similar to Al- gorithm 6. A difference is that a voting strategy is applied on the bit-codes extracted from all the effective trees coming from a glass region in order to extract a bit-code Biembed- ded in glass region GRi. To implement this difference, Step 4 of Algorithm 4 is modified to be as follows.

4. (Apply a voting strategy on all the effective trees of a glass region) For each glass region GRi, i= 1, 2, . . . , n, perform the following steps to construct a sequence B of bit-codes, initially empty.

4.1 For each effective tree ETjof GRi, perform Steps 4.1 through 4.4 of Algorithm 4 to extract a bit- code Biwith bitN bits and put it into a bit-code set STiof GRi, which is set empty initially.

4.2 (Voting) Check all the bit-codes in STi, find out the one which appears for the largest number of times, and denote it as Bi.

4.3 If Biis not an ending bit-code pattern assumed to be known in advance, then put Biinto B in order;

else, exit with B as the desired sequence of bit- codes of the message M.

Let the new version of Algorithm 4 revised as above be named Algorithm 4A. Now, a complete algorithm for the proposed watermark extraction process can be conducted by performing an algorithm called Algorithm 8, which is simi- lar to Algorithm 6 except the following two operations:

(1) a watermark instead of a secret message is extracted by the algorithm; and

(2) Algorithm 4A instead of Algorithm 4 is conducted to extract the hidden bit-codes.

(C) Experimental Results

Some experimental results yielded by Algorithms 7 and 8 are shown in Fig. 20, where Fig. 20 (c) is a watermark, and a lower-resolution version of it was used as the input to Algorithm 7, yielding Fig. 20 (a) as the stego-image. Fig- ure 20 (b) is a damaged version of Fig. 20 (a), imitating an attack result from a hacker. Figures 20 (d) and 20 (f) are the watermarks extracted from Figs. 20 (a) and 19 (b), respec- tively, using Algorithm 8. It can be seen that there are some salt-and pepper noise in Fig. 20 (f), but the watermark is rec- ognizable. This means that the proposed embedding and ex- traction algorithms are robust to a certain degree of image

數據

Fig. 1 Computer-generated oil-painting images. (a) The source painting.
Fig. 2 Art images generated by computers. (a) A painting in Sistine Chapel by Michelangelo
Fig. 6 Image preprocessing before region growing. (a) A source image, (b) a quantized image of (a)
Fig. 7 Structure and expansion of the glass region tree. (a) A tree of a glass region; (b)–(f) Examples for illustrating details of Steps 2 and 3 in Algorithm 1
+7

參考文獻

相關文件

/** Class invariant: A Person always has a date of birth, and if the Person has a date of death, then the date of death is equal to or later than the date of birth. To be

The remaining positions contain //the rest of the original array elements //the rest of the original array elements.

The min-max and the max-min k-split problem are defined similarly except that the objectives are to minimize the maximum subgraph, and to maximize the minimum subgraph respectively..

Experiment a little with the Hello program. It will say that it has no clue what you mean by ouch. The exact wording of the error message is dependent on the compiler, but it might

• For a given set of probabilities, our goal is to construct a binary search tree whose expected search is smallest.. We call such a

• If we want analysis with amortized costs to show that in the worst cast the average cost per operation is small, the total amortized cost of a sequence of operations must be

Since the FP-tree reduces the number of database scans and uses less memory to represent the necessary information, many frequent pattern mining algorithms are based on its

Since all nodes in a cluster need to send data to the cluster head, we use the idea of minimum spanning tree (MST for short) to shorten the total transmission distance to reduce