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

混响增益归一化

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


混响增益归一化

相关申请的引用

本申请要求于2018年6月14日提交的美国临时专利申请No.62/685,235的优先权,其全部内容通过引用合并于此。

技术领域

本公开总体上涉及混响算法和用于使用所公开的混响算法的混响器。更具体地,本公开涉及计算混响初始功率(RIP)校正因子并将其与混响器串联应用。本公开还涉及计算混响能量校正(REC)因子并将其与混响器串联应用。

背景技术

虚拟环境在计算环境中无处不在,可以在视频游戏中找到使用(其中虚拟环境可以表示游戏世界);地图(其中虚拟环境可以表示要导航的地形);模拟(其中虚拟环境可以模拟真实环境);数字讲故事(其中虚拟角色可以在虚拟环境中相互交互);以及许多其它应用。现代计算机用户通常舒适地感知虚拟环境并与之交互。然而,用于呈现虚拟环境的技术可能会限制用户在虚拟环境中的体验。例如,传统显示器(例如,2D显示屏)和音频系统(例如,固定扬声器)可能无法以创建引人注目的、逼真的和沉浸式体验的方式来实现虚拟环境。

虚拟现实(“VR”)、增强现实(“AR”)、混合现实(“MR”)和相关技术(统称为“XR”)共享向XR系统的用户呈现与计算机系统中的数据所表示的虚拟环境相对应的感官(sensory)信息的能力。通过将虚拟的视觉和音频(audio)提示与真实的视力和声音结合,此类系统可以提供独特的突出沉浸感和真实感。因此,可能希望以如下方式将数字声音呈现给XR系统的用户:声音似乎在用户的真实环境中自然地发生并且符合用户对声音的期望。一般来说,用户期望虚拟声音将具有听到声音的真实环境的声学特性。例如,在大型音乐厅中XR系统的用户将期望XR系统的虚拟声音具有巨大的空洞的声音品质;相反,在小公寓中的用户将期望声音变得更加柔和、接近和即时。

数字或人工混响器可用于音频和音乐信号处理中,以模拟房间中扩散声学混响的感知效果。可能需要这样一种系统,其为每个数字混响器提供混响响度和混响衰减的精确且独立的控制,例如,用于声音设计者的直观控制。

发明内容

公开了用于提供混响特性的精确且独立控制的系统和方法。在一些实施例中,系统可以包括混响处理系统、直接处理系统、以及组合器。混响处理系统可以包括混响初始功率(RIP)控制系统和混响器。RIP控制系统可以包括混响初始增益(RIG)和RIP校正器。RIG可以被配置为将RIG值应用于输入信号,以及RIP校正器可以被配置为将RIP校正因子应用于来自RIG的信号。混响器可以配置为将混响效果应用于来自RIP控制系统的信号。

在一些实施例中,混响器可以包括一个或多个梳状滤波器以滤除系统中的一个或多个频率。例如,可以滤除一个或多个频率以模仿环境影响。在一些实施例中,混响器可以包括一个或多个全通滤波器。每个全通滤波器可以从梳状滤波器接收信号,并且可以被配置为在不改变其幅度的情况下传递其输入信号,但是可以改变该信号的相位。

在一些实施例中,RIG可以包括混响增益(RG),该混响增益(RG)被配置为将RG值应用于输入信号。在一些实施例中,RIG可以包括REC,REC被配置为将RE校正因子应用于来自RG的信号。

附图说明

图1示出了根据一些实施例的示例可穿戴系统。

图2示出了根据一些实施例的可以与示例可穿戴系统结合使用的示例手持式控制器。

图3示出了根据一些实施例的可以与示例可穿戴系统结合使用的示例辅助单元。

图4示出了根据一些实施例的用于示例可穿戴系统的示例功能框图。

图5A示出了根据一些实施例的示例音频渲染系统的框图。

图5B示出了根据一些实施例的用于操作图5A的音频渲染系统的示例过程的流程。

图6示出了根据一些实施例的当混响时间被设置为无穷大时的示例混响RMS幅度的曲线图。

图7示出了根据一些实施例的在混响开始时间之后基本上遵循指数衰减的示例RMS功率的曲线图。

图8示出了根据一些实施例的来自图5的混响器的示例输出信号。

图9示出了根据一些示例的对于仅包括梳状滤波器的示例混响器的脉冲响应的幅度。

图10示出了根据本公开的示例的对于包括全通滤波器级(stage)的示例混响器的脉冲响应的幅度。

图11A示出了根据一些实施例的具有包括梳状滤波器的混响器的示例混响处理系统。

图11B示出了根据一些实施例的用于操作图11A的混响处理系统的示例过程的流程。

图12A示出了具有包括多个全通滤波器的混响器的示例混响处理系统。

图12B示出了根据一些实施例的用于操作12A的混响处理系统的示例过程的流程。

图13示出了根据一些实施例的图12的混响处理系统的脉冲响应。

图14示出了根据一些实施例的通过混响处理系统510的信号输入和输出。

图15示出了根据一些实施例的包括反馈矩阵的示例FDN的框图。

图16示出了根据一些实施例的包括多个全通滤波器的示例FDN的框图。

图17A示出了根据一些实施例的包括REC的示例混响处理系统的框图。

图17B示出了根据一些实施例的用于操作图17A的混响处理系统的示例过程的流程。

图18A示出了根据一些实施例的对于与虚拟收听器并置(collocate)的虚拟声源的示例计算RE超时(overtime)。

图18B示出了根据一些实施例的具有即时(instant)混响开始的示例计算RE。

图19示出了根据一些实施例的示例混响处理系统的流程。

具体实施方式

在以下示例的描述中,参考了形成其一部分的附图,并且在附图中通过图示的方式示出了可以实践的特定示例。应当理解,在不脱离所公开示例的范围的情况下,可以使用其它示例,并且可以进行结构改变。

