440 likes | 589 Views
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 . Outline. Introduction Related Work The Proposed Method Experiments Conclusions Comments. Lossless data hiding.
E N D
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
Outline • Introduction • Related Work • The Proposed Method • Experiments • Conclusions • Comments
Lossless data hiding Introduction (1/3) Three-pixel block difference
Introduction (2/3) • Lossless data hiding • Application: • medical images, military photos, law enforcement • Challenges: • Capacity • Quality
Introduction (3/3) • Lossless data hiding in spatial domain: • Difference expansion • Reversible data embedding using a difference expansion, Jun Tian, IEEE Transactions 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 2006 • Hiding Data Reversibly in an Image via Increasing Differences between Two Neighboring 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
Related Work~shift(1/3) histogram original image a=3 b=6 zero peak 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
Related Work~embedding (2/3) histogram Secret data: 1 0 1 1 1 0 0 1 a=3 b=6 zero peak stego image
Related Work~extraction (3/3) histogram stego image peak zero a=3 b=6 Extraction data: 1 0 1 1 1 0 0 1 original image
The Proposed Methods (1/12) 2nd scan Overhead info. + residual message :10101110… 1st Scan Data:0110101… Cover image Obtain a optimal histogram of difference values Remaining message : 01… Message and overhead info. : 01… Stego-image Cover image
The Proposed Methods (2/12) • Scan Image to get the max. & min. count of difference values 24-1=23 M=1,m=5g(M)=23,g(m)=0 M=1,m=5g(M)=23,g(m)=0 1x3 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 Overhead info. : BO=0,BT=0,M=1,and m=5will be embeded in the next embedding plane
1st scan(處理有1或254的block) • For each block i satisfyingthe following two conditions: • (1) 1≦bi0, bi1, bi2≦254 • (2)max(bi0, bi1, bi2)=254 or min(bi0, bi1, bi2)=1 • Call the embedding_procedureto embed the message • After invoking the embedding procedure, if max(bi0, bi1, bi2) = 255 or min(bi0, bi1, bi2) = 0, record block i as an FB(fresh boundary block) in the overhead information • embedding_procedure: • increase di0 by 1 if M+1 ≦ di0 ≦ m−1, and increase di1 by 1 if M + 1 ≦ di1 ≦ m − 1; • embed data bits into block i if di0 = M or di1 = M. 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)
2nd scan (處理其它block~沒有1或254) • For each block i with 2 ≦ bi0, bi1, bi2 ≦ 253 • call the procedure embedding_procedureto 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”
The Proposed Methods (3/12) Secret data: 00100100001001000100111 histogram M #FB BO 2nd embed 1st embed IFB BT m M=1 m=5 Difference value peak stego image zero
7 7 8 8 9 9 The Proposed Methods (4/12)
2 1 8 9 10 9 10 The Proposed Methods (5/12) 7 7 8
2 1 7 8 9 6 7 8 9 6 The Proposed Methods (6/12)
2 2 1 1 7 9 6 7 9 6 10 10 The Proposed Methods (7/12) 8 8
7 6 7 6 8 The Proposed Methods (8/12) 8
7 6 7 6 8 The Proposed Methods (9/12) 8
7 9 7 8 9 The Proposed Methods (10/12) 8
The Proposed Methods (11/12) • Overhead Information • Secret data: (0011)2 • BO´ =0, BT´ =1, M´ =1, and m´ =3 1stscan:max(bi0,bi1,bi2)=254 or min(bi0,bi1,bi2)=1 1,3,4 1,5,2 1,2,3 Embed ‘0’ Embed x Embed ’01’ 0,3,4 1,6,2 1,2,4 Overhead information :#FBs∥IFB∥BO´ ∥ BT´ ∥ M´ ∥ m´ Recorded as a FB
The Proposed Methods (12/12) #FBs∥IFBs∥BO ∥ BT ∥ M ∥ m • Overhead Information Plane 1: Embed Message Overhead info.1 #FBs1∥IFB1 Overhead info.2 Plane 2: Embed Message + Overhead info.1 #FBs2∥IFB2∥BO1 ∥ BT1 ∥ M1 ∥ m1 ● ● ● Plane n: Embed Message + Overhead info.n-1 Overhead info.n #FBsn∥IFBn∥Bon-1 ∥ BTn-1 ∥ Mn-1 ∥ mn-1 || #EPs Bon ∥ BTn ∥ Mn ∥ mn
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 recovery • 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 ≦ 253. • 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 recovery, then save the extracted data in List-3 • According to the indexes of the blocks where the message bits are extracted, 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 embedding plane is completely extracted. • Pop the data stored in the stack
Experiments (1/5) complex smooth Test images: (512*512) (a) Baboon; (b) Boat; (c) Lena; (d) Airplane; (e) Pepper; (f) Tiffany; (g) GoldHill; (h) Gradient
Conclusions • For PSNR≧30dB,the pure payload can be up to 1.32bpp,among the test images. • The payload capacity of the proposed scheme 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.
Comments • Generalized • 3-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
Shifting histogram (1/6) histogram a = 4 b = 7 Cover image zero peak histogram Shifted cover image 36
Shifting histogram (2/6) Peak = 4 Zero = 7 • Embedding histogram 5 Shifted cover image Secret data:1010110 Stego-image 37
Shifting histogram (3/6) 1 0 1 1 0 4 6 1 3 3 2 5 4 4 4 4 2 • Extraction peak zero a = 4 b = 7 Stego-image histogram Secret data: 0 1 3 2 5 1 0 4 2 5 0 1 2 3 4 Recovered image 38
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. 39
maximum and minimum points (5/6) original image a=3 b=6 maximum point minimum point Record the coordinate of those pixels of b as overhead bookkeeping information hidden data=secret data + overhead data
multiple pairs of maximum and minimum points (6/6) original image b2 a2 a1 b1