• 沒有找到結果。

The Predictive Method of Optimal Weights

3. Our method

3.2 The Predictive Method of Optimal Weights

Predictive pixel value can be written as a linear combination of the eight neighbor

pixel-values :

the representation of symbols, we use the vector to represent ’s neighbor pixel-values as:

wk

According to the above formula, we get the weight vector x for one cell.

However, the weight vector x should be suitable to neighbor pixel-values for each cell.

Obviously, no weight vector x exists such that the predictive difference is zero for each cell. Therefore, we try to search the optimal weight vector

j i j i j

i a x u

d,,, x such that the numbers of the zero predictive difference is the most.

For instance, assume the set S0 has m (with 512 × 512 image,

 

65025 8

4

510 2  m ) cells to be predicted. Let the vector denote the elements of .

Then, we have

b S0

. ] , , , ,

[ui,j ui,j 2 ui,j 4 ui,j 6 T1 m

b (13)

And the matrix represents the set of neighbor vector according to each cell as

A ai,j

. ] , , , ,

[ai,j ai,j 2 ai,j 4 ai,j 8 8T m

A (14)

Here we assume that each cell has the zero predictive difference. Then, we get the following equation as

, b

Ax (15)

from Formula (12).

However, linear algebra [11] shows that we can not expect in general to find a vector for which equals . Because is an

R8

xAx b A m8(m>8) matrix, the inconsistent

dimensions cause overdetermined system. Instead, we can look for a vector x such that Ax t” to b.

is “closes

Given a system of equations Axb, where A is an m8 matrix and bRm, then for each xR8 we can compute a residual r

 

x ,

 

x b Ax.

r (16)

The distance between b and Ax is given by

 

x ,

r Ax

b (17)

We wish to find a vector xR8 for which r

 

x will be minimum.

A vector with the minimum r

 

x is said to be a optimal weight to the system . The optimal weight will be a solution to the least square problem if and only if is the vector in the column space of ( ) ) that is closest to . The vector

b

Ax Axb

b

A

pA R( A

p is said to be the projection of onto . It follows from Theorem 5.3.1 in linear algebra [12] that

b R(A)

 

x r x A b p

b ˆ ˆ (18)

must be an element of . Thus is a solution to the least squares problem if and only if

)

( A

R

   

xˆ  AR .

r (19)

The key to solving the least squares problem is provided by Theorem 5.2.1 [12], which states that

 

A N

 

AT .

R (20)

A vector will be a least squares solution to the system Axb if and only if

 

x N

 

AT

r ˆ  (21)

or, equivalently,

 

ˆ

ˆ

.

0 ATr xATbAx (22)

Thus, to solve the least squares problem Axb, we must solve the normal equations as

23)

If is an matrix of rank 8, the norm l equations have a unique solution .

b A

AT xˆ AT (

A m8 a

 

.

ˆ A A 1A b

xT T (24)

and is the optimal weight to the system xˆ

 

ATA1ATb.

We define the predictive pixel values ' as the element of projection vector

, j

ui p

. ,...]

, , ,

