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 84
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
x Ax 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 xˆ 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 vectorb
Ax xˆ Axb
b xˆ
A
p A 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 pb ˆ ˆ (18)
must be an element of . Thus is a solution to the least squares problem if and only if
)
( A
R xˆ
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 xˆ will be a least squares solution to the system Axb if and only if
x N
ATr ˆ (21)
or, equivalently,
ˆ
ˆ
.0 ATr x AT bAx (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
x T T (24)
and xˆ 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 bA 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
AR b t
Now we can realize that the op al weight xˆ is a least
m( umber of cells)8 overdetermined system Axb. After obtaining the optimal weight , we use xˆ to com te predictive pixel value for each cell ui', j by following formula
x a u'
xˆ 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
T i,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 xˆ.
O payload PS
Step.1) Compute local variance i,j of each cell in Construct the processing table by sorting
S3.
process
T i,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
xˆ xˆ
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.