《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于矩陣乘法器的MP3解碼優化設計
基于矩陣乘法器的MP3解碼優化設計
李仕專 李維濤 符 天 孟憲軍
摘要: 介紹了MP3解碼器的工作原理,分析了各個解碼環節的計算量和消耗時間。將MP3解碼過程中耗時最多的子帶綜合濾波環節使用矩陣乘法器單元做了優化和改進,提出一種可大幅度提高MP3實時解碼效率的軟硬件協同設計方法,并在SoC仿真平臺上得到實時驗證,達到了較好的優化效果。由于SoC的設計方法比較靈活,可以根據實際需要設計硬件模塊,所以該設計具有方便、靈活和可靠性高等特點,是工程實用價值較高的解碼器。
Abstract:
Key words :

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

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


    在這些過程中由于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次矩陣運算" title="矩陣運算">矩陣運算乘法和加法運算過程分別為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過程推導如下:

2.2 基于矩陣乘法器的快速DCT算法優化
   
3×3矩陣乘法器由觸發器和乘累加器組成,是高性能DSP處理器的重要部件,也是實時處理的核心,其速度直接影響DSP處理器的速度。矩陣乘法器的實現有很多種,基本上都基于并行計算" title="并行計算">并行計算原則。由于每列結果與其他列不相關,因此可以通過增加乘法器多列同時計算,經過n次乘累加就可以得到最后結果。圖3給出矩陣乘法器的結構。


    顯然,這種結構的計算速度很快,但是使用乘法器會因矩陣維數n的增加而快速增加,使用的觸發器也很多。在很多場合下,只要滿足處理速度的要求,完全沒有必要浪費這么多硬件資源,而是只要1個乘累加單元" title="乘累加單元">乘累加單元流水作業,分步計算每1列結果既可。在做乘累加計算1個元素時候,準備下一組參與運算的數據,如此循環,同樣可以獲得較高的處理速度。
    在該設計中,由于B矩陣是1×n的一維向量輸入數據,A矩陣為DCT系數矩陣,A矩陣中的元素為n個系數的線性組合" title="線性組合">線性組合,因此整個矩陣乘法器需要2組n個觸發器分別存放輸入數據和n個系數,1個乘累加單元。輸入數據X[0:n],從X[O]到X[n]循環n次進入乘法器,使用選擇信號Assi-gn[0:n]選擇系數C[0:n],另外系數符號由Sign信號軟件控制,基本結構如圖4所示。


    由于DCT計算本質上就是n×n矩陣乘法運算,而n×n矩陣乘法器是在通用乘法器的基礎上增加2組分別存放系數矩陣的系數C(n)和輸入X(n)的n個寄存器,使之實現長度為n的乘累加功能,同時還需保存上次乘法結果。其中,DCT中的系數是一組n維基的n種線性組合。只需1次輸入n個系數,使用軟件進行選擇和符號控制就可實現這些不同系數組合,無需反復往寄存器中置數,大大提高了取數/置數的效率,節省了整個DCT的運算時間。
    因此在計算32點的DCT,可將32點DCT分解為2個16點的DCT計算,計算量也減少1倍。可以使用2組16×16的矩陣乘法器并行計算,使得計算時間大幅減少。表2是通過增加矩陣乘法器優化處理后,子帶綜合濾波使用不同實現方式所需要的時間。


    結果表明,第2.1節中使用快速32點DCT算法改進子帶綜合濾波計算是有效的,直接減少59%的計算時間。在采用并行2個16×16矩陣乘法器加速快速32點DCT的計算,可以取得明顯的效果:使得計算時間比原算法減少了約91.4%,而且硬件上只增加1個乘法器和30個數據鎖存器,以及部分控制電路。使用軟硬件協同操作就可以獲得子帶綜合濾波計算速度上的大幅度上升。

3 結語
   
