混合现实环境中的虚拟用户输入控制的制作方法

文档序号:18706182发布日期:2019-09-17 23:44阅读:260来源:国知局
混合现实环境中的虚拟用户输入控制的制作方法

本申请要求依据35u.s.c.§119(e)的2016年12月5日提交的名称为“universalvisualremote”的美国临时申请no.62/430,308和2016年12月5日提交的名称为“mechanismforavirtualbutton”的美国临时申请no.62/430,279的优先权,其公开内容通过引用整体并入本文。

本公开涉及虚拟现实和增强现实成像以及可视化系统,并且更具体地涉及呈现虚拟用户输入控制和检测与虚拟用户输入控制的交互。



背景技术:

现代计算和显示技术促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中数字再现图像或其部分以它们看起来或可能被感知为真实的方式呈现给用户。虚拟现实或“vr”场景通常涉及呈现数字或虚拟图像信息而对其他实际的真实世界视觉输入不透明;增强现实或“ar”场景通常涉及呈现数字或虚拟图像信息,作为对用户周围的真实世界的可视化的增强;混合现实或“mr”涉及将真实世界和虚拟世界融合,以产生物理和虚拟对象共存并实时交互的新环境。事实证明,人类视觉感知系统非常复杂,并且产生有助于连同其它虚拟或真实世界的图像元素一起的虚拟图像元素的舒适、自然、丰富呈现的ar技术是具有挑战性的。本文公开的系统和方法解决了与ar和vr技术相关的各种挑战。



技术实现要素:

描述了呈现虚拟用户输入控制和检测虚拟输入控制的致动的各种示例。

作为一个示例,可穿戴显示系统可以使用计算机视觉技术自动辨别物理遥控器或该遥控器所服务的装置。可穿戴系统可以生成虚拟遥控器,该虚拟遥控器具有由可穿戴系统的用户可观看的和可交互的虚拟控制面板。虚拟遥控器可以模拟物理遥控器的功能。用户可以例如通过注视或指向父设备或其远程控制控制或者通过从已知装置的菜单中选择来选择虚拟遥控器以进行交互。虚拟遥控器可以包括与物理空间中的体积(volume)相关联的虚拟按钮。可穿戴系统可以通过确定用户身体的一部分(例如,用户的手指)是否已经穿过虚拟按钮相关联的体积来检测虚拟按钮被致动。

此说明书所述主题的一个或多个实施方式的细节在下面的附图和描述中阐述。从描述、附图和权利要求中,其他特征、方面以及优势将变得显而易见。本发明内容和之后的具体实施方式都不旨在限定或限制本发明主题的范围。

附图说明

图1描绘了具有由人观看到的某些虚拟现实对象和某些物理对象的混合现实场景的图示。

图2示意性地示出了可穿戴显示系统的示例。

图3示意性地示出了使用多个深度平面模拟三维图像的方法的方面。

图4示意性地示出了用于将图像信息输出给用户的波导堆叠的示例。

图5示出了可以由波导输出的示例性出射光束。

图6是示出了光学系统的示意图,该光学系统包括波导装置、用于将光光学耦合到波导装置或光学耦合来自波导装置的光的光学耦合器子系统、以及用于产生多焦点体积显示、图像或光场的控制子系统。

图7是可穿戴系统的示例的框图。

图8是呈现与辨别的对象有关的虚拟内容的方法的示例的过程流程图。

图9是可穿戴系统的另一示例的框图。

图10是用于确定到可穿戴系统的用户输入的方法的示例的过程流程图。

图11是用于与虚拟用户界面交互的方法的示例的过程流程图。

图12示出了由增强现实装置的用户所感知的物理环境的示例。

图13示出了使用手部姿势初始化与虚拟遥控器相关联的选择事件的示例。

图14示出了在选择事件期间致动虚拟遥控器的示例。

图15示出了在满足阈值条件的情况下自动隐藏虚拟遥控器或终止选择事件的示例。

图16示出了呈现虚拟遥控器的示例过程。

图17示出了检测用户按压虚拟按钮的动作的示例。

图18示出了用户通过上下滑动虚拟按钮来致动虚拟按钮的示例。

图19示出了用户致动虚拟触摸表面的示例。

图20示出了用于使用混合现实用户界面中的虚拟元件初始化交互事件的示例过程。

在整个附图中,可以重复使用附图标记来指示所引用的元件之间的对应关系。提供附图是为了说明本文描述的示例实施例,而不是为了限制本公开的范围。

具体实施方式

概述

可以通过远程控制操作许多装置(也称为父设备),例如电视、音频系统、家庭影院、家庭安全系统、门铃或门锁、空调或加热器、恒温器、照明系统(例如,智能灯泡)、车库门开启器或其他家用电器或智能装置。远程控制可以是包括小型手持装置的物理遥控器。物理遥控器可以包括允许父设备的用户从远处执行装置的基本功能的按钮(或触摸表面)。物理遥控器可以使用各种无线通道与父设备通信,各种无线通道例如红外(ir)信号或诸如蓝牙、wi-fi等的射频(rf)信号。物理遥控器和父设备之间的通信可以由一个或多个例如由红外数据协会(irda)或电气与电子工程师协会(ieee)创建的行业标准或协议管理。

随着时间的推移,家用电器及其相应遥控器的数量在消费者家中增长。越来越多的装置(例如,连接到物联网的装置)经由远程控制连接到网络并且从网络是可控制的。这种情况导致通用远程控制装置的引入,该远程控制装置可以被编程为模拟由为不同装置积累的遥控器中的一些甚至全部生成的信号。通用远程控制装置可以是智能手机或平板电脑的一部分。例如,与适合于模拟的物理遥控器的控制界面结合,智能手机可以使用软件来模拟物理遥控器并生成ir信号。

然而,在增强现实(ar)或混合现实(mr)环境中,在物理装置(诸如智能电话或平板电脑)上模拟物理遥控器可能是不切实际的,因为头戴式装置(hmd)可能具有小的视场并且用户可能需要将通用远程控制装置保持在不舒服的位置以与父设备交互。另外,ar/mr环境中的用户还可以使用身体姿势和手势与对象交互,因此可能不需要单独的物理装置作为通用远程控制。

本文描述的系统和方法至少部分地针对这些挑战。例如,可穿戴系统可以使用计算机视觉技术自动辨别遥控器所服务的物理遥控器或父设备。此外,可穿戴系统可以生成具有控制面板的虚拟遥控器,该控制面板由可穿戴系统的用户可观看的和可交互的。用户可以使用身体姿势或眼睛注视来识别父设备或物理遥控器(例如,通过注视或指向父设备或物理遥控器)。在检测到身体姿势或眼睛注视时,可穿戴系统可以调出相关联的虚拟遥控器。用户还可以从已知装置的菜单中选择虚拟遥控器。

虚拟遥控器可以在其控制面板上包括一个或多个虚拟元件。虚拟元件可以包括虚拟按钮、虚拟滑块、虚拟切换或虚拟触摸表面。与物理遥控器或用户输入装置不同,虚拟遥控器不具有用户控制元件(例如,按钮或触摸表面),使得用户控制元件的致动可以直接触发将电信号从物理遥控器或用户输入装置发送到相关联的计算装置。有利地,在一些实施例中,为了检测用户已经致动虚拟元件,可穿戴系统可以检测用户身体的一部分是否已经与虚拟元件的激活表面相交。可穿戴系统可以基于用户的移动来计算激活表面的移动。例如,激活表面的移动的速度和位移可以是用于虚拟地触摸按钮的用户手指的移动的一部分。当激活表面到达某个阈值位置时,可穿戴系统可以初始化交互事件,在该交互事件中,可穿戴系统生成指示用户已激活虚拟元件的信号。例如,当激活表面的位移已经超过阈值条件时,可穿戴系统可以确定用户已按压虚拟按钮。当用户缩回他的手指时,可穿戴系统可以将激活表面移回其原始位置(在用户交互之前)。当激活表面向后移动足够远时(例如超过另一阈值位置),可穿戴系统可以生成与释放虚拟按钮相关联的另一交互事件。

可穿戴系统的3d显示的示例

可穿戴系统(本文也称为增强现实(ar)系统)可以被配置为向用户呈现2d或3d虚拟图像。图像可以是静止图像、视频的帧或视频以及其组合等。可穿戴系统可以包括可穿戴装置,该可穿戴装置可以单独或组合地呈现vr、ar或mr环境以用于用户交互。可穿戴装置可以是可互换地用作ar装置(ard)的头戴式装置(hmd)。此外,为了本公开的目的,术语“ar”可与术语“mr”交换地使用。

图1描绘了具有某些虚拟现实对象以及由人观看的某些物理对象的混合现实场景的示例。在图1中,描绘了mr场景100,其中mr技术的用户看到以人、树木、背景中的建筑物和混凝土平台120为特征的真实世界公园状设置110。除了这些项目之外,mr技术的用户同样感知到他“看到”站在真实世界平台120上的机器人雕像130,以及飞过的卡通式化身角色140,该化身角色140看起来是大黄蜂的化身,即使这些元素在真实世界中不存在。

为了使3d显示产生真实的深度感,更具体地,产生模拟的表面深度感,可能期望显示器视场中的每个点产生与其虚拟深度对应的适应(accommodative)响应。如果对显示点的适应响应未与该点的虚拟深度对应,如通过会聚和立体视觉的双目深度提示所确定的,则人眼可能经历适应冲突,导致不稳定的成像、有害的眼睛疲劳、头痛,以及在缺乏适应信息的情况下,几乎完全缺少表面深度。

vr、ar和mr体验可以由具有显示器的显示系统提供,在显示器中,与多个深度平面对应的图像被提供给观看者。对于每个深度平面,图像可以是不同的(例如,提供场景或对象的略微不同的呈现),并且该图像可以由观看者的眼睛单独聚焦,从而有助于基于需要被聚焦到位于不同深度平面上的场景的不同图像特征的眼睛的适应或基于观察离焦的不同深度平面上的不同图像特征,为用户提供深度提示。如本文其他地方所讨论的,这种深度提示提供了可靠的深度感知。

图2示出了可穿戴系统200的示例。显示系统200包括显示器62、以及支持该显示器220的功能的各种机械和电子模块和系统。显示器220可以与框架230耦接,该框架可以由用户、佩戴者或观看者210佩戴。可以将显示器220定位在用户210的眼睛前方。显示器220可以向用户呈现ar/vr/mr内容。显示器220可以包括佩戴在用户的头部上的头戴式显示器。在一些实施例中,扬声器240被耦接到框架230并且位于用户的耳道附近(在一些实施例中,另一扬声器(未示出)位于用户的另一耳道附近以提供立体声/可塑形声音控制)。显示器220可以包括音频传感器(例如,麦克风),用于检测来自环境的音频流,其中语音识别要在该环境上执行。

可穿戴系统200可以包括观察用户周围的环境中的世界的面向外的成像系统464(如图4所示)。可穿戴系统200还可以包括能够跟踪用户的眼睛运动的面向内的成像系统462(如图4所示)。面向内的成像系统可以跟踪一只眼睛的运动或两只眼睛的运动。面向内的成像系统462可以附到框架230并且可以与处理模块260或270电通信,处理模块260或270可以处理由面向内的成像系统获取的图像信息以确定例如眼睛的瞳孔直径或取向、用户210的眼睛运动或眼睛姿势。

作为示例,可穿戴系统200可以使用面向外的成像系统464或面向内的成像系统462来获取用户姿势的图像。图像可以是静止图像、视频的帧或视频以及其组合等。

可穿戴系统200还可以包括传感器232,传感器232被配置为与物理装置(诸如电视、空调或其他家用电器)通信。例如,可穿戴系统200可以用作用于控制物理装置的虚拟遥控器。传感器232可以是可由本地处理和数据模块270控制的红外光源。传感器232还可以发射其他光信号或电磁信号以与物理装置通信。传感器232和物理装置之间的通信可以符合一个或多个行业标准。例如,在传感器232被配置为发射红外信号的情况下,传感器232和物理装置之间的通信可以根据红外数据协会(irda)设计的协议。传感器232可以位于眼镜的镜腿(例如耳塞)、可穿戴系统200的鼻垫或者头戴式显示器上的其他位置上或远离头戴式显示器的其他位置上(例如,位于腰包上)。尽管图2中的示例仅示出了一个传感器232,在一些实施例中,显示系统可以与多个传感器232相关联。

显示器220可以可操作地(诸如通过有线引线或无线连接)被耦接250到本地数据处理和模块260,本地数据处理和模块260可以以各种配置安装,诸如被固定地附到框架230上、被固定地附到由用户佩戴的头盔或帽子上、被嵌入头戴耳机内、或者其它的可拆卸地附到用户210(例如,以背包式配置、以带耦接式配置)。

本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,这两者都可用于辅助处理、高速缓存和存储数据。该数据可以包括:a)从传感器(其例如可以可操作地耦接到框架230或者以其它方式可操作地附到用户210)捕捉的数据,所述传感器例如为图像捕捉装置(例如,面向内的成像系统或面向外的成像系统中的相机)、音频传感器(例如,麦克风)、惯性测量单元(imu)、加速度计、罗盘、全球定位系统(gps)单元、无线电设备或陀螺仪;或b)使用远程处理模块270或远程数据储存库280获取和/或处理的数据,这些数据可以在这样的处理或检索之后被传送到显示器220。本地处理和数据模块260可以诸如经由有线或无线通信链路可操作地通过通信链路262或264耦接到远程处理模块270或远程数据储存库280,使得这些远程模块可用作本地处理和数据模块260的资源。此外,远程处理模块280和远程数据储存库280可以可操作地彼此耦接。

在一些实施例中,远程处理模块270可以包括一个或多个处理器,这些硬件处理器被配置为分析和处理数据或图像信息。在一些实施例中,远程数据储存库280可以包括数字数据存储设施,该设施可以通过因特网或“云”资源配置中的其它网络配置而可用。在一些实施例中,在本地处理和数据模块中存储所有数据并且执行所有计算,从而允许从远程模块完全自主的使用。

人类视觉系统是复杂的并且提供对深度的真实感知是具有挑战性的。不受理论的限制,据信对象的观看者可能由于聚散和适应的组合而将对象感知为三维的。两只眼睛相对于彼此的聚散运动(即,瞳孔向着彼此或远离彼此以会聚眼睛的视线来注视对象的转动动作)与眼睛的晶状体的聚焦(或“适应”)紧密相关。在正常情况下,改变眼睛的晶状体的聚焦或者使眼睛适应以将聚焦从一个对象改变到位于不同距离处的另一对象,将会在被称为“适应-聚散度反射(accommodation-vergencereflex)”的关系下自动导致到相同距离的聚散度的匹配变化。同样,在正常情况下,聚散度的变化将引发适应的匹配变化。提供适应与聚散度之间的更好匹配的显示系统可以形成更逼真和更舒适的三维图像模拟。

图3示出了使用多个深度平面模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和304的不同距离处的对象由眼睛302和304适应,以使得那些对象对焦(infocus)。眼睛302和304呈现特定的适应状态,以使沿着z轴的不同距离处的对象进入焦点。因此,可以说特定的适应状态与深度平面306中的特定一个深度平面相关联,该特定深度平面具有相关联的焦距,以使得当眼睛处于该深度平面的适应状态时,特定深度平面中的对象或对象的部分对焦。在一些实施例中,可以通过为眼睛302和304中的每一者提供图像的不同呈现来模拟三维图像,并且还可以通过提供与深度平面中每一个深度平面对应的图像的不同呈现来模拟三维图像。尽管为了清楚说明而示出为分离的,但应理解的是,例如,随着沿着z轴的距离增加,眼睛302和304的视场可以重叠。另外,虽然为了便于说明而示出为平坦的,但应理解的是,深度平面的外形可以在物理空间中是弯曲的,使得深度平面中的所有特征在特定的适应状态下与眼睛对焦。不受理论的限制,据信人类眼睛通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面对应的图像的不同呈现,可以实现高度可信的感知深度模拟。

波导堆叠组件

图4示出了用于向用户输出图像信息的波导堆叠的示例。可穿戴系统400包括可以用于采用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知的波导堆叠或堆叠波导组件480。在一些实施例中,可穿戴系统400可对应于图2的可穿戴系统200,其中图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以集成到图2的显示器220。

继续参考图4,波导组件480可以还包括位于波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其他实施例中,特征458、456、454、452可以不是透镜。然而,它们可以简单地是隔离物(例如,用于形成气隙的覆层或结构)。

波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散向眼睛发送图像信息。每个波导级别可以与特定的深度平面相关联,并且可以被配置为输出与该深度平面对应的图像信息。图像注入装置420、422、424、426、428可以用于将图像信息注入到波导440b、438b、436b、434b、432b中,其中的每个波导可以被配置为分配入射光穿过每个相应的波导,用于向眼睛410输出。光离开图像注入装置420、422、424、426、428的输出表面并被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如,准直光束)注入到每个波导中,以便以与特定波导相关联的深度平面对应的特定角度(和发散量)输出朝向眼睛410定向的克隆准直光束的整个视场。

在一些实施例中,图像注入装置420、422、424、426、428是分立的显示器,每个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装置420、422、424、426、428是单个复用显示器的输出端,其可以例如经由一个或多个光导管(诸如,光纤线缆)向图像注入装置420、422、424、426、428中的每一个图像注入装置用管输送图像信息。

控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。在一些实施例中,控制器460包括编程(例如,非暂时性计算机可读介质中的指令),该编程调整图像信息到波导440b、438b、436b、434b、432b的定时和提供。在一些实施例中,控制器460可以是单个整体装置,或者是通过有线或无线通信通道连接的分布式系统。在一些实施例中,控制器460可以是处理模块260或270(在图2中示出)的部分。

波导440b、438b、436b、434b、432b可以被配置为通过全内反射(tir)在每个相应的波导内传播光。波导440b、438b、436b、434b、432b可以各自是平面的或具有其它形状(例如,曲面的),其具有顶部主表面和底部主表面以及在这些顶部主表面与底部主表面之间延伸的边缘。在所示的配置中,波导440b、438b、436b、434b、432b可以各自包括光提取光学元件440a、438a、436a、434a、432a,这些耦出光学元件被配置为通过将每一个相应波导内传播的光重定向到波导外而将光提取到波导外,以向眼睛410输出图像信息。所提取的光也可以被称为耦出光,并且光提取光学元件也可以被称为耦出光学元件。所提取的光束在波导中传播的光照射到光重定向元件。光提取光学元件(440a、438a、436a、434a、432a)可以例如为反射或衍射光学特征。虽然为了便于描述和清晰绘图起见而将其图示为设置在波导440b、438b、436b、434b、432b的底部主表面处,但是在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以设置在顶部和/或底部主表面处和/或可以直接设置在波导440b、438b、436b、434b、432b的体积中。在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以形成在被附接到透明基板的材料层中以形成波导440b、438b、436b、434b、432b。在一些其它实施例中,波导440b、438b、436b、434b、432b可以是单片材料,并且光提取光学元件440a、438a、436a、434a、432a可以形成在该片材料的表面上或该片材料的内部中。

继续参考图4,如本文所讨论的,每个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定深度平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一个上行波导434b可以被配置为将穿过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发送出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自下一个上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处更靠近向内朝向眼睛410。类似地,第三上行波导436b使其输出光在到达眼睛410之前穿过第一透镜452和第二透镜454;第一和第二透镜452和454的组合光焦度(opticalpower)可被配置为产生另一增量的波前曲率,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自下一个上行波导434b的光更靠近向内朝向人。

其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的所有透镜发送其输出,用于代表最靠近人的焦平面的聚合焦度(aggregatefocalpower)。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的聚合焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电活性的)。在一些替代实施例中,两者之一或两者都可以是使用电活性特征而是动态的。

继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向到它们相应的波导之外并且针对与该波导相关联的特定深度平面输出具有适当的发散量或准直量的该光。结果,具有不同相关联深度平面的波导可具有不同的光提取光学元件的配置,这些耦出光学元件依赖于相关联的深度平面而输出具有不同发散量的光。在一些实施例中,如本文所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图和/或衍射光栅。诸如衍射光栅的光提取光学元件在2015年6月25日公开的美国专利公开no.2015/0178939中有所描述,该专利公开的全部内容通过引用合并于此。

在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案的衍射特征或者是“衍射光学元件”(在此也称为“doe”)。优选地,doe具有相对低的衍射效率,以使得光束的仅一部分光通过doe的每一个交点而偏转向眼睛410,而其余部分经由全内反射而继续移动通过波导。携带图像信息的光可以因此被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且结果是对于在波导内反弹的该特定准直光束朝向眼睛304的相当均匀图案的出射发射。

在一些实施例中,一个或多个doe可以在它们活跃地衍射的“开”状态与它们不显著衍射的“关”状态之间可切换。例如,可切换的doe可以包括聚合物分散液晶层,其中微滴在主体介质中包含衍射图案,并且微滴的折射率可以被切换为基本上匹配主体材料的折射率(在这种情况下,图案不会明显地衍射入射光),或者微滴可以被切换为与主体介质的折射率不匹配的折射率(在这种情况下,该图案活跃地衍射入射光)。

在一些实施例中,深度平面或景深的数量和分布可以基于观看者的眼睛的瞳孔尺寸或取向而动态地改变。景深可以与观看者的瞳孔尺寸成反比地改变。结果,随着观看者眼睛的瞳孔的尺寸减小,景深增加使得一个平面不可辨别,因为该平面的位置超出眼睛的焦深,随着瞳孔尺寸的减少和相应的景深增加,该平面可能变得可辨别并且看起来更加对焦。同样地,用于向观看者呈现不同图像的间隔开的深度平面的数量可以随着瞳孔尺寸的减小而减小。例如,在不调节眼睛离开一个深度平面且到另一个深度平面的适应的情况下,观看者可能无法以一个瞳孔尺寸清楚地感知第一深度平面和第二深度平面的细节。然而,这两个深度平面可以在不改变适应的情况下以另一瞳孔尺寸同时充分地对焦于用户。

在一些实施例中,显示系统可以基于瞳孔尺寸或取向的确定或者在接收到指示特定瞳孔尺寸或取向的电信号之后,改变接收图像信息的波导的数量。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460(其可以是本地处理和数据模块260的实施例)可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减少系统上的处理负担,从而增加系统的响应性。在用于波导的doe可在接通和断开状态之间切换的实施例中,当波导确实接收图像信息时,doe可以切换到断开状态。

在一些实施例中,可以期望使出射光束满足直径小于观看者眼睛直径的条件。然而,考虑到观看者瞳孔尺寸的变化,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者瞳孔的尺寸的确定而改变出射光束的尺寸,在宽范围的瞳孔尺寸上满足该条件。例如,随着瞳孔尺寸减小,出射光束的尺寸也可能减小。在一些实施例中,可以使用可变孔径来改变出射光束尺寸。

可穿戴系统400可包括对世界470的一部分成像的面向外的成像系统464(例如,数码相机)。世界470的该部分可被称为世界相机的视场(fov),并且成像系统464有时被称为fov相机。可供观看者观看或成像的整个区域可被称为注视场(fieldofregard)(for)。for可以包括围绕可穿戴系统400的立体角的4π球面度(steradian),因为佩戴者可以移动他的身体、头部或眼睛以基本上感知空间中的任何方向。在其他背景下,佩戴者的运动可能更加狭窄,因此佩戴者的for可以对着较小的立体角。从面向外的成像系统464获得的图像可用于跟踪用户做出的手势(例如,手部或手指手势)、检测用户前方的世界470中的对象等等。

可穿戴系统400还可包括面向内的成像系统466(例如,数码相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内的成像系统466可用于捕捉眼睛410的图像以确定眼睛410的瞳孔的尺寸和/或取向。面向内的成像系统466可用于获得用于确定用户正在看的方向的图像(例如,眼睛姿势)或用于用户的生物识别的图像(例如,经由虹膜识别)。在一些实施例中,每只眼睛可以利用至少一个相机,以分别单独地确定每只眼睛的瞳孔尺寸和眼睛姿势,从而允许向每只眼睛呈现图像信息以动态地为该眼睛设计。在一些其他实施例中,仅确定单个眼睛410的瞳孔直径或取向(例如,每对眼睛仅使用单个相机)并且假设用户的双眼是类似的。可以分析由面向内的成像系统466获得的图像以确定用户的眼睛姿势或情绪,这可以被可穿戴系统400使用来决定应该向用户呈现哪个音频或视觉内容。可穿戴系统400还可以使用诸如imu、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部取向)。

可穿戴系统400可以包括用户输入装置466,用户可以通过该用户输入装置466向控制器460输入命令以与系统400交互。例如,用户输入装置466可以包括轨迹垫(trackpad)、触摸屏、操纵杆、多自由度(dof)控制器、电容感应装置、游戏控制器、键盘、鼠标、方向垫(d-pad)、棒(wand)、触觉装置、图腾(totem)(例如,用作虚拟用户输入装置)等等。多dof控制器可以感测控制器的一些或全部可能的平移(例如,左/右、前/后或上/下)或旋转(例如,偏航(yaw)、俯仰(pitch)或滚转(roll))中的用户输入。支持平移运动的多dof控制器可以被称为3dof,而支持平移和旋转的多dof控制器可以被称为6dof。在一些情况下,用户可以使用手指(例如,拇指)在触控敏感输入装置上按压或滑动以向可穿戴系统400提供输入(例如,向可穿戴系统400提供的用户界面提供用户输入)。在使用可穿戴系统400期间,用户输入装置466可以由用户的手握持。用户输入装置466可以与可穿戴系统400进行有线或无线通信。

图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过tir在波导432b内传播。在光5200照射在doe432a上的点处,一部分光离开波导作为出射光束510。出射光束510被示出为基本上平行,但是依赖于与波导432b相关联的深度平面,出射光束510也可以以一角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解,基本上平行的出射光束可以指示具有光提取光学元件的波导,所述耦出光学元件将光耦出以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410适应更近距离以将其聚焦在视网膜上并且将被大脑解释为来自比光学无穷远更接近眼睛410的距离的光。

图6是示出光学系统的示意图,该光学系统包括波导装置、将光光学耦合到波导装置或光学耦合来自波导装置的光的光学耦合器子系统以及控制子系统,用于产生多焦点体积显示、图像或光场。光学系统可以包括波导装置、将光光学耦合到波导装置或光学耦合来自波导装置的光的光学耦合器子系统以及控制子系统。光学系统可用于产生多焦点体积、图像或光场。光学系统可以包括一个或多个主平面波导632a(图6中仅示出一个)和与至少一些主波导632a中的每一个相关联的一个或多个doe632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。光学系统可采用分布波导装置,以沿第一轴(图6的视图中的垂直或y轴)中继(relay)光并沿第一轴(例如,y轴)扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个doe622a(由双点划线示出)。分布平面波导3在至少一些方面可以与主平面波导1相似或相同,具有与其不同的取向。同样地,所述至少一个doe622a在至少一些方面可以与doe632a相似或相同。例如,分布平面波导622b或doe622a可以分别由与主平面波导632b或doe632a相同的材料构成。图6所示的光学显示系统600的实施例可以集成到图2所示的可穿戴系统200中。