[ui',j ui',j 2 ui',j 4 ui',j 6 1Tm

p (25)

The projection vector

 

A A A b

A x A

p ˆ T 1 T (26)

is the element of that is closest to in the leas squares sense.

tim squares solution of

n

 

A

R b t

Now we can realize that the op al weight is a least

m( umber of cells)8 overdetermined system Axb. After obtaining the optimal weight , we use to com te predictive pixel value for each cell ui', j by following formula

x a u'

pu

j i j

i, , ˆ (27)

Then we can compute predictive difference by Formula (8). We hope the num of th

3.3

Local Variance

Because the 3×3 box filter is different with Rhombus Pattern [5], so the local variance

j

di,

ost

ber e zero predictive difference di,j will be the m .

j

i, must be corrected by Formula (28).

 

When the local variance’s value is small, the predictive difference might be small.

Sorting local variance

j

di,

j

i, to determine the computation order of cell makes the stego image maintain low distortion.

Next section ,we exploit 3×3 box filter and optimal weight to implement the new

rithm

s in cover image, we define the processing order of encoder as , . After performing encoder algorithm, we generate a stego image. To fetch s

. Once getting secret bits, we can recover the original cover im describing our algorithm, we give the definition of symbols in our algorithm.

3.4.1

A. Processing Table

is constructed by sorting local variance

soort age. Before

S1

the stego image legitimately, we perform decoder algorithm by the processin rd :

1 0

Definition of Symbols

S , S

process

T

process

Ti,j in ascending order. The first 34

tions of auxiliary information.

B. Auxiliary Info

We have to construct the extra 34 bits , auxiliary information, and pass it in the stego image

bits fo reshold , 7 bits for negative threshold elements of Tprocess contains the loca

rmation

r positive th

, because decoder need this information. Auxiliary information is composed of 7

P N and 14 bits for ’s

payload

Sk

size

Sk

P , where 0 3 cov

k

er im

. The auxiliary information provides us to fetch secret bits and to recover age accurately. Inst ending the auxiliary

C.

pute the p

.

the f t 34 elements in . is

k’s t ew

k. We hide image.

E. Location Map

eading of s information, we hide it in the table

sort

According to process, we com redictive differences di,j of each cell.

D treamLSB

StreamLSB is composed of LSB of irs

process

T .

d

T

S

dsort

for recove StreamLSB

ring cover appended to payload PS ail as n PS StreamLSB

L

L is used to record the ambiguous result of encoder testing, e.g. ET(b) or ET(c).

F. Expandable Set E

E contains cells whose di,j can be expandable through N and P .

G. Shiftable Set S

S contains c lsel whose di,j can be shiftable through N and P .

H. Special Set Special

3.4.2 Algorithm of Encoder

We only introduce encoder algorithm for . For , and , we have the similar encoder alg

0 ret bits).

. Step.1) Compute local variance

ad PS0,

Output: stego image C , optimal weight xˆ

j

Step.3) Compute optimal weight according to payload size StreamLSB

tilize ference

T

Step.6) Create a location map L . Set the index k of L to be 0.

Step.7) From the 35th sorted cell in Tprocess, use encoder testing(ET) to check the overflow problem.

If check result belongs to ET(a), nothing to do.

:= 0 and +1.

on .

ce exp it

If check result belongs to ET(b), set L[k] k If check result bel gs to ET(c), set L[k := 1 and ] k+1

Step.8) If the cell belongs to differen ansion method and ET(b), we must move from E to Special . It means that this cell do not provide a space to hide secret bit.

Step.9) If all cells in S0 are checked such that E < ( L +

S0

P ), the gap [ N , P ] must be broadened by 1 ( P := P + 1, N := N - 1).

Step.10) Use Formula (5) to compute modified difference Di,j. If cells belong to E , its

j

di, allows to secret bit (

S0

P and

embed L).

Step.11) Compute modified pixel value by Formula (4) . substitutes for original pixel value

Step.12) Auxiliary information substitutes for the of that is located in the first 34 indices of

Step.13) Notice that this stego image will be input image of the next encoder algorithm

f .

j

Ui, Ui,j

j

ui, .

LSB j

process

ui,

T .

C or S1

3.4.3 Instance of Encoder

Fig. 6. Distribution of original image’s pixel.

To realize our algorithm, we give the image in Fig. 6 to explain our algorithm. From Fig.

6, we can obtain the set whose elements are , and . Assume the positive threshold and the secret e optimal weight is computed by pre-processing. We use to evalua for each cell, the assuming result including encoder testing (ET) shows in Table 3.

Then we output the stego image (see Fig.7), optimal weight (pass by another channel) and location map (binary ‘0’ ‘1’).

S0

Fig. 7. Distribution of stego image’s pixel.

Table 3. The encoder processing step by step.

(1,1) (1,3) (3,1) (3,3) )

