3D沉浸式空间音频系统和方法与流程

文档序号:12143700阅读:708来源:国知局
3D沉浸式空间音频系统和方法与流程



背景技术:

在许多情况下,需要生成声场,该声场包括与信号源(其可以是虚拟源)在声场内的位置有关的信息。这种信息导致听者认为信号是源于虚拟源的位置,即,认为信号源于在三维空间中相对于听者的位置的位置。例如,为了向观众提供更为身临其境、现实的体验,可以用环绕声输出伴随电影的音频。进一步的示例发生在计算机游戏的场景(context)中,其中,输出至用户的音频信号包括空间信息,从而使用户认为音频并非来自扬声器,而是来自在三维空间中的(虚拟)位置。

例如可以通过使用耳机扬声器来将包含空间信息的声场传递至用户,通过该耳机扬声器来接收双耳信号。双耳信号包括足够的信息来重新创建包围一个或者多个虚拟信号源的虚拟声场。在这种情况下,例如为了保持音频和视频的关系(例如,同步性、一致性等),需要考虑用户的头部移动以维持稳定的声场。响应于用户埋头,无法维持稳定的声场或者音频场可能例如导致用户认为虚拟源(诸如,汽车)飞入了空中。但是,更常见的情况是,无法考虑用户的头部移动会使源位置变成在用户的头部内。



技术实现要素:

为了提供对本公开的一些方面的基本理解,本发明内容以简化形式介绍了对概念的选择。本发明内容不是本公开的广泛概述,而且并不旨在识别本公开的关键元素或者至关重要的元素或者描绘本公开的范围。本发明内容仅仅呈现本公开的概念中的一些概念,作为下述具体实施方式的前言。

本公开大体上涉及用于信号处理的方法和系统。更具体地,本公开的方面涉及处理包含空间信息的音频信号。

本公开的一个实施例涉及一种用于向用户提供三维空间音频的方法,该方法包括:将来自在虚拟扬声器环境中的音频源的音频信号输入编码为声场格式,从而生成声场数据;基于采集的与用户的移动相关联的移动数据来使声场围绕用户动态旋转;利用一个或者多个动态音频滤波器来处理编码的音频信号;将声场数据解码成一对双耳空间声道;以及将该一对双耳空间声道提供至用户的耳机装置。

在另一实施例中,用于提供三维空间音频的方法进一步包括:基于用户所在的虚拟环境的参数,利用动态房间效果来处理声源。

在另一实施例中,在用于提供三维空间音频的方法中的利用一个或者多个动态音频滤波器来处理编码的音频信号进一步包括:考虑来自周围虚拟扬声器环境的人体听觉提示。

在又一实施例中,用于提供三维空间音频的方法进一步包括:将在空间上记录的房间脉冲响应参数化为方向分量和漫射分量。

在又一实施例中,用于提供三维空间音频的方法进一步包括:处理方向分量和漫射分量以生成数对解相关的漫射混响踪迹滤波器(pairs of decorrelated,diffuse reverb tail filters)。

在另一实施例中,用于提供三维空间音频的方法进一步包括:通过利用声学响应的随机性来对解相关的漫射混响踪迹滤波器进行建模,其中,声学响应包括房间脉冲响应。

本公开的另一实施例涉及一种用于向用户提供三维空间音频的系统,该系统包括至少一个处理器和非暂时性计算机可读介质,该非暂时性计算机可读介质耦合至该至少一个处理器,在该非暂时性计算机可读介质上存储有指令,该指令在由该至少一个处理器执行时使该至少一个处理器:将来自在虚拟扬声器环境中的音频源的音频信号输入编码为声场格式,从而生成声场数据;基于采集的与用户的移动相关联的移动数据来使声场围绕用户动态旋转;利用一个或者多个动态音频滤波器来处理编码的音频信号;将声场数据解码成一对双耳空间声道;以及将该一对双耳空间声道提供至用户的耳机装置。

在另一实施例中,进一步使在用于提供三维空间音频的系统中的至少一个处理器:基于用户所在的虚拟环境的参数,利用动态房间效果来处理声源。

在另一实施例中,进一步使在用于提供三维空间音频的系统中的至少一个处理器:在维持来自周围虚拟扬声器环境的声学提示的同时使声场围绕用户动态旋转。

