首页 / 专利库 / 生物工程 / 生物工程 / 仿生学 / 仿生学运动

仿生学运动

阅读:241发布:2020-05-11

专利汇可以提供仿生学运动专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 仿生学 运动系统和方法。能传感用户的运动的相机被连接到计算系统(例如,视频游戏装置或其它类型的计算机)。该计算系统确定对应于所传感的用户的运动的动作,并确定所传感的用户的运动的幅度。该计算系统创建并显示对象(例如,视频游戏中的 化身 )以相比于所传感的运动按照与所确定的幅度成比例的因子放大的方式来执行动作的动画。该计算系统还创建并输出与所传感的用户的运动的幅度成比例的音频/ 视觉反馈 。,下面是仿生学运动专利的具体信息内容。

1.一种用于提供放大运动的方法,包括:
使用相机来传感用户的运动(302);
响应于传感所述用户的运动,创建并显示对象以相比于所述用户的运动被放大的方式执行所述用户的运动的动画(310和312);以及
创建并输出与所传感的用户的运动的幅度成比例的音频/视觉反馈(310和312)。
2.如权利要求1所述的方法,其特征在于:
所述使用相机来传感运动包括使用深度相机来传感深度图像并从所述深度图像中确定所述用户的运动。
3.如权利要求1或2所述的方法,其特征在于,还包括:
确定所传感的用户的运动的幅度,所述用户的运动按照与所传感的用户的运动的幅度成比例的因子来放大。
4.如权利要求1、2或3所述的方法,其特征在于:
所述创建并显示对象执行所述用户的运动的动画包括创建并显示所述对象在用户开始所述运动时开始所述运动并在用户完成所述运动时完成所述运动。
5.如权利要求1-4中的任一项所述的方法,其特征在于,还包括:
确定用户执行所述运动的意图,所述创建并显示动画基于所确定的意图。
6.如权利要求1-5中的任一项所述的方法,其特征在于:
所述对象是视频游戏中的化身;以及
所述方法还包括基于在所述用户的运动的时间所述视频游戏中的化身的上下文来确定放大所述用户的运动。
7.如权利要求1-6中的任一项所述的方法,其特征在于,还包括:
确定对应于所述用户的运动的姿势,所述对象执行所述用户的运动的动画包括所述对象执行所述姿势。
8.如权利要求1所述的方法,其特征在于,还包括:
确定对应于所述用户的运动的动作,所述对象执行所述用户的运动的动画包括所述对象执行所述动作。
9.如权利要求8所述的方法,其特征在于,还包括:
确定所传感的用户的运动的幅度,所述用户的运动按照与所传感的用户的运动的所确定的幅度成比例的因子来放大,所述使用相机来传感运动包括使用深度相机来传感深度图像并从所述深度图像中确定所述用户的运动,所述对象是视频游戏中的化身。
10.一种能提供放大运动的系统,包括:
能传感用户的运动的相机(20);以及
连接到所述相机来接收来自所述相机的数据的计算机(12),所述数据指示所述用户的运动,所述计算机确定对应于所传感的用户的运动的动作,并确定所传感的用户的运动的幅度,所述计算机创建并显示视频游戏中的化身以相比于所传感的运动按照与所确定的幅度成比例的因子放大的方式执行所述动作的动画。
11.如权利要求10所述的系统,其特征在于:
所述相机是深度相机,且来自所述相机的数据包括深度图像。
12.如权利要求10或11所述的系统,其特征在于:
所述动作是姿势;以及
所述视频游戏中的化身执行所述动作的动画包括所述化身执行所述姿势。
13.如权利要求10、11或12所述的系统,其特征在于:
所述计算机确定用户执行所述运动的意图,所述计算机基于所确定的意图来创建并显示所述动画。
14.如权利要求10-13中的任一项所述的系统,其特征在于:
所传感的运动的幅度包括每时间间隔的距离。
15.如权利要求10所述的系统,其特征在于:
所述计算机创建并显示视频游戏中的化身执行所述动作的动画,使得所述化身在所述用户开始所述动作时开始所述动作,并且所述对象在所述用户结束所述动作时结束所述动作。

说明书全文

仿生学运动

技术领域

[0001] 本发明涉及运动传感系统,尤其涉及运动传感系统中的仿生学运动跟踪和显示。

背景技术

[0002] 诸如计算机游戏、多媒体应用等的许多计算应用使用控制命令来允许用户操纵游戏色或应用的其他方面。通常,此类控制命令使用例控制器、遥控器、键盘鼠标等来输入。不幸的是,这些控制命令可能是难以学习的,由此造成了用户和这些游戏及应用之间的障碍。此外,这些控制命令可能与这些控制命令所用于的实际游戏动作或其他应用动作不同。例如,使得游戏角色挥动棒球拍的游戏控制命令可能不与挥动棒球拍的实际动作相对应。

发明内容

