SlideShare una empresa de Scribd logo
1 de 6
DCT Based watermarking recovering without
restoring to the uncorrupted Original Image




Umair Amjad umairamjadawan@gmail.com
Agenda
Watermark embedding
Watermark detection


                   DCT-basedWatermark Recovering
          without Resorting to the Uncorrupted Original Image
               A. Piva, M. Barni, F. Bartolini, V. Cappellini
                 Dipartimento di Ingegneria Elettronica
                           Universit`a di Firenze
                   via S. Marta 3, 50139, Firenze, Italy
                     e-mail piva@cosimo.die.unifi.it
Watermark Embedding
Read image. Lets say, I.
DCT transform is applied.
DCT coefficients are reordered into a zigzag scan.
It is now impossible for the decoder to determine the position of the coefficients with the
largest magnitude, since non-marked image is no longer available.

T = {t1, t2, . . . . . . , tL, tL+1, . . . . . . , tL+M}
To get perceptual invisibility we skipped first L coefficients.
Now, watermark X = {x1, x2, . . . . . . , xM} (choose among pseudo-random sequences) is
embedded in the last M numbers, to obtain a new vector.
T’ = {t1, t2, . . . . . . , tL, t’L+1, . . . . . . , t’L+M}

According to the rule:
t’L+i = tL+i + α |tL+i| xi

Where i = 1, . . . . . , M

Now the vector T’ is inserted in the inverse zigzag scan and the inverse DCT algorithm is
performed, obtaining the watermarked image I’.
Watermark Detection
Read watermarked image. Lets say I*.
DCT transform is applied.
Perform zigzag scan.
Now coefficient (L+1)th to (L+M)th are selected to generate a vector.
T* = {t*L+1, t*L+2,. . . . . . , t*L+M}

The correlation between the corrupted coefficients T*, and the mark itself is taken as a
measure of the mark presence.



For this we generate 1000 random fake watermarks.
Correlation is computed for each of the marks and that with the largest correlation is
assumed to be the one really present in the image.
Original Image   Waterwark Image
Original Image   Waterwark Image

Más contenido relacionado

Más de Umair Amjad

Automated Process for Auditng in Agile - SCRUM
Automated Process for Auditng in Agile - SCRUMAutomated Process for Auditng in Agile - SCRUM
Automated Process for Auditng in Agile - SCRUMUmair Amjad
 
Data Deduplication: Venti and its improvements
Data Deduplication: Venti and its improvementsData Deduplication: Venti and its improvements
Data Deduplication: Venti and its improvementsUmair Amjad
 
Bead–Sort :: A Natural Sorting Algorithm
Bead–Sort :: A Natural Sorting AlgorithmBead–Sort :: A Natural Sorting Algorithm
Bead–Sort :: A Natural Sorting AlgorithmUmair Amjad
 
Apache logs monitoring
Apache logs monitoringApache logs monitoring
Apache logs monitoringUmair Amjad
 
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsExact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsUmair Amjad
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginnerUmair Amjad
 
SQL WORKSHOP::Lecture 7
SQL WORKSHOP::Lecture 7SQL WORKSHOP::Lecture 7
SQL WORKSHOP::Lecture 7Umair Amjad
 
SQL WORKSHOP::Lecture 6
SQL WORKSHOP::Lecture 6SQL WORKSHOP::Lecture 6
SQL WORKSHOP::Lecture 6Umair Amjad
 
SQL WORKSHOP::Lecture 5
SQL WORKSHOP::Lecture 5SQL WORKSHOP::Lecture 5
SQL WORKSHOP::Lecture 5Umair Amjad
 
SQL WORKSHOP::Lecture 4
SQL WORKSHOP::Lecture 4SQL WORKSHOP::Lecture 4
SQL WORKSHOP::Lecture 4Umair Amjad
 
SQL WORKSHOP::Lecture 13
SQL WORKSHOP::Lecture 13SQL WORKSHOP::Lecture 13
SQL WORKSHOP::Lecture 13Umair Amjad
 
SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12Umair Amjad
 
SQL WORKSHOP::Lecture 11
SQL WORKSHOP::Lecture 11SQL WORKSHOP::Lecture 11
SQL WORKSHOP::Lecture 11Umair Amjad
 
SQL WORKSHOP::Lecture 10
SQL WORKSHOP::Lecture 10SQL WORKSHOP::Lecture 10
SQL WORKSHOP::Lecture 10Umair Amjad
 
SQL WORKSHOP::Lecture 9
SQL WORKSHOP::Lecture 9SQL WORKSHOP::Lecture 9
SQL WORKSHOP::Lecture 9Umair Amjad
 
SQL WORKSHOP::Lecture 3
SQL WORKSHOP::Lecture 3SQL WORKSHOP::Lecture 3
SQL WORKSHOP::Lecture 3Umair Amjad
 
SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2Umair Amjad
 
SQL WORKSHOP::Lecture 1
SQL WORKSHOP::Lecture 1SQL WORKSHOP::Lecture 1
SQL WORKSHOP::Lecture 1Umair Amjad
 
Multi-core processor and Multi-channel memory architecture
Multi-core processor and Multi-channel memory architectureMulti-core processor and Multi-channel memory architecture
Multi-core processor and Multi-channel memory architectureUmair Amjad
 
Migration from Rails2 to Rails3
Migration from Rails2 to Rails3Migration from Rails2 to Rails3
Migration from Rails2 to Rails3Umair Amjad
 

Más de Umair Amjad (20)

Automated Process for Auditng in Agile - SCRUM
Automated Process for Auditng in Agile - SCRUMAutomated Process for Auditng in Agile - SCRUM
Automated Process for Auditng in Agile - SCRUM
 
Data Deduplication: Venti and its improvements
Data Deduplication: Venti and its improvementsData Deduplication: Venti and its improvements
Data Deduplication: Venti and its improvements
 
Bead–Sort :: A Natural Sorting Algorithm
Bead–Sort :: A Natural Sorting AlgorithmBead–Sort :: A Natural Sorting Algorithm
Bead–Sort :: A Natural Sorting Algorithm
 
Apache logs monitoring
Apache logs monitoringApache logs monitoring
Apache logs monitoring
 
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsExact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginner
 
SQL WORKSHOP::Lecture 7
SQL WORKSHOP::Lecture 7SQL WORKSHOP::Lecture 7
SQL WORKSHOP::Lecture 7
 
SQL WORKSHOP::Lecture 6
SQL WORKSHOP::Lecture 6SQL WORKSHOP::Lecture 6
SQL WORKSHOP::Lecture 6
 
SQL WORKSHOP::Lecture 5
SQL WORKSHOP::Lecture 5SQL WORKSHOP::Lecture 5
SQL WORKSHOP::Lecture 5
 
SQL WORKSHOP::Lecture 4
SQL WORKSHOP::Lecture 4SQL WORKSHOP::Lecture 4
SQL WORKSHOP::Lecture 4
 
SQL WORKSHOP::Lecture 13
SQL WORKSHOP::Lecture 13SQL WORKSHOP::Lecture 13
SQL WORKSHOP::Lecture 13
 
SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12
 
SQL WORKSHOP::Lecture 11
SQL WORKSHOP::Lecture 11SQL WORKSHOP::Lecture 11
SQL WORKSHOP::Lecture 11
 
SQL WORKSHOP::Lecture 10
SQL WORKSHOP::Lecture 10SQL WORKSHOP::Lecture 10
SQL WORKSHOP::Lecture 10
 
SQL WORKSHOP::Lecture 9
SQL WORKSHOP::Lecture 9SQL WORKSHOP::Lecture 9
SQL WORKSHOP::Lecture 9
 
SQL WORKSHOP::Lecture 3
SQL WORKSHOP::Lecture 3SQL WORKSHOP::Lecture 3
SQL WORKSHOP::Lecture 3
 
SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2
 
SQL WORKSHOP::Lecture 1
SQL WORKSHOP::Lecture 1SQL WORKSHOP::Lecture 1
SQL WORKSHOP::Lecture 1
 
Multi-core processor and Multi-channel memory architecture
Multi-core processor and Multi-channel memory architectureMulti-core processor and Multi-channel memory architecture
Multi-core processor and Multi-channel memory architecture
 
Migration from Rails2 to Rails3
Migration from Rails2 to Rails3Migration from Rails2 to Rails3
Migration from Rails2 to Rails3
 

DCT based Watermarking technique

  • 1. DCT Based watermarking recovering without restoring to the uncorrupted Original Image Umair Amjad umairamjadawan@gmail.com
  • 2. Agenda Watermark embedding Watermark detection DCT-basedWatermark Recovering without Resorting to the Uncorrupted Original Image A. Piva, M. Barni, F. Bartolini, V. Cappellini Dipartimento di Ingegneria Elettronica Universit`a di Firenze via S. Marta 3, 50139, Firenze, Italy e-mail piva@cosimo.die.unifi.it
  • 3. Watermark Embedding Read image. Lets say, I. DCT transform is applied. DCT coefficients are reordered into a zigzag scan. It is now impossible for the decoder to determine the position of the coefficients with the largest magnitude, since non-marked image is no longer available. T = {t1, t2, . . . . . . , tL, tL+1, . . . . . . , tL+M} To get perceptual invisibility we skipped first L coefficients. Now, watermark X = {x1, x2, . . . . . . , xM} (choose among pseudo-random sequences) is embedded in the last M numbers, to obtain a new vector. T’ = {t1, t2, . . . . . . , tL, t’L+1, . . . . . . , t’L+M} According to the rule: t’L+i = tL+i + α |tL+i| xi Where i = 1, . . . . . , M Now the vector T’ is inserted in the inverse zigzag scan and the inverse DCT algorithm is performed, obtaining the watermarked image I’.
  • 4. Watermark Detection Read watermarked image. Lets say I*. DCT transform is applied. Perform zigzag scan. Now coefficient (L+1)th to (L+M)th are selected to generate a vector. T* = {t*L+1, t*L+2,. . . . . . , t*L+M} The correlation between the corrupted coefficients T*, and the mark itself is taken as a measure of the mark presence. For this we generate 1000 random fake watermarks. Correlation is computed for each of the marks and that with the largest correlation is assumed to be the one really present in the image.
  • 5. Original Image Waterwark Image
  • 6. Original Image Waterwark Image