资源描述:
《定点DSP实现MPEG-2 AAC解码.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第24卷计算机应用Vol.242004年6月ComputerApplicationsJune,2004文章编号:1001-9081(2004)06Z-0377-02定点DSP实现MPEG-2AAC解码黄征,郭立,段渤(中国科学技术大学电子科学与技术系,安徽合肥230026)摘要:MPEG-2AAC是一种高质量的感知音频编码器,它拥有多种配置以满足不同场合下的要求,在每声道64kbps时的重建音质优于MP3和AC-3。文中给出了在定点DSP上实现MPEG-2AAC的优化算法,实现了TMS320VC5402DSK板上对AAC(mainprof
2、ile)立体声的实时解码。关键词:MPEG-2;AAC;反量化;IMDCT中图分类号:TP37文献标识码:A个二阶后向自适应lattice结构的预测器被用来减少相邻帧之1概述间的冗余度。预测器特别适合于对稳态信号进行处理,因此,为了降低成本和在有限带宽内传输数据,对于高保真音除了短窗以外的其他窗形式,都可以用这个模块进行处理。但频编码算法的要求越来越高。为了满足这种需求,一种新的是由于需要保存预测器状态变量,因此该模块需要耗费比较MPEG标准———AAC(AdvancedAudioCoding)已经由ISO/IEC多的存储空间。制定出来[
3、1]。AAC改进和增加了许多新的技术以保证在更低4)时域噪声整形。TNS模块利用在频域中的预测来增强码率下达到甚至超过MP3的音频质量,这些技术主要包括:时间分辨率,它的解码过程是将一个全极点的滤波器作用于(1)更高的频率分辨率;(2)预测器技术,提高编码效率;(3)特定的频谱区域,滤波器的系数由控制信息中的TNS数据导增强的联合立体声编码,进一步降低比特率;(4)增强的出。在主框架中,长窗TNS滤波器的最大阶数为20,对于短窗其数值为7。Huffman编码,使得编码更为灵活;(5)TNS,增强低码率下的音5)滤波器组。反MDCT变换将频
4、谱数据转化为时域中的频质量。因此,AAC比MP3提高了近30%的数据压缩率,而音样点值。变换后的数据再经过加窗,混叠和相加,按照一定的频质量却没有丝毫的损失。结构组织成时域序列,就可以将解码后的PCM样点从缓冲区今天,AAC已经在国际上得到了广泛的承认并且在很多传输到D/A转换器进行播放了。方面得到了应用,如AOD(音频点播),HDTV系统以及DAB(数字音频广播),继MP3之后会有越来越多的Audio网站和广播3算法优化及在DSP上的实现电台转向MPEG2-AAC,因此,研究AAC的硬件解码器是有意3.1系统构成义的。TMS320C54
5、X定点DSP芯片相对于浮点DSP芯片而言,它具2AAC(mainprofile)解码流程有运算速度快,功耗低和成本低的特点。它采用改进的哈佛结构,时钟频率可达100MHz,拥有16K的片上RAM和4K的ROM,MPEG-2AAC定义了三种不同的框架(profile):主框架,低它同时还提供了扩展存储器接口以提供更大的存储空间。它的复杂度框架(LC)和可变取样率框架。其主框架的解码流程如HPI功能可以方便的对数据和代码进行实时监测和调试,多通下所述:道缓冲串行口(McBSPs)可以实现音频数据的播放。TI公司提1)无噪声解码。比特流在输入缓
6、冲区解包以后,得到了供的TMS320VC5402DSK开发板拥有丰富的硬件资源和完备的经Huffman编码后的量化频谱值,此时,解码器必须进行无噪软件开发环境,系统的硬件构成如图1。声解码以获得真正的频谱数据,这是靠遍历Huffman树获得的。一共有11个码本用来进行解码,每一个码本对应1024根谱线中的一个块(section)。还有一个特殊的码本称之为“零”码本,它表示块中所有的数值为零。所有的Huffman表都可以事先放在存储器中以用于计算。2)反量化。Huffman解码之后,所有的1024个系数都要进入反量化单元进行反量化,这是通过
7、一个4/3的幂运算完成图1的。由于是非线性运算,因此可以采用查表的方法。量化值在3.2算法实现与优化+/-8191之间,量化步长为1.5dB。AT&T与Dolby实验室用C语言开发了一套面向用户免费使用的AAC解码程序,但它只是一个参考程序,在很多方面3)预测。在AAC主框架中包含预测器,在这个过程中,一收稿日期:2003-10-28;修订日期:2003-12-12作者简介:黄征(1979-),男,湖南长沙人,硕士研究生,主要研究方向:集成电路系统、音频编解码算法;郭立(1946-),男,广西柳州人,博士生导师,主要研究方向:片上系统、多
8、媒体、遥感数据实时压缩.378计算机应用2004年都是不完善的,即不能满足实时性要求,也不能有效节约存储4结语空间,加上在DSP硬件上执行代码,受到实时性与硬件资源的限制,因此必须对相应的代码