中继和出射光瞳扩展光可以被从分布波导装置光学耦合到一个或多个主平面波导632b中。主平面波导632b可以沿第二轴中继光,该第二轴优选地与第一轴正交,(例如,考虑图6的水平或x轴)。值得注意的是,第二轴可以是与第一轴的非正交轴。主平面波导632b沿着第二轴(例如,x轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿垂直或y轴中继和扩展光,并将该光传递到可以沿水平或x轴中继和扩展光的主平面波导632b。

光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,其可以光学耦合到单模光纤640的近端。光纤640的远端可以通过压电材料的中空管642穿过或接收。远端作为固定的自由柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以镀在管642的外部、外表面或外周或直径上。芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。

例如经由导线660电耦合的驱动电子器件650驱动相对的电极对以独立地在两个轴上弯曲压电管642。光纤644的突出远端尖端具有机械共振模式。共振频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械共振模式附近振动压电管642,可以使光纤悬臂644振动,并且可以扫过(sweep)大的偏转(deflection)。

通过在两个轴上刺激共振,在面积填充二维(2d)扫描中双轴扫描光纤悬臂644的尖端。通过与光纤悬臂644的扫描同步地调制光源610的强度,从光纤悬臂644出射的光可以形成图像。在美国专利公开no.2014/0003762中提供了对这种设置的描述,该公开的全部内容通过引用合并于此。

耦合器子系统的部件可以使从扫描光纤悬臂644射出的光准直。准直光可以被镜面648反射到包含至少一个衍射光学元件(doe)622a的窄分布平面波导622b中。准直光可以通过tir沿着分布平面波导622b垂直地(相对于图6的视图)传播,由此与doe622a重复交叉。doe622a优选地具有低衍射效率。这导致光的部分(例如,10%)在与doe622a的每个交叉点处朝向较大的主平面波导632b的边缘衍射,并且光的部分经由tir继续在其原始轨迹上向下行进分布平面波导622b的长度。

在与doe622a的每个交叉点处,附加光可以朝向主波导632b的入口衍射。通过将入射光分成多个耦出(outcouple)组,光的出射光瞳可以在分布平面波导622b中被doe622a垂直扩展。这种从分布平面波导622b耦出的垂直扩展的光可以进入主平面波导632b的边缘。

进入主波导632b的光可以经由tir沿着主波导632b水平传播(相对于图6的视图)。由于光在多个点处与doe632a相交,它经由tir沿着主波导632b的至少部分长度水平传播。doe632a可以有利地被设计或被配置为具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。doe632a可以有利地具有低衍射效率(例如,10%),使得在doe632a的每个交叉点处光束的仅部分光朝向视图的眼睛偏转,而其余的光继续经由tir传播通过主波导632b。

在传播光和doe632a之间的每个交叉点处,部分光朝向允许光从tir逸出的主波导632b的相邻面衍射,并从主波导632b的面出射。在一些实施例中,doe632a的径向对称衍射图案另外赋予衍射光的聚焦水平,使单个光束的光波前成形(例如,赋予曲率)以及以与设计的聚焦水平相匹配的角度操纵光束。

因此,这些不同的路径可以使光通过多个doe632a从主平面波导632b耦出,所述多个doe632a具有不同的角度、聚焦水平或在出射光瞳处产生不同的填充图案。出射光瞳处的不同填充图案可以有利地用于创建具有多个深度平面的光场显示。波导组件中的每个层或堆叠中的一组层(例如,3层)可用于产生相应的颜色(例如,红色、蓝色、绿色)。由此,例如,可以采用第一组三个相邻层在第一焦深处分别产生红色、蓝色和绿色光。可以采用第二组三个相邻层在第二焦深处分别产生红色、蓝色和绿色光。可以采用多个组来生成具有各种焦深的全3d或4d彩色图像光场。

可穿戴系统的其他组件

在许多实施方式中,可穿戴系统可以包括除上述可穿戴系统的组件之外或作为其替代的其他组件。可穿戴系统可以例如包括一个或多个触觉装置或组件。触觉装置或组件可用于向用户提供触感。例如,当触摸虚拟内容(例如,虚拟对象、虚拟工具、其他虚拟构造)时,触觉装置或组件可以提供压力或纹理的触感。触感可以复制虚拟对象所代表的物理对象的感觉或者可以复制虚拟内容所代表的想象的对象或角色(例如,龙)的感觉。在一些实施方式中,用户可以佩戴触觉装置或组件(例如,用户可穿戴的手套)。在一些实施方式中,触觉装置或组件可以由用户持有。

可穿戴系统可以例如包括一个或多个物理对象,这些物理对象可由用户操纵以允许与可穿戴系统的输入或交互。这些物理对象在此可以称为图腾。一些图腾可以采用无生命对象的形式,诸如例如,一件金属或塑料、墙壁、桌子的表面。在某些实施方式中,图腾实际上可能不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以仅提供物理表面,并且可穿戴系统可以呈现用户界面,以使用户看起来在图腾的一个或多个表面上。例如,可穿戴系统可以使计算机键盘和触控板的图像呈现为看起来位于图腾的一个或多个表面上。例如,可穿戴系统可以使虚拟计算机键盘和虚拟触控板呈现为看起来在用作图腾的矩形薄铝板的表面上。该矩形板本身没有任何物理键或触控板或传感器。然而,由于经由虚拟键盘和/或虚拟触控板进行选择或输入,因此可穿戴系统可以借助该矩形板检测到用户操纵或交互或触摸。用户输入装置466(图4中所示)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器或其他物理输入装置。用户可以单独或与姿势组合使用图腾来与可穿戴系统或其他用户交互。

在美国专利公开no.2015/0016777中描述了可与本公开的可穿戴装置、hmd和显示系统一起使用的触觉装置和图腾的示例,其全部内容通过引用并入此文。

示例可穿戴系统、环境和界面

可穿戴系统可以采用各种映射相关技术,以便在呈现的光场中实现高景深。在映射出虚拟世界时,了解真实世界中的所有特征和点以准确地描绘与真实世界相关的虚拟对象是有利的。为此,通过包括传送关于真实世界的各种点和特征的信息的新图片,可以将从可穿戴系统的用户捕捉的fov图像添加到世界模型。例如,可穿戴系统可以收集映射点的组(诸如2d点或3d点)并找到新的映射点以呈现世界模型的更准确的版本。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传送给第二用户,使得第二用户可以体验第一用户周围的世界。

图7是mr环境700的示例的框图。mr环境700可以被配置为接收来自一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或固定室内系统(例如,室内相机等)的输入(例如,来自用户的可穿戴系统的视觉输入702、诸如室内相机的固定输入704、来自各种传感器的感觉输入706、手势(gesture)、图腾、眼睛跟踪、来自用户输入装置466的用户输入等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、运动传感器、深度传感器、gps传感器、面向内的成像系统、面向外的成像系统等)来确定用户的环境的位置和各种其他属性。该信息可以进一步被补充有来自室内中的固定相机的信息,其可以从不同的视点提供图像或各种提示。由相机(诸如室内相机和/或面向外的成像系统的相机)获取的图像数据可以被减少(reduce)为映射点的组。

一个或多个对象辨别器708可以爬行通过所接收的数据(例如,点的集合)并且在映射数据库710的帮助下辨别或映射点、标记图像、将语义信息附到对象。映射数据库710可以包括随时间收集的各种点及其对应的对象。各种装置和映射数据库可以通过网络(例如,lan、wan等)彼此连接以访问云。

基于该信息和映射数据库中的点的集合,对象辨别器708a至708n可以辨别环境中的对象。例如,对象辨别器可以辨别面部、人、窗、墙、用户输入装置、电视、文件(例如,本文安全性示例中描述的旅行票、驾驶执照、护照)、用户环境中的其他对象等。一个或多个对象辨别器可以专用于具有某些特性的对象。例如,对象辨别器708a可以用于辨别面部,而另一个对象辨别器可以用于辨别文件。

可以使用各种计算机视觉技术来执行对象辨别。例如,可穿戴系统可以分析由面向外的成像系统464(图4中所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象辨别(例如,人或文件)、对象姿势估计、面部辨别(例如,来自环境中的人或文件上的图像)、学习、索引、运动估计或图像分析(例如,识别文件内的记号(indicia),诸如照片、签名、身份证明信息、旅行信息等)等等。可以使用一个或多个计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:标度(scale)不变特征变换(sift)、加速稳健(robust)特征(surf)、定向(orient)fast和旋转(rotate)brief(orb)、二进制稳健不变可缩放关键点(brisk)、快速视网膜关键点(freak)、viola-jones算法、eigenfaces方法、lucas-kanade算法、horn-schunk算法、mean-shift算法、视觉同步定位和映射(vslam)技术、序贯(sequential)贝叶斯估计器(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、束调整、自适应阈值(和其他阈值技术)、迭代最近点(icp)、半全局匹配(sgm)、半全局块匹配(sgbm)、特征点直方图、各种机器学习算法(诸如,支持矢量机、k-最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)、或其他有监督/无监督模型等)等等。

附加地或可选地,对象辨别可以通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由hmd存储。机器学习算法的一些示例可以包括监督或非监督机器学习算法,其包括回归算法(例如,普通最小二乘回归)、基于实例的算法(例如,学习矢量量化)、决策树算法(例如,分类和回归树)、贝叶斯算法(例如,朴素贝叶斯)、聚类算法(例如,k均值聚类)、关联规则学习算法(例如,先验(a-priori)算法)、人工神经网络算法(例如,感知器)、深度学习算法(例如,深度玻尔兹曼机或深度神经网络)、维数减少算法(例如,主成分分析)、集成算法(例如,层叠泛化)和/或其他机器学习算法。在一些实施例中,可以针对各个数据组定制各个模型。例如,可穿戴装置可以产生或存储基础模型。基本模型可以用作起点以产生特定于数据类型(例如,遥现会话中的特定用户)、数据组(例如,遥现会话中的用户的获得的附加图像的组)、条件情况或其他变体的附加模型。在一些实施例中,可穿戴hmd可以被配置为利用多种技术来产生用于分析聚合数据的模型。其他技术可包括使用预限定的阈值或数据值。

基于该信息和映射数据库中的点的集合,对象辨别器708a至708n可以辨别对象并用语义信息补充对象以赋予对象生命。例如,如果对象辨别器将点的组辨别为门,则系统可以附加一些语义信息(例如,门具有铰链并且具有围绕铰链的90度运动)。如果对象辨别器将点的组辨别为镜子,则系统可以附加该镜子具有可以反射室内对象的图像的反射表面的语义信息。语义信息可以包括如本文所述的对象的可供性。例如,语义信息可以包括对象的法线。系统可以分配一个矢量,该矢量的方向指示对象的法线。随着时间的推移,映射数据库随着系统(可以驻留在本地或可以通过无线网络访问)累积来自世界的更多数据而增长。一旦辨别出对象,就可以将信息发送到一个或多个可穿戴系统。例如,mr环境700可以包括关于在加利福尼亚发生的场景的信息。环境700可以被发送到纽约的一个或多个用户。基于从fov相机和其他输入接收的数据,对象辨别器和其他软件组件可以映射从各种图像收集的点、辨别对象等,使得场景可以被准确地“传递”给可能位于世界的不同地方的第二用户。环境700也可以使用拓扑图来用于本地化的目的。

图8是呈现与辨别的对象相关的虚拟内容的方法800的示例的过程流程图。方法800描述了如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离场景。例如,用户可能位于纽约,但可能想要查看当前正在加利福尼亚进行的场景或者可能想要与居住在加利福尼亚的朋友一起散步。

在框810处,可穿戴系统可以从用户和其他用户接收关于用户的环境的输入。这可以通过各种输入装置和映射数据库中已经拥有的知识来实现。在框810处,用户的fov相机、传感器、gps、眼睛跟踪等将信息传送给系统。在框820处,系统可以基于该信息确定稀疏点。稀疏点可以用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手部姿势),以可用于显示和理解用户周围环境中各种对象的取向和位置。在框830处,对象辨别器708a-708n可以爬行通过这些收集的点并使用映射数据库辨别一个或多个对象。然后,在框840处,可以将该信息传送给用户的个人可穿戴系统,以及在框850处,可以相应地将期望的虚拟场景显示给用户。例如,可以相对于各种对象和纽约的用户的其他周围环境以适当的取向、位置等显示期望的虚拟场景(例如,ca中的用户)。

图9是可穿戴系统的另一示例的框图。在该示例中,可穿戴系统900包括映射,该映射可以包括关于世界的映射数据。该映射可以部分地本地驻留在可穿戴系统上,并且可以部分地驻留在可由有线或无线网络访问的网络存储位置(例如,在云系统中)。姿势过程910可以在可穿戴计算架构(例如,处理模块260或控制器460)上执行,并利用来自映射的数据以确定可穿戴计算硬件或用户的位置和取向。可以从用户正在体验系统并在世界中操作时即时收集的数据中计算姿势数据。数据可以包括图像、来自传感器(诸如惯性测量单元,其通常包括加速度计和陀螺仪组件)的数据和与真实或虚拟环境中的对象相关的表面信息。

稀疏点表示可以是同时定位和映射(例如,slam或vslam,指的是其中输入仅是图像/视觉的配置)过程的输出。该系统可以被配置为不仅可以找出世界上各种组件的位置,而且还可以找出世界由什么组成。姿势可以是实现许多目标的构建块,包括填充(populate)映射和使用映射中的数据。

在一个实施例中,稀疏点位置本身可能不完全足够,并且可能需要进一步的信息来产生多焦点ar、vr或mr体验。通常表示为深度映射信息的密集表示可以用于至少部分地填充该间隙。可以从称为立体940的过程计算这样的信息,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和活动(active)图案(pattern)(诸如使用活动投影仪创建的红外图案)可以用作立体过程940的输入。可以将大量深度映射信息融合在一起,并且可以用表面表示来概括其中的一些。例如,数学上可限定的表面可以是有效的(例如,相对于大点云)并且可以是对诸如游戏引擎的其他处理装置的可消化的输入。因此,立体过程的输出(例如,深度映射)940可以在融合过程930中组合。姿势950也可以是该融合过程930的输入,并且融合930的输出成为填充映射过程920的输入。子表面可以彼此连接,诸如在地形映射中,以形成更大的表面,并且映射变成点和表面的大混合。

为了解决(resolve)混合现实过程960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,游戏参数可以是输入以确定系统的用户正在与各个位置处的一个或多个怪物、在各种条件下死亡或逃跑(诸如如果用户射击怪物)的怪物、墙壁或者在不同位置处的其他对象等玩怪物战斗游戏。世界映射可以包括关于这些对象相对于彼此的位置的信息,以作为混合现实的另一个有价值的输入。相对于世界的姿势也成为输入,并且几乎对任何交互系统起着关键作用。

来自用户的控制或输入是到可穿戴系统900的另一输入。如本文所述,用户输入可包括视觉输入、手势、图腾、音频输入、感官输入等。为了在周围移动或玩游戏,例如,用户可能需要向可穿戴系统900指示关于他或她想要做什么。除了在空间中移动自己之外,还可以使用各种形式的用户控制。在一个实施例中,图腾(例如,用户输入装置)或诸如玩具枪的对象可由用户握持并由系统跟踪。该系统优选地将被配置为知道用户正在握持物品并且理解用户与物品进行何种交互(例如,如果图腾或对象是枪,则系统可以被配置为理解位置和取向以及用户是否正在点击触发器或其他可能配备有例如imu的传感器的感测按钮或元件,这可能有助于确定正在发生的事情,即使此类活动不在任何相机的视场之内)。

手部姿势跟踪或辨别也可以提供输入信息。可穿戴系统900可以被配置为跟踪和解释用于按钮按压、用于向左或向右作出手势、停止、抓取、握持等的手部姿势。例如,在一种配置中,用户可能想要在非游戏环境中翻阅电子邮件或日历或者与其他人或玩家做“拳头碰撞”。可穿戴系统900可以被配置为利用最小量的手部姿势,其可以是动态的,也可以不是动态的。例如,手势可以是简单的静态姿势,例如,用于停止的张开手、用于表示好(ok)的拇指向上、用于表示不好的拇指向下、或者用于方向命令的用手向右或向左或向上/向下翻转。

眼睛跟踪是另一输入(例如,跟踪用户正在看的位置以控制显示技术以在特定深度或范围呈现)。在一个实施例中,可以使用三角测量来确定眼睛的聚散,然后使用为该特定人物开发的聚散/适应模型,可以确定适应。眼睛跟踪可以由眼睛相机执行以确定眼睛注视(例如,一只或两只眼睛的方向或取向)。其他技术可用于眼睛跟踪,诸如例如通过放置在眼睛附近的电极测量电位(例如,电眼图)。

语音辨别可以是另一输入,其可以单独使用或与其他输入(例如,图腾跟踪、眼睛跟踪、手势跟踪等)组合使用。系统900可以包括从环境接收音频流的音频传感器(例如,麦克风)。可以处理所接收的音频流(例如,通过处理模块260、270或中央服务器1650)以(从其他语音或背景音频)辨别用户的语音,以从音频流中提取命令、参数等。例如,系统900可以从音频流中识别出已说出短语“示出你的身份证明”、识别出该短语是由系统900的佩戴者说的(例如,安全检查员而不是检查员的环境中的另一个人)、以及从短语和情境的背景(例如,安全检查点)中提取其中存在要被执行的可执行命令(例如,对佩戴者的fov中的某些事物的计算机视觉分析)以及该命令要在什么对象(“你的身份证明”)上执行。系统900可以结合说话者辨别技术以确定谁在说话(例如,语音是否来自hmd的佩戴者或者来自另一个人或语音(例如,由环境中的扬声器发送的被记录的语音)),以及可以结合语音辨别技术以确定所说的内容。语音辨别技术可以包括频率估计、隐马尔可夫模型、高斯混合模型、模式匹配算法、神经网络、矩阵表示、矢量量化,说话者分类(diarisation)、决策树和动态时间规整(dtw)技术。语音辨别技术还可以包括反说话者(anti-speaker)技术,诸如群组模型和世界模型。频谱特征可用于表示说话者特性。

关于相机系统,图9中所示的示例性可穿戴系统900包括三对相机:相对宽的fov或被动slam相机对,其布置在用户的脸部的侧面;定向在用户的前方的不同的相机对以处理立体成像过程940并且还用于捕捉在用户面部的前方的手部姿势和图腾/对象跟踪。fov相机和用于立体过程940的相机对可以是面向外的成像系统464(如图4所示)的一部分。可穿戴系统900可包括定向朝向用户的眼睛的眼睛跟踪相机(其可以是图4中所示的面向内的成像系统462的一部分),以便对眼睛矢量和其他信息进行三角测量。可穿戴系统900还可以包括一个或多个纹理光投影仪(诸如红外(ir)投影仪)以将纹理注入场景中。

图10是用于确定到可穿戴系统的用户输入的方法1000的示例的过程流程图。在该示例中,用户可以与图腾交互。用户可能具有多个图腾。例如,用户可能已经指定了用于社交媒体应用的一个图腾以及用于玩游戏的另一个图腾等。在框1010处,可穿戴系统可以检测图腾的运动。可以通过面向外的成像系统辨别图腾的运动,或者可以通过传感器(例如,触觉手套、图像传感器、手跟踪装置、眼睛跟踪相机、头部姿势传感器等)来检测图腾的运动。

在框1020处,至少部分地基于检测到的手势、眼睛姿势、头部姿势或通过图腾的输入,可穿戴系统检测图腾(或用户的眼睛或头部或手势)相对于参考帧的位置、取向或运动。参考帧(referenceframe)可以是映射点的组,可穿戴系统基于该映射点的组将图腾(或用户)的运动转换为动作或命令。在框1030处,映射用户与图腾的交互。基于用户交互相对于参考帧1020的映射,系统在框1040处确定用户输入。

例如,用户可以来回移动图腾或物理对象以表示翻起虚拟页面并移动到下一页面或从一个用户界面(ui)显示屏幕移动到另一ui屏幕。作为另一示例,用户可移动他们的头部或眼睛以查看用户的for中的不同真实或虚拟对象。如果用户对特定真实或虚拟对象的注视长于阈值时间,则可以选择该真实或虚拟对象作为用户输入。在一些实施方式中,可以跟踪用户眼睛的聚散度,并且可以使用适应/聚散模型来确定用户眼睛的适应状态,这提供关于用户正在聚焦的深度平面上的信息。在一些实施方式中,可穿戴系统可以使用射线投射技术来确定哪个真实或虚拟对象沿着用户的头部姿势或眼睛姿势的方向。在各种实施方式中,射线投射技术可以包括投射具有显著小的横向宽度的薄的、笔形射线或投射具有显著大的横向宽度的射线(例如,锥体或平截头体(frustum))。

用户界面可以由显示系统投影,如本文所述(诸如图2中的显示器220)。它还可以使用各种其他技术显示,诸如一个或多个投影仪。投影仪可以将图像投影到诸如帆布或球状物的物理对象上。可以使用对于系统为外部的或对于系统的一部分为外部的一个或多个相机(诸如例如使用面向内的成像系统462或面向外的成像系统464)来跟踪与用户界面的交互。

图11是用于与虚拟用户界面交互的方法1100的示例的过程流程图。方法1100可以由本文描述的可穿戴系统执行。可穿戴系统可以使用方法1100的实施例来检测可穿戴系统的fov中的人或文件。

在框1110处,可穿戴系统可识别特定ui。ui的类型可以由用户预先确定。可穿戴系统可以基于用户输入(例如,手势、视觉数据、音频数据、感觉数据、直接命令等)识别需要被填充的特定ui。该ui可以专用于安全场景,在该场景中,系统的佩戴者正在观察向佩戴者提供文件的用户(例如,在旅行检查点处)。在框1120处,可穿戴系统可以产生用于虚拟ui的数据。例如,可以产生与限制、一般结构、ui的形状等相关联的数据。另外,可穿戴系统可以确定用户的物理位置的映射坐标,使得可穿戴系统可以显示与用户的物理位置相关的ui。例如,如果ui是以身体为中心的,则可穿戴系统可以确定用户的身体立姿(stance)、头部姿势或眼睛姿势的坐标,使得可以在用户周围显示环形ui或者可以在墙壁上或在用户前方显示平面ui。在本文描述的安全性背景中,ui可以被显示为好像ui围绕正在向系统的佩戴者提供文件的旅行者,使得佩戴者可以在查看旅行者和旅行者的文件的同时容易地观看ui。如果ui是以手中心的,则可以确定用户的手的映射坐标。这些映射点可以通过借助fov相机接收的数据、感觉输入或任何其他类型的收集的数据而被导出。

在框1130处,可穿戴系统可以从云向显示器发送数据或者数据可以被从本地数据库发送到显示组件。在框1140处,基于发送的数据向用户显示ui。例如,光场显示器可以将虚拟ui投影到用户眼睛中的一个或两个中。一旦创建了虚拟ui,在框1150处,可穿戴系统可以简单地等待来自用户的命令以在虚拟ui上产生更多虚拟内容。例如,ui可以是围绕用户身体或者用户环境中的人(例如,旅行者)的身体的以身体为中心的环。然后,可穿戴系统可等待命令(手势、头部或眼睛运动、语音命令、来自用户输入装置的输入等),并且如果被辨别出(框1160),则与该命令相关联的虚拟内容可以被显示给用户(框1170)。

可穿戴系统、ui和用户体验(ux)的附加示例在公开号为no.2015/0016777的美国专利公开中描述,其通过引用整体并入本文。

在虚拟遥控器上初始化选择事件的示例

图12示出了由可穿戴系统的用户所感知的物理环境的示例。示例环境1200包括用户家的起居室。环境1200具有物理对象,诸如电视(tv)1210、物理远程控制1220(有时简称为遥控器)、tv架1230和窗口1240。当用户佩戴着可穿戴装置时,用户可以感知物理对象并与物理对象交互。例如,用户可以在佩戴着可穿戴装置的同时观看tv1210。用户可以使用物理遥控器1220来控制tv。例如,用户可以控制物理遥控器1220以打开/关闭tv1210或者改变tv1210的频道或音量。用户还可以使用虚拟遥控器与tv1210交互。可以基于物理遥控器1220的功能来生成虚拟遥控器。例如,虚拟遥控器可以模拟物理遥控器1220的功能的一些或全部(并且还可以提供附加或替代功能)。

用户可以在与目标装置相关联的虚拟遥控器上初始化选择事件。选择事件可以导致与虚拟遥控器相关联的用户界面动作要被执行。例如,在初始化选择事件时,可穿戴装置可以在用户的fov中呈现虚拟遥控器。目标装置可以是物理遥控器,其中可穿戴系统可以模拟该物理遥控器以生成虚拟遥控器,该虚拟遥控器模拟物理遥控器的功能。目标装置也可以是可由物理遥控器或虚拟遥控器控制的诸如tv、咖啡机、恒温器或其他电器或电子装置等的父设备。用户可以通过致动用户输入装置来初始化选择事件,其中致动用户输入装置例如点击鼠标、轻敲触摸板、在触摸屏上轻扫、在电容式按钮上方悬停或触摸电容式按钮、按压键盘或游戏控制器(例如,5向方向垫)上的键、将操纵杆、棒或图腾指向对象、按压远程控制上的按钮、与用户输入装置的其他交互等。用户还可以使用头部、眼睛或身体姿势来初始化选择事件,例如通过持续一段时间注视或指向目标对象。

为了在虚拟遥控器上初始化选择事件,用户可以指示与虚拟遥控器相关联的目标装置的选择。例如,用户可以指示物理遥控器以选择与物理遥控器相关联的虚拟遥控器。如图12所示,如果用户想要与基于物理遥控器1220的功能的虚拟遥控器交互,则用户可以通过手部姿势指示物理遥控器1220,该手势例如触摸、用手指指、通过例如捏合或使用其他手部姿势在视觉上封闭对象。作为示例,用户可以持续延长的时间段沿着物理遥控器1220的方向指。作为另一示例,用户可以通过做出用于抓取物理遥控器1220的手部姿势来选择与物理遥控器1220相关联的虚拟遥控器。用户还可以使用用户输入装置(例如,图4所示的用户输入装置466)来指示物理遥控器1220。例如,用户可以使用触笔指向物理遥控器。

用户还可以通过选择虚拟遥控器控制的父设备来选择虚拟遥控器。用户可以使用手部姿势并致动用户输入装置以进行这种选择。图13示出了使用手部姿势初始化与虚拟遥控器相关联的选择事件的示例。用户可以经由可穿戴系统感知如图13所示的环境1300。环境1300可以包括诸如tv1210、物理遥控器1220、tv架1230和窗口1240的物理对象。如图所示,用户的左臂1250a正在做出指示tv1210的捏合手势。可穿戴系统可以将该捏合手势辨别作为向用户渲染并呈现与tv1210相关联的虚拟遥控器1260的命令。作为另一示例,如果用户想要选择用于控制tv1210的虚拟遥控器,则用户可以使用身体姿势(诸如抓住tv1210或指向tv1210)来指示tv1210的选择。

除了用户输入装置的手部姿势和致动之外或作为其替代,用户还可以使用眼睛注视来选择虚拟遥控器。可穿戴系统可以基于用户的眼睛注视的方向(由面向内的成像系统462跟踪)执行锥形投射。可穿戴系统可以识别与用户的注视方向相交的对象,并呈现与这种对象相关联的遥控器。例如,可穿戴系统可以基于用户的注视方向识别tv1210,由此呈现与tv1210相关联的虚拟遥控器。可以基于物理遥控器1220生成虚拟遥控器,其中虚拟遥控器可以具有与物理遥控器1220类似的功能和控制面板。

辨别目标装置的示例

可穿戴系统可单独或组合地使用各种技术辨别诸如物理遥控器1220或父设备(诸如tv1210)的目标装置。作为示例,可穿戴系统可以直接查询目标装置。这在装置能够例如通过诸如wi-fi或蓝牙的rf无线协议辨别其自身并且已经存在支持这种查询的协议的情况下是可能的。例如,可穿戴系统可以使用蓝牙技术与tv1210或物理遥控器1220配对。

可穿戴系统还可以基于目标装置的特性在视觉上识别目标装置。例如,可穿戴系统可以使用面向外的成像系统来获取目标装置的图像,并使用计算机视觉算法(例如结合词袋(bagofwords)类型搜索的特征关键点(featurekeypoint)方法(例如sift))或者通过应用能够对装置进行分类的人工神经网络(例如“alex-net”)来识别类型目标装置。可穿戴系统可以以分级方式识别目标装置。例如,可以首先使用第一算法将目标装置识别为电视,然后使用第二算法将目标装置识别为特定产品,例如manuco55”530u系列高级4kuhd薄直接照明(direct-lit)ledtv。

用户还可以使用其他姿势或用户输入装置来指定目标装置。例如,用户可以使用挥动的手势来识别tv,同时通过将他的手指指向恒温器来识别另一类型的装置(例如,恒温器)。在一些实施例中,用户可以使用姿势识别目标装置(诸如tv或恒温器)的类型。可穿戴系统可以执行其他技术以进一步识别由用户的姿势指示的类型的子类型。例如,用户可以使用挥动的手势来识别到目标装置是tv。可穿戴系统可以运行计算机视觉算法以进一步识别该tv是manuco55”530u系列高级4kuhd薄直接照明(direct-lit)ledtv。

可穿戴系统可以通过视觉检查现有目标装置的一个或多个特性来识别目标装置。例如,目标装置可以包括光学可读标签,例如条形码或qr码。可穿戴系统可包括光学传感器(例如,面向外的相机),用于扫描标签或对标签成像并从标签中提取信息。提取的信息可以包括装置识别符,例如装置的制造商、类型等。标签可以粘贴或压印到目标装置上。例如,tv可以具有明确指示tv的制造、型号、序列号等的贴纸或标牌。作为另一个例子,tv的商标可以压印在电视面板的表面上。

在一些实施例中,当目标装置是物理遥控器并且可穿戴系统已辨别出物理遥控器时,可穿戴系统可以被配置为自动识别相关联的父设备。例如,一旦可穿戴系统已辨别出用于tv1210的物理遥控器1220,则可穿戴系统可以检索或搜索与父设备相关联的信息,诸如父设备的外观、与父设备相关联的通信协议、或父设备的商标/型号。可穿戴系统可以基于由面向外的成像系统获取的图像来搜索和辨别用户环境中的父设备。可以使用本文描述的计算机视觉算法来实现辨别。可穿戴系统还可以向环境发送查询信号,并基于所接收的对查询信号的响应来识别父设备。当目标装置是父设备时,也可以应用这些用于基于物理遥控器识别父设备的技术。例如,可穿戴系统可以使用类似的技术基于辨别的父设备来识别用户环境中的物理遥控器。

在一些情况下,父设备可以与多个物理遥控器相关联。例如,游戏站可以与多个游戏控制器相关联。可穿戴系统可以向用户提示通知,指示存在与父设备相关联的多于一个虚拟遥控器(其中每个虚拟遥控器可以对应于物理遥控器)。可穿戴系统可以向用户提供在用户想要使用的多个虚拟遥控器中选择一个虚拟遥控器的选项。

在另一示例中,可穿戴系统可能不确定用户选择的父设备或物理遥控器是否属于某种类型。例如,一些tv的外观可能相同但与不同类型的物理遥控器兼容。类似地,某些物理遥控器可能看起来具有相同的按钮或形状,但是服务于不同的父设备。可穿戴系统可以呈现虚拟遥控器的可能选项的列表。然后,用户可以在可能选项的列表中选择正确的虚拟遥控器。

附加地或替代地,可穿戴系统可以被配置为允许用户使用可穿戴系统的虚拟用户界面来选择与目标装置相关联的虚拟遥控器。例如,可穿戴系统可以在菜单中呈现可用虚拟遥控器的列表。用户可以从菜单中选择与之交互的虚拟遥控器。可穿戴系统还可以呈现菜单,该菜单包括父设备或可穿戴系统可为其提供虚拟遥控器的与父设备相关联的物理遥控器的列表。例如,列表上的父设备或物理遥控器可以由可穿戴系统使用图7中所示的一个或多个对象辨别器2208a-2208n预先识别。用户可以相应地通过从列表中选择父设备或物理遥控器来选择虚拟遥控器。

虚拟遥控器本身可以存储在数据存储中,例如图2中所示的远程数据储存库280。可穿戴系统可以使用本文描述的技术辨别目标装置,并基于目标装置取得用于虚拟遥控器的规范。例如,可穿戴系统可以向远程处理模块270提交所辨别的目标装置的描述以检索用于相关联的虚拟遥控器的规范。在一些实施例中,处理模块可以基于目标装置的特性(例如商标、类型、制造的年份等)将关于规范的请求重定向到另一计算装置(诸如用于维持关于特定类型装置的规范的服务器)。

规范可以包括关于如何呈现虚拟遥控器的指令(例如,指定布局、按钮和其他控制等)、模拟遥控器所需要的通信通道(例如,来自irda规范)、要被模拟到该通道上的实际代码(例如,与“通道2”的选择相关联的精确ir脉冲序列等)等等。规范还可以包括控制元件到在父设备上执行的相应功能的映射。例如,向上箭头按钮(在物理和虚拟遥控器上)的致动可以被映射到由父设备增加音量的功能。

呈现虚拟遥控器的示例

虚拟遥控器可以镜像物理遥控器的一些或全部功能或者至少一部分布局。这可以使熟悉物理遥控器的功能或布局的用户更容易操作虚拟遥控器。在选择虚拟遥控器(例如,通过选择父设备或与虚拟遥控器相关联的物理遥控器)时,可穿戴装置可以呈现虚拟遥控器,使得它在视觉上看起来在用户附近。例如,如图14所示,可穿戴装置可以在用户的手臂到达范围内(例如,距用户10cm与1m之间)呈现虚拟遥控器1260的虚拟控制面板1264,使得用户可以方便地与虚拟遥控器交互。在一些实施例中,当用户在他的环境中移动时,虚拟遥控器可以相应地随用户移动。例如,可穿戴装置可以将虚拟遥控器呈现在距用户一定距离处,而不管用户在其环境中的当前位置。

附加地或替代地,可穿戴装置可以在父设备或物理遥控器附近呈现虚拟遥控器。例如,可穿戴装置可以呈现用于控制tv的虚拟遥控器,其中虚拟遥控器的虚拟控制面板位于tv附近(例如,如图13和14所示)。在一些实施例中,虚拟遥控器的呈现位置可以基于父设备的类型。例如,如果父设备是tv,则可穿戴装置可以在tv附近呈现虚拟遥控器,因为当用户在tv附近时可能发生用户与tv交互。作为另一示例,如果父设备是恒温器,则可穿戴装置可以在用户(其可以离恒温器很远)附近呈现虚拟遥控器。即使用户在楼下,用户也可以使用虚拟遥控器控制位于房屋中楼上的恒温器。

可穿戴装置可以将虚拟遥控器叠加到用户的物理环境上。例如,可穿戴装置可以将虚拟遥控器1260呈现为好像它位于墙壁前方。虚拟遥控器可以被呈现为不透明的,使得用户可以感知虚拟遥控器遮挡用户的物理环境的一部分,使得虚拟遥控器看起来好像位于环境的该部分前方。例如,如图14所示,用户可以感知虚拟遥控器遮挡窗口1240的一部分。在一些实现中,虚拟遥控器可以被呈现为至少部分透明的,使得用户可以透过虚拟遥控器观看。例如,如图15所示,即使用户可能感知虚拟遥控器1260位于窗口和墙壁前方,用户也可以看到窗口以及墙壁。虚拟遥控器的部分(例如,诸如按钮的用户可致动元件)可以比其他部分(例如,主体或框架)较不透明地呈现,使得虚拟遥控器遮挡较少的背景环境。

用户还可以移动虚拟遥控器的呈现位置、大小或方向。例如,用户可以将虚拟遥控器移动到靠近(或更远离)他、向上/向下移动、向左/向右移动等等。用户还可以将虚拟遥控器的呈现位置固定在距离他一定距离处或者固定在其环境中的一定位置。

在一些实施例中,可穿戴装置可以呈现与tv1210或虚拟遥控器1260相关联的聚焦指示符。聚焦指示符可以帮助用户看到或找到虚拟遥控器。聚焦指示符可以包括光晕、颜色、感知的大小或深度变化(例如,使得目标对象在被选择时看起来更接近和/或更大)、光标图形的形状的变化(例如,光标是从圆圈变为箭头,其中光标可指示用户的手或手指的位置,并且光标图形的变化可指示用户对控制元件的致动或指示用户将要致动虚拟遥控器上的控制元件)或引起用户注意的其他听觉、触觉或视觉效果。例如,在图13中,可穿戴装置可以在tv1210周围呈现聚焦指示符1262c并且在虚拟遥控器1260周围呈现聚焦指示符1262a。可穿戴装置还可以呈现将虚拟遥控器1260与tv1210连接的聚焦指示符1262b以示出虚拟遥控器1260与tv1210相关联。在一些实施例中,取决于背景信息、定时等,可以显示或不显示聚焦指示符中的一些或全部。例如,在用户首次选择虚拟遥控器1260时,可以显示所有三个聚焦指示符1262a、1262b和1262c,这可以帮助用户辨别到虚拟遥控器1260与tv1210相关联。在一段时间之后,聚焦指示符中的一些或全部可能消失或渐渐消失,因为它们可能不再需要向用户显示遥控器1260与tv1210相关联。

与虚拟遥控器交互的示例

在选择事件期间,用户可以致动虚拟遥控器以与目标装置交互。图14示出了在选择事件期间致动虚拟遥控器的示例。在图14中,用户可以使用他的可穿戴装置感知环境1400。环境1400可以包括诸如tv1210、用于控制tv1210的物理遥控器1220、tv架1230和窗口1240的物理对象。环境1400还可以包括虚拟遥控器1260。虚拟遥控器1260可以模拟物理遥控器1220的功能以控制tv1210。例如,虚拟遥控器1260的虚拟按钮的布局和功能可以与物理遥控器1210上的物理键基本相同。

虚拟遥控器1260可以包括虚拟元件,该虚拟元件诸如虚拟键盘、虚拟按钮、虚拟开关或切换或滑块或者虚拟触摸表面。这些虚拟元件可以是虚拟遥控器1260的控制面板1264的一部分。为了致动虚拟遥控器,用户可以在虚拟元件上初始化交互事件。例如,用户可以通过触摸、按压、释放、向上/向下或向左/向右滑动、沿轨迹移动或3d空间中的其他类型的移动来与虚拟元件交互。

在致动虚拟遥控器1260后,可穿戴系统可以与tv1210通信,如同它是物理遥控器1220一样。作为示例,在图14中,用户可以使用他的右臂1250b来致动虚拟遥控器1260。可穿戴系统可以使用面向外的成像系统来对用户的姿势成像。如参考图16-18进一步描述的,基于用户的姿势,可穿戴系统可以计算用户已经致动了哪个虚拟元件。在图14描绘的示例中,可穿戴系统可以确定用户的右手食指正在致动按钮1266。在一些实施例中,可穿戴系统可以呈现用于按钮1266的聚焦指示符,指示通过用户的这种致动。

一旦可穿戴系统检测到用户已经致动虚拟遥控器1260的虚拟元件,则可穿戴系统可以相应地经由传感器232(图2中示出)向对应的父设备发送信号以指示父设备执行基于用户致动的虚拟元件的动作。例如,用户可以触摸虚拟遥控器上的虚拟按钮1266。因为该按钮与增加tv1210的音量相关联,所以可穿戴系统可以相应地生成信号(例如由可穿戴装置上的ir发射器生成的ir信号)并将该信号通信给tv1210(其可能具有ir检测器),从而使tv增加其音量。可穿戴系统生成的信号可以是由对应的物理远程控制生成的相同信号。

在信号是视线信号(例如必须指向tv的ir检测器的ir信号)的情况下,可穿戴系统上的发射器可能需要被引导朝向装置(如同物理远程控制必须指向其相关联的装置一样)。有利地,可穿戴系统可以被配置为确定是否已经发生所请求的命令(例如,增加tv的音量或改变频道)(例如,分别通过使用可穿戴系统上的麦克风来确定声音强度的增加或者使用面向外的相机来确定电视的显示已改变)。如果父设备尚未产生命令的效果,则可穿戴系统可以指示用户改变用户的姿势,使得可穿戴系统发射器指向父设备。例如,可穿戴系统可以生成可视图形(或可听指令)以建议用户将用户的头部指向父设备。在一些实现中,对于某些类型的父设备,可穿戴系统和父设备之间的通信可能不是视线敏感的(例如,当使用无线rf信号或超声声信号时),并且前述功能可以是可选的。

尽管图14中的示例示出了使用手部姿势致动虚拟遥控器,但是用户还可以使用诸如头部姿势、眼睛姿势(包括例如眼睛注视方向)或其他身体姿势的其他姿势来致动虚拟遥控器。除了各种姿势之外或作为其替代,用户可以使用用户输入装置与虚拟遥控器交互。例如,用户可以使用触笔或棒或图腾来致动虚拟遥控器。

在一些实施例中,可穿戴系统可以与物理遥控器通信以控制父设备的功能。例如,在检测到致动虚拟遥控器后,可穿戴系统可以将与致动相关联的信息(诸如按压哪个键等)通信给物理遥控器。然后,物理遥控器可以将与致动相关联的信息通信给父设备。

当用户完成使用虚拟遥控器时,用户可以使用手部姿势或致动虚拟遥控器来终止选择事件。作为示例,当用户正在观看电视节目时,用户可以决定他不再需要虚拟遥控器。结果,用户可以挥动他的手以指示他已完成使用虚拟遥控器。用户还可以按压虚拟遥控器上的关闭(dismiss)按钮。作为响应,可穿戴系统可以停止显示虚拟遥控器或显示虚拟遥控器使得其在视觉上基本上不易感知到(例如,具有增加的透明度),这可以帮助用户稍后选择虚拟遥控器。

在某些实现中,可穿戴系统可以临时从用户的fov中隐藏虚拟遥控器或者将虚拟遥控器移动到用户的fov之外或者移动到用户的fov的边缘,而不是终止选择事件。例如,用户可以开始在电视1210上观看电影并且决定他可能暂时不需要虚拟遥控器。用户可以使用滑动手势来指示他现在不需要虚拟遥控器。因此,可穿戴系统可以从用户的fov中隐藏虚拟遥控器或者将虚拟遥控器移动到用户的fov之外或者最小化虚拟遥控器。

如果满足阈值条件,则可穿戴系统还可以自动隐藏虚拟遥控器或终止选择事件。图15示出了这些特征的示例。在图15中,用户可以感知环境1500,该环境1500包括诸如tv1210、物理遥控器1220、tv架1230和窗口1240的物理对象。用户还可以感知虚拟遥控器1260。如本文所述,可穿戴系统可以模拟物理遥控器1220的信号并呈现包括物理遥控器1220的功能的虚拟用户遥控器1260。然而,在示例环境1500中,用户当前正通过可穿戴系统观看tv1210上的节目。可穿戴系统可以检测到虚拟遥控器持续阈值时间段(例如10秒、1分钟、2分钟等)是不激活的,因为用户在该阈值时间段期间没有致动虚拟遥控器。可穿戴系统可以例如通过增加虚拟遥控器的透明度来使虚拟遥控器逐渐淡出。例如,作为淡出过程的一部分,虚拟遥控器1260可以从不透明的变为透明的。可穿戴系统还可以通过降低虚拟遥控器的可见性来使虚拟遥控器淡出。例如,可穿戴系统可以逐渐减小虚拟遥控器的大小或者将虚拟遥控器的颜色从深色改变为浅色(或者将颜色改变为周围环境中的颜色)。在一些实施例中,在隐藏虚拟遥控器时,可穿戴系统可以移除与虚拟遥控器相关联的聚焦指示符。在其他实施例中,即使虚拟遥控器的控制面板被隐藏,可穿戴系统仍然可以显示聚焦指示符(例如,虚拟遥控器周围的光环)。

除了不激活时段之外或作为其替代,用于隐藏虚拟遥控器或终止选择事件的阈值条件可以基于与目标装置相关联的背景信息。例如,当可穿戴系统检测到用户正在观看电影时,可穿戴系统可以在用户选择电影之后自动隐藏虚拟遥控器(或终止选择事件)。作为另一示例,可穿戴系统可以基于父设备的类型自动隐藏虚拟遥控器或终止选择事件。例如,可穿戴系统可以被配置为在与虚拟遥控器相关联的父设备是tv或恒温器时的不激活时段之后自动隐藏虚拟遥控器或终止选择事件。然而,当父设备是游戏控制器时,可穿戴系统可以被配置为将虚拟遥控器留在那里,除非用户特别指示。

尽管本文描述的示例参考了一个虚拟遥控器,但是在一些实施例中,可穿戴系统可以呈现与用户的fov中的一个或多个目标装置相关联的多个虚拟遥控器。可穿戴系统可以允许用户使用姿势或用户输入装置在这些虚拟遥控器之间交互和切换。

呈现虚拟遥控器的示例过程

图16示出了呈现虚拟遥控器的示例过程。过程1600可以由本文描述的可穿戴系统200执行。在一些实施例中,过程1600可以是选择事件中的一部分。

在框1610处,可穿戴系统可以接收目标装置的指示。该指示可以包括用户姿势的改变或用户输入装置的致动。例如,用户可以做出指示选择目标装置的某些手部姿势。目标装置可以是物理遥控器或物理遥控器的父设备。例如,用户可以指向tv或tv的物理遥控器,以指示用户想要经由虚拟遥控器与tv交互。

在框1620处,可穿戴系统可以至少部分地基于目标装置的特性来辨别目标装置。特性可以包括目标装置的外观,例如控制面板的形状、大小、颜色、布局等。例如,可穿戴系统可以获取目标装置的图像并应用可以识别目标装置的外观的计算机视觉算法。可穿戴系统可以与数据存储通信并使用目标装置的外观来识别目标装置的商标和型号。特性还可以包括其他视觉提示,例如标签。例如,可穿戴系统可以识别与目标装置相关联的标签,该标签可以包括目标装置的信息,诸如商标、型号、制造商、制造日期、兼容性等。可穿戴系统可以相应地对标签成像和解析以辨别目标装置。在某些实现中,可穿戴系统还可以向目标装置发送查询信号,以基于对查询信号的响应来辨别与目标装置相关联的类型。例如,可穿戴系统可以无线地向目标装置发送查询信号,以从目标装置请求装置识别符。目标装置可以用其装置识别符进行响应。由此,可穿戴系统可以将装置识别符与目标装置相关联。可穿戴系统可以使用识别符来访问目标装置的特性,例如目标装置的规范、外观等。可穿戴系统和目标装置可以使用无线广告技术,其中,例如,这些装置中的一者传送广告,而另一装置扫描这些广告并初始化到广告装置的无线连接。

在框1630处,可穿戴系统可以识别与目标装置相关联的虚拟遥控器。例如,基于所辨别的目标装置,可穿戴系统可以访问数据存储,该数据存储存储哪个虚拟遥控器与目标装置相关联。如框1640所示,可穿戴系统因此可以取得虚拟遥控器(连同虚拟遥控器的规范)。在目标装置是父设备(例如,tv)的一些情况下,在可穿戴系统辨别目标装置之后,可穿戴系统可以识别与父设备相关联的物理遥控器。可穿戴系统可以生成模拟物理遥控器的功能的虚拟遥控器。在目标装置是物理遥控器的情况下,可穿戴系统可以识别相关联的父设备。可穿戴系统可以建立到父设备的连接并与父设备通信,如同它是物理遥控器一样。

在框1640处,可穿戴系统可以访问与虚拟遥控器相关联的规范。规范可以包括用于与父设备通信的协议(例如,用于通信的通道和频率)。规范还可以包括控制面板上的虚拟元件的布局以及虚拟遥控器的每个虚拟元件的功能。规范可以基于用于控制父设备的物理遥控器,使得虚拟遥控器可以具有与物理遥控器相同的规范以及使得虚拟遥控器可以替代物理遥控器来与父设备通信。在一些实现中,可穿戴系统可以在辨别目标装置之后立即执行框1640。例如,可穿戴系统可以在框1630之前执行框1640。在可穿戴系统识别出物理遥控器或父设备的型号之后,可穿戴系统可以从数据存储中自动取得规范。在某些实现中,可穿戴系统可以基于该规范访问虚拟遥控器。

在框1650处,可穿戴系统可以至少部分地基于规范在ar/mr环境中呈现虚拟遥控器。可穿戴系统可以基于检索到的布局来呈现虚拟遥控器和虚拟遥控器的虚拟元件。在一些实施例中,可穿戴系统可以提供与虚拟遥控器、虚拟遥控器的虚拟元件或父设备相关联的一个或多个聚焦指示符。例如,聚焦指示符可以包括连接父设备和虚拟遥控器的视觉连接(例如线)。该聚焦指示符可以显示虚拟遥控器控制父设备。

如本文进一步描述的,用户可以使用姿势或用户输入装置来致动虚拟遥控器(以及虚拟遥控器的虚拟元件)。可穿戴系统可以生成信号,使得基于用户的动作执行一个或多个用户界面动作。

尽管参考基于物理遥控器或父设备呈现虚拟遥控器来描述本文中的示例,但是在各种实施例中,还可以基于用户输入装置466(例如,物理键盘)来呈现虚拟遥控器。

虚拟用户界面上与虚拟元件的示例交互

可穿戴系统可被配置为基于用户的手或手指移动或触笔或棒的移动来检测虚拟元件的致动。虚拟元件可以是本文描述的虚拟遥控器的一部分,但是在一些实施例中,虚拟元件可以是在ar/vr/mr环境中呈现的独立用户界面元件。虚拟元件可以是虚拟按钮、切换、滑块或虚拟触摸表面或者具有其他用户界面外观类型的元件。

图17示出了检测用户按压虚拟按钮的动作的示例。图17中的虚拟按钮1700包括近侧表面1712和远侧表面1714,其中近侧表面1712是虚拟按钮的靠近用户的侧,而远侧表面1714是虚拟按钮的远离用户的侧。

虚拟按钮1700可以包括激活体积1710。激活体积1710可以表示用户环境中能够致动按钮的空间体积。当可穿戴系统检测到用户的手指已进入该空间体积时,可穿戴系统可在与该空间体积相关联的虚拟按钮1700上初始化交互事件。因为虚拟遥控器(或虚拟按钮)的位置可以基于用户的位置或交互(例如当用户在他的房间中移动或当用户将虚拟遥控器移动到不同的位置时)而改变,所以与虚拟按钮1700相关联的激活体积1710可以不必固定到用户环境中的一定位置。

在图17中,与虚拟按钮1700相关联的激活体积1710可以是虚拟按钮1700的近侧表面1712和远侧表面1714之间的空间体积。尽管在该示例中,与激活体积1710相关联的空间体积跟与虚拟按钮1700相关联的空间体积相同,但是在一些实施例中,与激活体积1710相关联的空间体积可以是与虚拟按钮1700相关联的激活体积的一部分。

激活体积1710可以包括触发表面1750和释放表面1760。触发表面1750或释放表面1760可使可穿戴系统在虚拟元件上初始化交互事件。

激活体积1710还可以包括激活表面1730。激活表面1730可以与近侧表面1712或远侧表面1714成平行关系。激活表面1730的位置可以基于用户手指的移动而改变。例如,激活表面1730的初始位置可以位于近侧表面1712处。然而,当用户的手指1720进入激活体积1710时,可穿戴系统可以基于用户的手指1720的移动来计算进入激活体积1710中的穿过距离1740。这个穿过距离1740可以用于计算激活表面1730的位移。例如,激活表面1730可以远离近侧表面1712移动穿过距离1740的量。在一些实施例中,至少激活表面1730被显示给用户,使得用户可以在视觉上感知虚拟按钮1700被按压或释放。此外,尽管图17中当致动按钮1700时示出了手指1720,但是这是为了说明,在其他实施例中,触笔或杆的一端可用于致动按钮1700。此外,用户的手指1720可以是拇指、食指或其他手指。

可穿戴系统还可以计算与激活表面1730相关联的速度。例如,用户的手指1720可以以速度进入激活体积1710。速度可以包括两个分量:其中垂直于激活表面1730,平行于激活表面1730。速度可以被赋予给激活表面1730。结果,当手指1720朝向激活表面的后方移动时,激活表面1730可以与手指1720共同移动。可穿戴系统可利用面向外的成像系统464来对用户手指1720的移动成像并使用计算机视觉技术确定位置或速度在测量速度的实现中,穿过距离1740可以经由数值积分(例如,辛普森(simpson)规则、牛顿-柯特斯(newton-cotes)算法或高斯(gauss)求积公式)被确定

随着手指1720继续朝向远侧表面1714移动,激活表面1730可以到达触发表面1750。在一些实施例中,触发表面1750可以位于激活体积1710的远侧表面1714处。在其他实施例中,触发表面1750可以位于近侧表面1712和远侧表面1744之间。在确定激活表面1730已经到达触发表面1750的位置后,可穿戴系统可以初始化与触发表面1750相关联的交互事件。例如,可穿戴系统可以生成指示作为交互事件的一部分的用户已按压按钮1710的信号。在一些实施例中,当触发交互事件时,可穿戴系统可以至少临时地防止生成另一个交互事件。例如,虚拟按钮可以与例如按压、释放或滑动的多个交互事件相关联。当触发按压交互时,可穿戴系统可以防止触发滑动或释放交互事件。近侧表面1712和触发表面1750之间的距离可以被设置以反映按钮1700的敏感度。例如,非常敏感的按钮1700可以在近侧表面1712和触发表面1750之间具有相对小的距离(使得按钮容易通过指尖的小动作而触发)。较不敏感的按钮1700可以在近侧表面1712和触发表面1750之间具有相对大的距离(使得需要较大的指尖移动来致动按钮)。在各种实施例中,近侧表面1712和触发表面1750之间的距离可以在约1mm至5cm或一些其他距离的范围内。

在一些实现中,激活表面1730可能无法移动超过触发表面1750。例如,即使用户的手指1720继续沿朝向或超过远侧表面1714的方向移动,激活表面1730也可以停止移动超过触发表面1750。

用户可以例如通过缩回他的手指来终止交互事件。作为示例,用户可以将他的手指朝向近侧表面1712移回。因此,激活表面1730可以从触发表面1750朝向近侧表面1712移动。在一些实施例中,当激活表面1730到达释放表面1760时,可穿戴系统可以终止与按压虚拟按钮1700相关联的交互事件,从而允许初始化另一交互事件(例如,通过用户再次朝向远侧表面1714按压按钮)。附加地或替代地,当激活表面1730到达释放表面1760时,可穿戴系统可以初始化与释放按钮相关联的另一交互事件。例如,虚拟按钮1700可以与箭头键相关联,使得当用户按压虚拟按钮1700时,用户的化身在由可穿戴系统呈现的虚拟环境中的一定方向上移动。当用户释放虚拟按钮1700时,可穿戴系统可以生成指示用户的化身将在该方向上停止移动的信号。

激活表面1730可以以预定的返回速度朝向近侧表面1712后退。返回速度可以是常数或激活表面位置的函数。例如,返回速度可以逐渐增加,直到其到达近侧表面1712(其中返回速度达到0,因为激活表面1730可以被配置为不超过虚拟按钮的近侧表面1712)。作为另一示例,返回速度可在其到达特定阈值位置时改变。例如,当激活表面位于触发表面1750和释放表面1760之间时,返回速度可以是慢的,但是当激活表面朝向近侧表面1712移动超过释放表面1760时,返回速度可以增加。返回速度可以是大于、小于或等于后退手指的速度。

在一些实施例中,当激活表面1730后退时,激活表面1730可与手指1720共同移动。例如,当手指以速度后退时,激活表面1730可以以速度后退。

除了按压虚拟按钮之外或作为其替代,用户还可以通过滑动虚拟按钮来与虚拟按钮交互。图18示出了用户通过上下滑动虚拟按钮来致动虚拟按钮的示例。虚拟按钮1800可以包括激活表面1830。激活表面1830可以是图17中描述的激活表面1730的实施例。激活表面1830可以最初位于位置1832处。

尽管在该示例中,激活表面1730在平行于远侧表面1714和近侧表面1712的方向上移动,但是激活表面1730的移动可以在3d空间中的任何方向(例如,不平行于远侧表面1714或近侧表面1712的方向)上移动。

在图18中,可穿戴系统可以确定手指1720最初位于与激活表面1830的位置1832对应的位置1722。可穿戴系统还可以检测到手指1720的一部分与激活表面1830相交。可穿戴系统可以检测到手指1720以速度从位置1722移动到位置1724。速度可以由速度组成,其中垂直于激活表面1830,平行于激活表面1830。因此,可穿戴系统可以以速度移动激活表面1830。

在该示例中,还可以基于手指1720的移动来计算激活表面1830的位移。例如,可穿戴系统可以计算出手指1720已经在与激活表面1830平行的方向上移动了距离1836。然后,可穿戴系统可以确定激活表面可以移位距离1836。因此,可穿戴系统可以将激活表面从位置1832向上移动到位置1834。在一些实施例中,可穿戴系统可以设置能够触发交互事件的一个或多个阈值位置。例如,当激活表面到达位置1834时,可穿戴系统可以生成信号以在用户的fov中向上移动虚拟对象。与参考图17描述的类似,可穿戴系统可以利用面向外的成像系统464来对用户的手指1720的移动成像并使用计算机视觉技术确定位置或速度在测量速度的实现中,位移距离1836可以经由数值积分(例如,辛普森规则、牛顿-柯特斯算法或高斯求积公式)被确定为

当用户的手指1720不再触摸激活表面1830时或者当用户的手指1720向下滑动时,可穿戴系统可以将激活表面后退到其初始位置(例如从位置1834到位置1832)。在一些实施例中,后退速度可以是预定速度,该预定速度可以不对应于手指的移动。在其他实施例中,激活表面可以与手指1720共同移动。

图19示出了用户致动虚拟触摸表面的示例。虚拟触摸表面1900可以是本文描述的虚拟遥控器的一部分或者是独立的虚拟元件。用户可以使用手指1720致动虚拟触摸表面1900。手指1720可以沿着轨迹1772移动。因此,可穿戴系统可以基于轨迹1772初始化交互事件。例如,可穿戴系统可以计算轨迹1772的切线1774。如果沿着切线1774的移动(速度或位移)超过阈值条件,则可穿戴系统可以初始化交互事件。在交互事件期间,可穿戴系统可以提供用于沿着轨迹1772移动虚拟对象的指令。

在一些实施例中,可穿戴系统可呈现与虚拟元件相关联的聚焦指示符。例如,可穿戴系统可以基于激活平面的移动来呈现颜色或深度变化,其中颜色的强度或感知深度随着激活表面朝向虚拟按钮的远侧表面移动而增加。作为另一示例,当按压虚拟按钮时,可穿戴系统可以在虚拟按钮周围提供声音或发光。可穿戴系统还可以照亮虚拟按钮的近侧表面,以指示虚拟按钮被按压。当用户释放按钮时,也可以提供聚焦指示符。例如,当按钮移动靠近近侧表面时,按钮上的照明可能减少。作为另一示例,与虚拟按钮相关联的大小(或字体)可以随着其后退回到其初始位置而减小。

图16-18中示出的虚拟元件(例如,虚拟按钮1700、1800和虚拟触摸表面1900)的外观仅仅是示例,并非旨在进行限制。例如,激活表面以及虚拟元件可以是任何2d或3d形状,例如矩形、三角形、圆形、椭圆形、球形、长方体形、金字塔形、不规则形状等。

此外,尽管参考使用用户的手指致动虚拟元件来描述示例,但是在一些实现中,用户还可以使用其他手部姿势、身体姿势或多于一个图形(figure)来致动虚拟元件。附加地或替代地,用户可以使用诸如触笔或棒的用户输入装置来致动虚拟元件。

用于与虚拟按钮交互的示例过程

图20示出了用于使用虚拟用户界面中的虚拟元件初始化交互事件的示例过程。图20中的过程2000可以通过本文描述的可穿戴系统200来执行。

在框2010处,可穿戴系统可以识别虚拟用户界面中的虚拟元件。虚拟用户界面可以是ar/vr/mr环境的一部分。vr或mr环境可以由可穿戴系统单独呈现或与另一计算装置组合呈现。虚拟元件可以是虚拟按钮或虚拟触摸表面。虚拟元件可以是本文描述的虚拟遥控器的一部分或者是独立的虚拟用户界面元件。虚拟元件可以包括激活表面,该激活表面的移动可以与用户的移动相关联。在一些实施例中,激活表面可以是激活体积的一部分,该激活表面可以在检测到用户身体的一部分(例如手指)已进入激活体积时触发交互事件。

在框2020处,可穿戴系统可以识别激活表面的第一位置。第一位置可以是在用户交互之前的激活表面的初始位置。例如,第一位置可以位于虚拟按钮(或虚拟按钮的激活体积)中的近侧表面。然而,在一些实现中,当用户已按压按钮时,第一位置可位于触发表面处或虚拟按钮(或虚拟按钮的激活体积)的远侧表面处。

在框2030处,可穿戴系统可以接收用户与虚拟元件交互的指示。该指示可以是用户身体的一部分与虚拟元件(或激活表面)相交。例如,用户可以按压虚拟按钮或触摸激活表面。

在框2040处,可穿戴系统可以至少部分地基于指示2040来计算激活表面的移动。例如,可穿戴系统可以在用户按压虚拟按钮时计算用户手指的速度矢量。基于速度矢量,可穿戴系统可以计算在垂直于激活表面的方向上的速度,并使用该速度作为激活表面的速度。作为另一示例,当用户滑动虚拟表面时,可穿戴系统可以计算在与激活表面平行的方向上的速度,以确定激活表面的速度。可穿戴系统还可以基于用户手指已移动的距离的量来计算激活表面的位移。

在框2050处,可穿戴系统可以至少部分地基于移动2050来计算激活表面的第二位置。例如,可穿戴系统可以基于激活表面的位移来计算第二位置。在一些实施例中,一旦激活表面到达某个阈值位置,激活表面将不会继续移动。例如,当激活表面到达激活体积的远端或近端时,激活表面可以停止移动,使得它将移动超过激活体积的远端或近端。

在框2060处,可穿戴系统可以至少部分地基于激活表面的第一位置和第二位置来初始化交互事件。第二位置可以与触发一定用户界面动作相关联。例如,当激活表面到达触发表面时,可穿戴系统可以确定用户已按压虚拟按钮。作为另一示例,当用户的手指后退时,激活表面可以朝向激活体积的近侧表面移回。一旦激活表面到达释放表面,可穿戴系统可以生成指示用户已释放虚拟按钮的信号。

其他方面

在第1方面,一种用于通过增强现实装置(ard)提供视觉遥控器的系统,该系统包括:增强现实(ar)显示器,其用于向ard的用户呈现虚拟图像;面向外的成像系统,其被配置为对用户的环境成像;传感器,其被配置为与父设备通信;硬件处理器,其被编程为:基于来自面向外的成像系统或传感器中的至少一个的数据,识别与用户环境中的父设备相关联的物理遥控器;访问物理遥控器的规范;至少部分地基于所访问的规范来模拟物理遥控器以生成虚拟遥控器;接收虚拟遥控器的选择;响应于该选择通过显示器呈现虚拟遥控器;接收经由虚拟遥控器与父设备交互的指示;以及将包括交互指示的指令发送到父设备。

在第2方面,根据方面1所述的系统,其中ar显示器包括光场显示器。

在第3方面,根据方面1-2中任一方面所述的系统,其中传感器包括红外光源。

在第4方面,根据方面1-3中任一方面所述的系统,其中父设备包括以下中的至少一个:电视、恒温器、音频系统、家庭影院系统、家庭安全系统、门铃、门锁、空调、加热器、照明系统或车库门开启器。

在第5方面,根据方面1-4中任一方面所述的系统,其中为了基于来自面向外的成像系统或传感器中的至少一个的数据识别物理遥控器,硬件处理器被编程为:从面外向的成像系统接收环境的图像;以及使用计算机视觉算法识别图像中的父设备或物理遥控器中的至少一个。

在第6方面,根据方面5所述的系统,其中图像包括以下中的至少一种:静止图像、视频帧或视频。

在第7方面,根据方面5-6中任一方面所述的系统,为了识别父设备或物理遥控器中的至少一个,硬件处理器被编程为:辨别父设备或物理遥控器中的至少一个的存在;以及识别父设备或物理遥控器中的至少一个的类型。

在第8方面,根据方面5-7中任一方面所述的系统,其中计算机视觉算法包括以下中的至少一种:特征关键点算法、词袋类型搜索或神经网络算法。

在第9方面,根据方面1-8中任一方面所述的系统,其中基于来自面向外的成像系统或传感器中的至少一个的数据识别物理遥控器包括:通过传感器接收指示在用户环境中存在物理遥控器或父设备的信号。

在第10方面,根据方面1-9中任一方面所述的系统,其中物理遥控器的规范包括以下中的至少一个:多个按钮、按钮布局、通信通道或与通信通道相关联的信号。

在第11方面,根据方面1-10中任一方面所述的系统,其中为了模拟物理遥控器,硬件处理器被编程为将物理遥控器上的按钮的功能与虚拟遥控器上的按钮相关联。

在第12方面,根据方面1-11中任一方面所述的系统,其中为了接收对虚拟遥控器的选择,硬件处理器被配置为:检测用户的姿势,其中姿势指示选择虚拟遥控器;或者从用户输入装置接收选择的指示。

在第13方面,根据方面1-12中任一方面所述的系统,其中至少部分地基于物理遥控器的按钮布局来呈现虚拟遥控器。

在第14方面,根据方面1-13中任一方面所述的系统,其中为了接收交互的指示,硬件处理器被编程为:检测用户的姿势,其中姿势指示选择虚拟遥控;或者从用户输入装置接收选择的指示。

在第15方面,根据方面14所述的系统,其中姿势包括头部姿势、手部姿势、身体姿势或脚部姿势中的至少一种。

在第16方面,根据方面1-15中任一方面所述的系统,其中根据红外数据协会通信标准或射频通信标准来发送指令。

在第17方面,一种可穿戴显示装置包括:显示器,其用于向可穿戴显示装置的用户呈现虚拟图像;面向外的成像系统,其被配置为对用户的环境成像;传感器,其被配置为与电子装置通信;以及与显示器、面向外的成像系统和传感器通信的硬件处理器,该硬件处理器被编程为:访问电子装置的远程控制规范;呈现具有允许用户与电子装置交互的用户界面的虚拟遥控器,该用户界面至少部分地基于远程控制规范提供功能;分析由面向外的相机获得的图像以确定用户的手势;分析手势以确定用户与虚拟遥控器的用户界面的交互;以及经由传感器向电子装置发送与交互相关联的指令,该指令至少部分地基于电子装置的远程控制规范。

在第18方面,根据方面17所述的可穿戴显示装置,其中显示器包括光场显示器。

在第19方面,根据方面17或18所述的可穿戴显示装置,其中传感器包括红外发射器或射频发射器。

在第20方面,根据方面17-19中任一方面所述的可穿戴显示装置,其中:硬件处理器被编程为分析由面向外的成像系统获得的图像以确定电子装置的特定型号。

在第21方面,根据方面17-20中任一方面所述的可穿戴显示装置,其中硬件处理器被编程为呈现与虚拟遥控器相关联的聚焦指示符。

在第22方面,一种用于通过增强现实装置(ard)提供视觉遥控器的方法,该方法包括:在包括硬件处理器、用于向ard的用户呈现虚拟图像的显示器、被配置为对用户的环境成像的面向外的成像系统和被配置为与父设备通信的传感器的ard的控制下:基于来自面向外的成像系统或传感器中的至少一个的数据来识别与用户环境中的父设备相关联的物理遥控器;访问物理遥控器的规范;至少部分地基于所访问的规范来模拟物理遥控器以生成虚拟遥控器;接收虚拟遥控器的选择;响应于该选择通过显示器呈现虚拟遥控器;经由拟遥控器接收与父设备交互的指示;以及将包括交互指示的指令发送给父设备。

在第23方面,根据方面22所述的方法,其中基于来自面向外的成像系统或传感器中的至少一个的数据来识别物理遥控器包括:从面向外的成像系统接收环境的图像;以及使用计算机视觉算法识别图像中的父设备或物理遥控器中的至少一个。

在第24方面,根据方面23所述的方法,其中识别父设备或物理遥控器中的至少一个包括:辨别父设备或物理遥控器中的至少一个的存在;以及识别父设备或物理遥控器中的至少一个的类型。

在第25方面,根据方面23或24所述的方法,其中计算机视觉算法包括以下中的至少一种:特征关键点算法、词袋类型搜索或神经网络算法。

在第26方面,根据方面22-25中任一方面所述的方法,其中基于来自面向外的成像系统或传感器中的至少一个的数据来识别物理遥控器包括:通过传感器接收指示在用户的环境中存在物理遥控器或父设备的信号。

在第27方面,根据方面22-26中任一方面所述的方法,其中物理遥控器的规范包括以下中的至少一个:多个按钮、按钮布局、通信通道或与通信通道相关联的信号。

在第28方面,根据方面22-27中任一方面所述的方法,其中模拟物理遥控器包括将物理遥控器上的按钮的功能与虚拟遥控器上的按钮相关联。

在第29方面,根据方面22-28中任一方面所述的方法,其中接收虚拟遥控器的选择包括以下中的至少一个:检测用户的姿势,其中姿势指示虚拟遥控器的选择;或者从用户输入装置接收选择的指示。

在第30方面,根据方面22-29中任一方面所述的方法,其中至少部分地基于物理遥控器的按钮布局来呈现虚拟遥控器。

在第31方面,根据方面22-30中任一方面所述的方法,其中接收交互的指示包括:检测用户的姿势,其中姿势指示虚拟遥控的选择;或者从用户输入装置接收选择的指示。

在第32方面,根据方面22-31中任一方面所述的方法,其中根据红外数据协会通信标准或射频通信标准来发送指令。

在第33方面,一种用于检测虚拟按钮的致动的系统,该系统包括:可穿戴显示系统,其被配置为向用户显示虚拟图像;面向外的成像系统,其被配置为获得用户的环境的图像;以及硬件处理器,其被编程为:识别虚拟用户界面中的虚拟按钮,该虚拟按钮包括激活表面和触发表面;识别激活表面的第一个位置;确定指示虚拟按钮的移动的用户交互;至少部分地基于用户交互来计算激活表面的移动;至少部分地基于该移动来计算激活表面的第二位置;以及至少部分地基于激活表面的第一位置和第二位置初始化交互事件,其中当激活表面的移动朝向触发表面并且激活表面的第二位置与触发表面的至少一部分相交时,交互事件与致动虚拟按钮相关联,并且其中当激活表面的移动远离触发表面并且激活表面的第一位置与触发表面的至少一部分相交时,交互事件与释放虚拟按钮相关联。

在第34方面,根据方面33所述的系统,其中激活表面与触发表面成平行关系。

在第35方面,根据方面33或34所述的系统,其中虚拟按钮还包括释放表面,并且其中当激活表面的第二位置与释放表面的至少一部分相交时,交互事件与释放虚拟按钮相关联。

在第36方面,根据方面33-35中任一方面所述的系统,其中指示虚拟按钮的移动的用户交互包括激活平面与用户环境中的物理对象之间的相交,物理对象包括以下中的至少一个:用户的一部分或用户输入装置的一部分。

在第37方面,根据方面36所述的系统,其中为了计算激活表面的移动,硬件处理器被配置为:计算物理对象的速度矢量;以及使用以下中的至少一个来计算激活表面的速度:物理对象的垂直于激活表面的速度矢量的值、物理对象的平行于激活表面的速度矢量的值或者与激活表面相切的速度矢量的值。

在第38方面,根据方面36-37中任一方面所述的系统,其中为了计算激活表面的第二位置,硬件处理器被配置为:确定物理对象已经以后退速度从触发表面后退;以及以小于或等于后退速度的速度移动激活表面。

在第39方面,根据方面33-38中任一方面所述的系统,其中计算激活表面的移动包括计算激活表面的位移。

在第40方面,根据方面33-39中任一方面所述的系统,其中硬件处理器还被配置为至少部分地基于激活表面的移动来提供虚拟按钮的可视化。

在第41方面,根据方面40所述的系统,其中可视化包括虚拟按钮的聚焦指示符,当虚拟按钮的移动超过阈值条件时提供聚焦指示符。

在第42方面,根据方面41所述的系统,其中阈值条件包括以下中的至少一个:阈值位置、阈值持续时间或阈值速度。

在第43方面,根据方面40-42中任一方面所述的系统,其中可视化包括虚拟按钮的聚焦指示符,其中聚焦指示符根据激活平面的移动而改变。

在第44方面,根据方面33-43中任一方面所述的系统,其中交互事件包括以下中的至少一个:触发虚拟用户界面上的用户界面功能或禁用用户界面功能。

在第45方面,根据方面33-44中任一方面所述的系统,其中为了确定指示虚拟按钮的移动的用户交互,硬件处理器被配置为分析由面向外的成像系统获得的图像。

在第46方面,根据方面33-45中任一方面所述的系统,其中所述硬件处理器还被配置为生成与初始化交互事件相关联的声音。

在第47方面,一种用于检测虚拟按钮的致动的方法,该方法包括:在被配置为向用户显示虚拟图像的可穿戴显示系统、硬件处理器和被配置为获得用户环境的图像的面向外的成像系统的控制下:识别虚拟用户界面的虚拟按钮,该虚拟按钮包括激活表面和触发表面;识别激活表面的第一位置;确定指示虚拟按钮的移动的用户交互;至少部分地基于用户交互来计算激活表面的移动;至少部分地基于该移动来计算激活表面的第二位置;以及至少部分地基于激活表面的第一位置和第二位置初始化交互事件,其中当激活表面的移动朝向触发表面且激活表面的第二位置与触发表面的至少一部分相交时,交互事件与致动虚拟按钮相关联,并且其中当激活表面的移动远离触发表面且激活表面的第一位置与触发表面的至少一部分相交时,交互事件与释放虚拟按钮相关联。

在第48方面,根据方面47所述的方法,其中激活表面与触发表面成平行关系。

在第49方面,根据方面47-48中任一方面所述的方法,其中虚拟按钮还包括释放表面,并且其中当激活表面的第二位置与释放表面的至少一部分相交时,交互事件与释放虚拟按钮相关联。

在第50方面,根据方面47-49中任一方面所述的方法,其中指示虚拟按钮的移动的用户交互包括激活平面与用户环境中的物理对象之间的相交,物理对象包括以下中的至少一个:用户的一部分或用户输入装置的一部分。

在第51方面,根据方面50所述的方法,其中计算激活表面的移动包括:计算物理对象的速度矢量;以及使用以下中的至少一个来计算激活表面的速度:物理对象的垂直于激活表面的速度矢量的值、物理对象的平行于激活表面的速度矢量的值或者与激活表面相切的速度矢量的值。

在第52方面,根据方面50或51所述的方法,其中计算激活表面的第二位置包括:确定物理对象已经以后退速度从触发表面后退;以及以小于或等于后退速度的速度移动激活表面。

在第53方面,根据方面47-52中任一方面所述的方法,还包括至少部分地基于激活表面的移动来提供虚拟按钮的可视化。

在第54方面,根据方面53所述的方法,其中可视化包括虚拟按钮的聚焦指示符,当虚拟按钮的移动超过阈值条件时,提供聚焦指示符。

在第55方面,根据方面54所述的方法,其中阈值条件包括以下中的至少一个:阈值位置、阈值持续时间或阈值速度。

在第56方面,根据方面54或55所述的方法,其中可视化包括虚拟按钮的聚焦指示符,其中聚焦指示符根据激活平面的移动而改变。

在第57方面,根据方面47-56中任一方面所述的方法,其中交互事件包括以下中的至少一个:触发虚拟用户界面上的用户界面功能或禁用用户界面功能。

在第58方面中,一种用于在混合现实环境中提供虚拟远程控制的可穿戴系统,该可穿戴系统包括:混合现实显示器,其用于向用户呈现虚拟图像;面向外的成像系统,其被配置为对用户的环境成像;传感器,其被配置为与父设备通信;以及硬件处理器,其被编程为:访问由面向外的成像系统获取的图像;分析图像以识别与父设备相关联的物理遥控器;访问物理遥控器的规范;至少部分地基于物理遥控器的规范生成虚拟遥控器;使显示器呈现虚拟遥控器;接收用于与父设备的交互的虚拟遥控器的致动;以及生成指令并向父设备发送指令,使得父设备执行功能,如同物理遥控器被致动一样。

在第59方面,根据方面58所述的可穿戴系统,其中为了识别物理遥控器,硬件处理器被编程为:使用一种或多种计算机视觉算法来分析图像以辨别物理遥控器,该一种或多种计算机视觉算法包括以下中的至少一种:特征关键点算法、词袋类型搜索或神经网络算法。

在第60方面,根据方面59所述的可穿戴系统,其中硬件处理器还被编程为至少部分地基于由面向外的成像系统获取的图像或由传感器接收到的指示父设备存在的信号来识别父设备的存在。

在第61方面,根据方面58-60中任一方面所述的可穿戴系统,其中规范包括物理遥控器的控制元件到父设备的对应功能的映射或者物理遥控器与父设备之间的通信协议中的至少一个。

在第62方面,根据方面61所述的可穿戴系统,其中为了生成虚拟遥控器,硬件处理器被编程为:至少部分地基于规范来确定用于虚拟遥控器的虚拟元件的布局;以及将虚拟遥控器的虚拟元件与物理遥控器的控制元件相关联,使得虚拟遥控器上的虚拟元件的致动将使得父设备作出反应,如同对应于虚拟元件的控制元件在物理遥控器上被致动一样。

在第63方面,根据方面58-62中任一方面所述的可穿戴系统,其中硬件处理器还被编程为:确定与父设备相关联的多个候选虚拟遥控器;以及至少部分地基于用户的姿势或来自用户输入装置的指示,在多个候选虚拟遥控器中选择虚拟遥控器。

在第64方面,根据方面58-63中任一方面所述的可穿戴系统,其中传感器包括红外光源,并且其中根据红外数据协会通信标准或射频通信标准生成指令并将其发送到父设备。

在第65方面,根据方面58-64中任一方面所述的可穿戴系统,其中虚拟遥控器包括虚拟按钮,虚拟按钮与空间体积相关联并且具有被配置为跟踪用户与虚拟按钮的交互的激活表面和触发用户界面动作的触发表面。

在第66方面,根据方面65所述的可穿戴系统,其中激活表面与触发表面成平行关系。

在第67方面,根据方面65或66所述的可穿戴系统,其中为了接收虚拟遥控器的致动,硬件处理器被配置为:识别激活表面的第一位置;至少部分地基于用户的移动来计算第二位置和激活表面的移动;以及当激活表面的移动朝向触发表面并且激活表面的第二位置与触发表面的至少一部分相交时,致动虚拟按钮,或者当激活表面的移动远离触发表面并且激活表面的第一位置与触发表面的至少一部分相交时,释放虚拟按钮。

在第68方面,根据方面67所述的可穿戴系统,其中虚拟按钮还包括释放表面,并且其中硬件处理器被编程为当激活表面的第二位置与释放表面的至少一部分相交时,释放虚拟按钮。

在第69方面,根据方面67或68所述的可穿戴系统,其中为了计算激活表面的移动,硬件处理器被编程为:计算用户移动的速度矢量;以及基于以下中的至少一个来计算激活表面的速度:垂直于激活表面的速度矢量的值、平行于激活表面的速度矢量的值或者与激活表面相切的速度矢量的值。

在第70方面,根据方面65所述的可穿戴系统,其中硬件处理器被编程为通过混合现实显示器提供用于呈现给用户的虚拟按钮的可视化,该可视化至少部分地基于激活表面的移动。

在第71方面,一种用于在混合现实环境中提供虚拟远程控制的方法,该方法包括:访问由可穿戴装置获取的用户环境的图像;分析图像以识别用户环境中的目标装置;访问与目标装置相关联的规范,其中规范至少包括物理遥控器的控制元件到父设备的功能之间的映射;至少部分地基于该规范生成虚拟遥控器;使可穿戴装置在混合现实环境中呈现虚拟遥控器;检测用于与父设备交互的虚拟遥控器的致动;以及生成指令并向父设备发送指令,使得父设备执行功能,如同物理遥控器被致动一样。

在第72方面,根据方面71所述的方法,其中目标装置包括物理遥控器或父设备。

在第73方面,根据方面71或72所述的方法,其中识别目标装置包括:使用一种或多种计算机视觉算法来分析图像以辨别目标装置,该一种或多种计算机视觉算法包括以下中的至少一种:特征关键点算法、词袋类型搜索或神经网络算法。

在第74方面,根据方面71-73中任一方面所述的方法,其中生成虚拟遥控器包括:至少部分地基于规范确定用于虚拟遥控器的虚拟元件的布局;以及将虚拟遥控器的虚拟元件与物理遥控器的控制元件相关联,使得虚拟遥控器上的虚拟元件的致动将使父设备作出反应,如同在物理遥控器上对应于虚拟元件的控制元件被致动一样。

在第75方面,根据方面71-74中任一方面所述的方法,其中虚拟遥控器包括虚拟按钮,虚拟按钮与空间体积相关联并且具有被配置为跟踪用户与虚拟按钮交互的激活表面和用于触发用户界面动作的触发表面。

在第76方面,根据方面71-75中任一方面的方法,其中检测虚拟遥控器的致动包括:识别激活表面的第一位置;至少部分地基于用户的移动来计算第二位置和激活表面的移动;以及当激活表面的移动朝向触发表面并且激活表面的第二位置与触发表面的至少一部分相交时,致动虚拟按钮,或者当激活表面的移动远离触发表面并且激活表面的第一位置与触发表面的至少一部分相交时,释放虚拟按钮。

在第77方面,根据方面76所述的方法,其中虚拟按钮还包括释放表面,并且该方法还包括当激活表面的第二位置与释放表面的至少一部分相交时,释放虚拟按钮。

其他考虑因素

本文描述的和/或附图描绘的过程、方法以及算法中的每一者可体现在以下项中并通过以下项被全部或部分自动化:代码模块,其由一个或多个物理计算系统、硬件计算机处理器、专用电路执行;和/或电子硬件,其被配置为执行具体和特定计算机指令。例如,计算系统能包括用具体计算机指令或专用计算机编程的通用计算机(例如服务器)、专用电路等。代码模块可被编译并链接到可执行程序中,安装在动态链接库中,或可用解释性编程语言编写。在一些实施方式中,特定操作和方法可由特定于给定功能的电路来执行。

此外,本公开的功能的特定实施方式在数学上、计算上或技术上都足够复杂,以至于为了执行所述功能(例如由于所涉及的计算量或复杂性)或为了基本实时地提供结果,专用硬件或者一个或多个物理计算装置(利用适当的专有可执行指令)可以是必需的。例如,视频可包括多个帧,每帧具有数百万个像素,为了处理视频数据以在商业合理的时间量内提供期望的图像处理任务或应用,专用编程计算机硬件是必需的。

代码模块或任何类型的数据可被存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(ram)、只读存储器(rom)、光盘、易失性或非易失性存储器以及相同和/或相似元件的组合。方法和模块(或数据)也可在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的介质和基于有线/电缆的介质,且可采取多种形式(例如,作为单一或多路复用模拟信号的一部分,或者作为多个离散数字数据包或帧)。所公开的过程或处理步骤的结果可持久地或以其他方式存储在任何类型的非暂时性实体计算机存储器中,或可经由计算机可读传输介质进行传送。

本文所描述和/或附图所描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,它们包括在过程中实现具体功能(例如逻辑功能或算术功能)或步骤的一个或多个可执行指令。各种过程、框、状态、步骤或功能能够根据本文提供的说明性示例进行组合、重新排列、添加、删除、修改或其他改变。在一些实施例中,额外或不同的计算系统或代码模块可执行本文所述的一些或全部功能。本文所述方法和过程也不限于任何具体的顺序,且与其相关的框、步骤或状态能以适当的其他顺序来执行,例如以串行、并行或某种其他方式。可向所公开的示例实施例添加或从中移除任务或事件。此外,本文所述的实施方式中的分离各种系统组件是出于说明的目的,且不应被理解为在所有实施方式中都需要这样的分离。应该理解,所描述的程序组件、方法以及系统一般能一起集成在单个计算机产品中或封装到多个计算机产品中。许多实施方式变体是可行的。

过程、方法以及系统可在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(lan)、广域网(wan)、个人区域网络(pan)、云计算网络、众包计算网络、因特网以及万维网。网络可以是有线或无线网络或者任何其他类型的通信网络。

本公开的系统和方法各自具有若干创新性方面,这些方面中的任一单个方面不单独负责本文所公开的期望待性或不是本文所公开的期望待性所必需的。上述各种特征和过程可彼此独立使用或可以以各种方式组合使用。所有可能的组合和子组合均旨在落入此公开的范围内。对此公开所述的实施方式的各种修改对于本领域技术人员而言可以是显而易见的,且在不脱离此公开的精神或范围的情况下,可将本文中限定的一般原理应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是应被赋予与本文所公开的此公开、原理和新颖特征一致的最宽范围。

在单独实施方式的上下文中在此说明书所述的某些特征也能在单个实施方式中组合实现。相反,在单个实施方式的上下文中所述的各种特征也能在多个实施方式中单独地或以任何合适的子组合实现。此外,尽管上文可将特征描述为以某些组合执行,甚至最初这样要求保护,但在一些情况下,来自所要求保护的组合的一个或多个特征能被从该组合中删除,且所要求保护的组合可涉及子组合或子组合的变体。任何单个特征或特征组对于每个实施例都不是必需或不可或缺的。

本文中使用的条件语,诸如(除其他项外)“能”、“能够”、“可能”、“可以”、“例如”等一般旨在表达某些实施例包括而其他实施例不包括某些特征、元素和/或步骤,另有具体说明或在上下文中另有理解除外。因此,这样的条件语一般不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在具有或没有程序设计者输入或提示的情况下决定这些特征、元素和/或步骤是否包括在或者是否将在任何具体实施例中执行的逻辑。术语“包括”、“包含”、“具有”等是同义词,且以开放式的方式包含性地使用,且不排除额外的元素、特征、动作、操作等。此外,术语“或”以其包含性含义(而不是其专有性含义)使用,因此,当被用于例如连接元素列表时,术语“或”意味着列表中的一个、一些或全部元素。另外,本申请和所附权利要求书中使用的冠词“一”、“一个”和“所述”应被解释为意味着“一个或多个”或“至少一个”,另有具体说明除外。

如本文所使用的,涉及项目列表的“至少一个”的短语指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在覆盖:a、b、c、a和b、a和c、b和c以及a、b和c。诸如短语“x、y以及z中的至少一个”的连接语(除非另有声明)以通常使用的上下文来理解,以表达项目、术语等可以是x、y或z中的至少一个。因此,这样的连接语一般并不旨在暗示某些实施例要求x中的至少一个、y中的至少一个以及z中的至少一个中的每个都存在。

类似地,虽然操作在附图中可以以特定顺序描绘,但应认识到,这样的操作不需要以所述特定顺序或以相继顺序执行,或执行所有例示的操作以实现期望的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作能并入示意性地示出的示例方法和过程中。例如,能在任何所示操作之前、之后、同时或期间执行一个或多个附加操作。另外,在其他实施方式中,操作可被重新排列或重新排序。在某些情况下,多任务和并行处理可具有优势。此外,上述实施方式描述的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,且应该理解,所述程序组件和系统一般能被一起集成在单个软件产品中或封装到多个软件产品中。另外,其他实施方式处于以下权利要求的范围内。在一些情况下,权利要求中列举的动作能以不同的顺序执行,且仍实现期望的结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1