, (

\ i j item

j

ui. 249 251 252 254

'

,j

ui 249 249 249 249

j

di. 0 2 3 5

Encoder testing , 249+1=250,

P

.j 1

Di Di.j 4 Di.j 5 pass1

ass.

, 249+4=253,

, 249+5=254,

, 249+7=256,

Overflow.

.j 7 Di

Pass. Pass.

Encoder testing pass2

, 249+3=252,

Pass.

.j 3

Di Di.j 6 , 249+6=255,

Pass.

.j 7 Di

, 249+7=256,

Overflow.

X

Location map is mark as:

X X

(pass once)

0 1

Encoder type Expansion Shift Shift X

j

Di. 1 4 5 5

j

Ui, 250 253 254 254

3.4.4 Definition before Decoder Algorithm

A. The Size of Location Map L

After performing decoder testing(DT), we check that cells are ambiguous or not . Move the ambiguous cells from set E or set S to ambiguous set A , and L increase by 1.

B. Recovery of Predictive Difference

, (29)

3.4.5 Algorithm of Decoder

e der algorithm for . For and , we have the similar encoder algorithms.

Input: stego image , optimal weight Output: cover image ,

3 (pure secret bits)

S3 S2, S1 S0 We only introduce d co

C .

O payload PS

Step.1) Compute local variance i,j of each cell in Construct the processing table by sorting

S3.

process

Ti,j in ascending order.

Step.2) Reconstruct auxiliary information by fetching of the first 34 of

to compute predictive value and modified difference

Step.4) Use auxiliary information to classify cells into expandable set LSB

st 3 th

j

Ui,

process

T . We discover the secret bits from the fir 5 cell in process.

Step.3) Utilize xˆ

T

' , j

ui Di,j.

E and shiftable set

g S.

Step.5) Use decoder testing (DT) to find ambiguous cells (DT(b)). Decoder testin terminates if E  ( L +

S3

P ).

Step.6) Use Formula (29) to recover unambiguous cells’ ference i,j. According to di,j and Formula (30), we can get

S3

P and predictive dif

location p d

ma L.

Step.7) L is used to recover ambiguous set’s di,j.

Step.8) Compute original pixel value ui,j by Formula (31), and substitute for the same i den x’s pixel value.

fi .

3

Step.9) Fetch StreamLSB from the last 34 elements of

S3

P . Then StreamLSB substitutes for rst34 Ui,js’ LSB in Tprocess

Step.10) Output cover image O, PS and location map L .

3.4.6 Instance of Decoder

Now we can fetch secret bit stream and recover original image by stego image (see Fig.

7) and auxiliary information (e.g. positive threshold = 1, optimal weight ). We use

alue ing result including decoder testing

Table 4. The decoder processing step by step.

) (1,3) (3,1) (3,3) P

e assum

to evaluate predictive v ' for each cell, th

,j

ui

