掌桥专利:专业的专利平台
掌桥专利
首页

高效的头部相关滤波器生成

文献发布时间:2023-06-19 19:07:35


高效的头部相关滤波器生成

技术领域

公开了与用于高效的头部相关滤波器生成的方法和系统相关的实施例。

背景技术

人类听觉系统配备有可以捕捉向听者传播的声(音频)波的两只耳朵。在本公开中,词“声音”和词“音频”可互换使用。图1示出了从由球坐标系中的一对仰角和方位角指定的到达方向(DOA)朝向听者传播的声波。在朝向听者的传播路径上,每个声波在到达听者的左耳膜和右耳膜之前与听者的上躯干、头部、外耳、以及围绕听者的物质相互作用。这种相互作用导致到达左耳膜和右耳膜的声音波形的时间和频谱变化,其中一些是DOA相关的。人类听觉系统已经学会解释这些变化来推断声波本身的各种空间特性以及听者发现自己所在的声学环境。该能力被称为空间听觉,其涉及听者如何评估嵌入在双耳信号(即,左右耳道中的声音信号)中的空间线索以推断由声音事件(物理声源)引起的听觉事件的位置和由听者所在的物理环境(例如,小房间、瓷砖浴室、礼堂、洞穴)引起的声学特性。通过重新引入双耳信号中的将导致对声音的空间感知的空间线索,可以反过来利用该人类能力(即,空间听觉)来创建空间音频场景。

主要的空间线索包括(1)角度相关的线索:双耳线索(即耳间声强差(ILD)和耳间时间差(ITD))和单耳(或频谱)线索;以及(2)距离相关的线索:强度和直接混响(D/R)能量比。波形的短时间(例如,1至5毫秒)DOA相关或角度相关的时间和频谱变化的数学表示是所谓的头部相关(HR)滤波器。HR滤波器的频域(FD)表示是所谓的头部相关传递函数(HRTF),并且HR滤波器的时域(TD)表示是所谓的头部相关脉冲响应(HRIR)。图2示出了朝向听者传播的声波以及到耳朵的声音路径的差异,该差异导致了ITD。图14示出了图2所示的声波的频谱线索(HR滤波器)的示例。图14所示的两个曲线图示出了在0度仰角(θ)和40度方位角(φ)处获得的一对HR滤波器的幅度响应。该数据来自图像处理和集成计算中心(CIPIC)数据库:主题-ID 28。该数据库是公开的,并且可以从链接https://www.ece.ucdavis.edu/cipic/spatial-sound/hrtf-data/访问。

已经逐渐建立了基于HR滤波器的双耳渲染方法,其中,空间音频场景是通过使用期望位置的一对HR滤波器直接对音频源信号进行滤波来生成的。该方法对于许多新兴应用(例如虚拟现实(VR)、增强现实(AR)或混合现实(MR)(其有时被统称为扩展现实(XR)))以及通常使用耳机的移动通信系统特别具有吸引力。

HR滤波器通常从测量中被估计为线性动态系统的脉冲响应,该线性动态系统将原始声音信号(即,输入信号)转换为左耳和右耳信号(即,输出信号),其可以在收听对象(例如,人造头、人体模型或人类受试者)的恒定半径球面上以仰角和方位角的预定义集合在收听对象的耳道内进行测量。所估计的HR滤波器通常作为有限脉冲响应(FIR)滤波器来提供,并且可以直接以该格式使用。为了实现高效的双耳渲染,可以将一对HRTF转换为耳间传递函数(ITF)或经修改的ITF,以防止突然的频谱峰值。备选地,HRTF可以通过参数表示来描述。这种参数化HRTF可以很容易地与参数多通道音频编码器(例如,MPEG环绕声和空间音频对象编码(SAOC))集成。

为了讨论不同空间音频渲染技术的质量,最小可听角(MAA)的概念可能是有用的。MAA表征人类听觉系统对声音事件的角位移的敏感度。关于方位角定位,研究报告称,MAA在前后中最小(约1度),而对于宽带噪声突发的侧向声源则大得多(约10度)。中位面中的MAA随仰角而增加。据报道,宽带噪声突发的平均仰角小至4度的MAA。

导致对空间中任意位置处的声音的令人信服的空间感知的音频空间渲染需要表示对应位置的MAA内的位置的一对HR滤波器。如果HR滤波器的角度差异低于限制(即,如果HR滤波器的角度在MAA内),则听者不会注意到差异。然而,如果差异大于该限制(即,如果HR滤波器的角度在MAA之外),则这种较大的位置差异可以导致听者感知到的相应更明显的位置不准确。

发明内容

HR滤波器测量在有限的测量位置处进行,但音频渲染可能需要确定围绕听者的球体(例如,图1中的150)上的任何可能位置的滤波器。因此,需要一种映射方法将在有限测量位置处进行的离散测量转换为连续球角域。存在用于这种映射的若干方法。该方法包括直接使用最近的可用测量、使用插值方法和/或使用建模技术。

1.直接使用最近相邻测量点

用于映射的最简单技术是使用测量点集合中最接近(即,最近)点处的HR滤波器。可能需要一些计算工作来确定最近相邻测量点,并且这种工作对于围绕听者的球体上的不规则采样的测量点集合可能变得重要。对于一般的对象位置,在期望的滤波器位置(对应于对象位置)与最接近的可用HR滤波器测量点之间可以存在一些角度误差。对于稀疏采样的HR滤波器测量集合,这可以导致对象位置的明显误差。当使用更密集采样的测量点集合时,该误差可以被减少或被有效地消除。对于移动的对象,HR滤波器以逐步方式改变,这与预期的平滑移动不对应。

通常,HR滤波器的密集采样测量难以对人类受试者进行,因为它们要求受试者在数据收集期间必须坐着不动,并且受试者的小的意外移动限制可以实现的角分辨率。此外,测量过程对于受试者和技术人员两者都是耗时的。在给定稀疏采样的HR滤波器数据集(如下说明)的情况下,代替采用这种密集采样的测量,推断关于缺失HR滤波器的空间相关信息可能更高效。对于人工头,密集采样的HR滤波器测量更容易捕获,但所得的HR滤波器集合并不总是非常适合于所有听者,有时会导致感知不准确或模糊的对象位置。

