MP3解码的IMDCT硬件加速器方案
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8604次
文章摘要:3 叠加运算的优化 速度和成本是设计的两大要素。考虑到硬件成本,IMDCT硬件单元的面积应受到严格控制。这里提出一种叠加运算的优化算法,利用该算法,可以节省2×31×18个字的存储电路单元。下面对此优化算法进行详细介绍。 IMDCT运算的主要数据结构如下: 可以看到,对于双声道立体声数据(stereo=2),常见的算法是对前一区块2个颗粒(共2×32×18个数据项)进行IMDCT运算,保存2×32×18个字的高18项数据,再对下一区块的2×32×18个数据项进行IMDCT运算,将得到的2&
MP3解码的IMDCT硬件加速器方案,标签:电子小制作,http://www.88dzw.com
3 叠加运算的优化
速度和成本是设计的两大要素。考虑到硬件成本,IMDCT硬件单元的面积应受到严格控制。这里提出一种叠加运算的优化算法,利用该算法,可以节省2×31×18个字的存储电路单元。下面对此优化算法进行详细介绍。
IMDCT运算的主要数据结构如下:
可以看到,对于双声道立体声数据(stereo=2),常见的算法是对前一区块2个颗粒(共2×32×18个数据项)进行IMDCT运算,保存2×32×18个字的高18项数据,再对下一区块的2×32×18个数据项进行IMDCT运算,将得到的2×32×18个字的低18项数据与之前保存的上一区块的高18项数据相叠加,得到输出结果。将IMDCT运算的数据叠加部分用硬件实现时,需要一块大小为2×32×18个字的存储电路(prevbuf[2][32][18])来存储高18项数据,用于下一步的叠加运算。对嵌入式SoC来说,降低存储电路的需求意味着减小芯片面积。于是采用软硬件协同设计的方式对算法进行改进,通过改变IMDCT运算所需数据的输入次序,相对减少IMDCT变换输出数据的量。如此一来,有效地减少了硬件加速器的存储单元,减小了电路面积。
首先,在解码软件里,完成2个区块4个颗粒数据的反锯齿运算,并将结果存储到一片连续的内存区域内。具体做法如下:
然后,采用交错读取数据的方法,先将处在区块相同位置、需要进行叠加的子带进行IMDCT运算。这样,可以将存储中间结果的prevbuf缩小到2×18个字,大大降低了对存储单元的需求,减小了电路面积。具体实现如下:
4 硬件实现
由图l可知,IMDCT运算主要包含3部分:IMCCT变换、数据加窗运算以及叠加运算。IMDCT变换部分主要是把由反锯齿运算得到的数据IN与cos系数相乘和累加,并把最后的结果放入寄存器SUM中;加窗运算是把计算好的SUM与加窗系数Wi相乘;叠加部分则是将加窗运算后的数据进行叠加。总体结构图如图2所示。
由图2可知,通过合理的流程设计和利用多路选择器(MUX),整个硬件加速器只需要1个乘法器和1个加法器,大大降低了通过硬件实现IMDCT运算的成本。
结 语
本文通过引进新的IMDCT变换算法,优化IMDCT运算过程中的叠加运算,加快了整体的运算速度,降低了对存储单元的需求,为高速度、低成本地实现IMDCT硬件加速器提供了一种方案。
《MP3解码的IMDCT硬件加速器方案》相关文章
- › MP3解码的IMDCT硬件加速器方案
- › 霍夫曼解码器的设计及在MP3解码中的应用
- › 新型MP3解码芯片VS1001K及其应用
- › MP3解码芯片详解之Sigmatel
- › 主流MP3解码芯片介绍
- › 基于DSP的MP3解码系统设计
- 在百度中搜索相关文章:MP3解码的IMDCT硬件加速器方案
- 在谷歌中搜索相关文章:MP3解码的IMDCT硬件加速器方案
- 在soso中搜索相关文章:MP3解码的IMDCT硬件加速器方案
- 在搜狗中搜索相关文章:MP3解码的IMDCT硬件加速器方案