用户生成的动态虚拟世界的制作方法

文档序号:11159487阅读:710来源:国知局
用户生成的动态虚拟世界的制造方法与工艺

用户参与对于视频游戏标题的成功是至关重要的。为吸引终端用户和使终端用户参与,当前可用的游戏中的许多游戏支持各种不必是基本游戏玩法的关键部分的特征。合并这些特征以支持游戏内的社交交互和促进关于游戏的讨论,以便增强用户参与。例如,某些游戏允许用户邀请或者挑战朋友和家人以加入他们,从而他们可以全部一起在线玩。其它游戏为用户向他们的社交圈内的人发送礼物或者奖品作准备。游戏还频繁支持文本和/或语音聊天,以使得用户可以在玩游戏的同时与彼此通信。

许多游戏具有作为用户论坛被托管的关联的在线社区。对于成功的游戏特许经营权,这些社区通常是非常活跃的,并且可能存在玩家之间的大量讨论和交互。某些当前可用的游戏还具有地图生成器插件和其它的使用户能够创建可以作为游戏玩法的部分被合并的新地图的特征。其它游戏允许用户创建或者修改虚拟环境。然而,那些方法倾向于是受限的、受约束的和更新起来冗长的。此外,它们缺少丰富性和细节,并且新颖性相当快地消失,因为内容可能是相当乏味的并且缺少任何来自用户的活跃参与或者贡献。

提供本背景以引入下面的摘要和详细描述内容的简明上下文。本背景不旨在是在确定所要求权利的主题的范围时的辅助,也不被认为将所要求权利的主题限于解决上面呈现的缺点或者问题中的任何或者全部缺点或者问题的实现。



技术实现要素:

基于云的虚拟世界生成平台使用户能够创建可以作为动态虚拟世界被并入运行在多媒体控制台上的游戏的内容。所述用户创建的内容通过使用由具有深度感应能力的照相机系统捕获的数据来使用诸如是房间和其中的物体之类的用户环境的三维(3D)模型。由平台暴露的合成服务使用所捕获的数据来生成线框模型,所述线框模型可以被用户利用用于应用表面纹理(即,“皮肤”)和照明和用于控制经建模的环境的其它属性和特性的工具进行操纵,以达到用户生成的内容的期望和观感。其它工具使用户能够选择可以控制经建模的用户环境在玩法期间如何表现的特定的物理系引擎。所述平台还暴露渲染服务,游戏可以与所述渲染服务交互以访问用户生成的内容,以使得经建模的用户环境可以被使用并且作为动态虚拟世界被并入游戏。

有优势地,虚拟世界生成平台使用户能够扩展和增强玩他们最喜欢的游戏的体验。可以与其他用户共享用户生成的内容,以大大扩大游戏的范围和创建大量新的可以被体验和探索的动态虚拟世界。还可以预期共享用户生成的内容是用户作为总体游戏体验的部分社交地交互的一种流行方式。

提供本摘要以便以简化形式引入下面在详细描述内容中被进一步描述的内容的选摘。本摘要不旨在标识所要求权利的主题的关键特征或者基本特征,也不旨在被用作在确定所要求权利的主题的范围时的辅助。此外,所要求权利的主题不限于解决在本公开内容的任何部分中指出的任何或者全部缺点的实现。

附图说明

图1示出了当前的用户生成的动态虚拟世界可以在其中被实现的说明性的计算环境;

图2-4示出了典型的家庭环境中的与多媒体控制台交互的用户的图示;

图5示出了在典型的游戏场景中被使用的说明性的线框模型;

图6示出了在其中应用皮肤以产生游戏中的特定观感的典型游戏场景中的所渲染的场面的屏幕截图;

图7示出了与被多媒体控制台支持的用户生成的内容应用和游戏交互的说明性的虚拟世界生成平台;

图8示出了可以被用户生成的内容应用暴露的工具的说明性的分类法;

图9示出了可以被环境建模工具捕获的说明性的环境;

图10示出了可以被换肤工具暴露的功能的说明性的分类法;

图11示出了可以被物理系引擎工具暴露的物理系模型的说明性的分类法;

图12示出了被用户生成的内容应用暴露的工具与合成和渲染服务之间的说明性的交互;

图13是用于生成用户环境的虚拟模型的说明性方法的流程图;

图14示出了游戏与渲染服务之间的说明性的交互;

图15说明性地示出了渲染服务可以如何同步和/或异步地运转;

图16是用于向游戏提供用户生成的内容的说明性的方法的流程图;

图17示出了可以被并入移动设备以捕获用户环境的各种说明性的技术;

图18示出了可以部分上用于实现当前的用户生成的动态虚拟世界的说明性的照相机系统和多媒体控制台的方框图;

图19示出了可以部分上用于实现当前的用户生成的动态虚拟世界的说明性的多媒体控制台的功能上的方框图;

图20是可以部分上用于实现当前的用户生成的动态虚拟世界的诸如是个人计算机(PC)或者服务器的说明性的计算机系统的方框图;以及

图21示出了可以部分上用于实现当前的用户生成的动态虚拟世界的说明性的计算平台的方框图。

在附图中,类似的标号指示类似的元件。除非另外指出,否则不按比例绘制元件。

具体实施方式