[0003] 此处所公开的是用于跟踪用户或其它物体的运动的系统和方法。所跟踪的运动随后被用来更新应用。例如,用户可以通过使用用户身体和/或用户周围物体的移动而非(或作为补充)使用控制器、遥控器、键盘、鼠标等来操纵化身或应用的其他方面。提供了能在虚拟世界中放大用户的运动来创建更引人注目的体验的技术。例如,用户的小的跳跃可转换成虚拟世界游戏中的化身的非常高的跳跃。
[0004] 一个实施例包括使用相机来传感用户的运动。响应于传感用户的运动,该系统创建并显示对象以相比于用户的运动被放大的方式执行用户的运动的动画。该系统创建并输出与所传感的用户的运动的幅度成比例的音频/视觉反馈
[0005] 一个实施例包括能传感用户的运动的相机以及连接到该相机来接收来自该相机的数据的计算机。该数据指示用户的运动。该计算机确定对应于所传感的用户的运动的动作,并确定所传感的用户的运动的幅度。该计算机创建并显示视频游戏中的化身以相比于所传感的运动被放大的方式执行该动作的动画。该动作按照与所传感的用户的运动的所确定的幅度成比例的因子来放大。
[0006] 一个实施例包括一个或多个处理器可读存储设备,其具有包含在该一个或多个处理器可读存储设备上的处理器可读代码。处理器可读代码对一个或多个处理器编程来执行一种方法,该方法包括从相机接收指示用户的运动的数据,确定对应于所接收的数据所指示的用户的运动的动作(包括确定用户开始该动作以及确定用户结束该动作),以及创建并显示应用中的对象以相比于所传感的用户的运动被放大的方式来执行动作的动画,使得该对象在用户开始该动作时开始该动作,并且该对象在用户结束该动作时结束该动作。
[0007] 提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。附图说明
[0008] 图1A和1B示出了其中用户在玩游戏的跟踪系统的示例实施例。
[0009] 图2示出可用作跟踪系统的一部分的捕捉设备的示例实施例。
[0010] 图3描绘骨架的示例。
[0011] 图4示出可被用来跟踪运动并基于所跟踪的运动来更新应用的计算系统的示例实施例。
[0012] 图5示出可被用来跟踪运动并基于所跟踪的运动来更新应用的计算系统的另一示例实施例。
[0013] 图6是描述用于与基于计算机的应用交互,包括放大运动以便在应用中创建仿生学运动的过程的一个实施例的流程图
[0014] 图7是描述用于确定用户的动作是否能被放大的过程的一个实施例的流程图。
[0015] 图8是描述用于确定用户运动的放大对于应用的当前上下文是否适当的过程的一个实施例的流程图。
[0016] 图9是描述用于创建示出放大的运动的动画的过程的一个实施例的流程图。
[0017] 图10图形地描绘了确定用于创建放大的运动的比例因子的一个示例。
[0018] 图11是描述用于绘制执行放大的运动的化身的过程的一个实施例的流程图。

具体实施方式

