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

文档序号:7689101阅读:307来源:国知局

专利名称::用于创建音频场景的设备和方法
技术领域
:本发明总的来说涉及浸入式(immersive)音频通信领域,且更加具体地,但决不排他地涉及在对等环境中创建浸入式音频场景。
背景技术
:近年来,在创建可视地浸入式虚拟环境领域已经有显著的发展。这些发展导致大规模多游戏者角色扮演游戏的广泛兴起,在上述游戏中,参加者能够进入公共的虚拟环境(比如战场),且在虚拟环境中由一般为动画人物形式的化身代表。可视地浸入式虚拟环境的广泛兴起部分由于以下二者的显著发展使得能够在虚拟环境中产生非常具体和逼真的图形的图像处理技术和采用高速处理单元的立体声卡的开发。然而,这些环境的主要缺点在于当前游戏者间的通信机制很原始一通常涉及文本聊天或者无线对讲机语音通信。将语音似乎来自化身的更自然的通信环境嵌入对应于游戏者的虚拟世界中实现起来是复杂的,且传送起来很昂贵。由参与虚拟环境的每个游戏者产生的音频必须被发送给在收听范围内的每个其他游戏者。对于大规模多游戏者游戏,用于促进这种音频交换的上游和下游带宽要求会特别高。此外,呈现所有接收的音频流所需要的CPU成本较高,其需要采用特别强大的处理单元以满足参与虚拟环境的最小硬件要求。以下提供本说明书中通篇使用的各种术语的定义音频场景一音频信息,包括空间地发出且根据在声源和接收方之间的距离可选地衰减的组合声音(例如,属于其他化身的语音及虚拟环境内的其他实时声源)。音频场景还可以包括表示环境的声学特性的音效。
发明内容在本发明的第一方面中,提供了一种为包括多个化身的虚拟环境中的化身创建音频场景的方法,所述方法包括步骤创建多个化身之间的链接结构;和基于每个化身与其他链接的化身的关联呈现每个化身的音频场景。有益地,本发明的方面提供用于通过利用链接的对等类型结构传送浸入式音频场景的低带宽技术。以这种方式传送服务消除了通过中心服务器发送实时业务流的要求。这对于传送这种服务通常需要的大的服务器地段和带宽成本来说能够显著节省成本。代替地,根据本发明的方面,可以使用使用服务的同级(或者链接的化身)的CPU资源和带宽来传送该服务。另外,因为每个新链接的化身添加资源以支持该服务,可以随着虚拟环境中化身的数目增长而容易地依比例决定服务传送。根据第二方面,提供了包括用于控制计算机以实现根据本发明的第一方面的方法的至少一个指令的计算机程序。根据第三方面,提供了计算机可读介质,该计算机可读介质提供根据本发明的第二方面的计算机程序。根据第四方面,提供了被设置以执行根据本发明的第一方面的方法步骤的用户计算装置。根据第五方面,提供了被设置以创建虚拟环境的音频场景的系统,该系统包括多个计算装置,每个计算装置能够控制虚拟环境中的至少一个化身,其中,每个计算装置被设置成呈现至少一个化身的输出音频场景并将该输出音频场景传递到至少一个其他计算装置。尽管任何其他形式可能落入本发明的范围,现在参考附图仅通过实例的方式描述本发明的实施例,在附图中图1是被设置以执行本发明的实施例的系统的框图;图2示出虚拟环境中化身的布局实例;图3示出呈现由图2的虚拟环境的化身接收的每个音频流所需的角度和衰减电平;图4是在图2的虚拟环境中链接化身的格网连接的实例;图5示出确定图2的化身之间的最短链接的最小生成树的应用;和图6示出了根据本发明的实施例被添加到最小生成树的边缘。具体实施例方式参考图1,系统100包括虚拟环境服务器102;控制服务器103;用户计算装置104;和通信系统106。虚拟环境服务器102的主要功能是保持用于虚拟环境的状态信息。在本发明的实施例中,虚拟环境是多游戏者在线游戏的战场,且化身表示该虚拟环境中的参加者(也就是说,用户计算装置104的用户)且是动画士兵的形式。由虚拟环境服务器102保持的状态信息包括例如,虚拟环境中化身的位置;也就是说,战场中士兵的位置。注意到,实施例不限于用于多游戏者在线游戏的虚拟环境和化身。该实施例可应用于多种虚拟环境,包括例如,商业背景(比如虚拟职员会议)或者教育背景(比如虚拟讲座)中的虚拟环境。为执行保持状态信息的主要功能,虚拟环境服务器102包括计算机硬件,该计算机硬件包括主板、中央处理单元、随机存取存储器、硬盘、网络硬件和电源。除了硬件之夕卜,虚拟环境服务器102包括驻留在硬盘上且与硬件合作以提供可以执行软件应用的环境的操作系统(比如可以在位于URL为http://WWW.redhat.com的网站从因特网获得的Linux)。在这点上,虚拟环境服务器102的硬盘装载了用于保持状态信息的虚拟环境服务器应用程序(比如可以在位于URL为http://WWW.idsoftware.com的网址从因特网获得的Quake引擎)。控制服务器103经由高速链路105连接到虚拟环境服务器102。控制服务器103包括与虚拟环境服务器相同的硬件且装载有控制服务器应用程序,其被设置成与虚拟环境服务器102相互作用以获得识别在虚拟环境中出现的各种化身的信息,和在虚拟环境中化身的位置。该信息还可以包括化身的状态细节(例如,活动或者不活动)和任何动态声障(soundbarrier)的细节。使用嵌入在控制服务器应用程序内的算法,控制服务器103产生被传递到每个用户计算装置的浸入式音频呈现信息。如图1所示,控制服务器102也被设置成经由链路114与用户计算装置通信。用户计算装置104是膝上型或者台式计算机的形式。然而,容易理解本实施例不限于膝上型或者台式通信装置。设想在本发明的备选实施例中,用户计算装置104(例如,如所示的装置04a_h)可以是比如诺基亚的N-Gage和PlaystationPortable(便携PS)的便携无线通信装置。每个用户计算装置104包括计算机硬件,该计算机硬件包括主板、中央处理单元、随机存取存储器、硬盘或者类似的存储装置、电源、监视器和用户信息输入(例如,键盘)。除了硬件之外,每个用户计算装置104的硬盘装载有能够与计算装置104的硬件相互作用以提供可以执行软件应用的环境的操作系统。在这点上,每个用户计算装置104的硬盘装载有虚拟环境客户应用程序和浸入式音频通信客户应用程序。该虚拟环境客户应用程序被设置成发送虚拟环境的状态信息到加载在虚拟环境服务器102上的虚拟环境服务器应用程序和从其接收虚拟环境的状态信息。该浸入式音频通信客户应用程序被设置成将音频信息发送到其它浸入式音频通信客户端并从其接收音频信息。先前描述了每个用户计算装置104装载有操作系统。该实施例可以容易地被设置成操作加载在用户计算装置104上的任何不同操作系统,包括例如MicrosoftWindowsXP或者Linux(当计算装置104台式计算机形式时二者都是典型地使用的)。通信系统106使得每个用户计算装置104的虚拟环境客户应用程序和虚拟环境系统102的虚拟环境服务器应用程序能够彼此交换数据(更具体地说,交换状态信息)。通信系统106还使得每个用户计算装置104的浸入式音频通信客户应用程序和控制服务器103能够彼此交换数据(更具体地说,交换对等图的形式的链接结构的细节)。为支持数据交换,通信系统106包括用于从用户计算装置104发送和接收数据的因特网的形式的数据网络110。本发明不限于使用因特网且本发明的可选实施例可以采用,例如,基于802.11的无线网络等。为使得虚拟环境系统102和用户计算装置104能够经由通信系统106交换数据,虚拟环境服务器102经由高速数据链路形式的通信链路114连接到因特网110。本发明的实施例主要涉及用于向参与虚拟环境的用户计算装置104的用户提供浸入式音频的低带宽对等技术。同样地,以下描述具体地集中在加载在控制服务器103上的控制服务器应用程序和加载在每个用户计算装置104上的浸入式音频通信客户应用程序的功能性。如先前讨论的,位于控制服务器103上的控制服务器应用程序被设置成从虚拟环境服务器应用程序获得关于在虚拟环境中操作的化身的位置的信息。根据在这里描述的实施例,位置信息是三维坐标(X,1,ζ)的形式。控制服务器应用程序另外被配置成获得可能影响虚拟环境内的声音的传播的任何静态和动态声障的细节(在下文中称为“屏障信息”)。一旦已经获得位置信息和屏障信息,控制服务器应用程序执行以下动作(1)基于虚拟环境中化身的位置(X,y,ζ),计算树,或者一系列树(如果存在不在彼此的收听范围内的多个完全不同的化身组)。这些树将发言的化身连接到收听的化身。控制服务器应用程序还可以考虑比如可用带宽和节点的可靠性的因素(即,对应于每个用户计算装置)以确定怎样构造树。例如,如果树中的节点不具有高可用带宽,应用可以限制其可以连接到的树中的其他节点的数目。如果节点是不可靠的(例如,如果节点具有高延迟或者分组损失的历史),那么控制服务器应用程序会想要确保其是树的叶子。(2)将环路引入树中以减小形成对等图的每个发言者和收听者之间的路径长度。控制服务器应用程序将不引入比规定长度短的环路以保证在最终由用户计算装置输出的音频流中不存在正反馈或者明显的回声;和(3)将与对等图相关联的以下细节传递到在该图中标识的用户计算装置104(a)化身集合,用户计算机装置“Α”必须创建到该化身集合的连接;(b)应用于A将在每个这些连接上发送的音频流的衰减值α(α对应于图链接的长度);和(c)所接收的音频流将要被呈现的角度θ(θ对应于图链接的角度)。关于创建树结构的函数(参见以上点1),可以采用任何适当的树结构。然而,在本实施例的情况下,采用最小生成树(MST)。(其是关于与树中的链路的长度相关联的成本度量最小化的,与在虚拟环境中的化身之间的距离成正比。)有两个主要功能由位于每个用户计算装置104上的浸入式音频客户应用程序执行。第一功能是呈现接收的音频流以创建浸入式音频场景,从而向用户计算装置104的用户重放。该处理基本上涉及用户计算装置104在其连接到{Ε1;Ε2,...,Εη}的图的每个边上接收音频流并以由浸入式音频呈现信息指定的角度θ呈现该音频流。第二功能涉及将由用户计算装置104产生的混合音频流发送到全部其他边连接的用户计算装置/化身。混合音频流包括由用户计算机装置捕捉的音频流(即客户的语音)和在所有其他边上(当然,不包括要被发送的混合音频流所沿着的边)接收的音频流的混合。在发送混合音频流之前,使用用于该特定边的衰减值α衰减该混合音频流,这也由浸入式音频呈现信息指定。参考图1到6,现在将描述由用户计算装置呈现浸入式音频场景的方法的实例。在第一步骤中,虚拟环境服务器102将虚拟环境的状态信息传递到客户服务器103的客户服务器应用程序用于后续的处理。给定具有由客户(C1,C2,...Cn)控制的每个N个化身(A1,A2,...An)的虚拟世界。由这N个客户中的每一个产生音频样本(Vi)。以F个边(E1;E2,...,Ef)构造图。这些边中的每一个具有相关联的角度Θ」和衰减因数α」,其中0<j<=F。(步骤1)将全部化身置于平面上,它们的(x,y)坐标对应于它们在虚拟环境中的(x,y)坐标,如图2所示。(步骤2)创建图的全部节点之间的格网连接;如果存在墙壁则除去在墙壁的相对侧的化身之间的任何链路。(步骤3)使用任何适当的算法_比如Kruskal算法计算连接全部节点的最小生成树(MST)。(步骤4)处于图中不是最小生成树的一部分的全部链路;(步骤5)当可以添加环路而不超过在节点的传输限制,且当存在超过阈值(例如,收听范围的两倍)的可能的环路时,则(a)设置min_edge_length=infinity(b)对于可以彼此听到的每对节点i,j(i)计算在两个节点之间的最小环路距离为min_l00Pij=SPij^VDijo其中SPij是在树上i,j之间的最短路径且VDij=在i和j之间的直接链路的长度,如果存在的话,(ii)如果Iiiiruloopij>环路阈值(2Xhearing_range)且Dij<min_edge_length(l)min_edge_length=VDij(2)min_edge={i,j}(c)将miruedge涉及的边添加到图。这是引入可接受的环路的最小边。现在考虑连接到虚拟环境的7个游戏者。每个游戏者使用连接到因特网的不同PC。每个游戏者正在控制单独的化身-这些化身被命名为Al到A7。这些化身在虚拟世界中的x,y(空间)位置如表1所示。表1:化身的X,Y位置权利要求1.一种为包括多个化身的虚拟环境中的化身创建音频场景的方法,所述方法包括步骤创建多个化身之间在所述虚拟环境中的链接结构;和基于每个化身与其他链接的化身的关联呈现每个化身的音频场景;其中,所创建的链接结构能够操作以定义用于呈现所述音频场景的角度或衰减因数中的至少一个以应用于进入链路上的音频流,其中所述用于呈现所述音频场景的角度对应于所述每个化身与所述其他链接的化身之间的链路的角度,其中所述虚拟环境包含以下项中的一个或多个多游戏者在线游戏、虚拟商业会议或者虚拟教育功能,并且其中所述化身中的每一个包含所述虚拟环境中的参与者。2.如权利要求1所述的创建音频场景的方法,其中,该链接结构包括最小生成树。3.如权利要求1所述的创建音频场景的方法,其中,所述最小生成树链接结构是关于与所述树中的链路的长度相关联的成本度量最小化的,并且其中所述树中的链路的长度正比于所述虚拟环境中两个化身之间的距离。4.如权利要求3所述的创建音频场景的方法,其中,该衰减因数包括与所述链接结构中链路的长度相对应的值。5.如权利要求2到4中任意一个所述的创建音频场景的方法,由此,在链接结构中两个化身之间的链路的角度定义呈现角度。6.如权利要求1到4中任意一个所述的创建音频场景的方法,其中,该链接结构是连接所述多个化身的树结构。7.如权利要求6所述的创建音频场景的方法,其中,该树结构是最小生成树。8.如权利要求7所述的创建音频场景的方法,进一步包括将环路引入到最小生成树以使得环路的最小长度小于预定值以避免呈现音频场景时的回声的步骤。9.如权利要求8所述的创建音频场景的方法,其中,该预定值是化身的收听范围的两倍。10.如权利要求1-4中的任意一个所述的创建音频场景的方法,进一步包括将呈现的音频场景与由所述多个化身中的至少一个产生的音频流混合的步骤。11.如权利要求10所述的创建音频场景的方法,进一步包括将混合的音频场景发送到另一链接的化身的步骤。12.一种为包括多个化身的虚拟环境中的化身创建音频场景的系统,所述系统包括用于创建多个化身之间在所述虚拟环境中的链接结构的装置;和用于基于每个化身与其他链接的化身的关联呈现每个化身的音频场景的装置;其中,所创建的链接结构能够操作以定义用于呈现所述音频场景的角度或衰减因数中的至少一个以应用于进入链路上的音频流,其中所述用于呈现所述音频场景的角度对应于所述每个化身与所述其他链接的化身之间的链路的角度,其中所述虚拟环境包含以下项中的一个或多个多游戏者在线游戏、虚拟商业会议或者虚拟教育功能,并且其中所述化身中的每一个包含所述虚拟环境中的参与者。13.一种被设置成创建包括多个化身的虚拟环境的音频场景的系统,所述多个化身在所述虚拟环境中存在链接结构,该系统包括多个计算装置,每个计算装置能够控制虚拟环境中的至少一个化身,其中,每个计算装置被设置成基于所述至少一个化身与其他链接的化身的关联呈现至少一个化身的输出音频场景并将该输出音频场景传递到至少一个其他计算装置,其中,所创建的链接结构能够操作以定义用于呈现所述音频场景的角度或衰减因数中的至少一个以应用于进入链路上的音频流,其中所述用于呈现所述音频场景的角度对应于所述每个化身与所述其他链接的化身之间的链路的角度,其中所述虚拟环境包含以下项中的一个或多个多游戏者在线游戏、虚拟商业会议或者虚拟教育功能,并且其中所述化身中的每一个包含所述虚拟环境中的参与者。14.如权利要求13所述的被设置成创建音频场景的系统,其中,每个计算装置进一步被设置成从至少一个其他计算装置接收输入音频场景,并与输出音频场景一起呈现该输入音频场景。全文摘要在多个化身的虚拟环境中为化身创建音频场景。在化身之间创建链接结构。基于化身与其它链接的化身的关联,为每个化身创建音频场景。文档编号H04S7/00GK102325299SQ20111015295公开日2012年1月18日申请日期2007年11月8日优先权日2006年11月8日发明者F·萨费,P·鲍斯特德申请人:杜比实验室特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1