• 沒有找到結果。

Chapter 1 Introduction

1.4 Dissertation Organization

In the rest of this dissertation, the proposed reversible JPEG data hiding method with high hiding capacity is presented in Chapter 2. The proposed multi-threshold progressive image sharing method with compact shadows is reported in Chapter 3.

The proposed image authentication method with cross-recovery ability is described in Chapter 4. Last, conclusions and future work are drawn in Chapter 5, along with recommendation for future research.

Chapter 2

Reversible JPEG Data Hiding with High Hiding Capacity

This chapter proposes a reversible JPEG data hiding method for hiding a large-size secret in a JPEG code. The quantization table of the JPEG code is modified, and the proposed mapping function is utilized to map quantized coefficients to larger quantized coefficients with hidden secret data. In the decoding process, both the secret data and the original JPEG code can be reconstructed without any error. Experimental results demonstrate that the proposed method provides a high hiding capacity and acceptable stego-image quality, to an extent comparable with other JPEG data hiding methods. The rest of this chapter is organized as follows. Section 2.1 reviews the JPEG technique. Section 2.2 presents the proposed method. Section 2.3 reports the experimental results and makes comparisons with other methods. Section 2.4 discusses parameters setting and security. Last, Section 2.5 summarizes this chapter.

2.1 Review of JPEG

JPEG is an international image compression standard that is used commonly on the Internet. A given image is divided into several blocks of 8×8 pixels each. The 8×8 pixels of each block are transformed using DCT, and the 8×8 transformed coefficients are quantized using a quantization table. The 8×8 quantized coefficients are then scanned in zigzag order for entropy coding. After all of the blocks have been sequentially processed, the JPEG code is generated. The quality factor QF between 0 and 100 controls the quality of the JPEG decompressed image. A higher QF

corresponds to higher quality of the JPEG decompressed image. This phenomenon is shown in Figure 2.1, and the peak signal-to-noise ratio (PSNR), defined by

2 10

10 log 255

PSNR= × MSE, (2.1) is used to measure the similarity between the original image and its JPEG decompressed image where MSE represents the mean square error between the pixel values of the original image and those of the JPEG decompressed image.

Figure 2.1. Relation between QF values and the corresponding quality of a 512×512 JPEG decompressed grayscale image Lena.

2.2 Proposed Method

2.2.1 Mapping Quantized Coefficients to Stego Quantized Coefficients

In the quantization process of JPEG, each DCT coefficient D(i, j) is divided by its quantizer Q(i, j) grabbed from a quantization table, and then rounded to the nearest integer F(i, j), as

( , ) [ ( , ) / ( , )]

F i j =Round D i j Q i j , (2.2) where 0≤i, j<8. To generate the stego quantized coefficient F'(i, j) by embedding secret data in the quantized coefficient F(i, j), a mapping that maps F(i, j) to F'(i, j) is introduced in the following. As shown in Figure 2.2, consider a line segment mn in the real axis containing the integer point F(i, j) and its two half-unit-away non-integer

points m=F(i, j)−0.5 and n=F(i, j)+0.5. The quantizer Q(i, j) is modified to a smaller quantizer Q'(i, j) that satisfies , enabling each real number z to be mapped to an integer, as

( , ) / ( , ) 2 Q i j Q i j′ ≥

⎢⎣ ⎥⎦

( ) ( , ) / ( , )

h z =⎡⎢z Q i j× Q i j′ ⎤⎥. (2.3) According to Eq. (2.3), the non-integer points m=F(i, j)−0.5 and n=F(i, j)+0.5 are mapped to the integer points M(i, j) and N(i, j), respectively, using

( , ) [ ( , ) 0.5] ( , ) / ( , )

M i j =⎡⎢ F i j − ×Q i j Q i j′ ⎤⎥, (2.4) ( , ) [ ( , ) 0.5] ( , ) / ( , )

N i j =⎡⎢ F i j + ×Q i j Q i j′ ⎤⎥. (2.5) After the values of M(i, j) and N(i, j) have been determined, based on the to-be-hidden secret digit, an integer point in the half-open interval [M(i, j), N(i, j)) is indentified as the stego quantized coefficient F'(i, j). For example, let F'(i, j) be M(i, j) if the to-be-hidden secret is 0; let F'(i, j) be M(i, j)+1 if the to-be-hidden secret is 1; let F'(i, j) be M(i, j)+2 if the to-be-hidden secret is 2; and so on. Notably, if the final value of the stego quantization coefficient F'(i, j) is used to indicate one of the 2n possible readings of an n-bit secret, the half-open interval [M(i, j), N(i, j)) in Figure 2.2 must contain at least 2n integer points.

