基于可重构运算单元的mp3解码滤波器系统的制作方法

文档序号:6759556阅读:183来源:国知局
专利名称:基于可重构运算单元的mp3解码滤波器系统的制作方法
技术领域
本发明涉及的是一种信息技术领域的解码系统,具体地说是一种基于可重构运算单元的MP3解码滤波器系统。
背景技术
1993年的MPEG1音频压缩标准提出的标准MP3解码过程采用了逆改进离散余弦变换(IMDCT)和正交镜像滤波器组(QMF)相结合的混合滤波器系统。其中,仅QMF就将占用近40%的解码时间。同时,混合滤波器以乘加运算为主且运算点数各不相同。这就要在硬件实现时使用大量的存储单元来存储各种系数和中间数据,使得硬件资源开销大,芯片面积大、实时性差,导致功耗与成本的提高。目前,MP3解码滤波器系统的实现主要有基于通用处理器和基于专用集成电路芯片。前者提供了专用的运算单元,可以提高执行效率但是难以提供较低的功耗。而后者在程序升级方面不大灵活,但能够提供低功耗与低成本,通过合理的软硬件设计能够提供最佳的性价比,因此是面向移动音频应用的较好选择。
经对现有技术文献的检索发现,MP3解码滤波器系统的实现主要集中于探索高效的系统结构以适合各种快速算法,从而提高系统的性能。1984年Byeong Gi Lee提出了离散余弦变换(DCT)快速算法和蝶形运算结构。2000年Scott B Marovich在文献“Faster MPEG-1 Layer III Audio Decoding”(HP Laboratories Palo Alto,June 2000)中提出了基于逆离散余弦变换(IDCT)的MP3滤波器实现。采用上述方案实现的MP3解码滤波器系统不得不为采用较多的系统资源,包括运算单元和存储单元。原因是系统实现一味迁就于软件快速算法而忽略了硬件系统的实现优化。快速DCT算法虽然具有和离散傅立叶变换(FFT)具有相似的蝶形运算结构,但是其每个节点的系数并非正负一,因此系统中需要开辟额外的存储空间来存放节点系数。而解码过程中对存储单元的请求也就降低了系统的处理速度。同时,根据整个滤波器系统中的运算点数关系,系统不得不构造不同基的DCT核运算模块,使得最终的硬件系统资源开销巨大。
为了改变上述系统对于软件快速算法的过分依赖,很多MP3解码方案提供商采用了基于FFT核的系统组成方式,整个系统围绕着FFT核运算模块,加上外围的存储单元和控制单元构成。但是该系统引入了很多额外的运算单元,增加了系统硬件实现资源的开销。
综上所述,目前大多数的文献和方案更偏向于在寻找一种解码速度和硬件实现上的折中,但都不能两全齐美。从面向移动音频应用的角度而言,较好的设计原则应该是在硬件资源开销最少,体积最小,功耗最低以及满足实时解码的条件下,最大可能地提高解码速度。

