首页 / 国际专利分类库 / 人类生活必需 / 运动;游戏;娱乐活动 / 在空间中对设备进行定位和取向

在空间中对设备进行定位和取向

申请号 CN201480033161.9 申请日 2014-06-05 公开(公告)号 CN105359054B 公开(公告)日 2019-07-02
申请人 微软技术许可有限责任公司; 发明人 E.朗洛瓦; E.平托; M.罗佩斯勒伊斯; T.梅尼安; Z.马瑟;
摘要 示例装置和方法涉及通过基于由玩家握持或以其他方式与玩家相关联的控制和显示设备的三维 位置 和取向来控制游戏而提供针对视频玩家的改进的沉浸式体验。位置从包括游戏者的一部分在与计算机化游戏相关联的三维空间中的三维 定位 和取向的数据确定。根据设备的位置和设备的取向两者确定设备的朝向和旋转。取向可以通过来自设备中或设备上的运动 传感器 的数据来确定。示例装置和方法至少部分地基于设备的定位、设备的朝向和设备的旋转来控制计算机化游戏。
权利要求

1.一种计算机实现的方法,包括:
获取第一电子数据,包括用户的一部分在与计算机化交互体验相关联的三维空间中的三维定位和取向,其中第一数据从被配置成产生用户在三维空间中的深度图的第一系统获取,或者其中第一数据从三维空间的红外询问生成,或者其中第一数据从检测与三维空间相关联的可见光的相机生成;
根据第一数据确定用户握持的设备在三维空间中的定位,设备是被配置成控制计算机化交互体验或显示与计算机化交互体验相关联的信息的控制器
获取第二电子数据,包括设备在三维空间中的取向,其中第二数据由设备中的传感器生成或者其中第二数据由设备上的装置生成,其中传感器是加速度计、陀螺仪或指南针,并且其中装置是红外反射器、红外发射器、声音反射器、声音发射器、可见光反射器或可见光发射器;
根据第一数据或第二数据确定设备的朝向和设备的旋转,以及
至少部分地基于设备的定位、设备的朝向和设备的旋转控制计算机化交互体验。
2.根据权利要求1所述的方法,包括:
从深度图构造用户的骨架的表示,其中骨架包括用户的多个关节,其中关节由位置、弯曲度和取向来描述,以及
根据表示中的两个或更多关节之间的关系确定设备的定位。
3.根据权利要求1所述的方法,包括:
在确定深度图缺失关于与确定设备的定位相关的关节的信息时,基于第一数据的所选子集估计缺失信息。
4.根据权利要求1所述的方法,包括:
从设备获取第二数据,
从第二数据计算描述垂直于设备上的显示器的朝向轴的三维朝向矢量,以及从第二数据计算设备关于朝向轴的旋转。
5.根据权利要求1所述的方法,包括:
对第一数据进行滤波以产生经滤波且稳定的位置数据;
对第二数据进行滤波以产生经滤波且稳定的取向数据;以及
根据经滤波的位置数据或经滤波的取向数据计算设备的定位、设备的朝向和设备的旋转,
其中对第一数据进行滤波以产生经滤波的位置数据包括使第一数据传递通过卡尔曼滤波器扩展卡尔曼滤波器、无迹卡尔曼滤波器、高通滤波器低通滤波器贝叶斯网络滤波器或粒子滤波器,并且
其中对第二数据进行滤波以产生经滤波的取向数据包括使第二数据传递通过卡尔曼滤波器、
高通滤波器、低通滤波器、贝叶斯网络滤波器或粒子滤波器。
6.根据权利要求5所述的方法,包括:
根据加权混合函数将从经滤波且稳定的位置数据导出的信息与从经滤波且稳定的取向数据导出的信息进行组合,其中用于加权混合函数的权重至少部分地基于第一数据的完整性、第二数据的完整性、第一数据的准确性、第二数据的准确性、第一数据的时间性或第二数据的时间性。
7.根据权利要求1所述的方法,包括:
至少部分地基于第一数据的完整性、第一数据的准确性或第一数据的时间性来动态地重新配置用于确定定位的函数,以及
至少部分地基于第一数据的完整性、第二数据的完整性、第一数据的准确性、第二数据的准确性、第一数据的时间性或第二数据的时间性来动态地重新配置用于确定设备的朝向和设备的旋转的函数。
8.一种电子装置,包括:
处理器,
存储器
逻辑集合,被配置成控制计算机化交互体验;以及
连接处理器、存储器和逻辑集合的接口
逻辑集合包括:
第一逻辑,被配置成确定用户握持的控制器在与计算机化交互体验相关联的三维空间中的三维定位,所述控制器配置有显示器以显示与计算机化交互体验相关联的信息,第一逻辑被配置成使用深度图确定三维定位,其中深度图包括关于用户的头部/身体关节、用户的肩关节、用户的肘关节、用户的腕关节、用户的指关节、用户的身体/骨盆关节、用户的髋关节、用户的膝关节或用户的足关节的位置和方位信息;
第二逻辑,被配置成确定控制器的取向,第二逻辑被配置成使用来自深度图的第一数据确定三维定位并且使用来自运动传感器数据的第二数据确定取向,其中第一数据和第二数据共享用于表示三维定位和取向的标准系统;以及
第三逻辑,被配置成基于三维定位和取向控制计算机化交互体验,第三逻辑被配置成控制计算机化交互体验以根据设备的定位和控制器的取向选择性地更改显示在计算机化交互体验中的场景、根据设备的定位和控制器的取向选择性地更改与用户相关联的化身、选择性地更改与计算机化交互体验的虚拟现实方面相关联的显示属性、选择性地更改与计算机化交互体验的增强现实方面相关联的显示属性、选择性地更改计算机化交互体验中的项目的x射线属性、将可替换视图提供到媒体模拟中、当用户移动通过真实空间时改变模拟空间中的可替换视图、或者经由媒体模拟在真实空间的情境中呈现可替换视图中的项目。