图1示出了当前的用户生成的动态虚拟世界可以在其中被实现的说明性的计算环境100。娱乐服务102通常可以暴露应用(app)104、游戏106和诸如是电视节目和电影的媒体内容108以及通过诸如是互联网116的网络的去往多媒体控制台114的用户112的用户论坛110。可以提供诸如是通信服务、金融服务、旅游服务、新闻和信息服务等的各种其它服务的其它服务提供商118可以也处在环境100中。

可以还使用和/或消费包括应用、游戏和/或媒体内容的本地内容120以在环境100中提供诸如是游戏122的特定的用户体验。在某些情况下,从诸如是包括DVD(数字多功能光盘)和CD(压缩盘)的光盘的可移除源获得本地内容120,而在其它情况下,从远程源下载并且在本地存储本地内容。游戏122可以在多媒体控制台114上本地执行、被娱乐服务102远程地托管或者在某些情况下通过酌情使用本地或者连网的内容/应用/游戏来使用本地和远程执行的结合。游戏122也可以是具有其它计算设备的多个其他玩家124可以参加的游戏。在某些实现中,也可以通过社交网络126或者通过用户论坛110共享与游戏122相关联的用户体验。

用户112通常可以使用多种不同的接口设备与多媒体控制台114交互,所述接口设备包括可以用于感应视觉命令、运动和手势的照相机系统128和耳机130或者其它类型的麦克风或者音频捕获设备/系统。在某些情况下,麦克风和照相机可以被组合成单一的设备。用户112也可以使用控制器132来与多媒体控制台114交互。控制器132可以包括多种物理控制装置,所述物理控制装置包括操纵杆、方向盘(“D-pad”)和按钮。一个或多个触发器和/或减震器(未示出)也可以被并入控制器132。用户112通常将与被显示在诸如是电视机或者监视器的显示设备136上的用户界面134交互。

应当强调,根据特定的实现的需求,所使用的控制装置的数量和在照相机系统128、音频捕获系统和控制器132中实现的用户控制装置支持的特征和功能可以与图1中所示的那些不同。另外,在后面的描述内容中,描述了各种手势、按钮按压和控制装置操纵。应当指出,那些行动旨在是说明性的。例如,用户可以促动特定的按钮或者控制装置或者执行特定的手势以提示运转在多媒体控制台114上的系统执行特定的功能或者任务。应当认识到,根据特定的实现的需求,控制装置到功能的特定的映射可以与下面所描述的不同。如这里使用的,术语“系统”涵盖在多媒体控制台及其外设设备上被实例化以支持由控制台提供的各种用户体验的各种软件(包括软件操作系统(OS))、硬件和固件组件。

图2-4示出了用户112 在其中与典型的家庭环境200中的多媒体控制台114交互的当前的用户生成的动态虚拟世界的一个说明性的示例的图示。多媒体控制台114通常被配置为用于,通过使用诸如是电视机136的所耦合的音频/视频显示器,使用本地和/或连网的编程和内容运行游戏和非游戏应用、播放诸如是包括DVD(数字多功能光盘)和CD(压缩盘)的光盘的预先录制的多媒体、流传送来自网络的多媒体(例如,音乐和视频)、参加社交媒体、浏览互联网和其它连网的媒体和内容等。在某些实现中,多媒体控制台114可以被配置为,使用例如HDMI(高清多媒体接口)连接支持常规的有线电视(CATV)源。

多媒体控制台114运转地耦合到照相机系统128,可以使用一个或多个被配置为在视觉上监视被用户112占据的概括地说由图2中的虚线指示的物理空间205的视频照相机来实现照相机系统128。如下面详细描述的,照相机系统128被配置为捕获、跟踪和分析用户112的移动和/或手势,以使得它们可以被用作可以被用于影响例如运行在多媒体控制台114上的应用或者操作系统的控制装置。用户112的手210或者其它身体部分的各种运动可以与诸如是从主用户界面中选择游戏或者其它应用的常见的系统级任务相对应。

例如,用户112可以在包括在电视机136上的UI 134上示出的各种图标2201-N的可选择物体215中导航、随意浏览分层菜单中的项目、打开文件、关闭文件、保存文件等。另外,用户112可以使用移动和/或手势来结束、暂停或者保存游戏、选择级别、查看高分、与朋友通信等。操作系统和/或应用的实质上任何可控制的方面可以被用户112的移动控制。用户112的运动的完整范围可以通过任何适于与执行在多媒体控制台114上的应用或者操作系统交互的方式是可用的、被使用和被分析。尽管用户112在图2中被示为站立的,但照相机系统128也可以识别当用户是坐着的时被执行的手势。

照相机系统128也可以被用于捕获、跟踪和分析当游戏应用执行在多媒体控制台114上时由用户112作出的用于控制游戏玩法的移动。例如,如图3中所示,诸如是拳击游戏的游戏应用使用UI 134来向用户112提供拳击对手的视觉表示以及用户112可以利用他或者她的移动控制的玩家化身的视觉表示。用户112可以在物理空间205中作出移动(例如,出拳)以导致玩家化身在游戏空间中作出对应的移动。用户112的移动可以在物理空间205中被识别和分析,以使得用于游戏空间中的玩家化身的游戏控制的对应的移动被执行。

图4示出了使用控制器132来与在多媒体控制台114上被播放和在显示设备136上被显示的游戏122交互的用户112。如图5中所示,游戏122通常使用线框模型来代表如由标号505和510指示的在被游戏支持的虚拟世界中被使用的各种物体。线框模型由被称为“皮肤”的纹理覆盖,这种被称为“皮肤”的纹理将如由游戏开发人员选择的特定观感提供给图6中的游戏玩法屏幕截图600中示出的游戏。游戏122然后根据游戏玩法的进展将经换肤的线框模型做成动画。