图1示出被配置为佩戴在用户的头部上的示例可穿戴头部设备100。可穿戴头部设备100可以是更广泛的可穿戴系统的一部分,该系统包括一个或多个组件,诸如头部设备(例如,可穿戴头部设备100)、手持式控制器(例如,以下所述的手持式控制器200)、和/或辅助单元(例如,下面描述的辅助单元300)。在一些示例中,可穿戴头部设备100可以用于虚拟现实、增强现实、或混合现实系统或应用。可穿戴头部设备100可以包括一个或多个显示器,诸如显示器110A和110B(其可以包括左和右透射显示器,以及用于将光从显示器耦合到用户的眼睛的相关联组件,诸如正交光瞳扩展(OPE)光栅组112A/112B和出射光瞳扩展(EPE)光栅组114A/114B);左和右声学结构,诸如扬声器120A和120B(其可以分别安装在镜腿122A和122B上,并且与用户的左耳和右耳相邻定位);一个或多个传感器,诸如红外传感器、加速度计、GPS单元、惯性测量单元(IMU)(例如IMU 126)、声学传感器(例如麦克风150);正交线圈电磁接收器(例如,所示出的安装到左镜腿臂122A的接收器127);远离用户取向的左和右相机(例如,深度(飞行时间)相机130A和130B);以及朝向用户取向的左眼和右眼相机(例如,用于检测用户的眼睛运动)(例如,眼睛相机128和128B)。然而,可穿戴头部设备100可以结合任何合适的显示技术,以及任何合适数量、类型或组合的传感器、或不脱离本发明的范围的其它组件。在一些示例中,可穿戴头部设备100可以结合一个或多个麦克风150,该麦克风150被配置为检测由用户的语音生成的音频信号;此类麦克风可以定位在与用户的嘴相邻的可穿戴头部设备中。在一些示例中,可穿戴头部设备100可以结合连网特征(例如,Wi-Fi能力),以与包括其它可穿戴系统的其它设备和系统通信。可穿戴头部设备100可进一步包括诸如电池、处理器、存储器、存储单元或各种输入设备(例如,按钮、触摸板)的组件;或可以耦合到包括一个或多个此类组件的手持式控制器(例如,手持式控制器200)或辅助单元(例如,辅助单元300)。在一些示例中,传感器可以被配置为输出头戴式单元相对于用户环境的一组坐标,并且可以向执行同步定位和映射(SLAM)过程和/或视觉测距算法的处理器提供输入。在一些示例中,如下面进一步描述,可穿戴头部设备100可以耦合到手持式控制器200和/或辅助单元300。

图2示出示例可穿戴系统的示例移动手持式控制器组件200。在一些示例中,手持式控制器200可以与以下描述的可穿戴头部设备100和/或辅助单元300进行有线或无线通信。在一些示例中,手持式控制器200包括要由用户握持的手柄部220,以及沿着顶表面210设置的一个或多个按钮240。在一些示例中,手持式控制器200可以被配置为用作光学跟踪目标;例如,可穿戴头部设备100的传感器(例如,相机或其它光学传感器)可以配置为检测手持式控制器200的位置和/或取向,从而通过扩展可以指示握持手持式控制器200的用户的手的位置和/或取向。在一些示例中,诸如上述,手持式控制器200可以包括处理器、存储器、存储单元、显示器、或一个或多个输入设备。在一些示例中,手持式控制器200包括一个或多个传感器(例如,以上关于可穿戴头部设备100所述的任何传感器或跟踪组件)。在一些示例中,传感器可以检测手持式控制器200相对于可穿戴头部设备100或相对于可穿戴系统的另一组件的位置或取向。在一些示例中,传感器可以定位在手持式控制器200的手柄部220中,和/或可以机械地耦合到手持式控制器。手持式控制器200可以被配置为提供一个或多个输出信号,例如,对应于按钮240的按下状态;或者,手持式控制器200的位置、取向和/或运动(例如,经由IMU)。此类输出信号可以用作可穿戴头部设备100的处理器、辅助单元300、或可穿戴系统的另一组件的输入。在一些示例中,手持式控制器200可以包括一个或多个麦克风以检测声音(例如,用户的语音、环境声音),并且在一些情况下,将与所检测的声音相对应的信号提供给处理器(例如,可穿戴头部设备100的处理器)。

图3示出示例可穿戴系统的示例辅助单元300。在一些示例中,辅助单元300可以与可穿戴头部设备100和/或手持式控制器200进行有线或无线通信。辅助单元300可以包括电池,以提供能量来操作可穿戴系统的一个或多个组件,诸如可穿戴头部设备100和/或手持式控制器200(包括显示器、传感器、声学结构、处理器、麦克风和/或可穿戴头部设备100或手持式控制器200的其它组件)。在一些示例中,如上所述,辅助单元300可以包括处理器、存储器、存储单元、显示器、一个或多个输入设备、和/或一个或多个传感器。在一些示例中,辅助单元300包括用于将辅助单元附接至用户(例如,由用户佩戴的皮带)的夹子310。使用辅助单元300来容纳可穿戴系统的一个或多个组件的优点是,这样做可以使大型或沉重的组件被携带在用户的腰部、胸部或背部上(它们相对非常适合于支撑较大和较重的对象),而不是安装到用户的头部(例如,如果容纳在可穿戴头部设备100中)或由用户的手携带(例如,如果容纳在手持式控制器200中)。对于相对较重或笨重的组件(诸如电池)这可能是特别有利的。

图4示出可以对应于示例可穿戴系统400(诸如可以包括上述示例可穿戴头部设备100、手持式控制器200、和辅助单元300)的示例功能框图。在一些示例中,可穿戴系统400可以用于虚拟现实、增强现实、或混合现实应用。如图4中所示,可穿戴系统400可以包括示例手持式控制器400B,在此称为“图腾”(并且可以对应于上述手持式控制器200);手持式控制器400B可包括图腾至头盔(headgear)的六个自由度(6DOF)图腾子系统404A。可穿戴系统400还可以包括示例可穿戴头部设备400A(其可以对应于上述可穿戴头盔设备100);可穿戴头部设备400A包括图腾至头盔的6DOF头盔子系统404B。在该示例中,6DOF图腾子系统404A和6DOF头盔子系统404B共同确定手持式控制器400B相对于可穿戴头部设备400A的六个坐标(例如,三个平移方向中的偏移和沿三个轴的旋转)。六个自由度可以相对于可穿戴头部设备400A的坐标系表达。在此类坐标系中,三个平移偏移量可以表达为X、Y和Z偏移量,可以表达为平移矩阵、或一些其它表示。旋转自由度可以表达为一序列的偏航、俯仰和滚动旋转;表达为矢量;表达为旋转矩阵;表达为四元数;或表达为一些其它表示。在一些示例中,可穿戴头部设备400A中包括的一个或多个深度相机444(和/或一个或多个非深度相机);和/或一个或多个光学瞄准(例如,如上所述的手持式控制器200的按钮240、或手持式控制器中包括的专用光学瞄准)可用于6DOF跟踪。在一些示例中,如上所述,手持式控制器400B可以包括相机;并且头盔400A可包括与相机一起用于光学跟踪的光学瞄准。在一些示例中,可穿戴头部设备400A和手持式控制器400B各自包括一组三个正交取向的螺线管,其用于无线地发送和接收三个可区分的信号。通过测量在用于接收的每个线圈中所接收到的三个可区分信号的相对幅度,可以确定手持式控制器400B相对于可穿戴头部设备400A的6DOF。在一些示例中,6DOF图腾子系统404A可以包括惯性测量单元(IMU),该惯性测量单元可用于提供有关快速运动的手持式控制器400B的改进的精度和/或更及时的信息。

