新闻  |   论坛  |   博客  |   在线研讨会
定点DSP实现MPEG2AAC解码
yanqin | 2009-04-16 17:05:12    阅读:1121   发布文章

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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客