音频编解码方法及相编解码器和计算机程序的制作方法

文档序号:2831790阅读:163来源:国知局
专利名称:音频编解码方法及相编解码器和计算机程序的制作方法
专利说明音频编解码方法及相编解码器和计算机程序 本发明涉及音频信号的编码装置,特别适用于数字和压缩音频信号的存储或传输场合下。
更准确地,本发明涉及音频分层编码系统,具有提供可变速率的容量,通过分配关于一个要在分层排列序列中编码的声音信号的信息,以使该信息可以被用于关于声音质量的重要性的次序。用于确定次序所考虑的标准是一个最优化(或者最小劣化)编码声音信号质量的标准。分层编码特别适合于在异构网络间或者那些具有随时间可变速率的网络间的传输,或者也用于到具有不同或可变特性的终端的传输。
更具体地,本发明涉及3D声音场景的分层编码。3D声音场景包括多个与单通道声音信号相关的声音信道,其也被认为是空间化的声音。
一个已编码的声音场景将被一个声音再现系统再现,该声音再现系统可以包括一个简单的听筒,电脑的两个喇叭或者一个具有五个喇叭的家庭影院5.1型系统(其中一个喇叭在屏幕的水平线上,在理论听众的前方一个喇叭在左侧而另一个在右侧;在理论听众的后方一个喇叭在左侧而另一个在右侧),等等。
例如,考虑到一个原始声音场景包括三个不同的声源,位于空间的不同位置上。描述该声音场景的信号被编码。产生于该编码的数据被传送到解码器,然后被解码。解码数据被用以产生五个信号,用于声音再现系统中的五个喇叭。五个喇叭中的每个播送其中的一个信号,被喇叭播送的信号集合合成了3D声音场景并且因此而在空间中定位了三个虚拟的声源。
对声音场景的编码存在不同的技术。
例如,所使用的一种技术包括确定描述声音场景的要素,接着进行每一个单声道信号的压缩。产生于这些压缩以及要素描述的数据接着被提供给解码器。
依据上述第一种技术的数率适应性(亦称可缩放性)可以通过改变在压缩操作中的速率来获取,但是它是通过单独地考虑针对每一个的信号质量的最优化标准来获得的。
另一种编码技术包括从各种通道上的所有单声道音频信号提取并编码空间参数,所述编码技术用于“MPEG音频环绕”编码器(参见“Text of ISO/IEC FDIS 23003-1,MPEG Surround”,ISO/IEC JTC1/SC29/WG11 N8324,July 2006,Klagenfurt,Austria,即“ISO/IEC FDIS 23003-1的文本,MPEG环绕”,ISO/IEC JTC1/SC29/WG11 N8324,2006年7月,克拉根福,奥地利)中。接着将这些信号混合以获得单声道或立体声信号,所述信号接着由常规单声道或立体声编码器(例如,MPEG-4AAC、HE-AAC型,等等)压缩。在解码器层级处,由空间参数和经解码单声道或立体声信号来进行3D声音场景的合成。
使用此另一技术,可因此通过使用分级单声道或立体声编码器来实现速率适应性,但它是根据用于最佳化单声道或立体声信号的质量的准则来进行的。
另外,PSMAC(Progressive Syntax-Rich MultichannelAudio Codec,渐进富语法多通道音频编解码器)方法使得能够通过使用KLT变换(Karhunen Loeve Transform,卡洛变换)对来自各种通道的信号进行编码,KLT变换主要可用于信号的解相关,且对应于表示信号统计数据的空间中的主要分量分解。其使得有可能区别能量最多的分量与能量最少的分量。
速率适应性是基于能量较少的分量的消除。尽管如此,这些成份有时对于声音总体质量来说具有重要意义。
因此,尽管已知技术在速率适应性方面得到良好结果,但没有一个能基于最优化声音总体质量的标准,提供完全满意的速率适应性的方法,且在还原解码3D声音场景过程中,针对定义的压缩数据最优化所感知的声音总体质量。
而且,已知的3D声音场景编码技术也没有在还原3D声音场景的过程中允许基于最优化空间分辨率标准的速率适应性。此适应性将使得有可能保证速率的每一次减少都会尽可能少地损害空间中的声音源的定位准确度及再现区域的尺寸,该尺寸必须尽可能地宽以环绕听众的头部。
此外,对于任何用于恢复3D声音场景的声音呈现系统,已知3D声音场景编码技术均没有使得能直接保证最佳质量的速率适应性成为可能。目前的编码算法经定义以最佳化相对于声音再现系统的特定配置的质量。事实上,在上述“MPEG音频环绕”编码器的情况下,举例来说,用一耳机或两个扬声器直接收听、或单声道收听是可能的。如果希望用5.1或7.1型的声音再现系统来处理经压缩位流,那么必须在解码器层级处实施额外处理,例如借助于OTT(One-To-Two,一到二)盒,以便由两个经解码信号产生五个或七个信号。这些盒使得能够在5.1或7.1型的声音再现系统的情况下获得所需要数目的信号,但不可能再现真实空间方面。此外,这些盒不保证对除了5.1或7.1型的声音再现系统外的声音再现系统的适应性。
本发明旨在改善所述状况。
为此,根据第一方面,本发明提出了一种用于对有待编码的要素的频谱成份进行排序的方法,这些成份产生于一个包括N个信号的声音场景,其中N>1,一个有待编码的要素包括与各个不同频带相关的频谱成份。
该方法包括以下步骤 -计算至少一些频谱成份的各自影响,可以根据产生于N个信号中的至少一些的频谱参数进行计算,根据所述频谱成份的编码基于频带上的遮噪比确定; -根据针对所述频谱成份所计算出的影响,与其他计算出的影响相比较,给至少一个频谱成份分配优先级次序。
因此,根据本发明的一种方法允许根据有待编码的要素的成份的整体声音质量来安排重要性次序。
在整个场景的有待编码的不同要素的不同频谱成份进行相互比较之后,构造一个二进制序列,关于它们对感知的整体声音质量的贡献进行相互比较。因此,为了将多个信号一起进行压缩,信号间的交互作用也因此得到考虑。
码流可以这样被排序,以使每一个速率的减少尽量小地降低3D声音场景的感知整体声音质量,因为根据它们对于整体声音质量水平的贡献,重要性最低的要素被检测,以便可以不把它们插入(当分配给该传输的速率不足以发送所有有待编码的要素的成份时)或者把它们置于二进制序列的末端(使得由于切断序列而产生的缺陷最小化成为可能)。
在一个实施例中,计算一个频谱成份的影响通过以下步骤进行 a-对根据第一速率编码的有待编码要素的频谱成份的第一集合进行编码; b-确定每个频带的第一遮噪比; c-确定比所述第一速率低的第二速率; d-删除有待编码的要素中的所述通常频谱成份,并对根据第二速率的有待编码的要素的剩余频谱成份进行编码; e-确定每个频带的第二遮噪比; f-根据对于每个频带的第一和第二速率的第一和第二遮噪比之间已确定的差别,计算遮噪比的变化; g-针对用于排序的有待编码的要素的频谱成份集合中的每一个频谱成份迭代步骤d到f,并确定最小遮噪比的变化;分配给符合最小变化的频谱成份的优先级次序作为最小优先级次序。
这样一个过程使得确定有待编码的要素的至少一个成份成为可能,根据对整体声音质量的贡献,与有待编码用于排序的要素的其它成份的集合相比,该成份的重要性最低。
在一个实施例中,针对用于排序的有待编码的要素的频谱成份集合再重复步骤a到g,所述集合通过删除已经分配优先级顺序的频谱成份而受到限制。
在另一个实施例中,针对用于排序的有待编码的要素的频谱成份集合再重复步骤a到g,其中已经分配优先级顺序的频谱成份在使用重叠量化器期间被分配了更低的量化值。
在一个实施例中,其中所述有待编码的要素包括对于N个信号计算的频谱参数。这些要素是例如被直接编码的信号的频谱成份。
在另一个实施例中,其中所述有待编码的要素包括通过对于N个信号计算的频谱参数进行空间变换所得到的要素,例如环绕声变换。一方面,这一安排使得减少要被发送的数据的数量成为可能,一般地,N个信号可以通过数量被减少的环绕声成份而得到很好地描述(例如,数量等于3到5),小于N。该安排还允许适配至任何类型的声音再现系统,因为它在解码侧采用大小为Q′x(2p′+1)的逆环绕声变换是足够的,(其中Q′等于在解码器输出端所使用的声音再现系统的喇叭数量,2p′+1等于所接收到的逆环绕声成份的数量),以用于确定提供给声音再现系统的信号,同时保证整体信号质量。
在一个实施例中,代替空间变换,使用其它线性变换例如KLT变换等。
在一个实施例中,根据因为编码以及与有待编码要素相关的误差,空间变换矩阵以及依据所述空间变换矩阵的变换,确定所述遮噪比。
在一个实施例中,有待编码的要素是环绕声成份,频谱成份中的一些是环绕声成份的频谱参数。该方法包括以下步骤 a.基于角度向量(angle vector)计算所述频谱成份中的至少一些的影响,所述角度向量根据与葛容准则(Gerzon criteria)相关的能量和速度向量(energy and velocity vectors)定义,并根据基于所述量化的环绕声成份的逆环绕声变换来计算; b.根据针对至少一个频谱成份所计算的影响与其它计算所得的影响,为所述至少一个频谱成份分配优先级顺序。
从而,根据本发明的方法使得,根据它们对于空间精度的贡献的重要性,对有待排序的集合的环绕声成份的至少一些频谱参数进行排序成为可能。
空间分辨率或空间准确度度量了声音源在空间中的位置的精细程度。增加的空间分辨率使声音对象在房间中的更精细定位成为可能,且使收听者头部周围更宽阔的恢复区域成为可能。
考虑信号之间的相互作用及其与空间准确度有关的后果,以将它们一起进行压缩。
码流可以这样被排序,以使每一个速率的减少尽量小地降低3D声音场景的感知整体声音质量,因为根据它们对于整体声音质量水平的贡献,重要性最低的要素被检测,以便把它们置于二进制序列的末端(使得由于切断序列而产生的缺陷最小化成为可能)。
根据该方法的一个实施例,使用与葛容准则的速度向量