图7示出了与被多媒体控制台114支持的用户生成的内容应用710和游戏122交互的说明性的虚拟世界生成平台705。虚拟世界生成平台705通常可以被实现为可以通过如所示的互联网连接来访问的基于云的服务,并且暴露合成服务715和渲染服务720。用户生成的内容应用710通常使用在本地执行的代码来实现。然而,在某些情况下,应用710可以依赖于由远程服务器或者其它计算平台提供的服务和/或远程代码(诸如是被外部的服务提供商支持的那些)执行、虚拟世界生成平台705或者其它的基于云的资源。

用户生成的内容应用710向用户112暴露多种工具。如图8中所示,这些工具800说明性地包括环境建模工具805、换肤工具810、物理系引擎工具815和编辑工具820。当可能在其它实现中被需要时,其它工具825也可以被提供。

环境建模工具805可以被配置为捕获数据,所述数据描述用户希望作为用户生成的内容的部分使用的环境。例如,如图9中所示,环境建模工具在多媒体控制台114上作为用户生成的内容应用的部分运行。运转地耦合到多媒体控制台114的照相机系统128可以捕获数据,所述数据描述控制台位于其中的特定的房间及其内容。房间及其内容在这里被集体地称为用户的环境,并且在图9中由标号900指示。内容可以包括家具和物体等(如由标号905有代表性地指示的)。由于照相机系统128包括深度感应能力,所以它可以生成在三维中描述用户的环境900的数据。

如图10中的换肤选项的分类法1000中所示,换肤工具810可以被配置为,使用户能够使用预定义的皮肤1005、用户定义的皮肤1010、由用户上传到虚拟世界生成平台705的诸如是图片、视频、媒体等的内容1015和对于给定的实现可能是合适的其它皮肤1020。

如图11中的物理系引擎的分类法1100中所示,物理系引擎工具815可以被配置为,使用户能够将各种物理系引擎应用于用户生成的内容,所述物理系引擎包括真实世界物理系1105、其它世界物理系1110(诸如是可能适用于诸如是月球、外层空间、水下等的宇宙中的其它真实地方的物理系)、卡通物理系1115(在其中,物理系的假想的法则被使用)和如对于给定的实现可能是合适的其它物理系1120。

图12是示出被用户生成的内容应用暴露的工具800与合成服务和渲染服务之间的说明性的交互的图。图13示出了与图12中所示的图相对应的一种说明性的方法1300的流程图。除非专门指出,否则在本说明书中的流程图中被示出并且在随附的文本中被描述的方法或者步骤不限于特定的次序或者顺序。另外,其方法或者步骤中的一些方法或者步骤可以并发地发生或者被执行,并且,在给定的实现中,取决于这样的实现的要求,并非全部方法或者步骤必须被执行,并且某些方法或者步骤可以可选地被使用。

在步骤1305中,用户可以对环境建模工具805进行配置,以设置各种数据捕获参数。例如,用户可能希望捕获将在用户的虚拟世界中被使用的房间的仅特定的部分。替换地,工具可以被设置为自动地运转,以使得通常几乎不需要或者不需要任何用户交互。环境建模工具805将与照相机系统和多媒体控制台互操作,以捕获描述用户的环境的数据1205,并且应用在步骤1310中将数据发送给合成服务715。

在步骤1315中,合成服务715获取数据1205以生成用户的环境的线框模型1210,并且将线框模型暴露给换肤工具810。用户在步骤1320中与换肤工具810交互以将一个或多个皮肤1215应用于线框模型,以达到期望的观感。在典型的实现中,如上面指出的,用户可以从多种预定义的皮肤中进行选择,或者工具可以使用户能够生成皮肤和/或上传图片、视频或者其它的可以在换肤过程中被使用的媒体。

在步骤1325中,合成服务715生成经换肤的模型1220。在步骤1330中,用户与物理系引擎工具交互以选择当在用户生成的动态虚拟世界中运转时可以被应用于模型的期望的物理系引擎1225。合成服务715可以在步骤1335中将游戏专用的组件1240包括在模型中。例如,这样的游戏专用的组件1240可以包括可以预期增强用户生成的动态虚拟世界、使其概括地说(例如,诸如是在观感、操作等上)是与游戏一致的和/或控制虚拟世界中的物体的行为、属性和特性以改进游戏玩法和总体用户体验的特定的内容、皮肤、模型、人物或者其它虚拟物体。

在步骤1340中,用户可以与编辑工具820交互以实现对经换肤的线框模型的用户定义的调整1235。编辑工具820可以被配置为,使用户能够微调、修正和/或调整模型的各种方面。例如,用户可能希望在虚拟世界中添加物体或者人工制品、重塑其形状、重新设置其皮肤、改变其行为、属性或者特性等。在某些实现中,虚拟世界的全局的特性和属性也可以由用户通过编辑工具进行调整。这样的特性和属性可以包括例如环境的总体照明、大小和形状以及其外形/感觉。

在步骤1345中,合成服务715生成完成的模型1230,并且在步骤1350中将其输出给渲染服务720。完成的模型1230可以在某些情况下例如使用基于云的存储器被存储以用于未来的使用,或者被多媒体控制台114下载并且被本地地存储。

图14是示出游戏122与渲染服务720之间的说明性的交互的图。渲染服务720可以暴露应用编程接口(API)1405,游戏可以对所述应用编程接口1405作出调用1410,以检索例如包括针对用户的虚拟世界的完成的模型1230的用户生成的内容。在这种情况下,游戏122可以全部地或者部分上从渲染服务720下载模型,并且就像所述模型是游戏的原生代码和/或内容的部分一样地使用所述模型来渲染游戏玩法的场面。替换地,渲染服务720可以被配置为,使用模型1230执行对场面进行渲染所需的计算中的一些计算或者全部计算,并且然后将数据递送给游戏。即,在某些实现中,渲染服务720可以作为远程服务执行支持游戏玩法所需的处理。相应地,如图15中所示,渲染服务720可以如由标号1505指示的那样异步地或者如由标号1510指示的那样同步地(即,在游戏玩法期间实时地)执行用于游戏支持的处理。

图16是用于从与图14中所示的图相对应的渲染服务720向游戏122提供用户生成的内容的一种说明性的方法1600的流程图。在步骤1605中,用户在多媒体控制台114上启动游戏122。在步骤1610中,游戏例如使用API 1405对渲染服务720作出一个或多个调用1410。响应于来自游戏122的调用1410,在步骤1615中,渲染服务720使用同步或者异步递送提供可以包括完成的模型、被渲染的场面(或者其部分)等的用户生成的内容1415。

在步骤1620中,游戏122可以将用户生成的内容1415并入游戏玩法。在步骤1625中,用户可以与具有用户生成的内容的游戏交互,或者在多玩家游戏中,玩家中的一些玩家或者全部玩家可以与用户生成的内容交互。

图17示出了可以被并入移动设备1700以捕获用户环境的各种替换的技术。移动设备1700可以包括用户设备、移动电话、蜂窝电话、特征电话、平板型计算机、智能电话、手持型计算设备、PDA(个人数字助理)、便携式媒体播放器、平板手机设备(即,组合智能电话/平板型设备)、可穿戴型计算机、诸如是GPS(全球定位系统)系统的导航设备、膝上型PC(个人计算机)、便携式游戏系统等。

移动设备1700可以包括所示的技术中的一种技术或者多种技术,所示的技术包括LIDAR(即,光雷达)传感器1705、深度照相机1710(例如,立体照相机、飞行时间照相机、红外照相机等)或者可以与3D建模器1720互操作的非深度照相机1715,所述3D建模器1720可以使用从不同的角度获取的多个2D图片生成3D模型。一个示例性3D建模器包括微软公司的PhotosynthTM

在各种替换的安排中,移动设备1700可以用于捕获除被诸如是图1-4中所示的照相机系统128的固定位置传感器感应的环境之外的用户环境。例如,移动设备1700可以捕获室内和室外两者处的跨一系列设施和位置的多种多样的用户环境,所述一系列设施和位置包括公园、城市、购物中心、感兴趣的点、建筑物、船、汽车、飞机等。在某些情况下,被捕获的环境数据可以是来自多个用户和多个移动设备的来源庞杂的,并且在某些应用中被用于在大规模基础上生成虚拟世界模型。例如,可以使用移动设备绘制整个社区或者城市的地图,以生成准确并且综合的3D虚拟世界。可以在游戏和诸如是地图和搜索服务的非游戏应用这两者中使用这样的世界。

图18示出了可以作为目标识别、分析和跟踪系统1800的部分被使用以在不使用被附着到对象的特殊感应设备的情况下识别被照相机系统监视的物理空间的捕获区域中的人类和非人类目标、唯一地标识它们并且在三维空间中跟踪它们的照相机系统128和多媒体控制台114的说明性的功能部件。照相机系统128可以被配置为,经由例如包括飞行时间、结构光、立体图像等的任何合适的技术捕获具有深度信息的视频,所述深度信息包括可以包括深度值的深度图像。在某些实现中,照相机系统128可以将所计算的深度信息组织成“Z层”或者可以是与Z轴垂直的的层,所述Z轴沿深度照相机的视线从深度照相机起延伸。

如图18中所示,照相机系统128包括图像照相机部件1805。图像照相机部件1805可以被配置为,运转为可以捕获场面的深度图像的深度照相机。深度图像可以包括所捕获的场面的二维(“2D”)像素区域,其中,2D像素区域中的每个像素可以代表从照相机被捕获的场面中的物体的诸如是例如以厘米、毫米等计的距离的深度值。在这个示例中,图像照相机部件1805包括可以如所示的那样在阵列中或者在替换的几何形状中被配置的IR光部件1810、IR照相机1815和可见光RGB照相机1820。

各种技术可以被用于捕获深度视频帧。例如,在飞行时间分析中,照相机系统128的IR光部件1810可以向捕获区域上发射红外光,并且可以然后例如使用IR照相机1815和/或RGB照相机1820检测从捕获区域中的一个或多个目标和物体的表面被反向散射的光。在某些实施例中,可以使用脉冲红外光,以使得外出光脉冲与对应的到来光脉冲之间的时间可以被测量并且被用于确定从照相机系统128到捕获区域中的目标或者物体上的特定位置的物理距离。额外地,可以将外出光波的相位与到来光波的相位进行比较以确定相移。相移可以然后被用于确定从照相机系统到目标或者物体上的特定位置的物理距离。飞行时间分析可以被用于,通过经由例如包括快门光脉冲成像的各种技术分析随时间的光的被反射的波束的强度来间接地确定从照相机系统128到目标或者物体上的特定位置的物理距离。

