音频声道空间转换转让专利

申请号 : CN03817877.X

文献号 : CN1672464B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马克·富兰克林·戴维斯

申请人 : 杜比实验室特许公司

摘要 :

使用一个M:N可变矩阵,将M个音频输入信号转换为N个音频输出信号,每个输入信号与一个方向相关联,以及每个输出信号与一个方向相关联,其中N大于M,M至少是2以及N为至少是3的正整数。响应于以下度量来控制可变矩阵:(1)输入信号的相对电平,和(2)输入信号的互相关,以便当输入信号高度相关时,所述输出信号所产生的声场在输入信号的标称前进基本方向的方向中具有紧凑的声像,随着相关度的减少该声像从紧凑到宽进行扩展,并随相关度继续减少到高度不相关,逐步分离成多个紧凑声像,每个在与输入信号相关联的方向中。

权利要求 :

1.一种用于将M个音频输入信号转换为N个音频输出信号的方法,每个输入信号与一个方向相关联,以及每个输出信号与一个方向相关联,其中N大于M,M至少是2而N为至少是3的正整数,该方法包括:提供一个M:N可变矩阵,

应用所述M个音频输入信号给所述可变矩阵,

从所述可变矩阵推导出所述N个音频输出信号,以及

响应于所述输入信号的以下度量来控制所述可变矩阵:(1)输入信号的相对电平,和(2)输入信号的互相关,使得当输入信号高度相关时,所述输出信号所产生的声场在输入信号的标称前进基本方向中具有紧凑的声像,随着相关度的减少该声像从紧凑到宽进行扩展,并随相关度继续减少到高度不相关,逐步分离成多个紧凑声像,每个在与一个输入信号相关联的方向中,其中为了度量具有第一范围内值的输入信号的互相关,该范围的界限是一个最大值和一个参考值,该声场当互相关的度量是所述最大值时具有紧凑的声像,当互相关的度量是所述参考值时它具有宽扩展声像,以及为了度量具有第二范围内值的输入信号的互相关,该范围的界限是所述参考值和一个最小值,该声场当互相关的度量是所述参考值时具有所述宽扩展声像,当互相关的度量是所述最小值时,具有多个紧凑声像,每个紧凑声像位于与一个输入信号相关联的方向中。

2.根据权利要求1所述的方法,其中所述M:N可变矩阵是一个具有可变系数的可变矩阵,或者是一个具有固定系数和可变输出的可变矩阵,其中通过改变可变系数或改变可变输出来控制所述可变矩阵。

3.根据权利要求1所述的方法,其中对于在每个输出中能量相同的情况,所述参考值是输入信号的互相关的一个度量值。

4.根据权利要求1所述的方法,其中输入信号的相对电平的度量响应于每个输入信号的平滑能量电平。

5.根据权利要求1或权利要求4所述的方法,其中输入信号的相对电平的度量是输入信号的标称前进基本方向。

6.根据权利要求1所述的方法,其中输入信号互相关的度量响应于输入信号的平滑公共能量除以以下值,所述值为每个输入信号的平滑能量电平的乘积的M次根,这里M是输入个数。

7.根据权利要求4或6所述的方法,其中通过可变时间常量时域平滑以获得每个输入信号的平滑能量电平。

8.根据权利要求4或6所述的方法,其中通过频域平滑和可变时间常量时域平滑以获得每个输入信号的平滑能量电平。

9.根据权利要求6所述的方法,其中通过交叉相乘输入幅度电平以获得输入信号的公共能量。

10.根据权利要求9所述的方法,其中通过可变时间常量时域平滑输入信号的公共能量以获得输入信号的平滑公共能量。

11.根据权利要求10所述的方法,其中通过可变时间常量时域平滑以获得每个输入信号的平滑能量电平。

12.根据权利要求9所述的方法,其中通过频域平滑和可变时间常量时域平滑输入信号的公共能量以获得输入信号的平滑公共能量。

13.根据权利要求12所述的方法,其中通过频域平滑和可变时间常量时域平滑以获得每个输入信号的平滑能量电平。

14.根据权利要求10、11、12和13中任何一项所述的方法,其中所述可变时间常量时域平滑通过具有固定时间常量和可变时间常量的平滑而执行。

15.根据权利要求10、11、12和13中任何一项所述的方法,其中所述可变时间常量时域平滑通过只具有可变时间常量的平滑而执行。

16.根据权利要求14所述的方法,其中所述可变时间常量是以步长变化的。

17.根据权利要求14所述的方法,其中所述可变时间常量是连续可变的。

18.根据权利要求14所述的方法,其中响应于输入信号的相对电平和它们的互相关的度量,以控制所述可变时间常量。

19.根据权利要求4所述的方法,其中通过用相同的时间常量来可变时间常量时域平滑每个输入信号的能量电平来获得每个输入信号的平滑能量电平。

20.根据权利要求1所述的方法,其中通过可变时间常量时域平滑获得输入信号的相对电平的度量和它们互相关的度量,其中给每个平滑应用同一时间常量。

21.根据权利要求6所述的方法,其中所述互相关的度量是输入信号互相关的第一度量,以及通过应用输入信号相对电平的度量给互相关的所述第一度量产生互相关的一个方向加权的度量,以获得互相关的附加度量。

22.根据权利要求21所述的方法,其中对于在每个输出中能量相同的情况,通过应用一个等于输入信号的互相关度量值的定标因子,获得输入信号的互相关的另一个度量。

23.一种用于将M个音频输入信号转换为N个音频输出信号的方法,每个输入信号与一个方向相关联,以及每个输出信号与一个方向相关联,其中N大于M,M至少是2而N为至少是3的正整数,该方法包括:提供一个M:N可变矩阵,

应用所述M个音频输入信号给所述可变矩阵,

从所述可变矩阵推导出所述N个音频输出信号,以及

响应于所述输入信号的以下度量来控制所述可变矩阵:(1)输入信号的相对电平,和(2)输入信号的互相关,使得当输入信号高度相关时,所述输出信号所产生的声场在输入信号的标称前进基本方向中具有紧凑的声像,随着相关度的减少该声像从紧凑到宽进行扩展,并随相关度继续减少到高度不相关,逐步分离成多个紧凑声像,每个在与一个输入信号相关联的方向中,其中输入信号互相关的第一度量响应于输入信号的平滑公共能量除以以下值,所述值为每个输入信号的平滑能量电平的乘积的M次根,这里M是输入个数,其中通过应用输入信号相对电平的度量给互相关的所述第一度量产生互相关的一个方向加权的度量,以获得互相关的附加度量,并且其中对于在每个输出中能量相同的情况,通过应用一个等于输入信号的互相关度量值的定标因子,获得输入信号的互相关的另一个度量。

24.根据权利要求23所述的方法,其中所述M:N可变矩阵是一个具有可变系数的可变矩阵,或者是一个具有固定系数和可变输出的可变矩阵,其中通过改变可变系数或改变可变输出来控制所述可变矩阵。

25.根据权利要求23所述的方法,其中输入信号的相对电平的度量响应于每个输入信号的平滑能量电平。

说明书 :

技术领域

本发明涉及音频信号处理。更具体而言,本发明涉及将表示声场的M个音频输入声道转换为表示同一声场的N个音频输出声道,其中每个声道是表示由一个方向抵达的音频的单独音频流,M和N为正整数,并且M至少为2和N至少为3,以及N大于M。典型地,N大于M的空间转换器通常被表征为“解码器”。

背景技术

虽然人类只有两只耳朵,但我们能听出实际三维的声音,这依赖于多个定位提示,诸如头部相关的转换函数(HRTF)和头部运动。所以完全逼真的声音再现要求保留并再现全三维声场,或者至少需要可感知的提示。不幸的是,声音记录技术不适应于获取三维声场,也不适应于获取二维平面声音,甚至不适应于获取一维直线声音。当前的声音记录技术只适合于获取、保存和呈现零位的离散音频声道。
自从Edison发明声音记录以来关于改进逼真度的努力大多集中于克服其原始的模拟纹道调制的圆柱体/圆盘媒体的缺陷。这些缺陷包括有限且不平坦的频率响应、噪音、失真、变音、声音颤动、速度精度、磨损、污垢和复制损害。虽然已经有一些对于局部改进的离散努力,包括电子放大、磁带记录、减少噪音以及价格比某些汽车还高的放音机,但是各声道质量的传统问题在直到研发了一般的数字记录,尤其是引入音频光盘之前都存有争论而没有最终得到解决。自研发了数字记录特别是音频光盘以来,除了进一步扩展数字记录的质量到24比特/96千赫兹采样的一些努力之外,在声音再现研究方面的主要努力集中于降低为保持各声道质量所需的数据量-大都采用可感知的编码器,以及提高空间逼真度。这后一个问题是本文的主题。
改进空间逼真度的努力已沿着两条路线进行:试图传送整个声场的感知提示,以及试图传送实际的原始声场的一个近似。采用前一处理的系统实例包括双声道记录和基于两个扬声器的虚拟环绕声系统。这些系统存在多个不幸的缺陷,尤其是在可靠地定位某些方向上的声音方面,以及在要求使用耳机或单独的固定的收听位置方面。
无论在一间居室还是诸如电影院这样的商业场所中,为了再现立体声给多位听众,唯一可行的替换处理是尝试近似实际的原始声场。如果给定声音记录的离散声道特性,这是不会令人吃惊的:目前大多数努力包括所谓保守地增加再现声道的数量。代表性系统包括50年代早期的移动-单声道三扬声器电影胶片音轨、传统的立体声、60年代的四声道立体声系统、70毫米电影胶片上的五声道离散磁性音轨、70年代使用矩阵的杜比环绕声、90年代的AC-35.1声道环绕声和近来的环绕-EX 6.1声道环绕声。“Dolby”(杜比)、“Pro Logic”和“Surround EX”(环绕-EX)是杜比实验室许可公司的商标。在不同程度上,这些系统提供比单声道再现所增强了的空间再现。然而,大量声道的混音导致了更多时间和费用负担在内容制作者身上,并且导致的感知典型是几个分散的离散声道中的一个,而不是一个连续的声场。在美国专利4799260中描述了Dolby的Pro Logic解码,该专利的全部内容在此包含引作参考。AC-3的详细内容在先进电视系统委员会(ATSC)1995年12月20日公布的文档A/52“数字音频压缩标准(AC-3)”(也可以在因特网的万维网地址www.atsc.org/standards/A52/a 52/doc得到)中描述。也可以参见1999年7月22日的勘误表(可在因特网的万维网地址www.dolby.com/tech/ATSC err.pdf得到)。
一旦声场被表征,原理上有可能:一个解码器产生最佳信号馈给任一输出扬声器。馈送到这样一个解码器的声道在本文的不同地方被称之为“基本”、“被传送的”和“输入”声道,并且位置不对应于输入声道中的一个声道的位置的任何输出信道将被称之为“中间”声道。一个输出声道也可以有一个与一个输入声道相一致的位置。

发明内容