在又一实施例中,进一步使在用于提供三维空间音频的系统中的至少一个处理器:从用户的耳机装置采集与用户的移动相关联的移动数据。

在又一实施例中,进一步使在用于提供三维空间音频的系统中的至少一个处理器:在考虑来自周围虚拟扬声器环境的人体听觉提示的同时利用一个或者多个动态音频滤波器来处理编码的音频信号。

在另一实施例中,进一步使在用于提供三维空间音频的系统中的至少一个处理器:将在空间上记录的房间脉冲响应参数化为方向分量和漫射分量。

在又一实施例中,进一步使在用于提供三维空间音频的系统中的至少一个处理器:处理方向分量和漫射分量以生成数对解相关的漫射混响踪迹滤波器。

在又一实施例中,进一步使在用于提供三维空间音频的系统中的至少一个处理器:通过利用声学响应的随机性来对解相关的漫射混响踪迹滤波器进行建模,其中,声学响应包括房间脉冲响应。

在一个或者多个实施例中,本文所描述的方法和系统可以可选地包括以下附加特征中的一个或者多个:在维持来自周围虚拟扬声器环境的声学提示的同时使声场围绕用户动态旋转;从用户的耳机装置采集与用户的移动相关联的移动数据;将在虚拟扬声器环境中的每个音频源作为单输入声道连同音频源的球面坐标位置矢量一起输入;和/或球面坐标位置矢量识别在虚拟扬声器环境中音频源相对于用户的位置。

本文所公开的处理器和存储系统中的一些或者全部的实施例也可以配置为执行上面所公开的方法实施例中的一些或者全部。上面所公开的方法中的一些或者全部的实施例也可以表示为体现在诸如光学存储器或者磁存储器等暂时性或者非暂时性处理器可读存储介质上的指令,或者表示为经由诸如互联网或者电话连接等通信网络提供至处理器或者数据处理装置的传播信号。

本公开的方法和系统的应用性的进一步的范围通过下面给出的具体实施方式将变得显而易见。然而,应该理解,具体实施方式和具体示例在指示方法和系统的实施例时仅仅以举例的方式被给出,因为对本领域的技术人员而言,在本文所公开的概念的精神和范围内的各种变化和修改通过本具体实施方式将变得显而易见。

附图说明

结合随附权利要求书和附图,通过对以下具体实施方式的研究,对于本领域的技术人员而言,本公开的这些和其它目标、特征和特性将变得显而易见。在附图中:

图1是示出了根据本文所描述的一个或者多个实施例的在用于向用户提供三维沉浸式空间音频的示例系统中的虚拟源的示意图,该虚拟源包括单音频输入和描述了该源相对于用户位置的位置矢量。

图2是示出了根据本文所描述的一个或者多个实施例的用于向用户提供三维沉浸式空间音频的示例方法和系统的框图。

图3是示出了根据本文所描述的一个或者多个实施例的用于将系统操作为向用户提供三维沉浸式空间音频的示例类数据和组件的框图。

图4是示出了根据本文所描述的一个或者多个实施例的在双耳响应分解期间创建的示例滤波器的示意图。

图5是示出了根据本文所描述的一个或者多个实施例的示例响应测量连同对漫射性的分析的图示。

图6是示出了根据本文所描述的一个或者多个实施例的用于向用户提供三维沉浸式空间音频的示例方法的流程图。

图7是示出了根据本文所描述的一个或者多个实施例的设置为向用户提供三维沉浸式空间音频的示例计算装置的框图。

本文所提供的标题仅仅是为方便而设,并且并不一定会影响本公开所要求的范围或者含义。

在附图中,为了易于理解并且为了方便起见,相同的参考数字和任何首字母缩略词识别具有相同的或者相似的结构或者功能的元件或者动作。在以下具体实施方式期间将详细描述附图。

具体实施方式

现在将描述本公开的方法和系统的各种示例和实施例。以下描述为透彻地理解这些示例并且实现这些示例提供了具体细节。然而,相关领域的技术人员要理解,在没有这些细节中的许多细节的情况下,也可以实践本文所描述的实施例中的一个或者多个实施例。同样,相关领域的技术人员也要理解,本公开的一个或者多个实施例可以包括本文并未详细描述的其它特征。另外,下面可能没有详细地示出或者描述一些已知的结构或者功能,从而避免不必要地模糊相关描述。