該設計面向SoC實現了利用增加矩陣乘法器就可加快基于32點快速DCT算法的MP3解碼中子帶綜合濾波的處理速度,大大緩解了系統的頸瓶,使得采用系統主頻比較低(fs≤100 MHz)的SoC平臺進行MP3的解碼成為可能。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲精品一级| 狠狠色丁香婷婷综合| 国产欧美一区二区色老头| 欧美午夜免费| 欧美三级特黄| 国产精品xnxxcom| 欧美日韩视频专区在线播放 | 亚洲免费网址| 亚洲影音先锋| 亚洲欧美日产图| 亚洲欧美第一页| 午夜精彩国产免费不卡不顿大片| 亚洲一卡久久| 亚洲一区免费视频| 久久精品一区二区| 亚洲激情影视| 亚洲国产精品一区在线观看不卡 | 久久九九电影| 久久深夜福利免费观看| 久久综合一区二区| 美腿丝袜亚洲色图| 欧美高清成人| 欧美日韩在线影院| 国产精品美女主播| 国产欧美日韩精品专区| 国产一区二区三区免费观看| 韩国成人福利片在线播放| 在线播放日韩欧美| 亚洲人www| 一本色道久久综合亚洲精品小说| 亚洲五月六月| 欧美一级视频| 亚洲精品日日夜夜| 中文精品99久久国产香蕉| 亚洲综合导航| 欧美一区二区三区精品电影| 久久久99精品免费观看不卡| 免费一级欧美片在线观看| 欧美人体xx| 国产精品嫩草99av在线| 国产人成一区二区三区影院| 激情久久影院| 日韩视频在线观看| 亚洲欧洲99久久| 亚洲黄色免费网站| 亚洲一区二区三区四区视频 | 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲人成在线观看| 一区二区三区成人精品| 亚洲欧美综合精品久久成人| 久久久久久久综合| 欧美人妖另类| 国产亚洲免费的视频看| 亚洲欧洲精品一区| 亚洲欧美制服中文字幕| 亚洲国产一区二区三区青草影视| 一区二区三区视频在线| 欧美一区观看| 欧美激情按摩| 国产精品一卡二| 亚洲激情在线视频| 亚洲男女自偷自拍图片另类| 亚洲黄一区二区| 亚洲天堂av电影| 久久人人精品| 欧美片网站免费| 国模精品一区二区三区| 亚洲精品三级| 久久超碰97中文字幕| 在线性视频日韩欧美| 久久视频在线视频| 欧美特黄一区| 在线观看av不卡| 亚洲欧美激情视频| 99国产一区二区三精品乱码| 久久激情五月激情| 欧美特黄a级高清免费大片a级| 一区二区在线视频| 亚洲主播在线观看| 一本色道久久精品| 老司机精品视频网站| 国产精品免费网站| 亚洲精品在线二区| 亚洲国产成人久久| 欧美伊久线香蕉线新在线| 欧美日韩裸体免费视频| 一区二区三区在线观看欧美| 亚洲一区二区三区免费在线观看 | 欧美亚洲一区三区| 欧美日本高清视频| …久久精品99久久香蕉国产| 亚洲欧美综合精品久久成人| 亚洲一区二区在线看| 欧美高清在线视频观看不卡| 国产亚洲一区二区在线观看 | 亚洲精品婷婷| 欧美第一黄网免费网站| 久久久久久久波多野高潮日日 | 亚洲成色最大综合在线| 欧美一级视频免费在线观看| 欧美日韩国产专区| 91久久精品美女| 亚洲黄色av| 欧美mv日韩mv国产网站app| 国产网站欧美日韩免费精品在线观看| 夜夜爽www精品| 一区二区三区波多野结衣在线观看| 免费欧美日韩国产三级电影| 精品动漫av| 亚洲高清在线观看| 久久三级视频| 伊人激情综合| 亚洲国产精品久久久久秋霞影院| 久久久美女艺术照精彩视频福利播放 | 亚洲人体偷拍| 日韩视频不卡| 欧美国产丝袜视频| 最新亚洲一区| 一本色道久久综合精品竹菊| 欧美另类视频在线| 亚洲狼人综合| 一区二区三区高清在线观看| 欧美激情精品久久久久久变态 | 香蕉久久一区二区不卡无毒影院| 亚洲欧美一区二区激情| 国产精品久久久爽爽爽麻豆色哟哟| 日韩一级视频免费观看在线| 亚洲素人在线| 国产精品嫩草影院av蜜臀| 亚洲欧美一区二区视频| 欧美在线资源| 精品av久久707| 亚洲精品久久久久久久久久久久| 免费日韩成人| 亚洲人体一区| 亚洲一区美女视频在线观看免费| 国产精品久久久久久久浪潮网站| 亚洲一区二区三区色| 久久国产精品久久久久久电车| 国产视频综合在线| 亚洲电影在线看| 欧美精品一区二区三区蜜臀| 99re成人精品视频| 午夜精品久久久久久久99水蜜桃 | 99综合在线| 国产精品二区二区三区| 亚洲欧美国产精品专区久久| 久久久成人网| 亚洲欧洲日产国产综合网| 亚洲日本中文字幕| 久久不射2019中文字幕| 欧美成人精精品一区二区频| 亚洲美女黄色| 久久国产精彩视频| 亚洲高清不卡av| 亚洲影视在线| 国内精品久久久久久久果冻传媒| 亚洲三级性片| 国产精品啊v在线| 亚洲成人资源网| 欧美日韩亚洲三区| 欧美亚洲免费电影| 欧美国产精品中文字幕| 在线亚洲精品福利网址导航| 久久久国产成人精品| 亚洲精品视频免费观看| 性色av一区二区三区红粉影视| 狠狠久久亚洲欧美| 亚洲无线视频| 韩日欧美一区二区| 一区二区三区www| 国产综合av| 亚洲午夜精品17c| 黑人中文字幕一区二区三区| 99精品欧美一区二区三区综合在线| 国产精品入口66mio| 亚洲激情图片小说视频| 国产精品久久久久77777| 亚洲国产成人午夜在线一区 | 亚洲无限乱码一二三四麻| 免费欧美在线| 小辣椒精品导航| 欧美日韩国产综合视频在线| 久久精品亚洲一区二区三区浴池| 欧美日韩亚洲一区二区三区在线观看| 欧美一区二区三区男人的天堂| 欧美日韩ab| 亚洲国产精品ⅴa在线观看| 国产精品极品美女粉嫩高清在线 | 欧美精品日日鲁夜夜添| 午夜日韩福利| 欧美三级电影精品| 亚洲黄页视频免费观看| 国产欧美日韩一区| 亚洲一区二区三区在线视频| 在线欧美电影| 久久久999国产| 亚洲尤物在线视频观看| 欧美日韩国产va另类|