根据本发明的第一方面,一种用于将M个音频输入信号转换为N个音频输出信号的处理,每个输入信号与一个方向相关联,每个输出信号与一个方向相关联,其中N大于M,M至少是2以及N为至少是3的正整数,该处理包括:提供M:N可变矩阵,应用M个音频输入信号给该可变矩阵,从可变矩阵中推导出N个音频输出信号,并响应于输入信号控制该可变矩阵,以便当输入信号高度相关时,输出信号所产生的声场在输入信号的指定前进基本方向中具有紧凑的声像,随着相关度的减少该声像从紧凑到宽进行扩展,并逐步分离成多个紧凑声像,每个声像在与输入信号相关联的方向中随相关度继续减少到高度不相关。
根据本发明的第一方面,可以响应于以下度量而控制可变矩阵:(1)输入信号的相对电平,和(2)输入信号的互相关。在这种情况下,为了度量具有第一范围内值的输入信号的互相关,该范围由最大值和参考值来作为界限,当互相关的度量是最大值时,声场可以具有紧凑的声像,当互相关的度量是参考值时,声场则可以具有宽的扩展声像,以及为了度量具有第二范围内值的输入信号的互相关,该范围由参考值和最小值来作为界限,当互相关的度量是参考值时,声场可以具有宽的扩展声像,当互相关的度量是最小值时,它可以具有多个紧凑的声场,每个声场位于与输入信号相关联的方向中。
根据本发明的又一个方面,一种用于将M个音频输入信号转换为N个音频输出信号的处理,每个输入信号与一个方向相关联,每个输出信号与一个方向相关联,其中N大于M,M至少是3,该处理包括:提供多个m:n可变矩阵,这里m是M的子集以及n是N的子集,从每一个可变矩阵中推导出N个音频输出信号的各子集,响应于应用于矩阵的输入信号的子集以控制每个可变矩阵,以便当这些输入信号高度相关时,从矩阵所推导的输出信号的各子集产生的声场,在应用于矩阵的输入信号子集的指定前进基本方向中具有紧凑的声像,随着相关度的减少该声像从紧凑到宽进行扩展,并逐步分离成多个紧凑声像,每个声像在与应用于该矩阵的输入信号相关联的方向中,随相关度继续减少到高度不相关,并从N个音频输出声道的子集中推导出N个音频输出信号。
根据本发明的再一个方面,还可以响应于补偿接收同一输入信号的一个或多个其他可变矩阵的影响的信息来控制可变矩阵。而且,从N个音频输出声道的子集中推导出N个音频输出信号还可以包括补充产生同一输出信号的多个可变矩阵。根据本发明这一方面,可以响应于以下度量来控制每个可变矩阵:(a)应用于该矩阵的输入信号的相对电平,和(b)输入信号的互相关。
根据本发明的又一个方面,一种用于将M个音频输入信号转换为N个音频输出信号的处理,每个输入信号与一个方向相关联,每个输出信号与一个方向相关联,其中N大于M,M至少是3,该处理包括:响应于控制矩阵系数或控制矩阵输出的定标因子提供一M:N可变矩阵,应用M个音频输入信号给该可变矩阵,提供多个的m:n可变矩阵定标因子发生器,这里m是M的子集以及n是N的子集,并应用M个音频输入信号的各子集给每个可变矩阵定标因子发生器,为N个音频输出信号的各子集从每个可变矩阵定标因子发生器中推导出一组可变矩阵定标因子,响应于应用到矩阵的输入信号的子集来控制每个可变矩阵定标因子发生器,以便当它所产生的定标因子被应用到M:N可变矩阵时,所产生的输出信号的各子集产生的声场当这些输入信号高度相关时,在产生和应用定标因子的输入信号子集的指定前进基本方向中具有紧凑的声场,随着相关度的减少该声像从紧凑到宽进行扩展,并逐步分离成多个紧凑声像,每个声像在与产生该应用定标因子的输入信号相关联的方向中,随相关度继续减少到非常不相关,并可变矩阵中推导出N个音频输出信号。
根据本发明的再一个方面,还可以响应于补偿接收同一输入信号的一个或多个其他可变矩阵定标因子发生器的影响的信息来控制可变矩阵定标因子发生器。而且,从可变矩阵中推导出N个音频输出信号可包括补偿为同一输出信号产生定标因子的多个可变矩阵定标因子发生器。根据本发明的该方面可响应于以下度量控制可变矩阵定标因子发生器:(a)应用给该发生器的输入信号的相对电平,和(b)输入信号的互相关。
根据本发明,将表示声场的M个音频输入声道转换为表示同一声场的N个音频输出声道,其中每个声道是表示从一个方向抵达的音频的单独音频流,M和N是正整数,以及M至少是2和N至少是3,且N大于M。每个输入和输出声道具有一个相关联的方向(例如,方位、高度和可选的为距离,以考虑到较近或更远的虚拟或映像声道)。产生一组或多组输出声道,每组声道有一个或多个输出声道。每组声道通常与两个或更多个空间上相邻的输入声道相关联,以及一组内的每个输出声道是通过确定两个或更多个输入声道的互相关度量或两个或更多个输入声道的电平相互间关系的度量而产生的。互相关的度量优选是零时间偏移互相关的度量,该度量是公共能量电平与输入信号能量电平几何平均之比。公共能量电平优选是平滑或平均的公共能量电平以及输入信号能量电平是平滑或平均的输入信号能量电平。
在本发明的一个方面,多组输出声道可以与多于两个的输入声道相关联,以及一种处理可以根据分级次序确定与每组输出声道相关联的那些输入声道的相关性,以便根据与输出声道相关联的输入声道数量排序每组或各组,数目最大的输入声道具有最高的阶,并以按照它们的分级次序来依序处理各组。此外根据本发明的一个方面,处理过程考虑到对较高阶的组处理的结果。
本发明的放音或解码方面假设表示从一个方向抵达音频的M个音频输入声道的每一个通过每个源方向的一个无源矩阵的最近-相邻的幅度-跟随编码而产生(即假设一个源方向被主要映射到最近的输入声道),而不需要附加侧链信息(侧链或辅助信息的使用是可选的),从而它与现有混音技术、控制台和格式相兼容。虽然这些源信号可以通过直接使用一个无源编码矩阵产生,大多数传统的记录技术固有产生这些源信号(所以,构成一个“有效编码矩阵”)。本发明的放音或解码方面也与自然记录的源信号大都兼容,诸如用5个实际的定向话筒记录的信号,因为允许某些可能的延迟,从中间方向抵达的声音倾向于主要映射到最邻近的话筒(在一个水平阵列中,特别是映射到最邻近的一对话筒中)。
根据本发明诸方面的解码器或解码处理可以被实现为耦合的处理模块或模块功能(下称为“模块”或“解码模块”)的网格,每一个解码模块用于典型地从与该解码模块相关联的两个或更多的空间上最邻近的相邻输入声道产生一个或多个输出声道(或者可替换地,可用于产生一个或多个输出声道的控制信号)。输出声道典型表示与特定解码模块相关联的空间上最邻近的相邻输入声道中音频信号的相对比例。正如以下所详细解释的那样,在模块共享输入和存在解码模块分级的意义上解码模块互相松散耦合。模块被按照与其相关联的输入声道的数目分级排序(具有最多数目相关输入声道的一个模块或多个模块有最高阶)。一个监控器功能如此管理这些模块,以便在这些模块之间公平地共享公共输入信号,并且较高阶的解码器模块可以影响较低阶模块的输出。
每个解码器模块可以有效地包括一个矩阵,使得它直接产生输出信号,或者每个解码器模块可以产生控制信号,这些控制信号与其他解码模块产生的控制信号一起用于改变一个可变矩阵的系数或改变输入到一个固定矩阵的或从一个固定矩阵输出的定标因子,以便产生所有的输出信号。
解码器模块模仿人耳的工作,以试图提供可感知的透明再现。根据其中解码器模块和模块功能是一个方面的本发明的信号转换可应用于宽带信号或者多频带处理器的每一个频带,这取决于实现,并且可以在每个采样执行一次或者每个采样方块执行一次。一个多频带实施例可以应用滤波器组,诸如离散的临界频带滤波器组或其频带结构与相关解码器兼容的滤波器组,或一种变换结构,诸如FFT(快速傅里叶变换)或MDCT(修正的离散余弦变换)线性滤波器组。
本发明的另一方面在于能够通过适宜依赖于虚拟映像,以减少接收N个输出声道的扬声器质量到实际数值,即在除了放置扬声器以外的空间位置上形成的感知声像。虽然虚拟映像最通普遍的应用是通过在声道之间移动一个单声道信号立体再现两个扬声器之间的一个映像的轨迹,正如本发明一个方面所预期的,虚拟映像可以包括再现幻影映射声像,该声像提供了超越居室的墙之外或居室墙之内的听觉印象。虚拟映像对于数目稀少声道的群再现来说不被认为是一种可行的技术,因为它要求收听者与两个扬声器等距离或近似等距。例如,在电影院中左前方和右前方的扬声器对于大多数听众获得一个中央声像的有用的幻象而言相距太远了,因此就许多对话源的中央声道的重要性而言,代替使用一个物理的中央扬声器。
随着扬声器密度的增加,对于大多数听众来说,至少对于平滑移动的范围,可在任何一对扬声器之间出现虚拟映像的位置将可达到;扬声器足够大时,扬声器之间的间隙不再被感知。
信号分布
如上所述,互相关的一个度量确定模块中优势(公共信号分量)和非优势(非公共信号分量)能量之比以及在模块的输出声道之间非优势信号分量的扩展程度。通过在用于两个输入模块的不同信号条件下考虑模块的输出声道的信号分布,可以更好的理解上述方面。除非另外注意,所阐述的原理可直接扩展用到更高阶的模块。
信号分布的问题是通常对于恢复原始信号振幅分布的信息太少,信号本身则更少。可用的基本信息是每一模块输入处的信号电平和输入信号的平均向量积、公共能量电平。零时间偏移互相关是公共能量电平相对于输入信号能量电平的几何平均的比率。
互相关的有效性在于它功能上作为对于所有输入公共的信号分量净振幅的度量。如果存在在模块输入之间任何地方移动的单独信号(“内部”或“中间”信号),所有的输入将具有相同的波形,但是可能具有不同的振幅,在这些条件下,相关度将是1.0。在另一个极端,如果所有输入信号是独立的,意思是说不存在公共信号分量,那么相关度将是0。位于0和1.0之间的相关值能够被认为是对应于输出端的某些单独、公共信号分量和独立信号分量的中间平衡电平。因此,可以将任何输入信号条件划分为公共信号、“优势”信号,以及在减去公共信号组成所剩下的输入信号分量包括“全部剩余的”信号分量(“非优势”或剩余信号能量)。如上所述,公共或“优势”信号振幅不必高于剩余的或非优势的信号电平。
例如,考虑映射到单独Lt/Rt(左全和右全)对的五个声道(L(左)、MidL(中左)、C(中间)、MidL(中右)、R(右))的圆弧的情况,希望恢复原始的五个声道。如果所有五个声道具有相等振幅的独立信号,那么Lt和Rt将会振幅相等,并具有对应于位于零和1之间互相关值的公共能量的中间值(由于Lt和Rt不是独立的信号)。利用适当选择的L、C和R的电平,而不利用来自MidL和MidR的信号能够获得相同的电平。因此,两输入、五输出模块可能在从Lt和Rt输入移除C能量之后,只馈送对应于主方向(在本例中为C)的输出声道和对应于输入信号剩余(L、R)的输出声道,以不给MidL和MidR输出声道任何信号。这样的一种结果不是期望的-不必要地关掉声道几乎总是一种坏的选择,因为信号条件中的小干扰将引起“关断”声道到开启和关断之间的触发器,并引起令人讨厌的振动声音(“振动”是一种快速开启和关断的声道),特别是当听到“关断”声道处于隔离时。
因此,当存在用于给定组模块输入信号值的多个可能的输出信号分布时,从各声道质量的观点出发,该保守的解决方法是尽可能均匀地在模块的输出声道之间扩展非优势信号分量,以与信号条件相一致。本发明的一个方面是在信号条件下根据三方式分离而不是“优势”比“所有剩余”的两方式分离来均匀地扩展可用的信号能量。优选地,三方式分离包括优势(公共)信号分量、填充(均匀扩展)信号分量和输入信号分量剩余。不幸的是,只有足够信息来进行两方式分离(优势信号分量和所有其他的信号分量)。这里描述了一种适当的实现三方式分离的解决方法,在该方法中对于超过特定值的相关值,两方式分离应用优势和扩展的非优势信号分量;对于低于该值的相关值来说,两方式分离应用扩展的非优势信号分量和剩余的分量。公共信号能量被在“优势”和“均匀扩展”之间分离。“均匀扩展”分量包括“公共”和“剩余”的信号分量。所以,“扩展”包括混合公共(相关的)和剩余的(不相关的)信号分量。
在处理之前,对于给定模块的给定输入/输出声道结构来说,对应于所有接收相同信号幅度的输出声道来计算相关值。该相关值可以被称之为“随机_xcor”值。对于单独的、中央导出中间输出声道和两个输入声道,随机_xcor的值可以计算为0.333。对于三个相等的扩展中间声道和两个输入声道,随机_xcor的值可以计算为0.483。虽然已经发现这些时间值提供了令人满意的结果,但是它们仍不是决定性的。例如,可使用分别大约是0.3和0.5的值。换言之,对于具有M个输入和N个输出的模块来说,存在M个输入的特定相关度,并认为它能够表示所有N个输出中的相等能量。这能够通过考虑M个输入是否已经使用接收相等能量的N个独立信号的无源N到M矩阵推导出它们而达到,尽管当然实际的输入可以通过其他方式推导出。该门限相关值是“随机_xcor”,它可以表示两个工作状态之间的界限。
然后,在处理过程中,如果模块的互相关值大于或等于随机_xcor值,则将它定标在1.0到0的范围。
定标_xcor=(相关-随机_xcor)/(1-随机_xcor)“定标_xocr”值表示高于均匀扩展电平的优势信号的量。不论所剩的是什么都可以相等地分布到模块的其他输出声道中。
但是,存在应该考虑到的其他因子,即由于输入信号的指定的前进基本方向变得更加明显偏离中央,因此如果保持对于所有输出声道的相等分布,则应该显著减少扩展能量的数量,或者可替换地,如果应该保持扩展能量的数量,但是相对于优势能量的“偏离中央”则应该减少输出信道所分布的能量-换言之,沿输出声道的能量逐渐减少。在后者的情况下,可能需要其他处理复杂度以保持输出能量等于输入能量。
另一方面,如果当前相关值小于随机_xcor值,则认为优势能量应是零,显著地减少均匀扩展能量,以及允许所剩余的剩余信号在输入端累积。在相关=零时,不存在内部信号,而只有直接映射到输出声道的独立的输入信号。
本发明这方面的操作可以进一步如下所解释的:
a)当实际相关值大于随机_xcor时,存在足够的公共能量被考虑作为两个相邻输出之间引入(移动)的优势信号(或者,当然如果它的方向碰巧与一个输出的方向相一致的话,可将其馈送到一个输出);从输入中减去分配给该信号的能量以给出在所有输出之间(优选均匀)分布的剩余能量。
b)当实际相关值精确为随机_xcor时,输入能量(可能被认为是所有剩余能量)均匀地分布在所有输出之间(这就是随机_xcor的定义)。
c)当实际相关值小于随机_xcor时,不存在用于优势信号的足够的公共能量,因此输入的能量根据多少的比例而分布在输出之间。如果一种经处理的相关部分作为剩余能量,输入能量则将均匀地分布在所有输出之间,并且不相关部分更像要发送到对应于输入方向的输出的大量优势信号。在相关是零的极端情况下,每个输入只被馈送给一个输出位置(通常是各输出中的一个输出,但是它能够作为两个输出之间的移动位置)。
因此,在完全相关之间存在连续,并具有根据输入的相对能量的两个输出之间移动的单独信号,并通过具有在所有输出中均匀分布的输入的随机_xcor,到具有M个独立馈送到M个输出位置的输入的零相关。
交互作用补偿
如上所述,可以认为是根据本发明一个方面的声道转换包含“模块”的网格。因此多个模块可以共享一个给定的输入声道,在模块之间也有可能交互作用,并且可能恶化性能除非应用某种补偿。尽管通常不可能在输入声道根据信号所“跟随”的模块来分离各信号,但是估计每个连接模块所使用的输入信号的数目能够提高所产生的相关和方向性估计,以导致提高整体的性能。
如上所述,存在两种类型的模块交互作用:包括在公共或较低分级等级的模块(即,具有相似数量输入或较少输入的模块),称之为“邻居”,以及比给定模块较高分级等级的模块(具有更多输入),但是共享一个或多个公共输入,称之为“更高阶邻居”。
考虑在公共分级等级上的第一相邻补偿。为了理解相邻交互作用所带来的问题,考虑一个独立的两输入模块,它具有相同的L/R(左和右)输入信号A。这对应于输入中间的单独的优势(公共)信号。公共能量是A2以及相关值是1.0。假设第二两输入模块,它在其L/R输入具有公共信号,B,公共能量是B2,而且相关值也是1.0。如果两个模块都连接于公共输入,则该公共输入的信号将是A+B。假设信号A和B是独立的,那么AB的平均乘积将是零,因此第一模块的公共能量将是A(A+B)=A2+AB=A2以及第二模块的公共能量将是B(A+B)=B2+AB=B2。因此,只要相邻模块处理独立的信号,那么公共能量就不受相邻模块的影响。这通常是一个正确的假设。如果各信号不是独立的,而是相同的或者至少基本上共享公共信号分量,那么系统将以一种与人耳响应相一致的方式进行反应-即,公共输入将会较大,以引起所产生的声像拉向公共输入。在这种情况下,偏移每个模块的L/R输入幅度比,因为公共输入的信号幅度(A+B)高于外部输入的信号幅度,这将导致方向性估计偏向公共输入。在这种情况下,诸模块的相关值现在有些小于1.0,因为在两个输入对的波形不同。由于相关值确定了扩展非公共信号分量的程度和优势(公共信号分量)与非优势能量(非公共信号分量)之比,未经补偿的公共输入信号导致了扩展每个模块的非公共信号分布。
为了补偿,估计属于每个模块的每个输入的“公共输入电平”的度量,然后通知每个模块有关位于每个模块输入的同一分级等级的所有相邻电平的这种公共输入电平能量的总量。这里描述了两种计算属于一个模块的每个输入的公共输入电平度量的方法:其中一种方法是根据模块输入的公共能量(通常在下一段中描述),另一种方法是更为精确但是要求更多的计算资源,该方法基于模块内部输出的全部能量(下文结合图6A的结构描述)。
根据计算属于一个模块的每个输入的公共输入电平度量的第一种方法,模块输入信号的分析不直接允许解决在每个输入的公共输入电平,只有全部公共能量的一部分,该部分是公共输入能量电平的几何平均。由于在每个输入的公共输入能量电平不能够超过所度量和已知的在该输入的总能量电平,因此全部公共能量被定标为经过以下所限定的、与所观察的输入电平成比例的已估计的公共输入电平。一旦为网格中的所有模块计算了公共输入电平的总体(不论公共输入电平的度量是基于第一种计算方式还是第二种计算方式),则通知每个模块有关在每个输入的所有相邻模块的全部公共输入电平,被称之为位于其每一个输入处模块的“相邻电平”的量。然后模块从位于它每个输入的输入电平种减去相邻电平以导出补偿的输入电平,该补偿的输入电平用于计算相关值和方向(输入信号的指定前进基本方向)。
对于以上所述的例子,相邻电平初始是零,这是因为公共输入比端点输入具有更多的信号,第一模块要求在该输入的公共输入能量电平超过A2,第一模块要求在同一输入的公共输入电平超过B2。由于全部要求超过了在该输入可用的能量电平,该要求则被分别限制到大约A2和B2。由于没有其他模块连接到该公共输入,因此每个公共输入电平对应于其他模块的相邻电平。因此,第一模块所看到的补偿输入能量电平是
(A2+B2)-B2=A2
以及第二模块所看到的补偿输入能量电平是:
(A2+B2)-A2=B2。
但是,这些仅仅是已经利用这些模块独立观测到的电平。因此,产生的相关值将是1.0,并且正如所希望的,优势方向将集中在适当的幅度。但是,恢复的信号本身将不会是完全独立的-第一模块的输出将具有一些B信号分量,反之亦然,但这是矩阵系统的一种限制,并且如果在多频带的基础上执行该处理,混合的信号分量将位于相似的频率处,以反映这些信号分量之间某种悬而未决的不同。在更为复杂的情况下,补偿通常将不会精确,但是通过该系统的经验表明实际当中的补偿可减轻相邻模块交互作用的绝大部分的影响。
已经建立了在相邻电平补偿中使用的原理和信号,到更高阶的相邻电平补偿的扩展相当地直接。这应用于位于不同分级等级两个或更多模块共享不止一个公共输入声道的情形。例如,可能存在与两输入模块共享两个输入的三输入模块。所有三个输入的公共信号分量还将是两个输入模块输入的公共信号分量,而无需补偿,以及将通过每个模块在不同的位置处反映出。更一般而言,可能存在所有三个输入的一个公共信号分量以及只有两输入模块输入的公共的第二分量,并为了正确反映输出声场尽可能地分离它们的影响。因此,正如嵌入到上述公共输入电平中的三输入公共信号影响应该在能够正确执行两输入计算之前从输入中被减去。实际上,在处理较低等级的计算时,不仅应该从较低等级的模块输入电平中,而且还应该从它对公共能量电平的观测度量中减去更高阶的公共信号单元。这不同于位于相同分级等级的模块的公共输入电平的影响,模块的公共输入电平不会影响相邻模块的公共能量电平的度量。因此,应该考虑并应用与同一阶相邻电平独立的更高阶的相邻电平。同时将更高阶相邻电平向下传递到较低分级的模块,剩余的较低等级模块的公共电平还应该被向上传递到如上所述的分级中,因为较低等级模块的动作类似于较高等级模块的普通邻居。一些量是相互独立的并且难以同时解决。为了避免执行复杂的同时解决资源集中计算,可将前一计算的值传递给相关的模块。位于不同分级等级的模块公共输入电平的潜在相互独立性能够通过使用如上的前一值,或者是通过在从最高分级等级到最低等级的各个顺序中(即,一个环)执行计算而解决。可替换地,同时方程解决也是有可能的,尽管它可能包含非平常的计算开销。
尽管所描述的交互作用补偿技术仅仅传送用于复杂信号分布的近似正确的值,但是人们相信它们可以提供对不能考虑模块交互作用的网格结构的改进。

