新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于矩陣乘法器的MP3解碼優化設計

        基于矩陣乘法器的MP3解碼優化設計

        作者: 時間:2011-02-10 來源:網絡 收藏

        0 引言
        (MPEG Audio Layer 3)是一種以高保真為前提實現的高效壓縮技術。音頻編碼器復雜,壓縮率很高,但其音色和音質還可以保持基本完整,因此該音頻格式文件在計算機、網絡和各種電子設備上都得到了廣泛運用。
        由于音頻相對比較復雜,為了達到在控制成本的范圍內實現快速的要求,提出了在SoC上通過增加運行快速的兩個16點DCT算法,進一步提高MP3速度的可行性方案。

        1 MP3解碼流程分析
        MP3解碼的流程如圖1所示,解碼的主要過程包括同步處理、解幀頭、解邊帶信息、解比例因子、Huffman解碼、逆量化、頻率線重排序、立體聲處理、混疊重建、改進離散余弦逆變換(IMDCT)、頻率倒置處理、子代綜合濾波,最后輸出原始的PCM數據。

        本文引用地址:http://www.104case.com/article/187628.htm


        在這些過程中由于IMDCT和子帶綜合濾波的算法比較復雜,占用硬件資源較多,處理時間長,因此功耗所占比例相應較高。表1是在DSP平臺上成功移植后,對代碼進行耗時分析的結果。
        根據表1可知,子帶綜合濾波占了整個解碼時間的60 %以上,是決定解碼速度的最關鍵模塊;其次是長塊IMDCT運算,占了整個解碼時間的10%以上。若采用MPEG-1建議的算法流程,數值計算主要集中在子帶綜合濾波上。以兩聲道48 kHz采樣率為例,乘法運算量為(48 000/32)×(64×32+512)×2=7 680 000次/s。因此,子帶綜合濾波是MP3解碼器的優化重點,減少子帶綜合濾波的計算量和計算時間是MP3解碼器實現的核心。



        2 子帶綜合濾波分析
        子帶綜合濾波是MP3解碼的最后一部分,也是解碼過程中最為耗時的關鍵步驟。它負責從IMDCT的輸出值中把PCM值還原出來,可以分成5個步驟。首先是Matrixing()運算,即,2,…,63。由公式可知,它從32個子帶Sk的每個子帶中取出一個值組成32個值送入一個中進行運算,然后把輸出Vi的64個結果放入一個1 024的先入先出(FIFO)緩存中,再從1 024值中取出一半,組成一個512矢量Ui,并對這512矢量進行加窗運算,即Wi=UiDi,i=1,2,…,511,加窗系數Di由MP3官方協議AnnexB Table3-B.3提供。最后將加窗結果Wi進行疊加生成32個時域PCM輸出。
        1次矩陣運算乘法和加法運算過程分別為1 024次和992次,完成1個聲道的解碼需要18次矩陣運算。矩陣運算是子帶綜合濾波的關鍵步驟。實際上,Konstantinos Konstantinides提出的方法,只需要做一些變化就可以通過32點DCT變換成矩陣運算。
        2.1 32點快速DCT算法分析
        快速DCT變換算法主要基于系數矩陣分裂方法,增加輸入的預處理,使得乘法和加法計算量減半。32點的DCT變換到矩陣運算如圖2所示。其中V(1×64)表示矩陣的輸出,A,B都是長度為1×16的矢量,(A,B)表示32點DCT的輸出。


        由于32點的DCT可以分解成2個16點的DCT變換,依次類推可以分解成8點的DCT變換,考慮到定點數字信號處理中的有限字長效應,實際只需分解1次,將32點DCT化成2個16點的DCT。簡化子帶濾波流程以及使用快速DCT變換后,子帶綜合濾波部分的運算量可以減少約60 %。
        由32點DCT分解為2個16點DCT過程推導如下:

        電源濾波器相關文章:電源濾波器原理



        上一頁 1 2 下一頁

        關鍵詞: MP3 矩陣 乘法器 解碼

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜川县| 杂多县| 常德市| 平远县| 阳曲县| 台前县| 城固县| 连云港市| 盐亭县| 石河子市| 多伦县| 鄱阳县| 黄石市| 加查县| 勐海县| 山阳县| 建水县| 洛隆县| 隆回县| 叙永县| 桐柏县| 政和县| 南京市| 绍兴县| 莱阳市| 兴仁县| 德清县| 高雄县| 天峻县| 章丘市| 永宁县| 黑龙江省| 都匀市| 家居| 开化县| 绵竹市| 花莲市| 阿城市| 七台河市| 武城县| 徐闻县|