在一些涉及增强现实或混合现实应用的示例中,可能希望将坐标从本地坐标空间(例如,相对于可穿戴头部设备400A固定的坐标空间)变换为惯性坐标空间或环境坐标空间。例如,此类变换对于可穿戴头部设备400A的显示器可能是必要的,以在相对于真实环境的预期位置和取向而不是显示器上的固定位置和取向(例如,可穿戴头部设备400A的显示器中的相同位置处)呈现虚拟对象(例如,坐在真实椅子上,面向前方的虚拟人,无论可穿戴头部设备400A的位置和取向如何)。这可以保持虚拟对象存在于真实环境中的幻觉(并且例如随着可穿戴头部设备400A移动和旋转而不会不自然地出现定位在真实环境中)。在一些示例中,可以通过处理来自深度相机444的图像(例如,使用同时定位和映射(SLAM)和/或视觉测距过程)来确定坐标空间之间的补偿变换,以便确定可穿戴头部设备400A相对于惯性或环境坐标系的变换。在图4中所示的示例中,深度相机444可以耦合到SLAM/视觉测距模块406,并且可以向模块406提供图像。SLAM/视觉测距模块406的实现方式可以包括处理器,该处理器被配置为处理该图像并确定用户的头部的位置和取向,该位置和取向然后可以用于识别头部坐标空间与实际坐标空间之间的变换。类似地,在一些示例中,关于用户的头部姿势和位置的附加信息源从可穿戴头部设备400A的IMU 409获得。来自IMU 409的信息可以与来自SLAM/视觉测距模块406的信息集成在一起,以提供关于用户的头部姿势和位置的快速调节的改进的准确性和/或更及时的信息。

在一些示例中,深度相机444可以将3D图像提供给手势跟踪器411,这可以在可穿戴头部设备400A的处理器中实现。手势跟踪器411可以例如通过将从深度相机444接收的3D图像与表示手势的存储图案(pattern)进行匹配来识别用户的手势。识别用户手势的其它合适技术将显而易见。

在一些示例中,一个或多个处理器416可以被配置为从头盔子系统404B、IMU 409、SLAM/视觉测距模块406、深度相机444、麦克风(未示出)、和/或手势跟踪器411接收数据。处理器416还可以发送和接收来自6DOF图腾系统404A的控制信号。诸如在手持式控制器400B不受束缚的示例中,处理器416可以无线地耦合到6DOF图腾系统404A。处理器416可以进一步与附加组件通信,诸如视听内容存储器418、图形处理单元(GPU)420和/或数字信号处理器(DSP)音频声场定位器(spatializer)422。DSP音频声场定位器422可以耦合到头部相关传输函数(HRTF)存储器425。GPU 420可以包括耦合到成影像调制光的左源424的左通道输出和耦合到成影像调制光的右源426的右通道输出。GPU 420可将立体图像数据输出到成影像调制光424、426的源。DSP音频声场定位器422可以将音频输出到左扬声器412和/或右扬声器414。DSP音频声场定位器422可以从处理器416接收指示从用户到虚拟声源的方向矢量的输入(该虚拟声源可以由用户例如经由手持控制器400B来移动)。基于方向矢量,DSP音频声场定位器422可以确定对应的HRTF(例如,通过访问HRTF,或者通过内插多个HRTF)。然后,DSP音频声场定位器422可以将所确定的HRTF应用于音频信号,诸如与由虚拟对象生成的虚拟声音相对应的音频信号。通过在混合现实环境中结合用户相对于虚拟声音的相对位置和取向,也就是说,通过呈现与虚拟声音听起来像是在真实环境中的真实声音的用户期望相匹配的虚拟声音,可以增强虚拟声音的可信度和真实性。

在一些示例中,诸如图4中所示,处理器416、GPU 420、DSP音频声场定位器422、HRTF存储器425、和音频/视频内容存储器418中的一个或多个可以被包括在辅助单元400C(其可以对应于上述辅助单元300)中。辅助单元400C可以包括电池427,以对其组件供电和/或向可穿戴头部设备400A和/或手持式控制器400B供电。将此类组件包括在可以安装到用户腰部的辅助单元中,可以限制可穿戴头部设备400A的大小和重量,这进而可以减少用户头部和颈部的疲劳。

尽管图4呈现了与示例可穿戴系统400的各个组件相对应的元件,但是这些组件的各种其它合适的布置对于本领域技术人员而言将变得显而易见。例如,与辅助单元400C相关联的图4中呈现的元件可以替代地与可穿戴头部设备400A或手持式控制器400B相关联。此外,一些可穿戴系统可以完全放弃手持式控制器400B或辅助单元400C。此类改变和修改应被理解为包括在所公开的示例的范围内。

像所有人一样,混合现实系统的用户也存在于真实环境中,也就是说,用户可以感知的“真实世界”的三维部分及其所有内容。例如,用户使用普通的人类感官(视觉、声音、触觉、味觉、气味)感知真实环境,并通过在真实环境中移动自己的身体来与真实环境交互。真实环境中的位置可以描述为坐标空间中的坐标;例如,坐标可以包括相对于海平面的纬度、经度和海拔;距离参考点的三个正交尺寸上的距离;或其它合适的值。同样,矢量可以描述在坐标空间中具有方向和幅度的量。

