| 摘 要:變長編碼技術(shù)(VLC)是在圖像、視頻和音頻數(shù)據(jù)壓縮中應用的一項主要技術(shù)。本文主要討論一種主要的變長編碼技術(shù)——霍夫曼編碼及其解碼器的硬件實現(xiàn)方法。作為mp3解碼器中一個重要的模塊,霍夫曼解碼器的實現(xiàn)方法關(guān)系到整個芯片的實時解碼目標能否實現(xiàn)。我們采用平行解碼的方式來實現(xiàn)設計,利用查找表(LUT)的方式在較短的時鐘周期內(nèi)完成一個碼字的解碼。 關(guān)鍵詞:VLC;霍夫曼編碼;MP3解碼器;查找表 |
| 1. 引言 ---在多媒體數(shù)據(jù)的壓縮中,一項廣泛應用的編碼技術(shù)就是熵編碼。作為重要的熵編碼,霍夫曼編碼可以通過消除統(tǒng)計的冗余數(shù)據(jù)來達到無損壓縮的目的。本論文主要討論霍夫曼(HUFFMAN)解碼的硬件實現(xiàn)方法及MP3解碼中霍夫曼解碼器的設計。 2 霍夫曼編碼算法 3 霍夫曼解碼器的硬件結(jié)構(gòu)研究 4 霍夫曼解碼器在MP3解碼器中的應用 |

---熵編碼規(guī)定,任何給定的一系列數(shù)據(jù),如果每個數(shù)據(jù)符號出現(xiàn)的概率已知的話,就可以采用更有效率的方式來編碼。霍夫曼編碼的基本思想就是:給出現(xiàn)概率越高的數(shù)據(jù)符號編成越短的碼字,給出現(xiàn)概率越低的數(shù)據(jù)符號編成越長的碼字。
---雖然比特串方式的解碼器有它的優(yōu)點,設計難度小,消耗的硬件資源少,如圖1此例中只需要3個觸發(fā)器就可以了。但它的缺點也很明顯:由于輸入的碼字長度的不同,解碼所需要的時鐘周期數(shù)也各不相同,這在解碼過程中會引起比特率的不連續(xù),從而需要額外的硬件來解決這個問題。另外,由于較長的解碼時間也使比特串方式的霍夫曼解碼器不適合應用在要求實時解碼條件的系統(tǒng)中。
---以“表1”的碼表為例,假設第一個輸入的數(shù)據(jù)流由八位組成:“00100110”。開始解碼的第一個周期累加器的值為“0”,解碼的碼字為“00”(A),碼長為“2”。第二個周期,累加器的值為第一周期解碼的碼長“2”,累加器控制緩沖器移位2位,這樣,解碼的碼字為“10”(D),碼長為“2”。第三個周期,累加器的值為前兩個周期解碼的碼長的和“4”,累加器控制緩沖器移位4位,解碼的碼字為“011”(C),碼長為“3”。第四個周期,累加器的值為“7”,緩沖器中還剩一位數(shù)據(jù)。累加器控制緩沖器將前七位移出,輸入新的比特流。算上上次解碼剩下的一位“0”,假設第二個輸入的8位數(shù)據(jù)是“10010101”,這樣,下一個被解出的碼字是“01001”(E)。第五個時鐘周期,累加器的值為“12”,已經(jīng)大于緩沖器的8位容量,因此用累加器的值減去“8”得到的值才是緩沖器中下一個未解碼數(shù)據(jù)的位置。解碼器重復以上過程,直到所有比特流中的數(shù)據(jù)全部解完。





