利用视线跟踪进行的目标定位的制作方法

文档序号:10540827阅读:211来源:国知局
利用视线跟踪进行的目标定位的制作方法
【专利摘要】公开了涉及经由显示系统定位目标指示符的实施例。例如,所公开的一个实施例提供了一种利用来自计算设备的视线跟踪系统的具有粗糙准确度的视线跟踪数据来定位目标指示符的方法。从头部跟踪系统接收具有比粗糙准确度大的精细准确度的头部姿势数据。利用所述视线跟踪数据,确定位于显示区域内的近似用户视线区域;并且在所述近似用户视线区域内在初始位置处显示目标指示符。从所述用户接收重新定位输入。作为响应,利用后续接收到的头部姿势数据来计算所述目标指示符的经调整的位置。然后在经调整的位置处显示目标指示符。
【专利说明】
利用视线跟踪进行的目标定位
【背景技术】
[0001]对电子内容进行导航以发现并且选择内容的相关部分,是经常执行的任务。在一些例子中,视线跟踪系统和相关联的眼睛-视线接口可以使得用户能够在经由显示设备向用户显示的内容项中进行导航。一些内容项可以是由用户经由输入设备(例如,鼠标、键盘或其它机构)可选择的。
[0002]然而,这样的视线跟踪系统可能具有有限的准确度和分辨率。这些限制可能会负面地影响用户的关于眼睛-视线接口的体验。例如,当可选择内容项以较小尺寸显示时,以有限的准确度经由眼睛-视线接口进行的有效交互可以被证明是有挑战性的。在一些情况下,当两个或更多可选内容项彼此靠近地并且以较小尺寸显示时,利用眼睛-视线接口来导航到期望项并对其进行选择可能是困难的或是实际上不可能的。为了解决该问题,一些眼睛-视线接口可以提供显示缩放模式以及输入控制,其短暂地放大所显示的内容项的一部分以便于选择。
[0003]然而,利用这样的特殊模式来放大内容项招致额外的步骤和对应的用户输入来将显示器和期望的供选择的项准备好。因此,利用这样的模式不期望地增加用户形成要选择项目的意愿和对该项目的实际选择之间的延迟。

【发明内容】