除了避免可能的负面用户体验(诸如,上述用户体验)之外,维持稳定的声场引起音频场的更有效的外部化,或者,换言之,更有效地产生音频源在听者的头部外部并且声场包括位于可控位置处的源的感觉。同样,显然需要对生成的声场进行修改以补偿用户移动,诸如,例如,用户的头部围绕x轴、y轴和/或z轴的旋转或者移动(当使用笛卡尔(Cartesian)系统来表示空间时)。

这个问题可以通过以下来解决:使用头部追踪装置来检测头部定向的变化,并且每当检测到变化时,计算(多个)虚拟源相对于用户的新位置,并且为新的虚拟源位置重新计算三维声场。然而,这种方法在计算上很昂贵。由于大多数应用(诸如,计算机游戏场景)包括多个虚拟源,高计算成本使得这种方法不可行。此外,这种方法必须使用由每个虚拟源产生的原始信号以及每个虚拟源的当前空间位置,这也可能会导致附加计算负担。

对根据用户移动使声场旋转或者摇摄的问题的现有解决方案包括使用振幅摇摄声源。然而,由于这种现有方法忽视了重要的信号特性(诸如,直达混响声能比、细微头部移动、和具有不正确的波前曲率的声学视差),所以这种现有方法导致声场包含受损的距离提示。此外,由于这些现有解决方案必须处理次优扬声器放置,所以这些现有解决方案也产生了受损的方向定位精确度。

维持稳定的声场加强了音频源在听者的头部外部的感觉。该过程的有效性极具技术挑战性。已经识别到的一个重要因子在于,即使很小的、无意识的头部移动也有助于解决前后混淆。在双耳收听的过程中,当使用非个性化的HRTF(头部相关传输功能)时,该问题最常发生。这时,通常难以区分虚拟声源在头部的前面还是后面。

因此,本公开的实施例涉及用于向用户提供(例如,传递、产生等)三维沉浸式空间音频的方法和系统。例如,根据至少一个实施例,可以经由用户所佩戴的耳机装置将三维沉浸式空间音频提供至用户。如下面更详细地描述的,本公开的方法和系统被设计为在用户(听者)的耳朵处重新创建自然发声的声场,包括针对高度和深度知觉的提示。在许多其它潜在用途和应用当中,本公开的方法和系统可以实施为虚拟现实(VR)应用。

本公开的方法和系统被设计为在用户的耳朵处重新创建听觉环境。例如,根据至少一个实施例,该方法和系统(其可以基于各种数字信号处理技术,该各种数字信号处理技术通过使用例如处理器来实施,该处理器配置或者编程为根据来自程序软件的指令执行特定功能)可以配置为执行示例操作的以下非详尽清单:

(i)将输入音频信号编码为声场格式。这允许更大数量的源的有效呈现。

(ii)在维持所有房间(例如,环境)声学提示的同时使复杂的声场围绕用户动态旋转。根据至少一个实施例,可以通过从相关联的用户VR头盔采集到的用户移动数据来控制该动态旋转。

(iii)在考虑强调外部化的人体听觉提示的同时,利用数组高级动态音频滤波器来处理编码的音频信号。

(iv)将声场数据解码成一对双耳空间耳机声道。然后可以将这些双耳空间耳机声道馈送至用户的耳机,就像传统的左/右音频声道一样。

(v)利用动态房间效果来处理声源,该动态房间效果设计为模拟源-听者对所在的虚拟环境的参数。

根据至少一个实施例,本文所描述的音频系统使用非托管C++代码(native C++code)来提供最佳性能并且授权最广范围的目标平台。应该了解,代替或者除了C++之外,也可以使用其它编码语言。在这种情况下,所提供的方法和系统可以集成到,例如,插件形式的各种三维(3D)视频游戏开发环境中。

图1示出了在用于向用户提供三维沉浸式空间音频的示例系统和周围虚拟环境100中的虚拟源120。根据至少一个实施例,虚拟源120可以包括单音频输入信号和描述虚拟源120相对于用户115的位置矢量

图2是根据本文所描述的一个或者多个实施例的用于向用户提供三维沉浸式空间音频的示例方法和系统(200)。将在虚拟环境中的每个源作为单输入(205)声道连同描述在虚拟环境中该源相对于听者的位置的球面坐标源位置矢量(215)一起输入。