发明内容
本发明针对现有技术的不足与缺陷,提供一种基于可重构运算单元的MP3解码滤波器系统。MPEG 1 Layer III提出标准MP3解码滤波器处理以及前述众多优化算法和优化方案都是基于每一步的解码功能对滤波器系统进行划分的,而本发明则是基于硬件实现的功能来对该滤波器系统的划分进行划分的,兼顾了解码效率和硬件实现的系统。
本发明是通过以下技术方案实现的,本发明基于可重构运算单元的MP3解码滤波器系统包括可重构运算单元和控制单元两部分。包括可重构运算单元,控制单元,可重构运算单元根据不同的设置方式和操作指令完成算数运算,并将最终结果写入相应的存储单元或直接输出。控制单元根据MP3解码滤波标准,动态地对可重构运算单元进行设置并提供其操作指令,控制其完成MP3解码滤波,可重构运算单元主要由运算单元ALU以及存储单元ROM和RAM组成,具体完成MP3解码数据的处理,采用的存储方式最大限度考虑了MP3解码滤波中的对称性特点,使得ROM和RAM的使用均为最小。
本发明系统基于可重构思想设计,具有“流水线”和“循环”两种处理方式。可重构运算单元完成不同工作模式下的数据运算,控制单元根据MP3标准配置可重构运算单元工作方式,提供其执行参数和处理指令。所谓“可重构”就是指本发明所采用的运算单元能够按照当前的配置参数进行动态设置,从而实现MP3解码滤波过程中不同的运算功能模块的共享。所谓“流水线”处理方式是将3个计数器顺次延迟一个周期,每个计数器对应不同的操作。所谓“循环”处理方式是将1个计数器设置为主计数,在不同的时刻执行相应的操作,另外一个或两个计数器进行循环计数。
本发明基于MP3解码滤波器,该滤波器是逆改进离散余弦变换IMDCT和准正交镜像滤波器PQMF(包括与前面的IMDCT不同点数的IMDCT和一个QMF)相结合的混合滤波器。它包括MP3解码过程中抗混叠(Anti-Aliasing)以后的所有处理,具体有长窗或短窗的IMDCT,混叠相加,PQMF中的IMDCT以及PQMF中的QMF。
本发明的优点如下(1)本发明面向具体的硬件实现,采用了先进的可重构思想从硬件实现功能角度将MP3解码滤波器系统划分为一个可重构运算单元和一个控制单元,使得硬件实现时没有重复功能的子模块,大大减少了硬件资源的开销。从而减小了芯片面积,降低了功耗,能够很好地满足移动音频设备的需要。(2)本发明在硬件资源使用最少,体积最小,功耗最低以及满足实时解码的条件下,最大限度地发掘了MP3解码过程中的对称性特点,引入了三级流水线处理的滤波器处理方式,大大提高了解码速度。同时,与控制单元匹配设计了最小的MP3解码滤波器系统的ROM和RAM分配方式,所有运算也通过请求一个共享运算单元的方式进行,进一步减少了硬件实现资源的开销和最终的芯片面积。(3)由于本发明并没有采用现有文献的各种快速算法,而对称性特点又在当前的音视频标准中普遍存在,因此具有很强的扩展性。很容易将本发明的思想和特点应用于其他媒体应用中。


图1为本发明可重构运算单元的结构示意2为本发明流水线方式与循环方式示意3为本发明特殊ROM的读取方式示意4为本发明特殊RAM的读写方式示意图具体实施方式
如图1所示,本发明系统包括两大部分控制单元和可重构运算单元。可重构运算单元根据不同的设置方式和操作指令完成算术运算,并将最终结果写入相应的存储单元或直接输出。控制单元根据MP3解码滤波标准,动态地对可重构运算单元进行设置并提供其操作指令,控制其完成MP3解码滤波。可重构运算单元主要由运算单元ALU以及存储单元ROM和RAM组成,具体完成MP3解码数据的处理。采用的存储方式最大限度考虑了MP3解码滤波中的存储数据和过程数据的对称性,使得ROM和RAM的使用均为最小。
如图2所示,本发明两种工作模式示意图。可重构运算单元由与1个静态数据存储模块ROM,4个中间过程数据存储模块RAM(RAM1对应粒度RAM,RAM2对应叠加RAM,RAM3对应PQMF的RAM,RAM4对应输出的音频PCM缓存),1个算术逻辑与运算单元ALU,三个内部计数器以及与外部控制单元的指令和数据接口组成,具有“流水线”和“循环”两种处理方式。
“流水线”处理方式通过3个内部计数顺次延迟一个周期来实现,分别对应读ROM,读写RAM和请求ALU等不同处理。在MP3解码滤波过程中,可重构运算单元采用三级流水线方式,对应长块IMDCT,加窗与叠加,PQMF中的IMDCT和QMF解码。“循环”处理方式通过2个内部计数器来实现。一个为主计数器,利用不同计数值或范围统一对应读ROM,读写RAM和请求ALU等不同处理。另一个则对其进行循环计数。在MP3解码滤波中该方式仅对应短块IMDCT。
控制单元根据MP3解码滤波标准对可重构运算单元进行实时动态的设置,使其具有不同的运算特点和功能,同时提供其不同的操作指令。该单元内部还设有全局的计数器,对可重构运算单元内部的“流水线”和“循环”计数方式进行全局的循环计数。
静态数据和中间数据的存储空间最小是本发明系统的一个重要特征。
ROM的最小分配方式基于动态加窗系数,PQMF中IMDCT余弦系数以及PQMF中QMF的D系数存储的最小化。它们的存储数值如下24点动态加窗系数win(n)=sin(π36(n+12)),n=0,1,..,17sin(π12(n-18+12)),n=18,19,...,23]]>512点PQMF中IMDCT余弦系数cos[(n+33)(2k+1)π64],k=0,1,...,15;n=0,1,...,31]]>PQMF中QMF的D系数只存储MP3标准中提供的512个D系数中的D[1]到D[256]共256点。
这三块ROM存储单元的读取方式示意图如图3所示,仅存储不同数值以及非0,非正负1的系数。对于对称数值采用对称的读取地址,避免重复存储。
RAM的最小分配方式基于长窗IMDCT的18个不同结果,短窗IMDCT的24个不同结果与RAM3中当前要更新的32个地址空间的共享以及对于PQMF中的IMDCT的输出结果的存储量减半及其特殊的读写方式。这些特殊的RAM存储单元的共享和读写方式示意图如图4所示,仅存储非0和非正负1的数据。对于对称的数据仅存储一次,读写根据数据的对称关系进行,避免重复存储。
本发明系统的具体工作步骤如表1所示表1基于可重构运算单元的MP3解码滤波器系统工作流程及设置

