用于创建音频场景的设备和方法

文档序号:6656095阅读:323来源:国知局
专利名称:用于创建音频场景的设备和方法
技术领域
本发明总体上涉及用于创建音频场景的设备和方法,并且具体地但决不是专门地应用于创建虚拟环境的音频场景。
背景技术
近年来在创建视觉沉浸式虚拟环境方面已取得显著的进步。这些进步已经导致了大规模多玩家角色扮演游戏的广泛应用,在这种游戏中参与者可以进入公共的虚拟环境(如战场),并在虚拟环境中由化身来代表,化身通常采用动画人物的形式。在采用战场形式的虚拟环境的情况下,化身可以是士兵。
视觉沉浸式虚拟环境的广泛应用部分地是由于图像处理技术的显著提高,图像处理技术使得可以生成非常详细并且逼真的图形虚拟环境。三维声卡的普及提供了在虚拟环境中向参与者提供高质量声音的能力。然而,尽管大量使用三维声卡,但是现在的视觉沉浸式虚拟环境通常不能为参与者提供逼真的机制以相互进行通信。许多环境使用诸如基于文本的聊天或步话机式话音的非沉浸式通信机制。
定义以下给出了对在本说明书中使用的各种术语的定义。
加权音频流-包括一条或更多条音频信息的音频信息,每条音频信息都具有基于源与音频信息的接受者之间距离而调节(增大或减小)的振幅。
非加权音频流-包括一条或更多条音频信息的音频信息,但是与加权音频流不同,在非加权音频流中各条音频信息的振幅与原始振幅相比是不经修改的。
音频场景-包括组合的多个声音(例如,属于虚拟环境内的其他化身和其他声音源的多个话音)的音频信息,空间地布置这些声音,并且可能根据源与声音的接受者之间距离来使这些声音衰减。音频场景可能还包括代表环境的声音特性的声音效果。