上述图1示出了如何将在示例系统200中的输入(205和215),即,单输入声道205和球面坐标源位置矢量215,与虚拟源(例如,在图1所示的示例中的虚拟源120)相关。

在图2中,M表示在任何一个时间被系统和方法渲染的活动源的数量。根据至少一个实施例,框210(距离效果)、220(HOA摇摄)、225(HRIR(头部相关脉冲响应)卷积)、235(RIR(房间脉冲响应)卷积)、和245(下混音)中的每一个表示在系统200中的处理步骤,而框230(无回声方向IR)和240(混响环境IR)表示动态脉冲响应,该动态脉冲响应可以是预先记录的并且用作至系统200的进一步的输入。系统200配置为生成双声道双耳输出(250)。

以下描述提供了关于在根据本文所描述的一个或者多个实施例的用于向用户提供三维沉浸式空间音频的示例系统中的一个或者多个组件的细节。然而,应该理解,该一个或者多个其它组件也可以包括在这种系统中:除了所描述的示例组件中的一个或者多个之外或者而不是所描述的示例组件中的一个或者多个。

编码器组件

根据至少一个实施例,将M个输入单源(205)编码为声场格式,从而使该M个输入单源可以绕听者摇摄和空间化。在系统(例如,图2中所示的系统200)内,为发出声音的每个虚拟对象创建类环绕声源(AmbisonicSource)(315)的实例,如在图3中所示的示例类图300中所示的。该对象然后注意距离效果、环绕声声道中的每一个的增益系数、记录当前源位置、和源音频的“playing(播放)”。

摇摄组件

核心类(本文称为环绕声渲染器(AmbisonicRenderer)(320))可以包含用于渲染每个环绕声源(315)的过程中的一个或者多个。同样,环绕声渲染器(320)类可以配置为执行,例如,摇摄(例如,Pan())、卷积(例如,Convolve())、混响(例如,Reverb())、下混音(例如,Downmix())、以及各种其它操作和过程。在以下部分中提供关于摇摄、卷积和下混音过程的附加细节。

根据本公开的至少一个实施例,摇摄过程(例如,在环绕声渲染器(320)类中的Pan())配置为将每个环绕声源正确地放置在听者周围,从而使这些听觉位置与在VR场景中的“视觉”位置完全匹配。在该确定中使用来自VR对象位置和听者位置/定向的数据。在一个示例中,在正在使用这种装置的情况下,可以通过VR头盔部分地更新听者位置/定向数据。

考虑到头部旋转,摇摄操作(例如,函数)Pan()对在空间音频场景中的声道中的每一个进行加权。这些加权影响补偿的摇摄需要,以将系统的虚拟扬声器维持在静止位置,尽管听者的头部正在转动。除了头部旋转角度之外,也应该根据虚拟扬声器中的每一个的位置来抵消选择的增益系数。

卷积组件

根据本文所描述的一个或者多个实施例,系统的卷积组件被封装在分开的卷积器类(partitioned convolver class)325中(在图3所示的示例类图300中)。待实施的每个滤波器需要可以配置为在本质上处理所有缓冲和域变换的该类的实例。该模块化特征允许对卷积引擎进行优化和改变,而不需更改系统的剩余部分中的任何部分。

可以预先记录在系统中使用的空间化滤波器中的一个或者多个,从而允许仔细选择HRIR距离以及确保不存在记录过程期间允许的头部移动的能力,与具有一些公开可用的HRIR数据集的情况一样。进一步地,也已经在被认为十分适合提供包括房间脉冲响应的早期的、方向的部分的基本外部化提示的情况下记录了在本文所描述的示例系统中使用的HRIR。将环绕声声道中的每一个与对应的虚拟扬声器的脉冲响应对进行卷积。对该对卷积的需要是由于双耳输出的创建以通过耳机收听。因此,每个扬声器需要两个脉冲响应,或者换言之,用户的每只耳朵需要一个脉冲响应。

混响组件

根据本文所描述的一个或者多个实施例,系统所应用的混响效果被声音设计师通过使用与本公开的方法和系统相关联的API设计为进行简单的更改。另外,混响效果还设计为自动响应在利用了系统的VR模拟中的环境条件的变化。早期反射和踪迹效果在系统中被分开处理。例如,可以利用具有与环境混响时间匹配的解相关的指数衰减滤波器的一对卷积来实施房间响应的混响踪迹。

