马文华,许晶晶,沈映娜
(1.广东外语外贸大学 信息科学与技术学院 计算机系,广东 广州 510630;2.广东省数字音频重点实验室,广东 广州 510640;3.广东省计算中心,广东 广州 510033)
常用的数字音频编解码技术主要有杜比AC-3,DTS,AAC,MP3,DRA等。音频处理设备从实现方式上可分为两大类:一类是采用专用芯片进行音频信号的编解码处理,其特点是处理速度快,实时性强(实现成本低廉,适合大规模量产),但功能相对单一,已经越来越不适应用户的需求;另一类采用通用数字信号处理器DSP为核心建立系统,其优点是功能丰富,能迅速应用新算法、新标准或新协议,有利于产品的快速升级。其缺点是由于采用软件算法,运算速度相对较慢,特别是进行大运算量的音频编码处理,实时性不易保证。
本文研究了DRA(Dynamic Resolution Adaptation)解码算法,并在飞思卡尔公司的DSPB56367定点芯片上实现了DRA技术的实时解码过程。主观听音测试表明:设计的DRA音频解码器性能指标先进,可广泛应用于数字电视、数字音频广播、宽带多媒体及移动多媒体等领域。
DRA技术是一种同时支持立体声和多声道环绕声的数字音频编解码技术[1-2]。DRA技术的最大特点是用很低的解码复杂度实现了国际先进水平的压缩效率。在编解码过程中,信号通道保持24 bit的精度(除了因量化而有意舍弃的精度外);可支持的声道设置除了常见的立体声、5.1环绕声、6.1环绕声和7.1环绕声之外,还为未来的音频技术发展预留了空间;同时可支持8~192 kHz间的标准采样频率,包括44.1 kHz和48 kHz;它对编码比特率(码率)没有明确限制,在具体应用时可根据信道带宽和音质要求等因素来设定[1]。
DRA解码流程如图1所示。
其中多路解复用器用于从比特流解包出各个码字,由于Huffman码属前缀码,其解码和多路解复用是在同一个步骤中完成的;码书选择器用于从比特流中解码出用于解码量化指数用的各个Huffman码书及其应用范围(application range);量化指数解码器用于从比特流中解码出量化指数;量化单元个数重建器可根据码书应用范围重建各个瞬态段的量化单元的个数;逆量化器用于从码流中解码出所有量化单元的量化步长,并用它由量化指数重建子带样本;可选联合强度解码器利用联合强度比例因子由源声道的子带样本重建联合声道的子带样本;可选的和/差解码器用于从和/差声道的子带样本重建左右声道的子带样本;逆交叉重组器用于当帧中存在瞬态时,逆转编码器对量化指数的交叉重组;短/暂窗口函数序列用于根据瞬态的位置及MDCT的完美重建(per⁃fect reconstruction)条件来重建该帧须用的短和暂窗口函数序列(对于瞬态帧);可变分辨力合成滤波器组可由子带样本重建PCM音频样本[3]。
飞思卡尔(Freescale)的数字信号处理(DSP)芯片DSPB56367主要定位在数字音频压缩/解压缩以及有关数字音频处理的其他领域,它是24位处理器,满足DRA算法设计24位精度的需要,该处理精度已超出人耳听觉极限;同时在1.8 V内核电压下执行速度为150 MI/s(兆指令/秒),在1.5 V内核电压下,执行速度为100 MI/s,也满足5.1声道算法的处理要求,其优良的性能使之成为DRA音频算法处理的理想器件[4]。
本文设计的多声道数字音频解码器,采用DSPB56367作为核心运行DRA解码算法。把来自数字音频接口S/PDIF(或AES/EBU)的DRA格式的低码率信号实时的解码成多声道数字音频信号,再由数字音频接口S/PDIF(或AES/EBU)输出给后端设备。同时还输出高指标的多声道模拟音频信号给后端监听设备。解码器的硬件组成如图2所示。
图2中MCU使用80C51,对DIR(Digital Interface Re⁃ceiver)和DIT(Digital Interface Transmitter)进行配置,同时可复位DSP并进行相关数据控制操作。RAM采用IS61LV5128-10T;Flash采用SST39LE040;DSP的编程采用JTAG方式;MCU采用I2C数据传输方式与DSP通信。
DRA多声道数字音频解码器的数字接口性能指标如表1所示。
表1 DRA多声道数字音频解码器的数字接口性能指标
DRA多声道数字音频解码器的模拟输出接口性能指标如表2所示。
表2 DRA多声道数字音频解码器的模拟接口性能指标
解码器的软件流程如图3所示。
首先设置系统统时钟(PLL),清空存储器,设置S/PDIF输入输出参数(I2S),等待DRA同步字,当1 024个字(word)的DRA码流装满DSP存储器后,交换乒乓存储器,解码1帧。解码流程见图1。
2.2.1 乒乓缓冲区
乒乓(ping-pong)缓冲技术是一种同时利用两个数据缓冲区的数据传输处理技术。使用乒乓缓冲是因为在传输和处理数据过程中单个缓冲区数据很容易被覆盖。乒乓缓冲方式的连续执行,总是保持一个缓冲区激活用于数据传输,而另一个缓冲区保持静态稳定的由DSP处理数据。
DSP内核存取内部RAM(IRAM)中的数据的速度比存取外部存储器中数据的速度快的多。但IRAM容量有限,不能满足整个输入帧的要求,因此同一时间在IRAM中只能处理一部分模块。处理乒乓集时,DMA将乒乓集从外部存储器传递至IRAM,这样DSP内核就能在完成当前工作后立即开始处理下面的数据。用乒乓缓冲区处理流程如图4所示。乒乓缓冲区在处理DRA解码算法的时候,每个缓冲区取1 024个字的数据进行处理,可同时处理8个声道的音频数据。
图4 乒乓缓冲区处理流程
2.2.2 Huffman解码
Huffman编码的理论依据是变字长编码理论。可以证明,按照概率出现大小的顺序,对输出码字分配不同码字长度的变字长编码方法,其输出码字的平均码长短,信源熵值可以接近[2]。
DRA算法根据量化级数的多少而选用不同的Huff⁃man码书,当一个码书中的量化级数很小时,多个量化指数被归集到一起以形成一个大的Huffman码书。当量化级的个数太大时(例如超过200),则采用递归索引。对此一个大的量化指数q被表示为
式中:M是模;m是商;r是余数。只有m和r需要被传送到解码器。它们中的一个或其两者都可以用Huffman码来编码。
DRA解码器中的Huffman数据处理流程如图5所示。
DRA解码过程中对每个声道的子带样本的量化指数进行Huffman编码,以提高压缩效率。表3[1]所示的两组码书被用来对子带样本的量化指数进行Huff⁃man编码,分别对应平稳帧和瞬态帧;而每组码书又分别由9个Huffman码书组成。因此,对每一个特定的帧,共有9个Huffman码书可用于对这些量化指数进行Huffman编码。这些码书的选择由量化指数的局部统计特性而决定:
1)根据量化指数的局部统计特性对量化指数分段;
2)为每段选择最佳的码书。
表3 解码量化指数用的Huffman码书选择
因此,需把这些段的个数、长度(码书的应用范围)、以及所选择的码书指数传输给解码器。
假设由码书选择得到码书指数2对应的Huffman码表如表4所示。当接收缓冲区得到图6所示数据时进行Huffman解码。
表4 Huffman码表
首先取出第1位数据“0”放入解码寄存器B的最低位,此时查找码表4可解出对应量化指数-2进行DRA解码,如图7所示。
重复上述步骤读取第二位数“1”存入B,查找码表未能解出码字,左移1位继续取数,直到取出“110”解出量化指数为“1”,如图8所示。设置X可减少遍历运算时间。
DRA解码过程很大部分的运算量都体现在Huffman解码的过程中,5.1声道音频数据解码需要48 MI/s,平均每个声道8 MI/s。
2.2.3 修正离散余弦反变换(IMDCT)
变换编码是当前的音频编码标准普遍采用的压缩技术。变换编码属于频域编码,把信号从时域变到频域,再对其频谱系数进行量化编码。变换编码充分利用人耳在频域上的听觉特性(主要是掩蔽效应和临界频带)来实现对音频信号进行有效的压缩,是一种高效的编码技术。DRA编解码算法使用了修正离散余弦变换(MDCT)技术,有利于消除块边界噪声。
DRA编解码算法使用DCT来完成MDCT的快速算法。编码器端把每个声道的音频信号的PCM样本分解成子带信号,这是由应用MDCT产生的一组频域系数实现的。在解码端再从子带样本重建PCM音频样本,这由应用IMDCT实现[5]。针对输入音频信号的动态特征,M=1 024的长MDCT用于处理稳态帧,M=128的短MDCT则用于处理瞬态帧[6]。
DRA用的基函数为
式中,w(n)为长度为2M的窗口函数。
DRA用到的所有窗口函数都是基于如式(3)表示的正弦函数[7]
编码所得的MDCT系数X(k)经过量化和Huffman编码送入解码端,在解码端经过逆量化后得到(k),再进行IMDCT变换。
伴随着信号处理技术的不断进步,经各音频压缩编解码系统处理后的节目信号,其音质的损伤难以用相关的技术参数进行客观评价,目前行之有效的方法是主观评价。因此通过对DRA解码后音质进行主观听音测试来了解其性能。
测试素材的评估选择根据国家标准GB/T10240-1998《电声产品声音质量主观评价用节目源编辑制作规范》,从EBU的标准素材库和商业DVD-AUDIO中选择确定,包括8个环绕声和8个立体声片段。
根据ITU-R BS.1584建议书《数字广播音频编码系统的用户要求》对发射领域基本音频质量规定:被测系统应按照ITU-R BS.1116建议书规定的双盲三刺激隐藏基准5级标度法进行测试(5分——不觉察;4分——可觉察,但不讨厌;3分——稍有讨厌;2分——讨厌;1分——非常讨厌),获得的平均分应高于4.0分。
测试结果表明,本文设计的解码硬件在128 kbit/s的立体声音质总体优于4.7分,达到了EBU定义的“不能识别损伤的”音频质量;在384 kbit/s的5.1环绕声音质总体优于4.5分;完全能满足数字广播系统的要求。
DRA多声道数字音频编解码技术的最大特点是用很低的解码复杂度实现了较高水平的压缩效率。由于DRA技术编解码过程的所有信号通道均有24 bit的精度容量,故在码率充足时能提供超出人耳听觉能力的音质。本文基于DSPB56367设计的DRA音频解码器在标准码率(每声道64 kbit/s)下损伤已较难识别,达到了EBU定义的“不能识别损伤的”音频质量要求,满足了实际应用的要求。
[1]SJ/T11368-2006多声道数字音频编解码技术规范[S].2006.
[2]马文华,曾庆煜.DRA算法及其实时解码器设计[J].电视技术,2009,33(5):36-39.
[3]PRINCEN J P,BRADLEY A B.Analysis/synthesis filter bank design based on time domain aliasing cancellation[J].IEEE Trans.ASSP,1986,34(5):1153-1161.
[4]Freescale.Freescale Semiconductor DataSheet(DSP56367)[EB/OL].[2008-04-20].http://www.freescale.com.
[5]PAINTER T,SPANIAS A.Perceptual coding of digital audio[J].Proceedings of the IEEE,2000,88(4):451-513.
[6]YOU Yuli.Audio decoing:US,US11/689371[P].2006-04-06.
[7]MALVAR H S.Signal processing with lapped transforms[M].Norwood,MA:Artech House,1992.