在其它实现中,照相机系统128可以使用结构光来捕获深度信息。在这样的分析中,可以例如经由IR光部件1810将组成图案的光(例如,被显示为诸如是网格图案或者条带图案的已知图案的光)投影到捕获区域上。当撞击捕获区域中的一个或多个目标或者物体的表面时,图案作为响应可能变成变形的。图案的这样的变形可以被例如IR照相机1815和/或RGB照相机1820捕获,并且可以然后被分析以确定从照相机系统到目标或者物体上的特定位置的物理距离。

照相机系统128可以使用可以从不同的角度查看捕获区域的两个或更多个在物理上被隔开的照相机以获得视觉立体数据,可以解析所述视觉立体数据以生成深度信息。使用单一或者多个照相机的其它类型的深度图像安排也可以被使用以创建深度图像。照相机系统128可以进一步包括麦克风1825。麦克风1825可以包括可以接收声音并且将声音转换成电信号的换能器或者传感器。麦克风1825可以被用于在目标识别、分析和跟踪系统1800中减少照相机系统128与多媒体控制台114之间的反馈。额外地,麦克风1825可以被用于,接收可以也由用户112提供的音频信号,以控制可以被多媒体控制台114执行的诸如是游戏应用、非游戏应用等的应用。

照相机系统128可以进一步包括处理器1830,处理器1830可以是通过总线1840与图像照相机部件1805运转地通信的。处理器1830可以包括可以执行指令的标准化的处理器、专业化的处理器、微处理器等,所述指令可以包括用于存储简档、接收深度图像、确定是否合适的目标可以被包括在深度图像中、将合适的目标转换成目标的骨架表示或者模型的指令或者任何其它合适的指令。照相机系统128可以进一步包括存储器部件1845,存储器部件1845可以存储可以被处理器1830执行的指令、被照相机捕获的图像或者图像的帧、用户简档或者任何其它合适的信息、图像等。根据一个示例,存储器部件1845可以包括RAM、ROM、高速缓存、闪存、硬盘或者任何其它合适的存储部件。如图18中所示,存储器部件1845可以是与图像捕获部件1805和处理器1830通信的单独的部件。替换地,存储器部件1845可以被集成到处理器1830和/或图像捕获部件1805中。在一个实施例中,照相机系统128的部件1805、1810、1815、1820、1825、1830、1840和1845中的一些部件或者全部部件位于单一的机壳中。

照相机系统128通过通信链路1850与多媒体控制台114运转地通信。通信链路1850可以是例如包括USB(通用串行总线)连接、火线连接、以太网线缆连接等的有线连接和/或诸如是无线的IEEE 802.11连接的无线连接。多媒体控制台114可以经由通信链路1845向照相机系统128提供时钟,所述时钟可以用于确定何时捕获例如场面。照相机系统128可以经由通信链路1850向多媒体控制台114提供包括可以由照相机系统128生成的骨架模型和/或脸部跟踪模型的由例如IR照相机1815和/或RGB照相机1820捕获的深度信息和图像。多媒体控制台114可以然后使用所述骨架和/或脸部跟踪模型、深度信息和所捕获的图像,以便例如创建虚拟屏幕、适配用户界面和控制应用/游戏1855。应用/游戏1855可以包括游戏122(图1)和用户生成的内容应用710(图7)。

运动跟踪引擎1860使用骨架和/或脸部跟踪模型和深度信息,以便向运行在照相机系统128被耦合到其的多媒体控制台114上的一个多个应用/游戏1855提供控制输出。所述信息也可以被手势识别引擎1865、深度图像处理引擎1870和/或操作系统1875使用。

深度图像处理引擎1870使用深度图像来跟踪物体的运动,所述物体诸如是用户和其它物体。深度图像处理引擎1870通常将向操作系统1875报告每个所检测的物体的标识和针对每个帧的该物体的位置。操作系统1875可以使用该信息,以便更新例如化身或者被显示在显示器136上的其它图像的位置或者移动,或者以便在用户界面上执行行动。

手势识别引擎1865可以使用手势库(未示出),所述手势库可以包括手势过滤器的集合,每个手势过滤器包括关于可以例如被骨架模型执行(当用户移动时)的手势的信息。手势识别引擎1865可以将采用骨架模型的形式的由照相机系统114捕获的帧以及与其相关联的移动与手势库中的手势过滤器进行比较,以标识何时用户(如由骨架模型代表的)已执行一个或多个手势。那些手势可以是与对应用的各种控制相关联的,并且指导系统打开如上面描述的经个人化的主屏幕。因此,多媒体控制台114可以使用手势库,以便解释骨架模型的移动和基于所述移动控制运行在多媒体控制台上的操作系统或者应用。

在某些实现中,可以在照相机系统128自身上直接实现由应用/游戏1855、运动跟踪引擎1860、手势识别引擎1865、深度图像处理引擎1870和/或操作系统1875提供的功能的各种方面。

图19是图1-4中所示的多媒体控制台114的说明性的功能方框图。多媒体控制台114具有中央处理单元(CPU)1901,中央处理单元1901具有1级高速缓存1902、2级高速缓存1904和闪存ROM(只读存储器)1906。1级高速缓存1902和2级高速缓存1904临时地存储数据,并且因此减少存储器访问循环的数量,因此提升处理速度和吞吐量。CPU 1901可以被配置为具有多于一个核,并且因此具有额外的1级和2级高速缓存1902和1904。闪存ROM 1906可以存储可执行代码,所述可执行代码在当多媒体控制台114被加电时的引导过程的初始阶段期间被加载。

