(I) - Implementing the spread-spectrum watermarking system

advertisement
Program Homework
Implementation of the Spread-Spectrum
Watermarking System
Reference
• Ingemar J. Cox, Joe Kilian, F. Thomson Leighton, and Talal
Shamoon, "Secure Spread Spectrum Watermarking for
Multimedia," IEEE Trans. on Image Processing, Dec. 1997
2
Informed Spread-Spectrum Watermarking
Embedder (with original C)
• The watermark X = x1 x2 … xn ( ex. n = 1000 )
xi ~ N(0,1)
Use Sign(.) to convert xi into 1 or -1
• The Cover Image C is transformed by N×N DCT. Ct=DCT(C).
The coefficients to be altered V = v1 v2 … vn
(n largest magnitude coefficients in the Ct except DC)
• The scaling parameter α (e.g. α = 0.1~100 ?)
• Embedding:
 v1   v1   x1 
v   v   x 
 2    2    2  
    
     
 vn   vn   xn 
4
Informed Extractor (with original C)
• The distorted coefficients V* = v*1 v*2 … v*n
(n largest magnitude coefficients in the Ct except DC)
• The extracted watermark X* = x*1 x*2 … x*n
  v*1   v1  
   
*
v2  

v
*
2


X 

     
   
  v * n  vn 
   

5
Informed S-S watermarking system
  v   v  
 x 
* Ideal Case


  

*
1
 v*( i 1)k 1   v(i 1)k 1 
 *
  

v
v
(
i

1
)

k

2
(
i

1
)

k

2




 



 *
 

 v ik   vik 
1
 
*
 v 2  v 2  
X  X  








  



*
  v n  vn  


*
1

 
 x2 

 
  xn 

 x1   x1 
x  x 
  2 2
 
   
 xn   xn 
  v*1   v1  
  *    
 v 2  v 2  
*
fake
X X
 








  



*

  v n  vn  


 x1   x fake1 
 x   fake 
x 2
  2
0
   
   fake 
 xn   x n 

  x fake1 
  fake 
 x 2 
 
   
  x faken 

6
Informed S-S watermarking system
* Evaluation SimX , X   X  X
*
*
X* X*
7
Blind Spread-Spectrum Watermarking
Embedder (without original C)
• The watermark X = x1 x2 … xn ( ex. n = 1000 )
xi ~ N(0,1)
Use Sign(.) to convert xi into 1 or -1
• The Cover Image C is transformed by N×N DCT. Ct=DCT(C).
The coefficients to be altered V = v1 v2 … vn
(the first n coefficients according to the zigzag order in the Ct except DC)
• The scaling parameter α (α =0.1~100 ?)
• Embedding:
 v1   v1   x1 
v   v   x 
 2    2    2  
    
     
 vn   vn   xn 
9
Blind Extractor (without original C)
• The distorted image C* is transformed by N×N DCT. C*t=DCT(C*).
• The distorted coefficients V* = v*1 v*2 … v*n
(the first n coefficients according to the zigzag order in the C*t except DC)
• The extracted watermark X* = x*1 x*2 … x*n
 v *1 
 * 
v 2
*

V 
  
 * 
 v n 
10
Blind S-S watermarking system
Ideal Case
v   x 
*
1
 v*( i 1)k 1   v(i 1)k 1 
 *
  

v
v
(
i

1
)

k

2
(
i

1
)

k

2




 



 *
 

 v ik   vik 
1
 *   
x
v
V*  X   2 2
   
 *   
 v n   xn 
 v1   x1 
  x1 
   
  
 v 2   x 2 
 x


    2   n  X 2 
     
 
 vn   xn 
  xn 


 v *1   x fake1 
 *   fake 
v
x 2
V *  X fake   2   
     
 *   fake 
 v n   x n 
 v1   x1 
  x fake1 
   
  fake 
 v 2   x 2 
 x 2


   
 n0


     
   
 vn   xn 
  x faken 


11
Blind S-S watermarking system
* Evaluation SimX , X   X  X
*
*
X* X*
?
12
Attack
• Lossy Compression
• JPEG compression
• Geometric Distortion
• Rotation
• Cropping
• Image Processing
• Blurring
13
Bonus 1 - Multiple watermarking system
 v(i 1)k 1   v(i 1)k 1   w( i 1)k 1 
