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

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





