DRA分层音频编码技术

2014-09-18 00:15闫建新
电视技术 2014年17期
关键词:环绕声子带残差

闫建新,王 磊

(数字音频编解码技术国家工程实验室,广东 深圳 518057)

在分层音频编码上,国外已经研究了几种精细分层的有损数字音频编码方法及无损音频编码,主要包括:1)ISO/IEC 14496-3 MPEG-4 BSAC(Bit Sliced Arithme⁃tic Coding)比特片算术编码[1],在这种编码算法中,基于对MDCT(修正离散余弦变换)变换后的变换域系数(频谱系数)被量化为整数后,从低频到高频分成多个组,每个组谱系数从高位到低位形成比特片方式进行算术编码,因此可以实现非常精细的分层(或者伸缩)编码。2)在MPEG-4第三部分和MPEG-2第七部分中都提供了可伸缩采样率编码算法AAC-SSR(Advanced Audio Coding-Scalable Sampling Rate),首先是由Sony提出的,编码架构也类似于其独有的ARTAC(Adaptive Transform Acoustic Coding)编码。其基本算法是:首先将输入的数字音频信号通过4带的多相正交滤波器组(Polyphase Quadrature Filter,PQF)分割成4个频带,然后这4个频带分别进行1个256点MDCT(512样点窗长)或8个32点(64样点窗长)MDCT。这种技术的好处在于每个频带内可以独立选择长块或短块MDCT,因此对高频可使用短块编码增强时间分辨率;而对低频使用长块编码获得高频率分辨率。3)MPEG-4 SLS(Scalable Lossless Coding)有两种方式。一种是有损音频编码层(如AAC)和无损误差增强层,这样就保证了与原来有损编码的后向兼容。另外一种是没有有损编码层,仅仅无损增强层。在这两种方式中,无损增强层能够实现精细分层,提供低质量、高质量以及无损质量。

第一种分层编码算法为了实现精细分层,需要考虑限制频谱分区长度等,而导致需要较多额外开销降低了编码效率;第二种分层编码算法由于应用了4个PQF,造成带间存在混迭,因此相邻部分的变换域系数编码效率会下降;而第三种分层也是一种极其精细的分层编码技术,同样存在需要较多额外开销的问题。

中国数字音频(调频)广播(CDR)系统已经分别颁布了信道标准[2]和复用标准,其中在信道传输技术规范中,调制技术支持粗分层调制,且信道编码支持不等错保护技术,因此数字音频信源编码技术最好能够适配信道传输技术,而上述的几种分层编码技术不太合适,同时已颁布的我国多声道数字音频编码技术规范DRA[3]也不支持分层方式。为此本文提出了一种新的基于DRA分层编码方法,简称为DRA+L,在使用很小额外开销的条件下提供2层的帧结构,同时保证了与原DRA兼容。

1 DRA分层编码结构

图1给出了DRA基本帧结构示意图[3],在帧头信息中有1 bit指明是否在帧尾存在辅助数据部分,其目的就是为以后应用需求而进行功能及性能增强所保留的扩展单元,这样也确保了增强后的编码算法仍与原DRA兼容。另外需要注意的是,DRA帧头信息中的帧长度信息的计算并不包含辅助数据部分,因此辅助数据部分需要独立定义自身的长度,便于解码器拆分辅助数据单元,并且易于快速同步。

1.1 辅助数据一般结构

辅助数据结构示意图如图2所示,其中DRA帧头信息中的帧长信息是以32比特(4 byte)为单位。辅助数据中每个数据块下面小括号内的数字表示其占用的长度,单位为bit。X1,Xn分别为第1个和第n个辅助类型的数据长度,单位为byte。在辅助数据的开始是辅助数据的长度指示,当辅助数据比较短时(小于256 byte),直接使用8 bit基本长度信息描述;否则辅助数据长度通过16 bit扩展长度与前面的8 bit基本长度共同描述,即在256基础上累加16 bit无符号二进制数所表示的数值作为整个辅助数据长度。

每种辅助数据的类型由三部分组成:第一部分是本类型附属数据的长度,用12 bit描述(以byte为单位);第二部分为本类型附属数据的具体类型,以4 bit表示,最后一部分是本类型辅助数据的有效载荷。

图2 辅助数据的结构示意图

1.2 分层编码的数据结构