计算设备可以在例如与设备相关联的存储器中维持(maintain)虚拟环境的表示。如在此所使用的,虚拟环境是三维空间的计算表示。虚拟环境可以包括与该空间相关联的任何对象、动作、信号、参数、坐标、矢量或其它特征的表示。在一些示例中,计算设备的电路(例如,处理器)可以维持和更新虚拟环境的状态;也就是说,处理器可以在第一时间基于与虚拟环境相关联的数据和/或用户提供的输入来确定第二时间的虚拟环境的状态。例如,如果虚拟环境中的对象当时(at time)位于第一坐标处,并且具有某些编程的物理参数(例如,质量、摩擦系数);以及从用户接收到指示应在方向矢量中向对象施加力的输入;则处理器可以应用运动学定律,以使用基本力学确定当时对象的位置。处理器可以使用关于虚拟环境的任何已知的适当信息和/或任何适当的输入来确定虚拟环境当时的状态。在维持和更新虚拟环境的状态时,处理器可以执行任何适当的软件,包括与在虚拟环境中创建和删除虚拟对象有关的软件;用于定义虚拟环境中虚拟对象或角色行为的软件(例如脚本);用于定义虚拟环境中信号(例如音频信号)行为的软件;用于创建和更新与虚拟环境关联的参数的软件;用于在虚拟环境中生成音频信号的软件;用于处理输入和输出的软件;用于实现网络操作的软件;用于应用资产数据(例如动画数据,以随着时间推移移动虚拟对象)的软件;或许多其它可能性。

输出设备(诸如显示器或扬声器)可以向用户呈现虚拟环境的任何或所有方面。例如,虚拟环境可以包括可以向用户呈现的虚拟对象(其可以包括无生命的对象、人、动物、灯光等的表示)。处理器可以确定虚拟环境的视图(例如,与具有原点坐标、视图轴和平截头体(frustum)的“相机”相对应);并将与该视图相对应的虚拟环境的可见场景渲染给显示器。任何合适的渲染技术都可以用于此目的。在一些示例中,可见场景可以仅包括虚拟环境中的一些虚拟对象,并且排除某些其它虚拟对象。类似地,虚拟环境可以包括可以作为一个或多个音频信号呈现给用户的音频方面。例如,虚拟环境中的虚拟对象可以生成源自对象的位置坐标的声音(例如,虚拟角色可以说话或引起声音效果);或者虚拟环境可以与可能与特定位置相关联或不与特定位置相关联的音乐提示或环境声音相关联。处理器可以确定与“收听器(listener)”坐标相对应的音频信号,例如,与虚拟环境中的声音合成相对应的音频信号,并混合和处理以模拟将在收听器坐标处被收听器听到的音频信号,并经由一个或多个扬声器向用户呈现音频信号。

因为虚拟环境仅作为计算结构存在,所以用户不能使用普通感官直接感知虚拟环境。相反,用户只能间接地感知例如通过显示器、扬声器、触觉输出设备等呈现给用户的虚拟环境。类似地,用户不能直接触摸、操纵或以其它方式与虚拟环境交互;但是可以经由输入设备或传感器将输入数据提供给可以使用设备或传感器数据以更新虚拟环境的处理器。例如,相机传感器可以提供指示用户正试图在虚拟环境中移动对象的光学数据,并且处理器可以使用该数据来使对象在虚拟环境中相应地做出响应。

在一些实施例中,可以基于具有反馈的延迟网络来设计数字混响器。在这样的实施例中,混响器算法设计准则可以被包括/可用于精确的参数衰减时间控制并且用于当衰减时间改变时保持混响响度。可以通过提供与数字混响器级联的可调节信号幅度增益来实现混响响度的相对调节。该方法可以使声音设计者或录音工程师独立地调谐混响衰减时间和混响响度,同时可听地监控混响器输出信号以达到期望的效果。

诸如视频游戏或VR/AR/MR的交互式音频引擎之类的程序应用可以模拟在房间/环境(例如,虚拟房间/环境)中的收听器(例如,虚拟收听器)周围的各种位置和距离处的多个移动声源,相对混响响度控制可能还不足够。在一些实施例中,应用了绝对混响响度,其可以在渲染时从每个虚拟声源体验到。许多因素可以调节该值,例如,收听器和声源位置,以及(例如,由混响器模拟的)房间/环境的声学特性。在一些实施例中,例如在交互式音频应用中,希望以编程方式控制混响初始功率(RIP),例如,如在Jean-Marc Jot、LaurentCerveau和Olivier Warusfel的“Analysis and synthesis of room reverberationbased on a statistical time-frequency model(基于统计时频模型的房间混响的分析和合成)”中所定义的。不管虚拟收听器或虚拟声源的位置如何,RIP都可以用于表征虚拟房间。

在一些实施例中,(由混响器执行的)混响算法可以被配置为在感知上匹配特定房间的声学混响特性。示例声学混响特性可以包括但不限于混响初始功率(RIP)和混响衰减时间(T60)。在一些实施例中,可以在真实房间中测量房间的声学混响特性,通过基于真实房间或虚拟房间等的几何和/或物理描述通过计算机模拟来计算房间的声学混响特性。

图5A示出了根据一些实施例的示例音频渲染系统的框图。图5B示出了根据一些实施例的用于操作图5A的音频渲染系统的示例过程的流程。

音频渲染系统500可以包括混响处理系统510A、直接处理系统530和组合器540。混响处理系统510A和直接处理系统530二者可以接收输入信号501。

混响处理系统510A可以包括RIP控制系统512和混响器514。RIP控制系统512可以接收输入信号501,并且可以将信号输出到混响器514。RIP控制系统512可以包括混响初始增益(RIG)516和RIP校正器518。RIG 516可以接收输入信号501的第一部分,并且可以将信号输出到RIP校正器518。RIG 516可以被配置为将RIG值应用于输入信号501(过程550的步骤552)。设置RIG值可以具有在混响处理系统510A的输出信号中指定RIP的绝对量的效果。

RIP校正器518可以从RIG 516接收信号,并且可以被配置为计算RIP校正因子并将RIP校正因子应用于其(来自RIG 516)输入信号(步骤554)。RIP校正器518可以向混响器514输出信号。混响器514可以从RIP校正器518接收信号,并且可以被配置为在信号中引入混响效果(步骤556)。混响效果例如可以基于虚拟环境。混响器514在下面更详细地讨论。

