用于在虚拟扬声器阵列上渲染音频的信号处理方法和系统与流程

文档序号:11460272阅读:445来源:国知局
用于在虚拟扬声器阵列上渲染音频的信号处理方法和系统与流程

相关申请的交叉引用

本申请是2016年2月18日提交的,名为“signalprocessingmethodsandsystemsforrenderingaudioonvirtualloudspeakerarrays(用于在虚拟扬声器阵列上渲染音频的信号处理方法和系统)”的u.s.临时申请no.62/296,934的非临时申请并且要求其的优先权,其全部内容全部并入本文。



背景技术:

环绕听者的扬声器的虚拟阵列通常被使用在创建用于耳机递送的音频的虚拟空间声学环境中。由该扬声器创建的声场能够被操纵来递送相对于用户移动的声源的效果或者在用户移动他们的头部时使该源稳定在固定空间位置处。这些是对通过虚拟现实(vr)系统中的耳机的音频递送而言非常重要的操作。

被处理以用于向虚拟扬声器的递送的多声道音频被组合以将一对信号提供给左右耳机扬声器。多声道音频的组合的此过程被称为双耳渲染(binauralrendering)。实现此渲染的普通接受的最有效方式是使用实现头相关传递函数(hrtf)的多声道滤波系统。在基于多个——例如m(其中m是任意数字)个虚拟扬声器的系统中,双耳渲染将需要具有2m个hrtf滤波器,因为每扬声器使用一对滤波器来对扬声器和用户的左右耳之间的传输函数进行建模。



技术实现要素:

执行双耳渲染的常规手段要求大量计算资源。沿着这些思路,当hrtf被表示为n阶的有限脉冲响应(fir)滤波器时,每个双耳输出要求每声道2mn个乘法和加法运算。这样的运算会使被分配用于例如虚拟现实应用中的双耳渲染的有限资源。

与执行要求大量计算资源的双耳渲染的常规手段相比,改进的技术涉及将均衡实现状态空间模型应用于每个hrtf来降低有效fir或甚至无限脉冲响应(iir)滤波器的阶数。沿着这些思路,经由例如z变换,由头相关脉冲响应滤波器(hrir)导出每个hrtfg(z)。hrir的数据可以被用来经由关系g(z)=c(zi-a)-1b+d构造hrtf的第一状态空间表示[a,b,c,d]。该第一状态空间表示不是唯一的,并且因此对于fir滤波器,a和b可以被设定为简单的二值阵列,而c和d包含hrir数据。此表示导致简单形式的格拉姆矩阵(gramian)q,其本征向量提供使通过hankel范数测量的系统增益最大化的系统状态。此外,q的因式分解提供向均衡状态空间的变换,其中,格拉姆矩阵等于q的本征值的对角矩阵。通过仅考虑与大于某些阈值的本征值相关联的那些状态,可以截取hrtf的均衡状态空间表示来提供良好逼近原始hrtf的近似hrtf,同时使所需的计算量减少多达90%。

改进技术的一个一般方面包括一种在人类听者的左耳和右耳中渲染声场的方法,该声场由多个虚拟扬声器产生。该方法能包括:由声音渲染计算机的处理电路获得多个头相关脉冲响应(hrir),声音渲染计算机被配置为在人类听者的左耳和右耳中渲染该声场,多个hrir中的每一个与多个虚拟扬声器中的虚拟扬声器和人类听者的耳朵相关联,多个hrir中的每一个包括响应于由该虚拟扬声器产生的音频脉冲而产生的在左耳或右耳中以指定采样速率产生的声场的样本。该方法还能包括:生成多个hrir中的每一个的第一状态空间表示,第一状态空间表示包括矩阵、列向量和行向量,第一状态空间表示的矩阵、列向量和行向量中的每一个具有第一大小。该方法能进一步包括:执行状态空间降缩操作来生成多个hrir中的每一个的第二状态空间表示,第二空间表示包括矩阵、列向量和行向量,第二状态空间表示的矩阵、列向量和行向量中的每一个具有比第一大小小的第二大小。该方法能进一步包括:基于该第二状态表示,生成多个头相关传递函数(hrtf),多个hrtf中的每一个对应于多个hrir中的相应hrir,与相应hrir相对应的hrtf在乘以由与该相应hrir相关联的虚拟扬声器产生的频域声场后产生在人类听者的耳朵中渲染的声场的分量。