DRA分层编码就是在国标DRA算法的基础上通过分层编码辅助数据的增强扩展而实现的。分层编码可根据编码的声道数进一步分为单声道/立体声的分层和5.1环绕声分层,其码流结构分别如图3和图4所示的两层结构(即基本层和增强层)。

1)单声道/立体声分层帧结构

在单声道/立体声分层编码模式时,分层编码的基本层就是在它所分配的码率限制下通过国标DRA编码单声道或立体声;分层编码的增强层首先是辅助数据的总长度,辅助数据内部仅包含一种辅助数据类型,即分层编码类型。分层编码类型包括:12 bit分层编码类型长度、4 bit分层编码类型指示和分层编码扩展的有效载荷。在有效载荷的开始,通2 bit声道模式“00”用于表示当前DRA分层编码是是单声道/立体声分层编码;有效载荷的其他部分则为单声道/立体声残差的DRA编码信息。

2)环绕声分层编码帧结构

在5.1环绕声分层编码模式时,分层编码的基本层就是前置左右声道对的DRA编码;增强层的结构与单声道/立体声分层的增强层相似,但有效载荷的开始2 bit声道模式置为“10”,并且有效载荷的其他部分为其余声道(中央声道、超重低音及左右环绕声道对)的DRA编码信息。

3)低码率DRA分层编码帧结构

当在数字音频(调频)广播等应用中,有时需要在一个模拟调频节目内传输多路数字立体声信号或环绕声信号,因此要求DRA可提供更高编码效率而降低码率,这时需要在

DRA算法的基础上增加一些增强编码工具,例如带宽扩展及参数立体声等,实现低码率DRA编码算法。参照DRA分层编码结构图3和图4,可以通过简单修改给出低码率DRA分层编码结构。

(1)单声道/立体声低码率DRA分层

单声道低码率DRA分层:基本层包括单声道低频部分的DRA编码、辅助信息长度信息、带宽扩展类型辅助数据(包括带宽扩展辅助数据的长度、类型及数据);增强层包括图3中辅助信息长度之后的所有部分(其中残差DRA编码也是编码单声道的低频部分的残差信号)。

立体声低码率DRA分层:当不采用参数立体声时,基本层包括立体声对低频部分的DRA编码、辅助信息长度信息、带宽扩展类型辅助数据;增强层包括图3中辅助信息长度之后的所有部分。当采用参数立体声时,基本层包括立体声对下混为单声道后的单声道低频部分DRA编码、辅助信息长度信息、带宽扩展类型辅助数据(在数据内部包含参数立体声编码数据);增强层包括图3中辅助信息长度之后的所有部分。

(2)环绕声低码率DRA分层

基本层包括左右立体声对低码率DRA编码信息(包括左右立体声对低频部分的DRA编码或者下混后的单声道低频部分的DRA编码、辅助信息长度和带宽扩展类型辅助数据);增强层为图4辅助信息长度之后的所有部分(其中中央声道C采用低码率DRA单声道编码方法,左右环绕声道对采用低码率DRA声道对编码方法)。

2 分层编码算法

2.1 单声道和立体声分层编码算法

图5给出了单声道/立体声分层编码的原理框图,其中基本层为单声道或立体声的DRA编码(图中虚线框内的两个模块带宽扩展(BWE)编码和参数立体声(PS)编码是低码率DRA编码的增强单元),其中DRA完全符合国家标准规范的压缩算法;增强层则是对残差信号的编码,用于进一步改善解码信号的精度。下面主要介绍3个部分:DRA残差信号的计算、DRA残差信号量化和DRA残差信号的码书编码。

1)DRA残差信号的计算

GB/T 22726—2008国标中实现DRA的标准算法简单示意图如图6所示(为了清晰,特将解码端也做了简单描述,其中解码端模块见图6的虚线框图)。时域数据x[n]经过MDCT变换到频域得到谱系数X[k],将频域系数分成多个子带,对其中属于子带b的谱系数除以一个量化步长 Δb,然后取整(nint)得到量化后的谱系数X̂[k],其中每个量化步长 Δb和谱系数 X̂[k]通过各种方式传输到解码端。在解码端对量化后谱系数X̂[k]乘以量化步长Δb,得到逆量化的谱系数X͂[k],对其做IMDCT得到解码后的时域系数x͂[n]。