[0004]在此公开的各种实施例涉及用于定位目标指示符的系统和方法。例如,公开的一个实施例提供用于经由显示系统定位目标指示符的方法。从计算设备的视线跟踪系统接收具有粗糙准确度的视线跟踪数据。从计算设备的头部跟踪系统接收具有比视线跟踪数据的粗糙准确度更大的精细准确度的头部姿势数据。
[0005]利用视线跟踪数据,确定位于由显示系统生成的显示区域内的近似用户视线区域。控制显示系统以在显示区域中在近似用户视线区域内的初始位置处显示目标指示符。接收来自用户的重新定位输入。作为响应,后续接收到的头部姿势数据用于计算在显示区域中目标指示符的经调整的位置。然后,控制显示设备以在显示区域中的经调整的位置处显示目标指示符。
[0006]提供该
【发明内容】
是为了引入简化形式的概念的选集,其将在下文中在【具体实施方式】中进一步进行描述。该
【发明内容】
并非旨在识别所要求保护的主题的关键特征或必要特征,亦非旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题并不限于解决在本公开的任意部分中提及的任何或所有缺点的实现方式。
【附图说明】
[0007]图1是根据本公开的一个实施例的用于定位目标指示符的用户界面系统的示意图。
[0008]图2是根据本公开的一个实施例的用于定位目标指示符的包括近眼显示器的以头戴式(head-mounted)显示设备形式的头戴式计算设备的示意图。
[0009]图3示出了根据本公开的一个实施例的具有近眼显示器的示例性头戴式显示设备。
[0010]图4是根据本公开的另一实施例的用于定位目标指示符的头戴式计算设备的示意图。
[0011]图5示出了根据本公开的一个实施例的不具有集成的显示器的示例性头戴式计算设备。
[0012]图6是房间的示意立体图,该房间包括持有平板计算机的用户、佩戴图3的头戴式显示设备的用户以及佩戴图5的头戴式计算设备的用户。
[0013]图7、8和9是示出用户的头部姿势运动以及目标指示符的对应的经调整的位置的示意图。
[0014]图1OA和1B是根据本公开的一个实施例的用于定位经由显示系统显示的目标指示符的方法的流程图。
[0015]图11是计算设备的实施例的简化示意性图示。
【具体实施方式】
[0016]图1示出了用于定位经由显示系统14显示的目标指示符的用户界面系统10的一个实施例的示意图。用户界面系统10包括定位模块18,其可以存储于计算设备22的大容量存储设备20中。定位模块18可以加载到存储器26中,并由计算设备22的处理器28执行,以实现下文更详细描述的一个或多个方法和过程。
[0017]计算设备22可以从视线跟踪系统34接收视线跟踪数据30,并从用户可致动输入跟踪系统42接收用户输入40。如下文更详细描述的,在各个实施例中,视线跟踪系统34可以位于具有或不具有集成显示器的头戴式计算设备、平板、笔记本、智能手机或其它移动计算设备、台式计算设备、独立监视器、壁挂式显示器、交互式白板、游戏控制台、键盘、专用外围设备或其它适当的设备中。类似地,用户可致动输入跟踪系统42可以位于具有或不具有集成显示器的头戴式计算设备或其它可佩戴计算设备、手持用户输入设备、平板、笔记本、智能手机或其它移动计算设备、台式计算设备、独立监视器、壁挂式显示器、交互式白板、游戏控制台、键盘、专用外围设备或其它适当的设备中。用户可致动输入跟踪系统42例如可以包括头部跟踪系统、光摄像机、深度摄像机、手持用户输入设备或其它适当的设备。
[0018]用户界面系统10可以包括显示系统14,用于向用户36呈现一个或多个视觉元素。如下文更详细描述的,定位模块18可以利用视线跟踪数据30来控制显示系统14,以在显示区域44中在对应于近似用户视线区域46的位置处显示目标指示符38。有利地,定位模块18还可以利用头部跟踪数据形式的用户输入40来改善目标指示符38的定位。利用这样的数据,定位模块18可以控制显示系统14来在经调整的位置处显示目标指示符38。
[0019]“目标指示符”指的是与计算机程序相关联且表示计算机程序焦点的指针或其它指示符。如下文更详细描述的,目标指示符可以指的是在显示器上示出的估计的用户视线位置。目标指示符可以以不同形式呈现在屏幕上,例如,十字、箭头、手、手指、垂直条、滚动条等。目标指示符还可以偶尔隐藏,使得指示符隐含但仍可以用于执行一些界面操作。实施例是利用特定形式的目标指示符呈现的,但是可以理解的是,可以使用任何类型的目标指示符。
[0020]如图1所示,显示系统14操作地连接到计算设备22上。在一些例子中,显示系统14可以包括单独的显示器,例如,独立监视器、壁挂式显示器等,其操作地经由有线或无线连接而连接到计算设备22。在其它例子中,计算设备22和显示系统14可以集成在共享的外壳内。这样的例子例如可以包括独立监视器、壁挂式显示器、头戴式显示设备、手持智能手机、电子阅读器、膝上型计算机、笔记本计算机和平板计算机等。可以理解的是,具有各种形状因子的多种其它类型和配置的显示系统(无论其与计算设备22分离还是集成到一起)也可被使用,并且处于本公开的范围内。
[0021]在一些例子中,并且现在参考图2,显示系统14可以集成在近眼显示系统形式的头戴式计算设备中,例如,头戴式显示(HMD)设备50或其它可佩戴的虚拟或混合现实设备。如下文更详细描述的,HMD设备50可以创建混合现实环境54。在这些例子中,用户界面系统10可以包括混合现实显示程序58,其可以生成虚拟环境60用于经由HMD设备50进行显示。虚拟环境60可以包括虚拟图像形式的一个或多个视觉元素,例如,三维(3D)全息对象和二维(2D)虚拟图像,其是经由HMD设备50生成和显示的。视觉元素可以包括目标指示符38。
[0022]计算设备22可以利用有线连接操作地与HMD设备50连接,或者可以采用经由WiF1、蓝牙或任意其它适当无线通信协议的无线连接。例如,计算设备22可以通信地耦合到网络64上。网络64可以采用局域网(LAN)、广域网(WAN)、有线网络、无线网络、个域网或其组合的形式,并且可以包括互联网。另外,在图2中示出的例子显示了计算设备22作为与HMD设备50分离的部件。可以理解的是,在其它例子中,计算设备22可以集成在HMD设备50中。
[0023]计算设备22可以采取以下形式:台式计算设备,例如智能手机的移动计算设备,膝上型计算机,笔记本计算机或平板计算机,网络计算机,家庭娱乐计算机,交互式电视,游戏系统,或其它适当类型的计算设备。将在下文结合图11更详细描述计算设备22的部件和计算方面的额外细节。
[0024]现在参考图3,提供了具有透明显示器68的一副可戴眼镜形式的HMD设备300的一个例子。可以理解的是,在其它例子中,HMD设备300可以采用其它适当形式,其中可以在观看者的一只或两只眼睛前方支撑透明的、半透明的或不透明的显示器。还可以理解的是,在图2中示出的HMD设备50可以采用HMD设备300的形式,如下文更详细描述的,或任意其它适当的HMD设备的形式。
[0025]HMD设备50包括显示系统14和透明显示器68,其使得图像(例如,全息对象)能够被输送到用户36的眼睛。透明显示器68可以被配置为对于通过透明显示器观看物理环境的用户36在视觉上增强物理环境72的外观。例如,物理环境72的外观可以通过经由透明显示器68呈现的图形内容(例如,一个或多个像素,其每一个具有各自的颜色和亮度)来增强,从而创建混合现实环境54。
[0026]透明显示器68还可以被配置为使得用户能够通过正在对虚拟对象呈现进行显示的一个或多个部分透明的像素来查看在物理环境72中的物理的真实世界的对象。如图3所示,在一个例子中,透明显示器68可以包括位于透镜304内的图像产生元件(例如,透视(see-through)的有机发光二极管(OLED)显示器)。作为另一例子,透明显示器68可以包括在透镜304边缘上的光调制器。在该例子中,透镜304可以用作光导,用于将光从光调制器输送到用户的眼睛。这样的光导可以使得用户能够感知到位于用户正在观看的物理环境72中的3D全息图像,同时还允许用户观看到物理环境中的物理对象,由此创建混合现实环境。
[0027]HMD设备50还可以包括各种传感器和相关系统。例如,HMD设备50可以包括视线跟踪系统34,其包括被配置为从用户眼睛获取以视线跟踪数据30形式的图像数据的一个或多个图像传感器。假设用户已经同意获取和使用该信息,则视线跟踪系统34可以使用该信息来跟踪用户眼睛的位置和/或运动。
[0028]在一个例子中,视线跟踪系统34包括视线检测子系统,其被配置为检测用户的每只眼睛的视线方向。视线检测子系统可以被配置为以任意适当方式确定用户每只眼睛的视线方向。例如,视线检测子系统可以包括一个或多个光源,例如红外光源,其被配置为使得光的闪烁从用户每只眼睛的角膜反射。然后,一个或多个图像传感器可被配置为捕捉用户眼睛的图像。
[0029]根据从图像传感器收集的图像数据确定出的闪烁和瞳孔的图像可以用于确定每只眼睛的光轴。利用该信息,视线跟踪系统34接下来可以确定用户正在凝视的方向和/或在何位置、物理对象和/或虚拟对象。视线跟踪系统34还可以确定用户正在凝视物理或虚拟对象上的哪个位置。然后,可以将这样的视线跟踪数据30提供给计算设备22。
[0030]如上所提及,视线跟踪系统可能具有有限的检测分辨率,并且相应地在确定用户的实际视线位置方面具有有限的准确度。例如,硬件和/或软件限制可能限制视线跟踪系统的准确度。还可以理解的是,人眼经受自然的、无意识的运动,例如,眼跳(saccades)、微眼跳(microsaccades)、抖动、震颤和漂移。这样的自然运动也可能影响视线跟踪系统的准确度。因此,通过这样的系统生成的视线跟踪数据相对于用户的实际视线位置可能具有相对粗糙的准确度。
[0031]还可以理解的是,视线跟踪系统34可以具有任意适当数量和布置的光源和图像传感器。例如,并且参考图3,HMD设备300的视线跟踪系统34可以利用至少一个面向内的传感器 312。
[0032]HMD设备50还可以包括传感器系统,其从物理环境72接收物理环境数据74。例如,HMD设备50还可以包括头部跟踪系统76,其利用一个或多个运动传感器(例如,在HMD设备300上的运动传感器320)来捕捉头部姿势数据80,并由此使能对用户头部进行的位置跟踪、方向和定向感测和/或运动检测。另外,这样的头部姿势数据80可以具有比视线跟踪数据30的粗糙准确度大的精细准确度。因此,并且如下文更详细描述的,定位模块18可以接收头部姿势数据80作为用户输入,这使得用户36能够方便且平稳地经由头部运动来微调目标指示符38的位置。
[0033]在一个例子中,头部跟踪系统76可以包括惯性测量单元,其被配置为三轴或三自由度位置传感器系统。该示例性位置传感器系统例如可以包括三个陀螺仪,来指示或测量HMD设备50的在3D空间中围绕三个正交轴(例如,X,y,z)的在方向上的变化(例如,翻滚角(roll)、俯仰角(pitch)、偏航角(yaw))。在另一例子中,头部跟踪系统76可以包括惯性测量单元,其被配置为六轴或六自由度位置传感器系统。该示例性位置传感器系统例如可以包括三个加速计和三个陀螺仪,来指示或测量HMD设备50沿着三个正交轴的位置变化和围绕三个正交轴的变化设备方向。
[0034]头部跟踪系统76还可以支持其他适当的定位技术,例如GPS或其它全球导航系统。此外,虽然已经描述了位置传感器系统的具体例子,但可以理解的是,可以使用任何其它适当的位置传感器系统。
[0035]在一些例子中,HMD设备50还可以包括光学传感器系统84,其利用一个或多个面向外的传感器(例如在HMD设备300上的光学传感器316)以捕捉图像数据。面向外的传感器可以检测在其视野内的运动,例如基于手势的输入,或者由用户36或视野内的人或物理对象执行的其它运动。面向外的传感器还可以从物理环境72和环境内的物理对象捕捉2D图像信息和深度信息。例如,面向外的传感器可以包括深度摄像机、可见光摄像机、红外光摄像机和/或位置跟踪摄像机。
[0036]光学传感器系统84可以包括深度跟踪系统86,其经由一个或多个深度摄像机生成深度跟踪数据88。在一个例子中,每个深度摄像机可以包括立体视觉系统的左和右摄像机。可以将来自这些深度摄像机中的一个或多个的时间分辨图像彼此配准,和/或与来自另一光学传感器(例如,可见光谱摄像机)的图像配准,并可以组合以生成深度分辨视频。
[0037]在其它例子中,结构光深度摄像机可以被配置为将结构化的红外照明进行投影,并对从场景(照明被投影在该场景上)反射出的照明进行成像。可以基于在成像场景的各个区域内的相邻特征之间的间隔,来构造场景的深度图。在其它例子中,深度摄像机可以采用飞行时间深度摄像机(time-of-flight depth camera)的形式,其被配置为将脉冲红外照明投影到场景上,并检测从场景反射出的照明。可以理解的是,在本公开的范围内可以使用任意其它适当的深度摄像机。
[0038]面向外的传感器可以捕捉用户36位于其中的物理环境72的图像。对于HMD设备50,在一个例子中,混合现实显示程序58可以包括3D建模系统,其使用这样的捕捉到的图像来生成对用户36周围的物理环境72建模的虚拟环境60。
[0039]HMD设备50还可以包括麦克风系统,其包括一个或多个麦克风(例如在HMD设备300上的麦克风324)以捕捉音频数据。在其它例子中,可以经由一个或多个扬声器(例如,在HMD设备300上的扬声器328)向用户呈现音频。
[0040]HMD设备50还可以包括处理器,例如在HMD设备300上的处理器330。处理器包括逻辑子系统和存储子系统,如下文结合图11更详细描述的,其与HMD设备和显示器的各种传感器和系统进行通信。在一个例子中,存储子系统可以包括由逻辑子系统执行的指令以从传感器接收信号输入,并将这样的输入转发到计算设备22(以未处理或经处理的形式),并将图像经由HMD设备300呈现给用户。
[0041]如上所述,在其它例子中并且现在参考图4,显示系统14可以集成在不由用户36佩戴的单独显示设备402中,例如,独立监视器、壁挂式显示器等。在这些例子中,用户36可以佩戴不包括显示系统的头戴式计算(HMC)设备90。替代地,单独的显示设备402包括显示系统14,其具有屏幕406用于显示图像和包括目标指示符38的其它内容项。在这些例子中,用户界面系统10可以包括显示程序410,其可以生成用于经由显示设备402进行显示的视觉内容项。有利地,以及在下文更详细描述的,利用HMC设备90,用户36可以经由视线跟踪数据30、头部姿势数据30和/或深度跟踪数据88来提供用户输入40,以方便地且精确地在屏幕406上导航目标指示符38。
[0042]将计算设备22与HMC设备90和显示设备402操作地连接可以利用有线连接,或经由WiF1、蓝牙或任意其它适当的无线通信协议采用无线连接。例如,计算设备22、HMC设备90和显示设备402可以经由网络64通信地耦合。另外,在图4中示出的例子将计算设备22示出为与HMC设备90和显示设备402分离的部件。可以理解的是,在其它例子中,计算设备22可以在共享的外壳内集成在HMC设备90中或集成在显示设备402中。
[0043]HMC设备90可以包括视线跟踪系统34、头部跟踪系统76、以及光学传感器系统84(包括如上所述的深度跟踪系统86)。现在还参考图5,示出了一副可戴眼镜框500形式的HMC设备90的一个例子。还可以理解的是,在本公开的范围内,还可以使用具有各种形状因子的可佩戴HMC设备的多种其它类型和配置。
[0044]在该例子中,眼镜框500的头部跟踪系统76包括第一两轴加速计522和第二两轴加速计526,以指示或测量HMC设备在二维空间中沿着两个正交轴(例如,X和y)的位置变化。例如,每个加速计可以测量沿着两个正交轴的平移或围绕两个正交轴的转动。
[0045]可以理解的是,加速计的该示例性配置是出于描述的目的提供的,还可以使用一个或多个运动传感器的其它配置来生成头部姿势数据80。例如,一个或多个三轴加速计可以用于测量眼镜框500的位置或方向的变化。在其它例子中,可以使用一个或多个陀螺仪来围绕x、y和z轴确定三轴方向。
[0046]在其它例子中,眼镜框500还可以包括其它适当的定位部件,例如,罗盘、全球定位系统(GPS)或其它导航系统。眼镜框500还可以包括一个或多个麦克风来确定声音方向数据,其可以用于增强眼镜相对运动的确定。
[0047]如上所述,眼镜框500还可以包括各种其它传感器和相关系统。例如,眼镜框500可以包括可以捕捉图像数据的一个或多个光学传感器。在一些例子中,一个或多个光学传感器可以包括面向外的传感器,例如,背向用户头部且位于眼镜的显示桥514的鼻梁部分550处的摄像机(未示出)。摄像机可以如上所述从物理环境72和在用户36的环境中的物理对象捕捉二维图像信息和/或深度信息。
[0048]可以理解的是,HMC设备90、眼镜框500和相关传感器以及上述在图4和5中示出的其它部件是以举例子的方式提供的。这些例子并不意图以任何方式进行限制,因为任意其它适当的传感器、部件和/或传感器和部件的组合也可以被使用。因此,可以理解的是,HMC设备90和眼镜框500可以包括额外的和/或替代的传感器、摄像机、麦克风、输入设备、输出设备等,而不背尚本公开的范围。此外,HMC设备90、眼镜框500以及各种传感器和子部件的物理配置可以采用各种不同形式,而不背离本公开的范围。
[0049]现在参考图6-9,将提供用户界面系统10、HMD设备50和HMC设备90的示例性使用情况和实施例的描述。图6提供了位于包括家庭房间608的物理环境中的第一用户604的不意性图示。第一用户604佩戴着如上所述的HMD设备300,并正在经由HMD设备观看具有可选择目标的虚拟菜单612。
[0050]第二用户616佩戴着如上所述的眼镜框500,并交替地正观看正在显示具有可选择目标的新闻网站的第一壁挂式显示器620,以及正在显示具有可选择目标的菜单622的第二壁挂式显示器624。第一壁挂式显示器620还可以操作地连接到游戏系统626。游戏系统626、第一壁挂式显示器620和/或第二壁挂式显示器624可以包括如上所述的用户界面系统10和视线跟踪系统34和头部跟踪系统76。第三用户630被示为持有触摸屏平板计算机632形式的计算设备,其可以包括如上所述的视线跟踪系统34和头部跟踪系统76。第三用户630也在观看第二壁挂式显示器624。
[0051]现在参考图7-9,提供了相对于在显示区域44中显示的多个视觉元素来调整目标指示符38的位置的一个例子的示意图。在该例子中,视觉元素包括各种可选择目标,例如,方形项702、三角形项704等。出于本例子的目的,显示区域44将被描述为图6中所示的第二壁挂式显示器624的屏幕638。
[0052]还可以理解的是,本例子的原理可以应用于用户界面系统10和其它显示设备以及如上所述的HMC设备的其它配置,例如,第一壁挂式显示器620、平板计算机632、生成虚拟菜单612的HMD设备300、以及眼镜框500。此外,可以理解的是,本公开的原理可以应用于经由显示系统14所显示的多种内容上,所述多种内容包括但不限于:网页、用户界面图形、视频游戏图形、流送内容(包括电影)、视频呼叫或聊天、在线会议、演示和其它交互式协作、二维和三维全息图像、以及经由显示系统14所显示的任意其它适当的内容。
[0053]在一个例子中,佩戴着眼镜框500的第二用户616可以查看在第二壁挂式显不器624的显示区域44中显示的菜单622。更具体地,还参考图7,第二用户616可能期望选择可选择的方形项702,并可以将其视线初始地聚焦在方形702上左下点中由星形指示的实际视线位置706。可以理解的是,并不将该实际视线位置显示给用户。
[0054]再次参考图6,在一个例子中,眼镜框500的光学传感器系统84可以捕捉房间608的图像,包括第二壁挂式显示器624的图像。利用这些图像以及来自深度跟踪系统86的深度跟踪数据,定位模块18可以建立在眼镜框500和第二壁挂式显示器624的屏幕638之间的空间关系。这样的空间关系以及来自视线跟踪系统34的视线跟踪数据30可以被定位模块18利用来使得第二用户616能够与第二壁挂式显示器624交互,如下文更详细描述的。
[0055]另外,可以理解的是,上述配置可以使得用户能够与可位于用户附近的多个显示屏幕中的任一个进行交互。例如,这种配置可以使得第二用户616能够与房间608中的第一壁挂式显示器620交互,仅仅通过看着第一壁挂式显示器。
[0056]为了将眼镜框500通信地耦合到第二用户616正凝视的显示器屏幕上,在一些例子中,显示器屏幕还可以将屏幕识别符通信。例如,第二壁挂式显示器624可以包括红外LED信标640,其可以经由通过眼镜框500的光学传感器系统84捕捉到的循序的红外闪光来广播识别模式。在另一例子中,第二壁挂式显示器624可以显示通过眼镜框500的光学传感器系统84类似地捕捉到的字形或其它识别模式。可以理解的是,可以利用任意适当的屏幕识别符来将眼镜框500与显示器屏幕通信地耦合。另外,这种屏幕识别符对用户可能不可见。
[0057]再次参考图7,当第二用户616将其视线固定在实际视线位置706时,用户可以对定位模块18提供重新定位输入。响应于接收到重新定位输入,定位模块18可以控制第二壁挂式显示器624的显示系统14来在显示区域44内在具有近似用户视线区域710的初始位置处714显示目标指示符38。
[0058]如下文更详细描述的,近似用户视线区域710是经由视线跟踪数据30确定的。在当前例子中,目标指示符38被示为十字图标。可以理解的是,还可以使用目标指示符38的任意适当形式。另外,在一些例子中,为了避免用户不必要的分心,目标指示符38不被显示,直到接收到来自用户的重新定位输入。在其它例子中,目标指示符38可以被持续显示。
[0059]如下文更详细描述的,且也响应于接收到重新定位输入,定位模块18可以利用随后接收到的来自眼镜框500的头部跟踪系统76的头部姿势数据80来调整目标指示符38在显示区域44中的位置。在一些例子中,且也响应于接收到重新定位输入,定位模块18可以禁用视线跟踪系统34。有利地,以这种方式,可以保存原本会被视线跟踪系统34消耗的对应的计算设备的电力、电池寿命和/或计算资源。
[0060]另外,在禁用视线跟踪系统34的情况下,可以通过第二用户616的头部运动和对应的头部姿势数据80来单独实现目标指示符38的用户定位。有利地,第二用户616因此可以方便地且准确地将目标指示符38重新定位到在显示区域44中的期望位置。
[0061]重新定位输入可以由用户经由任意适当的用户输入设备提供。在一个例子中,再次参见图6,第二用户616可以利用手持机械可致动触笔650来提供重新定位输入。例如,触笔可以在触笔的主体上包括两阶按钮,其使得用户能够在按下按钮时提供第一输入(例如重新定位输入),以及在松开按钮时提供不同的第二输入(例如,选择输入)。
[0062]在用户界面系统10的其它例子和其它配置中,用户输入设备可以包括深度摄像机,其可以检测用户的重新定位输入(以由用户执行的预定手势形式)。在其它例子中并再次参考图6,用户输入设备可以包括可佩戴输入设备,例如,指环654。在该例子中,第一用户604可以将指环654佩戴在用户的食指上,并可以通过用户的拇指致动指环上的按钮,以提供重新定位输入。在另一例子中,指环654可以包括一个或多个触摸敏感表面,通过该表面用户可以提供重新定位输入以及其它用户输入。
[0063]在其它例子中,用户输入设备可以在眼镜框500上包括麦克风,其可以从第二用户616接收语音命令形式的重新定位输入。在其它例子中,用户输入设备可以包括眼镜框500的视线跟踪系统34。例如,定位模块18可以被配置为识别预定的由用户进行的眼睛运动,例如,三次快速眨眼或其它模式,作为重新定位输入。还可以理解的是,还可以使用其它适当的用户输入设备。
[0064]在图7的例子中,近似用户视线区域710示出为圆圈。可以理解的是,在其它例子中,可以使用其它形状和/或尺寸的近似用户视线区域710。近似用户视线区域710的配置可以涉及分辨率、准确度和/或特定视线跟踪系统配置的其它方面。在一些例子中,不向用户显示近似用户视线区域710。在其它例子中,可以向用户显示近似用户视线区域710。
[0065]如上所述,视线跟踪系统可能具有有限的检测分辨率,并相应地在确定用户的实际视线位置时具有有限的准确度。在图7的例子中,视线跟踪数据30可以产生具有直径50mm的圆圈形式的近似用户视线区域710,其对应于由视线跟踪系统34生成的视线跟踪数据的粗糙准确度的限制。可以理解的是,在不同例子和实施例中,视线跟踪数据30的粗糙准确度可以具有与给定的视线跟踪系统34的特定部件和能力以及其它因素(例如,用户到用户视线区域710的距离、周围光条件等)相关的各种不同值。
[0066]利用近似用户视线区域710,定位模块18可以估计在近似用户视线区域710中的用户的实际视线位置的位置。在当前例子中,定位模块18可以将实际视线位置估计为在用户视线区域710的近似中心处。利用该估计,定位模块18可以控制显示系统14将目标指示符38显示在显示区域44中、在对应于用户视线区域710的近似中心的初始位置714处。还可以理解的是,可以使用任意适当的方法或算法来估计在用户视线区域内的实际视线位置。
[0067]现在参考图7和8,并响应于接收到重新定位输入,定位模块18可以利用随后从眼镜框500的头部跟踪系统76接收到的头部姿势数据80来计算目标指示符38的经调整的位置。如上所述,头部跟踪系统76可以生成具有比视线跟踪数据30的粗糙准确度更大的精细准确度的头部姿势数据80。
[0068]有利地,并且一旦显示了目标指示符38,则第二用户616可以通过运动用户头部以及经由头部跟踪系统76生成头部姿势数据80,来方便且精确地调整目标指示符的位置。在一个例子中,用户头部的I度转动可以引起目标指示符38在显示区域44中的Imm的平移。因此,在这些例子中,视线跟踪数据30的粗糙准确度产生50mm直径的圆圈(在其中可显示目标指示符),而头部姿势数据80的精细准确度使得用户能够更精确地以Imm增量定位目标指示符。还可以理解的是,在不同的例子和实施例中,头部姿势数据80的精细准确度可以具有与给定头部跟踪系统76的特定部件和能力以及其它因素相关的多个不同值。
[0069]再次参考图7,以及通过用户凝视实际视线位置706,第二用户616可以提供头部姿势数据80形式的用户输入40,将目标指示符38的位置朝向可选方形项702调整。更特别地并且如图8所示,第二用户616可以将他的头部向该用户的右侧(围绕y轴顺时针)转动并且作为响应,定位模块18可以控制第二壁挂式显示器624以将目标指示符38从其初始位置714运动到经调整的位置814。因此,第二用户616通过轻微地将其头部转向右侧,可以方便且平稳地将目标指示符38从其初始位置714(不对应于在可选方形项702上的用户实际视线位置706)运动到方形项上的经调整的位置814。
[0070]当目标指示符现在位于可选方形项702上时,第二用户616可以提供选择用户输入以选择方形项。为了提供选择用户输入,第二用户616可以使用与被用户用来提供重新定位输入的相同的输入设备。例如,当用户使用手持式机械可致动触笔650以通过按压按钮而提供重新定位输入时,可以通过用户松开按钮来提供选择用户输入。在其它例子中且如上所述,选择用户输入可以包括语音命令、眨眼模式或其它预定眼睛运动,或者通过对应的输入设备接收到的任意其它适当形式的输入。
[0071]如图9所示,第二用户616可以类似地将将目标指示符38从右侧运动到左侧,通过将他的头部转动到左侧或者围绕y轴逆时针地转动其头部。以类似的方式,第二用户616可以通过向上点头或围绕X轴顺时针地点头而将目标指示符在显示区域44中向上运动,并可以通过向下点头或围绕X轴逆时针地点头而将目标指示符向下运动。
[0072]在一些例子中,从另一跟踪系统或用户输入设备接收到的辅助跟踪数据也可以用于计算目标指示符38的经调整的位置。例如,并且再次参考图6,持有触摸屏平板计算机632的第三用户630可以正在查看第二壁挂式显示器624。一旦显示目标指示符38,第三用户630可以触摸平板计算机632的触摸屏634并在其上运动她的手指,以向平板计算机的定位模块18提供辅助跟踪数据。利用该后续接收到的辅助跟踪数据,定位模块18可以计算目标指示符38的经调整的位置。
[0073]在另一例子中,佩戴HMD设备300并观看虚拟菜单612的第一用户604可以经由通过HMD设备300的深度跟踪系统86捕捉到的用户的手636的一个或多个手势来提供辅助跟踪数据和/或重新定位输入。在另一例子中,佩戴眼镜框500的第二用户616可以经由在手持机械可致动触笔650中的一个或多个运动传感器来提供辅助跟踪数据。
[0074]图1OA和1B示出了根据本公开的一个实施例的用于定位经由显示系统显示的目标指示符的方法1000的流程图。方法1000的后续描述是结合上述且在图1-9中示出的用户界面系统10、HMD设备50和HMC设备90的软件和硬件部件提供的。可以理解的是,方法1000还可以利用其它适当的硬件和软件部件在其它上下文中执行。
[0075]参考图10A,在1004,方法1000可以包括从由用户佩戴的头戴式计算设备的视线跟踪系统接收具有粗糙准确度的视线跟踪数据的方法。在1008,方法1000可以包括接收具有比视线跟踪数据的粗糙准确度更大的精细准确度的头部姿势数据,其中头部姿势数据是从头戴式计算设备的头部跟踪系统接收到的。在1012,方法1000可以包括:利用视线跟踪数据,确定位于由显示系统生成的显示区域内的近似用户视线区域。
[0076]在1016,方法1000可以包括控制显示系统以在近似用户视线区域内的初始位置处在显示区域中显示目标指示符。在1020,显示系统可以包括集成在头戴式计算设备中的近眼显示系统。在1024,显示系统可以包括位于物理环境中且与头戴式计算设备分离的屏幕,其中头戴式计算设备还包括用于捕捉包括屏幕的物理环境的图像的光学传感器。
[0077]在1028,方法1000可以包括:利用图像建立在头戴式计算设备和屏幕之间的空间关系。在1032,方法1000可以包括:利用所述空间关系,与视线跟踪数据相结合,来确定位于屏幕的显示区域内的近似用户视线区域。在1036,方法1000可以包括从屏幕接收屏幕识别符。
[0078]现在参考图10B,在1040,方法1000可以包括从用户接收重新定位输入。在1044,来自用户的重新定位输入可以是从自包括手持机械可致动触笔、深度摄像机、指环、麦克风和视线跟踪系统的组中选择的输入设备接收的。在1048,方法1000可以包括响应于接收到重新定位输入而禁用视线跟踪系统。在1052,方法1000可以包括:响应于接收到重新定位输入,利用后续接收到的头部姿势数据来计算目标指示符在显示区域中的经调整的位置。
[0079]在1056,方法1000可以包括接收辅助跟踪数据。在1060,方法1000可以包括:响应于接收到重新定位输入,利用辅助跟踪数据来计算目标指示符的经调整的位置。在1064,方法1000可以包括控制显示设备以在显示区域的经调整的位置处显示目标指示符。在1068,方法1000可以包括不显示目标指示符直到接收到重新定位输入。在1072,方法1000可以包括:在目标指示符被显示在经调整的位置处之后,接收选择用户输入。在1076,方法1000可以包括:响应于接收到选择用户输入,选择位于经调整的位置处的可选择目标。
[0080]可以理解的是,方法1000是通过示例而非限制的方式提供的。因此,可以理解的是,方法1000可以包括比在图1OA和1B中所示的那些另外的和/或替代的步骤。此外,可以理解的是,方法1000可以以任意适当顺序执行。此外,可以理解的是,可以从方法1000中省略一个或多个步骤,而不背离本公开的范围。
[0081]图11示意性示出了执行一个或多个上述方法和过程的计算系统1100的非限制性实施例。计算设备22和平板计算机632可以采用计算系统1100的形式。计算系统1100以简化形式示出。可以理解的是可以使用虚拟的任意计算机架构,而不背离本公开的范围。
[0082]在不同的实施例中,计算系统1100可以采用大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等的形式。如上所述,在一些例子中,计算系统1100可以集成在显示设备中,例如HMD设备50、第一壁挂式显不器620或第二壁挂式显不器624。
[0083]如图11所示,计算系统1100可以包括逻辑子系统1104和存储子系统1108。在一些例子中,计算系统1100还可以包括显示子系统1112、通信子系统1116、传感器子系统1120和/或输入子系统1122。计算系统1100还可以可选地包括图11中未示出的其它子系统和部件。计算系统1100还可以包括计算机可读介质,计算机可读介质包括计算机可读存储介质和计算机可读通信介质。计算系统1100还可以可选地包括其它用户输入设备,例如,键盘、鼠标、游戏控制器和/或触摸屏。此外,在一些实施例中,可以将本文描述的方法和过程实现为计算机应用、计算机AP1、计算机库和/或在包括一个或多个计算机的计算系统中的其它计算机程序产品。
[0084]逻辑子系统1104可以包括一个或多个物理设备,其被配置为执行一个或多个指令。例如,逻辑子系统1104可以被配置为执行一个或多个指令,其是一个或多个应用、程序、例程、库、对象、部件、数据结构或其它逻辑构造的一部分。这样的指令可以实现为执行任务、实现数据类型、转换一个或多个设备的状态、或以其它方式达到期望结果。
[0085]逻辑子系统1104可以包括一个或多个处理器,其被配置为执行软件指令。另外或替代地,逻辑子系统可以包括一个或多个硬件或固件逻辑机器,其被配置为执行硬件或固件指令。逻辑子系统的处理器可以是单核或多核的,并且在其上执行的程序可以被配置为用于并行或分布式处理。逻辑子系统可以可选地包括分布在两个或更多设备上的个体部件,所述设备位于远程和/或被配置用于协调处理。逻辑子系统的一个或多个方面可以被虚拟化,并由以云计算配置而配置的远程可访问的联网计算设备执行。
[0086]存储子系统1108可以包括一个或多个物理持续性设备,其被配置为保存有逻辑子系统1104可执行的数据和/或指令来实现文本所描述的方法和过程。当实现这种方法和过程时,存储子系统1108的状态可以转变(例如,保存不同数据)。
[0087]存储子系统1108可以包括可移除介质和/或内置设备。存储子系统1108可以包括光存储器设备(例如,00、0¥0、^-0¥0、蓝光盘等)、半导体存储器设备(例如,1^1^?1?01、EEPROM等)和/或磁存储器设备(例如,硬盘驱动、软盘驱动、磁带驱动、MRAM等)等等。存储子系统1108可以包括具有以下一个或多个特性的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和内容可寻址。
[0088]在一些实施例中,可以将逻辑子系统1104和存储子系统1108的方面集成在一个或多个共同设备中,通过该设备可以至少部分地建立本文所描述的功能。这种硬件逻辑部件例如可以包括现场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准过程(PSSP/ASSP)、片上系统(SOC)系统以及复杂可编程逻辑设备(CPLD)。
[0089]图11还示出了可移除计算机可读存储介质1124形式的存储子系统1108的方面,其可以用于存储可以执行以实现本文描述的方法和过程的数据和/或指令。可移除计算机可读存储介质1124是物理设备,其采用⑶、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘等的形式,并在有限时长以持久方式保持数据和/或指令。
[0090]相反地,在一些实施例中,以不由物理设备保持至少有限时长的纯信号(例如,电磁信号、光信号等)的短暂形式,可以通过计算机可读通信介质(例如,通信总线、端口或光纤等)传播本文描述的指令。
[0091]当被包含时,显示子系统1112可以用于呈现由存储子系统1108保存的数据的视觉表示。如上所述,所描述的方法和过程改变由存储子系统1108所保存的数据,并因此转换存储子系统的状态,显示子系统1112的状态可能类似地转换为以基本数据视觉呈现变化。显示子系统1112可以包括虚拟地利用任何类型的技术的一个或多个显示设备。这种显示设备可以与逻辑子系统1104和/或存储子系统1108组合在共享外壳内,或者这种显示设备可以是外围显示设备。还参考图1、2和4,显示子系统1112可以例如包括显示系统14。
[0092]当被包含时,通信子系统1116可以被配置为将计算系统1100与一个或多个网络和/或一个或多个其它计算设备通信地耦合。通信子系统1116可以包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性例子,通信子系统1116可以被配置为经由无线电话网络、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,通信子系统可以允许计算系统1100经由例如互联网的网络发送和/或接收去向和/或来自其它设备的消息。
[0093]传感器子系统1120可以包括一个或多个传感器,其被配置为如上所述感测不同的物理现象(例如,位置、方向、加速度、可见光、红外光、声音等)。例如,传感器子系统1120可以被配置为向逻辑子系统1104提供传感器数据。如上所述,这种数据可以包括视线跟踪信息、头部姿势信息、深度跟踪信息、图像信息、音频信息、周围光照信息、位置信息、运动信息、用户位置信息和/或可以用于执行上述方法和过程的任意其它适当的传感器数据。
[0094]当被包含时,输入子系统1122可以包括一个或多个传感器或用户输入设备或与其进行接口,例如,惯性测量单元、游戏控制器、手势输入检测设备、语音识别器、键盘、鼠标或触摸屏。在一些实施例中,输入子系统1122可以包括所选择的自然用户输入(NUI)部件或与其接口。这种部件可以是集成的或外围的,并且输入动作的转换和处理可以是在机上或场外处理。示例性NUI部件可以包括用于话语和/或语音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体和/或深度摄像机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速计和/或陀螺仪;以及用于评估大脑活动的电场感测部件。
[0095]术语“模块”可以用于描述被实现用于执行一个或多个特定功能的用户界面系统10的方面。在一些情况下,这种模块可以经由执行存储子系统1108所保存的指令的逻辑子模块1104而实例化。可以理解的是,可以根据相同应用、代码块、对象、库、例程、AP1、函数等对不同模块实例化。类似地,可以通过不同应用、代码块、对象、库、例程、AP1、函数等的对相同的模块实例化。术语“模块”表示包含个体或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
[0096]可以理解的是,本文描述的配置和/或方法在本质上是示例性的,并且这些具体的实施例或例子不应被看作是限制性的,因为多种变型是可能的。本文描述的具体例程或方法可以表示任意数量的处理策略的一个或多个。这样,可以以图示的顺序、以其它顺序、并行执行所示出的各种动作,或者在其它情况下省略。类似地,上述过程的顺序可以改变。
[0097]本公开的主题包括在本文公开的各种过程、系统和配置的所有新颖的和非显而易见的组合和子组合,以及其它特征、功能、动作和/或属性及其任意和所有等价物。
【主权项】
1.一种用于定位经由显示系统显示的目标指示符的头戴式计算设备,所述头戴式计算设备操作地连接到所述显示系统,所述头戴式计算设备包括: 视线跟踪系统,用于生成来自佩戴所述头戴式计算设备的用户的具有粗糙准确度的视线跟踪数据; 头部跟踪系统,用于生成来自所述用户的头部姿势数据,其中所述头部姿势数据具有比所述视线跟踪数据的所述粗糙准确度大的精细准确度;以及 定位模块,其由所述头戴式计算设备的处理器执行,所述定位模块被配置为: 利用所述视线跟踪数据,确定位于由所述显示系统生成的显示区域内的近似用户视线区域; 控制所述显示系统以在所述近似用户视线区域内在初始位置处显示所述目标指示符; 从所述用户接收重新定位输入; 响应于接收到所述重新定位输入,利用后续接收到的头部姿势数据来计算在所述显示区域中所述目标指示符的经调整的位置;以及 控制所述显示系统以在所述显示区域中在所述经调整的位置处显示所述目标指示符。2.根据权利要求1所述的头戴式计算设备,其中所述定位模块还被配置为: 在所述目标指示符被显示在所述经调整的位置处之后,接收选择用户输入;以及 响应于接收到所述选择用户输入,选择位于所述经调整的位置处的可选择目标。3.根据权利要求1所述的头戴式计算设备,其中,来自所述用户的所述重新定位输入是从输入设备接收到的,所述输入设备选自由以下各项组成的组中:手持机械可致动触笔、深度摄像机、指环、麦克风以及所述视线跟踪系统。4.根据权利要求1所述的头戴式计算设备,其中,所述目标指示符不被显示,直到接收到所述重新定位输入。5.根据权利要求1所述的头戴式计算设备,其中,所述定位模块还被配置为:响应于接收到所述重新定位输入,禁用所述视线跟踪系统。6.—种用于定位经由显示系统显示的目标指示符的方法,所述方法包括: 从计算系统的视线跟踪系统接收具有粗糙准确度的视线跟踪数据; 接收具有比所述视线跟踪数据的所述粗糙准确度大的精细准确度的头部姿势数据,所述头部姿势数据是从所述计算设备的头部跟踪系统接收到的; 利用所述视线跟踪数据,确定位于由所述显示系统生成的显示区域内的近似用户视线区域; 控制所述显示系统以在所述近似用户视线区域内在初始位置处显示所述目标指示符; 从用户接收重新定位输入; 响应于接收到所述重新定位输入,利用后续接收到的头部姿势数据来计算在所述显示区域中所述目标指示符的经调整的位置;以及 控制所述显示系统以在所述显示区域中在所述经调整的位置处显示所述目标指示符。7.根据权利要求6所述的方法,其中,所述显示系统包括集成在所述计算设备中的屏8.根据权利要求6所述的方法,其中,所述显示系统包括位于物理环境中且与所述计算设备分离的屏幕,所述计算设备还包括用于捕捉包括所述屏幕的所述物理环境的图像的光学传感器,并且所述方法还包括: 利用所述图像建立在所述计算设备和所述屏幕之间的空间关系;以及利用所述空间关系,与所述视线跟踪数据相结合,来确定位于所述屏幕的所述显示区域内的所述近似用户视线区域。9.根据权利要求8所述的方法,还包括:从所述屏幕接收屏幕识别符。10.根据权利要求6所述的方法,还包括: 接收辅助跟踪数据;以及 响应于接收到所述重新定位输入,利用所述辅助跟踪数据来计算所述目标指示符的所述经调整的位置。
【文档编号】G06F3/01GK105900041SQ201480072561
【公开日】2016年8月24日
【申请日】2014年12月12日
【发明人】M·K·维纳布尔, B·J·克尔, W·威莱拉特
【申请人】微软技术许可有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1