执行状态空间降缩操作能包括对于所述多个hrir中的每个hrir,基于该hrir的第一状态空间表示,生成相应gramian矩阵,该gramian矩阵具有按幅值的降序布置的多个本征值;以及基于gramian矩阵和多个本征值,生成该hrir的第二状态空间表示,其中第二大小等于所述多个本征值中大于指定阈值的本征值的数目。

生成多个hrir中的每个hrir的第二状态空间表示包括形成变换矩阵,变换矩阵在被应用于基于该hrir的第一状态空间表示的gramian矩阵时产生对角矩阵,对角矩阵中的每个对角元素等于多个本征值中的相应本征值。

该方法能进一步包括对于多个hrir中的每一个,生成该hrir的倒谱,该倒谱具有在正时间取得的因果样本和在负时间取得的非因果样本;对于倒谱的非因果样本中的每一个,通过将在负时间取得的非因果样本和在与该负时间相对处取得的倒谱的因果样本相加,执行相位最小化操作;以及在对于倒谱的非因果样本中的每一个执行相位最小化操作后,通过将倒谱的非因果样本中的每一个设置为零来产生最小相位hrir。

该方法能进一步包括生成多输入多输出(mimo)状态空间表示,该mimo状态空间表示包括合成矩阵、列向量矩阵和行向量矩阵,该mimo状态空间表示的合成矩阵包括多个hrir中的每一个的第一表示的矩阵,该mimo状态空间表示的列向量矩阵包括多个hrir中的每一个的第一表示的列向量,该mimo状态空间表示的行向量矩阵包括多个hrir中的每一个的第一表示的行向量。在这种情况下,向量矩阵以及行向量矩阵。执行状态空间缩减操作包括生成经降缩的合成矩阵、经降缩的列向量矩阵和经降缩的行向量矩阵,经降缩的合成矩阵、经降缩的列向量矩阵和经降缩的行向量矩阵中的每一个具有分别比合成矩阵、列的大小小的大小。

生成mimo状态空间表示能包括:将第一块矩阵形成为mimo状态空间表示的合成矩阵,第一块矩阵具有与多个虚拟扬声器中的虚拟扬声器相关联的hrir的第一状态空间表示作为第一块矩阵的对角元素的矩阵,与同一虚拟扬声器相关联的hrir的第一状态空间表示的矩阵位于第一块矩阵的相邻对角元素中。生成mimo状态空间表示还能包括:将第二块矩阵形成为mimo状态空间表示的列向量矩阵,该第二块矩阵具有与多个虚拟扬声器中的虚拟扬声器相关联的hrir的第一状态空间表示作为第二块矩阵的对角元素的列向量,与同一虚拟扬声器相关联的hrir的第一状态空间表示的列向量位于第二块矩阵的相邻对角元素中。生成mimo状态空间表示能进一步包括:将第三块矩阵形成为mimo状态空间表示的行向量矩阵,第三块矩阵具有与多个虚拟扬声器中的虚拟扬声器相关联的hrir的第一状态空间表示作为第三块矩阵的元素的行向量,在该左耳中渲染声音的hrir的第一状态空间表示的行向量位于第三块矩阵的第一行的奇数编号的元素中,在右耳中渲染声音的hrir的第一状态空间表示的行向量位于第三块矩阵的第二行的偶数编号的元素中。

该方法能进一步包括:先于生成mimo状态空间表示,对于多个hrir中的每个hrir执行单输入单输出(siso)状态空间降缩操作来产生该hrir的siso状态空间表示以作为该hrir的第一状态空间表示。

关于该方法,对于多个虚拟扬声器中的每一个,存在多个hrir中、与该虚拟扬声器相关联的左hrir和右hrir,该左hrir在乘以由该虚拟扬声器产生的频域声场后产生在人类听者的左耳中渲染的声场的分量,右hrir在乘以由该虚拟扬声器产生的频域声场后产生在人类听者的右耳中渲染的声场的分量。此外,对于多个虚拟扬声器中的每一个,在与该虚拟扬声器相关联的左hrir和与该虚拟扬声器相关联的右hrir之间存在耳间时间延迟(itd),该itd通过该左hrir的声场的具有零值的初始样本的数目和该右hrir的声场的具有零值的初始样本的数目之间的差被显现在该左hrir和右hrir中。在这种情况下,该方法能进一步包括基于与多个虚拟扬声器中的每一个相关联的左hrir和右hrir之间的itd,生成itd单元子系统矩阵,以及将多个hrtf乘以itd单元子系统矩阵来产生多个经延迟的hrtf。