和能量向量

有关的角度ξV和ξE,正如下文指出的,以便识别出有待编码的要素中哪些与所考虑的对于3D声音场景的空间精度的贡献最低程度相关。因此,与惯常手段相反,速度向量

和能量向量

并不用于优化所述声音再现系统。
在一个实施例中,计算频谱参数的影响是按照以下步骤实施的 a-对根据第一速率编码的有待编码的环绕声成份的频谱参数的第一集合进行编码; b-确定每个频带的第一角向量; c-确定比所述第一速率低的第二速率; d-删除有待编码的成份中的所述通常频谱参数,并对根据第二速率的有待编码的成份的剩余频谱参数进行编码; e-确定每个频带的第二角向量; f-根据对于每个频带的第一和第二速率的第一和第二角向量之间已确定的差别,计算角向量的变化; g-针对用于排序的有待编码的成份的频谱参数集合中的每一个频谱参数迭代步骤d到f,并确定最小角向量的变化;分配给符合最小变化的频谱参数的优先级次序作为最小优先级次序。
这一安排使得,通过有限次数的计算,确定所要确定的成份的频谱参数成为可能,其对于空间精度的贡献最小。
在一个实施例中,针对用于排序的有待编码的成份的频谱参数集合再重复步骤a到g,所述集合通过删除已经分配优先级顺序的频谱参数而受到限制。
在另一个实施例中,针对用于排序的有待编码的成份的频谱参数集合再重复步骤a到g,其中已经分配优先级顺序的频谱参数在使用重叠量化器期间被分配了更低的量化值。
这样一种迭代方法使得在还没有分配优先级顺序的环绕声成份的频谱参数中连续识别出那些对于空间精度的贡献最小的频谱参数成为可能。
在一个实施例中,能量向量的第一坐标符合函数公式

能量向量的第二坐标符合函数公式

速度向量的第一坐标符合函数公式

速度向量的第二坐标符合函数公式

其中Ti,i=1到Q,代表基于根据所考虑的速率的所述量化频谱参数的逆环绕声变换所确定的信号,ξi,i=1到Q是确定的角度。
在一个实施例中,角度向量的第一坐标表示该角度是速度向量的第二坐标的符号以及速度向量的第一坐标的反余弦的函数,并且,角度向量的第二坐标表示该角度是能量向量的第二坐标的符号以及能量向量的第一坐标的反余弦的函数。
根据本发明的第二方面,本发明提出了一种用于实施本发明第一方面的方法的排序模块。
根据本发明的第三方面,本发明提出了一种用于对在输出码流中包括N个不同信号的3D声音场景进行编码的音频编码器,其中N>1,该编码器包括 -变换模块,用于根据N个信号确定与各个频带相关的频谱成份; -根据本发明第二方面所述的排序模块,用于对与各个频带相关的频谱成份中的至少一些进行排序; -用于构造二进制序列的模块,根据所述排序模块执行的排序,用于构造二进制序列,所述序列包括指示与各个频带相关的频谱成份的数据。
根据本发明的第四方面,本发明提出了一种计算机程序,用于安装在排序模块中,在通过所述模块的处理装置执行该程序过程中,所述程序包括用于执行根据本发明第一方面所述方法的指令。
根据本发明的第五方面,本发明提出了一种用于解码码流的方法,该码流根据本发明的第一方面所述的方法进行编码,以确定用于通过Q′个喇叭还原3D声音场景的Q′个声音信号,该方法包括 -接收二进制序列; -抽取编码数据,并且,根据所抽取的数据,确定针对Q′个通道的与各个频带相关的参数集合; -根据每个参数集合,确定至少一个信号帧。
根据本发明的第六方面,本发明提出了一种解码器,用于解码根据本发明的第一方面的方法进行编码的码流,以确定用于通过Q′个喇叭还原3D声音场景的Q′个声音信号,该解码器包括用于执行根据本发明的第四方面所述的方法的步骤的装置。
根据本发明的第七方面,本发明提出了一种安装在解码器中的计算机程序,用于解码根据本发明的第一方面所述的方法进行编码的码流,以确定用于通过Q′个喇叭还原3D声音场景的Q′个声音信号,在通过所述解码器的处理装置执行该程序过程中,所述程序包括用于执行根据本发明第四方面所述方法的指令。
根据本发明的第八方面,本发明提出了一种二进制序列,包括与产生于包括N个信号的声音场景中的待编码的要素的各个频带相关的频谱成份,其中N>1,其特征在于,这些频谱成份中的至少一些是根据本发明的第一方面所述的排序方法进行排序的。
本发明的其它特点和优点将通过下面的描述变得更加清晰。这是示例性的,并且必须借助于参照相关附图,其中 -

