利用AES/EBU信道传输三维声信号的编解码器及其编解码
方法
技术领域
本发明涉及一种三维声编解码处理技术领域,具体涉及一种利用AES/EBU信道传输三维声信号的编解码器及其编解码方法。
背景技术
经过多年发展,立体声、5.1、7.1环绕声等系统已经获得了广泛的应用,这些系统因缺乏声音的高度信息,最多只能呈现二维的声音。在真实的世界中,三维声是声音最真实的呈现和表达方式,无论自然界、艺术领域或视听娱乐领域,三维声都是未来的发展趋势。
在现有的系统中,三维声可以是多声道信号(如9.1、11.1、13.1和22.2等),可以是多个声音对象,也可以是两者的组合。在三维声系统中,多声道信号可以是环绕声信号,如5.1、7.1等,也可以是多层多声道信号(即多层声道信号分布在不同高度平面)。例如,有些三维声系统采用中间层及顶层的两层平面,有些三维声系统采用三层系统等。有些三维声系统只有多层多声道信号,但没有声音对象,例如SMPTE的22.2三维声系统和AURO 9.1系统等。有些三维声系统则既有多层多声道信号,也有声音对象,例如MPEG-H、Dolby Atmos和DTS:X系统。当然,作为一个极端的例子,三维声也可以全部是声音对象信号。
三维声作为刚刚出现的新技术和系统,还没有获得广泛的应用,其推广需要一个很长的发展阶段。因立体声、环绕声系统的普遍存在,三维声系统只有最大限度的兼容已经普遍存在的立体声或环绕声系统,才能获得市场的接受,并逐步成为主流。
发明内容
发明目的:本发明目的在于针对现有技术的不足,提供一种利用AES/EBU信道传输三维声信号的编解码方法,该方法可以更好兼容已有电影系统的内容制作和影院放映,同时具备三维声的输出能力。
技术方案:本发明所述的三维声编码器,包括:下混及基础声道划分模块,用于接收基础声道和/或声音对象,按照下混方案进行下混和基础声道划分操作,输出下混兼容基础声道数据、扩展基础声道、基础声道划分边信息;扩展编码模块用于接收声音对象、下混方案、扩展基础声道、基础声道划分边信息,输出扩展编码数据;扩展编码数据再组织模块,用于接收扩展编码数据并进行重组操作;DCP打包模块,用于接收下混兼容基础声道数据和重组后的扩展编码数据并按照DCP规范打成DCP码流。
进一步完善上述技术方案,在采用系统自适应选择的下混方案时,所述下混及基础声道划分模块包括下混模块和基础声道划分模块,下混模块用于接收基础声道和声音对象,输出下混兼容基础声道数据和下混方案,基础声道划分模块用于接收基础声道、下混模块生成的下混方案,输出扩展基础声道、基础声道划分边信息。
进一步地,在采用外部输入确定的下混方案时,所述下混及基础声道划分模块包括下混模块和基础声道划分模块,下混模块用于接收基础声道、声音对象、外部输入的下混方案,输出下混兼容基础声道数据;基础声道划分模块用于接收基础声道、外部输入的下混方案,输出扩展基础声道、基础声道划分边信息。
所述扩展编码模块采用有损编码或无损编码进行编码,在采用有损编码和外部输入确定的下混方案时,所述下混及基础声道划分模块包括下混模块和基础声道划分模块,基础声道划分模块用于接收基础声道和外部输入的下混方案,输出所述扩展基础声道和基础声道划分边信息;在采用有损编码时通过有损扩展解码模块将其输出的扩展编码数据进行解码,解码的扩展基础声道、解码的基础声道划分边信息、解码的下混方案、解码的声音对象与所述基础声道输入至下混模块,下混模块输出所述下混兼容基础声道数据。
进一步地,所述下混模块按照下混方案将基础声道、声音对象下混为下混兼容基础声道,下混兼容基础声道信号分为基础声道下混分量、声音对象下混分量,基础声道下混分量分为扩展基础声道下混分量、兼容基础声道下混分量。所述下混模块采用PAN系统或WFS系统或Ambisonic系统或者功能类似的下混系统执行下混操作。
进一步地,所述基础声道划分模块将基础声道划分为兼容基础声道、扩展基础声道,采用的基础声道划分方案根据基础声道的声道配置、所要兼容的多声道系统及下混映射函数确定,如根据对应下混声道的划分方法确定或者根据基于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的兼容基础声道集合。
进一步地,所述下混兼容基础声道数据占用nn/2个AES/EBU信道数进行传输,其中nn为下混兼容基础声道的声道数,所述扩展编码数据占用mm个AES/EBU信道数进行传输,mm≤(8-nn/2);所述扩展编码数据重组后每帧的大小等于mm个AES/EBU信道传输能力ll,ll=mm*L*K*N,ll以字节为单位,L为一个AES/EBU信道能够传输的PCM声道数、K为单个扩展基础声道或声音对象进行编码时一帧的音频样本点数、N为一个音频样本点占用的字节数。
为在AES/EBU信道实时传输扩展编码数据,所述扩展编码数据再组织模块对扩展编码数据进行重组操作:在每帧扩展编码数据的帧头添加音频标识头,在每帧扩展编码数据尾部填充数据使总帧长等于ll,将总帧长为ll的扩展编码数据等份成mm份子帧。
采用上述三维编码器进行三维声编码方法,包括如下步骤:按照下混方案将基础声道和/或声音对象下混为所兼容的下混兼容基础声道数据,将基础声道划分为扩展基础声道、兼容基础声道并确定基础声道划分边信息;将声音对象、下混方案、扩展基础声道、基础声道划分边信息进行编码得到扩展编码数据;对扩展编码数据进行重组操作;按照DCP规范将下混兼容基础声道数据和重组后的扩展编码数据打成DCP码流包。
进一步地,所述扩展编码数据的重组操作包括在每帧扩展编码数据的帧头添加音频标识头,在每帧扩展编码数据尾部填充数据使总帧长等于ll,将总帧长为ll的扩展编码数据等份成mm份子帧。
用于上述三维声编码器编码生成DCP码流包解码的三维声解码器,包括:接收下混兼容基础声道数据模块,用于接收AES/EBU信道输入的下混兼容基础声道数据;接收扩展编码数据模块,用于接收AES/EBU信道输入的扩展编码码流;扩展解码数据重构模块,用于接收扩展编码码流,输出扩展编码数据;扩展解码模块,用于接收扩展解码数据,输出解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象;去下混模块,用于接收下混兼容基础声道数据、解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象,输出兼容基础声道;基础声道组合模块,用于接收兼容基础声道、解码的扩展基础声道、解码的基础声道划分边信息,输出基础声道;三维声渲染模块,用于接收基础声道、解码的声音对象,输出三维声多通道PCM码流。
进一步地,所述扩展解码数据重构模块对扩展编码码流执行操作包括找到音频标识头,组合等份子帧,读取音频标识头中有效信息,去除尾部填充数据,去音频标识头,获取完整的扩展编码数据的帧。
进一步地,所述去下混模块包括:按照解码的下混方案,从下混兼容基础声道信号中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分,得到解码的兼容基础声道信号。
进一步地,所述去下混模块包括如下步骤:
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
Hbc中的第n行即为解码的兼容基础声道信号
上述三维声解码器进行三维声解码方法,包括如下步骤:获取DCP码流包中的下混兼容基础声道数据和扩展编码码流,找到音频标识头,对扩展编码码流进行等份子帧组合,读取音频标识头中有效信息,去除尾部填充数据和音频标识头,获取扩展编码数据;对扩展编码数据进行解码,输出解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象与下混兼容基础声道数据进行去下混操作输出兼容基础声道;根据解码的基础声道划分边信息,将兼容基础声道与解码的扩展基础声道进行组合生成基础声道;基础声道与解码的声音对象进行三维声渲染生成三维声多声道PCM码流。
有益效果:针对数字电影行业的三维声系统应用,本发明提供一种利用AES/EBU信道传输三维声信号的编解码器及其编解码方法,该方法可以更好兼容已有电影系统的内容制作和影院放映,下混生成的下混兼容基础声道和重组后的三维声扩展编码数据无需进行特别处理即可打成DCP包,在电影放映时,下混兼容基础声道和三维声扩展编码数据可通过AES/EBU信道进行传输,对AES/EBU信道进行最大程度利用;采用本申请的后向兼容三维声编码方法制作的数字电影,可以兼容现有符合DCP协议的电影服务器和环绕声影院还音系统,对于只支持环绕声格式的环绕声处理器可以通过nn/2个AES/EBU信道获得下混兼容基础声道数据,并直接播放该下混兼容基础声道数据,可以获得和现有5.1或7.1环绕声相同的听觉体验,且没有基本二维声音信息的损失。对于配置了三维声处理器的三维声影院还音系统,可以通过nn/2个AES/EBU信道获得下混兼容基础声道数据和mm个AES/EBU信道获得三维声扩展编码数据,通过三维声解码器解码和渲染,可以实现影院的三维声回放。
附图说明
图1为实施例1中三维声编码方法框图;
图2为扩展兼容数据再组织模块的操作示意图;
图3为实施例2中三维声编码方法框图;
图4为第一种下混运算示意图;
图5为第二种下混运算示意图;
图6为实施例3中三维声编码方法框图;
图7为实施例4中三维声编码方法框图;
图8为三维声编码方法制作数字电影的播放过程示意图;
图9为三维声解码方法框图;
图10为去下混模块的操作方法图。
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:
三维声信号由多声道信号(即基础声道)和/或声音对象信号(包括对象渲染描述信息和对象音频数据)组成。为满足后向兼容多声道(立体声、环绕声)节目或系统的需要,本发明所提出的三维声编码方法按照下混方案将三维声信号下混为所兼容的下混兼容基础声道数据,对下混方案、扩展基础声道、基础声道划分边信息、声音对象进行编码得到扩展编码数据。其中下混兼容基础声道数据经处理后占用AES/EBU信道的环绕声信道,因一个AES/EBU信道可传输两个声道信号,因此,当下混兼容基础声道数据为nn时,需要占用的AES/EBU信道数为nn/2个。在数字电影应用中,环绕声信道对应的AES/EBU信道顺序为前nn/2个,即5.1时为前三个AES/EBU信道,7.1时为前四个AES/EBU信道;扩展编码数据经重组处理后通过其它AES/EBU信道传输。一般数字电影最多可支持8个AES/EBU信道,因此,传输扩展编码数据可使用除环绕声信道外的mm个AES/EBU信道,且mm等于或小于8-nn/2。
例如,若三维声信号由5.1.4两层多声道系统(即中间层5个声道、1个次低音声道和4个顶层声道)和20个声音对象组成,为兼容5.1环绕声系统,其中5.1被作为下混兼容基础声道数据独立处理,由三个环绕声信道传输,4个顶层声道作为扩展基础声道与20个声音对象一起处理打包后由其它的AES/EBU信道传输。
基础声道可以是立体声、5.1、7.1等多声道信号,也可以是9.1、11.1、13.1和22.2等多层多声道三维声信号,基础声道中每一个声道的数据表示为 Nb为基础声道的声道数量,Nb等于0时该三维声信号中不含多声道信号而只有声音对象信号,所有基础声道信号组成集合声音对象信号obj_signal[j]包括对象渲染描述信息obj_info[j]和对象信号M为声音对象的数量,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)表达的可以是增益、延时等操作,例如fb(k,i)(x(t))=a(k,i)*x(t-Δ(k,i));也可以是更复杂的映射函数,如WFS和HOA驱动函数等。WFS(Wave field Synthesis)是一种声音渲染方法,通过在求解波动方程的时候采用Kirchhoff-Helmholtz积分,实现用还音扬声器组还原原始声场。HOA(High OrderAmbisonic)也是一种声音渲染方法,通过在求解波动方程的时候采用球面波级数,实现用扬声器组还原原始声场。WFS和HOA方法具体可参考文献“Comparison of Higher orderAmbisonics and Wave Field Synthesis With Respect to Spatial DiscretizationArtifacts in Time Domain”(SaschaSpors and Jens Ahrens,19th InternationalCongress 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个声道在基础声道中的序号,
由Sbed集合中的基础声道下混生成,所有组成集合
如果能根据集合Ssrbedcop和下混映射函数fb(k,i)、基础声道划分边信息(betob(m)、bctob(n))等运算得到Sbedc中的所有信号,则称Sbedc为兼容基础声道集合,其中的声道信号称为兼容基础声道;Sbede称为与Sbedc对应的扩展基础声道集合,称为扩展基础声道。称为扩展基础声道下混分量;Ssrbedcop称为兼容基础声道下混分量集合,称为兼容基础声道下混分量。
对于基础声道集合Sbed来说,其兼容基础声道集合Sbedc与扩展基础声道集合Sbede的划分方式和划分准则可能有多种,显然,Sbede=Sbed,的划分符合上述定义;如果Sbedc1是Sbed的兼容基础声道集合,则Sbedc1的任意子集Sbedct也是Sbed的兼容基础声道集合。
如图1所示,本发明提供的三维声编码器包括一个下混及基础声道划分模块、一个扩展编码模块、一个扩展编码数据再组织模块和一个DCP打包模块。
步骤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-1 layer3、MPEG-2/4AAC、MPEG H、杜比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))进行编码时,可以进行有损或无损的编码;也可以采用矢量编码的方式。
步骤1.3)扩展编码数据再组织模块
扩展编码数据再组织模块对扩展编码数据进行重组操作,以通过AES/EBU信道传输。AES/EBU信道传输是实时传输,要求在单位时间内传输的下混兼容基础声道数据对应的音频播放时长以及扩展编码数据对应的音频播放时长是一致的,且等于单位时间长度。下混兼容基础声道数据是PCM格式数据(24比特、48kHz或96kHz的脉冲编码调制格式),根据DCP协议,打成DCP包后自然能满足这一要求,不需要经过任何特别处理,但扩展编码数据则需要经过重组操作。
扩展编码数据再组织模块对扩展编码数据进行重组操作,以通过AES/EBU信道传输。AES/EBU信道采用24比特位精度传输音频信号,采样频率可选择48kHz或96kHz。为在AES/EBU信道实时传输扩展编码数据,首先需要计算mm个AES/EBU信道的最大传输能力。计算方法如下:
设扩展编码数据以K个样本点/声道为一帧进行编码,所有扩展基础声道(数量为a)和声音对象(数量为b)的(a+b)*K个样点经过编码后的数据的基本单位为帧。
为了实时播放和传输三维声信号,扩展编码数据每帧的大小必须正好等于对应mm个AES/EBU信道的传输能力。此时mm个AES/EBU信道传输能力ll=mm*2(通道数)*K(样本数)*3(字节),ll以字节为单位,DCP音频样本点的位精度一般为24bit,24/8=3个字节。
扩展编码数据再组织模块的再组织的流程或方法如图2所示:
第一步、在帧头添加音频标识头:添加音频标识头的目的是为了便于音频处理器处理数据,一般包括同步字、帧长等信息;
第二步、尾部填充:扩展编码帧+音频标识头的长度小于ll时,需要尾部填充使总帧长等于ll;
第三部、等份切割:将ll长度的数据等份切割mm份(称为子帧),打成DCP包后,输出时分别对应AES/EBU的nn/2+1~n/2+mm的信道,每一个子帧的长度subframe_length=ll/mm。
步骤1.3)DCP打包模块
DCP打包模块将下混兼容基础声道数据和再组织后的扩展编码数据作DCP打包,打包格式符合DCI协议及MXF编码格式。对于再组织后的扩展编码数据,在DCP打包时,把再组织后的扩展编码数据子帧按照双声道PCM数据与下混兼容基础声道的PCM数据按照DCP的规范打成DCP码流包。
其中,在MXF的body中可以如下表的顺序打包:
实施例2:
如图3所示,在采用系统自适应选择的下混方案,本发明提供的三维声编码器包括下混模块、基础声道划分模块、扩展编码模块、扩展编码数据再组织模块、DCP打包模块。与实施例1的区别在于下混及基础声道划分模块分为下混模块和基础声道划分模块。
步骤2.1)下混模块
根据系统自适应选择的下混方案,将三维声节目下混为所兼容的立体声/多声道信号,得到下混兼容基础声道信号输出所用下混方案。
如前所述,下混兼容基础声道信号包括基础声道下混分量和声音对象下混分量:
基础声道下混分量由每一个基础声道的信号所生成,可以按照如下公式计算每一个下混兼容基础声道k的基础声道下混分量:
fb(k,i)是第i个基础声道信号向下混多声道信号的第k个声道进行下混时的下混映射函数。
声音对象下混分量是根据所要兼容的多声道系统对每一个声音对象的信号进行下混渲染所生成,可以根据如下公式计算每一个下混兼容基础声道k的声音对象下混分量:
fo(k,j)是第j个对象向下混多声道信号的第k个声道进行下混时的下混映射函数。这种情况下下混运算的示意图见图4。
基础声道下混分量又可以分为扩展基础声道下混分量和兼容基础声道下混分量
可以分别按如下公式计算扩展基础声道下混分量和兼容基础声道下混分量
这种情况下下混运算的示意图见图5。
步骤2.2)基础声道划分模块
根据下混模块所用的下混方案(比如可以以一组映射函数fb(k,i)、fo(k,j)来表达),将基础声道划分为兼容基础声道和扩展基础声道两部分,并确定基础声道划分边信息(如betob(m)、bctob(n))。
如果该三维声节目中不包括基础声道,或兼容基础声道、扩展基础声道与基础声道之间是简单明确的一一对应关系,则可以不需要进行该步骤2.2。
下面以两种情况为例来对基础声道划分方法进行详细说明。
1)对应下混声道的划分方法:
当三维声节目的基础声道的声道配置、所要兼容的多声道系统及下混映射函数fb(k,i)都已确定时,可以根据如下划分规则将基础声道 分为 两部分:
对于每一个n=1...Nbc,存在k=compat(n),及n=invcompat(k),其中compat(n)是第n个兼容基础声道所对应的下混兼容基础声道的序号,有
且fb(k,bctob(n))存在逆函数。
在满足上述规则的情况下,可以按照如下公式来计算得到解码的兼容基础声道信号
对于每一个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)。其中,compat(n)是第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为兼容基础声道集合。
2)基于QR分解的划分方法
如果下混函数可以表达为fb(k,i)(x(t))=a(k,i)*(x(t))(a(k,i)为实数),基础声道的下混可以表达为矩阵运算的形式:
组成下混多声道信号矩阵Hs_bed
组成基础声道信号矩阵Hb
a(k,i)组成基础声道下混系数矩阵HA,HA为Ns*Nb矩阵
Hs_bed=HA*Hb
此时,可以按照如下步骤进行基础声道的划分:
步骤2.2b.1):令Sbedc=Sbed,
步骤2.2b.2):由Sbedc中所有的声道信号组成矩阵
他们所对应的a(k,i)组成兼容基础声道下混系数矩阵HAcHAc,HAc为Ns*Nbc矩阵
他们下混形成的兼容基础声道下混分量集合Ssrbedcop的所有组成矩阵
满足: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,由Sbedc中所有的声道信号 组成矩阵
他们所对应的a(k,i)组成下混系数矩阵HAc,HAc为Ns*Nbc矩阵
他们下混形成的兼容基础声道下混分量集合Ssrbedcop中的信号组成矩阵
满足: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中所有的声道信号都可以根据集合Ssrbedcop和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)的操作,以得到最终的解码的兼容基础声道信号。
实施例3
如图6所示,本发明提供的三维声编码器包括基础声道划分模块、下混模块、扩展编码模块、扩展编码数据再组织模块、DCP打包模块。与实施例2的区别在于下混方案采用外部输入。
步骤3.1)基础声道划分模块
根据外部输入的下混方案(比如可以以一组映射函数fb(k,i)、fo(k,j)来表达),将基础声道划分为兼容基础声道和扩展基础声道两部分,并确定基础声道划分边信息(如)betob(m)、bctob(n)。
如果该三维声节目中不包括基础声道,或兼容基础声道、扩展基础声道与基础声道之间是简单明确的一一对应关系,则可以不需要进行该步骤3.1)。
步骤3.2)下混模块
根据外部输入的下混方案(比如可以以一组映射函数fb(k,i)、fo(k,j)来表达),将三维声节目下混为所兼容的立体声/多声道信号,得到下混兼容基础声道信号
如前所述,下混兼容基础声道信号包括基础声道下混分量和声音对象下混分量:
基础声道下混分量由每一个基础声道的信号所生成,可以按照如下公式计算每一个下混兼容基础声道k的基础声道下混分量:
fb(k,i)是第i个基础声道信号向下混多声道信号的第k个声道进行下混时的下混映射函数。
声音对象下混分量是根据所要兼容的多声道系统对每一个声音对象的信号进行渲染所生成,可以根据如下公式计算每一个下混兼容基础声道k的声音对象下混分量:
fo(k,j)是第j个对象向下混多声道信号的第k个声道进行下混时的下混映射函数。
基础声道下混分量又可以分为扩展基础声道下混分量和兼容基础声道下混分量
可以分别按如下公式计算扩展基础声道下混分量和兼容基础声道下混分量
实施例4
在扩展编码模块采用有损编码时,三维声编码器可进一步优化为包括有损扩展解码器。如图7所示,在改进的三维声编码器中,包括一个下混模块、一个基础声道划分模块、一个有损扩展编码模块、一个有损扩展解码模块,一个扩展编码数据再组织模块和一个DCP打包模块;解码器将有损扩展编码模块输出的扩展编码数据解码,并将解码的下混方案、解码的扩展基础声道、解码的声音对象、解码的基础声道划分边信息输出到下混模块。
实施例5
采用本申请的后向兼容三维声编码方法制作的数字电影,可以兼容现有符合DCP协议的电影服务器。DCP电影服务器在播放采用后向兼容三维声编码方法制作的数字电影时,如果影院安装的音频处理器只支持环绕声格式的环绕声处理器,此时,环绕声处理器可以通过nn/2个AES/EBU信道获得下混兼容基础声道数据,并直接播放该下混兼容基础声道数据,能够获得与现有5.1或7.1环绕声相同的听觉体验,且没有基本二维声音信息的损失。如果影院安装了后向兼容的三维声处理器,可以实现影院的三维声回放,后向兼容三维声编码方法制作数字电影的播放及声音处理过程如图8所示。
如图9所示的用于三维声系统的三维声解码器,包括接收下混兼容基础声道数据模块和接收扩展编码数据模块、扩展解码数据重构模块、扩展解码模块、去下混模块、基础声道组合模块、三维声渲染模块;
步骤5.1)接收下混兼容基础声道数据模块和接收扩展编码数据模块
通过nn/2+mm个AES/EBU信道接收电影服务器传输过来的三维声数据,包括nn/2个AES/EBU信道的下混兼容基础声道数据和mm个AES/EBU信道的再组织后的扩展编码数据,用于输出下混兼容基础声道数据和扩展编码码流。
步骤5.2)扩展解码数据重构模块
对扩展编码码流执行如下操作获得扩展编码数据:
第一步:找到音频标识头,等份切割组合;
第二步:去尾部填充;
第三部:去音频标识头。
步骤5.3)扩展解码模块
用于接收扩展解码数据,输出解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象。如果在编码、解码中遵循确定的同样的下混方案、基础声道划分边信息,则可以不对基础声道划分边信息、下混方案进行解码,而是按照确定的规则生成。扩展解码的过程是前述扩展编码的逆过程。
步骤5.4)去下混模块
按照解码的下混方案,从解码的下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分,并进行逆映射得到解码的兼容基础声道信号。分为两个步骤:
步骤5.4.1):计算兼容基础声道下混分量
按照解码的下混方案,对解码的扩展基础声道信号、解码的声音对象进行下混,从解码的下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分,得到解码的兼容基础声道下混分量;
步骤5.4.2):逆映射
对解码的兼容基础声道下混分量进行逆映射得到解码的兼容基础声道信号。
如果逆映射的过程是简单的直通关系,即解码的兼容基础声道信号与解码的兼容基础声道信号相同,这时则不需要步骤5.4.2):逆映射。
下面以与编码端相对应的两种情况为例对去下混过程进行详细说明。
1)如果编码过程中使用的是对应下混声道的划分方法:
此时,解码的基础声道划分边信息包括betob(m)(m=1...Nbe)、bctob(n)(n=1...Nbc)、compat(n)(n=1...Nbc),解码的下混方案包括下混映射函数fb(k,i)、fo(k,j)。
步骤5.4a.1):计算兼容基础声道下混分量
如图10所示,对于每一个兼容基础声道n=1...Nbc,k=compat(n)为其对应的下混兼容基础声道,从下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分得到兼容基础声道下混分量
其中,扩展基础声道下混分量按照解码的下混方案对解码的扩展基础声道信号下混而来:
声音对象下混分量按照解码的下混方案对解码的声音对象下混渲染而来:
步骤5.4a.2):逆映射
按照解码的下混方案中映射函数fb(k,bctob(n))的逆函数fb-1(k,bctob(n))对兼容基础声道下混分量进行逆映射,得到解码的兼容基础声道
逆函数fb-1((k,bctob(n))的运算就是逆映射的过程。
2)如果编码过程中使用的是基于QR分解的划分方法:
此时,解码的基础声道划分边信息包括betob(m)(m=1...Nbe)、bctob(n)(n=1...Nbc)、兼容基础声道映射系数逆矩阵invHRQ,解码的下混方案包括下混映射函数fb(k,i)、fo(k,j)。
步骤5.4b.1):计算兼容基础声道下混分量
对于每一个下混兼容基础声道k,从下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分得到兼容基础声道下混分量
其中,扩展基础声道下混分量按照解码的下混方案对解码的扩展基础声道信号下混而来:
声音对象下混分量按照解码的下混方案对解码的声音对象下混渲染而来:
所有的组成矩阵
步骤5.4b.2):逆映射
如前所述,此时的下混映射函数fb(k,i)满足:
fb(k,i)(x(t))=a(k,i)
根据解码的兼容基础声道映射系数逆矩阵invHRQ,通过如下逆映射求得Hbc
Hbc=invHRQ*Hs_bedcop
Hbc中的第n行即为解码的兼容基础声道信号
如果编码端没有对兼容基础声道映射系数逆矩阵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
Hbc中的第n行即为解码的兼容基础声道信号
更宽泛的范围内,如果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)的运算,以得到最终的解码的兼容基础声道信号。
步骤5.5:基础声道组合模块
根据前述解码的基础声道划分边信息,将解码的兼容基础声道信号与解码的扩展基础声道信号进行组合,得到解码的基础声道信号。
如果该三维节目没有基础声道信号,或者兼容基础声道信号、扩展基础声道信号与基础声道之间是简单的一一对应关系,或扩展基础声道已经包含了所有基础声道,则可不进行此步骤5.5)的操作。
步骤5.6):三维声渲染模块
接收兼容基础声道码流、解码后的扩展基础声道和声音对象数据进行三维声渲染,生成三维声PCM数据。
步骤5.2)与步骤5.3)之间没有先后顺序的约束关系。
在兼容的立体声、环绕声系统中,则只进行步骤5.1),得到下混兼容基础声道信号。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。