1 / 29

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): 890 -- 896. Authors: Jun Tian Speaker: J.H. Liu. Outline. Data Embedding Reversible Data Hiding Difference Expansion Expandable

ouida
Download Presentation

Authors: Jun Tian Speaker: J.H. Liu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reversible Data Embedding Using Difference Expansion IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 8, Aug. 2003, page(s): 890 -- 896 Authors: Jun Tian Speaker: J.H. Liu

  2. Outline • Data Embedding • 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 - yCase2. changeable : bitstreamC 0 Case3. non-changeable 0 • bitstreamC = 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 201 +3 -2 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 201 +3 -2 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 201 +3 -2 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 201 +3 -2 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 200 +23 -23 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 bitstreamC. 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 bitstreamC. +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=(209+198)/2=203 h’=209-198=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=(209+198)/2=203 h’=209-198=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=(209+198)/2=203 h’=209-198=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=(209+198)/2=203 h’=209-198=11 b=11%2=1 h=11/2=5 x=203+5/2+5%2 =203+2+1=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=(209+198)/2=203 h’=209-198=11 b=11%2=1 h=11/2=5 x=203+5/2+5%2 =203+2+1=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=(209+198)/2=203 h’=209-198=11 b=11%2=1 h=11/2=5 x=203+5/2+5%2 =203+2+1=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=(247+200)/2=223 h’=247-200=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=(247+200)/2=223 h’=247-200=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=(247+200)/2=223 h’=247-200=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=(247+200)/2=223 h’=247-200=47 b=47%2=1 h=47-1+0=46 x=223+(46/2)+46%2 =223+23+0=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=(247+200)/2=223 h’=247-200=47 b=47%2=1 h=47-1+0=46 x=223+(46/2)+46%2 =223+23+0=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

More Related