一种面向交互式通信的音频编码算法
2011-03-06张璐
张 璐
(陕西省天然气股份有限公司,陕西 西安 710016)
0 引言
近年来,随着多媒体和网络通信技术的飞速发展,数字音频技术己经在数字影音系统、高清晰度电视(HDTV)、数字音频广播(DAB)、电话会议系统、无线通信、互联网多媒体业务等领域中得到了广泛的应用[1]。然而,对于数字化之后的音频信号,如果没有有效的压缩编码方案,海量的数据将给存储和传输带来巨大的压力,这就促进了各种音频编码技术的出现。
通过对现有的感知音频编码算法进行分析比较,研究了一种低延迟高质量的音频编码算法,即 LDX算法。主要面向实时全双工音频或多媒体通信的应用,其特点是编解码算法延迟小,同时具有其它感知音频编码的高压缩比、高音质的优点。
1 LDX音频编码基本原理
跟其它感知音频编码算法一样,LDX是通过去除感知冗余和统计冗余来获得编码增益[2-5],因此,时频分析模块与心理声学模型是LDX音频编码器的核心。LDX音频编码器的结构如图1所示。
图1 LDX音频编码器框
LDX编码器对输入的信号分块处理,通常根据时域和频域的分辨率及编码延迟的要求确定数据块的长度。在进行时频变换之前,对一数据块进行加窗处理,为了保证数据块之间的衔接,相邻数据块部分重叠。加窗后的数据块进行时频分析和心理声学分析。
为了以尽量少的比特,且又能较精确地表示掩蔽曲线,LDX结合临界频带的概念,对掩蔽曲线通过线性分段逼近的方式获得基底曲线(Floor),然后用基底曲线对变址离散余弦变换(MDCT,Modified Discrete Cosine Tranform)频谱进行白化处理,如图2(a)所示,得到去除感知冗余之后的残差信号(Residue)[6],如图2(b)所示,由于残信号的动态范围明显变小,从而可以减少量化误差或节省编码比特数。
图2 基底曲线和白化后的频谱
2 LDX音频解码算法
LDX的编码比特流从逻辑上可以分为头包和音频包,头包出现在所有音频包之前,它包含了信源的部分参数和用户的指定参数,在解码音频包之前,解码器必须先正确解码头包,以获得这些参数,解码器需根据这些参数建交解码音频包所需的一切信息[7]。
音频包主要由基底曲线的编码比特流和残差信号的编码比特流构成,解码器对两者进行解码后,得到重构的数字音频输出。LDX音频解码器结构框图如图3所示。
图3 LDX音频解码器框图
LDX解码流程图如图4示,由于头包出现在所有音频包之前,所以解码器首先要完成头包的解码。头包的正确解码是正确解码音频包的前提。LDX音频包解码主要包括以下几个步骤。
(1)基底解码
由于基底是对全局掩蔽曲线的分段折线逼近,解码时先得到各个分段点的幅度,然后对所得的分段折线(即基底)进行内插以得到全局掩蔽曲线。
(2)残差解码
为了获得更高的编码增益,LDX采用了多维的霍夫曼编码方式,编码时,根据残差的动态范围选择相应的码本,码本的编号信息写入编码比特流中,所以解码时,首先获得码本信息,然后选择相应的码本对残差进行霍夫曼解码。
(3)声道去耦合
如果是多声道模式,需要进行声道去耦合算法。LDX只对多声道的残差信号进行立体声编码,因此也只有残差信号存在去耦合算法。去耦合以后得到了每声道各自的残差信号。
(4)矢量点乘
矢量点乘是指基底内插得到的全局掩蔽曲线(矢量)与相应声道的残差信号(矢量)进行点乘,得到各声道的频域参数,即重构的MDCT频谱。
(5)时频反变换
各声道的频域参数变址离散余弦反变换(IMDCT,Inverse Modified Discrete Cosine Tranform)后,得到相应的时域参数——重构的时域数据块。
(6)叠接相加
由于编码时相邻数据块有50%的重叠,因此,解码时,为了重构当前帧,重构的相邻数据块需要叠接相加,最后得到输出的数字音频。
3 LDX音频编码算法的性能测试与质量评估
音频编码算法的性能需要有可靠的测试来验证。通常对软件实现的实时感知音频编码器评估的性能参数主要包括程序存储空间、数据存储空间、运算量和重构的音质四个方面,而重构的音质是整个系统性能评估中最重要的一个指标[8]。另外,运算复杂度和存储量也要针对不同应用实际考虑。
图4 DX音频解码流程
对LDX来说,重点是编解码算法延迟和音频质量的问题,因此,主要就 LDX的算法延迟和音质与其它几种音频编码算法进行测试和对比。
进行测试的音频编码算法除LDX之外,为了进行性能分析和比较,同时参与测试的有动态图象专家组高级音频编码(MPEG-4 AAC-LD,Moving Pictures Experts Group Advanced Audio Code)、动态影像专家压缩标准音频层面3(MP3,Moving Picture Experts Group Audio Layer III)、Ogg Vorbis格式以及G.722.1c等音频和语音编码算法。所有上述音频编码算法的测试都在每声道16~64 kb/s的范围内进行。表1、表2和表3是音频质量感性评价测试结果,表4和表5是感知话音评估法测试结果。表中“…”表示对应的编码器在相应的采样速率下不支持对应的编码比特率。表1至3的测试结果表明,从总体上来说,LDX的音质与 Ogg Vorbis的性能相当,好于MP3,而相对于MPEG标准中的MPEG-4 AAC-LD,LDX在音质方面有很大的改善;从表4和表5可以看出,在对 16 kHz采样的语音信号处理上,LDX与G.722.1c表现出来的性能非常接近,而在对16 kHz的音频信号处理上,LDX比G.722.1c更优。
表1 16 kHz音频信号编码音频质量感性评价测试结果
表2 32 kHz音频信号编码音频质量感性评价测试结果
表3 48 kHz音频信号编码音频质量感性评价测试结果
表4 16 kHz语音信号编码感知话音评估法测试结果
表5 32 kHz音频信号编码感知话音评估法测试结果
4 结语
通过对当前音频编码技术的综合分析,提出了一种低延迟高质量的感知音频编码算法——LDX,它最大的特点在于有较低的编解码算法延迟,而在编码效率、音质和算法复杂度等方面,可以与时下的其它高级感知音频编码算法相媲美。当然,LDX亦有不足之处,相对于MPEG-4 AAC-LD而言,在差错隐藏与恢复等抗误码方面未曾顾及;由于预回声处理算法与预回声的判断密切相关,这一点与其它音频编码算法有所不同,因此,寻找一种与 LDX预回声处理算法非常相吻合的预回声判断算法也十分重要。而且,在以后的具体应用中,也会出现一些未曾料及的新问题,但无论怎样,低延迟高质量音频编码算法 LDX的提出,对音频编码技术的发展具有重要意义。
[1] 马姗姗,钱建生.音频数字水印技术综述[J].通信技术, 2008,41(11):135-138.
[2] 由守杰, 柏森, 曹巍巍.一种新颖的音频信息隐藏算法[J].通信技术, 2007,40(12):280-282.
[3] 杨帆,郭立,徐雷,等.基于信息量估计法的 MIDI音频隐写分析[J].通信技术, 2010,43(01):86-88.
[4] STANLEY P L.Dawn of the Digital Age[J].AES, 1998(46):37-41.
[5] Brandenburg K.OCF - A New Coding Algorithm for High Quality Sound Signals[C].USA: IEEE, 1987:141-144.
[6] QUACKENBUSH S R, JOHNSTON J D.Noiseless Coding of Quantized Spectral Components in MPEG-2 Advanced Audio Coding[EB/OL].(1999-12-11)[2011-02-01].ieeexplore.ieee.org/iel3/4935/136 06/00625587.pdf.
[7] MAHIEUX Y, PETIT J P, CNET L.High-Quality Audio Transform Coding at 64 kb/s[J].IEEE Trans.Commun, 1994,42(11):3010-3019.
[8] JAYANT N, JOHNSTO J D.Signal Compression Based on Models of Human Perception[J].Proc.IEEE,1993(81):1385-1422.