Data Hiding Watermarking for Halftone Images IEEE Transactions on Image Processing, VOL.11,No.4,April 2002 Ming Sun Fu ,Student Member ,IEEE Oscar C.Au ,Senior Member ,IEEE Reporter:Liu Rui May 20th,2008
Outline Introduction Data Hiding Without Original Multitone Image Data Hiding with Original Multitone Image Experimental Results Conclusion
Introduction Data Hiding for halftone images Data Hiding Smart Pair Toggling(DHSPT) Modified Data Hiding Error Diffusion (MDHED)
Data Hiding Without Original Multitone Image Data Hiding Self Toggling(DHST) Data Hiding Pair Toggling(DHPT) Data Hiding Smart Pair Toggling(DHSPT)
Data Hiding Self Toggling(DHST) A pseudo-random number generator with a seed is used to identify the pseudo-random location where the data is embedded. The pixel at the location is 0 or 1 according to the data bit to be embedded.
Data Hiding Self Toggling(DHST) 1 1 1,3 1,8 2,5 2,9 …… 8,1 1 … …… pseudo-random number generator host image Embedded data
Data Hiding Pair Toggling(DHPT) Master pixel: A pixel at a pseudo-random location needs to self-toggle Slave pixel: There are M pixels of opposite color in the neighborhood. One of the M pixels is chosen to self-toggle also. If M equals zero,no compelmentary toggling is performed 1 1
Data Hiding by Smart PairToggling DHSPT is the same as DHPT except that the choice of the slave pixel for complementary toggling is not random. The candidate with minimum after-toggle “connection” conafter(m,n)
Data Hiding by Smart PairToggling X1 X 2 X3 X4 X0 X5 X6 X7 X8 Where w(i) = 1 for i = 1, 3, 6, 8 and w(i) = 2 for i = 2, 4, 5, 7
Data Hiding by Smart PairToggling con(m,n)min=0 con(m,n)max=12 If x0 is toggled to x0 and the eight neighboring neighbors are not changed,then f(x0,xi)+f(x0,xi)=1 and 1 1
conafter(2,2)=1×0+2×1+1×1+2×1+2×1+1×0+2×1+1×0=9 1 conbefore(2,2)=1+1+1=3 conafter(2,2)=1×0+2×1+1×1+2×1+2×1+1×0+2×1+1×0=9
f(x0,xi)+f(x0,xi)=0 1 1 If the master and slave are horizontal or vertical neighbors W(i)=2,conbefore(m,n)+conafter(m,n)=10 Otherwise , w(i)=1,conbefore(m,n)+conafter(m,n)=11
conafter(1,2)=10-(2. 1+1. 1+1. 1)=6 conafter(1,3)=11-(2. 1+2 conafter(1,2)=10-(2*1+1*1+1*1)=6 conafter(1,3)=11-(2*1+2*1)=7 conafter(2,1)=10-(1*1+1*1)=8 conafter(2,3)=10-(1*1+2*1+1*1)=5 conafter(3,2)=10-(1*1+1*1)=8 1 1 1
Data Hiding With Original Multitone Image Data Hiding Error Diffusion(DHED) Modified Data Hiding Error Diffusion(MDHED) Both DHED and MDHED start off with DHST. DHED and MDHED use error diffusion to diffuse the self-toggling distortion to many neighboring pixels to achieve higher visual quality.
Error Diffusion The algorithm is a "neighborhood" algorithm. x 7 3 5 1 Floyd and Steinberg (1975)
Error Diffusion Dithering by Floyd-Steinberg error diffusion threshold = (black + white)/2 For all x and y do if f(x,y)<threshold then g(x,y)=black e=f(x,y) - black else g(x,y)=white e=f(x,y) – white end if f(x+1,y)= f(x+1,y)+7e/16 f(x-1,y+1)= f(x-1,y+1)+3e/16 f(x,y+1)= f(x,y+1)+5e/16 f(x+1,y+1)= f(x+1,y+1)+e/16 End for
Error Diffusion e=140-255 = -115 Threshold = 128 255 140 95 178 53 98 140 95 178 53 98 255 95 178 53 98 e=140-255 = -115
Error Diffusion x 7 3 5 1 255 45 156 17 91
Data Hiding Error Diffusion(DHED) Step 1 25 30 90 200 150 40 75 80 110 100 160 65 85 180 60 70 190 230 120 50 170 2,3 3,6 4,2 …… 6,3 255 …… 255 pseudo-random number generator Host Image
Data Hiding Error Diffusion(DHED) Step 2 205 70 190 80 140 95 170 50 100 x 7 3 5 1 255 140 45 148 14 92 e=140-255 = -115
Data Hiding Error Diffusion(DHED) x 7 3 5 1 205 70 190 80 140 95 170 50 100 e(1,1)=-50 e(1,2)=70 e(1,3)=-65 e(2,1)=80 a(2,2)=[(-50)+5*(70)+3*(-65)+7*(80)]/16=42 f(2,2)=140+42=182 y(2,2)=255 e(2,2)=-73 255 140 95 170 50 100 1 5 3 7 x
Modified Data Hiding Error Diffusion(MDHED) In MDHED, the DHST is applied as in DHED. The error diffusion is modified to become noncausal such that the error is fed not only to future pixels but also to past pixels C11 C12 C13 C21
Modified Data Hiding Error Diffusion(MDHED)
Modified Data Hiding Error Diffusion(MDHED) 25 30 90 200 150 40 75 110 100 160 65 85 180 255 190 230 120 50 80 170 70 60 255 200 190 230 120 50 80 160 170 70 30 60 255 255 eguess(4,2)=70-0=70 a(3,3)=【75+5×(80-0)+3×(110-0)+7×(85-0)】/16=88 f(3,3)=x(3,3)+a(3,3)+1/8×1/3×70=100+88+3=191 y(3,3)=255 e(3,3)=--64 eguess(4,2)=70-0=70 a(4,1)=【5×(65-0)+3×(85-0】/16=35 f(4,1)=x(4,1)+a(4,1)+3/8×1/3×70=74 y(4,1)=0 e(4,1)=74 eguess(4,2)=70-0=70 a(3,2)=【40+5×(75-0)+7×(65-0)】/16=51 f(3,2)=x(3,2)+a(3,2)+3/8×1/3×70=85+51+9=145 y(3,2)=255 e(3,2)=-110 eguess(4,2)=70-0=70 a(3,1)=【0+5×(85-0)+3×(100-0)+7×(30-0)】/16=58 f(3,1)=x(3,1)+a(3,1)+1/8×1/3×70=65+58+3=126 y(3,1)=0 e(3,1)=126
Modified Data Hiding Error Diffusion(MDHED) 255 200 190 230 120 50 80 160 170 70 30 60 a(4,2)=63 e(4,2)=110 f(4,2)=133
Experimental Results
Experimental Results
Experimental Results
Experimental Results
Conclusion When the original multitone image is not avaible,DHSPT can hide a large amount of data in halftone images. When the original multitone image is avaible and the halftoning method is error diffusion,MDHED can hide data in the halftone images .the experimental results suggest that the resulting image quality is very high.