全息键盘显示转让专利

申请号 : CN201580038386.8

文献号 : CN106537261B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : R·贝内特L·格塞洛维茨W·张A·G·鲍罗斯J·比维斯K·P·皮梅尔N·G·法杰特

申请人 : 微软技术许可有限责任公司

摘要 :

提供了涉及在全息环境中显示全息键盘和手图像的各实施例。在一个实施例中,用户的手的实际位置的深度信息被接收。通过使用深度信息,在全息环境中的虚拟手平面中显示表示用户的手的全息手图像。响应于接收来自该用户的键盘激活输入并使用该深度信息,全息键盘图像在表示用户的手的全息手图像下方的某一虚拟距离处被自适应地显示在全息环境中的虚拟键盘平面中。

权利要求 :

1.一种用于在全息环境中显示全息键盘图像和表示用户的手的全息手图像的方法,所述方法包括:接收所述用户的手的实际位置的深度信息;

确定所述用户的手与提供所述深度信息的捕捉设备隔开初始实际距离;

通过使用所述深度信息,在所述全息环境中的虚拟手平面中显示表示所述用户的手的所述全息手图像;

接收来自所述用户的键盘激活输入;

响应于接收所述键盘激活输入,并使用所述用户的手的所述实际位置的所述深度信息,在表示所述用户的手的所述全息手图像下方的虚拟距离处在所述全息环境中的虚拟键盘平面中自适应地显示所述全息键盘图像;

确定所述用户的手移动到与所述捕捉设备相距经更新的实际距离处;以及响应于确定所述用户的手移动到与所述捕捉设备相距所述经更新的实际距离处,将所述全息键盘图像维持在表示所述用户的手的所述全息手图像下方的大致所述虚拟距离处。

2.如权利要求1所述的方法,其特征在于,所述全息手图像的所述虚拟手平面与所述全息键盘图像的所述虚拟键盘平面形成交互角,所述方法进一步包括:确定所述用户的手的初始实际平面以一旋转角度改变到了经更新的实际平面;以及响应于确定所述初始实际平面以所述旋转角度改变到了所述经更新的实际平面,大致维持所述全息手图像的所述虚拟手平面与所述全息键盘图像的所述虚拟键盘平面之间的所述交互角。

3.如权利要求1所述的方法,其特征在于,进一步包括:

显示接受文本输入的虚拟元素;以及

其中接收所述键盘激活输入进一步包括确定所述用户正在注视所述虚拟元素。

4.如权利要求1所述的方法,其特征在于,所述键盘激活输入包括来自所述用户的音频输入。

5.如权利要求1所述的方法,其特征在于,所述用户的手的所述实际位置在显示所述全息键盘图像和所述全息手图像的显示系统的显示视野之外,并且所述用户的手的所述实际位置在提供所述深度信息的捕捉设备的捕捉视野之内。

6.如权利要求1所述的方法,其特征在于,进一步包括:

在所述全息手图像下方的所述全息键盘图像上显示一个或多个虚拟阴影,以提供所述全息手图像与所述全息键盘图像之间的所述虚拟距离的视觉位置线索。

7.如权利要求1所述的方法,其特征在于,进一步包括:

确定所述全息手图像的全息指尖位于所述全息键盘图像的全息键上方;以及响应于确定所述全息指尖位于所述全息键上方,将所述全息键动画化以朝着所述全息指尖向外延伸。

8.如权利要求1所述的方法,其特征在于,所述全息手图像的全息指尖与所述用户的手的物理指尖相对应,所述方法进一步包括:确定所述全息指尖位于所述全息键盘图像的全息键上方;

确定所述用户的手的所述物理指尖在按键方向上移动了实际按键距离;

响应于确定所述物理指尖在所述按键方向上移动,将所述全息指尖和所述全息键动画化以朝着所述全息键盘移动小于所述实际按键距离的虚拟按键距离来模拟所述全息键与所述全息键盘之间的摩擦。

9.如权利要求1所述的方法,其特征在于,进一步包括:

确定所述全息手图像的全息指尖位于所述全息键盘图像的全息键上方;以及响应于确定所述全息手图像的所述全息指尖位于所述全息键盘图像的所述全息键上方,广播一个或多个音频位置线索。

10.一种用于在全息环境中显示全息键盘图像和表示用户的手的全息手图像的键盘接口系统,所述键盘接口系统包括:显示系统;

由计算设备的处理器执行的键盘接口程序,所述键盘接口程序被配置成:接收所述用户的手的实际位置的深度信息;

确定所述用户的手与提供所述深度信息的捕捉设备隔开初始实际距离;

通过使用所述深度信息,在所述全息环境中的虚拟手平面中经由所述显示系统来显示表示所述用户的手的所述全息手图像;

接收来自所述用户的键盘激活输入;以及

响应于接收所述键盘激活输入,并使用所述用户的手的所述实际位置的所述深度信息,在表示所述用户的手的所述全息手图像下方的虚拟距离处在所述全息环境中的虚拟键盘平面中经由所述显示系统来自适应地显示所述全息键盘图像;

确定所述用户的手移动到与所述捕捉设备相距经更新的实际距离处;以及响应于确定所述用户的手移动到与所述捕捉设备相距所述经更新的实际距离处,将所述全息键盘图像维持在表示所述用户的手的所述全息手图像下方的大致所述虚拟距离处。

11.如权利要求10所述的键盘接口系统,其特征在于,所述全息手图像的所述虚拟手平面与所述全息键盘图像的所述虚拟键盘平面形成交互角,并且所述键盘接口程序被进一步配置成:确定所述用户的手的初始实际平面以一旋转角度改变到了经更新的实际平面;以及响应于确定所述初始实际平面以所述旋转角度改变到了所述经更新的实际平面,大致维持所述全息手图像的所述虚拟手平面与所述全息键盘图像的所述虚拟键盘平面之间的所述交互角。

12.如权利要求10所述的键盘接口系统,其特征在于,所述键盘接口程序被进一步配置成:显示接受文本输入的虚拟元素;以及

