用于动态源的实时声音传播的参数波场编码的制作方法

文档序号:12290383阅读:303来源:国知局
用于动态源的实时声音传播的参数波场编码的制作方法与工艺

由于计算设备中的处理速度的增加和更大更便宜的存储容量,所以视频游戏和其它虚拟模拟已变得越来越逼真。这些进步已经允许虚拟环境设计者将真实世界物理的一些有限效果并入视频游戏和其它虚拟模拟。为此,许多视频游戏现在并入使用数学模型模拟真实世界物理的物理引擎。然而,众所周知,逼真的音频已经难以模拟。尝试使用对在虚拟环境中传播并且在收听者位置感知的声音进行建模的波方程由于实时处理和存储约束而不容易实现。因为这个,所以许多游戏工作室手动编码视频游戏音频,以模仿虚拟环境对在这些环境中传播的声音的效果。

特别地,存储环境的特性(即,脉冲响应)所需的空间随着环境音量增加而超线性地增加,并且脉冲响应通常是混乱的,从而使得它们不太适合于压缩。更进一步地,使用物理模型计算环境中收听者位置处的传播声音需要利用源位置和收听者位置之间的环境的脉冲响应来卷积源音频信号。卷积具有高的处理成本。由于对分配给视频游戏的音频处理的总处理量的约束,所以典型的视频游戏控制台、台式计算机和移动设备硬件仅提供足够的处理能力来计算在任何一个时间多达十个源的传播音频。在许多视频游戏中,在视频游戏中存在多达数百个音频信号源,因此当前没有办法进行对所传播的音频信号进行建模所需的卷积数目。更进一步地,当环境包含快速移动通过环境的源时,待使用音频信号进行卷积的脉冲响应快速改变,从而导致用户可以将其感知为系统滞后的场景中的混响被削减。



技术实现要素:

本文中所讨论的技术便于响应于在虚拟三维环境中的源位置处接收所期望的无回声音频信号而在三维环境中的收听者位置处感知的(多个)所传播的音频信号的实时计算和回放。所传播的音频逼真地考虑了由三维虚拟环境的几何形状和组成所引起的动态音频信号源、动态收听者和声学效果。这些技术还响应于在虚拟三维环境中的(多个)源位置处生成的(多个)源音频信号的生成而提供在虚拟三维环境中的收听者位置处感知的所传播的音频信号的实时计算和回放。

本文中所讨论的技术可以将对虚拟三维环境的声学特性进行建模的脉冲响应场转换成与若干个参数相对应的场。更进一步地,这些技术可以应用与从场解码为音频信号的参数一致的规范滤波器。

提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容旨在用于帮助确定所要求保护的主题的范围。比如,术语“技术”可以是指(多个)系统、(多个)方法、计算机可读介质/指令、(多个)模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA))、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD))、和/或上文和整个文档所描述的情景所准许的(多个)技术。

附图说明

参考附图对具体实施方式进行描述。在附图中,附图标记的(多个)最左边的数字标识附图标记首次出现的附图。在不同的附图中相同的附图标记表示相似或相同的项。

图1是描绘了音频传播框架的示例可以在其中操作的示例环境的方框图。

图2是描绘了根据各种示例的可以计算环境内的音频传播的示例设备的方框图。

图3是描绘根据一些示例的计算环境内的音频传播的示例音频传播框架的方框图。

图4是描绘根据一些示例的可以计算环境内的音频传播的示例专用计算设备的方框图。

图5是图示了模拟环境中的压力场、编码压力场、以及在运行时间计算所传播的音频信号的示例过程的流程图。

图6是图示了模拟环境中的压力场的示例过程的流程图。

图7是环境的示例脉冲响应。

图8是图示了对压力场进行编码的示例过程的流程图。

图9是图示了从如图7所示的脉冲响应提取参数的示意图。

图10是脉冲响应、窗口函数、窗口化的脉冲响应和去卷积的窗口化的脉冲响应的示例图的图。

图11是示例能量衰变曲线、早期衰变时间斜率和后期混响时间斜率的图。

图12是图示了在运行时间计算所传播的音频信号的示例过程的流程图。

图13是图示了渲染参数的示例过程的流程图。

图14是图示了用于生成早期反射阶段的规范滤波器的示例能量衰变曲线的图。

图15是图示了满足图14中所描绘的能量衰变曲线的示例时域规范滤波器的图。

图16是图示了满足图14中所描绘的能量衰变曲线的示例频域规范滤波器的图。

图17是描绘了在五个虚拟环境上进行的一个模拟和编码示例的实验结果的表。

图18是图示了与未编码的虚拟环境相比在两个虚拟环境上进行的一个模拟和编码示例的实验结果的图。

具体实施方式

概况

本公开涉及用于计算信号从环境中的(多个)源传播到接收器的技术。

本文中所描述的示例提供了用于响应于三维环境中的源位置处的无回声(即,未传播)音频信号而便于在虚拟三维环境中的收听者位置处感知的传播音频信号的实时计算和再现的技术。与先前的途径相反,该技术不存储虚拟环境的脉冲响应场。相反,可以从脉冲响应的能量衰变中提取若干感知参数,并且这些感知参数可以被编码为参数场。在一些示例中,不是每个源一次对脉冲响应和源音频信号进行卷积,这些技术提供将每个源信号分割成根据与源/收听者位置对相对应的脉冲响应的感知参数而缩放的副本,并且累积分割的源信号在要用若干规范滤波器进行卷积的源上的和,规范滤波器是固定滤波器。更进一步地,在一些示例中,该技术不使用针对每个源的在运行时间生成的脉冲响应或滤波器进行卷积。相反,在至少一个示例中,该技术使用具有在运行时间之前是固定的特性的滤波器,并且用要传播的(多个)分割的源信号的加权和对这些固定滤波器进行卷积。

本文中所描述的技术和系统可以以多种方式来实现。下文参考以下附图提供示例实现方式。本文中所描述的实现方式、示例和说明可以组合。

说明性环境

图1是描绘了其中本文中所描述的示例可以操作的示例环境100的方框图。在一些示例中,环境100的各种设备和/或部件包括可以经由一个或多个网络104彼此通信以及与外部设备通信的分布式计算资源102。

例如,(多个)网络104可以包括诸如因特网之类的公共网络、诸如机构和/或个人内联网之类的专用网络、或专用和公共网络的某种组合。(多个)网络104还可以包括任何类型的有线和/或无线网络,包括但不限于局域网(LAN)、广域网(WAN)、卫星网络、电缆网络、WiFi网络、WiMax网络、移动通信网络(例如,3G、4G等)、或其任何组合。(多个)网络104可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)或其它类型的协议。而且,(多个)网络104还可以包括便于网络通信和/或形成网络的硬件基础的若干个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、主干设备等等。

在一些示例中,(多个)网络104还可以包括使得能够连接到无线网络(诸如无线接入点(WAP))的设备。示例支持通过在各种电磁频率(例如,射频)上发送和接收数据的WAP的连接性,包括支持电气和电子工程师协会(IEEE)1302.11标准(例如,1302.11g、1302.11n等)的WAP、以及其它标准。

在各种示例中,(多个)分布式计算资源102包括诸如设备106(1)至106(N)的计算设备。这些示例支持(多个)设备106可以包括在群集或其它分组配置中操作以共享资源、平衡负载、增加性能、提供故障切换支持或冗余、或用于其它目的的一个或多个计算设备的场景。尽管被图示为台式计算机,但是(多个)设备106可以包括各种各样的设备类型,并且不限于任何特定类型的设备。(多个)设备106可以包括(多个)专用计算设备108。

例如,(多个)设备106可以包括具有可操作地连接到计算机可读介质112、(多个)I/O接口116和(多个)网络接口116的一个或多个处理单元110的任何类型的计算设备。计算机可读介质112可以具有存储在其上的音频传播架构114。还有,例如,(多个)专用计算设备108可以包括具有可操作地连接到计算机可读介质112、(多个)I/O接口126和(多个)网络接口126的一个或多个处理单元120的任何类型的计算设备。计算机可读介质112可以具有存储在其上的专用计算设备侧音频传播架构124。

图2描绘了可以表示(多个)设备106或108的说明性设备200。说明性设备200可以包括具有一个或多个处理单元202(诸如(多个)处理单元110或120)的任何类型的计算设备,其可操作地连接到计算机可读介质204,诸如计算机可读介质112或122。该连接可以经由总线218,在一些实例中,总线218可以包括以下各项中的一项或多项:系统总线、数据总线、地址总线、PCI总线、迷你PCI总线、以及任何种类的本地、外围和/或独立总线,或经由另一可操作连接。(多个)处理单元202可以表示例如并入设备200中的CPU。(多个)处理单元202可以类似地操作地连接到计算机可读介质204。

计算机可读介质204可以包括至少两种类型的计算机可读介质,即,计算机存储介质和通信介质。计算机存储介质可以包括在用于存储信息(以压缩或未压缩形式)的任何方法或技术中实现的易失性和非易失性、非暂态机器可读、可移除和不可移除介质,诸如执行本文中所描述的过程或方法的计算机(或其它电子设备)可读指令、数据结构、程序模块、或其它数据。计算机可读介质112和计算机可读介质122是计算机存储介质的示例。计算机存储介质包括但不限于硬盘驱动器、软盘、光盘、CD-ROM、DVD、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、闪存、磁性或光学卡、固态存储器设备、或适合于存储电子指令的其它类型的介质/机器可读介质。

相比之下,通信介质可以在调制的数据信号(诸如载波或其它传输机制)中体现计算机可读指令、数据结构、程序模块或其它数据。如本文中所定义的,计算机存储介质不包括通信介质。

设备200可以包括但不限于台式计算机、服务器计算机、网络服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴计算机、植入式计算设备、电信设备、汽车计算机、网络使能电视、瘦客户端、终端、个人数据助理(PDA)、游戏控制台、游戏设备、工作站、媒体播放器、个人视频记录器(PVR)、机顶盒、摄像机、用于包括在计算设备、电器或任何其它种类的计算设备(诸如一个或多个单独的处理器设备216,诸如CPU型处理器(例如,微处理器)218)的集成部件、GPU 220、或加速器设备222。

