与基于计算机的应用的交互的制作方法

文档序号:6356387阅读:202来源:国知局
专利名称:与基于计算机的应用的交互的制作方法
技术领域
本发明涉及基于计算机的应用,尤其涉及与基于计算机的应用的交互。
背景技术
视频游戏持续变得越来越流行,且现在有越来越多的家庭拥有视频游戏控制台和 /或运行视频游戏的个人计算机。当一个或多个人正在玩视频游戏时,多个人在背景中观看 并非是不常见的。尽管玩视频游戏可能非常有趣,但看视频游戏可能不像参与那样有趣。

发明内容
公开了允许未主动参与视频游戏(例如,未玩游戏)的用户与游戏交互并影响游 戏的技术。该技术可用于除了视频游戏之外的基于计算机的应用。一个实施例包括执行基于计算机的应用,包括与一个或多个主动参与的用户交 互、自动传感未主动参与基于计算机的应用的一个或多个实体的一个或多个物理特性、确 定未主动参与基于计算机的应用的一个或多个实体执行了预定动作、响应于确定未主动参 与基于计算机应用的一个或多个实体执行了预定动作来自动改变基于计算机的应用的运 行时状况、以及自动在基于计算机的应用的用户界面中报告运行时状况的改变。一个实施例包括执行基于计算机的视频游戏,包括与被绑定到基于计算机的视频 游戏的一个或多个用户交互、从第一传感器接收关于移动对象的信息、以及自动确定并表 征移动对象的移动。移动对象包括一个或多个绑定用户,以及未绑定到基于计算机的视频 游戏的一个或多个人。该过程还包括响应于一个或多个绑定用户以及未绑定到基于计算机 的视频游戏的一个或多个人的移动来自动改变基于计算机的视频游戏。一个实施例包括具 有包含在一个或多个处理器可读存储设备上的处理器可读代码的一个或多个处理器可读 存储设备。处理器可读代码对一个或多个处理器编程来执行此处所描述的方法中的任一 个。一个实施例包括照相机(或其他类型的传感器)以及(直接或间接)连接到该照 相机的计算机。该计算机包括跟踪引擎、软件应用、识别器引擎以及多个过滤器。跟踪引擎 从照相机接收数据,并基于所接收的数据来跟踪一个或多个移动对象。跟踪引擎提供指示 对一个或多个移动对象的跟踪的输出信息。软件应用与跟踪引擎进行通信。软件应用基于 来自跟踪引擎的输出信息来与一个或多个主动参与的用户交互。识别器引擎接收来自照相 机的数据和来自跟踪引擎的输出信息,并选择性地将来自照相机的数据和来自跟踪引擎的 输出信息提供给一个或多个过滤器来作为对相应的一个或多个过滤器的输入数据。多个过 滤器中的每一过滤器接收关于照相机可感知的移动的输入数据。多个过滤器中的每一过滤 器确定并向软件应用输出未主动参与软件应用的一个或多个实体是否执行了预定动作。软 件应用响应于过滤器指示未主动参与软件应用的一个或多个实体执行了预定动作,对在软 件应用的用户界面中报告的运行时状况作出改变。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮 助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部 分中提及的任何或所有缺点的实现。