发明内容
根据本发明的第一方面,提供了一种用于为虚拟环境中的化身创建音频场景的设备,该设备包括音频处理器,其可进行操作以创建加权音频流,该加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频;和关联装置,其可进行操作以将所述加权音频流与表示所述听觉范围的所述部分在所述虚拟环境中的位置的数据关联起来,其中,所述加权音频流和所述数据表示所述音频场景。
根据本发明第一方面的设备具有几个优点。一个优点在于,通过将听觉范围分成一个或更多个部分,可以将音频场景的保真度调节到所需水平。听觉范围中的部分的数量越大,音频场景的保真度就越高。可以想像,本设备并不限于一个部分的单个加权音频流。事实上,本设备能够创建多个加权音频流,每个加权音频流都包括位于听觉范围的其他部分的对象的音频。本设备的另一个优点在于,加权音频流可以复制诸如由于在对象与接受者之间的传播距离而导致音频的衰减的特性。本发明的还一优点在于,可以将音频流再现成好像它是从该位置发出来的。由此,如果数据表示对象的位置是接受者的右手侧,则可以使用立体声音系统的右音道对该音频进行再现。
优选地,所述音频处理器还可进行操作以创建所述加权音频流,使得所述加权音频流包括未加权音频流,所述未加权音频流包括来自位于所述化身的所述听觉范围的所述部分内的另一对象的音频。
在加权音频流中包括未加权音频流的优点在于,提供了用于表示来自位于所述化身的所述听觉范围的所述部分周围的一个或更多个其他对象的音频的方法。未加权音频流的优点在于,可以对未加权音频流进行重用,以创建许多化身的音频场景,这可以减小用于创建音频场景的总处理需求。
优选地,所述音频处理器可进行操作以根据预定混合操作和权重信息来创建所述加权音频流,所述预定混合操作包括标识了所述对象和/或所述其他多个对象的标识信息,所述权重信息可以由所述音频处理器使用来设定所述加权音频流中的所述音频和所述未加权音频流的振幅。
优选地,所述设备还包括可进行操作以通过通信网络接收所述音频、所述未加权音频流以及所述混合操作的通信装置,所述通信装置还可进行操作以通过所述通信网络来发送所述加权音频流和所述数据。
使用该通信装置是有利的,因为它使得可以在分布式环境中使用所述设备。
根据本发明的第二方面,提供了一种可进行操作以为虚拟环境中的化身创建用于音频场景的音频信息的设备,该设备包括音频处理器,其可进行操作以创建未加权音频流,该未加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频;和关联装置,其可进行操作以将所述未加权音频流与表示所述对象在所述虚拟环境中的近似位置的数据关联起来,其中,所述未加权音频流和所述数据表示所述音频信息。
根据本发明第二方面的设备具有几个优点,其中两个优点类似于本发明的第一方面的上述第一和第二优点。
优选地,所述音频处理器可进行操作以根据预定混合操作来创建所述未加权音频流,所述预定混合操作包括标识了所述对象的标识信息。
优选地,所述设备还包括可进行操作以通过通信网络接收所述音频和所述预定混合操作的通信装置,所述通信装置还可进行操作以通过所述通信网络来发送所述未加权音频流和所述数据。
使用该通信装置是有利的,因为它使得可以在分布式环境中使用所述设备。
根据本发明的第三方面,提供了一种用于获得可以被用来为虚拟环境中的化身创建音频场景的信息的设备,该设备包括标识装置,其可进行操作以确定位于所述化身的听觉范围的一部分中的对象的标识符;加权装置,其可进行操作以确定待施加给来自所述对象的音频的权重;以及定位装置,其可进行操作以确定所述部分在所述虚拟环境中的位置,其中,所述标识符、所述权重以及所述位置表示可以被用来创建所述音频场景的所述信息。
由于以下几个原因,本发明的第三方面的获取权重和位置的能力是有利的。第一,可以使用权重来创建包括来自对象的音频的加权音频流。在这方面,当将音频插入加权音频流时,可以使用所述权重来设定该音频的振幅。第二,可以使用所述位置来对音频进行再现,就好像该音频来自该位置一样。例如,如果该位置表示对象的位置在接受者的右手侧,则可以使用立体声音系统的右音道来再现出该音频。
优选地,所述设备还包括通信装置,所述通信装置可进行操作以通过通信网络向多个系统中的一个发送所述标识符、所述权重以及所述位置,以进行处理。
使用该通信装置是有利的,因为它使得可以在分布式环境中使用所述设备。此外,它使得所述设备可以将所述标识符、所述权重以及所述位置发送给具有执行所需处理所需要的资源(处理能力)的系统。
优选地,所述通信装置还可进行操作以创建用于所述通信网络的择路信息,其中,所述择路信息是如下信息所述通信网络可以使用所述择路信息将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
能够提供择路信息是有利的,因为它使得所述设备可以在通信网络中有效地选择将用于传送音频的多个链路。
优选地,所述标识装置、所述加权装置以及所述定位装置可进行操作以通过对所述虚拟环境的表示进行处理来分别确定所述标识符、所述权重以及所述位置。
优选地,所述标识装置可进行操作以通过以下步骤来确定所述听觉范围的所述部分
选择所述虚拟环境中的多个化身中的第一化身;标识出所述多个化身中的最接近于所述多个化身中的所述第一化身的第二化身;确定是否可以将所述多个化身中的所述第二化身包括在已有群集中;当确定可以将所述多个化身中的所述第二化身包括在所述已有群集中时,将所述第二化身包括在所述已有群集中;当确定不能将所述多个化身中的所述第二化身包括在所述已有群集中时,创建包括所述多个化身中的所述第二化身的新群集,从而创建多个群集;确定所述多个群集中的两个群集之间的角间隙;创建基本上位于所述角间隙中的另一群集;以及将所述多个化身中的至少一个化身包括在所述另一群集中。
另选地,所述标识装置可进行操作以通过以下步骤来确定所述听觉范围的所述部分选择所述虚拟环境中的多个化身中的一个化身;确定从所述化身延伸到所述多个化身中的所述一个化身的辐射线;对所述多个化身中的每一个与所述辐射线的绝对角距进行计算;将所述多个化身中的每一个的所述绝对角距排列成升序列表;对所述升序列表中的所述多个绝对角距中的相继的绝对角距之间的差分角间隔进行计算;选择所述差分角间隔中的具有比其他差分角间隔更高的值的至少一个差分角间隔;以及确定从所述化身发出并将与所述差分角间隔中的所述至少一个相关联的所述多个化身中的两个化身等分的另一辐射线。
根据本发明的第四方面,提供了一种用于创建可以被用来为虚拟环境中的化身创建音频场景的信息的设备,该设备包括标识装置,其可进行操作以确定位于所述化身的听觉范围的一部分中的对象的标识符;和定位装置,其可进行操作以确定所述对象在所述虚拟环境中的近似位置,其中,所述标识符和所述近似位置表示可以被用来创建所述音频场景的所述信息。
确定对象的近似位置是有利的,因为可以使用该近似位置来再现来自该对象的音频,就好像所述音频是从所述位置发出的一样。
优选地,所述设备还包括通信装置,所述通信装置可进行操作以通过通信网络向多个系统中的一个发送所述标识符和所述位置,以进行处理。
使用该通信装置是有利的,因为它使得可以在分布式环境中使用所述设备。此外,它使得所述设备可以将所述标识符、所述权重以及所述位置发送给具有执行所需处理所需要的资源(处理能力)的系统。
优选地,所述通信装置还可进行操作以创建用于所述通信网络的择路信息,其中,所述择路信息是如下信息所述通信网络可以使用所述择路信息将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
能够提供择路信息是有利的,因为它使得所述设备可以在通信网络中有效地选择将用于传送音频的多个链路。
优选地,所述标识装置和所述定位装置可进行操作以通过对所述虚拟环境的表示进行处理来分别确定所述标识符和所述位置。
优选地,所述标识装置可进行操作以通过以下步骤来确定所述对象的所述近似位置将所述虚拟环境划分成多个单元格;和确定所述对象在所述多个单元格的一个单元格中的所处的位置。
根据本发明的第五方面,提供了一种用于为虚拟环境中的化身呈现音频场景的设备,该设备包括获取装置,其可进行操作以获取加权音频流和数据,所述加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频,所述数据与所述加权音频流相关联并表示所述听觉范围的所述部分在所述虚拟环境中的位置;和空间音频呈现引擎,其可进行操作以对所述加权音频流和所述数据进行处理,以呈现出所述音频场景。
根据本发明的第六方面,提供了一种用于为虚拟环境中的化身创建音频场景的方法,该方法包括以下步骤创建步骤,创建包括来自位于所述化身的听觉范围的一部分中的对象的音频的加权音频流;和关联步骤,将所述加权音频流与表示所述听觉范围的所述部分在所述虚拟环境中的位置的数据关联起来,其中,所述加权音频流和所述数据表示所述音频场景。
优选地,所述创建步骤使得所述加权音频流包括未加权音频流,所述未加权音频流包括来自位于所述化身的所述听觉范围的所述部分内的另一对象的音频。
优选地,根据预定混合操作和权重信息来执行所述创建步骤,所述预定混合操作包括标识了所述对象和/或所述其他多个对象的标识信息,所述权重信息可以由所述音频处理器使用来设定所述加权音频流中的所述音频和未加权音频流的振幅。
优选地,所述方法还包括以下步骤通过通信网络接收所述音频、所述未加权音频流以及所述混合操作;和通过所述通信网络来发送所述加权音频流和所述数据。
根据本发明的第七方面,提供了一种为虚拟环境中的化身创建用于音频场景的音频信息的方法,该方法包括以下步骤创建步骤,创建包括来自位于所述化身的听觉范围的一部分中的对象的音频的未加权音频流;和关联步骤,将所述未加权音频流与表示所述对象在所述虚拟环境中的近似位置的数据关联起来,其中,所述未加权音频流和所述数据表示所述音频信息。
优选地,根据预定混合操作来执行所述创建步骤,其中,所述预定混合操作包括标识了所述对象的标识信息。
优选地,所述方法还包括以下步骤通过通信网络接收所述音频和所述预定混合操作;和通过所述通信网络来发送所述未加权音频流和所述数据。
根据本发明的第八方面,提供了一种用于获得可以被用来为虚拟环境中的化身创建音频场景的信息的方法,该方法包括以下步骤第一确定步骤,确定位于所述化身的听觉范围的一部分中的对象的标识符;第二确定步骤,确定待施加给来自所述对象的音频的权重;以及第三确定步骤,确定所述部分在所述虚拟环境中的位置,其中,所述标识符、所述权重以及所述位置表示可以被用来创建音频场景的所述信息。
优选地,所述方法还包括以下步骤通过通信网络向多个系统中的一个发送所述标识符、所述权重以及所述位置,以进行处理。
优选地,所述方法还包括以下步骤创建用于所述通信网络的择路信息,其中,所述择路信息是如下信息所述通信网络可以使用所述择路信息将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
优选地,所述第一、第二以及第三确定步骤分别包括通过对所述虚拟环境的表示进行处理来确定所述标识符、所述权重以及所述位置的步骤。
优选地,所述方法还包括以下步骤以确定所述听觉范围的所述部分选择所述虚拟环境中的多个化身中的第一化身;标识出所述多个化身中的最接近于所述多个化身中的所述第一化身的第二化身;确定是否可以将所述多个化身中的所述第二化身包括在已有群集中;当确定可以将所述多个化身中的所述第二化身包括在所述已有群集中时,将所述第二化身包括在所述已有群集中;当确定不能将所述多个化身中的所述第二化身包括在所述已有群集中时,创建包括所述多个化身中的所述第二化身的新群集,从而创建多个群集;确定所述多个群集中的两个群集之间的角间隙;创建位于所述角间隙中的还一群集;以及将所述多个化身中的至少一个化身包括在所述还一群集中。
另选地,所述方法还包括以下步骤以确定所述听觉范围的所述位置选择所述虚拟环境中的多个化身中的一个化身;确定从所述化身延伸到所述多个化身中的所述一个化身的辐射线;对所述多个化身中的每一个与所述辐射线的绝对角距进行计算;将所述多个化身中的每一个的所述绝对角距排列成升序列表;对所述升序列中的所述绝对角距中的相继的绝对角距之间的差分角间隔进行计算;选择所述差分角间隔中的具有比其他差分角间隔更高的值的至少一个差分角间隔;以及确定从所述化身发出并将与所述差分角间隔相关联的所述多个化身中的两个化身等分的另一辐射线。
根据本发明的第九方面,提供了一种用于创建可以被用来为虚拟环境中的化身创建音频场景的信息的方法,该方法包括以下步骤第一确定步骤,确定位于所述化身的听觉范围的一部分中的对象的标识符;和第二确定步骤,确定所述对象在所述虚拟环境中的近似位置,其中,所述标识符和所述近似位置表示可以被用来创建所述音频场景的所述信息。
优选地,所述方法还包括以下步骤通过通信网络向多个系统中的一个发送所述标识符和所述位置,以进行处理。
优选地,所述方法还包括以下步骤创建用于所述通信网络的择路信息,其中,所述择路信息是如下信息所述通信网络可以使用所述择路信息将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
优选地,所述第一和第二确定步骤分别包括通过对所述虚拟环境的表示进行处理来确定所述标识符和所述位置的步骤。
优选地,所述方法还包括以下步骤以确定所述对象的所述近似位置将所述虚拟环境划分成多个单元格;和确定所述对象在所述多个单元格的一个单元格中的所处的位置。
根据本发明的第十方面,提供了一种用于为虚拟环境中的化身呈现音频场景的方法,该方法包括以下步骤获取加权音频流和数据,所述加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频,所述数据与所述加权音频流相关联并表示所述听觉范围的所述部分在所述虚拟环境中的位置;和对所述加权音频流和所述数据进行处理,以呈现出所述音频场景。
根据本发明的第十一方面,提供了一种计算机程序,该计算机程序包括用于使得计算设备执行根据本发明的第六、第七、第八、第九以及第十方面的所述方法的至少一条指令。
根据本发明的第十二方面,提供了一种包括根据本发明的第十一方面的计算机程序的计算机可读介质。