在一些示例中,如关于设备200所示,计算机可读介质204可以存储可由(多个)处理单元202执行的指令,处理单元202可以表示并入设备200中的CPU。计算机可读介质204还可以存储可由外部CPU型处理器218执行的指令、可由GPU 220执行的指令、和/或可由加速器222(诸如FPGA型加速器222(1)、DSP型加速器222(2)、或任何内部或外部加速器222(N))执行的指令。

存储在计算机可读介质202上的可执行指令可以包括例如操作系统206、音频传播框架208、以及可以由(多个)处理单元202和/或216加载和执行的其它模块、程序或应用程序。可替代地或附加地,可以至少部分地通过诸如加速器222之类的一个或多个硬件逻辑部件来执行本文中功能性地描述的功能。例如但不限于,可以使用的说明性类型的硬件逻辑部件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统型系统(SOC)、复杂可编程逻辑器件(CPLD)等。例如,加速器222(N)可以表示混合设备,诸如来自ZYLEX或ALTERA的混合设备,其包括嵌入在FPGA架构中的CPU核。

在所图示的示例中,计算机可读介质204还包括数据存储装置210。在一些示例中,数据存储装置210包括诸如数据库、数据仓库、或其它类型的结构化或非结构化数据存储装置之类的数据存储装置。在一些示例中,数据存储装置210包括具有一个或多个表、索引、存储过程等的关系数据库,以使得能够实现数据访问。数据存储装置210可以存储用于存储在计算机可读介质204中、和/或由(多个)处理器202和/或218和/或(多个)加速器212执行的过程、应用程序、部件和/或模块的操作的数据。例如,数据存储装置210可以存储版本数据、迭代数据、时钟数据、以及由音频传播架构208存储和访问的其它状态数据。可替代地,上文所引用的数据中的一些或全部数据可以存储在单独的存储器224上,诸如CPU型处理器218(例如,(多个)微处理器)上的存储器224(1)、GPU 220上的存储器224(2)、FPGA型加速器222(1)上的存储器224(3)、DSP型加速器222(2)上的存储器224(4)、和/或另一加速器222(N)上的存储器224(M)。

设备200还可以包括一个或多个输入/输出(I/O)接口212,诸如(多个)I/O接口116或126,以允许设备200与诸如包括外围输入设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、手势输入设备等)的用户输入设备、和/包括外围输出设备(例如,显示器、打印机、音频扬声器、触觉输出等)的输出设备之类的输入/输出设备进行通信。设备200还可以包括诸如(多个)网络接口118或128之类的一个或多个网络接口214,以使得能够实现计算设备200和诸如(多个)网络214上的其它设备200之类的其它网络设备之间的通信。(多个)这样的网络接口214可以包括一个或多个网络接口控制器(NIC)、或其它类型的收发器设备,以通过网络发送和接收通信。

说明性音频传播架构

图3是可以分布式地或单独地存储在一个或多个设备200上的说明性音频传播架构208的模块的方框图。模块中的一些或所有模块可以可用于远程设备、可从远程设备访问、或存储在远程设备上,该远程设备诸如是云服务系统分布式计算资源102或(多个)设备106。在至少一个示例中,音频传播架构208包括如本文中所描述的模块302,304,306和308,其提供使用参数编码在虚拟环境中的动态源的实时音频信号传播。在一些示例中,可以采用任何数目的模块,并且本文中所描述为由一个模块采用的技术可以由各种示例中的(多个)任何其它模块采用。

在至少一个示例中,模拟模块302对虚拟环境的声学属性进行建模,以使从虚拟环境中的一个位置发射的声音可以以与声音的人类感知相对应的方式在虚拟环境中的另一位置处再现。模拟模块302可以解释由于其几何形状和介质(例如,考虑到由于几何形状和几何形状的材料(例如,木材、金属、空气、水)导致的遮挡、阻塞、据斥)而导致环境对声音的影响。例如,虚拟环境可以是音乐厅,并且音频信号源可以是站在舞台上的虚拟小提琴手。

在脉冲响应模拟示例中,计算资源模拟虚拟环境对从贯穿虚拟环境定义的探针源位置发射的脉冲的响应。从一个位置发射的脉冲将在不同的收听者位置处被不同地感知。可以在虚拟环境中的不同位置处感知脉冲的方式可以被称为脉冲响应。脉冲响应根据时间、脉冲源位置(这里也被称为探针源)和收听者位置而变化。在一些示例中,模拟模块302可以找到环境的传递函数或阶跃响应。如果表征环境如何与声音交互的任何方法可以应用于任意输入信号以在环境中的另一点实现正确的输出,则该表征的任何方法可能是足够的。在各种示例中,模拟模块302可以被配置成进行A加权和/或ABX测试和/或解释定位(使用分割、积分、和分离、或另一途径)、优先效应、McGurk效应、Franssen效果、或优先效应等等。

在至少一个示例中,模拟模块302模拟压力场(或等效地波场;术语“波场”简单地描述声音传播的方式的典型概括——时变压缩(在作为纵波传播通过气体、等离子体和液体的情况下)和剪切应力(在作为横向和纵向波在固体中传播的情况下))。在一些示例中,模拟可以限于纵向波模型,忽略环境中的固体中的声音传播。模拟模块302仍然可以通过使用反射系数来考虑固体的介质。在一些示例中,为了易于理解,液体可以被处理为固体。在各种示例中,模拟模块可以模拟声音在固体中或可替代地在环境介质中的效果。

例如,模拟模块可以模拟表示为P(xs,xl,t)的七维波(或压力)场(如果考虑更多的声学属性,则压力场的维度可以更高,但是七维对于环境可听化是足够的)。诸如P(xs,xl,t)之类的示例压力场可以是七维的,因为其可以根据三维空间中的信号源位置xs、收听者在三维空间中的位置xl、和时间t而变化。在特定信号源和收听者位置处的压力场的在时间上的幅度构成该特定源/收听者配对的虚拟环境的脉冲响应。

在计算压力场之后,编码模块304可以对压力场进行编码。可以出于各种原因进行编码,并且因此可以采取各种形式。编码可以用于例如加速处理,减少存储要求,保护数据,抽象数据,简化用于分析的复杂模型,翻译数据,映射数据,更容易地识别数据,制作人类更加难忘信息等。为了实现这些目标中的一个或一些目标,编码模块304可以采用不同的方法。例如,如果期望加速数据的处理并且减小存储要求,则编码模块304可以采用数据的量化和压缩。

在至少一个示例中,为了减少计算和存储需求,由编码模块304进行的编码包括参数化七维压力场。上文所讨论的七维压力场在一些示例中包括不同探针源/收听者配对在时间上的脉冲响应。编码模块304可以从构成压力场的这些脉冲响应中提取参数。所提取的参数可以抽象脉冲响应的特性,以使不需要计算或存储脉冲响应的显式细节。虽然脉冲响应可能是复杂的,但是脉冲响应可以被表征为具有三个阶段:直接声音、早期反射和后期混响。更进一步地,人耳仅能够检测传播的声音的某些特性。这些特性中的一些特性包括方向性、音高、首先到达耳朵的传播的声音的幅度(“直接声音响度”)、从环境几何形状传播的声音的反射的幅度(“早期反射响度”)、早期反射的衰变时间(“早期衰变时间”——早期反射衰退有多快)、后期混响响度和后期混响时间(后部混响衰退有多快)。因此,在一些示例中,脉冲响应的感知特性(诸如直接声音响度、早期反射响度、早期衰变时间和后期混响时间)的子集可以由编码模块304参数化。在至少一个示例中,参数可以不随时间变化(例如,它们可以是隐式时间的标量值)。在一些示例中,可以保留时间,以使参数随时间变化。在各种示例中,编码模块304可以在其它技术中平滑(例如,空间平滑)、采样(例如,空间采样)、量化、压缩(例如,空间压缩)、保护或存储压力场。

直到这一点的过程可以被描述为“预先计算”,因为在一些示例中,模块可以在其它模块计算任意音频信号从虚拟环境中的特定源位置到特定收听者的传播之前,模拟和编码参数场。在依据预先计算实现方式的一些示例中,编码的参数场可以被存储以供解码模块306检索。解码模块306可以不驻留在与编码模块304相同的设备上。例如,在视频游戏应用中,编码的参数场可以被存储为视频游戏软件的一部分,并且在视频游戏控制台或移动设备处解码。作为另一示例,在音频工程应用中,可以在同一设备上计算、存储和解码音乐会厅模型的编码的参数场。

解码模块306可以对编码的参数场进行解码,以获得描述特定音频信号源位置和特定收听者位置的脉冲响应的参数。在至少一个示例中,一旦知道特定的(多个)信号源位置和收听者位置的集合,就可以在运行时进行解码。解码模块306可以解码编码的参数场的一部分(对于特定位置)、编码的参数场中的某些(对于特定参数),或者解码模块306可以解码参数场。当源和收听者之一或两者位于探针源位置之间时,解码模块306可以空间地插值用于源/收听者配对的参数。

在利用编码和解码的示例中,一旦解码的参数可以被接收,渲染模块308使用解码的参数来修改要从源传播的音频信号。在至少一个示例中,渲染模块通过反转源和收听者位置来利用声学互惠性,以便仅需要对用于收听者位置而不是源位置的编码的参数场进行解码。在解码之前反转源和收听者位置减少了在运行时进行的空间解压缩操作的数目。使用这种技术,解压缩操作的数目随着收听者的数目而不是源的数目而缩放。

按照使用脉冲响应来表征虚拟环境的声学特性的一个示例并且为了适当地传播任意音频信号,渲染模块308创建具有与解码的参数一致的特性的滤波器,以使滤波器具有与虚拟环境的模拟脉冲响应的特性相关特性。渲染模块308可以实现这些创建的滤波器的应用,而不显式地计算所创建的滤波器。

相反,在至少一个示例中,渲染模块308可以使用被计算为与解码的参数一致的权重对信号进行缩放,并且利用规范滤波器(CF)对所缩放的信号进行卷积。在一个示例中,计算资源计算权重,使得如果权重被应用于CF,则CF将具有与所解码的参数一致的特性。注意,将权重应用于CF可能违反CF作为固定滤波器的定义;通过权重的缩放可能修改来自原始设计的CF。

在至少一个示例中,渲染模块308可以利用标量乘法的关联性并且用权重对输入到固定滤波器的(多个)信号进行缩放,而非缩放固定滤波器。在该示例中,CF可以一次应用于加权信号的和,以在收听者位置处实现传播的音频。与其中所计算的卷积的数目的其它方法(例如,缩放滤波器而非信号)对每个源乘法增加相反,因为所计算的卷积的数目至多等于固定滤波器的数目,所以该示例减少了在收听者位置处传播的音频的计算时间。换句话说,所应用的滤波器的数目随着信号源的数目增加而保持固定。

在不使用参数化并且构成压力场的脉冲响应可以以更鲁棒的形式或以整体存储的一些示例中,脉冲本身可以直接应用于任意音频信号,以在收听者处通过(多个)源来传播。当模拟模块302模拟并且存储可以被应用为滤波器效应的信息时,这些效应可以取决于实现方式而被添加到所创建的滤波器或脉冲响应。

在一些示例中,CF可以是任何数目的固定滤波器。在至少一个示例中,CF可以在运行时间之前形成,并且可以不在运行时间之后生成。在一些示例中,一个或多个CF可以在运行时间生成并且在过程的持续时间内保持。CF也可以被预先变换(例如,在被生成之后,它们可以被变换到频域中并且被维持在频域中)。

在一些示例中,架构师可以经由对所提议的音乐厅设计CAD模型的模拟来计算声学,并且使用本文中所描述的技术对结果模拟场进行编码用于通过网络传输。在一些示例中,声学咨询可以通过网络接收编码的模拟场,并且可以使用本文中所描述的技术来解码和可视化感知参数场,以便确定潜在缺陷,而无需可听化。

说明性专用计算设备

图4是(多个)说明性专用计算设备400(诸如专用计算设备108)的方框图,其具有用于解码和渲染与虚拟三维环境中的音频信号的传播有关的数据的说明性模块。

(多个)专用计算设备400可以包括可以表示(多个)处理单元120的一个或多个处理单元402、以及可以表示计算机可读介质122的计算机可读介质404。计算机可读介质404可以存储各种模块、应用程序、程序和/或数据。在一些示例中,计算机可读介质404可以存储当被一个或多个处理器402执行时使一个或多个处理器执行本文针对说明性专用计算设备400所描述的操作的指令。计算机可读介质402可以存储专用计算设备侧音频传播架构406,其可以表示专用计算设备侧音频传播架构124,包括可以表示解码模块306的解码模块408、以及可以表示渲染模块308的渲染模块410。在一些示例中,专用计算设备侧音频传播架构406还可以包括诸如302之类的模拟模块、和/或诸如304之类的编码模块。

在一些示例中,存储在(多个)专用计算设备400上的音频传播架构可以不同于存储在(多个)设备200和/或106上的音频传播架构。尽管(多个)专用计算设备400可以通信地耦合到零个或更多个专用计算设备400或(多个)设备200和/或106,但是在一些实例中,(多个)专用计算设备400的资源配置可以限制(多个)专用计算设备400进行本文中所描述的技术的能力。例如,(多个)专用计算设备400的资源可以相对于(多个)设备106的资源而具有较少的配置。资源可以包括(多个)处理单元的速度、分布式计算能力的可用性或缺乏、(多个)处理单元402是否被配置成进行平行计算、便于用户交互的I/O接口的可用性或缺乏等。

在至少一个示例系统中,(多个)设备200可以执行预先计算技术,诸如通过模拟模块302来模拟压力场并且通过编码模块304来编码压力场,并且(多个)专用计算设备400可以执行通过解码模块306的解码和通过渲染模块308的渲染的技术。例如,在其中将本文中所描述的技术应用于视频游戏的实现方式中,(多个)专用计算设备400可以表示相对低资源设备,诸如视频游戏控制台、平板计算机、智能电话等。在该示例中,(多个)设备200可以预先计算虚拟三维视频游戏环境的参数化的脉冲响应,并且存储参数化的脉冲响应,以使运行视频游戏的(多个)专用计算设备400可以访问所存储的参数化的脉冲响应,对参数化的脉冲响应进行解码以获得所解码的参数,并且根据所解码的参数渲染所传播的音频信号。在各种示例中,(多个)专用计算设备400可以存储和运行模拟模块302和编码模块304。

在一些示例中,包含在音频传播架构208内的更多或更少的模块302,304,306和308可以存储在(多个)设备200上,并且更多或更少的模块302,304,408以及410可以作为专用计算设备侧音频传播架构406的一部分而存储在(多个)专用计算设备400上。

说明性操作

图5、图6、图8、图12和图13是使用参数化的脉冲响应和规范滤波器来计算音频信号传播的说明性过程的图。这些过程被图示为逻辑流程图中的方框的集合,其表示可以以硬件、软件或其组合实现的操作序列。在软件的情景中,方框表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,其当由一个或多个处理器执行时,执行所列举的操作。计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序不旨在被解释为限制,并且可以以任何顺序和/或并行地组合任何数目的所描述的方框,以实现所图示的过程。本文中所描述的一个或多个过程可以独立地或以任何顺序(无论是级联地还是并联地)发生。图7、图9至图11、图17和图14至图18是本文中所描述方法的方面的示例结果。

图5是在运行时间计算所传播的音频信号的说明性过程500的流程图。

参考说明性环境100对过程500进行描述,并且可以由设备200或400、任何其它设备或其组合来执行。当然,过程500(以及本文中所描述的其它过程)可以在其它环境中和/或通过其它设备来执行。这些各种环境和设备示例被描述为“计算资源”,其可以包括“计算设备”。在至少一个示例中,过程500是快速的可听化。进行可听化的时间可以根据进行可听化而选择的计算资源、所进行的过程的量、信号大小、源的数目、以及收听者的数目等等而变化,但是因为所需的计算时间大大减少,所以进行可听化的时间是“快速的”,超过其它实现相同效果的可听化方法。

在至少一个示例中,在502,诸如设备200之类的计算资源接收环境几何形状作为输入,并且还可以接收诸如采样控制(例如,单元大小、体元大小、最大模拟频率、探针源间距和位置选择参数、以及模拟运行时间)之类的各种约束。计算资源可以通过任何数目的I/O、捕获或通信设备(例如,通过来自用户的键盘和鼠标输入,来自硬盘、声纳、视频等的流读取)来接收这些输入。例如,在视频游戏情景中,计算资源可以从数据存储装置、游戏设计者等获得视频游戏的几何形状。在一些示例情景中,环境的视频可以用于向计算资源提供三维环境。在502处,诸如302之类的模拟模块可以限定虚拟环境的环境几何形状内的探针源位置,并且将包括虚拟环境的时间上的脉冲响应的(至少)七维压力场输出到从探针源发射的并且在收听者位置处接收的模拟的脉冲。在限定的探针源位置的子集处,并且在一些示例中,在探针源位置中的每个探针源位置处,模拟模块304可以通过将声源放置在探针源位置处来进行波模拟,该声源产生每个探针源位置的七维压力场(P(xs,xl,t))的四维切片如本文中所使用的,虚拟意味着计算机化的表示,并且如本文中所使用的,环境意味着物理或虚拟环境。

在504处,计算资源对脉冲响应场进行编码。计算资源可以从所模拟的脉冲响应场提取与上文所讨论的脉冲响应的相位特性相对应的参数,而非尝试整体存储混沌脉冲响应场或者降低脉冲响应场的采样率。例如,在504处,计算资源可以查找探针源/收听者配对的子集的脉冲响应并且从脉冲响应的子集中提取四个时间不敏感(或“时间隐式”)参数。在示例参数化中,七维压力场P(xs,xl,t)可能减少到每个探针源计算的四个三维离散参数场其中param可以是所提取的四个参数的集合(换句话说,计算资源输出在探针源位置上级联的四个参数场)。例如,因为方向性、音高、衰减和其它特性可以与脉冲响应分开地计算,所以计算资源可以提取取决于其它因素的直接声音响度、早期反射响度、早期衰变时间和后期混响时间。在一些示例中,计算资源可以附加地参数化以下各项中的一项或多项:早期衰变时间开始和结束以及后期混响时间开始的时间点(即,当早期反射斜率变为后期混响斜率时)、峰值密度、脉冲响应的噪声、包络特性、环境标志(例如,环境是“室外”还是“室内”环境的指示)、考虑其它参数如何关于频率和方向性变化的参数(例如,考虑所感知的声音似乎来自哪里)。计算资源还可以对参数场进行编码、平滑、空间采样、量化和/或压缩,以获得编码的参数场。

在506处,计算模块接收要从(多个)源位置发射并且在收听者位置回放的(多个)音频信号。(多个)源位置可以随时间变化或者它们在时间上可以是静态的。计算资源解码所编码的参数场,以获得特定音频信号源位置和特定收听者位置的脉冲响应的参数,即使那些位置中的一个或两个位置位于源探针位置之间。例如,计算资源可以将(多个)源位置插入到包括预先定义的源探针位置的网格中。如上文关于解码模块306类似地讨论的,计算资源可以从用于围绕插入到网格中的(多个)源位置的探针源的编码的参数场来插值用于源/收听者配对的参数。在一些示例中,在506处,代替从来自围绕(多个)源位置的探针源的编码参数场中插值参数,计算资源可以利用声学互易性,并且从包围收听者的探针源的编码的参数场来插值参数。

一旦接收到解码(和插值)参数,计算资源就可以使用所解码的参数来计算权重,以缩放要在源位置处发射并且在收听者位置处回放的任意音频信号。在至少一个示例中,计算资源可以根据参数的子集来计算权重,以使由权重缩放的CF的和会产生由所解码的参数约束的滤波器。在一个示例中,计算资源可以不缩放CF,并且可以利用源信号(如果存在多个源信号)的加权和来卷积CF。在存在多个源信号的示例中,计算资源可以接收针对收听者位置的解码参数;至少部分地基于源位置和解码的参数来计算权重;通过所计算的权重来缩放源信号;对经缩放的源信号求和;用规范滤波器对经缩放的源信号的和进行卷积;并且对经缩放的源信号的卷积总和进行求和。在至少一个示例中,在卷积之前,源信号可以被复制到副本中,并且在计算资源对所加权的副本进行求和并且用CF对加权的副本进行卷积之前,可以用不同的权重对副本进行加权。在一些示例中,复制可能产生不相同的副本。在至少一个示例中,可以在运行时间计算任意音频信号(在(多个)源位置处发射的任意信号的收听者位置处回放)的传播。