关于该方法,多个hrtf中的每一个能由有限脉冲滤波器(fir)表示。在这种情况下,该方法能进一步包括在多个hrtf中的每一个上执行转换运算来产生均由无限脉冲响应滤波器(iir)表示的另一多个hrtf。

关于该方法,对于多个虚拟扬声器中的每一个,存在和与最接近扬声器的头部侧的耳朵相对应的该虚拟扬声器相关联的hrir,其被称为同侧hrir。与该虚拟扬声器相关联的另一hrir被称为对侧hrir。能将多个hrtf划分成两个群组。一个群组包含所有同侧的hrtf,以及另一组包含所有对侧hrtfs。在这种情况下,该方法能无关地应用于每个组,由此产生适合于该组的逼近度。

附图说明

图1是图示根据本文所述的一个或多个实施例的、用于基于头部跟踪、全景声声编码的虚拟扬声器的双耳音频的示例系统的框图。

图2是图示根据本文所述的一个或多个实施例的、具有hankel奇异值的示例状态空间系统的图形表示。

图3是图示根据本文所述的一个或多个实施例的、示例状态空间系统的25阶有限脉冲响应逼近和6阶无限脉冲响应逼近的脉冲响应的图形表示。

图4是图示根据本文所述的一个或多个实施例的、示例状态空间系统的25阶有限脉冲响应逼近和3阶无限脉冲响应逼近的脉冲响应的图形表示。

图5是图示与用户有关的扬声器的示例布置的框图。

图6是图示了示例双耳渲染器系统的框图。

图7是图示根据本文所述的一个或多个实施例的、示例mimo双耳渲染器系统的框图。

图8是图示根据本文所述的一个或多个实施例的、示例双耳渲染系统的框图。

图9是图示根据本文所述的一个或多个实施例的、被布置用于双耳渲染的示例计算设备的框图。

图10是图示根据本文所述的一个或多个实施例的、使用第一左节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图11是图示根据本文所述的一个或多个实施例的、使用第一右节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图12是图示根据本文所述的一个或多个实施例的、使用第二左节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图13是图示根据本文所述的一个或多个实施例的、使用第二右节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图14是图示根据本文所述的一个或多个实施例的、使用第三左节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图15是图示根据本文所述的一个或多个实施例的、使用第三右节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图16是图示根据本文所述的一个或多个实施例的、使用第四左节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图17是图示根据本文所述的一个或多个实施例的、使用第四右节点的均衡实现的单输入单输出(siso)iir逼近的示例结果的图形表示。

图18是图示出执行本文所述的改进技术的示例方法的流程图。

本文提供的标题仅是为了方便,不一定影响本公开所要求保护的范围或含义。

在图中,为便于理解和方便,相同附图标记和任何首字母缩写标识具有相同或类似结构或功能的元件或动作。在下述的具体实施方式的过程中详细地描述附图。

具体实施方式

现在将描述本公开的方法和系统的各个示例和实施例。以下描述提供用于全面理解以及实现对这些示例的描述的具体细节。然而,相关技术的技术人员将理解,到没有这些细节中的许多细节的情况下也可以实践本文所述的一个或多个实施例。类似地,相关领域的技术人员还将理解,本公开的一个或多个实施例能够包括本文中未详细描述的其他特征。此外,下面可以不详细地示出或描述一些公知的结构或功能,以便避免不必要地模糊相关描述。

本公开的方法和系统解决上面提及的双耳渲染过程的计算复杂性。例如,本公开的一个或多个实施例涉及用于减少实现2m个滤波器函数所需的算术运算数目的方法和系统。

引入

图1是示出空间音频播放器的末级(出于本示例的目的,忽略任何环境效果处理)如何将多声道馈送带到虚拟扬声器阵列并且将它们编码为用于通过耳机播放的一对信号。如所示,使用m个单独的1转2编码器来完成最终的m声道转2声道转换,其中每个编码器是一对左/右耳头相关传递函数(hrtf)。因此,在该系统描述中,算子g(z)为矩阵:

每个子系统通常是与从扬声器位置到左/右耳来测量的脉冲响应相关联的传递函数。如以下更详细所述,本公开的方法和系统提供了通过使用有限脉冲响应(fir)向无限脉冲响应(iir)转化的过程来降低每个子系统的阶数的方式。对此挑战的常规手段是将每个子系统孤立地用作单输入单输出(siso)系统并且简化其结构。下面考察该常规手段并且还调查通过在作为m输入和2输出多输入多输出(mimo)系统的整个系统上操作能够达到多大的效率。

尽管一些现有的技术论及hrtf系统的mimo模型,但是没有一个如本公开中解决其在基于全景声(ambisonic)的虚拟扬声器系统中的使用。本公开中所述的系统降阶的基础基于被称为hankel范数的度量。由于该度量未广泛已知或被充分理解,因此下文尝试解释度量测量的内容和该度量对声学系统响应有实际重要性的原因。

hrir/hrtf结构

声源和听者的左右耳之间的脉冲响应均被称为头相关脉冲响应(hrir)并且在被变换至频域时称为hrtf。这些响应函数包含听者对声源的位置的感知的必要方向提示。创建虚拟听觉显示的信号处理在空间精确声源的合成中将这些函数用作滤波器。在vr应用中,用户视野跟踪(viewtracking)要求尽可能有效率地执行音频合成,这是因为例如(i)处理资源有限,以及(ii)通常要求低时延。

针对输入x[k]和输出y[k],通过hrir/hrtf——g的信号传输能够被写为(为了方便,以下将针对k>n来处理输出):

其中g=[g0,g1,g2,..,gn-1],

采取z变换

y(z)=g(z)x(z)(2)

g(z)=[g0+g1z-1+g2z-2+..+gn-1zn-1](3)

其中,左(l)耳或右(r)耳的n点hrir被呈现为z域传递函数。因为从源位置到l/r耳的输送延迟,所以hrir的第一nl/r样本值几乎为0。差nl-nr对耳间时间延迟(itd)有贡献,其是对源的方向的重要双耳提示。从这一点看,g(z)将指代任一hrtf,以及仅在描述差分性质时使用下标l和r。

通过低阶iir结构作出的对fir的逼近

对hankel范数的介绍

下述描述试图由替选系统来替换g(z),该替选系统提供例如诸如较低计算负载的优点并且如通过具有y=gx和的某些度量所测量是对g(z)的“良好”逼近的,对该差的有用度量是由以下给出的误差系统的h∞范数:

该能量比给出为对于驱动该系统的信号中的最小能量的该差中的最大能量的范数。因此,为了使逼近误差小,建议删除从输入x向输出y传输最小能量的那些模式。了解误差的h∞范数具有等于以下的实际相关性是有用的:

这示出h∞范数是误差的bode幅值图的峰值。

然而,挑战是难以表征该范数和系统模式之间的关系。作为替代,下文将考察对误差的hankel范数的使用,因为其具有与系统特性的有用关系并且易于被示出以提供h∞范数的上界。

系统的hankel范数是被称为hankel算子φg的算子的系统的诱导增益,该算子通过如类卷积关系的定义:

应注意到通过采取k=0作为时间“现在”,此算子φg确定从-∞到k=-1的输入序列x[k]随后将如何出现在该系统的输出处。

由φg诱导的hankel范数被定义为:

还应当理解到hankel范数表示可在系统输出处回收的未来能量的最大化,同时最小化输入到该系统的历史能量。或者,换言之,假定未来输入为0,由任何输入产生的未来输出能量最多是输入的能量的hankel范数倍。

状态空间系统表示和hankel范数

从以上描述能看出hankel范数提供对通过系统的能量传输的有用度量。然而,为理解范数与系统阶数及其减少有多相关,有必要将系统的内部动态表征为由其状态空间表示来建模。线性移不变(lsi)系统的状态空间模型及其传递函数之间的表示性连接是公知的。通过以下传递函数描述的n阶单输入单输出(siso)系统:

则对于以及通过此系统能够通过以下状态空间模型s:[a,b,c,d]来描述:

w[k+1]=aw[k]+bx[k]

y[k]=cw[k]+dx[k](9)

此系统的z变换为:

zw(z)=aw(z)+bx(z)

y(z)=cw(z)+dx(z)

给出

y(z)=[c(zi-a)-1b+d]x(z)=g(z)x(z)(10)

应注意到系统矩阵[a,b,c,d]不是唯一的并且可以通过以下相似变换关于例如v[k]来获得替选状态空间模型:对于可逆矩阵tv=w给出状态空间模型具有相同的传递函数g(z)。

