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