Figure 2.2. The quantizer Q(i, j) is modified to a smaller quantizer Q'(i, j) that satisfies , enabling m=F(i, j)–0.5 and n=F(i, j)+0.5 to be mapped to M(i, j) and N(i, j), respectively.

( , ) / ( , ) 2 Q i j Q i j′ ≥

⎢⎣ ⎥⎦

To reconstruct the original quantized coefficient F(i, j) from the stego quantized coefficient F'(i, j), all integers in the range [M(i, j), N(i, j)) must be traced back to the unique integer F(i, j). This can be done by applying the Q'(i, j)-to-Q(i, j) inverse mapping to reverse F'(i, j) back to a real number F'(i, j)×Q'(i, j)/Q(i, j), which is near F(i, j). In fact, according to the design shown in Figure 2.2, this real number will stay in the interval [F(i, j)−0.5, F(i, j)+0.5), and it can be rounded to the nearest integer as the original F(i, j). In summary, F(i, j) is reconstructed using

( , ) [ ( , ) ( , ) / ( , )]

F i j =Round F i j′ ×Q i jQ i j . (2.6)

2.2.2 Secret Embedding

2.2.2.1 Construction of Hiding Capacity Table and Modified Quantization Table For 0≤i, j<8, let HC(i, j), Q(i, j), and Q'(i, j) denote the elements in the i’th row and j’th column of the 8×8 hiding capacity table HC, the original JPEG quantization table Q, and the modified quantization table Q', respectively. The three tables are used for all blocks of the cover image. The integer HC(i, j), which is the number of secret bits to be hidden in a quantized coefficient F(i, j), is randomly chosen from the range

2 2

min{Nbit, log⎢⎣ Q i j( , ) }⎥⎦ ≤HC i j( , )≤⎢⎣log Q i j( , )⎥⎦

′ ⎤⎥

. (2.7) The reason why HC(i, j) depends on the original quantization table Q and integer parameter Nbit is explained in the following. Based on Range Property below,

. Therefore, in the half-open

embed secret data of HC(i, j) bits in the quantized coefficient F(i, j), there are 2HC(i, j) possible combinations of the secret bits. The embedding of each combination corresponds to one of the integer points located in the half-open interval [M(i, j), N(i, j)). Therefore, the inequality

( , ) The integer parameter Nbit also appears in Eq. (2.7) because if directly let HC(i, j) be ⎢⎣log2Q i j( , ) , according to Eq. (2.10), the corresponding Q'(i, j) in the modified

quantization table Q' will be one (⎢⎣Q i j( , ) / 2HC i j( , )⎥⎦ =Q i j( , ) / 2log2Q i j( , )=1), and therefore the first NQC elements in the modified quantization table Q' are all one, making attackers feel suspicious. Last, to determine the 8×8 modified quantization table Q', Eq. (2.8) implies that 2HC(i, j) ≤ ⎣Q(i, j)/Q'(i, j)⎦ ≤ Q(i, j)/Q'(i, j). Because both Q(i, j) and Q'(i, j) are positive integers, Q i j′( , )≤Q i j( , ) / 2HC i j( , ). Therefore, the element Q'(i, j) of the modified quantization table Q' is simply defined as

( , )

( , ) ( , ) / 2HC i j

Q i j′ = ⎣⎢Q i j ⎥⎦ , (2.10) where 0≤i, j<8. Eq. (2.10) also implies that

HC i j( , )= ⎢⎣log [ ( , ) /2 Q i j Q i j′( , )]⎥⎦. (2.11)

Range Property: ⎢⎣Q i j( , ) /Q i j′( , )⎥⎦≤N i j( , )−M i j( , )≤⎡⎢Q i j( , ) /Q i j′( , )⎤⎥. Proof:

(i) Proof of the upper bound:

( , ) ( , ) N i jM i j

=⎡⎢[ ( , ) 0.5]F i j + ×Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢− [ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )⎤⎥

=⎡⎢[ ( , ) 0.5]F i j + ×Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢− [ ( , ) 0.5 1]F i j + − ×Q i j( , ) /Q i j′( , )⎤⎥

