Upload
suzan-mosley
View
223
Download
0
Embed Size (px)
Citation preview
1
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 (馮振邦 )
2
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
3
The Proposed Scheme
Hide watermark into protected
image
Can fully restore the original image Use the difference of neighborhood
pixels
4
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 Inverse Difference Expansion Transform f -1 (.) :
The Forward Difference Expansion Transform f(.) :
5
(u0, u1, u2 , u3) = (8, 10, 14, 15)(a0, a1, a2 , a3) = (1, 2, 2, 1)=======================
v0 = =
= 11v1 = 10 – 8 = 2v2 = 14 – 8 = 6v3 = 15 – 8 = 7=======================(v0,v1,v2,v3) = (11,2,6,7)
1221
1*152*142*101*8
6
71
(v0, v1, v2 , v3) = (11, 2, 6, 7)(a0, a1, a2 , a3) = (1, 2, 2, 1)=======================
u0 = 11 -
= 11- 3 = 8u1 = 2 + 8 = 10u2 = 6 + 8 = 14u3 = 7 + 8 = 15=======================(u0,u1,u2,u3) = (8,10,14,15)
1221
1*72*62*2
Generalized Difference Expansion (2/5)
6
Def1. Expandable
For all value of b1,…,bN-1
(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
1221
1*512*212*5
1,0
Generalized Difference Expansion (3/5)
00011100111000111b
7
Def2. changeable
(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
2
2
2
6
2
7
1221
1*72*62*3
Generalized Difference Expansion (4/5)
0001110001100011000011b
8
Generalized Difference Expansion (5/5)
S1: expandable and |vi| ≤ Ti, i=1,…,N-1
S2: changeable S3: not changeable
S4 = S1 U 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.
9
Embedding Reversible Watermark (1/7)
Image I(i, j, k)
R
G
B
UR={u00,u01,u0
2}
UG={u10,u11,u1
2}
UB={u20,u21,u2
2}
Secret key U={u00,u10,u20
u01,u11,u21
u02,u12,u22}
Assume threshold=30
10
Embedding Reversible Watermark (2/7)
a 1 2 2 1
U 150 161 151 155
V 154 11 1 5
Back 150 161 151 155
Expandable
154 23 3 11
CU1 144 167 147 155
Changeable
154 11 1 5
CU2 150 161 151 155
a 1 2 2 1
U 197 198 199 200
V 198 1 2 3
Back 197 198 199 200
Expandable
198 3 5 7
CU1 195 198 200 202
Changeable
198 1 3 3
CU2 197 198 200 200a 1 2 2 1
U 100 210 110 101
V 140 110 10 1
Back 100 210 110 101
Expandable
140 221 21 3
CU1 59 280 80 62
Changeable
140 111 11 1
CU2 100 211 111 101
u00(expandable)
u01(expandable)
u02
(changeable)
11
a 1 2 2 1
U 200 100 110 101
V 120 -100 -90 -99
Back 200 100 110 101
Expandable
120 -199 -179 -197
CU1 279 80 100 82
Changeable
120 -99 -89 -99
CU2 200 101 111 101
a 1 2 2 1
U 200 100 190 101
V 146 -100 -10 -99
Back 200 100 190 101
Expandable
146 -199 -19 -197
CU1 252 53 233 55
Changeable
146 -99 -9 -99
CU2 199 100 190 100a 1 2 2 1
U 150 145 155 153
V 150 -5 5 3
Back 150 145 155 153
Expandable
150 -9 11 7
CU1 149 140 160 156
Changeable
150 -5 5 3
CU2 150 145 155 153
u10(changeable)
u11(changeable)
u12
(expandable)
Embedding Reversible Watermark (3/7)
12
a 1 2 2 1
U 255 255 255 255
V 255 0 0 0
Back 255 255 255 255
Expandable
255 1 1 1
CU1 255 256 256 256
Changeable
255 1 1 1
CU2 255 256 256 256
a 1 2 2 1
U 0 0 0 0
V 0 0 0 0
Back 0 0 0 0
Expandable
0 1 1 1
CU1 0 1 1 1
Changeable
0 1 1 1
CU2 0 1 1 1a 1 2 2 1
U 5 10 8 11
V 8 5 3 6
Back 5 10 8 11
Expandable
8 11 7 13
CU1 0 11 7 13
Changeable
8 5 3 7
CU2 5 10 8 12
u20(non-changeable) u21(expandable)
u22
(expandable)
Embedding Reversible Watermark (4/7)
13
Embedding Reversible Watermark (5/7)
U={u00,u10,u2
0
u01,u11,u21
u02,u12,u22}
V = f(U)
V={v00,v10,v20
v01,v11,v21
v02,v12,v22}
S1={v00,v01,v21,v12,v
22}
S2={v10,v11,v02}
S3={v20}
S4={v00,v10,v01,v11,v
21,
v02,v12,v22}
Location Map = 100101011
B2 = 001001001Compress location map to form B1,and append EOS.
B3:watermark B=B1B2B
3
14
Embedding Reversible Watermark (6/7)
S4={v00,v10,v01,v11,v21,
v02,v12,v22}
Location Map = 100101011
v00:expandableb=(1,0,0)u00=(197,198,199,200)v00=(198,1,2,3)ṽ00=(198,3,4,6)ũ00=(195,198,199,201)
v10:changeableb=(1,0,1)u10=(200,100,110,101)v10=(120,-100,-90,-99)ṽ10=(120,-99,-90,-99)ũ10=(200,101,110,101)
v01:expandableb=(0,1,1)u01=(150,161,151,155)v01=(154,11,1,5)ṽ01=(154,22,3,11)ũ01=(144,166,147,155)
15
Ŝ1={ṽ00, ṽ01, ṽ21, ṽ12, ṽ22}
Ŝ2={ṽ10, ṽ11, ṽ02}
ῦ = f -1(Ṽ) ũ00, ũ01, ũ21, ũ12, ũ22
ũ10, ũ11, ũ02
R
G
B
watermarked image Iw(i, j, k)
Embedding Reversible Watermark (7/7)
16
Reading Watermark and Restoring Image (1/3)
R
G
B
watermarked image Iw(i, j, k) Secret
key
ŨR={ũ00, ũ01, ũ02}
ŨG={ũ10, ũ11, ũ12}
ŨB={u20, ũ21, ũ22}
Ũ={ũ00, ũ10, u20
ũ01, ũ11, ũ21
ũ02, ũ12, ũ22}
17
Ṽ = f(Ũ)
Ṽ ={ṽ00, ṽ10,v20
ṽ01, ṽ11, ṽ21
ṽ02, ṽ12, ṽ22}
S3={v20}
Ŝ4={ṽ00, ṽ10, ṽ01, ṽ11, ṽ21,
ṽ02, ṽ12, ṽ22}
Extract LSBs of each vector in Ŝ4 B=B1B2B3
Identify EOS
Extract B1
Location map
=100101011
Ŝ1={ṽ00, ṽ01, ṽ21,
ṽ12, ṽ22}
Ŝ2={ṽ10, ṽ11, ṽ02}
Reading Watermark and Restoring Image (2/3)
18
Ŝ1={ṽ00, ṽ01, ṽ21,
ṽ12, ṽ22}
Ŝ2={ṽ10, ṽ11, ṽ02}
1,...,1,2
~
Niv
vi
i
b1,…,bN-1 are taken from
B to restore V.
S1={v00, v01, v21,
v12, v22}
S2={v10, v11, v02}
U = f -1(V) u00, u01, u21, u12, u22
u10, u11, u02
R
G
B
Image I(i, j, k)
The remainder B B3:watermar
k
Reading Watermark and Restoring Image (3/3)
19
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.
20
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.
21
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.
23
Cross-Color Embedding
cross-color triple u = (R,G,B)
cross-color quad u = (R,G,G,B)
||B3|| = 2||S1|| - ||B1||
||B3|| = (2α – β) x w x h
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
4
122
4
01
24
Experimental Results (1/6)
Comparison between the performance of the spatial, triplet-basedalgorithm and the spatial, quad-based algorithm applied to the image once.
25
Experimental Results (2/6)
Comparison between the performance of the spatial, triplet-basedalgorithm and the spatial, quad-based algorithm applied to the image twice.
26
Experimental Results (3/6)
Embedded using the cross-spectral, triplet-based algorithm.
Embedded using the cross-spectral, quad-based algorithm.
27
Experimental Results (4/6)
Payload size versus PSNR for Lena
Size of compressed map versus PSNR for Lena
28
Experimental Results (5/6)
Comparison results between spatial, triplet-based
algorithm and Tian’s using grayscale images.
Comparison results between spatial, quad-based algorithm and Tian’s using grayscale images.
29
Experimental Results (6/6)
Comparison results between spatial, quad-based algorithm and Celik’s using grayscale images.
Comparison results between spatial, triplet-based algorithm and Celik’s using grayscale images.
30
Conclusion
A reversible watermarking scheme The amount of data embedded into
a image depends highly on the nature of the image