图形处理单元(GPU)1908和视频编码器/视频编解码器(编码器/解码器)1914形成用于高速和高分辨率图形处理的视频处理管线。经由总线将数据从GPU 1908运送到视频编码器/视频编解码器1914。视频处理管线向A/V(音频/视频)端口1940输出数据,以用于向电视机或者其它显示器传输。存储器控制器1910被连接到GPU 1908,以促进对诸如但不限于是RAM的各种类型的存储器1912的处理器访问。

多媒体控制台114包括优选在模块1918上被实现的I/O控制器1920、系统管理控制器1922、音频处理单元1923、网络接口控制器1924、第一USB(通用串行总线)主机控制器1926、第二USB控制器1928和前端面板I/O子组件1930。USB控制器1926和1928充当外设控制器1942(1)和1942(2)、无线适配器1948和外部存储器设备1946(例如,闪存、外部CD/DVD ROM驱动器、可移除媒体等)的主机。网络接口控制器1924和/或无线适配器1948提供对网络(例如,互联网、家庭网络等)的接入,并且可以是包括以太网卡、调制解调器、蓝牙模块、线缆调制解调器等的多种多样的各种有线或者无线适配器部件中的任一个适配器部件。

提供系统存储器1943以存储在引导过程期间被加载的应用数据。媒体驱动器1944被提供,并且可以包括DVD/CD驱动器、硬盘驱动器或者其它可移除媒体驱动器等。媒体驱动器1944可以是在多媒体控制台114的内部或者外部的。可以由多媒体控制器114经由媒体驱动器1944访问应用数据以用于执行、回放等。经由诸如是串行ATA总线的总线或者其它高速连接(例如,IEEE 1394)将媒体驱动器1944连接到I/O控制器1920。

系统管理控制器1922提供与确保多媒体控制台114的可用性相关的多种服务功能。音频处理单元1923和音频编解码器1932形成具有高保真度和立体处理的对应的音频处理管线。经由通信链路在音频处理单元1923与音频编解码器1932之间运送音频数据。音频处理管线向A/V端口1940输出数据,以用于被外部的音频播放器或者具有音频能力的设备再现。

前端面板I/O子组件1930支持电力按钮1950和弹出按钮1952以及在多媒体控制台114的外表面上被暴露的任何LED(发光二极管)或者其它指示器的功能。系统供电模块1936向多媒体控制台114的部件提供电力。风扇1938冷却多媒体控制台114内的电路。

经由使用多种总线架构中的任何总线架构的包括串行和并行总线、存储器总线、外设总线和处理器或者本地总线的一个或多个总线将CPU 1901、GPU 1908、存储器控制器1910和多媒体控制台114内的各种其它部件互连。作为示例,这样的架构可以包括外设部件互连(PCI)总线、PCI快线总线等。

当多媒体控制台114被加电时,应用数据可以被从系统存储器1943加载到存储器1912和/或高速缓存1902和1904中,并且在CPU 1901上被执行。应用可以呈现图形用户界面,所述图形用户界面当导航到在多媒体控制台114上可用的不同媒体类型时提供一致的用户体验。在运转中,可以从媒体驱动器1944启动或者播放被包含在媒体驱动器1944内的应用和/或其它媒体,以向多媒体控制台114提供额外的功能。

可以经由简单地将系统连接到电视机或者其它显示器将多媒体控制台114运转为独立的系统。在该独立模式下,多媒体控制台114允许一个或多个用户与系统交互、看电影或者听音乐。然而,伴随集成通过网络接口控制器1924或者无线适配器1948使之可用的宽带连接,多媒体控制台114可以进一步被运转为大型网络社区中的参与者。

当多媒体控制台114被加电时,由多媒体控制台操作系统为系统使用预留所设置量的硬件资源。这些资源可以包括对存储器(例如,16 MB)、CPU和CPU循环(例如,5%)、连网带宽(例如,8 kbps)等的预留。因为在系统引导时间时预留这些资源,所以所预留的资源从应用的视图来看是不存在的。

具体地说,存储器预留优选是大得足以包含启动内核、并发的系统应用和驱动器的。CPU预留优选是恒定的,以使得,如果所预留的CPU使用不被系统应用使用,则空闲的线程将消费任何未被使用的循环。

关于GPU预留,由系统应用生成的轻量级消息(例如,弹出窗口)经由使用CPU终端来调度用于将弹出窗口渲染在覆盖中的代码而被显示。对于覆盖来说所需的存储器的量取决于覆盖区域大小,并且覆盖优选地随屏幕分辨率缩放。在完整用户界面被并发的系统应用使用的情况下,优选使用独立于应用分辨率的分辨率。缩放器可以被用于设置这个分辨率,以使得消除对变更频率和导致TV重新同步的需求。

在多媒体控制台114进行引导并且系统资源被预留之后,并发的系统应用执行,以提供系统功能。系统功能被封装在在上面描述的所预留的系统资源内执行的系统应用的集合中。操作系统内核相对于游戏应用线程标识是系统应用线程的线程。系统应用优选地被调度为以预定的时间和间隔在CPU 1901上运行,以便向应用提供一致的系统资源视图。所述调度将对于运行在控制台上的游戏应用最小化高速缓存中断。