应理解,出于本示例的目的,假定g(z)是稳定系统,并且等效地,s为稳定的,意指a=λ(a)的本征值均位于单位圆盘|λ|<1上。

现在,对于-∞<k≤-1,将g(z)的hankel范数关于在w[0]中存储的能量来描述为输入序列x[k]的结果,并且然后该能量中的多少将被递送至对于k≥0的输出y[k]。

为了描述内部能量s,有必要引入两个系统特征:

(i)可达性(可控性)格拉姆矩阵(gramian)以及

(ii)可观察性格拉姆矩阵

由于a为稳定的,因此上面的两个求和收敛,并且当且仅当对(a,b)可控(其意指从w[0]开始,能找到序列x[k],k>0来将该系统驱动到任何任意的状态w*)时,直接示出p为对称和正定的。同时,当且仅当对(a,c)可观察(其意指能根据k>j的系统输出y[k]来确定任何时刻j时的系统的状态),则q为对称且正定的。

直接示出能够获得p和q来作为lyapunov等式的解:

apat+bbt-p=0

atqa+ctc-q=0

状态的观察能量是对于k≥0,具有w[0]=w0和x[k]=0的轨迹y[k]≥0中的能量。直接示出:

y[k]=cakw0和

最小控制能量问题被定义为最小能量是什么:

驱动系统到w[0]=w0的

这是处于最优控制的标准问题并且其具有解:

xopt[k]=bt(at)-(1+k)p-1w0,k<0

考虑到

鉴于上文,现在有可能明确地将系统g(z)的hankel范数,或等效的s:[a,b,c,d]与q和p格拉姆矩阵联系为:

均衡状态空间系统表示

现在应理解,对于hrtf系统,有可能计算适当的相似变换t来获得系统实现(realization)其给出作为对角矩阵∑的相等可达性和可观察性格拉姆矩阵

q=p=∑=diag(σ1,...,σn-1),其中σ1≥σ2≥..≥σn-1>0。

根据本公开的至少一个实施例,获得均衡状态空间系统表示可以包括以下:

(i)以g(z)开始,其被确定(例如识别)为状态空间系统s:[a,b,c,d]。

(ii)对于s,求解格拉姆矩阵来得出p和q。

(iii)使用线性代数来给出

(iv)因式分解p=mtm和mqmt=wt2w,其中,w是幺正的,给出m和w,使得对于其,

(v)根据(iv)的t可以被用来得到系统的新表示,为

(vi)在(v)中获得的表示中,存在均衡状态。换言之,将系统带到在位置i中具有1的状态(0,0,..,1,0,..0)t的最小能量为并且如果在该状态下释放系统,则在输出处回收的能量为σi。

(vii)在该均衡模型中,根据状态对从信号输入到输出的能量的传输的重要性来对该状态排序。由此,在该结构中,对状态的截除以及等效地对g(z)的降阶将根据状态能量传输的重要性来去除状态。

基于均衡状态空间系统的降阶的示例

以下将使用以上所述的均衡系统表示来考察fir结构的状态-空间模型的生成及其降阶。

本示例通过研究26点fir滤波器g[k]来进行

其中传递函数

g(z)=[g0+g1z-1+...g25z-25]

利用以下来创建25阶状态空间模型

如图2所图示,系统s:[a,b,c,d]具有hankel奇异值(sv)。

s被变换成根据hankelsv的廓线(例如,如图2所图示),可以获得对s的6阶逼近。因此,该系统被划分如下:

经降阶系统是其给出经降阶传递函数

为了比较,在图3中图示了原始firg(z)和6阶iir逼近的脉冲响应。图3中所描绘的曲线揭示了几乎无损的匹配。

此外为了比较,在图4中图示出原始firg(z)和3阶iir逼近的脉冲响应。

hrir的均衡逼近

虚拟扬声器阵列和hrir集合

下文描述基于扬声器的简单方形布置的示例场景,如图5所图示,其中使用cipic集合的对象15的hrir来将输出混合为双耳。存在以44.1khz采样的200点hrir并且该集合包含包括每对hrir之间的耳间时间差itd的度量的一系列相关联数据。hrir(例如上面的等式(3))的传递函数g(z)将具有为0的多个前导(leading)系数[g0,...,gm]并且是每个响应中的起始延迟(onsetdelay)的原因,给出下面的等式(12)中所示的g(z)。一对hrir中的左和右的起始时间之间的差极大地确定其对itd的贡献。在等式(12)中给出了典型左hrtf的形式并且右hrtf具有类似形式:

