wet paper coding Self-reference watermarking scheme

A Self-Reference Watermarking Scheme
Based on Wet Paper Coding
Chair Professor Chin-Chen Chang
Feng Chia University
National Chung Cheng University
National Tsing Hua University
http://msn.iecs.fcu.edu.tw/~ccc
1
Outline





Introduction
Related works
Self-reference watermarking scheme
Experimental results
Conclusions
2
Introduction (1/2)

Fragile watermarking technique
Protect the integrity of image content
 Detect and locate the tampered areas

(a) Original image
(b) Tampered image
(c) Detected image
3
Introduction (2/2)


Detect and locate the tampered areas
Restore the tampered areas
(a) Original image
(b) Tampered image
(c) Detected image
(c) Restored image
4
Related works — VQ Compression
Original Image
0
(16, 200, …, 90)
1
60
61
175
…
1
(35, 22, …, 100)
100
95
203 175
…
2
(40, 255, …, 59)
.
.
.
.
.
.
.
.
.
...
Index table
254 (90, 102, …, 98)
255 (145, 16, …, 99)
Codebook
5
Vector Quantization (VQ) Codebook Training

Codebook Generation
0
1
2
.
.
.
.
.
.
Training Images
N-1
N
Training Set
Separating All Training Images to Vectors
6
Vector Quantization (VQ) Codebook Training

Codebook Generation (Ex: Codebook Size = 256)
0
1
.
.
.
.
.
.
N-1
N
Training Set
0
1
.
.
.
254
255
Initial Codebook
Codebook Initiation
7
Vector Quantization (VQ) Codebook Training
LBG Algorithm
X
X
X
X
X
X
Training Set



Training 256 codewords each time
K times
Until the difference between every two times is smaller
than the threshold
8
CODEBOOK
Index
1
2
3
4
5
6
7
8
9
10 11 12
13 14
15 16
0
32 57
49 36 42 30 92 73 65 29 17 24
36 90
12 37
1
12 11
14 162 17 116 37 197 15 43 67 59
38 92
44 72
2
64 37
92 115 24 123 69 183 23 47 96
2
54 39
47 92
3
49 36
50 67 15 238 21 212 22 142 19 31
49 11
36
5
4
82 47
96 55 63 79 82 56 43 92 99 41
41 44
21
3
247 43 12
39 56 78 211 30 120 51 164 19 21
34 12
34 96
248 22 63
11 57
2 113 27 49 32 56 93 28
49 72
88 59
249 50 45
20 59 23 27 93 49 77 82 10 22
49 33
56 57
250 18 45
43 72 59 170 44 72 83 43 81
9
52 55
9
251 43
54
36 44 72 83 92 120 13 49
87 56
31 12
252 92 91
24 210 30 251 32 43 99 85 96 43
72 90
66 43
253 73 33
44 92 90 85 79 36 49 37 58 72
63 77
65 42
254
2
44
32 59 50 237 46 124 15 170 12 92
79 83
65 72
255
9
57
92 99 81 124 13 192 77 18 23 41
82 42
96 33
6
2
codeword
10
9
Codebook

Example
To encode an input vector, for example, v = (150,145,121,130)
(1) Compute the distance between v with all vectors in codebook
d(v, cw1) = 114.2
d(v, cw2) = 188.3
d(v, cw3) = 112.3
d(v, cw4) = 124.6
d(v, cw5) = 122.3
d(v, cw6) = 235.1
d(v, cw7) = 152.5
d(v, cw8) = 63.2
(2) So, we choose cw8 to replace the input vector v.
10
Related works — Wet Paper Coding
Wet Paper Coding
Key
1
0 0
1 0 1
1 0
1
0 1
1 0
1 0 0
0 1 1 1
0
0 0 0 0
1
0 1
1 1 1 0
0
1
1 0
0
0
1
1
0
1
1
0 0
1
1
1 1 0 0
0
0 0
Fridrich, J. Goljan, M., Lisonek, P. and Soukal, D., “Writing on Wet Paper,” IEEE
Transactions on Signal Processing, vol. 53, no. 10, pp. 3923- 3935, 2005.
11
The important area is
marked as wet pixel
21 30 30
Cover Image
?
×
Random
Matrix
=
LSB of
Cover
Image
20 30 31
Stego-image
Secret Data
12
Self-reference watermarking scheme (1/3)