直接处理系统530可以包括传播延迟532和直接增益534。直接处理系统530和传播延迟532可以接收输入信号501的第二部分。传播延迟532可以被配置为在输入信号501中引入延迟(步骤558),并且可以将被延迟的信号输出到直接增益534。直接增益534可以从传播延迟532接收信号,并且可以被配置为将增益应用于信号(步骤560)。

组合器540可以从混响处理系统510A和直接处理系统530两者接收输出信号,并且可以被配置为将信号进行组合(例如,相加、合计等)(步骤562)。组合器540的输出可以是音频渲染系统500的输出信号540。

在混响处理系统510A中,RIG 516和RIP校正器518都可以分别应用(和/或计算)RIG值和RIP校正因子,使得当被串联应用时,从RIP校正器518输出的信号可以被归一化为预定值(例如,合一(unity)(1.0))。也就是说,可以通过与RIP校正器518串联地应用RIG516来控制输出信号的RIG值。在一些实施例中,RIP校正因子可以直接应用在RIG值之后。RIP归一化过程将在下面详细讨论。

在一些实施例中,为了产生扩散混响尾音(tail),混响算法可以例如包括并联的梳状滤波器,随后串联全通滤波器。在一些实施例中,数字混响器可以被构造为包括与反馈和/或前馈路径互连的一个或多个延迟单元的网络,其中反馈和/或前馈路径还可以包括信号增益缩放或滤波器单元。诸如图5A的混响处理系统510A的混响处理系统的RIP校正因子可以取决于一个或多个参数,例如混响器拓扑结构、网络中包括的延迟单元的数量和持续时间、连接增益、和滤波器参数。

在一些实施例中,当混响时间被设置为无穷大时,混响处理系统的RIP校正因子可以等于混响系统的脉冲响应的均方根(RMS)功率。在一些实施例中,例如,如图6中所示,当混响器的混响时间被设置为无穷大时,混响器的脉冲响应可以是具有随时间变化而恒定的RMS幅度的非衰减类噪声信号。

在样本(sample)中表示的在时间t的数字信号{x}的RMS功率P

其中t是时间,N是连续信号样本的数量,n是信号样本。可以在从时间t开始并包含N个连续信号样本的信号窗口上来评估平均值。

RMS幅度可以等于RMS功率P

在一些实施例中,在混响器的脉冲响应中(例如,如图6所示),RIP校正因子可以被推导为跟随混响开始的恒定功率信号的期望RMS功率,其中混响衰减时间被设置为无穷大。图8示出了来自将幅度1.0的单个脉冲运行到图5A的音频渲染系统500中的示例输出信号。在这种情况下,混响衰减时间被设置为无穷大,直接信号输出被设置为1.0,并且直接信号输出被源到收听器(source-to-listener)的传播延迟所延迟。

在一些实施例中,混响处理系统510A的混响时间可以被设置为有限值。对于该有限值,RMS功率可以基本上遵循指数衰减(在混响开始时间之后),如图7所示。混响处理系统510A的混响时间(T60)通常可以定义为RMS功率(或幅度)衰减60dB的持续时间。RIP校正因子可以被定义为在外推到时间t=0的RMS功率衰减曲线上测量的功率。时间t=0可以是输入信号501(在图5A中)的发射时间。

在一些实施例中,(图5A的)混响器514可以被配置为运行混响算法,诸如如下所描述的混响算法:Smith所著的“J.O.Physical Audio Si-gnal Processing(J.O.物理音频信号处理)”,http://ccrma.stanford.ed u/~jos/pasp/,在线书,2010年版。在这些实施例中,混响器可以包含梳状滤波器级。梳状滤波器级可以包括16个梳状滤波器(例如,每只耳朵八个梳状滤波器),其中每个梳状滤波器可以具有不同的反馈环路延迟长度。

在一些实施例中,可以通过将混响时间设置为无穷大来计算混响器的RIP校正因子。将混响时间设置为无穷大可以等同于假定梳状滤波器没有任何内置衰减。如果狄拉克(Dirac)脉冲被输入通过梳状滤波器,则混响器514的输出信号例如可以是满量程(fullscale)脉冲的序列。

图8示出了根据一些实施例的来自图5A的混响器514的示例输出信号。混响器514可以包括梳状滤波器(未示出)。如果只有一个梳状滤波器具有以样本表示的反馈环路延迟长度d,则回波(echo)密度可以等于反馈环路延迟长度d的倒数。RMS幅度可以等于回波密度的平方根。RMS幅度可以表示为:

在一些实施例中,混响器可以具有多个梳状滤波器,并且RMS幅度可以表示为:

其中N是混响器中梳状滤波器的数量,d

图9示出了根据一些示例的仅包括梳状滤波器的示例混响器的脉冲响应的幅度。在一些实施例中,混响器可以将衰减时间设置为有限值。如图所示,混响器脉冲响应的RMS幅度随时间呈指数下降。在dB尺度上,RMS幅度沿直线下降,并从时间t=0等于RIP的值开始。时间t=0可以是在输入端处单位脉冲的发射时间(例如,由虚拟声源发射脉冲的时间)。

图10示出了根据本公开的示例的包括全通滤波器级的示例混响器的脉冲响应的幅度。混响器可以类似于如下所描述的混响器:Smith所著的“J.O.Physical Audio SignalProcessing(J.O.物理音频信号处理)”,http://ccrma.stanford.edu/~jos/pasp/,在线书,2010年版。由于包括全通滤波器可能不会显著影响混响器脉冲响应的RMS幅度(与图9的混响器脉冲响应的RMS幅度相比),因此以dB为单位的RMS幅度的线性衰减趋势可能与图9的趋势相同。在一些实施例中,线性衰减趋势可以从在时间t=0观察到的相同RIP值开始。

图11A示出了根据一些实施例的具有包括梳状滤波器的混响器的示例混响处理系统。图11B示出了根据一些实施例的用于操作图11A的混响处理系统的示例过程的流程。

混响处理系统510B可以包括RIP控制系统512和混响器1114。RIP控制系统512可以包括RIG 516和RIP校正器518。RIP控制系统512和RIP校正器518可以相应地类似于(图5A的)混响处理系统510A中包括的那些。混响处理系统510B可以接收输入信号501并输出输出信号502A和502B。在一些实施例中,混响处理系统510B可以代替(图5A的)混响处理系统510A而包括在图5A的音频渲染系统500中。

