29
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

Authors: Jun Tian Speaker: J.H. Liu

  • Upload
    ouida

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 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): 890 -- 896

Authors: Jun Tian

Speaker: J.H. Liu

Page 2: Authors: Jun  Tian Speaker:  J.H. Liu

Outline Data Embedding

Reversible Data Hiding Difference Expansion

Expandable Changeable

Difference Expansion Decoding Expandable decoding Changeable decoding

Conclusions

Page 3: Authors: Jun  Tian Speaker:  J.H. Liu

Data Embedding Reversible data hiding

1

Page 4: Authors: Jun  Tian Speaker:  J.H. Liu

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).

x=206 y=201averagel= 203

+3 -2

2

Page 5: Authors: Jun  Tian Speaker:  J.H. Liu

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).

x=206 y=201averagel= 203

+3 -2

If h is odd, bit will lost with h /2.We must return it into x .

2

Page 6: Authors: Jun  Tian Speaker:  J.H. Liu

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

Page 7: Authors: Jun  Tian Speaker:  J.H. Liu

Expandable

1st step: h’ = hx2 + secret bit (b) 2nd step: x’ = l + h’/2 + LSB(h’)

y’ = l - h’/2

location map L = 1

x’=209 y’=198l = 203+6 -5

4

206 201+3 -2

Page 8: Authors: Jun  Tian Speaker:  J.H. Liu

Expandable

1st step: h’ = hx2 + secret bit (b) 2nd step: x’ = l + h’/2 + LSB(h’)

y’ = l - h’/2

location map L = 1

x’=209 y’=198l = 203+6 -5

4

206 201+3 -2

b = 1l=203

Page 9: Authors: Jun  Tian Speaker:  J.H. Liu

Expandable

1st step: h’ = hx2 + secret bit (b) 2nd step: x’ = l + h’/2 + LSB(h’)

y’ = l - h’/2

location map L = 1

x’=209 y’=198l = 203+6 -5

4

206 201+3 -2

b = 1l=203h’=5*2+1=11

Page 10: Authors: Jun  Tian Speaker:  J.H. Liu

Expandable

1st step: h’ = hx2 + secret bit (b) 2nd step: x’ = l + h’/2 + LSB(h’)

y’ = l - h’/2

location map L = 1

x’=209 y’=198l = 203+6 -5

4

206 201+3 -2

b = 1l=203h’=5*2+1=11x’=203+11/2+11%2=209y’=203-11/2=198

Page 11: Authors: Jun  Tian Speaker:  J.H. Liu

Changeable

It is non-expandable x’, y’ will overflow or underflow with

expandable method

5

x’=292 y’=177l = 223+46 -46

246 200+23 -23

Page 12: Authors: Jun  Tian Speaker:  J.H. Liu

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

x=246 y=200l = 223

+23 -23

5

Page 13: Authors: Jun  Tian Speaker:  J.H. Liu

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

x=246 y=200l = 223

+23 -23

There we will lost the LSB of h.

5

Page 14: Authors: Jun  Tian Speaker:  J.H. Liu

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

x=246 y=200l = 223

+23 -23

There we will lost the LSB of h.We record the LSBs of h at bitstream C.

5

Page 15: Authors: Jun  Tian Speaker:  J.H. Liu

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

x=246 y=200l = 223

+23 -23

There we will lost the LSB of h.We record the LSBs of h at bitstream C.

x’=247 y’=200+24 -23

5

Page 16: Authors: Jun  Tian Speaker:  J.H. Liu

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

x‘= 209 y‘= 198l = 203

+6 -5

6

Page 17: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’= 209 y‘= 198l = 203

+6 -5l=(209+198)/2=203h’=209-198=11

6

Page 18: Authors: Jun  Tian Speaker:  J.H. Liu

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

x‘= 209 y‘= 198l = 203

+6 -5l=(209+198)/2=203h’=209-198=11b=11%2=1

6

Page 19: Authors: Jun  Tian Speaker:  J.H. Liu

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

x‘= 209 y‘= 198l = 203

+6 -5l=(209+198)/2=203h’=209-198=11b=11%2=1h=11/2=5

6

Page 20: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’= 209 y‘= 198l = 203

+6 -5l=(209+198)/2=203h’=209-198=11b=11%2=1h=11/2=5x=203+5/2+5%2 =203+2+1=206y=203-5/2=201

6

Page 21: Authors: Jun  Tian Speaker:  J.H. Liu

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

x‘= 209 y‘= 198l = 203

+6 -5l=(209+198)/2=203h’=209-198=11b=11%2=1h=11/2=5x=203+5/2+5%2 =203+2+1=206y=203-5/2=201

x = 206 y = 201l = 203

+3 -2

6

Page 22: Authors: Jun  Tian Speaker:  J.H. Liu

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 Note: average l is never changed.

x‘= 209 y‘= 198l = 203

+6 -5l=(209+198)/2=203h’=209-198=11b=11%2=1h=11/2=5x=203+5/2+5%2 =203+2+1=206y=203-5/2=201

x = 206 y = 201l = 203

+3 -2

6

Page 23: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’ = 247 y’ = 200l = 223

+24 -23

7

Page 24: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’ = 247 y’ = 200l = 223

+24 -23

l=(247+200)/2=223h’=247-200=47

7

Page 25: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’ = 247 y’ = 200l = 223

+24 -23

l=(247+200)/2=223h’=247-200=47b=47%2=1

7

Page 26: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’ = 247 y’ = 200l = 223

+24 -23

l=(247+200)/2=223h’=247-200=47b=47%2=1h=47-1+0=46

7

Page 27: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’ = 247 y’ = 200l = 223

+24 -23

l=(247+200)/2=223h’=247-200=47b=47%2=1h=47-1+0=46x=223+(46/2)+46%2 =223+23+0=246y=223-46/2=200

7

Page 28: Authors: Jun  Tian Speaker:  J.H. Liu

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

x’ = 247 y’ = 200l = 223

+24 -23

l=(247+200)/2=223h’=247-200=47b=47%2=1h=47-1+0=46x=223+(46/2)+46%2 =223+23+0=246y=223-46/2=200

7

x=246 y=200l = 223

+23 -23

Page 29: Authors: Jun  Tian Speaker:  J.H. Liu

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