说明书全文

在空间中对设备进行定位和取向

背景技术

[0001] 玩家期望不断改进且越来越逼真的游戏体验。将游戏者置于场景“中”的沉浸式体验促进暂离现实和改进游戏体验。类似地,媒体消费者期望越来越真实或令人满意的沉浸式体验。常规地,虚拟现实增强现实可能要求游戏者站立于在扩展装备和精密的多维传感器之中定心的特定位置以实现初步的沉浸式体验。
[0002] 常规地,用户可以使用控制器(例如,小键盘)来与系统交互。用户可以例如是在游戏系统上玩视频游戏的玩家、具有媒体系统上的沉浸式体验的媒体消费者或者其他用户。控制器可以表示例如用于汽车方向盘、用于飞机的操纵杆或者与游戏相关联的其他工具。沉浸式体验的部分至少部分地取决于建立或维持游戏者与场景之间的关系。该关系可以包括或取决于控制器。例如,当控制器表示方向盘时,玩家的沉浸式体验可以取决于看起来像是其正在利用控制器追踪他们的移动的布景。虽然传统的系统可能具有追踪玩家的定位、移动或加速度的某种能,但是其可能难以(如果甚至可能的话)建立或维持取决于控制器的定位或位置的视点。
[0003] 常规地,可以为用户提供化身。化身可以例如是用户的多维图形或其他表示。化身可以是表示用户并且在例如视频游戏中充当用户的色或他我(alter ego)的对象。化身可以基于追踪玩家的移动或加速度或者基于追踪游戏设备的移动或加速度而移动通过游戏空间。例如,在比如高尔夫游戏的模拟中,化身可以被显示为握持高尔夫球杆。在游戏中如何移动所模拟的高尔夫球杆并且因此高尔夫球在游戏中的飞行可以取决于如游戏者移动传感器所检测的游戏者的移动或者游戏控制器的加速度或移动(例如,游戏为高尔夫球杆提供加速度计)。来自分离的系统的分离的数据点可以用来确定球杆路径或加速度并且因此确定球的飞行。因此,沉浸在游戏体验中的质量可以取决于游戏者移动或控制器移动,但不取决于两者。发明内容
[0004] 提供本发明内容来以简化形式引入下面在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识所要求保护的主题的关键特征或必要特征,其也不意图用来限制所要求保护的主题的范围。
[0005] 示例装置和方法获取关于游戏者的一部分(例如,关节)在与计算机化游戏相关联的三维空间中的三维定位和取向的第一数据。示例装置和方法根据第一数据确定游戏者握持的设备的三维游戏空间中的定位。设备可以例如是被配置成控制计算机化游戏或显示与计算机化游戏相关联的信息的游戏控制器。示例装置和方法从运动传感器或其他装置获取描述设备在三维游戏空间中的取向的第二数据。示例装置和方法然后根据第一数据和第二数据确定设备的朝向和旋转。然后可以至少部分地基于设备的定位、设备的朝向和设备的旋转,而非仅仅是游戏者的定位或者控制器的移动或加速度,控制计算机化游戏。控制游戏可以包括例如将可替换视图提供到媒体模拟中、当用户移动通过真实空间时改变模拟空间中的可替换视图、经由媒体模拟在真实空间的情境中呈现可替换视图中的项目或布景、或其他动作。
[0006] 示例装置和方法可以被配置成确定由玩家握持的游戏控制器在三维游戏空间中的三维定位。游戏控制器可以配置有显示器(例如,屏幕)以呈现与视频游戏相关联的信息(例如,布景、化身、视图)。例如,显示器可以向观看者提供第一人称视角。示例装置和方法可以被配置成基于关于玩家的数据和关于设备的数据确定游戏控制器的取向。关于玩家的数据可以通过询问游戏空间来获取,而关于设备的数据可以从设备自身获取。示例装置和方法然后可以基于三维定位和取向控制计算机化视频游戏。附图说明
[0007] 附图图示了本文所描述的各种示例装置、方法和其他实施例。将领会的是,在图中图示的元件边界(例如,框、框组或其他形状)表示边界的一个示例。在一些示例中,一个元件可以被设计为多个元件,或者多个元件可以被设计为一个元件。在一些示例中,示出为另一个元件的内部组件的元件可以实现为外部组件,并且反之亦然。此外,元件可以不按比例绘制。
[0008] 图1图示了握持示例设备的玩家的骨架的示例表示。
[0009] 图2图示了握持示例设备的玩家的骨架的示例表示的一部分。
[0010] 图3图示了玩家的骨架的示例表示的一部分。
[0011] 图4图示了用于三维游戏空间的参考的示例框架(frame)。
[0012] 图5图示了被配置成促进在游戏空间中对设备进行定位和取向的示例方法。
[0013] 图6图示了被配置成促进在游戏空间中对设备进行定位和取向的示例装置。
[0014] 图7图示了示例操作环境。
[0015] 图8是描绘被配置成促进在游戏空间中对设备进行定位和取向的示例性移动通信设备的系统图。
[0016] 图9图示了来自游戏空间的询问的信号和来自运动传感器的信号的混合。

具体实施方式

[0017] 当已知设备(例如,充当控制器和显示器的平板电脑)的三维位置以及设备的取向(例如,朝向、旋转)时,可以提供改进的沉浸式游戏和媒体消费体验。与设备相关联的传感器(例如,加速度计、陀螺仪)可以提供关于设备的取向的信息。使用提供关于两个或更多关节的信息的装置来询问游戏空间促进追踪那些关节。在一个实施例中,装置可以产生深度图,可以从该深度图构建握持游戏设备的游戏玩家的表示(例如,部分骨架)。深度图促进向用户和向设备提供位置信息。示例装置和方法使用玩家的表示和运动传感器数据两者来确定设备在三维游戏空间中的定位和取向。询问游戏空间可以包括例如将信号(例如,红外(IR)波、可见光波、声波)发送到游戏空间中和处理从游戏空间返回的信号。询问游戏空间还可以包括例如收集由游戏空间中的项目(例如,玩家、设备)生成的信号(例如,IR、可见光、声音)。
[0018] 图1图示了握持示例设备130的玩家的骨架100的一部分的示例表示。骨架100被图示为具有若干关节,其利用圆来表示。例如,骨架100具有肘关节110和腕关节120。哪些关节可见可以取决于玩家关于用来询问游戏空间的(多个)设备朝向哪个方向。骨架100是玩家在三维游戏空间中的表示。骨架可以例如是部分骨架或完整骨架。示例装置和方法促进在三维游戏空间中定位或追踪手持设备130。
[0019] 常规游戏系统可以追踪设备130或玩家。当常规系统仅追踪设备时,可以向游戏者提供标准、非定制(例如,通用)的化身。可以基于从设备130检测的移动或加速度对标准化身的移动的显示进行预编程。当常规系统仅追踪玩家时,则可以从玩家的移动推断设备的运动而不实际从设备获取定位或取向数据。可以基于玩家的定位和设备所经历的加速度对设备的移动或加速度的显示进行预编程。由于一些常规系统可以追踪玩家或者设备但不追踪两者,所以仅可以实现有限的沉浸式体验。
[0020] 图2图示了握持示例设备240的玩家的骨架的示例表示的一部分。骨架包括头部200、颈关节210、肘关节220和腕关节230。示例装置和方法可以确定设备240的绝对定位,所述设备240可以例如是平板电脑、智能电话、膝上型电脑或者玩家可以握持的其他设备。示例装置和方法可以使用从如在骨架中表示的关节的定位和取向导出的信息来确定设备240的绝对定位。示例装置和方法然后可以从如在骨架中表示并且来自位于设备240中的运动传感器的关节定位和取向确定设备240的可能取向。从混合两个数据源得到的定位和取向促进产生改进的沉浸式体验。
[0021] 示例装置和方法获取关于用户在空间中的绝对定位的数据。示例装置和方法还获取相对定位数据或半相对定位数据。绝对定位和相对定位数据可以使用例如不同类型的滤波器进行组合以产生经滤波和稳定化的数据。在一个实施例中,装置和方法可以从通过询问游戏空间获取的数据产生深度图。从其产生深度图的数据可以进行稳定化和滤波以减少噪声。一旦创建了深度图,示例装置和方法就可以选择在计算设备240的定位时要包括哪些关节。选择可以至少部分地取决于哪些关节可见和哪些关节不可见。示例装置和方法然后可以处理来自设备240上的运动传感器(例如,加速度计、陀螺仪)的输入以计算设备240的取向(例如,朝向、旋转)。运动传感器数据也可以进行滤波以减少噪声。由于某些传感器可以是互补的(例如,加速度计和陀螺仪),所以可以根据设备240正移动或加速(如果有的话)得有多快来混合来自运动传感器的数据。
[0022] 示例装置和方法然后可以将来自骨架或深度图的数据与来自(多个)运动传感器的数据组合以定位或追踪设备240的精确定位。在一个示例中,组合可以使用例如卡尔曼滤波器进行滤波或加权以提供设备240的定位和取向的估计。示例装置和方法可以产生设备240在游戏空间中的三维(例如,x、y、z)位置。示例装置和方法还可以产生垂直于设备240上的屏幕的三维矢量。该矢量可以被称为朝向矢量。朝向矢量指示设备240朝向的方向。示例装置和方法还可以标识关于朝向矢量的旋转。
[0023] 由于深度图和骨架可以以第一格式报告数据并且运动传感器可以以不同的第二格式报告数据,所以示例装置和方法可以将输入数据从原始本机表示变换成促进组合两种类型的输入的经处理的目标表示。输入数据可以进行滤波以解决不同时间处数据中的噪声、保真度和置信度。示例装置和方法然后可以合并来自各种源的数据以产生系统的统一模型。
[0024] 图3图示了玩家的骨架的示例表示的一部分。图示了头部300和一个腕部320。图3还图示了从头部300到腕部320的凝视310。手的可能定位可以从腕部320的定位来确定。设备的可能定位可以从腕部320的定位、头部300的定位和凝视310来确定。凝视310可以例如通过追踪脸部或者玩家的眼睛的定位和取向来捕获。示例装置和方法可以假定设备朝向用户的脸部。示例装置和方法还可以通过追踪手的移动或加速度以及与(多个)关节相关联的法线而使用启发法来细化基线预测。
[0025] 图4图示了用于三维游戏空间的参考的示例框架。可能难以(如果甚至可能的话)仅使用骨架数据以任何确定性确定设备400的旋转。一种尝试可以牵涉分析玩家的手、腕部、肘部和脸部的取向。取向的估计对于握持在双手中的较大设备(例如,平板电脑)而言可能较为准确,但是对于握持在单手中的较小设备(例如,智能电话)而言可能较不准确。虽然可以使用骨架数据准确地确定三维定位,但是使用骨架数据或者更一般地使用深度图或游戏者定位数据可能难以评估取向。因此,示例装置和方法还可以依赖于在握持设备中可用的运动传感器。设备可以包括加速度计、陀螺仪、指南针或其他传感器。
[0026] 示例装置和方法可以确定表示玩家的手的中心的三维(例如,x、y、z)点并且继续就像设备400被定心在3d游戏空间中的该(x,y,z)点处。然后来自运动传感器的数据可以用来标识预测设备400的朝向的3d矢量410。3d矢量410可以使用(α,β,γ)表示来表示,其中α表示x轴上的方向,β表示y轴上的方向,并且γ表示z轴上的方向。设备400可以沿着3d矢量410朝向,但是也可以关于3d矢量410旋转。因此,示例装置和方法可以使用运动传感器数据来确定关于3d矢量410的旋转⍬。使用(x,y,z)表示来标识设备400的定位,使用(α,β,γ)表示(例如3d矢量410)来标识朝向以及标识关于3d矢量410的旋转⍬可以促进产生针对玩家的改进的沉浸式体验。
[0027] 图9图示了骨架数据960和运动传感器数据950的混合和滤波。骨架数据960可以传递通过滤波器980并且产出定位数据982、朝向数据984和上/下数据986。运动传感器数据950可以传递通过滤波器970并且产出朝向数据974和上/下数据976。经滤波的数据然后可以传递通过混合输入的电路算法990以产生定位数据992,定位数据992是定位数据982或其他数据的函数。电路或算法900还可以产生朝向数据994,朝向数据994是例如朝向数据
984和朝向数据974的函数。类似地,混合电路或算法990可以产生上/下数据996,上/下数据
996是上数据976和上数据986的函数。可以采用滤波器和组合元件的其他布置。
[0028] 接下来的详细描述的一些部分按照存储器内的数据位上的操作的符号表示和算法进行呈现。这些算法描述和表示由本领域技术人员用来向其他人传达其工作的实质。算法被视为产生结果的操作序列。操作可以包括创建和操纵可以采取电子值的形式的物理量。创建或操纵以电子值形式的物理量产生具体、有形、有用、真实世界的结果。
[0029] 将这些信号称为位、值、元素、符号、字符、项、数字和其他术语有时被证实是方便的,主要是出于惯常使用的原因。然而,应当记住的是,这些和类似的术语要与适当的物理量相关联并且仅仅是应用于这些量的方便标记。除非另有具体陈述,否则要领会的是,遍及说明书,包括处理、计算和确定在内的术语是指计算机系统、逻辑、处理器、片上系统(SoC)或操纵和变换表示为物理量的数据(例如,电子值)的类似电子设备的动作和过程。
[0030] 参照流程图可以更好地领会示例方法。为了简单起见,所图示的方法被示出和描述为一系列。然而,方法可以不受块的次序限制,因为在一些实施例中块可以以不同于所示出和描述的次序发生。而且,可以要求少于所有所图示的块来实现示例方法。块可以组合或者分离成多个组件。此外,附加的或可替换的方法可以采用附加的未图示的块。
[0031] 图5图示了与在游戏空间中对设备进行定位和取向相关联的示例方法500。在不同示例中,方法500可以在单个设备上执行,可以部分地或完全在云中执行,可以在分布式协操作设备上执行或者可以以其他方式执行。在不同示例中,方法500可以在包括但不限于游戏控制台、游戏控制器、计算机、膝上型计算机、平板计算机、电话和智能电话的设备上执行。
[0032] 方法500可以包括在510处获取游戏者定位数据。游戏者定位数据可以包括第一数据,该第一数据包括游戏者的一部分在与计算机化游戏相关联的三维空间中的三维定位和取向。在一个实施例中,第一数据可以从被配置成产生游戏者在三维空间中的深度图的第一系统获取。第一数据可以例如从游戏空间的红外询问来生成。第一数据还可以例如从检测与游戏空间相关联的可见光的相机生成。虽然描述了红外询问和可见光谱光收集,但是第一数据可以以其他方式来收集。第一数据可以用来构造对收集第一数据的装置可见的空间的深度图。例如,可以针对对游戏控制台可见的视场中的区域来构造深度图。
[0033] 第一数据可以用来从深度图中的数据构造游戏者的骨架表示。在一个示例中,骨架可以包括多个游戏者关节。单个关节可以由位置、弯曲角度、取向或其他数据描述。有时,关节可能对收集第一数据的装置不可见。例如,可以使游戏者在外形上转向收集器并且因此关于左臂的信息可以是可见的,但是右臂可能不可见。因此,在确定深度图缺失关于与确定设备的定位相关的关节的信息时,方法500可以基于第一数据的所选子集来估计缺失信息。例如,如果肘关节不可见,则可以从关于腕关节和肩关节的信息估计肘部的位置、弯曲角度和取向。
[0034] 方法500还可以包括在520处根据第一数据确定游戏者握持的设备在三维游戏空间中的定位。设备可以例如是被配置成控制计算机化游戏或者显示与计算机化游戏相关联的信息的游戏控制器。例如,设备可以是被配置成显示游戏的第一人称视角和提供关于握持平板电脑的游戏者的定位和运动信息的平板计算机。
[0035] 在骨架可用的情况下,如通过关节所描述的,设备的定位可以根据表示中的两个或更多关节之间的关系来确定。例如,可以假定设备被握持在游戏者的手之间。手的位置可以从腕关节、肘关节、肩关节、头/颈关节或其他关节的定位来计算。
[0036] 方法500还可以包括在530处获取包括设备在三维游戏空间中的取向的第二数据。在一个实施例中,第二数据可以从设备获取。在一个实施例中,第二数据可以由设备中的传感器生成。在另一个实施例中,第二数据可以由设备上的装置生成。在一个实施例中,第二数据可以由设备中的传感器和设备上的装置两者生成。传感器可以例如是加速度计、陀螺仪或指南针。装置可以例如是红外反射器(例如,IR带)、红外发射器、声音反射器、声音发射器、可见光反射器、可见光发射器或可以从其确定取向数据的其他设备。
[0037] 在不同实施例中,设备可以包括一个加速度计或多于一个加速度计。类似地,设备可以包括一个陀螺仪或多于一个陀螺仪。加速度计提供传感器处的重力方向和传感器处的重力强度。加速度计在容纳传感器的设备静止时可能较准确,在容纳传感器的设备在运动中时可能较不准确,并且在存在容纳传感器的设备的突然加速时可能甚至更不准确。加速度计还可能在以一定角度握持设备时较不准确,其中旋转轴与指示重力方向的矢量重合。重力强度可以用来确定设备是否在运动中,其可以进而用来估计加速度计读数的准确性。
[0038] 陀螺仪提供关于设备的三个旋转轴角速度。陀螺仪补充加速度计。例如,陀螺仪准确地描述取向中的突然改变但是当设备未经受突然加速(例如,静止)时可能漂移。因此,示例装置和方法可以被配置成根据设备的即时观察到的加速度来对来自加速度计和陀螺仪的读数进行加权。
[0039] 指南针可以报告磁北和真北的方向。如果设备具有指南针和GPS,则该设备可以在表示重力的矢量沿着设备的旋转轴之一时替换从加速度计报告的数据中丢失的自由度。相机也可以用来追踪设备的相对运动(例如,通过空间的速度)。在一个实施例中,相机可以采用模式识别、特征追踪或用于追踪相对运动的其他方法。
[0040] 如果设备具有加速度计但没有陀螺仪,则可以向从加速度计获取的数据应用滤波器(例如,低通滤波器)。当加速度计和陀螺仪两者都可用时,则来自加速度计和陀螺仪两者的数据可以组合,因为它们提供互补的数据。当多个传感器或装置可用时,可以采用传感器或装置所提供的数据的不同组合。这些不同组合可以牵涉对以不同方式接收的数据进行滤波。此外,第二数据可能是有噪声的并且因此可以进行滤波。
[0041] 因此,方法500可以包括对第一数据进行滤波以产生经滤波的位置数据并且对第二数据进行滤波以产生经滤波的取向数据。在执行滤波之后,方法500可以根据经滤波的位置数据或经滤波的取向数据来计算设备的定位、设备的朝向和设备的旋转。滤波可以例如包括使第一数据或第二数据传递通过卡尔曼滤波器、扩展卡尔曼滤波器、无迹卡尔曼滤波器、另一种类型的卡尔曼滤波器、高通滤波器、低通滤波器、贝叶斯网络滤波器或粒子滤波器。一旦滤波完成,方法500可以根据加权的混合函数将从经滤波的位置数据导出的信息与从取向数据导出的信息进行组合。
[0042] 方法500还可以包括在540处根据第一数据或第二数据确定设备的朝向和设备的旋转。在一个实施例中,确定朝向可以包括从第二数据计算描述垂直于设备上的显示器的朝向轴的三维朝向矢量。还可以处理第二数据来计算设备关于朝向轴的旋转。
[0043] 在一个实施例中,设备的定位、设备的朝向或设备的旋转可以根据游戏者的(多个)手的位置和取向来确定。例如,用户可以将平板电脑握持在双手中但是可以将智能电话握持在一只手中。在一个示例中,从握持设备的(多个)手的定位推断设备的定位,并且从握持设备的(多个)手与游戏者的脸部之间的关系推断设备的朝向。在另一个示例中,设备的定位可以从握持设备的(多个)手的定位来推断,并且朝向或旋转可以从游戏者的凝视方向来推断。用来确定设备的定位或取向的推断或计算可以至少部分地基于什么信息在第一数据中可得到和什么信息在第二数据中可得到而实时地动态变化。例如,当游戏者朝向用来获取第一数据的设备且游戏者的双手、双肘、双肩以及脸部可见时可以采用推断和计算的第一集合。然而,当游戏者使其背向用来获取第一数据的设备时可以采用推断和计算的第二集合。此外,当设备在运动中时或者当设备静止时可以采用不同的推断和计算。例如,当设备描述与挥动高尔夫球杆相关联的长和有力的弧线时,可以采用推断和计算的一个集合。然而,当设备描述与导航滚动球通过迷宫相关联的小且精细控制的线性运动的集合时,可以采用不同的推断和计算的集合。
[0044] 方法500还可以包括在550处至少部分地基于设备的定位、设备的朝向和设备的旋转控制计算机化游戏。在一个实施例中,控制计算机化游戏可以包括选择性地更改游戏场景的显示。可以根据设备的定位、设备的朝向、设备的旋转或设备的加速度来更改场景。例如,第一人称视角可以在游戏者改变控制器的朝向和取向时改变。在一个实施例中,控制计算机化游戏可以包括选择性地更改与游戏者相关联的化身的显示。例如,化身可以在游戏者改变设备的定位、设备的朝向或设备的旋转时重新定位。
[0045] 虽然图5图示了串行发生的各种动作,但是要领会的是,在图5中图示的各种动作可以大体并行地发生。通过说明的方式,第一过程可以大体恒定地获取游戏者定位数据并且更新骨架表示,第二过程可以确定设备在三维空间中的定位,第三过程可以大体恒定地获取设备取向数据并且确定朝向和旋转,并且第四过程可以控制游戏。虽然描述了四个过程,但是要领会的是,可以采用更多或更少数目的过程,并且可以采用轻量过程、常规过程、线程以及其他方法。
[0046] 在一个示例中,方法可以实现为计算机可执行指令。因此,在一个示例中,计算机可读存储介质可以存储计算机可执行指令,计算机可执行指令如果由机器(例如,计算机)执行则使得机器执行本文所描述或要求保护的方法,包括方法500。虽然与以上方法相关联的可执行指令被描述为存储在计算机可读存储介质上,但是要领会的是,与本文所描述或要求保护的其他示例方法相关联的可执行指令也可以存储在计算机可读存储介质上。在不同实施例中,可以以不同方式触发本文所描述的示例方法。在一个实施例中,可以由用户手动地触发方法。在另一个示例中,可以自动地触发方法。
[0047] 如本文所使用的“计算机可读存储介质”是指存储指令或数据的介质。“计算机可读存储介质”不是指传播信号本身。计算机可读存储介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘、磁带、闪速存储器、ROM和其他介质。易失性介质可以包括例如半导体存储器、动态存储器(例如,动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双数据速率同步动态随机存取存储器(DDR SDRAM)等)和其他介质。常见形式的计算机可读存储介质可以包括但不限于软盘、柔性盘、硬盘、磁带、其他磁介质、专用集成电路(ASIC)、致密盘(CD)、其他光学介质、随机存取存储器(RAM)、只读存储器(ROM)、存储器芯片或卡、存储器棒和计算机、处理器或其他电子设备可以从其进行读取的其他介质。
[0048] 图6图示了装置600,其包括处理器610、存储器620、逻辑集合630以及连接处理器610、存储器620和逻辑集合630的接口640。逻辑集合630可以被配置成控制计算机化交互体验。计算机化交互体验可以例如是视频游戏、媒体呈现或其他沉浸式体验。装置600可以例如是计算机、膝上型计算机、平板计算机、个人电子设备、智能电话、片上系统(SoC)、游戏控制台、游戏控制器或可以访问和处理数据的其他设备。
[0049] 在一个实施例中,装置600可以是通过包括逻辑集合630而已经变换成用于游戏的专用计算机的通用计算机。逻辑集合630可以被配置成控制计算机化交互体验(例如,视频游戏)。装置600可以通过例如计算机网络与其他装置、过程和服务交互。
[0050] 逻辑集合630可以包括第一逻辑632,其被配置成确定用户(例如,玩家)握持的控制器在三维空间中的三维定位。控制器可以配置有显示器以提供与交互体验(例如,视频游戏)相关联的信息。例如,显示器可以向用户提供第一人称视角、第三人称视角、“三万英尺”视角或其他显示。
[0051] 在一个实施例中,第一逻辑632可以被配置成使用深度图确定三维定位。深度图可以包括关于玩家的各种关节的位置和方位(例如,取向、朝向、弯曲角度)信息。例如,用于包括但不限于头部/身体关节、颈关节、肩关节、肘关节、腕关节、指关节、身体/骨盆关节、髋关节、膝关节和足关节的关节的位置和方位信息可以是可用的。深度图可以从关于用户搜集的信息来计算。可以从反射自用户或者由用户产生的可检测波(例如,红外、可见光、声音)搜集信息。虽然描述了深度图,但是更一般地第一逻辑632可以获取关于用户在空间中的绝对定位的信息。
[0052] 逻辑集合630还可以包括被配置成确定控制器的取向的第二逻辑634。在不同实施例中,第二逻辑634可以被配置成根据从控制器获取的运动传感器数据、根据深度图、根据绝对定位或者根据运动传感器数据与绝对定位的组合来确定取向。第二逻辑634可以基于例如可用于确定取向的信息的本质、类型、质量或时间性而在如何确定取向之间动态地切换。例如,在第一时间处,及时且精确的深度图信息可能是可得到的,但是运动传感器数据可能不完整或不准确。在该第一时间处,第二逻辑634可能更严重地依赖于深度图数据。然而,在第二时间处,深度图可能较不完整或较不准确,因为玩家已经将其背部转向控制台。然而,用户可以随控制器执行长的动态运动。在该第二时间处,第二逻辑634可能更严重地依赖于运动传感器信息。
[0053] 在一个实施例中,第二逻辑634可以被配置成使用来自绝对定位数据(例如,深度图)的第一数据确定三维定位,并且使用来自运动传感器数据的第二数据确定取向。为了促进支持无缝沉浸式体验的实时计算,可以操纵第一数据和第二数据以共享用于表示三维定位和取向的标准系统。
[0054] 逻辑集合630还可以包括被配置成基于三维定位和取向控制计算机化视频游戏的第三逻辑636。除其它动作之外,控制游戏可以包括选择性地更改与游戏的虚拟现实方面相关联的显示属性、选择性地更改与游戏的增强现实方面相关联的显示属性或者选择性地更改游戏中的项目的x射线属性。控制游戏还可以包括根据设备的定位和控制器的取向选择性地更改在计算机化交互体验中显示的场景。控制交互体验还可以包括根据设备的定位和控制器的取向选择性地更改与用户相关联的化身。还可以取决于例如正在玩的游戏的类型和玩家的视角而运用其他控制。
[0055] 在不同实施例中,可以在装置600上执行某种处理并且可以由外部服务或装置执行某种处理。因此,在一个实施例中,装置600还可以包括被配置成与外部源通信以促进显示游戏场景、媒体、化身或其他表示的通信电路。在一个实施例中,第三逻辑636可以与呈现服务660交互以促进使用用于不同设备的不同呈现来显示数据。
[0056] 图7图示了示例云操作环境700。云操作环境700支持将计算、处理、存储、数据管理、应用和其他功能性作为抽象服务而非作为独立的产品进行递送。服务可以由虚拟服务器来提供,所述虚拟服务器可以实现为一个或多个计算设备上的一个或多个过程。在一些实施例中,过程可以在不中断云服务的情况下在服务器之间迁移。在云中,可以在网络之上向包括服务器、客户端和移动设备的计算机提供共享资源(例如,计算、存储)。不同网络(例如,以太网、Wi-Fi、802.x、蜂窝)可以用来访问云服务。与云交互的用户可以不需要知道实际上提供服务(例如,计算、存储)的设备的详情(例如,位置、名称、服务器、数据库)。用户可以经由例如web浏览器、瘦客户端、移动应用或者以其他方式访问云服务。
[0057] 图7图示了驻留在云中的示例游戏服务760。游戏服务760可以依赖于服务器702或服务704来执行处理并且可以依赖于数据储存706或数据库708来存储数据。虽然图示了单个服务器702、单个服务704、单个数据储存706和单个数据库708,但是服务器、服务、数据储存和数据库的多个实例可以驻留在云中并且可以因此被游戏服务760使用。
[0058] 图7图示了在云中访问游戏服务760的各种设备。设备包括计算机710、平板电脑720、膝上型计算机730、个人数字助理740和移动设备(例如,蜂窝电话、卫星电话、可穿戴计算设备)750,其中的任何一个可以充当游戏控制台、游戏控制器或者用于视频游戏的控制台和控制器两者。游戏服务760可以例如计算控制器的定位或取向。游戏服务760可以例如提供用于游戏的场景。
[0059] 可能的是,在不同位置处使用不同设备的不同用户可以通过不同网络或接口访问游戏服务760。在一个示例中,游戏服务760可以由移动设备750访问。在另一个示例中,游戏服务760的部分可以驻留在移动设备750上。
[0060] 图8是描绘包括一般地在802处示出的多种可选硬件软件组件的示例性移动设备800的系统图。移动设备800中的组件802可以与其他组件通信,尽管为了便于说明并未示出所有连接。移动设备800可以是多种计算设备(例如,手机、智能电话、手持计算机、个人数字助理(PDA)、可穿戴计算设备等)并且可以允许与诸如蜂窝或卫星网络之类的一个或多个移动通信网络的无线双向通信。移动设备800可以充当游戏控制台、游戏控制器或控制台和控制器两者。
[0061] 移动设备800可以包括控制器或处理器810(例如,信号处理器、微处理器、ASIC或其他控制和处理逻辑电路)以用于执行包括信号编码、数据处理、输入/输出处理、功率控制或其他功能的任务。操作系统812可以控制组件802的分配和使用并且支持应用程序814。应用程序814可以包括游戏应用、移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息传送应用)或其他计算应用。
[0062] 移动设备800可以包括存储器820。存储器820可以包括不可移除存储器822或可移除存储器824。不可移除存储器822可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、硬盘或其他存储器存储技术。可移除存储器824可以包括闪速存储器或GSM通信系统中公知的订户身份模块(SIM)卡、或其他存储器存储技术,诸如“智能卡”。存储器820可以用于存储数据或代码以用于运行操作系统812和应用814。示例数据可以包括游戏图像、化身、游戏场景、web页面、文本、图像、声音文件、视频数据或经由一个或多个有线或无线网络发送到一个或多个网络服务器或其他设备或者从一个或多个网络服务器或其他设备接收的其他数据集。存储器820可以用来存储诸如国际移动订户身份(IMSI)之类的订户标识符和诸如国际移动装备标识符(IMEI)之类的装备标识符。标识符可以传输到网络服务器以标识用户或装备。
[0063] 移动设备800可以支持一个或多个输入设备830,所述输入设备830包括但不限于触摸屏832、麦克834、相机836、物理键盘838或跟踪球840。移动设备800还可以支持输出设备850,所述输出设备850包括但不限于扬声器852和显示器854。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以服务多于一个输入/输出功能。例如,可以将触摸屏832和显示器854组合在单个输入/输出设备中。输入设备830可以包括自然用户接口(NUI)。NUI是使得用户能够以免受诸如鼠标、键盘、遥控和其它之类的输入设备所强加的人为约束的“自然”方式与设备交互的接口技术。NUI方法的示例包括依赖于语音识别、触摸和触笔识别、手势识别(屏幕上和屏幕附近二者)、空中手势、头部和眼睛追踪、话音和语音、视觉、触摸、手势和机器智能的那些。NUI的其他示例包括使用加速度计/陀螺仪的运动手势检测、脸部识别、三维(3D)显示、头部、眼睛和凝视追踪、沉浸式增强现实和虚拟现实系统(其全部提供更为自然的接口),以及用于使用电场感测电极感测大脑活动的技术(EEG及相关方法)。因此,在一个具体示例中,操作系统812或应用814可以包括作为允许用户经由话音命令操作设备800的话音用户接口的部分的语音识别软件。另外,设备800可以包括允许经由用户的空间手势的用户交互(诸如检测和解释手势以向游戏应用提供输入)的输入设备和软件。
[0064] 无线调制解调器860可以耦合到天线891。在一些示例中,使用射频(RF)滤波器并且处理器810不需要选择用于所选频带的天线配置。无线调制解调器860可以支持处理器810与外部设备之间的双向通信。调制解调器860被一般性地示出并且可以包括用于与移动通信网络804通信的蜂窝调制解调器和/或其他基于无线电的调制解调器(例如,蓝牙864或Wi-Fi 862)。无线调制解调器860可以被配置用于与一个或多个蜂窝网络(诸如用于移动通信的全球系统(GSM)网络)通信以用于在单个蜂窝网络内、在蜂窝网络之间或者在移动设备与公共交换电话网络(PSTN)之间的数据和话音通信。NFC 892促进具有近场通信
[0065] 移动设备800可以包括至少一个输入/输出端口880、电源882、卫星导航系统接收器884(诸如全球定位系统(GPS)接收器)、加速度计886、陀螺仪887或物理连接器890,其可以是通用串行总线(USB)端口、IEEE 1394(火线)端口、RS-232端口或其他端口。所图示的组件802不是所要求的或者全包括的,因为可以删除或添加其他组件。
[0066] 移动设备800可以包括被配置成向移动设备800提供功能性的游戏逻辑899。例如,游戏逻辑899可以提供客户端以用于与服务(例如,服务760,图7)交互。本文所描述的示例方法的部分可以由游戏逻辑899执行。类似地,游戏逻辑899可以实现本文所描述的装置的部分。
[0067] 下文包括本文所采用的所选术语的定义。该定义包括落入术语范围内且可以用于实现的组件的各种示例或形式。示例不意图是限制性的。术语的单数和复数形式两者都可以在定义内。
[0068] 对“一个实施例”、“实施例”、“一个示例”和“示例”的引用指示如此描述的(多个)实施例或(多个)示例可以包括特定特征、结构、特性、性质、元件或限制,但是并非每个实施例或示例必然包括该特定特征、结构、特性、性质、元件或限制。此外,短语“在一个实施例中”的重复使用不一定是指相同的实施例,尽管其可以这样。
[0069] 如本文所使用的“数据储存”是指可以存储数据的物理或逻辑实体。数据储存可以例如是数据库、表格、文件、列表、队列、堆、存储器、寄存器和其他物理储存库。在不同示例中,数据储存可以驻留在一个逻辑或物理实体中或者可以分布在两个或更多逻辑或物理实体之间。
[0070] 如本文所使用的“逻辑”包括但不限于执行(多个)功能或(多个)动作或者导致来自另一个逻辑、方法或系统的功能或动作的硬件、固件、在机器上执行的软件或者每一个的组合。逻辑可以包括软件控制的微处理器、分立逻辑(例如,ASIC)、模拟电路、数字电路、编程的逻辑器件、包含指令的存储器设备和其他物理设备。逻辑可以包括一个或多个、门的组合或其他电路组件。在描述多个逻辑性逻辑的情况下,可以可能的是将多个逻辑性逻辑合并成一个物理逻辑。类似地,在描述单个逻辑性逻辑的情况下,可以可能的是使该单个逻辑性逻辑分布在多个物理逻辑之间。
[0071] 在术语“包含”或“包含着”被用在详细描述或权利要求中的范围内,其意图以与术语“包括”如在该术语在权利要求中被用作过渡词时被解释的那样的类似的方式是包括性的。
[0072] 在术语“或”被用在详细描述或权利要求中的范围内(例如,A或B),其意图意指“A或B或两者”。当申请人意图指示“仅A或B而非两者”时,则将采用术语“仅A或B而非两者”。因此,术语“或”在本文中的使用是包括性的,而非排他性的使用。参见Bryan A. Garner,A Dictionary of Modern Legal Usage(现代法律用法词典)624 (2d. Ed. 1995)。
[0073] 尽管已经以具体到结构特征或方法动作的语言描述了本主题,但是要理解的是,在所附权利要求中限定的主题不一定受限于以上所描述的具体特征或动作。而是,以上描述的具体特征和动作是作为实现权利要求的示例形式而公开的。
QQ群二维码
意见反馈