图6描绘了图5中引入的过程502。在至少一个示例中,计算资源模拟虚拟环境对从探针源位置发射的脉冲的脉冲响应。在600处,计算资源接收可以具有相关联的材料数据(例如,材料代码)的虚拟环境的环境几何形状(被描绘为示例性环境几何形状602)(例如,体元化环境多边形、体元化环境三角形、环境线框模型)。相关联的材料数据可以包括关于指定材料与不同频率(例如,标量值、衰减值、脉冲响应、横波数据等)的声音相互作用的方式的信息,或者为了简单起见,可以是不随频率变化的吸收或反射系数。因为许多材料的吸收或反射在人类听力的谱的极端处表现出变化,或者不容易被人类大脑感知或区分,所以可以接受利用吸收或反射系数。在利用吸收或反射系数的各种示例中,可以减少执行该示例技术所需的计算时间和存储。在所示出的示例中,示例性环境几何形状602包括壁的“L”形配置和构造特征604。构造特征表示诸如例如柱、家具件、盒或建筑物之类的障碍物、和/或诸如墙壁、门或窗户之类的构造特征。在实践中,环境几何形状602可以更加复杂,但是为了可视化,图示了环境几何形状602。计算资源可以自动确定采样控制,诸如例如,最大模拟频率(其可以与单元大小有关)、单元大小、以及体元大小(其可以与单元大小有关)。在其它考虑中,最大模拟频率的确定可以基于存储器和计算约束。可替代地,I/O、捕获、通信设备或用户可以指定采样控制和/或环境几何形状。

在606处,计算资源接收或确定若干个探针源位置608。计算资源或用户可以指定探针源位置在虚拟环境的水平和垂直方向上的均匀间隔。可以使用其它技术来定义探针源位置。例如,在这些技术的视频游戏应用中,鉴于在该示例中,虚拟玩家的高度可以被指定为是1.6米高,用户可以指定2至4米的水平间距和1.6米的探针源的垂直间距。用户还可以指定探针源被放置在环境的整个范围内,包括虚拟玩家步行不能到达的区域,以便考虑大型交通工具、飞行能力、响应于可以发送虚拟玩家以隐藏虚拟环境的部分的游戏中事件(in-game event)的布娃娃(rag doll)物理效应、以及其它这样的游戏动态。可以选择探针源位置以包括收听者可能存在的虚拟环境中的位置或位置的子集。例如,感兴趣区域网格可以将探针样本约束到环境的内部。感兴趣区域网格可以被体元化以计算虚拟环境的内部的离散联合。可以拒绝对应的体元位于感兴趣区域外或环境几何形状内的任何探针样本。当使用需要切换源位置和收听者位置的声学互易性来计算传播的音频信号时,收听者导航可以当选择探针源位置时被强调。

在每个探针源xs∈Xs处,因为声音由于遮挡/吸收和距离而衰减,所以计算资源以其周围的几何形状来模拟。例如,计算资源可以使用具有指定半径以及顶部和底部高度(例如,45米半径和14米至20米高度,其大致为城市街区的直径,以及4至5建筑物楼层的高度)的垂直圆筒。50米的传播产生相对于1米处的响度的-34dB的纯距离衰减。在至少一个示例中,计算资源可以在几何区域周围添加空气填料层,其有助于运行时间外推。计算资源(或用户)可以保持填料的厚度大于在编码期间使用的收听者样本间隔。在至少一个示例中,几何区域的整个外表面被标记为“完全吸收”以将发射模型化为自由场,从而构成模拟区域。计算资源可以调用模拟区域中的波模拟器。几何区域的外部区域以后被称为模拟的最大空间约束。

由于要模拟的场随时间变化,因此可以选择用于模拟的时间约束。在至少一个示例中,不是存储整个脉冲响应,而是计算资源可以存储与人耳和大脑处理声音的方式相对应的脉冲响应的部分。特别地,计算资源可以捕获声学脉冲响应的三个瞬态相位:直接声音,诸如612;早期反射,诸如614;和后期混响,诸如702。因此,由计算资源运行的模拟的时间约束可以提供足够时间来捕获脉冲响应的这些相位加上时间,并且考虑从探针源到上文所指定的几何区域的最大空间约束(tmax=ΔDSERLRC)的视线延迟(line-of-site delay),其中变量分别表示直接声音的持续时间,诸如612;早期反射,诸如614;和后期混响,诸如脉冲响应的702个相位,并且ΔC考虑从探针源到最大空间约束的视线延迟)。

例如,假设脉冲响应的直接声音部分(诸如612)可以是大约5毫秒,可以将时间约束设定为大约一秒;根据环境几何形状以及源和收听者的材料和位置,脉冲响应的早期反射部分(诸如614)大约在100毫秒和200毫秒之间变化;并且脉冲响应的后期混响部分(诸如702)可以根据环境音量和表面积进行一段时间。在一些示例中,相位的特定长度可以基于环境类型而变化。在用于视频游戏的至少一个示例应用中,假设直接声音相位长度为5毫秒,诸如612;早期反射时间为200毫秒,诸如614;并且对于后期混响和视线传播延迟ΔC为剩余至600毫秒,诸如702,对于本文中所描述的技术可能是足够的。

在610处,计算资源可以使用上文所提供的约束,包括但不限于虚拟环境几何形状及其相关联的材料数据(如果可用的话);抽样控制;探针源位置;以及空间和时间约束,以求解针对虚拟环境对从探针源位置发射的脉冲的响应的声学波动方程。在各种示例中,线性化欧拉方程可以用于计算整个模拟场,但是欧拉方程需要计算压力和速度矢量,其对于脉冲响应的计算是不必要的。在需要使用中间速度的应用中,可以使用线性化欧拉方程,但是否则波动方程提供足够的压力数据并且需要较少的存储。任何波动方程模拟器可以用于计算响应于探针源信号的虚拟环境中的声学压力,并且可以使用任何硬件来进行计算。例如,可以选择使用基于图形处理单元(GPU)的自适应矩形分解(ARD)求解器。在一些示例中,可以结合中央处理单元(CPU)使用伪谱时域算法来计算由探针源信号产生的压力场。

在610处,图6描绘了在610处由示例性探针源608(N)发射的脉冲和示例性环境几何形状602的响应的示例性表示,部分地通过针对探针源608(N)的在时间上的模拟。由612指示的实线描绘了当脉冲通过空间传播时的直接声音。由614指示的虚线描绘了来自示例环境几何形状602的早期反射(因为它们在时间上并且在该示例中仍然尚未发生,所以后期混响未被描绘)。在潜在的收听者位置616处所得到的基于脉冲的直接声音、脉冲的早期反射和来自脉冲的后部混响而在时间上变化的空气压力幅度。一旦模拟完成,在潜在的收听者位置616处随时间变化的所得到的空气压力幅度组成针对该特定探针源608(N)和潜在的收听者位置的示例环境几何形状602的脉冲响应。图7描绘了特定探针源和收听者位置的示意性脉冲响应700。如图7所图示的,脉冲响应的时间不是按比例绘制的。在一些示例中,可以用除帕斯卡以外的单位来测量幅度,并且可以是不同类型的幅度。示例脉冲响应700包括在时间上变化的幅度。如上文所讨论的,幅度可以被分组在三个时间相位中:直接声音608、早期反射614和后期混响702。

示例脉冲响应700是仅一个源/收听者配对的脉冲响应(或环境对脉冲的响应)。虚拟环境对从多个探针源位置发射的脉冲的声学响应可以是由下文所示的函数表示的七维压力场,其中P是所计算的压力场,这里还被称为整个模拟场;xs和xl是源和收听者位置;并且t是时间。

P(xs,xl,t)

如上文所描述的示例压力场函数指示的,整个模拟场P可以是源位置、收听者位置和时间的函数。为了导出整个模拟场,可以在每个探针源位置xs(608(N))处引入脉冲。可以使用的一个这样的示例性脉冲由以下等式描述,其中是源脉冲;x和xs是从体元中心得出的(其中vmax是最大期望的模拟频率);并且t0=5σs

脉冲可以是在单个单元处引入的高斯。初始延迟t0确保小的起始幅度(相对于峰值小于-210dB)。因子γ对信号进行归一化,使其在1米的距离处具有单位峰值幅度。对于ARD求解器,γ可以被设定为等于1/(0.4Δ),其中Δ是体元大小。σs的选择强迫高斯频谱在频率vmax上衰变-20dB,限制了混叠,但是仍然包含vmax附近的可提取信息。示例脉冲可以被描述为全向高斯脉冲。

模拟压力场(P(xs,xl,t))可以是脉冲响应场,但是为了清楚起见,为了区分作为探针源位置、收听者位置和时间的函数(P(xs,xl,t))而变化的脉冲响应场(环境对在任何探测位置处发射的并且在任何接收器位置接收的脉冲的在时间上的响应)、以及作为仅仅听者位置和时间的函数而变化的由一个探针源发射的脉冲的脉冲响应场(环境对在特定探测位置处发射并且在任何收听者位置接收的在时间上的脉冲的响应),第一场在本文中被称为整个模拟场,并且第二场被称为脉冲响应场。收听者位置处的环境对从特定探针源发射的脉冲的响应被称为脉冲响应或探针/收听者配对处的脉冲响应。更进一步地,模拟波场可以是压力场。

在至少一个示例中,在模拟波场之后,计算资源存储整个模拟场。因为整个模拟场可能占用几十太字节的空间,因此在一些示例中,分叉或分布式计算系统可以包括用于运行模拟和编码的一个或多个第一计算资源,以及具有较低的存储器和/或处理资源以运行剩余的计算的一个或多个第二计算资源,由于本文中所采用的技术,所以其需要少得多的存储和计算。在各种示例中,如图1中所介绍的分布式计算资源102和/或(多个)设备106可以表示这样的第一计算资源,并且(多个)专用计算资源108可以表示这样的第二计算资源。

图8描绘了图5中引入的过程504。将整个模拟场作为参数场(还称为参数化脉冲响应)进行编码可以包括参数提取(800)、提取的参数场(804)的平滑(802)和空间采样、量化所提取的参数场(806)、以及压缩所提取的参数场(808)。过程504还可以包括其它处理,诸如将提取的参数场加密和/或存储为编码输出参数场。在至少一个示例中,计算资源以块为单位进行数据的流读取,对每个块进行编码,并且写出组成输出参数场的对应的3D块(将3D块级联到现有3D块,其中每个3D块可以在探针源位置上方被级联)。