图1表示本发明的一个实施例中的编码器; -图2表示本发明的一个实施例中的解码器; -图3表示空间中的一个平面波的传播; -图4的流程图表示本发明的一个实施例中的第一处理Proc1的各个步骤; -图5a表示本发明的一个实施例中构造的二进制序列; -图5b表示本发明的另一个实施例中构造的二进制序列Seq; -图6的流程图表示本发明的一个实施例中的第二处理Proc2的各个步骤; -图7表示一个包括8个喇叭h1,h2...,h8的声音再现系统的构造示例; -图8表示一个处理流程; -图9表示一个第二处理流程; -图10表示一个第三处理流程; -图11的流程图表示本发明的一个实施例中的方法Proc的各个步骤。
图1表示本发明的一个实施例中的音频编码器。
编码器1包括时间/频率变换模块3,屏蔽曲线计算模块7,空间变换模块4,用于定义有待编码的最低程度相关要素的模块5,其与量化模块10相连,用于对要素进行排序的模块6,用于构造二进制序列的模块8,用以传输码流Φ。
一个包括N个通道的3D场景,在每个通道上分别传输信号S1,...,SN。
图2表示本发明的一个实施例中的解码器100。
解码器100包括二进制序列读取模块104,逆量化模块105,逆环绕声变换模块101,以及频率/时间变换模块102。
解码器100用于在输入端接收由编码器1发送的码流Φ,并且在输出端输出Q′个信号S′1,S′2,...,S′Q′,用于输入到声音再现系统103的Q′个喇叭H1,H2...,HQ′。
每个喇叭Hi,i=1到Q′与一个表示来自喇叭的传播的角度βi相关。
在编码器侧执行的处理 编码器1的时间/频率变换模块3在其输入端接收有待编码的3D声音场景的N个信号S1,...,SN。
每个信号Si,i=1到N,由3D场景的声波的声音全向压力(omnidirectional pressure)Pi以及传播角度θi表示。
在每个信号的每个时间帧上,这些时间帧表示由声音压力Pi的随时间变化所取的不同值,时间/频率变换模块3进行时间/频率变换,在当前情况下,进行改进的离散余弦变换(modified discrete cosine transform,MDCT)。
从而对于每个信号Si,i=1到N,可以确定其频谱表示为Xi,用M个MDCT变换系数X(i,j)表征,其中j=0到M-1。因此,MDCT系数表示频带Fj的信号Si的频谱。
信号Si,i=1到N,的频谱表示Xi,被提供到空间变换模块4的输入端,该模块还在其输入端接收表征输入信号Si的声音传播角度θi。
信号Si,i=1到N,的频谱表示Xi,还被提供到屏蔽曲线计算模块7的输入端。
屏蔽曲线计算模块7用于确定每一个单独的信号Si的屏蔽曲线,通过使用其频谱表示Xi以及心理声学模型(psychoacoustic model),其为每一个频谱表示Xi的每一个频带Fj,j=0到M-1,提供了一个屏蔽水平(masking level)。这些屏蔽曲线的定义要素被传送到用于定义有待编码的最小程度相关要素的模块5。
空间变换模块4用于对所提供的输入信号进行空间变换,也就是,确定来自空间参考系统发射的信号的空间成份,依赖于变换的次序。空间变换的顺序与“搜索”声域的角频率相关。
在一个实施例中,空间变换模块4执行环绕声变换,给出了3D声音场景的紧凑空间表示(compact spatial representation),通过在相关球形或者圆柱形谐函数上制造声域的声音发射。
为了获取更多关于环绕声变换的信息,可以参考以下文献“Représentation dechamps acoustiques,application àla transmission et àla reproduction de scènessonores complexes dans un contexte multimédia”(声场的表示方法,应用多媒体环境下的复杂声音场景的传播与重现),Doctoral Thesis of the University of Paris 6,

DANIEL,31 July 2001,″A highly scalable spherical microphone arraybased on an orthonormal decomposition of the sound field″(基于声场的正交分解的高级球星扩音器排列),Jens Meyer-Gary Elko,Vol.II-pp.1781-1784 in Proc.ICASSP 2002。
参考图3,以下公式给出了应用于在声场的信号Si的无限阶圆柱形谐波的分解公式
其中(Jm)表示贝塞尔函数(the Bessel functions),r表示从帧中央到位于点M的听者的位置的距离,Pi是信号Si的声音压力,θi是与信号Si相应的声波的传播角度,φ是听者位置与帧的轴线之间的夹角。
如果环绕声变换是p阶(p表示任何一个正整数),对于2D环绕声变换(在水平面上),则对于在时域中表示的信号Si的环绕声变换包括以下2p+1个成份 (Pi,Pi.cosθi,Pi.sinθi,Pi.cos2θi,Pi.sin2θi,Pi.cos3θi,Pi.sin3θi,...,Pi.cospθi,Pi.sinpθi). 在下文中,已经考虑了2D环绕声变换。然而,本发明可以在3D环绕声变换的情况下实施(在这种情况下,考虑听众按照球面排列)。
在频域中考虑环绕声成份Ak,k=1到Q=2p+1,每一个都包括M个频谱参数A(k,j),j=0到M-1,分别与频带Fj相关,以使得 如果矩阵A包括产生于信号Si,i=1到N的p阶的环绕声变换的成份Ak,k=1到Q,Amb(p)是环绕声对于空间声场的p阶的环绕声变换矩阵,X是信号Si,i=1到N的频率成份的矩阵,那么 Amb(p)=[Amb(p)(i,j)],其中i=1到Q,并且j=1到N,其中Amb(p)(1,j)=1, 如果i是偶数, 如果i是奇数,即 且 这样我们可以得到A=Amb(p)xX等式(1). 空间变换模块4用于确定矩阵A,根据其输入端收到的数据X(i,j)及θi(i=1到N,j=0到M-1)使用等式(1)。
考虑到一种特殊情况,环绕声成份Ak,k=1到Q,也就是矩阵A的参数A(k,j),k=1到Q且j=0到M-1,是有待被编码器1进行编码的二进制序列中的要素。
环绕声成份Ak,k=1到Q被传送到模块5,模块5用于定义量化的最低相关要素以及确定环绕声成份的排序。
用于定义量化的最低相关要素的模块5通过模块5的处理装置,用于执行第一算法和/或第二算法的操作,用以定义有待编码的最低相关要素并且对有待编码的要素进行彼此排序。
该有待编码的要素排序随后在构造将被传输的二进制序列的过程中使用。
第一算法包括用于执行如下文参考图4所述的过程Proc1的指令,当这些指令在模块5的处理装置上被执行时。
过程Proc1 过程Proc1的原理是计算至少一些频谱成份的相应影响,其可以根据产生于N个信号中的至少一些的频谱参数进行计算,基于根据对所述频谱成份的编码的在频带上确定的遮噪比(mask-to-noise ratios)。然后,根据对至少一个频谱成份计算的影响与其他成份计算的影响的比值,对所述至少一个频谱成份分配优先级顺序。
在一个实施例中,过程Proc1具体为 初始化 ·步骤1a 在该步骤中,定义第一速率D0=Dmax以及对于该速率D0在有待编码的要素A(k,j),(k,j)∈E0={(k,j)使得k=1到Q且j=0到M-1}之间分配的速率的一部分。在该分配期间分配到有待编码的要素A(k,j),(k,j)∈E0的速率(这些速率的总和dk,j|k=1到Q,j=0到M-1等于D0)被称为dk,j且对于(k,j)∈E0,δ0=mindk,j。
接着,有待编码的要素A(k,j),(k,j)∈E0,根据针对速率D0已定义的分配,通过量化模块10进行量化。
·步骤1b 接着,计算每个信号Si以及每个子带Fj的屏蔽量化误差(噪音)比(the ratio of the maskto the quantification error)(“遮噪比”″Mask to noise Ratio″或者MNR),其中i=1到N且j=0到M-1,其等于频带Fj中的信号Si的屏蔽功率除以与频带Fj中的信号Si相关的量化噪音(E(i,j))的功率。
为了实现这个步骤,有待编码的要素A(k,j)(k,j)∈E0的每个频带Fj中的量化误差b(k,j)首先由如下步骤确定的 b(k,j)=A(k,j)-A(k,j),其中A(k,j)是量化结果,然后对要素A(k,j)的量化求倒数(量化通常提供一个量化指数表示在字典中量化的要素值,量化倒数提供了根据量化指数进行量化的要素的值)。
然后,确定针对每个信号Si在每个频带Fj中的量化误差E(i,j),其中i=1到N且j=0到M-1,根据速率D0下的有待编码的要素的量化值,通过计算包括要素E(i,j)的矩阵E 等式(2) 其中Q=2p+1,Amb(p)是p阶的环绕声变换矩阵,并且