第一步IMDCT根据输入数据是长块还是短块分别按表1中步骤1a或1b设置可重构运算单元。通过对标准MP3的IMDCT分析可知,所得结果具有以下对称关系x(N2-1-n)=-x(n)x(N2+n)=x(N-1-n),n=0,1,...,N4-1]]>其中,N为输出结果的点数,长块为36,短块为12。因此,只需按照下式计算中间的一半点数就可以得到所有IMDCT值。
x(n)=Σk=0N/2-1X(k)cos[π2N(2k+1)(2n+1+N)],n=0,1,...,N2-1]]>可重构运算单元中的计数器I对应读取ROM中的余弦系数和RAM1的输入数据;计数器j对应请求ALU进行乘加运算;计数器k对应每次计数到18时将当前IMDCT结果写入RAM3。整个过程采用三级流水线方式进行以提高效率。外部计数对IMDCT结果进行计数。长块所得结果需存储到18个地址空间,可与PQMF当前需要更新的32个地址空间共享。
短块IMDCT还需要对3个子块进行快间的加窗和叠加操作,故将可重构单元设置成循环方式。主计数器I从0到5对应读取ROM中的余弦系数,6和7对应读取ROM的加窗系数;主计数器I从0到5对应读取RAM1中的输入数据,6和7对应读取RAM3中的上一子块的后6个IMDCT结果,8和9对应将当前的IMDCT结果写入RAM3中的两个对称的位置;主计数器I从1到8对应请求ALU进行乘加运算。计数器j对I进行6次循环计数。外部计数对3个子块进行循环计数。3个短块一共将得到24个IMDCT结果,需要24个地址空间进行存储,也可与PQMF当前需要更新的32个地址空间共享。
第一步对长块完成了单一的IMDCT,对短块完成了IMDCT和子块间的加窗和叠加。所得IMDCT结果与PQMF中当前需要更新的32个地址空间共享。
第二步加窗与叠加对于长块第一步仅完成了IMDCT,接着要对36个IMDCT结果加窗,并将前18个IMDCT值与RAM2中的上一帧相同位置的后18个IMDCT值叠加,和值将更新RAM1中的当前块18个值。由于加窗和叠加恰构成乘加运算,长块的这两步可合并以提高效率。此时的后18个IMDCT值将用于更新RAM2中18个上一帧IMDCT结果。
对短块而言,在第一步IMDCT过程中已做好了加窗,这一步中仅需进行与RAM2中上一帧相同位置的后18个IMDCT结果的叠加与更新。
MP3标准提供了3种36点的长窗和一种12点的短窗,总共120个加窗系数。本发明通过对这些系数的分析得到其对称特点,在ROM中仅存储了如下的24个加窗系数,减少了存储量。具体读取ROM加窗系数的过程中只要根据窗的类型调整读取地址即可。
win(n)=sin(π36(n+12)),n=0,1,..,17sin(π12(n-18+12)),n=18,19,...,23]]>按照表2中步骤2设置可重构运算单元。外部计数为0时进行叠加。长块时,计数器I对应读取ROM中的加窗系数,读取RAM2中上一帧的后18个IMDCT值,读取RAM3中的当前的前18个IMDCT值;计数器j对应请求ALU进行乘加处理;计数器k对应将IMDCT加窗和叠加的结果写入RAM1。外部计数为1进行更新。长块时,计数器I对应读取ROM中的加窗系数,读取RAM3种的当前IMDCT的后18个值;计数器j对应写入RAM2进行更新;计数器k不进行任何处理。
对于短块,根据MP3的标准只有24个有效IMDCT值,在两端要填充6个0来合成一个36点的序列。在本发明中并没有填充0的处理。只要在处理短块时,对外部计数为0时在计数器I的0到5和外部计数为1时计数器I的13到18时设置从RAM3读到的值为0或者在这些时候不读RAM3即可。
第三步PQMF中的IMDCTPQMF中的IMDCT与前面的IMDCT基本相同,但点数为32点。通过对MP3标准中PQMF中的IMDCT分析可知,64个IMDCT结果中具有如下的对称关系y(32-n)=-y(n)n=0,1,...,15y(32+n)=y(64-n)n=1,2,...,15y(16)=0]]>因此,可以按下式计算n从17到48的32个值即可。
y(i)=Σk=015S(k)cos[(n+33)(2k+1)π64]+(-1)n+1Σk=1631S(k)cos[(n+33)(2(31-k)+1)π64],i=0,1,...,31]]>这里考虑了余弦函数的对称性,使存储于ROM的余弦系数为512个,比标准中少了一半。进一步可发现,n为31时,余弦系数为-1,因此可再减少16个余弦系数在ROM中的存储。因此,此处的余弦系数在ROM中的最小存储数量为496个。
此外,MP3标准中为每个声道都开辟了大小为1024个数据的RAM来进行PQMF。本发明基于上面提出的对称性,将标准中需要存储的64个IMDCT结果只cunchu32个,另外一半通过对称性读取,因此只需为每个声道开辟512个数据的RAM,大大减少存储空间。
按照表1中步骤3设置可重构运算单元。计数器I对应读取ROM中余弦系数,对应读取RAM1中的子带数据;计数器j对应请求ALU进行乘加运算;计数器k对应计数满32时将IMDCT结果写入RAM3。外部计数器对IMDCT点数进行32计数。
第四步PQMF中的QMFPQMF中的QMF主要对RAM3中的PQMF的IMDCT数据进行加窗乘加,输出PCM值。MP3标准中提供了512个D系数,通过对其分析可得如下对称关系D(257+i)=-D(255-i),i=0,1,...,254,i≠63,127,191D(257+i)=D(255-i),i=63,127,191D(0)=0]]>因此,本发明在ROM中只存储了256个D系数,是最少的存储数量。
按照表1中步骤4设置可重构运算单元。计数器I对应读取ROM中的D系数,读取RAM3中的PQMF中的IMDCT值;计数器j对应请求ALU进行乘加运算;计数器k每次计数满16时将输出的PCM值写入PCM缓存。外部由一个计数器对输出的PCM值数量进行32计数,另一个计数器对18个块进行计数。
按照表1中的四个步骤对一个MP3粒度(Granule,576个数据)进行滤波器解码,每一帧处理两个粒度共1152个数据。这里提到的计数器并不是功能强大的计数器,对应RTL中也只是一个变量而已,因此本身不会引入很大的硬件资源开销。
权利要求
1.一种基于可重构运算单元的MP3解码滤波器系统,包括控制单元、可重构运算单元,其特征在于,可重构运算单元根据不同的设置方式和操作指令完成算数运算,并将最终结果写入相应的存储单元或直接输出;控制单元根据MP3解码滤波标准,动态地对可重构运算单元进行设置并提供其操作指令,控制其完成MP3解码滤波,可重构运算单元主要由运算单元ALU以及存储单元ROM和RAM组成,具体完成MP3解码数据的处理,采用的存储方式最大限度利用了MP3解码滤波中的对称性特点,使得ROM和RAM的使用均为最小。
2.根据权利要求1所述的基于可重构运算单元的MP3解码滤波器系统,其特征是,所述的可重构运算单元由与1个ROM,4个RAM1个ALU以及三个内部计数器组成,其中,RAM1对应粒度RAM,RAM2对应叠加RAM,RAM3对应PQMF的RAM,RAM4对应输出的PCM缓存,具有“流水线”和“循环”两种处理方式。
3.根据权利要求2所述的基于可重构运算单元的MP3解码滤波器系统,其特征是,所述可重构运算单元,其“流水线”处理方式通过3个内部计数器顺次延迟一个周期来实现,分别对应读ROM,读写RAM和请求ALU不同处理,在MP3解码滤波过程中,可重构运算单元采用三级流水线方式,对应长块IMDCT,加窗与叠加,PQMF中的IMDCT和QMF解码。
4.根据权利要求2所述的基于可重构运算单元的MP3解码滤波器系统,其特征是,所述可重构运算单元,其“循环”处理方式通过2个内部计数器来实现,一个为主计数器,利用不同计数值或范围统一对应读ROM,读写RAM和请求ALU不同处理,另一个则对其进行循环计数,在MP3解码滤波中该方式仅对应短块IMDCT。
5.根据权利要求1或2或3或4所述的基于可重构运算单元的MP3解码滤波器系统,其特征是,所述的ROM,其最小分配方式基于动态加窗系数,PQMF中IMDCT余弦系数以及PQMF中QMF的D系数存储的最小化,它们的存储数值如下24点动态加窗系数win(n)=sin(π36(n+12)),n=0,1,...,17sin(π12(n-18+12)),n=18,19,...,23]]>512点PQMF中IMDCT余弦系数cos[(n+33)(2k+1)π64],k=0,1,...15;n=0,1,...,31]]>PQMF中QMF的D系数只存储MP3标准中提供的512个D系数中的D[1]到D[256]共256点;这三块ROM存储单元仅存储不同数值以及非0,非正负1的系数,对于对称数值采用对称的读取地址。
6.根据权利要求1或2或3或4所述的基于可重构运算单元的MP3解码滤波器系统,其特征是,所述的RAM,其最小分配方式基于长窗IMDCT的18个结果,短窗IMDCT的24个结果与RAM3中当前要更新的32个地址空间的共享以及对于PQMF中的IMDCT的输出结果的存储量减半及其特殊的读写方式,这些RAM存储单元仅存储非0和非正负1的数据,对于对称的数据仅存储一次,读写根据数据的对称关系进行。
7.根据权利要求1所述的基于可重构运算单元的MP3解码滤波器系统,其特征是,所述的控制单元,内部设有全局的计数器,对可重构运算单元内部的“流水线”和“循环”计数方式进行全局的循环计数。
全文摘要
一种信息技术领域的基于可重构运算单元的MP3解码滤波器系统。本发明包括可重构运算单元,控制单元,可重构运算单元根据不同的设置方式和操作指令完成算术运算,并将最终结果写入相应的存储单元或直接输出。控制单元根据MP3解码滤波标准,动态地对可重构运算单元进行设置并提供其操作指令,控制其完成MP3解码滤波,可重构运算单元主要由运算单元ALU以及存储单元ROM和RAM组成,具体完成MP3解码数据的处理,采用的存储方式最大限度考虑了MP3解码滤波中的对称性特点,使得ROM和RAM的使用均为最小。本发明则是基于硬件实现的功能来对该滤波器系统的划分进行划分的,兼顾了解码效率和硬件实现的系统。
文档编号G11C7/16GK1873808SQ20061002643
公开日2006年12月6日 申请日期2006年5月11日 优先权日2006年5月11日
发明者刘嘉, 刘佩林 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1