DRA分层算法简单示意图如图7所示的中间模块。由图7可以看到,基本层和图6的编码端完全一致,也即完全兼容。增强层包括:取整得到的量化后的谱系数X̂[k]在增强层乘以量化步长Δb恢复出量化后的谱系数X͂[k],然后用原始谱系数X[k]减去量化后的谱系数X͂[k],得到残差谱系数E[k]。将残差谱系数E[k]分成多个子带,对其中属于子带e的谱系数除以一个残差谱系数量化步长 Δe,取整(nint)得到量化后的残差谱系数Ê[k]。增强层需要传输残差谱系数量化步长Δe和量化后的残差谱系数Ê[k]。在解码端对量化后谱系数X̂[k]乘以量化步长Δb,得到逆量化的谱系数X͂[k];对量化后残差谱系数Ê[k]乘以残差谱系数量化步长Δe,得到逆量化的残差谱系数E͂[k]。最后将基本层得到的逆量化的谱系数X͂[k]和增强层得到的逆量化的残差谱系数E͂[k]相加,并对和做IMDCT得到解码后的时域系数x͂[n]。

2)残差信号的量化

由于残差信号的概率分布与原始音频信号的概率分布不同,特别是0附近的小信号概率明显增大,因此残差信号的量化算法是对DRA量化算法的改进,主要是重新定义了量化码书1和2的都为4维Huffman编码(其他码书相同),分别对应量化频谱系数的绝对值在1和2的情况,并且重新训练并编制了新的Huffman码书,提高了编码效率。

残差信号的量化步长采用差分编码Huffman编码方式表示(第一个量化步长用7 bit绝对值表示),而DRA标准是量化步长绝对值Huffman编码方式。

3)残差信号的码书选择及应用范围

不同于DRA编码规范中固定用5 bit表示码书段个数,残差信号的码数段个数对平稳帧仍用5 bit,但对瞬态帧仅用4 bit。

码书的应用范围划分进一步简化,并且从Huffman编码改为游程编码。如果是平稳帧时,每16个谱线为1个编码子带,即每16个谱线用1个Huffman码书。所以1 024个谱线有64个编码子带。码书的应用范围先用5 bit表示最多32个编码子带,如果应用范围大于32个编码子带,则再用5 bit,这时最多可以表示64个编码子带;如果是瞬态帧,每8×nBlockNum(nBlockNum取值可参考文献[3])个谱线为一个编码子带,即每8×nBlockNum个谱线用一个Huffman码书。所以128×nBlockNum个谱线有16个编码子带。码书的应用范围先用3 bit表示最多8个编码子带,如果应用范围大于8个编码子带,则再用3 bit,这时最多可以表示16个编码子带。

对每个码书段的码书索引量化方式由Huffman编码改为更简单的哥伦布编码。

2.2 环绕声分层编码算法

与立体声分层编码算法相比,图8所示的DRA环绕声分层编码算法比较简单。基本层是对左(L)和右(R)声道对进行DRA编码;增强层是对中央声道(C)进行DRA编码,对超重低音(LFE)声道进行DRA编码,以及对左环绕(Ls)和右环绕(Rs)声道对进行DRA编码。声道在编码时可能开启和差立体声模块,一般不使用强度立体声工具。

当低码率DRA环绕声分层编码时,其中的DRA编码替换为低码率DRA编码即可,其中声道对编码可能开启参数立体声编码模块,提高低码率(例如低于128 kbit/s环绕声情况)下的编码效率和主观声音质量。

3 DRA分层编码的试验及分析

DRA环绕声分层编码是在DRA环绕声分层编码算法的基础上通过简单调整各声道编码数据实现分层的,仅仅引入了很少的额外辅助数据,占整帧数据的比例很小,因此环绕声分层编码的总声音质量和DRA环绕声相当,环绕声分层编码基本层的主观声音质量与相应码率的DRA立体声质量一样;而DRA单声道/立体声分层编码采用残差方式,与原DRA编码差别较大,下面将重点分析这种情况下的声音质量比较。而低码率DRA分层编码的性能可对照DRA分层编码结果,本文不再累述。

3.1 DRA分层编码的额外开销分析

由于单声道/立体声分层编码主要通过残差方式实现,因此这里主要分层环绕声分层编码的额外开销问题,表1给出了48 kHz采样率下不同典型码率时环绕声分层编码额外开销情况。由于DRA帧长是32比特的倍数,以及基本层和增强层具有同样的长度,同时应用中实际比特率一般应低于典型设置的比特率,因此表1中给出了实际比特率。