当并发的系统应用需要音频时,由于时间敏感性,音频处理被异步地调度到游戏应用。当系统应用活跃时,多媒体控制台应用管理器(在下面被描述)控制游戏应用音频级别(例如,静音、衰减)。

输入设备(例如,控制器1942(1)和1942(2))被游戏应用和系统应用共享。输入设备不是被预留的资源,而将在系统应用与游戏应用之间被切换,以使得每个应用将具有设备的焦点。应用管理器优选地在不知道游戏应用的知识的情况下控制输入流的切换,并且驱动器维护关于焦点切换的状态信息。

图20是当前的用户生成的动态虚拟世界可以利用其被实现的诸如是PC、客户端设备或者服务器的说明性的计算机系统2000的简化方框图。计算机系统2000包括处理单元2005、系统存储器2011和将包括系统存储器2011的各种系统部件耦合到处理单元2005的系统总线2014。系统总线2014可以是使用多种总线架构中的任何总线架构的包括存储器总线或者存储器控制器、外设总线和本地总线的几种类型的总线结构中的任一种类型的总线结构。系统存储器2011包括只读存储器(“ROM”)2017和随机访问存储器(“RAM”)2021。包含诸如在启动期间帮助在计算机系统2000内的元件之间的传输信息的基本例程的基本输入/输出系统(“BIOS”)2025被存储在ROM 2017中。计算机系统2000可以进一步包括用于从和向布置在内部的硬盘(未示出)读和写的硬盘驱动器2028、用于从或者向可移除磁盘2033(例如,软盘)读或者写的磁盘驱动器2030和用于从或者向诸如是CD(压缩盘)、DVD(数字多功能光盘)或者其它光学介质的可移除光盘2043读或者写的光盘驱动器2038。硬盘驱动器2028、磁盘驱动器2030和光盘驱动器2038分别被硬盘驱动器接口2046、磁盘驱动器接口2049和光盘驱动器接口2052连接到系统总线2014。驱动器及其关联的计算机可读存储介质为计算机系统2000提供对计算机可读指令、数据结构、程序模块和其它数据的非易失性的存储。尽管该说明性的示例示出了硬盘、可移除磁盘2033和可移除光盘2043,但在当前的用户生成的动态虚拟世界的某些应用中,也可以使用可以存储可以被计算机访问的数据的诸如是盒式磁带、闪存卡、数字视频磁盘、数据盒带、随机访问存储器(“RAM”)、只读存储器(“ROM”)等的其它类型的计算机可读存储介质。另外,如本文中使用的,术语计算机可读存储介质包括一个媒体类型的一个或多个实例(例如,一个或多个磁盘、一个或多个CD等)。出于本说明书和权利要求的目的,短语“计算机可读存储介质”及其变型不包括波、信号和/或其它暂时性的和/或无形的通信介质。

包括操作系统2055、一个或多个应用程序2057、其它程序模块2060和程序数据2063的一些程序模块可以被存储在硬盘、磁盘2033、光盘2043、ROM 2017或者RAM 2021上。用户可以通过诸如是键盘2066的输入设备和诸如是鼠标的指点设备2068向计算机系统2000中输入命令和信息。其它输入设备(未示出)可以包括麦克风、操纵杆、游戏杆、碟形卫星天线、扫描仪、轨迹球、触控板、触摸屏、触摸敏感模块或者设备、手势识别模块或者设备、语音识别模块或者设备、语音命令模块或者设备等。这些和其它的输入设备通常通过被耦合到系统总线2014的串行端口接口2071被连接到处理单元2005,但可以经由诸如是并行端口、游戏端口或者USB的其它接口被连接。监视器2073或者其它类型的显示设备经由诸如是视频适配器2075的接口也被连接到系统总线2014。除了监视器2073之外,个人计算机通常包括诸如是扬声器和打印机的其它外设输出设备(未示出)。图20中所示的说明性的示例还包括主机适配器2078、小型计算机系统接口(“SCSI”)总线2083和被连接到SCSI总线2083的外部存储设备2076。

计算机系统2000可以使用与诸如是远程计算机2088的一个或多个远程计算机的逻辑连接在连网的环境中运转。远程计算机2088可以被选择为另一个个人计算机、服务器、路由器、网络型PC、对端设备或者其它常见的网络接口,并且通常包括上面关于计算机系统2000描述的元件中的许多元件或者全部元件,尽管在图20中示出了仅单一的有代表性的远程存储器/存储设备2090。图20中所描绘的逻辑连接包括局域网(“LAN”)2093和广域网(“WAN”)2095。经常例如在办公室、企业级计算机网络、内联网和互联网中部署这样的连网环境。

当在LAN连网环境中被使用时,通过网络接口或者适配器2096将计算机系统2000连接到局域网2093。当在WAN连网环境中被使用时,计算机系统2000通常包括宽带调制解调器2098、网络网关或者其它的用于建立通过诸如是互联网的广域网2095的通信的装置。经由串行端口接口2071将可以是在内部或者外部的宽带调制解调器2098连接到系统总线2014。在连网的环境中,与计算机系统2000或者其部分相关的程序模块可以被存储在远程存储器存储设备2090中。应当指出,图20中所示的网络连接是说明性的,并且取决于当前的用户生成的动态虚拟世界的应用的具体要求,可以使用其它的在计算机之间建立通信链路的装置。在某些应用中,使除多媒体控制台114之外的其它类型的计算平台能够实现当前的用户生成的动态虚拟世界可能是可取的和/或有优势的。

