利用多信道传输三维声信号的编解码器及其编解码方法
技术领域
本发明涉及一种三维声编解码处理技术领域,具体涉及利用多信道传输三维声信号的编解码器及其编解码方法。
背景技术
经过多年发展,立体声、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系统。当然,作为一个极端的例子,三维声也可以全部是声音对象信号。
三维声作为刚刚出现的新技术和系统,还没有获得广泛的应用,其推广需要一个很长的发展阶段。因立体声、环绕声系统的普遍存在,三维声系统只有最大限度的兼容已经普遍存在的立体声或环绕声系统,才能获得市场的接受,并逐步成为主流。
发明内容
发明目的:本发明目的在于针对现有技术的不足,提供一种利用多信道传输三维声信号的编解码器及其编解码方法,该方法兼容现有符合DCP协议的电影服务器进行直接播放,同时在用三维声处理器播放时,能够实现影院的三维声回放。
技术方案:本发明所述的三维声编码器,包括:下混及基础声道划分模块,用于接收基础声道和/或声音对象,按照下混方案进行下混和基础声道划分操作,输出下混兼容基础声道数据、扩展基础声道、基础声道划分边信息;扩展编码模块用于接收声音对象、下混方案、扩展基础声道、基础声道划分边信息,输出扩展编码数据;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的兼容基础声道集合。
进一步地,所述DCP打包模块按照DCP规范将下混兼容基础声道数据打成DCP码流包通过AES/EBU信道进行传输;所述扩展编码数据打包模块将扩展编码数据打包成扩展编码码流通过网络信道传输或USB信道传输或直接传输。
上述三维声编码器的编码方法包括如下步骤:按照下混方案将基础声道和/或声音对象下混为所兼容的下混兼容基础声道数据;将基础声道划分为扩展基础声道、兼容基础声道并确定基础声道划分边信息;对声音对象、下混方案、扩展基础声道、基础声道划分边信息进行编码得到扩展编码数据;按照DCP规范将下混兼容基础声道打成DCP码流包通过AES/EBU信道进行传输;将扩展编码数据打包成扩展编码码流通过网络信道传输或USB信道或直接传输。
用于上述三维声编码器输出数据解码的三维解码器,包括对齐模块、扩展解码模块、去下混模块、基础声道组合模块、渲染模块;对齐模块用于接收电影播放服务器处理后输出的具备同步时间戳的扩展编码数据、下混兼容基础声道及其同步时间戳,以同步时间戳对齐下混兼容基础声道和扩展编码数据;扩展解码模块用于接收对齐后的扩展编码数据,输出解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象;去下混模块用于接收下混兼容基础声道、解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象并进行去下混操作,输出兼容基础声道;基础声道组织模块用于接收兼容基础声道、解码的扩展基础声道、解码的基础声道划分边信息,输出基础声道;渲染模块,用于接收基础声道、解码的声音对象并进行三维渲染,生成三维声多声道PCM码流。
进一步地,所述电影播放服务器通过同步模块对DCP码流、扩展编码数据码流进行处理,同步模块以码流当前播放位置与码流起始位置的差计算同步时间戳,在输出下混兼容基础声道的同时通过一个空闲的信道输出下混兼容基础声道的同步时间戳,在扩展编码数据的帧头前加上同步时间戳合成码流通过网络或USB信道输出。
进一步地,所述去下混模块包括:按照解码的下混方案,从下混兼容基础声道信号中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分,得到解码的兼容基础声道信号。
进一步地,所述去下混模块包括如下步骤:
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,从下混兼容基础声道信号中去除解码的扩展基础声道信号和/或解码的声音对象的下混成分得到兼容基础声道下混分量所有的k=1…Ns组成矩阵Hs_bedcop
2)逆映射:根据解码的兼容基础声道映射系数逆矩阵invHRQ,对Hs_bedcop进行逆映射求得Hbc
Hbc=invHRQ*Hs_bedcop
Hbc中的第n行即为解码的兼容基础声道信号n=1…Nbc。
上述三维解码器的解码方法,包括如下步骤:获取DCP码流包和扩展编码数据码流,以码流当前播放位置与码流起始位置的差计算同步时间戳,输出下混兼容基础声道及其同步时间戳,在扩展编码数据的帧头前加上同步时间戳进行输出;读取下混兼容基础声道和扩展编码数据以及各自的同步时间戳,以同步时间戳对其下混兼容基础声道和扩展编码数据;将对齐后的扩展编码数据进行解码,获取解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象;解码的下混方案、解码的扩展基础声道、解码的基础声道划分边信息、解码的声音对象与下混兼容基础声道进行去下混操作,获得兼容基础声道;根据解码的基础声道划分边信息,将兼容基础声道与解码的扩展基础声道进行组合生成基础声道;基础声道与解码的声音对象经三维声渲染生成三维声多声道PCM数据。
有益效果:针对数字电影行业的三维声系统应用,本发明提供一种三维声编码器、解码器及其编解码方法,能够通过AES/EBU信道传输下混后的兼容基础声道,同时利用网络、USB等信道进行扩展编码数据的传输,丰富了扩展编码数据的传输方式,提高了其广泛应用的能力;本发明能够更好兼容已有电影系统的内容制作和影院放映,如果影院安装的音频处理器只支持环绕声格式的环绕声处理器,通过AES/EBU信道获得下混兼容基础声道数据,并直接播放该下混兼容基础声道数据,能够获得和现有5.1或7.1环绕声相同的听觉体验,且没有基本二维声音信息的损失。对于配置了三维声处理器的三维声影院还音系统,能够通过AES/EBU信道获得下混兼容基础声道数据和网络、USB等信道获得三维声扩展编码数据,通过三维声解码器解码和渲染,可以实现影院的三维声回放。
附图说明
图1为实施例1中三维声编码方法框图;
图2为实施例2中三维声编码方法框图;
图3为第一种下混运算示意图;
图4为第二种下混运算示意图;
图5实施例3中三维声编码方法框图;
图6为改进的三维声编码方法框图;
图7为三维声编码方法制作数字电影的播放;
图8为后向兼容三维声解码方法框图;
图9为去下混模块的操作流程图。
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:
三维声信号由多声道信号(即基础声道)和/或声音对象信号(包括对象渲染描述信息和对象音频数据)组成。为满足后向兼容多声道(立体声、环绕声)节目或系统的需要,本发明所提出的三维声编码方法按照下混方案将三维声信号下混为所兼容的下混兼容基础声道数据,对下混方案、扩展基础声道、基础声道划分边信息、声音对象进行编码得到扩展编码数据。其中下混兼容基础声道数据经处理后利用AES/EBU信道传输;扩展编码数据经处理后打包在一起通过其它方式的传输信道传输,比如网络、USB等。
例如,若三维声信号由5.1.4两层多声道系统(即中间层5个声道、1个次低音声道和4个顶层声道)和20个声音对象组成,为兼容5.1环绕声系统,其中5.1被作为兼容基础声道独立处理,由三个环绕声信道传输,4个顶层声道作为扩展基础声道与20个声音对象数据一起处理打包后由其它的种类的信道传输。
基础声道可以是立体声、5.1、7.1等多声道信号,也可以是9.1、11.1、13.1和22.2等多层多声道三维声信号,基础声道中每一个声道的数据表示为i=1…Nb,Nb为基础声道的声道数量,Nb等于0时该三维声信号中不含多声道信号而只有声音对象信号,所有基础声道信号组成集合i=1…Nb};声音对象信号obj_signal[j]包括对象渲染描述信息obj_info[j]和对象信号j=1…M,M为声音对象的数量,M等于0时该三维声信号中不包含声音对象。声音对象信号可以是单声道、立体声或多声道信号。所兼容的下混兼容基础声道信号表示为k=1…Ns,Ns为所兼容的立体声、环绕声系统的声道数,所有下混兼容基础声道信号组成集合k=1…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-7 Sept.2007)。
可以将基础声道信号的集合i=1…Nb}进行声道划分,分为两个集合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)来表达),将三维声节目下混为所兼容的立体声/多声道信号,得到下混兼容基础声道信号k=1…Ns;将基础声道划分为下混兼容基础声道数据和扩展基础声道两部分,并确定基础声道划分边信息(如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、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)DCP打包模块
将下混兼容基础声道数据作DCP打包,打包格式符合DCI协议及MXF编码格式。
步骤1.4)扩展编码数据打包模块
对扩展编码数据进行打包,打包好的数据可以通过网络、USB之类的信道传输。打包可以采取多种方式,甚至可以直接采用编码后的码流。
实施例2
如图2所示,在采用系统自适应选择的下混方案,本发明提供的三维声编码器包括下混模块、基础声道划分模块、扩展编码模块、DCP打包模块、扩展编码数据打包模块。与实施例1的区别在于下混及基础声道划分模块分为下混模块和基础声道划分模块。
步骤2.1)下混模块
根据系统自适应选择的下混方案,将三维声节目下混为所兼容的立体声/多声道信号,得到下混兼容基础声道信号输出所用下混方案。
如前所述,下混兼容基础声道信号包括基础声道下混分量和声音对象下混分量:
基础声道下混分量由每一个基础声道的信号所生成,可以按照如下公式计算每一个下混兼容基础声道k的基础声道下混分量:
fb(k,i)是第i个基础声道信号向下混多声道信号的第k个声道进行下混时的下混映射函数。
声音对象下混分量是根据所要兼容的多声道系统对每一个声音对象的信号进行下混渲染所生成,可以根据如下公式计算每一个下混兼容基础声道k的声音对象下混分量:
fo(k,j)是第j个对象向下混多声道信号的第k个声道进行下混时的下混映射函数。这种情况下下混运算的示意图见图3。
基础声道下混分量又可以分为扩展基础声道下混分量和兼容基础声道下混分量
可以分别按如下公式计算扩展基础声道下混分量和兼容基础声道下混分量
这种情况下下混运算的示意图见图4。
步骤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中所有的声道信号n=1…Nbc组成矩阵
他们所对应的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中所有的声道信号n=1…Nbc组成矩阵
他们所对应的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中所有的声道信号n=1…Nbc都可以根据集合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
如图5所示,本发明提供的三维声编码器包括下混模块、基础声道划分模块、扩展编码模块、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
在扩展编码模块采用有损编码时,三维声编码系统可进一步优化为包括扩展解码模块,如图6所示,在改进的三维声编码器中,包括一个下混模块、一个基础声道划分模块、一个扩展编码模块、一个扩展解码模块,一个扩展编码打包模块和一个DCP打包模块。扩展解码模块将有损编码的扩展编码数据解码,并将解码的下混方案、解码的扩展基础声道、解码的声音对象、解码的基础声道划分边信息输出到下混模块。
因为在下混模块使用了解码后扩展基础声道和声音对象的数据,改进的三维声编码方法有如下特点:
1、采用现有的立体声或环绕声系统播放所述改进的三维声编码方法获得的声音数据时,下混兼容基础声道的质量有一定下降。这是因为下混到“下混兼容基础声道”的扩展基础声道和声音对象数据作了两次编码,造成了这些成分声音质量的下降。
2、采用三维声系统播放所述改进的三维声编码方法获得的声音数据时,在编码模块的编码失真小的情况下,改进的三维声编码方法可以提升三维声的编码质量。这是因为采用所述改进的三维声编码方法时,三维声解码器在去下混时引入较小的新误差,因而提升了三维声信号中兼容基础声道的质量。
因此,所述改进的三维声编码方法适用于编码模块的编码失真足够小、以及侧重于提升三维声的质量的应用场合。
实施例5
采用本申请的后向兼容三维声编码方法制作的数字电影,可以兼容现有符合DCP协议的电影服务器。DCP电影服务器在播放采用本发明制作的数字电影时,如果影院安装的音频处理器只支持环绕声格式的环绕声处理器,此时,环绕声处理器可以通过AES/EBU信道获得下混兼容基础声道数据,并直接播放该下混兼容基础声道数据,能够获得与现有5.1或7.1环绕声相同的听觉体验,且没有基本二维声音信息的损失。如果影院安装了三维声处理器,可以实现影院的三维声回放,具体制作数字电影的播放及声音处理过程如图7所示。
由于下混兼容基础声道数据与扩展编码数据(含扩展基础声道、声音对象数据)通过不同的信道传输,两者之间需要解决同步问题。电影服务器的处理步骤如下:
第一步:计算同步时间戳
根据码流当前要播放的位置与码流起始位置的差计算出播放时间差,此时间差即为同步时间戳。
第二步:输出下混兼容基础声道及其时间戳
在环绕声信道输出下混兼容基础声道的同时,选用一个空闲的AES/EBU信道输出同步时间戳。
第三步:扩展编码帧头之前加上同步时间戳并输出
同样在需要输出的扩展编码包的帧头前加上同步时间戳,将合成的码流通过网络、USB之类的信道输出。
三维声解码方法如图8所示,步骤如下:
第一步:获取数据和同步时间戳
分别从AES/EBU信道和别的通道中读取下混兼容基础声道和扩展编码数据,以及各自的同步时间戳信息。
以同步时间戳为基准对齐下混兼容基础声道和扩展编码数据;
第二步:解码扩展编码数据
将扩展编码数据进行解码,得到解码的声音对象和扩展基础声道;
第三步:去下混模块
将扩展编码数据经扩展解码模块获得解码的下混方案、解码的扩展基础声道数据、解码的基础声道划分边信息、解码的声音对象与下混兼容基础声道输入到去下混模块。去下混模块执行下混模块的逆过程,获得去扩展基础声道和声音对象信息的兼容基础声道数据。
按照解码的下混方案,从解码的下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分,并进行逆映射得到解码的兼容基础声道信号。分为两个步骤:
步骤5.3.1):计算兼容基础声道下混分量
按照解码的下混方案,对解码的扩展基础声道信号、解码的声音对象进行下混,从解码的下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分,得到解码的兼容基础声道下混分量;
步骤5.3.2):逆映射
对解码的兼容基础声道下混分量进行逆映射得到解码的兼容基础声道信号。
如果逆映射的过程是简单的直通关系,即解码的兼容基础声道信号与解码的兼容基础声道信号相同,这时则不需要步骤5.3.2):逆映射。
下面以与编码端相对应的两种情况为例对去下混过程进行详细说明。
1)如果编码过程中使用的是对应下混声道的划分方法:
此时,解码的基础声道划分边信息包括betob(m)(m=1…Nbe)、bctob(n)(n=1…Nbc)、compat(n)(n=1…Nbc),解码的下混方案包括下混映射函数fb(k,i)、fo(k,j)。
步骤5.3a.1):计算兼容基础声道下混分量
如图9所示,对于每一个兼容基础声道n=1…Nbc,k=compat(n)为其对应的下混兼容基础声道,从下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分得到兼容基础声道下混分量
其中,扩展基础声道下混分量按照解码的下混方案对解码的扩展基础声道信号下混而来:
声音对象下混分量按照解码的下混方案对解码的声音对象下混渲染而来:
步骤5.3a.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.3b.1):计算兼容基础声道下混分量
对于每一个下混兼容基础声道k,从下混兼容基础声道信号中去除解码的扩展基础声道信号、解码的声音对象的下混成分得到兼容基础声道下混分量
其中,扩展基础声道下混分量按照解码的下混方案对解码的扩展基础声道信号下混而来:
声音对象下混分量按照解码的下混方案对解码的声音对象下混渲染而来:
所有的k=1…Ns组成矩阵
步骤5.3b.2):逆映射
如前所述,此时的下混映射函数fb(k,i)满足:
fb(k,i)(x(t))=a(k,i)
根据解码的兼容基础声道映射系数逆矩阵invHRQ,通过如下逆映射求得Hbc
Hbc=invHRQ*Hs_bedcop
Hbc中的第n行即为解码的兼容基础声道信号n=1…Nbc。
如果编码端没有对兼容基础声道映射系数逆矩阵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行即为解码的兼容基础声道信号n=1…Nbc。
更宽泛的范围内,如果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)的运算,以得到最终的解码的兼容基础声道信号。
第四步:渲染模块
基础声道、解码后的声音对象经三维声渲染模块,生成三维声多声道PCM码流。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。