其中接收所述键盘激活输入进一步包括确定所述用户正在注视所述虚拟元素。

13.如权利要求10所述的键盘接口系统,其特征在于,进一步包括捕捉所述深度信息的捕捉设备,并且其中所述用户的手的所述实际位置在所述显示系统的显示视野之外,并且所述用户的手的所述实际位置在所述捕捉设备的捕捉视野之内。

14.如权利要求13所述的键盘接口系统,其特征在于,所述显示系统、所述计算设备、以及所述捕捉设备位于头戴式显示设备上。

15.如权利要求10所述的键盘接口系统,其特征在于,所述键盘接口程序被进一步配置成:确定所述全息手图像的全息指尖位于所述全息键盘图像的全息键上方;以及响应于确定所述全息指尖位于所述全息键上方,将所述全息键动画化以朝着所述全息指尖向外延伸。

16.如权利要求10所述的键盘接口系统,其特征在于,所述全息手图像的全息指尖与所述用户的手的物理指尖相对应,并且所述键盘接口程序被进一步配置为:确定所述全息指尖位于所述全息键盘图像的全息键上方;

确定所述用户的手的所述物理指尖在按键方向上移动了实际按键距离;以及响应于确定所述物理指尖在所述按键方向上移动,将所述全息指尖和所述全息键动画化以朝着所述全息键盘移动小于所述实际按键距离的虚拟按键距离来模拟所述全息键与所述全息键盘之间的摩擦。

17.如权利要求10所述的键盘接口系统,其特征在于,所述键盘接口程序被进一步配置成:确定所述全息手图像的全息指尖位于所述全息键盘图像的全息键上方;以及响应于确定所述全息手图像的全息指尖位于所述全息键盘图像的全息键上方,广播一个或多个音频位置线索。

18.一种头戴式显示设备,包括:

显示系统;

计算设备;以及

由所述计算设备的处理器执行的键盘接口程序,所述键盘接口程序被配置成:接收用户的手的实际位置的深度信息;

确定所述用户的手与提供所述深度信息的捕捉设备隔开初始实际距离;

通过使用所述深度信息,在全息环境中的虚拟手平面中经由所述显示系统来显示表示所述用户的手的所述全息手图像;

接收来自所述用户的键盘激活输入;

响应于接收所述键盘激活输入,并使用所述用户的手的所述实际位置的所述深度信息,经由所述显示系统在表示所述用户的手的所述全息手图像下方的虚拟距离处在所述全息环境中的虚拟键盘平面自适应地显示所述全息键盘图像,其中所述全息手图像的所述虚拟手平面与所述全息键盘图像的所述虚拟键盘平面形成交互角;

确定所述用户的手移动到与所述捕捉设备相距经更新的实际距离处;

响应于确定所述用户的手移动到与所述捕捉设备相距所述经更新的实际距离处,将所述全息键盘图像维持在表示所述用户的手的所述全息手图像下方的大致所述虚拟距离处;

确定所述用户的手的初始实际平面以一旋转角度改变到了经更新的实际平面;以及响应于确定所述初始实际平面以所述旋转角度改变到了所述经更新的实际平面,大致维持所述全息手图像的所述虚拟手平面与所述全息键盘图像的所述虚拟键盘平面之间的所述交互角。

说明书 :

全息键盘显示