附图说明

图1是一个顶视图,它示意性示出了一种测试安排方式中的理想化的解码结构,该测试安排应用在房间墙壁周围的十六声道水平阵列、布置在水平阵列之上的圆环中的六声道阵列和单个顶置声道。
图2是一个功能方框图,它提供了多个模块的多频带变换实施例的总视图,这些模块利用实现图1实例的中央监控器工作。
图3是对理解监控器诸如图2的监控器201确定端点定标因子的方式有用的功能方框图。
图4A-4C示出了根据本发明一个方面的一模块的功能方框图。
图5是一个示意图,它示出了输入声道的三角形所馈送的三输入模块的理想结构、三内部输出声道和优势方向。该视图对理解优势信号分量的分布有用。
图6A和6B是分别示出了一种适当结构的功能方框图,该结构用于(1)响应于每个输入的总能量而产生用于模块每个输入的总的估计能量,和(2)响应于对输入信号的互相关度量,产生用于模块每个端点的过量端点能量定标因子分量。
图7示出了图4C中“求和和/或其中较大者”方块367的优选功能的一个功能方框图。
图8是本发明的一个方面响应于互相关的度量而产生定标因子分量的方式的理想化表示。
图9A和9B到图16A和16B是一系列理想化表示,它们示例了由输入信号条件的各实例所产生的模块的输出定标因子。

具体实施方式