在800处,计算资源可以独立于在每个收听者单元xl处接收的脉冲响应来提取参数。提取参数使得元数据的存储和使用能够在运行时间来计算源/收听者配对的传播音频信号,而非存储源/收听者配对的整个脉冲响应。所提取的参数可以包括脉冲响应的最小感知参数,其逼真地向人类头脑运送环境响应的再现。这些参数可以包括直接声音响度(LDS)、早期反射响度(LER)、早期衰变时间(TER)和后期混响时间(TLR)(后期混响响度可以从LER和TER导出)。环境的脉冲响应场的参数化由下文的等式描述。

其中param∈{LDS,LER,TER,TLR}

可以提取更多的参数,但是直接声音响度、早期反射响度、早期衰变时间和后期混响时间是以逼真的方式对传播的声音进行可听化的脉冲响应的最小特性。这样的附加参数可以包括所感知的声音的方向。

图9描绘了示例参数化脉冲响应902,其参数从示例脉冲响应700中提取。在图9中所描绘的示例中,从示例脉冲响应700提取了四个参数:直接声音响度(LDS)904、早期反射响度(LER)906、早期衰变时间(TER)908和后期混响时间(TLR)910。使用诸如上文关于800所描述的技术来计算的参数化的脉冲响应可以表现出比脉冲响应更大的平滑性,从中导出构成参数化的脉冲响应的参数。这种增加的平滑性可以使参数化的脉冲响应更加响应于压缩。在一些示例中,参数化的脉冲响应在空间上是平滑的,使得参数化的脉冲响应响应于空间压缩。示例参数化的脉冲响应902表现出比示例脉冲响应700更大的平滑度。

返回图8,在802处,在室内声学中,直接路径在音乐厅中几乎不被遮挡,并且直接能量通常可以被分析地估计和去除。然而,可以使得计算资源能够捕获更复杂的、场景相关的遮挡。为了这样做,计算资源可以考虑在声学能量开始到达听众位置τ(xs,xl)之前的初始延迟。初始延迟可以与可以围绕环境几何形状衍射并且变得衰减的测地路径相对应。计算资源可以采用如下文的等式所描述的τ(xs,xl)的定义,其中Dτ是第一到达的阈值。

τ(xs,xl)=mint{10log10P2(xs,xl,t)>Dτ}

过大的Dτ值可能会在遮挡情形下错过较弱的初始响应。太小的Dτ值可能导致τ由数字噪声触发,其在频谱求解器(如ARD)中行进得比声音快。计算资源可以采用的Dτ的一个值可以是-90dB。Dτ的值可以变化大约10dB,而对τ没有实质性的影响。在至少一个示例中,τ可以用于适当地计算用于参数提取的正确参数,但是在提取之后可以不保留。在各种示例中,τ可以被保留。例如视频游戏玩家的一些人可能在音频流水线中的系统延迟中弄错视听不同步(在声音能量到达之前的延迟),从而激励τ不被保留为设计选择。

计算资源可以从脉冲响应场提取直接声音响度,诸如904。因为其路径可以是间接的并且其感知响度可以集成在最短路径的几毫秒内到达的其它反射/散射路径,所以尽管术语“第一到达声音”在物理上更精确,但是术语“直接声音”在声学中是标准的。在一个实现方式中,为了检查脉冲响应的正确部分以标识直接声音,计算资源可以假设间隔t∈[τ,τ+ΔDS]包含初始声音,其中ΔDS可以基于已知声学而被选择为5ms。为了检查诸如612之类的脉冲响应的直接声音,因为在时域中采用阶梯函数产生污染在提取中稍后进行的频谱处理的Gibbs纹波,所以可以对脉冲响应应用平滑窗口化函数。在至少一个示例中,计算资源可以使用高斯误差函数,其被定义为

在至少一个示例中,σw可以固定为等于Swσw,其中σw是高斯源信号的标准偏差,并且Sw是分区窗口宽度因子。比例常数Sw控制划分的平滑度(例如,Sw可以被设定为等于3)。误差函数w(t)从0到1单调地增长而没有振荡,可以在时间上可控制地紧凑,并且提供简单单位划分w(t)+(w-t)=1。互补窗口可以被表示为w'(t)=w(-t)。

图10描绘了一个示例的示例方法,其将窗口应用于脉冲响应1002以便隔离与直接声音,诸如612;早期反射,诸如614;和后期混响,诸如702相对应的脉冲响应的相位。在这个示例中,为了从脉冲响应估计直接声音响度(诸如904),计算资源可以首先提取区段PDS(t)=P(t)wDS(t)(元素1004),其中t∈[τ,τ+ΔDS+4σw]和时间窗口wDS(t)=w′(t-τ-ΔDS+4σw)(元素1006)(这部分的P(xs,xl,t)的符号简化为P(t))。接下来,在该示例中,计算资源将信号变换到频域以获得并且用源信号对其进行去卷积,以获得底层频率响应(元素1008)。最后,计算资源经由计算nv个倍频程频率(在一个实现方式中以Hz为单位)vi={62.5,125,250,500,...,vmax}的集合之间的频带上的能量。

直接声音响度平均对这些求平均:

在该示例中,计算资源不对整个输入信号去卷积以将高斯响应转换为脉冲响应,而是可以改为首先随时间而窗口化并且在频域中去卷积,其中可以直接经由Parseval定理来估计能量。没有去卷积整个输入信号避免了当去卷积带限响应时出现的Gibbs振铃。Gibbs振铃可能淹没带限响应的特性,尤其是当直接脉冲具有高幅度时(即,当xl接近xs时)。

类似地,计算资源提取诸如906之类的早期反射(LER)的响度参数。在至少一个示例中,计算资源经由PER(t)=P(t)wER(t)(元素1010)从响应P(t)提取早期反射间隔,诸如614,其中t∈[τ+ΔDS,τ+ΔDSER+4σw]并且wER(t)=w(t-τ-ΔDS-2σw)w′(t-τ-ΔDS-2σw)(元素1102)。在至少一个示例中,计算资源可以针对直接声音提取如上文所描述的能量。

计算资源可以从脉冲响应场提取早期衰变时间(TER),诸如908。早期衰变时间和诸如910之类的后期混响时间(TLR)考虑了空间中混响的能量曲线的衰变。因为陡峭衰减的初始反射通常之后是更缓慢衰减的诸如702之类的后期混响,所以两个参数而不是仅仅一个参数用于考虑衰减。更进一步地,诸如908之类的早期衰变时间强烈地取决于环境几何形状以及源和收听者的位置(xs,sl),而诸如910之类的后期混响时间至少部分地取决于环境音量和表面积。诸如910之类的后期混响时间也与诸如枪声或拍子之类的脉冲源的主观反射良好相关,而对于诸如语音和音乐之类的连续源,早期衰变时间可能是更好的测量。利用两个参数来解释这两个阶段中的两个衰减速率不仅考虑了脉冲响应特性,而且模拟了人耳和大脑感知声音的方式。因此,仅使用衰减的一个参数可能无法正确地可听化所传播的声音,并且因此示例实现方式从脉冲响应场提取两个参数。

在至少一个示例中,计算资源使用定义为的后向(Schroeder)积分。在至少一个示例中,直线模型可以用于估计混响时间。在一些示例中,可以使用非线性回归模型。对于本文中所描述的一些示例技术,混响时间的噪声估计不可能以人耳可察觉的方式影响所传播的音频信号的可听化。

在至少一个示例中,计算资源估计单个倍频带(例如,250Hz至500Hz频带,其中响应首先需要被带通——带通整个响应工作很差)的混响时间,因为它在其端部附近引入污染弱信号的振铃)。在至少一个示例中,计算资源可以估计多个倍频带中的混响时间。为了标识能量衰变的开始,基于诸如612之类的直接声音之后的能量衰变曲线中存在不连续下降的一般假设,诸如612之类的直接声音可以被时间窗口化已经到达收听者。

在该示例中,尽管其它变换(诸如小波变换、Gabor变换和多分辨率分析等)可以用于高频应用,但是可以使用短时傅里叶变换。

在至少一个示例中,对于频谱分析,模拟模块304使用适当宽度的滑动汉明窗来对衰变(例如,87ms,其与500Hz的vmax的256个样本相关)进行采样,并且实现显著重叠(例如,75%)。对于在时间τ开始的窗口的每个转换,计算资源将窗口乘以并且计算窗口化区段的快速傅里叶变换(FFT)。计算资源取被检测的倍频程的频带中的频谱的平方幅度的总和,得出能量E(t)。能量衰变曲线应用所选择的积分方法或模型(例如,Schroeder积分)。当使用Schroeder积分时,所得到的能量衰变曲线可以被描述为其中tmax表示模拟响应的终止时间P(等效地,如本文中所使用的整个模拟)。将上文所描述的时间窗口化的短傅立叶变换与积分组合会得到平滑曲线。在至少一个示例中,该平滑有助于斜率估计。

在首先去除响应的直接声音部分的示例中,在t=0附近的I(t)中可能存在平稳段,其不存在于真实衰变中。因此,为了找到真实衰变,计算资源可以延迟其衰变的计算,直到幅度充分减小时的第二点时间t0为止(例如,为了分析的目的,忽略I(t)的初始部分,直到其中I衰变-3dB时间点为止)。国际标准化组织(ISO)建议在衰变的第一个10dB时使用线性回归,因此当信号I已经从在t0的幅度衰变另外10dB时,计算资源可以采用t0和第二个时间点t1之间的线性回归。然而,可以使用用于计算早期衰变时间的其它方法。为了实现本文中所描述的增加的压缩比和计算时间,所选择的方法应当输出标量。在至少一个示例中,计算资源通过前向差分来估计区间[t0,t1]中的斜率δER,以获得时变斜率,其中计算资源取均方根(RMS),得出早期衰变时间斜率。因为真实衰变曲线通常是凹的(特别地,在室外环境)中,所以与线性回归相反,前向差分和取均方根可能是有利的。线性回归尽管简单,但可能低估了这些情况下的衰变速率,从而高估了早期衰变时间。通过取前向差的均方根,强调初始快速衰减。计算资源可以计算能量衰变60dB所需的时间并且设定TER=-60/δER

