一個基于相鄰區塊相似性和動態次編碼簿的低位元率向量量化 圖像壓縮法 張真誠 逢甲大學 講座教授 清華大學 合聘教授 中正大學 榮譽教授
圖像壓縮 壓縮 1 0 1 0 0 1 0 1 1 0 0 … 1 0 1 0 1 0 0 1 0 1 1 1 … 0 1 0 0 1 0 1 1 1 0 0 0 … 0 1 0 1 0 0 0 0 1 0 1 1 … 1 Alan
VQ (Vector Quantization) 壓縮 w h Image Index table Index table
VQ (Vector Quantization) 解壓縮 w h Image Index table Index table
Codebook 的長相
SMVQ (Side Match Vector Quantization) Implementation of SMVQ Seed Block Residual Block
在CB中找出最接近 (67, 43, 96, 59, 47, x, x, x, 92, x, x, x, 40, x, x, x) (36+99)/2=67 在CB中找出最接近 (67, 43, 96, 59, 47, x, x, x, 92, x, x, x, 40, x, x, x) 的codeword!!
的前 16 個codewords,組成 smaller codebook 找出最接近 (x1,x2,x3,x4,x5,x,x,x,x9,x,x,x,x13,x,x,x) 的前 16 個codewords,組成 smaller codebook
解決Derailment(出軌) Problem Error =< TH 0010 Error > TH 10100010 計算原始圖的block vector與smaller codebook 之 cw 的誤差 Error If Error =< Threshold,選擇 smaller codebook 的index If Error > Threshold,選擇 原始 codebook 的index
CSMVQ (Classified Side-Match VQ) CSMVQ uses two thresholds THc and THs. THc is used to choose size of a state codebook. THs is used to control the derailment problem.
(或稱 Smaller codebooks) h 4h’ 2h’ h’ State codebooks (或稱 Smaller codebooks) Original codebook (或稱 Super codebook)
Proposed Scheme PCA (Principal Component Analysis) D1 = [0.710 0.703]
Sorted Codebook D1: (0.5038, 0.4904, 0.4788, 0.5259) Codebook The sorted codebook The projected values D1: (0.5038, 0.4904, 0.4788, 0.5259)
Block 的分類 basic block (B) one-neighbor reference blocks (1N) two-neighbor reference blocks (2N) B 1N VQ Sorting by PCA 2N … … VQ 2N Sorted codebook codebook
Encoding 選用的Codebook Size 對於 Basic Block (B) 永遠選用 Super CB。 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 選用的Codebook Size 對於 Basic Block (B) 永遠選用 Super CB。 對於 1N永遠選用 Size 為16 的Smaller CB。 1 2 : 100 101 255 : CB B U L X 100 10 12
對於2N考慮選用Size 為8的Smaller CB。 U L X 100 10 12 5 (a) Encoding blocks (b) Encoded index table diff = |cwU- cwL| = |102-104| = 2 < TH1, 取出Smaller CB (Size 為8) Near cw = (102+104)/2 = 206/2 = 103。
在Smalle CB中找出 Best codeword 5 1 2 : 103 255 99 100 101 102 103 104 105 106 1 2 3 4 5 6 7 取出 在Smalle CB中找出 Best codeword 5 若Distortion < TH2, 則此cw 可用;否則要到Super CB 中找 best codeword。
Decoding 順序: Basic block (採用Super CB) VQ 2N 順序: Basic block (採用Super CB) 1N reference block (採用Sized 16的Smaller CB) 2N reference block (採用 Sized 8 的 Smaller CB or Super CB)
Experimental results Six test images of 512512 pixels
Table 1 針對2N之diff = | cwU - cwL|的分佈 Images Airplane Lena Toys Baboon Girl Peppers 0≤diff<2 6661 4512 9224 1312 4023 4822 2≤diff<5 2509 2189 1466 1639 2360 2161 5≤diff<15 2670 4205 2153 3629 3768 4003 15≤diff<25 1281 1852 1189 2466 2015 1881 25≤diff<40 978 1198 734 2308 1580 1154 40≤diff<60 607 918 423 1991 1123 808 60≤diff<256 1677 1609 1194 3038 1514 1554 diff
Table 2 各方法之比較
(a) Traditional VQ encoded 30.905 dB 0.5 bpp 1.762 sec (b) CSMVQ encoded 30.897 dB 0.438 bpp 4.236 sec c) Proposed encoded 30.823 dB 0.363 bpp 0.801 sec
結論 Lower bit rate and fast encoding time. Improve about 0.14 bpp over VQ and CSMVQ bit rate while only less distortion occurred. Only half of encoding time needed by VQ.