下混音组件

在Downmix()函数/过程中,将虚拟扬声器声道下混音为一对双耳声道,一只耳朵有一个双耳声道。由于上述摇摄阶段(例如,关于Pan()函数/过程)已经考虑到对环绕声效果的每个声道的组合,所以下混音过程是非常直观的。也正是在该函数中将双耳混响声道与空间化耳机馈送混合在一起。

虚拟声卡

根据本文所描述的一个或者多个实施例,本公开的3D虚拟音频系统的互补特征/组件可以是虚拟5.1声卡,该虚拟5.1声卡用于捕捉和呈现来自例如视频游戏、电影和/或通过计算装置传递的其它媒体的传统5.1环绕声输出。一旦已经获取到音频,就可以对其进行渲染。

作为本文所描述的系统和方法的示例用途,输出音频的软件通常检测音频端点装置的能力,并且因此根据采样率和声道配置设置其音频格式。为了使系统与现有播放软件一起运行,必须呈现端点,该端点至少提供能够输出环绕声音频的错觉。虽然对此的一个解决方案需要在用户的机器中呈现支持物理环绕声的硬件,但是这可能引起用户的附加开支(取决于其系统),或者,在便携式计算机中,可能是不切合实际的或者甚至是不可能实现的。

同样,根据本文所描述的至少一个实施例,对此问题的解决方案是在不具有任何硬件要求的操作系统中实施虚拟声卡。从用户的角度看,这实现了与硬件和软件配置的最大兼容性,因为软件满足了输出环绕声并且用户的系统无须满足任何深奥的硬件要求。可以按照本领域的技术人员所知的直观方式来实施虚拟声卡。

音频采集

根据一个实施例,可以通过使用现有应用编程接口来进行在软件和硬件之间的音频数据的通信。当这种API正在音频缓冲器之间移动并且被发送至输出端点时,其授予对音频数据的访问权限。为了获得对数据的访问权限,必须使用客户端接口对象,该客户端接口对象与感兴趣的音频装置链接。利用这种客户端接口对象,可以调用相关联的服务。这允许程序设计员检索在特定会话中传送的音频分组。可以在输出这些分组之前对这些分组进行修改,或者将这些分组整体地传递至另一音频装置。在这种情况下,感兴趣正是后一种应用。向虚拟音频装置发送环绕声音频,该环绕声音频由音频捕捉客户端捕捉并且然后被带入音频处理引擎中。系统的虚拟音频装置可以配置为将例如六个输出声道提供至操作系统,该操作系统将自身识别为5.1音频装置。在一个示例中,无论哪一个媒体或者游戏应用正在产生声音,都向这六个声道发送16比特、44.1kHz的音频。当前述音频捕捉客户端接口截获该音频时,返回一定数量的音频“帧”。

房间脉冲响应的参数化

根据本公开的一个或者多个实施例,提供了一种通过将在空间上记录的房间脉冲响应(例如,SRIR)参数化为方向分量和漫射分量来进行方向分析和漫射性估计的方法。漫射子系统用于形成在运行时间应用于源音频信号的两个解相关的滤波器内核。该方法假设房间效果的方向分量已经包含在双耳房间脉冲响应(BRIR)中或者被分开建模。

图4示出了根据本文所描述的一个或者多个实施例的可以在双耳响应分解过程期间被创建的示例滤波器。残差和公因子的卷积将恢复原始双耳响应总体来说,可以用三个短卷积(如在示例布置450中所示)代替两个大卷积(如在示例布置400中所示)。

漫射性估计方法是基于瞬时声强矢量的时间-频率推导,该瞬时声强矢量描述了声能在特定方向上的当前流动:

I(t)=p(t)u(t), (1)

其中,I(t)表示声强,p(t)是声压,并且u(t)是粒子速度。重要的是要注意,I(t)和u(t)是分量作用在x方向、y方向和z方向上的矢量。环绕声B格式(B-Format)信号可以由一个全向分量(W)和三个方向分量(X、Y和Z)组成,该一个全向分量(W)可以用于估计声压,该三个方向分量(X、Y和Z)可以用于估算在所需方向x、y和z上的声速:

p(t)=w(t) (2)