RIG 516可以被配置为应用RIG值(过程1150的步骤1152),并且RIP校正器518可以应用RIP校正因子(步骤1154),两者均与混响器1114串联。RIG 516、RIP校正器518和混响器114的串联配置可以使混响处理系统510B的RIP等于RIG。

在一些实施例中,RIP校正(correction)因子可以表示为:

当RIG值被设置为1.0时,将RIP校正因子应用于信号可以使RIP被设置为预定值,例如单位值(1.0)。

混响器514可以从RIP控制系统512接收信号,并且可以被配置为将混响效果引入到输入信号的第一部分中(步骤1156)。混响器514可以包括一个或多个梳状滤波器1115。(多个)梳状滤波器1115可以被配置为滤除信号中的一个或多个频率(步骤1158)。例如,(多个)梳状滤波器1115可以滤除(例如,消除)一个或多个频率以模仿环境影响(例如,房间的墙壁)。混响器1114可以输出两个或更多个输出信号502A和502B(步骤1160)。

图12A示出了具有包括多个全通滤波器的混响器的示例混响处理系统。图12B示出了根据一些实施例的用于操作图12A的混响处理系统的示例过程的流程。

混响处理系统510C可以类似于(图11A的)混响处理系统510B,但是其混响器1214可以另外包括多个全通滤波器1216。步骤1252、1254、1256、1258和1260可以分别对应地类似于步骤1152、1154、1156、1158和1160。

混响处理系统510C可以包括RIP控制系统512和混响器1214。RIP控制系统512可以包括RIG 516和RIP校正器518。RIP控制系统512和RIP校正器518可以相应地相似于(图5A的)混响处理系统510A中包括的那些。混响处理系统510B可以接收输入信号501并输出输出信号502A和502B。在一些实施例中,混响处理系统510B可以代替(图5A的)混响处理系统510A或(图11的)混响处理系统510B而包括在图5A的音频渲染系统500中。

混响器1214可以另外包括可以从梳状滤波器1115接收信号的全通滤波器1215。每个全通滤波器1215可以从梳状滤波器1115接收信号并且可以被配置为在不改变输入信号的幅度的情况下使其输入信号传递(步骤1262)。在一些实施例中,全通滤波器1215可以改变信号的相位。在一些实施例中,每个全通滤波器可以从梳状滤波器接收唯一的信号。全通滤波器1215的输出可以是混响处理系统510C和音频渲染系统500的输出信号502。例如,全通滤波器1215A可以从梳状滤波器1115接收唯一信号并且可以输出信号502A;类似地,全通滤波器1215B可以从梳状滤波器1115接收唯一信号,并且可以输出信号502B。

比较图9和图10,包括全通滤波器1216可能不会显著影响输出RMS幅度衰减趋势。

当应用RIP校正因子时,如果混响时间被设置为无穷大,则RIG值设置为1.0,并且单个单位脉冲被输入通过混响处理系统510C,可以获得恒定RMS水平为1的类噪声输出。

图13示出了根据一些实施例的图12的混响处理系统510C的示例脉冲响应。混响时间可以被设置为有限量,并且RIG可以被设置为1.0。如图10所示,在dB尺度上,RMS水平可以沿着直线衰减线下降。然而,由于RIP校正因子,所以在时间t=0在图13中观察到的RIP可以归一化为0dB。

在一些实施例中,可以应用结合图5、6、7和图18A描述的RIP归一化方法,而不管在图5的混响器514中实现的特定数字混响算法如何。例如,混响器可以根据与增益矩阵连接的反馈和前馈延迟元件的网络来构建。

图14示出了根据一些实施例的通过混响处理系统510输入和输出的信号。例如,图14示出了以上讨论的任何一个混响处理系统510(例如,图图5A、图11A和图12A中讨论的那些)的信号流。应用RIG的步骤1416可以包括设置RIG值并且将其应用到输入信号501。应用RIP校正因子的步骤1418可以包括针对所选择的混响器设计和内部混响器参数设置来计算RIP校正因子。另外,使信号传递通过混响器1414可以使系统选择混响器拓扑结构并设置内部混响器参数。如图所示,混响器1414的输出可以是输出信号502。

根据一些实施例,本文公开的实施例可以具有包括反馈延迟网络(FDN)的混响器。FDN可以包括单位矩阵,其可以允许延迟单元的输出被反馈到其输入。图15A示出了根据一些实施例的包括反馈矩阵的示例FDN的框图。FDN 1515可以包括反馈矩阵1520、多个组合器1522、多个延迟器1524、以及多个增益1526。

组合器1522可以接收输入信号1501,并且可以被配置为组合(例如,相加,合计等)其输入(过程1550的步骤1552)。组合器1522还可以接收来自反馈矩阵1520的信号。延迟器1524可以接收来自组合器1522的组合信号,并且可以被配置为将延迟引入到一个或多个信号中(步骤1554)。增益1526可以从延迟器1524接收信号,并且可以被配置为将增益引入到一个或多个信号中(步骤1556)。来自增益1526的输出信号可以形成输出信号1502,并且还可以被输入到反馈矩阵1520中。在一些实施例中,反馈矩阵1520可以是N×N酉(能量保持)矩阵。

在反馈矩阵1520是酉矩阵的一般情况下,RIP校正因子的表达式也可以由公式(5)给出,因为混响器反馈环路周围的总能量传递保持不变并且无延迟。

例如,可以针对混响器设计和内部参数设置的给定任意选择来计算RIP校正因子。所计算的RIP校正因子可以使得如果RIG值被设置为1.0,则整个混响处理系统510的RIP也为1.0。

在一些实施例中,混响器可以包括具有一个或多个全通滤波器的FDN。图16示出了根据一些实施例的包括多个全通滤波器的示例FDN的框图。

FDN 1615可以包括多个全通滤波器1630、多个延迟器1632和混合矩阵1640B。全通滤波器1630可以包括多个增益1526、吸收延迟1632和另一混合矩阵1640A。FDN 1615还可以包括多个组合器(未示出)。