表1 DRA环绕声分层编码额外开销

3.2 DRA分层编码性能客观测试结果

考虑到DRA分层编码属于感觉音频编码技术,因此基于心理声学模型的客观测试软件能够较准确地衡量这种编码算法。主要测试条件及内容如下:

1)测试软件:本文采用基于ITU-R BS.1387标准[4]的商用客观测试软件CRC-SEAQ。

2)测试音频片段:12个48 kHz和16 bit量化的MPEG立体声测试序列。

3)码率:DRA分层@64 kbit/s基本层+64 kbit/s增强层和DRA分层@64 kbit/s基本层。

4)输出:客观差别分ODG(数值越接近0越好)。

测试结果如图9所示,其中前12列分别对应12个不同的MPEG测试序列,最后一列为12个测试序列得分的平均值。上面的折线表示DRA分层编码ODG分数,下面的折线为DRA分层编码中仅仅解码基本层所获得的ODG分数。可以看到仅解码DRA分层编码的基本层可提供基本的收听质量,通过增强层解码可提高约1分的平均分,能够进一步明显提高总的主观声音质量。

4 DRA分层编码的应用示例

在数字音频(调频)广播应用中,DRA分层编码应用如图10所示,通过DRA粗分层音频编码算法将输入的数字音频信号编码分为基本层和增强层两组数据,通过非等错信道编码可对基本层给予强误码保护,对增强层给予弱保护;或者通过分层调制技术使得基本层和增强层有不同的抗干扰能力;最后通过发射机播出。由于(调频)广播信道一般为无线信道,除了随着距离增加信号自然衰减之外,还受到各种衰落、遮挡、电磁干扰等,在接收端通常无法完全正确解调被干扰的信号,可用功信道解码降低误码率。如图中用户1的情况,接收环境比较差,只能正确解码基本层,如果广播的是环绕声节目,则用户1可收听高质量的立体声部分;如果广播的是立体声节目,用户1将接收到基本质量的立体声信号。用户2有良好的接收环境,可完全解码基本层和增强层,这样用户2可收听高质量环绕声广播或者高质量立体声广播。

5 结论

本文提出的DRA分层编码是基于DRA技术而开发的一种新的编码算法,主要特点是DRA分层编码提供了一种新的粗分层码流结构,并且由于DRA环绕声分层编码仅仅是通过引入小于1%的额外开销控制多声道编码数据重新组织而实现了分层,保证了环绕声分层编码质量基本无下降;DRA单声道/立体声分层采用残差再编码的技术实现的分层,客观测试表明DRA单声道/立体声分层编码可在基本层的ODG分数上通过增强层进一步明显改善大约1分。由于DRA分层编码是通过DRA编码算法中辅助数据的扩展来实现,因此DRA分层编码与DRA编码兼容,DRA编码可完全解析基本层数据。DRA分层编码特别适用于数字音频广播,可与非等错信道编码和分层调制技术完美结合,提供最佳的收听效果。

[1]ISO/IEC 14496-3,Information technology-coding of audio-visual objects-part 3:audio[S].2004.

[2]GY/T 268.1,调频频段数字音频广播第1部分:数字广播信道帧结构、信道编码和调制[S].2013.

[3]GB/T 22726—2008,多声道数字音频编解码技术规范[S].2008.

[4]ITU-R BS.1387-1,Method for objective measurements of perceived audio quality[S].2012.

猜你喜欢
环绕声子带残差
基于双向GRU与残差拟合的车辆跟驰建模
一种基于奇偶判断WPT的多音干扰抑制方法*
Dirac Live加持!让好效果来得更容易 ROTEL Rotel RAP-1580MKⅡ AV功放/RSP-1576MKⅡ环绕声处理器/RMB-1585五声道功放
基于残差学习的自适应无人机目标跟踪算法
简洁又轻松的Soundbar环绕声解决方案
子带编码在图像压缩编码中的应用
基于递归残差网络的图像超分辨率重建
更简单直接的环绕声音效体验 环绕声技术的几个应用
探寻家用环绕声发展的未来究竟是简单还是繁琐
基于虚拟孔径扩展的子带信息融合宽带DOA估计