图21示出了能够执行本文中描述的用于用户生成的动态虚拟世界的各种组件的计算平台或者设备的说明性的架构2100。因此,图21中所说明的架构2100示出了可以被调整为适于服务器计算机、移动电话、PDA(个人数字助理)、智能电话、桌面型计算机、上网本计算机、平板型计算机、GPS(全球定位系统)设备、游戏控制台和/或膝上型计算机的架构。架构2100可以用于执行本文中呈现的组件的任一个方面。

图21中所说明的架构2100包括CPU 2102、包括RAM 2106和ROM 2108的系统存储器2104和将存储器2104耦合到CPU 2102的系统总线2110。包含诸如在启动期间帮助在架构2100内的元件之间传输信息的基本例程的基本输入/输出系统被存储在ROM 2108中。架构2100进一步包括用于存储用于实现应用、文件系统和操作系统的软件代码或者其它被计算机执行的代码的大容量存储设备2112。

通过被连接到总线2110的大容量存储控制器(未示出)将大容量存储设备2112连接到CPU 2102。大容量存储设备2112及其关联的计算机可读存储介质为架构2100提供非易失性的存储装置。尽管包含在本文中的对计算机可读存储介质的描述提到了诸如是硬盘或者CD-ROM驱动器的大容量存储设备,但本领域的技术人员应当认识到,计算机可读介质可以是任何可以被架构2100访问的可用的计算机存储介质。

作为示例而非限制,计算机可读存储介质可以包括用任何用于存储诸如是计算机可读指令、数据结构、程序模块或者其它数据的信息的方法或者技术实现的易失性和非易失性、可移除和非可移除介质。例如,计算机可读介质包括但不限于RAM、ROM、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪存或者其它固态存储器技术、CD-ROM、DVD、HD-DVD(高清DVD)、BLU-RAY或者其它光学存储装置、盒式磁带、磁带、磁盘存储装置或者其它磁性存储设备或者任何其它的可以用于存储期望的信息并且可以被架构2100访问的介质。

根据各种实施例,架构2100可以通过网络使用与远程计算机的逻辑连接在连网的环境中运转。架构2100可以通过被连接到总线2110的网络接口单元2116连接到网络。应当认识到,网络接口单元2116也可以用于连接到其它类型的网络和远程计算机系统。架构2100还可以包括用于接收并且处理来自包括键盘、鼠标或者电子触控笔(未在图21中示出)的一些其它设备的输入的输入/输出控制器2118。类似地,输入/输出控制器2118可以向显示屏、打印机或者其它类型的输出设备(也未在图21中示出)提供输出。

应当认识到,本文中描述的软件组件当被加载到CPU 2102中并且被执行时可以将CPU 2102和总体架构2100从通用计算机系统变换成被定制为促进本文中呈现的功能的专用计算系统。可以从可以单个或者集体地假设任意数量的状态的任意数量的晶体管或者其它分立的电路元件来构造CPU 2102。具体地说,CPU 2102可以响应于包含在本文中所公开的软件模块内的可执行指令而运转为有限状态机。这些计算机可执行指令可以经由指定CPU 2102如何在状态之间转变、因此对构成CPU 2102的晶体管或者其它分立的硬件元件进行变换来对CPU 2102进行变换。

对本文中呈现的软件模块进行编码也可以变换本文中呈现的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体的变换可以取决于各种因素。这样的因素的示例可以包括但不限于用于实现计算机可读存储介质的技术、计算机可读存储介质的特性被刻画为主还是辅存储装置等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则可以经由变换半导体存储器的物理状态将本文中公开的软件编码在计算机可读存储介质上。例如,软件可以变换构成半导体存储器的晶体管、电容器或者其它分立的电路元件的状态。软件也可以变换这样的部件的物理状态以在其上存储数据。

作为另一个示例,可以使用磁性或者光学技术来实现本文中公开的计算机可读存储介质。在这样的实现中,本文中呈现的软件可以变换磁性或者光学介质的物理状态(当软件被编码在其中时)。这些变换可以包括改变给定磁性介质内的特定位置的磁性特性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或者特性以改变那些位置的光学特性。对物理介质的其它变换是可能的,而不脱离本说明书的范围和精神,其中,提供前述的示例仅用于促进本讨论。

根据以上内容,应当认识到,许多类型的物理变换在架构2100中发生,以存储和执行本文中呈现的软件组件。还应当认识到,架构2100可以包括其它类型的计算设备,所述其它类型的计算设备包括手持型计算机、嵌入式计算机系统、智能电话、PDA和本领域的技术人员已知的其它类型的计算设备。还设想了架构2100可以不包括图21中所示的部件中的全部部件,可以包括未在图21中明确地示出的其它部件,或者可以使用与图21中所示的架构完全不同的架构。

基于前述内容,应当认识到,用于用户生成的动态虚拟世界的技术已在本文中被公开。尽管已使用专用于计算机结构化特征、方法和变换动作的语言、具体的计算机器和计算机可读存储介质描述了本文中呈现的主题,但应当理解,在所附权利要求中定义的发明不必限于本文中描述的具体的特征、动作或者介质。相反,作为实现权利要求的示例形式公开了具体的特征、动作和介质。

上面描述的主题仅作为说明被提供,而不应当理解为是限制的。可以对本文中描述的主题作出各种修改和改变,而不遵循所说明和描述的示例实施例和应用,并且不脱离在下面的权利要求中阐述的本发明的真正的精神和范围。

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