Reversible Digital Watermarking Chang-Tsun Li Department of Computer Science University of Warwick Multimedia Security and Forensics 1
Reversible Watermarking Based on Difference Expansion (DE) In some medical, legal and military applications, slight changes to content due to watermarking is not acceptable. So allowing the original content to be completely restored from the watermarked media is useful. Watermarking with this capability is called reversible or lossless watermarking. This work has inspired many others: J. Tian , “Reversible Data Embedding Using a Difference Expansion,” IEEE TCSVT, 13(8), 2003 Multimedia Security and Forensics 2
What is Difference Expansion (DE) Given two greyscales x and y & a bit b to be embedded x y d x y a Average , Difference (1) 2 If x = 206, y = 201 & b = 1 x y 2 5 d x y 101 a 203 2 d ' d b 101 1 1011 11 2 2 2 d ' 2 d b 2 5 1 11 d (=5) has been expanded into d' (=11) Multimedia Security and Forensics 3
Embedding Data Bit in x & y x' & y' : watermarked version of x and y x y a , d x y (1) From 2 d ' 1 d ' we get (2) x ' a , y ' a 2 2 d ' 1 11 1 x ' a 203 209 2 2 d ' 11 y ' a 203 198 2 2 Multimedia Security and Forensics 4
Extracting Data Bit and Recovering x & y x ' y ' 209 198 From (1) a ' 203 a (Note a' a) 2 2 d ' x ' y ' 209 198 11 1011 101 1 d b 2 2 2 d & b = 1 has been correctly extracted ! d ' / 2 d 1 5 1 From (2) x a 203 209 2 2 d 5 y a 203 201 2 2 x = 206 and y = 201 have been recovered ! Multimedia Security and Forensics 5
Expandable Difference Values Overflow ( x' > 255 or y' > 255) and underflow ( x' < 0 or y' < 0) must be avoided when expanding their difference, i.e., d ' 1 d ' 0 x ' a 255 and 0 y ' a 255 2 2 d ' 2 ( 255 a ) and d ' 2 a 1 d ' 2 d b min 2 ( 255 a ), 2 a 1 , b 0 , 1 If then d is expandable. Expandable difference values allow original ( x, y ) to be recovered without other arrangement. Multimedia Security and Forensics 6
Changeable Difference Values d d 2 LSB ( d ) 2 If LSB ( d ) can be replaced by a data bit b and d 2 b min 2 ( 255 a ), 2 a 1 , b { 0 , 1 } 2 then d is changeable. A changeable (but not expandable) difference value does NOT allow original ( x, y ) to be recovered without other arrangement. An expandable integer is also changeable. Multimedia Security and Forensics 7
Embedding Algorithm 1. Form a set of m pixel pairs ( x, y ) and calculate their difference values using Eq. (1) d d | i 1 , , m i 2. Partition d into 4 sets : EZ, EN (= EN 1 U EN 2), CN and NC 1 , if d EZ EN 1 i 3. Create a binary location map L such that L i 0, otherwise and perform lossless compression on L 4. Collecting LSBs of the d i in EN 2 U CN to form C 5. Embed bit stream L||C||P by – expanding d i in EZ U EN 1 – changing d i in EN 2 U CN ( P is the actual payload or watermark ) d ' 1 d ' x ' a , y ' a 6. Perform Eq. (2) 2 2 Multimedia Security and Forensics 8
Step 1 - Embedding Algorithm Step1. Form a set of m pixel pairs ( x, y ) and calculate their difference values Each pair can be • horizontally neighbouring pixels • vertically neighbouring pixels • formed in a pseudo random manner under the control of a secret key • other ways Multimedia Security and Forensics 9
Step 2 - Embedding Algorithm Step2. Partition d into 4 sets : EZ, EN (= EN 1 U EN 2), CN and NC EZ : all expandable d i = 0 and d i = -1 EZ is separated from ZN because d i = 0 and d i = -1 together with d i = 1 and d i = -2 when d i is in EN 2 constitute 4 special cases which can increase embedding capacity (see description of Step 4). EN : all expandable d i not in EZ – Expansion incurs more significant distortion, so depending on the payload, only a subset of EN is selected for expansion. – EN 1 : selected for expansion; EN 2 : not selected for expansion – EN = EN 1 U EN2 (See Tian’s paper for details) CN : all changeable d i not in EZ U EN NC : all non-changeable d i Multimedia Security and Forensics 10
Step 3 - Embedding Algorithm Step3. Create a binary location map L such that 1 , if d EZ EN 1 i L i 0, otherwise and perform lossless compression on L The location map L is required because the extraction side needs to know which d i have been expanded. L needs to be compressed because it will have to be embedded and compression reduces the payload Multimedia Security and Forensics 11
Step 4 - Embedding Algorithm Step 4. Collecting LSBs of the d i in EN 2 U CN to form C The LSB of d i in EN 2 U CN are changeable only, so their original LSB need to be saved, otherwise they cannot be recovered. We do not want to expand those d i in EN 2 in order to reduce distortion Special cases: for d i = 1 and d i = -2 in EN 2 U CN, their LSBs do not have to be saved because they remain unchanged after embedding. Multimedia Security and Forensics 12
Step 5 - Embedding Algorithm Step 5. Embed bit stream L||C||P by expanding d i in EZ U EN U CN ( P is the actual payload or watermark ) Let B L C P { b , b , b ,.....} 1 1 1 if d EZ EN 1 (Expandabl e) i d : 2 d b i i i elseif d EN 2 CN (Changeabl e) i d d : 2 i b i i 2 Multimedia Security and Forensics 13
Step 6 - Embedding Algorithm d ' 1 d ' x ' a , y ' a Step 6. Perform Eq. (2) to get the 2 2 watermarked image Multimedia Security and Forensics 14
Extraction & Recovering Algorithm 1. Form a set of m pixel pairs ( x', y' ) and calculate their difference d ' d ' | i 1 , , m values using Eq. (1) i 2. Partition d' into 2 sets : CH (CHangeable) and NC (Non-Changeable) 3. Collecting LSBs of the d' i in CH to form B L C P b , b , b ,....... 1 2 3 4. Decompress location map L 5. Restore original difference values d i (to be explained later) 6. Authenticate content by comparing the extracted P against its original version 7. Recover ( x i , y i ) based on d i using Eq. (3) d 1 d x a i , y a i (3) i i i i 2 2 x ' y ' i i a Note a i remains unchanged after embedding, so i 2 Multimedia Security and Forensics 15
Step 5 - Extraction Algorithm Step 5. Restore original difference values d i Let B L C P b , b , b ,....... 1 2 3 if d ' CH i if L 1 ( i th bit of location map L ) i d d ' / 2 ( d is expanded ) i i i else if d ' 1 or d ' 2 i i d d ' i i else d 2 d ' / 2 b i i i Multimedia Security and Forensics 16
Conclusions Each difference value can be allowed to carry more than one bit. Z k ( k ) If is the largest integer that satisfies k k 2 d b min 2 ( 255 a ), 2 a 1 b { 0 , 1 , 2 ,..., 2 1 } then the hiding capacity of d is k. k = 1 is the special case that we have discussed To minimise embedding distortion 2 h 2 2 ( x x ' ) ( y y ' ) – d with small magnitude is preferred 2 (see Tian’s paper for details) – d with greater hiding capacity is preferred when full capacity is not needed Multi-layer embedding is possible – Embedded image can be embedded again – The overall hiding capacity of each layer decrease as the number of expandable difference values is inversely proportional to the number of layers. Multimedia Security and Forensics 17
Recommend
More recommend