全通滤波器1630接收输入信号1501,并且可以被配置为在不改变输入信号的幅度的情况下使其输入信号传递。在一些实施例中,全通滤波器1630可以改变信号的相位。在一些实施例中,每个全通滤波器1630可以被配置为使得输入到全通滤波器1630的功率可以等于从全通滤波器输出的功率。换句话说,每个全通滤波器1630可以无吸收。具体地,吸收延迟器1632可以接收输入信号1501,并且可以被配置为在信号中引入延迟。在一些实施例中,吸收延迟器1632可以将其输入信号延迟多个样本。在一些实施例中,每个吸收延迟器1632可以具有使其输出信号比其输入信号小特定水平的吸收水平。

增益1526A和1526B可以被配置为在其各自的输入信号中引入增益。增益1526A的输入信号可以是到吸收延迟器的输入信号,并且增益1526B的输出信号可以是到混合矩阵1640A的输出信号。

来自全通滤波器1630的输出信号可以是到延迟器1632的输入信号。延迟器1632可以接收来自全通滤波器1630的信号,并且可以被配置为将延迟引入到其各自的信号中。在一些实施例中,来自延迟器1632的输出信号可以被组合以形成输出信号1502,或者,在一些实施例中,这些信号可以被分别视为其它中的多个输出通道。在一些实施例中,可以从网络中的其他点获取输出信号1502。

来自延迟器1632的输出信号也可以是输入到混合矩阵1640B中的输入信号。混合矩阵1640B可以被配置为接收多个输入信号并且可以输出其信号以被反馈回全通滤波器1630。在一些实施例中,每个混合矩阵可以是完全混合矩阵。

在这些混响器拓扑结构中,RIP校正因子可以由公式(5)表示,因为混响器的反馈环路内和周围的总能量传递可以保持不变且无延迟。在一些实施例中,FDN 1615可以改变输入和/或输出信号的配置(placement)从而实现期望的输出信号1501。

具有全通滤波器1630的FDN 1615可以是混响系统,该混响系统将输入信号1501作为其输入并创建可以包括正确的衰减混响信号的多通道输出。输入信号1501可以是单声道输入信号。

在一些实施例中,RIP校正因子可以表示为当混响时间被设置为无穷大时确定混响RMS幅度A

RIPcorrection=1/A

对于给定的混响器拓扑结构和给定的混响器的延迟单元长度的设置,可以通过执行以下步骤来计算RIP校正因子:(1)将混响时间设置为无穷大;(2)记录混响器的脉冲响应(如图6所示);(3)测量混响RMS幅度A

在一些实施例中,可以通过执行以下步骤来计算RIP校正因子:(1)将混响时间设置为任何有限值;(2)记录混响器的脉冲响应;(3)推导混响RMS幅度衰减曲线A

RIPcorrection=1/A

在一些实施例中,可能期望提供在感知上相关的混响增益控制方法,例如,用于应用开发人员、声音工程师等。例如,在一些混响器或房间模拟器的实施例中,可能希望对于功率放大因子的测量提供编程控制,其中的功率放大因子表示混响处理系统对输入信号的功率的影响。输入信号的功率可以例如以dB表示。对功率放大因子的编程控制可以允许例如应用开发人员、声音工程师等确定混响输出信号响度与输入信号响度之间的平衡、或确定直接声音输出信号响度。

在一些实施例中,系统可以应用混响能量(RE)校正因子。图17A示出了根据一些实施例的包括RE校正器的示例混响处理系统的框图。图17B示出了根据一些实施例的用于操作图17A的混响处理系统的示例过程的流程。

混响处理系统510D可以包括RIP控制系统512和混响器514。RIP控制系统512可以包括RIG 516和RIP校正器518。RIP控制系统512、混响器514和RIP校正器518可以对应地类似于(图5A的)混响处理系统510A中所包括的那些。混响处理系统510D可以接收输入信号501并且可以输出输出信号502。在一些实施例中,混响处理系统510D可以代替(图5A的)混响处理系统510A、(图11A的)混响处理系统510B、或(图12A的)混响处理系统510C而包括在图5A的音频渲染系统500中。

混响处理系统510D还可以包括RIG 516,RIG 516包括混响增益(RG)1716和RE校正器1717。RG 1716可以接收输入信号501,并且可以将信号输出到RE校正器1717。RG 1716可以被配置为将RG值应用于输入信号501的第一部分(过程1750的步骤1752)。在一些实施例中,RIG可以通过将RG 1716与RE校正器1717级联来实现,以使得在应用RG值之后,将RE校正因子应用于输入信号的第一部分。在一些实施例中,RIG 516可以与RIP校正器518级联,从而形成与混响器514级联的RIP控制系统512。

RE校正器1717可以从RG 1716接收信号,并且可以被配置为计算RE校正因子并将RE校正因子应用于其输入信号(来自RG 1716)(步骤1754)。在一些实施例中,可以计算RE校正因子,使得它表示在以下情况下混响器脉冲响应中的总能量:(1)RIP被设置为1.0,并且(2)混响开始时间被设置为等于由声源发射单位脉冲的时间。RG 1716和REC 1717两者都可以分别应用(和/或计算)RG值和REC校正因子,使得当串联应用时,从RE校正器1717输出的信号可以归一化为预定值(例如,单位值(1.0))。可以通过应用与混响器、混响器能量校正因子、和混响器初始功率因子串联的混响器增益来控制输出信号的RIP,如图17A所示。RE归一化过程将在下面详细讨论。

RIP校正器518可以从RIG 516接收信号,并且可以被配置为计算RIP校正因子并将RIP校正因子应用于(来自RIG 516的)其输入信号(步骤1756)。混响器514可以从RIP校正器518接收信号,并且可以被配置为在信号中引入混响效果(步骤1758)。

在一些实施例中,可以使用(音频渲染系统500中包括的)图5A的混响处理系统510A、(音频渲染系统500中包括的)图11A的混响处理系统510B、或两者来控制虚拟房间的RIP。(图5A的)混响处理系统510A的RIG 516可以直接指定RIP,并且可以在物理上被解释为与虚拟房间的立方体积的平方根的倒数成比例,例如,如Jean-Marc Jot、Laurent Cerveau和Olivier Warusfel所著的“Analysis and synthesis of room reverberation basedon a statistical time-frequency model(基于统计时频模型的房间混响的分析和合成)”中所示。

