一种后向兼容式三维声编码器、解码器及其编解码方法
技术领域
本发明涉及一种三维声处理技术领域,具体涉及一种后向兼容式三维声编码器、解码器及其编解码方法。
背景技术
经过多年发展,立体声、5.1、7.1环绕声等系统已经获得了广泛的应用,这些系统因缺乏声音的高度信息,最多只能呈现二维的声音。在真实的世界中,三维声是声音最真实的呈现和表达方式,无论自然界、艺术领域或视听娱乐领域,三维声都是未来的发展趋势。
但是,因立体声、环绕声系统的普遍存在,三维声系统只有最大限度的兼容已经普遍存在的立体声或环绕声系统,才能获得市场的接受,并逐步成为主流。事实上,在近些年发展起来的一些多层多声道三维声技术中,如9.1、11.1、13.1和22.2等,都兼容了立体声、5.1或7.1环绕声的扬声器布局。但是,这只是还音系统的兼容,三维声音源格式与已有立体声、环绕声格式的兼容性还没有合理的解决方案。
发明内容
发明目的:本发明目的在于针对现有技术的不足,提供一种后向兼容式三维声编码器、解码器及其编解码方法,实现了兼容已有立体声、环绕声节目或系统的同时具备三维声编解码的能力。
技术方案:本发明所述的后向兼容式三维声编码器,包括:下混及基础声道划分模块,用于接收基础声道和/或声音对象,按照下混方案进行下混和基础声道划分操作,输出下混兼容声道、扩展基础声道、基础声道划分边信息;扩展编码模块,用于接收声音对象、下混方案、扩展基础声道、基础声道划分边信息,输出扩展编码数据;码流复用模块,复用所述下混兼容声道和扩展编码数据,输出后向兼容式三维声编码码流。
进一步完善上述技术方案,针对下混方案为内部生成的方式,所述下混及基础声道划分模块包括下混模块和基础声道划分模块,下混模块用于接收基础声道和声音对象,输出下混兼容声道和内部生成的下混方案,基础声道划分模块用于接收基础声道、内部生成的下混方案,输出扩展基础声道、基础声道划分边信息。
进一步地,针对下混方案采用外部输入的方式,所述下混及基础声道划分模块包括下混模块和基础声道划分模块,下混模块用于接收基础声道、声音对象、外部输入的下混方案,输出下混兼容声道;基础声道划分模块用于接收基础声道、外部输入的下混方案,输出扩展基础声道、基础声道划分边信息。
进一步地,所述下混及基础声道划分模块包括下混模块和基础声道划分模块,基础声道划分模块用于接收基础声道和外部输入的下混方案,输出所述扩展基础声道和基础声道划分边信息;所述扩展编码数据经扩展解码模块解码生成解码的基础声道、解码的基础声道划分边信息、解码的下混方案、解码的声音对象与所述基础声道输入至下混模块,下混模块输出所述下混兼容声道。
进一步地,所述下混模块按照下混方案将基础声道、声音对象下混为下混兼容声道,下混兼容声道信号分为基础声道下混分量、声音对象下混分量,基础声道下混分量可分为扩展基础声道下混分量、兼容基础声道下混分量;所述基础声道划分模块将基础声道划分为兼容基础声道、扩展基础声道,采用的基础声道划分方案根据基础声道的声道配置、所要兼容的多声道系统及下混映射函数确定,如根据对应下混声道的划分方法确定或者根据基于QR分解的划分方法确定。
根据对应下混声道的划分方法确定基础声道划分方案,包括:
S11:令集合Sbedt=Sbed,
Ssrt=Ssr,基础声道信号集合
下混兼容声道信号集合
fb(k,i)为下混映射函数;
S12:遍历集合Ssrt,找出一个满足如下关系的下混兼容声道k:
对于所有属于Sc中的声道n,有fb(k,n)=0。
若没有找到,执行步骤S15;
S13:对于步骤S12中的下混兼容声道k,遍历集合Sbedt,找出fb(k,m)不为0且fb(k,m)可逆的基础声道m,若没有找到,执行步骤S15;
S14:将步骤S13中找到的基础声道m加入到集合Sc中,得到新的Sc,从Ssrt中去除下混兼容声道k,得到新的Ssrt,从Sbedt中去除所有满足fb(k,i)不为0的基础声道i,得到新的Sbedt,若新的Ssrt、新的Sbedt都不为空,跳转到步骤S12,若新的Ssrt、新的Sbedt为空,则执行步骤S15;
S15:Sc或Sc的子集作为基础声道集合Sbed的兼容基础声道集合。
根据基于QR分解的划分方法确定基础声道划分方案,包括:
S21:令Sbedc=Sbed,Sbed为基础声道信号集合;
S22:采用矩阵运算形式表达Sbedc下混:Hs_bedcop=HAc*Hbc,Hs_bedcop为Sbedc下混形成的下混分量组成的矩阵,Hbc为Sbedc中基础声道信号组成的矩阵,HAc为Sbedc下混系数矩阵;
S23:对HAc进行QR分解,得HAc=Q*HR,其中Q为一个Ns×Ns的酉矩阵,HR是一个Ns×Nbc的上三角矩阵;
S24:设M=min(Ns,Nbc),Ns为基础声道下混的声道数、Nbc为Sbedc的声道数,如果对于HR中每一个n=1…M,都满足r(n,n)>0,执行步骤S25;否则,对于每一个n=1…M,如果HR中r(n,n)=0,将Sbedc中第n个声道从Sbedc中剔除形成新的集合Sbedc‘,令Sbedc=Sbedc‘并执行步骤S22;
S25:保留Sbedc中n=1…M的声道组成的集合,该集合或集合的子集作为基础声道集合Sbed的兼容基础声道集合。
进一步地,还包括兼容编码模块,兼容编码模块用于接收所述下混兼容声道,输出下混兼容编码数据,所述码流复用模块复用所述下混兼容编码数据和扩展编码数据,输出后向兼容式三维声编码码流。所述兼容编码模块与所述扩展编码模块采用相同的编码格式进行编码或采用不同的编码格式进行编码。具体而言,所述扩展编码模块采用压缩编码或非压缩编码方式进行编码,所述兼容编码模块采用有损或无损方式进行编码。具体而言对扩展基础声道的音频数据的编码和声音对象的编码可以采用非压缩的编码也可以采用压缩的编码方法,可以是矢量编码也可以是标量编码,如杜比AC3、MPEG-1layer3、MPEG-2/4AAC、MPEG H、杜比Atmos、AVS2-P3三维音频编码等编码格式。对声音对象的编码包括对对象渲染描述信息obj_info[j]和对象信号obj_data[j]的编码。对下混方案进行编码时,可以对下混映射函数fb(k,i)、fo(k,j)的参数a(k,i)、Δ(k,i)等进行有损或无损的编码;也可以对将a(k,i)、Δ(k,i)进行矢量编码。对基础声道划分边信息(比如betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc))进行编码时,可以进行有损或无损的编码;也可以采用矢量编码的方式。
采用上述后向兼容式三维编码器进行三维声编码方法,包括如下步骤:
按照下混方案将基础声道和/或声音对象下混为所兼容的下混兼容声道,
将基础声道划分为扩展基础声道、兼容基础声道并确定基础声道划分边信息;
对下混兼容声道进行编码生成下混兼容编码数据;
对声音对象、下混方案、扩展基础声道、基础声道划分边信息进行编码得到扩展编码数据;
复用下混兼容编码数据和扩展编码数据得到后向兼容式三维声编码码流。
用于上述三维编码器输出码流解码的后向兼容式三维声解码器,根据所用还音系统或后端系统的不同,自适应地确定是按照兼容还是三维声的方式进行解码,按照兼容的方式解码时,只包括码流解复用模块和兼容解码模块,得到解码的下混兼容声道信号;按照三维声的方式解码时,还包括扩展解码模块、去下混模块、基础声道组合模块,得到解码的基础声道信号和解码的声音对象,组成解码的三维声节目。码流解复用模块,用于获取后向兼容式三维声编码码流进行解复用得到下混兼容编码数据和扩展编码数据;兼容解码模块,用于接收下混兼容编码数据,输出解码的下混兼容声道;扩展解码模块,用于接收扩展编码数据,输出解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象;去下混模块,用于接收解码的下混兼容声道、解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象,按照解码的下混方案,从解码的下混兼容声道中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分,输出解码的兼容基础声道;基础声道组合模块,用于接收解码的兼容基础声道、解码的扩展基础声道、解码的基础声道划分边信息,输出解码的基础声道。
所述去下混模块包括如下步骤:按照解码的下混方案,从解码的下混兼容声道信号中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分,得到解码的兼容基础声道信号。
所述去下混模块包括如下步骤:
1)计算兼容基础声道下混分量:按照解码的下混方案,从解码的下混兼容声道信号中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分,得到解码的兼容基础声道下混分量;
2)逆映射:对解码的兼容基础声道下混分量进行逆映射得到解码的兼容基础声道信号。
针对根据对应下混声道的划分方法确定的基础声道划分方案进行的下混和基础声道划分操作,所述去下混模块包括如下步骤:
1)计算兼容基础声道下混分量:对于每一个兼容基础声道n=1…Nbc,k=compat(n)为其对应的下混兼容声道,从解码的下混兼容声道信号
中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分得到兼容基础声道下混分量
2)逆映射:对于每一个兼容基础声道n=1…Nbc,k=compat(n)为其对应的下混兼容声道,按照解码的下混方案中映射函数fb(k,bctob(n))的逆函数fb
-1(k,bctob(n))对解码的兼容基础声道下混分量
进行逆映射,得到解码的兼容基础声道
进一步地,针对根据基于QR分解的划分方法确定的基础声道划分方案进行的下混和基础声道划分操作,所述去下混模块包括如下步骤:
1)计算兼容基础声道下混分量:对于每一个下混兼容声道k,从解码的下混兼容声道信号
中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分得到兼容基础声道下混分量
所有的
组成矩阵Hs_bedcop
2)逆映射:根据解码的兼容基础声道映射系数逆矩阵invHRQ,对Hs_bedcop进行逆映射求得Hbc
Hbc=invHRQ*Hs_bedcop
采用上述三维声系统对三维声编码器输出码流进行解码的方法,包括如下步骤:
获取后向兼容式三维声编码码流进行解复用得到下混兼容编码数据和扩展编码数据;
解码下混兼容编码数据得到解码的下混兼容声道,解码扩展编码数据得到解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象;
通过从解码的下混兼容声道中减去扩展基础声道、声音对象的下混成分的方式,解码得到解码的兼容基础声道;
对解码的兼容基础声道和扩展基础声道进行声道组合得到解码的基础声道。
有益效果:本发明提出的后向兼容式三维声编码器、解码器及其编解码方法,能够更好地兼容已有立体声、环绕声节目或系统;且方案灵活,适用于基础声道或声音对象或基础声道与声音对象的组合等多种情况的三维声信号,可以采用外部输入确定的下混方案也可以根据系统自适应选择的下混方案;在兼容的立体声、环绕声系统中,只需解码得到下混兼容声道,在三维声系统进行播放时,解码出基础声道信号,能够获得三维声播放效果,从而实现了兼容已有立体声、环绕声节目或系统的同时具备三维声播放的能力;在侧重于提升三维声的质量的应用场合,本发明还提供了改进的三维声编码方法,提升三维声的编码质量,获得更好地播放效果。
附图说明
图1为实施例1的方法流程图;
图2为实施例2的方法流程图;
图3为下混算法原理图;
图4为下混算法原理图;
图5为去下混原理图;
图6为实施例3的方法流程图;
图7为实施例4解码方法流程图;
图8为实施例5的方法流程图。
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:
三维声信号由多声道信号(即基础声道)和/或声音对象信号(包括对象渲染描述信息和对象音频数据)组成。为满足后向兼容多声道(立体声、环绕声)节目或系统的需要,本申请所提出的三维声编码方法按照下混方案将三维声信号下混为所兼容的下混兼容声道信号,将基础声道划分为扩展基础声道和兼容基础声道;对下混兼容声道信号进行编码生成下混兼容编码数据;对下混方案、扩展基础声道信号、基础声道划分边信息、声音对象信号进行编码得到扩展编码数据;复用下混兼容编码数据和扩展编码数据得到后向兼容式三维声编码码流。
本申请所提的三维声解码方法对后向兼容式三维声编码码流进行解复用得到下混兼容编码数据和扩展编码数据;解码下混兼容编码数据得到解码的下混兼容声道信号;解码扩展编码数据得到解码的下混方案、扩展基础声道信号、基础声道划分边信息、声音对象信号;通过从解码的下混兼容声道信号中减去扩展基础声道信号、声音对象信号的下混成分的方式,解码得到解码的兼容基础声道信号;对解码的兼容基础声道信号和扩展基础声道信号进行声道组合得到解码的基础声道信号。在兼容的环绕声系统下,则只对下混兼容编码数据进行解复用和解码,并按照兼容的环绕声系统进行还音,这就实现了对立体声、环绕声系统的兼容。
基础声道可以是立体声、5.1、7.1等多声道信号,也可以是9.1、11.1、13.1和22.2等多层多声道三维声信号,基础声道中每一个声道的数据表示为
Nb为基础声道的声道数量,Nb等于0时该三维声信号中不含多声道信号而只有声音对象信号,所有基础声道信号组成集合
声音对象信号obj_signal[j]包括对象渲染描述信息obj_info[j]和对象信号
为声音对象的数量,M等于0时该三维声信号中不包含声音对象。声音对象信号可以是单声道、立体声或多声道信号。所兼容的下混兼容声道信号表示为
Ns为所兼容的立体声、环绕声系统的声道数,所有下混兼容声道信号组成集合
每一个声道或声音对象的数据
是时间序列信号,即PCM(脉冲编码调制采样)数据,当进行分帧处理时,则可以表示一帧内的时间序列信号。
按照某一个下混方案,将三维声信号下混为下混兼容声道信号时,每一个下混兼容声道信号包括基础声道下混分量和声音对象下混分量:
下混方案可以表达为一组映射函数fo(k,j)、fb(k,i)。所有下混兼容声道信号的基础声道下混分量组成集合
所有下混兼容声道信号的声音对象下混分量组成集合
基础声道下混分量由基础声道信号所生成,可以表示为:
fb(k,i)是第i个基础声道信号向下混兼容声道信号的第k个声道进行下混时的下混映射函数。声音对象下混分量是根据所要兼容的下混兼容声道系统对每一个声音对象的信号进行下混渲染所生成,可以表示为:
fo(k,j)是第j个对象向下混兼容声道的第k个声道进行下混时的下混映射函数,与对象的位置坐标等信息相关。函数fo(k,j)、fb(k,i)表达的可以是增益、延时等操作(此类操作后面简称PAN方法),例如fb(k,i)(x(t))=a(k,i)*x(t-Δ(k,i));也可以是更复杂的映射函数,如WFS和HOA驱动函数等。WFS(Wave field Synthesis)是一种声音渲染方法,通过在求解波动方程的时候采用Kirchhoff-Helmholtz积分,实现用还音扬声器组还原原始声场。HOA(High Order Ambisonic)也是一种声音渲染方法,通过在求解波动方程的时候采用球面波级数,实现用扬声器组还原原始声场。WFS和HOA方法具体可参考文献“Comparison of Higher order Ambisonics and Wave Field Synthesis WithRespectto Spatial Discretization Artifacts in Time Domain”(SaschaSpors and JensAhrens,19th International Congress on Acoustics Madrid,2-7Sept.2007)。
可以将基础声道信号的集合
进行声道划分,分为两个集合Sbede和Sbedc,满足:
Nbe+Nbc=Nb
Sbede∪Sbedc=Sbed
据此,基础声道下混分量
又可以分为
和
之和,可以表示为:
其中,betob(m)(m=1…Nbe)是Sbede中第m个声道在基础声道中的序号,
bctob(n)(n=1…Nbc)是Sbedc中第n个声道在基础声道中的序号,
如果能根据集合Ssrbed
cop和下混映射函数fb(k,i)、基础声道划分边信息(betob(m)、bctob(n))等运算得到Sbedc中的所有信号,则称Sbedc为兼容基础声道集合,其中的声道信号
称为兼容基础声道;Sbede称为与Sbedc对应的扩展基础声道集合,
称为扩展基础声道。
称为扩展基础声道下混分量;Ssrbed
cop称为兼容基础声道下混分量集合,
称为兼容基础声道下混分量。
对于基础声道集合Sbed来说,其兼容基础声道集合Sbedc与扩展基础声道集合Sbede的划分方式和划分准则可能有多种,显然,Sbede=Sbed,
的划分符合上述定义;如果Sbedc1是Sbed的兼容基础声道集合,则Sbedc1的任意子集Sbedct也是Sbed的兼容基础声道集合。
如图1所示,后向兼容式三维声编码器包括下混及基础声道划分模块、兼容编码模块、扩展编码模块、码流复用模块,其编码方法流程如下:
步骤1.1)下混及基础声道划分模块
根据外界输入或系统自适应选择的下混方案(比如可以以一组映射函数fb(k,i)、fo(k,j)来表达),将三维声节目下混为所兼容的立体声/多声道信号,得到下混兼容声道信号
将基础声道划分为兼容基础声道和扩展基础声道两部分,并确定基础声道划分边信息(如betob(m)、bctob(n));输出所用下混方案。
“外界输入”一般指录音师在三维声节目缩混时人工选择的下混方案,这种方式允许录音师通过反复监听,比较和选择下混方案;“系统自适应”是指编码系统智能的选择一种下混的方案,如对于基础声道的下混,可以自适应地根据不同的基础声道系统与下混兼容多声道系统之间的扬声器布局的关系,将多层多声道系统中表达高度信息的声道层的信号按照位置关系下混到中间层的环绕声声道上(比如顶前左声道直接混入左声道,顶前右声道直接混入右声道),形成一种下混方案(可以以一组映射函数fb(k,i)来表达);如对于声音对象的下混,可以自适应地根据对象渲染描述信息(对象的位置坐标等),按照WFS/HOA/PAN等渲染方法,形成一种下混方案(可以以一组映射函数fo(k,j)来表达)。
如果该三维声节目中不包括基础声道,或兼容基础声道、扩展基础声道与基础声道之间是简单明确的一一对应关系,则可以不需要进行该步骤1.1。
步骤1.2)扩展编码模块
对扩展基础声道、基础声道划分边信息、下混方案和声音对象进行扩展编码,得到扩展编码数据。如果该三维节目没有基础声道,则可不包括对扩展基础声道、基础声道划分边信息进行编码的部分;如果该三维节目没有声音对象,则可不包括对声音对象进行编码的部分。如果在编码、解码中都遵循同样的可确定的基础声道划分方式,则可不对基础声道划分边信息进行编码。如果在编码、解码中都遵循同样的可确定的下混方案,则可不对下混方案进行编码。
对扩展基础声道的音频数据的编码和声音对象的编码可以采用非压缩的编码也可以采用压缩的编码方法,可以是矢量编码也可以是标量编码,如杜比AC3、MPEG-1layer3、MPEG-2/4AAC、MPEG H、杜比Atmos、AVS2-P3三维音频编码等编码格式。对声音对象的编码包括对对象渲染描述信息obj_info[j]和对象信号obj_data[j]的编码。
对下混方案进行编码时,可以对下混映射函数fb(k,i)、fo(k,j)的参数a(k,i)、Δ(k,i)等进行有损或无损的编码;也可以对将a(k,i)、Δ(k,i)进行矢量编码。
对基础声道划分边信息(比如betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc))进行编码时,可以进行有损或无损的编码;也可以采用矢量编码的方式。
步骤1.3)兼容编码模块
对下混兼容声道信号进行编码,得到下混兼容编码数据。
对下混兼容声道信号的编码可以采用非压缩的编码也可以采用压缩的编码方法,可以是矢量编码也可以是标量编码,如杜比AC3、MPEG-1layer3、MPEG-2/4AAC、AVS等编码格式,为满足兼容性需要,所用的编码方法应符合所兼容的多声道系统的要求。如果不需要对下混兼容声道信号进行编码,可以采用直通的方式,此时下混兼容编码数据与下混兼容声道信号一致,可以不需要步骤1.3)兼容编码模块。
需要说明的是,兼容编码模块的具体编码方法和扩展编码模块的具体编码方法,可以采用相同的编码格式,也可以采用不同的编码格式。
步骤1.4)码流复用模块
复用下混兼容编码数据和扩展编码数据,得到后向兼容的三维声编码码流。后向兼容的三维声编码码流应符合所兼容的多声道系统的码流格式。
实施例2:
如图2所示的后向兼容式三维声编码器,包括下混模块、基础声道划分模块、兼容编码模块、扩展编码模块、码流复用模块。
步骤2.1)下混模块
根据外界输入或系统自适应选择的下混方案,将三维声节目下混为所兼容的立体声/多声道信号,得到下混兼容声道信号
输出所用下混方案。
如前所述,下混兼容声道信号包括基础声道下混分量和声音对象下混分量:
基础声道下混分量由每一个基础声道的信号所生成,可以按照如下公式计算每一个下混兼容声道k的基础声道下混分量:
fb(k,i)是第i个基础声道信号向下混多声道信号的第k个声道进行下混时的下混映射函数。
声音对象下混分量是根据所要兼容的多声道系统对每一个声音对象的信号进行下混渲染所生成,可以根据如下公式计算每一个下混兼容声道k的声音对象下混分量:
fo(k,j)是第j个对象向下混多声道信号的第k个声道进行下混时的下混映射函数。这种情况下下混运算的示意图见图3。
基础声道下混分量
又可以分为扩展基础声道下混分量
和兼容基础声道下混分量
可以分别按如下公式计算扩展基础声道下混分量
和兼容基础声道下混分量
这种情况下下混运算的示意图见图4。
步骤2.2)基础声道划分模块
根据确定或选择的基础声道划分方案,将基础声道划分为兼容基础声道和扩展基础声道两部分,并确定基础声道划分边信息(如betob(m)、bctob(n)等)。基础声道划分方案可以由外界输入,也可以根据下混模块所用的下混方案(比如可以以一组映射函数fb(k,i)、fo(k,j)来表达)自适应地确定。一般地,对于某一种三维声系统与其所要兼容的多声道系统,可以确定采用固定的一种基础声道划分方案,不需要每次都进行确定基础声道划分方案的运算。
如果该三维声节目中不包括基础声道,或兼容基础声道、扩展基础声道与基础声道之间是简单明确的一一对应关系,则可以不需要进行该步骤2.2。
确定基础声道划分方案的方法可以有多种,下面以两种情况为例来对基础声道划分方法进行详细说明。
1)对应下混声道的划分方法:
当三维声节目的基础声道的声道配置、所要兼容的多声道系统及下混映射函数fb(k,i)都已确定时,可以根据如下划分规则将基础声道
分为
两部分:
对于每一个n=1…Nbc,存在k=compat(n),及n=invcompat(k),其中compat(n)是第n个兼容基础声道所对应的下混兼容声道的序号,有
且fb(k,bctob(n))存在逆函数。
在满足上述规则的情况下,可以按照如下公式来计算得到解码的兼容基础声道信号
如图5所示,
对于每一个n,存在k=compat(n)
即,集合
可以根据集合
和下混映射函数fb(k,i)、基础声道划分边信息(betob(m)、bctob(n))等运算得到,满足前述对兼容基础声道集合的定义,所以Sbedc为Sbed的兼容基础声道集合。这种情况下的特征是:兼容基础声道n可以通过对其所对应的下混兼容声道k的兼容基础声道下混分量
进行逆映射得到,逆映射的函数为下混映射函数的逆函数。
这种情况下,基础声道划分边信息包括betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc)、compat(n)(n=1…Nbc)、fb-1(k,bctob(n))。其中,compat(n)是第n个兼容基础声道所对应的下混兼容声道的序号,fb-1(k,bctob(n))为下混映射函数逆函数,可以通过求解下混映射函数的逆函数的方法求得。fb(k,bctob(n))存在逆函数fb-1(k,bctob(n)),例如
fb(k,i)(x(t))=a(k,i)*x(t-Δ(k,i))
fb-1(k,i)(x(t))=x(t+Δ(k,i))/a(k,i)
特殊情况下,
fb(k,i)(x(t))=x(t)
fb-1(k,i)(x(t))=x(t)
例如基础声道为5.1.4(5.1+4H,5.1环绕声系统加上4个顶部音箱),所兼容的多声道系统为5.1时,假定5.1.4的声道顺序为左声道(1)、右声道(2)、中央声道(3)、重低音声道(4)、左环绕声道(5)、右环绕声道(6)、顶前左声道(7)、顶前右声道(8)、顶后左声道(9)、顶后右声道(10),5.1的声道顺序为左声道(1)、右声道(2)、中央声道(3)、重低音声道(4)、左环绕声道(5)、右环绕声道(6),下混算法按照顶前左声道(7)、顶后左声道(9)直接混入左声道,顶前右声道(8)、顶后右声道(10)直接混入右声道的方式进行,声道映射函数简化为:
betob(m)=m+6
bctob(n)=n
兼容基础声道与下混兼容声道的对应关系compat(n)简化为:
compat(n)=n
基础声道的下混映射函数简化为
fb(k,i)(x(t))=x(t)
此时可以将基础声道分为扩展基础声道{顶前左声道(7)、顶前右声道(8)、顶后左声道(9)、顶后右声道(10)}和兼容基础声道{左声道(1)、右声道(2)、中央声道(3)、重低音声道(4)、左环绕声道(5)、右环绕声道(6)}两部分。
比如,可以按照如下步骤进行基础声道划分:
步骤2.2a.1):令集合Sbedt=Sbed,
Ssrt=Ssr。
步骤2.2a.2):遍历集合Ssrt,直到找到一个下混兼容声道k满足如下关系或遍历结束:
对于所有属于Sc中的声道n,有fb(k,n)=0。
如果找不到这样的下混兼容声道k,则跳转到步骤2.2a.5。
步骤2.2a.3):对于步骤2.2a.2中找到的下混兼容声道k,从Sbedt中选择一个基础声道m,使得fb(k,m)不为0,且fb(k,m)可逆,且基础声道m不在Se中。如果找不到这样的基础声道m,则跳转到步骤2.2a.5。
步骤2.2a.4):从Sbedt中去除所有满足fb(k,i)不为0的基础声道i,得到新的Sbedt;将步骤2.2a.3)中找到的基础声道m加入到Sc中,得到新的Sc;从Ssrt中去除下混兼容声道k,得到新的Ssrt。如果Ssrt、Sbedt都不为空,则跳转到步骤2.2a.2。
步骤2.2a.5):选择Sc或Sc的子集为兼容基础声道集合Sbedc,Sbede=Sbed-Sbedc为扩展基础声道集合。
2)基于QR分解的划分方法
如果下混函数可以表达为fb(k,i)(x(t))=a(k,i)*(x(t))(a(k,i)为实数),基础声道的下混可以表达为矩阵运算的形式:
a(k,i)组成基础声道下混系数矩阵HA,HA为Ns*Nb矩阵
Hs_bed=HA*Hb
此时,可以按照如下步骤进行基础声道的划分:
步骤2.2b.1):令Sbedc=Sbed;
步骤2.2b.2):由Sbedc中所有的声道信号
组成矩阵
他们所对应的a(k,i)组成兼容基础声道下混系数矩阵HAc,HAc为Ns*Nbc矩阵
他们下混形成的兼容基础声道下混分量集合Ssrbed
cop的所有
组成矩阵
满足:Hs_bedcop=HAc*Hbc
步骤2.2b.3):对HAc进行QR分解,可得HAc=Q*HR,其中Q为一个Ns×Ns的酉矩阵,HR是一个Ns×Nbc的上三角矩阵。
步骤2.2b.4):设M为Ns和Nbc中的最小值,M=min(Ns,Nbc),如果对于每一个n=1…M都满足r(n,n)>0,则执行2.2b.5;否则进行如下操作:对于每一个n=1…M,如果r(n,n)=0则将Sbedc中第n个声道
从Sbedc中剔除,如此,形成新的集合Sbedc‘,令Sbedc=Sbedc‘并跳转到步骤2.2b.2。
步骤2.2b.5):只保留Sbedc中n=1…M的声道,组成新的Sbedc,Nbc=M≤Ns;也可以Sbedc的任意子集作为新的Sbedc。Sbedc为兼容基础声道集合,Sbede=Sbed-Sbedc为扩展基础声道集合。
通过以上步骤运算得到Sbedc,由Sbedc中所有的声道信号
组成矩阵
他们所对应的a(k,i)组成下混系数矩阵HAc,HAc为Ns*Nbc矩阵
他们下混形成的兼容基础声道下混分量集合Ssrbed
cop中的信号
组成矩阵
满足:Hs_bedcop=HAc*Hbc。对HAc进行QR分解的结果是HAc=Q*HR,其中Q为一个Ns×Ns的酉矩阵,HR是一个Ns×Nbc的上三角矩阵:
M=Nbc≤Ns,对于每一个n=1…M都满足r(n,n)>0。
可以证明通过以上步骤运算得到的Sbedc为Sbed的兼容基础声道集合:
Hs_bedcop=HAc*Hbc=Q*HR*Hbc
因为Q为一个Ns×Ns的酉矩阵,所以其存在逆矩阵Q-1,可得
HR*Hbc=Q-1*Hs_bedcop=QHs_bedcop
因为M=min(Ns,Nbc)=Nbc,且对每一个n=1…M都有r(n,n)>0,所以可以取HR的前Nbc行构造方阵HRm
方阵HRm是上三角矩阵且每一个n=1…M都有r(n,n)>0,所以HRm存在逆矩阵HRm-1。取Q-1的前Nbc行构造矩阵invQm,满足
HRm*Hbc=invQm*Hs_bedcop
所以有:
Hbc=HRm-1*HRm*Hbc=HRm-1*invQm*Hs_bedcop
令invHRQ=HRm-1*invQm,有
Hbc=invHRQ*Hs_bedcop
即Sbedc中所有的声道信号
都可以根据集合Ssrbed
cop和fb(k,i)、betob(m)、bctob(n)运算得到,满足前述对兼容基础声道集合的定义,所以Sbedc为Sbed的兼容基础声道集合。这种情况下的特征是:兼容基础声道组成的矩阵可以通过对所有兼容基础声道下混分量所组成的矩阵进行逆映射求得,逆映射的过程可以通过矩阵invHRQ来表达。这种情况下,基础声道划分边信息包括betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc)、invHRQ,将invHRQ称为兼容基础声道映射系数逆矩阵,它可以通过fb(k,i)、betob(m)、bctob(n)等信息计算得到。
更宽泛的范围内,如果fb(k,i)(x(t))=a(k,i)*fb(k,1)(x(t)),且fb(k,1)存在逆函数fb-1(k,1),则也可以按照上述基于QR分解的划分方法进行基础声道划分,这种情况下在解码端通过矩阵运算得到Hbc后,还需要对每个解码的声道信号进行fb-1(k,1)的操作,以得到最终的解码的兼容基础声道信号。
步骤2.3)扩展编码模块
对扩展基础声道、基础声道划分边信息、下混方案和声音对象进行扩展编码,得到扩展编码数据。如果该三维节目没有基础声道,则可不包括对扩展基础声道、基础声道划分边信息进行编码的部分;如果该三维节目没有声音对象,则可不包括对声音对象进行编码的部分。如果在编码、解码中都遵循同样的可确定的基础声道划分方式,则可不对基础声道划分边信息进行编码。如果在编码、解码中都遵循同样的可确定的下混方案,则可不对下混方案进行编码。
对扩展基础声道的音频数据的编码和声音对象的编码可以采用非压缩的编码也可以采用压缩的编码方法,可以是矢量编码也可以是标量编码,如杜比AC3、MPEG-1layer3、MPEG-2/4AAC、AVS、杜比Atmos、AVS三维音频编码等编码方式。对声音对象的编码包括对对象渲染描述信息obj_info[j]和对象信号obj_data[j]的编码。
对下混方案进行编码时,可以对下混映射函数fb(k,i)、fo(k,j)的参数a(k,i)、Δ(k,i)等进行有损或无损的编码;也可以对将a(k,i)、Δ(k,i)进行矢量编码。
对基础声道划分边信息进行编码时,分别对betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc)、compat(n)(n=1…Nbc)、下混映射函数逆函数fb-1(k,bctob(n))或兼容基础声道映射系数逆矩阵invHRQ进行有损或无损的编码;也可以采用矢量编码的方式。下混映射函数逆函数fb-1(k,bctob(n))、兼容基础声道映射系数逆矩阵invHRQ可以根据下混映射函数等信息计算得到,所以也可以不对其进行编码,在解码端可通过采用与前述相关过程中同样的计算方式计算得到。如果编解码端都遵循同样的基础声道划分方案,则可不对基础声道划分边信息进行编码。
步骤2.4)兼容编码模块
对下混兼容声道信号进行编码,得到下混兼容编码数据。
对下混兼容声道信号的编码可以采用非压缩的编码也可以采用压缩的编码方法,可以是矢量编码也可以是标量编码,如杜比AC3、MPEG-1layer3、MPEG-2/4AAC、AVS等编码方式,为满足兼容性需要,所用的编码方法应符合所兼容的多声道系统的要求。
步骤2.5)码流复用模块
复用下混兼容编码数据和扩展编码数据,得到后向兼容的三维声编码码流。后向兼容的三维声编码码流应符合所兼容的多声道系统的码流格式。
步骤2.3)和步骤2.4)之间、步骤2.2)和步骤2.3)之间可以没有先后顺序的约束。
实施例3:后向兼容式三维声编码方法1.2
如图6所示,后向兼容式三维声编码器包括基础声道划分模块、下混模块、兼容编码模块、扩展编码模块、码流复用模块。
步骤3.1)基础声道划分模块
根据确定或选择的基础声道划分方案,将基础声道划分为兼容基础声道和扩展基础声道两部分,并确定基础声道划分边信息(如betob(m)、bctob(n)等)。基础声道划分方案可以由外部输入,也可以根据下混模块所用的下混方案(比如可以以一组映射函数fb(k,i)、fo(k,j)来表达)自适应地生成。一般地,对于某一种三维声系统与其所要兼容的多声道系统,可以确定采用固定的一种基础声道划分方案,不需要每次都进行确定基础声道划分方案的运算。
如果该三维声节目中不包括基础声道,或兼容基础声道、扩展基础声道与基础声道之间是简单明确的一一对应关系,则可以不需要进行该步骤3.1)。
步骤3.2)下混模块
根据确定或选择所用的下混方案(比如可以以一组映射函数fb(k,i)、fo(k,j)来表达),将三维声节目下混为所兼容的立体声/多声道信号,得到下混兼容声道信号
如前所述,下混兼容声道信号包括基础声道下混分量和声音对象下混分量:
基础声道下混分量由每一个基础声道的信号所生成,可以按照如下公式计算每一个下混兼容声道k的基础声道信号下混分量:
fb(k,i)是第i个基础声道信号向下混多声道信号的第k个声道进行下混时的下混映射函数。
声音对象下混分量是根据所要兼容的多声道系统对每一个声音对象的信号进行渲染所生成,可以根据如下公式计算每一个下混兼容声道k的声音对象下混分量:
fo(k,j)是第j个对象向下混多声道信号的第k个声道进行下混时的下混映射函数。这种情况下下混运算的示意图见图3。
基础声道下混分量
又可以分为扩展基础声道下混分量
和兼容基础声道下混分量
可以分别按如下公式计算扩展基础声道下混分量
和兼容基础声道下混分量
这种情况下下混运算的示意图见图4。
步骤3.3)扩展编码模块
对扩展基础声道、基础声道划分边信息、下混方案和声音对象进行扩展编码,得到扩展编码数据。如果该三维节目没有基础声道,则可不包括对扩展基础声道、基础声道划分边信息进行编码的部分;如果该三维节目没有声音对象,则可不包括对声音对象进行编码的部分。如果在编码、解码中都遵循同样的可确定的基础声道划分方式,则可不对基础声道划分边信息进行编码。如果在编码、解码中都遵循同样的可确定的下混方案,则可不对下混方案进行编码。
步骤3.4)兼容编码模块
对下混兼容声道信号进行编码,得到下混兼容编码数据。
步骤3.5)码流复用模块
复用下混兼容编码数据和扩展编码数据,得到后向兼容的三维声编码码流。后向兼容的三维声编码码流应符合所兼容的多声道系统的码流格式。
步骤3.3)和步骤3.4)之间、步骤3.2)和步骤3.3)之间可以没有先后顺序的约束。
实施例4:后向兼容立体声/多声道的三维声解码方法
如图7所示,后向兼容立体声/多声道的三维声解码器包括码流解复用模块、兼容解码模块、扩展解码模块、去下混模块、基础声道组合模块。
步骤4.1)码流解复用模块
对后向兼容环绕声的三维声编码码流进行解复用,得到下混兼容编码数据和扩展编码数据。
步骤4.2)兼容解码模块
解码下混兼容编码数据,得到解码的下混兼容声道信号。
步骤4.3)扩展解码模块
解码扩展编码数据,得到解码的声音对象、解码的扩展基础声道信号、解码的下混方案和解码的基础声道划分边信息。如果在编码、解码中遵循确定的同样的下混方案、基础声道划分边信息,则可以不对基础声道划分边信息、下混方案进行解码,而是按照确定的规则生成。
扩展解码的过程是前述扩展编码的逆过程。
步骤4.4)去下混模块
按照解码的下混方案,从解码的下混兼容声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分,并进行逆映射得到解码的兼容基础声道信号。分为两个步骤:
步骤4.4.1):计算兼容基础声道下混分量
按照解码的下混方案,对解码的扩展基础声道信号、解码的声音对象进行下混,从解码的下混兼容声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分,得到解码的兼容基础声道下混分量;
步骤4.4.2):逆映射
对解码的兼容基础声道下混分量进行逆映射得到解码的兼容基础声道信号。
如果逆映射的过程是简单的直通关系,即解码的兼容基础声道信号与解码的兼容基础声道信号相同,这时则不需要步骤4.4.2):逆映射。
下面以与编码端相对应的两种情况为例对去下混过程进行详细说明。
1)如果编码过程中使用的是对应下混声道的划分方法:
此时,解码的基础声道划分边信息包括betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc)、compat(n)(n=1…Nbc)、下混映射函数逆函数fb-1(k,bctob(n)),解码的下混方案包括下混映射函数fb(k,i)、fo(k,j)。
步骤4.4a.1):计算兼容基础声道下混分量
对于每一个兼容基础声道n=1…Nbc,k=compat(n)为其对应的下混兼容声道,从解码的下混兼容声道信号
中去除解码的扩展基础声道信号、解码的声音对象的下混成分得到兼容基础声道下混分量
其中,扩展基础声道下混分量
按照解码的下混方案对解码的扩展基础声道信号下混而来:
声音对象下混分量
按照解码的下混方案对解码的声音对象下混渲染而来:
步骤4.4a.2):逆映射
对于每一个兼容基础声道n=1…Nbc,k=compat(n)为其对应的下混兼容声道按照解码的下混方案中映射函数fb(k,bctob(n))的逆函数fb
-1(k,bctob(n))对兼容基础声道下混分量
进行逆映射,得到解码的兼容基础声道
逆函数fb-1((k,bctob(n))的运算就是逆映射的过程。
如果编码端没有对fb-1(k,bctob(n))进行编码,则可通过对映射函数fb(k,bctob(n))求解逆函数的方法而得到。
2)如果编码过程中使用的是基于QR分解的划分方法:
此时,解码的基础声道划分边信息包括betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc)、兼容基础声道映射系数逆矩阵invHRQ,解码的下混方案包括下混映射函数fb(k,i)、fo(k,j)。
步骤4.4b.1):计算兼容基础声道下混分量
对于每一个下混兼容声道k,从解码的下混兼容声道信号
中去除解码的扩展基础声道信号、解码的声音对象的下混成分得到兼容基础声道下混分量
其中,扩展基础声道下混分量
按照解码的下混方案对解码的扩展基础声道信号下混而来:
声音对象下混分量
按照解码的下混方案对解码的声音对象下混渲染而来:
步骤4.4b.2):逆映射
如前所述,此时的下混映射函数fb(k,i)满足:
fb(k,i)(x(t))=a(k,i)
根据解码的兼容基础声道映射系数逆矩阵invHRQ,通过如下逆映射求得Hbc
Hbc=invHRQ*Hs_bedcop
如果编码端没有对兼容基础声道映射系数逆矩阵invHRQ进行编码,则解码端通过与步骤2.2)基础声道划分模块中所述同样的方法计算而得到invHRQ。
需要指出的是,上述表达式是对逆映射的数学关系的表达,与其等效的实现方式和过程可以有多种,比如也可以通过如下过程求得Hbc:
由兼容基础声道的下混系数a(k,i)构造兼容基础声道下混系数矩阵HAc,HAc为Ns*Nbc矩阵:
对HAc进行QR分解的结果是HAc=Q*HR,其中Q为一个Ns×Ns的酉矩阵,HR是一个Ns×Nbc的上三角矩阵:
M=Nbc≤Ns,对于每一个n=1…M都满足r(n,n)>0。
因为Q为一个Ns×Ns的酉矩阵,所以其存在逆矩阵Q-1,构造矩阵
QHs_bedcop=Q-1*Hs_bedcop
因为M=min(Ns,Nbc)=Nbc,且对每一个n=1…M都有r(n,n)>0,所以可以取HR的前Nbc行构造方阵
方阵HRm是上三角矩阵且每一个n=1…M都有r(n,n)>0,所以HRm存在逆矩阵HRm-1。可以取QHs_bedcop的前Nbc行构造方阵QHs_bedcopm,按照如下方式进行运算得到Hbc:
Hbc=HRm-1*QHs_bedcopm
更宽泛的范围内,如果fb(k,i)(x(t))=a(k,i)*fb(k,1)(x(t)),且fb(k,1)存在逆函数则fb-1(k,1),则按照上述运算得到Hbc后,还需要对每个解码的声道信号进行fb-1(k,1)的运算,以得到最终的解码的兼容基础声道信号。
步骤4.5)基础声道组合模块
根据前述解码的基础声道划分边信息,将解码的兼容基础声道信号与解码的扩展基础声道信号进行组合,得到解码的基础声道信号。
如果该三维节目没有基础声道信号,或者兼容基础声道信号、扩展基础声道信号与基础声道之间是简单的一一对应关系,或扩展基础声道已经包含了所有基础声道,则可不进行此步骤4.5)的操作。
步骤4.2)与步骤4.3)之间没有先后顺序的约束关系。
在兼容的立体声、环绕声系统中,则只进行步骤4.1)、步骤4.2),得到解码的下混兼容声道信号。也可以根据所用还音系统或后端系统的不同,自适应地确定是按照兼容还是三维声的方式进行解码,按照兼容的方式解码时,只执行步骤4.1)、步骤4.2),得到解码的下混兼容声道信号;按照三维声的方式解码时,执行步骤4.1)到4.5),解码的基础声道信号和解码的声音对象组成解码的三维声节目。
实施例5后向兼容的三维声编码方法1.2a
改进的三维声编码方法:实施例3中的步骤3.2中的下混模块中,也可以选择用解码的扩展基础声道信号、解码的声音对象来进行下混。具体步骤如下(图8):
步骤3a.1)基础声道划分模块
与前述步骤3.1相同。
步骤3a.2)扩展编码模块
与前述步骤3.3相同。
步骤3a.3)扩展解码模块
与前述步骤3.3相同。
步骤3a.4)下混模块
与前述步骤3.2类似,用“解码的扩展基础声道信号”替换“扩展基础声道信号”,“解码的声音对象”替换“声音对象”来进行下混。
步骤3a.5)兼容编码模块
与前述步骤3.4相同。
步骤3a.6)码流复用模块
与前述步骤3.5相同。
因为在下混模块使用了解码后扩展基础声道和声音对象的数据,改进的三维声编码方法有如下特点:
1、采用现有的立体声或环绕声系统播放所述改进的三维声编码方法获得的声音数据时,下混兼容声道的质量有一定下降。这是因为下混到“下混兼容声道”的扩展基础声道和声音对象数据作了两次编码,造成了这些成分声音质量的下降。
2、采用三维声系统播放所述改进的三维声编码方法获得的声音数据时,在编码模块的编码失真小的情况下,改进的三维声编码方法可以提升三维声的编码质量。这是因为采用所述改进的三维声编码方法时,三维声解码器在去下混时引入较小的新误差,因而提升了三维声信号中兼容基础声道的质量。
因此,所述改进的三维声编码方法适用于编码模块的编码失真足够小、以及侧重于提升三维声的质量的应用场合。
特别的,实施例1中步骤1.3兼容编码模块中的编码方法、实施例2中步骤2.4兼容编码模块中的编码方法、实施例3中步骤3.4兼容编码模块、实施例5中步骤3a.5兼容编码模块中的编码方法,可以采用实施例1、2、3或5中所描述的后向兼容三维声编码方法,形成可支持多层次后向兼容的码流;与之对应,步骤4.2中的需要采用实施例4中所描述的后向兼容三维声解码方法。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。