并且
然后,根据因此计算所得的相对于频带Fj中的信号Si的量化噪音E(i,j),以及屏蔽计算模块7提供的频带Fj中的信号Si的屏蔽,确定针对每个信号Si以及每个子带Fj的屏蔽量化误差比,其中i=1到N且j=0到M-1。
MNR(0,D0)指的是矩阵,矩阵MNR(0,D0)的元素(i,j),i=1到N且j=0到M-1,表示之前执行的量化步骤中的频带Fj以及信号Si的屏蔽量化误差比。
在描述过程Proc1的第一次迭代之前,下面将给出等式(2)是如何确定的。
图8表示处理流程200,包括p阶的环绕声变换模块201(类似于图1中的p阶的环绕声变换模块4),接着是p阶的逆环绕声变换模块202。p阶的环绕声变换模块201在其输入端接收信号S1,...,SN的频谱表示X1,...,XN,在这些信号上执行p阶的环绕声变换,将所获得的环绕声信号A1到AQ传输至p阶的逆环绕声变换模块202,该模块输出N个不同的听觉压力信号∏i,i=1到N。
接着,我们有其中Amb(p)是p阶环绕声变换矩阵,而AmbInv(p)是p阶逆环绕声变换矩阵(也叫作环绕声解码矩阵)。
图9表示处理流程210,包括p阶环绕声变换模块201,接着是量化模块203,然后是逆量化模块204,以及p阶逆环绕声变换模块202。在处理流程210的输入端p阶环绕声变换模块201在输入端接收信号S1,...,SN的频谱表示X1,...,XN,并输出获得的环绕声信号A1到AQ,这些信号被提供到量化模块203的输入端。信号A1,...,AQ是通过逆量化模块204输出到逆环绕声变换模块202的信号,它们来自对量化模块203输出的信号所进行的逆量化。Q阶逆环绕声变换模块202输出N个不同的听觉压力信号∏’i,i=1到N。
图9中的处理流程210提供了与图10中的处理流程211相同的输出听觉压力∏’i,其中p阶环绕声变换模块201被置于逆量化模块204以及p阶逆环绕声变换模块202之间。在处理流程211中,在处理流程211的输出端,量化模块203在其输入端接收频谱表示X1,...,XN,对其进行量化,并将该量化结果输出到逆量化模块204,该模块输出N个信号X1,...,XN。这些信号X1,...,XN接着被提供到被级联设置的环绕声变换模块以及环绕声逆变换模块201和202。p阶逆环绕声变换模块202输出N个不同的听觉压力信号∏’i,i=1到N。
然后我们可以写成 设 并且, 这样我们可以据此推出E=(AmbInv(p)×Amb(p))-1AmbInv(p)×B. 如果环绕声解码矩阵与具有普通喇叭的系统相应,我们有(事实上,N个量化误差E或B仅仅依赖于所执行的编码而不依赖于解码。根据所使用的解码矩阵,在解码侧将发生的对应于所使用的喇叭的系统的变化,在于在喇叭间分配误差的方式。这取决于所使用的心理声学没有考虑信号间的干扰。因此,如果计算是针对明确定义的解码矩阵进行的,并且量化模块优化了针对该矩阵的误差,那么对于其它解码矩阵,该误差是次优的)。
因此从中推出等式(2)。
回到对于图4的描述。
第1次迭代 ·步骤1c 现在定义第二编码速率D1,其中D1=D0-δ0,以及该编码速率D1在有待编码的要素A(k,j),k=1到Q且j=0到M-1间的分配。
·步骤1d 然后,对于每个配对(k,j)∈E0,根据E0的配对的词典编纂的(lexicographical)读取顺序,连续地考虑从配对(1.0)直到配对(Q,M-1),重复以下操作a1到a7 a1-对于操作a2到a5认为子带(k,j)被删除; a2-有待编码的要素A(i,n)((i,n)等于除了配对(k,j)之外的每个E0配对)被量化模块10量化,其中(i,n)∈E0\(k,j),根据在所述有待编码的要素A(i,n)之间的对速率Di的已定义的分配,其中(i,n)∈E0\(k,j); a3-与步骤1b中所示的方法相同,基于产生于步骤a2中执行的量化操作的要素A(i,n),(i,n)∈E0\(k,j),计算矩阵MNRk,j(1,D1)=[MNRk,j(1,D1)(i,t)]i=1到N且t=0到M-1,这样每个矩阵的元素MNRk,j(1,D1)(i,t)表示对于每个信号和每个子带的屏蔽量化误差(或噪音)比,其中i=1到N且t=0到M-1,遵循在步骤a2中执行的量化(所考虑的子带(k,j)被删除,量化噪音b(k,j)在计算时被认为是0)。矩阵MNRk,j(1,D1)的元素的取值被保存; a4-接着,计算并存储屏蔽量化误差比的变化矩阵ΔMNRk,j(1),ΔMNRk,j(1)=|MNRk,j(1,D1)-MNRk,j(0,D0)|,其中MNRk,j(0,D0)是指示其要素(k,j)已被删除的矩阵MNR(0,D0)。
a5-计算矩阵ΔMNRk,j(1)的范数(norm)||ΔMNRk,j(1)||。该范数的值评价了在信号Si的信噪比的集合上,在有待编码的要素A(i,n)中删除成份A(k,j)的影响,其中(i,n)∈E0。
计算的范数使得测量MNRk,j(1,D1)和MNRk,j(0,D0)之间的差别成为可能,例如等于矩阵ΔMNRk,j(1)的每个要素的平方的和的均方根。
a6-考虑子带(k,j)不再被删除; a7-如果(k,j)≠max E0=(Q,M-1),在E0中增大配对(k,j),并且步骤a1到a7被再重复直到达到max E0。
·步骤1e 根据当(k,j)∈E0时获得的||ΔMNRk,j(1)||值中的最小值,确定(i1,j1),也就是 有待编码的要素A(i1,j1)因此被识别为在有待编码的要素A(i,j)集合中的针对总体声音质量的最小相关要素,其中(i,j)∈E0。
·步骤1f 配对(i1,j1)的标识符被输出到排序模块6,作为过程Proc1的第一迭代的结果。
·步骤1g 在过程Proc1的剩余过程中,在有待编码的要素集合中删除频带(i1,j1)。得到集合E1=E0\{(i1,j1)}。
第2次迭代及后续 针对每个n,执行与步骤1c到1g相似的步骤,其中n≥2,在下面进行描述。
步骤1c定义第(n+1)个编码速率Dn,其中Dn=Dn-1-δn-1,以使δn-1=min(dij),其中(i,j)∈En-1。
步骤1d接着,对于每个配对(k,j)∈En-1,根据词典编纂的顺序,连续地考虑,重复以下操作a1到a7 a1-对于操作a2到a5认为子带(k,j)被删除; a2-有待编码的要素A(i,n)被量化模块10量化,其中(i,n)∈En-1\{(k,j)},根据在所述有待编码的要素A(i,n)之间的对速率Dn的分配,其中(i,n)∈En-1\{(k,j)}; a3-基于根据步骤a2中的量化所确定的要素A(i,n),(i,n)∈En-1\{(k,j)},计算矩阵MNRk,j(n,Dn),其表示对于每个信号和每个子带的屏蔽量化误差(或噪音)比,其中i=1到N且j=0到M-1,遵循在步骤a2中执行的量化; a4-接着,计算并存储屏蔽量化误差比的变化矩阵ΔMNRk,j(n)=|MNRk,j(n,Dn)-MNRk,j(n-1,Dn-1)|,其中MNRk,j(n-1,Dn-1)对应于指示要素(k,j)已被删除的矩阵MNR(n-1,Dn-1),以及矩阵ΔMNRk,j(n)的范数||ΔMNRk,j(n)||。该范数的值评价了在信号Si的信噪比的集合上,在有待编码的要素A(i,n)中删除成份A(k,j)的影响,其中(i,n)∈En-1\{(k,j)}。
a5-认为子带(k,j)不再被删除; a6-如果(k,j)≠maxEn-1,在En-1中增大配对(k,j),并且步骤a1到a6被再重复直到达到maxEn-1。
·步骤1e 根据当(k,j)∈En-1时获得的||ΔMNRk,j(n)||值中的最小值,确定(in,jn),也就是矩阵也被存储。
有待编码的要素A(in,jn)因此被识别为在有待编码的要素A(i,j)集合中的针对总体声音质量的最小相关要素,其中(i,j)∈En-1。
·步骤1f 配对(in,jn)的标识符被输出到排序模块6,作为过程Proc1的第一迭代的结果。
·步骤1g 在过程Proc1的剩余过程中,在有待编码的要素集合中删除频带(in,jn)。得到集合En=En-1\{(in,jn)}。
过程Proc1被再迭代r次,最大为Q*M-1次。
然后,由排序模块6将优先级次序分配给不同的频带,以便将编码数据插入到二进制序列中。
对有待编码的要素进行排序并构造二进制序列 基于由过程Proc1的连续迭代所提供的连续性的结果 在一个实施例中,有待编码的要素的排序是通过排序模块6进行的,仅仅基于模块5执行的为了定义有待编码的最小相关要素而由处理步骤Proc1的连续重复所连续提供的结果,排除了处理步骤Proc2所提供的结果,后者确定了所述有待编码要素的次序,反映了涉及总体声音质量的有待编码的重要性。
参考图5a,对应于配对(i1,j1)的有待编码的要素A(i1,j1)在Proc1的第一次重复过程中,被认为是与总体声音质量最小相关。它因此被模块5分配了一个最小优先级指数Prio1。
对应于配对A(i2,j2)的有待编码的要素在Proc1的第二次重复过程中,被认为是与总体声音质量最小相关,在分配了优先级Prio1之后。它因此被分配了一个最小优先级指数Prio2,其中Prio2>Prio1。当步骤的迭代次数r严格小于Q*M-1时,排序模块6因此连续地确定r个有待编码的要素,每个要素被分配的优先级指数从Prio1,Prio2增加到Prio r。在处理步骤Proc1中还没有被分配优先级次序的有待编码的要素对于总体声音质量比已经分配了优先级次序的有待编码的要素的重要程度更高。
当r等于Q*M-1次时,所有有待编码的要素被一个接一个地排序。
在此情况下,过程Proc1所进行的迭代次数被认为是等于Q*M-1次。
分配给有待编码的要素A(k,j)的优先级次序同样被分配给产生于该有待编码的要素的量化的已被编码的要素A(k,j)。
用于构造二进制序列的模块8构造了一个二进制序列,与每个信号Si的帧相应,其中i=1到N,通过连续地对已被编码的要素A(k,j)求积分,减小分配的优先级指数的次序,码流Φ中的二进制序列将被发送。
这样,构造的二进制序列按照模块6执行的排序步骤被排序。
二进制序列被与各个频带相关的频谱成份构造,这些成份是产生于一个包括N个信号的声音场景的有待编码的要素中的,其中N>1,并且根据在频带上确定的对于遮噪比的影响进行排序。
二进制序列的频谱成份例如是根据本发明中的方法进行排序的。
在一个实施例中,在包括在构造的二进制序列中的仅仅一些频谱成份使用依据本发明的方法进行排序。
在上述实施例中,对于算法Proc1的每一次迭代,都要从有待编码的要素A(i,j)中删除一个频谱成份。
在另一个实施例中,使用了重叠量化器用于执行量化操作。在这种情况下,一个已被识别的有待编码的要素A(i0,j0)中的频谱成份没有被删除,但是该成份的编码被分配了一个减小了的速率,至于有待编码的要素中的其它频谱成份仍然要被排序。
编码器1是一个考虑不同单频信号间的干扰的因而允许速率适配性的编码器。它允许定义压缩数据对感知总体声音质量进行优化。
对二进制序列的要素的排序与二进制序列的构造使用了上述的本发明实施例中的Proc1,其中有待编码的要素包括信号的环绕声成份。
在另一个实施例中,根据本发明的一个编码器没有对这些环绕声成份进行编码,而是对信号Si的频谱系数X(i,j)进行编码,其中j=0到M。
在这种情况下,在过程1的第一次重复时,例如最小优先级指数(在剩余的有待编码的要素中的最小值)被分配给有待编码的要素,这样删除频谱成份就引起了遮噪比的最小变化。接着,过程Proc1被重复。
处理步骤Proc2 葛容准则一般被用于表征虚拟声源的位置,通过合成从一个已知声音表现系统的喇叭中还原的信号。
这些准则基于研究声压的速度和能量向量,该声压通过使用一个声音表现系统而产生。
当一个声音表现系统包括L个喇叭时,通过这些喇叭产生的信号Si,i=1到L,通过一个声压Ti以及一个声音传播角度ξi定义。
然后速度向量

