Post on 21-Jan-2016
A lossless data hiding scheme based on three-pixel block differences
Ching-Chiuan Lin and Nien-Lin Hsueh Pattern Recognition, Vol. 41(4), April 2008
Pages 1415-1425
2
Outline
Introduction Related Work The Proposed Method Experiments Conclusions Comments
3
Lossless data hiding
Three-pixel block difference
Introduction (1/3)
4
Introduction (2/3)
Lossless data hiding
Application:medical images, military photos, law enforcement
Challenges:Capacity
Quality
5
Introduction (3/3)Lossless data hiding in spatial domain:
Difference expansion Reversible data embedding using a difference expansion, Jun Tian, IEEE Transact
ions on Circuits and Systems for Video Technology, vol. 13(8), pp. 890 – 896, Aug. 2003
Reversible watermark using the difference expansion of a generalized integer transform, Alattar, A.M. IEEE Transactions on Image Processing, vol. 13(8), pp. 1147 - 1156 , Aug. 2004
Adaptive lossless steganographic scheme with centralized difference expansion, C.C. Lee, H.C. Wu, C.S. Tsai, and Y.P. Chu, Pattern Recognition, Vol. 41, Issue 6, 2008, pp. 2097-2106
Histogram modification Reversible data hiding, Z. Ni, Y.Q. Shi, N. Ansari, and W. Su, IEEE Trans. Circuits
Syst. Video Technol., vol.16, no.3, pp.354–362, March 2006Hiding Data Reversibly in an Image via Increasing Differences between Two Neigh
boring Pixels, C.C. Lin and N.L. Hsueh, IEICE TRANS. INF. & SYST., VOL.E90–D, NO.12 DE. 2007
A lossless data hiding scheme based on three-pixel block differences, C.C. Lin and N.L. Hsueh, Pattern Recognition 41 (2008) 1415 – 1425
6
Related Work~shift(1/3)
3 3 3 1 3
4 3 3 5 4
4 3 2 2 2
0 1 3 1 5
2 2 5 5 4 012345678
0 1 2 3 4 5 6
original image
3 3 3 1 3
5 3 3 6 5
5 3 2 2 2
0 1 3 1 6
2 2 6 6 5 012345678
0 1 2 3 4 5 6
histogram
a=3
b=6
peak zero
Reversible data hiding, Z. Ni, Y.Q. Shi, N. Ansari, and W. Su, IEEE Trans. Circuits Syst. Video Technol., vol.16, no.3, pp.354–362, March 2006
7
Related Work~embedding (2/3)
012345678
0 1 2 3 4 5 6
012345678
0 1 2 3 4 5 6
histogram
a=3
b=6
peak zero
Secret data: 1 0 1 1 1 0 0 1
4 3 4 1 4
5 4 3 6 5
5 3 2 2 2
0 1 4 1 6
2 2 6 6 5
stego image
3 3 3 1 3
5 3 3 6 5
5 3 2 2 2
0 1 3 1 6
2 2 6 6 5
8
Related Work~extraction (3/3)
012345678
0 1 2 3 4 5 6
012345678
0 1 2 3 4 5 6
histogram
a=3
b=6
Extraction data: 1 0 1 1 1 0 0 1
4 3 4 1 4
5 4 3 6 5
5 3 2 2 2
0 1 4 1 6
2 2 6 6 5
stego image
3 3 3 1 3
4 3 3 5 4
4 3 2 2 2
0 1 3 1 5
2 2 5 5 4
original image
peak zero
9
The Proposed Methods (1/12)Cover image
Cover image
1st Scan Data:0110101…
Obtain a optimal histogram of difference values
Stego-imageMessage and overhead info. : 01…
Remaining message :
01…
2nd scanOverhead info. + residual message :
10101110…
10
11
The Proposed Methods (2/12) Scan Image to get the max. & min.
count of difference values
3 4 3 1 3 4 5 4 2 1 0 7
8 8 9 5 4 3 6 5 4 3 6 7
6 4 7 7 6 6 3 4 5 4 5 4
7 4 3 1 5 2 1 2 3 5 6 7
2 4 5 5 4 5 3 7 4 3 6 8
1x3 Type 0
Difference value
Count
0 2
1 24
2 5
3 6
4 2
5 0
6 0
7 1
… …
24-1=23
M=1,m=5g(M)=23,g(m)=01x3 Type 1: M=1,m=5,g(M)=16,and g(m)=0
1x3 Type 2: M=1,m=5,g(M)=14,and g(m)=0
3x1 Type 0: M=1,m=7,g(M)=7,and g(m)=0
3x1 Type 1: M=1,m=5,g(M)=8,and g(m)=0
3x1 Type 2: M=1,m=7,g(M)=7,and g(m)=0
M=1,m=5g(M)=23,g(m)=0
Overhead info. : BO=0,BT=0,M=1,and m=5will be embeded in the next embedding plane
12
1st scan( 處理有 1 或 254 的 block) For each block i satisfying the following two conditions:
(1) 1≦bi0, bi1, bi2 ≦ 254 (2)max(bi0, bi1, bi2)=254 or min(bi0, bi1, bi2)=1
Call the embedding_procedure to embed the message After invoking the embedding procedure, if max(bi0, bi1, bi
2) = 255 or min(bi0, bi1, bi2) = 0, record block i as an FB(fresh boundary block) in the overhead information
For example, if M = 1 and m = 20, (2, 1, 2)(1,1)(2,2)(2, 0, 2) if it embeds“11” FB (253, 254, 240)(1,4)(1,5) (253, 254, 239) if it embeds “0” (246, 243, 254)(3,11)(4,12) (246, 242,254)
embedding_procedure:1. increase di0 by 1 if M+1 ≦ di0 ≦ m−1, and increa
se di1 by 1 if M + 1 ≦ di1 ≦ m − 1; 2. embed data bits into block i if di0 = M or di1 = M.
13
2nd scan ( 處理其它 block~ 沒有 1 或 254)
For each block i with 2 ≦ bi0, bi1, bi2 253≦ call the procedure embedding_procedure to
first embed the overhead information, and then the residual message.
For example, if M = 1 and m = 20, (3, 4, 6)(1,2)(1,3)(3, 4, 7) if it embeds“0”
14
15
16 0
5
10
15
20
25
0 1 2 3 4 5 6 7
The Proposed Methods (3/12)
3 4 3 1 3 4 5 4 2 1 0 7
8 8 9 5 4 3 6 5 4 3 6 7
6 4 7 7 6 6 3 4 5 4 5 4
7 4 3 1 5 2 1 2 3 5 6 7
2 4 5 5 4 5 3 7 4 3 6 8 0
5
10
15
20
25
0 1 2 3 4 5 6 7
histogram
M=1
m=5
peak zero3 4 3 0 3 4 6 4 1 1 0 7
8 8 9 5 4 3 6 5 3 2 6 7
6 3 7 7 6 6 2 4 5 4 5 4
8 4 2 1 6 2 1 2 4 5 6 7
1 4 6 5 3 5 3 8 4 2 6 9
Difference value
Secret data: 001 001 00001 0 01 0001 0011 1
stego image
1st
embed#FB
IFBBO
BTM
m2nd
embed
17
The Proposed Methods (4/12)
51
)1,1(),()9,8,7(),,( 10210
mM
dddbbbAssume iiiii
Embed (0,0) Extraction
7 8 9
Unchangeddd
ddd ii
)1,1()0,0( 10
7 8 9
)0,0(
),()1,1(),( 10
Embedded
MMddd ii
18
The Proposed Methods (5/12)
51
)1,1(),()9,8,7(),,( 10210
mM
dddbbbAssume iiiii
Embed (0,1) Extraction
7 8 9
)2,1()1,0( 10 ii ddd
7 8 10
)1,0(
)1,()2,1(),( 10
Embedded
MMddd ii
2
10
)10,8,7(),,( 210 iii bbb
9
1
)9,8,7(),,( 210 iii bbb
19
The Proposed Methods (6/12)
51
)1,1(),()9,8,7(),,( 10210
mM
dddbbbAssume iiiii
Embed (1,0) Extraction
7 8 9
)1,2()0,1( 10 ii ddd
6
)0,1(
),1()1,2(),( 10
Embedded
MMddd ii
2
6
)9,8,6(),,( 210 iii bbb
8 9
1
7
)9,8,7(),,( 210 iii bbb
20
The Proposed Methods (7/12)
51
)1,1(),()9,8,7(),,( 10210
mM
dddbbbAssume iiiii
Embed (1,1) Extraction
7 8 9
)2,2()1,1( 10 ii ddd
6
)1,1(
)1,1()2,2(),( 10
Embedded
MMddd ii
2
6
)10,8,6(),,( 210 iii bbb
8 10
1
7
)9,8,7(),,( 210 iii bbb
10
2
9
1
21
The Proposed Methods (8/12)
51
)1,1(),()7,8,7(),,( 10210
mM
dddbbbAssume iiiii
Embed (0,1) Extraction
7 8
)2,1()1,0( 10 ii ddd
6
)1,0(
)1,0()2,1(),( 10
Embedded
MMddd ii
6
)6,8,7(),,( 210 iii bbb
7 8
)7,8,7(),,( 210 iii bbb
0ib 1ib2ib 1ib 0ib2ib 1ib1ib
22
The Proposed Methods (9/12)
51
)1,1(),()7,8,7(),,( 10210
mM
dddbbbAssume iiiii
Embed (1,0) Extraction
7 8
)1,2()0,1( 10 ii ddd
6
)0,1(
)0,1()1,2(),( 10
Embedded
MMddd ii
6
)7,8,6(),,( 210 iii bbb
7 8
)7,8,7(),,( 210 iii bbb
0ib 1ib2ib 1ib 0ib 2ib 1ib1ib
23
The Proposed Methods (10/12)
51
)1,1(),()7,8,7(),,( 10210
mM
dddbbbAssume iiiii
Embed (1,1) Extraction
7 8
)2,2()1,1( 10 ii ddd
9
)1,1(
)1,1()2,2(),( 10
Embedded
MMddd ii
9
)7,9,7(),,( 210 iii bbb
7
)7,8,7(),,( 210 iii bbb
1ib 1ib 1ib
8
1ib
24
The Proposed Methods (11/12) Overhead Information
Secret data: (0011)2
BO´ =0, BT´ =1, M´ =1, and m´ =3
3 4 3 1 3 4 5 4 2 1 0 7
8 8 9 5 4 3 6 5 4 3 6 7
6 4 7 7 6 6 3 4 5 4 5 4
7 4 3 1 5 2 1 2 3 5 6 7
2 4 5 5 4 5 3 7 4 3 6 8
1st scan:max(bi0,bi1,bi2)=254 or min(bi0,bi1,bi2)=1
1,3,4 1,5,2 1,2,3
0,3,4 1,6,2 1,2,4
Embed ‘0’ Embed x Embed ’01’
Recorded as a FBOverhead information :#FBs IFB∥ ∥BO´ BT´ ∥ ∥ M´ ∥ m´
25
The Proposed Methods (12/12) Overhead Information
Overhead info.1Plane 1: Embed Message
Plane 2: Embed Message + Overhead info.1 Overhead info.2
Plane n: Embed Message + Overhead info.n-1 Overhead info.n
●
●
●
#FBs IFBs∥ ∥BO BT ∥ ∥ M ∥ m
#FBs1 IFB∥ 1
#FBs2 IFB∥ 2∥BO1 BT∥ 1 ∥ M1 ∥ m1
#FBsn IFB∥ n∥Bon-1 BT∥ n-1 ∥ Mn-1 ∥ mn-1 || #EPs
Bon BT∥ n ∥ Mn ∥ mn
26
27
Extraction Follow the BO and the BT to divide the stego-image into blocks. For each block i with 1≦bi0, bi1, bi2 254, perform extraction and recov≦
ery Save the extracted message bits in the list List-1 if min(bi0, bi1, bi2) = 1
or max(bi0, bi1, bi2) = 254 Save the extracted message bits in the list List-2 if 2 ≦ bi0, bi1, bi2 25≦
3. List-2 contains the overhead information (List-2’) and the message(List-
2’’) Decode the overhead information in List-2’ For each FB, which is recorded in List-2, perform extraction and recover
y, then save the extracted data in List-3 According to the indexes of the blocks where the message bits are extr
acted, reorder the message bits saved in List-1 and List-3 to form the list List-4
Push the message in List-2 first, then the message List-4 onto a stack. Repeat the above procedures until the message embedded in each em
bedding plane is completely extracted. Pop the data stored in the stack
28
Experiments (1/5)
Test images: (512*512)
(a) Baboon; (b) Boat; (c) Lena; (d) Airplane; (e) Pepper; (f) Tiffany; (g) GoldHill; (h) Gradient
complex
smooth
29
Experiments (2/5)
30
Experiments (3/5)
31
32
Experiments (5/5)
33
Conclusions For PSNR 30dB,the pure payload can be ≧
up to 1.32bpp,among the test images. The payload capacity of the proposed sche
me is about six to ten times higher than that of Ni et al.’s algorithm.
The proposed scheme can provide a high payload capacity and better image quality for applications that losslessly embed a message in a cover image.
34
Comments
Generalized3-pexel block(2/3)4-pexel block(3/4)n-
pexel block(n/n-1) Difference between two neighbor pixels
take the medium value as a reference value while calculating the difference values
35
36
36
Shifting histogram (1/6)
012345678
0 1 2 3 4 5 6 7
2 5 3 1 0
4 2 5 0 1
2 3 4 4 6
3 3 1 2 5
4 4 4 4 2
012345678
0 1 2 3 4 5 6 7
histogram
Cover imagepeak zero
2 6 3 1 0
4 2 6 0 1
2 3 4 4 7
3 3 1 2 6
4 4 4 4 2Shifted cover image
histogram
a = 4b = 7
37 37
Shifting histogram (2/6)
Secret dataSecret data :: 10101101010110
2 6 3 1 0
4 2 6 0 1
2 3 4 4 7
3 3 1 2 6
4 4 4 4 2
2 6 3 1 0
5 2 6 0 1
2 3 4 5 7
3 3 1 2 6
4 5 5 4 2
012345678
0 1 2 3 4 5 6 7
012345678
0 1 2 3 4 5 6 7
5
Embedding
Stego-image
Shifted cover image
histogram
Peak = 4Zero = 7
38 38
Shifting histogram (3/6) Extraction
2 6 3 1 0
5 2 6 0 1
2 3 4 5 7
3 3 1 2 6
4 5 5 4 2012345678
0 1 2 3 4 5 6 7Stego-image
peak zero
a = 4b = 7
Secret data: 10 1 0 11 0
012
3456
78
0 1 2 3 4 5 6 7
Recovered image
2 5 3 1 0
4 2 5 0 1
2 3 4 4 6
3 3 1 2 5
4 4 4 4 2
histogram
39 39
Shifting histogram (4/6)
Total hiding capacity = # of peak point pixels = 7bits. Needs to keep a pair of pixel values on peak point and zero point for
extraction and image recovery.
40
maximum and minimum points (5/6)
2 5 3 0 0
4 2 5 1 6
2 3 4 4 7
3 3 1 2 5
3 3 3 3 20
1
2
3
4
5
6
7
8
0 1 2 3 4 5 6 7
original image
maximum point
minimum point
a=3
b=6
Record the coordinate of those pixels of b as overhead bookkeeping information
hidden data=secret data + overhead data
41
multiple pairs of maximum and minimum points (6/6)
2 5 3 0 0
4 2 5 1 6
2 3 4 4 7
3 3 1 2 5
3 3 3 3 20
1
2
3
4
5
6
7
8
0 1 2 3 4 5 6 7
original image
a1 b1a2b2