: wet pixel
Authentication embedding layer
i
102 125
124
01100110
011111010
136 151
10001000
10010111
authentication code : Ai  H SK (0011 )  10
wet paper coding
Original image
[ D][ Lx ]  [ Ai ]
LSBs
secret key
 0001 
[D ]  

0100


0 
1 
[Lx ]   
0 
 
1 
0 
 
 0001  10 1
[ D] [ Lx ]  
 



0100  0
0 
 
1 
13
Self-reference watermarking scheme (2/3)

Restoration embedding layer
VQ Encoding
i
r
0
1
2
3
(120,155,…,80)
(100,125,…,150)
(217,135,…,120)
(49,117,…,25)
Codebook
Original image
1
1
3
2
Index table
14
Self-reference watermarking scheme (3/3)

: wet pixel
Restoration embedding layer
i
157
159 116
10011101
1
01110100
200 223
221
11001000
11011111
0
r
wet paper coding
[D][Ly]  [R]
Original image
1
1
3
2
Index table
Restoration bits: 01
0
1
 
0001  0 0
[ D ] [ Ly ]  
 

1000  0 1
 
1
0
15
Verification and restoration (1/2)

Verification layer
i
102 124
01100110
01111100
136 151
10001000
10010111
authentication code : Ai  H SK (0011 )  10
wet paper coding
Original image
[ D][ Lx ]  [ Ai ]
LSBs
secret key
 0001 
[D ]  

0100


0 
0 
[Lx ]   
0 
 
1 
0 
 
 0001  0 1
[ D ] [ Lx ]  
 



0100  0
0 
 
1
16
Verification and restoration (2/2)

Reconstruction layer
i
159 116
10011111
01110100
200 221
11001000
11011101
r
wet paper coding
[D][Ly]  [R]
Original image
0 (120,155,…,80)
1 (100,125,…,150)
2 (217,135,…,120)
3 (49,117,…,25)
Codebook
Restoration bits: 01
1
 
0001  0 0
[ D ] [ Ly ]  
 

1000  0 1
 
0 
17
Experimental Results
18
Tampering attack and the detection results (1/3)
for smooth image Airplane
(a) Airplane, PSNR=47.17 dB
(b) Noised image from (a)
(c) Detected result from (a)
19
Tampering attack and the detection results (2/3)
for smooth image Lena
(a) Lena, PSNR=47.19 dB
(b) Manipulated image from (a)
(c) Detected result from (a)
20
Tampering attack and the detection results (3/3)
for smooth image Pepper
(a) Pepper, PSNR=47.16 dB
(b) Manipulated image from (a)
(c) Detected result from (a)
21
Detection and restoration (1/3)
for smooth image Airplane
(a) Enlarged watermarked image Airplane,
PSNR=47.17 dB
(b) Manipulated image with cropping,
PSNR=28.64 dB
(c) Detection result (marked with black dots)
(d) Restoration result, PSNR=41.35 dB
22
Detection and restoration (2/3)
for normal image Lena
(a) Enlarged watermarked image Lena,
PSNR=47.19 dB
(b) Manipulated image with cropping,
PSNR=25.78 dB
(c) Detection result (marked with black dots)
(d) Restoration result, PSNR=44.89 dB
23
Detection and restoration (3/3)
for rough image Pepper
(a) Enlarged watermarked image Pepper,
PSNR=47.16 dB
(b) Manipulated image with cropping,
PSNR=22.46 dB
(c) Detection result (marked with black dots)
(d) Restoration result, PSNR=41. 96 dB
24
Conclusions

Propose a self-reference watermarking approach

Utilize VQ to achieve the reconstruction data with high
compression rate

Using wet-paper coding to improve the security

Detect and locate the tampered regions sensitively

Reconstruct the invalid regions with satisfactory quality

Protect the integrity of image content
25