Presentation is loading. Please wait.

Presentation is loading. Please wait.

Authors: Jun Tian Speaker: J.H. Liu

Similar presentations


Presentation on theme: "Authors: Jun Tian Speaker: J.H. Liu"— Presentation transcript:

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


Download ppt "Authors: Jun Tian Speaker: J.H. Liu"

Similar presentations


Ads by Google