Capacity-Approaching Codes for Reversible Data Hiding Weiming Zhang, Biao Chen, and Nenghai Yu Department of Electrical Engineering & Information Science University of Science and Technology of China Information Hiding Conference 2011 Introduction What is reversible data hiding? The original cover can be losslessly restored after the embedded information is extracted. message cover data embedding stego data extraction & cover restoration message cover 2 Introduction What is reversible data hiding? The original cover can be losslessly restored after the embedded information is extracted. Why is reversible data hiding needed? In some applications, even any degradation of the original cover is not allowed, such as medical imagery, military imagery and law forensics. Where is reversible data hiding applied? Media annotation; integrity authentication ... 3 Introduction How to do reversible data hiding? Type-I: Binary feature sequence, generic compression method (e.g., arithmetic coder); Type-II: Integer operations: Difference Expansion (DE) or Histogram Shifting (HS)— specific compression manner for the histogram 4 Introduction Type-I: Basic model [Kalker] d modifications Embedding rate: Distortion: How to maximize embedding rate under any given distortion? A rate-distortion problem 5 Introduction Theoretical upper bound [Kalker] 6 Introduction Recursive Code construction [Kalker] Key idea: the marked cover can be used to reconstruct the cover H ( x1 ) H ( x1 | y1 ) 7 Two observations Observation I Not only the marked cover can be used to reconstruct the cover, but also the reconstructed cover can help to extract message. 8 Two observations Observation II 9 Two observations Observation II The maximum capacity is achieved at D=p0-1/2; When D≤p0-1/2, the optimal embedding manner is that only 0’s are allowed to be changed. (Corollary 1 of Theorem 2, [Kalker]) Our strategy: Only embed data into 0’s and skip 1’s; At the decoder side, the embedding positions can be recognized with the help of reconstructed cover. 10 How to embed data into all-zero cover RZL coding (reverse zero-run length) [Wong] Message is divided into disjoint segments of k bits, each of which is converted to a integer d∈[0,2k-1]; skip d zeros in the cover, and flip the (d+1)th zero. Our method: improve RZL by the idea of ZZW construction A construction consists of two layers: The outer layer: only embed one bit; The inner layer: when embedding bit “1” in the outer layer, embed another k bits with RZL; otherwise skip 2k zeros. 11 How to embed data into all-zero cover Example: k = 2 12 How to embed data into all-zero cover 13 Proposed method Improved recursive construction Improved coding for all-zero cover x1 : y1: 0 0 1 1 1 14 Proposed method Example 2 (follows Example 1) 15 Comparison: Embedding efficiency vs. embedding rate Embedding efficiency e is defined as number of bits embedded by unit distortion, i.e. e=ρ/Δ=L/d. 16 Comparison: Embedding efficiency vs. embedding rate 17 Improving Type-I Schemes (embedding in binary feature sequences) 1. Improving RS method for spatial images [Fridrich] Texture complexity of pixel blocks is used to construct binary feature sequence. 18 Improving Type-I Schemes 1. Improving RS scheme for spatial images [Fridrich] 19 Improving Type-I Schemes 2. Improving the scheme for JPEG images [Fridrich] quantized DCT coefficients with value 0 and 1 are used as binary feature sequence. 20 Improving Type-I Schemes 2. Improving the scheme for JPEG images [Fridrich] 21 Improving Type-I Schemes 3. Improving PS scheme for binary images [Ho] Test images Patterns of 4length vector in difference image are used as binary sequence. Y.-A. Ho, et al., ``High capacity reversible data hiding in binary images using pattern substitution,” Computer Standards and Interfaces, 2009. 22 Improving Type-I Schemes 3. Improving PS scheme for binary images 23 Improving Type-I Schemes 3. Improving PS scheme for binary images Embed 260 bits (a) Marked by PS (b) Marked by improved PS 24 Improving Type-II Scheme Improving HS-based scheme for spatial images [Luo] The proposed codes is used at the second embedding stage. Extension by embedding with two bins. L. X. Luo, et al., ``Reversible Image Watermarking Using Interpolation Technique," IEEE Trans. Inf. Forensics and Security, 2010. 25 Improving Type-II Schemes 3. Improving HS-based scheme for spatial images (a) Lenna 26 Improving Type-II Schemes 3. Improving HS-based scheme for spatial images (b) Baboon 27 Improving Type-II Schemes 3. Improving HS-based scheme for spatial images (c) Boat 28 Conclusion: • An improved coding method for all-zero cover • An improved recursive construction • A reversible data hiding method for binary cover Future work: Integer-domain reversible data hiding 29 Thank you for your attention! 30