图IA和IB示出了其中用户在玩游戏的跟踪系统的示例实施方式。图2示出可用作跟踪系统的一部分的捕捉设备的示例实施方式。图3描绘骨架的示例。图4示出可被用来跟踪运动并基于所跟踪的运动来更新应用的计算系统的示例 实施方式。图5示出可被用来跟踪运动并基于所跟踪的运动来更新应用的计算系统的另一 示例实施方式。图6是描述用于与基于计算机的应用交互的过程的一个实施例的流程图。图7是描述用于自动传感环境的一个或多个物理特性的过程的一个实施例的流 程图。图8是描述用于基于所传感的一个或多个物理特性来标识动作或状况的过程的 一个实施例的流程图。图9是描述用于基于所传感的一个或多个物理特性来标识动作或状况的过程的 一个实施例的流程图。图10是描述用于基于所传感的一个或多个物理特性来标识动作或状况的过程的 一个实施例的流程图。图11是描述用于基于所传感的一个或多个物理特性来标识动作或状况的过程的 一个实施例的流程图。图12是描述用于基于所传感的一个或多个物理特性来标识动作或状况的过程的 一个实施例的流程图。
具体实施例方式计算机系统运行与一个或多个主动参与的用户进行交互的应用(例如,视频游 戏)。另外,传感一组人和/或环境的一个或多个物理特性。该组人可包括一个或多个主动 参与的用户和/或未主动参与该应用的一个或多个实体。例如,系统可传感在背景中且未 在玩视频游戏的人(例如,看其他人玩游戏的人)的移动。计算系统将确定该组(或未主 动参与应用的一个或多个实体)执行了预定动作。响应于确定该组(或未主动参与基于计 算机的应用的一个或多个实体)执行了预定动作,改变应用的运行时状况。改变运行时状 况的示例包括移动对象、改变得分、或改变视频游戏的环境状况。在一个实施例中,视频游戏系统(或其他数据处理系统)使用深度图像和/或视 觉图像来跟踪用户和对象。该跟踪随后被用来更新应用(例如,视频游戏)。因此,用户可 以通过使用用户身体的移动和/或物体绕用户的移动而非(或除了)使用控制器、遥控器、 键盘、鼠标等来操纵游戏角色或应用的其他方面。例如,视频游戏系统将基于物体的新位置 来更新在视频中显示的图像的位置或基于用户的运动来更新化身。如果房间中未在玩游戏的人执行了特定姿势,作出了各种运动或发出特定声音,则视频游戏将通过对游戏作出改 变来对该房间中未在玩游戏的人的姿势、运动和/或声音作出反应。虽然以下示例包括视频游戏系统,但本文描述的技术也适用于其他类型的数据处 理系统和/或其他类型的应用。图IA和IB示出了其中用户18在玩拳击游戏的系统10的示例实施方式。在一示 例实施方式中,系统10可被用来识别、分析和/或跟踪人类目标,如跟踪系统10范围内的 用户18或其他物体。如图IA所示,跟踪系统10可包括计算系统12。计算系统12可以是计算机、游戏 系统或控制台等等。根据一示例实施方式,计算系统12可包括硬件组件和/或软件组件,从 而使得计算系统12可用于执行诸如游戏应用、非游戏应用等的应用。在一个实施方式中, 计算系统12可包括可执行存储在用于执行本文描述的过程的处理器可读存储设备上的指 令的诸如标准化处理器、专用处理器、微处理器等处理器。如图IA所示,跟踪系统10还可包括捕捉设备20。捕捉设备20可以是,例如可用 于在视觉上监视诸如用户18的一个或多个用户从而可以捕捉、分析并跟踪一个或多个用 户所执行的姿势和/或移动,来执行应用中的一个或多个控制或动作和/或动画化化身或 屏上角色的照相机,下面将更详细地描述。根据一实施例,跟踪系统10可连接到可向诸如用户18等的用户提供游戏或应用 视觉和/或音频的音频/视觉设备16,如电视机、监视器、高清电视机(HDTV)等。例如,计 算系统12可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提 供与游戏应用、非游戏应用等相关联的音频/视觉信号。音频/视觉设备16可从计算系统 12接收音频/视觉信号,然后可向用户18输出与该音频/视觉信号相关联的游戏或应用 视觉和/或音频。根据一实施例,音频/视觉设备16可经由例如,S-视频电缆、同轴电缆、 HDMI电缆、DVI电缆、VGA电缆、分量视频电缆等连接到计算系统12。如图IA和IB所示,跟踪系统10可用于识别、分析和/或跟踪诸如用户18等的人 类目标。例如,可使用捕捉设备20来跟踪用户18,从而可以捕捉用户18的姿势和/或移动 来动画化化身或屏幕上人物,和/或可将用户18的姿势和/或移动解释为可用于影响计算 环境12所执行的应用的控制。因此,根据一实施例,用户18可移动他的或她的身体来控制 应用和/或动画化化身或屏幕上人物。类似地,跟踪系统10可用于识别、分析和/或跟踪 正在观看用户18玩游戏的人,使得这些正在观看用户18玩游戏的人的移动将在显示在音 频/视觉设备16上的拳击游戏上控制观众中的移动化身。在图IA和IB中描绘的示例中,在计算系统12上执行的应用可以是用户18正在 玩的拳击游戏。例如,计算系统12可使用音频/视觉设备16来向用户18提供拳击对手22 的视觉表示。计算系统12还可使用音频/视觉设备16来提供用户18可用他或她的移动 来控制的用户化身M的视觉表示。例如,如图IB所示,用户18可在物理空间中挥拳猛击 来使得用户化身M在游戏空间中挥拳猛击。因此,根据一示例实施例,计算机系统12和捕 捉设备20识别和分析物理空间中用户18的重拳,从而使得该重拳可被解释为对游戏空间 中的用户化身M的游戏控制和/或该重拳的运动可用于动画化游戏空间中的用户化身24。用户18的其他移动也可被解释为其他控制或动作,和/或用于动画化用户化身, 如上下快速摆动、闪避、滑步、封堵、用拳猛击或挥动各种不同的有力重拳的控制。此外,某些移动可被解释为可对应于除控制用户化身M之外的动作的控制。例如,在一实施例中, 用户可使用移动来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流等。根据另一实 施例,用户可使用移动来从主用户界面选择游戏或其他应用。因此,在示例实施例中,用户 18的全范围运动可以用任何合适的方式来获得、使用并分析以与应用进行交互。在各示例实施例中,诸如用户18等的人类目标可具有一物体。在这些实施例中, 电子游戏的用户可手持物体,从而可以使用用户和该物体的运动来调整和/或控制游戏的 参数。例如,可以跟踪并利用用户手持球拍的运动来控制电子运动游戏中的屏幕上球拍。在 另一示例实施例中,可以跟踪并利用用户手持物体的运动来控制电子格斗游戏中的屏幕上 武器。用户没有手持的物体也可被跟踪,如该用户(或一不同用户)扔出、推出或滚出的物 体或自推进的物体。除拳击之外,也可实现其他游戏。根据其他示例实施方式,跟踪系统10还可用于将目标移动解释为游戏领域之外 的操作系统和/或应用控制。例如,事实上操作系统和/或应用的任何可控方面可由诸如 用户18等目标的移动来控制。图2示出可在跟踪系统10中使用的捕捉设备20的示例实施方式。根据一示例实 施例,捕捉设备20可被配置成捕捉包括深度图像的带有深度信息的视频,该深度图像可包 括经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等的深度值。根据一实施 例,捕捉设备20可将深度信息组织为“Z层”,即可与Z轴正交的从深度相机沿着其视线延 伸的层。如图2所示,捕捉设备20可包括图像相机组件23。根据一示例实施方式,图像相 机组件23可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二 维(2-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米 等计的、所捕捉的场景中的物体距相机的距离。如图2所示,根据一示例实施方式,图像相机组件23可包括可用于捕捉场景的深 度图像的红外(IR)光组件25、三维(3-D)相机洸、和RGB相机沘。例如,在飞行时间分析 中,捕捉设备20的顶光组件25可将红外光发射到场景上,然后可使用传感器(未示出), 使用例如3-D相机沈和/或RGB相机观,来检测来自场景中的一个或多个目标和物体的表 面的反向散射光。在某些实施例中,可以使用脉冲式红外光从而可以测量出射光脉冲和相 应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到场景中的目标或对象上的 特定位置的物理距离。另外,在其他示例实施例中,可将入射光波的相位与出射光波的相位 进行比较来确定相移。然后可以使用相移来确定从捕捉设备到对象或目标上的特定位置的 距离。根据另一示例实施例,可使用飞行时间分析,通过经由包括例如快门式光脉冲成 像的各种技术来分析反射光束随时间的强度变化以间接地确定从捕捉设备20到目标或对 象上的特定位置的物理距离。在另一示例实施例中,捕捉设备20可使用结构化光来捕捉深度信息。在这样的分 析中,图案化光(即,被显示为诸如网格图案、条纹图案等已知图案或不同图案的光)可经 由例如顶光组件25被投影到场景上。在撞击到场景中的一个或多个目标或对象的表面时, 作为响应,图案可变形。图案的这种变形可由例如3-D相机沈和/或RGB相机28 (和/或 其他传感器)来捕捉,然后可被分析以确定从捕捉设备到目标或物体上的特定位置的物理距离。在一些实现中,顶光组件25与照相机M和沈分开,使得可以使用三角测量来确定 离开照相机26和观的距离。在一些实现中,捕捉设备20将包括传感顶光的专用顶传感 器或具有顶滤波器的传感器。根据另一实施例,捕捉设备20可包括两个或更多物理上分开的照相机,这些照相 机可从不同角度查看场景来获得可被解析以生成深度信息的视觉立体数据。其他类型的深 度图像传感器也可被用来创建深度图像。捕捉设备20还可包括话筒30。话筒30可包括可接收声音并将其转换成电信号的 变换器或传感器。根据一个实施方式,话筒30可用于减少目标识别、分析和跟踪系统10中 的捕捉设备20与计算系统12之间的反馈。另外,话筒30可用于接收也可被提供给计算系 统12的音频信号。在一示例实施方式中,捕捉设备20还可包括可与图像相机组件23进行通信的处 理器32。处理器32可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令包 括用于接收深度图像、生成适当的数据格式(例如,帧)并将该数据传送到计算系统12的 指令。捕捉设备20还可包括存储器组件34,存储器组件34可存储由处理器32执行的指 令、3-D相机和/或RGB相机所捕捉的图像或图像的帧、或任何其他合适的信息、图像等等。 根据一示例实施例,存储器组件34可包括随机存取存储器(RAM)、只读存储器(ROM)、高速 缓存、闪存、硬盘、或任何其他合适的存储组件。如图2所示,在一个实施方式中,存储器组 件34可以是与图像捕捉组件23和处理器32进行通信的单独的组件。根据另一实施方式, 存储器组件34可被集成到处理器32和/或图像捕捉组件23中。如图2所示,捕捉设备20可经由通信链路36与计算系统12进行通信。通信链 路36可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线 802. lib,802. llg、802. Ila或802. Iln连接等无线连接。根据一个实施方式,计算系统12 可经由通信链路36向捕捉设备20提供可用于确定例如何时捕捉场景的时钟。另外,捕捉 设备20将由例如3-D相机沈和/或RGB相机观捕捉的深度信息和视觉(例如,RGB)图 像经由通信链路36提供给计算系统12。在一个实施方式中,深度图像和视觉图像以每秒 30帧的速率传送。计算系统12然后可使用该模型、深度信息、以及所捕捉的图像来例如控 制诸如游戏或文字处理程序等的应用和/或动画化化身或屏上人物。计算系统12包括深度图像处理和骨架跟踪模块50,该模块使用深度图像来跟踪 由深度相机可检测到的一个或多个人。深度图像处理和骨架跟踪模块50向应用52提供跟 踪信息,该应用可以是视频游戏、生产性应用、通信应用或其他软件应用等。音频数据和视 觉图像数据也被提供给应用52和深度图像处理和骨架跟踪模块50。应用52将跟踪信息、 音频数据和视觉图像数据提供给识别器引擎M。在另一实施例中,识别器引擎M从深度 图像处理和骨架跟踪模块50直接接收跟踪信息,并从捕捉设备20直接接收音频数据和视 觉图像数据。识别器引擎讨与过滤器60、62、64、……、66的集合相关联,每一过滤器包括 关于可由捕捉设备20可检测的任何人或对象执行的姿势或其他动作或事件。例如,来自捕 捉设备20的数据可由过滤器60、62、64、……、66来处理,以便标识一个用户或一组用户何 时执行了一个或多个姿势或其他动作。那些姿势可与应用52的各种控制、对象或状况相关 联。由此,计算环境12可借助过滤器使用识别器引擎M来解释移动。
图2的捕捉设备20向计算系统12提供RGB图像(或其他格式或色彩空间的视觉 图像)和深度图像。深度图像可以是多个观测到的像素,其中每个观测到的像素具有观测 到的深度值。例如,深度图像可包括所捕捉的场景的二维O-D)像素区域,其中2-D像素区 域中的每一像素可具有深度值,如所捕捉的场景中的对象距捕捉设备的距离。系统将使用RGB图像和深度图像来跟踪用户的移动。例如,系统将使用深度图像 来跟踪人的骨架。可以使用许多方法来使用深度图像跟踪人的骨架。使用深度图像来跟 踪骨架的一个合适的示例在2009年10月21日提交的美国专利申请12/603,437 "Pose Tracking Pipeline (姿势跟踪流水线)”(以下称为’ 437申请)中提供,该申请通过整体 引用合并于此。‘437申请的过程包括获取深度图像,对数据进行降采样,移除和/或平滑高 变度噪声数据,标识并移除背景,以及将前景像素中的每一个分配给身体的不同部位。基于 这些步骤,系统将使使用该数据来拟合一模型并创建骨架。该骨架将包括一组关节和这些 关节之间的连接。图3示出了具有15个关节(j0、jl、j2、j3、j4、j5、j6、j7、j8、j9、jlO、 jll、jl2、jl3和jl4)的示例骨架。这些关节中的每一个表示骨架中该骨架可以在x、y、ζ 方向上枢转的位置或身体上关注的位置。也可使用用于跟踪的其他方法。合适的跟踪技 术也在以下专利申请中公开2009年5月四日提交的美国专利申请12/475,308 "Device for Identifying and Tracking MultipleHumans Over Time (用于随时间标识并足艮 踪多个人的设备)”,该申请通过整体引用合并于此;2010年1月四日提交的美国专利 申请12/696,282 "VisualBased Identity Tracking(基于视觉的身份跟踪)”,该申请 通过整体引用合并于此;2009年12月18日提交的美国专利申请12/641,788 "Motion DetectionUsing Depth Images (使用深度图像的运动检测)”,该申请通过整体引用结合于 此;以及2009年10月7日提交的美国专利申请12/575,388 "Human TrackingSystem(人 类跟踪系统)”,该申请通过整体引用合并于此。(图2所示的计算系统12的)姿势识别器引擎54与多个过滤器60、62、64、……、 66相关联来标识姿势或动作。过滤器包括定义姿势、动作或状况以及该姿势、动作或状况的 参数或元数据的信息。例如,包括一只手从身体背后到身体前方的运动的投掷可被实现为 包括表示用户的一只手从身体背后到身体前方的运动的信息的姿势,该移动将由深度相机 来捕捉。然后可为该姿势设定参数。在姿势是投掷的情况下,参数可以是该手必须达到的 阈值速度、该手必须行进的距离(绝对的,或相对于用户的整体大小)、以及识别器引擎对 发生了该姿势的置信评级。用于姿势的这些参数可以随着时间在各应用之间、在单个应用 的各上下文之间、或在一个应用的一个上下文内变化。在一个实施例中,过滤器具有多个输 入和多个输出。过滤器可以是模块化或可互换的,使得第一过滤器可用具有与第一过滤器相同数 量和类型的输入和输出的第二过滤器来替换而不更改识别器引擎体系结构的任何其他方 面。例如,可以有用于驾驶的第一过滤器,该第一过滤器取骨架数据作为输入并输出与该 过滤器相关联的姿势正在发生的置信度以及转向角。在希望用第二驾驶过滤器来替换该 第一驾驶过滤器的情况下——这可能是因为第二驾驶过滤器更高效且需要更少的处理资 源——则可以通过简单地用第二过滤器替换第一过滤器来这样做,只要第二过滤器具有相 同的输入和输出一骨架数据类型的一个输入,以及置信度类型和角度类型的两个输出。过滤器不需要具有参数。例如,返回用户的高度的“用户高度”过滤器可能不允许任何可调节的参数。替换的“用户高度”过滤器可具有可调节参数,如在确定用户的高度时 是否考虑用户的鞋、发型、头饰以及体态。对过滤器的输入可包括诸如关于用户的关节位置的关节数据,像在关节处相交的 骨所形成的角度、来自场景的RGB色彩数据、以及用户的某一方面的变化速率等内容。来自 过滤器的输出可包括诸如正作出给定姿势的置信度、作出姿势运动的速度、以及作出姿势 运动的时间等内容。姿势识别器引擎M向过滤器提供功能。在一实施例中,识别器引擎M实现的功 能包括跟踪所识别的姿势和其他输入的随时间输入(input-over-time)存档、隐马尔可夫 模型实现(其中模型化系统被假定为马尔可夫过程-其中当前状态封装了确定将来状态所 需的任何过去状态信息,因此不必为此目的而维护任何其他过去状态信息的过程-该过程 具有未知参数,并且隐藏参数是从可观察数据来确定的)、以及求解姿势识别的特定实例所 需的其他功能。过滤器60、62、64、……、66在识别器引擎M之上加载并实现,并且可利用识别器 引擎M提供给所有过滤器60、62、64、……、66的服务。在一个实施例中,识别器引擎54 接收数据来确定该数据是否满足任何过滤器60、62、64、……、66的要求。由于这些所提供 的诸如解析输入等服务是由识别器引擎讨一次性提供而非由每一过滤器60、62、64、……、 66提供的,因此这一服务在一段时间内只需被处理一次而不是在该时间段对每一过滤器处 理一次,因此减少了确定姿势所需的处理。应用52可使用识别器引擎M所提供的过滤器60、62、64、……、66,或者它可提供 其自己的、插入到识别器引擎M的过滤器。在一实施例中,所有过滤器具有启用该插入特 性的通用接口。此外,所有过滤器可利用参数,因此可使用以下单个姿势工具来诊断并调节 整个过滤器系统。关于识别器引擎M的更多信息可在2009年4月13日提交的美国专利申请 12/422, 661 "Gesture Recognizer System Architecture (姿势识别器系统体系结构),,中 找到,该申请通过整体引用合并于此。关于识别姿势的更多信息可在2009年2月23日提 交的美国专利申请12/391,150‘。tandard Gestures (标准姿势)”;以及2009年5月29日 提交的美国专利申请12/474,655 "Gesture Tool (姿势工具)”中找到。这两个申请都通 过整体引用合并于此。图4示出了计算系统的一示例实施例,该计算系统可以是图1A-2所示的用于跟踪 应用所显示的化身或其他屏幕上对象的运动和/或动画化(或以其他方式更新)化身或其 他屏幕上对象的计算系统12。诸如上面参考图1A-2所描述的计算系统12等的计算系统可 以是诸如游戏控制台等的多媒体控制台100。如图4所示,多媒体控制台100具有含有1级 高速缓存102、2级高速缓存104和闪存R0M(只读存储器)106的中央处理单元(CPU) 101。 1级高速缓存102和2级高速缓存104临时存储数据并因此减少存储器访问周期数,由此改 进处理速度和吞吐量。CPU 101可以设置成具有一个以上的核,以及由此的附加的1级和2 级高速缓存102和104。闪存ROM 106可存储在多媒体控制台100通电时在引导进程初始 化阶段加载的可执行代码。图形处理单元(GPU) 108和视频编码器/视频编解码器(编码器/解码器)114形 成用于高速、高分辨率图形处理的视频处理流水线。数据经由总线从图形处理单元108输送到视频编码器/视频编解码器114。视频处理流水线将数据输出到A/V (音频/视频)端 口 140以传输到电视机或其他显示器。存储器控制器110连接到GPU 108以方便处理器访 问各种类型的存储器112,诸如但不局限于RAM(随机存取存储器)。多媒体控制台100包括较佳地在模块118上实现的I/O控制器120、系统管理控 制器122、音频处理单元123、网络接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外围控制器142⑴-142 O)、无 线适配器148、和外置存储器设备146 (例如闪存、外置⑶/DVD ROM驱动器、可移动介质等) 的主机。网络接口 1 和/或无线适配器148提供对网络(例如,因特网、家庭网络等)的 访问并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有 线和无线适配器组件中任何一种。提供系统存储器143来存储在引导进程期间加载的应用数据。提供媒体驱动器 144且其可包括DVD/⑶驱动器、蓝光驱动器、硬盘驱动器、或其它可移动媒体驱动器等。媒 体驱动器144对于多媒体控制台100可以内置或外置的。应用程序数据可经由媒体驱动器 144访问,以由多媒体控制台100执行、回放等。媒体驱动器144经由诸如串行ATA总线或 其他高速连接(例如IEEE 1394)等总线连接到I/O控制器120。系统管理控制器122提供涉及确保多媒体控制台100的可用性的各种服务功能。 音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的对应的音频处理 流水线。音频数据经由通信链路在音频处理单元123与音频编解码器132之间传输。音频 处理流水线将数据输出到A/V端口 140以供外部音频用户或具有音频能力的设备再现。前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮150 和弹出按钮152以及任何LED(发光二极管)或其它指示器的功能。系统供电模块136向 多媒体控制台100的组件供电。风扇138冷却多媒体控制台100内的电路。CPU 101、GPU 108、存储器控制器110、和多媒体控制台100内的各个其它组件经 由一条或多条总线互连,包括串行和并行总线、存储器总线、外围总线、和使用各种总线架 构中任一种的处理器或局部总线。作为示例,这种架构可以包括外围部件互连(PCI)总线、 PCI-Express 总线等。当多媒体控制台100通电时,应用数据可从系统存储器143加载到存储器112和/ 或高速缓存102、104中并在CPU 101上执行。应用可呈现在导航到多媒体控制台100上可 用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144中 包含的应用和/或其它媒体可从媒体驱动器144启动或播放,以向多媒体控制台100提供 附加功能。多媒体控制台100可通过将该系统简单地连接到电视机或其它显示器而作为独 立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看 电影、或听音乐。然而,随着通过网络接口 1 或无线适配器148可用的宽带连接的集成, 多媒体控制台100还可作为较大网络社区中的参与者来操作。当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作 系统作系统使用。这些资源可以包括存储器保留(例如,16MB)、CPU和GPU周期(例如, 5%)、网络带宽(例如,SlAs)等。因为这些资源是在系统引导时保留的,所以所保留的资 源对应用而言是不存在的。
具体地,存储器保留较佳地足够大,以包含启动内核、并发系统应用和驱动程序。 CPU保留较佳地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任 何未使用的周期。对于GPU保留,通过使用GPU中断来显示由系统应用生成的轻量消息(例如,弹出 窗口),以调度代码来将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区域大 小,并且覆盖图较佳地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情 况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频 率,也就不会引起TV重新同步。在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用来提供系 统功能。系统功能被封装在一组在上述所保留的系统资源中执行的系统应用中。操作系统 内核标识是系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间 并以预定时间间隔在CPU 101上运行,以便为应用提供一致的系统资源视图。进行调度是 为了把由在控制台上运行的游戏应用所引起的高速缓存分裂最小化。当并发系统应用需要音频时,则由于时间敏感性而异步调度音频处理给游戏应 用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平 (例如,静音、衰减)。输入设备(例如,控制器142(1)和142( )由游戏应用和系统应用共享。输入设 备不是所保留的资源,但却在系统应用和游戏应用之间切换以使其各自具有设备的焦点。 应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维持有 关焦点切换的状态信息。照相机26J8和捕捉设备20可经由USB控制器1 或其他接口 来定义控制台100的附加输入设备。图5示出了计算系统200的另一示例实施例,该计算系统可用于实现图1A-2所示 的用于跟踪应用所显示的化身或其他屏幕上对象的运动和/或动画化(或以其他方式更 新)化身或其他屏幕上对象的计算系统12。计算系统环境220只是合适的计算系统的一 个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计算系 统220解释为对示例性操作系统220中示出的任一组件或其组合有任何依赖性或要求。在 某些实施方式中,所描绘的各种计算元素可包括被配置成实例化本公开的各具体方面的电 路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬 件组件。在其他示例实施方式中,术语电路可包括由实施可用于执行功能的逻辑的软件指 令配置的通用处理单元、存储器等。在电路包括硬件与软件组合的示例实施方式中,实现者 可编写实施逻辑的源代码且该源代码可被编译成可由通用处理单元处理的机器可读代码。 因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎 没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具 体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可 被变换成等价的软件进程。因此,对于硬件实现还是软件实现的选择是设计选择并留给实 现者。计算系统220包括计算机Ml,计算机241通常包括各种计算机可读介质。计算机 可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易失性介质、 可移动和不可移动介质。系统存储器222包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM) 223和随机存取存储器(RAM) 2600基本输入/输出系统 224 (BIOS)包括如在启动时帮助在计算机Ml内的元件之间传输信息的基本例程,它通常 储存在ROM 223中。RAM 260通常包含处理单元259可以立即访问和/或目前正在操作的 数据和/或程序模块。作为示例而非限制,图5示出了操作系统225、应用程序226、其它程 序模块227和程序数据228。计算机241还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介 质。仅作为示例,图5示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器238,对可 移动、非易失性磁盘2M进行读写的磁盘驱动器239,以及对诸如CD ROM或其它光学介质 等可移动、非易失性光盘253进行读写的光盘驱动器M0。可以在示例性操作环境中使用 的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存 卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器238通常由诸如接口 234等不可移动存储器接口连接至系统总线221,磁盘驱动器239和光盘驱动器240通常由 诸如接口 235等可移动存储器接口连接至系统总线221。以上描述和在图5中示出的驱动器及其相关联的计算机存储介质为计算机241提 供对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图5中,硬盘驱动器 238被示为存储操作系统258、应用程序257、其它程序模块256和程序数据255。注意,这 些组件可以与操作系统225、应用程序226、其他程序模块227和程序数据2 相同,也可以 与它们不同。操作系统258、应用程序257、其他程序模块256和程序数据255在这里被标 注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘251 和定点设备252 (通常被称为鼠标、跟踪球或触摸垫),向计算机241输入命令和信息。其他 输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些 和其他输入设备通常由耦合至系统总线的用户输入接口 236连接至处理单元259,但也可 以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB),来连接。照相 机沈、观和捕捉设备20可经由用户输入接口 236来定义控制台100的附加输入设备。监 视器242或其他类型的显示设备也经由接口,诸如视频接口 232,连接至系统总线221。除 监视器以外,计算机也可以包括其它外围输出设备,诸如扬声器244和打印机M3,它们可 以通过输出外围接口 233连接。捕捉设备20可经由输出外围接口 233、网络接口 237或其 他接口连接到计算系统220。计算机241可使用至一个或多个远程计算机,诸如远程计算机M6的逻辑连接 在网络化环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等 设备或其他常见网络节点,且通常包括上文相对于计算机241描述的许多或所有元件,但 在图5中只示出存储器存储设备M7。图中所示逻辑连接包括局域网(LAN) 245和广域网 (WAN) M9,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联 网和因特网中是常见的。当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连接至LAN 2450当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因 特网等WAN 249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以经由 用户输入接口 236或其他适当的机制连接至系统总线221。在网络化环境中,相对于计算机 241所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非局限,图5示出应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示例性的,且 可以使用在计算机之间建立通信链路的其他手段。图4或5的系统中的任一个或不同计算系统可用于实现图2的计算系统12。如 上所述,计算系统12确定用户的运动,并采用这些检测到的运动来控制视频游戏或其他应 用。例如,用户的运动可用于控制视频游戏中的化身和/或对象。在某些实施例中,系统可 同时跟踪多个用户,并允许多个用户的运动来控制或影响应用。在一个实施例中,为了使用户的运动用于控制应用,用户必须首先加入或绑定到 该应用。例如,当玩视频游戏时,系统可询问多少用户将玩该游戏。在用户用用户数量来响 应之后,系统将要求每一用户标识他或她自身。在一个实施例中,将要求每一用户通过站在 系统前方以使得可从该用户的多个角度获得深度图像和/或视觉图像来标识他或她自身。 例如,在获得深度图像和视觉图像时,可要求用户站在照相机前方、转身、并作出各种姿态。 在系统获得了足够的深度和/或视觉图像之后,系统将从图像中创建一组唯一地标识用户 的标识数据。系统将创建唯一标识,并将该唯一标识与游戏/应用中的实体(例如,化身) 或其他对象相关联。在用户加入(或绑定到)应用之后,系统将在该用户主动参与应用(例 如,玩游戏或使用该应用)时跟踪该用户的运动。然而,在过去,房间中未主动参与应用(例 如,未绑定到应用、绑定到应用但未玩当前游戏、或绑定到应用但当前没有轮到玩)的其他 人没有办法与应用交互。图6是描述用于运行/实现允许未主动参与应用的人与该应用交互的应用的过程 的一个实施例的流程图。在图6的步骤340,应用52与主动参与应用52的一个或多个绑定 用户交互。计算系统12将传感、检测并计算各种用户的移动,且该移动将用于控制视频游 戏或其它类型的应用。例如,用户的移动可用于控制化身。或者,游戏控制器可用于控制化 身。在图6的步骤342,系统将自动传感可由捕捉设备20检测的环境的一个或多个物 理特性。这包括检测作为主动参与应用52的绑定用户的一个或多个实体的物理特性,传感 未主动参与应用52的一个或多个实体的一个或多个特性,和/或其它环境状况(例如,光 照、对象的移动等)。在步骤344,系统将基于来自步骤342的所传感的一个或多个物理特 性来标识发生了动作或存在状况。在步骤346,系统将响应于步骤344中标识动作或状况来自动改变应用52的运行 时状况。例如,系统将确定房间中的一个或多个人做出了特定运动或执行了特定动作。响 应于该运动或动作,系统将改变关于游戏的某些东西。可响应于识别动作或状况来做出的 对游戏或应用的改变的示例包括(但不限于)基于背景中的一组人的欢呼或移动的水平来 改变用户之一的得分,基于房间中背景状况(例如,光照或移动)来改变环境中的背景状况 (例如,天气或光照),响应于房间中的人的移动来移动化身或其它对象(例如,如果一个或 多个绑定用户正在玩涉及船上的运输的视频游戏,且房间中的多个背景人站起来,则这可 导致视频游戏中该船摇晃),由于玩游戏的人的背景中的移动或状况(例如,欢呼的量)而 改变视频游戏中的化身的能力(例如,增加击球手或拳击手的力量)。或者,视频游戏中的 人群噪声可与玩该视频游戏的人的房间中的噪声成比例。在另一替换方案中,视频游戏中 的人群噪声可响应于在坐在或站在玩该视频游戏的用户的背景中的一个或多个人中检测 到的情感。在非视频游戏示例中,用户界面的亮度可基于房间中的亮度或一个或多个人离捕捉设备20的距离来改变。或者,字体大小可以响应于人接近或远离捕捉设备20行走来 改变。在图6的步骤348,在应用52的用户界面中报告对应用52的改变。例如,如果得 分改变,则将在用户界面中更新该得分。如果视频游戏中的任何对象移动或以其它方式改 变外观,则将在该视频游戏的用户界面中描绘外观改变。类似地,字体大小或亮度可在应用 52的用户界面中改变。在其它实施例中,应用中的改变也可经由电子邮件、文本消息、打印 输出、扬声器等来报告。图6所描绘的步骤的次序仅是一个可能的示例。图6的步骤也可按其它次序来执 行。或者,许多步骤可同时执行。例如,包括应用与绑定用户交互的步骤340可在一段延长 的时间内执行,在该段时间期间,重复执行步骤342-348。图7是描述用于自动传感环境的一个或多个物理特性的一个实施例的流程图,这 些物理特性包括未主动参与应用的一个或多个实体以及主动参与的绑定用户的特性。图7 的过程是图6的步骤342的一个示例实现。在图7的步骤402中,捕捉设备20将传感深度 图像。在步骤404,该深度图像将发送到计算系统12。在步骤406,捕捉设备20将传感视觉 图像。在步骤408,该视觉图像将发送到计算系统12。在步骤410,捕捉设备20将传感音频 数据。在步骤412,该音频数据将发送到计算系统12。在步骤414,深度图像处理和骨架跟 踪50将基于深度图像、视觉图像和/或音频数据来更新运动跟踪。在步骤416,深度图像、 视觉图像和/或音频数据以及跟踪信息将提供给识别器引擎M。在步骤418,识别器引擎 54将处理所接收的数据,然后在步骤420中调用适当的一个或多个过滤器。回头参考图6,步骤344包括基于来自步骤342的所传感的一个或多个物理特性来 标识动作或状况。在一个实施例中,步骤344由过滤器60、62、64、……、66(参见图2)来 执行。在一个示例中,对于应用希望检测的每一动作,将有一个单独的过滤器。在其它实现 中,一个过滤器可确定一个以上姿势或动作。如关于图7所解释的,识别器引擎M将在应 用的整个执行期间接收数据。所采用的每一过滤器将向识别器引擎M注册,包括指示它期 待什么数据。当识别器引擎M看见对特定过滤器的数据可用时,识别器引擎M将调用适 当的过滤器(图7的步骤420)。有可能同时或以重叠的方式调用许多过滤器。识别器引 擎M调用来寻找特定一组一个或多个姿势或动作的每一过滤器将自动基于所传感的物理 特性来标识动作或状况。当过滤器确定它所寻找的特定姿势或动作已经发生时,该过滤器 将向应用52报告该信息。图8-12是描述可用于实现图6的步骤344的各种过滤器60、62、 64、……、66的操作的流程图。图8是描述检测一组人的移动的过滤器的操作的流程图。在一个实施例中,该过 滤器的输出告知应用52捕捉设备20前面的一组人是否向左移动、向右移动、向前移动或向 后移动。在某些实施例中,该过滤器还将提供移动的幅度的指示。在步骤502,该过滤器将 接收新的深度图像信息、跟踪数据和视觉图像信息。在其它实施例中,将该信息的一子集提 供给过滤器。例如,过滤器可以只对深度图像信息、只对跟踪数据、只对视觉图像、或对这三 者中的两者进行操作。在步骤504,过滤器将标识前景色块(blob)的位置。例如,使用本领 域已知的技术,该系统可以在深度图像或视觉图像中在前景和背景像素之间进行区分。一 个示例是扣除连续图像。正在移动的色块是前景像素,且被假定为是在捕捉设备20前面的 人。在步骤506,过滤器将访问关于图8的过程的先前的色块以及先前的迭代的位置数据。在步骤508,过滤器将基于当前和先前数据来标识集体组的移动。由此,系统将查看图像历 史,并确定集体色块集合是否正在向左、向右、向前和/或向后移动。在步骤510 (任选),系统将试图标识对应于特定一人的特定色块。这与查看色块 的集体并确定色块的集体是否正在特定方向上移动的先前步骤相反。如果在房间中有一个 人在与该组的其余人不同的方向上移动,则将在步骤510中标识该人,并且先前数据将与 该色块相关联来确定该人移动的方向。在步骤512,确定该组(或特定一人)的移动是否大于阈值。阈值可以基于应用的 要求或基于实验来设置。如果移动大于阈值,则在步骤514报告该移动。在一个实现中,过 滤器将报告集体组是否向左移动、向右移动、向前移动或向后移动。任选地,过滤器可报告 移动的幅度。另外(且任选地),系统将报告特定一人是否在与该组的其余人不同的方向上 移动。如果在步骤512确定该移动不大于阈值移动量,则过滤器将不向应用52报告任何东 西。在另一替换方案中,该系统将对每一可能的移动方向使用单独的过滤器。例如,将 有试图检测向左移动的一个过滤器,用于检测向右移动的第二过滤器,用于检测朝向照相 机的移动的第三过滤器,以及用于检测远离照相机的移动的第四过滤器。这些过滤器中的 每一个将如图8的流程图中所述的那样来操作,除了步骤508中对移动的标识将仅在对应 于该过滤器的单个方向上且步骤514的报告将仅针对与该过滤器相关联的特定方向。除了跟踪移动之外,过滤器还可用于标识特定姿势。例如,如果一组中的多个人在 空中举起他们的手,则这可触发视频游戏中的动作。或者,如果背景中的多个人以某一次 序站起来,则这可触发视频棒球游戏(或其它体育赛事)中的狂热者在运动场中表演波浪 (按序站起来)。在一个实施例中,该系统可具有用于跟踪若干姿势的若干过滤器,其中每 一过滤器试图标识一不同的姿势。图9描绘了描述标识一特定姿势的过滤器的操作的一个 实施例的流程图。在图9的步骤602,该过滤器如上所述从深度图像处理和骨架跟踪50接 收骨架跟踪数据。在步骤604,该过滤器将访问先前的跟踪数据。在步骤606,该过滤器将 试图标识与该特定过滤器相关联的姿势。在步骤608,确定是否识别了该姿势。如果该姿势 被识别,则在步骤610,将该姿势报告给应用52。如果该姿势未被识别,则过滤器将不向应 用52报告(步骤612)。在一个实施例中,每次从捕捉设备20提供深度图像时,深度图像处理和骨架跟踪 50将更新骨架跟踪并将骨架跟踪数据提供给执行图9的过程的过滤器。每次过滤器接收到 该骨架跟踪数据时,将启动图9的过程。注意,关于姿势的更多信息可以在以下三个通过整 体引用合并于此的专利申请中找到2009年5月四日提交的美国专利申请第12/475,208 号“Gestures Beyond Skeletal (骨架外姿势)” ;2009年2月23日提交的美国专利申请 12/391, 150 "MandardGestures(标准姿势)”;以及2009年5月29日提交的美国专利申 请 12/474,655 "Gesture Tool (姿势工具)”。图10是描述确定房间中的亮度等级是否改变的过滤器的一个实施例的流程图。 例如,应用52可使用该亮度变化来改变应用52的亮度、字体大小或其它特性。在步骤652, 过滤器从识别器引擎M接收视觉图像。在步骤654,过滤器访问先前一组接收到的视觉图 像。在步骤656,过滤器将当前视觉图像的亮度与先前视觉图像的亮度进行比较来查看是否 有亮度变化。如果亮度变化大于阈值(步骤658),则过滤器将亮度变化报告给应用52。在
16一个实施例中,过滤器将报告视觉图像比先前图像亮还是暗。如果亮度变化不大于阈值,则 过滤器不向应用52报告(步骤662)。图11是描述由确定房间中是否产生了某些声音的过滤器执行的过程的一个实施 例的流程图。如果检测到这样的声音,则应用52可改变视频游戏中的声音(增加或减小背 景噪声/欢呼),改变在视频游戏中进行一事件的化身的物理能力,在生产性软件程序中执 行命令,等等。在图11的步骤682中,过滤器从识别器引擎讨接收声音数据。在步骤684, 该过滤器访问先前的声音数据。在步骤686,过滤器将当前声音数据的音量与先前声音数据 的音量进行比较。如果音量差异大于阈值(步骤688),则在步骤690将该音量变化报告给 应用52。如果音量变化不大于阈值,则过滤器不向应用52报告(步骤692)。在一替换实施例中,代替试图标识音量是否改变达某一阈值,过滤器可检测是否 出现了某种声音(例如,预定的音高范围或预定的音调范围),并基于检测预定声音来报
生 I=I O在另一实施例中,过滤器可检测捕捉设备20前面的一个或多个人(包括绑定到游 戏的人和未绑定且未主动参与游戏的人)是否经历预定义情感。如果检测到一个或多个人 展示了该预定义情感,则应用可改变一个或多个特性,如增加视频游戏的背景中的人群的 欢呼,改变化身的情感,撤消对文字处理程序做出的改变,等等。图12描绘了描述由过滤器执行来检测并报告情感的过程的一个实施例的流程 图。在图12的步骤702,过滤器将接收视觉图像。在步骤704,该系统将访问先前的视觉图 像。在步骤706,过滤器将搜索来自步骤702和704的视觉图像中的脸部。本领域中已知 有许多用于搜索脸部的过程,许多过程适用于本实现。在步骤708,确定在当前图像和足够 数量的先前图像中是否找到脸部。如果在当前视觉图像和/或足够的先前视觉图像中未找 到脸部,则系统中止且不报告任何东西(步骤710)。如果在当前视觉图像和足够数量的先 前图像中找到脸部,则在步骤712,过滤器将检查脸部的表情。存在许多过滤器能查找的表 情。图12提供了三个示例。在第一示例中,在步骤712A,系统可检查嘴来查找微笑。在第 二示例中,在步骤712B,系统将检查眼睛来查找睁大。在第三示例中,在步骤712C,过滤器 将检查嘴来查找向下弯曲以及眉毛的皱起(例如,指示皱眉)。在一个实施例中,系统将查 找所有三个表情。在另一实施例中,每一过滤器将仅查找一个表情。在其它实施例中,可标 识其它表情。每一表情对应于一情感。例如,微笑对应于高兴,眼睛睁大对应于惊讶,以及 皱眉对应于不高兴。如果标识了表情(步骤714),则在步骤716将该对应的情感报告给应 用。如果未标识表情(步骤714),则不向应用52报告任何东西(步骤718)。在另一实施 例中,对所搜索的每一运动可以有单独的过滤器。使用以上技术,系统将使用深度图像、视觉图像和/或音频信息来观察并标识容 纳捕捉设备20的房间中的各种动作、姿势或状况。以此方式,未主动参与并与应用交互 的一个或多个人将使其动作或姿势引起对应用的改变;由此,向这些本来未主动参与应用 (例如,视频游戏)的人提供了对正在发生的事情的更大兴趣。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权 利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为 实现权利要求的示例形式公开的。本发明的范围旨在由所附权利要求书来定义。
权利要求
1.一种用于与基于计算机的应用交互的方法,包括执行所述基于计算机的应用,包括与一个或多个主动参与的用户交互(340); 自动传感一个或多个未主动参与所述基于计算机的应用的实体的一个或多个物理特 性(342);确定所述一个或多个未主动参与所述基于计算机的应用的实体执行了预定动作 (344);响应于确定一个或多个未主动参与所述基于计算机的应用的实体执行了预定动作,自 动改变所述基于计算机的应用的运行时状况(346);以及在所述基于计算机的应用的用户界面中自动报告所述运行时状况的改变(348)。
2.如权利要求1所述的方法,其特征在于所述自动传感一个或多个物理特性包括传感深度图像; 所述预定动作是姿势;以及所述确定所述一个或多个未主动参与所述基于计算机的应用的实体执行了预定动作 包括使用所述深度图像来标识所述姿势。
3.如权利要求1所述的方法,其特征在于所述自动传感一个或多个物理特性包括传感深度图像和传感视觉图像; 所述预定动作是姿势;以及所述确定所述一个或多个未主动参与所述基于计算机的应用的实体执行了预定动作 包括使用所述深度图像和所述视觉图像来标识所述姿势。
4.如权利要求1所述的方法,其特征在于所述自动传感一个或多个物理特性包括传感一个或多个声音;以及 所述确定所述一个或多个未主动参与所述基于计算机的应用的实体执行了预定动作 包括使用所述一个或多个声音来确定预定声音事件已发生。
5.如权利要求1-4中的任一项所述的方法,其特征在于 所述基于计算机的应用是视频游戏;以及所述改变所述基于计算机的应用的运行时状况包括改变所述视频游戏中的项目的外观。
6.如权利要求1-4中的任一项所述的方法,其特征在于 所述基于计算机的应用是视频游戏;以及所述改变所述基于计算机的应用的运行时状况包括改变所述视频游戏的得分。
7.如权利要求1-4中的任一项所述的方法,其特征在于,还包括使用还传感关于一个或多个未主动参与的用户的信息的传感器来检测所述一个或多 个未主动参与所述基于计算机的应用的实体的情感,所述自动改变运行时状况是响应于检 测到所述情感来执行的。
8.如权利要求1-4中的任一项所述的方法,其特征在于所述确定所述一个或多个未主动参与所述基于计算机的应用的实体执行了预定动作 包括标识作为一个组来执行的动作。
9.如权利要求1所述的方法,其特征在于所述传感一个或多个未主动参与所述基于计算机的应用的实体的一个或多个物理特性包括传感一个组的运动;所述确定所述一个或多个未主动参与所述基于计算机的应用的实体执行了预定动作 包括标识所述组的个人的动作;以及所述改变运行时状况是基于所述个人的动作来执行的。
10.一种计算系统,包括 照相机00);以及连接到所述照相机的计算机(12),所述计算机包括从所述照相机接收数据并跟踪一个或多个移动对象的跟踪引擎(50),所述跟踪引擎提 供指示所述一个或多个移动对象的跟踪的输出信息,与所述跟踪引擎通信的软件应用(52),所述软件应用基于来自所述跟踪引擎的输出信 息与一个或多个主动参与的用户进行交互,多个过滤器(60、62、64、66),所述多个过滤器中的每一过滤器接收关于所述照相机能 感知的移动的输入数据,且所述多个过滤器中的每一过滤器确定并向所述软件应用输出一 个或多个未主动参与所述软件应用的实体是否执行了预定动作,响应于所述过滤器指示一 个或多个未主动参与所述软件应用的实体执行了预定动作,所述软件应用对在所述软件应 用的用户界面中报告的运行时状况做出改变,以及识别器引擎(M),所述识别器引擎接收来自所述照相机的数据和来自所述跟踪引擎的 输出信息,并选择性地将来自所述照相机的数据和来自所述跟踪引擎的输出信息提供给所 述过滤器中的一个或多个作为用于相应的一个或多个过滤器的输入数据。
11.如权利要求10所述的计算系统,其特征在于 所述照相机包括深度传感器;以及来自所述照相机的数据包括深度图像。
12.如权利要求11所述的计算系统,其特征在于 所述软件应用是视频游戏;以及对所述运行时状况的改变是响应于一个或多个未主动参与所述视频游戏的实体的移 动的一对象的移动。
13.如权利要求10所述的计算系统,其特征在于 所述软件应用是视频游戏;以及所述多个过滤器中的每一过滤器确定并向所述视频游戏输出一个或多个未主动参与 软件应用的实体是否执行了不同姿势。
14.如权利要求10所述的计算系统,其特征在于 所述软件应用是视频游戏;以及所述多个过滤器中的一个特定过滤器确定并向所述视频游戏输出一个组是否作为集 体执行了预定运动,所述组包括未主动参与所述软件应用的实体和主动参与所述软件应用 的实体。
全文摘要
本发明公开了一种与基于计算机的应用的交互系统和方法。计算系统运行与一个或多个主动参与的用户交互的应用(例如,视频游戏)。传感一组的一个或多个物理特性。该组可包括一个或多个主动参与的用户和/或一个或多个未主动参与应用的实体。计算系统将确定该组(或一个或多个未主动参与应用的实体)执行了预定动作。响应于确定该组(或一个或多个未主从参与基于计算机的应用的实体)执行了预定动作,改变应用的运行时状况。改变运行时状况的示例包括移动对象、改变得分、或改变视频游戏的环境状况。
文档编号G06F3/01GK102135799SQ20111006593
公开日2011年7月27日 申请日期2011年3月11日 优先权日2010年3月12日
发明者C·维劳比, D·本纳特, J·T·斯蒂德, K·盖斯那, M·T·米赫利趣, M·库希尔, R·马尔科维奇, S·C·赖特, S·G·拉塔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1