在至少一个示例中,为了提取诸如910之类的后期混响时间,计算资源可以计算I的渐近衰变时间。在该示例中,计算资源可以使用线性回归来找到由t∈[tmaxLR,tmax]描述的结束区段的斜率并且设定TLR=-60/δLR

图11是示例能量衰变曲线1102;早期衰变时间斜率1104;和后期混响时间斜率1106的图。使用这些斜率,可以估计诸如908之类的早期反射时间和诸如910之类的后期混响时间。注意,可以计算早期衰变时间斜率之前的示例延迟1108。

视频游戏中的仅一个场景(或通过与其它情景类似,一个复杂环境)的原始波场数据(模拟的七维压力场)占用几十太字节的空间。参数化使得能够表征抗压缩的精细采样的脉冲场,并且由此在进一步编码之后得出超过一百万的压缩因子。例如,具有56TB的总的七维波数据的一个场景被压缩为41MB。如本文中所使用的,精细取样可以根据应用而变化。在至少一个示例中,精细采样可以与所有基本方向上的例如25厘米的采样相等或更精细。随着场景变大,编码的参数场大小根据场景的表面积而不是其音量而缩放。结果的维数指示除了从七个维度(音量×音量×时间)到五个维度(音量×面积)的时间之外,还去除了另外的维度。因此,编码的参数场大小与边界圆柱的表面积成线性比例。未编码的脉冲响应场的大小可以与场景音量成比例,并且因此表面积超线性增长。当直接编码如Kirchoff-Helmholtz积分定理中所表达的波场时,表面积缩放可以是最佳的;这表示边界条件中的信息。

在提取与脉冲响应场中的一个探针源和收听者采样位置相对应的脉冲响应的参数(例如,{LDS,LER,TER,TLR}或其它)之后,计算资源准备构成参数场的所提取的参数(例如,在其中提取四个参数场的示例中,四个参数场从提取中产生——每个参数的一个场,其中场内的位置与固定探针源位置xs的收听者位置xl相对应),用于进一步处理(诸如例如,量化和压缩)。特别地,诸如904之类的直接声音响度(LDS)由于距离衰减而在探针位置xs展现出奇点,因此编码模块304可以对参数场相对于单极源的自由场衰减的(多个)所提取的直接声音响度值(诸如904)进行编码。为了对(多个)所提取的直接声音响度值(诸如904)进行编码,根据该示例,可以经由来更新(多个)所提取的直接声音响度值。以这种方式对所提取的直接声音响度(诸如904)进行编码改善了压缩并且减少了动态范围。在至少一个示例中,计算资源对对数空间中的响度参数进行编码并且将它们钳制到定义的范围(例如,-70dB至+20dB,作为保守范围,因为由于壁反射而引起的声学放大很少超过+6dB以及在1米处响度为80dB SPL源的可听化在10dB SPL时衰变到几乎听不到)。在至少一个示例中,计算资源还可以例如经由logTER/log1.05在对数空间中对衰变时间参数(TER和TLR)进行编码,其中分母确保连续积分值之间的5%的相对增加。在该示例中,计算资源可以针对它们的边界(例如,使用表示44ms至21.6s的-64至63的范围)来钳制参数。在至少一个示例中,编码模块可以分别在802和804对参数场进行平滑和子采样(例如,在模拟样本上使用盒式滤波器)。计算资源可以用很少的混叠来粗略地对平滑的和子采样的参数场进行采样。

根据ISO,在临界收听条件下,感知最小可觉差(JND)的响度可以是1dB并且衰变时间相对是5%。在至少一个示例中,计算资源对数地映射响度和/或衰变时间参数,以使(多个)所得量子与806(Δq=1dB和5%)处的一个JND相对应。量化参数允许每个映射的标量参数适合一个字节。在至少一个示例中,计算资源可以对于诸如视频游戏音频的不太关键的收听条件更保守地对数地映射响度和/或衰变时间参数。因此,在视频游戏环境中,量化阈值Δq可以增加(例如,从1个积分步长增加到3个积分步长,其与响度的3dB和衰变时间的15%的增量相对应)。增加量化阈值增加了压缩比(例如,其中量化阈值可以从1个积分步长增加到3个积分步长,压缩比增加2倍)。

计算资源可以在808处压缩参数场。在至少一个示例中,四个参数场可以被视为具有指示几何形状的存在的舱壁(bulkhead code)代码的三维阵列(即,无关代码,至少部分)。在至少一个示例中,计算资源可以单独考虑参数场的二维Z切片,其中Z表示重力向上方向。取决于特别应用,可以选择除了Z轴之外的轴。如果在移动通过环境而不是整个参数场的同时,收听者在大致相同的高度处持久,则对二维切片中的参数场进行编码会允许在运行时间解压缩几个切片。在一些示例中,计算资源可以压缩三维参数场,而不选择任何这样的轴。

在至少一个示例中,计算资源可以根据PNG(诸如或类似于MNG、TIFF、GIF、熵编码、DPCM、链码、PCX、BMP、TGA的其它无损图像压缩技术,或其中可以仔细控制误差的其它有损技术(诸如JPEG或其它);高度有损技术可能在可听化中产生音频伪像)来压缩参数场。在各种示例中,可以使用其它图像或视频压缩方法。在至少一个示例中,计算资源可以依次考虑每个X扫描线,累积表示仍然未量化的运行差的残差r。在利用量化的示例中,计算资源保持r低于量子Δq。在该示例中,在压缩期间,计算资源维持先前处理的场值f′和当前场值f,并且减去以得出运行差Δf=f-f′。最初,f′=r=0。计算资源计算输出q,并且经由来更新残差。计算资源可以使用扫描线的先前值作为预测值。当遇到舱壁时,计算资源设定f=f′,在其跨度上产生值q=0。尽管在一些示例中,可替代地或附加地使用其它压缩算法,但是计算资源最终在所得到的q值的流上使用Zlib来执行LZW压缩。因此,作为各种组合示例的结果,计算资源(例如,经由编码模块)可以将每个源探针的脉冲响应场变换为被组织为压缩的Z切片的集合的四个三维参数场,包括编码的参数场在内。在一个示例中,编码的参数场被级联。换句话说,编码模块输出用于第一探针源的第一集合的压缩参数场,压缩的参数场的数目等于从环境对从第一探针源发射的脉冲的脉冲响应提取的参数的数目,并且编码模块将用于从环境对从第二探针源发射的脉冲的脉冲响应提取的参数的第二集合的压缩的参数场级联到第一集合的压缩的参数场。

计算资源可以以并行或大规模并行运算来执行上文所描述的技术。

图12描绘了图5中引入的过程506。在506处,计算资源使用编码的参数场、原始波数据或脉冲响应来计算在运行时间的传播信号。在过程506使用编码的参数场的示例中,在1200处,计算资源可以将探针位置插入到空间数据结构(例如,网格)中,以加速八个探针源的查找,该八个探针源形成围绕所插入的探针位置(例如,音频信号源在运行时间(“运行时间源”)的位置)的盒,其中八个探针源可以是上文所描述的探针源的子集。这些八个探针源中的一些探针源可能丢失,因为它们位于环境几何形状内部(例如,在墙壁内部)或在指定的感兴趣区域外部。在至少一个示例中,计算资源还可以去除对运行时间源“不可见”的探针,以避免跨越闭合几何(例如,壁)的插值。为了做到这一点,计算资源可以使用场景的精细采样的体元化。计算资源可以重新归一化所得探针源的集合(其中小于或等于8)的三线性权重。

计算资源还可以通过三线性插值来计算收听者处的参数值。在至少一个示例中,参数场可以是被组织为压缩的Z切片的集合的三维参数场。在该示例中,计算资源可以经由LZW解压缩(或者与所选择的压缩相关的适当解压缩)来解码跨过收听者位置的两个切片,并且通过反转上文所描述的量化来解量化两个切片,以获得用于与正被解码的参数场相对应的参数的二维阵列。

在至少一个示例中,计算资源可以围绕收听者在8样本盒上进行插值。可以以与探针源和重新归一化的权重相同的方式去除无效样本。重新归一化权重得出在连续收听者位置的(采样的)探针的参数。整个过程表示六维超立方体插值。计算资源还可以使用最近最少使用的策略在全局高速缓存中存储解压缩的Z切片,以加速运算时间。

在至少一个示例中,声学互易性的原理可以被实现成通过将要解码的场的数目从至多8乘以源的数目减少到至多8来增加性能。声学互易性指示如果这些位置被互换并且对于声学参数也是如此,则点源和点收听者之间的脉冲响应保持相同。因此,在运行时间,计算资源可以交换源位置和收听者位置并且应用上文所描述的过程。换句话说,在这个示例中,收听者成为源,并且问题可以从多源单收听者转换为多收听者单源。因此,在至少一个示例中,计算资源可以解码围绕收听者的有效探针,而非围绕源的有效探针,其可能远远超过仅一个源。

一旦计算资源解码参数场以计算源点和收听者点之间的参数(在一个示例中,使用上文所讨论的在解码期间利用声学互易性的示例),则在1202处,计算资源对每个运行时间源—收听者配对应用声学滤波器,渲染参数,并且由此实现从源传播到收听者的音频信号的环境的感知效果。由渲染模块308对每个运行时间源—收听者配对应用的声学滤波器具有由与插值的探针源位置和插值的收听者位置之间的环境的脉冲响应相对应的解码的参数值定义的特性(即,包围运行时间源的探针的加权和与围绕运行时间收听者的探针的加权和之间的环境的脉冲响应的特性)。

在至少一个示例中,如图13中所描绘的,为了呈现参数,计算资源可以使用其输出实现应用各个脉冲响应的效果的全局规范滤波器(CF),以再现由运行时间源-收听者配对的参数值表示的属性。例如,考虑要发射单声道信号si(t)(不同于预先处理的源信号s(t),如上文所讨论的,通过该信号,获得用于源和收听者位置的计算资源{LDS,LER,TER,TLR})的第i个运行时间源。在该示例中,计算资源可以应用遵守参数的立体声(双声道的)滤波器hi(t),产生作为立体声输出oi(t)=si*hi,其中“*”表示立体声卷积(si可以输入到两个滤波器通道)。计算资源可以将hi分成三个部分,如其中每个部分表示以与源/收听者配对的脉冲响应的相位相关的方式遵守参数的滤波器的一部分。因此,例如,应用遵守参数的声学滤波器可以由三个卷积的和表示:(分别为1302,1306,1312和1314)。