(DT) shows in Table 2.

) , (

\ i j

item (1,1

j

Ui, 250 253 254 254

'

,j

ui 249 249 249 249

j

Di. 1 4 5 5

.j 3 Di

, Di.j 6

, Di.j 7 , Decoder testing 249+3=252,

Pass.

249+5=254, 249+7=256, Ov w.

, 249+7=256,

Ov .

erflo

.j 7 Di

erflow Pass.

Look for location map

Yes(0):

Pass once

Y

No No es(1)

Encoder type Expansion Shift Shift X

Secret bit 1 X X X

j

di. 0 2 3 5

j

ui. 249 251 252 254

Then we output the recovery (see Fig.8) image and secret bit (binary ‘1’). And the instance of our method have completed right now.

249

Fig. 8. Distribution of recovery image’s pixel.

4. Experiments and Discussion

This section compares the experiment results of Sachnev et al.’s method [5], Lin et al.’s method [11] and our method. We choose five images, Lena, Peppers, Baboon, Boat and Airplane, shown as Table 5.

The experiment results are shown in Fig. 9 to Fig. 13. The horizontal and vertical axis of the figure denotes payload(bit per pixel) and distortion(Pixel Signal Noise Ratio), respectively.

In the same payload condition, the enhanced ratio of average PSNR is shown in Table 6.

Table 5. The five 512×512 grayscale images for experiment.

Lena.bmp Boat.bmp Peppers.bmp

Airplane.bmp Baboon.bmp

Fig. 9. Experiment curve of Lena

Fig. 10. Experiment curve of Peppers

Fig. 11. Experiment curve of Baboon

Fig. 12. Experiment curve of Boat

Fig. 13. Experiment curve of Airplane

Table 6. The enhanced ratio of average PSNR

Compares with

Sachnev et al.’s method [5]

Compares with Lin et al.’s method [11]

Lena 2.27% 1.14%

Peppers 4.10% 0.11%

Baboon 9.67% 1.04%

Boat 3.31% 2.17%

Airplane 1.93% 1.61%

PSNR

Tested image

Ratio enhanced

Our

method

We can observe the improvement of PSNR at Fig. 3 (Lena) and Table 5. Lena’s row, enhance 1.14% on average. We consider about the worse case(minimum and maximum payload) at Fig. 3, and propose following explanation. In minimum payload, our method embedding 4×34 bit auxiliary information is more than rhombus pattern (2×34 bit). In maximum payload, the embedding order is determine by local variance i,j, so embedding index do not reuse again. The property leads sparse cell with big difference to be chose, and influence PSNR decrease rapidly.

The another advantage of our method is suitable for complex image, like Peppers and Baboon. Our method respectively enhances the PSNR ratio 4.10% with Peppers, 9.67% with Baboon in the condition of same payload. Because optimal weights and 3×3 box filter not only refer to direction of horizontal and vertical, but also refer to direction of skew cross.

Optimal weights and 3×3 box filter generate more small difference. Obviously, our method improves the difference expansion.

5. Conclusion

In this thesis, we use optimal weights and 3×3 box filter to enhance Sachev et al.’s method. In the condition of same payload, experiments show that our method provide better image quality in complex image(5.69%). Optimal weights and 3×3 box filter are efficient to detect noise in surrounding pixel, and compute the appropriate predictive difference for difference expansion method.

Generally, the small values of predictive difference generate the stego image with imperceptible changes. Our method can recognize that an accurate prediction contributes obvious performance (such as high capacity, low distortion) to data hiding. Therefore, our method gives the solution of predicting both smooth image and complex image.

References

[1] J. Tian, “Reversible Data Embedding Using A Difference Expansion,” IEEE Trans. Circuits Syst. Video Technol., vol. 13, no. 8, Aug. 2003, pp. 90–896.

[2] H. J. Kim, V. Sachnev, Y. Q. Shi, J. Nam, and H. G. Choo, “A Novel Difference Expansion Transform For Reversible Data Embedding,” IEEE Trans. Inform. Forensics Security, vol. 3, no. 3, Sep. 2008, pp. 456–465.

[3] A. M. Alattar, “Reversible Watermark Using The Difference Expansion Of A Generalized Integer Transform,” IEEE Trans. Image Processing, vol.13, no. 8, Aug. 2004, pp. 1147–1156.

[4] D. M. Thodi and J. J. Rodriguez, “Expansion Embedding Techniques For Feversible Watermarking,” IEEE Trans. Image Procesing., vol. 16, no. 3, Mar. 2007, pp. 721–730.

[5] V. Sachnev, H. J. Kim, and J. Nam, S. Suresh, Y. Q. Shi, “Reversible Watermarking Algorithm Using Sorting And Prediction, ” IEEE Trans.

Circuits Syst. Video Technol., vol. 19, no. 7, Jul. 2009, pp. 989–999.

[6] 林士倫, 鄭宇哲, 陳建源, 施能寅, “九宮格式直方圖的可逆資訊隱藏技 術”, TANET 2009

台灣網際網路研討會

, 2009, pp.B-94 - B-100.

[7] L. Kamstra and H. J. A. M. Heijmans, “Reversible Data Embedding Into Images Using Wavelet Techniques And Sorting,” IEEE Trans. Image Process., vol. 14, no. 12, Dec. 2005, pp. 2082–2090.

[8] Z. Ni, Y. Q. Shi, N. Ansari, and W. Su, “Reversible Data Hiding,”IEEE Trans. Circuits Syst. Video Technol., vol. 16, no. 3, pp. 354–362,Mar. 2006.

[9] 楊政興, 蔡孟璇, 黃正達, “以棋盤式預測法改善直方圖可逆資訊隱藏技 術,”

第十九屆資訊安全會議

, 2009.

[10] M. U. Celik, G. Sharma, A. M. Tekalp, and E. Saber, “Reversible Data Hiding,” in Proc. Int. Conf. Image Processing, vol. II, Sept. 2002, pp.157–160.

[11] 林坪亨, 陳建源, 黃健峯, 林士倫, “基於九宮格式預測法之差值擴張可

逆資訊隱藏技術,” 2010

資訊安全技術創新應用研討會

, 2010, pp.266 – 272.

[12] Steven J. Leon, Linear Algebra with Applications, 7th Edition, Pearson Education, Limited, 2006.

相關文件