为了测试本发明的各个方面,开发了一种水平阵列的结构,在房间的每堵墙上有5个扬声器(在每个角落有一个扬声器,在每个角落之间有3个均匀间隔的扬声器),考虑到公共的角落扬声器,总共16个扬声器,加上以大约45度的垂直角置于中央定位的听众之上的一圈6个扬声器,再加上直接位于听众上方的单个扬声器,总共23个扬声器,加上一个超重低音扬声器/LFE(低频效应)声道,总共24个扬声器,所有的扬声器都由设置用于24声道放音的一台个人计算机馈给。尽管按照现在的说法,这个系统可以被称之为23.1声道系统,但是为了简单起见,这里将它称之为24声道系统。
图1是一个顶视图,它示意性示出了如上所述测试安排方式中的一个理想化的解码结构。5个水平广范围的输入声道被示为外圆上的方块1’、3’、5’、9’和13’。一个垂直声道被示为中心处的虚线方块23’,该声道可能由5个广范围的输入声道通过相关或所产生的混响而导出,或者单独提供(如图2所示)。23个广范围输出声道由相应数字1-23标出的实心圆示出。外圆上16个输出声道在一个水平面上,内圆上6个输出声道在水平面上方45度。输出声道23直接在一个或多个听众上方。5个两输入解码模块由外圆上箭头24-28示出,它们连接在每一对水平输入声道之间。5个附加两输入垂直解码模块由箭头29-33示出,连接垂直声道到每个水平声道。被升高的中央靠后的声道即输出声道21由一个三输入解码模块34导出,它由输出声道21和输入声道9、13和23之间的箭头示出。因此,三输入模块34比它的两输入较低分级的相邻模块27、32和33具有较高的分级等级。在该实例中,每个模块与相应的一对或三个空间最邻近的输入声道相关联。本例中的每个模块至少具有三个同一等级的邻居。例如,模块25、28和29是模块24的邻居。
尽管图1的安排应用了五个模块(24-28)(每个模块具有两个输入)以及五个输入(1’、3’、5’、9’和13’)以导出十六个表示房间四堵墙周围位置的水平输出(1-16),但是利用最小数目的三个输入和三个模块(每个具有两个输入,每个模块与另一个模块共享一个输入)也能够获得相似的结果。
通过应用多个模块,其中每个模块在圆弧或直线上具有诸输出声道(诸如图1和2的实例),解码现有技术解码器中遇到的不定性,其中解码小于零的相关值以指示可以避免后面的方向。
尽管可通过它们的物理位置或至少它们的方向来表征输入和输出声道,但是可以有利地利用一个矩阵来表征,因为该矩阵提供了良好定义的信号关系。每个矩阵单元(行i,列j)是一个有关输入声道i到输出声道j的转换函数。各矩阵单元通常是带符号的乘法系数,但是也可以包括相位或延迟项目(原理上,任何滤波器),并且可以作为频率的函数(离散频率、一个不同的矩阵位于一个频率)。在给固定矩阵的输出应用动态定标因子的情况下这是简单的,但是它还可以通过让每个矩阵单元具有一个独立的定标因子,或者对于诸矩阵单元来说具有比简单的标量定标因子更详细描述的定标因子,导致它本身是可变矩阵,其中诸矩阵本身是可变的,例如是一个可变的延迟。
在映射物理位置到矩阵单元中存在一定的灵活性;原理上说,本发明各方面的实施例可处理映射一个输入声道到任何数量的输出声道,反之亦然,但是最为普遍的情形是假设经由简单的定标因子仅仅映射到最近输出声道的保存能量的信号的平方和是1.0。这种映射通常借助正弦/余弦移动函数来实现。
例如,在一条直线上的两个输入声道和三个内部输出声道再加上两个与输入位置相一致的端点输出声道(即,M:N模块,这里M是2以及N是5),有人可能假设间隔表示90度的弧度(正弦或余弦从0变为1的范围,或者反之亦然),从而每个声道是90度/4个间隔=每一部分是22.5度,以下给出了(余弦(角度),正弦(角度))的声道矩阵系数:
Lout coeffs=cos(0),sin(0)=(1,0)
MidLout coeffs=cos(22.5),sin(22.5)=(.92,.38)
Cout coeffs=cos(45),sin(45)=(.71,.71)
MidRout coeffs=cos(67.5,sin(67.5)=(.38,.92)
Rout coeffs=cos(90),sin(90)=(0,1)
因此,对于一个矩阵具有固定系数和在每个矩阵输出端受定标因子所控制的可变增益的情况,在五个输出声道的其中每一个输出声道的信号输出是(这里“SF”是下标所标识的特定输出的定标因子):
Lout=Lt(SFL)
MidLout=((.92)Lt+(.38)Rt))(SFMidL)
Cout=((.45)Lt+(.45)Rt))(SFc)
MidRout=((.38)Lt+(.92)Lt))(SFMidR)
Rout=Rt(SFR)
一般而言,给定输入声道的一个阵列,概念上可能加入具有直线的最近的输入,该阵列表示潜在的解码器模块。(它们之所以是“潜在”的,是因为如果不存在需要从一个模块推导出的任何输出声道,则不需要该模块)。对于典型的安排来说,可以从一个两输入模块推导出位于两个输入声道之间一条线上的任何输出声道(如果源和发送声道共面,那么任何一个源将出现在最多两个输入声道中,在这种情况下,在应用多于两个输入声道时将会不利)。和一个输入声道位置相同的一个输出声道是一个端点声道,也许是不止一个模块的输出声道。和输入声道不在一条线上或位置相同的一个输出声道(例如,位于三个输入声道所形成的三角形的内部或外部)需要一个具有多于两个输入的模块。    
当公共信号占用多于两个输入声道时,具有多于两个输入的解码模块将是有用的。例如,当源声道和输入声道不在一个面上:源声道可能映射到多于两个的输入声道上时,这种情况可能会发生。当映射24声道(16个水平的圆环声道,6个升高的圆环声道,1个垂直声道,加上LEF)到6.1声道(包括一个复合的垂直声道),这种情况可能在图1的实例中发生。在上述情况下,升高的圆环中的中间后声道并不在两个源声道之间的直线上,它在Ls(13)、Rs(9)和top(23)声道所形成的三角形中间,因此需要一个三输入模块来提取该声道。一种映射升高的声道到水平阵列的方法是映射每一个升高的声道到多于两个的输入声道上。这允许将图1所例举的24个声道映射到传统的5.1声道阵列。在可替换的情况下,多个个三输入模块可以提取各个升高的声道,并且剩余的信号分量可以由两输入模块进行处理以提取声道的主水平圆环。
一般而言,没有必要检验输入声道之间信号通用性的所有可能的组合。利用水平的声道阵列(例如,表示水平阵列方向的声道),通常足以成对地执行空间相邻声道的相似性比较。对于在盖或球表面安排的声道来说,信号通用性可扩展到三个或更多的声道。使用和检测信号通用性还可以被用于传递附加的信号信息。例如,可以通过将垂直信号分量映射到一个水平的五声道阵列的所有五个满标度声道来表示该信号分量。
为通用性判定有关哪一个输入声道组合用于分析,以及判定默认的输入/输出映射矩阵,每个输入/输出声道转换器或转换器函数结构每次需要完成的是配置转换器或转换器函数。“初始映射”(处理之前)推导出一个无源“主”矩阵,该矩阵将输入/输出声道配置与声道的空间方位进行相关。作为一种替换,本发明的处理器或处理部件可以生成随时间变化的定标因子,每个输出声道一个定标因子,该定标因子修改否则将成为简单的、无源矩阵的输出信号电平或其自身的矩阵系数。定标因子依次从如下所述的(a)优势、(b)均匀扩展(填充),和(c)剩余(端点)信号分量的组合中推导。
一个主矩阵有利于配置诸如在图1的实例中所示出的模块结构并结合图2在下文进一步予以描述。通过检查主矩阵,例如可能推论出,需要多少个解码器模块,如何连接这些解码器模块,每个解码器模块具有多少个输入和输出声道,以及与每个模块的输入和输出有关的矩阵系数。这些系数可以从主矩阵中获得;只需要非零值,除非一个输入声道同时还是一个输入声道(即,端点声道)。
每个模块优选具有一个“本地”矩阵,该矩阵是可应用于特定模块的主矩阵的一部分。在多模块结构的情况下,诸如图1和2的实例,该模块可使用本地矩阵来产生用于控制主矩阵的定标因子(或矩阵系数),正如在结合图2和图4A-4C在下文中所描述的,或者使用本地矩阵来产生输出信号的一个子集,输出信号通过中央处理诸如结合图2所描述的监控器来汇编。在后一种情况下,这种监控器以一种类似于图2的监控器201的方式补偿同一输出信号的多个版本,该信号由具有公共输出信号的各模块产生,而图2的监控器确定一个最终的定标因子以代替各模块所产生的初步定标因子,这些模块为相同的输出声道产生初步定标因子。
在产生定标因子而不是输出信号的多个模块的情况下,这些模块可以经由监控器从主矩阵连续地获得有关它自身的矩阵信息,而不是具有一个本地矩阵。但是,如果模块具有它自己的本地矩阵,那么只需要较少的计算开销。在单个、独立模块的情况下,该模块具有一个本地矩阵,它是唯一需要的矩阵(从作用上讲,该本地矩阵就是一个主矩阵),以及该本地矩阵被用来产生输出信号。
除非指明,否则将参考模块产生定标因子的替换方式对具有多个模块的本发明实施例进行描述。
任何只具有模块本地矩阵中一个非零系数(该系数是1.0,因为系数平方和将会是1.0)的解码模块输出声道是一个端点声道。具有多于一个非零系数的输出声道是内部输出声道。考虑一种简单的例子。如果输出声道O1和O2都是从输入声道I1和I2推导出来的(但是它们具有不同的系数值),那么将需要连接在I1和I2之间产生输出O1和O2的2-输入模块,也可能连接在其他模块之间。在一更为复杂的例子中,如果存在5个输入和16个输出,其中的一个解码器模块将具有输入I1和I2,并馈给输出O1和O2,以便:
O1=AI1+BI2+0I3+0I4+0I5
(注意没有来自输入声道I3、I4或I5的贡献),以及
O2=CI1+DI2+0I3+0I4+0I5
(注意没有来自输入声道I3、I4或I5的贡献),
那么,解码器可能具有两个输入(I1和I2)、两个输出,以及与它们有关的定标因子如下:
O1=AI1+BI2,以及
O2=CI1+DI2
不论是主矩阵还是本地矩阵,在单个、独立模块的情况下,可能具有用于提供除了乘法以外的矩阵单元。例如,如上所述,矩阵单元可能包括一个滤波函数,诸如相位或延迟项,和/或一个为频率函数的滤波器。可能被应用的滤波的一个实例是一个纯延迟的矩阵,该矩阵可以再现幻象投影声像。实际上,可能将这种主矩阵或是本地矩阵分割为两个函数,其中一个应用系数来推导输出声道,另一个则应用一个滤波函数。
图2一个功能方框图,它提供了实现图1中实例的多频带变换实施例的总视图。例如,PCM音频输入具有多个交织的音频信号声道,它被应用于一个包括有去交织器的监控器或管理函数201(下称为“监控器201”),该去交织器恢复交织的输入所携带的六个音频信号声道(1’、3’、5’、9’、13’、和23’)中每一个声道的单独流,并应用每个单独流给时域到频域变换或变换函数(下称为“前向变换”)。可替换地,可以在单独的流中接收音频声道,在这种情况下,不需要去交织器。
如上所述,根据本发明的信号转换可应用于宽带信号或多频带处理器的每个频带,该处理器可应用一个滤波器组,诸如离散关键频带滤波器组或具有与相关联解码器兼容的频带结构的滤波器组,或者应用变换结构,诸如FFT(快速傅里叶变换)或MDCT(修改的离散余弦变换)线性滤波器组。图2、4A-4C和其他的图都以多频带变换结构为背景被描述。
为了简单起见,在图1、2和其他图中未示出的是,可选的LFE输入声道(图1和2中潜在的第七输入声道)和输出声道(图1和2中潜在的第24输出声道)。通常可以以与其他输入和输出声道相同的方式处理LFE声道,但是该声道具有它自己的定标因子,并固定为“1”,以及还具有它自己的矩阵系数,也固定为“1”。在源声道不具有LFE但是输出声道具有的情况下(例如,2:5.1上混音),可以通过使用一个应用于声道求和、或避免声道相加消除的低通滤波器(例如,第五阶Butterworth滤波器,它具有120Hz转角频率)而得到一个LFE声道,以及可以应用声道的补偿相位和。在输入具有一个LFE声道,而输出不具有该声道的情况下,可以将LFE声道添加到一个或更多的输出声道。
继续描述图2,模块24-34以图1所示的方式接收六个输入1’、3’、5’、9’、13’和23’中适当的一些输入。正如图1所示,每个模块为与其相关联的每一个音频输出声道产生一个初步定标因子(“PSF”)输出。因此,例如,模块24接收输入1’和3’并产生初步定标因子输出PSF1、PSF2和PSF3。可替换地,如上所述,每个模块可以为与其相关联的每一个音频输出声道产生一组初步音频输出。每个模块还可以与监控器201通信,如以下进一步说明的。监控器201发送到各个模块的信息可以包括相邻电平信息和更高阶相邻电平信息,如果有的话。从每个模块发送到监控器的信息可以包括内部的总共估计能量。可以考虑将诸模块作为图2整个系统的控制信号发生部件的一部分。
一个监控器,诸如图2的监控器201,可以执行大量的不同功能。监控器例如可以确定是否正在使用多于一个的模块,如果没有使用,监控器则不需要执行任何与相邻电平有关的功能。在初始化过程中,监控器可以通知该模块或每个模块它所拥有的输入和输出的数量,与它们相关的矩阵系数,和信号的采样速率。正如以上已经所述的,监控器可以读取交织的PCM采样的各个块,并去交织这些块为单独的声道。它还可以例如响应于指示源信号幅度受限以及限制程度的附加信息,在时域中应用不受限制的动作。如果系统以多频带模式工作,则监控器可以应用加窗和滤波器组(例如,FFT、MDCT等)给每个声道(以便多个模块不执行冗余变换,该变换实质上增加了处理开销)并传送变换值的流给每个模块用于处理。每个模块给监控器传送回一个二维阵列的定标因子:用于每个输出声道的每个子带中的全部变换接收器的一个定标因子(当在多频带变换结构中时,否则一个输出声道一个定标因子),或,替换地,一个二维阵列的输出信号:用于每个输出声道的每个子带的复合变换接收器的总体(当在多频带变换结构中时,否则每个输出声道一个输出信号)。监控器可以平滑定标因子并将它们应用到信号路径矩阵(矩阵203,如下所述)以产生(在多频带变换结构中)输出声道复合频谱。可替换地,当模块产生输出信号时,监控器可以推导出输出声道(输出声道复合频谱,在一个多频带变换结构中),以补偿产生相同输出信号的本地矩阵。然后,监控器可以为每个输出声道在MDCT的情况下执行逆变换再加上加窗和重叠添加,交织输出采样以形成一个复合的多声道输出流(或者,可选地,可以省略交织,以便提供多个输出流),并发送该输出流到一个输出文件、声音卡或其他的最终目的地。
尽管通过一个监控器或多个监控器可以执行各种功能,如这里所述,但是本领域的普通技术人员将会理解,可以在模块本身内执行各种功能或全部的这些功能,而不是通过全部或部分模块所公共的监控器来执行。例如,如果只有一个单独的模块,则在模块功能和监控器功能之间不存在任何区别。尽管在多模块的情况下,一个公共监控器可以通过消除或减少冗余的处理任务而减少所需的全部处理能量,消除公共监控器或简化该监控器可以允许各模块被容易地相互添加,例如,以升级到更多的输出声道。
回到图2的描述,还可以将六个输入1’、3’、5’、9’、13’和23’应用于一个可变矩阵或可变矩阵函数203(下称为“矩阵203”)。可以考虑将矩阵203作为图2系统的信号路径的一部分。矩阵203还从监控器201接收一组最终的定标因子SF1到SF23作为输入,这些定标因子用于图1实例的23个输出声道中的每一个声道。可以考虑将最终的定标因子作为图2系统的控制信号部件的输出。如以下进一步说明的,监控器201优选将用于每个“内部”输出声道的初步定标因子,作为最终的定标因子传送给矩阵,但是该监控器响应于它从诸模块所接收的信息,为每个端点输出声道确定最终的定标因子。一个“内部”输出声道是每个模块的两个或更多“端点”输出声道的中间。可替换地,如果诸模块产生输出信号而不是定标因子,则不需要矩阵203;监控器本身产生该输出信号。
在图1的实例中,假设端点输出声道与输入声道位置相一致,尽管它们相一致不是必须的,如其他地方进一步描述的。因此,输出声道2、4、6-8、10-12、14-16、17、18、19、20、21和22都是内部输出声道。内部输出声道21位于中间或者由三个输入声道(输入声道9’、13’和23’)框入,而其他内部声道每个在两个输入声道中间(之间或框入)。由于对于在模块之间或中间共享的这些端点输出声道(即,输出声道1、3、5、9、13、和23)存在多个初步定标因子,因此监控器201确定定标因子SF1到SF23中最终的端点定标因子(SF1、SF3等等)。最终的内部输出定标因子(SF2、SF4、SF6等等)和初步定标因子相同。
图3是一个功能方框图,它有利于理解监控器,诸如图2的监控器201可以确定一个端点定标因子的方式。该监控器不对共享一个输入的诸模块的全部输出求和以得到一个端点定标因子。相反,它另外诸如在一个组合器301中组合用于来自共享该输入诸如输入9’的每个模块的一个输入的总体估计的内部能量,其中该输入9’由图2的模块26和27所共享。该和表示了在全部连接模块的内部输出所声明的输入的总能量电平。然后,诸如在组合器303中,从共享输入的任何一个模块(在本例中,为模块26或模块27)的该输入的平滑输入能量电平中减去该和(例如,如下所述的图4B的平滑器325或327的输出)。尽管从模块到模块的电平可能稍微不同,这是因为每个模块都彼此独立地调整其时间常量,但是足以在公共输入选择任何一个模块的平滑输入。在组合器303输出端,该差别就是在该输入想要的输出信号能量电平,其中不允许能量电平低于零。诸如在分割器305中,通过在该输入的平滑输入电平来分割该想要的输出信号电平,并如在方块307中执行平方根运算,以获得用于该输出的最终的定标因子(在本例中为SF9)。应该注意到监控器为每个这种共享的输入推导出了单个的最终定标因子,而不管多少模块共享该输入。一种确定属于每个模块输入的内部输出的总估计能量的安排在以下结合图6A被描述。
由于这些电平是能量电平(第二阶数量),正如与幅度(第一阶数量)相对,在分割操作之后,应用平方根运算以便获得最终的定标因子(将定标因子与第一阶数量相关联)。内部电平的相加从总的输入电平中减去都全部以纯粹能量的含义执行,这是因为假设不同模块内部的内部输出是独立的(不相关的)。如果该假设在某种特殊情况下不正确,那么计算可以在输入产生比应该产生信号而更多的剩余信号,这可能会在再现的声场中导致稍微的空间失真(例如,稍微将其他相邻内部声像推向该输入),但是在相同情况之下,人耳很可能进行相似地反应。通过监控器传送内部输出声道定标因子,诸如模块26的PSF6到PSF8,以作为最终的定标因子(它们都未经修改)。为了简单起见,图3仅仅示出了产生一个端点最终定标因子。其他端点最终定标因子可以相似的方式予以推导。
回到图2的描述,如上所述,在可变矩阵203中,可变性可以复杂(全部系数可变)或是简单(系数以组而变化,诸如将它们应用于固定矩阵的输入或输出)。尽管可以应用任何一种方法来产生基本上相同的结果,但其中一种较为简单的方法是,已经发现每个输出的可变增益所跟随的一个固定矩阵(每个输出的增益受定标因子控制)产生令人满意的结果,并在这里描述的实施例中应用该固定矩阵。尽管可使用一个可变矩阵,在该矩阵中每个矩阵系数是可变的,但是其中不利的是变量太多并需要更多的处理能量。
监控器201还在将它们应用到可变矩阵203之前执行可选的最终定标因子的时域平滑。在可变矩阵系统中,输出声道从不“关掉”,并安排各系数以增强某些信号和消除其他的信号。但是,正如本发明的所述实施例中的固定矩阵、可变增益系统,相反却开启和关掉声道,同时对于不想要的“振动”假象更为敏感。尽管有以下所述的两级平滑(例如,平滑器319/325,等等),但是这种现象仍有可能会发生。例如,当定标因子接近于零时,由于只需要小的变化从‘小’到‘无’然后从‘无’到‘小’,因此转换到零和从零转换可以引起可听的振动。
监控器201所执行的可选平滑优选地利用可变时间常量来平滑输出定标因子,该常量取决于最新推导的瞬时定标因子值和平滑的定标因子的连续值之间绝对差的大小(“abs-dif’)。例如,如果abs-dif大于0.4(当然,小于等于1.0),则几乎不应用和没有任何平滑操作;应用小附加量的平滑给位于0.2和0.4之间的abs-diff值;低于0.2的值,时间常量是一个连续的abs-diff的逆函数。尽管这些值不是关键,但是发现它们减少了可听的振动假象。可选地,在一个模块的多频带版本中,定标因子平滑器时间常量还可以利用频率和时间一样,以以下所述图4A的频率平滑器413、415和417的方式来定标。
如上所述,可变矩阵203优选为一个固定的解码矩阵,该矩阵在矩阵输出具有可变的定标因子(增益)。每个矩阵输出声道可能具有(固定的)矩阵系数,如果已存在具有不同输入的一个编码器(代替混音源声道直接到下混音的阵列,这避免了需要不同的编码器),则该系数可能已经是用于该声道编码下混音系数。对于每个输出声道来说,该系数优选平方和是1.0。一旦已知了输出声道在哪里(如上述讨论的有关“主”矩阵),矩阵系数就是固定的;而控制每个声道输出增益的定标因子则是动态的。
以接收器电平计算初始数量的能量和公共能量之后,对此将如下进一步说明,包括应用到图2模块24-34的频域变换接收器的输入可由每个模块分组为频率子带。因此,对于每个频率子带,都存在一个初步定标因子(图2中的PSF)和一个最终的定标因子(图2中的SF)。矩阵203所产生的频域输出声道1-23每个都包括一组变换接收器(变换接收器的分成子带大小的组由同一定标因子处理)。该组频域变换接收器被通过频域到时域变换或变换函数205(下称为“逆变换”)分别转换为一组PCM输出声道1-23,该函数可能是监控器201的函数,但是为了简明起见未单独示出。监控器201可以交织产生的PCM声道1-23以提供单个交织的PCM输出流或让PCM输出声道作为单独的流。
图4A-4C示出了根据本发明一个方面的一个模块的功能方框图。该模块从一个监控器,诸如图2的监控器201接收两个或更多的输入信号流。每个输入包括复数值的频域变换接收器(bin)的总体。每个输入,从1到m,都被应用于计算每个接收器能量的一个函数或设备(诸如用于输入1的函数或设备401,和用于输入m的函数或设备403),该能量为每个变换接收器的实部和虚部值的平方和(为了简化附图只示出了用于两个输入的路径,1和m)。还将每个输入应用于一个计算模块输入声道上的每个接收器的公共能量的函数或设备405。在FFT实施例的情况下,可以通过取输入采样的交叉乘积来计算该公共能量(在两个输入的情况下,L和R,例如为,复数L接收器值的复数乘积的实部以及复数R接收器值的复数共轭)。使用实数值的实施例只需要交叉乘以每个输入的实数值。对于多于两个输入的情况,可以应用以下描述的特定的交叉乘法技术,即,如果全部符号相同,则给乘积一个正号,否则给它一个负号,并通过可能的正结果的数量与可能的负结果的数量之比来定标(总是存在两种情况:结果或者全部为正,或者全部为负)。
公共能量的成对计算
例如,假设输入声道对A/B包含了一个公共信号X以及各个、不相关的信号Y和Z:
A=0.707X+Y
B=0.707X+Z
这里,定标因子 0.707 = 0.5 提供了映射到最近输入声道的保留能量。
RMSEnergy ( A ) = A 2 t = A 2 = ( . 707 X + Y ) 2 = ( 0.5 X 2 + 0.707 XY + Y 2 )
= 0.5 X 2 + 0.707 XY + Y 2
由于X和Y不相关,
XY=0
所以: A 2 = 0.5 X 2 + Y 2
即,由于X和Y不相关,输入声道A的总能量是信号X和Y的能量之和。
同理:
B 2 = 0.5 X 2 + Z 2
由于X、Y和Z不相关,A和B的平均交叉乘积是:
AB = 0.5 X 2
因此,在输出信号由两个相邻输入声道平等共享的情况下,该声道还可以包含独立的、不相关信号,这些信号的平均交叉乘积等于在每个声道中公共信号分量的能量。如果公共信号不被平等地共享的话,即它偏向一个输入,那么平均交叉乘积将会是A和B中公共分量能量之间的几何平均,由此,通过声道幅度比的平方根进行归一化,能够推导出各个声道公共能量估计。如下所述,在平滑级之后计算实际的时间平均值。
更高阶公共能量计算
为了推导带有三个或更多输入的解码模块的公共能量,有必要通知所有输入信号的平均交叉乘积。简单地执行成对处理输入不能区别每对输入与全部输入的公共信号之间的各个输出信号。
例如,考虑三个输入声道,即A、B和C,这些声道由不相关的信号W、Y、Z和公共信号X构成:
A=X+W
B=X+Y
C=X+Z
如果计算平均交叉乘积,包含W、Y和Z组合的所有项都被消去,如在第二阶计算中一样,剩下X3的平均:
ABC = X 3
不幸的是,如果X是零平均值的时间信号,正如所期望的,那么它立方的平均值也将是零。不像平均X2,它对于任何非零的X值都是正值,但X3与X符号相同,因此正和负的贡献将趋于抵消。显然,这对于X的任何奇数幂也同理,X的奇数幂对应于奇数个的模块输入,但是大于2的偶指数也能够导致错误的结果;例如,四个分量的输入(X、X、-X、-X)将和(X、X、X、X)一样具有相同的乘积/平均值。
通过应用平均乘积技术的一种变型可以解决该问题。在平均之前,通过取该乘积的绝对值而去除每个乘积的符号。检查乘积的每一项的符号。如果它们符号相同,则将乘积的绝对值应用到平均器。如果符号中的任何一个与其他的符号不同的话,则平均该乘积的绝对值的负值。由于可能的同符号组合的数量可以不同于可能的不同符号组合的数量,因此将由相同符号组合和不同符号组合的数量之比构成的加权因子应用到求反绝对值乘积以进行补偿。例如,三输入模块有两种方式用于相同的符号,这两种方式来自于八种可能性,并留下六种可能的方式用于不同的符号,从而产生的定标因子是2/6=1/3。如果且仅仅当一个解码模块的全部输入存在公共的信号分量时,这种补偿才导致积分的或相加的乘积以正方向增长。
但是,为了不同阶模块的平均可以比较,它们全体必须具有相同的量。一个传统的第二阶相关包括平均量输入乘法,因此,平均具有能量维数或幂的数量。因此,还必须修改在更高阶相关中要平均的项以具有该幂的维数。对于第k阶相关来说,因此在对其进行平均之前,必须增加各个乘积绝对值到幂2/k。
当然,不论阶如何,如果需要的话,能够计算一个模块的各个输入能量,把它作为相应输入信号的平方的平均值,不需要首先将它增加到k次幂然后减少到第二阶数量。
回到图4A的描述,可以通过各自的函数或设备407、409和411将每个方块的变换接收器输出分组为子带。各子带例如可近似于人耳的关键频带。图4A-4C的实施例剩余的模块在每个子带上单独并独立地操作。为了简化附图,仅示出了在一个子带上的操作。
来自方块407、409和411的每个子带被分别地应用于频率平滑器或频率平滑函数413、415和417(下称为“频率平滑器”)。以下将说明频率平滑器的作用。分别应用来自频率平滑器的每个频率平滑的子带到可选的提供时域平滑的“快速”平滑器或平滑函数419、421和423(下称为“快速平滑器”)。尽管为优选,但是当快速平滑器的时间常量接近于产生输入接收器的前向变换(例如,图1监控器201中的前向变换)的方块长度时间时,可以省略快速平滑器。这些快速平滑器之所以快,是相对于“慢速”可变时间常量平滑器或平滑器函数425、427和429(下称为“慢速平滑器”)而言的,这些慢速平滑器接收该快速平滑器的各个输出。以下给出了快速和慢速平滑器时间常量值的一些实例。
因此,不论是通过前向变换的固有操作还是通过一个快速平滑器来提供快速平滑,都优选两级平滑动作,其中第二、较慢一级是可变的。但是,平滑的单独一级可提供令人可以接受的结果。
慢速平滑器的时间常量优选在一个模块内相互同步。这可能例如通过应用相同的控制信息给每个慢速平滑器以及配置每个慢速平滑器以相同方式应答所应用的控制信息而予以实现。以下将描述对控制慢速平滑器的信息的推导。
优选地,每对平滑器都以与图4A和图4B所示的对419/425、421/427和423/429所相同的方式串联,其中一个快速平滑器馈给一个慢速平滑器。串联结构的优点在于,第二级可抵抗在对输入处的短的快速信号峰值。但是,通过并行地配置这些平滑器对也可以获得相似的结果。例如,在并行结构中,可以在时间常量控制器的逻辑中处理串联结构中第二级对短的快速信号峰值的抵抗。
通过单极低通滤波器(“泄漏积分器”)诸如RC低通滤波器(在模拟的实施例中)或等同地,一个第一阶低通滤波器(在数字的实施例中)可以实现两级平滑器的每一级。例如,在一个数字的实施例中,每一个第一阶滤波器都可以被实现为“双四边形”滤波器,通常的第二阶IIR滤波器,其中将某些系数设置为零,以便该滤波器用作一个第一阶滤波器。可替换地,两个平滑器可以组合为一个单独的第二阶双四边形级,尽管如果它与第一(固定)级独立,计算第二(可变)级的系数值则较为简单。
应该注意到在图4A、4B和4C的实施例中,所有信号电平都被表示为能量(平方的)电平,除非由于取平方根而需要幅度。应用平滑到所应用信号的能量电平,以代替平均检测而进行平滑器RMS检测(平均检测平滑器由线性幅度馈给)。由于应用到这些平滑器的信号是平方的电平,因此这些平滑器可以比平均平滑器更为快速地响应信号电平的突然增加,这是由于平方函数放大了电平的增加。
因此,两级平滑器为每个输入声道能量的每个子带提供了时间平均值(慢速平滑器425提供了第一声道的平均值以及慢速平滑器427提供了第m声道的平均)并为输入声道公共能量的每个子带提供了平均值(由慢速平滑器429提供)。
慢速平滑器(425、427、429)的平均能量输出分别地应用到组合器431、433和435,其中(1)从每个输入声道的平滑能量电平中减去相邻能量电平(如果有的话)(例如,来自图2的监控器201),以及(2)从每个慢速平滑器的平均能量输出中减去更高阶相邻能量电平(如果有的话)(例如,来自图2的监控器201)。例如,接收输入3’(图1和2)的每个模块拥有两个相邻模块并接收补偿这两个相邻模块影响的相邻能量电平信息。但是,这些模块中没有一个模块是一个“更高阶”的模块(即,共享输入声道3’的全部模块是两-输入模块)。相反,模块28(图1和2)是一个拥有共享它其中一个输入的更高阶模块的模块的实例。因此,例如在模块28中,来自输入13’的慢速平滑器的平均能量输出接收更高阶的相邻电平补偿。
产生的用于每个模块输入的每个子带的“相邻补偿”能量电平被应用到一个函数或设备437,该函数或设备计算这些能量电平的指定前进的基本方向。可以计算方向性指示以作为加权能量输入的向量和。对于一个两输入模块,这简化成为平滑的输入信号能量电平和相邻补偿的输入信号能量电平的L/R比率。
例如,假设一个平面的环绕阵列,在该阵列中给出了声道的位置,如2-ples表示用于两个输入情况下的x、y坐标。假设中央的听众位于(0,0)。在归一化空间坐标中,左前声道位于(1,1)。右前声道位于(-1,1)。如果左输入幅度(Lt)是4以及右输入幅度(Rt)是3,那么使用这些幅度作为加权因子,指定的前进基本方向是:
(4*(1,1)+3*(-1,1))/(4+3)=(0.143,1)或者稍微偏向连接左和右的水平线上的中央的左边。
可替换地,一旦定义了一个主矩阵,那么就可以以矩阵坐标而不是以物理坐标来表示空间方向。在这种情况下,归一化平方和为1的输入幅度是该方向的有效矩阵坐标。在上述实例中,“方向”是(0.8,0.6)。换句话说,指定的前进基本方向是归一化平方和为1版本的相邻补偿平滑输入能量电平的平方根。方块337产生相同数量的输出,这些输出指示一个空间方向,正如存在该模块的输入(在本实例中为2)。
应用到方向确定函数或设备337的用于每个模块输入的每个子带的相邻补偿平滑能量电平,还可以被应用到计算相邻补偿互相关(“相邻补偿_xcor”)的函数或设备339。方块330还从慢速可变平滑器329接收用于每个子带的模块输入的平均公共能量作为一个输入,如果有的话,通过更高阶相邻能量电平在组合器335中已经补偿过了慢速平滑器的输出。在方块339中计算相邻补偿互相关以作为被用于每个模块输入声道的相邻补偿平滑能量电平的乘积的第M个根相除的更高阶补偿的平滑公共能量,这里M是输入的数量,以便推导出一个范围从1.0到-1.0的真实的数学相关值。优选地,从0到-1.0的值被取为0。相邻补偿_xcor提供了存在于其他未出现模块中的互相关的一个估计。
然后,将来自方块339的相邻补偿_xcor应用到一个加权设备或函数341,该设备利用相邻补偿方向信息加权相邻补偿_xcor以产生一个方向加权相邻补偿互相关(“方向加权_xcor”)。加权随着指定前进的基本方向从一个中央状态离开而增加。换句话说,不相等的输入幅度(以及因此能量也不相等)导致了方向加权_xcor成比例的增加。方向加权_xcor提供了声像压缩的一个估计。因此,在例如拥有左L和右R输入的两输入模块的情况下,加权随着该方向离开中央偏向左或者是右而增加(即,加权对于偏离中央的相同程度而言在任何方向都相同)。例如,在一个两输入模块的情况下,相邻补偿_xcor值由一个L/R或R/L比率来加权,以便非均匀信号分布促进方向加权_xcor趋向1.0。对于这样的一个两输入模块,
当R大于等于L时,
方向加权_xcor=(1-((1-相邻补偿_xcor)*(L/R))
以及
当R小于L时,
方向加权_xcor=(1-((1-相邻补偿_xcor)*(R/L))
对于具有多于两个输入的模块来说,根据相邻加权的_xcor计算方向加权_xcor例如需要,首先通过在1.0和0之间变化的“平均”度量代替比率L/R或R/L。例如,为了计算任何数量输入的平均度量,通过总的输入功率来归一化输入信号电平,并产生了归一化的输入电平,该电平能量(平方)和检测为1.0。每个归一化的输入电平被位于阵列中央的信号的类似归一化的输入电平相除。最小比值成将成为平均度量。所以,例如,对于三输入模块来说,其中一个输入的电平是零,因此平均度量是零,并且方向加权_xcor等于1。(在这种情况下,信号位于三输入模块的边界,在它两个输入中间的一条线上,并且一个两输入模块(分级较低的)判定指定前进的基本方向位于该条线上哪个位置,以及沿着这条线应该将输出信号扩展多宽。)
回到图4B的描述,进一步通过到函数或设备443的应用来加权方向加权_xcor以产生一个“有效的_xcor”,该设备应用一个“随机_xcor”加权。有效的_xcor提供了输入信号分布形状的一个估计。
随机_xcor是被平均输入能量的平方根相除的输入幅度的平均交叉乘积。通过假设输出声道为原始的模块输入声道,可以计算随机_xcor的值,以及计算由所有这些声道产生的xcor值,这些声道具有独立的、但电平相等的信号,并且被被动地下混音。根据这种解决途径,对于带有两个输入的三输出模块的例子,随机_xcor计算为0.333,对于带有两个输入的五输出模块(三个内部输出)来说,随机_xcor计算为0.483。对于每个模块,只需要计算随机_xcor值一次。尽管已经发现这些随机_xcor值提供了令人满意的结果,但是这些值并不是关键的,以及从系统设计者的判断来看还可以应用其他的值。随机_xcor值中的变化影响了信号分布系统操作的两种状态之间的分界线,如下所述。该分界线的精确位置并不关键。
可以考虑将函数或设备343所执行的随机_xcor加权作为一种重新归一化方向加权_xcor值,以便获得一个有效的_xcor:
有效_xcor=(方向加权_xcor-随机_xcor)/(1-随机_xcor),如果方向加权_xcor大于等于随机_xcor;
否则,有效_xcor=0
随着方向加权_xcor减少到低于1.0,随机_xcor加权加速了方向加权_xcor的减少,以便当方向加权_xcor等于随机_xcor时,有效_xcor的值等于0。由于一个模块的各输出表示沿一个圆弧或一条线的方向,小于零的有效_xcor值被认为是等于零。
从非相邻补偿的慢速和快速平滑输入声道的能量以及慢速和快速平滑输入声道的公共能量来推导用于控制慢速平滑器325、327和329的信息。特别是,函数或设备345响应于快速平滑输入声道的能量和快速平滑输入声道的公共能量,以计算一个快速非相邻补偿的互相关。函数或设备347响应于快速平滑输入声道能量来计算一个快速非相邻补偿方向(比率或向量,如上述结合方块337描述内容所讨论的)。函数或设备349响应于该慢速平滑输入声道的能量和慢速平滑输入声道的公共能量,以计算一个慢速非相邻补偿互相关。函数或设备351响应于慢速平滑输入声道的能量计算一个慢速非相邻补偿方向(比率或向量,如上讨论)。该快速非相邻补偿互相关、快速非相邻补偿方向、慢速非相邻补偿互相关以及慢速非相邻补偿方向以及来自方块341的方向加权_xcor,都被应用于一个设备或函数353,该设备或函数353提供用于控制可变慢速平滑器325、327和329以调整其时间常量(下称为“调整时间常量”)的信息。优选地,应用相同的控制信息给每个可变慢速平滑器。不象馈给时间常量选择方框的其他数量,这些数量比较快速和慢速度量,优选地使用方向加权_xcor而不参考任何的快速值,以便如果方向加权_xcor的绝对值大于一个门限,那么它可能会导致调整时间常量353以选择一个更为快速的时间常量。以下将阐述“调制时间常量”353操作的原则。
一般在一个动态音频系统中,都期望尽可能地使用位于一个静态值的慢速时间常量以最小化再现声场的可听中断,除非音频信号中发生了“新事件”,在这种情况下,期望控制信号来迅速地改变到一个新的静态值,然后保持在该值直到另一个“新事件”发生。典型地,音频处理系统已经利用一个“新事件”使得幅度变化相等。但是,当处理交叉乘积或互相关时,新事件和幅度并不总是相等:新事件可能引起互相关的减少。通过检测与模块操作有关的参数中的变化,即度量互相关和方向,模块的时间常量可以加速并根据需要快速地假设一种新的控制状态。
不正确的动态行为的后果包括漂移、振动(声道快速地开启和关掉)、脉动(电平的不自然变化),以及在多频带实施例中,还包括有鸣叫(在一个个频带的基础上振动和脉动)。这些影响中的一些对于隔离声道的质量尤为关键。
诸如图1和2的一个实施例应用解码模块的网格。这样的一种结构产生了两类的动态问题:模块中间和模块内部动态。另外,多个实现音频处理的方法(例如,宽带、使用FFT或MDCT线性滤波器组的多频带,或不同的滤波器组,关键频带或其他)每个都需要它自己的动态行为优化。
每个模块内基本的解码处理取决于输入信号能量比率的度量和输入信号互相关的度量,(具体来说,方向加权相关(方向加权_xcor),如上所述;图4B中方块341的输出),这些度量一起来控制模块输出中的信号分布。推导这种基本量需要平滑,该平滑在时域中需要计算这些量瞬时值的时间加权平均值。所需时间常量的范围相当的大:对于信号状态中的快速瞬变变化,该时间常量非常短(例如,1毫秒),到对于相关的较小值来说,时间常量又非常长(例如,150毫秒),这里瞬时变化有可能显著大于真实的平均值。
实现可变时间常量行为的一种普遍的方法是,在模拟中使用一个“加速”二极管。当瞬时电平超出平均电平一个门限量时,二极管产生了较短的有效时间常量。这种技术的一个缺点是在其他的稳定状态输入中的瞬间峰值可能导致平滑电平中的巨大变化,然后,该峰值将非常缓慢地衰变,以提供独立峰值的不自然加重,该峰值将会具有很少的可听结果。
结合图4A-4C的实施例描述的相关计算使得加速二极管(或等同使用DSP)的使用出现问题。例如,特定模块内的所有平滑器优选地拥有同步时间常量,以便它们的平滑电平是可比的。所以,优选一种全局(群)时间常量开关机制。另外,信号状态的快速变化并不必须与公共能量电平的增加相关联。为该电平使用一个加速二极管有可能产生偏置的、不精确的相关估计。因此,本发明各方面的实施例优选地使用两级平滑而不需要一个等同二极管的加速。相关和方向的估计可以至少根据这些平滑器的第一和第二级来推导以设置第二级的时间常量。
对于每一对平滑器(例如,319/325),第一级、固定的最后一级、时间常量可以被设置为一个固定值,诸如1毫秒。第二级、可变慢速级、时间常量可以例如在10毫秒(快速)、30毫秒(中间值)以及150毫秒(慢速)之间进行选择。尽管已经发现这些时间常量提供了令人满意的结果,但是它们的值并不是关键的,从系统设计者看来,还可以应用其他的值。另外,第二级时间常量值可以连续变化而不是离散的。选择时间常量可以不仅基于上述的信号状态,而且还可以基于一种使用“快速标记”的滞后机制,该机制用于保证一旦遇到了真正的快速转换,系统将保持在快速模式,以避免使用中间的时间常量,一直到信号状态重新启动慢速时间常量为止。这可能会有助于保证快速适应于新的信号状态。
选择使用三种可能的第二级时间常量中的哪一种可以根据以下用于两个输入情形的原则通过“调整时间常量”353来实现:
如果方向加权_xcor的绝对值小于第一参考值(例如,0.5)和快速非相邻补偿_xcor和慢速非相邻补偿_xcor之间的绝对差小于同一第一参考值,以及快速和慢速方向比率(每个比率的范围是+1到-1)之间的绝对差小于同一第一参考值,则使用慢速第二级时间常量,并将快速标记设定为真,以启动接下来的中间时间常量的选择。
否则,如果快速标记为真,快速和慢速非相邻补偿_xcor之间的绝对差大于同一第一参考值并小于第二参考值(例如,0.75),快速和慢速瞬时L/R比之间的绝对差大于第一参考值并小于第二参考值,以及方向加权_xcor的绝对值大于第一参考值并小于第二参考值,则选择中间的第二级时间常量。
否则,使用快速第二级时间常量,并设置快速标记为假,禁止接下来的中间时间常量的使用,直到再次选择了慢速时间常量。
换句话说,当所有三个条件都是小于第一参考值时,就选择慢速时间常量,当所有的条件位于第一参考值和第二参考值之间以及在先条件是慢速时间常量时,就选择中间的时间常量,当任何一个条件都大于第二参考值时,选择快速时间常量。
尽管已经发现了上述原则和参考值产生了令人满意的结果,但是这些并不是关键的,在系统设计者看来,还可以应用这些原则的变型或其他的原则,其中上述原则考虑到了快速和慢速互相关和快速和慢速方向。另外,可以进行其他的改变。例如,它可以简化,但是对于使用二极管加速类型的处理来说是同等有效的,但是具有群操作,以便如果模块中的任何一个平滑器处于快速模式,所有其他的平滑器也切换到快速模式。还可能期望对于时间常量确定和信号分布而言拥有单独的平滑器,用于时间常量确定的平滑器保持有固定的时间常量,而只有信号分布时间常量变化。
由于即使在快速模式中,平滑的信号电平也需要多个毫秒来匹配,时间延迟可以被内置于系统中以在应用控制信号到信号路径之前允许控制信号进行匹配。在一个宽带实施例中,可以将该延迟实现为信号路径中离散的延迟(例如,5毫秒)。在多频带(变换)版本中,该延迟是方块处理的自然结果,如果在该方块的信号路径矩阵变换之前对方块进行分析,可能不需要明确的延迟。
本发明各方面的多频带实施例可以和宽带版本一样使用相同的时间常量和原则,除非可以将平滑器的采样速率设置为被方块大小相除的信号采样速率(例如,方块速率),以便适当地调整在这些平滑器中所使用的系数。
在多频带实施例中,对于低于400Hz的频率,优选地将时间常量与频率相反地定标。在宽带版本中,在不同频率处不存在单独的平滑器是不可能的,因此,正如部分补偿,可应用一个缓和带通/预加重滤波器给输入信号到控制路径,以加重中间和上中间频率。该滤波器例如可以具有两极高通特性,其转角频率为200Hz,加上2极低通特性,其转角频率为8000Hz,加上一个预加重网络,该网络应用从400Hz提升到800Hz的6dB,以及从1600Hz提升到3200Hz的另一6dB。尽管已经发现这种滤波器是合适的,但是滤波器特性并不是关键的,就系统设计者看来还可以应用其他的参数。
除了时域平滑以外,本发明各方面的多频带版本优选地还应用频域平滑,如上结合图4A所述(频率平滑器413、415和417)。对于每个方块,可以利用滑动频率窗来平均化非相邻补偿能量电平,以便在把能量电平应用到接下来的如上所述的时域处理之前,将其调整到接近1/3-倍频程(关键频带)带宽。由于基于变换的滤波器组固有地具有线性频率分辨率,该窗的宽度(变换系数的大小)随着增加频率而增加,并且通常在低频率(低于大约400Hz)处该宽度只有一个变换系数宽。所以,应用到多频带处理的总平滑更加依赖于低频率处的时域平滑,以及在较高频率处的频域平滑,这里有时快速时间响应有可能更有必要。
回到图4C的描述,可以通过分别计算“优势”定标因子分量、“填充”定标因子分量和“过量端点能量”定标因子分量的设备或函数455、457和459,以及各个归一化器或归一化器函数361、363和365,和取优势和填充定标因子分量和/或填充和过量端点能量定标因子分量的相加组合中最大值的设备或函数367的组合来产生初步定标因子(在图2中,示为“PSF”),这些初步定标因子最终影响了优势/填充/端点信号分布。如果该模块是多个模块的其中之一,可发送该初步定标因子给监控器,诸如图2的监控器201。每一个初步定标因子都可以具有从0到1的范围。
优势定标因子分量
除了有效_xcor以外,设备或函数355(“计算优势定标因子分量”)从方块337接收相邻补偿方向信息并从本地矩阵369接收有关本地矩阵系数的信息,以便它可以确定N个最近输出声道(这里N=输入数量),这些输出声道能够被应用到加权求和以产生指定的前进基本方向坐标,并且该设备可以应用“优势”定标因子分量给输出声道以产生优势坐标。如果指定的前进基本方向碰巧与输出方向相一致,那么方块355的输出为一个定标因子分量,否则,该输出是给指定前进基本方向加括号的多个定标因子分量(每个子带的每个输入数量拥有一个定标因子分量)并且以适当的比例而被应用,以便就节约功率的意义来说摇摄或映射优势信号到正确的虚位置(即,对于N=2,两个指定的优势声道定标因子分量应该平方和为有效_xcor)。
对于一个两输入模块,所有的输出声道都在一条线或圆弧上,因此,存在一种自然的排序(从“左”到“右”),相当显而易见的是,声道都彼此相邻。对于上述的假设情况,正如所示的,模块具有带有正弦/余弦系数的两个输入声道和五个输出声道,可以假设指定的前进基本方向是(0.8,0.6),该方向位于中间左ML声道(.92,.38)以及中央C声道(.71,.71)之间。以上可以通过找到两个连续的声道而实现,这里L系数大于指定的前进基本方向L的坐标,以及它右边的声道具有一个小于优势L坐标的L系数。
就恒定功率的意义来说,给两个最近的声道分配该优势定标因子分量。为了完成分配,解答两个方程和两个未知的一个系统,这些未知是优势方向(SFL)左边的声道的优势分量定标因子分量,和指定前进基本方向(SFR)的相应的定标因子分量(为SFL和SFR解答这些方程)。
第一优势坐标=SFL*左声道矩阵值1+SFR*右声道矩阵值1
第二优势坐标=SFL*左声道矩阵值2+SFR*右声道矩阵值2
注意到左和右声道指的是给指定的前进基本方向加括号的声道,而不是模块的L和R输入声道。
解答是每个声道的倒数优势电平计算,并被归一化平方和为1.0,以及用作优势分布定标因子分量(SFL、SFR),每个分量用于其他声道。换句话说,对于坐标为C、D的信号来说,一个系数为A、B的输出声道的倒数优势值是AD-BC的绝对值。对于根据以下考虑的数字实例:
Antidom(ML声道)=abs(.92*.6-.38*.8)=.248
Antidom(C声道)=abs(.71*.6-.71*.8)=.142
(这里“abs”表示取绝对值)
归一化后者的两个数字到平方和为1.0分别产生了值.8678和.4969。因此,切换这些值到相对的声道,优势定标因子分量是:(注意到在方向加权之前,优势定标因子的值是有效_xcor的平方根):
ML dom sf=.4969*sqrt(有效_xcor)
C dom sf=.8678*sqrt(有效_xcor)
(优势信号比MidLout更接近于Cout)。
如果指定的前进基本方向碰巧精确地指向两个所选声道的其中一个,那么正如其他声道的优势定标因子分量一样,通过考虑所发生的可以更好地理解使用一个声道被归一化的antidom分量。假设一个声道的系数是[A、B]和其他声道的系数是[C、D],以及指定的前进基本方向坐标是[A、B](指向第一声道),那么:
Antidom(第一声道)=abs(AB-BA)
Antidom(第二声道)=abs(CB-DA)
注意到第一antidom值是零。当两个antidom信号被归一化成平方和是1.0时,第二antidom值也是1.0。当切换时,正如所期望的,第一声道接收一个1.0的优势定标因子分量(有效_xcor的次平方根)以及第二声道接收0.0。
当这种解决方法被扩展到具有多于两个输入的模块时,不再存在一种自然排序,这种排序当这些声道位于一条线或圆弧上时而发生。例如,图4B的方块337通过利用输入幅度在相邻补偿之后再次计算指定的前进基本方向坐标,并归一化坐标成平方和为1。然后,例如图4B的方块455识别N个最近的声道(这里N=输入数量),这些声道能够被应用于一个加权和以产生优势的坐标。(注意到:如果这些坐标是(x、y、z)空间坐标,那么能够计算距离或接近程度以作为坐标差平方的和。)因此,由于必须加权求和这些声道以产生该指定的前进基本方向,因此不能总是拾取N个最近的声道。
例如,假设声道的一个三角形:如图5中的Ls、Rs和Top馈给一个三输入模块。假设存在一起接近该三角形底部的三个内部输出声道,这些声道的模块本地矩阵系数分别是[.71、.69、.01]、[.70、.70、.01]和[.69、.71、.01]。假设指定的前进基本方向稍微低于三角形的中央,其坐标为[.6、.6、.53]。(注意:三角形中间的坐标是[.5、.5、.707]。)到指定前进基本方向的这三个最近的声道是位于三角形底板的那三个内部声道,但是它们不求和到使用0和1之间定标因子的优势坐标,因此从底部和顶部端点声道选择两个以分布该优势信号,并解决了三个加权因子的三个方程,以便完成该优势计算和进行到填充和端点计算。
在图1和2的实例中,只存在一个三输入模块,并且使用该模块来推导唯一的一个内部声道,这简化了计算。
填充定标因子分量
除了有效_xcor以外,设备或函数357(“计算填充定标因子分量”)还从方块341接收随机_xcor、方向加权_xcor,“EQUIAMPL”(“EQUIAMPL”在以下定义和说明),并从本地矩阵接收有关本地矩阵系数的信息(在相同填充定标因子分量不应用于所有输出的情况下,如以下结合图14B所说明的)。方块457的输出是用于每个模块输出(每个子带)的定标因子分量。
如上所述,当方向加权_xcor小于或等于随机_xcor时,有效_xcor是零。当方向加权_xcor大于等于随机_xcor时,用于全部输出声道的填充定标因子分量是:
填充定标因子分量=sqrt(1-有效_xcor)*EQUIAMPL
因此,当方向加权_xcor=随机_xcor时,有效_xcor是0,因此(1-有效_xcor)是1.0,从而填充幅度定标因子分量等于EQUIAMPL(保证了在该条件下输出功率=输入功率)。该点就是填充定标因子分量所达到的最大值。
当加权_xcor小于随机xcor时,一个或多个优势定标因子分量是0,以及当方向加权_xcor接近零时,填充定标因子分量也被减少到零:
填充定标因子分量=sqrt(方向加权_xcor/随机_xcor)*EQUIAMPL
因此,在边界处,当方向加权_xcor=随机_xcor时,填充的初步定标因子分量再次等于EQUIAMPL,以对于方向加权_xcor大于随机_xcor的情况来说,保证了与上述方程结果的连续性。
与每个解码器模块相关联的不仅是随机_xcor的一个值,而且是“EQUIAMPL”的一个值,如果这些信号被等同地分布,以便保留该功率时,该值是所有定标因子应该具有的一个定标因子值,即:
EQUIAMPL=平方根(解码器模块输入声道的数量/解码器模块输出声道的数量)
例如,对于一个具有三个输出的两输入模块:
EQUIAMPL=sqrt(2/3)=.8165
这里“sqrt()”指“()的平方根”
对于一个具有4个输出的两输入模块:
EQUIAMPL=sqrt(2/4)=.7071
对于一个具有5个输出的两输入模块:
EQUIAMPL=sqrt(2/5)=.6325
尽管已经发现这些EQUIAMPL值提供令人满意的结果,但是这些值并不是关键的,就系统设计者看来还可以应用其他的值。相对于用于“优势”状态(输入信号的最大相关)和“所有端点”状态(输入信号的最小相关)的输出声道的电平,对于“填充”状态(输入信号的中间相关)来说,EQUIAMPL值中的变化影响了输出声道的电平。
端点定标因子分量
除了相邻补偿_xcor(来自图4B的方块439)之外,设备或函数359(“计算过量端点能量定标因子分量”)接收各个第一到第m输入的平滑非相邻补偿能量(来自方块325和327),可选地,还从本地矩阵接收有关本地矩阵系数的信息(在模块的端点输出之一或两个都与一个输入不一致的情况下,该模块应用过量端点能量给两个输出,这两个输出的方向最接近于输入的方向,如以下所讨论的)。如果这些方向与输入方向相一致,那么方块359的输出是一个用于每个端点输出的定标因子分量,否则两个定标因子分量,其中用于每个输出的一个分量最接近于该端点,正如以下说明的。
但是,方块359所产生的过量端点能量定标因子分量不是唯一的“端点”定标因子分量。存在三个其他来源的端点定标因子分量(在单个、独立模块的情况下为两个定标因子分量):
首先,在一个特定的模块的初步定标因子计算中,这些端点对于方块335(和归一化器361)的优势信号定标因子分量是可能的候选。
其次,在图4C的方块357(和归一化器363)的“填充”计算中,将这些端点作为可能的填充候选与所有的内部声道一起来处理。可应用任何非零填充定标因子分量给所有的输出,甚至应用于端点和所选的优势输出。
最后,如果存在多个模块的一个网格,监控器(诸如图3实例中的监控器201)执行最终、第四、“端点”声道的分配,如以上结合图2和3所述。
为了方块459根据相邻补偿_xcor计算“过量端点能量”定标因子分量,所有内部输出的总能量被反射回到模块的输入,以估计每个输入贡献了多少内部输出的能量(在输入“n”的内部能量),以及使用该能量来计算在与一个输入相一致的每个模块输出处(即,端点)的过量端点能量定标因子分量。
还需要反射内部能量回到输入,以便提供监控器,诸如图2的监控器201所需要的信息,以计算相邻电平和更高阶的相邻电平。在图6A和6B中示出了一种计算在每个模块输入处内部能量的贡献以及为每个端点输出确定过量端点定标因子分量的方法。
图6A和6B是功能方框图,其分别示出了在诸如图2模块24-34中的任何一个模块中,一种适当的安排用于(1)响应于每个输入即从1到m的总能量,为模块的每个输入即从1到m,产生总的估计内部能量,以及(2)响应于相邻补偿_xcor(参见图4B,方块439的输出),为每个模块端点产生一个过量端点能量定标因子分量。监控器需要用于一个模块的每个输入的总的估计内部能量,(图6A),在一个多模块的结构中,以及在任何情况下,由模块本身来产生过量端点能量定标因子分量。
使用在图4C的方块455和457中推导的定标因子分量以及其他信息,图6A的结构计算每个内部输出(而不是它的端点输出)处总的估计能量。使用计算的内部输出能量电平,它将每个输出电平乘以与到每个输入的输出有关的矩阵系数[“m”个输入,“m”个乘法器],以提供到该输出的该输入的能量分布。对于每个输入,它对所有内部输出声道的全部能量贡献求和以获得该输入的总内部能量贡献。将每个输入的该总的内部能量贡献报告给监控器,并由模块使用它来为每个端点输出计算过量端点能量定标因子分量。
详细地参考图6A,用于每个模块输入的平滑的总能量电平(优选为,非相邻补偿)被应用于一组乘法器,一个乘法器用于模块的每一内部输入。为了简化表示,图6A示出了两个输入,即“1”和“m”以及两个内部输出“X”和“Z”。用于每个模块输入的平滑的总能量电平被乘以一个(模块的本地矩阵的)矩阵系数,该系数与其中的一个模块内部输出的特定输入有关(注意矩阵系数是其自己的倒数,因为矩阵系数平方和是1)。对于输入和内部输出的每一组合都进行以上乘法运算。因此,如图6A所示,可将在输入1的平滑的总能量电平(例如,可以在图4B的慢速平滑器425的输出而获得)应用到一个乘法器601,该乘法器将该能量电平乘以一个与输入1的内部输出X有关的矩阵系数,以在输出X提供一个定标的输出能量电平分量X1。同理,乘法器603、605和607提供了定标的能量电平分量Xm、Z1和Zm。
根据相邻补偿_xcor以幅度/功率的方式,在组合器611和613中对用于每个内部输出的能量电平分量(X1和Xm;Z1和Zm)进行求和。如果到一个组合器的各输入同相,这通过值为1.0的相邻加权互相关予以指示,那么这些输入的线性幅度相加。如果各输入不相关,这通过值为零的相邻加权互相关予以指示,那么这些输入的能量电平相加。如果互相关位于1和0之间,那么求和就是部分为幅度求和并且部分为功率求和。为了正确地对每个组合器的输入进行求和,同时计算幅度求和以及功率求和,并分别通过相邻补偿_xcor和(1-相邻加权_xcor)对它们加权。为了获得加权求和,取功率求和的平方根以获得一个等同的幅度,或者平方该线性幅度求和以在平方该加权求和之前而获得它的功率电平。例如,采用后者方法(功率的加权求和),如果幅度电平是3和4,相邻加权_xcor是,幅度求和则为3+4=7,或者功率电平是49以及功率能量求和是9+16=25。因此加权求和是0.7*49+(1-0.7)*25=41.8(功率能量电平),或者取平方根,即6.47。
在乘法器613和615中,将求和产物(X1+Xm;Z1+Zm)乘以用于每个输出X和Z的定标因子分量,以在每个内部输出产生总的能量电平,并可以将能量电平标识为X’和Z’。从方块467(图4C)获得用于每个内部输出的定标因子分量。注意到来自方块459(图4C)的“过量端点能量定标因子分量”不会影响内部输出,并且也不包含在图6A结构所执行的计算中。
通过将每个能量电平乘以一个(模块本地矩阵的)矩阵系数,可以将在每个内部输出的总的能量电平,X’和Z’,反射回到模块的各个输入,该系数与每个模块输入的特定输出有关。对于内部输出和输入的每个组合都执行上述乘法。因此,如图6A所示,应用在内部输出X的总的能量电平X’给一个乘法器617,该乘法器将能量电平乘以一个以输入1的内部输出X有关的矩阵系数(该系数与其倒数相同,如上所述),以在输入1提供一个定标的能量电平分量X1’。
应该注意到当第二阶值,诸如总的能量电平X’,通过一个第一阶值,诸如一个矩阵系数加权时,则需要一个第二阶加权。这等同于利用能量的平方根来获得一个幅度,将该幅度乘以该矩阵系数并平方相乘的结果以得到一个能量值。
同理,乘法器619、621和623提供定标的能量电平Xm’、Z1’和Zm’。与每个输出有关的能量分量被以幅度/功率的方式根据相邻补偿_xcor在组合器625和627中进行求和,如上结合组合器611和613所述。组合器625和627的输出分别表示用于输入1和m的总的估计内部能量。在一个多模块网格的情况下,发送该信息给监控器,诸如图2的监控器201,以便该监控器可以计算相邻电平。监控器从与该输入连接的全部模块请求每个输入的全部的总的内部能量贡献,然后它通知每个模块,对于它的每个输入,有哪些全部的其他总计内部能量贡献之和是来自与该输入连接的全部其他模块。结果是用于该模块输入的相邻电平。以下将进一步描述产生相邻电平信息。
该模块还需要每个输入1和m所贡献的总的估计内部能量,以计算用于每个端点输出的过量端点能量定标因子分量。图6B示出了可以计算多少定标因子分量信息。为了简化表示,仅仅示出了计算用于一个端点的定标因子分量信息,应该理解对于每个端点输出都可以执行类似的计算。在组合器或组合函数629中,从用于同一输入即在本实例中为输入1的平滑的总输入能量中减去一个输入,诸如输入1所贡献的总的估计内部能量(例如在图4B的慢速平滑器425的输出,获得输入1的相同的平滑的总能量电平,并将它应用到一个乘法器601)。在除法器或除法功能631中通过同一输入1的平滑的总能量电平除以减法的结果。在平方根计算器或平方根函数633中取相除结果的平方根。应该注意到,除法器或除法函数631(以及这里所述的其他除法器)的运算应该包括零分母的一个测试。在这种情况下,可以将商设置为零。
如果只有一个单个的、单独模块,因此,通过依靠已经确定优势、填充和过量端点能量定标因子来确定端点初步定标因子分量。
所以,包括端点的全部输出声道已经分配了诸定标因子,并且其中一个声道可以继续使用它们来执行信号路径矩阵化。但是,如果存在一个多模块的网格,每个模块已经分配了一个端点定标因子给馈给模块的每个输入,因此具有与该输入相连接的多于一个的模块的每个输入拥有多个定标因子分配,其中一个定标因子来自每个相连接的模块。在这种情况下,监控器(诸如图2实例的监控器201)执行最终的、第四、“端点”声道的分配,如以上结合图2和3所述。该监控器确定最终的端点定标因子,该最终的定标因子覆盖了各个模块所分配的作为端点定标因子的所有定标因子。
在实际的安排中,不确定即实际上存在一种对应于端点位置的输出声道方向,尽管这种情况经常发生。如果不存在任何物理端点声道的话,但是存在超越该端点的至少一个物理声道,那么该端点能量将被移动到最接近端点的物理声道,就好像它是一个优势信号分量。在水平阵列中,这是两个最接近端点位置的声道,它们优选使用一个恒定能量分布(两个定标因子平方和是1.0)。换句话说,当声音方向不对应于实际声道的位置时,即使该方向是一个端点信号,那么它将优选被移动到最近可用的一对实际声道,因为如果声音缓慢移动,那么该端点信号将突然从一个输出声道跳到另一个输出声道。因此,当不存在任何物理的端点声道时,将一个端点信号移动到一个最接近端点位置的声道是不适当的,除非不存在任何超越该端点的物理声道,在这种情况下,没有其他选择除了移动到最接近端点位置的一个声道。
实现这种移动的另一种方法是对于监控器,诸如图2的监控器201根据一种假设即每个输入还具有一个相应的输出声道以产生“最终的”定标因子(即,每个相应的输入和输出都是相一致的,它们表示相同的位置)。然后,如果不存在实际的直接对应于一个输入声道的输出声道,那么一个输出矩阵,诸如图2的可变矩阵203,可以将一个输出声道映射到一个或更多适当的输出声道。
如上所述,应用每个“计算定标因子分量”设备或函数455、457和459的输出给各个归一化设备或函数461、463和465。只所以想要这些归一化器是因为,方块455、457和459所计算的定标因子分量都是基于相邻补偿电平,而最终的信号路径矩阵化(在主矩阵中,在多个模块的情况下,或在本地矩阵中,在单独模块的情况下)包括非相邻补偿电平(应用到矩阵的输入信号未经相邻补偿)。典型地,通过归一化器减少了定标因子分量的值。
一种实现归一化器的合适方法如下所述。每个归一化器(如从组合器331和333)接收用于每个模块输入的相邻补偿的平滑输入能量,(如从方块325和327)接收用于每个模块输入的非相邻补偿的平滑输入能量,从本地矩阵接收本地矩阵系数信息,以及方块355、357和359的各个输出。每个归一化器为每个输出声道计算一个想要的输出,并为每个输出声道计算一个实际的输出电平,这里假设定标因子是1。然后,通过为每个输出声道所计算的实际输出电平除以用于每个输出声道的计算的想要输出,并取商的平方根以提供一个潜在的初步定标因子,以将它应用到“求和和/或其中较大者”367。考虑以下的实例。
假设两输入模块的平滑的非相邻补偿输入能量电平是6和8,以及相应的相邻补偿能量电平是3和4。还假设中央内部输出声道的矩阵系数=(.71,.71),或其平方:(0.5,0.5)。如果模块为该声道(基于相邻补偿电平)选择一个初始的定标因子0.5,或其平方=0.25,那么该声道的想要的输出电平是(为了简单起见,假设纯能量求和并使用相邻补偿电平):
.25*(3*.5+4*.5)=0875。
由于实际的输入电平是6和8,如果上述值0.25的定标因子(它的平方)被用于最终的信号路径矩阵化,那么输出电平将是:
.25*(6*.5+8*.5)=1.75
代替想要的输出电平0.875。当使用非相邻补偿电平时,归一化器调整该定标因子以得到想要的输出电平。
实际输出,假设SF=1,=(6*.5+8*.5)=7.
(想要的输出电平)/(实际的输出假设SF=1)=0.875/7.0=0.125=平方的最终定标因子
用于该输出声道的最终定标因子=sqrt(0.125)=0.354,代替了初始计算值0.5。
“求和和/或其中最大者”367优选地对用于每个子带的每个输出声道的相应填充定标因子分量和端点定标因子分量求和,并选择用于每个子带的每个输出声道的优势和填充定标因子分量中较大的一个。函数“求和和/或其中较大者”367的优选形式可以如图7所示来表征。即,应用优势定标因子分量和填充定标因子分量给一个设备或函数701,该设备或函数选择用于每个输出的定标因子分量中较大的一个(“其中较大者”701)并应用它们给相加组合器或组合函数703,该组合器对来自其中较大者701的定标因子分量与用于每个输出的过量端点能量定标因子求和。可替换地,当“求和和/或其中最大者”467为:(1)在区域1和区域2中求和,(2)取区域1和非1区域2中较大的一个,或(3)选择区域1中最大的一个并在区域2中求和,从而可以获得可接受的结果。
图8是本发明的一个方面响应于互相关的度量而产生定标因子分量的理想化表示方式。该图特别有利于参考图9A和9B到图16A和16B的实例。如上所述,可以将定标因子分量的产生考虑为具有两个区域或操作区域:第一区域,区域1,该区域的边界是“全部优势”和“均匀填充”,其中可用的定标因子分量是优势和填充定标因子分量的一个组合,还有第二区域,区域2,其边界是“均匀填充”和“全部端点”,其中可用的定标因子分量是填充和过量端点能量定标因子分量的一个组合。该“全部优势”边界状态发生在当方向加权_xcor是1时。区域1(优势加填充)从该边界延伸至方向加权_xcor等于随机_xcor的该点,即“均匀填充”状态。“全部端点”边界状态发生在当方向加权_xcor是零时。区域2(填充加端点)从“均匀填充”边界状态延伸到“全部端点”边界状态。可以考虑“均匀填充”边界点位于区域1或区域2中。如以下所述,精确的边界点不是关键。
如图8中所示例,随着优势定标因子分量值的减少,填充定标因子分量的值在增加,以随着优势定标因子分量到达一个零值而到达最大值,在该点上,随着填充定标因子分量的值减少,过量端点能量定标因子分量的值在增加。当该结果应用给接收模块输入信号的适当矩阵时,它时一个输出信号分布,当输入信号高度相关时,该信号分布提供了紧凑的声像,并随相关度的减少而从紧凑到宽扩展(加宽),并随着相关继续减少到高度不相关,而逐渐地从宽分离或向外弯曲成多个声像,每个声像位于一个端点上。
尽管期望对于完全相关的情况来说存在单个空间紧凑的声像(在输入信号的指定前进基本方向),并且对于全部不相关的情况来说,存在多个个空间紧凑的声像(每个声像位于一个端点上),可以以除了图8示例中所示以外的方式实现这些极端之间的空间扩展声像。例如,对于随机_xcor=方向加权_xcor的情况来说,填充定标因子分量值达到一个最大值并不关键,或者三个定标因子分量的值如图所示那样线性变化也并不关键。对图8的关系(以及这里表达的成为图基础的方程)和互相关适当度量和定标因子值之间的其他关系的修改还是本发明所期望的,其中这些值能够为互相关度量产生紧凑优势以宽扩展到紧凑端点信号分布,以从高度相关到高度不相关。例如,通过应用诸如如上所述的双区域方法来代替获得一种紧凑优势以宽扩展到紧凑端点信号分布,可以通过数学方法而获得这些结果,诸如一种应用基于伪逆的方程解决方法。
输出定标因子实例
一系列理想化表示,如图9A和9B到图16A和16B,示例了用于输入信号状态的各实例的一个模块的输出定标因子。为了简化起见,假设单个、单独的模块,以便它为可变矩阵产生的诸定标因子是最终的定标因子。该模块和相关联的可变矩阵具有两个输入声道(诸如左L和右R声道),这两个输入声道与两个端点输出声道相一致(还可以是指定的L和R)。在该系列的实例中,存在三个内部输出声道(诸如左中Lm,中间C,和右中Rm)。
“全部优势”、“组合优势和填充”、“均匀填充”、“混合填充和端点”以及“全部端点”的意义将进一步结合图9A和9B到图16A和16B的实例予以示例。在每对图(例如,图9A和9B)中,“A”图所示为两个输入左L和右R的能量电平,以及“B”图所示为用于五个输出,即左L、左中LM、中间C、右中RM和右R的定标因子分量。这些图未按比率绘制。
在图9A中,输入能量电平是相等的,如两个垂直箭头所示。另外,方向加权_xcor(和有效_xcor)是1.0(完全相关)。在本实例中,只存在一个非零的定标因子,如图9B所示为位于C的单个垂直箭头,并将该定标因子应用给中间内部声道C输出,以产生空间上紧凑的优势信号。在该实例中,输出位于中间(L/R=1),因此,碰巧与中间的内部输出声道C相一致。如果不存在相一致的输出声道,则以适当的比例应用该优势信号给最近的输出声道,以便移动该优势信号到它们之间正确的虚位置。例如,如果不存在中间输出声道C,左中LM和右中RM输出声道将具有非零定标因子,以使得该优势信号等同应用于LM和RM输出。在完全相关的情况下(全部优势信号),不存在填充和端点信号分量。因此,方块467(图4C)所产生的初步定标因子与方块361所产生的归一化优势定标因子分量相同。
在图10A中,输入能量电平是相等的,但方向加权_xcor小于1.0并且大于随机_xcor。因此,定标因子分量是区域1中的分量-组合的优势和填充定标因子分量。归一化优势定标因子分量(来自方块361)和归一化填充定标因子分量(来自方块363)中较大者(通过367方块)被应用于每个输出声道,以便优势定标因子位于和图10B中相同的中央输出声道C处,但较小一些,并且填充定标因子出现在每个其他的输出声道,即L、LM、RM和R(包括端点L和R)。
在图11A中,输入能量电平保持相等,但方向加权_xcor=随机_xcor。因此,图11的定标因子是区域1和2之间边界状态的定标因子-均匀填充状态,其中不存在优势或端点定标因子,仅仅填充定标因子在每个输出具有相同的值(因此,被“均匀填充”),如在每个输出的同一箭头所指示的。在本例中填充定标因子电平达到它们的最大值。如以下所讨论的,可以诸如以渐缩的方式不均匀地应用该填充定标因子,这种方式取决于输入信号状态。
在图12A中,输入能量电平保持相等,但方向加权_xcor小于随机_xcor且大于零(区域2)。因此,如图12B所示,存在填充和端点定标因子,但没有优势定标因子。
在图13A中,输入能量电平保持相等,但方向加权_xcor是零。因此,如图13B中所示的定标因子是全部端点边界状态的定标因子。不存在内部输出定标因子,而只有端点定标因子。
在图9A/9B到图13A/13B的实例中,由于两个输入的能量电平相等,因此方向加权_xcor(诸如由图4B的方块441产生的)和相邻补偿_xcor(诸如由图4B的方块439产生的)相同。但是,在图14A中,输入能量电平却不相等(L小于R)。尽管在本例中相邻加权_xcor等于随机_xcor,但是如图14B所示产生的定标因子并不是均匀应用到如在图11A和11B实例中所示的全部声道的填充定标因子。相反,不相等的输入能量电平引起了方向加权_xcor中成比例的增加(与指定前进基本方向离开它中央位置的程度成比例),以便该方向加权变得大于相邻补偿_xcor,籍此引起了定标因子更加偏向全部优势而被加权(如图8中所示例的)。这是一种期望的结果,因为显著L或R加权的信号不应该具有宽的带宽;它们应该具有接近L或R声道端点的紧凑带宽。如图14B所示,所产生的输出是一个位于与R输出相比更接近于L输出的非零优势定标因子(相邻补偿方向信息,在这种情况下,碰巧精确地定位优势分量在左中LM位置),减少了填充定标因子幅度,并且不需要端点定标因子(方向加权推送该操作到图8的区域1(优势和填充组合))。
对于对应于图14B的定标因子的五个输出,输出可以如下表示为:
Lout=Lt(SFL)
MidLout=((.92)Lt+(.38)Rt))(SFMidL)
Cout=((.45)Lt+(.45)Rt))(SFC)
MidRout=((.38)Lt+(.92)Lt))(SFMidR)
Rout=Rt(SFR)
因此,在图14B的实例中,即使用于四个输出中除了MidLout以外每一个的定标因子(SF)都相等(填充),那么相应的信号输出也不相等,这是因为Lt大于Rt(导致了向左的更多信号输出)和在中左的优势输出大于定标因子指示。由于指定的前进基本方向与中左输出声道相一致,因此Lr和Rt之比和用于中左输出声道的矩阵系数相同,即0.92到0.38。假设上述系数值是用于Lt和Rt的实际幅度。为了这些输出电平,将这些电平乘以相应的矩阵系数,相加,并通过各个定标因子对其定标:
输出幅度(输出声道_sub_i)=sf(i)*(Lt_系数(i)*Lt+Rt_系数(i)*Rt)    
尽管优选地考虑幅度和能量相加之间的组合(如在与图6A有关的计算中),但是在本例中,互相关值相当高(大的优势定标因子),可以执行通常的相加:
Lout=0.1*(1*0.92+0*0.38)=0.092
MidLout=0.9*(0.92*0.92+0.38*0.38)=0.900
Cout=0.1*(0.71*0.92+0.71*0.38)=0.092
MidRout=0.1*(0.38*0.92+0.92*0.38)=0.070
Rout=0.1*(0*0.92+1*0.38)=0.038
因此,该实例表明在Lout、Cout、MidRout和Rout的信号输出不相等,因为Lt大于Rt,即使用于这些输出的定标因子相同。
填充定标因子可以相等地分布给输出声道,如在图10B、11B、12B和14B的实例中所示。可替换地,填充定标因子分量而不是一样的,可以通过某种方式随着位置而发生变化,即作为优势(相关)和/或端点(不相关)输入信号分量(或等同地,作为方向加权_xcor值的函数)的函数。例如,对于方向加权_xcor的中等高的值,填充定标因子分量幅度可以中凸地弯曲,以便接近指定前进基本方向的输出声道可以比远离的声道接收更多的信号电平。对于方向加权_xcor=随机_xcor来说,填充定标因子分量幅度可以变平为一种均匀分布,对于方向加权_xcor小于随机_xcor,该幅度可能凹度地弯曲,以有利于接近端点方向的声道。
在图15B和图16B中阐述这些弯曲的填充定标因子幅度的各实例。图15B来自一个输入(图15A)的输出结果与上述图10A中的相同。图16B来自一个输入(图16A)的输出结果与上述图12B中的相同。
模块和监控器之间的通信
关于相邻电平和更高阶的相邻电平
一个多模块结构中的每个模块,诸如图1和2的实例,需要两种机制以便支持它和一个监控器之间的通信,诸如图2的监控器201:
(a)一种机制是挑选和报告监控器所需的信息以计算相邻电平和更高阶相邻电平(若有的话)。监控器所需的信息是例如由图6A的结构所产生的,属于每个模块输入的总的估计内部能量。
(b)另一种机制是从监控器接收和应用相邻电平(若有的话)和更高阶相邻电平(若有的话)。在图4B的实例中,在各个组合器431和433中从每个输入的平滑能量电平中减去该相邻电平,在各个组合器431、433和435中从每个输入的平滑能量电平和整个声道上的公共能量中减去更高阶相邻电平(若有的话)。
一旦监控器知道了每个模块的每个输入的全部的总估计的内部能量贡献:
(1)监控器确定是否每个输入的总估计内部能量贡献(根据与该输入相连接的全部模块进行求和)超过了该输入的总的可用信号电平。如果该和超过了总共可用的信号电平,那么监控器定标回与该输入相连接的每个模块所报告的每个报告的内部能量,以便它们求和到总的输入电平。
(2)监控器通知在每个输入的其他内部能量贡献以作为该输入的所有其他内部能量贡献的和(若有的话)。
更高阶(HO)相邻电平是一个或更多更高阶模块的相邻电平,这些模块共享较低等级模块的输入。对相邻电平的上述计算仅仅与在特定输入的模块有关,这些模块具有相同的分级:所有的三输入模块(若有的话),然后是所有的两输入模块,等等。一个模块的HO相邻电平是在该输入的所有更高阶模块的全部相邻电平之和(即,在一个两输入模块输入的HO相邻电平是全部第三、第四和更高阶模块的和,若有的话,这些模块共享两输入模块的节点)。一旦一个模块知道了它的HO-相邻电平位于它输入的一个特定输入,它将从该输入的总输入能量电平中减去该电平,以及相同分级等级相邻电平,以获得在该输入节点的相邻补偿电平。这在图4B中示出,其中分别在组合器431和433中从可变慢速平滑器425和427的输出中减去用于输入1和输入m的相邻电平,分别在组合器431、433和435中从可变慢速平滑器425、427和429的输出中减去用于输入1、输入m的更高阶相邻电平和公共能量。
使用用于补偿的相邻电平和HO相邻电平之间的一个区别在于,HO相邻电平还用于补偿整个输入声道上的公共能量(例如,通过在组合器435中减去HO相邻电平而实现)。这种区别的基本原理是模块的公共电平不受同一分级的相邻模块的影响,但是它却能够受到共享模块的所有输入的更高阶模块的影响。
例如,假设输入声道Ls(左环绕)和Rs(右环绕)以及Top,在它们之间三角形的中间具有内部输出声道(升高的圆环后),加上Ls和Rs之间一条线上的一个内部输出声道(主水平圆环后),前者的输出声道需要一个三输入模块来恢复对于全部三个输入所公共的信号。然后,后者位于两个输入(Ls和Rs)之间一条线上的输出声道需要一个两输入声道。但是,两输入模块所观测到的总的公共信号电平包括三输入模块的公共单元,这些公共单元不属于后者的输出声道,因此,从两输入模块的公共能量中减去HO相邻电平的成对乘积的平方根,以确定多少公共能量是应该单独归于它的内部声道(所述的后者)。因此,在图4B中,平滑的公共能量电平(来自方块429)已经从其中减去推导出的HO公共电平以产生一个相邻补偿公共能量电平(来自组合器435),模块使用该电平来计算(在方块439)相邻补偿_xcor。
可以在模拟电路中实现本发明及其各个方面,或者更有可能将其实施为在数字信号处理器、编程的通用数字计算机、和/或专用数字计算机中所执行的软件功能。模拟和数字信号流之间的接口可以以适当的硬件和/或作为软件和/或固件中的功能来实现。尽管本发明及其各个方面可以包括模拟或数字信号,但在实际的应用中,绝大多数或全部的处理功能都有可能在数字信号流上的数字域中被执行,其中通过采样来表示音频信号。
应该明白,对于本领域的普通技术人员而言将会显而易见的是,可以实现对本发明及其各方面的其他变型和修改,本发明并不局限于这里描述的这些具体实施例。因此,本发明意图覆盖任何和全部的修改、变型或等同物,这些都落入了这里所公开和要求保护的基本原理的精神和范围内。