CN105229571B - 自然用户接口滚动和瞄准 - Google Patents

自然用户接口滚动和瞄准 Download PDF

Info

Publication number
CN105229571B
CN105229571B CN201480014180.7A CN201480014180A CN105229571B CN 105229571 B CN105229571 B CN 105229571B CN 201480014180 A CN201480014180 A CN 201480014180A CN 105229571 B CN105229571 B CN 105229571B
Authority
CN
China
Prior art keywords
user interface
hand
inertia
movement
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480014180.7A
Other languages
English (en)
Other versions
CN105229571A (zh
Inventor
D.巴斯蒂恩
O.穆里洛
M.施维辛格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105229571A publication Critical patent/CN105229571A/zh
Application granted granted Critical
Publication of CN105229571B publication Critical patent/CN105229571B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Abstract

用户接口输出至显示装置。如果人主体的元素处于第一形态,则用户接口响应于元素的移动而滚动。如果元素处于不同于第一形态的第二形态,则响应于元素的移动瞄准用户接口的目标而不滚动用户接口。

Description

自然用户接口滚动和瞄准
背景技术
用户接口通常采用键盘、鼠标、轨迹垫、和其他外围装置控制。近来,已经研发了由人类姿势控制的自然用户接口以提供更自然的用户体验。
发明内容
提供该发明内容以便以简化的形式引入在以下的具体实施方式中进一步描的概念的选择。该发明内容并非意在标识请求保护的主题的关键特征或必要特征,也并非意在用于限制所请求保护主题的范围。此外,请求保护的主题不限于解决在该公开内容的任意部分中所述的任何或所有的缺点的实施方式。
用户接口输出至显示装置。如果人主体的元素处于第一形态,则用户接口响应于元素的移动而滚动。如果元素处于不同于第一形态的第二形态,则响应于元素的移动瞄准用户接口的目标而不滚动用户接口。
附图说明
图1示意性示出了控制环境的非限制性示例。
图2示意性示出了骨骼追踪流水线的示例。
图3是图示根据本公开内容的实施例的用于导航可滚动用户接口的方法的流程图。
图4A示意性示出根据本公开内容的实施例的采用随时间变化的多个位置的虚拟骨骼。
图4B-图4D示出了响应于图4A的虚拟骨骼的手关节位置的用户接口。
图5A示出根据本公开内容的实施例的采用随时间变化的多个位置的虚拟骨骼。
图5B-图5D示出了响应于图5A的虚拟骨骼的手关节位置的用户接口。
图6是图示根据本公开内容的实施例的用于导航可滚动用户接口的方法的流程图。
图7A示出根据本公开内容的实施例的采用随时间变化的多个位置的虚拟骨骼。
图7B-图7D示出响应于图7A的虚拟骨骼的手关节位置的用户接口。
图8A示出了根据本公开内容的实施例的采用随时间变化的多个位置的虚拟骨骼。
图8B-图8D示出了响应于图8A的虚拟骨骼的手关节位置的用户接口。
图9A示出了根据本公开内容的实施例的采用随时间变化的多个位置的虚拟骨骼。
图9B-图9E示出了响应于图9A的虚拟骨骼的手关节位置的用户接口。
图10A示出了根据本公开内容的实施例的采用随时间变化的多个位置的虚拟骨骼。
图10B-图10D示出了响应于图10A的虚拟骨骼的手关节位置的用户接口。
图11示意性示出了根据本公开内容的实施例的计算系统。
具体实施方式
图1示出了控制环境100的非限制性示例。特别地,图1示出了可以用于播放各种不同游戏、播放一个或多个不同媒体类型、和/或控制或操纵非游戏应用程序和/或操作系统的娱乐系统102。图1也示出了诸如电视机或计算机监视器的显示装置104,其可以用于向用户展示媒体内容、游戏图像等。作为一个示例,显示装置104可以用于可视化地展示由娱乐系统102接收的媒体内容。在图1中所图示的示例中,显示装置104正显示从娱乐系统102接收的可滚动用户接口110,其在一个示例中展示关于由娱乐系统102所接收的媒体内容的可选择信息。控制环境100可以包括捕捉装置,诸如在所观测场景内可视化地监控或追踪目标和用户的深度相机106。
显示装置104可以经由娱乐系统的显示输出而操作地连接至娱乐系统102。例如,娱乐系统102可以包括HDMI或其他合适的有线或无线显示输出。显示装置104可以从娱乐系统102接收视频内容,和/或其可以包括配置用于直接从内容提供者接收视频内容的单独接收器。
深度相机106可以经由一个或多个接口而操作地连接至娱乐系统102。作为非限制性示例,娱乐系统102可以包括深度相机106可以连接至其的通用串行总线。深度相机106可以用于识别、分析和/或追踪物理空间内的一个或多个人主体和/或目标,诸如用户108。深度相机106可以包括红外光以将红外光投射至物理空间上以及配置用于接收红外光的深度相机。
娱乐系统102可以配置用于与图1中未示出的一个或多个远程计算装置通信。例如,娱乐系统102可以从广播、第三方媒体输送服务、或其他内容提供者直接地接收视频内容。娱乐系统102也可以经由互联网或另一网络与一个或多个远程服务通信,例如以便于分析从深度相机106接收到的图像信息。
尽管图1中描绘的实施例示出了作为单独的元件的娱乐系统102、显示装置104和深度相机106,但是在一些实施例中,元件中的一个或多个可以集成至共同的装置中。
娱乐系统102和/或显示装置104的一个或多个方面可以经由无线或有线控制装置而被控制。例如,可以基于从远程控制装置、计算装置(诸如移动计算装置)、手持游戏控制器等接收到的输入而选择由娱乐系统102向显示装置104输出的媒体内容。此外,在以下详述的实施例中,可以基于自然用户输入(诸如由用户执行并且由娱乐系统102基于从深度相机106接收到的图像信息而解释的姿势命令)而控制娱乐系统102和/或显示装置104的一个或多个方面。
图1示出了其中深度相机106追踪用户108以使得可以由娱乐系统102解释用户108的移动的场景。在一些实施例中,用户108的移动被解释为控制,该控制可以用于控制作为可滚动用户接口110一部分的显示在显示装置104上显示的虚拟指针112。换言之,用户108可以使用他的移动来控制在可滚动用户接口110中展示的信息的选择。此外,尽管图1中未示出,但是其他输入装置也可以用于控制虚拟指针112的位置,诸如远程控制装置或触摸敏感输入装置。
图2用图像示出了可以用于追踪并解释用户108的移动的深度分析系统的简化的骨骼追踪流水线26。为了解释的简便性,参照图1的娱乐系统102和深度相机106描述了骨骼追踪流水线26。然而,骨骼追踪流水线26可以被实施在任何合适的计算系统上,而不脱离本公开内容的范围。例如,骨骼追踪流水线26可以实施在图11的计算系统1100上。此外,可以使用不同于骨骼追踪流水线26的骨骼追踪流水线而并未脱离本公开内容的范围。
在28处,图2从追踪装置的角度示出了用户108。诸如深度相机106的追踪装置可以包括配置用于观测诸如用户108的人主体的一个或多个传感器。
在30处,图2示出了由诸如深度相机106的追踪装置收集到的观测数据的示意性表达32。所收集到的观测数据的类型将取决于在追踪装置中所包括的传感器的数目和种类而变化。在所图示的示例中,追踪装置包括深度相机、可见光(例如彩色)相机以及扩音器。
深度相机可以对于深度相机的每个像素确定所观测场景中的表面相对于深度相机的深度。可以对深度相机的每个像素记录三维x/y/z坐标。图2示意性示出对于深度相机的DPixel[v,h]观测的三维x/y/z坐标34。可以对于深度相机的每个像素记录类似的三维x/y/z坐标。对于所有像素的三维x/y/z坐标共同地构成了深度图。可以以不脱离本公开内容的范围的任何合适的方式确定三维x/y/z坐标。
可见光相机可以对于可见光相机的每个像素确定对于一个或多个光通道(例如红、绿、蓝、灰度等)的所观测场景中的表面的相对光强度。图2示意性示出了对于可见光相机的V-LPixel[v,h]观测的红/绿/蓝颜色值36。可以对可见光相机的每个像素记录红/绿/蓝颜色值。对于所有像素的红/绿/蓝颜色值共同地构成了数字颜色图像。可以以不脱离本公开内容的范围的任何合适的方式确定红/绿/蓝颜色值。
深度相机和可见光相机可以具有相同的分辨率,尽管这并非必需的。不论相机是具有相同还是不同的分辨率,可见光相机的像素可以被注册(register)至深度相机的像素。这样,可以通过考虑来自可见光相机和深度相机的注册的像素(例如V-LPixel[v,h]和DPixel[v,h])而对于所观测场景的每个部分确定颜色和深度信息。
一个或多个扩音器可以确定来自用户108和/或其他源的定向和/或非定向声音。图2示意性示出由扩音器所记录的音频数据37。音频数据可以由深度相机106的扩音器记录。可以以不脱离本公开内容的范围的任何合适的方式确定这样的音频数据。
收集到的数据可以采取虚拟的任何合适的(多个)数据结构的形式,包括但不限于一个或多个矩阵,其包括针对由深度相机所成像的每个像素的三维x/y/z坐标,针对由可见光相机成像的每个像素的红/绿/蓝颜色值,和/或时间分辨的数字音频数据。用户108可以连续地被观测并建模(例如以每秒30帧)。相应地,可以对于每个这样的观测帧而收集数据。收集到的数据可以经由一个或多个应用程序编程接口(API)而可用和/或如下面描述的那样被进一步分析。
深度相机106、娱乐系统102和/或远程服务可选地可以分析深度图以区分将要追踪的人主体和/或其他目标与观测的深度图中的非目标元素。深度图的每个像素可以分配用户指数38,其将该像素识别为对特定的目标或非目标元素进行成像。作为示例,对应于第一用户的像素可以被分配等于一用户指数,对应于第二用户的像素可以分配等于二的用户指数,以及并未对应于目标用户的像素可以被分配等于零的用户指数。可以以不脱离该公开内容的范围的任何合适的方式确定、分配并保存这样的用户指数。
深度相机106、娱乐系统102和/或远程服务可选地可以进一步分析用户108的深度图的像素以便于确定每个这样的像素可能要对用户的身体的什么部位成像。各种不同的身体部位分配技术可以用于评估特定的像素可能要对用户身体的哪个部位成像。具有适当的用户指数的深度图的每个像素可以被分配身体部位指数40。身体部位指数可以包括离散的标识符、坐标值和/或指示该像素可能要对哪个、哪些身体部位成像的身体部位可能性分布。身体部位指数可以以不脱离本公开内容的范围的任何合适的方式而被确定、分配和保存。
在42处,图2示出用作用户108的机器可读表达的虚拟骨骼44的示意性表达。虚拟骨骼44包括二十个虚拟关节-{头,肩中心,脊,髋中心,右肩,右肘,右腕,右手,左肩,左肘,左腕,左手,右髋,右膝,右踝,右足,左髋,左膝,左踝,以及左足}。这二十个关节虚拟骨骼提供作为非限制性示例。根据本公开内容的虚拟骨骼可以虚拟地具有任意数目的关节。
各个骨骼关节可以对应于用户108的真实关节、用户身体部位的质心、用户四肢的终端,和/或不具有至用户的直接解剖学关联的点。每个关节可以具有至少三个自由度(例如宇宙空间x,y,z)。照此,采用三维位置定义虚拟骨骼的每个关节。例如,用x坐标位置47、y坐标位置48和z坐标位置49定义右手虚拟关节46。可以相对于任何合适的原点定义关节的位置。作为一个示例,深度相机可以用作原点,并且相对于深度相机定义所有的关节位置。可以以不脱离本公开内容的范围的任何方式用三维位置来定义关节。
各种技术可以用于确定每个关节的三维位置。骨骼匹配技术可以使用深度信息、颜色信息、身体部位信息和/或之前训练的解剖学和动力学信息来演绎紧密地对人主体建模的一个或多个骨骼。作为一个非限制性示例,上述身体部位指数可以用于找到每个骨骼关节的三维位置。
关节取向可以用于进一步定义一个或多个虚拟关节。尽管关节位置可以描述关节以及跨越在关节之间的虚拟骨头的位置,关节取向可以描述这些关节以及虚拟骨头在它们相应的位置处的取向。作为示例,腕关节的取向可以用于描述位于给定位置处的手是面向上或向下。
关节取向可以例如编码在一个或多个归一化的三维取向向量中。(多个)取向向量可以提供关节相对于深度相机或另一参考(例如另一关节)的取向。此外,可以根据宇宙空间坐标系统或另一合适的坐标系统(例如,另一关节的坐标系统)而定义(多个)取向向量。关节取向也可以经由其他机制被编码。作为非限制性示例,四元数和/或欧拉角可以用于编码关节取向。
图2示出了其中采用正交取向向量50、51和52定义右手关节46的非限制性示例。在其他实施例中,单个取向向量可以用于定义关节取向。可以以不脱离本公开内容的范围的任何合适方式而计算(多个)取向向量。
关节形态可以用于进一步定义一个或多个虚拟关节。尽管关节位置可以描述关节以及跨越在关节之间的虚拟骨头的位置、并且关节取向可以描述这些关节和虚拟骨头在它们相应的位置处的取向,但是关节形态可以描述关节、虚拟骨头、和/或与其相关联的身体部位的其他方面。作为示例,手关节的形态可以用于描述对应的手是处于打开紧握还是闭合的紧握的形态中。
关节形态可以被编码,例如被编码为一维编号或向量。作为非限制性示例,关节形态编号或变量可以被分配至关节。
图2示出了其中采用编号53定义右手关节46的非限制性示例。在该示例中,右手关节46的形态被存储作为机器可读变量Q。图2中描绘的右手关节46处于闭合的紧握形态中并且变量Q已经分配了0值。在该示例中,右手关节46的打开紧握形态将导致变量Q被分配为值1。在一些示例中,包括指向、挥摆、紧握目标、交叉手指等的多个手关节形态可以是可区分的并且分配为不同的值。
尽管以上描述讨论了针对虚拟手关节的潜在的形态,但是将理解的是,其他关节可以被分配适用于那些特定的关节的不同的可能的形态的一个或多个形态变量。例如,头关节可以基于头关节处于开口或闭口的形态中而被分配值。
在一些示例中,形态变量可以分配至多个关节的不同的可能形态。例如,紧密靠近的两个手关节可以采用多个可能的形态(例如握手、拍手等),并且每个形态变量可以被分配值。
关节位置、取向、形态和/或其他信息可以被编码在任何合适的(多个)数据结构中。此外,位置、取向和/或与任何特定的关节相关联的其他参数可以经由一个或多个API而可用。
如图2中可见,虚拟骨骼44可以可选地包括多个虚拟骨头(例如左前臂骨54)。各个骨骼骨头可以从一个骨骼关节延伸至另一个,并且可以对应于用户的真实骨头、肢体或骨头和/或肢体的部分。在此讨论的关节取向可以适用于那些骨头。例如,肘取向可以用于定义前臂取向。
虚拟骨骼可以用于辨识由用户108执行的一个或多个姿势。作为非限制性示例,由用户108执行的一个或多个姿势可以用于响应于用户的移动而触发用户接口的滚动,并且如果已经执行了一个或多个姿势则可以在一个或多个帧之上分析虚拟骨骼。例如,可以确定虚拟骨骼的手关节的形态,并且基于手关节的位置而移动虚拟指针112。然而,将理解的是,虚拟骨骼可以用于额外的和/或替代的目的而并未脱离本公开内容的范围。
图3示出了用于展示用户接口的示例性方法300的流程图。例如,方法300可以用于展示如图1中所描绘的用户接口110。方法300可以以存储在存储机器上并且由逻辑机器执行的指令的形式而实施,例如图11中所示的存储机器1120和逻辑机器1110。例如,娱乐装置102可以包括保持针对方法300的指令的存储机器,以及配置用于运行指令的逻辑机器。
在305处,方法300可以包括将用户接口输出至显示装置。例如,用户接口110可以输出至如图1中所描绘的显示装置104。显示装置可以与娱乐装置分离,或者可以集成在娱乐装置中。可滚动的用户接口可以仅一次在可观看的内容区域中展示信息的子集,并且因此用户可以滚动所展示的信息来到达可滚动用户接口的期望部分。
在310处,方法300可以包括确定人主体的元素是处于第一形态还是第二形态中。例如,方法300可以包括确定用户108的手98是在闭合的紧握还是打开紧握形态中。确定人主体的元素是在第一还是第二形态中可以包括:接收从来自深度相机的深度图像而建模的人主体的虚拟骨骼,虚拟骨骼包括对人主体的手的三维位置进行建模的虚拟手关节。例如,深度相机106可以采取用户108的深度图像32。深度图像32可以用于产生虚拟骨骼44,包括虚拟手关节46,对用户108的手98的三维位置进行建模。
此外,虚拟手关节46可以用于确定用户108的手98是在闭合的紧握形态还是打开紧握形态中。确定手98是在闭合的紧握形态还是打开紧握形态中可以进一步包括:分析对应于虚拟手关节的位置的深度、红外和/或彩色图像的部分。换言之,手关节的位置可以用于定位其他图像数据的哪些部分应该被分析。这些部分可以使用机器学习技术被分析以确定形态。
在一些示例中,虚拟骨骼可以包括合适数目的手和/或手指关节以促进人主体的手是处于闭合的紧握形态还是打开紧握形态中的确定。
在一些示例中,确定人主体的手是处于闭合的紧握形态还是打开紧握形态中包括:通过辨识手从一个形态至另一形态的转变而确定手的形态。例如,当手快速移动时,其可能难以决定性地确定用户的手是否处于打开紧握形态中,但是也许可以确定的是,用户的手已经从闭合的紧握构的造转变为非闭合的紧握的形态。
如果确定了人主体的元素处于第一形态中,则方法300可以行转至350。如果确定了人主体的元素处于第二形态中,则方法300可以转至320。
在350处,方法300可以包括进入滚动模式。例如,当用户的手处于闭合的紧握形态中时方法300可进入滚动模式。在355处,方法300可以包括响应于元素的移动而滚动用户接口。例如,如果用户的手处于闭合的紧握形态中,则用户接口可以响应于对手的三维位置建模的虚拟手关节的移动而滚动。下面进一步并且参照图4A-图4D讨论以如此方式滚动用户接口。
在一些示例中,响应于元素的移动而滚动用户接口包括响应于元素在三个维度中的移动而在三个维度中滚动用户接口。例如,用户接口可以是地形的图形表达或其他三维游戏播放区域。用户通过当在闭合的紧握形态中时移动用户的手而可以能够在三个维度方向中摇动、滚动和缩放以及通过在显示装置上描绘的地形。
应该理解的是,用户接口可以以非约束的方式而滚动。换言之,用户可以滚动用户接口至任何期望的位置。用户接口无需以与显示器相同宽度的增量而滚动。此外,这样的滚动可以被展现为跨显示器的用户接口的可视化平滑移动。额外地,用户接口的一个或多个区段可以被强调以使得用户接口可以用非约束流而滚动,但是与此同时自然地促使停止在特别感兴趣的被强调的区段上。被强调的区段可以用于降低用户将在用户接口的不太有用的区段上停止滚动的可能性。
在360处,方法300可以包括当元素移动时识别从第一形态的转变。例如,用户可以保持手处于闭合的紧握形态中,然后移动手并且将紧握释放为打开紧握形态中,或者另外从闭合的紧握形态以其它方式转变。以下进一步并且参照图7A-图8D讨论针对从第一形态的转变的其他示例。如果识别了这样的转变,方法300可以包括进入惯性滚动模式,如在370处所示。针对惯性滚动用户接口的示例性子方法由图6中方法600示出。如果在360处未识别这样的转变,方法300可以包括将用户接口维持在滚动模式下,如在375处所示。
返回至310,如果确定了人主体的元素处于第二形态中,方法300可以转至320。在320处,方法300可以包括进入瞄准模式。在一些示例中,瞄准模式可以允许用户瞄准出现在显示装置上的用户接口中的目标。在一些实施例中,如果元素处于不同于第一形态的第二形态中,用户可以响应于元素的移动瞄准用户接口的目标而不滚动用户接口。例如,当右手关节46处于打开紧握形态中时,用户可以响应于虚拟手关节的移动而瞄准用户接口的目标而不滚动用户接口。在一些示例中,用户接口包括当瞄准时作为元件位置的瞄准函数而移动的光标。
在325处,方法300可以包括将光标作为元件位置的瞄准函数而移动。换言之,用户接口可以包括当手处于打开紧握形态中时改变用户接口上的位置以反映用户的手移动的光标。光标可以是显示目标,诸如图1中所示的虚拟指针112。在一些示例中,光标可以不示出在显示装置上。例如,用户接口上显示目标的出现可以被改变以反映在显示目标上或显示目标附近的看不见的光标的定位。
在330处,方法300可以包括确定光标是否位于用户接口上的目标之上。如上所述,在一些示例中,目标的出现可以被改变以反映光标在目标之上的定位。在一些示例中,显示目标可以被配置成当光标位于目标之上时是由用户可选择的。一些显示目标可以不是可选择的,即使光标位于目标之上。作为非限制性示例,可选择的目标可以包括图标、按钮、列表上项目、游戏画面中牵涉的显示目标、和/或虚拟地任何其他的可显示的目标。
如果光标并未位于用户接口上的可选择目标之上,方法300可以包括维持瞄准模式,如在340处所示。如果确定了光标位于用户接口上的目标之上(例如在阈值的接近度内),方法300可以包括确定是否存在元素朝向显示装置大于阈值距离的运动,如在335处所示。如果在335处探测到这样的运动,方法300可以包括选择瞄准的目标,如在345处所示。如果并未探测到元素朝向显示装置的大于阈值距离的移动,方法300可以包括维持瞄准模式,如在340处所示。换言之,当光标在用户接口上可选择目标之上时,用户可以通过朝向显示装置移动处于第二形态的元素而选择目标。例如,用户可以将处于打开紧握形态中的手朝向显示装置伸展以选择由光标所瞄准的目标。用户也可以倾斜以选择所瞄准的目标,并且移动光标以瞄准显示在用户接口上的不同目标。下面进一步并且参照图5A-图5D描述用户接口上的目标的瞄准和选择。
如上所介绍的,可以经由深度图的骨骼建模而由人类目标的移动来控制可滚动的用户接口。例如,图4A-图5D以及图7A-图10D示意性示出了在不同时刻(例如时间t0、时间t1、和时间t2)对人主体的不同姿势建模的虚拟骨骼44。如上所讨论的,虚拟骨骼可以从观测人类目标的深度相机获取的深度信息而得到。虽然虚拟骨骼44被图示为关节连接的简画图,将理解的是,虚拟骨骼可以由任何合适的机器可读数据结构来表示。例如,如在图4A中被图示为点的关节可以由位置坐标和/或其他机器可读信息表示。同样地,计算系统的逻辑子系统可以接收虚拟骨骼(即,以机器可读形式表示虚拟骨骼的(多个)数据结构)并且处理一个或多个关节的位置和/或其他属性。如此方式,骨骼位置/移动以及因此建模的人主体的形态可以被解释为用于控制用户接口的方面的不同的姿势控制。
图4A示出了包括虚拟手关节46的虚拟骨骼44。在该示例中,虚拟手关节46被配置成表示人主体的右手98的形态,此处示出为闭合的紧握形态。在时间t0,虚拟骨骼的右臂处于较低的位置。图4B示出了在时间t0包括显示在显示装置104上的列表403的用户接口110。
在图4A的时间t1,虚拟骨骼44从t0处的位置向上移动右手关节46的位置,此时人主体保持右手98处于闭合的紧握形态。如参照图3讨论的,当在第一形态中时移动元素(例如移动处于闭合的紧握形态中的手)可以使得用户接口110作为元素移动的函数而滚动。图4C示出了用户接口作为处于第一形态中元素的移动的函数而向上滚动,如向上箭头401以及列表403的向上滚动所指示的。将理解的是,手向上移动可以引起相反方向上的滚动而并未脱离本公开内容的范围。
如在图4A的时间t2所指示的,虚拟骨骼44从t1处位置向下移动右手关节46的位置,同时人主体维持右手98处于闭合的紧握形态。图4D示出了用户接口作为处于第一形态中元素的移动的函数的向下滚动,如向下箭头402以及列表403的向下滚动所指示的。如果时刻t2处右手关节46的位置等同于时刻t0处右手关节46的位置,用户接口110可以显示与时刻t0处相同的信息,如由图4B和图4D中列表403的可见内容所示。然而,滚动可以是基于手速度和/或手绝对位置之外的其他参数。此外,将理解的是,向下的手移动可以引起相反方向上的滚动而并未脱离本公开内容的范围。
图4C描绘响应于右手关节46的向上移动而向上滚动的用户接口110和列表403。然而,用户接口110也可以配置用于在与右手关节46的移动相反的方向上滚动。换言之,用户接口110可以配置成如同用户控制参考帧或者用户控制目标在同一参考帧内的定位那样而滚动。
在一些实施例中,手关节远离默认手关节位置的绝对移动被用作用于确定用户接口滚动的量的基础。在一些实施例中,手关节相对于肩关节或其他参考关节的相对位置用作用于确定滚动的量的基础。手关节移动至用户接口滚动的转换并非必须为1:1的比率。在一些实施例中,使用线性或非线性转换函数,观测到的手关节位置可以被转换为滚动距离。换言之,取决于手的位置、手的速度、手的加速度和/或可滚动接口的参数,一定量的手移动可以引起不同量的滚动。
尽管图4A-图4D描绘了响应于手关节46在上下方向上的移动而在一个维度中滚动,但是将理解的是,用户接口的滚动可以响应于手关节46在两个或三个维度中移动而在两个或三个维度中发生。在一些示例中,用户接口110的滚动可以被限定为一维或二维中的滚动,并且因而手关节46的移动可以被限定或者投影至一个或两个维度。例如,列表403可以在一个维度上是可滚动的。当虚拟骨骼44在上或下方向(例如沿着y轴)移动右手46时,右手46可以实际上随着右臂关节的移动而更靠近或更远离显示装置(例如沿着z轴线)而移动。手沿着z轴的移动可以不被强调或者限定至沿着y轴的投影。在一些示例中,用户接口可以在两个维度中是可滚动的,例如沿着x和y轴可滚动目标的网格。因此,沿着z轴的移动可以不被强调或者被限定至沿着x和y轴的投影。
图5A示出了包括虚拟手关节46的虚拟骨骼44。在该示例中,虚拟手关节46配置用于表示人主体的右手98的形态,此处示出为处于打开紧握形态。在时间t0处,虚拟骨骼的右臂示出为处于较低的位置。图5B示出了用户接口110,包括在时间t0处显示在显示装置104上的列表503、接口目标118以及虚拟指针112。
在图5A的时间t1处,虚拟骨骼44从t0处位置向上移动右手关节46的位置,同时人主体维持右手98处于打开紧握形态。如参照图3所讨论的,当处于第二形态中时移动元素(例如移动处于打开紧握形态中的手)可以使得虚拟指针112将用户接口110作为元素移动的函数而移动。图5C示出了虚拟指针112,在时间t1处作为处于第二形态的元素的移动的函数而向上移动。如参照图3所讨论的,当右手关节46处于打开形态中时,用户可以瞄准用户接口上的目标,例如目标118。在目标118上或目标118附近定位虚拟指针112可以使得目标118改变外观,作为目标118可以由用户选择的指示。虚拟指针112被描绘为箭头,但是可以采取其他外观,或者可以配置成不显示在用户接口110上。当处于瞄准模式时,用户接口可以不作为手关节46移动的函数而滚动,如由在用户接口110上保持固定的列表503所描绘的。
在一些实施例中,手关节远离默认手关节位置的绝对移动用作用于确定在用户接口上虚拟指针112瞄准的基准。在一些实施例中,手关节至肩关节或其他参考关节的相对位置用作用于确定光标移动量的基准。手关节移动至光标瞄准的转换并非必须是1:1的比例。在一些实施例中,观测到的手关节位置可以使用线性或非线性转换函数而转换为虚拟指针移动距离。换言之,取决于手的位置、和/或用户接口的参数,一定量的手移动可引起不同量的虚拟指针移动。
尽管图5A-图5C描绘了反映手关节46在上和下方向上的移动的沿一个维度中的瞄准,但是将理解的是,虚拟指针112的瞄准可以在反映三个维度中移动的手关节46而发生在两个或三个维度中。在一些示例中,虚拟指针112的瞄准可以被限定至在一个或两个维度中的瞄准,并且因此手关节46的移动可以被限定或者投影至一个或两个维度。
在图5A的时间t2处,虚拟骨骼44从t1处的位置向前移动右手关节46的位置,同时人主体维持右手98处于打开紧握形态。图5D描绘响应于右手关节46朝向显示装置104的移动而由用户选择的目标118。
在一些示例中,当光标接合目标时,响应于元素在显示装置的方向上的超过阈值距离的移动而选择用户接口的目标。在一些示例中,可以响应于元素超过某个速度或者加速度的移动而选择用户接口的目标。在一些示例中,可以响应于沿着与沿着其他轴的距离相比的距离的移动而选择用户接口的目标。在一些示例中,目标的瞄准可以导致限定或者投射元素的沿着一个或多个轴的移动。在一些示例中,用户可以通过朝向显示装置移动元素而选择目标,或者可以通过将元素移动远离显示装置而取消选择目标。
图6示出了用于控制用户接口的示例性方法600。方法600可以作为方法300或其他类似方法的子例程而运行,或者可以采用作为自我独立的例程。方法600可以以存储在存储机器上并且由逻辑机器执行的指令的形式而实施,例如如图11中所示的存储机器1120和逻辑机器1110。例如,娱乐装置102可以包括保持用于方法600的指令的存储机器,以及配置用于执行指令的逻辑机器。
在670处,方法600可以包括进入惯性滚动模式。作为方法300的子例程,670可以是370的等价形式。如参照图3所述,当元素移动时一旦探测到元素从第一形态的转变,则可以进入惯性滚动模式。
在680处,方法600可以包括使用户接口作为元素速度的滚动函数而惯性滚动。换言之,如果用户接口描绘了虚拟球,用户可以围绕虚拟轴线以一速度拨动球。在一些示例中,这可以包括:在包括元素从第一形态的转变的时间段期间作为元素速度的滚动函数而惯性滚动用户接口。在一些示例中,在元素是人主体的手的情形中,方法600可以包括:在包括手从第一形态的转变的时间段期间作为人主体的手的速度的滚动函数而惯性滚动用户接口。
在685处,方法600可以包括确定是否存在比阈值更大的、在当前滚动方向上的元素的移动。换言之,如果用户接口在向上的方向滚动,方法600可以包括确定是否存在比阈值更大的、元素在向上方向上的移动。如果探测到元素在当前的滚动方向上比阈值更大的移动,则方法600可以转至690。
在690处,方法600可以包括作为元素速度的函数而增大滚动速度。在其中用户接口是虚拟的球的示例中,当虚拟的球围绕虚拟的轴旋转时,用户可以通过沿旋转方向拨动球而增大球的旋转速度。在一些示例中,作为元素速度的函数而增大滚动速度可以包括:响应于元素在基本上类似于当前滚动方向的方向上的随后移动,在当前滚动方向上以增加的速度惯性滚动用户接口。例如,响应于人主体的手在基本上类似于当前的滚动方向的方向上的超过阈值距离的随后的移动,用户接口可以以增加的速度惯性滚动。
如果并未探测到元素在当前的滚动方向上的大于阈值的移动,方法600可以转至695。在695处,方法600可以包括:确定是否存在元素朝向显示装置的大于阈值的运动。如果并未探测到元素朝向显示装置的大于阈值的运动,方法600可以维持惯性滚动模式,如在699处所示。如果探测到元素朝向显示装置的大于阈值的运动,方法600可以转至697。
在697处,方法600可以包括作为元素移动距离的函数而降低滚动速度。在其中用户接口是虚拟球的示例中,当球围绕虚拟轴旋转时,用户可以通过伸出并触摸球而减缓球的旋转。在一些示例中,这可以包括:作为元素沿着垂直于显示装置的轴移动的距离的函数而减小惯性滚动的速度。例如,惯性滚动的速度可以作为人主体的手沿着垂直于显示装置的轴移动的距离的函数而降低。换言之,当用户接口在惯性滚动时,人主体可以通过将手伸向显示屏而减慢或停止惯性滚动。在一些示例中,用户可以通过在惯性滚动期间将手伸向显示屏而不选择屏幕上的目标。相反,当用户识别到感兴趣的目标时,用户可以停止惯性滚动,并且随后在后续的瞄准和选择模式中选择目标。下面进一步并参照图7A-图7D以及图8A-图8D讨论用于进入惯性滚动模式的示例。以下进一步并参照图9A-图9D讨论用于增大惯性滚动速度的示例。下面进一步并参照图10A-图10D讨论用于降低惯性滚动速度的示例。
图7A示出了包括虚拟手关节46的虚拟骨骼44。在该示例中,虚拟手关节46配置用于表示人主体的右手98的形态。在t0处,右手98被示出处于闭合的紧握形态中。图7B示出了用户接口110,包括在时刻t0处显示在显示装置104上的列表703。
在图7A的时刻t1处,虚拟骨骼44从t0处的右手关节的位置向上移动右手关节46的位置,同时人主体保持右手98处于闭合的紧握形态。如参照图3和图4A-图4D讨论的,当在第一形态中时移动元素(例如移动处于闭合的紧握形态中的手)可以使得用户接口110作为元素移动的函数而滚动。图7C示出了用户接口作为处于第一形态中的元素移动的函数而向上滚动,如由向上的箭头701以及向上滚动的列表703所指示。
在图7A的时刻t2处,虚拟骨骼44从t1处的右手关节的位置向上移动右手关节46的位置,同时人主体将右手98从闭合的紧握形态转变为打开紧握形态。如参照图3所述,当元素移动时探测到从第一形态转变为并非第一形态的形态可以引起用户接口110的惯性滚动。图7D示出了用户接口作为元素速度的函数而向上惯性滚动,如由向上箭头702以及列表703的惯性滚动所指示的。换言之,即使手当响应于人主体的手的之前移动和形态转变而停止向上移动,用户接口可以惯性滚动。
在一些示例中,用户接口的惯性滚动可以包括:在包括元素从第一形态的转变的时间段期间作为元素移动的惯性函数而产生惯性向量,并且在惯性向量的方向上惯性滚动用户接口。存储机器可以配置用于存储指令以在包括手从第一形态的转变的时间段期间产生作为人主体的手的移动的方向的惯性函数的惯性向量,并在惯性向量的方向上惯性滚动用户接口。
换言之,可以基于元素的移动而产生向量以确定惯性滚动的方向。逻辑机器可以记录虚拟手关节46的移动。一旦手关节46从闭合的紧握转变为打开紧握形态,逻辑机器可以从手关节46开始移动(例如图7A的t0)的时刻回顾地分析关于手关节46位置的数据,至少直至手关节46从闭合的紧握形态转变(例如图7A的t2)的时刻。惯性向量可以随后作为手关节46移动的函数而产生,并且用户接口110可以在该方向上惯性滚动。
在一些示例中,关于元素移动的数据可以被过滤以在对应于元素移动的主要方向的方向上产生惯性向量。例如,人主体可以在从闭合的紧握形态的转变期间沿着z轴移动手,尽管在从闭合的紧握形态转变之前主要沿着y轴移动手。数据可以被过滤以不强调围绕转变的数据。
尽管图7A-图7D描绘了反映手关节46在上和下方向上的移动的一个维度中的惯性滚动,但是将理解的是,用户接口的惯性滚动可以响应于手关节46在三个维度中移动而发生在三个维度中。在一些示例中,用户接口110的惯性滚动可以被限定至在一个或者两个维度中的滚动,并且手关节46的移动可以被投影至一个或两个维度。例如,列表703可以在一个维度中是可滚动的。当虚拟骨骼44在上或者下方向(例如沿着y轴)上移动右手46时,右手46可以实际上与右手关节的移动一起更靠近或更远离显示装置(例如沿着z轴)而移动。在惯性向量的产生中,沿着z轴的数据可以不被强调、被限定或者投影至y轴上。
在一些示例中,用户接口可以在两个维度中是可惯性滚动的,例如沿着x和y轴可惯性滚动的目标的网格。因此,沿着z轴的移动可以被忽略或被限定至沿着x和y轴的投影。在一些示例中,惯性向量可以是具有在三维空间中坐标的一维向量。
在一些示例中,惯性滚动可以开始于在预定速度下发生的惯性滚动。在其他示例中,初始的惯性滚动速度可以是元素速度的幅度的函数。如对于惯性向量的产生所描述的,收集到的关于元素移动的数据可以被过滤以确定元素速度的幅度。例如,人主体可以在从闭合的紧握形态的转变之前以恒定速度移动手,并且随后在转变期间和/或之后以降低的速度移动手。可以过滤数据以不强调围绕转变的数据。得到的幅度可以随后用于产生初始滚动速度。
在一些示例中,用户接口的惯性滚动的速度可以在启动之后随着时间降低,例如带有虚拟的摩擦系数。虚拟的摩擦系数可以设置为等于0的值,在该情形中,惯性滚动的速度将保持恒定直至接收到额外的输入。
如上所述,当手正快速移动时,可能难以决定性地确定的是用户的手是否处于打开紧握形态中,但是也许可能确定的是,用户的手已经从闭合的紧握形态转变为并非闭合的紧握形态的形态。在一些示例中,确定人主体的手是否已经从闭合的紧握形态转变可以包括确定人主体的手不再处于闭合的紧握形态中。在一些示例中,辨识手从一个形态转变为另一个形态包括确定手已经达到虚拟边界。在一些实施例中,虚拟边界可以包括其中手不再由深度相机可见的位置。
在一些实施例中,在用户接口包括作为元素位置的瞄准函数而移动的光标的情形中,元素的转变可以由移动至用户接口的边界的光标表征。在一些实施例中,在用户接口包括作为人主体的手的位置的瞄准函数而移动的光标的情形中,手从一个形态转变为另一个可以由移动至用户接口边界的光标来表征。
图8A示出了包括虚拟手关节46的虚拟骨骼44。在该示例中,虚拟手关节46配置用于表示人主体的右手98的形态,此处示出为处于闭合的紧握形态中。在时间t0处,虚拟骨骼的右臂处于较低的位置中。图8B示出了用户接口110,包括列表803,以及在时间t0处显示在显示装置104上的虚拟指针112。
在图8A的时间t1处,虚拟骨骼44从时刻t0处的位置向上移动右手关节46的位置,同时人主体维持右手98处于闭合的紧握形态。如参照图3和图4A-4D所讨论的,当在第一形态中时移动元素(例如移动处于闭合的紧握形态中的手)可以使得用户接口110作为元素移动的函数而滚动。图8C示出了用户接口作为处于第一形态中的元素移动的函数而向上滚动,如由向上箭头801以及向上列表803的滚动所指示的。在该示例中,虚拟指针112也被描绘作为处于第一形态中的元素移动的函数而移动。虚拟指针112示出为与列表803一起向上移动。
如在图8A的时间t2处所指示的,虚拟骨骼44从在t1处位置向上移动右手关节46的位置,同时人主体转变右手98而保持处于闭合的紧握形态。在该示例中,右手关节46的移动使得虚拟指针112到达显示装置104的边界。光标到达边界的动作被辨识为表示手关节46从闭合的紧握形态转变。这可以使得用户接口响应于人主体手的移动和转变而惯性滚动,如由箭头802以及惯性滚动的列表803在图8D中所指示的。
如参照图6如上所述,当用户接口惯性滚动时,用户可以通过在当前的滚动方向上移动元素而增大惯性滚动的速度。换言之,用户可以在与用户接口正在惯性滚动的相同的方向上移动手以便增大惯性滚动的速度。
图9A示出了包括虚拟手关节46的虚拟骨骼44。在该示例中,虚拟手关节46配置用于表示人主体的右手98的形态。在时间t0处,虚拟骨骼的右臂处于较低的位置,并且右手98处于闭合的紧握形态中。图9B示出了在时间t0处包括列表903的用户接口110。在时间t0处,用户接口110在如由箭头901和列表903所指示的向上的方向上惯性滚动。
如在图9A的时间t1处所指示的,虚拟骨骼44从在t0处位置向上移动右手关节46的位置,同时人主体保持右手98处于闭合的紧握形态中。由于右手关节46的移动基本上在与惯性滚动方向相同的方向上,惯性滚动的速度可以因此作为右手关节46速度的函数而增大,如由箭头902所指示的,并且列表903的惯性滚动的增加的速度在图9C中指示。
通过在惯性滚动的方向上移动元素而增大惯性滚动的速度可以不依赖于元素的形态。如图9A的时间t2处所指示的,人主体将右手98转变为打开紧握形态,但是该转变并不影响惯性滚动的速度,如附图9D中所示的箭头904和列表903所指示的。在图9A的时间t3处,虚拟骨骼44从t2处位置向上移动右手关节46的位置,同时人主体保持右手98处于打开紧握形态。由于右手关节46的移动基本上在与惯性滚动方向相同的方向上,惯性滚动的速度可以因此作为右手关节46速度的函数而增大,如箭头905以及图9D中所示列表903的惯性滚动的增加的速度所指示的。
确定惯性滚动速度作为元素移动速度的函数可以包括:收集关于元素从其中元素开始移动的时间点至其中元素停止移动的时间点的移动的数据,并且进一步包括过滤所收集的数据以便于确定元素速度的方向和幅度。如果元素速度的方向基本上类似于惯性滚动的方向,惯性滚动用户接口的速度可以与元素移动速度的幅度成比例地增大。
尽管在图9B-9E中被描绘为在一个维度中的惯性滚动,用户接口110可以响应于在两个或三个维度中元素的移动而在两个或三个维度中惯性滚动。在一些实施例中,当已经确定惯性滚动方向时,用户的随后移动可以被限定或者投影至惯性滚动方向的轴上。如图9A中所指示的,手在向上运动中的移动可以进一步包括手沿z轴的移动,此时当用户移动臂关节时手关节可以不维持单个的轴移动。沿着z轴的该运动可以被限定、投影至惯性滚动方向的轴上,或者当确定手速度时可以不被强调。
如参照图6如上所述,当用户接口惯性滚动时,用户可以通过沿着垂直于显示装置的轴移动元素而降低惯性滚动的速度。换言之,用户可以朝向显示装置移动手以便降低惯性滚动的速度。
图10A示出了包括虚拟手关节46的虚拟骨骼44。在该示例中,虚拟手关节46配置用于表示人主体的右手98的形态,在此示出为处于打开紧握形态。如在时间t0处所示,虚拟骨骼的右臂处于靠近虚拟骨骼的本体的位置中。图10B示出了包括在时间t0处显示在显示装置104上的列表1003的用户接口110。在图10B中,用户接口110惯性滚动,如箭头1001和列表1003所指示的。
在图10A的时间t1处,虚拟骨骼44已经移动右手关节至部分地从虚拟骨骼的本体延伸远离的位置中。在其中用户面向显示装置104的示例中,右手关节46沿着垂直于显示装置104的轴移动。该动作可以使得惯性滚动的速度降低,如图10C中所示的箭头1002以及列表1003所指示的。在一些实施例中,手关节可能需要延伸至少阈值距离以降低惯性滚动。
在图10A的时间t2处,虚拟骨骼44移动右手关节46至完全地延伸远离虚拟骨骼的本体的位置中。在其中用户面向显示装置104的示例中,右手关节46沿着垂直于显示装置104的轴移动。该动作可以使得惯性滚动停止,如图10D中所示的列表1003所描绘的。在一些实施例中,惯性滚动的速度可以与由手关节朝向显示装置行进的距离成比例地降低。在一些实施例中,手关节可能需要延伸至少阈值距离以停止惯性滚动。在一些示例中,惯性滚动的速度可以与手朝向显示装置的速度或者加速度成比例地降低。
在一些实施例中,如上所述的方法和过程可以关联于一个或多个计算装置的计算系统。特别地,这样的方法和过程可以实施作为计算机应用程序或服务,应用编程接口(API),库和/或其他计算机程序产品。
图11示意性示出了可以表现如上所述的方法和过程中的一个或多个的计算系统1100的非限制性实施例。以简化形式示出了计算系统1100。计算系统1100可以采取一个或多个个人计算机、服务器计算机、平板计算机、家用娱乐计算机、网络计算装置、游戏装置、移动计算装置、移动通信装置(例如智能电话)、和/或其他计算装置的形式。
计算系统1100包括逻辑机器1110和存储机器1120。计算系统1100可以可选地包括显示子系统1130、输入子系统1140、通信子系统1150和/或图11中未示出的其他部件。
逻辑机器1110包括配置用于运行指令的一个或多个物理装置。例如,逻辑机器可以配置用于运行作为一个或多个应用、服务、程序、例程、库、对象、部件、数据结构或其他逻辑构造的一部分的指令。这样的指令可以实施用于执行任务、实施数据类型、转换一个或多个部件的状态、实现技术效果、或者另外地达到所期望的结果。
逻辑机器可以包括配置用于运行软件指令的一个或多个处理器。额外地或替代性地,逻辑机器可以包括配置用于运行硬件或固件指令的一个或多个硬件或固件逻辑机器。逻辑机器的处理器可以是单核或多核的,并且在其上运行的指令可以配置用于顺序的、并行的和/或分布式处理。逻辑机器的独个部件可以可选地分布在两个或更多单独的装置之中,其可以远程地定位和/或配置用于协同处理。逻辑机器的方面可以由配置在云计算配置中的可远程访问的联网计算装置虚拟化并运行。
存储机器1120包括配置用于保持可由逻辑机器运行以实施在此描述的方法和过程的指令的一个或多个物理装置。当实施这样的方法和过程时,存储机器1120的状态可以被转换-例如以保持不同数据。
存储机器1120可以包括可移除和/或内置装置。除了其他之外,存储机器1120还可包括光学存储器(例如CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如RAM、EPROM、EEPROM等)、和/或磁性存储器(例如硬盘驱动、软盘驱动、磁带驱动、MRAM等)。存储机器1120可以包括易失性、非易失性、动态、静态、读/写、只读、随机访问、顺序访问、位置可寻址、文档可寻址、和/或内容可寻址的装置。
将知晓的是,存储机器1120包括一个或多个物理装置。然而,在此描述的指令的方面替代性地可以由并不由物理装置保持有限的持续时间的通信媒介(例如电磁信号、光学信号等)而传播。
逻辑机器1110和存储机器1120的方面可以一起集成至一个或多个硬件逻辑部件中。这样的硬件逻辑部件可以包括例如现场可编程门阵列(FPGA)、编程和专用集成电路(PASIC/ASIC)、编程和专用标准产品(PSSP/ASSP)、片上系统(SOC)、以及复杂可编程逻辑器件(CPLD)。
术语“模块”、“程序”和“引擎”可以用于描述实施用以执行特定功能的计算系统1100的方面。在一些情形中,模块、程序或引擎可以经由运行由存储机器1120所保持的指令的逻辑机器1110而被例示。将理解的是,不同的模块、程序和/或引擎可以从相同的应用、服务、代码块、对象、库、例程、API、函数等而例示。同样地,相同的模块、程序和/或引擎可以由不同的应用、服务、代码块、对象、例程、API、函数等而例示。术语“模块”、“程序”和“引擎”可以涵盖独个的或群组的可执行文档、数据文档、库、驱动、脚本、数据库记录等。
当包括显示子系统1130时,显示子系统1130可以用于展示由存储机器1120所保持的数据的可视化表达。该可视化表达可以采取图形用户接口(GUI)的形式。当在此所述的方法和过程改变由存储机器保持的数据、并且因此转换存储机器的状态时,显示子系统1130的状态可以同样被转换以可视化地表示下层数据中的改变。显示子系统1130可以包括虚拟地利用任何类型技术的一个或多个显示装置。这样的显示装置可以与逻辑机器1110和/或存储机器1120组合在共用外壳中,或者这些显示装置可以是外围显示装置。
当包括输入子系统时,输入子系统1140可以包括诸如键盘、鼠标、触摸屏或游戏控制器的一个或多个用户输入装置或者与其对接。在一些实施例中,输入子系统可以包括所选择的自然用户输入(NUI)部件或者与其对接。该部件可以是集成的或外围的,并且输入动作的转换和/或处理可以在板上或者在板外被处理。示例性的NUI部件可以包括用于语言和/或语音辨识的扩音器;用于机器视觉和/或姿势辨识的红外、颜色、立体和/或深度相机;用于运动探测和/或意图辨识的头追踪器、眼追踪器、加速度计和/或陀螺仪;以及用于评估大脑活动的电场感测部件。
当被包括时,通信子系统1150可以配置用于将计算系统1100与一个或多个其他计算装置通信地耦合。通信子系统1150可以包括与一个或多个不同通信协议兼容的有线和/或无线通信装置。作为非限制性示例,通信子系统可以配置用于经由无线电话网络、或者有线或无线局域或者广域网而通信。在一些实施例中,通信子系统可以允许计算系统1150经由诸如互联网的网络而向其他装置发送消息和/或从其他装置接收消息。
将理解的是,在此所述的配置和/或方法本质上是示例性的,并且这些具体实施例或示例并非视作为限制性的意义上的,因为无数变化是可能的。在此所述的具体例程或方法可以表示任意数目处理策略的一个或多个。同样,所图示的和/或所描述的各个动作可以以所图示和/或所描述的顺序、以其他顺序并行执行,或者被省略。同样地,可以改变上述过程的持续。
本公开内容的主题包括在此公开的各种过程、系统和配置以及其他特征、功能、动作和/或特性的所有新颖的和非显而易见的组合和子组合,以及其任意和全部等价形式。

Claims (7)

1.一种用于根据人主体的元素的移动在显示装置上展示用户接口的方法,所述方法包括:
输出所述用户接口至显示装置,所述用户接口包括作为所述元素的位置的瞄准函数而移动的光标,其中光标至用户接口的边界的移动被辨识为所述元素在该元素的不同的第一形态和第二形态之间的转变;
当所述元素处于第一形态时,响应于所述元素的移动而滚动所述用户接口;以及
当所述元素处于第二形态时,响应于所述元素的移动而瞄准所述用户接口的一个或多个目标,而不滚动所述用户接口;以及
在包括所述元素从所述第一形态的转变的时间段期间,作为所述元素的速度的滚动函数而惯性滚动所述用户接口,所述用户接口响应于所述元素在类似于当前滚动方向的方向上的随后移动而以增加的速度在当前滚动方向上惯性滚动,其中用户接口惯性滚动速度不限于所述元素的速度。
2.根据权利要求1所述的方法,其中响应于所述元素的移动而滚动所述用户接口包括,响应于所述元素在三个维度方向中的移动,在三个维度方向中滚动所述用户接口。
3.根据权利要求1所述的方法,进一步包括,当所述光标接合所述目标时,响应于所述元素在所述显示装置的方向上的超过阈值距离的移动而选择所述用户接口的目标。
4.根据权利要求1所述的方法,进一步包括:
在包括所述元素从所述第一形态的转变的时间段期间,产生作为所述元素的移动的惯性函数的惯性向量;以及
在所述惯性向量的方向上惯性滚动所述用户接口。
5.根据权利要求1所述的方法,进一步包括与所述元素沿着垂直于所述显示装置的轴移动的距离成比例地减小惯性滚动的速度。
6.一种保持指令的存储机器,所述指令可由逻辑机器运行以:
输出用户接口至显示装置;
接收从来自深度相机的深度图像建模的人主体的虚拟骨骼,所述虚拟骨骼包括对人主体的手的三维位置建模的虚拟手关节;
使用所述虚拟手关节以确定人主体的手是处于闭合的紧握形态还是处于打开紧握形态;
当手处于闭合的紧握形态时,响应于所述虚拟手关节在三个维度方向中的每一个上的移动而在三个维度方向中的每一个上滚动所述用户接口;
当手处于打开紧握形态时,响应于所述虚拟手关节的移动而瞄准所述用户接口的目标,而不滚动所述用户接口;
在包括所述手从所述闭合的紧握形态的转变的时间段期间,作为所述人主体的手的速度的滚动函数并且作为所述人主体的手在三个维度方向中的移动的方向的惯性函数而在三个维度方向中惯性滚动所述用户接口;以及
作为所述人主体的手沿着垂直于显示装置的轴移动的距离的连续可变函数而降低惯性滚动的速度。
7.根据权利要求6所述的存储机器,其中使用所述虚拟手关节以确定人主体的手是处于闭合的紧握形态还是打开紧握形态包括分析对应于所述虚拟手关节的位置的深度图像的一部分。
CN201480014180.7A 2013-03-13 2014-03-12 自然用户接口滚动和瞄准 Active CN105229571B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/802234 2013-03-13
US13/802,234 US9342230B2 (en) 2013-03-13 2013-03-13 Natural user interface scrolling and targeting
PCT/US2014/024542 WO2014165141A1 (en) 2013-03-13 2014-03-12 Natural user interface scrolling and targeting

Publications (2)

Publication Number Publication Date
CN105229571A CN105229571A (zh) 2016-01-06
CN105229571B true CN105229571B (zh) 2018-03-30

Family

ID=50933474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480014180.7A Active CN105229571B (zh) 2013-03-13 2014-03-12 自然用户接口滚动和瞄准

Country Status (4)

Country Link
US (1) US9342230B2 (zh)
EP (1) EP2972677A1 (zh)
CN (1) CN105229571B (zh)
WO (1) WO2014165141A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016252993B2 (en) 2015-04-23 2018-01-04 Apple Inc. Digital viewfinder user interface for multiple cameras
US9854156B1 (en) 2016-06-12 2017-12-26 Apple Inc. User interface for camera effects
US11636572B2 (en) * 2016-12-29 2023-04-25 Nokia Technologies Oy Method and apparatus for determining and varying the panning speed of an image based on saliency
DK180859B1 (en) 2017-06-04 2022-05-23 Apple Inc USER INTERFACE CAMERA EFFECTS
US11112964B2 (en) 2018-02-09 2021-09-07 Apple Inc. Media capture lock affordance for graphical user interface
US10375313B1 (en) 2018-05-07 2019-08-06 Apple Inc. Creative camera
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
DK201870623A1 (en) 2018-09-11 2020-04-15 Apple Inc. USER INTERFACES FOR SIMULATED DEPTH EFFECTS
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US10674072B1 (en) 2019-05-06 2020-06-02 Apple Inc. User interfaces for capturing and managing visual media
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
US11157152B2 (en) * 2018-11-05 2021-10-26 Sap Se Interaction mechanisms for pointer control
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
US11175730B2 (en) * 2019-12-06 2021-11-16 Facebook Technologies, Llc Posture-based virtual space configurations
US11257280B1 (en) 2020-05-28 2022-02-22 Facebook Technologies, Llc Element-based switching of ray casting rules
US11054973B1 (en) 2020-06-01 2021-07-06 Apple Inc. User interfaces for managing media
US11256336B2 (en) 2020-06-29 2022-02-22 Facebook Technologies, Llc Integration of artificial reality interaction modes
US11178376B1 (en) 2020-09-04 2021-11-16 Facebook Technologies, Llc Metering for display modes in artificial reality
US11212449B1 (en) 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
US11615592B2 (en) 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture
US11660022B2 (en) 2020-10-27 2023-05-30 Snap Inc. Adaptive skeletal joint smoothing
US11748931B2 (en) * 2020-11-18 2023-09-05 Snap Inc. Body animation sharing and remixing
US11734894B2 (en) 2020-11-18 2023-08-22 Snap Inc. Real-time motion transfer for prosthetic limbs
US11294475B1 (en) 2021-02-08 2022-04-05 Facebook Technologies, Llc Artificial reality multi-modal input switching model
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media
US11539876B2 (en) 2021-04-30 2022-12-27 Apple Inc. User interfaces for altering visual media
US20230116341A1 (en) * 2021-09-30 2023-04-13 Futian ZHANG Methods and apparatuses for hand gesture-based control of selection focus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5686940A (en) * 1993-12-24 1997-11-11 Rohm Co., Ltd. Display apparatus
CN102193624A (zh) * 2010-02-09 2011-09-21 微软公司 用于基于姿势的用户界面的物理交互区
CN102591648A (zh) * 2010-12-15 2012-07-18 微软公司 用于界面引导的持久性把手
CN102929507A (zh) * 2011-09-28 2013-02-13 微软公司 运动控制的列表滚动

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7665041B2 (en) 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
US7692627B2 (en) * 2004-08-10 2010-04-06 Microsoft Corporation Systems and methods using computer vision and capacitive sensing for cursor control
US8585476B2 (en) * 2004-11-16 2013-11-19 Jeffrey D Mullen Location-based games and augmented reality systems
US9696808B2 (en) * 2006-07-13 2017-07-04 Northrop Grumman Systems Corporation Hand-gesture recognition method
US7978091B2 (en) * 2006-08-24 2011-07-12 Navisense Method and device for a touchless interface
TWI330802B (en) * 2006-12-13 2010-09-21 Ind Tech Res Inst Inertial sensing method and system
US8723811B2 (en) * 2008-03-21 2014-05-13 Lg Electronics Inc. Mobile terminal and screen displaying method thereof
US8941590B2 (en) * 2008-04-24 2015-01-27 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
US20100235786A1 (en) * 2009-03-13 2010-09-16 Primesense Ltd. Enhanced 3d interfacing for remote devices
US8522308B2 (en) * 2010-02-11 2013-08-27 Verizon Patent And Licensing Inc. Systems and methods for providing a spatial-input-based multi-user shared display experience
US8457353B2 (en) 2010-05-18 2013-06-04 Microsoft Corporation Gestures and gesture modifiers for manipulating a user-interface
US20120054670A1 (en) * 2010-08-27 2012-03-01 Nokia Corporation Apparatus and method for scrolling displayed information
US20120066638A1 (en) * 2010-09-09 2012-03-15 Microsoft Corporation Multi-dimensional auto-scrolling
US20120068925A1 (en) 2010-09-21 2012-03-22 Sony Corporation System and method for gesture based control
US8872762B2 (en) * 2010-12-08 2014-10-28 Primesense Ltd. Three dimensional user interface cursor control
US8385596B2 (en) 2010-12-21 2013-02-26 Microsoft Corporation First person shooter control with virtual skeleton
JP5619595B2 (ja) * 2010-12-24 2014-11-05 京セラ株式会社 携帯端末装置
US8929612B2 (en) * 2011-06-06 2015-01-06 Microsoft Corporation System for recognizing an open or closed hand
US9122311B2 (en) * 2011-08-24 2015-09-01 Apple Inc. Visual feedback for tactile and non-tactile user interfaces
US20130144583A1 (en) * 2011-09-02 2013-06-06 Saudi Arabia Oil Company Hyper-dimensional simulation for reservoir engineering and geosciences
US9007302B1 (en) * 2011-11-11 2015-04-14 Benjamin D. Bandt-Horn Device and user interface for visualizing, navigating, and manipulating hierarchically structured information on host electronic devices
JP5449422B2 (ja) * 2012-02-09 2014-03-19 株式会社スクウェア・エニックス 画面スクロール装置,画面スクロール方法,及びゲーム装置
KR101322952B1 (ko) * 2012-02-24 2013-10-29 주식회사 팬택 휴대용 단말기에서 동작인식의 처리를 관리하는 장치 및 방법
US9423877B2 (en) * 2012-02-24 2016-08-23 Amazon Technologies, Inc. Navigation approaches for multi-dimensional input
US20140062875A1 (en) * 2012-09-06 2014-03-06 Panasonic Corporation Mobile device with an inertial measurement unit to adjust state of graphical user interface or a natural language processing unit, and including a hover sensing function
JP6018474B2 (ja) * 2012-10-23 2016-11-02 任天堂株式会社 プログラム、情報処理装置、情報処理方法および情報処理システム
US20140157206A1 (en) * 2012-11-30 2014-06-05 Samsung Electronics Co., Ltd. Mobile device providing 3d interface and gesture controlling method thereof
US10474342B2 (en) 2012-12-17 2019-11-12 Microsoft Technology Licensing, Llc Scrollable user interface control
JP5489379B1 (ja) * 2013-01-18 2014-05-14 パナソニック株式会社 スクロール装置、スクロール方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5686940A (en) * 1993-12-24 1997-11-11 Rohm Co., Ltd. Display apparatus
CN102193624A (zh) * 2010-02-09 2011-09-21 微软公司 用于基于姿势的用户界面的物理交互区
CN102591648A (zh) * 2010-12-15 2012-07-18 微软公司 用于界面引导的持久性把手
CN102929507A (zh) * 2011-09-28 2013-02-13 微软公司 运动控制的列表滚动

Also Published As

Publication number Publication date
US20140282223A1 (en) 2014-09-18
EP2972677A1 (en) 2016-01-20
CN105229571A (zh) 2016-01-06
WO2014165141A1 (en) 2014-10-09
US9342230B2 (en) 2016-05-17

Similar Documents

Publication Publication Date Title
CN105229571B (zh) 自然用户接口滚动和瞄准
US10481689B1 (en) Motion capture glove
KR102065687B1 (ko) 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법
CN105640489B (zh) 隐形镜片系统
US8223147B1 (en) Method and system for vision-based interaction in a virtual environment
US9098873B2 (en) Motion-based interactive shopping environment
US9821224B2 (en) Driving simulator control with virtual skeleton
JP7008730B2 (ja) 画像に挿入される画像コンテンツについての影生成
LaViola et al. 3D spatial interaction: applications for art, design, and science
CN108027653A (zh) 虚拟环境中的触觉交互
Rautaray et al. Real time multiple hand gesture recognition system for human computer interaction
CN107850948A (zh) 混合现实社交
CN105765488B (zh) 虚拟环境的运动控制
CN106873778A (zh) 一种应用的运行控制方法、装置和虚拟现实设备
CN105107200B (zh) 基于实时深度体感交互与增强现实技术的变脸系统及方法
CN102184020A (zh) 用于操纵用户界面的姿势和姿势修改
CN103501869A (zh) 手动和基于相机的游戏控制
KR20100001408A (ko) 가상 공간과 현실 공간을 연계한 로봇 게임 시스템 및 로봇게임 방법
CN105683868B (zh) 用于空间交互中的额外模态的面部跟踪
US11951384B2 (en) System and method for virtual character animation using motion capture
CN103785169A (zh) 混合现实的竞技场
WO2016036425A1 (en) Motion detection for portable devices
Kim et al. Real-time hand gesture-based interaction with objects in 3D virtual environments
US8371897B1 (en) Vision technology for interactive toys
Estévez-García et al. Open Data Motion Capture: MOCAP-ULL Database

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant