310 likes | 325 Views
This paper discusses a reversible watermarking scheme using the difference expansion of a generalized integer transform. The proposed scheme allows for embedding and reading watermark while restoring the original image.
E N D
Reversible Watermark Using the Difference Expansion of a Generalized Integer Transform Source : IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 13, NO. 8, AUGUST 2004, pp.1147-1156 Author : Adnan M. Alattar Speaker : Jen-Bang Feng (馮振邦)
Outline • Generalized Difference Expansion • The Proposed Scheme Embedding Reversible Watermark Reading Watermark and Restoring Image • Payload Size • Data-Rate Controller • Recursive and Cross-Color Embedding • Experimental Results • Conclusion
The Proposed Scheme • Hide watermark into protected image • Can fully restore the original image • Use the difference of neighborhood pixels
Generalized Difference Expansion (1/5) vector u=(u0, u1, …, uN-1) ai is a constant integer, i=0,…,N-1 v0 is the weighted average of the entities of the vector. v1,…,vN-1 are the differences between u1,…,uN-1 and u0, respectively. The Forward Difference Expansion Transform f(.) : The Inverse Difference Expansion Transform f -1 (.) :
Generalized Difference Expansion (2/5) (u0,u1, u2 ,u3) = (8, 10, 14, 15) (a0,a1, a2 ,a3) = (1, 2, 2, 1) ======================= v0 = = = 11 v1 = 10 – 8 = 2 v2 = 14 – 8 = 6 v3 = 15 – 8 = 7 ======================= (v0,v1,v2,v3) = (11,2,6,7) (v0,v1, v2 ,v3) = (11, 2, 6, 7) (a0,a1, a2 ,a3) = (1, 2, 2, 1) ======================= u0 = 11 - = 11- 3 = 8 u1 = 2 + 8 = 10 u2 = 6 + 8 = 14 u3 = 7 + 8 = 15 ======================= (u0,u1,u2,u3) = (8,10,14,15)
Generalized Difference Expansion (3/5) (u0,u1, u2,u3) = (8, 10, 14, 15) (v0, v1, v2, v3) = (11, 2, 6, 7) (a0, a1, a2 , a3) = (1, 2, 2, 1) (b1, b2, b3) = (1, 0, 1) embedded data ======================== v0 = 11 ṽ1 = 2 * 2 + 1 = 5 ṽ2 = 2 * 6 + 0 = 12 ṽ3 = 2 * 7 + 1 = 15 ũ0 = 11 – = 11 – 8 = 3 ũ1 = 5 + 3 = 8 ũ2 = 12 + 3 = 15 ũ3 = 15 + 3 = 18 Def1. Expandable For all value of b1,…,bN-1 00011100111000111b
Generalized Difference Expansion (4/5) (u0,u1, u2,u3) = (8, 10, 14, 15) (v0, v1, v2, v3) = (11, 2, 6, 7) (a0, a1, a2 , a3) = (1, 2, 2, 1) (b1, b2, b3) = (1, 0, 1) embedded data ======================== v0 = 11 ṽ1 = 2 * + 1 = 3 ṽ2 = 2 * + 0 = 6 ṽ3 = 2 * + 1 = 7 ũ0 = 11 – = 11 – 4 = 7 ũ1 = 3 + 7 = 10 ũ2 = 6 + 7 = 13 ũ3 = 7 + 7 = 14 Def2. changeable 0001110001100011000011b
Generalized Difference Expansion (5/5) S1: expandable and |vi| ≤ Ti, i=1,…,N-1 S2: changeable S3: not changeable S4 = S1U S2 Location map : 1 S1 0 S2 or S3 V0 is unchanged. An expandable vector is also changeable. A changeable vector remains changeable even after changing the LSBs.
Embedding Reversible Watermark (1/7) R UR={u00,u01,u02} Image I(i, j, k) Secret key U={u00,u10,u20 u01,u11,u21 u02,u12,u22} Assume threshold=30 G UG={u10,u11,u12} B UB={u20,u21,u22}
Embedding Reversible Watermark (2/7) u00(expandable) u01(expandable) u02 (changeable)
Embedding Reversible Watermark (3/7) u11(changeable) u10(changeable) u12 (expandable)
Embedding Reversible Watermark (4/7) u21(expandable) u20(non-changeable) u22 (expandable)
Embedding Reversible Watermark (5/7) S1={v00,v01,v21,v12,v22} S2={v10,v11,v02} S3={v20} S4={v00,v10,v01,v11,v21, v02,v12,v22} U={u00,u10,u20 u01,u11,u21 u02,u12,u22} V={v00,v10,v20 v01,v11,v21 v02,v12,v22} V = f(U) B3:watermark Location Map = 100101011 B2 = 001001001 B=B1B2B3 Compress location map to form B1,and append EOS.
Embedding Reversible Watermark (6/7) S4={v00,v10,v01,v11,v21, v02,v12,v22} Location Map = 100101011 v00:expandable b=(1,0,0) u00=(197,198,199,200) v00=(198,1,2,3) ṽ00=(198,3,4,6) ũ00=(195,198,199,201) v10:changeable b=(1,0,1) u10=(200,100,110,101) v10=(120,-100,-90,-99) ṽ10=(120,-99,-90,-99) ũ10=(200,101,110,101) v01:expandable b=(0,1,1) u01=(150,161,151,155) v01=(154,11,1,5) ṽ01=(154,22,3,11) ũ01=(144,166,147,155)
Embedding Reversible Watermark (7/7) Ŝ1={ṽ00, ṽ01, ṽ21, ṽ12, ṽ22} Ŝ2={ṽ10, ṽ11, ṽ02} ῦ = f -1(Ṽ) ũ00, ũ01, ũ21, ũ12, ũ22 ũ10, ũ11, ũ02 watermarked image Iw(i, j, k) R G B
Reading Watermark and Restoring Image (1/3) watermarked image Iw(i, j, k) R ŨR={ũ00, ũ01, ũ02} Secret key Ũ={ũ00, ũ10, u20 ũ01, ũ11, ũ21 ũ02, ũ12, ũ22} ŨG={ũ10, ũ11, ũ12} G B ŨB={u20, ũ21, ũ22}
Reading Watermark and Restoring Image (2/3) S3={v20} Ŝ4={ṽ00, ṽ10, ṽ01, ṽ11, ṽ21, ṽ02, ṽ12, ṽ22} Ṽ ={ṽ00, ṽ10,v20 ṽ01, ṽ11, ṽ21 ṽ02, ṽ12, ṽ22} Ṽ = f(Ũ) Extract LSBs of each vector in Ŝ4 Identify EOS Ŝ1={ṽ00, ṽ01, ṽ21, ṽ12, ṽ22} Ŝ2={ṽ10, ṽ11, ṽ02} Location map =100101011 B=B1B2B3 Extract B1
Reading Watermark and Restoring Image (3/3) S1={v00, v01, v21, v12, v22} S2={v10, v11, v02} Ŝ1={ṽ00, ṽ01, ṽ21, ṽ12, ṽ22} Ŝ2={ṽ10, ṽ11, ṽ02} b1,…,bN-1 are taken from B to restore V. R Image I(i, j, k) U= f -1(V) u00, u01, u21, u12, u22 u10, u11, u02 G B The remainder B B3:watermark
Payload Size (1/2) ||x|| indicates number of elements in x ||B2|| = ( N – 1 ) ||S2|| Factors of the size 1. Number of expandable vectors. 2. How well the location map can be compressed.
Payload Size (2/2) w x h host image, (w x h) / N vectors αє [0,1] : the percent of the expandable vector in image. βє [0,1]: the compression rate of the location map ||S1|| = α((w x h) / N) ||B1|| = β ((w x h) / N) • N increases The number of expandable vectors may decrease. • Thresholds must be increased to maintain the same number of selected expandable vectors. The quality of the embedded image decreases.
Data-Rate Controller Assume N is fixed. C is the payload length. λє (0,1) : constant T(n)={T1(n),…,Tn-1(n)} T(0) is a preset value.
Cross-Color Embedding cross-color triple u = (R,G,B) cross-color quad u = (R,G,G,B) Example. R=2 G=1 B=1 V0 = = 1 V1 = R – G = 1 V2 = B – G = 0 ====================== G = V0– = 1 – 0 = 1 R = V1 + G = 1 + 1 = 2 B = V2 + G = 0 + 1 = 1 ||B3|| = 2||S1|| - ||B1|| ||B3|| = (2α – β) x w x h
Experimental Results (1/6) Comparison between the performance of the spatial, triplet-based algorithm and the spatial, quad-based algorithm applied to the image once.
Experimental Results (2/6) Comparison between the performance of the spatial, triplet-based algorithm and the spatial, quad-based algorithm applied to the image twice.
Experimental Results (3/6) Embedded using the cross-spectral, quad-based algorithm. Embedded using the cross-spectral, triplet-based algorithm.
Experimental Results (4/6) Size of compressed map versus PSNR for Lena Payload size versus PSNR for Lena
Experimental Results (5/6) Comparison results between spatial, quad-based algorithm and Tian’s using grayscale images. Comparison results between spatial, triplet-based algorithm and Tian’s using grayscale images.
Experimental Results (6/6) Comparison results between spatial, triplet-based algorithm and Celik’s using grayscale images. Comparison results between spatial, quad-based algorithm and Celik’s using grayscale images.
Conclusion • A reversible watermarking scheme • The amount of data embedded into a image depends highly on the nature of the image
Comments • Integrated issues • But unknown purpose • Low robustness • No distortion allowed • Low capacity