2.相邻测量点之间的插值

如果样本测量点不足以密集地间隔开,则可以使用相邻测量点之间的插值来生成所需DOA的近似滤波器。插值的滤波器在离散样本测量点之间以连续方式变化,从而避免了使用上述方法(即,方法1)时可能发生的突然变化。该插值方法在生成插值的HR滤波器值时产生附加复杂度,由于来自不同位置的滤波器的混合,所得HR滤波器具有变宽的(不太像点的)感知DOA。此外,需要采取措施防止直接混合滤波器而引起的相位问题,这可以增加附加的复杂度。

3.基于建模的滤波器生成

可以使用更先进的技术来构建用于底层系统的模型,该模型产生HR滤波器以及它们如何随角度变化。给定HR滤波器测量的集合,调整模型参数来以最小的误差重现测量,从而创建一种机制,用于不仅在测量位置处生成HR滤波器,而且更一般地作为角度空间的连续函数。

存在用于生成HR滤波器作为DOA的连续函数的其他方法,其不需要输入测量值集合,而是使用对听者头部和耳朵的高分辨率3D扫描对听者头部周围的波传播进行建模以预测HR滤波器的行为。

下面呈现使用加权基函数和向量来表示HR滤波器的一类HR滤波器模型。

3.1.使用加权基向量的HR滤波器模型--数学框架

考虑具有以下形式的HR滤波器模型:

其中,

模型函数F

针对所有HR滤波器系数使用相同的建模函数并不罕见,这会导致该类型模型的特定子集,其中模型函数F

模型然后可以被表示为:

在一个实施例中,e

其中,α

即,一旦参数α

单个的滤波器系数k相应地被获得为:

在单位基向量是自然基向量的情况下,该等效表达式是紧凑的表达式。然而,以下方法可以(在没有该方便的表示法的情况下)应用于在任何域中使用对基向量(包括非正交基向量以及正交基向量)的任何选择的模型。相同底层建模技术的其他实施例将是对时域(例如,Hermite多项式、正弦曲线等)中或除了时域之外的域(例如,频域(例如,经由傅立叶变换)或任何其他自然表达HR滤波器的域)中的基向量的不同选择。

等式(5)的等效矩阵公式为:

其中,f(θ,φ)=一只耳朵的权重值的行向量,具有长度N,即f(θ,φ)=[F

如WO 2021/074294(其通过引用并入本文)中所述,B样条函数是用于针对仰角θ和方位角φ的HR滤波器建模的合适基函数。这指示函数F

F

其中,n=(p-1)Q

如上所述,用于在连续角度域上推断HR滤波器的三种类型的方法具有不同级别的计算复杂度和感知的定位精度。直接使用最近相邻测量点是最简单的,但需要对HR滤波器进行密集采样测量,这并不容易获得并且通常产生大量数据。相比之下,使用HR滤波器的模型的方法的优点在于它们可以生成具有随着DOA改变而平滑变化的类点定位属性的HR滤波器。这些方法还可以以更紧凑的形式表示HR滤波器集合,因此需要更少的用于传输或存储(包括当使用这些方法时程序存储器中的存储)的资源。这些优点是以数值复杂度为代价的(在可以使用滤波器之前,必须评估模型以生成HR滤波器)。这种复杂度对于具有有限计算能力的渲染系统来说是个问题,因为这种有限的能力限制了例如在实时音频场景中可以渲染的音频对象的数量。

在空间音频渲染器中,期望能够从诸如等式(5)的模型评估等式实时评估针对任何仰角-方位角的HR滤波器。因此,需要非常高效地执行等式(5)中指定的HR滤波器评估。

HR滤波器模型的重复评估不仅在评估模型输出方面而且在评估模型的基函数方面都受到复杂度的影响。此外,某个基函数的贡献对于某个HR滤波器方向的评估可能微不足道(例如,零)。这意味着滤波器评估变得不必要的复杂。另一方面,HR滤波器评估所需的存储器消耗不会显著增加是非常重要的,特别是对于存储器和计算复杂度能力两者都有限的移动设备中的使用。

从B样条基函数(例如,在WO 2021/074294中所述)可以看出,等式(5)中描述的滤波器评估将包括在

图3(a)和图3(b)示出了周期性B样条基函数。

图3(a)示出了针对[0,360]度建模范围的4个周期性B样条基函数的示例。结点位于0(=360)、90、180和270度。在该示例中,结点之间的每个段内的所有基函数都是非零的。

图3(b)示出了针对[0,360]度建模范围的8个周期性B样条基函数的示例。结点位于0(=360)、45、…、315度。在这种情况下,每个基函数的非零部分仅覆盖建模范围的一半,即仅180度。

如图3(a)和图3(b)所示,对于某些B样条配置,仅少数B样条函数对于某个方向(θ,φ)是非零的。例如,对于180至360度之间的任何角度,图3(b)中从0度开始的B样条函数可以变为零。这意味着等式(5)的HR滤波器评估可能涉及大量具有零分量的乘法和求和。结果是复杂度低效的基于模型的HR滤波器评估。

根据本公开的一些实施例,低效HR滤波器评估的问题可以通过以下方式来解决:用于复杂度高效HR滤波器评估的存储器高效结构化表示和/或避免零值分量的乘法和加法。

因此,在一方面,提供了一种用于生成用于音频渲染的头部相关(HR)滤波器的方法。该方法包括:生成指示HR滤波器模型的HR滤波器模型数据。生成HR滤波器模型数据包括:选择一个或多个基函数的至少一个集合;该方法还包括:基于所生成的HR滤波器模型数据,(i)对所述一个或多个基函数进行采样以及(ii)生成第一基函数形状数据和形状元数据。第一基函数形状数据标识所述一个或多个基函数的一个或多个紧凑表示,并且形状元数据包括关于与所述一个或多个基函数相关的所述一个或多个紧凑表示的结构的信息。该方法还包括:提供所生成的第一基函数形状数据和形状元数据以存储在一个或多个存储介质中。

在一些实施例中,该方法还可以包括:检测触发事件的发生。这种触发事件可以指示将生成用于音频渲染的头部相关(HR)滤波器,这可以在请求头部相关(HR)滤波器例如用于渲染音频帧或者通过生成存储在存储器中以供后续使用的头部相关(HR)滤波器来准备渲染时从音频渲染器引发。在一些实施例中,触发事件仅是对从一个或多个存储介质中获取基函数形状数据和/或形状元数据的决定。该方法还可以包括:作为检测到触发事件的发生的结果,输出用于音频渲染的第二基函数形状数据和形状元数据。

在另一方面,提供了一种用于生成用于音频渲染的头部相关(HR)滤波器的方法。该方法包括:获得形状元数据,该形状元数据指示是否获得一个或多个基函数的一个或多个紧凑表示的转换版本。该方法还包括:获得基函数形状数据,该基函数形状数据标识(i)所述一个或多个基函数的所述一个或多个紧凑表示或(ii)所述一个或多个基函数的所述一个或多个紧凑表示的转换版本。该方法还包括:基于所获得的形状元数据和所获得的基函数形状数据,通过使用(i)所述一个或多个基函数的所述一个或多个紧凑表示或(ii)所述一个或多个基函数的所述一个或多个紧凑表示的转换版本来生成HR滤波器。

在另一方面,提供了一种用于生成用于音频渲染的头部相关(HR)滤波器的装置。该装置适于生成指示HR滤波器模型的HR滤波器模型数据。生成HR滤波器模型数据包括:选择一个或多个基函数的至少一个集合;该装置还适于:基于所生成的HR滤波器模型数据,(i)对所述一个或多个基函数进行采样以及(ii)生成第一基函数形状数据和形状元数据。第一基函数形状数据标识所述一个或多个基函数的一个或多个紧凑表示,并且形状元数据包括关于与所述一个或多个基函数相关的所述一个或多个紧凑表示的结构的信息。该装置还适于:提供所生成的第一基函数形状数据和形状元数据以存储在一个或多个存储介质中。

该装置还适于:检测触发事件的发生,并且作为检测到触发事件的发生的结果,输出用于音频渲染的第二基函数形状数据和形状元数据。这种触发事件可以指示将生成用于音频渲染的头部相关(HR)滤波器,这可以在请求头部相关(HR)滤波器例如用于渲染音频帧或者通过生成存储在存储器中以供后续使用的头部相关(HR)滤波器来准备渲染时从音频渲染器引发。在一些实施例中,触发事件仅是对从一个或多个存储介质中获取基函数形状数据和/或形状元数据的决定。在一个实施例中,该装置包括处理电路和存储单元,存储单元存储用于配置该装置以执行本文公开的任何过程的指令。

在另一方面,提供了一种用于生成用于音频渲染的头部相关(HR)滤波器的装置。该装置适于:获得形状元数据,该形状元数据指示是否获得一个或多个基函数的一个或多个紧凑表示的转换版本。该装置还适于:获得基函数形状数据,该基函数形状数据标识(i)所述一个或多个基函数的所述一个或多个紧凑表示或(ii)所述一个或多个基函数的所述一个或多个紧凑表示的转换版本。该装置还适于:基于所获得的形状元数据和所获得的基函数形状数据,通过使用(i)所述一个或多个基函数的所述一个或多个紧凑表示或(ii)所述一个或多个基函数的所述一个或多个紧凑表示的转换版本来生成HR滤波器。

在另一方面,提供了一种包括指令的计算机程序,该指令在由处理电路执行时使处理电路执行上述方法。在一个实施例中,提供了一种包含计算机程序的载体,其中,该载体是电信号、光信号、无线电信号和计算机可读存储介质中的一种。

本公开的实施例利用基于建模的HR滤波器实现了对空间音频渲染器的在感知上透明(不可听)优化,例如,用于在相对于听者的位置(r,θ,φ)处渲染单声道源,其中,r是半径,并且(θ,φ)分别是仰角和方位角。

附图说明

本文中所包含并形成说明书一部分的附图示出了各种实施例。

图1示出了声波从位于角度θ,φ处的声源向听者的传播。

图2示出了声波向听者传播、与头部和耳朵相互作用以及所得的ITD。

图3(a)和图3(b)示出了示例性周期性B样条基函数。

图4(a)至图4(c)示出了图3(a)和图3(b)所示的基函数的示例性紧凑表示。

图5示出了示例性标准B样条基函数。

图6(a)至图6(d)示出了图5所示的基函数的示例性紧凑表示。

图7是根据一些实施例的系统。

图8是根据一些实施例的用于生成HR滤波器的过程。

图9是根据一些实施例的系统。

图10A和图10B示出了根据一些实施例的装置。

图11和图12是根据一些实施例的过程。

图13是根据一些实施例的装置。

图14示出了图2所示的声波的ITD和HR滤波器。

具体实施方式

本公开的一些实施例涉及双耳音频渲染器。渲染器可以独立地操作或与音频编解码器一起操作。潜在压缩的音频信号及其相关元数据(例如,指定渲染的音频源的位置的数据)可以被提供给音频渲染器。还可以向渲染器提供从头部跟踪设备(例如,诸如加速度计、陀螺仪、指南针等之类的基于内向外惯性的跟踪设备,或诸如LIDAR之类的基于外向内的跟踪设备)获得的头部跟踪数据。这种头部跟踪数据可以影响用于渲染的元数据(即,渲染元数据)(例如,使得音频对象(源)在空间中的固定位置处被感知,而与听者的头部旋转无关)。渲染器还获得要用于双耳化的HR滤波器。本公开的实施例提供了用于基于根据WO2021/074294或等式(1)的加权基向量生成HR滤波器的高效表示和方法。

标量值函数F

F

本公开的一些实施例基于HR滤波器模型的高效结构以及对仰角基函数Θ

1.HR滤波器模型设计

首先,可以通过选择HR滤波器长度K、仰角基函数P的数量、方位角基函数Q

在一些实施例中,仰角和方位角基函数被设计/选择为具有某些属性以有效地用于HR滤波器建模和高效结构化HR滤波器生成。基函数可以在周期性建模范围内定义(例如,如图3(a)和图3(b)所示,在0/360度方位角边界处连续,或者在非周期性范围内定义,例如,如图5所示,[-90,90]度仰角)。

因此,根据一些实施例:

[属性1]至少一个基函数具有非零值的第一段和零值的另一段,和/或

[属性2]所述至少一个基函数的非零部分:

a.等于另一基函数的非零部分;或

b.非零部分的长度是具有相同形状的另一基函数的非零部分的长度的单位分数,即

c.是对称的;或

d.是另一基函数的非零部分的镜像(反向)。

具有相同属性的基函数越多,实现的效率就越高。然而,可以存在也可以影响基函数的选择的其他因素(例如,建模效率和性能)。例如,取决于所测量的HR滤波器数据的采样网格,应选择不同数量的基函数以避免得到欠定系统。通常可以分析地描述基函数(例如,作为多项式的样条)。

在一些实施例中,三次B样条函数(即,4阶或3阶)分别用作针对方位角和仰角的基函数Φ

图3(a)和图3(b)示出了针对方位角的周期性B样条基函数,并且图5示出了针对仰角的对应标准B样条基函数。尽管在附图中使用不同的符号标记点以更好地区分,但函数是连续的并且可以在任何角度处进行评估。

2.HR滤波器建模

定义模型的模型设计参数(例如,K、P、Q

3.基函数采样

本公开的实施例的一个方面是对基函数Φ

在所选择的样本间距值ΔΦ、ΔΘ大于MAA的情况下,可以使用插值来生成平滑变化的曲线,并且避免由于非常粗糙间隔的样本点集合而可能发生的阶梯式变化(该方法进一步减少了存储器使用,但增加了数值复杂度)。基函数采样通常可以在预处理阶段执行,在该预处理阶段中,要用于HR滤波器评估的采样基函数被生成并存储在存储器中。

3.1.周期性B样条基函数的高效表示

图3(a)和图3(b)示出了针对方位角的周期性B样条函数的两个示例,每个示例示出了覆盖360度的基函数集合。如图所示,在两个示例中,获得了基函数的所有相等对称非零部分(与上面讨论的属性2a和2c一致),只要结点之间存在规则间距,情况就总是如此。

这意味着每个周期性B样条基函数可以有效地由其非零形状的一半表示(由于其对称特性)。尽管可以在运行时间期间计算B样条基函数,但就计算复杂度而言,将B样条基函数的预先计算的形状(即,数值采样)存储在存储器中更高效。另一方面,通常期望最小化存储器需求(即,存储预先计算的形状所需的存储器容量)。根据本公开的实施例的B样条基函数的结构在计算复杂度和存储器需求之间提供了良好的折衷。

由于HR滤波器测量点的数量通常在0°仰角处最高并向±90°减少,因此可以对采样球体的极区使用较少的基函数。

通过每个仰角的不同数量的方位角B样条基函数,可以获得具有不同结点间隔I

如果针对整数抽取因子M,结点间隔为

图4(a)至图4(c)示出了图3(a)至图3(b)的B样条基函数的紧凑表示。由于周期性基函数的非零部分是对称的,因此仅需要一半的形状来表示完整的形状。另外,图3(b)样本点(圆圈)的B样条基函数是通过对图3(a)样本点(加号)进行子采样而获得的。在图4(a)中,加号表示图3(a)中的基函数的一半样本点。在图4(b)中,圆圈表示图3(b)中的基函数的一半样本点。图4(c)示出了图4(a)和图4(b)的叠加形状函数。虽然加号表示[0,...,180]度的范围,并且圆圈表示[0,...,90]度的范围,但形状函数(b)可以通过对形状函数(a)进行子采样来获得。

如上所述,在图4(a)至图4(c)中,图3(b)中形状的样本点(圆圈)可以作为图3(a)形状的每第二个样本点(加号)来获得。

3.2.标准B样条基函数的高效表示

关于周期性B样条基函数,可以通过对标准B样条基函数进行采样来获得紧凑表示。

图5示出了针对P=9的情况的标准仰角B样条基函数。尽管图5所示的一些基函数不像在周期性B样条基函数(例如,图3(a)和图3(b)所示的基函数)的情况中那样对称,但可以看出,对于非零部分,(从左侧开始)第一个样条函数和最后一个样条函数具有彼此镜像的形状(与本公开的上面部分1中所讨论的属性2d一致)。类似地,第二个非零样条函数和倒数第二个非零样条函数具有彼此镜像的形状,并且第三个非零样条函数和倒数第三个非零样条函数具有彼此镜像的形状。具有镜像形状的这些属性允许对基函数的存储器高效存储。因此,在一些实施例中,结点的规则间隔可以是优选的并被使用。对于模型评估,可以取决于正在评估的段来正向或反向读取所存储的形状。图5所示的第四个B样条基函数至倒数第四个B样条基函数(第四个B样条基函数、第五个B样条基函数和第六个B样条基函数)具有与方位角B样条基函数相同的属性,即对于非零部分是对称且相等的。

图6(a)至图6(d)示出了图5所示的标准B样条基函数的紧凑表示。

图6(a)示出了图5的第一个基函数和最后一个基函数的紧凑表示。该紧凑表示对应于最后一个基函数的非零部分的镜像形状。

图6(b)示出了图5的第二个基函数和倒数第二个基函数的紧凑表示。该紧凑表示对应于倒数第二个基函数的非零部分的镜像形状。

图6(c)示出了图5的第三个基函数和倒数第三个基函数的紧凑表示。该紧凑表示对应于倒数第三个基函数的非零部分的镜像形状。

图6(d)示出了图5的第四个基函数、第五个基函数和第六个基函数的紧凑表示。该紧凑表示对应于基函数的对称非零部分的一半。

与覆盖建模范围(在这种情况下,在-90°与90°之间)的B样条基函数的总数无关,仅需要四个独立的非零B样条基函数形状。此外,这些非零B样条函数形状之一(例如,图6(d)所示的函数)对于周期性样条函数是对称的,因此仅需要存储非零部分的一半。

3.3存储在存储器中

作为基函数采样的结果,基函数的紧凑表示(即,基函数形状)与形状元数据一起存储在存储器中。形状元数据可以包括表示以下中的任何一项或组合的信息:

1.基函数的数量(对于不同仰角,方位角基函数的数量可以不同);

2.每个基函数的起点(在建模间隔内);

3.每个基函数的形状索引(标识所存储的形状中的哪一个用于基函数);

4.针对每个基函数的形状重采样因子M;

5.针对每个基函数的翻转指示符(指示是否针对该特定基函数翻转所存储的形状);

6.基函数结构,例如B样条;以及

7.每个基函数的非零部分的宽度。

在一些实施例中,如果翻转指示符指示所存储的形状需要翻转,则可以从存储介质中反向读取存储介质中存储的形状,使得将经翻转的形状提供给渲染器。

在一些实施例中(特别是当渲染器已知模型结构时),一些参数(例如,翻转指示符和基函数结构)可能不需要被存储并发送到渲染器。例如,如果如图5中使用标准三次B样条,则如果已知基函数采样和结构化HR滤波器生成两者,无需用信号通知需要翻转最后3个基函数,假设前面4个形状(前三个形状以及第四个形状的一半)按该顺序存储。进一步可以知道,前面三个基函数与最后三个基函数之间的所有基函数可以通过第四个存储的形状构建。在B样条的情况下,形状元数据可以代替包含关于结点的信息。还可以知道,周期性B样条函数用于方位角基函数,而标准B样条函数用于仰角。这是形状元数据参数可以存储在不同的存储介质中的一个示例。

此外,HR滤波器模型参数α

4.HR滤波器生成

基于所存储的形状和参数,可以通过以下操作执行结构化HR滤波器生成:从存储器中读取基函数形状,基于形状元数据为每个基函数正确地应用它们,并避免不必要的计算复杂度(例如,不必要的乘法和求和),从而导致使用HR滤波器模型参数α

即使对B样条基函数的采样可以通过对采样基函数的结构化表格化来降低计算复杂度(音频渲染中所涉及的),也可以优化HR滤波器生成(或模型评估)以进一步降低计算复杂度。

假设根据图3和图5的方位角基函数和仰角基函数的结构(即,三次B样条基函数),对于每个方向(θ,φ),要评估的每个方位角和仰角最多存在四个非零B样条基函数。因此,对于等式(8)中F

其中,

与N=P·Q的完整评估(这里假设方位角基函数的数量恒定,即对于所有p,Q

在大多数点中,存在4个非零基函数,但在结点处,少于四个基函数贡献非零分量。

下文中描述了用于针对HR滤波器的生成提供优化的模型评估的方法。

4.1针对周期性B样条基函数的基础评估(对于方位角)

(1)确定结点段索引I

其中,φ是要评估的方位角,I

(2)确定最近段样本点:

其中,round()是舍入函数,N

其中,

(3)确定方位角的非零基函数

if(mod(φ,I

else

end

(4)计算B样条样本值和形状索引:

end

其中,S

4.2针对标准B样条函数的基础评估(对于仰角)

(1)确定结点段索引I

其中,θ是要评估的仰角,I

(2)确定最近段样本点:

其中,round()是舍入函数,N

(3)确定非零基函数的数量

if(mod(θ,I

else

end

在第一个结点和最后一个结点处,也可以使用

计算B样条样本值和形状索引

if(i+I

end

end

其中,I

P是仰角B样条基函数的总数。如果基函数索引(i+I

4.3 HR滤波器评估

一旦方位角B样条基函数和仰角B样条基函数被评估,F

其中,如果p>0,则

然后每个HR滤波器系数

其中,HR滤波器抽头索引k=0,...,K-1。

5.双耳渲染

在一些实施例中,上述方法可以用于HR滤波器的零时间延迟部分,即排除每个滤波器的起始时间延迟或由于耳间时间差引起的左HR滤波器和右HR滤波器之间的延迟差异。上述方法可以以等效的方式用于评估通过B样条基函数以类似方式建模的耳间时间差(例如,如WO202I/074294中所述)。在这种情况下,确定单个ITD,即K=1,这与滤波器抽头的数量K>>1的HR滤波器相反。然后可以通过修改所生成的HR滤波器

分别使用单独的权重矩阵

然后可以通过分别用左HR滤波器和右HR滤波器对音频源信号进行滤波(例如,通过使用公知的技术)来获得针对单声道源u(n)的双耳音频信号。当滤波器很长时,可以使用常规卷积技术在时域中或以更优化的方式(例如,使用重叠相加技术在离散傅立叶变换(DFT)域中)进行滤波。K=96个抽头对应于48kHz采样率的2ms滤波器。

本公开的实施例基于优化的两个主要类别——预先计算的采样基函数和结构化HR滤波器评估。在一些实施例中,采样基函数在预处理阶段被计算并存储在存储器中。此外,结构化HR滤波器评估可以在运行时在渲染器内执行,或者可以被预先计算并存储为采样HR滤波器的集合。由于存储以精细方位角和仰角分辨率采样的HR滤波器集合所需的存储器非常大,因此在一些实施例中,在运行期间评估HR滤波器。

图7示出了根据一些实施例的示例性系统700。系统700包括预处理器702和音频渲染器704。预处理器702和音频渲染器704可以被包括在同一实体或不同实体中。此外,预处理器702中包括的不同模块(例如,710、712、714和/或716)可以被包括在相同实体或不同实体中,并且音频渲染器704中包括的不同模块(718和/或720)可以被包括在相同实体或不同实体中。

在一个示例中,预处理器702被包括在音频编码器、网络实体(例如,在云中)和音频解码器(即,音频渲染器704)中的任何一个中。音频渲染器704可以被包括在能够生成音频信号的任何电子设备(例如,台式机、膝上型计算机、平板计算机、移动电话、头戴式显示器、XR模拟系统等)中。

预处理器702包括HR滤波器模型设计模块710、HR滤波器建模模块712、基函数采样模块714和存储器716。HR滤波器模型设计模块710被配置为向HR滤波器建模模块712输出设计数据720。HR滤波器建模模块712可以接收HR滤波器数据722,并且基于所接收的设计数据720和所接收的HR滤波器数据722来获得HR滤波器模型。在一些实施例中,根据上面所讨论的属性(1)以及属性(2)(a)至属性(2)(d)来设计HR滤波器模型。

获得HR滤波器模型可以包括选择某个基函数结构——即,选择针对方位角的基函数(“方位角基函数”)集合和/或针对仰角的基函数(“仰角基函数”)集合。方位角基函数可以被选择为在建模范围内(例如,在0°与360°之间)是周期性的。建模范围可以被划分为由结点界定的N

在获得HR滤波器模型之后,HR滤波器建模模块712向基函数采样模块714输出HR滤波器模型数据724。HR滤波器模型数据724可以指示所获得的HR滤波器模型(即,所选择的基函数结构)。基于所接收的HR滤波器模型数据724,基函数采样模块714可以以ΔΦ(对于方位角基函数)和ΔΘ(对于仰角基函数)的间隔对基函数进行采样,并获得方位角基函数和/或仰角基函数的(非零部分的)紧凑表示。由于不需要基函数的所有部分来表示基函数,因此可以获得基函数的紧凑表示。例如,对于基函数的对称非零部分,仅需要基函数的一半形状来表示形状。对于基函数的镜像或翻转的非零部分,仅需要镜像部分之一来表示基函数的形状。对于基函数的子采样的非零部分,仅需要最大的形状来表示基函数的形状。

在获得基函数的紧凑表示之后,基函数采样模块714可以将基函数形状数据728和形状元数据730存储在存储器716中。基函数形状数据728可以指示基函数的紧凑表示的形状。形状元数据730可以包括关于与HR滤波器模型基函数相关的紧凑表示的结构的信息。例如,形状元数据730可以包括关于与模型基函数相关的形状、取向(例如,是否翻转)和子采样因子M的信息。在本公开的上面部分3.3中提供了关于形状元数据730的详细信息。

除了基函数形状数据728和形状元数据730之外,存储器716还可以存储附加的HR滤波器模型参数726(例如,α参数)。

音频渲染器704包括结构化HR滤波器生成器718和双耳渲染器720。结构化HR滤波器生成器718从存储器716中读取基函数形状数据732、形状元数据734和附加的HR滤波器模型参数736,并接收渲染元数据738。基函数形状数据732可以与基函数形状数据728相同或相关。类似地,形状元数据734和模型参数736可以分别与形状元数据730和模型参数726相同或相关。

基于(i)基函数形状数据732、(ii)形状元数据734、(iii)附加的HR滤波器模型参数736和(iv)渲染元数据738,结构化HR滤波器生成器718可以生成指示HR滤波器的HR滤波器信息740。渲染元数据738可以定义要评估的方向(θ,φ)。

图8示出了根据一些实施例的示例性过程800。过程800可以由音频渲染器704中包括的结构化HR滤波器生成器718来执行。

过程800可以从步骤s802开始。在步骤s802中,结构化HR滤波器生成器718基于所接收的渲染元数据738来标识建模范围内的段。例如,渲染元数据738定义要评估的特定方向(θ,φ),并且生成器718标识所定义的方向属于的段。

在执行步骤s802之后,在步骤s804中,结构化HR滤波器生成器718标识在步骤s802中标识的段内的样本点。

在执行步骤s804之后,在步骤s806中,生成器718基于基函数形状数据732来标识基函数(即,方位角基函数和仰角基函数)的紧凑表示。

在执行步骤s806之后,在步骤s808中,生成器718基于形状元数据734来确定所标识的紧凑表示是否应该被正常读取、翻转、或根据子采样因子M进行子采样,并在需要时执行翻转和/或子采样。

在执行步骤s808之后,在步骤s810中,生成器718评估至多N

在执行步骤s810之后,在步骤s812中,基于(i)所获得的方位角基函数值、(ii)所获得的仰角基函数值、以及(iii)附加的模型参数736(例如,参数α),结构化HR滤波器生成器718生成HR滤波器。HR滤波器可以生成为由分别针对每个滤波器抽头k的对应模型权重参数(α)加权的方位角基函数值和仰角基函数值之和。在上面部分4.3中提供了关于如何生成HR滤波器的详细说明。

由结构化HR滤波器生成器718生成的HR滤波器(用于左侧和右侧)随后被提供给双耳渲染器720。

使用由生成器718生成的HR滤波器,双耳渲染器720可以双耳化音频信号742——即,生成两个音频输出信号(用于左侧和右侧)。

图9示出了用于针对XR场景产生声音的示例系统900。系统900包括控制器901、针对第一音频流951的信号修改器902、针对第二音频流952的信号修改器903、针对第一音频流951的扬声器904和针对第二音频流952的扬声器905。虽然图9中示出了两个音频流、两个修改器和两个扬声器,但这仅用于说明目的,并且不以任何方式限制本公开的实施例。例如,在一些实施例中,可以存在对应于N个要渲染的音频对象的N个音频流,音频流包括对应于单个音频对象的单个单声道信号。此外,即使图9示出了系统900分别接收并修改第一音频流951和第二音频流952,系统900也可以接收表示多个音频流的单个音频流。第一音频流951和第二音频流952可以相同或不同。在第一音频流951和第二音频流952相同的情况下,单个音频流可以被拆分为与单个音频流相同的两个音频流,从而生成第一音频流951和第二音频流952。

控制器901可以被配置为接收一个或多个参数,并触发修改器902和903基于所接收的参数对第一音频流951和第二音频流952执行修改(例如,根据增益函数提高或降低音量电平)。所接收的参数是(1)关于听者的位置的信息953(例如,到音频源的距离和方向)和(2)关于音频源的元数据954。信息953可以包括与图7所示的渲染元数据738相同的信息。类似地,元数据954可以包括与图7所示的形状元数据734相同的信息。

在本公开的一些实施例中,信息953可以从图10A所示的XR系统1000中包括的一个或多个传感器提供。如图10A所示,XR系统1000被配置为由用户佩戴。如图10B所示,XR系统1000可以包括取向感测单元1001、位置感测单元1002、以及与系统1000的控制器1001耦接的处理单元1003。取向感测单元1001被配置为检测听者的取向变化,并将关于检测变化的信息提供给处理单元1003。在一些实施例中,在给定由取向感测单元1001检测到的取向的检测变化的情况下,处理单元1003确定绝对取向(相对于某个坐标系)。也可以存在用于确定取向和位置的不同系统,例如,使用灯塔跟踪器(激光雷达)的HTC Vive系统。在一个实施例中,在给定取向的检测变化的情况下,取向感测单元1001可以确定绝对取向(相对于某个坐标系)。在这种情况下,处理单元1003可以简单地复用来自取向感测单元1001的绝对取向数据和来自位置感测单元1002的绝对位置数据。在一些实施例中,取向感测单元1001可以包括一个或多个加速度计和/或一个或多个陀螺仪。图10A和图10B所示的XR系统1000的类型和/或XR系统1000的组件仅出于说明目的而被提供,并且不以任何方式限制本公开的实施例。例如,尽管XR系统1000被示出为包括覆盖用户眼睛的头戴式显示器,但系统可以不配备有这种显示器(例如,用于纯音频实现)。

图11是示出了用于生成用于音频渲染的HR滤波器的过程1100的流程图。过程1100可以从步骤s1102开始。

步骤s1102包括:生成指示HR滤波器模型的HR滤波器模型数据。生成HR滤波器模型数据可以包括:选择一个或多个基函数的至少一个集合。

步骤s1104包括:基于所生成的HR滤波器模型数据,对所述一个或多个基函数进行采样(s1104)。

步骤s1106包括:基于所生成的HR滤波器模型数据,生成第一基函数形状数据和形状元数据。第一基函数形状数据标识所述一个或多个基函数的一个或多个紧凑表示,并且形状元数据包括关于与所述一个或多个基函数相关的所述一个或多个紧凑表示的结构的信息。

步骤s1108包括:提供所生成的第一基函数形状数据和形状元数据以存储在一个或多个存储介质中。

步骤s1110包括:检测触发事件的发生。

步骤s1112包括:作为检测到触发事件的发生的结果,输出用于音频渲染的第二基函数形状数据和形状元数据。

这种触发事件可以指示将生成用于音频渲染的头部相关(HR)滤波器,这可以在请求头部相关(HR)滤波器例如用于渲染音频帧或者通过生成存储在存储器中以供后续使用的头部相关(HR)滤波器来准备渲染时从音频渲染器引发。在一些实施例中,触发事件仅是对从一个或多个存储介质中获取基函数形状数据和/或形状元数据的决定。

在一些实施例中,一个或多个基函数的所述至少一个集合被选择为使得满足以下条件中的任何一个或组合:

(i)一个或多个基函数的所述至少一个集合在建模范围内是周期性的;

(ii)所述至少一个集合中包括的至少一个基函数在建模范围内包括的一个或多个段中为零值;

(iii)所述至少一个集合中包括的至多N个基函数在建模范围内包括的段中为非零,其中,N是正整数且小于所述至少一个集合中包括的基函数的总数;以及

(iv)所述一个或多个基函数的至少一个非零部分是(1)相对于所述一个或多个基函数的另一非零部分是对称的或镜像的或(2)所述一个或多个基函数的另一非零部分的子采样版本中的任何一个或组合。

在一些实施例中,所述一个或多个基函数的紧凑表示指示所述一个或多个基函数的非零部分的形状,并且所述一个或多个基函数的所述非零部分的形状相对于所述一个或多个基函数的另一非零部分的形状是对称的或镜像的。

在一些实施例中,形状元数据包括以下信息中的任何一个或组合:

(i)基函数的数量;

(ii)每个基函数的起点;

(iii)一个或多个形状索引,每个形状索引标识用于音频渲染的特定形状;

(iv)针对一个或多个基函数的形状重采样因子;

(v)针对一个或多个基函数的翻转指示符,其中,翻转指示符指示是否获得所述一个或多个存储介质中存储的所述一个或多个基函数的所述一个或多个紧凑表示的翻转版本;

(vi)基函数结构;以及

(vii)每个基函数的非零部分的宽度。

在一些实施例中,该方法还包括:提供附加的HR滤波器模型参数以存储在所述一个或多个存储介质中。

在一些实施例中,该方法在触发音频渲染的事件的发生之前由预处理器执行。

在一些实施例中,该方法由网络实体中包括的预处理器来执行,该网络实体与音频渲染器是分离且不同的。

在一些实施例中,第二基函数形状数据和形状元数据用于生成HR滤波器。

在一些实施例中,第一基函数形状数据和第二基函数形状数据相同。

在一些实施例中,第二基函数形状数据标识所述一个或多个基函数的所述一个或多个紧凑表示的转换版本,并且所述一个或多个基函数的所述一个或多个紧凑表示的转换版本是所述一个或多个基函数的所述一个或多个紧凑表示的对称或镜像版本和/或子采样版本。

图12是示出了用于生成用于音频渲染的HR滤波器的过程1200的流程图。过程1200可以从步骤s1202开始。

步骤s1202包括:获得形状元数据,该形状元数据指示是否获得一个或多个基函数的一个或多个紧凑表示的转换版本。

步骤s1204包括:获得基函数形状数据,该基函数形状数据标识(i)所述一个或多个基函数的所述一个或多个紧凑表示或(ii)所述一个或多个基函数的所述一个或多个紧凑表示的转换版本。

步骤s1206包括:基于所获得的形状元数据和所获得的基函数形状数据,通过使用(i)所述一个或多个基函数的所述一个或多个紧凑表示或(ii)所述一个或多个基函数的所述一个或多个紧凑表示的转换版本来生成HR滤波器。

在一些实施例中,该方法还包括:在获得指示如何获得所述一个或多个基函数的所述一个或多个紧凑表示的转换版本的形状元数据之后,从存储介质获得与所述一个或多个基函数的所述一个或多个紧凑表示相对应的数据。以预定义方式获得数据,使得获得所述一个或多个基函数的所述一个或多个紧凑表示的转换版本。

在一些实施例中,该方法包括:接收标识所述一个或多个基函数的所述一个或多个紧凑表示的数据,并提供所接收的数据以存储在另一存储介质中。获得标识所述一个或多个基函数的所述一个或多个紧凑表示的转换版本的基函数形状数据包括:以预定义方式从所述另一存储介质读取所存储的所接收的数据。

在一些实施例中,所述一个或多个基函数的所述一个或多个紧凑表示的转换版本是所述一个或多个基函数的所述一个或多个紧凑表示的对称或镜像版本和/或子采样版本。

在一些实施例中,以预定义方式获得数据包括:(i)以预定义顺序获得数据和/或(ii)部分地获得数据。

在一些实施例中,所述一个或多个基函数的紧凑表示的转换版本是所述一个或多个基函数的紧凑表示的对称或镜像版本和/或子采样版本。

在一些实施例中,该方法还包括:获得指示要评估的特定方向或位置的渲染元数据;以及基于所获得的渲染元数据,标识与要评估的特定方向或位置相关的样本点。

在一些实施例中,所述一个或多个基函数的所述一个或多个紧凑表示指示所述一个或多个基函数的非零部分的形状,并且所述一个或多个基函数的所述非零部分的形状相对于所述一个或多个基函数的另一非零部分的形状是对称的或镜像的。

在一些实施例中,形状元数据包括以下信息中的任何一个或组合:(i)基函数的数量;(ii)每个基函数的起点;(iii)一个或多个形状索引,每个形状索引标识用于HR滤波器生成的特定形状;(iv)针对一个或多个基函数的形状重采样因子;(v)针对一个或多个基函数的翻转指示符,其中,翻转指示符指示是否获得所述存储介质中存储的所述一个或多个基函数的所述一个或多个紧凑表示的翻转版本;(vi)基函数结构;以及(vii)每个基函数的非零部分的宽度。

在一些实施例中,该方法还包括:获得音频信号;以及使用所生成的HR滤波器,对所获得的音频信号进行滤波以生成用于左侧的左音频信号和用于右侧的右音频信号。左音频信号和右音频信号与渲染元数据所指示的特定方向和/或位置相关联。

图13是根据一些实施例的用于实现图7所示的预处理器702或音频渲染器704的装置1300的框图。如图13所示,装置1300可以包括:处理电路(PC)1302,该处理电路(PC)902可以包括一个或多个处理器(P)1355(例如,通用微处理器和/或一个或多个其他处理器,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等),这些处理器可以共同位于单个外壳或单个数据中心中,或者可以在地理上分布(即,装置1300可以是分布式计算装置);至少一个网络接口1348,每个网络接口1348包括发射机(Tx)1345和接收机(Rx)1347,用于使装置1300能够向连接到网络110(例如,互联网协议(IP)网络)的其他节点发送数据以及从其他节点接收数据,网络接口1348(直接地或间接地)连接到该网络110(例如,网络接口1348可以无线连接到网络110,在这种情况下,网络接口1348连接到天线布置);以及一个或多个存储单元(也称为“数据存储系统”)1308,其可以包括一个或多个非易失性存储设备和/或一个或多个易失性存储设备。在PC 1302包括可编程处理器的实施例中,可以提供计算机程序产品(CPP)1341。CPP 1341包括计算机可读介质(CRM)1342,该计算机可读介质(CRM)1342存储包括计算机可读指令(CRI)1344在内的计算机程序(CP)1343。CRM 1342可以是非暂时性计算机可读介质,例如磁介质(例如,硬盘)、光学介质、存储器设备(例如,随机存取存储器、闪存)等。在一些实施例中,计算机程序1343的CRI 1344被配置为使得当由PC 1302执行时,CRI使装置1300执行本文所描述的步骤(例如,本文参考流程图描述的步骤)。在其他实施例中,装置1300可以被配置为在不需要代码的情况下执行本文所描述的步骤。即,例如,PC1302可以仅由一个或多个ASIC组成。因此,本文描述的实施例的特征可以以硬件和/或软件方式来实现。

尽管本文描述了各种实施例,但应当理解,它们仅以示例而非限制的方式提出。因此,本公开的广度和范围不应受到上述示例性实施例中任何一个的限制。此外,上述要素以其所有可能变型进行的任意组合都涵盖在本公开中,除非另有指示或以其他方式和上下文明确冲突。

附加地,尽管上文描述并附图中示出的过程和消息流被示出为一系列步骤,但其仅用于说明目的。因此,可以想到可增加一些步骤、可省略一些步骤,可重排步骤顺序,以及可并行执行一些步骤。

6.缩写

相关技术
  • 用于生成头部相关传递函数滤波器的布置
  • 头部相关(HR)滤波器
技术分类

06120115803742