program homework implementation of the improved spread spectrum watermarking system
TRANSCRIPT
![Page 1: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/1.jpg)
Program Homework
Implementation of the Improved Spread Spectrum Watermarking System
![Page 2: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/2.jpg)
2
Reference
• Ingemar J. Cox, Joe Kilian, F. Tomson Leighton, and Talal Shamoon, “Secure Spread Spectrum Watermarking for Multimedia,” IEEE Trans. On Image Processing, vol. 6, no. 12, December 1997
• H. S. Marvar and A. F. Florencio, "Improved Spread Spectrum: A New Modulation Technique for Robust Watermarking," IEEE Trans. on Signal Processing, vol. 51, no. 4, April 2003
![Page 3: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/3.jpg)
3
Basic Knowledge
• 2-D DCT• DCT pattern for an 8x8 block• https://en.wikipedia.org/wiki/Discrete_cosine_transform
Middle Band
Low Band
High Band
![Page 4: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/4.jpg)
Spread-Spectrum Watermarking
![Page 5: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/5.jpg)
5
Spread Spectrum
• General form
• Note:• This notation is a little different from Cox 1997,
“Secure Spread Spectrum Watermarking for multimedia”• To match this form to Cox 1997
• V, X are respect to x, u• u = ()T
• b=1
![Page 6: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/6.jpg)
6
Spread Spectrum
• Define• The watermark W = b1 b2 … bn ( ex. n = 1000 )
bi ~ N(0,1)Use Sign(.) to convert bi into 1 or -1
• The Cover Image C is transformed by N×N DCT. Ct=DCT(C).The coefficients to be altered X = x1 x2 … xm
(m coefficients in the Ct except DC, m: extract pattern length)• How to choose X: many heuristics
• In zigzag order choose an interval length = m• Max m coefficients in zigzag order• Random sample m coefficients• m coefficients with largest DCT value• …
![Page 7: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/7.jpg)
7
Spread Spectrum
• Define• The scaling parameter α (e.g. α = 0.1~100 ?)• Extract pattern: (), Length of = m
• can be generate by an N(0,1) + sign(.)• We can use to spread b into many frequency band and extract
it from embedded image
![Page 8: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/8.jpg)
8
Spread Spectrum
• Basic Idea• = + α * b *
• : watermarked signal• : original signal• α: scaling factor for watermark strength• b: watermark bit ()• : extract pattern ()
• Use to spread signal b into many frequency band• In this talk we take s = x + α * b * for example
As you know si = xi(1+ α * b *) can also be our embedding method!!
![Page 9: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/9.jpg)
9
Spread Spectrum
• Embedding Illustrate• Given an image I• Transform color domain from rgb to ycbcr, and then we chose y
channel to embed our watermark • Perform 2-D DCT to y channel• Chose m elements from middle band to get
Middle Band =
Low Band
High Band
= ( )
![Page 10: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/10.jpg)
10
Spread Spectrum
• Embedding Illustrate• Given an Watermarking bit b• Use pattern to spread b’s information into many frequency band• = + α * b *
• Where
b =
�⃑�=(±1⋮
±1)
α = 0.1~100
= ( ) =( )
![Page 11: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/11.jpg)
11
Spread Spectrum
• Extracting Illustrate• Given a watermarked I• Transform color domain from rgb to ycbcr, and then we chose y
channel to extract our watermark • Perform 2-D DCT to y channel• Chose m elements(the same elements in embedding process) from
middle band to get
Middle Band =
Low Band
High Band
= ( )
![Page 12: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/12.jpg)
12
Spread Spectrum
• Extracting Illustrate• Recall: Embedding function
• = + α * b * • Calculate similarity sim =
• Ideal case We can get sim = α * b * = α * b
• Use sign(sim) to extract watermark bit b
![Page 13: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/13.jpg)
13
Spread Spectrum
• So far, we can embed just “1” bit message into imageBut, how can we embed “n” bits?
• 3 Ways• Code division
• Use different extract pattern(orthogonal extract patterns are suggest)
• Frequency division• Embed message into different frequency band
• Spatial division• Slice image into many blocks each block embeds 1 bit
message
![Page 14: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/14.jpg)
Improved Spread-Spectrum Watermarking
![Page 15: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/15.jpg)
15
Improved Spread Spectrum
• Define• The watermark W = b1 b2 … bn ( ex. n = 1000 )
bi ~ N(0,1)Use Sign(.) to convert bi into 1 or -1
• The Cover Image C is transformed by N×N DCT. Ct=DCT(C).The coefficients to be altered X = x1 x2 … xm
(m coefficients in the Ct except DC, m: extract pattern length)• How to choose X: many heuristics
• In zigzag order choose an interval length = m• In this homework we suggest you to use it
• Max m coefficient in zigzag order• Random sample m coefficient• m coefficient with largest DCT value• …
![Page 16: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/16.jpg)
16
Improved Spread Spectrum
• Define• The scaling parameter α (α = 0.1~100 ?)
• The interference control parameter λ • Around 1 will have better performance
• Extract pattern: (), Length of = m• can be generate by an N(0,1) + sign(.)• We can use to spread b into many frequency band and extract
it from embedded image
![Page 17: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/17.jpg)
17
Improved Spread Spectrum
• Basic Idea• = + (α * b -λ * ) *
• , , α, b, : the same as Spread Spectrum• λ: control parameter of cover interference• <a, b>: inner product of vector a and b
• Use lambda term to remove cover interference
![Page 18: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/18.jpg)
18
Improved Spread Spectrum
• Embedding Illustrate• Given an image I• Transform color domain from rgb to ycbcr, and then we chose y
channel to embed our watermark • Perform 2-D DCT to y channel• Chose m elements from middle band to get
Middle Band =
Low Band
High Band
= ( )
![Page 19: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/19.jpg)
19
Improved Spread Spectrum
• Embedding Illustrate• Given an Watermarking bit b• Use pattern to spread b’s information into many frequency band• = + (α * b -λ * ) *
• Where
b =
�⃑�=(±1⋮
±1)
α = 0.1~100
= ( ) =( )
λ = around 1
![Page 20: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/20.jpg)
20
Improved Spread Spectrum
• Extracting Illustrate• Recall: Embedding function
• = + (α * b -λ * ) * • Calculate similarity sim =
• Basically can be canceled by -λ We can get sim = α * b * = α * b
• Use sign(sim) to extract watermark bit b
![Page 21: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/21.jpg)
21
Improved Spread Spectrum
• So far, we can embed just “1” bit message into imageBut, how can we embed “n” bits?
• 3 Ways• Code division
• Use different extract pattern(orthogonal extract patterns are suggest)
• Frequency division• Embed message into different frequency band
• Spatial division• Slice image into many blocks each block embeds 1 bit
message• In this homework we use this method
![Page 22: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/22.jpg)
22
Measurements
• We always have three dimensions in measurement stage• Capacity• Fidelity• Robustness
• When measuring one dimension, you must fix the others• When compare two dimensions, you must fix the other
![Page 23: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/23.jpg)
23
Measurements
• Measurements for Capacity• Amount of message that embedded in cover image• How to improve capacity
• The more blocks you slice the original image, the more bits you can embed into it
• As you know, code division, frequency division methods can also achieve capacity requirement.
![Page 24: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/24.jpg)
24
Measurements
• Measurements for Fidelity• Quality of watermarked image
• Use PSNR value between original image and marked image• Reference website
• https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio
• Code:• Call PSNR(imageA, imageB) in MATLAB
orFind PSNR code in web and use it
• How to improve fidelity• Consider influence of cover images not just use additive
operation to add watermark into it• Consider Human Visual System(ex: perceptual model)• Embedding in other domain(ex: wavelet based approach)
![Page 25: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/25.jpg)
25
Measurements
• Measurements for Robustness• Resistance to several attacks• Use bit error rate BER to measurement performance
• Define:• : original watermark()T
• : extract watermark()T
• L: watermark length
• BER:• (amount of difference bit of and ) / L
• How to improve Robustness• Use adaptive alpha term • Use ECC(error correction code)• Consider JPEG effect(ex: quantization based approach)• Affine-Resistant Watermarking(Lecture 9)
![Page 26: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/26.jpg)
26
Attacks
• Lossy Compression • JPEG compression
• Geometric Distortion• Rotation• Shifting• Scaling• Affine transform
• Cropping• Image Processing
• Blurring• …
![Page 27: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/27.jpg)
27
Homework1 Rules
• Deadline: • 2015/11/30 14:00 (suggest)• Before the week of final exam(I will strictly grade your score)
• Hand-in instructions:• Program: MATLAB code(suggest), other languages are welcome(if I cannot run
your code, I will ask you to perform your program with your own laptop)• Report: PDF file(strongly suggest), others are welcome(but if my computer cannot
open it, you will get 0 score)• Zip all program files, reports into one file and sent to
• Title the mail as: [MMSEC]2015HW1_studentID• Name the attached file as: [MMSEC]2015HW1_studentID.zip• studentID example: R03944006
![Page 28: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/28.jpg)
28
Homework1
• Grading Criteria• Program (30%):
• embed and extract ISS functions• A main program to perform embed and extract process
• Report (70%):• How to execute your code• Any special method you implement besides the basic ISS scheme• Test parameters used in ISS scheme• Test capacity, fidelity and robustness of your watermarking scheme• Compare Improved Spread Spectrum with Spread Spectrum • Compare the influence of attacks on your watermarking scheme
At least 6 types of attacks• Others
![Page 29: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/29.jpg)
29
Homework1
• Baseline• Code: ISS scheme
• Use block DCT to embed message bits into each block• Use sim = to extract message m• Feel free to try different heuristic to chose embedding position• Feel free to try code division or frequency division methods to enhance
capacity
• Report:• Briefly explain what have you done• Feel free to try as many as possible experiments about ISS watermarking• Using images to perform your results is better than just plot test records • Using 中文 is ok, but we suggest you to use English• Have fun with this homework!!
When life gives you lemons, make lemonade
![Page 30: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/30.jpg)
Bonus
• Please propose a blind watermarking scheme of Chiou-Ting Hsu and Ja-Ling Wu, "Hidden Digital Watermarks in Images," IEEE Trans. On Image Processing, Vol.8, No.1, pp.58~68 January. 1999.
• P.S.• You can write down your opinions of the new scheme only• Coding for the new scheme is welcome
30
![Page 31: Program Homework Implementation of the Improved Spread Spectrum Watermarking System](https://reader035.vdocument.in/reader035/viewer/2022062805/5697c0241a28abf838cd4851/html5/thumbnails/31.jpg)
Advanced Reading
• 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. 31