被这样定义 存在一对极坐标(rV,ξV)以使 等式(3) 能量向量

被定义为 存在一对极坐标(rF,ξF)以使 等式(4) 为定位适宜的虚拟声源所需要的条件通过寻找角度ξi而确定,表征所述声音表现系统的喇叭的位置,符合以下所述葛容准则,其中 -准则1,与低频下的声源S的声音图像的精度有关ξV=ξ;;其中ξ是寻求获得的真正声源S的传播角度。
-准则2,与低频下的声源S的声音图像的稳定性有关rV=1; -准则3,与高频下的声源S的声音图像的精度有关ξE=ξ; -准则4,与高频下的声源S的声音图像的稳定性有关rE=1; 在下面描述的本发明的一个实施例的操作中,使用了葛容向量(Gerzonvector),除了包括寻找表示所述声音表现系统的喇叭位置的最佳角度ξi。
葛容准则基于研究声压的速度和能量向量,该声压通过使用一个声音表现系统而产生。
等式3和4中所示的关于能量和速度向量的与葛容准则相关的每个系数xV,yV,xE,yE都是[-1,1]的元素。因此存在一个简单的配对(ξV,ξE)验证以下等式,符合理想的情况(rV,rF)=(1,1) 且 该简单配对中的角度ξV和ξF因此被以下等式定义(等式(5)) 此后,一般的葛容角度向量术语将用于指代向量

以使 第二算法包括用于执行的指令,当它们在模块5的处理装置上执行时,参考图6下面描述的过程Proc2的步骤的指令。
过程Proc2的原理如下对一个要被排序的频谱参数集合中的每一个频谱参数,计算其对于一个角度向量的影响,该角度向量根据与葛容准则相关的能量与速度向量而被定义,并根据一个对于所述量化环绕声成份的逆环绕声变换而被计算。此外,对至少一个频谱参数分配优先级次序,根据一个对所述频谱参数所计算的影响与其它计算的影响相比较。
在一个实施例中,过程Proc2具体如下所述 初始化(n=0) ·步骤2a 一个速率D0=Dmax以及在有待编码的要素A(k,j)间分配的该速率被定义,其中(k,j)∈E0={(k,j)以使k=1到Q且j=0到M-1}。
在该初始分配中分配给有待编码的要素的速率被定义为dk,j(这些速率的和dk,j|i=1到Q,j=0到M-1等于D0),并且δ0=min dk,j,其中(k,j)∈E0。
·步骤2b 然后,每个有待编码的要素A(k,j)被量化模块10根据已经在步骤2a中被分配的速率dk,j进行量化,其中(k,j)∈E0。
A是要素A(k,j)的矩阵,其中k=1到Q且j=0到M-1。每个要素都是量化的结果,环绕声成份A(k)的参数A(k,j)的速率dk,j与频带Fj有关。因此要素A(k,j)定义了对于所述环绕声成份Ak的频带Fj的频谱表示的量化值。
·步骤2c 然后,这些被量化的环绕声成份A(k,j)(k=1到Q且j=0到M-1)被进行p阶的环绕声解码,以使2p+1=Q,并且与一个具有N个喇叭的规则系统相符合,目的是确定作为该环绕声解码的结果而获取的声音信号的声压T1i,i=1到N。
在所属情况下,AmbInv(p)是p阶逆环绕声变换矩阵(或者p阶环绕声解码),输出与N个不同的喇叭H′1,...,H′N相应的N个信号T11,...,T1N,这些喇叭围绕一个点规则地安装。结果,矩阵AmbInv(p)通过矩阵Amb(p,N)的变换推导而来,矩阵Amb(p,N)是来自于声音场景的编码的环绕声编码矩阵,该场景由与N个喇叭H′1,...,H′N相应的N个声源定义,这些喇叭分别置放在位置ξ1,...,ξN。因此我们可以得到 T1是与频带Fj(j=0到M-1)相关的信号T1i(i=1到N)的频谱成份的矩阵。这些频谱成份来自p阶环绕声逆变换,应用于量化环绕声成份A(k,j),k=1到Q且j=0到M-1。
接着我们有 等式(6) 这样成份T1(i,j)(i=1到N)取决于与所述环绕声成份A(k,j)(k=1到Q且j=0到M-1)的量化相关的量化误差(事实上,每一量化要素都是有待量化的环绕声成份的频谱参数以及与所述参数相关的量化噪音的和)。
对每一频带Fj,j=0到M-1,使用等式(5),接着在过程Proc2(n=0)的初始化时计算一般葛容角度向量

