A separable reversible data hiding scheme for encrypted JPEG bitstreams Source : Signal Processing, Volume 133, April 2017, Pages 135-143 Authors : Jen-Chun Chang, Yi-Zhi Lu, Hsin-Lung Wu Speaker : Si-Liang He Date : 2017/12/21
Outline Introduction Proposed scheme Experimental results Conclusions
JPEG compression 1/4 Procedure of JPEG compression
JPEG compression 2/4 DCT Original Image 52 55 61 66 70 64 73 63 59 90 109 85 69 72 62 68 113 144 104 58 71 122 154 106 67 126 88 79 65 60 77 75 83 87 76 78 94 -415 -30 -61 27 56 -20 -2 4 -22 10 13 -7 -9 5 -47 7 77 -25 -29 -6 -49 12 34 -15 -10 6 2 -13 -4 -3 3 -8 1 -1 DCT Original Image
JPEG compression 3/4 DC(direct current ) The others are AC(alternating current ) 26 2 3 -1 1 DC: differential pulse code modulation (DPCM) Quantification JPEG file Entropy encoding AC: Run Length Coding (RLC) Quantization table
QF = 10 QF = 50
JPEG compression 4/4 AC coefficients : {0, 2, -1,0, 0, 0, 3, 0, 1, ...... } ZRV(zero-run-value)(R,V): {(1, 2), (0, -1), (3, 3), (1,1), …} RSV (Run/Size and Value) Denote as [(RL, BL), A]: {[(1, 2), 10], [(0, 1), 0], [(11, 2), 11], [(1, 1), 1], …} RL : Binary representation of number of zero BL : Bit length of the binary representation of non-zero value A : Binary representation of non-zero value
Proposed scheme - flow chart
Proposed scheme - 1/6 Generate a pseudo-random permutation block (1, 1) → (1, 2) → (2, 1) → (2, 2) → (1, 1)
Proposed scheme - 2/6 Zig-zag order {-3, -2, 2, 3}
Proposed scheme - 3/6 G 2 = (-3, 2, -2, 3, 2, -2, -3, 3, -2, -2, 2, 3, 2, 2, 3, 2, -2, 2, 2, 2, 2, -2, 2, 2, 2) 𝐺 2 = (11, 00, 10, 01, 00, 10, 11, 01, 10, 10, 00, 01, 00, 00, 01, 00, 10, 00, 00, 00, 00, 10, 00, 00, 00) LSB( 𝐺 2 ) = (1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) k = 6, n = 25 𝑓 𝐶 (LSB( 𝐺 2 ) ) = (0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0)
Proposed scheme - 4/6 𝑓 𝐶 (LSB( 𝐺 2 ) ) = (0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0)
Proposed scheme - 5/6 LSB( 𝐺 2 ) = (1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 𝑓 𝐶 (LSB( 𝐺 2 ) ) = (0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0) LSB( 𝐺 2 ′ ) = (0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0) 𝐺 2 ′ = (10, 01, 11, 00, 00, 10, 10, 01, 10, 10, 00, 01, 01, 01, 00, 01, 11, 00, 00, 00, 00, 10, 00, 00, 00) (-2, 3, -3, 2, 2, -2, -2, 3, -2, -2, 2, 3, 3, 3, 2, 3, -3, 2, 2, 2, 2, -2, 2, 2, 2)
Proposed scheme - 6/6 embedding & extraction LSB( 𝐺 2 ′ ) = (0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0) = 5 → k = 6 = 18 recovery (0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0) (110111000100)2 = t LSB( 𝐺 2 ) = (1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Experimental results
Conclusions Proposed a lossless compression algorithm. Decryption and extraction can be separable.