通过itd=|ml-mr|给出itd并且其被提供用于cipic数据库中的每个hrir对。与起始延迟相关联的多余相位意指每个g(z)是非最小相位并且还示出hrtf的主要部分也将是非最小相位。但还示出听者无法将的滤波器效果从被标示为h(z)的其最小相位版本中区分。因此,在fir向iir逼近的本示例中,通过它们的最小相位等效h(z)的原始firg(z),从每个hrir去除起始延迟的动作。

使用均衡实现的单输入单输出iir逼近

根据至少一个实施例,使用均衡实现的单输入单输出(siso)iir逼近是包括例如以下的直接过程:

(i)读取每个节点的hrir(l/r,1:200)。

(ii)使用倒谱来获得最小相位等效;给出hhrir(l/r,1:200)。

(iii)将hhrir(l/r,1:200)的siso状态空间表示构建为s:[a,b,c,d]。这将是199维状态空间。

(iv)使用上述均衡降缩(reduction)方法来获得维度为rr的s的降阶版本。例如srr:[arr,brr,crr,drr]。

此hrir的倒谱能够具有在正时间取得的因果样本和在负时间取得的非因果样本。由此,对于倒谱的非因果样本中的每一个,通过将在负时间取得的非因果样本与在该负时间相对处取得的倒谱的因果样本相加,能够执行相位最小化运算。在对于倒谱的非因果样本中的每一个执行相位最小化运算后,通过将倒谱的非因果样本中的每一个设定为0,能够生成最小相位hrir。

在图10-17中所示的曲线中,呈现了通过12阶(例如,对于rr=12),逼近每个节点的左和右hrir的示例结果。

图10-17是图示对象15cipic[+/-45度,+/-135度]、fs=44100hz、原始fir200点、iir逼近12阶的频率响应的图形表示。

在图10-17中描绘的结果示出12阶iir逼近在幅值和相位二者上给出了与原始hrtf的的频率响非常接近的匹配。这意指不同于实现8x200点fir,能够将hrir计算实现为8x[{6双二阶(biquad)}iir区段+itd延迟线]。

使用均衡实现的多输入多输出iir逼近

根据至少一个实施例,使用均衡实现的多输入多输出(mimo)iir逼近是可以以如上所述的对于siso的相同方式来启动的过程。例如,该过程可以包括:

(i)读取每个节点的hrir(l/r,1:200)。

(ii)如上所述使用倒谱来获得最小相位等效,对于每个节点给出hhrir(l/r,1:200)。

(iii)对i=1,2≡左/右以及j=1,2,3,4≡节点1,2,3,4,将每个hhrir(l/r,1:200)的siso状态空间表示构建为s:[a,b,c,d]。每个sij将是199维状态空间。其中,以及

(iv)构建合成mimo系统,其具有例如维度4x199=796的内部状态空间,以及具有4输入和2输出,。该系统s:[a,b,c,d],其中,a,b,c,d被构造为:

使用根据本公开的一个或多个实施例描述的均衡降缩(balancedreduction)方法,能够对此796维系统进行降缩。

至少在如上所述的示例实施方式中,在生成s前,将子系统sij中的每一个降缩为30阶siso系统。此步骤使s为4x30=120维系统。然后,可以将其减少到例如n=12阶、4输入和2输出系统,与图6所图示的系统类似。

如下文更详细所述,本公开的方法和系统解决双耳渲染过程的计算复杂性。例如,本公开的一个或多个实施例涉及用于减少实现2m个滤波器函数所需的算术运算数目的方法和系统。

现有的双耳渲染系统包含hrtf滤波器函数。通常使用有限脉冲响应(fir)滤波器结构实现这些函数,其中一些实施方式使用无限脉冲响应(iir)滤波器结构。fir手段使用长度n的滤波器,并且对于每个hrtf要求n个乘法和加法(ma)运算(例如400)来将一个输出样本递送到每个耳朵。即,每个双耳输出要求nx2m个ma运算。例如,在典型的双耳渲染系统中,可以使用n=400。在本公开中描述的iir手段使用阶数m的递归结构,其中m通常处于例如12-25(例如15)的范围中。

