- Research Article
- Open Access
A New Inverse Halftoning Method Using Reversible Data Hiding for Halftone Images
© Jia-Hong Lee et al. 2010
- Received: 26 December 2009
- Accepted: 5 October 2010
- Published: 12 November 2010
A new inverse halftoning algorithm based on reversible data hiding techniques for halftone images is proposed in this paper. The proposed scheme has the advantages of two commonly used methods, the lookup table (LUT) and Gaussian filtering methods. We embed a part of important LUT templates into a halftone image and restore the lossless image after these templates have been extracted. Then a hybrid method is performed to reconstruct a grayscale image from the halftone image. In the image reconstruction process, the halftone image is scanned pixel by pixel. If the scanned pattern surrounding a pixel appeared in the LUT templates, a gray value is directly predicted using the LUT value; otherwise, it is predicted using Gaussian filtering. Experimental results show that the reconstructed grayscale images using the proposed scheme own better quality than both the LUT and Gaussian filtering methods.
- Cover Image
- Grayscale Image
- Image Block
- Secret Data
- Stego Image
Inverse halftoning is a process which transforms halftone images into grayscale images. Halftone images are binary images that provide a rendition of grayscale images and consists of "0" and "1". It has been widely used in the publishing applications, such as newspapers, e-documents, and magazines. In halftoning process, it needs to use a kernel to carry out the conversion, and the common kernel is like Floyd-Steinberg kernel and is difficult to recover a continuous-tone image through halftone manipulation, conversion, compression, and so forth. In the past few years, many efficient inverse halftoning algorithms have been proposed, but there is no way to construct a perfect gray image from the given halftone image. There exist several inverse halftoning methods, including kernel estimation , wavelet , filtering [3, 4], and set theoretic approaches . Most of these methods can obtain good reconstruction image quality but require relatively high computational complexity.
The halftoning and inverse halftoning processes can be regarded as the encoding and decoding processes of vector quantization. Therefore, the codebook design methods can be applied to build the inverse halftoning lookup tables [6, 7]. The content of a table entry is the centroid of the input samples that are mapped to this entry. The results are optimal in the sense of minimizing the MSE for a given halftone method. Although the table lookup method has the advantages of good reconstructed quality and fast speed, it faces the empty cell problem in which no or very few training samples are mapped to a specific halftone pattern.
In this paper, a reversible data hiding scheme for halftone images is proposed to embed specified information to improve the LUT-based inverse halftoning method. We embed a part of important LUT templates into a halftone image and generate a stego image in the data embedding process. Then, we can restore the halftone image without any distortion from the stego image after these templates have been extracted. Finally, we can obtain higher quality reconstructed images than the traditional LUT method by performing the proposed hybrid method with the extracted templates and the halftone image. The rest of the paper is organized as follows. Section 2 introduces related works about inverse halftoning methods and reversible data hiding methods for binary images. Section 3 presents the proposed reversible data hiding method for halftone images and the proposed hybrid method for inverse halftoning. Section 4 shows the experimental results and discussions, and the final section summarizes this paper.
In this section, we introduce the methods which are related to inverse halftoning techniques including LUT-based and the Gaussian filtering methods. In addition, recently used reversible data hiding techniques for binary images are also introduced.
2.1. LUT-Based Method
Procedure LUT Buildup
Let arrays LUT and be zero as the initial values. LUT is used to record the mapped gray value corresponding to a specific binary template with index which appears in the input halftone image, and is used to store the occurrence frequency of this specific binary template in the halftone image. Select training grayscale images, and generate their corresponding halftone images, respectively.
Repeat Step 2, until all images are selected.
Figure 2(a) shows an example to build LUT by performing Step 2 of LUT buildup algorithm.
Perform the above-mentioned LUT buildup algorithm to build LUT.
Scan a halftone image in raster order with template , and compute the template index using (1). The estimated gray value on pixel X can be obtained and denoted as .
Output the estimated grayscale image.
Figure 2(b) shows an example to build LUT by performing of LIH algorithm.
Note that, some binary patterns in the input halftone image may not exist in the training images. In this situation, we will apply filters to estimate the mean gray pixel.
Though the LUT-based inverse halftoning method is easily implemented, there exists a disadvantage of this method, the constructed LUT information must be sent to the receiver.
2.2. Gaussian Filtering Method
2.3. Reversible Data Hiding for Binary Images
Reversible data hiding can embed secret message in a reversible way. Relatively large amounts of secret data are embedded into a cover image so that the decoder can extract the hidden secret data and restore the original cover image without any distortion. Recently, a boundary-based PWLC method has been presented . This method defines the same continuous 6 edge pixels as an embeddable block through searching for binary image edges. And then one can embed data in the pair of the third and fourth edge pixels. A reversible data hiding method for error-diffused halftone images is proposed . This method employs statistics feature of pixel block patterns to embed data and utilizes the HVS characteristics to reduce the introduced visual distortion. The method is suitable for the applications, where the content accuracy of the original halftone image must be guaranteed, and it is easily extended to the field of halftone image authentication. However, these two methods have a drawback that the capacity of data hiding is still limited.
3.1. Data Hiding with Pattern Substitution for Halftone Images
The proposed method of reversible halftone data hiding technique uses pattern substitution method to embed and extract data into halftone images. The original image is partitioned into a set of nonoverlapping blocks. There are totally 29 different patterns. Therefore, each pattern is uniquely associated with an integer in the range of 0 to 511. In most cases, many patterns never appear in an image.
In this study, all patterns are classified into two groups, used and unused. For each used pattern , an unused pattern , its content is the most closest to pattern , will be selected to form a pair for data embedding. In the data embedding process, the original halftone image is partitioned into a group of nonoverlapping patterns. Then, any pattern on the halftone image with the same content of will be selected to embed 1-bit data. If a data bit "0" is embedded on , then the content of remains as . If a data bit "1" is embedded on , then the content of is updated as the content of pattern . This scheme works because patterns , look similar. In data extraction process, the embedded message is obtained depending on the patterns , when the test image is scanned. For example, assume that the highest frequent pattern in the image is and its corresponding unused pattern is . We can embed three secret data bits (e.g., 011) into the following image block with the proposed pattern substitution method. The image is firstly divided into four nonoverlapped patterns, and these patterns are scanned horizontally from top to buttom. If the content of the pattern PH is encountered, then check the bit value which is currently embedded. If the bit value is "0," then keep the content as PH. If the value is "1," then we replace PH with the PL pattern. This example of data embedding is shown in Figure 3(b).
Partition the original image into nonoverlapping blocks.
Compute the occurrence frequencies for all appeared patterns. Sort these used patterns decreasingly, and denote them as according to their occurrence frequencies. For instance, is the pattern with the highest occurrence frequency.
- (3)Find out all unused patterns. Assume that there are totally TC unused patterns; TC pairs of patterns ( , ) are selected to perform the data embedding operation, where the distance of pattern pair ( , ) owns the minimal distance. Based on the raster scan order, pattern PH and PL can be denoted as 9 elements PH0, PH1, PH2,…, PH8 and PL0, PL1, PL2,…, PL8, respectively. The calculation of pattern similarity for pattern PH and PL can be defined using the following distance equation:
where is the location in the block.
Search all blocks in the original image. As long as we come across a pattern in the , if a bit "0" is embedded, the block remains as ; otherwise, the block is updated as the pattern .
The maximum embedding capacity of the proposed data embedding method can be denoted as , where represents the occurrence frequency of pattern in the image and is the number of selected pairs.
3.2. The Determination of Important LUT Templates
implementation, and templates are considered for the LUT method. We introduce the operating procedure of using the proposed method with a template as bellows, and the case with a template is similar.
Procedure LUT Temple Selection with a Template of Size
Perform the LUT buildup procedure, and proceed to train the input original grayscale and halftone images. Apply the LIH procedure to an input halftone image , and generate a corresponding predicted image .
Perform the inverse halftoning using Gaussian filtering for image , and generate a predicted image .
If the value is greater than zero, it means that the LUT method can obtain a better predicted value than Gaussian method on the pixel with location .
can be regarded as the quality improvement of the predicted image by replacing Gaussian filtering with the LUT method.
Sort decreasingly, and generate the corresponding templates index , where . Since the embedding capacity is limited, we can only embed part of the top LUT templates into the halftone image. The total quality improvement is denoted as , where represents the number of embedded templates.
In (9), as mentioned above, parameter TC represents the number of pairs used in data embedding process. The maximum value of TC is 256 when templates are applied, and it requires 8 bits to the storage. We also need bits to store the content of all matching pairs of templates and one bit to store the template type to discriminate the usage of and templates. If represents the number of LUT templates which are embedded into the cover image, 10 bits are used to store value in our experiments.
Finally, we can compare the two values of and ; if is larger, it means that the quality improvement using templates is better than the case of using templates; otherwise, templates are used in the data embedding process.
3.3. Overhead Information and Data Embedding
The overhead information includes two kinds of data; SH is the pattern pairs information (Figure 5) for data embedding, and LH is the important LUT template information (Figure 9) for improving the quality of recovery images. Since different images have different contents of SH and LH. We should embed the overhead information into the halftone image for image recovery. In the data embedding process, SH and LH are converted into a binary bit stream. Then SH is embedded into image and LH is embedded after the embedded SH. The embedding method is implemented by pattern matching approach according to the order of the image scanning, from top to bottom horizontally. If one pattern is encountered and the embedded bit value is currently 0, then the pattern is kept; otherwise, is replaced by . The output stego image in this stage is denoted as .
3.4. Data Extract and Recovering Grayscale Image
Finally, we can reconstruct the grayscale images for the original halftone image using the proposed hybrid method. In the image recovery process, we first predict the grayscale image from the restored halftone image by Gaussian filtering method. Then we rescan the restored halftone image again to find the pattern with the same contents of the embedded LUT template . If this case is met, we will update the corresponding central pixel value in the predicted grayscale image with the value . Finally, a better quality of predicted grayscale image can be obtained.
The embedded capacity of LUT and maximum embedding capacity.
Images (embedded capacity)
Maximum capacity (bit)
A new inverse halftoning algorithm based on reversible data hiding techniques for halftone images is proposed in this paper. We embed a part of important LUT templates into a halftone image and restore the lossless image after these templates have been extracted. Then a hybrid method is performed to reconstruct a grayscale image from the halftone image. Experimental results show that the proposed scheme outperformed Gaussian filtering, LUT, and ELUT methods. The proposed method can be also modified by selecting different filtering methods for practical applications.
This work was supported by the National Science Council, Taiwan, under Grants 99-2220-E-327-001 and 99-2221-E-328-001.
- Wong PW: Inverse halftoning and kernel estimation for error diffusion. IEEE Transactions on Image Processing 1995, 4(4):486-498. 10.1109/83.370677View ArticleGoogle Scholar
- Xiong Z, Orchard MT, Ramchandran K: Inverse halftoning using wavelets. Proceedings of the IEEE International Conference on Image Processing (ICIP '96), September 1996 1: 569-572.View ArticleGoogle Scholar
- Fan Z: Retrieval of images from digital halftones. Proceedings of the IEEE International Symposium on Circuits Systems, 1992 313-316.Google Scholar
- Kite TD, Damera-Venkata N, Evans BL, Bovik AC: A fast, high-quality inverse halftoning algorithm for error diffused halftones. IEEE Transactions on Image Processing 2000, 9(9):1583-1592. 10.1109/83.862639View ArticleGoogle Scholar
- Chang P-C, Yu C-S, Lee T-H: Hybrid LMS-MMSE inverse halftoning technique. IEEE Transactions on Image Processing 2001, 10(1):95-103. 10.1109/83.892446View ArticleMATHGoogle Scholar
- Meşe M, Vaidyanathan PP: Look-up table (LUT) method for inverse halftoning. IEEE Transactions on Image Processing 2001, 10(10):1566-1578. 10.1109/83.951541View ArticleGoogle Scholar
- Chung K-L, Wu S-T: Inverse halftoning algorithm using edge-based lookup table approach. IEEE Transactions on Image Processing 2005, 14(10):1583-1589.View ArticleGoogle Scholar
- Tsai C-L, Chiang H-F, Fan K-C, Chung C-D: Reversible data hiding and lossless reconstruction of binary images using pair-wise logical computation mechanism. Pattern Recognition 2005, 38(11):1993-2006. 10.1016/j.patcog.2005.03.001View ArticleGoogle Scholar
- Pan J-S, Luo H, Lu Z-M: Look-up table based reversible data hiding for error diffused halftone images. Informatica 2007, 18(4):615-628.MATHGoogle Scholar
- Hein S, Zakhor A: Halftone to continuous-tone conversion of error-diffusion coded images. IEEE Transactions on Image Processing 1995, 4(2):208-216. 10.1109/83.342186View ArticleGoogle Scholar
- Stevenson RL: Inverse halftoning via MAP estimation. IEEE Transactions on Image Processing 1997, 6(4):574-583. 10.1109/83.563322MathSciNetView ArticleGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.