一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用姿势和多DOF控制器与3D虚拟对象的交互的制作方法

2022-09-03 22:16:47 来源:中国专利 TAG:

使用姿势和多dof控制器与3d虚拟对象的交互
1.本技术是国际申请号为pct/us2017/024844、国际申请日为2017年03月29日、中国国家申请号为201780033339.3、标题为“使用姿势和多dof控制器与3d虚拟对象的交互”的专利申请的分案申请。
2.相关申请的交叉引用
3.本技术根据35u.s.c.
§
119(e)要求2016年3月31日提交的名称为“cone casting with dynamically updated aperture(具有动态更新的孔径的锥体投射)”的美国临时申请no.62/316,030和2016年4月21日提交的名称为“dynamic mapping of user input device(用户输入设备的动态映射)”的美国临时申请no.62/325,679的优先权的权益,这两个申请在此通过引用整体并入本文中。
技术领域
4.本公开涉及虚拟现实和增强现实成像以及可视化系统,更具体地涉及基于上下文信息(contextual information)与虚拟对象交互。


背景技术:

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


技术实现要素:

6.在一个实施例中,公开了一种用于可穿戴设备的与对象交互的系统。所述系统包括可穿戴设备的显示系统,其被配置为向用户呈现三维(3d)视图并允许用户与用户的能视域(field of regard,for)中的对象进行交互。所述for可以包括能够经由所述显示系统被所述用户感知的所述用户周围的环境的一部分。所述系统可以还包括:传感器,其被配置为获取与所述用户的姿势相关联的数据;以及硬件处理器,其与所述传感器和所述显示系统通信。所述硬件处理器被编程为:基于由所述传感器获取的数据确定所述用户的姿势;启动针对所述for中的对象组的锥体投射(cone cast),所述锥体投射包括在至少部分地基于所述用户的姿势的方向上投射具有孔径(aperture)的虚拟锥体;分析与所述用户的环境相关联的上下文信息;至少部分地基于所述上下文信息更新所述虚拟锥体的孔径;以及渲染用于所述锥体投射的所述虚拟锥体的视觉表示。
7.在另一实施例中,公开一种用于可穿戴设备的与对象交互的方法。所述方法包括接收对在三维(3d)空间中的第一位置处向用户显示的目标虚拟对象的选择;接收所述目标虚拟对象的移动的指示;分析与所述目标虚拟对象相关联的上下文信息;至少部分地基于所述上下文信息计算将应用于所述目标虚拟对象的移动的乘数;计算所述目标虚拟对象的移动量,所述移动量至少部分地基于所述移动的指示和所述乘数;以及在第二位置处向所述用户显示所述目标虚拟对象,所述第二位置至少部分地基于所述第一位置和所述移动量。
8.在又一实施例中,公开了一种用于可穿戴设备的与对象交互的系统,所述系统包括:可穿戴设备的显示系统,其被配置为向用户呈现三维(3d)视图,所述3d视图包括目标虚拟对象。所述系统可以还包括硬件处理器,其与所述显示系统通信。所述硬件处理器被编程为:接收所述目标虚拟对象的移动的指示;分析与所述目标虚拟对象相关联的上下文信息;至少部分地基于所述上下文信息计算将应用于所述目标虚拟对象的移动的乘数;计算所述目标虚拟对象的移动量,所述移动量至少部分地基于所述移动的指示和所述乘数;以及通过所述显示系统,在第二位置处显示所述目标虚拟对象,所述第二位置至少部分地基于所述第一位置和所述移动量。
9.在附图和以下描述中阐述了本说明书中描述的主题的一种或多种实施方式的细节。通过说明书、附图和权利要求,其它特征、方面和优点将变得显而易见。本发明内容和以下具体实施方式都并非旨在限定或限制本发明主题的范围。
附图说明
10.图1描绘了具有由人观看到的某些虚拟现实对象和某些物理对象的混合现实场景的图示。
11.图2示意性地示例出可穿戴系统的示例。
12.图3示意性地示例出使用多个深度平面模拟三维图像的方法的方面。
13.图4示意性地示例出用于将图像信息输出给用户的波导堆叠的示例。
14.图5示出了可以由波导输出的示例性出射光束。
15.图6是示出光学系统的示意图,该光学系统包括波导装置、光学耦合器子系统以及控制子系统,其中光学耦合器子系统用于将光光学耦合到波导装置或从波导装置光学耦合光,控制子系统用于产生多焦点体积显示器、图像或光场。
16.图7是可穿戴系统的示例的框图。
17.图8是渲染与所识别的对象有关的虚拟内容的方法的示例的过程流程图。
18.图9是可穿戴系统的另一示例的框图。
19.图10是用于确定可穿戴系统的用户输入的方法的示例的过程流程图。
20.图11是用于与虚拟用户界面交互的方法的示例的过程流程图。
21.图12a示例出具有不可忽略的孔径的锥体投射的示例。
22.图12b和12c是使用具有不同的动态调整的孔径的锥体投射选择虚拟对象的示例。
23.图12d、12e、12f和12g描述了基于对象密度动态调整孔径的示例。
24.图13、14和15是用于使用具有动态可调整的孔径的锥体投射选择可交互对象的示例过程的流程图。
25.图16示意性地示例出使用用户输入设备移动虚拟对象的示例。
26.图17示意性地示例出乘数随距离变化的示例。
27.图18示例出用于响应于用户输入设备的移动而移动虚拟对象的示例过程的流程图。
28.在全部附图中,参考标号可以被重复使用来指示被引用的要素之间的对应关系。提供附图是为了示例本文中描述的示例性实施例,而非旨在限制本公开的范围。
具体实施方式
29.概述
30.可穿戴系统可被配置为在ar/vr/mr环境中显示虚拟内容。可穿戴系统可以允许用户与用户环境中的物理或虚拟对象交互。用户例如可以通过选择和移动对象,使用姿势或通过驱动(actuate)用户输入设备来与对象交互。例如,用户可以将用户输入设备移动特定距离,并且虚拟对象将跟随用户输入设备并移动相同量的距离。类似地,可穿戴系统可以使用锥体投射来允许用户通过姿势选择或瞄准虚拟对象。当用户移动他的头部时,可穿戴系统可以相应地瞄准并选择用户视场中的不同虚拟对象。
31.如果对象间隔相对较远,则这些方法会引起用户疲劳。这是因为为了将虚拟对象移到所需位置或者为了到达所需对象,用户还需要将用户输入设备移动很大距离或使身体移动量增加(例如,增加手臂或头部移动的量)很大距离。另外,以一距离精确定位对象会具有挑战性,因为在远处位置可能难以看到少量的调整。另一方面,当对象越靠近在一起时,用户可能更喜欢更精确的定位,以便精确地与所需对象交互。
32.为了减少用户疲劳并提供与可穿戴系统的动态用户交互,可穿戴系统可以基于上下文信息自动调整用户界面操作。
33.作为基于上下文信息提供动态用户交互的示例,可穿戴系统可以基于上下文因素自动更新锥体投射中的锥体的孔径。例如,如果用户将她的头部转向具有高密度对象的方向,则可穿戴系统可以自动减小锥体孔径,使得锥体内的虚拟可选择对象更少。类似地,如果用户将她的头部转向具有低密度对象的方向,则可穿戴系统可以自动增加锥体孔径以在锥体内包括更多对象或者减少为了使锥体与虚拟对象重叠所必需的移动量。
34.作为另一示例,可穿戴系统可以提供乘数,该乘数可以将用户输入设备的移动量(和/或用户的移动)转换为虚拟对象的更大移动量。结果,当对象位于远处时,用户不必物理地移动大的距离以将虚拟对象移到所需位置。然而,当虚拟对象靠近用户时(例如,在用户的手部可达范围(hand reach)内),乘数可以被设定为1。因此,可穿戴系统可以在用户移动与虚拟对象的移动之间提供一对一的操纵。这可以允许用户以提高的精度与附近的虚拟对象交互。下面详细描述基于上下文信息的用户交互的示例。
35.可穿戴系统的3d显示的示例
36.可穿戴系统(这里也被称为增强现实(ar)系统)可以被配置为向用户呈现2d或3d虚拟图像。图像可以是静止图像、视频帧或视频、上述项的组合等等。可穿戴系统可以包括可穿戴设备,可穿戴设备可以单独或组合地呈现vr、ar或mr环境以用于用户交互。可穿戴设备可以是头戴式设备(hmd)。
37.图1描绘了具有由人观看到的某些虚拟现实对象以及某些物理对象的混合现实场
景的图示。在图1中,描绘了mr场景100,其中mr技术的用户看到以人、树木、背景中的建筑物以及混凝土平台120为特征的真实世界公园状设置110。除了这些项目之外,mr技术的用户还感知他“看到”站在真实世界平台120上的机器人雕像130,以及看起来像大黄蜂的化身的飞舞的卡通式的化身角色140,尽管这些元素不存在于真实世界中。
38.为了使3d显示器产生真实的深度感觉,更具体地,模拟的表面深度感觉,可能期望显示器的视场中的每个点产生与其虚拟深度对应的调节响应(accommodative response)。如果对显示点的调节响应不对应于该点的虚拟深度(由汇聚和立体视觉的双眼深度线索确定),则人眼可能经历调节冲突,导致成像不稳定、有害的眼部紧张、头痛,并且在没有调节信息的情况下,几乎完全缺乏表面深度。
39.vr、ar和mr体验可以通过具有显示器的显示系统来提供,其中与多个深度平面对应的图像被提供给观看者。对于每个深度平面,图像可以是不同的(例如,提供场景或对象的略微不同的呈现),并且可以由观看者的眼睛单独聚焦,从而有助于基于眼睛的调节(需要这种调节以使位于不同深度平面上的场景的不同图像特征聚焦),或者基于观察到不同深度平面上的不同图像特征失焦,为用户提供深度线索。如本文其它地方所讨论的,这种深度线索提供了可靠的深度感知。
40.图2示例出可穿戴系统200的示例。可穿戴系统200包括显示器220以及支持该显示器220的功能的各种机械和电子模块和系统。显示器220可以被耦接到框架230,该框架可由用户、穿戴者或观看者210穿戴。显示器220可以被定位在用户210的眼睛的前方。显示器220可以向用户呈现ar/vr/mr内容。显示器220可以包括穿戴在用户头部上的头戴式显示器(hmd)。在一些实施例中,扬声器240被耦接到框架230并且被定位在用户的耳道附近(在一些实施例中,另一扬声器(未示出)可以被定位在用户的另一耳道附近以提供立体声/可塑形的声音控制)。
41.可穿戴系统200可包括面向外的成像系统464(如图4所示),其观察用户周围环境中的世界。可穿戴系统200可以还包括面向内的成像系统462(如图4所示),其可以跟踪用户的眼睛运动。面向内的成像系统可以跟踪一只眼睛的运动或全部两只眼睛的运动。面向内的成像系统462可以被附接到框架230并且可以与处理模块260或270电通信,处理模块260或270可以处理由面向内的成像系统获取的图像信息以确定例如用户210的眼睛的瞳孔直径或取向、眼睛运动或眼睛姿势。
42.作为示例,可穿戴系统200可以使用面向外的成像系统464或面向内的成像系统462来获取用户姿势的图像。图像可以是静止图像、视频帧或视频,上述项的组合等等。
43.显示器220可以例如通过有线引线或无线连接可操作地耦接250到本地数据处理模块260,本地数据处理模块260可以以各种配置安装,例如固定地附接到框架230,固定地附接到用户戴的头盔或帽子,嵌入在耳机中,或以其它方式可移除地附接到用户210(例如,采取背包式配置,采取腰带耦接式配置)。
44.本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,二者都可用于辅助数据的处理、缓存以及存储。数据可以包括如下数据:a)从传感器(其可以例如可操作地耦接到框架230或以其它方式附接到用户210)捕获的数据,例如图像捕获设备(例如,面向内的成像系统中的相机或者面向外的成像系统中的相机)、麦克风、惯性测量单元(imu)、加速度计、罗盘、全球定位系统(gps)单元、无线电设
备或陀螺仪;或b)使用远程处理模块270或远程数据储存库280获取或处理的数据,可能在这样的处理或检索之后传递给显示器220。本地处理和数据模块260可以通过通信链路262或264(诸如经由有线或无线通信链路)可操作地耦接到远程处理模块270或远程数据储存库280,使得这些远程模块作为资源可用于本地处理和数据模块260。另外,远程处理模块280和远程数据储存库280可以可操作地相互耦接。
45.在一些实施例中,远程处理模块270可以包括一个或多个处理器,其被配置为分析和处理数据和/或图像信息。在一些实施例中,远程数据储存库280可以包括数字数据存储设施,其可以通过互联网或其它网络配置以“云”资源配置而可用。在一些实施例中,在本地处理和数据模块中存储全部数据,并且执行全部计算,允许从远程模块完全自主使用。
46.人类视觉系统复杂,并且提供深度的逼真感知是具挑战性的。不受理论的限制,相信对象的观看者可能由于聚散度和调节的组合而将该对象感知为“三维的”。两只眼睛相对于彼此的聚散运动(即,瞳孔朝向彼此或远离彼此的滚动运动,以会聚眼睛的视线来注视对象)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,改变眼睛晶状体的焦点或调节眼睛,以将焦点从一个对象改变到在不同距离处的另一个对象,这将会在被称为“调节-聚散度反射(accommodation-vergence reflex)”的关系下自动地导致到相同的距离的聚散度的匹配改变。同样,在正常情况下,聚散度的改变将引发调节的匹配改变。提供调节和聚散度之间的更好匹配的显示系统可以形成更逼真且舒适的三维图像模拟。
47.图3示例出使用多个深度平面来模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和眼睛304的不同距离处的对象由眼睛302和眼睛304调节,以使得这些对象在焦点中。眼睛302和眼睛304采取特定的调节状态,以使沿着z轴的不同距离处的对象进入焦点。因此,可以说特定的调节状态与深度平面306中的特定一个深度平面相关联,该特定深度平面具有相关联的焦距,以使得当眼睛处于特定深度平面的调节状态时,该深度平面中的对象或对象的部分被聚焦。在一些实施例中,可以通过为眼睛302和304中的每一只眼睛提供图像的不同呈现,并且还通过提供与深度平面中每一个深度平面对应的图像的不同呈现,来模拟三维图像。尽管为了清楚说明而被示出为分离的,但应理解的是,例如随着沿z轴的距离增加,眼睛302和眼睛304的视场可能重叠。另外,虽然为了便于说明而被示出为平坦的,但应理解的是,深度平面的轮廓在物理空间中可以是弯曲的,使得深度平面中的所有特征在特定的调节状态下与眼睛对焦。不受理论的限制,据信人类眼睛通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面对应的图像的不同呈现,可以实现所感知的深度的高度可信的模拟。
48.波导堆叠组件
49.图4示例出用于将图像信息输出给用户的波导堆叠的示例。可穿戴系统400包括波导堆叠或堆叠波导组件480,其可用于使用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知。在一些实施例中,可穿戴系统400可以对应于图2的可穿戴系统200,图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2的显示器220中。
50.继续参考图4,波导组件480可以还包括位于波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其它实施例中,特征458、456、454、452可以不是透镜。相反,它们可以简单地是间隔物(例如,包层和/或用于形成气隙的
结构)。
51.波导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定向。
52.在一些实施例中,图像注入装置420、422、424、426、428是分立的显示器,每个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装420、422、424、426、428是单个多路复用显示器的输出端,其可以例如经由一个或多个光导管(例如光纤电缆)将图像信息管道传输到图像注入装置420、422、424、426、428中的每一者。
53.控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。控制器460包括编程(例如,非暂时性计算机可读介质中的指令),该编程调节到波导440b、438b、436b、434b、432b的图像信息的定时和提供。在一些实施例中,控制器460可以是单个整体设备,或者是通过有线或无线通信信道连接的分布式系统。在一些实施例中,控制器460可以是处理模块260或270(如图2所示)的部分。
54.波导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可以形成在那片材料的表面上或那片材料的内部中。
55.继续参考图4,如本文所讨论的,每一个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定深度平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一上行波导434b可以被配置为将传输通过第一透镜452(例如,负透镜)的准直光在其可以
到达眼睛410之前发出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自该下一上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处向内更靠近眼睛410。类似地,第三上行波导436b将输出光在到达眼睛410之前传输通过第一透镜452和第二透镜454。第一透镜452和第二透镜454的组合光焦度(optical power)可被配置为产生波前曲率的另一增量,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自所述下一上行波导434b的光更向内靠近人。
56.其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的全部透镜发送其输出,用于代表最靠近人的焦平面的总(aggregate)焦度。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以被设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的总焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电激活的)。在一些替代实施例中,两者之一或者两者都可以使用电激活特征而为动态的。
57.继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向出它们各自的波导并且针对与波导相关联的特定深度平面以适当的发散量或准直度输出该光。结果,具有不同相关联深度平面的波导可具有不同的光提取光学元件配置,其取决于相关联的深度平面而输出具有不同发散量的光。在一些实施例中,如本文所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图和/或衍射光栅。在2015年6月25日公开的美国专利公开no.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用全部并入本文中。
58.在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案的衍射特征或“衍射光学元件”(本文中也称为“doe”)。优选地,doe具有相对较低的衍射效率,以使得仅光束的一部分通过doe的每一个交点偏转向眼睛410,而其余部分经由全内反射继续移动通过波导。携带图像信息的光因此可被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且该结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。
59.在一些实施例中,一个或多个doe可以在它们活跃地衍射的“开”状态和它们不显著衍射的“关”状态之间可切换。例如,可切换的doe可以包括聚合物分散液晶层,其中微滴在基体介质中包含衍射图案,并且微滴的折射率可以被切换为基本上匹配基体材料的折射率(在这种情况下,图案不明显地衍射入射光),或者微滴可以被切换为与基体介质的折射率不匹配的折射率(在这种情况下,该图案活跃地衍射入射光)。
60.在一些实施例中,深度平面的数量和分布或景深可以基于观看者的眼睛的瞳孔大小或取向而动态地改变。景深可以与观看者的瞳孔大小成反比地改变。因此,随着观看者眼睛的瞳孔大小减小时,景深增加,使得由于一个平面的位置超出了眼睛的焦点深度而不可辨别的该平面可能变得可辨别,并且随着瞳孔大小的减小表现为更聚焦,而且与景深的增加相称。同样地,用于向观看者呈现不同图像的间隔开的深度平面的数量可以随着瞳孔大
小的减小而减小。例如,观看者在不将眼睛的调节从一个深度平面调整到另一个深度平面的情况下,可能不能以一个瞳孔大小清楚地感知第一深度平面和第二深度平面两者的细节。然而,这两个深度平面可以在不改变调节的情况下,对于处于另一瞳孔大小的用户同时充分地聚焦。
61.在一些实施例中,显示系统可以基于瞳孔大小或取向的确定,或在接收到指示特定瞳孔大小或取向的电信号时,改变接收图像信息的波导的数量。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减轻系统的处理负担,从而增加系统的响应性。在其中用于一波导的doe可在接通和关断状态之间切换的实施例中,当波导确实接收图像信息时,doe可以被切换到关断状态。
62.在一些实施例中,可能期望使出射光束满足直径小于观看者眼睛直径的条件。然而,考虑到观看者的瞳孔大小的可变性,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者的瞳孔大小的确定而改变出射光束的大小,该条件在宽范围的瞳孔大小上满足。例如,随着瞳孔大小减小,出射光束的大小也可以减小。在一些实施例中,可以使用可变光圈来改变出射光束大小。
63.可穿戴系统400可包括面向外的成像系统464(例如,数字相机),其对世界470的一部分进行成像。世界470的该部分可被称为视场(fov),并且成像系统464有时被称为fov相机。可供观看者观看或成像的整个区域可被称为能视域(for)。因为穿戴者可以移动其身体、头部或眼睛以感知空间中的基本上任何方向,for可以包括围绕可穿戴系统400的立体角的4π球面度。在其它情况下,穿戴者的运动可能更受限制,相应地,穿戴者的for可以对着更小的立体角。从面向外的成像系统464获得的图像可用于跟踪用户做出的手势(例如手或手指的姿势),检测用户前方的世界470中的对象等等。
64.可穿戴系统400还可以包括面向内的成像系统466(例如,数码相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内的成像系统466可以用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小和/或取向。面向内的成像系统466可以用于获得图像,用于确定用户正在观看的方向(例如,眼睛姿势)或用于用户的生物测定识别(例如,经由虹膜识别)。在一些实施例中,可以为每只眼睛利用至少一个相机,以独立地分别确定每只眼睛的瞳孔大小或眼睛姿势,由此允许向每只眼睛呈现图像信息以动态
□□□□□□□□□□□□□□

□□□□□
410的瞳孔直径或取向(例如,每对眼睛仅使用单个相机)被确定并假定对于用户的双眼是相似的。可以分析由面向内的成像系统466获得的图像以确定用户的眼睛姿势或情绪,其可由可穿戴系统400使用来决定应该向用户呈现哪些音频或视觉内容。可穿戴系统400还可以使用诸如imu、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部取向)。
65.可穿戴系统400可以包括用户输入设备466,通过该用户输入设备466用户可以向控制器460输入命令以与可穿戴系统400交互。例如,用户输入设备466可以包括触控板、触摸屏、操纵杆、多自由度(dof)控制器、电容感测设备、游戏控制器、键盘、鼠标、方向垫(d-pad)、魔杖、触觉设备、图腾(例如,用作虚拟用户输入设备)等等。多dof控制器可以感测控制器的部分或全部可能的平移(例如,左/右、前/后、或上/下)或旋转(例如,偏航、俯仰或翻滚)方面的用户输入。支持平移运动的多dof控制器可以被称为3dof,而支持平移和旋转的
多dof控制器可以被称为6dof。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入设备上按压或轻扫以向可穿戴系统400提供输入(例如,以将用户输入提供给由可穿戴系统400提供的用户界面)。用户输入设备466可以在使用可穿戴系统400期间由用户的手保持。用户输入设备466可以与可穿戴系统400进行有线或无线通信。
66.图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解的是,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过tir在波导432b内传播。在光520照射在doe 432a上的点处,一部分光作为出射光束510离开波导。出射光束510被示出为基本上平行,但是取决于与波导432b相关联的深度平面,该出射光束510也可以以一定角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解的是,基本上平行的出射光束可以指示具有光提取光学元件的波导,其中光提取光学元件将光耦出以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410调节到更近距离以将其聚焦在视网膜上并且将被大脑解释为来自比光学无穷远更靠近眼睛410的距离的光。
67.图6是示出了包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统、以及控制子系统的光学系统的示意图,该光学系统用于生成多焦点立体显示、图像或光场。该光学系统可以包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统,以及控制子系统。该光学系统可以用于生成多焦点立体、图像或光场。该光学系统可以包括一个或多个主平面波导632a(在图6中仅示出一个)以及与至少一些主波导632a中的每一个主波导相关联的一个或多个doe 632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。该光学系统可以使用分布波导装置以沿着第一轴(图6的视图中的垂直轴或y轴)中继光,并且沿着第一轴(例如,y轴)扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个doe 622a(由双点划线示出)。分布平面波导622b在至少一些方面可以与主平面波导632b相似或相同,但具有与其不同的取向。类似地,至少一个doe 622a在至少一些方面可以与doe 632a相似或相同。例如,分布平面波导622b或doe 622a可以分别由与主平面波导632b或doe 632a相同的材料构成。图6中所示的光学显示系统600的实施例可以被集成到图2中所示的可穿戴显示系统200中。
68.中继的和出射光瞳扩展的光可从分布波导装置被光学耦合到一个或多个主平面波导632b中。主平面波导632b可以沿着优选地与第一轴正交的第二轴(例如,图6的视图中的水平轴或x轴)中继光。值得注意的是,第二轴可以是与第一轴非正交的轴。主平面波导632b沿着该第二轴(例如,x轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿着垂直轴或y轴中继和扩展光,并且将该光传递到可以沿着水平轴或x轴中继和扩展光的主平面波导632b。
69.该光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,这些彩色光源可以被光学耦合到单模光纤640的近端中。可以穿过压电材料的中空管642来通过或接收光纤640的远端。远端作为非固定柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以被镀在管642的外侧、外表面或外周或外径上。
芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。
70.例如经由导线660电耦接的驱动电子器件650驱动相对的电极对以独立地在两个轴上弯曲压电管642。光纤644的突出远端顶端具有机械共振模式。共振的频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械共振模式附近振动压电管642,可以使得光纤悬臂644振动,并且可以扫过大的偏转。
71.通过激发两个轴上的共振,光纤悬臂644的顶端在遍及二维(2-d)扫描的区域中双轴扫描。通过与光纤悬臂644的扫描同步地调制一个或多个光源610的强度,从光纤悬臂644出射的光可以形成图像。美国专利公开no.2014/0003762中提供了这样的设置的描述,其通过引用全部并入本文中。
72.光学耦合器子系统的部件可以准直从扫描光纤悬臂644出射的光。准直光可以被镜面648反射到包含至少一个衍射光学元件(doe)622a的窄分布平面波导622b中。准直光可以通过tir沿分布平面波导622b垂直地(相对于图6的视图)传播,并且在这样做时与doe 622a反复相交。doe 622a优选具有低衍射效率。这可导致一部分(例如,10%)光在与doe 622a的每个交点处被衍射朝向较大的主平面波导632b的边缘,并且一部分光通过tir在其原始轨迹上继续沿分布平面波导622b的长度向下。
73.在与doe 622a的每个交点处,附加光可以被衍射向主波导632b的入口。通过将入射光分成多个耦出组,光的出射光瞳可以在分布平面波导622b中被doe 4垂直地扩展。从分布平面波导622b耦出的该垂直扩展的光可以进入主平面波导632b的边缘。
74.进入主波导632b的光可以经由tir沿着主波导632b水平(相对于图6的视图)传播。由于光通过tir沿着主波导632b的长度的至少一部分水平传播,因此光在多个点处与doe 632a相交。doe 632a可以有利地被设计或构造成具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。doe 632a可以有利地具有低衍射效率(例如,10%),使得doe 632a的每个交点只有一部分光束的光朝着视图的眼睛偏转,而其余的光经由tir通过波导632b继续传播。
75.在传播光和doe 632a之间的每个交点处,一部分光朝着主波导632b的相邻面衍射,从而允许光脱离tir,并且从主波导632b的面出射。在一些实施例中,doe 632a的径向对称衍射图案另外向衍射光赋予聚焦水平,既对单独的光束的光波前(例如,赋予曲率)进行整形,也以与设计的聚焦水平相匹配的角度使光束转向。
76.因此,这些不同的路径可以通过多个doe 632a以不同的角度、聚焦水平和/或在出射光瞳处产生不同的填充图案来使光耦合出主平面波导632b。出射光瞳处的不同填充图案可以有利地被用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可被用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层在第一焦深处分别产生红光、蓝光和绿光。可以采用第二组的三个相邻层在第二焦深处分别产生红光、蓝光和绿光。可以采用多个组来产生具有各种焦深的全3d或4d彩色图像光场。
77.可穿戴系统的其它部件
78.在许多实施方式中,可穿戴系统可以包括其它部件,作为上述可穿戴系统的部件的补充或替代。可穿戴系统例如可以包括一个或多个触觉设备或部件。触觉设备或部件可以用于向用户提供触觉。例如,触觉设备或部件可以在触摸虚拟内容(例如,虚拟对象、虚拟
工具、其它虚拟构造)时提供压力或纹理的触觉。触觉可以复制虚拟对象表示的物理对象的感觉,或者可以复制虚拟内容表示的想象的对象或角色(例如,龙)的感觉。在一些实施方式中,触觉设备或部件可由用户穿戴(例如,用户可穿戴的手套)。在一些实施方式中,触觉设备或部件可以由用户保持。
79.可穿戴系统例如可以包括可由用户操纵的一个或多个物理对象以允许输入或与可穿戴系统进行交互。这些物理对象在本文中可以被称为图腾。一些图腾可采取无生命对象的形式,诸如例如金属或塑料块、墙壁、桌子的表面。在某些实施方式中,图腾可能实际上不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以简单地提供物理表面,并且可穿戴系统可以呈现用户界面,以便对于用户而言看起来在图腾的一个或多个表面上。例如,可穿戴系统可以使计算机键盘和触控板的图像看起来驻留在图腾的一个或多个表面上。例如,可穿戴系统可以使虚拟计算机键盘和虚拟触控板看起来在作为图腾的铝的薄矩形板的表面上。矩形板本身没有任何物理键或触控板或传感器。然而,可穿戴系统可以检测用户操纵或交互或触摸该矩形板作为经由虚拟键盘或虚拟触控板进行的选择或输入。用户输入设备466(在图4中示出)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器或另一物理输入设备。用户可以单独或与姿势结合使用图腾,以与可穿戴系统或其它用户进行交互。
80.在美国专利公开no.2015/0016777中描述了可用于本公开的可穿戴设备、hmd和显示系统的触觉设备和图腾的示例,其全部内容通过引用并入本文中。
81.可穿戴系统、环境和接口示例
82.可穿戴系统可以采用各种与地图绘制相关的技术,以便在所呈现的光场中实现高景深。在绘制出虚拟世界时,了解真实世界中的所有特征和点以准确描绘与真实世界相关的虚拟对象是有利的。为此,可以通过包括传达关于真实世界的各种点和特征的信息的新图片,将从可穿戴系统的用户捕获的fov图像添加到世界模型。例如,可穿戴系统可以收集一组地图点(诸如2d点或3d点)并找到新的地图点(map point)以呈现的世界模型的更精确版本。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传达给第二用户,使得第二用户可以体验围绕第一用户的世界。
83.图7是mr环境700的示例的框图。mr环境700可以被配置为接收来自一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或固定房间系统(例如,室内相机等)的输入(例如,来自用户的可穿戴系统的视觉输入702、诸如房间相机的固定输入704、来自各种传感器的传感器输入706、来自用户输入设备466的用户输入、手势、图腾、眼睛跟踪等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、移动传感器、深度传感器、gps传感器、面向内的成像系统、面向外的成像系统等)来确定用户环境的位置和各种其它属性。该信息可以进一步补充有来自房间中的固定相机的信息,该相机可以从不同的视点提供图像或各种线索。由相机(诸如房间相机和/或面向外的成像系统的相机)获取的图像数据可以被缩减为映射点组。
84.一个或多个对象识别器708可以爬过(crawl through)接收到的数据(例如,点的集合)并且借助于地图数据库710来识别或映射点、标记图像,将语义信息附加到对象。地图数据库710可以包括随时间推移收集的各个点及其相应的对象。各种设备和地图数据库可
以通过网络(例如lan、wan等)相互连接以访问云。
85.基于该信息和地图数据库中的点集合,对象识别器708a至708n可以识别环境中的对象。例如,对象识别器可以识别面部、人、窗户、墙壁、用户输入设备、电视、用户环境中的其它对象等。一个或多个对象识别器可以专用于具有特定特性的对象。例如,对象识别器708a可用于识别面部,而另一对象识别器可用于识别图腾。
86.可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴系统可以分析由面向外的成像系统464(如图4所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别、对象姿势估计、学习、索引、运动估计或图像恢复等。可以使用一种或多种计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:尺度不变特征变换(sift)、加速鲁棒特征(surf)、定向fast和旋转brief(orb)、二进制鲁棒不变可扩展关键点(brisk)、快速视网膜关键点(freak)、viola-jones算法、特征脸方法、lucas-kanade算法、horn-schunk算法,均值漂移(mean-shift)算法、视觉同步定位与地图构建(vslam)技术、序列贝叶斯估计器(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、光束法平差(bundle adjustment)、自适应阈值分割(和其它阈值分割技术)、迭代最近点(icp)、半全局匹配(sgm)、半全局块匹配(sgbm)、特征点直方图、各种机器学习算法(例如,支持向量机、k最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)或其它有监督/无监督模型等)等等。
87.附加地或替代地,对象识别可以通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由hmd存储。机器学习算法的一些示例可以包括有监督或无监督机器学习算法,包括回归算法(例如,普通最小二乘回归)、基于实例的算法(例如,学习向量量化)、决策树算法(例如,分类和回归树)、贝叶斯算法(例如,朴素贝叶斯)、聚类算法(例如,k均值聚类)、关联规则学习算法(例如,先验算法)、人工神经网络算法(例如,感知机)、深度学习算法(例如,深度玻尔茨曼机或深度神经网络)、降维算法(例如例如,主成分分析)、集合算法(例如,堆栈泛化)和/或其它机器学习算法。在一些实施例中,可以针对各个数据集定制各个模型。例如,可穿戴设备可以生成或存储基础模型。基础模型可以用作生成特定于数据类型(例如,远端临场会话中的特定用户)、数据集(例如,在远端临场会话中从用户处获得的附加图像集)、条件情况或其它变化的附加模型的起点。在一些实施例中,可穿戴hmd可以被配置为利用多种技术来生成用于分析聚合数据的模型。其它技术可包括使用预定义的阈值或数据值。
88.基于该信息和地图数据库中的点的集合,对象识别器708a至708n可以识别对象并用语义信息补充对象以赋予对象生命。例如,如果对象识别器将一组点识别为门,则系统可以附加一些语义信息(例如,该门具有铰链并且具有围绕铰链的90度移动)。如果对象识别器将一组点识别为镜子,则系统可以附加这样的语义信息:该镜子具有可以反射房间中对象的图像的反射表面。随着时间的推移,地图数据库随着系统(其可以驻留在本地或可以通过无线网络访问)累积来自世界的更多数据而增长。一旦识别出对象,就可以将该信息发送到一个或多个可穿戴系统。例如,mr环境700可以包括关于在加利福尼亚发生的场景的信息。环境700可以被发送给纽约的一个或多个用户。基于从fov相机和其它输入接收的数据,对象识别器和其它软件组件可以映射从各种图像收集的点、识别对象等,使得该场景可以准确地“传递”给可能在世界的不同部分的第二用户。环境700也可以使用拓扑图来实现本地化目的。
89.图8是呈现与所识别的对象相关的虚拟内容的方法800的示例的过程流程图。方法800描述了如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离该场景。例如,用户可能在纽约,但可能想要观看当前正在加利福尼亚发生的场景,或者可能想要与居住在加利福尼亚的朋友散步。
90.在框810处,可穿戴系统可以从用户和其他用户接收关于用户的环境的输入。这可以通过各种输入设备和在地图数据库中已有的知识来实现。在框810处,用户的fov相机、传感器、gps、眼睛跟踪等向系统传送信息。在框820处,系统可以基于该信息确定稀疏点。稀疏点可用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手部手势),这些数据可用于显示和理解用户周围环境中各种对象的取向和位置。在框830处,对象识别器708a-708n可以爬过这些收集的点并使用地图数据库识别一个或多个对象。然后可以在框840处将该信息传送给用户的个人可穿戴系统,并且可以在框850处相应地向用户显示所期望的虚拟场景。例如,可以相对于在纽约的用户的各种对象和其它环境以适当的取向、位置等显示所期望的虚拟场景(例如,位于ca的用户)。
91.图9是可穿戴系统的另一示例的框图。在该示例中,可穿戴系统900包括地图,该地图可以包括世界的地图数据。该地图可以部分地驻留在可穿戴系统本地,可以部分地驻留在可通过有线或无线网络(例如,在云系统中)访问的网络存储位置。姿势处理910可以在可穿戴计算架构(例如,处理模块260或控制器460)上被执行,并利用来自地图的数据而确定可穿戴计算硬件或用户的位置和取向。可以根据当用户正在体验系统并在世界中操作时即时收集的数据来计算姿势数据。该数据可以包括图像、来自传感器(例如惯性测量单元,其通常包括加速度计和陀螺仪部件)的数据和与真实或虚拟环境中的对象相关的表面信息。
92.稀疏点表示可以是同时定位与地图构建(slam或v-slam,是指其中输入只是图像/视觉的配置)过程的输出。该系统可以被配置为不仅找出各种部件在该世界中的位置,而且还找出该世界是由什么构成的。姿势可以是实现许多目标的构建块,包括填充地图和使用来自地图的数据。
93.在一个实施例中,稀疏点位置本身可能不完全足够,并且可能需要进一步的信息来产生多焦点ar、vr或mr体验。可以使用通常参考深度地图信息的密集表示来至少部分地填充该间隙。这样的信息可以根据被称为立体(stereo)的处理940来计算,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和有源(active)模式(诸如使用有源(active)投影仪创建的红外模式)可以用作立体处理940的输入。可以将大量深度地图信息融合在一起,并且可以用表面表示来概括其中的一些。例如,数学上可定义的表面是诸如游戏引擎之类的其它处理设备的有效(例如,相对于大点云)且可消化的输入。因此,立体处理(例如,深度地图)940的输出可以在融合处理930中组合。姿势也可以是向该融合处理930的输入,并且融合930的输出变为填充(populate)地图处理920的输入。子表面可以彼此连接(例如在地形图中)以形成更大的表面,并且地图变成点和表面的大混合体。
94.为了解决混合现实处理960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,可以输入游戏参数以确定系统的用户正在玩打怪兽游戏,其中一个或多个怪兽位于各个位置,怪兽在各种条件下死亡或逃跑(例如如果用户射杀怪兽),墙壁或其它对象位于各个位置等等。世界地图可以包括有关这些对象在哪些位置彼此相关的信息,作为混合现实的另一有价值的输入。相对于世界的姿势也成为一种输入,并且几乎对任何交互系
统起着关键作用。
95.来自用户的控制或输入是可穿戴系统900的另一输入。如本文所述,用户输入可包括视觉输入、手势、图腾、音频输入、感官输入等。为了四处移动或玩游戏,例如,用户可能需要指示可穿戴系统900关于他或她想要做什么。除了在空间中移动自己之外,存在可以利用的多种形式的用户控制。在一个实施例中,图腾(例如,用户输入设备)或诸如玩具枪之类的对象可由用户握持并由系统跟踪。该系统优选地被配置为知道用户正在握住商品并且理解用户与商品进行何种交互(例如,如果图腾或对象是枪,则系统可以被配置为了解位置和取向,以及用户是否正在点击触发器或其它可能配备有传感器的感测按钮或元件,例如imu,其可以有助于确定正在发生的事情,即使这样的活动不在任何相机的视场内)。
96.手势跟踪或识别也可以提供输入信息。可穿戴系统900可以被配置为跟踪和解释按钮按压的手势,用于向左或向右打手势、停止、抓取、保持等。例如,在一种配置中,用户可能想要在非游戏环境中翻阅电子邮件或日历,或与其他人或玩家“击拳”。可穿戴系统900可以被配置为利用最小量的手势,该手势可以是动态的,也可以不是动态的。例如,手势可以是简单的静态手势,如张开手表示停止,拇指向上表示好(ok),拇指向下表示不好;或者左右或上下翻转手来做出方向命令。
97.眼睛跟踪是另一种输入(例如,跟踪用户正在看哪里以控制显示技术来在特定深度或范围进行呈现)。在一个实施例中,可以使用三角测量来确定眼睛的聚散度,然后使用为该特定人物开发的聚散度/调节模型,可以确定调节。
98.关于相机系统,图9所示的示例性可穿戴系统900可包括三对相机:相对宽的fov或被动slam相机对,其布置在用户面部的侧面,不同的相机对定位在用户前面以处理立体成像处理940且还捕获手势和在用户面部前面的图腾/对象跟踪。用于立体处理940的fov相机和所述相机对可以是面向外的成像系统464(在图4中示出)的一部分。可穿戴系统900可以包括眼睛跟踪相机(其可以是图4中所示的面向内的成像系统462的一部分),眼睛跟踪相机朝向用户的眼睛取向,以便对眼睛向量和其它信息进行三角测量。可穿戴系统900可以还包括一个或多个纹理化光投影仪(例如红外(ir)投影仪)以将纹理注入到场景中。
99.图10是用于确定可穿戴系统的用户输入的方法1000的示例的过程流程图。在该示例中,用户可以与图腾交互。用户可能有多个图腾。例如,用户可能已经指定了一个图腾用于社交媒体应用,另一图腾用于玩游戏,等等。在框1010处,可穿戴系统可以检测图腾的移动。图腾的移动可以通过面向外的系统识别,或者可以通过传感器(例如,触觉手套、图像传感器、手部跟踪设备、眼睛跟踪相机、头部姿势传感器等)来检测。
100.在框1020处,至少部分地基于检测到的手势、眼睛姿势、头部姿势或通过图腾的输入,可穿戴系统检测图腾(或用户的眼睛或头部或手势)相对于参考系(reference frame)的位置、取向和/或移动。参考系可以是一组地图点,可穿戴系统基于该组地图点将图腾(或用户)的移动转换为动作或命令。在框1030处,映射(map)用户与图腾的交互。在框1040处,基于相对于参考系1020的用户交互的映射,系统确定用户输入。
101.例如,用户可以前后移动图腾或物理对象以表示翻动虚拟页面并移动到下一页或者从一个用户界面(ui)显示屏移动到另一ui屏。作为另一示例,用户可移动他们的头部或眼睛以观看用户的for中的不同真实或虚拟对象。如果用户注视特定真实或虚拟对象的时间长于阈值时间,则可以选择该真实或虚拟对象作为用户输入。在一些实施方式中,可以跟
踪用户眼睛的聚散度,并且可以使用调节/聚散度模型来确定用户眼睛的调节状态,其提供关于用户正在关注的深度平面的信息。在一些实施方式中,可穿戴系统可以使用射线投射技术来确定哪些真实或虚拟对象沿着用户的头部姿势或眼睛姿势的方向。在各种实施方式中,射线投射技术可包括投射具有实质上很小的横向宽度的薄铅笔射线或具有大横向宽度的射线(例如,椎体或平截头体)。
102.用户界面可由本文所述的显示系统(例如图2中的显示器220)投射。它还可以使用各种其它技术显示,例如一个或多个投影仪。投影仪可以将图像投射到诸如画布或地球仪之类的物理对象上。可以使用系统外部的或作为系统一部分的一个或多个相机(例如,使用面向内的成像系统462或面向外的成像系统464)来跟踪与用户界面的交互。
103.图11是用于与虚拟用户界面交互的方法1100的示例的过程流程图。方法1100可以由本文描述的可穿戴系统执行。
104.在框1110处,可穿戴系统可识别特定ui。ui的类型可以由用户预先确定。可穿戴系统可以基于用户输入(例如,姿势、视觉数据、音频数据、传感数据、直接命令等)识别需要填充特定ui。在框1120处,可穿戴系统可以生成用于虚拟ui的数据。例如,可以生成与ui的界限(confine)、一般结构、形状等相关联的数据。另外,可穿戴系统可以确定用户的物理位置的地图坐标,使得可穿戴系统可以显示与用户的物理位置有关的ui。例如,如果ui以身体为中心,则可穿戴系统可以确定用户的身体位置(physical stance)的坐标、头部姿势或眼睛姿势,使得可以在用户周围显示环形ui,或者可以在墙壁上或在用户前面显示平面ui。如果ui以手为中心,则可以确定用户的手的地图坐标。这些地图点可以借助通过fov相机接收的数据、传感输入或任何其它类型的收集数据取得。
105.在框1130处,可穿戴系统可以从云向显示器发送数据,或者数据可以从本地数据库发送到显示部件。在框1140处,基于发送的数据向用户显示ui。例如,光场显示器可以将虚拟ui投射到用户的一只或两只眼睛中。在框1150处,一旦创建了虚拟ui,可穿戴系统只需等待来自用户的命令以生成在虚拟ui上的更多虚拟内容。例如,ui可以是围绕用户身体的身体中心环。然后,可穿戴系统可以等待命令(手势、头部或眼睛动作、来自用户输入设备的输入等),并且如果它被识别(框1160),可以向用户显示与该命令相关联的虚拟内容(框1170)。作为示例,可穿戴系统可以在混合多个流轨道之前等待用户的手势。
106.可穿戴系统、ui和用户体验(ux)的其它示例在美国专利公开no.2015/0016777中描述,其全部内容通过引用并入本文中。
107.基于上下文信息的用户交互的概述
108.可穿戴系统可以支持基于上下文信息与for中的对象的各种用户交互。例如,可穿戴系统可以使用锥体投射,通过与对象的用户交互,调整锥体的孔径大小。作为另一示例,可穿戴系统可以基于上下文信息调整与用户输入设备的驱动(actuation)相关联的虚拟对象的移动量。在下文提供这些交互的详细示例。
109.对象示例
110.用户的for可以包含对象组,所述对象组可以由用户经由可穿戴系统感知。用户的for内的对象可以是虚拟和/或物理对象。虚拟对象可以包括操作系统对象,例如用于已删除文件的回收站、用于输入命令的终端、用于访问文件或目录的文件管理器、图标、菜单、用于音频或视频流的应用程序、来自操作系统的通知等等。虚拟对象还可以包括应用程序中
的对象,例如化身、游戏中的虚拟对象、图形或图像等。一些虚拟对象可以既是操作系统对象,也是应用程序中的对象。在一些实施例中,可穿戴系统可以将虚拟元素添加到现有物理对象。例如,可穿戴系统可以添加与房间中的电视相关联的虚拟菜单,其中虚拟菜单可以向用户提供选项以使用可穿戴系统打开或改变电视频道。
111.用户的for中的对象可以是参考图9所描述的世界地图的一部分。与对象相关联的数据(例如,位置、语义信息、特性等)可以被存储在各种数据结构中,例如数组、列表、树、散列、图形等。每个存储对象的索引在适当的时候例如可以通过对象的位置来确定。例如,数据结构可以通过诸如对象距基准位置的距离(例如,距离基准位置的左侧(或右侧)多远,距离基准位置的顶部(或底部)多远,或距基准位置的深度多远)的单个坐标来索引对象。在一些实施方式中,可穿戴系统包括光场显示器,其能够在相对于用户的不同深度平面处显示虚拟对象。可交互对象可以被组织成位于不同固定深度平面处的多个阵列。
112.用户可以与用户的for中的对象子集交互。该对象子集有时可被称为可交互对象。用户可以使用各种技术,例如,通过选择对象,通过移动对象,通过打开与对象关联的菜单或工具栏,或通过选择一个新的可交互对象集,来与对象交互。用户可以通过使用手势来驱动用户输入设备(请参见例如图4中的用户输入设备466),例如,点击鼠标,轻敲触摸板,在触摸屏上滑动,悬停在电容式按钮上方或触摸电容式按钮,按下键盘或游戏控制器(例如,五向手柄(5-way d-pad))上的按键,将操纵杆、魔杖或图腾指向对象,按下遥控器上的按钮,或与用户输入设备的其它交互等,来与可交互对象进行交互。用户还可以使用头部、眼睛或身体姿势,例如,注视或指向对象一段时间,来与可交互对象交互。用户的这些手势和姿势可以使可穿戴系统发起选择事件,在选择事件中,例如,执行用户界面操作(显示与目标可交互对象相关联的菜单,对游戏中的化身执行游戏操作,等等)。
113.锥体投射的示例
114.如本文中所述,用户可以使用姿势与他的环境中的对象交互。例如,用户可以向房间内看并且看到桌子、椅子、墙壁和在一堵墙上的虚拟电视显示器。为了确定用户正在看向哪些对象,可穿戴系统可以使用锥体投射技术,一般而言,该锥体投射技术在用户正在观看的方向上投射不可见的锥体并且识别与该锥体相交的任何对象。锥体投射可以包括从(可穿戴系统的)hmd向物理或虚拟对象投射没有横向厚度的单个射线。使用单个射线的锥体投射也可以被称为射线投射。
115.射线投射可以使用碰撞检测剂沿着射线跟踪并且识别是否有任何对象与射线相交以及识别在哪里相交。可穿戴系统可以使用惯性测量单元(例如,加速度计)、眼睛跟踪相机等来跟踪用户的姿势(例如,身体、头部或眼睛方向),以确定用户正在看向的方向。可穿戴系统可以使用用户的姿势来确定投射射线的方向。射线投射技术还可以与用户输入设备466(例如手持式多自由度(dof)输入设备)结合使用。例如,用户可以在其四处移动时驱动多dof输入设备以锚定射线的大小和/或长度。作为另一示例,可穿戴系统可以从用户输入设备投射射线,而不是从hmd投射射线。
116.在某些实施例中,可穿戴系统可以投射具有不可忽略的孔径(横向于中心射线1224)的锥体,而不是投射具有可忽略厚度的射线。图12a示出了具有不可忽略的孔径的锥体投射的示例。锥体投射可以投射具有可调整的孔径的圆锥(或其它形状的)体1220。锥体1220可以是具有近端1228a和远端1228b的几何锥体。孔径大小可以对应于锥体的远端
1228b的尺寸。例如,大孔径可以对应于锥体的远端1228b(例如,远离hmd、用户或用户输入设备的端部)处的大表面面积。作为另一示例,大孔径可以对应于锥体1220的远端1228b上的大直径1226,而小孔径可以对应于锥体1220的远端1228b上的小直径1226。如参考图12a进一步描述的,锥体1220的近端1228a可以使其原点位于各种位置处,例如,用户的ard的中心(例如,在用户的眼睛之间)处,用户的肢体之一(例如,手、诸如手的手指)上的点处,由用户保持或操作的用户输入设备或图腾(例如,玩具武器)处。
117.中心射线1224可以表示锥体的方向。锥体的方向可以对应于用户的身体姿势(例如头部姿势、手势等)或用户的注视方向(也被称为眼睛姿势)。图12a中的示例1206示出了具有姿势的锥体投射,其中可穿戴系统可以使用用户的头部姿势或眼睛姿势来确定锥体的方向1224。该示例还示出了头部姿势的坐标系。头部1250可具有多个自由度。当头部1250朝着不同方向移动时,头部姿势将相对于自然静止方向1260改变。图12a中的坐标系示出了三个角度自由度(例如,偏航、俯仰和翻滚),其可用于测量相对于头部的自然静止状态1260的头部姿势。如图12a所示,头部可以前后倾斜(例如俯仰),左右转动(例如偏航),以及从一侧倾斜到另一侧(例如翻滚)。在其它实施方式中,可以使用用于测量头部姿势的其它技术或角度表示,例如,任何其它类型的欧拉角系统。可穿戴系统可以使用imu确定用户的头部姿势。面向内的成像系统462(如图4所示)可用于确定用户的眼睛姿势。
118.示例1204示出了具有姿势的锥体投射的另一示例,其中可穿戴系统可基于用户的手势确定锥体的方向1224。在该示例中,锥体1220的近端1228a位于用户手指1214的尖端处。当用户将他的手指指向另一位置时,锥体1220(和中心射线1224)的位置可以相应地移动。
119.锥体的方向还可以对应于用户输入设备的位置或取向或者用户输入设备的驱动。例如,锥体的方向可以基于用户在用户输入设备的触摸表面上绘制的轨迹。用户可以在触摸表面上向前移动他的手指以指示锥体的方向是向前的。示例1202示出了借助用户输入设备的另一锥体投射。在该示例中,近端1228a位于武器状用户输入设备1212的尖端处。当用户输入设备1212四处移动时,锥体1220和中心射线1224也可以与用户输入设备1212一起移动。
120.锥体的方向还可以基于hmd的位置或取向。例如,当hmd倾斜时,可以在第一方向上投射锥体,而当hmd不倾斜时,可以在第二方向上投射锥体。
121.锥体投射的启动
122.当用户1210例如通过点击鼠标,敲击触摸板,轻扫触摸屏,触摸电容式按钮或悬停在该按钮上方,按下键盘或游戏控制器上的键(例如,5向手柄),将操纵杆、魔杖或图腾指向对象,按下遥控上的按钮,或与用户输入设备的其它交互等驱动用户输入设备466时,可穿戴系统可以启动锥体投射。
123.可穿戴系统还可基于用户1210的姿势,例如,朝一个方向长时间注视或手势(例如,在面向外的成像系统464前面挥动),来启动锥体投射。在一些实施方式中,可穿戴系统可以基于上下文信息自动开始锥体投射事件。例如,当用户位于ar显示器的主页面时,可穿戴系统可以自动开始锥体投射。在另一示例中,可穿戴系统可以确定用户注视方向上的对象的相对位置。如果可穿戴系统确定对象彼此相对远地分开,则可穿戴系统可以自动开始锥体投射,因此用户不必精确地移动来选择稀疏定位的对象组中的对象。
124.锥体特性示例
125.锥体1220可具有诸如尺寸、形状或颜色之类的各种特性。可以向用户显示这些特性,以便用户可感知到锥体。在一些情况下,可以显示锥体1220的部分(例如,锥体的端部、锥体的表面、锥体的中心射线等)。在其它实施例中,锥体1220可以是长方体、多面体、角锥体、平截头体等。锥体的远端1228b可以具有任何横截面,例如圆形、椭圆形、多边形或不规则形状。
126.在图12a、12b和12c中,锥体1220可具有近端1228a和远端1228b。近端1228a(也被称为中心射线1224的零点)可以与锥体投射起源于的位置相关联。近端1228a可以被锚定到3d空间中的一位置,使得虚拟锥体看起来从该位置发射。该位置可以是用户头部上的位置(例如在用户的眼睛之间)、充当指示装置(pointer)的用户输入设备(例如,6dof手持式控制器或3dof手持式控制器)、手指尖端(其可通过手势识别而被检测)等。对于手持式控制器,近端1228a所锚定于的位置可取决于设备的形状因素。例如,在武器状控制器1212(用于射击游戏)中,近端1228a可以位于控制器1212的枪口的尖端处。在该示例中,锥体的近端1228a可以起源于筒体的中心处,并且锥体1220的锥体1220(或中心射线1224)可向前突出,使得锥体投射的中心与武器状控制器1212的筒体同心。在各种实施例中,锥体的近端1228a可以被锚定到用户环境中的任何位置。
127.一旦锥体1220的近端1228a被锚定到一位置,锥体1220的方向和移动便可以基于与该位置相关联的对象的移动。例如,如参考示例1206所述,当锥体被锚定到用户的头部时,锥体1220可以基于用户的头部姿势移动。作为另一示例,在示例1202中,当锥体1220被锚定到用户输入设备时,锥体1220可以基于用户输入设备的驱动来移动,例如,基于用户输入设备的位置或取向的变化来移动。
128.锥体的远端1228b可以一直延伸,直到其达到终止阈值。终止阈值可以涉及锥体与环境中的虚拟或物理对象(例如,墙壁)之间的碰撞。终止阈值还可以基于阈值距离。例如,远端1228b可以从近端1228a开始一直延伸出去,直到锥体与对象碰撞或者直到远端1228b与近端1228a之间的距离达到阈值距离(例如,20厘米、1米、2米、10米等)。在一些实施例中,即使可能在锥体与对象之间发生碰撞,锥体也可以延伸到对象之外。例如,远端1228b可以延伸穿过真实世界对象(例如桌子、椅子、墙壁等),并在其达到终止阈值时终止。假设终止阈值是位于用户当前房间外部的虚拟房间的墙壁,则可穿戴系统可以将锥体延伸到当前房间之外,直到它到达虚拟房间的表面。在某些实施例中,可以使用世界网格定义一个或多个房间的范围。可穿戴系统可以通过确定虚拟锥体是否已与世界网格的一部分相交来检测终止阈值的存在。有利的是,在一些实施例中,当锥体延伸穿过真实世界对象时,用户可以容易地瞄准虚拟对象。作为示例,hmd可以在物理墙上呈现虚拟孔,通过该虚拟孔,用户可以与另一房间中的虚拟内容进行远程交互,即使用户不在物理上位于该另一房间中。hmd可以基于图9中描述的世界地图确定另一房间中的对象。
129.锥体1220可具有深度。锥体1220的深度可以由锥体1220的近端1228a与远端1228b之间的距离表示。锥体的深度可以由可穿戴系统、用户或可穿戴系统和用户的组合自动调整。例如,当可穿戴系统确定对象远离用户时,可穿戴系统可以增加锥体的深度。在一些实施方式中,锥体的深度可以被锚定到特定深度平面。例如,用户可以选择将锥体深度锚定到距离用户1米内的深度平面。结果,在锥体投射过程中,可穿戴系统不会捕获在1米范围边界
之外的对象。在某些实施例中,如果锥体深度被锚定到某个深度平面,则锥体投射将仅捕获该深度平面处的对象。因此,锥体投射将不会捕获比该锚定的深度平面更靠近用户或更远离用户的对象。作为设定锥体1220的深度的补充或替代,可穿戴系统可将远端1228b设定到一深度平面,使得锥体投射可允许用户与位于该深度平面处或比该深度平面近的位置处的对象进行交互。
130.可穿戴系统可以在检测到特定的手势、身体姿势、注视方向、用户输入设备的驱动、语音命令或其它技术时锚定锥体的深度、近端1228a或远端1228b。作为本文描述的示例的补充或替代,近端1228a、远端1228b或锚定深度的锚定位置可以基于例如上下文信息,诸如用户交互类型、锥体所锚定到的对象的功能等。例如,由于用户的可用性和感觉,近端1228a可以被锚定到用户头部的中心。作为另一示例,当用户使用手势或用户输入设备指向对象时,近端1228a可以被锚定到用户手指的尖端或用户输入设备的尖端,以增加用户所指的方向的准确性。
131.锥体1220可具有颜色。锥体1220的颜色可取决于用户的偏好、用户的环境(虚拟或物理环境)等。例如,如果用户处于充满绿叶树木的虚拟丛林中,则可穿戴系统可提供深灰色锥体,以增加锥体与用户环境中的对象之间的对比度,使得用户可以更好地看到锥体的位置。
132.可穿戴系统可以生成锥体的至少一部分的视觉表示以显示给用户。锥体1220的特性可以反映在锥体1220的视觉表示中。锥体1220的视觉表示可以对应于锥体的至少一部分,例如锥体的孔径、锥体的表面、中心射线等。例如,在虚拟锥体是几何锥体的情况下,虚拟锥体的视觉表示可以包括从用户眼睛之间的位置延伸的灰色几何锥体。作为另一示例,视觉表示可以包括锥体的与真实或虚拟内容交互的部分。假设虚拟锥体是几何锥体,则因为几何锥体的基部可被用于瞄准和选择虚拟对象,视觉表示可以包括表示几何锥体的基部的圆形图案。在某些实施例中,基于用户界面操作来触发视觉表示。作为示例,视觉表示可以与对象的状态相关联。当对象从静止状态或悬停状态(其中可以移动或选择对象)改变时,可穿戴系统可以呈现视觉表示。当对象从悬停状态变为被选择状态时,可穿戴系统可以进一步隐藏视觉表示。在一些实施方式中,当对象处于悬停状态时,可穿戴系统可以从用户输入设备接收输入(作为锥体投射的补充或替代)并且可以允许用户在对象处于悬停状态时使用用户输入设备来选择虚拟对象。
133.在某些实施例中,锥体1220可以对用户不可见。可穿戴系统可以将焦点标记(focus indicator)分配给指示锥体的方向和/或位置的一个或多个对象。例如,可穿戴系统可以将焦点标记分配给位于用户前方并与用户的注视方向相交的对象。焦点标记可以包括光晕、颜色、感知的尺寸或深度变化(例如,使得目标对象在被选择时看起来更近和/或更大)、光标精灵图形的形状变化(例如,光标从圆变为箭头),或其它引起用户注意的听觉、触觉或视觉效果。
134.锥体1220可以具有横向于中心射线1224的孔径。在一些实施例中,中心射线1224对于用户1210是不可见的。孔径的大小可以对应于锥体的远端1228b的尺寸。例如,大孔径可以对应于锥体1220的远端1228b上的大直径1226,而小孔径可以对应于锥体1220的远端1228b上的小直径1226。
135.如参考图12b和12c进一步描述的,孔径可由用户、可穿戴系统或用户和可穿戴系
统的组合调整。例如,用户可以通过用户界面操作,例如通过选择ar显示器上示出的孔径的选项,来调整孔径。用户还可以通过驱动用户输入设备,例如,通过滚动用户输入设备,或者通过按下按钮来固定孔径的大小,来调整孔径。作为用户输入的补充或替代,可穿戴系统可以基于下面描述的一个或多个上下文因素来更新孔径的大小。
136.具有动态更新的孔径的锥体投射的示例
137.锥体投射可被用于在与用户环境中的对象交互时提高精度,尤其是当这些对象位于这样的一距离处时:在该距离处,用户的少量移动可转化为射线的大移动。锥体投射还可被用于减小为了使锥体与一个或多个虚拟对象重叠而需要的用户移动量。在一些实施方式中,用户可以手动更新锥体的孔径并提高选择目标对象的速度和精度,例如,在存在较多对象时使用较窄的锥体,在存在较少对象时使用较宽的锥体。在其它实施方式中,可穿戴系统可以确定与用户环境中的对象相关联的上下文因素并且允许自动锥体更新,作为手动更新的补充或替代,因为所需的用户输入更少,这可以有利地使得用户更容易与环境中的对象交互。
138.图12b和12c提供了对用户的for 1200中的对象组1230(例如,1230a、1230b、1230c、1230d、1230e,这些对象中的至少一些在用户的fov中)执行锥体投射的示例。对象可以是虚拟和/或物理对象。在锥体投射期间,可穿戴系统可以在一方向上投射锥体(对用户可见或不可见)1220并且识别与锥体1220相交的任何对象。例如,在图12b中,对象1230a(以粗体示出)与锥体1220相交。在图12c中,对象1230d和1230e(以粗体示出)与锥体1220相交。对象1230b、1230c(以灰色示出)在锥体1220外部并且不与锥体1220相交。
139.可穿戴系统可以基于上下文信息自动更新孔径。上下文信息可以包括与用户的环境有关的信息(例如,用户的虚拟或物理环境的光照条件);用户的偏好;用户的身体条件(例如,用户是否近视);与用户环境中的对象相关联的信息,例如用户环境中的对象类型(例如,物理或虚拟对象);或对象布局(例如,对象密度、对象位置和大小等);用户正在与之交互的对象的特性(例如,对象功能、对象支持的用户界面操作的类型等),上述各项的组合等等。可以以各种方式测量密度,例如,单位投影面积的对象数量、单位立体角的对象数量等。密度可以以其它方式表示,例如,相邻对象之间的间隔(较小的间隔反映增加的密度)。可穿戴系统可以使用对象的位置信息来确定一区域中对象的布局和密度。如图12b所示,可穿戴系统可以确定对象组1230的密度高。因此,可穿戴系统可以使用具有较小孔径的锥体1220。在图12c中,因为对象1230d和1230c彼此相对远离,所以可穿戴系统可以使用(与图12b中的锥体相比)具有较大孔径的锥体1220。有关计算对象密度和基于密度调整孔径大小的更多细节在图12d至12g中进一步描述。
140.可穿戴系统可以基于用户的姿势动态地更新孔径(例如,大小或形状)。例如,用户可以首先查看图12b中的对象组1230,但是当用户转头时,用户现在可以查看图12c中的对象组(其中对象相对于彼此稀疏地定位)。结果,可穿戴系统可以增大孔径大小(例如,如图12b与图12c之间的锥体的孔径变化所示)。类似地,如果用户将他的头转回去查看图12b中的对象组1230,可穿戴系统可以减小孔径大小。
141.附加地或替代地,可穿戴系统可以基于用户的偏好来更新孔径大小。例如,如果用户更喜欢同时选择大的项目组,则可穿戴系统可以增大孔径大小。
142.作为基于上下文信息动态地更新孔径的另一示例,如果用户处于黑暗环境中或者
如果用户近视,则可穿戴系统可以增大孔径大小,以使得用户更容易捕获对象。在某些实施方式中,第一锥体投射可以捕获多个对象。可穿戴系统可以执行第二锥体投射以进一步在捕获的对象中选择目标对象。可穿戴系统还可以允许用户使用身体姿势或用户输入设备从捕获的对象中选择目标对象。对象选择过程可以是递归过程,其中可以执行一次、两次、三次或更多次锥体投射以选择目标对象。
143.基于对象密度动态地更新孔径的示例
144.如参考图12b和12c所述,可以在锥体投射期间基于用户的for中的对象的密度动态地更新锥体的孔径。图12d、12e、12f和12g描述了基于对象密度动态地调整孔径的示例。图12d示出了与用户的for 1208中的对象的密度相关联的等值线(contour)图。虚拟对象1271由小纹理点表示。虚拟对象的密度由给定区域中的等值线数量反映。例如,等值线在区域1272中彼此靠近,这表示区域1272中的对象密度高。作为另一示例,区域1278中的等值线相对稀疏。因此,区域1278中的对象密度低。
145.孔径1270的视觉呈现在图12d中以阴影圆圈示出。该示例中的视觉表示可以对应于虚拟锥体1220的远端1228b。孔径大小可以基于给定区域中的对象密度而改变。例如,孔径大小可以取决于圆心处的对象密度。如图12d所示,当孔径位于区域1272时,孔径1270的大小可以减小(如孔径圆的相对小的尺寸所示)。然而,当用户盯着for 1208中的区域1276时,孔径1270的大小变得略大于区域1272处的大小。当用户进一步改变他的头部姿势以观看区域1274时,因为区域1274处的对象密度低于区域1276处的对象密度,孔径的大小变得大于区域1276处的大小。作为又一示例,在区域1278处,孔径1270的大小将增大,因为for 1208的区域1278中几乎没有任何对象。尽管在这些示例中用等值线图示出了密度,但是也可以使用热图、曲面图或其它图形或数字表示来确定密度。通常,术语“等值线图”包括这些其它类型的密度表示(在1d、2d或3d中)。此外,等值线图通常不呈现给用户,但是可以由ard处理器计算和使用以动态地确定锥体的特性。当物理或虚拟对象在用户的fov或for中移动时,可以动态地更新等值线图。
146.可以采用各种技术来计算对象的密度。作为一个示例,可以通过对用户的fov内的所有虚拟对象计数来计算密度。虚拟对象的数量可以被用作函数的输入,该函数基于fov中的虚拟对象的数量来规定孔径大小。图12e中的图像1282a示出了具有由圆形、椭圆形和三角形表示的三个虚拟对象以及使用纹理圆示出的孔径1280的虚拟表示的fov。然而,当虚拟对象的数量从三个(在图像1282a中)减少到两个(在图像1282b中)时,孔径1280的大小可以相应地增大。可穿戴系统可以使用图12f中的函数1288来计算增大量。在该图中,孔径大小由y轴1286b表示,而fov中虚拟对象的数量(或密度)由x轴1286a表示。如图所示,当虚拟对象的数量增加(例如,密度增加)时,孔径大小根据函数1288而减小。在某些实施例中,最小孔径大小为零,这将锥体精简为单个射线。尽管函数1288被示为线性函数,但是也可以使用任何其它类型的函数,例如一个或多个幂律函数。在一些实施例中,函数1288可以包括一个或多个阈值条件。例如,当对象密度达到某个低阈值时,即使对象密度可能进一步减小,孔径1280的大小也将不再增大。另一方面,当对象密度达到某个高阈值时,即使对象密度可能进一步增大,孔径1280的大小也将不再减小。然而,当密度在低阈值与高阈值之间时,孔径大小例如可以根据指数函数减小。
147.图12g示出了用于计算密度的另一示例性技术。例如,作为计算fov中的虚拟对象
数量的补充或替代,可穿戴系统可以计算被虚拟对象覆盖的fov的百分比。图像1292a和1292b示出了基于fov中的对象数量来调整孔径大小。如该示例中所示,尽管被虚拟图像覆盖的fov的百分比在图像1292a与1292b之间是不同的(图像1292a中的对象更稀疏地被定位),但是孔径1280的大小在这两个图像中不变,这是因为对象的数量(例如,三个虚拟对象)在图像1292a和1292b中是相同的。与此形成对比,图像1294a和1294b示出了基于被虚拟对象覆盖的fov的百分比来调整孔径大小。如图像1294a所示,孔径1280的大小将增加(与在图像1292a中保持不变的相反),这是因为较低百分比的fov被虚拟对象所覆盖。
148.碰撞的示例
149.可穿戴系统可以确定在锥体投射期间一个或多个对象是否与锥体碰撞。可穿戴系统可以使用碰撞检测剂来检测碰撞。例如,碰撞检测剂可以识别与锥体表面相交的对象和/或识别锥体内部的对象。可穿戴系统可以基于锥体的体积和位置以及对象的位置信息(如存储在参考图9描述的世界地图中)来做出这种识别。用户环境中的对象可以与网格(也被称为世界网格)相关联。碰撞检测剂可以确定锥体的一部分是否与对象的网格重叠以检测碰撞。在某些实施方式中,可穿戴系统可以被配置为仅检测锥体与特定深度平面上的对象之间的碰撞。
150.可穿戴系统可以向与锥体碰撞的对象提供焦点标记。例如,在图12b和12c中,焦点标记可以是围绕对象的全部或部分的红色高光。因此,在图12b中,当可穿戴系统确定对象1230a与锥体1220相交时,可穿戴系统可以向用户1210显示对象1230a周围的红色高光。类似地,在图12c中,可穿戴系统将对象1230e和1230d识别为与锥体1220相交的对象。可穿戴系统可以在对象1230d和对象1230e周围提供红色高光。
151.当碰撞涉及多个对象时,可穿戴系统可以呈现用于在多个对象中选择一个或多个对象的用户界面元素。例如,可穿戴系统可以提供焦点标记,该焦点标记可以指示用户当前正在与之交互的目标对象。用户可以使用手势来驱动用户输入设备并将焦点标记移到另一目标对象。
152.在一些实施例中,对象可以在用户的3d环境中位于另一对象后面(例如,附近的对象至少部分地遮挡更远的对象)。有利地,可穿戴系统可以在锥体投射期间应用消歧技术(例如,以确定被遮挡的对象,确定被遮挡的对象之间的深度排序或位置等)以既捕获前面的对象也捕获后面的对象。例如,在用户房间中碎纸机可以位于计算机后面。虽然用户可能无法看到碎纸机(因为它被计算机遮挡),但是可穿戴系统可以在计算机的方向上投射锥体并检测碎纸机和计算机二者的碰撞(因为碎纸机和计算机二者都在可穿戴系统的世界地图中)。可穿戴系统可以显示弹出菜单以为用户提供选择碎纸机或计算机的选择,或者可穿戴系统可以使用上下文信息来确定要选择哪个对象(例如,如果用户试图删除文件,系统可以选择碎纸机)。在某些实施方式中,可穿戴系统可以被配置为仅捕获前面的对象。在该示例中,可穿戴系统将仅检测锥体与碎纸机之间的碰撞。
153.在检测到碰撞时,可穿戴系统可以允许用户以各种方式与可交互对象交互,例如,选择对象,移动对象,打开与对象相关联的菜单或工具栏,或者对游戏中的化身执行游戏操作等。用户可以通过姿势(例如,头部姿势、身体姿势)、手势、用户输入设备的输入,上述各项的组合等等与可交互对象交互。例如,当锥体与多个可交互对象碰撞时,用户可以驱动用户输入设备以在多个可交互对象中进行选择。
154.动态地更新孔径的示例过程
155.图13是用于使用具有动态可调整的孔径的锥体投射选择对象的示例过程的流程图。该过程1300可以由可穿戴系统(如图2和4所示)执行。
156.在框1310处,可穿戴系统可以启动锥体投射。可以通过用户姿势或用户输入设备上的手势来触发锥体投射。例如,可以通过点击用户输入设备和/或通过用户长时间注视一方向来触发锥体投射。如框1320所示,可穿戴系统可以分析用户环境的显著特征,例如,对象类型、对象布局(物理或虚拟对象)、对象位置、对象大小、对象密度、对象与用户之间的距离等。例如,可穿戴系统可以通过确定用户前面的对象数量和对象大小来计算用户注视方向上的对象密度。环境的显著特征可以是本文描述的上下文信息的一部分。
157.在框1330处,可穿戴系统可基于上下文信息调整孔径大小。如参考图12b和12c所讨论的,当对象稀疏地定位时和/或当没有障碍物时,可穿戴系统可以增加孔径大小。大孔径大小可对应于锥体1220的远端1228b上的大直径1226。当用户四处移动和/或改变环境时,可穿戴系统可基于上下文信息更新孔径大小。上下文信息可以与其它信息组合以确定和更新孔径,所述其它信息为例如用户的偏好、用户的姿势、锥体的特性(例如,深度、颜色、位置等)。
158.在框1340处,可穿戴系统可渲染锥体投射可视化。锥体投射可视化可包括具有不可忽视的孔径的锥体。如参考图12a、12b和12c所示,锥体可具有各种尺寸、形状或颜色。
159.在框1350处,可穿戴系统可以转化锥体投射并扫描碰撞。例如,可穿戴系统可以使用参考图16至18描述的技术来转化锥体的移动量。可穿戴系统还可以通过计算相对于用户环境中的对象位置的锥体位置来确定锥体是否已与一个或多个对象碰撞。如参考图12a、12b和12c所讨论的,一个或多个对象可以与锥体表面相交或落入锥体内。
160.如果可穿戴系统未检测到碰撞,则在框1360处,可穿戴系统重复框1320,其中可穿戴系统分析用户的环境并且可基于用户的环境更新孔径(如框1330所示)。如果可穿戴系统检测到碰撞,则可穿戴系统例如可以通过在碰撞的对象上放置焦点标记来指示碰撞。当锥体与多个可交互对象碰撞时,可穿戴系统可以使用消歧技术来捕获一个或多个被遮挡的对象。
161.在框1380处,用户可以可选地以如参考图图12a、12b和12c所述的各种方式与碰撞的对象交互。例如,用户可以选择对象,打开与对象相关联的菜单,或移动对象等。
162.图14是用于使用具有动态可调整的孔径的锥体投射来选择对象的示例过程的另一流程图。该过程1400可以由可穿戴系统(如图2和4所示)执行。在框1410处,可穿戴系统确定用户的for中的对象组。
163.在框1420处,可穿戴系统可以启动针对用户的for中的该对象组的锥体投射。可穿戴系统可以基于来自用户输入设备的输入(例如,魔杖摆动)或姿势(例如,特定手势)来启动锥体投射。可穿戴系统还可以基于特定条件自动触发锥体投射。例如,当用户位于可穿戴系统的主显示器处时,可穿戴系统可以自动开始锥体投射。锥体投射可以使用虚拟锥体,虚拟锥体可以具有中心射线和横向于中心射线的孔径。中心射线可以基于用户的注视方向。
164.在框1430处,可穿戴系统可以确定用户的姿势。用户的姿势可以是头部姿势、眼睛姿势或身体姿势中的一项或它们的组合。可穿戴系统可以基于用户的姿势确定用户的fov。fov可以包括用户在给定时间感知的for的一部分。
165.基于用户的fov,在框1440处,可穿戴系统可以确定在用户的fov内的对象子组。当用户的fov改变时,用户的fov内的对象也可能改变。可穿戴系统可以被配置为分析用户的fov中的对象的上下文信息。例如,可穿戴系统可以基于fov中的对象的大小和位置来确定对象密度。
166.在框1450处,可穿戴系统可针对锥体投射事件确定孔径的大小。孔径的大小可以基于上下文信息确定。例如,当可穿戴系统确定对象密度高时,可穿戴系统可以使用具有小孔径的锥体来增加用户交互的精度。在一些实施例中,可穿戴系统还可以调整锥体深度。例如,当可穿戴系统确定所有对象都远离用户时,可穿戴系统可以将锥体延伸到具有这些对象的深度平面。类似地,如果可穿戴系统确定对象靠近用户,则可穿戴系统可缩小锥体深度。
167.在框1460处,可穿戴系统可以生成锥体投射的视觉表示。锥体的视觉表示可以包含参考图12b和12c所述的锥体的特性。例如,可穿戴系统可以显示具有颜色、形状和深度的虚拟锥体。虚拟锥体的位置可以与用户的头部姿势、身体姿势或注视方向相关联。锥体可以是几何锥体、长方体、多面体、角锥体、平截头体,或其它三维形状,这些其它三维形状可以是或可以不是规则形状。
168.当用户四处移动时,锥体也可以与用户一起移动。如参考图15至18进一步描述的,当用户四处移动时,还可以基于上下文信息计算与用户的移动对应的锥体移动量。例如,如果fov中的对象密度低,则用户的稍微移动可导致锥体的大移动。另一方面,如果密度高,则相同的移动可导致锥体的较小移动,从而允许与对象进行更精细的交互。
169.图15是具有动态可调整的孔径的锥体投射的示例性过程1500。图15中的过程1500可以由可穿戴系统(如图2和4所示)执行。在框1510处,可穿戴系统可以确定用户环境中的上下文信息。上下文信息可以包括用户环境的信息和/或与对象相关联的信息,例如对象布局、对象密度、对象与用户之间的距离等。
170.在框1520处,可穿戴系统可基于上下文信息来投射具有动态可调整的孔径的锥体。例如,当对象密度低时,孔径可以为大的。
171.在框1530处,可穿戴系统可以检测对象与锥体之间的碰撞。在一些实施例中,可穿戴系统可以基于对象位置和锥体位置来检测碰撞。如果对象的至少一部分与锥体重叠,则检测到碰撞。在一些实施例中,锥体可能与多个对象碰撞。可穿戴系统可以应用消歧技术来捕获一个或多个被遮挡的对象。结果,可穿戴系统可以检测锥体与被遮挡对象之间的碰撞。
172.在检测到碰撞时,可穿戴系统可以向与锥体碰撞的对象分配焦点标记。可穿戴系统还可以提供用户界面选项,例如从碰撞的对象中选择对象。在框1540处,可穿戴系统可以被配置为接收与碰撞的对象的用户交互。例如,用户可以移动对象,打开与对象相关联的菜单,选择对象等。
173.基于上下文信息转化移动的概述
174.作为在锥体投射期间调整锥体孔径的补充或替代,上下文信息还可以被用于将与用户输入设备或用户身体的一部分相关联的移动(例如,用户姿势的变化)转化为用户界面操作,例如,移动虚拟对象。
175.用户可以通过驱动用户输入设备和/或通过使用诸如头部姿势、眼睛姿势或身体姿势之类的姿势来移动虚拟对象或传送焦点标记。如在ar/vr/mr世界中显而易见的,因为
虚拟对象是计算机生成的图像而不是物理对象,虚拟对象的移动不是指虚拟对象的实际物理移动。虚拟对象的移动是指由ar或vr系统向用户显示的虚拟对象的明显移动。
176.图16示意性地示例出使用用户输入设备移动虚拟对象的示例。例如,用户可以通过使用用户输入设备选择虚拟对象来保持和移动虚拟对象,以及通过物理地移动用户输入设备466来移动虚拟对象。用户输入设备466最初可以处于第一位置1610a处。用户1210可以通过驱动用户输入设备466(例如,通过驱动设备上的触敏板)来选择位于第一位置1610b处的目标虚拟对象1640。目标虚拟对象1640可以是可由可穿戴系统显示和移动的任何类型的虚拟对象。例如,虚拟对象可以是化身、用户界面元素(例如,虚拟显示器),或由可穿戴系统显示的任何类型的图形元素(例如,焦点标记)。用户1210可以通过沿着轨迹1650b移动用户输入设备466,将目标虚拟对象从第一位置1610b移到第二位置1620b。然而,由于目标虚拟对象可能远离用户,因此用户可能需要在目标虚拟对象到达其所需位置之前大距离地移动用户输入设备,这可导致用户使用大幅的手移动和手臂移动并最终导致用户疲劳。
177.可穿戴系统的实施例可以提供用于通过以下方式快速、有效地移动远处虚拟对象的技术:即,以基于控制器的移动和随着到虚拟对象的距离增加而趋于增大的乘数的量来移动虚拟对象。这样的实施例可以有利地允许用户使用较短的手移动和臂移动来移动远处的虚拟对象,从而减轻用户疲劳。
178.可穿戴系统可以计算用于将用户输入设备的移动映射到目标虚拟对象的移动的乘数。目标虚拟对象的移动可以基于输入控制器的移动和乘数。例如,目标虚拟对象的移动量可以等于输入控制器的移动量乘以乘数。这可以减小在目标虚拟对象到达所需位置之前用户需要移动的量。例如,如图16所示,可穿戴系统可以确定乘数,该乘数允许用户沿着轨迹1650a(其比轨迹1650b短)移动用户输入设备,以便将虚拟对象从位置1620b移动到位置1610b。
179.附加地或替代地,用户1210可使用头部姿势来移动虚拟对象。例如,如图16所示,头部可具有多个自由度。当头部朝着不同方向移动时,头部姿势将相对于自然静止方向1260改变。图16中的示例坐标系示出了三个角度自由度(例如,偏航、俯仰和翻滚),其可用于测量相对于头部的自然静止状态1260的头部姿势。如图16所示,头部可以向前和向后倾斜(例如俯仰),左右转动(例如偏航),以及从一侧倾斜到另一侧(例如翻滚)。在其它实施方式中,可以使用用于测量头部姿势的其它技术或角度表示,例如,任何其它类型的欧拉角系统。如本文所讨论的可穿戴系统(请参见例如图2中的可穿戴系统200和图4中的可穿戴系统400)可被用于确定用户的头部姿势,例如,使用加速度计、惯性测量单元等。可穿戴设备系统也可以基于眼睛姿势(例如,由眼睛跟踪相机测量)和头部姿势来移动虚拟对象。例如,用户可以通过长时间注视对象来选择虚拟对象,并使用头部姿势移动所选择的对象。用于映射本文描述的用户输入设备的移动的技术还可以应用于用户的头部、眼睛和/或身体姿势的变化,即,虚拟对象的移动量是乘数乘以用户身体(例如,眼睛、头部、手等)的物理移动量。
180.基于距离的乘数的示例
181.如上所述,可穿戴系统可以计算用于将用户输入设备的移动映射到目标虚拟对象的移动的乘数。可以基于诸如用户与目标虚拟对象之间的距离之类的上下文信息来计算乘数。例如,如图16所示,可以使用用户1210的头部位置与虚拟对象1640的位置之间的距离来
计算乘数。
182.图17示意性地示例出乘数随着距离变化的示例。如图17所示,轴1704示出了乘数的大小。轴1702示出了两个端点之间的各种距离(例如,以英尺或米为单位)。可以以各种方式确定端点。例如,一个端点可以是用户的位置(例如,从用户的ard测量的位置)或用户输入设备的位置。另一端点可以是目标虚拟对象的位置。
183.用户与虚拟对象之间的距离可以随着用于计算距离的端点的改变而改变。例如,用户和/或虚拟对象可以四处移动。用户1210可以驱动用户输入设备以拉近虚拟对象。在此过程期间,乘数可以基于本文描述的各种因素而改变。例如,当虚拟对象变得靠近用户时,乘数可以减小;或者当虚拟对象变得远离用户时,乘数可以增大。
184.曲线1710、1720和1730示出了乘数与距离之间的关系的示例。如曲线1710所示,当距离小于阈值1752时,乘数可以等于1。曲线1710示出了在阈值1752和阈值1754之间距离与乘数之间的线性关系。如参考图16所述,该成比例的线性关系可以使可穿戴系统将用户输入设备的位置的微小变化映射到位于更远处(最远到阈值1754)的对象的位置的大变化。曲线1710在阈值1754处达到其最大值,因此距离的任何进一步增加都不会改变乘数的大小。这可以防止非常远的虚拟对象响应于用户输入设备的小移动而移动极大距离。
185.曲线1710中的乘数的阈值转换是可选的(在阈值1752、1754中的任一者或全部两者处)。可穿戴系统可以不使用阈值或使用多个阈值来生成乘数。
186.为了允许更精确的一对一操纵,一个示例性阈值可以是用户的手部可达范围。用户的手部可达范围可以是由用户或hmd设定的可调参数(以考虑具有不同可达范围的用户)。在各种实施方式中,用户的手部可达范围可以从约10cm到约1.5m。参考图16,例如,如果目标虚拟对象在手部可达范围内,则当用户1210沿着轨迹1650a将用户输入设备466从位置1610a移动到位置1620a时,目标虚拟对象也可以沿着轨迹1650a移动。如果目标虚拟对象1640比手部可达范围更远,则乘数可以增加。例如,在图16中,如果目标虚拟对象1640最初位于位置1610b处,则当用户输入设备466从位置1610a移动到位置1620a时,目标虚拟对象1640可以从位置1610b移动到位置1620b,从而比用户输入设备466移动更大的距离量。
187.距离与乘数之间的关系不限于线性关系;而是,它可以基于各种算法和/或因素来确定。例如,如图17所示,可以使用距离与乘数之间的一个或多个幂律函数,例如,其中乘数与升幂距离(distance raised to a power)成比例,来生成曲线1720。幂可以是0.5、1.5、2。类似地,可以基于用户偏好生成曲线1730,其中当对象在用户可调整的阈值距离内时,乘数等于1。
188.作为示例,虚拟对象的移动(例如,角度移动)可以由变量delta_object表示,用户输入设备的移动可以由变量delta_input表示。这两个delta通过乘数而相关:
189.delta_object=乘数(d)*delta_input。
ꢀꢀ
(1)
190.用户输入设备中的传感器或ard的面向外的相机可被用于测量delta_input。作为距离d的函数的乘数可以从查找表、函数形式(例如,幂律)或曲线(请参见例如图17中的示例)确定。在一些实施方式中,可通过从用户到输入设备的距离而对距离进行标准化。例如,距离d可以被确定为:
191.192.在等式(2)中,标准化距离是无量纲的,并且在对象位于输入设备的距离处的情况下则等于1。如上所述,对于手部可达范围内的对象(例如,在从相机到输入设备的距离内),乘数可以被设定为1。因此,等式(2)允许可穿戴系统基于用户保持输入设备的位置而动态地调整手部的长度距离。幂律乘数的示例可以是:
[0193][0194]
其中幂p例如是1(线性)、2(二次)或任何其它整数或实数。
[0195]
其它示例性乘数
[0196]
还可以使用其它因素,例如关于用户的物理和/或虚拟环境的上下文信息,来计算乘数。例如,如果虚拟对象位于密集的对象簇中,则可穿戴系统可以使用较小的乘数并增加放置对象的精度。上下文信息还可以包括虚拟对象的特性。例如,在驾驶游戏中,可穿戴系统可以为好车提供大的乘数,为普通车提供小的乘数。
[0197]
乘数可以取决于移动的方向。例如,在图6所示的x-y-z坐标中,x轴的乘数可以不同于z轴的乘数。参考图16,代替将虚拟对象1640从1610b移动到1620b,用户1210可能想要将虚拟对象1640拉得更靠近他自己。在这种情况下,可穿戴系统可以使用比用于将虚拟对象1640从1610b移动到1620b的乘数小的乘数。这样,虚拟对象1640可能不会突然看起来非常靠近用户。
[0198]
可穿戴系统可以允许用户配置乘数。例如,可穿戴系统可以为用户提供用于选择乘数的若干个选项。喜欢慢速移动的用户可以选择较小的乘数。用户还可以提供某些因素和/或因素的重要性,可穿戴系统将使用其来自动确定乘数。例如,用户可以将距离的权重设定为高于与虚拟对象的特性相关联的权重。因此,距离对乘数大小的影响大于虚拟对象的特性对乘数大小的影响。此外,如参考图17所述,乘数可以具有一个或多个阈值。可以基于一组因数(诸如根据上下文信息确定的因数)的值来计算阈值中的一个或多个。在某些实施例中,一个阈值可以基于一组因数来计算,而另一阈值可以基于另一组因数(其可以不与第一组因数重叠)来计算。
[0199]
乘数的示例性应用
[0200]
如参考图16和17所述,可穿戴系统可以应用乘数,用于将用户输入设备的移动映射到虚拟对象的移动。移动可以包括速度、加速度或位置变化(例如旋转,从一个位置到另一位置的移动)。例如,可穿戴系统可以被配置为在虚拟对象位于更远处时更快地移动虚拟对象。
[0201]
作为另一示例,乘数也可以被用于确定虚拟对象的加速度。在虚拟对象远离用户的情况下,当用户驱动用户输入设备以移动虚拟对象时,虚拟对象可具有大的初始加速度。在一些实施例中,用于加速的乘数可以在特定阈值之后达到峰值或减小。例如,为了避免移动对象太快,可穿戴系统可以在虚拟对象到达轨迹中点时或者在虚拟对象的速度达到阈值时减小用于加速度的乘数。
[0202]
在一些实施方式中,可穿戴系统可使用焦点标记来示出用户输入设备的当前位置和/或用户的姿势(例如,头部、身体、眼睛姿势)。可以应用乘数来指示焦点标记的位置变化。例如,可穿戴系统可以在锥体投射期间示出虚拟锥体(请参见图12至15中的锥体投射的描述)。当锥体深度被设定在远的位置处时,可穿戴系统可以应用大的乘数。因此,当用户四
处移动时,虚拟锥体可以移动大的距离量。
[0203]
附加地或替代地,可穿戴系统可以将用户输入设备的移动映射到多个虚拟对象的移动。例如,在虚拟游戏中,玩家可以通过驱动用户输入设备而将一组虚拟士兵移到一起。可穿戴系统可以通过将乘数应用于该组虚拟士兵全体和/或通过将乘数应用于该组中的每个虚拟士兵,将用户输入设备的移动转化为该组虚拟士兵的移动。
[0204]
移动虚拟对象的示例性过程
[0205]
图18示出了用于响应于用户输入设备的移动而移动虚拟对象的示例性过程的流程图。过程1800可以由图2和图4所示的可穿戴系统执行。
[0206]
在框1810处,可穿戴系统接收对目标虚拟对象的选择。虚拟对象可以由可穿戴系统在3d空间中的第一位置处显示。用户可以通过驱动用户输入设备来选择目标虚拟对象。附加地或替代地,可穿戴系统可以被配置为支持用户使用各种身体姿势、头部姿势或眼睛姿势来移动目标虚拟对象。例如,用户可以通过将他的手指指向目标虚拟对象来选择目标虚拟对象,并且可以通过移动他的手臂来移动目标虚拟对象。
[0207]
在框1820处,可穿戴系统可以接收目标虚拟对象的移动的指示。可穿戴系统可以从用户输入设备接收这样的指示。可穿戴系统也可以从传感器(例如,面向外的成像系统464)接收这样的指示,所述传感器可以确定用户姿势的变化。该指示可以是用户身体的一部分或用户输入设备的移动轨迹或位置变化。
[0208]
在框1830处,可穿戴系统基于本文描述的上下文信息确定将被应用的乘数值。例如,可穿戴系统可以基于对象与用户输入设备之间的距离来计算乘数,其中乘数可以随着目标虚拟对象的距离的增加而增大(至少在与用户输入设备的距离的范围内,请参见例如等式(3)中的示例)。在一些实施例中,乘数是对象与用户输入设备之间的距离的非减函数。
[0209]
如框1840所示,该乘数可被用于计算目标虚拟对象的移动量。例如,在使用对象与用户输入设备之间的距离计算乘数的情况下,对于远方目标虚拟对象而言,乘数可能较大。可穿戴系统可以使用等式(3)来使输入设备的移动量与乘数相关以产生目标虚拟对象的移动量。可以与乘数一起使用其它因数来计算目标虚拟对象移动的轨迹。例如,可穿戴系统可以基于用户的环境来计算轨迹。当沿着目标虚拟对象的路径存在另一对象时,可穿戴系统可以被配置为移动目标虚拟对象以避免与该另一对象的碰撞。
[0210]
在框1850处,可穿戴系统可基于所计算的轨迹或乘数来显示目标虚拟对象的移动。例如,可穿戴系统可以基于在框1840中计算的移动量来计算3d空间中的第二位置。可穿戴系统因此可以在第二位置处显示目标虚拟对象。如参考图16所讨论的,可穿戴系统还可以被配置为使用乘数显示可见焦点标记的移动。
[0211]
其它实施例
[0212]
在第1方面,一种用于选择位于三维(3d)空间中的虚拟对象的方法,所述方法包括:在包括计算机硬件的增强现实(ar)系统的控制下,所述ar系统被配置为允许用户与用户的能视域(for)中的对象进行交互,所述for包括能够经由所述ar系统被所述用户感知的所述用户周围的环境的一部分:确定所述用户的for中的对象组;确定所述用户的姿势;启动针对所述对象组的锥体投射,所述锥体投射包括在至少部分地基于所述用户的姿势的方向上投射具有孔径的虚拟锥体;分析与所述对象组内的对象子组相关联的上下文信息;至少部分地基于所述上下文信息更新所述锥体投射事件的孔径;以及渲染所述锥体投射的视
觉表示。
[0213]
在第2方面,根据第1方面所述的方法,其中所述对象子组在所述用户的视场(fov)内,所述fov包括能够在给定时间经由所述ar系统被所述用户感知的所述for的一部分。
[0214]
在第3方面,根据第1方面或第2方面所述的方法,其中所述上下文信息包括以下一者或多者:所述对象子组内的一个或多个对象的类型、布局、位置、大小或密度。
[0215]
在第4方面,根据第3方面所述的方法,其中所述上下文信息进一步包括所述用户的偏好。
[0216]
在第5方面,根据第1方面至第4方面中任一项所述的方法,进一步包括检测所述锥体与一个或多个对象之间的碰撞。
[0217]
在第6方面,根据第5方面所述的方法,其中所述一个或多个对象包括可交互对象。
[0218]
在第7方面,根据第6方面所述的方法,其中响应于检测到与所述可交互对象的碰撞,所述方法进一步包括对所述可交互对象执行动作。
[0219]
在第8方面,根据第7方面的方法,其中所述动作包括以下一者或多者:选择所述可交互对象,移动所述可交互对象,或打开与所述可交互对象相关联的菜单。
[0220]
在第9方面,根据第5方面或第6方面所述的方法,进一步包括将遮挡消歧(occlusion disambiguation)技术应用于与所述锥体碰撞的所述一个或多个对象。
[0221]
在第10方面,根据第1方面至第9方面中任一项所述的方法,进一步包括至少部分地基于所述用户的姿势变化来更新所述锥体的孔径。
[0222]
在第11方面,根据第1方面至第10方面中任一项所述的方法,其中所述锥体具有形状。
[0223]
在第12方面,根据第11方面所述的方法,其中所述形状包括以下一种或多种:几何锥体、长方体、多面体、角锥体、或平截头体。
[0224]
在第13方面,根据第1方面至第12方面中任一项所述的方法,其中所述锥体具有中心射线。
[0225]
在第14方面,根据第13方面所述的方法,其中所述中心射线至少部分地基于所述用户的姿势而被确定。
[0226]
在第15方面,根据第13方面或第14方面所述的方法,其中所述孔径横向于所述中心射线。
[0227]
在第16方面,根据第1方面至第15方面中任一项所述的方法,进一步包括对与所述锥体碰撞的对象进行消歧。
[0228]
在第17方面,一种增强现实系统,其被配置为执行第1方面至第16方面中任一项所述的方法。
[0229]
在第18方面,一种用于平移(translate)位于三维(3d)空间中的虚拟对象的方法,所述方法包括:在包括计算机硬件和用户输入设备的增强现实(ar)系统的控制下,所述ar系统被配置为允许用户与用户的能视域(for)中的虚拟对象进行交互,所述for包括能够经由所述ar系统被所述用户感知的所述用户周围的环境的一部分,所述虚拟对象经由所述ar系统被呈现以向所述用户显示:确定所述用户的for中的虚拟对象组;接收对所述用户的for中的所述虚拟对象组内的目标虚拟对象的选择;计算到所述目标虚拟对象的距离;至少部分地基于到所述目标虚拟对象的距离来确定乘数;接收所述用户输入设备的第一移动;
计算所述目标虚拟对象的第二移动,所述第二移动至少部分地基于所述第一移动和所述乘数;以及以至少部分地基于所述第二移动的量移动所述目标虚拟对象。
[0230]
在第19方面,根据第18方面所述的方法,其中计算到所述虚拟对象的距离包括计算所述虚拟对象与所述用户输入设备之间的距离、所述虚拟对象与所述ar系统上的传感器之间的距离、或所述用户输入设备与所述ar系统上的传感器之间的距离。
[0231]
在第20方面,根据第18方面所述的方法,其中所述第二移动等于所述第一移动乘以所述乘数。
[0232]
在第21方面,根据第18方面所述的方法,其中所述乘数随着第一距离范围内的距离的增加而增大。
[0233]
在第22方面,根据第21方面所述的方法,其中所述乘数随着所述第一范围内的距离的增加而线性增大。
[0234]
在第23方面,根据第21方面所述的方法,其中所述乘数随着所述第一范围内的距离的幂而增大。
[0235]
在第24方面,根据第18方面所述的方法,其中当所述距离小于第一距离时,所述乘数等于第一阈值。
[0236]
在第25方面,根据第24方面所述的方法,其中所述第一距离等于用户的手部可达范围。
[0237]
在第26方面,根据第24方面所述的方法,其中所述第一阈值等于1。
[0238]
在第27方面,根据第18方面至第26方面中任一项所述的方法,其中所述第一移动或所述第二移动分别包括第一速度或第二速度。
[0239]
在第28方面,根据第18方面至第26方面中任一项所述的方法,其中所述第一移动和所述第二移动分别包括第一加速度和第二加速度。
[0240]
在第29方面,根据第18方面至第28方面中任一项所述的方法,其中所述ar系统包括头戴式显示器。
[0241]
在第30方面,根据第18方面至第29方面中任一项所述的方法,其中所述目标虚拟对象是可交互的。
[0242]
在第31方面,一种用于移动位于三维(3d)空间中的虚拟对象的方法,所述方法包括:在包括计算机硬件和用户输入设备的增强现实(ar)系统的控制下,所述ar系统被配置为呈现以向所述用户显示所述3d中的虚拟对象:接收对在3d空间中的第一位置处向所述用户显示的目标虚拟对象的选择;接收所述目标虚拟对象的移动的指示;确定将应用于所述目标虚拟对象的移动的乘数;计算所述目标虚拟对象的移动量,所述移动量至少部分地基于所述移动的指示和所述乘数;以及在第二位置处向所述用户显示所述目标虚拟对象,所述第二位置至少部分地基于所述第一位置和所述移动量。
[0243]
在第32方面,根据第31方面所述的方法,其中确定将应用于所述目标虚拟对象的移动的乘数包括计算到所述目标虚拟对象的距离。
[0244]
在第33方面,根据第32方面所述的方法,其中所述距离在所述目标虚拟对象与所述用户输入设备之间,在所述目标虚拟对象与所述ar系统上的传感器之间,或者在所述用户输入设备与所述ar系统上的传感器之间。
[0245]
在第34方面,根据第32方面所述的方法,其中当所述距离增加时,所述乘数增大。
[0246]
在第35方面,根据第31方面至第34方面中任一项所述的方法,其中所述乘数至少部分地基于用户的偏好。
[0247]
在第36方面,根据第31方面至第35方面中任一项所述的方法,其中所述移动包括以下一者或多者:位置改变、速度或加速度。
[0248]
在第37方面,根据第31方面至第36方面中任一项所述的方法,其中所述目标虚拟对象包括虚拟对象组。
[0249]
在第38方面,根据第31方面至第37方面中任一项所述的方法,其中所述目标虚拟对象是可交互的。
[0250]
在第39方面,根据第31方面至第38方面中任一项所述的方法,其中接收移动的指示包括从用户输入设备接收移动的指示。
[0251]
在第40方面,根据第31方面至第38方面中任一项所述的方法,其中接收移动的指示包括接收所述用户的姿势的改变的指示。
[0252]
在第41方面,根据第40方面所述的方法,其中所述用户的姿势包括以下一者或多者:头部姿势、眼睛姿势或身体姿势。
[0253]
在第42方面,一种用于平移位于三维(3d)空间中的虚拟对象的增强现实系统(ar),所述系统包括:显示系统;用户输入设备;被配置为与所述显示系统和所述用户输入设备通信的计算机处理器,其用于:确定所述用户的for中的虚拟对象组;接收对所述用户的for中的所述虚拟对象组内的目标虚拟对象的选择;计算到所述目标虚拟对象的距离;至少部分地基于到所述目标虚拟对象的距离来确定乘数;接收所述用户输入设备的第一移动;计算所述目标虚拟对象的第二移动,所述第二移动至少部分地基于所述第一移动和所述乘数;以及以至少部分地基于所述第二移动的量移动所述目标虚拟对象。
[0254]
在第43方面,根据第42方面所述的系统,其中计算到所述目标虚拟对象的距离包括计算所述目标虚拟对象与所述用户输入设备之间的距离、所述虚拟对象与所述ar系统上的传感器之间的距离、或所述用户输入设备与所述ar系统上的传感器之间的距离。
[0255]
在第44方面,根据第42方面所述的系统,其中所述第二移动等于所述第一移动乘以所述乘数。
[0256]
在第45方面,根据第42方面所述的系统,其中所述乘数随着第一距离范围内的距离的增加而增大。
[0257]
在第46方面,根据第45方面所述的系统,其中所述乘数随着所述第一范围内的距离的增加而线性增大。
[0258]
在第47方面,根据第45方面所述的系统,其中所述乘数随着所述第一范围内的距离的幂而增大。
[0259]
在第48方面,根据第42方面所述的系统,其中当所述距离小于第一距离时,所述乘数等于第一阈值。
[0260]
在第49方面,根据第48方面所述的系统,其中所述第一距离等于用户的手部可达范围。
[0261]
在第50方面,根据第48方面所述的系统,其中所述第一阈值等于1。
[0262]
在第51方面,根据第42方面至第50方面中任一项所述的系统,其中所述第一移动或所述第二移动分别包括第一速度或第二速度。
[0263]
在第52方面,根据第42方面至第50方面中任一项所述的系统,其中所述第一移动和所述第二移动分别包括第一加速度和第二加速度。
[0264]
在第53方面,根据第42方面至第52方面中任一项所述的系统,其中所述ar系统包括头戴式显示器。
[0265]
在第54方面,根据第42方面至第53方面中任一项所述的系统,其中所述目标虚拟对象是可交互的。
[0266]
在第55方面,一种用于移动位于三维(3d)空间中的虚拟对象的增强现实系统(ar),所述系统包括:显示系统;用户输入设备;被配置为与所述显示系统和所述用户输入设备通信的计算机处理器,其用于:接收对在所述3d空间中的第一位置处向所述用户显示的目标虚拟对象的选择;接收所述目标虚拟对象的移动的指示;确定将应用于所述目标虚拟对象的移动的乘数;计算所述目标虚拟对象的移动量,所述移动量至少部分地基于所述移动的指示和所述乘数;以及在第二位置处向所述用户显示所述目标虚拟对象,所述第二位置至少部分地基于所述第一位置和所述移动量。
[0267]
在第56方面,根据第55方面所述的系统,其中确定将应用于所述目标虚拟对象的移动的乘数包括计算到所述目标虚拟对象的距离。
[0268]
在第57方面,根据第56方面所述的系统,其中所述距离在所述虚拟对象与所述用户输入设备之间、在所述虚拟对象与所述ar系统上的传感器之间、或者在所述用户输入设备与所述ar系统上的传感器之间。
[0269]
在第58方面,根据第56方面所述的系统,其中当所述距离增加时,所述乘数增大。
[0270]
在第59方面,根据第55方面至第58方面中任一项所述的系统,其中所述乘数至少部分地基于用户的偏好。
[0271]
在第60方面,根据第55方面至第59方面中任一项所述的系统,其中所述移动包括以下一者或多者:位置改变、速度或加速度。
[0272]
在第61方面,根据第55方面至第60方面中任一项所述的系统,其中所述目标虚拟对象包括虚拟对象组。
[0273]
在第62方面,根据第55方面至第61方面中任一项所述的系统,其中所述目标虚拟对象是可交互的。
[0274]
在第63方面,根据第55方面至第62方面中任一项所述的系统,其中接收移动的指示包括从用户输入设备接收移动的指示。
[0275]
在第64方面,根据第55方面至第63方面中任一项所述的系统,其中接收移动的指示包括接收所述用户的姿势的改变的指示。
[0276]
在第65方面,根据第64方面所述的系统,其中所述用户的姿势包括以下一者或多者:头部姿势、眼睛姿势或身体姿势。
[0277]
在第66方面,一种用于可穿戴设备的与对象交互的系统,所述系统包括:可穿戴设备的显示系统,其被配置为向用户呈现三维(3d)视图并允许用户与用户的能视域(for)中的对象进行交互,所述for包括能够经由所述显示系统被所述用户感知的所述用户周围的环境的一部分;传感器,其被配置为获取与所述用户的姿势相关联的数据;硬件处理器,其与所述传感器和所述显示系统通信,所述硬件处理器被编程为:基于由所述传感器获取的数据确定所述用户的姿势;启动针对所述for中的对象组的锥体投射,所述锥体投射包括在
至少部分地基于所述用户的姿势的方向上投射具有孔径的虚拟锥体;分析与所述用户的环境相关联的上下文信息;至少部分地基于所述上下文信息更新所述虚拟锥体的孔径;以及渲染用于所述锥体投射的所述虚拟锥体的视觉表示。
[0278]
在第67方面,根据第66方面所述的系统,其中所述上下文信息包括以下至少一者:所述用户的视场(fov)内的对象子组的类型、布局、位置、大小或密度,其中所述fov包括能够在给定时间经由所述显示系统被所述用户感知的所述for的一部分。
[0279]
在第68方面,根据第67方面所述的系统,其中所述用户的fov内的所述对象子组的密度通过以下至少一者而被计算:计算所述对象子组中的对象数量;计算被所述对象子组覆盖的所述fov的百分比;或计算所述对象子组中的对象的等值线图。
[0280]
在第69方面,根据第66方面至第68方面中任一项所述的系统,其中所述硬件处理器被进一步编程为检测所述虚拟锥体与所述for中的所述对象组内的一个或多个对象之间的碰撞,并且其中响应于检测到所述碰撞,所述硬件处理器被进一步编程为向所述一个或多个对象呈现焦点标记。
[0281]
在第70方面,根据第69方面所述的系统,其中所述硬件处理器被编程为向与所述虚拟锥体碰撞的所述一个或多个对象应用遮挡消歧技术以识别被遮挡的对象。
[0282]
在第71方面,根据第66方面至第70方面中任一项所述的系统,其中所述锥体包括中心射线,并且其中所述孔径横向于所述中心射线。
[0283]
在第72方面,根据第66方面至第71方面中任一项所述的系统,其中所述虚拟锥体包括近端,并且其中所述近端被锚定到以下位置中的至少一者:所述用户的眼睛之间的位置、用户手臂的一部分上的位置、用户输入设备上的位置,或所述用户的环境中的任何其它位置。
[0284]
在第73方面,根据第66方面至第72方面中任一项所述的系统,其中所述硬件处理器被进一步编程为从用户输入设备接收将所述虚拟锥体的深度锚定到一深度平面的指示,并且其中对所述深度平面内的所述对象组执行锥体投射。
[0285]
在第74方面,根据第66方面至第73方面中任一项所述的系统,其中传感器包括以下至少一者:惯性测量单元或面向外的成像系统。
[0286]
在第75方面,根据第66方面至第74方面中任一项所述的系统,其中所述虚拟锥体包括以下至少一者:几何锥体、长方体、多面体、角锥体、或平截头体。
[0287]
在第76方面,一种用于可穿戴设备的与对象交互的方法,所述方法包括:接收对在三维(3d)空间中的第一位置处向用户显示的目标虚拟对象的选择;接收所述目标虚拟对象的移动的指示;分析与所述目标虚拟对象相关联的上下文信息;至少部分地基于所述上下文信息计算将应用于所述目标虚拟对象的移动的乘数;计算所述目标虚拟对象的移动量,所述移动量至少部分地基于所述移动的指示和所述乘数;以及在第二位置处向所述用户显示所述目标虚拟对象,所述第二位置至少部分地基于所述第一位置和所述移动量。
[0288]
在第77方面,根据第76方面所述的方法,其中所述上下文信息包括从所述用户到所述目标虚拟对象的距离。
[0289]
在第78方面,根据第77方面所述的方法,其中所述乘数随着所述距离的增加而成比例地增大。
[0290]
在第79方面,根据第76方面至第78方面中任一项所述的方法,其中所述移动包括
以下一者或多者:位置改变、速度或加速度。
[0291]
在第80方面,根据第76方面至第79方面中任一项所述的方法,其中所述移动的指示包括以下至少一者:与所述可穿戴设备相关联的用户输入设备的驱动、或所述用户的姿势的改变。
[0292]
在第81方面,根据第80方面所述的方法,其中所述姿势包括以下一者或多者:头部姿势、眼睛姿势或身体姿势。
[0293]
在第82方面,一种用于可穿戴设备的与对象交互的系统,所述系统包括:可穿戴设备的显示系统,其被配置为向用户呈现三维(3d)视图,所述3d视图包括目标虚拟对象;硬件处理器,其与所述显示系统通信,所述硬件处理器被编程为:接收所述目标虚拟对象的移动的指示;分析与所述目标虚拟对象相关联的上下文信息;至少部分地基于所述上下文信息计算将应用于所述目标虚拟对象的移动的乘数;计算所述目标虚拟对象的移动量,所述移动量至少部分地基于所述移动的指示和所述乘数;以及通过所述显示系统,在第二位置处显示所述目标虚拟对象,所述第二位置至少部分地基于所述第一位置和所述移动量。
[0294]
在第83方面,根据第82方面所述的系统,其中所述目标虚拟对象的移动的指示包括所述可穿戴设备的用户的姿势的改变或从与所述可穿戴设备相关联的用户输入设备接收的输入。
[0295]
在第84方面,根据第82方面至第83方面中任一项所述的系统,其中所述上下文信息包括从所述用户到所述目标虚拟对象的距离。
[0296]
在第85方面,根据第84方面所述的系统,其中当所述距离小于阈值距离时,所述乘数等于1,其中所述阈值距离等于所述用户的手部可达范围。
[0297]
在第86方面,根据第84方面至第85方面中任一项所述的系统,其中所述乘数随着所述距离的增加而成比例地增大。
[0298]
在第87方面,根据第82方面至第86方面中任一项所述的系统,其中所述移动包括以下一者或多者:位置改变、速度或加速度。
[0299]
结论
[0300]
本文描述和/或附图中描绘的过程、方法和算法中的每一个可以体现在由一个或多个物理计算系统、硬件计算机处理器、应用专用电路和/或被配置为执行特定和特殊的计算机指令的电子硬件所执行的代码模块中并且完全或部分地由该代码模块自动化。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等等。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由专用于给定功能的电路来执行。
[0301]
此外,本公开的功能的某些实施方式在数学上、计算上或技术上是足够复杂的,使得应用专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)对于执行功能可能是必需的,例如由于所涉及的计算的数量或复杂性或为了基本上实时提供结果。例如,视频可以包括许多帧,每帧具有数百万个像素,并且具体地编程的计算机硬件对于处理视频数据是必需的以在商业上合理的时间量内提供期望的图像处理任务或应用。
[0302]
代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(ram)、只读存储器
(rom)、光盘、易失性或非易失性存储器、其组合和/或类似物。方法和模块(或数据)也可以在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的和有线/基于线缆的介质,并且可以采取多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的方法或方法步骤的结果可以持久地或以其他方式存储在任何类型的非暂时性有形计算机存储器中,或者可以经由计算机可读传输介质来通信。
[0303]
在此描述的和/或在附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,代码包括一个或多个可执行指令以实现特定功能(例如,逻辑或算术)或方法中的步骤。各种方法、框、状态、步骤或功能可以与本文提供的说明性示例相组合,重新排列,添加,删除,修改或以其他方式改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行本文描述的功能中的一些或全部。本文描述的方法和过程也不限于任何特定的序列,并且与其相关的块、步骤或状态可以以适当的其他序列来执行,例如串行、并行或以某种其他方式。可以向所公开的示例性实施例添加任务或事件或者从中移除任务或事件。此外,本文描述的实现中的各种系统组件的分离是出于说明的目的,并且不应该被理解为在所有实施方式中都需要这种分离。应该理解,所描述的程序组件、方法和系统通常可以一起集成在单个计算机产品中或者封装到多个计算机产品中。许多实施方式变化是可能的。
[0304]
过程、方法和系统可以在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(lan)、广域网(wan)、个人区域网络(pan)、云计算网络、众包计算网络、因特网和万维网。网络可以是有线或无线网络或任何其他类型的通信网络。
[0305]
本公开的系统和方法各自具有若干创新性方面,其中没有单独一个对于本文公开的期望属性完全负责或需要。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合均旨在落入本公开的范围内。对于本公开中所描述的实施方式的各种修改对于本领域技术人员来说可能是显而易见的,并且在不脱离本公开的精神或范围的情况下,可将本文中定义的一般原理应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是应被赋予与本公开一致的最宽范围、本文公开的原理和新颖特征。
[0306]
在本说明书中在分开的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的上下文中描述的各种特征也可以分开或者以任何合适的子组合在多个实施方式中实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或变体的子组合。没有单个特征或特征组对于每个实施例是必要或是必不可少的。
[0307]
除非另有明确说明,否则本文中使用的条件语言,诸如“能够”、“可能”“应该”、“可以”、“例如”等等,或者在上下文中以其他方式理解的,为一般地意在表达某些实施例包括,而其他实施例不包括某些特征、元件和/或步骤。因此,这样的条件语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或者没有作者输入或提示的情况下决定是否这些特征、元件和/或步骤包括在任何特定实施例中或将在任何特定实施例中执行。术语“包括”、“包含”、“具有”等是同
义词,并且以开放式的方式包含性地使用,并且不排除附加的元件、特征、动作、操作等等。此外,术语“或”以其包含性含义(而不是其专有含义)使用,因此当用于例如连接元素列表时,术语“或”表示一个、一些或全部列表中的元素。另外,除非另有说明,否则本技术和所附权利要求中使用的冠词“一”、“一个”和“所述”应被解释为表示“一个或多个”或“至少一个”。
[0308]
如本文所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。举例来说,“a、b或c中的至少一个”旨在覆盖:a、b、c,、a和b、a和c、b和c以及a、b和c。连接语言例如短语“x、y和z中的至少一个”,除非另有特别说明,否则在通常用于表达项目,术语等可以是x、y或z中的至少一个。因此,这样的连接语言通常并不意味着某些实施方案需要x中的至少一个,y中的至少一个和z中的至少一个存在。
[0309]
类似地,尽管可以在特定顺序中在附图中描绘操作,但应认识到,这些操作不需要以所示出的特定顺序或按顺序执行,或者所有所示操作都要执行,以实现理想的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作可以并入示意性说明的示例性方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,在其他实施中,操作可以重新安排或重新排序。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品。另外,其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行并且仍然实现期望的结果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献