应认识到,为将iir的计算负载与fir的计算负担相比较,必须考虑到分子和分母。对于2m个sisoiir,每个阶数m,将具有约2mx2m个ma(即,将少1个乘法)。对于mimo结构,会具有[(m-1)x2m+2m]个ma,其中,{+2m}是公共递归区段的原因。当然,mimo中的m大于siso中的m。

不同于现有的方法,在本公开的方法和系统中,存在例如所有左(相应地,右)耳hrtf的递归部分或其他架构布置,诸如所有同侧(相应地,对侧)耳hrtf。

本公开的方法和系统对全景声音频系统中的双耳音频的渲染可以特别重要。这是因为全景声以激活虚拟阵列中的所有扬声器的方式来递送空间音频。因此,随着m增加,通过使用本技术对计算步骤的节省变得越来越重要。

常规上使用m个个体1转2编码器来完成最终m声道转2声道双耳渲染,其中,每个编码器是一对左/右耳头相关传递函数(hrtf)。因此,系统描述是hrtf算子

y(z)=g(z)x(z)

其中,通过以下矩阵给出g(z):

利用fir滤波器,每个子系统具有下述形式(在非最小相位情况下,前导的kij系数等于0,{例如,}):

根据本公开的一个或多个实施例,可以通过n阶mimo状态空间系统逼近g(z)。这给出图7中所图示的示例mimo双耳渲染器(例如混合器)系统(根据至少一个实施例,其可以被用于3d音频)。

在图7中,itd单元子系统是延迟线对的集合,其中每输入声道仅该对中的一个是延迟,以及另一个为一(unity)。因此,在z域中,存在输入/输出表示,诸如

每个对(δ1k,δ2k)具有形式(α,β),当左耳与源同侧时,α=0,β>0为itd延迟,并且当与右耳同侧时反之亦然。

使用均衡降缩方法,已经被降低到阶数n的m输入转2输出mimo系统能够被用来获得能被写为以下的hrtf集合:

其中,“·”表示hadamard积。该传递函数矩阵不同于上面的g(z),因为现在每个子系统具有相同的分母。子系统是从虚拟扬声器j到左/右耳[i=1≡左i=2≡右]的hrtf的iir形式并且具有形式:

此处,对于所有ij,

因此,如果使用对mimo手段的均衡降缩(如上所述)来取得原始n点firhrtf并且将它们向n阶{例如n=n/10}逼近,则可以将双耳渲染实现为图8所图示的系统。

应注意到,根据至少一个实施例,图8所示的最终iir区段可以与房间效果滤波组合。

此外,应注意到此因式分解成与共享iir区段级联的各个依赖于角的fir区段与实验研究结果一致。这样的实验已经证实hrir多么服从逼近因式分解。

图9是根据本文所述的一个或多个实施例的、通过减少实现(例如2m个)滤波器函数所需的算术运算的数目来被布置用于双耳渲染的示例性计算设备(900)的高级框图。在非常基本的配置(901)中,计算设备(900)通常包括一个或多个处理器(910)和系统存储器(920)。存储器总线(930)能够被用于处理器(910)和系统存储器(920)之间进行通信。

取决于期望的配置,处理器(910)能够是任何类型,包括但不限于:微处理器(μp)、微控制器(μc)、数字信号处理器(dsp)等,或其任何组合。处理器(910)能够包括一个或多个级别的缓存,例如一级缓存(911)和二级缓存(912)、处理器核心(913)、以及寄存器(914)。处理器核心(913)能够包括算术逻辑单元(alu)、浮点单元(fpu)、数字信号处理核心(dsp核心)等,或其任意组合。存储器控制器(915)还能够与处理器(910)一起使用,或在一些实施方式中,存储器控制器(915)能够作为处理器(910)的内部部分。

取决于期望的配置,系统存储器(920)能够是任何类型,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等),或其任何组合。系统存储器(920)通常包括操作系统(921)、一个或多个应用(922)、和程序数据(924)。应用(922)可以包括用于双耳渲染(923)的系统。根据本公开的至少一个实施例,用于双耳渲染(923)的系统被设计成减少双耳渲染过程的计算复杂度。例如,用于双耳渲染(923)的系统有能力减少实现如上所述的2m个滤波器函数所需的算术运算的数目。