(图17A的)混响处理系统510D的RG 516可以通过指定RE间接地控制虚拟房间的RIP。如果虚拟声源在虚拟房间中与虚拟收听器并置在同一位置,则RE可以是与用户将从虚拟声源接收到的预期混响能量成比例的在感知上相关的量。与虚拟收听器并置在同一位置的一个示例虚拟声源是虚拟收听器自己的声音或足迹。

在一些实施例中,RE可以被计算并用于表示混响处理系统对输入信号的放大。可以从信号功率的角度来表示放大。如图7所示,RE可以等于从混响开始时间开始积分的混响RMS功率包络(envelope)以下的面积。在一些实施例中,在用于视频游戏或虚拟现实的交互式音频引擎中,混响开始时间可以至少等于给定虚拟声源的传播延迟。因此,对于给定的虚拟声源的RE的计算可以取决于虚拟声源的位置。

图18A示出了根据一些实施例的针对与虚拟收听器并置的虚拟声源的所计算的RE超时。在一些实施例中,可以假设混响开始时间等于声音发射的时间。在这种情况下,当假定混响开始时间等于声源发射单位脉冲的时间时,RE可以表示混响器脉冲响应中的总能量。RE可以等于从混响开始时间开始积分的混响RMS功率包络以下的面积。

在一些实施例中,RMS功率曲线可以表示为时间t的连续函数。在这种情况下,RE可以表示为

在一些实施例中,例如在混响处理系统的离散时间实施例中,RMS功率曲线可以表示为离散时间t=n/Fs的函数。在这种情况下,RE可以表示为:

其中,Fs是相同的速率。

在一些实施例中,可以计算RE校正因子并将其与RIP校正因子和混响器串联应用,以便可以将RE被归一化为预定值(例如,单位值(1.0))。REC可以设置为等于RE的平方根的倒数,如下所示:

在一些实施例中,可以通过应用与RE校正因子、RIP校正因子和混响器串联的RG值来控制输出混响信号的RIP,诸如图17A的混响处理系统510C中所示。RG值和RE校正可以结合起来确定RIG,如下所示:

RIG=RG*REC (11)

因此,从信号域RG量的角度来说,可以使用RE校正因子(REC)代替RIG来控制RIP校正因子。

在一些实施例中,可以将RIP映射到由系统脉冲响应中的经积分的RE得出的测量的信号功率放大。如上面的公式(10)-(11)中所示,该映射允许通过信号放大因子(也即RG)的熟悉概念来控制RIP。在一些实施例中,如图18B和公式(8)-(9)所示,假定针对RE计算的即时混响开始的优点可以在于,可以表示该映射而无需考虑用户或收听器的位置。

在一些实施例中,混响器514的脉冲响应的混响RMS功率曲线可以表示为时间的衰减函数。时间的衰减函数可以从时间t=0开始。

P

在一些实施例中,衰减参数可以表示为衰减时间T60的函数,如下所示:

α=3*log(10)/T60 (13)

总RE可以表示为:

在一些实施例中,可以将RIP归一化为预定值(例如,单位值(1.0)),并且REC可以表示如下:

在一些实施例中,可以根据以下等式近似REC:

图19示出了根据一些实施例的示例混响处理系统的流程。例如,图19可以示出图17A的混响处理系统510D的流程。对于混响器设计和内部参数设置的给定任意选择,可以通过应用例如公式(5)-(7)来计算RIP校正因子。在一些实施例中,对于混响衰减时间T60的给定运行时间调整,可以通过应用公式(8)-(9)来重新计算总RE,其中可以假设RIP被归一化为1.0。REC因子可以根据公式(10)得出。

由于REC因子的应用,在运行时调整RG值或混响衰减时间T60可以具有自动校正混响处理系统的RIP的效果,使得RG可以用作输出信号(例如,输出信号502)的RMS幅度相对于输入信号(例如,输入信号501)的RMS幅度的放大因子。应当注意,调整混响衰减时间T60可能不需要重新计算RIP校正因子,因为在一些实施例中,RIP可能不受衰减时间的修改的影响。

在一些实施例中,可以在通过应用RIP校正因子将RIP设置为1.0之后,可以基于将RE测量为混响尾音中的从声源发射的时间上所指定的两个点之间的能量来定义REC。例如,在将卷积与测量的混响尾音一起使用时,这可能是有益的。

在一些实施例中,可以在通过应用RIP校正因子将RIP设置为1.0之后,可以基于将RE测量为混响尾音中的使用能量阈值限定的两个点之间的能量来定义RE校正因子。在一些实施例中,可以使用相对于直接声音的能量阈值,或可以使用绝对能量阈值。

在一些实施例中,可以在通过应用RIP校正因子将RIP设置为1.0之后,基于将RE测量为混响尾音中的在时间上限定的一个点与使用能量阈值限定的一个点之间的能量来定义RE校正因子。

在一些实施例中,可以在通过将RIP校正因子应用于每个混响而将每个混响尾部的RIP设置为1.0之后,通过考虑由不同耦合空间(couple space)贡献的能量的加权和来计算RE校正因子。该RE校正因子计算的一个示例应用可以是包括两个或多个耦合空间的声学环境的情况。

关于上述系统和方法,该系统和方法的元件可以由一个或多个计算机处理器(例如,CPU或DSP)适当地实现。本公开不限于用于实现这些元件的计算机硬件的任何特定配置,包括计算机处理器。在一些情况下,可以采用多个计算机系统来实现上述系统和方法。例如,可以采用第一计算机处理器(例如,耦合到麦克风的可穿戴设备的处理器)来接收输入的麦克风信号,并执行那些信号的初始处理(例如,信号调节和/或分段,诸如以上所述)。然后可以采用第二(并且也许是更强大的计算能力的)处理器来执行更多的计算密集型处理,诸如确定与那些信号的语音片段关联的概率值。诸如云服务器的另一计算机设备可以托管(host)语音识别引擎,最终向其提供输入信号。其它合适的配置将是显而易见的,并且在本公开的范围内。

尽管已经参考附图充分描述了所公开的示例,但是应当注意,各种改变和修改对于本领域技术人员将变得显而易见。例如,一个或多个实现方式的元素可以被组合、删除、修改或补充以形成进一步的实现方式。此类的改变和修改应被理解为包括在由所附权利要求限定的所公开示例的范围内。

相关技术
  • 混响增益归一化
  • 环境高阶立体混响音频数据的归一化
技术分类

06120112495834