有限態向量化器
有限狀態 VQ(Finite state vector quantization , FSVQ)是有記持的 VQ(Vector quantization , VQ), 伊會當用一个有限狀態機(Finite-state machine)來講,其中每一个狀態各代表一个分開的 VQ 編碼簿。
概欲
有限狀態 VQ 佮分類 VQ(Classified vector quantization,CVQ)仝款的是攏使用幾若个小吹編碼簿毋是單一一个大型的編碼簿。猶毋過,因為 FSVQ 是用下一狀態函數(Next-state function)來決定佗一个編碼簿,毋是分類器,並無彼號 CVQ 所遭遇的問題,親像送佮無送用以指明所選用來編碼簿的額外資訊。後一狀態函數是以目前的狀態(即其編碼簿)佮目前的輸出碼向量為輸入,以另外一个狀態的函數共輸出。使用 FSVQ 的優點是因為相鄰的像素方塊通常是相𫝛的,所以會當利用這種相關性抑是招,咧知影頭前彼角的結果了,選擇一个合適的編碼簿。實驗的結果顯示,FSVQ 改善矣 VQ 的效率。
演算法
- 第一步:
將原影像切甲大細為 n(一般為 n=四 x 四=十六)而且無相重疊的彼方塊。遮的方塊排順序成做一串影像向量,$ X _ { i } , i={ 零 , 一 , \ ldots , { \ frac { N ^ { 二 } } { n 影一 } } } $。
- 第二步:
予定一个起始狀態 $ S _ { 零 } $ 佮其實連帶之編碼簿 $ C _ { S 零 } $,咱代先先做第一个影像向量,$ X _ { 零 } $,編碼,揣出 $ C _ { S 零 } $ 中和伊上接近的碼向量,$ { \ hat { X } } _ { 零 } $,送出 $ { \ hat { X } } _ { 零 } $ 的指標共接收端。
- 第三步:
較早一个狀態 $ S _ { 零 } $、佮前一个狀態的輸出碼向量 $ { \ hat { X } } _ { 零 } $ 做下一狀態函數 f(.)的輸入,求出後一个狀態 $ S _ { 一 } $,即 $ S _ { 一 }=f ( S _ { 零 } , { \ hat { X } } _ { 零 } ) $;使用後一个狀態 $ S _ { 一 } $ 的編碼簿 $ C _ { S 一 } $ 為後一个影像向量 $ X _ { 一 } $ 做編碼;準講是對 $ C _ { S 一 } $ 中所揣上接近的碼向量為 $ { \ hat { X } } _ { 一 } $,著愛送出 $ { \ hat { X } } _ { 一 } $ 佇咧 $ C _ { S 一 } $ 中的指標共接收端。
- 第四步:
以仝款的程式為賰的影像向量做編碼(即,求新的狀態 $ S _ { n + 一 }=f ( S _ { n } , { \ hat { X } } _ { n } ) $,然後對 $ C _ { Sn + 一 } $ 中揣出佮 $ X _ { n + 一 } $ 最接近的碼向量 $ { \ hat { X } } _ { n + 一 } $ 閣送出奇的指標共接收端)。
如前咧講,因為後一个狀態是以前一个狀態以及輸出碼向量(毋是影像向量本身)的函數,所以接收這爿會當完全佮傳送端仝步的改變狀態無需要使用另外的資訊。猶毋過,這嘛為這个方法紮來一个缺點:若傳送線發生錯誤,這个錯誤會一直影響落去可能致使著嚴重的重建誤差。
'參考資料
- 戴顯權,_ " 資料壓縮 " _
- Allen Gersho , Robert M . Gray , _ " Finite-State Vector Quantization " _ , The Springer International Series in Engineering and Computer Science Volume 百五九 , 一千九百九十二 , pp 五百一十九石頭五百五十三
- Allen Gersho and Robert M . Gray , _ " Vector Quantization And Signal Compression " _