为了适当地遵守特定源/收听者脉冲响应的参数并且从而适当地对si进行可听化,直接声音滤波器需要按编码的响度参数LDS(1302)(即,按因子)(1302)进行缩放si。在一些示例中,计算资源去除编码期间的距离衰减;如果应用了该示例,则计算资源将距离衰减应用于si以适当地对si可听化。距离衰减的净比例因子可以是其中d是源到收听者距离。计算资源还可以基于源位置和收听者的位置和取向来执行空间化(计算资源可以执行如本示例中在1302所描述的空间化)。在视频游戏的示例应用中,许多游戏音频引擎原生地支持以低等待时间执行的空间化,产生用于直接声音的立体声输出其它两个滤波器和可以至少遵循其它三个参数{LER,TER,TLR}(响度和两个斜率(dB/s))(分别在1304,1308和1310),并且的时间密度可以是连续的,以便以逼真的方式对si进行可听化(在1308处考虑)。换句话说,早期反射(诸如612)和后期混响(诸如702)之间的幅度的衰变是平滑的——在足够的时间已经过去之后,典型的室内脉冲响应中的总幅度不会出现突然下降或尖峰来引起显著的声音扩散。

卷积是非常昂贵的操作,并且对每个源的音频信号执行数百个单独卷积对于诸如视频游戏之类的实时应用可能是成本过高的,尤其是,鉴于处理设备可能被其它应用程序特定的运算所共享的事实。在一个示例中,代替在运行时间利用单独的滤波器对每个信号源的任意音频信号进行卷积,计算资源可以利用CF来减少缩放和求和信号源音频信号并且用CF对所缩放和求和的信号进行卷积的运行时间操作。在该示例中,信号源音频信号的权重可以是一个或多个CF和参数的函数,参数依次取决于源位置和收听者位置。利用CF并且经由作为CF的函数计算的权重的插值的滤波避免了具有快速移动的源和/或收听者的脉冲响应插值伪影。

早期反射滤波器可以以nER=3规范滤波器(CF)表达。CF可以是若干个固定滤波器。在一些示例中,CF可以被预先变换(换句话说,CF可以已经从时域变换到频域,以避免运行昂贵的运行时间快速傅里叶变换)。在至少一个示例中,固定意味着滤波器具有在滤波器用信号卷积之前不被修改的特性。在至少一个示例中,具有未修改的特性意味着规范滤波器的细节可以改变,只要规范滤波器的细节继续与特性(其保持未被修改)一致即可。在各种示例中,在玩家位置从城市环境转变到森林环境的视频游戏应用中,可以将规范滤波器修改为声音“森林状”,同时仍然遵守未修改的特性。这样,可以适当地渲染感知参数,同时还可以渲染其它效果(诸如上述示例中的“森林状”)。当脉冲响应(或解码的参数)被更新时,现有技术丢弃可能修剪混响的用于较旧滤波器的尚未处理的输出。保持过去的滤波器活动直到它们耗尽其输出为止对于所有声源是昂贵的。因为用每个视频帧更新的插值权重来处理任意音频源,所以使用CF则避免了这个问题,从而有效地用对于源-收听者配对是独有的最新的未截断的脉冲响应对其进行渲染。关于视频游戏情景,这种技术容易地与当前的游戏音频引擎进行集成,其自然地支持将信号的线性组合馈送到几个固定滤波器。在游戏音频术语中,线性组合由将它们的输入求和的总线来执行。CF“影响”总线并且每个源缩放因子是总线“发送值”。

在至少一个示例中,该组早期反射CF具有三个属性。第一,CF对于它们的非零值(峰值)可以具有相同的时间延迟,从而允许CF被线性插值而没有峰值混叠(1302)。第二,CF具有0dB(单位)响度。第三,CF具有满足滤波器的分配的衰变时间的指数能量衰变曲线,被表示为(参见图14的1402,1404和1406)。图15描绘了在时域中显示的具有这些属性并且具有满足1.0秒的衰变时间的能量衰变曲线的示例CF。图16描绘了在频域中显示的也具有这些属性并且图示了平坦频率响应的示例CF。因为CF的峰值延迟可以被共享,所以对这些CF中的两个CF进行线性插值得出具有中间能量衰变和单位响度的滤波器,该单位响度当插值权重单调变化时会单调变化。计算资源可以通过如在直接声音的情况下缩放信号来实施LER(1304)。这可以通过缩放应用于信号的权重来完成。可替代地,由于卷积的相关属性,计算资源可以通过缩放滤波器或卷积来实施LER。图13仅描绘了其中计算资源缩放信号(1302,1304和1310)的一个实现方式。

给定TER,计算资源在两个CF上插值使得例如,CF可以具有能量衰变曲线,如图14在1400处图示的,与0.5秒、1.0秒和3.0秒的早期衰变时间值相对应(因此,可能钳制范围0.5至3.0之外的任何TER)(参见示例能量衰变曲线1402,1404和1406)。在该示例中,为了实现TER为0.7,计算资源将在具有分别与0.5秒和1.0秒的衰变时间相对应的能量衰变曲线的CF之间进行插值。在一些示例中,滤波器参数可以包括能量衰变曲线和其它滤波器特性,诸如例如,截止频率、滚降、过渡频带和纹波。

在至少一个示例中,计算资源可以通过假设衰变曲线是指数的(在一些情况下,完全是指数的),并且需要在“匹配时间”tm时线性插值的结果与TER的理想指数衰变进行匹配来找到插值权重和(例如,渲染模块可以选择ER的中间值:tm=ΔER/2=100ms,其确保了插值的滤波器的早期衰变时间具有小于5%的最大相对误差,与根据ISO的感知阈限相当)。可以经由以下各式将权重乘以因子以实施响度(1304),

在至少一个示例中,如上述等式所图示的,权重可以取决于规范滤波器和解码的参数。该因子在tm处评估在中以60dB衰变的指数曲线。因此,滤波器可以被描述为线性组合:

注意,尽管由于预先计算时间的实际限制而给出的从高达vmax=500Hz(vmax可以更高)的频率中有限模拟和提取参数的一个示例,并且即使不是,但是这里应用的CF可以是遵守响度和衰变时间参数的宽带CF。因此,传播特性可以延伸到未建模的较高频率,从而产生近似但似乎可信的结果。

应用该方程和交换求和,所渲染的早期反射输出1306可以由给出。其中在1304处描绘了术语换句话说,在源位置处发射的任意音频信号的收听者位置处传播的早期反射可以是用(多个)源的加权(和)卷积的和规范滤波器(1306)(注意,在上述等式中所示的实现方式中,信号由LER缩放)。

计算后期混响输出oLR(t)可以是类似的(1308,1310和1312)。计算资源可以使用nER=3个CF,衰变时间例如为0.75秒、1.5秒和3.0秒,并且将匹配时间定义为例如tm=0.75TLR 1316。这些示例选择得出小于5.7%的相对误差,其又与衰变时间的感知阈限相当。在一些示例中,未显式地存储后期混响的响度LLR(必需1308)。相反,可以通过实施能量密度的连续性来导出:在后期混响开始时每单位时间的能量必须与在早期反射结束时的能量相匹配(1308)。在该示例中,计算资源可以估计上文所计算的插值的滤波器的40ms末尾中的能量,其确定LLR(1308)。将表示为在第j个CF的最后40ms上的能量积分其中LLR=10log10E(1308)。在各种示例中,可以存储后期混响的响度。计算资源可以应用上文所描述的用于早期反射阶段(诸如614)的相同过程,以找到脉冲响应的CF插值系数和(1310和1312)。

一旦已经找到CF插值系数,从而正确地加权CF以与表征对应的脉冲响应的解码的参数一致,计算资源将滤波器应用于输入信号:(1302,1306,1312和1314)。计算资源可以使用任何卷积方法来计算卷积。在至少一个示例中,计算资源使用分割的频域卷积来将CF应用于源信号的加权和(1314):

因为脉冲响应阶段在时间上顺序地发生,所以可以引入延迟。hER和hLR的幅度对于hER的第一ΔDS秒和hLR的ΔDSER秒可以为零,以考虑该时间延迟。分割的卷积以等待时间换取效率:更长的分区更快地计算,但是因为可以在执行卷积之前分区必须是完全的,所以引入更多的等待时间。因为滤波器在被卷积时引起延迟,所以计算资源可以改为让分区大小引入延迟,并且从脉冲响应中移除对应的延迟量。没有引入整体延迟,但是卷积可以按较大的分区大小来加速。例如,分区大小对于为614至1024个样本,并且对于为8192个样本。在44100Hz,614至1024个样本的分区大小与在直接声音之后的早期反射中的11ms至22ms和后期混响中的185ms的初始延迟相对应。

每组CF,和可以满足三个属性:每组CF可以是“线性可插值的”,并且其每个成员可以是单位能量并且满足指定的能量衰变曲线。只要滤波器满足这些准则,则它就可以作为“CF”集成到该系统中。在一些示例中,用于早期反射阶段(诸如614)的CF可以被表示为漫射部分和镜面部分的和,使得它们的和具有单位能量并且匹配目标指数能量衰变曲线。例如,镜面信号可以包括其样本延迟可以是质数的稀疏峰值,其使得来自周期性延迟的着色伪像会最小化,并且漫射信号可以包括幅度二次增加的白噪声,其被归一化以构成信号总能量的10%。更具体地,扩散信号可以被初始化为Dj=t2G(t),t∈[0,ΔER],,其中G是具有零均值和单位方差的高斯白噪声。为了实施指定的能量衰变,可以将随机幅度分配给峰值,并且可以缩放峰值的10ms仓以使总能量由衰变速率控制。因为时间量化可能导致不准确,所以可以采用计算Schroeder积分并且找到其斜率的弛豫过程。在该示例中,可以从期望的斜率中减去真实斜率,并且信号可以乘以与该差相对应的指数,从而产生与所需的衰变时间一致的能量衰变曲线。最后,可以将信号归一化为具有单位能量。在一些示例中,可以使用时间量化来产生符合能量衰变曲线的漫射信号。在一些示例中,CF共享相同的镜面峰值和相同的漫射噪声信号以辅助线性插值,尽管在各种示例中,它们不是。

