Hiding Information in VQ Index Tables with Reversibility Chair Professor Chin-Chen Chang Feng Chia University National Chung Cheng University National Tsing Hua University http://msn.iecs.fcu.edu.tw/~ccc
Outline Introduction Related works The proposed scheme Experimental results Conclusions
Introduction VQ compression Index table Original Image Codebook (16, 200, …, 90) 1 (35, 22, …, 100) 2 (40, 255, …, 59) . 254 (90, 102, …, 98) 255 (145, 16, …, 99) 1 60 61 175 … 100 95 203 . . . . Index table Original Image Codebook
Vector Quantization (VQ) Codebook Training Codebook generation 1 . N-1 N Training Images Training set Separating the image to vectors
Vector Quantization (VQ) Codebook Training Codebook generation 1 . 1 . 254 255 N-1 N Initial codebook Training set Codebook initiation
Vector Quantization (VQ) Codebook Training 1 . Index sets 1 . 254 255 (1, 2, 5, 9, 45, …) (101, 179, 201, …) (8, 27, 38, 19, 200, …) N-1 N (23, 0, 67, 198, 224, …) Codebook Ci Training set 1 . Compute mean values Replace the old vectors 254 255 New Codebook Ci+1 Training using iteration algorithm
Example Codebook To encode an input vector, for example, v = (150,145,121,130) (1) Compute the distance between v with all vectors in codebook d(v, cw1) = 114.2 d(v, cw2) = 188.3 d(v, cw3) = 112.3 d(v, cw4) = 124.6 d(v, cw5) = 122.3 d(v, cw6) = 235.1 d(v, cw7) = 152.5 d(v, cw8) = 63.2 (2) So, we choose cw8 to replace the input vector v.
LBG Algorithm 一次訓練 256 個 codewords 做了100次 連續兩次 MSE 之差別已經夠小
Full Search (FS) For example: Let the codebook size be 256 # of searched nodes per image vector = 256 Time consuming The closest codeword Image vector C = {c1, c2, …, cnc}
Euclidean Distance The dimensionality of vector = k (= w*h) An input vector x = (x1, x2, …, xk) A codeword yi = (yi1, yi2, …, yik) The Euclidean distance between x and yi
Problem of FS VQ encoding process (i.e., codebook search) is time-consuming. How to speed up the VQ encoder (i.e., codebook search) is thus an important problem.
The Proposed Scheme Embedding Processes Selecting the two preserved codewords: (89, 33, …, 187) index 0 (55, 25, …, 124) index 255 (89, 33, …, 187) 1 (35, 22, …, 100) 2 (40, 255, …, 59) . 254 (90, 102, …, 98) 255 (55, 25, …, 124) 1 60 61 175 … 100 95 203 . . . . Two least frequently used codewords Index table
The Proposed Scheme Embedding Processes 2. Compress original images with the modified codebook (89, 33, …, 187) 1 (35, 22, …, 100) 2 (40, 255, …, 59) . 254 (90, 102, …, 98) 255 (55, 25, …, 124) 1 60 61 … 100 95 203 . . . . Index table Original Image Modified Codebook
The Proposed Scheme Embedding Processes 3. Bound each two indices as an index pair (i1, i2) 1 60 61 … 100 95 203 . . . . Index table
The Proposed Scheme 4. Analyzing all index pairs i1 > i2 n1: the number of index pairs (i1, i2) in which i1 > i2 n2: the number of index pairs (i1, i2) in which i1 < i2 Case A: n1 ≧ n2 Case B: n1 < n2
The Proposed Scheme 5.1 Embedding rules (Case A) To Embed secret bit s into index pair (i1, i2)
The Proposed Scheme 5.2 Embedding rules (Case B) To Embed secret bit s into index pair (i1, i2)
The Proposed Scheme Example (Case A); Codebook size = 256, F = 0, L = 255, and s = 1101 (90, 30) (50, 60) (70, 70) (254, 1) Original VQ index table
Watermarked index pair: The Proposed Scheme s: 1 Index pair: (90, 30) (50, 60) (70, 70) (254, 1) (j1, j2) = (i1, i1 – i2) =(90, 90-30) (j1, j2) = (F, i1) =(0, 70) (j1, j2) = (i1, i1 – i2) =(254, 254-1) (j1, j2) = (L, i1, i2) Watermarked index pair: (90, 60) (255, 50, 60) (0, 70) (254, 253)
The Proposed Scheme Extracting procedure 1.1 The extracting rules (Case A) index by index
The Proposed Scheme Extracting procedure 1.2 The extracting rules (Case B) index by index
Watermarked index pair: The Proposed Scheme Extracting procedure Example (Case A): Watermarked index pair: (90, 60) (255, 50, 60) (0, 70) (254, 253) (i1, i2) = (j1, j1 – j2) =(90, 90-60) (i1, i2) = (j2, j3) =(50, 60) (i1, i2) = (j2, j2) =(70, 70) (i1, i2) = (j1, j1 – j2) =(254, 254-253) Recovered index pair: (90, 30) (50, 60) (70, 70) (254, 1) j1 ≠L; j1 ≠F; j1 > j2 j1 =L; j2 < j3 j1 ≠L; j1 ≠F; j1 > j2 j1 =F 1 1 Secret bits: 1
Experimental results Original VQ-coded Images Recovered VQ-coded Images
Experimental results The proposed scheme Scheme [11] Lena Jet Pepper Method Images Scheme [11] The proposed scheme Lena Capacity 4524 8192 Bit rate (bpp) 0.7239 0.5918 Jet 3379 0.7938 0.5742 Pepper 4749 0.7101 0.5790 Toys 5102 0.6886 0.5515 [11] C. C. Chang, Y. H. Chen, Z. H. Wang and M. C. Li, "A reversible data embedding scheme based on Chinese remainder theorem for VQ index tables," Proceedings of 2009 Second ISECS International Colloquium on Computing, Communication, Control, and Management(CCCM 2009), Sanya, China, Aug. 8-9, 2009, Vol. I, pp. 516-518.
Conclusions Simple Efficient Reversible
Thanks for your listening~