Download presentation
Presentation is loading. Please wait.
1
Authors: Jun Tian Speaker: J.H. Liu
Reversible Data Embedding Using Difference Expansion IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 8, Aug. 2003, page(s): Authors: Jun Tian Speaker: J.H. Liu
2
Outline Data Embedding Conclusions Reversible Data Hiding
Difference Expansion Expandable Changeable Difference Expansion Decoding Expandable decoding Changeable decoding Conclusions
3
Data Embedding Reversible data hiding 1
4
Difference Expansion One of data embedding methods Basic case:
h = x – y l = (x + y) / 2 x=l + h /2 + LSB(h) y=l - h /2 Hint : There divide(/) is integer divide. For example, x/y meaning floor(x/y). +3 -2 x=206 y=201 average l= 203 2
5
Difference Expansion One of data embedding methods Basic case:
h = x – y l = (x + y) / 2 x=l + h /2 + LSB(h) y=l - h /2 Hint : There divide(/) is integer divide. For example, x/y meaning floor(x/y). +3 -2 x=206 y=201 average l= 203 If h is odd, bit will lost with h /2. We must return it into x . 2
6
Difference Expansion - method
location map L Case1. expandable : h’ = 2×h + b 1 h = x - y Case2. changeable : bitstream C 0 Case3. non-changeable 0 bitstream C = collection of LSBs(h) Expandable : |h’| = |2xh+b| ≦ min(2(255-l),2xl-1) Changeable : |h’| = |2x(h/2)+b| ≦ min(2(255-l),2xl-1) 3
7
Expandable 1st step: h’ = hx2 + secret bit (b)
2nd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 1 l = 203 +6 -5 y’=198 x’=209 206 +3 -2 201 4
8
Expandable 1st step: h’ = hx2 + secret bit (b)
2nd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 1 l = 203 b = 1 l=203 +6 -5 y’=198 x’=209 206 +3 -2 201 4
9
Expandable 1st step: h’ = hx2 + secret bit (b)
2nd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 1 l = 203 b = 1 l=203 h’=5*2+1=11 +6 -5 y’=198 x’=209 206 +3 -2 201 4
10
Expandable 1st step: h’ = hx2 + secret bit (b)
2nd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 1 l = 203 b = 1 l=203 h’=5*2+1=11 x’=203+11/2+11%2=209 y’=203-11/2=198 +6 -5 y’=198 x’=209 206 +3 -2 201 4
11
Changeable It is non-expandable
x’, y’ will overflow or underflow with expandable method l = 223 +46 -46 y’=177 x’=292 246 +23 -23 200 5
12
Changeable It is non-expandable 1st step: h’ = (h/2)x2 + b
2nd step: lost bit(c) = LSB(h) 3rd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 0 +23 -23 x=246 y=200 l = 223 5
13
Changeable It is non-expandable 1st step: h’ = (h/2)x2 + b
2nd step: lost bit(c) = LSB(h) 3rd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 0 +23 -23 x=246 y=200 l = 223 There we will lost the LSB of h. 5
14
Changeable It is non-expandable 1st step: h’ = (h/2)x2 + b
2nd step: lost bit(c) = LSB(h) 3rd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 0 +23 -23 x=246 y=200 l = 223 There we will lost the LSB of h. We record the LSBs of h at bitstream C. 5
15
Changeable It is non-expandable 1st step: h’ = (h/2)x2 + b
2nd step: lost bit(c) = LSB(h) 3rd step: x’ = l + h’/2 + LSB(h’) y’ = l - h’/2 location map L = 0 +23 -23 x=246 y=200 l = 223 There we will lost the LSB of h. We record the LSBs of h at bitstream C. +24 -23 x’=247 y’=200 5
16
Expandable decoding 1st step: get h’ = x’-y’ 2nd step: get b = LSB(h’)
3rd step: get h = h’/2 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +6 -5 x‘= 209 y‘= 198 l = 203 6
17
Expandable decoding 1st step: get h’ = x’-y’ 2nd step: get b = LSB(h’)
3rd step: get h = h’/2 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +6 -5 x’= 209 y‘= 198 l=( )/2=203 h’= =11 l = 203 6
18
Expandable decoding 1st step: get h’ = x’-y’ 2nd step: get b = LSB(h’)
3rd step: get h = h’/2 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +6 -5 x‘= 209 y‘= 198 l=( )/2=203 h’= =11 b=11%2=1 l = 203 6
19
Expandable decoding 1st step: get h’ = x’-y’ 2nd step: get b = LSB(h’)
3rd step: get h = h’/2 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +6 -5 x‘= 209 y‘= 198 l=( )/2=203 h’= =11 b=11%2=1 h=11/2=5 l = 203 6
20
Expandable decoding 1st step: get h’ = x’-y’ 2nd step: get b = LSB(h’)
3rd step: get h = h’/2 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +6 -5 x’= 209 y‘= 198 l=( )/2=203 h’= =11 b=11%2=1 h=11/2=5 x=203+5/2+5%2 = =206 y=203-5/2=201 l = 203 6
21
Expandable decoding 1st step: get h’ = x’-y’ 2nd step: get b = LSB(h’)
3rd step: get h = h’/2 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +6 -5 x‘= 209 y‘= 198 l=( )/2=203 h’= =11 b=11%2=1 h=11/2=5 x=203+5/2+5%2 = =206 y=203-5/2=201 l = 203 +3 -2 x = 206 y = 201 l = 203 6
22
Expandable decoding 1st step: get h’ = x’-y’ 2nd step: get b = LSB(h’)
3rd step: get h = h’/2 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +6 -5 x‘= 209 y‘= 198 l=( )/2=203 h’= =11 b=11%2=1 h=11/2=5 x=203+5/2+5%2 = =206 y=203-5/2=201 l = 203 Note: average l is never changed. +3 -2 x = 206 y = 201 l = 203 6
23
Changeable decoding 1st step: get h’ = x’ - y’
2nd step: get b = LSB(h’) 3rd step: get h = h’- b + bitstream(c) 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +24 -23 x’ = 247 y’ = 200 l = 223 7
24
Changeable decoding 1st step: get h’ = x’ - y’
2nd step: get b = LSB(h’) 3rd step: get h = h’- b + bitstream(c) 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +24 -23 x’ = 247 y’ = 200 l = 223 l=( )/2=223 h’= =47 7
25
Changeable decoding 1st step: get h’ = x’ - y’
2nd step: get b = LSB(h’) 3rd step: get h = h’- b + bitstream(c) 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +24 -23 x’ = 247 y’ = 200 l = 223 l=( )/2=223 h’= =47 b=47%2=1 7
26
Changeable decoding 1st step: get h’ = x’ - y’
2nd step: get b = LSB(h’) 3rd step: get h = h’- b + bitstream(c) 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +24 -23 x’ = 247 y’ = 200 l = 223 l=( )/2=223 h’= =47 b=47%2=1 h=47-1+0=46 7
27
Changeable decoding 1st step: get h’ = x’ - y’
2nd step: get b = LSB(h’) 3rd step: get h = h’- b + bitstream(c) 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +24 -23 x’ = 247 y’ = 200 l = 223 l=( )/2=223 h’= =47 b=47%2=1 h=47-1+0=46 x=223+(46/2)+46%2 = =246 y=223-46/2=200 7
28
Changeable decoding 1st step: get h’ = x’ - y’
2nd step: get b = LSB(h’) 3rd step: get h = h’- b + bitstream(c) 4th step: get x = l + h/2 + LSB(h) y = l - h/2 +24 -23 x’ = 247 y’ = 200 l = 223 l=( )/2=223 h’= =47 b=47%2=1 h=47-1+0=46 x=223+(46/2)+46%2 = =246 y=223-46/2=200 +23 -23 x=246 y=200 l = 223 7
29
Conclusions Simple and efficient reversible embedding method.
The method of location map L is not good enough. We may improve the method of location map anywise. The case of changeable is a kind of useless. 8
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.