基于ARM平臺(tái)的MP3軟解碼算法研究與實(shí)現(xiàn)
3.3 幀解碼模塊
該模塊為解碼引擎核心模塊,按照順序完成預(yù)處理、霍夫曼編碼、反量化、重排列、立體聲解碼、混迭消除、反離散余弦變換、頻域轉(zhuǎn)換、子帶合成濾波,最后生成聲卡可以直接讀取的PCM采樣。本文引用地址:http://www.ex-cimer.com/article/201610/306022.htm
從系統(tǒng)設(shè)計(jì)的角度上,該模塊又可以劃分為幾個(gè)小模塊:浮點(diǎn)計(jì)算模塊、幀預(yù)處理模塊、霍夫曼解碼模塊、層解碼模塊、濾波合成模塊。
3.4 注銷解碼器引擎
該模塊負(fù)責(zé)釋放解碼器申請(qǐng)的內(nèi)存,刪除解碼器內(nèi)建的播放索引,復(fù)位緩沖區(qū)。在解碼完成后調(diào)用。
3.5 解碼器外部調(diào)用接口
解碼器提供了簡潔而功能強(qiáng)大的調(diào)用接口,主要包括初始化、注銷、單幀解碼、IO控制、解碼時(shí)間控制幾個(gè)方面,具體如表1所示。
4 結(jié)束語
本文根據(jù)MPEG官方文檔,詳細(xì)剖析了MP3幀解碼的算法及其優(yōu)化,并在上述基礎(chǔ)上設(shè)計(jì)軟件解碼器接口,在ARM平臺(tái)上實(shí)現(xiàn)了軟件解碼器。本解碼器具有無浮點(diǎn)計(jì)算、引入文件緩存機(jī)制、內(nèi)建解碼位置索引等優(yōu)點(diǎn)。但是也存在一定的局限性:如時(shí)間精度低,解碼器沒有實(shí)現(xiàn)網(wǎng)絡(luò)功能,但是提供了流解碼接口,如果需要播放網(wǎng)絡(luò)上的MP3文件,需要在解碼器的上層設(shè)計(jì)網(wǎng)絡(luò)引擎。
評(píng)論