This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Information hiding is a technique of hiding secret using redundant cover data such as images, audios, movies, documents, etc. This technique has recently become important in a number of application areas. For example, digital video, audio, and images are increasingly embedded with imperceptible marks, which may contain hidden signatures or watermarks that help to prevent unauthorized copy. Recently, plenty of researches focus on information hiding in grayscale or color images. Images with a low number of colors, such as binary images, are often avoided as cover media. Since the pixel value in a binary image consists only 0 and 1, it is more challenging to hide information than that of grayscale images. In this paper, a novel data hiding scheme for binary images is investigated. First, a cover image is partitioned into non-overlapping blocks, each blocks consists of pixels. Then, the number of neighbor pixels with same value in each block is calculated and analyzed to find the best of blocks for hiding information. Data bits are embedded by modifying pixel values in the embeddable blocks. The hidden data can be extracted without using the original image. Compare to previous work, the experimental results show that the hiding capacity of the proposed scheme can be doubled without sacrificing the image quality.
Keyword: Information Hiding, Binary Image
Information hiding is a technique that inserts secret messages into a cover file, so that the existence of the messages is not apparent (Lee, 2001). Research in information hiding has tremendous increased during the past decade with commercial interests driving the field. Information hiding techniques that are used today include watermarking (Puate, 1996ã€Li, 2000) and steganography (Wu, 2004ã€Chang, 2004ã€Wang, 2004). The major concern of watermarking is to protect the ownership of a digital content, while steganography is to embed secret messages into digital content so that the secret messages is not detectable.
All digital media, such as digital images, videos and audio files, can be used to hide secret messages; however, digital images are often used for steganography. This is because nature images usually have high degree of redundancy, which is suitable to embed information without degrading the visual quality of the image. Moreover, images are widely used throughout the internet, which usually arouses little suspicion than other digital media. Plenty of researches have been focus on steganography for grayscale or color images. Since grayscale and color images require 8 bits and 24 bits representation respectively, this gives more room to hide information, either in the spatial or frequency domain. On the contrast, little research had been done for hiding data in binary (or two colors) images, which can be easily seen in scanned images, newspaper and art images. It is considered difficult to hide data in a binary image because each pixel requires only one bits representation.
In this paper, a new data hiding method for binary images was proposed. We will use the naming conventions as followed, the image that is used to hold the secret data is named the cover image, and the image combining the cover image and the secret data makes a stego-image. The cover image is partitioned into blocks. For each block, the characteristic value is computed, and blocks are then classified into embeddable and non-embeddable blocks. Only embeddable blocks can be used to embed messages.
This paper is organized as follows. Section 2 is the review of related research. Section 3 describes the proposed method. Experimental results are given in section 4 and concluding remarks are given in Section 5.
2. Literature review
Pan et al. (Pan, 2001) proposed a data hiding technique for binary images. They partition images into blocks, and each block was repartitioned into overlapping sub-blocks. Secret messages will be hidden in the center region of each block. Chen et al. (Chen, 2003) extended Pan's work and proposed a new data hiding method in binary image without downgrade the image quality. Following is the procedure of their method.
Step 1: An image was partitioned into non-overlapping blocks of size. Each block was repartitioned into 4 overlapped sub-blocks.
Step 2: Calculate the number of white pixels in each sub-block, the minimum number of white pixels in each sub-block is the characteristic value of the corresponding block. Messages will be embedded in a block with characteristic values from 3 to 6.
Step 3: Blocks are sorted by weighted value, and the best block for hiding can be determined. A smaller weighted value means the distribution of pixels is more uniform, which is more suitable for hiding data.
Step 4: The hiding location will be determined by T, the number of sub-blocks with the same least characteristic values. If hiding bit is 1, then T must be modified to 1 or 3. If hiding bit is 0, then T must be modified to 2 or 4.
The hidden data can be retrieved by repeating the data hiding process. After obtaining the characteristic value for each block, the number of sub-blocks with the same least characteristic values T could be determined; therefore, the secret bits can be retrieved.
Since the block size of Chen's method is restricted to, the payloads of a given image are limited. In this paper, we proposed another data hiding scheme, which can reduce the block size to to increase the payloads without downgrade the image quality.
3. The proposed method
A binary image is a digital image that has only two possible values for each pixel, that is, 0 and 1. Binary images are also called bi-level or two-color images. Binary images are often used in digital image processing as a mask, or as the result of certain operations, such as dithering. Some printing devices, such as laser printers, fax machines can only handle binary images.
Since a binary image is made up of pixels with value 0 and 1, it is much difficult to hide secret data either in spatial or frequency domain. In this section, we will propose a data hiding scheme for binary image. Figure 1 depicts the process of data hiding and retrieving. First, a cover image is partitioned into non-overlapping blocks, and the embeddable blocks can be obtained by examining the structure of these blocks. If pixels in a block are all black or white, then this block is considered non-embeddable, since any changes in this block may severely degrade the image quality. After obtaining all the embeddable blocks, the characteristic value, i.e., the maximum number of connected white pixels within a block, is calculated and the secret messages are then embedded according to the characteristic value. The secret message can be retrieved by the reverse manner.
Figure 1. Procedures for data hiding and retrieving
3.1 Data hiding procedures
The data hiding process comprises image partition, characteristic value calculation, and data hiding. First, a cover image I is partitioned into non-overlapping blocks. Each block is composed of pixels, as shown in Figure 2.
Figure 2. Image partition
For a binary cover image, each non-overlapping block is composed of several black and white sub-regions. For example, Figure 3(a) shows a block, which is composed of 3 white sub-regions , , , and 2 black sub-regions and , whereas Figure 3(b) is composed of 3 white sub-regions and 4 black sub-regions.
Figure 3. White sub-regions of a block
Suppose there are p white sub-regions, in block . Let represents the number of white pixels in white sub-region, and then the characteristic value of block is defined as
For example, in Figure 3(a), , , and; therefore, the characteristic value for block is 5.
After the characteristic value was calculated, we may embed secret data by examining the characteristic value. If the bit to be embedded is 1 and is even, then we may change a white pixel in sub-region to black so that is odd. On the other hand, if the bit to be embedded is 0 and is odd, then a white pixel in sub-region should be changed to black so that is even.
For example, the block shown in Figure 4 has a characteristic value 5. Suppose the secret bit we want to embed is 1. Since the characteristic value is odd; therefore, no pixel in this block has to be changed. However, if the bit we want to hide is 0, we may change a pixel in so that is even.
Figure 4. Change one pixel in a white sub-region to black to hide 1 bit.
There are two special cases for a block we have considered, as describe followed.
Case 1: There is only one white pixel in a block
If there is only one white pixel in a block, and the secret bit to be hidden is 0, then we have to change one black pixel adjacent to the white pixel in this block to white to ensure that is even.
Case 2: Repeated characteristic values
If there are two or more characteristic values satisfy, i.e., there are two or more white sub-regions with the same number of white pixels, than we have to change one pixel in the border of one of these sub-region to make the block become embeddable. For example, Figure 5(a) depicts a block with 2 repeated characteristic values ().
Figure 5. Change the block to become embeddable.
If this happened, then we may add one white pixel to a white sub-region in order to change the type of block to embeddable (), as illustrated in Figure 5(b). After that, we may perform the secret bits embedding procedure, as describe in this section.
Figure 6 depicts the data hiding procedures. Note that if a block has only one white pixel, or has repeated characteristic values, then the white sub-region that carries the characteristic values must be changed so that the block become embeddable.
Figure 6. Flowchart for data hiding
3.2 data retrieval
To retrieve the hidden data, we can simply calculate the characteristic value, and then extract the hidden bits. The procedure is described as followed.
Step 1. Partition the stego-image into blocks, each block is composed of pixels.
Step 2. In each block , calculate the number of pixels in each white sub-region, then find the characteristic value for block .
Step 3. If the characteristic value is odd, the hidden bit is 1; otherwise, the hidden bit is 0.
4. Experimental results.
To evaluate the performance of the proposed algorithm, four binary images (Baboon, Boat, Lena and Pepper) have been used as the cover image, as shown in Figure 7.
Figure 7. Original test images
Table 1 shows the payloads of each image with different block size. In our scheme, the smallest block size is limited to, larger block size could also be used to hide data. In general, the smaller the block size, the larger the payloads. If the block size is, the payloads of our scheme are at least twice than that of Chen's method (The block size of Chen's method is limited to), as shown in Table 1.
Table 1. Hiding capacity (bits)
Figure 8 shows the stego-image with a block size . Since most of the secret bits were hidden along the edges of the cover image, the stego-image and the cover image are visually indistinguishable.
Figure 8. Stego-image with block size 4-4
If a block sizewas used to hide messages, the payload of the cover image is larger than that of other block size. Besides, for a block size , since the altered pixels will closer to the edges of images, the quality of the stego-image does not degrade due to larger payload, as shown in Figure 9.
Figure 9. Stego-image with block size 2-2
Binary images are images that have been quantized to two values, usually denoted 0 and 1. Binary images are used in many applications since they are the simplest to process, but hiding data in a binary image can be a difficult task. Since the pixel value in a binary image consists only 0 and 1, it is more challenging to hide data than that of grayscale images. In this paper, a novel data hiding scheme for binary images has been proposed. Secret bits are embedded according to the characteristic value of blocks. The hidden data can be extracted without using the original image. Compare with previous work, the experimental results show that the payloads of the proposed scheme can be doubled, without sacrificing the image quality. Future work could involve encrypting the secret message, or scrambling the secret message with a private key before hiding.