程序数据(924)可以包括存储指令,其在由一个或多个处理设备执行时,实现用于双耳渲染的系统(923)和方法。另外,根据至少一个实施例,程序数据(924)可以包括音频数据(925),其与例如来自一个或多个虚拟扬声器的多声道音频信号数据有关。根据至少一个实施例,应用(922)能够被布置成与操作系统(921)上的程序数据(924)一起操作。

计算设备(900)能够具有附加特征和/或功能、和附加接口以促进基本配置(901)和任何所需的设备及接口之间的通信。

系统存储器(920)是计算机存储介质的示例。计算机存储介质包括但不限于,ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)、或其他光学存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或者能够被用于存储期望的信息和能够由计算设备900访问的任何其他介质。任何这样的计算机存储介质都能够是设备(900)的一部分。

计算设备(900)可以被实现为小封装技术(small-formfactor)便携式(或移动)电子设备,例如手机、智能电话、个人数据助理(pda)、个人媒体播放器设备、平板计算机(平板)、无线网络手表设备、个人头戴式送受话器设备、专用设备,或包括上述功能中的任何一个的混合设备的一部分。此外,计算设备(900)还可以被实现为个人计算机,包括膝上型计算机和非膝上型计算机配置、一个或多个服务器、物联网系统等。

图18是执行双耳渲染的示例方法1800。方法1800可以由结合图9所述的软件构造执行,其驻留在计算设备900的存储器920中并且由处理器910运行。

在1802处,计算设备900获得与多个虚拟扬声器中的虚拟扬声器和人类听者的耳朵相关联的多个hrir中的每一个。多个hrir中的每一个包括响应于由该虚拟扬声器产生的音频脉冲,而产生在左耳或右耳中以指定采样率产生的声场的样本。

在1804处,计算设备900生成多个hrir中的每一个的第一状态空间表示。第一状态空间表示包括矩阵、列向量、和行向量。第一状态空间表示的矩阵、列向量、和行向量中的每一个具有第一大小。

在1806处,计算设备900执行状态空间降缩操作来生成多个hrir中的每一个的第二状态空间表示。第二状态空间表示包括矩阵、列向量、和行向量。第二状态空间表示的矩阵、列向量、和行向量中的每一个具有小于第一大小的第二大小。

在1808处,计算设备900基于第二状态表示,产生多个头相关传递函数(hrtf)。该多个hrtf中的每一个对应于多个hrir中的相应hrir。与相应hrir相对应的hrtf在乘以由与相应hrir相关联的虚拟扬声器产生的频域声场后,产生在人类听者的耳朵中所渲染的声场的分量。

前述的详细描述已经经由使用框图、流程图、和/或示例来阐述了设备和/或过程的各个实施例。在这样的框图、流程图、和/或示例包含一个或多个功能和/或操作的情况下,本领域的技术人员将理解,在这样的框图、流程图、或者示例内的每个功能和/或操作都能够由广泛多种硬件、软件、固件、或者几乎其任何组合来单独地和/或共同地来实现。根据至少一个实施例,本文描述的主题的若干部分可以经由专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、或者其它整合的格式来实现。然而,本领域的技术人员将认识到,本文所公开的实施例的一些方面能够整体地或部分地在集成电路中等效地被实现为在一个或多个计算机上运行的一个或多个计算机程序、作为在一个或多个处理器上运行的一个或多个程序、固件、或者几乎其任何组合,并且根据本公开,设计电路系统和/或编写软件和/或固件的代码完全在本领域的技术人员的技能范围之内。

此外,本领域的技术人员将认识到,本文描述的主题的机制能够作为各种形式的程序产品而被分发,并且无论被用于实际执行该分发的非暂时性信号承载介质的特定类型如何,本文描述的主题的说明性实施例都适用。非暂时性信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(cd)、数字视频盘(dvd)、数字磁带、计算机存储器等;以及传输介质,诸如数字和/或模拟通信介质(例如,光纤线缆、波导、有线通信链路、无线通信链路等)。

关于本文几乎任何复数和/或单数术语的使用,只要适于场境(context)和/或应用,则本领域的技术人员就能够将复数转化为单数和/或将单数转化为复数。为清楚起见,本文可以明确地阐述各种单数/复数排列组合。

因此,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作能够按照不同的顺序执行并且仍然达到所需的结果。此外,在附图中描绘的过程不一定要求所示出的特定顺序或者连续顺序来达到所期望的效果。在某些实施方式中,多任务处理和并行处理可能是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1