新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用DSP實現(xiàn)MPEG音頻層III壓縮的加速方法

用DSP實現(xiàn)MPEG音頻層III壓縮的加速方法

作者: 時間:2011-09-29 來源:網(wǎng)絡(luò) 收藏
3.1 Huffman編碼的多重地址索引

本文引用地址:http://m.butianyuan.cn/article/150148.htm

  層編碼中的Huffman編碼是一個窮舉、查表的過程。在參考文獻(xiàn)[1]表B.7中列出了用于層編碼的32個Huffman碼表。它們的最大值域范圍,碼表適用的信號統(tǒng)計特性都不相同。在編碼過程中,首先找到能夠?qū)⑺幋a區(qū)域樣值的最大值,并依次查詢各個Huffman碼表,直到該碼表能夠?qū)@一最大值進(jìn)行編碼為止,然后計算用該表進(jìn)行編碼所需的比特數(shù)。再嘗試相同編碼值域范圍的另一些碼表,找到最小比特數(shù)需求的碼表進(jìn)行最后的編碼。

  由于標(biāo)準(zhǔn)中所提供的32個表中,并非所有的表都能用,而且有大量的碼表只是linbits不同。因此如何存儲這些碼表,并能夠很方便地進(jìn)行查詢、編碼,是編碼過程中很關(guān)鍵的問題之一。但提出的“多級索引”可以很好地的解決這一問題。過程如圖2所示。對可能的表有不同的處理方式:

  

Huffman編碼的多重地址索引

  圖2 Huffman編碼的多重地址索引

  正常表 如表15,即每一級索引都是對應(yīng)于表15的各項信息。

  無效表 如表14,其最終的指向是碼表零,即相當(dāng)于無效表。

  雷同表 如表16和17實際上只是在第II級索引的linbits不同,其最后的Huffman數(shù)據(jù)是相同的。通過這樣的多級碼表地址索引可以很好的解決程序的模塊化。

  3.2 層編碼迭代循環(huán)的

  在迭代循環(huán)編碼部分,對于使用標(biāo)準(zhǔn)中所建議的初始量化常數(shù)進(jìn)行量化和編碼時,初始比特數(shù)要求要遠(yuǎn)遠(yuǎn)大于所允許的上限值。這時,如果只是將步長加一進(jìn)行再次量化編碼,將會使得系統(tǒng)效率大大地降低。

  經(jīng)過實際的實驗結(jié)果,一般初始可獲得比特數(shù)大約為700 bits/Granule,而初始的量化編碼結(jié)果一般在5 000 bits以上。如果再次量化步長加上20,可以迅速地逼近所要求的比特數(shù)。表1列出了一種我們使用的可能逼近。

  表1 一種可能的迭代循環(huán)

  

一種可能的迭代循環(huán)加速方法

  在AD(Analog Device)公司的定點芯片A2181上實際的運算結(jié)果表明,這種加速方法能夠?qū)⒃惴ǖ闹噶钸\算周期減少2/3左右。

  4 結(jié)束語

  層III標(biāo)準(zhǔn)是一種高效、高保真的編碼算法,但由于其復(fù)雜度和運算量較高,很難用一般的實時。在對該算法進(jìn)行全面分析的基礎(chǔ)上,提出了在用DSP時,降低復(fù)雜度、提高DSP運算效率的關(guān)鍵是優(yōu)化循環(huán)迭代量化編碼。提出“Huffman編碼的多重地址索引”,對非規(guī)則性的大量數(shù)組尋址操作提供了簡明清晰的線條,節(jié)省了尋址指令,提高了DSP的利用率。進(jìn)一步還提出了“迭代循環(huán)的加速”方案,通過ADSP2181定點芯片的運算,表明該方案能減少2/3的指令周期。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