根据一个由下面的环绕声解码(其由i=1到N)所确定的频谱成份T1(i,j)(i=1到N且j=0到M-1)。
从而确定 需要指出,这里的环绕声解码矩阵已经被考虑用于一个规则声音表现装置,其中包括与输入信号数目相等的喇叭,以使对于环绕声解码矩阵的计算简单。然而,该步骤对于一个与不规则声音表现装置相应的环绕声解码矩阵,以及与输入信号数目不相等的喇叭也可以实现。
第1次迭代(n=1) ·步骤2d 速率D1=D0-δ0以及在有待编码的要素A(k,j)间分配的该速率D1被定义,其中(k,j)∈E0。
·步骤2e 然后,每个有待编码的要素A(k,j)被量化模块10根据已经在步骤2d中分配的速率dk,j进行量化,其中(k,j)∈E0。
A是量化要素A(k,j)的更新矩阵,其中(k,j)∈E0,每个都来自于根据参数A(k,j)的总体速率D1的最后一次量化。
·步骤2f 以与前述步骤2c中相似的方式,在根据对于总体速率为D1的要素执行的p阶新环绕声解码计算之后,对于过程Proc2的第一次迭代,对于每个频带Fj计算其中的第一一般葛容角度向量

根据从上述新环绕声解码确定的频谱成份T1(i,j)(i=1到N,j=0到M-1),使用等式(6)。
接着对于向量

进行计算,该向量等于在初始化步骤2c中计算的葛容角度向量

与在第1次迭代的初始化步骤2f中计算的一般葛容角度向量

之间的差j=0到M-1。
·步骤2q 计算每一频带Fj中的变化到M-1的范数
该范数表示在每一频带Fj的速率从D0到D1的下降时一般葛容角度向量的变化。
频带

的指数j1这样被确定,以使在频带

中计算的葛容角度变化的范数

小于或者等于对于每个频带Fj(j=0到M-1)计算的每个范数

我们因此可以得到 ·步骤2h 现在考虑相对于频带

的环绕声成份的频谱参数,也就是参数A(k,j1),其中k∈F0=[1,Q]。
对任何一个所述i∈F0,都从1到Q依次重复下面的步骤2h1到2h5 2h1-认为对于步骤2h2到2h4都删除子带(i,j1);因此,可以认为A(i,j1)为0并且相应的量化要素A(i,ji)为0; 2h2-以与前述步骤2c相似的方式,在根据对于总体速率为D1(A(i,ji)为0)的要素执行的p阶环绕声解码计算之后,在频带

中确定一般葛容角度向量根据所述环绕声解码确定的频谱成份T1(i,j)(i=1到N,j=0到M-1),使用等式(6)。
2h3-接下来计算向量

该向量代表频带

中的上述计算的一般葛容角度向量以及在上述第1次迭代的步骤2f中计算的一般葛容角度向量

之间的差别然后,计算向量

的范数 该范数代表对于速率D1频率环绕声成份A(i,j1)被删除时,频带

中的一般葛容角度向量的变化。
2h4-如果i≠max F0,则认为子带(i,j1)不再被删除,并且我们转到步骤2h5。如果i=max F0,认为子带(i,j1)不再被删除,并且我们转到步骤2i。
2h5-在集合F0中增加i,且重复步骤2h1到2h4,直到i=max F0. 因此对于每一i∈F0=[1,Q],可以获得Q个一般葛容角度变化值
·步骤2i 对于每一个i∈F0=[1,Q],互相比较

的值,确定这些值中的最小值,并且确定相应于最小值的指数in∈Fn,也就是。
因此成份A(i1,j1)被标识为有待编码的要素中对于空间精度的重要性最低的成份,相比于其它有待编码的要素A(k,j),(k,j)∈E0。
·步骤2j 对于每个频带Fj,重新定义并计算针对速率D1的来自于第1次迭代的一般葛容角度向量
如果j∈
\{j1}; 如果j=j1. 该重新定义的一般葛容角度向量,针对等于D1的量化速率建立,考虑到有待编码要素A(i1,j1)的删除,并且将被用于下面的过程Proc2的重复。
·步骤2k 配对(i1,j1)的标识符被传送到排序模块6,作为过程Proc2的第一次迭代的结果。
·步骤2m 然后,有待编码要素A(i1,j1)被从过程Proc2中的剩余部分的有待编码的要素集合中删除。
定义序列E1=E0\(i1,j1)。
定义δ1=min dk,j,其中(k,j)∈E1。
在过程Proc2的第二次迭代中,重复与上述步骤2d到2n相似的步骤。
过程Proc2被根据需要尽可能多地重复,以对剩余的要排序的有待编码的要素A(k,j),(k,j)∈E1中的一些或者所有进行排序。
因此,上述步骤2d到2h被进行第n次重复。
第n次迭代(n>1) En-1=E0\{(i1,j1),...,(in-1,jn-1)}。
有待编码的要素A(k,j)(其中(k,j)∈E0\En-1)已经在前一次迭代的步骤2m中被删除。
·步骤2d 速率Dn=Dn-1-δn-1以及在有待编码的要素A(k,j)间分配的该速率Dn被定义,其中(k,j)∈En-1。
在下面进行的计算环绕声解码的过程中,认为被量化的要素A(k,j)(其中(k,j)∈E0\En-1)为0。
·步骤2e 然后,每个有待编码的要素A(k,j)被量化模块10根据已经在上述步骤2d中分配的速率进行量化,其中(k,j)∈En-1。
该有待编码的要素A(k,j)的量化结果为A(k,j),(k,j)∈En-1。
·步骤2f 以与前述第1次迭代中相似的方式,在根据对于总体速率为Dn的要素执行的p阶环绕声解码计算之后(因此认为在该环绕声解码期间成份A(i1,j1),...,A(in-1,jn-1)为0),对于过程Proc2的第n次重复,对于每个频带Fj计算其中的第一一般葛容角度向量

根据从上述环绕声解码确定的频谱成份T1i,i=1到N,使用等式(6)。
接着对于向量

进行计算,该向量等于在第n-1次迭代的步骤2j中计算的葛容角度向量

与在当前步骤中计算的一般葛容角度向量

之间的差j=0到M-1。
·步骤2g 计算每一频带Fj中的变化到M-1的范数
该范数表示在每一频带Fj的速率从Dn到Dn-1的下降时一般葛容角度向量的变化(参数A(i1,j1),...,A(in-1,jn-1)以及A(i1,j1),...,A(in-1,jn-1)被删除)。
频带

的索引jn这样被确定,以使在频带

中计算的葛容角度变化的范数

小于或者等于对于每个频带Fj(j=0到M-1)计算的每个范数

我们因此可以得到 ·步骤2h 现在考虑相对于频带

的环绕声成份的频谱参数,也就是参数A(k,jn),其中k∈Fn-1={i∈[1...,Q]以使(i,jn)∈En-1}。
对任何一个所述i∈Fn-1,从序列Fn-1中的最小元素(min Fn-1)到序列Fn-1中的最大元素(max Fn-1)依次重复下面的步骤2h1到2h5 2h1-认为对于步骤2h2到2h4都删除子带(i,jn);因此,可以认为A(i,jn)为0并且相应的量化要素A(i,jn)为0; 2h2-以与前述步骤2c相似的方式,在根据对于总体速率为Dn(A(i,jn)为0)的要素执行p阶环绕声解码计算之后,在频带

中确定一般葛容角度向量根据所述环绕声解码确定的频谱成份T1(i,j)(i=1到N,j=0到M-1),使用等式(6)。
2h3-接下来计算向量

该向量代表频带

中的上述步骤2h2计算的一般葛容角度向量以及在上述第n次迭代的步骤2f中计算的一般葛容角度向量

之间的差别然后,计算向量

的范数 该范数代表对于速率D1频率环绕声成份A(i,jn)在过程Proc 2的第n次迭代中被删除时,频带

中的一般葛容角度向量的变化。
2h4-如果i≠max Fn-1,则认为子带(i,jn)不再被删除,并且我们转到步骤2h5。如果i=max Fn-1,认为子带(i,jn)不再被删除,并且我们转到步骤2i。
2h5-在集合Fn-1中增加i,并且重复步骤2h1到2h4,直到i=max Fn-1. 因此对于每一i∈Fn-1,可获得值

其代表了因为成份A(i,jn)被删除时,在频带

中的一般葛容角度向量的变化。。
·步骤2i 对于每一个i∈Fn-1,互相比较