以及

其中,i、j和k是笛卡尔单位矢量,x(t)、y(t)和z(t)是第一阶环绕声信号,并且Z0是对空气的比声阻抗。

因此,可以将利用B格式信号估算得到的在频域中的瞬时声强矢量表示为:

其中,W(ω)和U(ω)是w(t)和u(t)时域信号的短时傅里叶变换(STFT),并且*表示复共轭。矢量I(ω)的方向与声能的流动方向对应。这就是为什么可以假设平面波源可以在-I(ω)方向上。然后可以如下计算到达的水平方向:

以及垂直方向:

其中,Ix(ω)、Iy(ω)和Iz(ω)分别是在x、y和z方向上的矢量分量。

现在,为了能够从B格式空间房间脉冲响应(Spatial Room Impulse Response(SRIR))提取方向部分,可以估计漫射系数,该漫射系数由称为总能量密度的短时平均强度的大小给出:

随后基于等效矩形带(Equivalent Rectangular Bands(ERB))对分析输出进行频谱平滑。SRIR的漫射和非漫射部分的提取是通过分别将B格式信号乘以ψ(ω)和来进行的。

在以下示例中,为了完成真实的漫射响应,已经对全SRIR进行了处理。通过使用声场麦克风测量到在大教堂中使用的SRIR离声源32米(m)。

为了提供最佳结果,在分析中,不同的SRIR可能需要不同的参数值。虽然还未提出对方向分析的有效性的估计方法,但是有人建议可以通过试听来验证产生的SRIR。到目前为止,在开发期间已经通过非正式收听定义了所有漫射性估计参数值(诸如,例如,用于时间平均的时间窗口的长度、时频分析的参数等)。然而,应该注意,根据本公开的一个或者多个实施例,可以使用更多高级方法来确定最佳参数值,诸如,例如,正式收听测试和/或听觉建模。

根据本文所公开的一个或者多个实施例,可以将对方向分析参数的概述、其对分析输出的影响、以及可能听到的假象列成表格(例如,追踪、记录等)。例如,下面呈现的表1包括与人类听觉的积分最匹配的参数的示例选择。具体地,表1的内容包括用于计算在不同频带处的漫射估计的示例平均窗口长度。

表1

图5示出了产生的SRIR的全W分量连同随时间的频率平均漫射性估计值。方向分量提取的成功过程的良好指示可以是:漫射性估计在RIR的早期部分中较低并且在后来增长。

漫射混响踪迹预处理

因为上述漫射估计的W、X、Y和Z声道通常不会携载重要的方向信息,所以本公开的方法和系统利用漫射估计的声道来形成左右解相关值。根据至少一个实施例,通过使用这种技术,心形指向麦克风(cardioid microphone)(例如,Mid或者M)正面向前(可选地,可以用全向麦克风代替),并且将双向麦克风(例如,Side或者S)指向侧面,从而使其截止带(rejection zone)刚好在前面。在M-S中,例如通过使M信号和S信号矩阵化来创建立体声像,这是因为,为了利用这种技术来导出立体输出信号,需要简单的解码矩阵:

L=M+gS (8)

R=M-gS (9)

使用分区卷积的实时实施方式

如通过HRTF卷积执行的方向滤波一样,通过与适当的滤波器卷积来产生混响效果。为了适应对混响空间进行建模所需的本身很长的滤波器,使用根据本公开的一个或者多个实施例的分区卷积系统和方法。例如,该系统将混响脉冲响应分段为可以及时顺序处理的多个块。每个脉冲响应分区在长度上是统一的并且与来自相同长度的输入流的块结合。一旦输入块已经与脉冲响应分区进行了卷积并输出,将其转移至下一个分区并且再进行一次卷积,直到到达脉冲响应的末尾。这将输出延迟从脉冲响应的总长度减小到单个分区的长度。

利用声学响应的随机性

在记录的SRIR不可用的情况下,可以通过利用声学响应的随机性来对漫射混响滤波器进行建模。考虑房间脉冲响应的以下模型。设p[n]为长度N(其中,“N”是任意数)的随机信号矢量,该矢量的条目与随机多项式的系数对应。将这种信号与同样具有长度N的衰减指数窗w[n]=e-βn点法相乘(point wise multiply)。因此可以将房间脉冲响应建模为:

其中,是矢量的Hadamard积。

混响时间RT60是RIR的60dB衰减时间。在模型信号的情况下,这可以容易地从包络w[n]推导出并且可以通过对下式求解来获得:

以得到

可以推断出,p[n]的根绕单元圆均匀地聚集。即,其大小具有为1的预期值。同样,通过z变换的性质,

因此,将P(z)的根的大小按照因子eβ缩放以成为H(z)的根,其中,zn,n∈[1,...,N]是H(z)的根。同样:

因此,如果从根大小的平均值将常数β估计为:

其中,zn,n∈[1,...,N]是h[n]的根,则可以将混响时间写为:

这仅仅取决于给定响应的根的大小。

上述方法解决了跨频率的恒定混响时间。然而,在现实世界中,声学信号很少有这种情况。按照根唯一的方式考虑RIR允许非常容易地估计在任何恒定的或者变化的宽度的任何一组频带中的混响时间。所有必须做的是:仅通过利用在与至对应的ω1和ω2弧度之间的幅角对根进行计数,来相应地修改等式(16),其中,FsHz是采样频率。这可以用如下公式表达:

因此,由此对在临界频带内的RT60的估计是可能的。

从傅里叶级数的观点看RIR的踪迹,人们可以预期其像随机噪声一样出现,在每个频率处具有正弦曲线,根据正态分布缩放,并且分别依次具有随机分布的相位。出于这种考虑,可以将声学脉冲响应的踪迹近似地重新构造为正弦曲线的随机缩放和,其中,在每个临界频带中的衰减等于真实RIR的衰减。总体来说,这提供了一种可靠的RIR踪迹模拟方法。

设sf为具有频率f Hz和随机相位的正弦波。设α~N(0,1)为具有高斯分布、零平均值和标准偏差为1的随机变量。因此,可以定义出如下序列:

该序列是随机缩放正弦曲线之和。考虑到许多这种求和的项,r本质上是具有平带有限频谱和像随机多项式的根一样分布的根的随机矢量。

然后可以创建第二序列(表示为rscale):

其中,表示Hadamard积,并且β的选择是为了向衰减包络e-βt赋予给定的RT60。然后可以针对每个临界频带(或者任何其它频带)修改该值,以产生具有与频率有关的RT60的模拟响应踪迹。然后可以使用上述基于根的RT60估计方法来验证这种模拟踪迹的根行为与真实RIR的根行为匹配。

图6示出了根据本文所描述的一个或者多个实施例的用于向用户提供三维沉浸式空间音频的示例过程(600)。

在框605中,可以将输入音频信号编码为声场格式,从而生成声场数据。例如,根据本公开的至少一个实施例,可以将在围绕用户创建的虚拟扬声器环境中的每个音频源(例如,声源)作为单输入声道连同声源的球面坐标位置矢量一起输入。声源的球面坐标位置矢量识别在虚拟扬声器环境中声源相对于用户的位置。

在框610中,可以基于采集的与用户的移动(例如,头部移动)相关联的移动数据来使声场围绕用户动态旋转。例如,根据至少一个实施例,在维持外部环境的声学提示的同时使声场围绕用户动态旋转。另外,例如,可以从用户的耳机装置采集与用户的移动相关联的移动数据。

在框615中,可以通过使用一个或者多个动态音频滤波器来处理编码的音频信号。可以在考虑环绕用户的外部环境的人体听觉提示的同时,执行对编码的音频信号的处理。

在框620中,可以将声场数据(例如,在框605中生成的)解码为一对双耳空间声道。

在框625中,将该一对双耳空间声道提供至用户的耳机装置。

根据本文所描述的一个或者多个实施例,用于向用户提供三维沉浸式空间音频的示例过程(600)还可以包括:基于用户所在的虚拟扬声器环境的参数,利用动态房间效果来处理声源。

图7是设置为根据本文所描述的一个或者多个实施例的向用户提供三维沉浸式空间音频的示例计算机(700)的高级框图。例如,根据至少一个实施例,计算机(700)可以配置为在用户的耳朵处重新创建自然发声的声场,包括针高度和深度知觉的提示。在非常基本的配置(701)中,计算装置(700)通常包括一个或者多个处理器(710)和系统存储器(720)。存储器总线(730)可以用于在处理器(710)和系统存储器(720)之间进行通信。