=⎡⎢[ ( , ) 0.5]F i j + ×Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢− [ ( , ) 0.5]F i j + ×Q i j( , ) /Q i j′( , )−Q i j( , ) /Q i j′( , )⎤⎥

≤⎡⎢[ ( , ) 0.5]F i j + ×Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢− [ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢+ Q i j( , ) /Q i j′( , )⎤⎥

=⎡⎢Q i j( , ) /Q i j′( , )⎤⎥.

(ii) Proof of the lower bound:

( , ) ( , ) N i jM i j

=⎡⎢[ ( , ) 0.5]F i j + ×Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢− [ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )⎤⎥

=⎡⎢[ ( , ) 0.5 1]F i j − + ×Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢− [ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )⎤⎥

=⎡⎢[ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )+Q i j( , ) /Q i j′( , )⎤ ⎡⎥ ⎢− [ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )⎤⎥

≥⎡⎢[ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )⎤ ⎢⎥ ⎣+ Q i j( , ) /Q i j′( , )⎥ ⎡⎦ ⎢− [ ( , ) 0.5]F i j − ×Q i j( , ) /Q i j′( , )⎤⎥

=⎢⎣Q i j( , ) /Q i j′( , )⎥⎦.

2.2.2.2 Hiding Secret Data in Quantized Blocks

After the hiding capacity table HC and the modified quantization table Q' have been generated, secret data are embedded in quantized blocks. The secret embedding algorithm is summarized here:

The secret embedding algorithm

Input: A JPEG code; secret data; two integer parameters Nbit∈{1,2,3} and NQC∈{1,2,…,32}.

Output: The JPEG stego code.

Step 1: Decode the JPEG code using the JPEG entropy decoding to obtain an 8×8 quantization table Q and all quantized blocks {F} formed of 64 quantized coefficients each.

Step 2: Use Eqs. (2.7) and (2.10) to compute the first NQC elements of the 8×8 hiding capacity table HC and the 8×8 modified quantization table Q', respectively.

The other (64−NQC) elements of the table HC are set to zeros. The other (64−NQC) elements of the table Q' are copied from the corresponding (64−NQC) elements of the quantization table Q.

Step 3: Repeat Steps 3a-3b in a block-by-block manner until all quantized blocks {F}

have been processed.

Step 3a: For the first NQC quantized coefficients {F(i, j)} of the 8×8 quantized block F currently being processed, use Eq. (2.4) to determine M(i, j) from F(i, j). Then, sequentially grab the next HC(i, j) not-yet-embedded bits from the secret data, and let the single decimal value Z(i, j) be the decimal equivalent of the just-grabbed binary number with HC(i, j) bits. Compute the stego quantized coefficient F'(i, j) using

( , ) ( , ) ( , )

F i j′ =M i j +Z i j . (2.12) Replace F(i, j) by F'(i, j) because F(i, j) is no longer needed.

Step 3b: Apply the JPEG entropy coding to the embedded quantized block F'. Step 4: Put the modified quantization table Q' in the JPEG file header. The JPEG

stego code is generated. (The JPEG stego code, the original quantization table Q, and the integer parameter NQC are transmitted to the receiver.)

2.2.3 Extraction of Hidden Data and Reconstruction of Original JPEG Code When people receive the JPEG stego code, if they also know the original JPEG quantization table Q and the integer parameter NQC, they can extract the secret data, followed by reconstructing the original JPEG code. The secret data and JPEG code reconstruction algorithm is summarized here:

The secret data and JPEG code reconstruction algorithm

Input: The JPEG stego code; the original 8×8 JPEG quantization table Q; the integer parameter NQC∈{1,2,…,32}.

Output: The secret data and the original JPEG code.

Step 1: Apply the JPEG entropy decoding to the JPEG stego code and obtain the 8×8 modified quantization table Q' and all stego quantized blocks {F'}.

Step 2: Reconstruct the first NQC elements of the 8×8 hiding capacity table HC using Eq. (2.11).