[0019] 视频游戏系统(或其他数据处理系统)使用深度图像和/或视觉图像来跟踪用户和物体。该跟踪随后被用来更新应用(例如,视频游戏)。因此,用户可以通过使用用户身体和/或用户周围的物体的移动而非(或作为补充)使用控制器、遥控器、键盘、鼠标等来操纵游戏人物或应用的其他方面。例如,用户的运动可用于驱动虚拟世界中的化身的移动。化身将执行与用户相同(或相似)的动作。
[0020] 在某些情形中,化身将执行用户正在执行的动作;然而,化身将以相比于用户的运动被放大的方式来执行该动作。例如,化身将比用户显著跳得更高、比用户蹲得更低、比用户投得更用,等等。放大可以按照与所确定的用户的幅度成比例的因子来进行。例如,用户跳得越快,则化身将跳得越高。视频游戏系统还将创建并输出与用户的运动的幅度成比例的音频/视觉反馈。
[0021] 虽然以下示例包括视频游戏系统,但本文描述的技术也适用于其他类型的数据处理系统和/或其他类型的应用。
[0022] 图1A和1B示出了其中用户18在玩拳击游戏的系统10的示例实施方式。在一示例实施方式中,系统10可被用来识别、分析和/或跟踪人类目标,如跟踪系统10范围内的用户18或其他物体。
[0023] 如图1A所示,跟踪系统10可包括计算系统12。计算系统12可以是计算机、游戏系统或控制台等等。根据一示例实施方式,计算系统12可包括硬件组件和/或软件组件,从而使得计算系统12可用于执行诸如游戏应用、非游戏应用等的应用。在一个实施方式中,计算系统12可包括可执行存储在处理器可读存储设备上的用于执行本文描述的过程的指令的处理器,如标准化处理器、专用处理器、微处理器等。
[0024] 如图1A所示,跟踪系统10还可包括捕捉设备20。捕捉设备20可以是,例如可用于在视觉上监视诸如用户18等一个或多个用户,从而可以捕捉、分析并跟踪一个或多个用户所执行的姿势和/或移动,来执行应用中的一个或多个控制命令或动作和/或动画化化身或屏上人物的相机,下面将更详细地描述。
[0025] 根据一个实施方式,跟踪系统10可连接到可向诸如用户18等的用户提供游戏或应用视觉和/或音频的视听设备16,如电视机、监视器、高清电视机(HDTV)等。例如,计算系统12可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备16可从计算系统12接收视听信号,然后可向用户18输出与视听信号相关联的游戏或应用视觉和/或音频。根据一个实施方式,视听设备16可经由例如,S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆、分量视频电缆等连接到计算系统12。
[0026] 如图1A和1B所示,跟踪系统10可用于识别、分析和/或跟踪诸如用户18等的人类目标。例如,可使用捕捉设备20来跟踪用户18,从而可以捕捉用户18的姿势和/或移动来动画化化身或屏幕上人物,和/或可将用户18的姿势和/或移动解释为可用于影响计算环境12所执行的应用的控制命令。因此,根据一实施例,用户18可移动他的或她的身体来控制应用和/或动画化化身或屏幕上人物。
[0027] 在图1A和1B中描绘的示例中,在计算系统12上执行的应用可以是用户18正在玩的拳击游戏。例如,计算系统12可使用视听设备16来向用户18提供拳击对手22的视觉表示。计算系统12还可使用视听设备16来提供用户18可用他的或她的移动来控制的用户化身24的视觉表示。例如,如图1B所示,用户18可在物理空间中挥重拳来使得用户化身24在游戏空间中挥重拳。因此,根据一示例实施方式,计算系统12和捕捉设备20识别并分析物理空间中用户18的重拳从而使得该重拳可被解释为对游戏空间中的用户化身24的游戏控制和/或该重拳的运动可用于动画化游戏空间中的用户化身24。
[0028] 用户18的其他移动也可被解释为其他控制命令或动作,和/或用于动画化用户化身,如上下快速摆动、闪避、滑步、封堵、用拳猛击或挥动各种不同力量的重拳的控制命令。此外,某些移动可被解释为可对应于除控制用户化身24之外的动作的控制命令。例如,在一实施例中,用户可使用移动来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流等。根据另一实施例,用户可使用移动来从主用户界面选择游戏或其他应用。因此,在示例实施例中,用户18的全范围运动可以用任何合适的方式来获得、使用并分析以与应用进行交互。
[0029] 在各示例实施例中,诸如用户18等的人类目标可具有一物体。在这些实施例中,电子游戏的用户可手持物体从而可以使用用户和物体的运动来调整和/或控制游戏的参数。例如,可以跟踪并利用用户手持球拍的运动来控制电子运动游戏中的屏幕上球拍。在另一示例实施例中,可以跟踪并利用用户手持物体的运动来控制电子格斗游戏中的屏幕上武器。用户没有手持的物体也可被跟踪,如该用户(或一不同用户)扔出、推出或滚出的物体或自推进的物体。除拳击之外,也可实现其他游戏。
[0030] 根据其他示例实施方式,跟踪系统10还可用于将目标移动解释为游戏领域之外的操作系统和/或应用控制命令。例如,事实上操作系统和/或应用的任何可控方面可由诸如用户18等目标的移动来控制。
[0031] 图2示出可在跟踪系统10中使用的捕捉设备20的示例实施方式。根据一示例实施例,捕捉设备20可被配置成经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等来捕捉包括深度图像的带有深度信息的视频,该深度图像可包括深度值。根据一实施例,捕捉设备20可将深度信息组织为“Z层”,即可与Z轴正交的从深度照相机沿着其视线延伸的层。
[0032] 如图2所示,捕捉设备20可包括相机组件23。根据一示例实施方式,相机组件23可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的物体距相机的距离。
[0033] 如图2所示,根据一示例实施方式,图像相机组件23可包括可用于捕捉场景的深度图像的红外(IR)光组件25、三维(3-D)相机26、和RGB(视觉图像)相机28。例如,在飞行时间分析中,捕捉设备20的IR光组件25可将红外光发射到场景上,然后可使用传感器(未示出),使用例如3-D照相机26和/或RGB照相机28,来检测来自场景中的一个或多个目标和物体的表面的反向散射光。在某些实施例中,可以使用脉冲式红外光从而可以测量出射光脉冲和相应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到场景中的目标或对象上的特定位置的物理距离。另外,在其他示例实施例中,可将入射光波的相位与出射光波的相位进行比较来确定相移。然后可以使用相移来确定从捕捉设备到对象或目标上的特定位置的距离。
[0034] 根据另一示例实施例,可使用飞行时间分析,通过经由包括例如快式光脉冲成像的各种技术来分析反射光束随时间的强度变化以间接地确定从捕捉设备20到目标或对象上的特定位置的物理距离。
[0035] 在另一示例实施例中,捕捉设备20可使用结构化光来捕捉深度信息。在这样的分析中,图案化光(即,被显示为诸如网格图案、条纹图案等已知图案或不同图案的光)可经由例如IR光组件24被投影到场景上。在撞击到场景中的一个或多个目标或对象的表面时,作为响应,图案可变形。图案的这种变形可由例如3-D相机26和/或RGB相机28(和/或其他传感器)来捕捉,然后可被分析以确定从捕捉设备到目标或物体上的特定位置的物理距离。在一些实现中,IR光组件25与相机25和26分开,使得可以使用三角测量来确定距相机25和26的距离。在一些实现中,捕捉设备20将包括传感IR光的专用IR传感器或具有IR滤波器的传感器。
[0036] 根据另一实施例,捕捉设备20可包括两个或更多物理上分开的照相机,这些照相机可从不同角度查看场景来获得可被解析以生成深度信息的视觉立体数据。其他类型的深度图像传感器也可被用来创建深度图像。
[0037] 捕捉设备20还可包括话筒30。话筒30可包括可接收声音并将其转换成电信号的变换器或传感器。根据一个实施方式,话筒30可用于减少目标识别、分析和跟踪系统10中的捕捉设备20与计算系统12之间的反馈。另外,话筒30可用于接收也可被提供给计算系统12的音频信号
[0038] 在一示例实施方式中,捕捉设备20还可包括可与图像相机组件22进行通信的处理器32。处理器32可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令包括用于接收深度图像、生成适当的数据格式(例如,)并将该数据传送到计算系统12的指令。
[0039] 捕捉设备20还可包括存储器组件34,存储器组件34可存储由处理器32执行的指令、3-D相机和/或RGB相机所捕捉的图像或图像的帧、或任何其他合适的信息、图像等等。根据一示例实施方式,存储器组件34可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2所示,在一个实施方式中,存储器组件34可以是与图像捕捉组件22和处理器32进行通信的单独的组件。根据另一实施方式,存储器组件34可被集成到处理器32和/或图像捕捉组件22中。
[0040] 如图2所示,捕捉设备20可经由通信链路36与计算系统12进行通信。通信链路36可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线802.11b、802.11g、802.11a或802.11n连接等无线连接。根据一个实施方式,计算系统12可经由通信链路36向捕捉设备20提供可用于确定例如何时捕捉场景的时钟。另外,捕捉设备20将由例如3-D相机26和/或RGB相机28捕捉的深度信息和视觉(例如,RGB)图像经由通信链路36提供给计算系统12。在一个实施方式中,深度图像和视觉图像以每秒
30帧的速率传送。计算系统12然后可使用该模型、深度信息、以及所捕捉的图像来例如控制诸如游戏或文字处理程序等的应用和/或动画化化身或屏上人物。
[0041] 计算系统12包括深度图像处理和骨架跟踪模50,该模块使用深度图像来跟踪可由深度相机检测的一个或多个人。深度图像处理和骨架跟踪模块50向应用196提供跟踪信息,该应用可以是视频游戏、生产性应用、通信应用或其他软件应用等。音频数据和视觉图像数据也被提供给应用52和深度图像处理和骨架跟踪模块50。应用52将跟踪信息、音频数据和视觉图像数据提供给识别器引擎54。在另一实施例中,识别器引擎54从深度图像处理和骨架跟踪模块50直接接收跟踪信息,并从捕捉设备20直接接收音频数据和视觉图像数据。
[0042] 识别器引擎54与过滤器60、62、64、……、66的集合相关联,每一过滤器包括关于可由捕捉设备20检测的任何人或对象执行的姿势、动作或状况的信息。例如,来自捕捉设备20的数据可由过滤器60、62、64、……、66来处理,以便标识一个用户或一组用户何时执行了一个或多个姿势或其他动作。那些姿势可与应用52的各种控制、对象或状况相关联。由此,计算环境12可借助过滤器使用识别器引擎54来解释移动。
[0043] 图2的捕捉设备20向计算系统12提供RGB图像(或其他格式或色彩空间的视觉图像)和深度图像。深度图像可以是多个观测到的像素,其中每个观测到的像素具有观测到的深度值。例如,深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一像素可具有深度值,如所捕捉的场景中的对象距捕捉设备的距离。
[0044] 系统将使用RGB图像和深度图像来跟踪用户的移动。例如,系统将使用深度图像来跟踪人的骨架。可以使用许多方法来使用深度图像跟踪人的骨架。使用深度图像跟踪骨架的一个合适的示例在2009年10月21日提交的Craig等人发明的美国专利申请12/603,437“Pose Tracking Pipeline(姿势跟踪流线)”(此后称为‘437申请’)中提供,该专利申请整体通过引用结合于此。‘437申请的过程包括获取深度图像,对数据进行降采样,移除和/或平滑高变度噪声数据,标识并移除背景,以及将前景像素中的每一个分配给身体的不同部位。基于这些步骤,系统将使一模型拟合到该数据并创建骨架。该骨架将包括一组关节和这些关节之间的连接。图3示出了具有15个关节(j0、j1、j2、j3、j4、j5、j6、j7、j8、j9、j10、j11、j12、j13和j14)的示例骨架。这些关节中的每一个表示骨架中该骨架可以在x、y、z方向上枢转的位置或身体上关注的位置。也可使用用于跟踪的其他方法。合适的跟踪技术也在以下四个美国专利申请中公开,所有这些申请都通过整体引用结合于此:2009年5月29日提交的美国专利申请12/475,308“Device for Identifying and Tracking MultipleHumans Over Time(用于随时间标识并跟踪多个人类的设备)”;2010年
1月29日提交的美国专利申请12/696,282“Visual Based Identity Tracking(基于视觉的身份跟踪)”;2009年12月18日提交的美国专利申请12/641,788“MotionDetection Using Depth Images(使用深度图像的运动检测)”;以及2009年10月7日提交的美国专利申请12/575,388“Human Tracking System(人类跟踪系统)”。
[0045] (图2所示的计算系统12的)识别器引擎54包括多个过滤器60、62、64、……、66来标识姿势或动作。过滤器包括定义姿势、动作或状况以及该姿势、动作或状况的参数或元数据的信息。例如,包括一只手从身体背后到身体前方的运动的投掷可被实现为包括表示用户的一只手从身体背后到身体前方的运动的信息的姿势,该移动将由深度相机来捕捉。然后可为该姿势设定参数。在姿势是投掷的情况下,参数可以是该手必须达到的阈值速度、该手必须行进的距离(绝对的,或相对于用户的整体大小)、以及识别器引擎对发生了该姿势的置信评级。用于姿势的这些参数可以随着时间在各应用之间、在单个应用的各上下文之间、或在一个应用的一个上下文内变化。
[0046] 过滤器可以是模块化的或是可互换的。在一个实施例中,过滤器具有多个输入(这些输入中的每一个具有一类型)以及多个输出(这些输出中的每一个具有一类型)。第一过滤器可用具有与第一过滤器相同数量和类型的输入和输出的第二过滤器来替换而不更改识别器引擎体系结构的任何其他方面。例如,可以有用于驾驶的第一过滤器,该第一过滤器取骨架数据作为输入并输出与该过滤器相关联的姿势正在发生的置信度以及转向角。在希望用第二驾驶过滤器来替换该第一驾驶过滤器的情况下——这可能是因为第二驾驶过滤器更高效且需要更少的处理资源——则可以通过简单地用第二过滤器替换第一过滤器来这样做,只要第二过滤器具有相同的输入和输出-骨架数据类型的一个输入,以及置信度类型和角度类型的两个输出。
[0047] 过滤器不需要具有参数。例如,返回用户的高度的“用户高度”过滤器可能不允许任何可调节的参数。替换的“用户高度”过滤器可具有可调节参数,如在确定用户的高度时是否考虑用户的、发型、头饰以及体态。
[0048] 对过滤器的输入可包括诸如关于用户的关节位置的关节数据、在关节处相交的骨所形成的角度、来自场景的RGB色彩数据、以及用户的某一方面的变化速率等内容。来自过滤器的输出可包括诸如正作出给定姿势的置信度、作出姿势运动的速度、以及作出姿势运动的时间等内容。
[0049] 识别器引擎54可具有向过滤器提供功能的基本识别器引擎。在一实施例中,识别器引擎54实现的功能包括跟踪所识别的姿势和其他输入的随时间输入(input-over-time)存档、隐尔可夫模型实现(其中模型化系统被假定为马尔可夫过程-其中当前状态封装了确定将来状态所需的任何过去状态信息,因此不必为此目的而维护任何其他过去状态信息的过程-该过程具有未知参数,并且隐藏参数是从可观察数据来确定的)、以及求解姿势识别的特定实例所需的其他功能。
[0050] 过滤器60、62、64、……、66在识别器引擎54之上加载并实现,并且可利用识别器引擎54提供给所有过滤器60、62、64、……、66的服务。在一个实施例中,识别器引擎54接收数据来确定该数据是否满足任何过滤器60、62、64、……、66的要求。由于这些所提供的诸如解析输入等服务是由识别器引擎54一次性提供而非由每一过滤器60、62、64、……、66提供的,因此这一服务在一段时间内只需被处理一次而不是在该时间段对每一过滤器处理一次,因此减少了确定姿势所需的处理。
[0051] 应用52可使用识别器引擎54所提供的过滤器60、62、64、……、66,或者它可提供其自己的、插入到识别器引擎54中的过滤器。在一实施例中,所有过滤器具有启用该插入特性的通用接口。此外,所有过滤器可利用参数,因此可使用以下单个姿势工具来诊断并调节整个过滤器系统。
[0052] 关于识别器引擎54的更多信息可在2009年4月13日提交的美国专利申请12/422,661“Gesture Recognizer System Architecture(姿势识别器系统体系结构)”中找到,该申请通过整体引用合并于此。关于识别姿势的更多信息可在2009年2月23日提交的美国专利申请12/391,150“Standard Gestures(标准姿势)”;以及2009年5月29日提交的美国专利申请12/474,655“Gesture Tool(姿势工具)”中找到,这两个申请都通过整体引用结合于此。
[0053] 图4示出了计算系统的一示例实施例,该计算系统可以是图1A-2所示的用于跟踪应用所显示的化身或其他屏幕上对象的运动和/或动画化(或以其他方式更新)化身或其他屏幕上对象的计算系统12。诸如上面参考图1A-2所描述的计算系统12等的计算系统可以是诸如游戏控制台等的多媒体控制台100。如图4所示,多媒体控制台100具有含有一级高速缓存102、二级高速缓存104和闪存ROM(只读存储器)106的中央处理单元(CPU)101。一级高速缓存102和二级高速缓存104临时存储数据并因此减少存储器访问周期数,由此改进处理速度和吞吐量。CPU 101可以设置成具有一个以上的核,以及由此的附加的一级和二级高速缓存102和104。闪存ROM 106可存储在多媒体控制台100通电时在引导进程初始化阶段加载的可执行代码。
[0054] 图形处理单元(GPU)108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速、高分辨率图形处理的视频处理流水线。数据经由总线从图形处理单元108输送到视频编码器/视频编解码器114。视频处理流水线将数据输出到A/V(音频/视频)端口140以传输到电视机或其他显示器。存储器控制器110连接到GPU 108以方便处理器访问各种类型的存储器112,诸如但不局限于RAM(随机存取存储器)。
[0055] 多媒体控制台100包括较佳地在模块118上实现的I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一USB主控制器126、第二USB控制器128和前面板I/O子部件130。USB控制器126和128用作外围控制器142(1)-142(2)、无线适配器148、和外置存储器设备146(例如闪存、外置CD/DVD ROM驱动器、可移动介质等)的主机。网络接口124和/或无线适配器148提供对网络(例如,因特网、家庭网络等)的访问并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线和无线适配器组件中任何一种。
[0056] 提供系统存储器143来存储在引导进程期间加载的应用数据。提供媒体驱动器144且其可包括DVD/CD驱动器、蓝光驱动器、硬盘驱动器、或其它可移动媒体驱动器等。媒体驱动器144对于多媒体控制台100可以内置或外置的。应用数据可经由媒体驱动器144访问,以由多媒体控制台100执行、回放等。媒体驱动器144经由诸如串行ATA总线或其他高速连接(例如IEEE 1394)等总线连接到I/O控制器120。
[0057] 系统管理控制器122提供涉及确保多媒体控制台100的可用性的各种服务功能。音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的对应的音频处理流水线。音频数据经由通信链路在音频处理单元123与音频编解码器132之间传输。音频处理流水线将数据输出到A/V端口140以供外部音频用户或具有音频能力的设备再现。
[0058] 前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮150和弹出按钮152以及任何LED(发光二极管)或其它指示器的功能。系统供电模块136向多媒体控制台100的组件供电。扇138冷却多媒体控制台100内的电路
[0059] CPU 101、GPU 108、存储器控制器110、和多媒体控制台100内的各个其它组件经由一条或多条总线互连,包括串行和并行总线、存储器总线、外围总线、和使用各种总线架构中任一种的处理器或局部总线。作为示例,这种架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。
[0060] 当多媒体控制台100通电时,应用数据可从系统存储器143加载到存储器112和/或高速缓存102、104中并在CPU 101上执行。应用可呈现在导航到多媒体控制台100上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144中包含的应用和/或其它媒体可从媒体驱动器144启动或播放,以向多媒体控制台100提供附加功能。
[0061] 多媒体控制台100可通过将该系统简单地连接到电视机或其它显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口124或无线适配器148可用的宽带连接的集成,多媒体控制台100还可作为较大网络社区中的参与者来操作。
[0062] 当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可以包括存储器保留(例如,16MB)、CPU和GPU周期(例如,5%)、网络带宽(例如,8kbs)等。因为这些资源是在系统引导时保留的,所以所保留的资源对应用而言是不存在的。
[0063] 具体地,存储器保留较佳地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留较佳地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
[0064] 对于GPU保留,通过使用GPU中断来显示由系统应用生成的轻量消息(例如,弹出窗口),以调度代码来将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图较佳地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率,也就不会引起TV重新同步。
[0065] 在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用来提供系统功能。系统功能被封装在一组在上述所保留的系统资源中执行的系统应用中。操作系统内核标识是系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU 101上运行,以便为应用提供一致的系统资源视图。进行调度是为了把由在控制台上运行的游戏应用所引起的高速缓存分裂最小化。
[0066] 当并发系统应用需要音频时,则由于时间敏感性而异步调度音频处理给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。
[0067] 输入设备(例如,控制器142(1)和142(2))由游戏应用和系统应用共享。输入设备不是所保留的资源,但却在系统应用和游戏应用之间切换以使其各自具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维持有关焦点切换的状态信息。照相机26、28和捕捉设备20可经由USB控制器126或其他接口来定义控制台100的附加输入设备。
[0068] 图5示出了计算系统220的另一示例实施例,该计算系统可用于实现图1A-2所示的用于跟踪应用所显示的化身或其他屏幕上对象的运动和/或动画化(或以其他方式更新)化身或其他屏幕上对象的计算系统12。计算系统环境220只是合适的计算系统的一个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计算系统220解释为对示例性操作系统220中示出的任一组件或其组合有任何依赖性或要求。在某些实施方式中,所描绘的各种计算元素可包括被配置成实例化本公开的各具体方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件开关来执行功能的专用硬件组件。在其他示例实施方式中,术语电路可包括由实施可用于执行功能的逻辑的软件指令配置的通用处理单元、存储器等。在电路包括硬件与软件组合的示例实施方式中,实现者可编写实施逻辑的源代码且该源代码可被编译成可由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。因此,对于硬件实现还是软件实现的选择是设计选择并留给实现者。
[0069] 计算系统220包括计算机241,计算机241通常包括各种计算机可读介质。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器222包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)223和随机存取存储器(RAM)260。基本输入/输出系统224(BIOS)包括如在启动时帮助在计算机241内的元件之间传输信息的基本例程,它通常储存在ROM 223中。RAM 260通常包含处理单元259可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图5示出了操作系统225、应用程序226、其它程序模块227和程序数据228。
[0070] 计算机241还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图5示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器238,对可移动、非易失性磁盘254进行读写的磁盘驱动器239,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘253进行读写的光盘驱动器240。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器238通常由诸如接口234等不可移动存储器接口连接至系统总线221,磁盘驱动器239和光盘驱动器240通常由诸如接口235等可移动存储器接口连接至系统总线221。
[0071] 以上描述和在图5中示出的驱动器及其相关联的计算机存储介质为计算机241提供对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图5中,硬盘驱动器238被示为存储操作系统258、应用程序257、其它程序模块256和程序数据255。注意,这些组件可以与操作系统225、应用程序226、其他程序模块227和程序数据228相同,也可以与它们不同。操作系统258、应用程序257、其他程序模块256和程序数据255在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘251和定点设备252(通常被称为鼠标、跟踪球或触摸垫),向计算机241输入命令和信息。其他输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其他输入设备通常由耦合至系统总线的用户输入接口236连接至处理单元259,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB),来连接。相机26、28和捕捉设备20可经由用户输入接口236来定义控制台100的附加输入设备。监视器242或其他类型的显示设备也经由接口,诸如视频接口232,连接至系统总线221。除监视器以外,计算机也可以包括其它外围输出设备,诸如扬声器244和打印机243,它们可以通过输出外围接口233连接。捕捉设备20可经由输出外围接口233、网络接口237或其他接口连接到计算系统220。
[0072] 计算机241可使用至一个或多个远程计算机,诸如远程计算机246的逻辑连接在网络化环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,且通常包括上文相对于计算机241描述的许多或所有元件,但在图5中只示出存储器存储设备247。图中所示逻辑连接包括局域网(LAN)245和广域网(WAN)249,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
[0073] 当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连接至LAN245。当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因特网等WAN 249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以经由用户输入接口236或其他适当的机制连接至系统总线221。在网络化环境中,相对于计算机
241所描述的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非局限,图
5示出应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他手段。
[0074] 图4或5的系统中的任一个或不同计算系统可用于实现图2的计算系统12。如上所述,计算系统12确定用户的运动,并采用这些检测到的运动来控制视频游戏或其他应用。例如,用户的运动可用于控制视频游戏中的化身和/或对象。在某些实施例中,系统可同时跟踪多个用户,并允许多个用户的运动控制应用。
[0075] 上述视频游戏系统将使用深度图像和/或视觉图像来跟踪用户和对象。该跟踪随后被用来更新应用(例如,视频游戏)。因此,用户可通过使用用户的身体和/或用户周围的物体的移动来操纵游戏人物或应用的其它方面。例如,用户的运动可用于确定虚拟世界中的化身的移动。化身将执行与用户相同(或相似)的动作。在某些情形中,化身将执行用户正在执行的动作;然而,化身将以相比于用户的运动被放大的方式来执行该动作。
[0076] 图6是描述用于在用户和应用之间的交互期间提供放大的运动的过程的一个实施例的流程图。在以下讨论中,视频游戏将被用作应用的一个示例。然而,图6(以及图7-11)的过程也适用于其它类型的应用。在图6的步骤302,系统将使用(如上所述的)深度相机和/或视频相机来传感用户的运动。在步骤304,系统将确定预期动作。例如,系统将识别姿势的开始或预定义动作的开始。预定义动作的一个示例是跳或蹲。也可包括其他动作。在一个实施例中,如上所述地跟踪骨架,以便标识指示跳或蹲或其它动作的特定关节的运动。在某些实施例中,系统将不能从所发送的运动中确定预期动作。在一个实施例中,如上所讨论的,系统通过使用过滤器60、62、64、……、66,结合识别器引擎54(见图2)来识别/确定用户的动作。
[0077] 在步骤306,系统确定预期动作是否是能被放大的动作。系统将被配置成使得某些动作能被放大而其它动作不能被放大。在一个实施例中,仅跳和蹲能被放大。在另一实施例中,仅跳、蹲、手臂摆动、猛击和投掷能被放大。在其它实施例中,其它动作集能被放大。
[0078] 如果预期动作不是能被放大的动作,则在步骤314,系统将与用户交互而不放大任何动作。如果预期动作是能被放大的动作,则在步骤308,确定应用的上下文是否适合放大。例如,系统将基于正在玩的视频游戏的上下文来确定放大动作是否适当。例如,如果视频游戏中的化身在洞穴或具有非常低的天花板的房间中,且用户执行了跳跃,则放大该跳跃不是适当的。如果应用的上下文不适合放大,则应用将与用户交互(步骤314)而不放大用户的动作。然而,如果上下文适合放大用户的动作,则在步骤310,系统将创建描绘该化身执行与用户相同的移动的动画;然而,该化身的移动相比于用户将被放大,所有这些都是响应于传感用户的运动来进行的。在一个实施例中,用户的动作的放大量将按照与用户的运动的幅度成比例的因子,这将在下文中描述。另外,在一个实施例中,将创建动画来与用户的移动同步,使得化身将在用户开始和停止用户的移动的同时开始和停止该动画。另外,在步骤
312,系统将向用户提供与所传感的用户的运动的幅度成比例的音频/视觉反馈。出于本文的目的,“音频/视觉”包括仅音频、仅视觉、或音频和视觉的组合。在步骤314,系统将继续与用户交互。图6的过程可被连续重复。
[0079] 尽管图6以顺序的次序示出了各步骤,但这些步骤可以按不同次序来执行。另外,且有可能,系统将同时执行这些步骤中的许多步骤。例如,在步骤314,应用与用户交互能在执行其它步骤302-312的同时发生。在一个实施例中,与用户交互的步骤314在执行图6的整个时间期间执行。在某些实施例中,步骤302的运动传感被连续地执行,并且在确定预期动作时,可执行动作302-312。另外,步骤310和312可被同时执行,使得该动画被实时地创建并显示。另外,步骤310-312可与传感用户的对应运动(步骤302)同时执行,使得该动画与用户的移动同步地显示。
[0080] 图7是描述用于某一特定动作是否能被放大的过程的一个实施例的流程图。图7的过程是图6的步骤306的一个示例实现。在步骤402,系统将访问能被放大的动作的列表。在一个实施例中,特定应用的创建者将提供可被放大的动作的预定义列表。在另一实施例中,能被放大的每一动作与一过滤器(见图2的过滤器60、62、64、……、66)相关联,使得步骤402将包括访问过滤器列表。在步骤404,应用将确定用户预期的动作是否在能被放大的动作的列表上。如果是,则得出用户的该特定动作能被放大的结论(步骤406);否则,用户预期的动作不能被放大(步骤408)。
[0081] 图8是描述用于确定应用的当前上下文是否适合放大的过程的一个实施例的流程图。图8的过程是图6的步骤308的一个示例实现。在图8的步骤452,应用将访问虚拟世界中的化身的位置。在步骤454,应用将确定用户预期的动作的放大形式在当前位置是否可被允许。如果是,则该上下文适合放大(步骤456);否则,该上下文不适合放大(步骤458)。
[0082] 图9是描述用于创建描绘放大的移动的动画和音频/视觉反馈的过程的一个实施例的流程图。图9的过程是图6的步骤310的一个示例实现。在图9的步骤502,系统将确定移动的幅度。在一个实施例中,步骤502包括确定速度、速率、加速度、距离和/或定时信息。在一个示例中,系统将确定在时间段P期间用户移动的距离的单位量。在一个示例中,P可以是一秒;然而,可使用其它时间段。距离单位可以是米、厘米、英寸等。
[0083] 在步骤504,系统将访问比例参数。例如,系统将采用要用作乘数的数字来创建对应于用户的移动的、化身的移动的放大。在一个实施例中,该乘数可以是整数。在其它实施例中,可使用更复杂的数学函数来标识适当的乘数。该乘数可以基于用户的移动的幅度、应用的上下文和/或其它环境状况。在一个实施例中,系统将存储要评估的一组乘数或数学等式/关系。该组乘数或数学等式/关系在步骤504中访问。步骤506包括从步骤504中访问的该组乘数或数学等式/关系中确定放大的幅度。
[0084] 图10图形地描述了用于确定要用作创建放大的乘数的比例参数的系统的一个示例。在图10的实施例中,系统将包括内半径IR和外半径OR,两者都是距离值。如果用户在时间段P中移动的距离量(例如,髋关节j9在跳跃期间向上移动的量)小于内半径IR,则化身的移动将被创建为用户的移动乘以内比例参数IS。内半径IR也与外比例参数起始值OSS相关联。外半径OR与外比例参数结束值OSE相关联。如果用户在时间段P期间移动的距离量等于内半径IR,则化身的移动将被创建为用户的移动乘以外比例参数起始值OSS。如果用户在时间段P期间移动的距离量等于外半径OR,则化身的移动将被创建为用户的移动乘以外比例参数结束值OSE。如果用户在时间段P内移动的距离量在IR和OR之间,则在创建化身的移动时,将通过基于用户在时间段P内移动的距离D如何在IR和OR之间在OSS和OSE之间进行内插,来使用OSS和OSE之间的比例因子放大用户的距离。可使用以下等式:
[0085]
[0086] 在步骤508,系统将基于步骤506中所确定的放大幅度和图6的步骤302中所传感的用户的移动来为化身确定移动数据。在步骤510,系统将基于步骤508中所确定的移动数据来绘制化身移动。化身的移动将相比于所传感的用户的运动按照与所确定的用户移动的幅度成比例的因子来放大。
[0087] 在步骤512,系统将提供与移动幅度成比例的音频/视觉反馈。在一个实施例中,系统将做出其音高或音调基于在步骤506所确定的放大的幅度/因子来变化的声音,该放大幅度/因子本身基于用户的移动的幅度。在其它实施例中,系统可在动作的开头、期间或结束提供视觉反馈。例如,如果用户跳跃且化身做出更高的跳跃,则当化身落地时,地面可与放大幅度/因子成比例地摇晃。或者,化身的头发可在风中吹起,其中风具有基于放大幅度/因子的速度。音频/视觉反馈的其它示例包括跳跃顶部的、跳跃离地之处飞起的鸭子、落地时的重击声、跳跃者离地之处的脚印等等。这些视觉反馈中的任一个可基于放大幅度/因子来变化。例如,改变鸭子飞起的量、改变人群的大小、改变落地时的重击声的音量/音高/音调、和/或改变脚印的大小。
[0088] 尽管图9按某一次序示出了各步骤,但图9的这些步骤可以按与所描绘的不同的步骤来执行。另外,图9的许多步骤可同时执行。例如,在一个实施例中,确定移动数据(步骤508)和绘制化身(步骤510)可连续执行,而放大幅度可在动作的开头确定。
[0089] 图11是描绘用于基于移动数据来绘制化身移动的一个实施例的流程图。图11的过程是图9的步骤510的一个示例实现。在图11的步骤602,系统标识用户开始动作。在该过程中的这一点,系统已经确定了用户的预期动作,且因此系统知道该动作的开始。系统将在步骤604基于游戏上下文来标识化身的开始位置。在步骤606,系统将在用户开始动作时或在非常接近该时间时在开始位置绘制化身。为了执行上述步骤,可以在用户开始动作和化身开始动作之间有延迟;然而,这一延迟可以是最小的,且可能不被用户感知。在步骤608,将在对应于用户的中间位置的时间在动作的中间位置绘制化身。在步骤610,系统将标识用户结束动作。例如,系统将通过确定用户何时到达地面来标识用户何时完成跳跃。在步骤612,系统将标识化身的结束位置,然后在用户结束用户的动作的同时在该结束位置绘制化身(步骤614)。在一个实施例中,图11的过程是在用户执行动作的同时执行的;因此,系统将同时传感用户的运动数据并执行图11的过程。
[0090] 尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。本发明的范围旨在由所附权利要求书来定义。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