根据所需配置,处理器(710)可以具有任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)、或者它们的任何组合。处理器(710)可以包括一级或者多级缓存(诸如,一级缓存(711)和二级缓存(712))、处理器核心(713)、和寄存器(714)。处理器核心(713)可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP核心)、或者它们的任何组合。存储控制器(715)也可以与处理器(710)一起使用,或者在某些实施方式中,存储控制器(715)可以是处理器(710)的内部部件。

根据所需配置,系统存储器(720)可以具有任何类型,包括但不限于易失性存储器(诸如,RAM)、非易失性存储器(诸如,ROM、闪存等)、或者它们的任何组合。系统存储器(720)通常包括操作系统(721)、一个或者多个应用(722)、和程序数据(724)。应用(722)可以包括根据本文所描述的一个或者多个实施例的用于向用户(723)提供三维沉浸式空间音频的系统,该系统可以配置为在用户的耳朵处重新创建自然发声的或者认为等效的声场,包括对高度和深度知觉的提示。

程序数据(724)可以包括存储指令,该指令在由一个或者多个处理装置执行时实施用于向用户提供三维沉浸式空间音频的系统(723)和方法。另外,根据至少一个实施例,程序数据(724)可以包括空间位置数据(725),该空间位置数据(725)可以与关于扬声器在给定设置中的物理位置的数据相关。根据至少一些实施例,应用(722)可以设置为与程序数据(724)一起在操作系统(721)上运行。

计算装置(700)可以具有附加特征或者功能、和利于在基础配置(701)与任何所需装置和接口之间的通信的附加接口。

系统存储器(720)是计算机存储介质的示例。该计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或者其它存储技术、CD-ROM、数字多用盘或者其它光学存储装置、磁带盒、磁带、磁盘存储装置或者其它磁存储装置、或者可以用于存储所需信息并且可以由计算装置700访问的其它介质。任何这种计算机存储介质可以是装置(700)的部分。

计算装置(700)可以实施为小型便携式(或者移动)电子装置的一部分,诸如,蜂窝电话、智能电话、个人数字助理(PDA)、个人媒体播放器装置、平板计算机(平板电脑)、无线网页观看装置、个人头戴式装置、专用装置、或者混合装置,它们包括上述功能中的任何一种。计算装置(700)也可以实施为个人计算机,包括膝上型计算机和非膝上型计算机配置。

前述详细描述已经经由框图、流程图和/或示例的使用陈述了装置和/或过程的各种实施例。由于这种框图、流程图和/或示例包含一种或者多种功能和/或操作,本领域的技术人员要理解,可以通过大范围的硬件、软件、固件、或者它们的几乎所有组合单独地和/或共同地实施在这种框图、流程图和/或示例内的每种功能和/或操作。根据至少一些实施例,本文所公开的主题的多个部分可以经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或者其它集成格式来实施。然而,本领域的技术人员要认识到,本文所公开的实施例的一些方面可以全部或者部分等效地实施在集成电路中,作为在一个或者多个计算机上运行的一个或者多个计算机程序,作为在一个或者多个处理器上运行的一个或者多个程序,作为固件,或者作为它们的几乎所有组合,并且鉴于本公开,对电路系统进行设计和/或编写软件和/或固件的代码也在本领域的技术人员的技术内。另外,本领域的技术人员要了解,本文所公开的主题的机制能够作为各种形式的程序产品而分布,并且,无论用于实际上执行该分布的非暂时性信号承载介质的具体类型是什么,本文所描述的主题的说明性实施例都同样适用。非暂时性信号承载介质的示例包括但不限于以下:可记录型介质,诸如,软盘、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)、数字磁带、计算机存储器等;以及传输型介质,诸如,数字和/或模拟通信介质(例如,光缆、波导、有线通信链路、无线通信链路等)。

对于在本文中使用的实质上任何复数形式和/或单数形式的术语,在适合上下文和/或应用时,本领域的技术人员可以从复数形式变换为单数形式并且/或者从单数形式变换为复数形式。为清楚起见,可以明确地陈述各种单数形式/复数形式置换。

由此,已经描述了本主题的具体实施例。其它实施例在以下权利要求书的范围内。在某些情况下,在权利要求书中叙述的动作可以按照不同的顺序来进行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定需要所示的特定顺序或者相继顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

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