尽管任何其他实施例可能落在本发明的范围内,但是以下仅以示例的方式参照附图对本发明的一实施例进行描述,在附图中图1提供了根据本发明的实施例的系统的框图;图2提供了由图1所示的系统执行的各种步骤的流程图;图3提供了在图1所示的系统中使用的栅格概要算法中包括的步骤的流程图;图4例示了由图1所示的系统使用的地图;图5例示了由图1所示的系统使用的控制表;图6提供了在图1所示的系统中使用的群集概要算法中包括的步骤的流程图;图7是对使用图6的算法而形成的群集的例示;图8是在另选群集化算法中包括的各种步骤的流程图;图9提供了对针对图4所示的地图运行图8的另选群集化算法的结果的视觉描述;图10例示了由图1所示的系统使用的另一控制表;图11提供了在由图1所示的系统执行的处理中包括的步骤的流程图;以及图12提供了在由图1所示的系统执行的处理中包括的步骤的流程图。
具体实施例方式
参照例示了实现了本发明的系统101的图1,系统101包括音频场景创建系统103;虚拟环境(DVE)状态维护系统105;以及客户机计算设备107。系统101还包括通信网络109。音频场景创建系统103、虚拟环境状态维护系统105以及客户机计算设备107连接到通信网络109,并被配置成使用网络109以按分布式方式进行操作;即,通过通信网络109相互交换信息。通信网络109采用诸如因特网的公众接入分组交换网络的形式,因此由许多互连的路由器(图中未示出)组成。
一般来说,将虚拟环境状态维护系统105配置成对与虚拟环境(如战场)有关的动态信息进行维护。由系统105维护的动态信息例如包括虚拟环境中的各种化身的位置,并且,在虚拟环境涉及游戏的情况下,包括单个玩家的分数。将音频场景创建系统103基本上配置成对虚拟环境中的多个参与者的与实时音频有关的方面进行创建和管理(如参与者语音);即,对音频场景进行创建和管理。将客户机计算设备107基本上配置成与虚拟环境状态维护系统105和音频场景创建系统103相交互,以允许使用客户机计算设备107的人参与到虚拟环境中。
更具体来说,图形环境状态维护系统105采用包括传统计算机硬件(如主板、硬盘存储器以及随机存取存储器)的计算机服务器(或者在另选实施例中,采用相互互连的多个分布式计算机服务器)的形式。除了硬件以外,计算机服务器还包括执行各种系统级操作(例如,存储器管理)的操作系统(如Linux或微软Windows)。操作系统还提供了用于执行应用软件的环境。在这方面,计算机服务器包括应用程序包,该应用程序包被装载在硬盘存储器上并且能够对与虚拟环境有关的动态信息进行维护。在这方面,如果虚拟环境例如是战场,那么动态信息可能表示某个化身(其例如代表士兵)位于坦克中。虚拟环境状态维护系统105基本上包括采用软件形式的两个模块111和113。第一个模块111基本上负责向客户机计算设备107发送(与虚拟环境有关的)动态信息和从客户机计算设备107接收该动态信息。将第二个模块113配置成向音频场景创建系统103发送该动态信息。
如前所述,将音频场景创建系统103基本上配置成对多个音频场景进行创建和管理。每个音频场景都基本上表示对虚拟环境中的化身可能会听到的声音的逼真再现。为了创建这些音频场景,音频场景创建系统103包括控制服务器115、概要(summarisation)服务器117(本发明的另选实施例可能包括多个分布式概要服务器)以及多个分布式场景创建服务器119。控制服务器115、概要服务器117以及所述多个分布式场景创建服务器119连接到通信网络109,并使用通信网络109来按分布式方式进行相互合作。
控制服务器115采用包括传统计算机硬件(如主板、硬盘存储器以及随机存取存储器)的计算机服务器的形式。除了硬件以外,该计算机服务器还包括执行各种系统级操作的操作系统(如Linux或微软Windows)。该操作系统还提供了用于执行应用软件的环境。在这方面,该计算机服务器包括被装载到硬盘存储器上并执行图2所示的流程图201的各种步骤的应用软件。该应用软件执行的第一个步骤203是与虚拟环境状态维护系统105进行交互,以获得与虚拟环境有关的动态信息。该应用软件获得并处理该动态信息,以标识出存在于虚拟环境中的各种化身和虚拟环境中的化身的位置。虚拟环境状态维护系统105还可以对动态信息进行处理,以获得这些化身的状态的详情(例如,活动的或不活动的)和任何声音障碍物的详情。为了获得动态信息,控制服务器115的应用软件通过通信网络109与虚拟环境状态维护系统105中的第二个模块113进行交互。
一旦控制服务器115的应用软件从虚拟环境状态维护系统105获得了动态信息,它就开始对该动态信息进行处理,以创建由概要服务器117和场景创建服务器119来处理的许多混合操作,以针对虚拟环境中的各化身创建音频场景。接在初始步骤203之后,控制服务器115执行运行栅格概要算法的步骤205。参照示出了栅格概要算法的流程图301的图3,栅格概要算法的第一个步骤303是使用在初始步骤203中获得动态信息来形成虚拟环境的地图401(可在图4中看到)。地图401被划分成多个单元格并绘示出多个化身在虚拟环境中的位置。地图401将这些化身绘示成小黑点。尽管本实施例只包括单个地图401,但是可以想像在本发明的另选实施例中可以使用多个地图401。
注意,将虚拟环境中的各化身视为具有被分成交互区和背景区的听觉范围。交互区通常被视为直接围绕化身的听觉范围的部分,而背景区是听觉范围的位于听觉范围的周围附近(外限)的部分。作为示例,在图4中将化身的听觉范围的交互区示为围绕化身的圆圈。
在形成地图401时,控制服务器115的应用软件确保各单元格的尺寸大于或等于化身的交互区。
当执行栅格概要算法时而执行的下一步骤305是确定地图401中的各单元格的‘质心’。基本上通过标识出各单元格中的这样的点来确定质心,即,单元格内的多个化身以该点为中心。可以将质心视为这些化身在虚拟环境中的近似位置。栅格概要算法中的最后一个步骤307是基于地图401对由概要服务器117使用的控制表501(其被示于图5中)进行更新。控制表501包括多个行,每一行都表示地图401中的多个单元格中的一个。每一行都还含有相应单元格中的每个化身的标识符和该单元格的质心。实际上可以将控制表501中的每一行都视为未加权混合操作。为了对控制表501进行更新,控制服务器115的应用软件通过通信网络109与概要服务器117进行交互。
一旦控制服务器115的应用软件完成了运行栅格概要算法的步骤205,则它执行的下一步骤207是运行群集概要算法。图6提供了在群集概要算法中包括的各种步骤的流程图601。群集概要算法的第一个步骤603是选择虚拟环境中的多个化身中的第一化身。接在第一个步骤603之后,群集概要算法包括选择所述多个化身中的与在第一个步骤603中选择的所述多个化身中的第一化身最近的第二化身的步骤605。一旦选择了所述多个化身中的第二化身,群集概要算法包括确定所述多个化身中的第二化身是否适合于(fit in to)先前定义的群集的步骤607。接在前一步骤607之后,群集概要算法包括如果所述多个化身中的第二化身适合于先前定义的群集则将它置于该群集中的步骤609。另一方面,如果确定所述多个化身中的第二化身不适合于先前定义的群集,则群集概要算法包括执行建立以所述多个化身中的第二化身为中心的新群集的步骤611。注意,执行前述步骤603到611,直到建立了预定数量M个群集。
一旦建立了M个群集,则群集概要算法包括执行找出该M个群集之间的最大角间隙的步骤613。一旦确定了最大角间隙,则群集概要算法包括在该最大角间隙中建立新群集的步骤615。重复前述步骤613和615,直到建立了总共K个群集。注意,群集数量M群集数量K。
群集概要算法的最后一个步骤617包括将所有剩余的化身置于所述K个群集(它们是得到最小角误差的那些群集)中的最佳群集内;即,在不对来自源的声音进行概要的情况下,从所述多个化身中的第一化身的视点给出的声音源与该声音源的实际位置之间的角差。
一旦执行了群集概要算法的步骤603到617,则在控制服务器115上运行的应用软件进行到执行最后一个步骤209,在本说明书的随后段落中对该步骤进行详细讨论。图7示出了对使用群集概要算法而建立的群集的例示。
本领域的技术人员将容易理解,本发明并不限于使用上述群集化算法。以示例的方式,以下对可以在本发明的另一实施例中使用的另选群集化算法进行描述。图8中的流程图807示出了在该另选群集化算法中包括的步骤。
另选群集概要算法的第一个步骤803是选择虚拟环境中的多个化身中的一个化身。下一步骤805是接着确定位于该化身的听觉范围内的多个化身和多个栅格概要的总数。这些栅格概要基本上是由概要服务器117生成的未加权音频流。在本说明书的随后段落中对概要服务器117的该方面的详细说明进行了阐述。
接在前一步骤805之后,下一步骤807是对听觉范围内的多个化身和多个栅格概要的总数是否小于或等于K(其为基于可用于发送音频场景的带宽量而选择的数量)进行评定。如果确定化身和栅格概要的总数小于或等于K,则在控制服务器115上运行的应用软件进行到本算法的最后一个步骤209(在本说明书的随后段落中对该步骤进行讨论)。
在听觉范围内的化身和/或栅格概要的总数大于K的情况下,控制服务器115继续执行本另选群集概要算法。在此情况下,本另选群集概要算法中的下一步骤809是在地图401上有效地绘制从(在先前的步骤803中选择的)所述化身起发出并经过所述化身的听觉范围内的任何其他化身的辐射线。在步骤809之后,下一步骤811是对每个化身的绝对角距和所述化身的听觉范围内的栅格概要进行计算。接在步骤811之后,本另选群集群化算法包括将这些绝对角距排列成升序列表的步骤813。下一步骤815是对该升序列表中的每两个相继的绝对角距的差分角间隔进行计算。一旦执行了前一步骤815,下一步骤817就是标识出K个最大差分角距。下一步骤819是通过在与所述K个最大差分角距相关联的多个化身中的每一个之间有效地形成多条辐射线来将所述化身的听觉范围划分为K个部分。将这些辐射线之间的区域称为听觉范围的一部分。图9示出了对地图401运行本另选群集概要算法的效果。
作为本另选群集概要算法的前述步骤的示例,考虑包括总共10个化身/栅格概要和K等于4的虚拟环境。假设本另选群集概要算法的初始步骤811和813得到了按升序的以下绝对角距列表0,10,16,48,67,120,143,170,222以及253,它们分别对应于化身/栅格概要A0到A9。
本另选群集概要算法的随后步骤815(其包括对以上列表中的每两个相继的绝对角距的差分角间隔进行计算)的结果如下10,6,32,19,53,23,27,52,31以及107本另选群集概要算法的步骤817(其包括标识出K(4)个最大差分角距)的结果是选择以下差分角距
107,53,52以及32本另选群集概要算法的步骤819(其包括将听觉范围划分成多个部分)的结果是定义了以下K(4)个化身群集1A0、A1以及A32A3和A43A5、A6以及A74A8和A9接在前述多个步骤之后,本另选群集概要算法包括确定所述多个化身在虚拟环境中的位置的步骤821。在控制服务器115上运行的应用软件通过与虚拟环境状态维护系统105中的第二个模块113进行交互来执行该步骤。一旦确定了所述多个化身的位置,本另选群集概要算法包括利用所述多个化身的位置来确定在所述多个化身与针对其正在运行本另选群集概要算法的化身之间的距离。在步骤823之后,本另选群集概要算法包括利用这些距离来确定待施加给从所述化身的听觉范围内的所述多个化身发出的音频的权重的步骤825。步骤825还包括利用(根据栅格概要算法确定的)质心来确定对所述化身的听觉范围内的各栅格概要的权重的步骤。
在此阶段,本另选群集概要算法包括如下步骤827确定在对听觉范围进行分割的先前步骤819中标识出该听觉范围的所述多个部分中的每一个部分的质心。与栅格概要算法一样,本另选群集概要算法通过选择各部分中的所述多个化身以其为中心的位置来确定质心。
本另选群集概要算法的最后一个步骤829包括对所述多个场景创建服务器119中的控制表1001(其被示于图10中)进行更新。这包括对控制表1001进行更新以包括听觉范围内的所述多个部分中的所述多个化身中的每一个的标识符、待施加于所述多个部分中的所述多个化身的多个权重以及所述多个部分中的每一个的质心。注意,控制服务器115通过通信网络109对场景创建服务器119中的控制表1001进行更新。
如可以在图10中看到的,所述多个场景创建服务器119中的控制表1001包括多个行。每一行都对应于化身的听觉范围的一部分,并含有听觉范围的各部分中的多个化身/栅格概要的标识符(分别为Sh和Zi)。控制表1001的每一行还包括待施加给来自这些化身/栅格概要的音频的权重(W)和所述多个部分的质心(其被包含在控制表1001的“位置坐标”一栏中)。质心具有x,y坐标的形式。
当完成了本另选群集概要算法的最后一个步骤829时,运行在控制服务器115上的应用软件进行到执行它的最后一个步骤209。最后一个步骤209包括与通信网络109进行交互,以建立多个专用通信链路。这些通信链路是这样的它们使得可以将音频从客户机计算设备107传送到概要服务器117和/或所述多个场景创建服务器119,并将栅格概要(未加权音频流)从概要服务器117传送到所述多个场景创建服务器119。
一旦控制服务器115完成了前述步骤203到209,概要服务器117就能够创建多个未加权音频流(栅格概要)。概要服务器117采用包括传统计算机硬件(如主板、硬盘存储装置以及随机存取存储器)的计算机服务器的形式。除了硬件以外,该计算机服务器还包括执行各种系统级操作的操作系统(如Linux或微软Windows)。该操作系统还提供了用于执行应用软件的环境。在这方面,该计算机服务器包括被配置成执行混合处理(图11例示的流程图1101示出了该混合处理的步骤)的应用软件,以创建多个未加权音频流。
流程图1101的第一个步骤1103是获得与在概要服务器117中的控制表501的“待混合流”一栏中标识的多个化身中的每一个相关联的音频流Sn。图5例示了该控制表501。注意,概要服务器117通过通信网络109获得这些音频流Sn。在这方面,与通信网络109相交互的控制服务器115的先前步骤209建立了在通信网络109中的多个必要链接,以使得概要服务器117可以接收这些音频流Sn。然后,对于控制表501中的每一行,下一步骤1105是将所标识出的多个音频流Sn混合起来,从而产生M个混合音频流。这M个混合音频流中的每一个都包括在控制表501中的M行中的每一行的“待混合流”一栏中标识出的多个音频流Sn。当在混合步骤1105中对所述多个音频流Sn进行混合时,使得每个音频流Sn都具有它们最初未经改变的振幅。因此将该M个混合音频流视为未加权音频流。如前所述,这些未加权音频流含有来自位于图4所示的地图401的多个单元格中的多个化身的音频。
流程图1101中的下一步骤1107是使用地图401中的相应单元格的对应质心对这些未加权音频流进行标记。该步骤1107实际上包括插入来自控制表501的“单元格的质心”一栏的x,y坐标。处理流程图1101中的最后一个步骤1109是将这些未加权音频流从概要服务器117转发给合适的场景创建服务器119,这是通过使用通信网络109将这些未加权音频流从概要服务器117传送给场景创建服务器119来实现的。与通信网络109相交互的控制服务器115的先前步骤209建立了在通信网络109中的多个必要链接,以使得可以将这些未加权音频流从概要服务器117传送给场景创建服务器119。
一旦已将这些未加权音频流传送给场景创建服务器119,则能够执行混合处理以创建多个加权音频流。图12的流程图1201示出了在该混合处理中包括的步骤。每个场景创建服务器119都采用包括传统计算机硬件(如主板、硬盘存储装置以及随机存取存储器)的计算机服务器的形式。除了硬件以外,该计算机服务器还包括执行各种系统级操作的操作系统(如Linux或微软Windows)。该操作系统还提供了用于执行应用软件的环境。在这方面,该计算机服务器包括被配置成执行流程图1201的各种步骤的应用软件。
除了流程图1201导致创建加权音频流(而不是产生未加权音频流)以外,流程图1201的步骤基本上与由概要服务器117执行的流程图1101的步骤相同。如可以在图12中看到的,第一个步骤1203包括获得在场景创建服务器119的控制表1001中标识出的音频流Zi和Sn,其中Zi是来自概要服务器117的未加权音频流,Sn是与特定化身相关联的音频流。然后,对于控制表1001中的每一行,流程图1201包括步骤1205将在控制表1001的“群集概要流”中标识出的音频流Zi与Sn混合起来,从而产生多个加权音频流。该多个加权音频流中的每一个都包括在控制表1001中的对应行中标识出的音频流Zi与Sn。与由概要服务器117创建的未加权音频流不同,加权音频流中的音频流Zi和Sn具有不同的振幅。在混合步骤1205中实际上通过将音频流Zi和Sn乘以它们的相关联的权重Wn(这些权重Wn也被包含在控制表1001的“群集概要流”一栏中)来确定所述振幅。
流程图1201中的下一步骤1207是使用包含在控制表1001的对应“位置坐标”一栏中的质心对这些加权音频流进行标记。该步骤1207实际上包括插入包含在“位置坐标”一栏中的x,y坐标。流程图1201的最后一个步骤1209是将这些加权音频流通过通信网络109发送给客户机计算设备107以进行处理。
客户机计算设备107采用包括典型计算机硬件(如主板、硬盘以及存储器)的个人计算机的形式。除了硬件以外,该客户机计算设备107还装载有操作系统(如微软Windows),该操作系统对各种系统级操作进行管理并提供了可以在其中执行应用软件的环境。客户机计算设备107还包括音频客户端121;虚拟环境客户端123;以及空间音频渲现(rending)引擎125。音频客户端121采用被配置成从所述多个场景创建服务器119接收多个加权音频流并对这些加权音频流进行处理的应用软件的形式。空间音频渲现引擎125采用音频渲现软件和声卡的形式。当接收到来自场景创建服务器119的加权音频流时,音频客户端121与空间音频渲现引擎125进行交互,以对这些加权音频流进行呈现(再现),从而使用客户机计算设备107为人创建音频场景。在这方面,空间音频渲现引擎125连接到一组扬声器,使用这组扬声器来向人传送音频场景。注意,音频客户端121在对加权音频流进行标记的先前步骤1207中通过场景创建服务器119提取插入在加权音频流中的位置信息。将所提取的位置信息(连同加权音频流一起)传送给空间音频渲现引擎125,空间音频渲现引擎125接着利用该位置信息来对信息进行再现,就好像它是从该位置(即,例如从右手侧)发出的一样。
虚拟环境客户端123采用软件(在另选实施例中可能是某些专用图像处理硬件)的形式,并且基本上被配置成与虚拟环境状态维护系统105的第一个模块111进行交互,以获得与虚拟环境有关的动态信息。当接收到动态信息时,图形客户端123对该动态信息进行处理,以再现(呈现)出虚拟环境。为了使得可以将该虚拟环境显示给使用客户机计算设备107的人,客户机计算设备107还包括监视器(未示出)。图形客户端123还被配置成向虚拟环境状态维护系统105提供与在虚拟环境中存在的人有关的动态信息。
本领域的技术人员将理解,这里描述的本发明可以容许除已具体描述的那些变型和修改以外的变型和修改。应当理解,本发明包括落在本发明的精神和范围内的所有这种变型和修改。
权利要求
1.一种用于为虚拟环境中的化身创建音频场景的设备,该设备包括音频处理器,其可进行操作以创建加权音频流,该加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频;和关联装置,其可进行操作以将所述加权音频流与表示所述听觉范围的所述部分在所述虚拟环境中的位置的数据关联起来,其中,所述加权音频流和所述数据表示所述音频场景。
2.根据权利要求1所述的设备,其中,所述音频处理器还可进行操作以创建所述加权音频流,使得所述加权音频流包括未加权音频流,所述未加权音频流包括来自位于所述化身的所述听觉范围的所述部分内的另一对象的音频。
3.根据权利要求1或2所述的设备,其中,所述音频处理器可进行操作以根据预定混合操作和权重信息来创建所述加权音频流,所述预定混合操作包括标识了所述对象和/或其他多个对象的标识信息,所述权重信息可以由所述音频处理器使用来设定所述加权音频流中的所述音频和所述未加权音频流的振幅。
4.根据权利要求3所述的设备,其中,所述设备还包括可进行操作以通过通信网络接收所述音频、所述未加权音频流以及所述混合操作的通信装置,所述通信网络还可被操作以通过所述通信网络来发送所述加权音频流和所述数据。
5.一种可进行操作以为虚拟环境中的化身创建用于音频场景中的音频信息的设备,该设备包括音频处理器,其可进行操作以创建未加权音频流,该未加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频;和关联装置,其可进行操作以将所述未加权音频流与表示所述对象在所述虚拟环境中的近似位置的数据关联起来,其中,所述未加权音频流和所述数据表示所述音频信息。
6.根据权利要求5所述的设备,其中,所述音频处理器可进行操作以根据预定混合操作来创建所述未加权音频流,所述预定混合操作包括标识了所述对象的标识信息。
7.根据权利要求6所述的设备,该设备还包括可进行操作以通过通信网络接收所述音频和所述预定混合操作的通信装置,所述通信网络还可被操作以通过所述通信网络来发送所述未加权音频流和所述数据。
8.一种用于获得可以用来为虚拟环境中的化身创建音频场景的信息的设备,该设备包括标识装置,其可进行操作以确定位于所述化身的听觉范围的一部分中的对象的标识符;加权装置,其可进行操作以确定待施加给来自所述对象的音频的权重;以及定位装置,其可进行操作以确定所述部分在所述虚拟环境中的位置,其中,所述标识符、所述权重以及所述位置表示可以被用来创建所述音频场景的所述信息。
9.根据权利要求8所述的设备,该设备还包括通信装置,所述通信装置可进行操作以通过通信网络向多个系统中的一个发送所述标识符、所述权重以及所述位置,以进行处理。
10.根据权利要求9所述的设备,其中,所述通信装置还可进行操作以创建用于所述通信网络的择路信息,其中,所述择路信息是如下的信息所述通信网络可以使用所述择路信息将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
11.根据权利要求8到10中的任何一项所述的设备,其中,所述标识装置、所述加权装置以及所述定位装置可进行操作,以通过对所述虚拟环境的表示进行处理来分别确定所述标识符、所述权重以及所述位置。
12.根据权利要求8到11中的任何一项所述的设备,其中,所述标识装置可进行操作以通过以下步骤来确定所述听觉范围的所述部分选择所述虚拟环境中的多个化身中的第一化身;标识出所述多个化身中的最接近于所述多个化身中的所述第一化身的第二化身;确定是否可以将所述多个化身中的所述第二化身包括在已有群集中;当确定可以将所述多个化身中的所述第二化身包括在所述已有群集中时,将所述第二化身包括在所述已有群集中;当确定不能将所述多个化身中的所述第二化身包括在所述已有群集中时,创建包括所述多个化身中的所述第二化身的新群集,从而创建多个群集;确定所述多个群集中的两个群集之间的角间隙;创建位于所述角间隙中的另一群集;以及将所述多个化身中的至少一个化身包括在所述另一群集中。
13.根据权利要求8到11中的任何一项所述的设备,其中,所述标识装置可进行操作以通过以下步骤来确定所述听觉范围的所述部分选择所述虚拟环境中的多个化身中的一个化身;确定从所述化身延伸到所述多个化身中的所述一个化身的辐射线;对所述多个化身中的每一个与所述辐射线的绝对角距进行计算;将所述多个化身中的每一个的所述绝对角距排列成升序列表;对所述升序列表中的所述多个绝对角距中的相继的绝对角距之间的差分角间隔进行计算;选择所述差分角间隔中的具有比其他差分角间隔更高的值的至少一个差分角间隔;以及确定从所述化身发出并将与所述差分角间隔相关联的所述多个化身中的两个化身等分的另一辐射线。
14.一种用于创建可以用来为虚拟环境中的化身创建音频场景的信息的设备,该设备包括标识装置,其可进行操作以确定位于所述化身的听觉范围的一部分中的对象的标识符;和定位装置,其可进行操作以确定所述对象在所述虚拟环境中的近似位置,其中,所述标识符和所述近似位置表示可以用来创建所述音频场景的所述信息。
15.根据权利要求14所述的设备,还包括通信装置,所述通信装置可进行操作以通过通信网络向多个系统中的一个发送所述标识符和所述位置,以进行处理。
16.根据权利要求15所述的设备,其中,所述通信装置还可进行操作以创建用于所述通信网络的择路信息,其中,所述择路信息是如下的信息所述通信网络可以使用所述择路信息将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
17.根据权利要求14到16中的任何一项所述的设备,其中,所述标识装置和所述定位装置可进行操作,以通过对所述虚拟环境的表示进行处理来分别确定所述标识符和所述位置。
18.根据权利要求14到17中的任何一项所述的设备,其中,所述标识装置可进行操作以通过以下步骤来确定所述对象的所述近似位置将所述虚拟环境划分成多个单元格;和确定所述对象在所述多个单元格的一个单元格中的所处的位置。
19.一种用于为虚拟环境中的化身呈现音频场景的设备,该设备包括获取装置,其可进行操作以获取加权音频流和数据,所述加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频,所述数据与所述加权音频流相关联并表示所述听觉范围的所述部分在所述虚拟环境中的位置;和空间音频呈现引擎,其可进行操作以对所述加权音频流和所述数据进行处理,以呈现出所述音频场景。
20.一种用于为虚拟环境中的化身创建音频场景的方法,该方法包括以下步骤创建步骤,创建加权音频流,该加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频;和关联步骤,将所述加权音频流与表示所述听觉范围的所述部分在所述虚拟环境中的位置的数据关联起来,其中,所述加权音频流和所述数据表示所述音频场景。
21.根据权利要求20所述的方法,其中,所述创建步骤使得所述加权音频流包括未加权音频流,所述未加权音频流包括来自位于所述化身的所述听觉范围的所述部分内的另一对象的音频。
22.根据权利要求20或21所述的方法,其中,根据预定混合操作和权重信息来执行所述创建步骤,所述预定混合操作包括标识了所述对象和/或其他多个对象的标识信息,所述权重信息可以由音频处理器使用来设定所述加权音频流中的所述音频和所述未加权音频流的振幅。
23.根据权利要求22所述的方法,该方法还包括以下步骤通过通信网络接收所述音频、所述未加权音频流以及所述混合操作;和通过所述通信网络来发送所述加权音频流和所述数据。
24.一种为虚拟环境中的化身创建用于音频场景中的音频信息的方法,该方法包括以下步骤创建步骤,创建包括来自位于所述化身的听觉范围的一部分中的对象的音频的未加权音频流;和关联步骤,将所述未加权音频流与表示所述虚拟环境中的所述对象的近似位置的数据关联起来,其中,所述未加权音频流和所述数据表示所述音频信息。
25.根据权利要求24所述的方法,其中,根据预定混合操作来执行所述创建步骤,其中,所述预定混合操作包括标识了所述对象的标识信息。
26.根据权利要求25所述的方法,该方法还包括以下步骤通过通信网络接收所述音频和所述预定混合操作;和通过所述通信网络来发送所述未加权音频流和所述数据。
27.一种用于获得可以被用来为虚拟环境中的化身创建音频场景的信息的方法,该方法包括以下步骤第一确定步骤,确定位于所述化身的听觉范围的一部分中的一对象的标识符;第二确定步骤,确定待施加给来自所述对象的音频的权重;以及第三确定步骤,确定所述部分在所述虚拟环境中的位置,其中,所述标识符、所述权重以及所述位置表示可以被用来创建音频场景的所述信息。
28.根据权利要求27所述的方法,该方法还包括以下步骤通过通信网络向多个系统中的一个发送所述标识符、所述权重以及所述位置,以进行处理。
29.根据权利要求28所述的方法,该方法还包括以下步骤创建用于所述通信网络的择路信息,其中,所述择路信息是如下的信息所述通信网络可以使用所述择路信息将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
30.根据权利要求27到29中的任何一项所述的方法,其中,所述第一、第二以及第三确定步骤分别包括通过对所述虚拟环境的表示进行处理来确定所述标识符、所述权重以及所述位置的步骤。
31.根据权利要求27到30中的任何一项所述的方法,该方法还包括以下步骤以确定所述听觉范围的所述部分选择所述虚拟环境中的多个化身中的第一化身;标识出所述多个化身中的最接近于所述多个化身中的所述第一化身的第二化身;确定是否可以将所述多个化身中的所述第二化身包括在已有群集中;当确定可以将所述多个化身中的所述第二化身包括在所述已有群集中时,将所述第二化身包括在所述已有群集中;当确定不能将所述多个化身中的所述第二化身包括在所述已有群集中时,创建包括所述多个化身中的所述第二化身的新群集,从而创建多个群集;确定所述多个群集中的两个群集之间的角间隙;创建位于所述角间隙中的另一群集;以及将所述多个化身中的至少一个化身包括在所述另一群集中。
32.根据权利要求27到30中的任何一项所述的方法,该方法还包括以下步骤以确定所述听觉范围的所述部分选择所述虚拟环境中的多个化身中的一个化身;确定从所述化身延伸到所述多个化身中的所述一个化身的辐射线;对所述多个化身中的每一个与所述辐射线的绝对角距进行计算;将所述多个化身中的每一个的所述绝对角距排列成升序列表;基于所述绝对角距对所述多个化身中的相继的化身之间的差分角间隔进行计算;选择所述差分角间隔中的具有比其他差分角间隔更高的值的至少一个差分角间隔;以及确定从所述化身发出并将与所述差分角间隔相关联的所述多个化身中的两个化身等分的另一辐射线。
33.一种用于创建可以被用来为虚拟环境中的化身创建音频场景的信息的方法,该方法包括以下步骤第一确定步骤,确定位于所述化身的听觉范围的一部分中的对象的标识符;和第二确定步骤,确定所述对象在所述虚拟环境中的近似位置,其中,所述标识符和所述近似位置表示可以被用来创建所述音频场景的所述信息。
34.根据权利要求33所述的方法,该方法还包括以下步骤通过通信网络向多个系统中的一个发送所述标识符和所述位置,以进行处理。
35.根据权利要求34所述的方法,该方法还包括以下步骤创建用于所述通信网络的择路信息,其中,所述择路信息是如下的信息所述通信网络可以使用所述择路信息来将所述音频择路到所述多个系统中的所述一个系统,以进行处理。
36.根据权利要求33到35中的任何一项所述的方法,其中,所述第一和第二确定步骤分别包括通过对所述虚拟环境的表示进行处理来确定所述标识符和所述位置的步骤。
37.根据权利要求33到36中的任何一项所述的方法,该方法还包括以下步骤以确定所述对象的所述近似位置选择所述差分角间隔中的具有比其他差分角间隔更高的值的至少一个差分角间隔;以及确定从所述化身发出并将与所述差分角间隔相关联的所述多个化身中的两个化身等分的另一辐射线。
38.一种用于为虚拟环境中的化身呈现音频场景的方法,该方法包括以下步骤获取加权音频流和数据,所述加权音频流包括来自位于所述化身的听觉范围的一部分中的对象的音频,所述数据与所述加权音频流相关联并表示所述听觉范围的所述部分在所述虚拟环境中的位置;和对所述加权音频流和所述数据进行处理,以呈现出所述音频场景。
39.一种计算机程序,该计算机程序包括用于使得计算设备执行根据权利要求20到38中的任何一项所述的方法的至少一条指令。
40.一种包括根据权利要求39所述的计算机程序的计算机可读介质。
全文摘要
本发明提供一种用于创建音频场景的设备和方法。该用于为虚拟环境中的化身创建音频场景的设备包括音频处理器,其可进行操作以创建包括来自位于所述化身的听觉范围的一部分中的对象的音频的加权音频流;和关联装置,其可进行操作以将所述加权音频流与表示所述听觉范围的所述部分在所述虚拟环境中的位置的数据关联起来,其中,所述加权音频流和所述数据表示所述音频场景。
文档编号G06T15/00GK1969589SQ200580019570
公开日2007年5月23日 申请日期2005年4月15日 优先权日2004年4月16日
发明者保罗·安德鲁·鲍斯特德, 法尔扎德·撒菲伊, 迈赫兰·多拉沙齐 申请人:斯玛特网络技术Crc有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1