v
 v
 w

 (i 1)k  2    ( i 1)k  2    (i 1)k  2   

    




 
 


v
v
w
i k
 i k   i k  

 v*(i 1)k 1   w(i 1)k 1 
 *
 

w
v
X *  X   (i 1)k  2    ( i 1)k  2 

 



 *
 

w
 v ik  
i k

  v(i 1)k 1   w(i 1)k 1 
  w(i 1)k 1 

 




 v ( i 1)k  2   w(i 1)k  2 
  w( i 1)k  2 


  
(ideal case)
   







 



 v

  ik   wik 
  wik 
14
Bonus 1 - Multiple watermarking system - Challenges
• Challenge 1 – Extract exactly correct message
• Increase α?
• Change the embedding process to
 v(i 1)k 1   v( i 1)k 1   w( i 1)k 1 
v 
 v
 w

(
i

1
)

k

2
(
i

1
)

k

2
(
i

1
)

k

2



  q 
i

    
 i



 
 


v
v
w
i k
 i k   i k  

• Challenge 2 – Maximize the number of watermarks
• Find out the optimal k
• Challenge 3 – Improve the fidelity (PSNR or SAD) of embedded image
• Change the embedding process to

 v(i 1)k 1   v(i 1)k 1    w(i 1)k 1 


v 
 v

w

 (i 1)k  2    (i 1)k  2   1   (i 1)k  2   q   
i

     
 i




 
  


 vik   vik    wik 

15
Bonus 2
• Please propose a blind watermarking scheme of ChiouTing Hsu and Ja-Ling Wu, "Hidden Digital Watermarks
in Images," IEEE Trans. On Image Processing, Vol.8,
No.1, pp.58~68 January. 1999.
16
Bonus 3
• Watermarking on other multimedia
•
No limitation on multimedia materials.
• References:
• Video
•
•
“Digital Video Watermarking in P-Frames with Controlled Video Bit-Rate Increase”,
IEEE Transactions on Information Forensics and Security, 2008.
“Blind MPEG-2 Video Watermarking Robust Against Geometric Attacks: A Set of
Approaches in DCT Domain”, IEEE Transactions on Image Processing, 2006.
• Audio
•
•
“Spread-Spectrum Watermarking of Audio Signals”, IEEE Transactions on Signal
Processing, 2003.
“Watermarked Movie Soundtrack Finds the Position of the Camcorder in a Theater”,
IEEE Transactions on Multimedia, 2009.
• Graphics
•
“Watermarking Three-Dimensional Polygonal Models Through Geometric and
Topological Modifications”, IEEE Journal on Selected Areas in Communications, 1998.
• Text
•
“Data Hiding in Binary Image for Authentication and Annotation”, IEEE Transactions on
Multimedia, 2004.
17
Rules
• Deadline:2014-12-01
• 繳交方式
• 將整份程式及說明文件壓縮成一個檔案,以附件寄至助教信箱
(hansqiu@cmlab.csie.ntu.edu.tw)。
• 主旨格式: MMSec2014_Homework1_學號_姓名
• 附件檔名格式:MMSec2014_Homework1_學號_姓名.rar or .zip
• 評分標準
• 程式功能(30%):可 embed 及 extract watermark message。
• 書面報告(70%):
• 須詳細解釋如何執行繳交的程式;
• 須包含 marked image 與 original image 的 PSNR及類似第7頁的
圖表( 即用另外 999 個不同的 watermark extract);
• 須包含各項常見攻擊(見第13頁,至少需9種)對此浮水印機
制所造成的影響,並整理成圖表。
18
Rules
•
•
•
Deadline:2014-12-01
Hand-in instructions:
• Zip all program files, documentation, and report into one file and send it to
hansqiu@cmlab.csie.ntu.edu.tw .
• Title the mail as: MMSec2014_Homework1_studentID_Name
• Name the attached file as: MMSec2014_Homework1_studentID_Name.rar
or .zip
Grading criteria:
• Program(30%):including embed and extract watermark message.
• Report(70%):
• Clearly describe how to execute your program.
• Count the PSNR value between the marked image and the original
image, and use figures (as shown in page 7) to illustrate which
message sequence (among all 1000 sequences) is the correct
watermark.
• Compare the influence of all attacks on your watermarking mechanism.
You can illustrate that with figures as shown in page 13, and at least do
9 types of attacks.
19
Download