Lossless Compression Schemes of Vector Quantization Indices Using State Codebook 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 Proposed schemes Experimental results Conclusions VQ PCA SOC Proposed schemes Scheme 1 Scheme 2 Experimental results Conclusions
Alan Chang
Vector Quantization (VQ) Concept Encoding and Decoding
Introduction (VQ) Image compression technique w h Image Index table Vector Quantization Encoder
Introduction (VQ) (Cont.)
Introduction (VQ) (Cont.) Training phase Codebook ………………. …...…. Codebook size ex : 128, 256, 512 or 1024 divided into blocks with pixels 16-dimension
Introduction (VQ) (Cont.) Training set Training using iteration algorithm Codebook Ci 1 . 254 255 (1, 2, 5, 9, 45, …) (101, 179, 201, …) (8, 27, 38, 19, 200, …) (23, 0, 67, 198, 224, …) Index sets New Codebook Ci+1 Compute mean values Replace the old vectors N-1
Introduction (VQ) (Cont.) LBG Algorithm 一次訓練 256 個 codewords 做了100次 連續兩次 MSE 之差別已經夠小
Ex: 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.
Introduction (VQ) (Cont.) Encoding Codebook 1 2 3 4 5 6 Nc-1 Nc Original image encoding index table
Introduction (VQ) (Cont.) Decoding look-up procedure Codebook 1 2 3 4 5 6 Nc-1 Nc decoding index table
Introduction (PCA) Principal component analysis (PCA) Ex: 2-dimension . D2 . . . . . . . . . . . . X1 . . . . . . . . . . .
Introduction (SOC) Search-order coding (SOC) Ex:
Introduction (SOC) (Cont.) Searched point Non-searched point
Introduction (SOC) (Cont.) The compressing steps Indicator P1 = 1 00011111 P2 = 1 11001111 P3 = 0 00 P6 = 0 01 31 207 211 8 7 35 … … Compression codes = 100011111 111001111 000 …
The proposed scheme start PCA SOC run SOC our scheme our scheme yes run SOC end our scheme no yes our scheme end original index value no original index value end
The proposed scheme (Cont.) Indicator SOC “0” Our scheme “10” Original index value “11”
The proposed scheme (Cont.) State codebook is generated in real-time Three cases CASE 1 One-bit indicator (0)+ SOC CASE 2 Two-bits indicator (10)+ index value CASE 3 Two-bits indicator (11)+ VQ index value
The proposed scheme (Cont.) Example 1: 54 61 CASE 1 One-bit indicator (0)+ SOC Compression result of (3,3) is “0001” SOC: (101) 61 (001) (010) 54 (100) (000)
Scheme 1 CASE 2 Two-bits indicator (10)+ index value Example: 2 61 Compression result of (3,3) is “101110”
Scheme 1 (Cont.) Example 3: 60 61 Two-bits indicator (11) + VQ index CASE 3 No match found in Cases 1 and 2 Two-bits indicator (11) + VQ index “1110” 47
Scheme 2 Also called “The Optimized State Codebook Scheme” The exclusion of repetition indices Four state codebooks 61 Codebook 1
Scheme 2 (Cont.) Codebook 2 ? Check if {53, 54, 56, 57} ∩{52, 53, 55, 56} = ø 61 Yes: The similar neighboring index (2,2), which equals to “54” The index of the state codebook The indices of the closest codewords of “54” in the codebook “0100” “0101” “0110” “0111 52 53 55 56 NO: The similar neighboring index (2,2), which equals to “54” The index of the state codebook The indices of the closest codewords of “54” in the codebook “0100” “0101” “0110” “0111 51 52 58 59 52 53 55 56 53 54 56 57
Scheme 2 (Cont.) Codebook 3 ? Check if ({53, 54, 56, 57} ∪ {51, 52, 58, 59}) ∩ {50, 51, 53, 54} = ø Yes: 61 The similar neighboring index (2,4), which equals to “52” The index of the state codebook The indices of the closest codewords of “52” in the codebook “1000” “1001” “1010” “1011” 50 51 53 54 NO: 51 52 . 58 59 The similar neighboring index (2,4), which equals to “52” The index of the state codebook The indices of the closest codewords of “52” in the codebook “1000” “1001” “1010” “1011” 49 50 60 61 50 51 53 54
Scheme 2 (Cont.) Codebook 3 CASE 2 The similar neighboring index (2,4), which equals to “52” The index of the state codebook The indices of the closest codewords of “52” in the codebook “1000” “1001” “1010” “1011” 49 50 60 61 61 CASE 2 Two-bits indicator (10)+ index value Compression results of (3,3)= “10 1010”
Scheme 2 (Cont.) Codebook 4 ? Check if ({53, 54, 56, 57} ∪ {51, 52, 58, 59} ∪ {49, 50, 61, 62}) ∩ {44, 45, 47, 48} = ø Yes: 61 The similar neighboring index (3,1), which equals to “46” The index of the state codebook The indices of the closest codewords of “46” in the codebook “1100” “1101” “1110” “1111” 44 45 47 48
Experimental results (1/4) The codebook is designed by using LBG algorithm
Experimental results (2/4) 1
Experimental results (3/4) 2
Experimental results (4/4) 3
Conclusions Two new schemes for VQ index table Scheme 2 excludes the repetitive indices Scheme 2 presents better performance than SOC and Scheme 1 Both schemes achieve the goal of reducing bit rate