• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于矩陣乘法器的MP3解碼優(yōu)化設(shè)計(jì)

    基于矩陣乘法器的MP3解碼優(yōu)化設(shè)計(jì)

    作者: 時(shí)間:2011-02-10 來(lái)源:網(wǎng)絡(luò) 收藏

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

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

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


    在這些過(guò)程中由于IMDCT和子帶綜合濾波的算法比較復(fù)雜,占用硬件資源較多,處理時(shí)間長(zhǎng),因此功耗所占比例相應(yīng)較高。表1是在DSP平臺(tái)上成功移植后,對(duì)代碼進(jìn)行耗時(shí)分析的結(jié)果。
    根據(jù)表1可知,子帶綜合濾波占了整個(gè)解碼時(shí)間的60 %以上,是決定解碼速度的最關(guān)鍵模塊;其次是長(zhǎng)塊IMDCT運(yùn)算,占了整個(gè)解碼時(shí)間的10%以上。若采用MPEG-1建議的算法流程,數(shù)值計(jì)算主要集中在子帶綜合濾波上。以?xún)陕暤?8 kHz采樣率為例,乘法運(yùn)算量為(48 000/32)×(64×32+512)×2=7 680 000次/s。因此,子帶綜合濾波是MP3解碼器的優(yōu)化重點(diǎn),減少子帶綜合濾波的計(jì)算量和計(jì)算時(shí)間是MP3解碼器實(shí)現(xiàn)的核心。



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


    由于32點(diǎn)的DCT可以分解成2個(gè)16點(diǎn)的DCT變換,依次類(lèi)推可以分解成8點(diǎn)的DCT變換,考慮到定點(diǎn)數(shù)字信號(hào)處理中的有限字長(zhǎng)效應(yīng),實(shí)際只需分解1次,將32點(diǎn)DCT化成2個(gè)16點(diǎn)的DCT。簡(jiǎn)化子帶濾波流程以及使用快速DCT變換后,子帶綜合濾波部分的運(yùn)算量可以減少約60 %。
    由32點(diǎn)DCT分解為2個(gè)16點(diǎn)DCT過(guò)程推導(dǎo)如下:

    電源濾波器相關(guān)文章:電源濾波器原理



    上一頁(yè) 1 2 下一頁(yè)

    關(guān)鍵詞: MP3 矩陣 乘法器 解碼

    評(píng)論


    相關(guān)推薦

    技術(shù)專(zhuān)區(qū)

    關(guān)閉
    主站蜘蛛池模板: 岫岩| 海原县| 中江县| 衡南县| 静海县| 汪清县| 哈尔滨市| 右玉县| 加查县| 交城县| 嘉禾县| 穆棱市| 阜城县| 榆林市| 读书| 苍梧县| 高安市| 通辽市| 县级市| 九龙坡区| 黄浦区| 贺州市| 柳河县| 葵青区| 阿拉善左旗| 湘阴县| 南宁市| 鹤山市| 平山县| 阜新| 五家渠市| 福贡县| 樟树市| 镇沅| 承德县| 银川市| 基隆市| 靖宇县| 凉山| 宜黄县| 读书|