在至少一个示例中,后期混响CF可以包括具有由控制CF的相应衰变速率确定的指数包络的白噪声。可以在后期混响CF两端采用共享的噪声信号,但是在一些示例中可以对于滤波器中的一些或所有滤波器生成不同的信号。在至少一个示例中,计算资源不考虑(频率相关的)大气衰减。在该示例中,后期混响CF可以被修改以建模大气衰减。例如,使用与已经行进距离d=ct的波前相对应的t处的样本,假设声速恒定,可以使用来自ISO 9613-1的公式来计算任何传播距离d处的每个频率的衰减。可以应用计算短时傅立叶变换的滑动窗口并且重新塑形以适当地考虑d处的大气吸收。结果可以在窗口上累积。在一些示例中,计算资源考虑大气衰减。

图17是描绘了在被称为“场景”:“城堡”、“甲板”、“圣所”、“墓地”和“树叶”的五个示例环境上执行的本文中所描述的模拟和编码技术的示例实现方式的实验结果的表。该表图示了在“原始的(TB)”列中的每个示例环境的模拟的压力场的原始大小(以兆字节计)、“编码的(MB)”列中的编码的参数场大小(以兆字节计)、“兼并(bake)(h)”列中的计算时间(以小时计)、LDS,LER,TER,和TLR列中的四个示例参数的空间压缩比、以及“净”列中的四个示例参数的净空间压缩比。

图18是图示了与未编码的虚拟环境相比对两个示例虚拟环境进行的一个模拟和编码示例的实验结果的图。该图演示了当场景变得更大时,编码的参数场大小根据场景的表面积而不是场景的音量来缩放。结果的维数指示除了从七个维度(音量×音量×时间)到五个维度(音量×面积)的时间之外,还去除了另外的维度。因此,编码的参数场大小与边界圆柱的表面积成线性比例。其中一个探针源的脉冲响应场的未编码的大小与场景音量成比例,并且因此表面积超线性增长。

示例条款

A.一种方法,包括:接收环境的参数化的脉冲响应;从参数化的脉冲响应来解码参数以获得所解码的参数;以及计算权重,用权重加权的规范滤波器的所加权的线性组合与所解码的参数一致。

B.如段落A所记载的方法,该解码包括:在连续三维空间中接收源位置和收听者位置;至少部分地基于源位置从多个固定的第一位置中选择探针样本集合,多个固定的第一位置表示环境的空间样本;至少部分地基于收听者位置从多个固定的第二位置中选择接收器样本的集合,多个固定的第二位置表示环境的空间样本;从参数化的脉冲响应来计算探针样本的集合和接收器样本的集合的感知参数;至少部分地基于源位置和收听者位置来计算探针样本的集合和接收器样本的集合的空间权重;以及至少部分地基于空间权重来从感知参数中插值所解码的参数。

C.如段落A或B所记载的方法,该解码还包括:在连续三维空间中反转源位置和接收器位置。

D.如段落A或B所记载的方法,其中参数化的脉冲响应包括从模拟的脉冲响应中提取的感知参数,感知参数是至少接收器位置的函数。

E.如段落D所记载的方法,其中模拟的脉冲响应包括环境对来自多个第一位置的脉冲的发射的多个信号响应,其中第二位置处的多个信号响应中的一个信号响应是对在由第二位置处的环境修改之后接收的从多个第一位置中的第一位置发射的脉冲的信号响应。

F.如段落D或E所记载的方法,感知参数包括与直接声音响度相对应的第一参数;与早期反射响度相对应的第二参数;与早期衰变时间相对应的第三参数;以及与后期混响时间相对应的第四参数。

G.如段落A,B或D中的任一段所记载的方法,参数化的脉冲响应还是以下各项中的至少一项或多项:空间平滑的;空间采样的;量化的;空间压缩的;或存储的。

H.如段落A,B,D或G中的任一段所记载的方法,还包括:接收音频信号;复制音频信号以获得信号副本;以及至少部分地基于权重来缩放信号副本以获得缩放的信号副本。

I.如段落H所记载的方法,其中音频信号是多个音频信号中的一个音频信号,并且对多个信号中的相应的其它信号执行如段落H所记载的复制和缩放以接收所缩放的信号副本,多个信号与源位置相对应。

J.如段落I所记载的方法,还包括:向经缩放的信号副本应用规范滤波器,该应用包括:对经缩放的副本求和;以及提供经缩放的副本的和作为对规范滤波器中的至少一个规范滤波器的输入。

K.如段落I或段落J所记载的方法,还包括:用规范滤波器中的单独的规范滤波器、相应的规范滤波器或每个规范滤波器对经缩放的副本的和进行卷积,以获得经滤波的音频信号;以及对经滤波的音频信号求和,以获得所传播的音频信号。

L.如段落A,J或K中的任一段所记载的方法,其中规范滤波器与对应的滤波器参数一致并且满足以下属性:通过插值规范滤波器的任何两个规范滤波器而获得的滤波器与两个规范滤波器之间的中间滤波器参数一致;并且当插值权重单调地改变时,中间参数单调地变化。

M.如段落A或J至L中的任一段所记载的方法,其中规范滤波器包括被变换成频域并且具有固定特性的至少一个滤波器。

N.一种设备,包括:一个或多个处理单元;其上存储有模块的计算机可读介质,该模块包括:编码模块,其被配置成参数化环境的脉冲响应场以获得参数化的脉冲响应场;解码模块,其被配置成:接收信号传输位置和信号接收器位置;以及从参数化的脉冲响应场中解码参数以获得所解码的参数,该解码部分地基于信号传输位置和信号接收器位置,并且所解码的参数与信号接收器位置处的环境的脉冲响应的感知特征相对应;以及渲染模块,其被配置成将滤波器应用于要从信号传输位置传播到信号接收器位置的信号,该应用至少部分地基于所解码的参数。

O.如段落N所记载的设备,其中脉冲响应场的幅度至少部分地基于以下各项的至少一项而变化:脉冲传输位置、接收位置、或时间。

P.如段落N所记载的设备,渲染模块还被配置成至少部分地基于所解码的参数来计算权重;至少部分地基于权重来缩放信号以获得经缩放的信号;并且用滤波器对经缩放的信号进行卷积。

Q.如段落P所记载的设备,其中由权重缩放的滤波器的和与所解码的参数一致。

R.如段落N至Q中的任一段所记载的设备,渲染模块还被配置成至少部分地基于解码的参数来计算权重;至少部分地基于权重来缩放滤波器以获得经缩放的滤波器;并且用信号对经缩放的滤波器进行卷积。

S.一种或多种计算机可读介质,存储有计算机可执行指令,该计算机可执行指令当在一个或多个处理器上执行时配置计算机以执行包括以下各项的动作:模拟环境中的第一时变压力场,第一时变压力场至少部分地基于从环境中的第一位置发射的脉冲;模拟环境中的第二时变压力场,第二时变压力场至少部分地基于从环境中的第二位置发射的脉冲;以及对第一时变压力场和第二时变压力场进行编码以获得所编码的参数场,该编码包括:从第一时变压力场提取第一参数场;以及从第一时变压力场提取第二参数场。

T.如段落S所记载的计算机可读介质,其中动作还包括:接收信号和第三位置,第三位置表示环境中的接收器的位置;在与第三位置相对应的编码的参数场中的位置处解码经编码的参数场,以接收经解码的参数;至少部分地基于经解码的参数来计算权重,该权重与经解码的参数一致;加权信号以接收经加权的信号,该经加权的信号将规范滤波器应用于经加权的信号以接收所传播的信号,并且播放所传播的信号。

U.如段落S或T所记载的计算机可读介质,其中动作还包括:将第二参数场级联到第一参数场以获得经级联的参数场;以及将经级联的参数场压缩为经编码的参数场,以获得经编码的参数场;

V.如段落S至U中的任一段所记载的计算机可读介质,其中参数的时间隐式从第一时变压力场和第二时变压力场中移除至少一个维度。

W.一种用于可听化的方法,包括:接收多个配对,这些配对包括与各个音频信号相对应的音频信号和声学参数;以及通过将规范滤波器的集合的加权线性组合应用于音频信号来对音频信号的声学参数进行可听化,这些规范滤波器包括固定滤波器,并且接收和可听化被进行使得固定滤波器的数量不随着音频信号的数目增加而增加。

结论

尽管以结构特征和/或方法动作专用的语言描述了主题,但是应当理解,所附权利要求中定义的主题不一定限于所描述的特定特征或动作。相反,特定特征和步骤作为实现权利要求的示例形式而被公开。

上文所描述的所有方法和过程可以体现在由一个或多个通用计算机或处理器执行的软件代码模块中,并且经由这些软件代码模块完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其它计算机存储设备中。一些或所有方法可以可替代地在专用计算机硬件中体现。

除非另有具体说明,否则诸如“可以(can)”、“可以(could)”,“可以(may)”或“可以(may)”之类的条件语言在情景中被理解为呈现某些示例包括,而其它示例不包括,某些特征、元件和/或步骤。因此,这样的条件语言通常不旨在暗示某些特征、元件和/或步骤以任何方式对于一个或多个示例而言是必需的,或者一个或多个示例必然包括用于在有或没有用户输入或提示的情况下,某些特征、元件和/或步骤是否包括在或将在任何特定示例中执行。

除非另有明确说明,诸如短语“X、Y或Z中的至少一个”的连续语言要被理解为表示项、术语等可以是X、Y或Z、或其组合。

本文中所描述的和/或附图中所描绘的流程图中的任何例行描述、元素或方框应当被理解为潜在地表示包括用于实现例程中的特定逻辑功能或元素的一个或多个可执行指令的代码的模块、区段或部分。备选实现方式包括在本文所描述的示例的范围内,其中元件或功能可以被删除,或者不以所示出或讨论的顺序被执行,包括基本上同步地或以相反的顺序执行,其取决于本领域技术人员所理解的所涉及的功能性。

应当强调,可以对上述示例进行许多变化和修改,其元素要被理解为在其它可接受的示例中。所有这些修改和变化旨在被包括在本公开的范围内并且由所附权利要求来进行保护。

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