[0001] 背景
[0002] 在一些虚拟现实和混合现实显示系统中,可能期望使得用户能够使用全息键盘来提供文本输入。例如,显示系统可生成键盘全息图,该键盘全息图可从被用户控制的虚拟输入设备接收输入。在一些示例中,虚拟输入设备可以是手全息图,该手全息图可模拟用户单手或双手的移动以便选择全息键盘上的键。
[0003] 然而,生成提供沉浸式和逼真的类似触摸的交互的这样的全息键盘手界面已被证明是有挑战性的。例如,当与键盘全息图交互时,用户可移动或改变位置,或用户的手可能不经意地漂移。这可导致手全息图与键盘全息图之间的无意的未对准,并且可以其他方式中断并降低沉浸式和逼真的用户交互体验。此外,这样的手漂移和相对应的未对准可导致错误的选择确定,其中系统将用户的手的移动不正确地解释为对键盘全息图的虚拟键的选择。附加地,取决于键盘全息图相对于用户的位置,用户可能被迫将他或她的身体和/或手移动到不自然或不舒服的固定位置,以便将手全息图适当地定位在键盘全息图附近。
[0004] 概述
[0005] 本文公开了涉及在全息环境中显示全息键盘图像和表示用户的手的全息手图像的各种实施例。例如,一个公开的实施例提供了一种方法,该方法包括接收用户的手的实际位置的深度信息。通过使用深度信息,在全息环境中的虚拟手平面中显示表示用户的手的全息手图像。从用户处接收键盘激活输入。响应于接收键盘激活输入,并使用用户的手的实际位置的深度信息,全息键盘图像在表示用户的手的全息手图像下方的某一虚拟距离处被自适应地显示在全息环境中的虚拟键盘平面中。
[0006] 提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
[0007] 附图简述
[0008] 图1是根据本公开的一实施例的键盘接口系统的示意图。
[0009] 图2示出根据本公开的一实施例的示例头戴式显示设备。
[0010] 图3是根据本公开的一实施例的用户与经由显示设备显示的全息键盘图像交互的示意图。
[0011] 图4是根据本公开的一实施例的图3中用户的手和相对应的全息手图像以及全息键盘图像的侧视示意图。
[0012] 图5是根据本公开的一实施例的佩戴头戴式显示设备并与全息手图像和全息键盘图像进行交互的用户的侧视示意图。
[0013] 图6是根据本公开的一实施例的定位在两个全息手图像下方的全息键盘的示意图。
[0014] 图7是根据本公开的一实施例的图6的全息键盘的示意图,示出了在离全息键盘更接近的虚拟距离处的两个全息手图像。
[0015] 图8A是根据本公开的一实施例的具有位于全息键盘图像的全息键上方的食指的指尖的全息手的端视示意图。
[0016] 图8B是对应于图8A的全息指尖和食指的用户的食指和指尖的局部侧视示意图。
[0017] 图9A是根据本公开的一实施例的图8A的全息指尖和全息键盘图像的端视示意图,示出了的全息键朝着全息指尖向外延伸。
[0018] 图9B是对应于图9A的全息指尖和食指的用户的食指和指尖的局部侧视示意图。
[0019] 图10A是根据本公开的一实施例的图9A的全息指尖和全息键盘图像的端视示意图,示出了全息指尖和全息键朝着全息键盘移动了虚拟按键距离。
[0020] 图10B是根据本公开的一实施例的示出了对应于图10A的全息指尖和食指的并且在按键中移动了实际按键距离的用户的食指和指尖的局部侧视示意图。
[0021] 图11A、11B和11C是根据本公开的一实施例的用于显示全息键盘图像和全息手图像的方法的流程图。
[0022] 图12是计算系统的一实施例的简化示意图解。
[0023] 详细描述
[0024] 图1示出了根据本公开的键盘接口系统10的一实施例的示意图。键盘接口系统10包括可被存储在计算设备22的大容量存储18中的键盘接口程序14。键盘接口程序14可被加载到存储器26中并由计算设备22的处理器30执行以便执行下文更为详细地描述的方法和过程中的一个或多个。
[0025] 在一些示例中,混合现实显示程序34可生成包括全息键盘图像42、一个或两个全息手图像46、以及一个或多个虚拟元素50的全息环境38。这样的全息环境38可被提供给显示设备,诸如头戴式显示器(HMD)设备54或其他显示设备。如下文更为详细地解释的,HMD设备54可提供以下形式的虚拟环境:包括佩戴HMD设备的用户60可查看的全息环境38和周围现实世界环境中的一个或多个物理对象58的混合现实环境56。换言之,混合现实环境56可包括用户60可经由HMD设备查看的全息环境38和物理环境。
[0026] 在其他示例中,HMD设备可以虚拟现实体验的形式创建虚拟环境,其中仅向用户生成并显示全息和/或其他虚拟图像。也将认识到也可以在公开的范围内使用利用各种显示技术并具有各种形状因子的许多其他类型和配置的显示设备。此类显示设备可包括但不限于:固定位置监视器、诸如智能电话、平板计算机和上网本计算机等移动设备、投影显示设备、三维(3D)电视以及其他类型的显示设备。
[0027] 计算设备22可采用以下形式:台式计算设备,诸如智能电话、膝上型计算机、笔记本或平板计算机之类的移动计算设备,网络计算机,机顶盒,家庭娱乐计算机,交互式电视,游戏系统,或其他合适类型的计算设备。关于计算设备22的组件和计算方面的附加细节在下文中参考图12更详细地描述。
[0028] 计算设备22可使用有线连接来与HMD设备54在操作上连接,或可采用经由WiFi、蓝牙或任何其他合适的无线通信协议的无线连接。如下文更为详细地描述的,计算设备22还可经由HMD设备54接收来自用户60的键盘激活输入62。附加地,图1中示出的示例将计算设备22示为与HMD设备54分开的组件。应当理解,在其他示例中,计算设备22可被集成到HMD设备54中,或者可位于具有其他类型的显示器的公共外壳中。
[0029] 现在还参考图2,提供了一副具有透明显示器68的可佩戴眼镜200形式的HMD设备54的示例。应当理解,在其他示例中,HMD设备54可以采取其他合适的形式,其中透明、半透明或不透明显示器被支撑在查看者的一只或两只眼睛前方。还将明白,图1中所示的HMD设备54可以采取HMD设备200的形式(如在下文更详细地描述的)或任何其他合适的HMD设备。
[0030] 参考图1和2,在这一示例中,HMD设备54包括显示系统64和使图像能够被递送到用户的眼睛的透明显示器68。透明显示器68可被配置成向透过该透明显示器查看物理环境的用户在视觉上增强该物理环境的外观。例如,物理环境的外观可以由经由透明显示器68呈现的图形内容(例如,一个或多个像素,每一像素具有相应色彩和亮度)来增强以创建混合现实环境56。
[0031] 透明显示器68还可被配置成使用户能够透过显示虚拟对象表示的一个或多个部分透明的像素来查看物理环境中的物理对象58。在一个示例中,透明显示器68可包括位于透镜204内的图像生成元件(诸如例如透视有机发光二极管(OLED)显示器)。作为另一示例,透明显示器68可包括在镜片204边缘上的光调制器。在这一示例中,透镜204可以担当光导以供将光从光调制器递送到用户的眼睛。这样的光导可使用户能够感知3D全息图像位于用户正在查看的物理环境内,同时还允许用户查看物理环境中的物理对象。
[0032] HMD设备54还可包括各种传感器和相关系统。例如,HMD设备54可包括利用至少一个面向内的传感器208的眼睛跟踪传感器系统72。该面向内的传感器208可以是被配置成从用户的眼睛获取眼睛跟踪信息形式的图像数据的图像传感器。假定用户已同意获取和使用这一信息,眼睛跟踪传感器系统72可以使用这一信息来跟踪用户的眼睛的位置和/或移动。
[0033] 在一个示例中,眼睛跟踪系统72包括被配置成检测用户的每一个眼睛的注视方向的注视检测子系统。该注视检测子系统可被配置成以任何合适方式确定每一只用户眼睛的注视方向。例如,注视检测子系统可包括诸如红外光源等被配置成使得从用户的每一只眼睛反射闪光的一个或多个光源。一个或多个图像传感器然后可被配置成捕捉用户眼睛的图像。
[0034] 如从收集自图像传感器的图像数据确定的闪烁和瞳孔的图像可用于确定每一眼睛的光轴。使用该信息,眼睛跟踪传感器系统72随后可以确定用户正在注视的方向和/或什么物理对象或虚拟对象。此类注视检测数据然后可被提供给键盘接口程序14。将理解,注视检测子系统可以具有任意合适数量和布置的光源和图像传感器。
[0035] HMD设备54还可包括从物理环境接收物理环境数据的传感器系统。例如,HMD设备54可包括利用至少一个面向外的传感器212(诸如光学传感器)的光学传感器系统76。面向外的传感器212可捕捉来自其视野内的对象的图像和深度信息,诸如视野内的佩戴者或人或物理对象所执行的基于姿势的输入或其他移动。
[0036] 该面向外的传感器212还可从物理环境和该环境内的物理对象捕捉2D图像信息和深度信息。在一些示例中,面向外的传感器212可包括深度相机、诸如RGB相机等可见光相机、红外光相机,和/或位置跟踪相机。在一个示例中且如下文更详细地描述的,面向外的传感器212可包括使该传感器能够在向下悬垂在用户的腿附近时从用户的手捕捉图像和深度信息的视野。
[0037] 在一个示例中,一个或多个深度相机可包括立体视觉系统的左和右相机。来自这些深度相机中的一个或多个的时间分辨的图像可被彼此配准和/或与来自另一光学传感器(诸如可见光谱相机)的图像配准,且可被组合以产生深度分辨的视频。
[0038] 在其他示例中,结构化光深度相机可被配置成投影结构化红外照明并对从照明被投影到其之上的场景中反射的该照明进行成像。可基于所成像的场景的各个区域内邻近特征之间的间隔来构造该场景的深度图。在其他示例中,深度相机可以采取飞行时间深度相机的形式,其被配置成将脉冲的红外照明投影到该场景上以及检测从该场景反射的照明。例如,照明可由红外光源216提供。应当理解,在本公开的范围内可使用任意其他合适的深度相机。
[0039] 面向外的传感器212还可以捕捉用户位于其中的物理环境的图像。在一个示例中,混合现实显示程序34可包括使用此类图像和深度信息来生成对所捕捉的物理环境进行建模的全息环境38的3D建模系统。
[0040] HMD设备54还可包括位置传感器系统80,该位置传感器系统80利用一个或多个运动传感器220来实现对HMD设备的位置跟踪和/或取向感测。例如,位置传感器系统80可被用来确定用户的头部的头部姿态取向。在一个示例中,位置传感器系统80可包括配置成六轴或六自由度的位置传感器系统的惯性测量单元(IMU)。这一示例位置传感器系统可以例如包括用于指示或测量HMD设备54在三维空间内沿三个正交轴(例如,x、y、z)的位置变化以及该HMD设备绕三个正交轴(例如,翻滚、俯仰、偏航)的取向变化的三个加速度计和三个陀螺仪。
[0041] 在一些实施例中,面向外的传感器212可与IMU合作以便在六个自由度上确定HMD设备200的位置和方向。这样的位置和方向信息可被用于经由透明显示器68来以世界锁定位置显示一个或多个虚拟对象,其中每个虚拟对象的位置相对于通过透明显示器可见的现实世界对象是看起来固定的,而每个虚拟对象的位置相对于透视显示器的佩戴者是看起来可移动的。
[0042] 位置传感器系统80还可以支持其他合适的定位技术,诸如GPS或其他全球导航系统。而且,尽管描述了位置传感器系统的具体示例,但应当理解,可以使用其他合适的位置传感器系统。
[0043] 在一些示例中,运动传感器220还可以被用作用户输入设备,使得用户可以经由颈部和头部或者甚至身体的姿势来与HMD设备54交互。HMD设备54还可包括包含一个或多个话筒224的话筒系统84。在其他示例中,音频可经由包括HMD设备54上的一个或多个扬声器228的扬声器系统88被呈现给用户。
[0044] HMD设备54还可包括具有与HMD设备的各传感器和系统通信的逻辑子系统和存储子系统的处理器230,如在下文参考图12更为详细地讨论的。在一个示例中,存储子系统可包括可由逻辑子系统执行的指令,用以接收来自传感器的信号输入并将此类输入转发到计算设备22(以未经处理或经处理的形式)并且经由透明显示器68向用户呈现图像。
[0045] 应当理解,HMD设备54和相关的传感器以及上文描述的并在图1和2中解说的其他组件是作为示例来提供的。这些示例不旨在以任何方式进行限制,因为任何其他合适的传感器、组件,和/或传感器和组件的组合可被使用。因此,将理解,HMD设备54可以包括未偏离本公开文本范畴的附加和/或替代的传感器、相机、话筒、输入设备、输出设备等。此外,HMD设备54的物理配置及其各种传感器和子组件可以采取不偏离本公开文本范畴的各种不同形式。
[0046] 现在参考图3-7,现在将提供对键盘接口系统10和各种显示设备的示例用例和实施例的描述。图3是用户304与全息键盘图像308进行交互并查看由房间314中的电视312显示的全息向导图像310的一个示例的示意图解。在一些示例中,全息键盘图像308和/或全息向导310可以以世界锁定显示模式被显示为在用户304与电视312之间的空间中悬浮固定。以此方式,当用户304改变他在房间314中的位置时,用户感知该世界锁定图像相对于电视
312和房间314中的其他现实世界对象保持固定。在一些示例中,用户304可以佩戴眼镜(未示出),该眼镜通过例如将两幅图像合并为单幅3D全息图像来帮助创建增强现实体验,该单幅3D全息图像被用户感知为在空间中悬浮。
[0047] 在该示例中,电视312被通信地耦合到机顶盒316,机顶盒316包括面向用户304的话筒318、RGB相机320以及深度感测相机324。RGB相机320和深度感测相机324两者都可具有捕捉用户304的整个身体的视野。机顶盒316还可包括眼睛跟踪系统72和包括键盘接口程序14的计算设备22。通过使用来自深度感测相机324的数据,机顶盒316可监视用户304和各种身体部位(诸如他的左手330和右手334)的位置。通过使用来自眼睛跟踪系统72的注视跟踪数据,机顶盒316还可相对于现实世界对象和在房间314内显示的全息图像来监视用户的注视位置。
[0048] 在一些示例中,用户304可能期望选择性地查看全息键盘图像308并与全息键盘图像308进行交互。例如,在用户304正在玩包括全息向导310的交互式游戏的情况下,该全息键盘图像308通常可不被显示。为了使键盘接口程序14显示全息键盘图像308,用户可以经由机顶盒316向键盘接口程序14提供键盘激活输入62。
[0049] 在一些示例中,键盘激活输入62可包括由用户304提供的音频输入,诸如口述命令(例如,“示出键盘(Show keyboard)”)。在其他示例中,键盘激活输入62可包括由用户304执行的手势或其他触发移动。例如,键盘激活输入62可包括用户304用他的一只手来执行的捏合手势(通过用他的食指指尖触摸他的拇指)。在其他示例中,用户的手的图像数据可被分析以便确定与键盘激活输入62相对应的手部的肌腱状态。
[0050] 在其他示例中,键盘激活输入62可包括用户304点头、旋转、倾斜、或以预定方式移动他的头部。应当理解,由用户304执行的各种不同的手势或其他物理移动可被用作键盘激活输入62以触发全息键盘图像308的显示。
[0051] 在一些示例中,键盘激活输入62可包括来自眼睛跟踪系统72的注视跟踪数据。例如并再次参考图3,键盘接口程序14可显示诸如接受文本输入的虚拟文本框332之类的虚拟元素。通过使用来自眼睛跟踪系统72的注视跟踪数据,键盘接口程序14可确定用户304正在注视虚拟文本框332。例如,键盘接口程序14可确定用户304注视在虚拟文本框332处至少达到了预定时间段(诸如1秒、2秒或任何合适的时间段)。
[0052] 在一些示例中,虚拟文本框332可以以身体锁定显示模式被显示,使得文本框的位置相对于用户304的位置保持固定。在一些示例中,身体锁定显示模式可包括躯干锁定模式,其中对象相对于用户的躯干方向被定位。例如,躯干锁定文本框332可悬浮在用户304的前面,从而允许用户倾斜他的头部并从不同的角度看向该框。当用户304向前走时,文本框在相同方向上移动以维持与用户的躯干的恒定距离,并且还可相对于用户的躯干维持恒定的角度定向。
[0053] 在一些示例中,身体锁定显示模式可包括头部锁定模式,其中虚拟文本框332的位置跟随用户的头部350的移动。头部锁定对象可相对于用户的面部方向被定位,使得悬浮的头部锁定文本框可在相对于面部的相同位置和定向处悬浮在用户的面部的前面,而不管用户的头部的移动或旋转如何。头部锁定文本框还可被固定在相对于用户的视图的特定位置。例如,文本框可被显示在用户的视图的左下角,并且可被维持在视图的该角中而不管用户的头部350的移动或定向如何。以此方式,在用户304可方便地环视房间314的同时虚拟文本框332保持在视图中,而不管用户的头部350的定向如何。
[0054] 响应于接收键盘激活输入62,键盘接口程序14可经由电视312显示全息键盘图像308和全息手图像340。具体而言并还参考图4,键盘接口程序14可在虚拟键盘平面400中并在表示用户的右手334的全息手图像340下方的虚拟距离404处自适应地显示全息键盘图像
308。为了显示全息手图像340,键盘接口程序14可经由深度感测相机324来接收用户的右手
334的初始实际位置348的深度信息。通过使用该深度信息,全息手图像340可被显示在虚拟手平面408中。
[0055] 应当理解,在一些示例中,可使用用户的手的深度信息和图像来生成表示用户的右手334的全息手图像340,以便显示用户的实际手的栩栩如生的表示。在其他示例中,表示用户的右手334的全息手图像340可包括不基于用户的实际手的通用手图像。在任一示例中并如下文更详细地描述的,来自深度感测相机324的深度信息可被用于操纵全息手图像340,以便反映用户的实际手的手运动。
[0056] 如图3所示,用户304正站立且他的手向下并舒适地悬垂在他身侧。相反,表示用户的右手334的全息手图像340被显示在相对于用户304大致向上且在全息键盘图像308上方,其中手背面向用户。为了本公开的目的,“大致向上”意指全息手图像340的指关节在手腕368之上的方向,如用户在全息环境中所查看的。虽然图3的示例示出了表示用户的右手334的全息手图像340,但是应当理解,在一些示例中,表示用户的左手330的全息手图像也可被显示。在其他示例中,表示用户的左手330的全息手图像可被单独地显示。
[0057] 有利地,全息键盘图像308可自适应地被显示并被定位在全息手图像340的下方,而不管用户的右手334的实际位置。以此方式,全息键盘图像308和全息手图像340一被显示,用户304就可立即开始与此全息键盘图像进行交互。在一些示例中,键盘接口程序14可优化全息手图像340在全息键盘图像308上方的相对定位。例如并如图3所示,在初始显示全息手图像340和全息键盘图像308时,全息手图像的食指344可被定位在全息键盘图像的“J”键上方,以便提供用于打字的熟悉的起始位置。
[0058] 附加地,随着键盘接口程序14利用用户的右手334和/或左手330的实际位置的深度信息,接口程序14可使得用户304能够采取除站立之外的各种位置,而仍然与全息键盘图像308舒适地进行交互。在各种示例中,用户304可坐在各种位置中、斜躺在诸如沙发上、或采取任何其他舒适的身体位置,其中他的手处在深度相机324的视野内。如上所述,不管用户的手的实际位置如何,键盘接口程序14在全息手图像340下方的虚拟距离404处自适应地显示全息键盘图像308。
[0059] 再次参考图3的示例,全息键盘图像308可被显示以使得其长边352水平延伸并大致平行于用户304的X轴。在一些示例中,X轴被定义为大致平行于平分用户的双眼的线(未示出)。附加地,键盘接口程序14可被配置为维持全息键盘图像308的大致平行于用户304的X轴的长边352,而不管用户头部350的定向如何。以此方式,键盘接口程序14可进一步使得用户304能够在采取各种位置的同时仍能舒适地与全息键盘图像308进行交互。
[0060] 在一些示例中,当从用户304接收到键盘激活输入62时,全息手图像340和全息键盘图像308可显现。在其他示例中,全息键盘图像308可在接收到键盘激活输入62时显现,而全息手图像340可在接收到手图像触发时被显示。在一些示例中,手图像触发可包括用户的右手334被维持在大致恒定的位置处达预定长度的时间(诸如例如0.5秒)。
[0061] 在其他示例中并取决于正被使用的应用,全息键盘图像308可被连续地显示而不管是否已接收到了键盘激活输入62。例如,在用户304正在使用文字处理应用的情况下,全息键盘图像308可被连续地显示。在这些示例中,在接收到键盘激活输入62时,全息键盘图像308的位置可被调整到与全息手图像340相距虚拟距离404处的虚拟键盘平面400。
[0062] 现在参考图4,在一些示例中,键盘接口程序14可确定在初始实际位置348处的用户的手334与包括提供深度信息的深度相机324的机顶盒316隔开初始实际距离420。如图4所示,在用户的手334处于初始实际位置348的情况下,全息手图像340被显示在该全息手图像下方的虚拟距离404处。键盘接口程序14然后可确定用户的手334移动到了经更新的实际位置428,该经更新的实际位置428与机顶盒316相距经更新的实际距离432。在此示例中,经更新的实际距离432小于初始实际距离420。在其他示例中,经更新的实际距离432可大于初始实际距离420。
[0063] 响应于确定用户的手334移动到了与机顶盒316相距经更新的实际距离432处,键盘接口程序14可被配置为将全息键盘图像308维持在表示用户的手的全息手图像340下方的大致虚拟距离404处。以此方式,键盘接口程序14通过在允许用户的手334漂移或移动的同时将全息键盘图像308维持在全息手图像340下方的大致恒定距离处,有利地提供了一致的用户交互体验。此外并如上所述,这进一步使得用户304能够在改变他的身体和/或手的位置和/或定向的同时将全息键盘图像308维持在全息手图像340下方的一致距离处。
[0064] 如图4的示例所示意性地例示出的,全息手图像340的虚拟手平面408可与全息键盘图像308的虚拟键盘平面400形成交互角440。在各种示例中,交互角440可以是0度、5度、10度或任何其他合适的角度。当用户的手334改变位置时,键盘接口程序14可确定用户的手的初始实际平面444以旋转角度450改变到了经更新的实际平面454。
[0065] 有利地,并响应于确定初始实际平面444以旋转角度450改变到了经更新的实际平面454,键盘接口程序14可大致维持全息手图像340的虚拟手平面408与全息键盘图像308的虚拟键盘平面400之间的交互角440。以此方式,键盘接口程序14通过允许用户的手334漂移或移动的同时维持虚拟手平面408与全息键盘图像308的虚拟键盘平面400之间的大致恒定的交互角440,进一步促进了一致的用户交互体验。
[0066] 现在参考图5,提供了佩戴HMD设备508并与全息手图像512和全息键盘图像516进行交互的用户504的侧视示意图。HMD设备508的显示系统64可具有显示视野520,其中全息手图像512、全息键盘图像516以及其他图像可被显示给用户504。HMD设备508还可具有光学传感器系统76,该光学传感器系统76包括具有捕捉视野530的一个或多个深度传感器,在该捕捉视野530中传感器可捕捉深度信息。
[0067] 如图5所示,在用户504允许他的手540舒适地停靠在他身侧的情况下,用户的手位于HMD设备508的显示视野520之外,但位于HMD设备的深度传感器的捕捉视野530之内。有利地,以此方式,键盘接口程序14使得用户504能够以放松位置且他的手在他身侧来站立并经由如上所述的全息手图像512与全息键盘图像516进行交互。
[0068] 在一些示例中,键盘接口程序14可被配置为在一个或多个全息手图像下方的全息键盘图像上显示一个或多个虚拟阴影,以提供全息手图像与全息键盘图像之间的虚拟距离的视觉位置线索。例如并现在参考图6和图7,在一个示例中,全息左手图像602可被显示在全息键盘图像606上方,并被定位以使得该手图像的食指614的指尖610位于键盘图像的全息控制键618上方。如上所述,全息左手图像602、食指614和指尖610与用户(诸如用户304)的物理左手、食指和指尖的定向相对应。
[0069] 为了向用户提供全息左手图像602与全息键盘图像606之间的虚拟距离的视觉位置线索,键盘接口程序14可在全息键盘图像上方和左手图像下方显示左手虚拟阴影630。现在参考图7,当用户移动她的物理左手以使全息指尖610朝着全息控制键618前进时,左手虚拟阴影630可相应地移动到全息左手图像602下方以与左手图像在视觉上聚合。以此方式,用户接收全息指尖610正朝着全息控制键618前进的视觉位置线索。
[0070] 在另一示例中并如图6所示,第一右手阴影640和第二右手阴影644可被用于提供全息右手图像650与全息键盘图像606之间的虚拟距离的视觉位置线索。在此示例中,全息右手图像650被显示在全息键盘图像606上方并被定位以使得食指658的指尖654位于键盘图像的全息箭头键662上方。如上所述,全息右手图像650、食指658和指尖654与用户(诸如用户304)的物理右手、食指和指尖的定向相对应。
[0071] 在此示例中并现在参考图7,用户可移动她的物理右手以使得全息指尖654朝着全息箭头键662前进。对应于此移动,第一右手阴影640和第二右手阴影644可在全息右手图像650下方朝着彼此移动,以在全息箭头键662处视觉上聚合。以此方式,用户接收全息指尖
654正朝着全息箭头键662前进的视觉位置线索。
[0072] 在其他示例中并再次参考图6,键盘接口程序14可确定全息左手图像602的全息指尖610位于全息控制键618上方。作为响应,全息接口程序14可广播向用户指示全息指尖位于全息键盘图像606的全息键上方的一个或多个音频位置线索。以此方式,可帮助用户操纵全息指尖以便选择所期望的全息键。
[0073] 现在参考图8A并在其他示例中,键盘接口程序14可将全息键盘的一个或多个全息键动画化以促进用户经由全息手图像与该键盘进行的交互。如在图8A中示意性地示出的,键盘接口程序14可显示与如上所述的用户的物理右手相对应的全息右手图像802。在此示例中并为了匹配用户的物理右手的定向,全息右手图像802形成全息食指806以此延伸的指向手势。如图8A所示,食指指尖810位于全息键盘图像818的所选择的全息键814上方。图8B示意性地例示出了被图8A的全息食指806和食指指尖810建模的用户的物理右手的实际食指822和实际食指指尖826。
[0074] 在一些示例中,键盘接口程序14可确定全息手图像802的全息食指指尖810位于全息键盘图像818的所选择的全息键814上方。现在参考图9A,并响应于确定全息食指指尖810位于所选择的全息键814上方,键盘接口程序14可使全息键动画化以向外朝着全息指尖延伸并到达延伸位置820。在一些示例中,全息键814可被延伸以接触该全息指尖810。有利地,以此方式,用户可在视觉上感知全息键814接触了经延伸的全息食指806的全息指尖810。在其他示例中,全息键814可朝着全息指尖810向外移动,但是可不接触该全息指尖。如图9B所示,在此动画期间,用户的实际食指822可保持大致静止。
[0075] 现在参考图10B,用户可期望选择所选择的全息键814。因此,用户可将他的食指822的物理指尖826在按键方向上移动实际按键距离830,如行动箭头K所指示的。相应地,并响应于确定物理指尖826在按键方向K上移动了实际按键距离830,键盘接口程序14可将全息指尖810和全息键814动画化以朝着全息键盘图像818移动小于实际按键距离830的虚拟按键距离840。
[0076] 有利地,通过选择性地将全息指尖810和全息键814移动小于实际按键距离830的虚拟按键距离840,键盘接口程序14可在视觉上模拟全息键与全息键盘之间的触觉摩擦。换言之,通过相比于用户的指尖826的实际移动而截短全息指尖810和全息键814的视觉移动,键盘接口程序14在视觉上模拟了全息键814在全息键盘图像818内接触停止该键的移动的障碍物。在一些示例中,一旦全息键814的移动已经停止,则全息食指806可被动画化以围绕指尖810与键之间的接触点继续旋转。有利地,这样的视觉模拟可以以类似于由物理键盘的键所提供的触觉交互的方式来向用户提供对键的选择的感知。
[0077] 图11A,11B和11C例示出根据本公开的一实施例的用于在全息环境中显示全息键盘图像和表示用户的手的全息手图像的方法1100的流程图。参考以上描述并在图1-10中示出的键盘接口系统10的软件和硬件组件来提供方法1100的以下描述。可以理解,方法1100还可在使用其他合适的硬件和软件组件的其他上下文中来执行。
[0078] 现在参考图11A,在1104,方法100可包括接收用户的手的实际位置的深度信息。在1108,方法1100可以包括使用深度信息来在全息环境中的虚拟手平面中显示表示用户的手的全息手图像。在1112,方法1100可包括接收来自用户的键盘激活输入。在1116,方法1100可包括显示接受文本输入的虚拟元素。在1120,方法1100可包括通过确定用户正在注视该虚拟元素来接收键盘激活输入。在1124,键盘激活输入可包括来自用户的音频输入。
[0079] 在1128,响应于接收键盘激活输入,并使用用户的手的实际位置的深度信息,方法1100可包括将全息键盘图像自适应地在表示用户的手的全息手图像下方的虚拟距离处显示在全息环境中的虚拟键盘平面。在1132,方法1100可包括确定用户的手与提供深度信息的捕捉设备隔开初始实际距离。在1136,方法1100可包括确定用户的手移动到与捕捉设备相距经更新的实际距离处。在1140,方法1100可包括响应于确定用户的手移动到与捕捉设备相距经更新的实际距离处,将全息键盘图像维持在表示用户的手的全息手图像下方的大致虚拟距离处。
[0080] 现在参考图11B,在1144,全息手图像的虚拟手平面可与全息键盘图像的虚拟键盘平面形成交互角。在1148,方法1100可包括确定用户的手的初始实际平面以一旋转角度改变到了经更新的实际平面。在1152,响应于确定初始实际平面以旋转角度改变到了经更新的实际平面,方法1100可包括大致维持全息手图像的虚拟手平面与全息键盘图像的虚拟键盘平面之间的交互角。
[0081] 在1156,用户的手的实际位置可在显示全息键盘图像和全息手图像的显示系统的显示视野之外,并且用户的手的实际位置可在提供深度信息的捕捉设备的捕捉视野之内。在1158,方法1100可包括在全息手图像下方的全息键盘图像上显示一个或多个虚拟阴影,以提供全息手图像与全息键盘图像之间的虚拟距离的视觉位置线索。
[0082] 在1162,方法1100可包括确定全息手图像的全息指尖位于全息键盘图像的全息键上方。在1166,响应于确定全息指尖位于全息键上方,方法1100可包括向用户广播一个或多个音频位置线索。在1170,响应于确定全息指尖位于全息键上方,方法1100可包括将全息键动画化以朝着全息指尖向外延伸。
[0083] 现在参考图11C,其中全息手图像的全息指尖与用户的手的物理指尖相对应,在1174,方法1100可包括确定用户的手的物理指尖在按键方向上移动了实际按键距离。在
1178,响应于确定物理指尖在按键方向上移动,方法1100可包括将全息指尖和全息键动画化以朝着全息键盘移动小于实际按键距离的虚拟按键距离来模拟全息键与全息键盘之间的摩擦。
[0084] 将理解,方法1100是以举例方式提供的,并且不旨在为限制性的。因此,可以理解,方法1100可包括相比于图11A、11B和11C中示出的那些步骤更多和/或替代的步骤。并且,可以理解,方法1100可用任何适当的次序执行。而且,可以理解,一个或多个步骤可从方法1100中省略,而不背离本发明的范围。
[0085] 图12示意性示出了可以执行上述方法和过程之中的一个或更多个的计算系统1200的非限制性实施例。计算设备22可以采取计算系统1200的形式。以简化形式示出了计算系统1200。应当理解,可使用基本上任何计算机架构而不背离本公开的范围。在不同的实施例中,计算系统1200可以采取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。如上所述,在一些示例中,计算系统1200可被集成到HMD设备中。
[0086] 如图12所示,计算系统1200包括逻辑子系统1204和存储子系统1208。计算系统1200可以任选地包括显示子系统1212、通信子系统1216、传感器子系统1220、输入子系统
1222和/或图12中未示出的其他子系统和组件。计算系统1200还可包括计算机可读介质,其中该计算机可读介质包括计算机可读存储介质和计算机可读通信介质。计算系统1200还可以任选地包括其他用户输入设备,诸如例如键盘、鼠标、游戏控制器,和/或触摸屏等等。此外,在某些实施例中,此处所述的方法和过程可被实现为计算机应用、计算机服务、计算机API、计算机库,和/或包括一个或多个计算机的计算系统中的其他计算机程序产品。
[0087] 逻辑子系统1204可包括被配置为执行一个或多个指令的一个或多个物理设备。例如,逻辑子系统1204可被配置为执行一个或多个指令,该一个或多个指令是一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造的一部分。可实现这样的指令以执行任务、实现数据类型、变换一个或多个设备的状态、或以其他方式得到所希望的结果。
[0088] 逻辑子系统1204可包括被配置成执行软件指令的一个或多个处理器。附加地或替代地,逻辑子系统可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机器。逻辑子系统的处理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。逻辑子系统可以任选地包括遍布两个或更多设备分布的独立组件,所述设备可远程放置和/或被配置为进行协同处理。该逻辑子系统的一个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问的联网计算设备执行。
[0089] 存储子系统1208可包括被配置为保持可由逻辑子系统1204执行以实现此处所述的方法和过程的数据和/或指令的一个或多个物理持久设备。在实现此类方法和过程时,存储子系统1208的状态可以被变换(例如,以保持不同的数据)。
[0090] 存储子系统1208可以包括可移动介质和/或内置设备。存储子系统1208可包括光学存储设备(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁性存储设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等等。存储子系统1208可包括具有以下特性中的一个或多个特性的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址,以及内容可寻址。
[0091] 在一些实施例中,可以将逻辑子系统1204和存储子系统1208的各方面集成在一个或多个共同设备中,通过该一个或多个共同设备,可以至少部分地实施本文所述的功能。这样的硬件逻辑组件可包括:例如,现场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准产品(PSSP/ASSP)、片上系统(SOC)系统以及复杂可编程逻辑设备(CPLD)。
[0092] 图12还示出以可移动计算机可读存储介质1224形式的存储子系统1208的一方面,该介质可以用于存储可执行以实现此处所述的方法和过程的数据和/或指令。可移动计算机可读存储介质1224尤其是可以采取CD、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘的形式。
[0093] 将明白,存储子系统1208包括一个或多个物理持久设备。相反,在一些实施例中,本文描述的指令的各方面可以按暂态方式通过不由物理设备在至少有限持续时间期间保持的纯信号(例如电磁信号、光信号等)传播。此外,与本公开有关的数据和/或其他形式的信息可以经由计算机可读通信介质通过纯信号来传播。
[0094] 在被包括时,显示子系统1212可用于呈现由存储子系统1208保存的数据的视觉表示。由于以上所描述的方法和过程改变了由存储子系统1208保持的数据,并由此变换了存储子系统的状态,因此同样可以转变显示子系统1212的状态以在视觉上表示底层数据的改变。显示子系统1212可包括利用几乎任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑子系统1204和/或存储子系统1208组合在共享封装中,或此类显示设备可以是外围显示设备。显示子系统1212可包括例如HMD设备54的显示系统64和透明显示器54。
[0095] 在被包括时,通信子系统1216可以被配置成将计算系统1200与一个或多个网络和/或一个或多个其他计算设备可通信地耦合。通信子系统1216可以包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统1216可被配置为经由无线电话网、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,通信子系统可允许计算系统1200经由诸如因特网之类的网络发送消息至其他设备和/或从其他设备接收消息。
[0096] 当被包括时,传感器子系统1220可包括被配置成感测不同的物理现象(例如,可见光、红外光、声音、加速度、取向、位置等)的一个或多个传感器,如上所述。传感器子系统1220例如可以被配置为向逻辑子系统1204提供传感器数据。如上所述,此类数据可包括深度信息、眼睛跟踪信息、图像信息、音频信息、环境光信息、位置信息、运动信息、用户位置信息和/或可被用来执行上述方法和过程的任何其他合适的传感器数据。
[0097] 在被包括时,输入子系统1222可包括一个或多个传感器或用户输入设备(诸如游戏控制器、姿势输入检测设备、语音识别器、惯性测量单元、键盘、鼠标、或触摸屏)或与它们对接。在某些实施例中,输入子系统1222可以包括所选的自然用户输入(NUI)部件或与其结合。这种元件部分可以是集成的或外围的,并且输入动作的转导和/或处理可以在板上或板外被处理。NUI部件的示例可包括用于语言和/或语音识别的话筒;用于机器视觉和/或姿势识别的红外、色彩、立体显示和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速计和/或陀螺仪;以及用于评估脑部活动的电场感测部件。
[0098] 术语“程序”可用于描述被实现来执行一个或多个特定功能的键盘接口系统10的一个方面。在某些情况下,可以经由执行存储子系统1208所保持的指令的逻辑子系统1204来实例化这样的程序。将理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等实例化不同的程序。类似地,相同的模块可由不同的应用、服务、代码块、对象、例程、API、功能等来实例化。术语“程序”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
[0099] 应该理解,此处所述的配置和/或方法在本质上是示例性的,并且这些具体实施例或示例不应被认为是局限性的,因为多个变体是可能的。此处描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。由此,所示出的各个动作可以按所示次序执行、按其他次序执行、并行地执行,或者在某些情况下被省略。同样,上述过程的次序可以改变。
[0100] 本公开的主题包括各种过程、系统和配置以及此处公开的其他特征、功能、动作和/或属性、以及它们的任一和全部等价物的所有新颖且非显而易见的组合和子组合。