的值,确定这些值中的最小值,并且确定相应于最小值的指数i1∈Fn,也就是 因此成份A(in,jn)被标识为有待编码的要素中对于空间精度的重要性最低的成份,相比于其它有待编码的要素A(k,j),(k,j)∈En-1。
·步骤2j 对于每个频带Fj,重新定义来自于第n次迭代的一般葛容角度向量
若j∈
\{jn}; 若j=jn. 该重新定义的一般葛容角度向量,针对等于Dn的量化速率建立,考虑到有待编码的要素A(in,jn)的删除,并且将被用于下面的迭代。
·步骤2k 配对(in,jn)的标识符被传送到排序模块6,作为过程Proc2的第n次迭代的结果。
·步骤2m 然后,有待编码的要素(in,jn)被从过程Proc2中的剩余部分的有待编码的要素集合中删除,也就是有待编码的要素A(in,jn)被删除。
定义序列En=En-1\(in,jn)。有待编码的要素A(i,j)仍然要被排序,其中(i,j)∈En。有待编码的要素A(i,j),其中(i,j)∈{(i1,j1)...,(in,jn)},已经在第1到n迭代中被排序。
过程Proc2被重复r次,且最多为Q*M-1次。
然后,排序模块6将优先级指数分配给有待编码的要素,其目的在于将编码数据插入到二进制序列。
有待编码的要素的排序以及二进制序列的构造,基于过程Proc2的连续重复所提供的连续结果 在一个实施例中,基于由模块5所执行的过程Proc2的连续重复所提供的连续结果有待编码的要素由排序模块6执行排序,其中模块5用于定义有待编码的要素的最小相关要素,(排除由过程Proc1提供的结果),排序模块6定义了所述有待编码要素的顺序,其反映了与空间精度相关的有待编码要素的重要性。
参考图5b,与配对相应(i1,j1)的在过程Proc2的第1次迭代过程中所确定的有待编码的要素A(i1,j1)被认为是与空间精度最小相关的要素。因此,模块5分配了一个最小优先级指数Prio1。
在分配了优先级指数Prio1之后,与配对相应(i2,j2)的在过程Proc2的第二次迭代过程中确定的有待编码的要素A(i2,j2)被认为是与空间精度最小相关的要素。因此分配了一个最小优先级指数Prio2,其中Prio2>Prio1。因此,排序模块6连续为r个有待编码的要素中的每个都分配了逐渐增加的优先级指数Prio1,Prio2到Prio r。
在过程Proc2的重复过程中还没有被分配优先级次序的有待编码的要素比分配了优先级次序的有待编码的要素的有关空间精度的重要性更高。
当r等于Q*M-1次时,有待编码的要素集合被一个接一个地排序。
在上述情况下,可以认为执行的过程Proc2的迭代次数r的数目等于Q*M-1。
分配给有待编码的要素A(k,j)的优先级次序也被分配给已编码的要素,根据该有待编码要素的量化结果A(k,j)。与有待编码的要素A(k,j)相应的已编码要素同样表示为A(k,j)。
用于构造二进制序列的模块8构造一个与每个信号Si(i=1到N)的帧相应的二进制序列Seq,按照所分配的优先级指数逐渐降低,这些序列连续地整合成为已编码要素A(k,j),二进制序列成为待发送的码流Φ。
因此,组成的二进制序列Seq由模块6所执行的排序进行排序。
在上述实施例中,在过程Proc2中的每一次迭代时从有待编码的要素A(i,j)中删除一个频谱成份。
在另一个实施例中,一个重叠量化器被用于量化步骤。在这种情况下,在过程Proc2的迭代过程中被标识的关于空间精度的重要性最低的有待编码要素的频谱成份未被删除,但相对于有待排序的有待编码要素的其它频谱成份,对该成份的编码分配了一个减小的速率。
因此,编码器1是一个考虑到不同单频信号之间的干扰,而允许速率可适配性的编码器。它使得定义优化感知空间精度的压缩数据成为可能。
过程Proc1和Proc2的联合 在一个实施例中,有待编码的要素中重要性最低的要素通过使用了一个联合上述过程Proc1和Proc2的的方法的过程Proc的方法而得到定义,根据一个考虑到总体声音质量和空间相关性的标准。
过程Proc的初始化包括上述过程Proc1和Proc2的初始化。
现在结合图11对这样一个方法Proc的第n次迭代(n>1)进行描述,考虑第(n+1)个编码速率Dn,以及一个有待排序的有待编码的要素A(k,j)集合,其中(k,j)∈En-1。
基于使用了Proc1和Proc2的方法的方法Proc的前一次迭代,该速率以及该有待编码的要素集合在方法Proc的前一次迭代过程中被确定。根据所定义的标准,前一次迭代已经允许确定有待编码要素为最不重要的要素。
根据所需要的总体声音质量和空间精度,这些所定义的标准已经被建立。
平行地,过程Proc1的步骤1d和1e的重复是基于该有待排序的要素集合,确定与总体声音质量最小相关的有待编码的要素A(in1,jn1),并且过程Proc2的步骤2e和2i的重复是基于该有待排序的要素序列,确定与空间精度最小相关的有待编码的要素A(in2,jn2)。
根据所定义的标准,在步骤300中,两个所确定的有待编码要素中的一个或者两个被选择。这个或者每个被选择的有待编码的要素表示为A(in,jn)。
接着,另一方面,配对(in,jn)的一个或多个标识符被提供到排序模块6,作为过程Proc2的第n次迭代的结果,模块6根据已经定义的标准对其分配一个优先级Prion。该分配的优先级Prio n比在过程Proc的前一次迭代中根据已定义的标准为所选择的有待编码的要素所分配的优先级大。该步骤代替了如前所述的过程Proc1的步骤1f以及过程Proc2的步骤2k。
该被选择的有待编码的一个或多个要素接着被插入到将被发送的二进制序列,在方法Proc的前一次迭代过程中被选择的有待编码的要素之前(由于根据已定义的标准,有待编码的要素A(in,jn)的重要性比被过程Proc之前所选择的有待编码的要素的重要性更高)。该被选择的一个或多个有待编码的要素A(in,jn)被插入到将被发送的二进制序列,在集合En-1的其它有待编码的要素(由于根据已定义的标准,该有待编码的要素A(in,jn)的重要性比这些其它有待编码的要素的重要性更低)。
另一方面,在步骤301中,被选择用于方法Proc的下一次迭代(第n+1次迭代)(包括方法Proc 1和Proc 2的第n+1次迭代)的一个或多个有待编码的要素A(in,jn)被删除,并接着应用于有待编码的要素集合En=En-1\A(in,jn),基于一个如过程Proc1的步骤1g以及过程Proc 2的步骤2n中定义的被减小的速率。
该步骤301代替了如前所述的方法Proc1的步骤1g以及过程Proc 2的步骤2m。
该被定义的标准使得选择分别在方法Proc的步骤300中所标识出的一个或多个最小相关要素成为可能。
例如,在一个实施例中,由过程Proc1在每一次迭代n中所标识出的要素被删除,其中n为偶数,并且由过程Proc2在每一次迭代n时所标识出的要素被删除,其中n为奇数,这使得最佳程度地保持总体声音质量以及空间精度成为可能。
也可以使用其它标准。执行这样的方法Proc的一种编码使得获得一个关于声音质量以及空间精度的可适配速率的码流成为可能。
在解码侧所执行的操作 解码器100包括二进制序列读取模块104,逆量化模块105,逆环绕声变换模块101以及频率/时间变换模块102。
解码器100用于在输入端接收编码器1发送的码流Φ,并且在输出端输出Q′个信号S′1,S′2,...,S′Q′,用于提供给声音表现系统103的Q′个对应的喇叭H1,...,HQ′。在一个实施例中,喇叭的数目Q′可以与所发送的环绕声成份的数目Q不同。
作为示例,图7示出了一个包括8个喇叭h1,h2...,h8的声音表现系统的配置。
二进制序列读取模块104从所接收的二进制序列Φ中提取数据,该数据指示为要素所确定的A(k,j)(k=1到Q且j=0到M-1)的量化指数,并且将它们提供给逆量化模块105的输入端。
逆量化模块105执行逆量化操作。
确定要素A′(k,j),k=1到Q且j=0到M-1的要素矩阵A′,以使得当接收到的序列包括表示要素A(k,j)的量化指数时,A′(k,j)=A(k,j),其中A(k,j)来自于解码器的环绕声成份的参数编码A(k,j),以及当接收到的序列不包括表示要素A(k,j)的量化指数时(例如,这些数据已经在码流服务器侧被截断,以便适应网络的可适配速率和/或终端的特性),A′(k,j)=0。
逆空间变换模块101适于确定矩阵X′的元素X′(i,j),i=1到Q′,j=0到M-1,,该矩阵X’定义了Q′i个信号中的每一个S′i的M个频谱系数,i=1到Q′,j=0到M-1,,基于环绕声成份A′(k,j),其中k=1到Q且j=0到M-1,被逆量化模块105所确定。
AmbInv(p′,Q′)是对于3D场景的p’阶逆环绕声变换矩阵,用于确定Q′个信号S′i,i=1到Q′,用于与解码器100相关的声音表现系统的Q′个喇叭,基于接收到的Q个环绕声成份。角度βi,其中i=1到Q′,表示来自喇叭Hi的声音传播角度。在图7的示例中,这些角度对应于由喇叭所发出的声音的传播轴线与轴XX之间的角度。
X′是信号Si′(i=1到Q′)关于频带Fj(j=0到M-1)的频谱成份X′(i,j)的矩阵。这样 并且 并且我们有 X′=AmbInv(p′,Q′)×A′ 等式(7)。
逆空间变换模块101用于根据等式(7)确定矩阵X’的元素,频谱系数X′(i,j),i=1到Q′,j=0到M-1。
这些元素X′(i,j),i=1到Q′,j=0到M-1,一旦确定,就被发送到频率/时间变换模块102的输入端。
解码器100的频率/时间变换模块102基于接收到的频谱系数X′(i,j),i=1到Q′,j=0到M-1,将频率空间表示(the space of frequency representation)变换为时间空间表示(the space of time representation)(该变换在当前情况下为逆MDCT变换),并且,它可以因此确定Q′个信号S′1...,S’Q′中的每一个的时间帧。
每一个信号S′i,i=1到Q′,用于声音表现系统103的喇叭Hi。
在一个实施例中,由解码器执行的操作中的至少一些通过解码器处理装置的计算机程序指令执行。
对于来自前述信号S1,...,SN的环绕声变换的成份的编码的一个优点是,如果声音场景的信号数目N很大,它们可以通过一个比N小很多的Q个环绕声成份来表示,同时很小程度地降低信号的空间质量。需要发送的数据量因此而被减小,同时没有明显降低声音场景的声音质量。
根据本发明的编码的另一个优点在于,这样的编码可以适配于不同类型的声音表现系统,无论该声音表现系统提供的是何种数量、排列以及类型的喇叭。
事实上,接收包括Q个环绕声成份的二进制序列的解码器,后续可以执行任何阶次p’的逆环绕声变换的操作,并且与将使用被解码信号的声音表现系统的喇叭数目Q′相应。
编码器1执行的编码使得,利用第一过程Proc1根据有待编码的要素对声音质量的贡献,和/或利用第二过程Proc2根据有待编码的要素对空间精度以及在声音场景中包含的传播方向的正确再现的贡献,对有待编码的要素进行排序成为可能。
为了与所使用的速率限制相适应,完全可以截断在序列中排列的具有较低优先级次序的要素的序列。然后,可以保证提供最佳总体声音质量(当执行过程Proc1时)和/或最佳空间精度(当执行过程Proc2时)。事实上,对于要素的排序已经以这样的方式执行,即那些对于总体声音质量和/或空间精度贡献最小的要素被置于序列的末端。
为了确定一个二进制序列,过程Proc1和Proc 2可以根据各实施例彼此单独或者组合实施。
权利要求
1.一种用于对有待编码的要素(A1...,AQ)的频谱成份进行排序的方法,这些成份产生于一个包括N个信号(Sii=1到N)的声音场景,其中N>1,一个有待编码的要素包括与各个不同频带相关的频谱成份,其特征在于,该方法包括以下步骤
-计算至少一些频谱成份的各自影响,可以根据产生于N个信号中的至少一些的频谱参数进行计算,根据所述频谱成份的编码基于频带上的遮噪比确定;
-根据针对所述频谱成份所计算出的影响,与其他计算出的影响相比较,给至少一个频谱成份分配优先级次序。
2.根据权利要求1所述的方法,其特征在于,计算频谱成份的影响通过以下步骤进行
a-对根据第一速率编码的有待编码要素的频谱成份的第一集合进行编码;
b-确定每个频带的第一遮噪比;
c-确定比所述第一速率低的第二速率;
d-删除有待编码的要素中的所述通常频谱成份,并对根据第二速率的有待编码的要素的剩余频谱成份进行编码;
e-确定每个频带的第二遮噪比;
f-根据对于每个频带的第一和第二速率的第一和第二遮噪比之间已确定的差别,计算遮噪比的变化;
g-针对用于排序的有待编码的要素的频谱成份集合中的每一个频谱成份迭代步骤d到f,并确定最小遮噪比的变化;分配给符合最小变化的频谱成份的优先级次序作为最小优先级次序。
3.根据权利要求2所述的方法,其特征在于,针对用于排序的有待编码的要素的频谱成份集合再重复步骤a到g,所述集合通过删除已经分配优先级顺序的频谱成份而受到限制。
4.根据权利要求2所述的方法,其特征在于,针对用于排序的有待编码的要素的频谱成份集合再重复步骤a到g,其中已经分配优先级顺序的频谱成份在使用重叠量化器期间被分配了更低的量化值。
5.根据前述权利要求中任一项所述的方法,其中所述有待编码的要素包括对于N个信号计算的频谱参数。
6.根据前述权利要求中任一项所述的方法,其中所述有待编码的要素包括通过对于N个信号计算的频谱参数进行空间变换所得到的要素(A1...,AQ)。
7.根据权利要求6所述的方法,其特征在于,所述空间变换是环绕声变换。
8.根据权利要求6或7所述的方法,其特征在于,根据因为编码以及与有待编码要素相关的误差,空间变换矩阵以及依据所述空间变换矩阵的变换,确定所述遮噪比。
9.根据前述权利要求中任一项以及权利要求6所述的方法,一些频谱成份是环绕声成份的频谱参数,所述方法还包括以下步骤
a.基于角度向量计算所述频谱成份中的至少一些的影响,所述角度向量根据与葛容准则相关的能量和速度向量定义,并根据基于所述量化的环绕声成份的逆环绕声变换来计算;
b.根据针对至少一个频谱成份所计算的影响与其它计算所得的影响,为所述至少一个频谱成份分配优先级顺序。
10.一钟排序模块(5),包括用于执行根据前述权利要求中任一项所述方法的装置。
11.一种用于对在输出码流中包括N个不同信号的3D声音场景进行编码的编码器(1),其中N>1,该编码器包括
-变换模块(3,4),用于根据N个信号确定与各个频带相关的频谱成份;
-根据权利要求10所述的排序模块(6),用于对与各个频带相关的频谱成份中的至少一些进行排序;
-用于构造二进制序列的模块(8),根据所述排序模块执行的排序,用于构造二进制序列,
所述序列包括指示与各个频带相关的频谱成份的数据。
12.一种安装在排序模块(6)中的计算机程序,在通过所述模块的处理装置执行该程序过程中,所述程序包括用于执行根据权利要求1至9中任一项所述方法的指令。
13.一种二进制序列,包括与产生于包括N个信号的声音场景中的待编码的要素的各个频带相关的频谱成份,其中N>1,其特征在于,这些频谱成份中的至少一些是根据权利要求1至9中任一项所述的排序方法进行排序的。
全文摘要
本发明涉及一种用于对有待编码的要素(A1,...,AQ)进行排序的方法,这些要素产生于一个包括N个信号(Sii=1到N)的声音场景,其中N>1,一个有待编码的要素包括与各个频带相关的频谱成份,其特征在于,该方法包括以下步骤计算至少一些频谱成份的各自影响,这些成份可以通过产生于N个信号中的至少一些的频谱参数的函数进行计算,基于频带上的遮噪比确定,根据一个对于所述频谱成份编码的函数;分配至少一个频谱成份的优先级次序,通过一个函数比较计算出的所述频谱成份的影响与其它成份的影响。
文档编号G10L19/00GK101730832SQ200880022393
公开日2010年6月9日 申请日期2008年4月16日 优先权日2007年5月10日
发明者艾迪·莫辛, 拉蒂夫·杰隆·图伊米 申请人:法国电信
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1