Step 3: Repeat Steps 3a-3b in a block-by-block manner until all stego quantized blocks {F'} have been processed.

Step 3a: For the first NQC stego quantized coefficients {F'(i, j)} of the 8×8 stego quantized blocks F' currently being processed, reverse each F'(i, j) back to F(i, j) using Eq. (2.6). Map F(i, j)−0.5 to M(i, j) using Eq. (2.4). Extract the decimal equivalent Z(i, j) of the secret bits using

( , ) ( , ) ( , )

Z i j =F i j′ −M i j . (2.13) Overwrite F'(i, j) by F(i, j). Therefore, not only the secret data Z(i, j) hidden in the stego quantized coefficient F'(i, j) but also the original JPEG quantized coefficient F(i, j) at the current block position are reconstructed.

Step 3b: Encode the current (secret-already-extracted) quantized block F using the JPEG entropy coding for recycling use.

Step 4: Put the original quantization table Q in the JPEG file header. The original JPEG code is reconstructed without any error.

2.2.4 Example of Secret Embedding and Extraction Processes

Assume the quantized coefficient F(0, 0) is 12 and the original quantizer Q(0, 0) used by JPEG is 17. Let the modified quantizer Q'(0, 0) be four. According to Eqs.

(2.4) and (2.5), the values M(0, 0) and N(0, 0) are computed using

Therefore, in the half-open interval [M(0, 0)=49, N(0, 0)=54), the value F'(0, 0)=49 is the stego quantized coefficient after 0 is embedded. [F'(0, 0)=50 after 1 is embedded;

F'(0, 0)=51 after 2 is embedded; F'(0, 0)=52 after 3 is embedded.] Later, assume that the stego quantized coefficient F'(0, 0)=50 is obtained. To reconstruct the quantized coefficient F(0, 0) from F'(0, 0)=50, use Eq. (2.6) to evaluate

Last, from Eq. (2.13), the decimal equivalent of the hidden data is extracted as (0, 0) (0, 0) (0, 0) 50 49 1

Z =F′ −M = − = .

2.3 Experiments and Comparisons

2.3.1 Experimental Results

Six 512×512 grayscale images, Lena, Jet, Boat, Peppers, Baboon, and Zelda, are tested in the experiments. They are all compressed using the JPEG source code taken from the fourth public release of the Independent JPEG Group's free JPEG software [43]. The quality of an image is measured by the PSNR. Figures 2.3(a) and 2.3(d) show the images Lena and Jet decompressed from the JPEG-Q85 codes using JPEG with QF=85 without any hidden secret. Figures 2.3(b) and 2.3(e) display the stego-images decompressed from our JPEG stego codes after two secret data of size 253,952 bits each are embedded in the JPEG-Q85 codes of Lena and Jet, respectively.

Figures 2.3(c) and 2.3(f) depict the decrypted-decompressed images derived from our JPEG stego codes, the decompressed images of which are in Figures 2.3(b) and 2.3(e).

2.3.2 Comparisons

Table 2.1 (for image Lena) and Table 2.2 (for image Jet) compare some non-reversible JPEG hiding methods [12,15,17] with the proposed reversible JPEG hiding method in terms of hiding capacity (size of the hidden secret), hiding ratio (size of the hidden secret over size of the JPEG stego code), and the quality of the stego-image when the cover image is compressed using JPEG with QF=85. For simplicity, the value of each element HC(i, j) in the 8×8 hiding capacity table HC is set to the left-hand-side value of Eq. (2.7).

As presented in Table 2.1, the proposed method provides a higher hiding capacity, a higher hiding ratio, and better stego-image quality than those in the related works [12,15,17]. For example, the proposed method has the PSNR value 39.12 dB when the hiding capacity is 253,952 bits with the hiding ratio being 35.23% while the PSNR value in Chang et al.’s method [15] is 29.64 dB (< 39.12 dB) when the hiding capacity is 212,992 bits (< 253,952 bits) with the hiding ratio being 30.0% (< 35.23%).

Similarly, the proposed method has the PSNR value 41.11 dB when the hiding capacity is 122,880 bits with the hiding ratio being 23.16% while the PSNR value in JSteg [12] is 40.70 dB (< 41.11 dB) when the hiding capacity is 31,933 bits (<

122,880 bits) with the hiding ratio being 8.85% (< 23.16%), and the PSNR value in Tseng and Chang’s method [17] is 38.10 dB (< 41.11 dB) when the hiding capacity is 54,652 bits (< 122,880 bits) with the hiding ratio being 14.0% (< 23.16%). Most of all, after the secret data have been extracted, the proposed method can reconstruct the original JPEG code, but the aforementioned methods [12,15,17] cannot.

The comparisons between Chang et al.’s reversible method [18] and ours are given in the following. Notably, both Fridrich et al.’s [14] and Chang et al.’s [18]

methods are reversible. However, because the original purpose in Fridrich et al.’s method [14] is to authenticate JPEG codes (the hidden secret is a much smaller authentication watermark of size about 4,000 bits rather than our larger-size secret, which can be as large as 253,952 bits), their method is not in the same application group as ours or the associated works [12,15,17,18]. Therefore, the comparisons between Fridrich et al.’s method [14] and ours are omitted.

Figures 2.4(a)-(c) compare Chang et al.’s method [18] with ours in terms of hiding capacity, hiding ratio, and stego-image quality when the image is Lena. Figure 2.4(d) compare the average length of the JPEG stego codes between Chang et al.’s method [18] and ours when the six images are Lena, Jet, Boat, Peppers, Baboon, and Zelda. The two parameters used in the proposed method are Nbit=2 and NQC=16. As displayed in Figures 2.4(a)-(c), the hiding capacity, hiding ratio, and stego-image quality in the proposed method are all better than those in Chang et al.’s method [18].

On the other hand, as shown in Figure 2.4(d), the length of our JPEG stego code would be less attractive than that of theirs because a higher hiding capacity causes a longer output JPEG stego code. But this trade off is still worthy and more efficient because the hiding capacity is high. If the readers want to reduce the length of the JPEG stego code, they may reduce the not-small gains in hiding capacity and hiding ratio by using lower Nbit and NQC values. One such example is shown in Figure 2.5 where the two parameters are Nbit=1 and NQC=10. From Figure 2.5, the hiding capacity, hiding ratio, and stego-image quality in the proposed method are still a little bit more competitive than those in Chang et al.’s method [18] while our code-length curve gets a tie with theirs.

2.4 Discussions

2.4.1 Parameters Setting

The rules in the following can be used to determine the two parameters Nbit and NQC. As a key rule, using Nbit=1 is for the secret of moderate size, and using Nbit=2 or 3 is for the secret of large size. After the Nbit value has been determined, adjust the NQC value. When the NQC value is adjusted, start from a moderate value such as NQC=16. If the secret is too large to be hidden, increase the NQC value; otherwise, decrease the NQC value slightly to reduce the length of the JPEG stego code, as long as the secret can still be hidden after the cut of the NQC value.

Additionally, under the same NQC value, using a higher Nbit, which forces the use of a higher HC(i, j), causes a higher hiding capacity than using a lower Nbit because HC(i, j) is the number of secret bits to be embedded in a quantized coefficient. Also, a little improvement of the stego-image quality might be obtained by using a higher Nbit. Another experiment is conducted to observe this phenomenon. Let the image Lena be compressed using JPEG with QF=75. The generated JPEG code is utilized to embed the secret data using various setting of Nbit and NQC values. For simplicity, the value of each element HC(i, j) in the 8×8 hiding capacity table HC is set to be the left-hand-side value of Eq. (2.7). According to this assignment rule, using a higher Nbit really causes a higher hiding capacity than using a lower Nbit, as shown in Table 2.3.

However, the improvement of the hiding capacity and the quality of the stego-images are less obvious when the Nbit value jumps from three to four. Also, using a higher Nbit causes a more increasing of the length of the JPEG stego code than using a lower Nbit. Therefore, using Nbit=4 is not suggested for security concern. In summary, it is recommended to use Nbit=2 and Nbit=3. Skip the use of Nbit=1 if very large hiding capacity is required.

2.4.2 Security

Both the Chi-square [44] and StegDetect [11] analysis tools are used by attackers to detect whether a stego-image or a JPEG code contains secret data or not. The proposed method can resist these attacks.

For the Chi-square analysis, Figure 2.6(a) shows the 512×512 grayscale image, Lena, without any hidden secret. Figure 2.6(b) displays the stego-image Lena generated by embedding secret data in Figure 2.6(a) using the LSB substitution scheme. Figure 2.6(c) depicts the stego-image Lena decompressed from our JPEG stego codes after a secret of size 253,952 bits is hidden. Figures 2.6(d)-(f) plot the results obtained when Guillermito’s Chi-square analysis tool is employed to examine the pixels in Figures 2.6(a)-(c), respectively. The cross curve represents the probability that the pairs of values are randomly distributed, and the circular curve represents the average value of all LSBs in one block of pixels. The circular curves in Figures 2.6(d)-(f) suggest to the attackers nothing because these circular curves are all around (0+1)/2=0.5. However, the cross curve in Figure 2.6(e) is close to one, indicating that some secret data are very probably embedded in Figure 2.6(b). In contrast, the cross curves in Figures 2.6(d) and 2.6(f) are both close to zero. Therefore, the attackers may ignore the hidden data in Figure 2.6 (c).

Provos’s StegDetect analysis tool [11], introduced in Provos and Honeyman’s method [45] and used in some methods [46-48], is adopted for the StegDetect analysis.

Let OriginalLena.jpg be the JPEG-Q85 code generated by compressing a 24-bit color image Lena of size 512×512 using JPEG with QF=85. Figure 2.7(a) shows the image Lena decompressed from OriginalLena.jpg. When people use the JPEG hiding methods JPHide [10], JSteg [12], and OutGuess [11] to hide secret data in OriginalLena.jpg, let the generated JPEG stego codes be Stego-of-JPHide.jpg, Stego-of-JSteg.jpg, and Stego-of-OutGuessOld.jpg, respectively. Figures 2.7(b)-(d)

shows the stego-images decompressed from Stego-of-JPHide.jpg, Stego-of-JSteg.jpg, and Stego-of-OutGuessOld.jpg, without any extraction of the hidden secret data.

Figures 2.7(e)-(l) plot the eight stego-images decompressed from our eight JPEG stego codes when the two parameters (Nbit, NQC) are (1, 16), (1, 24), (1, 32), (2, 16), (2, 24), (2, 32), (3, 16), (3, 24), respectively. (The hidden secret data are left untouched when the eight JPEG decompressions are performed.) Notably, the proposed method only uses the quantized coefficients of the brightness component Y of the cover image to hide secret data. The quantized coefficients of the color components Cb and Cr of the cover image are not used in hiding to minimize color distortion.

As shown in Figure 2.7(m), three JPEG stego codes Stego-of-JPHide.jpg, Stego-of-JSteg.jpg, and Stego-of-OutGuessOld.jpg yield the strongest response (the highest score *** in terms of the measure is provided by Provos’s StegDetect analysis tool [11]), indicating that the three JPEG stego codes must contain some hidden data.

However, when our JPEG stego codes are examined by the StegDetect analysis tool, all the responses are negative. Therefore, our JPEG stego codes can pass StegDetect analysis. Similar observations are made when the color image Lena is replaced by Jet or other images.

Last, the length of our JPEG stego code is discussed. When the 512×512 grayscale image Lena is compressed using JPEG with a quality factor in the range of 10 to 95, the length of the JPEG code (without any hidden secret) is between 8,119 and 94,581 bytes. The lengths of the JPEG stego codes of Lena are 55,432, 62,236, 70,237, 66,307, 78,484, 90,114, 67,257, and 82,207 bytes when (Nbit, NQC) are (1, 16), (1, 24), (1, 32), (2, 16), (2, 24), (2, 32), (3, 16), and (3, 24), respectively. Therefore, the attackers will not be suspicious about the lengths of our JPEG stego codes since their lengths all fall in the reasonable range of 8,119 to 94,581 bytes. Similar phenomena also hold when the grayscale image Lena is replaced by Jet or others.

2.5 Summary

This chapter proposes a reversible JPEG hiding method with high hiding capacity and high hiding ratio. The secret data are embedded in a JPEG code. In decoding, after lossless extraction of the secret data, the original JPEG code is reconstructed.

From Tables 2.1-2.2 and Figures 2.4-2.5, the proposed method outperforms that of the related JPEG hiding methods [12,15,17,18] in terms of hiding capacity, hiding ratio, and stego-image quality. The reversibility makes the reconstructed JPEG code to be used many times without any degrading.

(a) (b) (c)

(d) (e) (f)

Figure 2.3. Images decompressed from JPEG codes. (a) The 41.75-dB image Lena decompressed from the JPEG-Q85 code without any hidden secret. (b) The 39.12-dB stego-image Lena decompressed from our JPEG stego code. (c) The 41.75-dB

Figure 2.3. Images decompressed from JPEG codes. (a) The 41.75-dB image Lena decompressed from the JPEG-Q85 code without any hidden secret. (b) The 39.12-dB stego-image Lena decompressed from our JPEG stego code. (c) The 41.75-dB

相關文件