31
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 ( 馮馮馮 )

1 Reversible Watermark Using the Difference Expansion of a Generalized Integer Transform Source : IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 13, NO. 8,

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.

22

Recursive Embedding

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

31

Comments

Integrated issues

But unknown purpose

Low robustness

No distortion allowed

Low capacity