具有高时间分辨率的轻型低功耗交叉现实设备

文档序号:278214 发布日期:2021-11-19 浏览:8次 >En<

阅读说明:本技术 具有高时间分辨率的轻型低功耗交叉现实设备 (Lightweight low-power consumption cross reality device with high temporal resolution ) 是由 M·G·扎勒特 A·伊利克 于 2020-02-07 设计创作,主要内容包括:用于交叉现实(XR)系统的可穿戴显示系统可以具有动态视觉传感器(DVS)相机和彩色相机。相机中的至少一个可以是全光相机。可穿戴显示系统可以根据检测到的条件和正在执行的XR功能来动态限制对来自相机中的任一个或两者的图像数据的处理。为了跟踪对象,可以针对相机中的任一个或两者的视场的与对象对应的分块来处理图像信息。可以基于指示分块内的变化的异步获取的事件来跟踪对象。当基于事件的对象跟踪产生不足的质量度量时,可以使用立体或其他类型的图像信息。被跟踪的对象可以是用户的手部或物理世界中的固定对象,从而能够计算可穿戴显示系统和佩戴者头部的姿势。(A wearable display system for a cross-reality (XR) system may have a Dynamic Visual Sensor (DVS) camera and a color camera. At least one of the cameras may be a plenoptic camera. The wearable display system may dynamically limit processing of image data from either or both of the cameras depending on the detected condition and the XR function being performed. To track an object, image information may be processed for a patch of the field of view of either or both of the cameras that corresponds to the object. Objects may be tracked based on asynchronously acquired events that indicate changes within the tiles. Stereoscopic or other types of image information may be used when event-based object tracking produces insufficient quality metrics. The tracked object may be the user&#39;s hand or a fixed object in the physical world, enabling calculation of the wearable display system and the pose of the wearer&#39;s head.)

具有高时间分辨率的轻型低功耗交叉现实设备

技术领域

本申请总体上涉及包括动态视觉传感器(DVS)相机的可穿戴交叉现实显示系统(XR系统)。

背景技术

计算机可以控制人类用户界面以创建X Reality(X现实,XR或交叉现实)环境,在该环境中,由计算机生成用户所感知的一些或全部XR环境。这些XR环境可以是虚拟现实(VR)、增强现实(AR)、或混合现实(MR)环境,其中的一些或所有XR环境可以由计算机部分使用描述环境的数据来生成。例如,该数据可以描述虚拟对象,该虚拟对象可以以用户的感觉或感知为物理世界的一部分的方式渲染,以使得用户可以与虚拟对象进行交互。由于数据是通过用户接口设备(诸如例如头戴式显示设备)渲染和呈现的,因此用户可以体验这些虚拟对象。数据可以显示给用户看,或者可以控制被播放给用户听的音频,或者可以控制触觉(或触知)界面,从而使用户能够体验到用户感觉或感知为感觉到虚拟对象的触摸感觉。

XR系统可以被用于跨科学可视化、医学培训、工程设计和原型、远程操纵和远程呈现以及个人娱乐领域的许多应用。与VR相比,AR和MR包括与物理世界的真实对象相关的一个或多个虚拟对象。虚拟对象与真实对象交互的体验显著地增强了用户使用XR系统的乐趣,并且也为呈现有关如何改变物理世界的现实且易于理解的信息的各种应用打开了大门。

发明内容

本申请的方面涉及一种配置有DVS相机的可穿戴交叉现实显示系统。在此描述的技术可以一起使用、单独使用或以任何合适的组合使用。

根据一些实施例,可以提供一种可穿戴显示系统,所述可穿戴显示系统包括:头戴式装置,其包括:一个第一相机,能够配置为输出满足强度变化标准的图像帧或图像数据;以及一个第二相机;其中,所述第一相机和所述第二相机被定位为提供中心视场的重叠视图;以及处理器,被可操作地耦合到所述第一相机和所述第二相机并被配置为:使用根据由所述第一相机和所述第二相机输出的图像立体地确定的深度信息来创建世界模型;以及使用所述世界模型和由所述第一相机输出的所述图像数据来跟踪头部姿势。

在一些实施例中,所述强度变化标准可以包括绝对或相对强度变化标准。

在一些实施例中,所述第一相机可以被配置为异步地输出所述图像数据。

在一些实施例中,所述处理器还可以被配置为异步地跟踪头部姿势。

在一些实施例中,所述处理器还可以被配置为:执行跟踪例程以将图像数据获取限制在所述世界模型内的关注点。

在一些实施例中,所述第一相机可以被配置为将图像获取限制在所述第一相机的视场的一个或多个部分;以及所述跟踪例程可以包括:识别所述世界模型内的关注点;确定所述第一相机的视场的与所述关注点对应的一个或多个第一部分;以及向所述第一相机提供将图像获取限制在所述视场的所述一个或多个第一部分的指令。

在一些实施例中,所述跟踪例程还可以包括:基于所述关注点相对于所述世界模型的移动或所述头戴式装置相对于所述关注点的移动,估计所述第一相机的视场的与所述关注点对应的一个或多个第二部分;以及向所述第一相机提供将图像获取限制在所述视场的所述一个或多个第二部分的指令。

在一些实施例中,所述头戴式装置还可以包括惯性测量单元;以及执行所述跟踪例程可以包括:至少部分地基于所述惯性测量单元的输出来估计对象的更新后的相对位置。

在一些实施例中,所述跟踪例程可以包括:重复计算所述关注点在所述世界模型内的位置;以及可以以超过60Hz的时间分辨率进行重复计算。

在一些实施例中,所述重复计算之间的间隔在持续时间上可以是1毫秒到15毫秒之间。

在一些实施例中,所述处理器还可以被配置为:确定头部姿势跟踪是否满足质量标准;以及当所述头部姿势跟踪不满足所述质量标准时,启用所述第二相机或调制所述第二相机的帧速率。

在一些实施例中,所述处理器可以被机械地耦合到所述头戴式装置。

在一些实施例中,所述头戴式装置可以包括被机械地耦合到所述处理器的显示设备。

在一些实施例中,本地数据处理模块可以包括所述处理器,所述本地数据处理模块通过通信链路被可操作地耦合到显示设备,并且其中,所述头戴式装置可以包括所述显示设备。

在一些实施例中,所述头戴式装置还可以包括IR发射器。

在一些实施例中,所述处理器可以被配置为选择性地启用所述IR发射器以便在低光照条件下启用头部姿势跟踪。

根据一些实施例,可以提供一种使用可穿戴显示系统跟踪头部姿势的方法,所述可穿戴显示系统包括:头戴式装置,其包括:一个第一相机,能够配置为输出满足强度变化标准的图像帧或图像数据;以及一个第二相机;其中,所述第一相机和所述第二相机被定位为提供中心视场的重叠视图;以及处理器,被可操作地耦合到所述第一相机和所述第二相机;其中,所述方法包括使用所述处理器以:使用根据由所述第一相机和所述第二相机输出的图像立体地确定的深度信息来创建世界模型;以及使用所述世界模型和由所述第一相机输出的图像数据来跟踪头部姿势。

根据一些实施例,可以提供一种可穿戴显示系统,所述可穿戴显示系统包括:框架;第一相机,被机械地耦合到所述框架,其中,所述第一相机能够被配置为在所述第一相机的第一视场中输出满足强度变化标准的图像数据;以及处理器,被可操作地耦合到所述第一相机并且被配置为:确定对象是否在所述第一视场内;以及针对所述第一视场的一个或多个部分使用从所述第一相机接收的图像数据来跟踪所述对象的运动。

根据一些实施例,可以提供一种使用可穿戴显示系统跟踪对象的运动的方法,所述可穿戴显示系统包括:框架;第一相机,被机械地耦合到所述框架,其中,所述第一相机能够配置为在所述第一相机的第一视场中输出满足强度变化标准的图像数据;以及处理器,被可操作地耦合到所述第一相机;其中,所述方法包括使用所述处理器以:确定所述对象是否在所述第一视场内;以及针对所述第一视场的一个或多个部分,使用从所述第一相机接收的图像数据来跟踪所述对象的运动。

根据一些实施例,可以提供一种可穿戴显示系统,所述可穿戴显示系统包括:框架;两个相机,被机械地耦合到所述框架,其中,所述两个相机包括:一个第一相机,能够配置为输出满足强度变化标准的图像数据;以及一个第二相机,其中,所述第一相机和所述第二相机被定位为提供中心视场的重叠视图;以及处理器,被可操作地耦合到所述第一相机和所述第二相机。

前述概述是通过说明的方式提供的,并非旨在进行限制。

附图说明

附图并非旨在按比例绘制。在附图中,在各个附图中示出的每个相同或几乎相同的部件由相似的数字表示。为了清楚起见,并非每个部件都可以在每个附图中标记。在附图中:

图1是示出根据一些实施例的简化的增强现实(AR)场景的示例的示意图。

图2是示出根据一些实施例的AR显示系统的示例的示意图。

图3A是根据一些实施例的示出了当用户穿着AR显示系统时,该AR显示系统在用户移动穿过物理世界环境时渲染AR内容的示意图。

图3B是示出根据一些实施例的观看光学组件和伴随部件的示意图。

图4是示出根据一些实施例的图像感测系统的示意图。

图5A是示出根据一些实施例的图4中的像素单元的示意图。

图5B是示出根据一些实施例的图5A的像素单元的输出事件的示意图。

图6是示出根据一些实施例的图像传感器的示意图。

图7是示出根据一些实施例的图像传感器的示意图。

图8是示出根据一些实施例的图像传感器的示意图。

图9是根据一些实施例的用于图像感测的方法的简化流程图。

图10是根据一些实施例的图9的块(patch)识别的动作的简化流程图。

图11是根据一些实施例的图9的分块轨迹估计的动作的简化流程图。

图12是示出根据一些实施例的关于一个视点(viewpoint)的图11的分块轨迹估计的示意图。

图13是示出根据一些实施例的关于视点变化的图11的分块轨迹估计的示意图。

图14是示出根据一些实施例的图像感测系统的示意图。

图15是示出根据一些实施例的图14中的像素单元的示意图。

图16是根据一些实施例的像素子阵列的示意图。

图17A是根据一些实施例的具有到达角至强度转换器的全光设备的截面图,其中的到达角至强度转换器采用对准的两个堆叠的透射式衍射掩膜(TDM)的形式。

图17B是根据一些实施例的具有到达角至强度转换器的全光设备的截面图,其中的到达角至强度转换器采用非对准的两个堆叠的TDM的形式。

图18A是根据一些实施例的具有彩色像素单元和到达角像素单元的像素子阵列。

图18B是根据一些实施例的具有彩色像素单元和到达角像素单元的像素子阵列。

图18C是根据一些实施例的具有白色像素单元和到达角像素单元的像素子阵列。

图19A是根据一些实施例的具有单个TDM的光检测器阵列的俯视图。

图19B是根据一些实施例的具有单个TDM的光检测器阵列的侧视图。

图20A是根据一些实施例的具有采用TDM形式的多个到达角至强度转换器的光检测器阵列的俯视图。

图20B是根据一些实施例的具有多个TDM的光检测器阵列的侧视图。

图20C是根据一些实施例的具有多个TDM的光检测器阵列的侧视图。

图21是根据一些实施例的包括两个相机以及附带部件的头戴式装置(headset)的示意图。

图22是根据一些实施例的校准例程的流程图。

图23A至图23C示出了根据一些实施例的与图21的头戴式装置相关联的示例性视场图。

图24是根据一些实施例的用于创建和更新可通行世界模型的方法的流程图。

图25是根据一些实施例的用于头部姿势跟踪的方法的流程图。

图26是根据一些实施例的用于对象跟踪的方法的流程图。

图27是根据一些实施例用于手部跟踪的方法的流程图。

具体实施方式

发明人已经认识到并理解用于可穿戴XR显示系统的设计和操作技术,其增强了这样的系统的愉悦性和实用性。这些设计和/或操作技术可以使得能够获取信息以执行多种功能,包括使用有限数量的相机进行手部跟踪、头部姿势跟踪、和世界重建,这可用于真实地渲染虚拟对象,使得它们看起来与物理对象真实地交互。可穿戴交叉现实显示系统可以是轻型的并且可以在操作中消耗低功率。该系统可以使用特定配置的传感器以低延迟获取关于物理世界中物理对象的图像信息。该系统可以执行各种例程以提高所显示的XR环境的准确性和/或真实性。这样的例程可以包括即使轻型框架在使用期间变形也能提高立体深度测量结果的准确性的校准例程,以及检测和解决用户周围的物理世界的模型中的不完整深度信息的例程。

已知XR系统头戴式装置的重量会限制用户享受。这样的XR头戴式装置重量可以超过340克(有时甚至超过700克)。相比之下,眼镜的重量可能不到50克。长时间佩戴这种相对较重的头戴式装置会使用户感到疲劳或分散他们的注意力,从而有损于理想的沉浸式XR体验。然而,发明人已经认识到并理解,一些减轻头戴式装置重量的设计也增加了头戴式装置的灵活性,使得轻型头戴式装置在使用过程中或随着时间的推移容易受到传感器位置或取向变化的影响。例如,当用户佩戴包括相机传感器的轻型头戴式装置时,这些相机传感器的相对取向可能会发生偏移。用于立体成像的相机间距的变化可能会影响这些头戴式装置获取准确立体信息的能力,这取决于相对于彼此具有已知位置关系的相机。因此,可以在佩戴头戴式装置时重复的校准例程可以实现轻型头戴式装置使用立体成像技术准确地获取关于头戴式装置佩戴者周围的世界的信息。

需要为XR系统配备部件以获得有关物理世界中的对象的信息,这也会限制这些系统的实用性和用户享受。虽然获取的信息用于在适当的位置并相对于物理对象以适当出现位置(appearance)真实地呈现计算机生成的虚拟对象,但获取信息的需要对XR系统的大小、功耗和真实性施加了限制。

例如,XR系统可以使用用户佩戴的传感器来获取关于用户周围物理世界中的对象的信息,包括关于物理世界对象在用户视场中的位置的信息。由于对象在物理世界中移动或用户改变其相对于物理世界的姿势使得物理对象进入或离开用户的视场,或者物理对象在用户视场内的位置发生变化,对象可能相对于用户的视场移动,因此出现挑战。为了呈现逼真的XR显示,物理世界中物理对象的模型必须足够频繁地更新以捕获这些变化,以足够低的延迟进行处理,并准确预测未来以覆盖包括渲染在内的完整延迟路径,以便当显示虚拟对象时,基于该信息显示的虚拟对象将具有相对于物理对象的适当位置和出现位置。否则,虚拟对象将与物理对象不对准,并且包括物理对象和虚拟对象的组合场景将显得不真实。例如,虚拟对象可能看起来好像漂浮在空间中,而不是停留在物理对象上,或者可能看起来相对于物理对象在周围弹跳。当用户高速移动并且场景中有明显移动时,视觉跟踪的误差尤其会被放大。

这些问题可以通过以高速率获取新数据的传感器来避免。然而,这样的传感器消耗的功率会导致需要更大的电池,增加系统的重量,或限制这样的系统的使用时间。同样,需要处理高速生成的数据的处理器会耗尽电池电量并增加可穿戴系统的重量,进一步限制这样的系统的实用性或愉悦性。例如,一种已知的方法是以更高的分辨率进行操作以捕获足够的视觉细节和操作更高的帧速率传感器以增加时间分辨率。替代解决方案可能会使用IR飞行时间传感器来补充该解决方案,该传感器可能直接指示物理对象相对于传感器的位置,在使用此信息显示虚拟对象时可能会执行简单的处理,产生低延迟。然而,这种传感器消耗大量功率,特别是如果它们在阳光下工作。

发明人已经认识到并理解XR系统可以通过重复执行校准例程来解决使用期间或随着时间的推移传感器位置或取向的变化。该校准例程可以确定头戴式装置中包括的传感器的当前相对间距(separation)和取向。当计算立体深度信息时,可穿戴XR系统然后可以考虑头戴式装置传感器的当前相对间距和取向。有了这样的校准能力,XR系统可以准确地获取深度信息,以指示与物理世界中对象的距离,而无需有源(active)深度传感器或仅偶尔使用有源深度感测。由于有源深度感测可能会消耗大量功率,因此减少或消除有源深度感测可以使设备消耗更少的功率,这可以在不给电池充电的情况下增加设备的运行时间,或者由于减小了电池尺寸而减小了设备的尺寸。

发明人还认识到并理解到,通过图像传感器的适当组合,以及处理来自这些传感器的图像信息的适当技术,XR系统可以通过以下方式以低延迟甚至通过降低的功耗来获取关于物理对象的信息:减少使用的传感器数量;消除、禁用或选择性激活资源密集型传感器;和/或减少传感器的整体使用。作为特定示例,XR系统可以包括具有两个面向世界的相机的头戴式装置。相机中的第一相机可以生成灰度图像并且可以具有全局快门。这些灰度图像可以比类似分辨率的彩色图像更小,在一些情况下,用少于三分之一的比特数来表示。这种灰度相机可以比类似分辨率的彩色相机需要更少的功率。灰度相机可以被配置为采用基于事件的数据获取和/或分块跟踪来限制数据输出量。相机中的第二相机可以是RGB相机。可穿戴交叉现实显示系统可以被配置为有选择地使用该相机,在不影响用户XR体验的情况下降低功耗并延长电池寿命。例如,RGB相机可以与灰度一起使用以构建用户周围环境的世界模型,但随后灰度相机可以用于基于该世界模型跟踪用户的头部姿势。替代地或附加地,灰度相机可以主要用于跟踪对象,包括用户的手部。基于检测到的指示跟踪质量差的条件,可以采用来自一个或多个其他传感器的图像信息。例如,RGB相机可以获取有助于从背景中区分对象的颜色信息,或者可以使用无源地提供深度信息的来自光场传感器的输出。

如本文所述的技术可以与多种类型的设备一起或单独地用于多种类型的场景。图1示出了这样的场景。图2、3A和3B示出示例性AR系统,其包括可以根据在此描述的技术操作的一个或多个处理器、存储器、传感器和用户界面。

参考图1,示出了AR场景4,其中AR系统的用户看到了物理世界的类似公园的设置6,其特征是人、树、背景中的建筑物以及混凝土平台8。除了这些物理对象之外,AR技术的用户还感知到他们“看到”了虚拟对象,这里图示为站在物理世界混凝土平台8上的机器人雕像10,以及似乎是大黄蜂的头像的飞行着的卡通般的头像角色2,即使这些元素(例如,头像角色2和机器人雕像10)在物理世界中不存在。由于人类视觉感知和神经系统的极端复杂性,产生一种对于在其它虚拟或物理世界图像元素中促进舒适、自然感觉、丰富的虚拟图像元素呈现的AR系统具有挑战性。

这样的场景可以通过呈现表示用户周围实际环境的图像信息并且覆盖表示不在实际环境中的虚拟对象的信息来呈现给用户。在AR系统中,用户可能能够看到物理世界中的对象,AR系统提供渲染虚拟对象的信息,使得它们出现在适当的位置,并且具有虚拟对象看起来与物理世界中的对象共存的适当视觉特征。例如,在AR系统中,用户可以透过透明的屏幕观看,以便用户可以看到物理世界中的对象。AR系统可以在该屏幕上渲染虚拟对象,以便用户同时看到物理世界和虚拟对象。在一些实施例中,屏幕可以由用户佩戴,例如一副护目镜或眼镜。

可以经由包括多个部件的系统向用户呈现场景,该多个部件包括可以刺激一种或多种用户感觉(包括视觉、声音和/或触摸)的用户界面。另外,该系统可以包括一个或多个传感器,该传感器可以测量场景的物理部分的参数,包括用户在场景的物理部分内的位置和/或运动。此外,该系统可以包括一个或多个计算设备,以及相关联的计算机硬件,诸如存储器。这些部件可以集成到单个设备中,或更多地跨多个互连设备分布。在一些实施例中,这些部件中的一些或全部可以集成到可穿戴设备中。

在一些实施例中,可以通过可穿戴显示系统向用户提供AR体验。图2示出了可穿戴显示系统80(以下称为“系统80”)的示例。系统80包括头戴式显示设备62(以下称为“显示设备62”),以及支持显示设备62的功能的各种机械和电子模块和系统。显示设备62可以耦合至框架64,该框架64可由显示系统用户或观看者60(以下称为“用户60”)佩戴,并被配置为将显示设备62定位在用户60的眼前。根据各种实施例,显示设备62可以顺序显示。显示设备62可以是单眼的或双眼的。

在一些实施例中,扬声器66耦合到框架64并定位在用户60的耳道附近。在一些实施例中,未示出的另一扬声器定位在用户60的另一耳道附近,以提供立体声/可塑声音控制。

系统80可以包括本地数据处理模块70。本地数据处理模块70可以通过通信链路68(诸如通过有线导线或无线连接)可操作地耦合显示设备62。本地数据处理模块70可以以各种配置安装,诸如固定地附接到框架64,固定地附接到用户60所戴的头盔或帽子,嵌入耳机中或以其它方式可移除地附接到用户60(例如,以背包式配置,以腰带耦合式配置)。在一些实施例中,本地数据处理模块70可以不存在,因为本地数据处理模块70的部件可以集成在显示设备62中或在显示设备62被耦合到的远程服务器或其他部件中实现,诸如通过通过广域网进行无线通信。

本地数据处理模块70可以包括处理器以及诸如非易失性存储器(例如,闪存)的数字存储器,这二者都可以用于协助数据的处理、缓存和存储。数据可以包括:a)从传感器(例如,可以可操作地耦合到框架64)捕获或以其它方式附接到用户60的数据,诸如图像捕获设备(诸如相机)、麦克风、惯性测量单元、加速度计、指南针、GPS单元、无线电设备和/或陀螺仪;和/或b)使用远程处理模块72和/或远程数据存储库74获取和/或处理,可能在该处理或取得之后传递给显示设备62的数据。本地数据处理模块70可以通过通信链路76、78(诸如经由有线或无线通信链路)分别可操作地耦合到远程处理模块72和远程数据存储库74,使得这些远程模块72、74被可操作地彼此耦合并且可用作本地处理和数据模块70的资源。

在一些实施例中,本地数据处理模块70可以包括一个或多个处理器(例如,中央处理单元和/或一个或多个图形处理单元(GPU)),其被配置为分析和处理数据和/或图像信息。在一些实施例中,远程数据存储库74可以包括数字数据存储设施,该数字数据存储设施可以通过互联网或“云”资源配置中的其它联网配置而可用。在一些实施例中,所有数据被存储在并且所有计算在本地数据处理模块70中执行,从而允许来自远程模块的完全自主的使用。

在一些实施例中,本地数据处理模块70可操作地耦合到电池82。在一些实施例中,电池82是可移动电源,诸如在计数器电池上方。在其它实施例中,电池82是锂离子电池。在一些实施例中,电池82既包括在系统80的非操作时间期间可由用户60充电的内部锂离子电池,又包括可移除的电池,使得用户60可以在更长的时间段内操作系统80,而不必连接到电源以为锂离子电池充电,或者不必关闭系统80以更换电池。

图3A示出了当用户30在移动穿过物理世界环境32(以下称为“环境32”)时,佩戴有渲染AR内容的AR显示系统的用户30。用户30将AR显示系统定位在位置34,并且AR显示系统记录可通行世界相对于位置34的环境信息(例如,物理世界中真实对象的数字表示,其可以随着对真实对象在物理世界的改变被存储和更新)。每个位置34还可以与与环境32相关的“姿势”和/或映射特征或定向音频输入相关联。将AR显示系统穿戴在用户头部上的用户可能会看向特定方向并倾斜头部,从而创建系统相对于环境的头部姿势。在同一位置内的每个位置和/或姿势,AR显示系统上的传感器可以捕获关于环境32的不同信息。因此,在位置34收集的信息可以被聚合(aggregate)到数据输入36并且至少由可通行世界模块38处理,其可以例如通过在图2的远程处理模块72上进行处理来实现。

可通行世界模块38确定AR内容40可以相对于物理世界放置的位置和方式,至少部分地根据数据输入36来确定。通过以用户可以同时看到AR内容和物理世界的方式呈现AR内容,而将AR内容“放置”在物理世界中。例如,这样的界面可以利用眼镜来创建,用户可以透过该眼镜看得到观看物理世界,并且可以该眼镜被控制为使得虚拟对象出现在用户视场内的受控位置。AR内容被渲染为就像是与物理世界中的对象进行交互一样。用户界面使得用户对物理世界中对象的观看可以被遮挡,以创建AR内容在适当的时候遮挡用户对这些对象的观看的出现位置。例如,可以通过以下方式来放置AR内容:适当地选择要显示的环境32中的元素42(例如,桌子)的部分,并且将AR内容40的形状和位置显示为好像它停留在该元素42上或以其他方式与该元素42交互一样。AR内容也可以放置在尚未位于视场44内或相对于物理世界的映射(map)网格模型46的结构内。

如图所示,元素42是物理世界中可以被视为固定并存储在可通行世界模块38中的多个元素的示例。一旦存储在可通行世界模块38中,关于这些固定元素的信息可用于向用户呈现信息,使得用户30可以感知固定元素42上的内容而无需每次用户30看到固定元素42时系统都必须地图构建到固定元素42。因此,固定元素42可以是来自先前建模会话的被映射的网格模型,或者可以由单独的用户确定但是仍然存储在可通行世界模块38上,以供多个用户将来参考。因此,可通行世界模块38可以从先前地图构建的环境中识别环境32并显示AR内容,而无需用户30的设备首先对环境32进行地图构建,从而节省了计算过程和周期并避免了任何渲染的AR内容的时延。

类似地,可以通过AR显示系统来创建物理世界的映射网格模型46,并且用于交互和显示AR内容40的适当的表面和度量可以被映射和存储在可通行世界模块38中,以供用户30或其他用户将来取得,而无需重新映射或建模。在一些实施例中,数据输入36是诸如地理位置、用户标识和当前活动的输入,以向可通行世界模块38指示一个或多个固定元素中的哪个固定元素42可用,哪个AR内容40最后被放置在固定元素42上,以及是否显示该相同的内容(无论用户如何观看特定的可通行世界模型,这种AR内容都是“持久”内容)。

即使在其中对象被认为是固定的实施例中,可通行世界模块38也可以不时地被更新,以考虑到物理世界中变化的可能性。固定对象的模型可能以非常低的频率更新。物理世界中的其它对象可能正在移动或以其它方式不被认为是固定的。为了渲染具有真实感的AR场景,AR系统可以以比用于更新固定对象的频率高得多的频率来更新这些非固定对象的位置。为了能够准确跟踪物理世界中的所有对象,AR系统可以从多个传感器(包括一个或多个图像传感器)中获取信息。

图3B是观看光学组件48和伴随可选部件的示意图。下面在图21中描述具体配置。定向到用户眼睛49,在一些实施例中,两个眼睛跟踪相机50检测用户眼睛49的度量,诸如用户眼睛49上的眼睛形状、眼睑闭塞、瞳孔方向和闪烁。在一些实施例中,传感器之一可以是深度传感器51,诸如飞行时间传感器,其向世界发射信号并检测来自附近对象的那些信号的反射以确定与给定对象的距离。深度传感器例如可以由于那些对象的运动或用户姿势的变化而快速确定对象是否已经进入用户的视场。然而,关于对象在用户视场中的位置的信息可以可替代地或另外地由其它传感器收集。在一些实施例中,世界相机52记录大于外围的视图以对环境32进行地图构建,并检测可影响AR内容的输入。在一些实施例中,世界相机52和/或相机53可以是灰度和/或彩色图像传感器,该传感器可以以固定的时间间隔输出灰度和/或彩色图像帧。相机53可以在特定时间进一步捕获用户视场内的物理世界图像。即使基于帧的图像传感器的像素的值不变,也可以重复对其像素进行采样。世界相机52、相机53和深度传感器51中的每一个具有相应的视场54、55和56,以从诸如图3A中示出的物理世界环境32的物理世界场景中收集数据并记录该物理世界场景。

惯性测量单元57可以确定观看光学组件48的运动和/或取向。在一些实施例中,每个部件可操作地耦合到至少一个其它部件。例如,深度传感器51可以可操作地耦合到眼睛跟踪相机50以确认用户的眼睛49正在注视的物理世界中的点和/或区域的实际距离。

应当理解,观看光学组件48可以包括图3B所示的一些部件。例如,观看光学组件48可以包括不同数量的部件。在一些实施例中,例如,观看光学组件48可以包括一个世界相机52、两个世界相机52、或更多世界相机来代替所示出的四个世界相机。可替代地或另外地,相机52和53不需要捕获其全部视场的可见光图像。观看光学组件48可以包括其它类型的部件。在一些实施例中,观看光学组件48可以包括一个或多个动态视觉传感器,其像素可以异步地响应超过阈值的光强度的相对变化。

在一些实施例中,基于飞行时间信息,观看光学组件48可以不包括深度传感器51。例如,在一些实施例中,观看光学组件48可以包括一个或多个全光相机,其像素可以不仅捕获光强度,还可以捕获入射光的角度。例如,全光相机可以包括覆盖有透射衍射掩模(TDM)的图像传感器。可替代地或另外地,全光相机可以包括图像传感器,该图像传感器包含角度敏感像素和/或相位检测自动聚焦像素(PDAF)和/或微透镜阵列(MLA)。代替深度传感器51或除了深度传感器51之外,这种传感器可以用作深度信息源。

还应当理解,图3B中的部件的配置被示出为示例。观看光学组件48可以包括具有任何适当配置的部件,以使得用户可以具有针对特定部件组的最大视场。例如,如果观看光学组件48具有一个世界相机52,则该世界相机可以放置在观看光学组件的中心区域而不是侧面。

来自观看光学组件48中的这些传感器的信息可以耦合到系统中的一个或多个处理器。处理器可以生成可以被渲染以便使用户感知与物理世界中的对象交互的虚拟内容的数据。可以以任何合适的方式来实现该渲染,包括生成示出物理和虚拟对象二者的图像数据。在其它实施例中,可以通过调制用户在物理世界中浏览的显示设备的不透明度来在一个场景中示出物理和虚拟内容。可以控制不透明度以便创建虚拟对象的出现位置,并且还阻止用户看到物理世界中被虚拟对象遮挡的对象。在一些实施例中,图像数据可仅包括可被修改以与物理世界真实交互的虚拟内容(例如,剪辑内容以解决遮挡),其可通过用户界面观看。无论如何向用户呈现内容,都可以使用物理世界的模型,使得可以正确计算可受到物理对象影响的虚拟对象的特性,包括虚拟对象的形状、位置、运动和可见性。

可以根据从用户的可穿戴设备上的传感器收集的数据来创建物理世界的模型。在一些实施例中,可以从多个用户收集的数据中创建模型,该数据可以在远离所有用户的计算设备中汇总(并且该数据可以在“云中”)。

在一些实施例中,传感器中的至少一个可以被配置为使用紧凑且低功率部件以高频率、低延迟获取关于场景中的物理对象的信息,特别是非固定对象的信息。该传感器可以采用分块跟踪来限制数据输出量。

图4示出了根据一些实施例的图像感测系统400。图像感测系统400可以包括图像传感器402,图像传感器402可以包括图像阵列404,图像阵列404可以包含多个像素,每个像素如在传统图像传感器中一样对光进行响应。传感器402还可以包括访问每个像素的电路。访问像素可能需要获得关于由该像素生成的入射光的信息。替代地或附加地,访问像素可能需要控制该像素,例如通过将其配置为仅在检测到某个事件时提供输出。

在所示实施例中,图像阵列404被配置为具有多行和多列像素的阵列。在这样的实施例中,访问电路可以被实现为行地址编码器/解码器406和列地址编码器/解码器408。图像传感器402还可以包含生成访问电路的输入,以控制从图像阵列404中的像素读取出信息的时序和顺序的电路。在所示实施例中,该电路是分块跟踪引擎410。与可以连续输出由每行中的像素捕获的图像信息的常规图像传感器相比,图像传感器402可以被控制为输出指定分块中的图像信息。此外,这些分块相对于图像阵列的位置可以随着时间而改变。在所示的实施例中,分块跟踪引擎410可以输出图像阵列访问信息以控制来自与分块的位置相对应的图像阵列404的部分的图像信息的输出,并且访问信息可以基于对环境中的对象的移动的估计和/或图像传感器相对于这些对象的移动的估计而动态地改变。

在一些实施例中,图像传感器402可以具有动态视觉传感器(DVS)的功能,使得仅当像素的图像属性(例如,强度)发生变化时,才由传感器提供图像信息。例如,图像传感器402可以应用定义像素的开启(ON)和关闭(OFF)状态的一个或多个阈值。图像传感器可以检测到像素改变了状态,并且选择性地仅针对改变了状态的那些像素或分块中的那些像素提供输出。这些输出可以在检测到时异步进行,而不是作为阵列中所有像素读出的一部分。例如,输出可以是地址事件表示(AER)418的形式,其可以包括像素地址(例如,行和列)和事件类型(ON或OFF)。ON事件可以指示在相应像素地址处的像素单元感测到光强度的增加;并且OFF事件可以指示在相应像素地址处的像素单元感测到光强度的减少。增加或减少可以相对于绝对水平,或者可以是相对于像素的最后输出的水平的变化。例如,该变化可以表示为固定偏移量或像素的最后输出的值的百分比。

结合分块跟踪使用DVS技术可以使图像传感器适用于XR系统。当组合在图像传感器中时,生成的数据量可能限于分块内并且检测到将会触发事件输出的变化的像素单元的数据。

在一些情景中,需要高分辨率的图像信息。然而,当使用DVS技术时,具有超过一百万个像素单元用于生成高分辨率图像信息的大型传感器可能会生成大量图像信息。发明人已经认识到并理解,DVS传感器可能生成反映背景中的运动或图像变化的大量事件,而不是由被跟踪对象的运动导致。目前,DVS传感器的分辨率限制在1MB以下,例如128x128、240x180、346x260,以限制生成的事件数量。这样的传感器牺牲用于跟踪对象的分辨率,并且可能无法例如检测手部的精细手指运动。此外,如果图像传感器以其他格式输出图像信息,则限制传感器阵列的分辨率以输出可管理数量的事件也可能限制图像传感器与DVS功能一起用于生成高分辨率图像帧。在一些实施例中,如本文所述的传感器可具有高于VGA的分辨率,包括高达8百万像素或1200万像素。尽管如此,如本文所述的分块跟踪可用于限制图像传感器每秒输出的事件数量。因此,可以启用在至少两种模式下操作的图像传感器。例如,具有百万像素分辨率的图像传感器可以在第一模式下操作,在该模式下,它输出被跟踪的特定分块中的事件。在第二种模式下,它可以输出高分辨率图像帧或图像帧的部分。可以在XR系统中控制这样的图像传感器以基于系统的功能在这些不同模式下操作。

图像阵列404可以包括布置成阵列的多个像素单元500。图5A示出了像素单元500的示例,其在该实施例中被配置在实施DVS技术的成像阵列中使用。像素单元500可以包括感光器电路502、差分电路506和比较器508。感光器电路502可以包括光电二极管504,光电二极管504将照射光电二极管的光转换成可测量的电信号。在该示例中,该转换是转换为电流I。跨导放大器510将光电流I转换为电压。该转换可以是线性的或非线性的,例如根据函数logI。不管具体的传递函数如何,跨导放大器510的输出指示在光电二极管504处检测到的光量。虽然作为示例示出光电二极管,但是应当理解,响应于入射光而生成可测量输出的其他光敏部件可以代替光电二极管或除光电二极管之外在感光器电路中实现。

在图5A的实施例中,用于确定像素的输出是否已经改变到足以触发该像素单元的输出的电路被合并到像素本身中。在该示例中,该功能由差分电路506和比较器508来实现。差分电路506可以被配置为通过例如在事件生成之后平衡差分电路的输出以使电平复位,来减小像素单元之间的DC失配。在该示例中,差分电路506被配置为生成显示自上次输出以来光电二极管504的输出变化的输出。差分电路可以包括具有增益A的放大器512、可以实施为单个电路元件或连接在网络中的一个或多个电容器的电容器514以及复位开关516。

在操作中,将通过暂时闭合开关516来使像素单元复位。这样的复位可以发生在电路的操作开始时以及在检测到事件之后的任何时间。在像素500被复位的情况下,电容器514两端的电压为当从跨导放大器510的输出中减去电容器514两端的电压时,在放大器512的输入处生成零电压。当开关516打开时,跨导放大器510的输出将与电容器514两端的压降相结合,在放大器512的输入处存在零电压。跨导放大器510的输出由于照射光电二极管504的光量的变化而改变。当跨导放大器510的输出增加或减少时,放大器512的输出将以一变化量正向或负向摆动,该变化量由放大器512的增益放大。

比较器508可以通过例如将差分电路的输出电压V与预定阈值电压C进行比较来确定事件是否生成以及事件的符号。在一些实施例中,比较器508可以包括具有晶体管的两个比较器,当放大器512的输出示出正变化时,一对比较器可以操作,并且可以检测到增加的变化(ON事件);当放大器512的输出示出负变化时,另一个比较器可以操作,并且可以检测到减小的变化(OFF事件)。然而,应当理解,放大器512可以具有负增益。在这样的实施例中,跨导放大器510的输出的增加可以被检测为放大器512的输出处的负电压变化。类似地,应当理解,正电压和负电压可以相对于地或任何适当的参考电平。无论如何,阈值电压C的值可以由晶体管的特性(例如,晶体管尺寸、晶体管阈值电压)和/或可以被施加到比较器508的参考电压的值来控制。

图5B示出了像素单元500随时间t的事件输出(ON、OFF)的示例。在所示示例中,在时间t1,差分电路的输出值为V1;在时间t2,差分电路的输出值为V2;在时间t3,差分电路的输出值为V3。在时间t1和时间t2之间,虽然光电二极管感应到光强度有所增加,但像素单元没有输出任何事件,因为V的变化没有超过阈值电压C的值。在时间t2,因为V2比V1大了阈值电压C的值,像素单元输出ON事件。在时间t2和时间t3之间,虽然光电二极管感觉到光强度有所下降,但像素单元没有输出任何事件,因为V的变化没有超过阈值电压C的值。在时间t3,因为V3比V2小了阈值电压C的值,像素单元输出OFF事件。

每个事件可以触发AER 418处的输出。输出可以包括例如事件是ON事件还是OFF事件的指示以及像素的标识,例如像素的行和列。其他信息可以替代地或附加地包括在输出中。例如,可能包含时间戳,如果事件排队等待稍后传输或处理,这可能很有用。作为另一个示例,可以包括放大器510输出端的电流电平。例如,如果除了检测对象的移动之外还要执行进一步处理,则可以可选地包括这样的信息。

应当理解,事件输出的频率以及像素单元的灵敏度可以通过阈值电压C的值来控制。例如,可以通过增大阈值电压C的值来降低事件输出的频率,或者通过减小阈值电压C的值来增加事件输出的频率。还应该理解的是,对于ON事件和OFF事件,阈值电压C可以不同,例如通过对用于检测ON事件的比较器和用于检测OFF事件的比较器设置不同的参考电压。还应当理解,像素单元还可以输出指示光强度变化的大小的值来代替指示事件检测的符号信号,或者除了指示事件检测的符号信号之外还输出指示光强度变化的大小的值。

图5A和图5B的像素单元500被示出为根据一些实施例的示例。其他设计也可能适用于像素单元。在一些实施例中,像素单元可以包括感光器电路和差分电路,但与一个或多个其他像素单元共享比较器电路。在一些实施例中,像素单元可以包括被配置为计算变化值的电路,例如,像素级的有源像素传感器。

不管对于每个像素单元以何种方式来检测事件,将像素配置为仅在检测到事件时输出的能力可以用于限制维护非固定(即,可移动)对象位置的模型所需的信息量。例如,可以使用在发生相对小的变化时被触发的阈值电压C来设置分块内的像素。分块之外的其他像素可能具有更大的阈值,例如三倍或五倍的阈值。在一些实施例中,任何分块之外的像素的阈值电压C可以设置得足够大,以使得像素被有效地禁用并且不产生任何输出,而不管变化量如何。在其他实施例中,可以以其他方式禁用分块外的像素。在这样的实施例中,对于所有像素,阈值电压可以是固定的,但是可以基于像素是否在分块内而选择性地启用或禁用像素。

在其他实施例中,一个或多个像素的阈值电压可以被自适应地设置为调制从图像阵列输出的数据量的方式。例如,AR系统可以具有每秒处理多个事件的处理能力。当每秒输出的事件数量超过上限时,可以增加一些或所有像素的阈值。替代地或另外地,当每秒的事件数量下降到下限以下时,可以降低阈值,从而使得更多数据能够用于更准确的处理。作为特定示例,每秒的事件数可以在200到2000个事件之间。与例如处理从图像传感器扫描出的所有像素值(构成每秒钟3000万或更多像素值)相比,这种数量的事件构成了每秒要处理的数据块数量的显著减少。与仅处理分块内的像素(可能较少但仍然可能是每秒数万或更多的像素值)相比,该数量的事件甚至也减少。

可以以任何合适的方式生成用于为多个像素中的每一个启用和/或设置阈值电压的控制信号。然而,在所示实施例中,那些控制信号由分块跟踪引擎410设置或基于处理模块72或其他处理器内的处理来设置。

返回参照图4,图像感测系统400可以从任何适当的部件接收输入,使得分块跟踪引擎410可以至少基于接收到的输入动态地选择图像阵列404的要启用和/或禁用的至少一个区域,以便实施分块。分块跟踪引擎410可以是具有存储分块的一个或多个参数的存储器的数字处理电路。参数可以是例如分块的边界,并且可以包括其他信息,例如与图像阵列的移动和与分块相关联的可移动对象的图像的图像阵列内的移动之间的比例因子有关的信息。分块跟踪引擎410还可以包括被配置为对存储值和作为输入提供的其他测量结果执行计算的电路。

在所示实施例中,分块跟踪引擎410接收当前分块的指定作为输入。分块可以基于其在图像阵列404内的大小和位置来指定,例如通过指定分块的行和列地址的范围。这种指定可以作为处理模块72(图2)或处理关于物理世界的信息的其他部件的输出来提供。例如,处理模块72可以指定一个分块来包含物理世界内每个可移动对象的当前位置或正在跟踪的可移动对象的子集的当前位置,以便相对于物理世界渲染具有适当出现位置的虚拟对象。例如,如果AR场景将包括平衡在物理对象(例如移动的玩具车)上的玩具娃娃作为虚拟对象,则可以指定包含该玩具车的分块。可能不会为另一辆在背景中移动的玩具车指定分块,因为,可能不需要有关该对象的最新信息来渲染逼真的AR场景。

不管如何选择分块,关于分块当前位置的信息可以被提供给分块跟踪引擎410。在一些实施例中,分块可以是矩形的,使得分块的位置可以简单地指定为开始行和列和结束行和列。在其他实施例中,分块可以具有其他形状,例如圆形,并且分块可以以其他方式指定,例如通过中心点和半径。

在一些实施例中,还可以提供关于分块的轨迹信息。例如,轨迹可以指定分块相对于图像阵列404的坐标的移动。例如,处理模块72可以构建物理世界内可移动对象的移动和/或图像阵列404相对于物理世界的移动的模型。由于上述任一者或两者的移动可以影响对象的图像被投影到的图像阵列404内的位置,因此可基于任一者或两者来计算图像阵列404内的分块的轨迹。可以以任何适当的方式来指定轨迹,例如线性、二次、三次或其他多项式方程的参数。

在其他实施例中,分块跟踪引擎410可以基于来自提供关于物理世界的信息的传感器的输入来动态计算分块的位置。来自传感器的信息可以直接从传感器提供。替代地或另外地,传感器信息可以在被提供给分块跟踪引擎410之前被处理以提取关于物理世界的信息。例如,提取的信息可以包括图像阵列404相对于物理世界的移动、图像阵列404与图像落入分块内的对象之间的距离,以及当图像阵列404和/或对象移动时可以用于动态地将图像阵列404中的分块与物理世界中的对象的图像动态对准的其他信息。

输入部件的示例可以包括图像传感器412和惯性传感器414。图像传感器412的示例可以包括眼睛跟踪相机50、深度传感器51、世界相机52和/或相机52。惯性传感器414的示例可以包括惯性测量单元57。在一些实施例中,可以选择输入部件来以相对高的速率提供数据。例如,惯性测量单元57可以具有每秒200到2000个测量结果之间的输出速率,例如每秒800到1200个测量结果之间。分块位置可以以类似的高速率更新。作为一个具体示例,通过使用惯性测量单元57作为分块跟踪引擎410的输入源,分块的位置可以每秒更新800到1200次。通过这种方式,可以使用限制需要处理的事件数量的相对较小的分块来高精度地跟踪可移动对象。这种方法可以导致图像传感器与可移动对象的相对位置变化之间的延迟非常低,虚拟对象渲染的更新延迟也同样低,从而提供理想的用户体验。

在一些情景下,使用分块跟踪的可移动对象可以是物理世界中的静止对象。例如,AR系统可以通过分析拍摄的物理世界的多个图像来识别静止对象,并且选择一个或多个静止对象的特征作为参考点,以确定其上具有图像传感器的可穿戴设备的移动。这些参考点相对于传感器阵列的位置的频繁且低延迟的更新可以用于提供可穿戴设备用户的头部姿势的频繁且低延迟计算。由于头部姿势可以用于通过可穿戴设备上的用户界面逼真地渲染虚拟对象,因此头部姿势的频繁且低延迟的更新改善了AR系统的用户体验。因此,使控制分块位置的分块跟踪引擎410的输入仅来自具有高输出率的传感器,例如一个或多个惯性测量单元,可以产生令人满意的AR系统的用户体验。

然而,在一些实施例中,可以向分块跟踪引擎410提供其他信息以使其能够计算轨迹和/或将轨迹应用于分块。该其他信息可以包括存储信息416,例如可通行世界模块38和/或映射网格模型46。该信息可以指示对象相对于物理世界的一个或多个先前位置,使得考虑这些先前位置的变化和/或当前位置相对于先前位置的变化可以指示物理世界中对象的轨迹,然后可以将其映射到跨越图像阵列404的分块的轨迹。可以替代地或附加地使用物理世界模型中的其他信息。例如,可移动对象的尺寸和/或距离或关于相对于图像阵列404的位置的其他信息可以用于计算跨越与该对象关联的的图像阵列404的分块的位置或轨迹。

不管确定轨迹的方式如何,分块跟踪引擎410可以应用该轨迹以高速率计算图像阵列404内的分块的更新位置,例如快于每秒一次或超过每秒800次。在一些实施例中,该速率可以受到处理能力的限制,以小于每秒2000次。

应当理解,跟踪可移动对象变化的处理不足以重建完整的物理世界。然而,重建物理世界的间隔可能比可移动对象的位置更新之间的间隔长,例如每30秒或每5秒。当存在物理世界的重建时,可以重新计算要跟踪的对象的位置以及将捕获关于这些对象的信息的分块的位置。

图4示出了一个实施例,其中用于动态生成分块并且控制从该分块内选择性输出图像信息的处理电路被配置为直接控制图像阵列404,使得从该阵列输出的图像信息限于所选择的信息。例如,这样的电路可以集成到容纳图像阵列404的同一半导体芯片中,或者可以集成到用于图像阵列404的单独控制器芯片中。然而,应当理解,生成用于图像阵列404的控制信号的电路可以分布在整个XR系统中。例如,一些或所有功能可以通过在处理模块72或系统内的其他处理器中进行编程来执行。

图像感测系统400可以针对多个像素中的每一个输出图像信息。图像信息的每个像素可以对应于图像阵列404的像素单元中的一个像素单元。来自图像感测系统400的输出图像信息可以是由分块跟踪引擎410选择的、与图像阵列404的至少一个区域对应的一个或多个分块中的每个分块的图像信息。在一些实施例中,例如当图像阵列404的每个像素具有不同于图5A中所示的配置时,输出图像信息中的像素可以识别在一个或多个分块内的图像传感器400检测到光强度变化的像素。

在一些实施例中,来自图像感测系统400的输出图像信息可以是由分块跟踪引擎410选择的、与图像阵列的至少一个区域对应的一个或多个分块中的每个分块以外的像素的图像信息。例如,一只鹿可能在有一条流淌的河流的物理世界中奔跑。河流波浪的细节可能不令人感兴趣,但可能触发图像阵列402的像素单元。分块跟踪引擎410可以创建包围河流的分块,并禁用与包围河流的分块对应的图像阵列402的一部分。

基于识别到改变的像素,可以执行进一步的处理。例如,可以更新与由改变的像素所成像的物理世界的部分相对应的世界模型的部分。这些更新可以基于利用其他传感器收集的信息来执行。在一些实施例中,进一步的处理可以以分块中的多个改变的像素为条件或由其触发。例如,一旦检测到分块中有10%或某个其他阈值量的像素发生变化,便可执行更新。

在一些实施例中,其他格式的图像信息可以从图像传感器输出,并且可以与变化信息相结合使用以更新世界模型。在一些实施例中,在VR系统的操作期间,从图像传感器输出的图像信息的格式可以随时改变。例如,在一些实施例中,像素单元500可以被操作以在某些时间产生差分输出,例如在比较器508中产生。放大器510的输出可以是可切换的,从而在其他时间输出入射在光电二极管504上的光的幅度(magnitude)。例如,放大器510的输出可以可切换地连接到感测线,感测线又连接到A/D转换器,A/D转换器可以基于放大器510的输出的幅度来提供入射光的幅度的数字指示。

这种配置中的图像传感器可以作为AR系统的一部分进行操作,以在大部分时间进行差分输出,仅针对检测到变化超过阈值的像素来输出事件,或者仅针对检测到变化超过阈值的分块内的像素来输出事件。可以周期性地(例如,每5到30秒)输出具有图像阵列中所有像素的幅值信息的完整图像帧。以这种方式可以实现低延迟和精确处理,差分信息用于快速更新世界模型中的最有可能影响用户感知的变化的选择部分,而完整图像可以用于更多地更新世界模型的较大部分。尽管对世界模型的完整更新仅以较慢的速度发生,但更新模型的任何延迟可能不会对用户对AR场景的感知产生有意义的影响。

图像传感器的输出模式可以在图像传感器的整个操作过程中随时改变,使得传感器输出一些或所有像素的一个或多个强度信息,以及阵列中的一些或所有像素的变化的指示。

通过限制从图像阵列输出的信息来从图像传感器选择性地输出来自分块的图像信息并非必要条件。在一些实施例中,图像信息可以由图像阵列中的所有像素输出,并且仅关于阵列的特定区域的信息可以从图像传感器输出。图6示出了根据一些实施例的图像传感器600。图像传感器600可以包括图像阵列602。在该实施例中,图像阵列602可以类似于扫描出像素值的行和列的常规图像阵列。这种图像阵列的操作可以通过其他部件进行调整。图像传感器600还可以包括分块跟踪引擎604和/或比较器606。图像传感器600可以向图像处理器608提供输出610。例如,处理器608可以是处理模块72(图2)的一部分。

分块跟踪引擎604可以具有类似于分块跟踪引擎410的结构和功能。它可以被配置为接收指定图像阵列602的至少一个选择区域的信号,然后基于由该区域表示的对象的图像的图像阵列602内的计算轨迹,来生成指定该区域的动态位置的控制信号。在一些实施例中,分块跟踪引擎604可以接收指定图像阵列602的至少一个选择区域的信号,该信号可以包括一个或多个区域的轨迹信息。分块跟踪引擎604可以被配置为基于轨迹信息执行动态识别至少一个选择区域内的像素单元的计算。分块跟踪引擎604的实现方式的变化是可能的。例如,分块跟踪引擎可以基于指示图像阵列602的移动和/或与分块相关联的对象的投影移动的传感器来更新分块的位置。

在图6所示的实施例中,图像传感器600被配置为输出识别出的分块内像素的差分信息。比较器606可被配置为从分块跟踪引擎604接收识别分块内像素的控制信号。比较器606可以选择性地对从图像阵列602输出的像素进行操作,这些像素具有如分块跟踪引擎604所指示的分块内的地址。比较器606可以对像素单元进行操作以生成指示由图像阵列602的至少一个区域检测到的感测光的变化的信号。作为实施方式的一个示例,比较器606可以包含存储阵列内像素单元的复位值的存储器元件。当从图像阵列602扫描出这些像素的当前值时,比较器606内的电路可以将存储的值与当前值进行比较,并在差异超过阈值时输出指示。例如,数字电路可以用于存储值并进行这样的比较。在该示例中,可以像图像传感器400的输出一样处理图像传感器600的输出。

在一些实施例中,图像阵列602、分块跟踪引擎604和比较器606可以在单个集成电路中实现,例如CMOS集成电路。在一些实施例中,图像阵列602可以在单个集成电路中实现。分块跟踪引擎604和比较器606可以在第二单个集成电路中实现,第二单个集成电路例如被配置为图像阵列602的驱动器。替代地或另外地,分块跟踪引擎和/或比较器606的一些或全部功能可以分发(distribute)给AR系统内的其他数字处理器。

其他配置或处理电路也是可能的。图7示出了根据一些实施例的图像传感器700。图像传感器700可以包括图像阵列702。在该实施例中,图像阵列702可以具有带有差分配置的像素单元,例如图5A中的像素500所示。然而,这里的实施例不限于差分像素单元,因为可以利用输出强度信息的图像传感器来实现分块跟踪。

在图7所示的实施例中,分块跟踪引擎704产生指示被跟踪的一个或多个分块内的像素单元的地址的控制信号。分块跟踪引擎704可以像分块跟踪引擎604一样进行构造和操作。这里,分块跟踪引擎704向像素滤波器706提供控制信号,像素滤波器706将仅来自分块内那些像素的图像信息传递到输出710。如图所示,输出710耦合到图像处理器708,图像处理器708可以使用如本文所述的技术或以其他合适的方式进一步处理分块内像素的图像信息。

图8中示出另外的变型,其示出了根据一些实施例的图像传感器800。图像传感器800可以包括图像阵列802,图像阵列802可以是扫描出像素强度值的常规图像阵列。该图像阵列可以用于通过使用比较器806来提供如本文所述的差分图像信息。类似于比较器606,比较器806可以基于存储的像素值来计算差分信息。像素滤波器808可以将那些差值中的选择值传递到输出812。与像素滤波器706一样,像素滤波器808可以从分块跟踪引擎804接收控制输入。分块跟踪引擎804可以类似于分块跟踪引擎704。输出812可以耦合到图像处理器810。图像传感器800的上述部件中的一些或全部可以在单个集成电路中实现。或者,部件可以分布在一个或多个集成电路或其他部件上。

如本文所述的图像传感器可以作为增强现实系统的一部分操作以维护关于可移动对象的信息或关于物理世界的其他信息,这些信息在结合关于物理环境的信息逼真地渲染虚拟对象的图像中有用。图9示出了根据一些实施例的用于图像感测的方法900。

可以执行方法900的至少一部分以操作包括例如图像传感器400、600、700或800的图像传感器。方法900可以从接收(动作902)来自一个或多个输入的成像信息开始,一个或多个输入包括例如图像传感器412、惯性传感器414和存储的信息416。方法900可以包括至少部分地基于接收到的信息来识别(动作904)图像感测系统的图像输出上的一个或多个分块。动作904的示例在图10中示出。在一些实施例中,方法900可以包括计算(动作906)一个或多个分块的移动轨迹。动作906的示例在图11中示出。

方法900还可包括至少部分地基于所识别的一个或多个分块和/或其估计的移动轨迹来设置(动作908)图像感测系统。可以通过至少部分地基于识别出的一个或多个分块和/或其估计的移动轨迹,通过例如比较器606、像素滤波器706等来启用图像感测系统的一部分像素单元来实现该设置。在一些实施例中,比较器606可以接收与图像上的已选择分块对应的像素单元的第一参考电压值,以及与图像上的任何已选择分块都不对应的像素单元的第二参考电压值。比较器606可以将第二参考电压设置为远高于第一参考电压,使得由具有第二参考电压的比较器单元的像素单元感测到的不合理的光强度变化可以导致该像素单元的输出。在一些实施例中,像素滤波器706可以禁用具有不与图像上的任何已选择分块对应的地址(例如,行和列)的像素单元的输出。

图10示出了根据一些实施例的分块识别904。分块识别904可以包括至少部分地基于颜色、光强度、到达角、深度和语义来从一个或多个输入分割(动作1002)一个或多个图像。

分块识别904还可以包括识别(动作1004)一个或多个图像中的一个或多个对象。在一些实施例中,对象识别1004可以至少部分地基于对象的预定特征,包括例如手部、眼睛、面部特征。在一些实施例中,对象识别1004可以基于一个或多个虚拟对象。例如,虚拟动物角色正在用实体铅笔上行走。对象识别1004可以将虚拟动物角色标靶作为对象。在一些实施例中,对象识别1004可以至少部分地基于由图像感测系统接收的人工智能(AI)训练。例如,可以通过读取不同类型和颜色的猫的图像来训练图像感测系统,从而学习猫的特征并能够识别物理世界中的猫。

分块识别904可以包括基于一个或多个对象来生成(动作1006)分块。在一些实施例中,对象分块1006可以通过计算一个或多个对象的凸包或边界框来生成分块。

图11示出了根据一些实施例的分块轨迹估计906。分块轨迹估计906可以包括预测(动作1102)一个或多个分块随时间的运动。一个或多个分块的运动可能由多种原因引起,包括例如移动对象和/或移动用户。移动预测1102可以包括基于接收到的图像和/或接收到的AI训练来导出移动对象和/或移动用户的移动速度。

分块轨迹估计906可以包括至少部分地基于预测的运动来计算(动作1104)一个或多个分块随时间的轨迹。在一些实施例中,轨迹可以通过用一阶线性方程建模来计算,假设移动中的对象将继续以相同速度沿相同方向移动。在一些实施例中,轨迹可以通过曲线拟合或使用试探法来计算,包括模式检测。

图12和图13示出可以在分块轨迹的计算中应用的因素。图12示出了可移动对象的示例,在该示例中,可移动对象是相对于AR系统的用户正在移动的移动对象1202(例如,手部)。在该示例中,用户佩戴作为头戴式显示器62的一部分的图像传感器。在该示例中,用户的眼睛49正直视前方,使得图像阵列1200相对于一个视点1204捕获眼睛49的视场(FOV)。对象1202在FOV中,因此通过创建强度变化出现在阵列1200中的相应像素中。

阵列1200具有排列成阵列的多个像素1208。对于系统跟踪手部1202,阵列中在时间t0处包含对象1202的分块1206可以包括多个像素的一部分。如果对象1202正在移动,则捕获该对象的分块的位置将随时间改变。可以在分块轨迹中捕获该变化,从分块1206到稍后使用的分块X和Y。

分块轨迹可以被估计,例如在动作906中,通过识别分块中的对象的特征1210,例如在所示示例中的指尖。可以针对该特征来计算移动向量1212。在该示例中,轨迹被建模为一阶线性方程,并且预测基于对象1202将随着时间继续在相同分块轨迹1214上的假设,产生在两个连续时间中的每一个时间处的分块位置X和Y。

随着分块位置改变,移动对象1202的图像保持在分块内。即使图像信息限于利用分块内的像素收集的信息,但是该图像信息也足以表示移动对象1202的移动。无论图像信息是强度信息还是如差分电路产生的差分信息,情况都是如此。例如,在差分电路的情况下,当移动对象1202的图像在像素上方移动时,可以发生指示强度增加的事件。相反,当移动对象1202的图像从像素略过时,可以发生指示强度降低的事件。具有增加和降低事件的像素模式可以用作移动对象1202的移动的可靠指示,由于指示事件的数据量相对较少,因此可以以低延迟快速地更新。作为一个具体的示例,这样的系统可以导致逼真的XR系统,该系统跟踪用户的手部并改变虚拟对象的渲染,从而为用户创造用户正在与虚拟对象交互的感觉。

分块的位置可以由于其他原因而改变,并且其中的任何一个或所有原因可能反映在轨迹计算中。一种这样的其他变化是当用户佩戴图像传感器时用户的运动。图13示出了移动用户的示例,其为用户以及图像传感器创建变化的视点。在图13中,用户可能最初正在以视点1302直视前方对象。在这种配置中,图像阵列的像素阵列1300将捕获用户前方的对象。用户前方的对象可以在分块1312中。

然后用户可以改变视点,例如通过转动他们的头部。视点可以更改为视点1304。即使先前位于用户正前方的对象没有移动,它也会在用户视点1304处的视场内具有不同的位置。它也将是在用户佩戴的图像传感器的视场内的不同点处,因此在图像阵列1300内的不同位置处。例如,该对象可以包含在位置1314处的分块内。

如果用户进一步将他们的视点更改为视点1306,并且图像传感器随着用户移动,则先前在用户正前方的对象的位置将在用户佩戴的图像传感器的视场内的不同点处成像,因此是图像阵列1300内的不同位置处。例如,该对象可以包含在位置1316处的分块内。

可以看出,随着用户进一步改变他们的视点,捕获对象所需的图像阵列中的分块的位置会进一步移动。可以估计该移动从位置1312到位置1314再到位置1316的轨迹并用于跟踪分块的未来位置。

可以以其他方式估计轨迹。例如,当用户具有视点1302时,惯性传感器的测量可以指示用户头部的加速度和速度。该信息可以用于基于用户头部的移动来预测图像阵列内分块的轨迹。

分块轨迹估计906可以至少部分地基于这些惯性测量结果来预测用户将在时间t1处具有视点1304并且在时间t2处具有视点1306。因此,分块轨迹估计906可以预测分块1308可以在时间t1移动到分块1310并且在时间t2移动到分块1312。

作为这种方法的一个示例,它可以用于在AR系统中提供准确且低延迟的头部姿势估计。该分块可以定位为包含用户环境内的静止对象的图像。作为一个具体示例,图像信息的处理可以将挂在墙上的相框的角识别为要跟踪的可识别且静止的对象。该处理可以将分块集中在该对象上。与上面结合图12描述的移动对象1202的情况一样,对象和用户头部之间的相对运动,将产生可用于计算用户和被跟踪对象之间的相对移动的事件。在该示例中,由于被跟踪对象是静止的,因此相对移动指示用户正佩戴着的成像阵列的移动。因此,该移动指示用户头部姿势相对于物理世界的变化,并可以用于维持用户头部姿势的准确计算,这可用于逼真地渲染虚拟对象。由于如本文所述的成像阵列可以提供快速更新,每次更新的数据量相对较少,因此渲染虚拟对象的计算保持准确(它们可以快速执行并频繁更新)。

返回参照图11,分块轨迹估计906可以包括至少部分地基于计算的分块轨迹来调整(动作1106)至少一个分块的大小。例如,分块的大小可以被设置为足够大以使其包括如下的多个像素:将要针对其生成图像信息的可移动对象或对象的至少一部分的图像将会投影在这些像素中。分块可以被设置为略大于感兴趣对象部分的图像的投影尺寸,以便如果在估计分块的轨迹时存在任何误差,分块仍然可以包括图像的相关部分。当对象相对于图像传感器移动时,该对象的图像大小(以像素为单位)可以基于距离、入射角、对象的取向或其他因素而改变。定义与对象相关联的分块的处理器可以设置分块的大小,例如通过基于其他传感器数据来测量或基于世界模型来计算与对象相关的分块的大小。分块的其他参数,例如其形状,可以类似地设置或更新。

图14示出了根据一些实施例的被配置用于在XR系统中使用的图像感测系统1400。与图像感测系统400(图4)类似,图像感测系统1400包括选择性地输出分块内的值的电路并且可以被配置为输出分块内的像素的事件,也如上所述。另外,图像感测系统1400被配置为选择性地输出测量到的强度值,其可以针对完整图像帧输出。

在所示的实施例中,针对利用如上所述的DVS技术生成的事件以及强度值示出单独的输出。利用DVS技术生成的输出可以使用如上结合AER418描述的表示输出为AER 1418。表示强度值的输出可以通过这里指定为APS 1420的输出端来输出。那些强度输出可以针对分块或可以针对整个图像帧。AER和APS输出可以同时激活。然而,在所示实施例中,图像传感器1400在任何给定时间以输出事件的模式或输出强度信息的模式操作。其中使用这种图像传感器的系统可以选择性地使用事件输出和/或强度信息。

图像感测系统1400可以包括图像传感器1402,图像传感器1402可以包括图像阵列1404,图像阵列1404可以包含多个像素1500,每个像素对光进行响应。传感器1402还可以包括访问像素单元的电路。传感器1402还可以包括生成对于访问电路的输入以控制从图像阵列1404中的像素单元读出信息的模式的电路。

在所示的实施例中,图像阵列1404被配置为具有多行和多列像素单元的阵列,这些像素单元在两种读出模式中均可访问。在这样的实施例中,访问电路可以包括行地址编码器/解码器1406、控制列选择开关1422的列地址编码器/解码器1408,和/或可以临时保存由一个或多个对应像素单元感测的入射光有关的信息的寄存器1424。分块跟踪引擎1410可以生成对于访问电路的输入以控制哪些像素单元在任何时候提供图像信息。

在一些实施例中,图像传感器1402可以被配置为在滚动快门模式、全局快门模式、或两者中操作。例如,分块跟踪引擎1410可以生成对于访问电路的输入以控制图像阵列1402的读出模式。

当传感器1402在滚动快门读出模式下操作时,在每个系统时钟期间通过例如闭合多个列开关中的单个列开关1422来选择单列像素单元。在该系统时钟期间,所选择的像素单元列被曝光并且被读出到APS 1420。为了通过滚动快门模式生成图像帧,传感器1402中的像素单元列可以被逐列读出,然后由图像处理器处理从而生成图像帧。

当传感器1402在全局快门模式下操作时,例如在单个系统时钟中,像素单元的列同时被曝光,并将信息保存在寄存器1424中,使得多个列中的像素单元捕获的信息可以同时读出到APS 1420b。这种读出模式允许直接输出图像帧而无需进一步的数据处理。在所示示例中,关于由像素单元感测到的入射光的信息被保存在相应的寄存器1424中。应当理解,多个像素单元可以共享一个寄存器1424。

在一些实施例中,传感器1402可以在单个集成电路中实现,例如CMOS集成电路。在一些实施例中,图像阵列1404可以在单个集成电路中实现。分块跟踪引擎1410、行地址编码器/解码器1406、列地址编码器/解码器1408、列选择开关1422和/或寄存器1424可以在第二单个集成电路中实现,例如被配置为用于图像阵列1404的驱动器。替代地或另外地,分块跟踪引擎1410、行地址编码器/解码器1406、列地址编码器/解码器1408、列选择开关1422和/或寄存器1424的一些或全部功能可以分布到AR系统中的其他数字处理器。

图15示出示例性像素单元1500。在所示的实施例中,每个像素单元可以被设置为输出事件或强度信息。然而,应当理解,在一些实施例中,图像传感器可以被配置为同时输出两种类型的信息。

事件信息和强度信息均基于光电检测器504的输出,如上文结合图5A所述。像素单元1500包括产生事件信息的电路。该电路包括感光器电路502、差分电路506和比较器508,也如上所述。当处于第一状态时,开关1520将光电检测器504连接到事件生成电路。开关1520或其他控制电路可以由控制AR系统的处理器来控制,从而在AR系统运行时的相当长的时间段内提供相对少量的图像信息。

开关1520或其他控制电路也可被控制为配置像素单元1500以输出强度信息。在图示的信息中,强度信息被提供为完整的图像帧,连续地表示为图像阵列中每个像素的像素强度值流。为了在该模式下运行,每个像素单元中的开关1520可以设置在第二位置,在通过放大器510之后,该位置暴露光电检测器504的输出,使得它可以连接到输出线。

在所示的实施例中,输出线被图示为列线1510。对于图像阵列中的每一列可以有一个这样的列线。列中的每个像素单元可以耦合到列线1510,但是可以控制像素阵列使得一次将一个像素单元耦合到列线1510。在每个像素单元中有一个这样的开关的开关1530控制像素单元1500何时连接到其相应的列线1510。例如行地址解码器410的访问电路可以闭合开关1530以确保一次只有一个像素单元连接到每条列线。开关1520和开关1530可以使用作为图像阵列或类似部件的一部分的一个或多个晶体管来实现。

图15示出了根据一些实施例的可以包括在每个像素单元中的另外的部件。采样和保持电路(S/H)1532可以连接在光电检测器504和列线1510之间。当存在时,S/H 1532可以使图像传感器1402能够在全局快门模式下运行。在全局快门模式下,触发信号同时发送到阵列中的每个像素单元。在每个像素单元内,S/H 1532在触发信号时捕获指示强度的值。S/H 1532存储该值,并基于该值生成输出,直到捕获下一个值。

如图15所示,当开关1530闭合时,表示由S/H 1532存储的值的信号可以耦合到列线1510。耦合到列线的信号可以被处理以产生图像阵列的输出。例如,该信号可以在列线1510末端的放大器1512中被缓冲和/或放大,然后被施加到模数转换器(A/D)1514。A/D1514的输出可以通过其他读出电路1516传递到输出1420。读出电路1516可以包括例如列开关1422。读出电路1516内的其他部件可以执行其他功能,例如串行化A/D 1514的多位输出。

本领域技术人员将理解如何实施电路以执行本文所述的功能。S/H1532可以被实现为例如一个或多个电容器和一个或多个开关。然而,应当理解,S/H 1532可以使用其他部件或以不同于图15A中所示的其他电路配置来实现。应当理解,除了所示出的之外,还可以实现其他部件。例如,图15示出每列一个放大器和一个A/D转换器。在其他实施例中,可能存在跨多个列共享的一个A/D转换器。

在针对全局快门进行配置的像素阵列中,每个S/H 1532可以在同一时刻存储反映图像信息的强度值。这些值可以在读出阶段期间被存储,因为存储在每个像素中的值被连续读出。例如,可以通过将一行中每个像素单元的S/H 1532连接到其相应的列线来实现连续读出。然后可以将列线上的值一次一个地传递到APS输出1420。这种信息流可以通过对列开关1422的打开和关闭进行排序来控制。例如,该操作可以由列地址解码器1408控制。一旦读出一行的每个像素的值,下一行中的像素单元就可以在它们的位置连接到列线。可以一次一列地读出这些值。可以重复一次读出一行的值的过程,直到读出图像阵列中所有像素的强度值。在针对一个或多个分块读出强度值的实施例中,该过程将在读出分块内的像素单元的值时完成。

可以以任何合适的顺序读出像素单元。例如,可以使这些行被交织,以使得每隔一行依次读出。尽管如此,AR系统仍可以通过对数据进行去交织来将图像数据处理为一帧图像数据。

在不存在S/H 1532的实施例中,随着扫描出成行和成列的值时,仍然可以顺序地从每个像素单元读取值。然而,从每个像素单元读取的值可以表示在该单元中的值作为读出过程的一部分被捕获时,诸如当该值应用于例如A/D 1514,在该单元的光电检测器处检测到的光强度。因此,在滚动快门中,图像帧的像素可以表示在稍微不同的时间入射在图像阵列上的图像。对于以30Hz速率输出全帧的图像传感器,捕获帧的第一个像素值与帧的最后一个像素值之间的时间差可能相差1/30秒,这对于许多应用是不可察觉的。

对于一些XR功能,例如跟踪对象,XR系统可以对于使用滚动快门利用图像传感器收集的图像信息执行计算。这样的计算可以在连续图像帧之间进行内插,以针对每个像素计算内插值,该内插值表示在连续帧之间的时间点处的像素的估计值。可以对所有像素使用相同的时间,使得通过计算,内插的图像帧包含表示相同时间点的像素,例如可以利用具有全局快门的图像传感器产生。替代地,全局快门图像阵列可以用于形成XR系统的一部分的可穿戴设备中的一个或多个图像传感器。用于完整或部分图像帧的全局快门可以避免可能执行的其他处理的内插,以补偿利用滚动快门捕获的图像信息中的捕获时间的变化。因此,即使图像信息用于跟踪对象的移动,诸如可以出现用于如下处理:跟踪手部或其他可移动对象、或确定AR中可穿戴设备的用户的头部姿势、或者甚至使用可穿戴设备上的相机来构建物理环境的准确表示,该设备可能会随着收集图像信息而移动,也可以避免内插计算。

分化的(differentiate)像素单元

在一些实施例中,传感器阵列中的每个像素单元可以是相同的。例如,每个像素单元可以响应广谱的可见光。因此,每个光电检测器可以提供指示可见光强度的图像信息。在这种情景中,图像阵列的输出可以是“灰度”输出,表示入射到图像阵列上的可见光量。

在其他实施例中,可以使像素单元分化。例如,传感器阵列中的不同像素单元可以输出指示光谱的特定部分中的光强度的图像信息。区分像素单元的适当技术是将滤波元件设置在通向像素单元中的光电检测器的光路中。滤波元件可以是带通的,例如,允许特定颜色的可见光通过。在像素单元上应用这样的滤光器会将该像素单元配置为提供指示与滤光器对应的颜色的光强度的图像信息。

无论像素单元的结构如何,都可以在像素单元上应用滤光器。例如,它们可以应用于具有全局快门或滚动快门的传感器阵列中的像素单元。同样,滤光器可以应用于被配置为使用DVS技术来输出强度或强度变化的像素单元。

在一些实施例中,选择性地通过原色光的滤波元件可以安装在传感器阵列中的每个像素单元中的光电检测器之上。例如,可以使用选择性地通过红光、绿光或蓝光的滤光器。传感器阵列可以具有多个子阵列,每个子阵列具有一个或多个像素,该一个或多个像素被配置为感测每一种原色的光。以这种方式,每个子阵列中的像素单元提供由图像传感器成像的对象相关的强度和颜色信息。

发明人已经认识到并理解在XR系统中,一些功能需要颜色信息,而一些功能可以利用灰度信息来执行。配备有图像传感器以提供用于XR系统操作的图像信息的可穿戴设备可以具有多个相机,其中一些相机可以由可以提供颜色信息的图像传感器形成。其他相机可以是灰度相机。发明人已经认识到并理解到,与由被配置为感测颜色的可比较的图像传感器形成的相机相比,灰度相机可以消耗更少的功率,在低光照条件下更灵敏,输出数据更快和/或输出更少的数据,以相同的分辨率来表示物理世界的相同范围。然而,灰度相机输出的图像信息足以用于在XR系统中执行的许多功能。因此,XR系统可以配置有灰度相机和彩色相机,主要使用一个或多个灰度相机,并且选择性地使用彩色相机。

例如,XR系统可以收集和处理图像信息以创建可通行世界模型。该处理可以使用颜色信息,这可以增强某些功能的有效性,例如区分对象、识别与同一对象相关联的表面和/或识别对象。这样的处理可以不时执行或更新,例如当用户第一次打开系统、移动到新环境(例如走进另一个房间)或以其他方式检测到用户环境的变化时。

其他功能没有通过使用颜色信息得到显著改善。例如,一旦创建了可通行世界模型,XR系统就可以使用来自一个或多个相机的图像来确定可穿戴设备相对于可通行世界模型中的特征的取向。例如,这种功能可以作为头部姿势跟踪的一部分来完成。用于这样的功能的一些或全部相机可以是灰度的。由于在XR系统运行时频繁地执行头部姿势跟踪,在一些实施例中连续地执行,为此功能而使用一个或多个灰度相机可以提供可观的功率节省、减少的计算或其他益处。

类似地,在XR系统操作期间的多个时间,系统可以使用来自两个或更多相机的立体信息来确定到可移动对象的距离。作为跟踪用户的手部或其他可移动对象的一部分,这样的功能可能需要高速处理图像信息。将一个或多个灰度相机用于此功能可以提供与处理高分辨率图像信息相关联的更低延迟或其他益处。

在XR系统的一些实施例中,XR系统可以同时具有彩色相机和至少一个灰度相机,并且可以基于来自那些相机的图像信息将被用于的功能来选择性地启用灰度和/或彩色相机。

图像传感器中的像素单元可以以不同于基于像素单元对其敏感的光谱的方式来区分。在一些实施例中,一些或所有像素单元可以产生具有指示入射在像素单元上的光的到达角的强度的输出。可以处理到达角信息以计算到被成像对象的距离。

在这样的实施例中,图像传感器可以无源(passively)地获取深度信息。无源深度信息可以通过在到阵列中的像素单元的光路中放置部件来获得,使得像素单元输出指示照射该像素单元的光的到达角的信息。这种部件的一个示例是透射衍射掩模(TDM)滤光器。

到达角信息可以通过计算被转换成距离信息,指示与反射光的对象的距离。在一些实施例中,被配置为提供到达角信息的像素单元可以散布有捕获一种或多种颜色的光强度的像素单元。作为结果,到达角度信息以及因此距离信息可以与关于对象的其他图像信息组合。

在一些实施例中,一个或多个传感器可以被配置为使用紧凑且低功率的部件以高频率低延迟获取关于场景中的物理对象的信息。例如,图像传感器的功耗可能低于50毫瓦,从而使设备能够使用足够小而用作可穿戴系统的一部分的电池被供电。该传感器可以是被配置为无源地获取深度信息的图像传感器,作为指示一种或多种颜色的强度的信息和/或强度信息的变化的图像信息的补充和替代。这种传感器还可以被配置为通过使用分块跟踪或通过使用DVS技术来提供少量数据以提供差分输出。

无源深度信息可以通过对图像阵列进行配置来获得,例如结合本文描述的任何一种或多种技术的图像阵列,这些图像阵列中的部件使阵列中的一个或多个像素单元适配以输出指示从被成像对象发出的光场的信息。该信息可以基于照射该像素的光的到达角。在一些实施例中,诸如上述那些像素单元的像素单元可以被配置为通过将全光部件放置在通向像素单元的光路中来输出到达角的指示。全光部件的一个示例是透射衍射掩模(TDM)。到达角信息可以通过计算转换成距离信息,指示到对象的距离,光从该对象反射形成正在捕获的图像。在一些实施例中,被配置为提供到达角信息的像素单元可以散布有捕获灰阶或一种或多种颜色的光强度的像素单元。结果,到达角度信息也可以与关于对象的其他图像信息组合。

图16示出根据一些实施例的像素子阵列100。在所示的实施例中,子阵列具有两个像素单元,但是子阵列中像素单元的数量并不限制本发明。这里,示出了第一像素单元121和第二像素单元122,其中一个被配置为捕获到达角信息(第一像素单元121),但是应当理解,被配置为测量到达角信息的像素单元阵列内的数量和位置可以变化。在该示例中,另一像素单元(第二像素单元122)被配置为测量一种颜色的光的强度,但其他配置也是可能的,包括对不同颜色的光敏感的像素单元或对宽光谱的光敏感的一个或多个像素单元,例如在灰度相机中。

图16的像素子阵列100的第一像素单元121包括到达角至强度转换器101、光电检测器105和差分读出电路107。像素子阵列100的第二像素单元122包括滤光器102、光电检测器106和差分读出电路108。应当理解,并不是图16中所示的所有部件都需要包括在每个实施例中。例如,一些实施例可以不包括差分读出电路107和/或108,并且一些实施例可以不包括滤光器102。此外,可以包括图16中未示出的其它组件。例如,一些实施例可以包括被布置为允许特定偏振的光到达光电检测器的偏振器。作为另一示例,一些实施例可以包括扫描输出电路来代替差分读出电路107,或除差分读出电路107之外还包括扫描输出电路。作为另一示例,第一像素单元121还可以包括滤光器,使得第一像素121测量入射在第一像素121上的特定颜色的光的到达角和强度。

第一像素121的到达角至强度转换器101是将入射光111的角度θ转换成可由光电检测器测量的强度的光学部件。在一些实施例中,到达角至强度转换器101可以包括折射光学器件。例如,一个或多个透镜可用于将光的入射角转换成图像平面上的位置,即由一个或多个像素单元检测到的入射光的量。在一些实施例中,到达角至位置强度转换器101可以包括衍射光学器件。例如,一个或多个衍射光栅(例如,TDM)可以将光的入射角转换成可以由TDM下方的光电检测器测量的强度。

第一像素单元121的光电检测器105接收穿过到达角至强度转换器101的入射光110,并基于入射在光电检测器105上的光的强度产生电信号。光电检测器105位于与到达角至强度转换器101相关联的图像平面处。在一些实施例中,光电检测器105可以是图像传感器的单个像素,诸如CMOS图像传感器。

第一像素121的差分读出电路107接收来自光电检测器105的信号并且仅当来自光电检测器的电信号的幅度不同于来自光电检测器105的先前信号的幅度时输出事件,实现了如上所述的DVS技术。

第二像素单元122包括滤光器102,用于过滤入射光112,使得只有特定波长范围内的光通过滤光器102并入射到光电检测器106上。滤光器102例如可以是带通滤光器,其允许红色、绿色或蓝色光之一通过并且拒绝其他波长的光和/或可以将到达光电检测器106的IR光限制为仅光谱的特定部分。

在该示例中,第二像素单元122还包括光电检测器106和差分读出电路108,其可以类似于第一像素单元121的光电检测器105和差分读出电路107操作。

如上所述,在一些实施例中,图像传感器可以包括像素阵列,每个像素与光电检测器和读出电路相关联。像素的子集可以与到达角至强度转换器相关联,该到达角至强度转换器用于确定入射在像素上的检测光的角度。像素的其他子集可以与用于确定关于正在观察的场景的颜色信息或者可以基于其他特性选择性地通过或阻挡光的滤光器相关联。

在一些实施例中,可以使用单个光电检测器和两个不同深度的衍射光栅来确定光的到达角。例如,光可以入射到第一TDM上,将到达角转换为位置,并且第二TDM可以用于选择性地通过以特定角度入射的光。这种布置可以利用塔尔博特(Talbot)效应,这是一种近场衍射效应,其中当平面波入射到衍射光栅上时,衍射光栅的图像在距衍射光栅一定距离处产生。如果第二衍射光栅放置在形成第一衍射光栅的图像的图像平面处,则到达角可以根据由位于第二光栅之后的单个光电检测器测量的光强度来确定。

图17A示出像素单元140的第一布置,其包括彼此对准的第一TDM 141和第二TDM143,使得两个光栅的折射率增加的脊和/或区域在水平方向上对准(Δs=0),其中Δs是第一TDM 141和第二TDM 143之间的水平偏移。第一TDM 141和第二TDM 143都可以具有相同的光栅周期d,并且两个光栅可以分开距离/深度z。第二TDM 143相对于第一TDM 141位于的深度z,被称为塔尔博特长度,可以通过光栅周期d和被分析光的波长λ确定,并由下式给出:

如图17A所示,具有零度到达角的入射光142被第一TDM 141衍射。第二TDM 143位于等于塔尔博特长度的深度处,使得创建第一TDM 141的图像,导致大部分入射光142穿过第二TDM 143。可选的介电层145可以将第二TDM 143与光电检测器147分开。当光穿过介电层145时,光电检测器147检测光并生成电信号,该电信号的特性(例如,电压或电流)与入射到光电检测器上的光强度成正比。另一方面,当具有非零到达角θ的入射光144也被第一TDM141衍射时,第二TDM 143阻止至少一部分入射光144到达光电检测器147。到达光电检测器147的入射光量取决于到达角θ,角度越大到达光电检测器的光越少。由光144产生的虚线表示到达光电检测器147的光量被衰减。在一些情况下,光144可以被衍射光栅143完全阻挡。因此,可以使用两个TDM,使用单个光电检测器147来获得关于入射光的到达角的信息。

在一些实施例中,由没有到达角至强度转换器的相邻像素单元获得的信息可以提供入射光强度的指示,并且可以用于确定入射光中穿过到达角至强度转换器的部分。根据该图像信息,可以计算由光电检测器147检测到的光的到达角,如下文更详细描述的。

图17B示出像素单元150的第二布置,其包括彼此未对准的第一TDM 151和第二TDM153,使得两个光栅的折射率增加的脊和/或区域在水平方向上不对准(Δs≠0),其中Δs是第一TDM 151和第二TDM 153之间的水平偏移。第一TDM 151和第二TDM 153可以具有相同的光栅周期d,并且两个光栅可以分开距离/深度z。与结合图17A讨论的其中两个TDM对准的情况不同,未对准导致角度不同于零的入射光穿过第二TDM 153。

如图17B所示,具有零度到达角的入射光152被第一TDM 151衍射。第二TDM 153位于等于塔尔博特长度的深度处,但是由于两个光栅的水平偏移,至少一部分光152被第二TDM 153阻挡。由光152产生的虚线示出到达光电检测器157的光量被衰减。在一些情况下,光152可以被衍射光栅153完全阻挡。另一方面,具有非零到达角θ的入射光154被第一TDM151衍射,但穿过第二TDM 153。在穿过可选的介电层155之后,光电检测器157检测入射到光电检测器157上的光并且生成电信号,该电信号的特性(例如,电压或电流)与入射到光电检测器上的光的强度成比例。

像素单元140和150具有不同的输出函数,其中对于不同的入射角检测到不同的光强度。然而,在每种情况下,该关系是固定的并且可以基于像素单元的设计或通过作为校准过程的一部分的测量来确定。不管精确的传递函数如何,测量的强度都可以转换为到达角,该到达角又可以用于确定到被成像对象的距离。

在一些实施例中,图像传感器的不同像素单元可以具有不同的TDM布置。例如,像素单元的第一子集可以包括与每个像素单元相关联的两个TDM的光栅之间的第一水平偏移,而像素单元的第二子集可以包括与每个像素单元相关联的两个TDM的光栅之间的第二水平偏移,其中第一偏移量与第二偏移不同。具有不同偏移的像素单元的每个子集可以用于测量不同的到达角或不同的到达角范围。例如,第一像素子集可以包括类似于图17A的像素单元140的TDM布置,第二像素子集可以包括类似于图17B的像素单元150的TDM布置。

在一些实施例中,并非图像传感器的所有像素单元都包括TDM。例如,像素单元的子集可以包括滤光器,而像素单元的不同子集可以包括用于确定到达角信息的TDM。在其他实施例中,不使用滤光器,使得像素单元的第一子集简单地测量入射光的总强度,而像素单元的第二子集测量到达角信息。在一些实施例中,来自附近没有TDM的像素单元的光强度相关的信息可以用于确定入射在具有一个或多个TDM的像素单元上的光的到达角。例如,使用被布置为利用塔尔博特效应的两个TDM,入射到在第二TDM之后的光电检测器上的光强度是入射到第一TDM上的光的到达角的正弦函数。因此,如果入射到第一TDM上的光的总强度是已知的,则光的到达角可以根据由光电检测器检测到的光的强度来确定。

在一些实施例中,可以选择子阵列中的像素单元的配置以提供具有适当分辨率的各种类型的图像信息。图18A至图18C示出图像传感器的像素子阵列中的像素单元的示例布置。所示的示例是非限制性的布置,因为应当理解,发明人设计了替代像素布置。这种布置可以在图像阵列上重复,该图像阵列可以包含数百万个像素。子阵列可以包括提供关于入射光的到达角信息的一个或多个像素单元和提供关于入射光的强度信息的一个或多个其他像素单元(有或没有滤光器)。

图18A是像素子阵列160的示例,其包括彼此不同且为矩形而非正方形的第一组像素单元161和第二组像素单元163。标记为“R”的像素单元是带有红色滤光器的像素单元,使得红色入射光通过该滤光器到达相关联的光电检测器;标记为“B”的像素单元是带有蓝色滤光器的像素单元,使得蓝色入射光通过滤光器到达相关联的光电检测器;标记为“G”的像素单元是带有绿色滤光器的像素,使得绿色入射光通过滤光器到达相关联的光电检测器。在示例子阵列160中,绿色像素单元比红色或蓝色像素单元多,说明各种类型的像素单元不需要以相同的比例存在。

标记为A1和A2的像素单元是提供到达角信息的像素。例如,像素单元A1和A2可以包括一个或多个用于确定到达角信息的光栅。提供到达角信息的像素单元可以类似地配置或可以不同地配置,例如对不同的到达角范围或相对于不同轴的到达角敏感。在一些实施例中,标记为A1和A2的像素包括两个TDM,并且像素单元A1和A2的TDM可以朝向不同的方向取向,例如彼此垂直。在其他实施例中,像素单元A1和A2的TDM可以彼此平行取向。

在使用像素子阵列160的实施例中,可以获得彩色图像数据和到达角信息。为了确定入射在像素单元组161上的光的到达角,使用来自RGB像素单元的电信号来估计入射在像素单元组161上的总光强度。使用由A1/A2像素检测到的光强度以可预测的方式随到达角而变化的事实,可以通过比较总强度(根据像素组内的RGB像素单元估计)与由A1和/或A2像素单元测量到的强度来确定到达角。例如,入射在A1和/或A2像素上的光的强度可以相对于入射光的到达角呈正弦变化。入射到像素单元组163上的光的到达角使用由像素单元组163生成的电信号以类似方式来确定。

应当理解,图18A示出了子阵列的特定实施例,并且其他配置也是可能的。在一些实施例中,例如,子阵列可以仅为像素单元组161或163。

图18B是包括第一组像素单元171、第二组像素单元172、第三组像素单元173和第四组像素单元174的替代像素子阵列170。每组像素单元171-174是正方形并在其中具有相同的像素单元布置,但是为了有可能具有用于确定不同角度范围内或相对于不同平面的到达角信息的像素单元(例如,像素A1和A2的TDM可以彼此垂直取向)。每组像素171-174包括一个红色像素单元(R)、一个蓝色像素单元(B)、一个绿色像素单元(G)和一个到达角像素单元(A1或A2)。注意,在示例像素子阵列170中,每组中存在相同数量的红/绿/蓝像素单元。此外,应当理解,像素子阵列可以在一个或多个方向上重复以形成更大的像素阵列。

在使用像素子阵列170的实施例中,可以获得彩色图像数据和到达角信息。为了确定入射在像素单元组171上的光的到达角,可以使用来自RGB像素单元的信号来估计入射在像素单元组171上的总光强度。使用到达角像素单元检测到的光强度相对于到达角具有正弦或其他可预测响应的事实,可以通过比较总强度(根据RGB像素单元估计)与由A1像素测量到的强度来确定到达角。入射在像素单元组172-174上的光的到达角可以使用由每个相应像素组的像素单元生成的电信号以类似方式来确定。

图18C是包括第一组像素单元181、第二组像素单元182、第三组像素单元183和第四组像素单元184的替代像素子阵列180。每组像素单元181-184是正方形并具有相同的像素单元布置,其中未使用滤光器。每组像素单元181-184包括:两个“白色”像素(例如,没有滤光器使得检测到红色、蓝色和绿色光以形成灰度图像);一个到达角像素单元(A1),其中TDM在第一方向上取向;和一个到达角像素单元(A2),其中TDM以第二间距或在相对于第一方向的第二方向(例如,垂直)取向。注意,在示例像素子阵列170中没有颜色信息。所得图像是灰度的,说明可以使用如本文所述的技术在彩色或灰度图像阵列中获取无源深度信息。与本文所述的其他子阵列布置一样,像素子阵列布置可以在一个或多个方向上重复以形成更大的像素阵列。

在使用像素子阵列180的实施例中,可以获得灰度图像数据和到达角信息。为了确定入射在像素单元组181上的光的到达角,使用来自两个白色像素的电信号估计入射在像素单元组181上的总光强度。使用由A1和A2像素检测到的光强度相对于到达角具有正弦或其他可预测响应的事实,可以通过比较总强度(根据白色像素估计)与由A1和/或A2像素单元测量到的强度来确定到达角。入射到像素单元组182-184上的光的到达角可以使用由每个相应像素组的像素生成的电信号以类似方式来确定。

在上述示例中,像素单元被图示为正方形并且以正方形网格进行布置。实施例不限于此。例如,在一些实施例中,像素单元的形状可以是矩形。此外,子阵列可以是三角形的或布置在对角线上或具有其他几何形状。

在一些实施例中,使用图像处理器708或与本地数据处理模块70相关联的处理器获得到达角信息,处理器可以进一步基于到达角确定对象的距离。例如,可以将到达角度信息与一种或多种其他类型的信息组合以获得对象的距离。在一些实施例中,网格模型46的对象可以与来自像素阵列的到达角信息相关联。网格模型46可以包括对象的位置,包括与用户的距离,其可以基于到达角信息而将该距离更新为新的距离值。

使用到达角度信息来确定距离值在对象靠近用户的场景中可能特别有用。这是因为距图像传感器的距离的变化导致附近对象的光到达角变化大于远离用户定位的对象的类似幅度距离变化。因此,利用基于到达角的无源距离信息的处理模块可以基于估计的对象距离选择性地使用该信息,并且可以利用一种或多种其他技术来确定与超过阈值距离的对象的距离,在一些实施例中,例如高达1米、高达3米或高达5米的距离。作为一个具体示例,AR系统的处理模块可以被编程为使用无源距离测量,该无源距离测量使用可穿戴设备用户3米范围内的对象的到达角信息,但是对于该范围以外的对象,可以使用立体图像处理,该图像处理使用由两个相机捕获的图像。

类似地,被配置为检测到达角信息的像素可能对从法线到图像阵列的角度范围内的距离变化最敏感。处理模块可以类似地被配置为使用从该角度范围内的到达角测量得出的距离信息,但是使用其他传感器和/或其他技术来确定该范围外的距离。

确定对象与图像传感器的距离的一个示例应用是手部跟踪。手部跟踪可用于AR系统,例如,为系统80提供基于手势的用户界面和/或允许用户在系统80提供的AR体验中移动环境内的虚拟对象。提供到达角信息以进行准确深度确定的图像传感器与用于减少确定用户手部移动的处理数据量的差分读出电路的组合提供了有效的界面,用户可以通过该界面与虚拟对象进行交互和/或者向系统80提供输入。确定用户手部的位置的处理模块可以使用距离信息,该距离信息使用不同的技术获取,这取决于用户的手部在可穿戴设备的图像传感器的视场中的位置。根据一些实施例,手部跟踪可以在图像感测过程期间实现为分块跟踪的一种形式。

深度信息可以有用的另一个应用是遮挡处理。遮挡处理使用深度信息来确定物理世界模型的某些部分不需要或不能基于一个或多个图像传感器捕获的图像信息来更新,该一个或多个图像传感器收集关于用户周围物理环境的图像信息。例如,如果确定存在距传感器第一距离的第一对象,则系统80可以确定对于大于第一距离的距离不更新物理世界的模型。例如,即使模型包括距传感器第二距离的第二对象,第二距离大于第一距离,如果第二对象在第一对象后面,则该对象的模型信息可以不被更新。在一些实施例中,系统80可以基于第一对象的位置生成遮挡掩模,并且仅更新模型的未被遮挡掩模遮挡的部分。在一些实施例中,系统80可以针对一个以上的对象生成一个以上的遮挡掩模。每个遮挡掩模可以与距传感器的相应距离相关联。对于每个遮挡掩模,将不更新与以下对象相关联的模型信息:该对象与传感器的距离大于与相应遮挡掩模相关联的距离。通过限制在任何给定时间更新的模型部分,生成AR环境的速度和生成AR环境所需的计算资源量降低。

虽然未在图18A至图18C中示出,图像传感器的一些实施例可以包括除滤光器之外或代替滤光器的具有IR滤光器的像素。例如,IR滤光器可以允许诸如大约等于940nm的波长的光通过并且被相关联的光电检测器检测到。可穿戴设备的一些实施例可以包括发射与IR滤光器相关联的波长(例如,940nm)相同波长的光的IR光源(例如,IR LED)。IR光源和IR像素可用作确定对象与传感器的距离的替代方式。作为示例而非限制,IR光源可以是脉冲的并且可以使用飞行时间测量来确定对象与传感器的距离。

在一些实施例中,系统80能够以一种或多种操作模式运行。第一模式可以是使用无源深度测量来确定深度的模式,例如,基于使用具有到达角至强度转换器的像素确定的光到达角。第二模式可以是使用有源深度测量来确定深度的模式,例如,基于使用图像传感器的IR像素测量的IR光的飞行时间。第三种模式可以使用来自两个独立的图像传感器的立体测量来确定对象的距离。当对象离传感器很远时,这种立体测量可以比使用具有到达角至强度转换器的像素确定的光到达角更准确。其他适当的确定深度的方法可以用于一种或多种附加的深度确定操作模式。

在一些实施例中,使用无源深度确定可能是优选的,因为这样的技术使用较少的功率。然而,系统可以确定它在特定条件下应该以有源模式运行。例如,如果传感器检测到的可见光强度低于阈值,则可能太暗而无法准确执行无源深度确定。在一些实施例中,IR照明可用于抵消低照明的影响。可以响应于检测到的低照明条件选择性地启用IR照明,该条件阻止获取足以用于设备正在执行的任务(例如,头部跟踪或手部跟踪)的图像。作为另一个示例,对象可能太远以致于无源深度确定不准确。因此,系统可以被编程以选择在第三模式下运行,其中深度是基于使用两个空间分离的图像传感器的场景的立体测量来确定的。作为另一示例,基于使用具有到达角至强度转换器的像素而确定的光的到达角来确定对象的深度在图像传感器的外围可能是不准确的。因此,如果对象正被图像传感器外围附近的像素检测到,则系统可以选择在第二模式下运行,使用有源深度确定。

虽然上述图像传感器的实施例使用具有堆叠TDM的单独像素单元来确定入射到像素单元上的光的到达角,但是其他实施例可以使用成组的所有像素上具有单个TDM的多个像素单元来确定到达角信息。TDM可以在传感器阵列上投射光图案,该图案取决于入射光的到达角度。与一个TDM相关联的多个光电检测器可以更准确地检测该图案,因为多个光电检测器中的每个光电检测器位于图像平面(图像平面包括感测光的光电检测器)中的不同位置。每个光电检测器感测到的相对强度可以指示入射光的到达角。

图19A是根据一些实施例的与单个透射衍射掩模(TDM)相关联的多个光电检测器(以光电检测器阵列120的形式,其可以是图像传感器的像素单元的子阵列)的俯视图示例。图19B是与图19A相同的光电检测器阵列的沿图19A的线A的截面图。在所示示例中,光电检测器阵列120包括16个单独的光电检测器121,其可以在图像传感器的像素单元内。光电检测器阵列120包括设置在光电检测器上方的TDM 123。应当理解,为了清楚和简单起见,每组像素单元用四个像素示出(例如形成四像素乘四像素网格)。一些实施例可以包括多于四个像素单元。例如,每组中可以包括16个像素单元、64个像素单元或任何其他数量的像素。

TDM 123位于距光电检测器121的距离x处。在一些实施例中,TDM123形成在介电层125的顶表面上,如图19B所示。例如,如图所示,TDM123可以由脊形成,或者由蚀刻到介电层125的表面中的谷形成。在其他实施例中,TDM 123可以形成在介电层内。例如,可以修改介电层的部分以相对于介电层的其他部分具有更高或更低的折射率,从而产生全息相位光栅。从上方入射到光电检测器阵列120上的光被TDM衍射,导致入射光的到达角被转换成图像平面中的与TDM 123相距x处的位置,光电检测器121位于该位置。在光电检测器阵列的每个光电检测器121处测量的入射光强度可以用于确定入射光的到达角。

图20A示出根据一些实施例的与多个TDM相关联的多个光电检测器(以光电检测器阵列130的形式)的示例。图20B是与图20A相同的光电检测器阵列的通过图20A的线B的截面图。图20C是与图20A相同的光电检测器阵列的通过图20A的线C的截面图。在所示示例中,光电检测器阵列130包括16个单独的光电检测器,这些光电检测器可以在图像传感器的像素单元内。示出了四个像素单元的四个组131a、131b、131c、131d。光电检测器阵列130包括四个单独的TDM 133a、TDM 133b、TDM 133c、TDM 133d,每个TDM设置在相关联的像素单元组上方。应当理解,为了清楚和简单起见,每组像素单元用四个像素单元来说明。一些实施例可以包括多于四个像素单元。例如,每组中可以包括16个像素单元、64个像素单元或任何其他数量的像素单元。

每个TDM 133a-d位于距光电检测器131a-d的距离x处。在一些实施例中,TDM133a-d形成在介电层135的顶表面上,如图20B所示。例如,TDM 123a-d可以由脊形成,如图所示,或者由蚀刻到介电层135的表面中的谷形成。在其他实施例中,TDM 133a-d可以形成在介电层内。例如,可以修改介电层的部分以相对于介电层的其他部分具有更高或更低的折射率,从而产生全息相位光栅。从上方入射到光电检测器阵列130上的光被TDM衍射,导致入射光的到达角被转换成图像平面中的距TDM 133a-d距离为x处的位置,光电检测器131a-d位于该位置。在光电检测器阵列的每个光电检测器131a-d处测量的入射光强度可以用于确定入射光的到达角。

TDM 133a-d可以在彼此不同的方向上取向。例如,TDM 133a垂直于TDM 133b。因此,使用光电检测器组131a检测到的光强度可以用于确定入射光在垂直于TDM 133a的平面中的到达角,并且使用光电检测器组131b检测到的光强度可以用于确定入射光在垂直于TDM 133b的平面中的到达角。类似地,使用光电检测器组131c检测到的光强度可以用于确定入射光在垂直于TDM 133c的平面中的到达角,并且使用光电检测器组131d检测到的光强度可以用于确定入射光在垂直于TDM 133d的平面中的到达角。

被配置为无源地获取深度信息的像素单元可以集成到具有如本文所述的特征的图像阵列中以支持在X现实系统中有用的操作。根据一些实施例,被配置为获取深度信息的像素单元可以被实现为用于实现具有全局快门的相机的图像传感器的一部分。例如,这种配置可以提供全帧输出。全帧可以包括同时指示深度和强度的不同像素的图像信息。使用这种配置的图像传感器,处理器可以一次获取全场景的深度信息。

在其他实施例中,提供深度信息的图像传感器的像素单元可以被配置为根据如上所述的DVS技术进行操作。在这样的情景中,事件可以指示对象深度的变化,如像素单元所指示的。图像阵列输出的事件可以指示检测到深度变化的像素单元。替代地或附加地,该事件可以包括该像素单元的深度信息的值。使用这种配置的图像传感器,处理器可以以非常高的速率获取深度信息更新,从而提供高时间分辨率。在一些实施例中,高时间分辨率可以涉及比以1Hz或5Hz更频繁地更新深度信息,并且可以替代地涉及每秒数百或数千次更新深度信息,例如每毫秒。

在又一些实施例中,图像传感器可以被配置为在全帧或DVS模式下运行。在这样的实施例中,处理来自图像传感器的图像信息的处理器可以基于处理器执行的功能以编程方式控制图像传感器的操作模式。例如,在执行涉及跟踪对象的功能时,处理器可以配置图像传感器以将图像信息输出为DVS事件。另一方面,在处理更新世界重建时,处理器可以配置图像传感器以输出全帧深度信息。在一些实施例中,在全帧和/或DVS模式中,可以使用有源照明来照射被成像的场景。例如,可以在由传感器检测到的光强度低于阈值的情况下提供IR照明,在这种情况下,它可能太暗而不能准确地执行无源深度确定。

可穿戴配置

XR系统中可以使用多个图像传感器。图像传感器可以与光学部件(例如,透镜)和控制电路相结合以创建相机。那些图像传感器可以使用上述技术中的一种或多种来获取成像信息,例如灰度成像、彩色成像、全局快门、DVS技术、全光像素单元和/或动态分块。不管所使用的成像技术如何,所得到的相机都可以安装到支撑构件上以形成头戴式装置,该头戴式装置可以包括或连接到处理器。

图21是与所公开的实施例一致的可穿戴显示系统的头戴式装置2100的示意图。如图21所示,头戴式装置2100可以包括显示设备,该显示设备包括单目镜2110a和单目镜2110b,单目镜2110a和单目镜2110b可以是光学目镜或被配置为向用户的眼睛传输和/或显示视觉信息的显示器。头戴式装置2100还可包括框架2101,框架2101可以类似于上面关于图3B所描述的框架64。头戴式装置2100还可以包括两个相机(DVS相机2120和相机2140)以及附加部件,例如发射器2130a、发射器2130b、惯性测量单元2170a(IMU 2170a)和惯性测量单元2170b(IMU 2170b)。

相机2120和相机2140是世界相机,因为它们被取向为对佩戴头戴式装置2100的用户所看到的物理世界进行成像。在一些实施例中,这两个相机可以足以获取关于物理世界的图像信息,并且这两个相机可以是唯一面向世界的相机。头戴式装置2100还可以包括附加部件,例如眼睛跟踪相机,如上面关于图3B所讨论的。

单目镜2110a和单目镜2110b可以使用诸如粘合剂、紧固件或压力配合的技术机械地耦合到诸如框架2101的支撑构件。类似地,两个相机和伴随部件(例如,发射器、惯性测量单元、眼睛跟踪相机等)可以使用诸如粘合剂、紧固件、压力配合等的技术机械地耦合到框架2101。这些机械耦合可以是直接的或间接的。例如,一个或多个相机和/或一个或多个伴随部件可以直接附接到框架2101。作为附加示例,一个或多个相机和/或一个或多个伴随部件可以直接附接到单目镜,然后单目镜可以附接到框架2101。附接的机制不旨在是限制性的。

替代地,可以形成单目镜子组件,然后将其附接到框架2101上。每个子组件可以包括,例如,单目镜2110a或2110b附接到的支撑构件。IMU和一个或多个相机可以类似地附接到支撑构件。将相机和IMU附接到同一支撑构件上可以基于IMU的输出获得关于相机的惯性信息。类似地,将单目镜附接到与相机相同的支撑构件上可以使关于世界的图像信息与在单目镜上渲染的信息在空间上相关。

头戴式装置2100可以是轻型的。例如,头戴式装置2100的重量可以在30到300克之间。头戴式装置2100可由在使用中弯曲的材料制成,例如塑料或薄金属。这样的材料可以实现轻型且舒适的头戴式装置,该头戴式装置可由用户长时间佩戴。尽管如此,具有这种轻型头戴式装置的XR系统可以支持高精度立体图像分析(这需要知道相机之间的分离),使用可以在佩戴头戴式装置时重复的校准程序,以补偿因使用中的头戴式装置的弯曲而导致的任何不准确性。在一些实施例中,轻型头戴式装置可以包括电池组。电池组可以包括一个或多个电池,这些电池可以是可充电的或不可充电的。电池组可以内置在轻型框架中,也可以是可拆卸的。电池组和轻型框架可以形成为单个单元,或者电池组可以形成为与轻型框架分离的单元。

DVS相机2120可以包括图像传感器和透镜。图像传感器可以被配置为产生灰度图像。图像传感器可以被配置为输出尺寸在1兆像素和4兆像素之间的图像。例如,图像传感器可以被配置为输出具有1016线的水平分辨率和1016线的垂直分辨率的图像。在一些方面,图像传感器可以是CMOS图像传感器。

DVS相机2120可以支持如上面关于图4、图5A和图5B所公开的动态视觉感测。在操作模式中,DVS相机2120可以被配置为响应于检测到的图像特性的变化(例如光强度的像素级变化)而输出图像信息。在一些实施例中,检测到的变化可以满足强度变化标准。例如,图像传感器可以被配置为具有用于光强度的增量增加的一个阈值和用于光强度的增量减小的另一个阈值。当检测到此类变化时,可以异步提供图像信息。在另一种操作模式中,DVS相机120可以被配置为重复地或周期性地输出图像帧,而不响应于检测到的图像特性的变化。例如,DVS相机2120可以被配置为以30Hz和120Hz之间的频率(例如,以60Hz)输出图像。

DVS相机2120可以支持如上文关于图6至15所公开的分块跟踪。例如,在各个方面,DVS相机2120可以被配置为针对图像传感器中的像素子集(例如,图像传感器中的像素分块)提供图像信息。DVS相机2120可以被配置为将动态视觉感测与分块跟踪相结合,为分块中经历图像特性变化的那些像素提供图像信息。在各个方面,图像传感器可以配置有全局快门。如上所述,关于图14和图15,全局快门可以使每个像素能够同时获取强度测量。

DVS相机2120可以是如上面关于图3B和图15至图20C所讨论的全光相机。例如,可以将部件放置在通向DVS相机2120的图像传感器的一个或多个像素单元的光路中,使得这些像素单元产生具有指示入射在像素单元上的光的到达角的强度的输出。在这样的实施例中,图像传感器可以无源地获取深度信息。适合放置在光路中的部件的一个示例是TDM滤光器。处理器可以被配置为使用到达角信息来计算到被成像对象的距离。例如,到达角信息可以转换为距离信息,指示距光从其发生反射的对象的距离。在一些实施例中,被配置为提供到达角信息的像素单元可以散布有捕获一种或多种颜色的光强度的像素单元。结果,到达角度信息以及因此距离信息可以与关于对象的其他图像信息相组合。

DVS相机2120可以被配置为具有宽视场,与所公开的实施例一致。例如,DVS相机2120可以包括等距透镜(例如,鱼眼透镜)。DVS相机2120可以朝向相机2140倾斜,从而在头戴式装置2100的用户的正前方创建由两个相机成像的区域。例如,通过视场2121、即与DVS相机2120相关联的视场的中心的垂直平面,可以与通过头戴式装置2100中线的垂直平面相交并形成角度。在一些实施例中,视场2121可以具有水平视场和垂直视场。水平视场的范围可以在90度到175度之间,而垂直视场的范围可以在70度到125度之间。在一些实施例中,DVS相机2120可以被配置为具有每像素1到5弧分之间的角像素分辨率。

发射器2130a和发射器2130b可在低光条件下和/或由头戴式装置2100执行有源深度感测时进行成。发射器2130a和发射器2130b可以被配置为发射特定波长的光。这种光可以被用户周围物理世界中的物理对象反射。头戴式装置2100可以配置有传感器以检测该反射光,包括如本文所述的图像传感器。在一些实施例中,这些传感器可以并入相机2120或相机2140中的至少一个中。例如,如上面关于图18A至图18C所述,这些相机可以配置有对应于发射器2130a和/或发射器2130b的检测器。例如,这些相机可以包括被配置为检测由发射器2130a和发射器2130b发出的光的像素。

发射器2130a和发射器2130b可以被配置为发射IR光,与所公开的实施例一致。IR光的波长可以在900纳米到1微米之间。IR光可以是例如940nm的光源,发射的光能集中在940nm附近。可以替代地或附加地使用发射其他波长的光的发射器。例如,对于旨在仅供室内使用的系统,可以使用发射光集中在850nm附近的发射器。DVS相机2120或相机2140中的至少一个可以包括一个或多个IR滤光器,该一个或多个IR滤光器设置在该相机的图像传感器中的至少一个像素子集上方。滤光器可以使发射器2130a和/或发射器2130b发射的波长的光通过,同时衰减一些其他波长的光。例如,IR滤光器可以是陷波滤波器,使波长与发射器的波长相匹配的IR光通过。陷波滤波器可以显著衰减其他IR光。在一些实施例中,陷波滤波器可以是IR陷波滤波器,阻挡IR光,允许来自发射器的光通过。IR陷波滤波器还可以允许IR波段之外的光通过。这种陷波滤波器可以使图像传感器能够接收可见光和来自发射器的已从图像传感器的视场中的对象反射的光。以此方式,像素子集可以用作发射器2130a和/或发射器2130b发射的IR光的检测器。

在一些实施例中,XR系统的处理器可以选择性地启用发射器,例如从而使得能够在弱光条件下的成像。处理器可以处理由一个或多个图像传感器生成的图像信息,并且可以检测在没有启动发射器的情况下由那些图像传感器输出的图像是否提供关于物理世界中的对象的足够信息。处理器可以响应于检测到图像由于低环境光条件而没有提供足够的图像信息而启用发射器。例如,当立体信息被用于跟踪对象并且环境光的缺乏导致被跟踪的对象的特征之间的对比度不足以使用立体图像技术准确地确定距离时,可以开启发射器。

替代地或附加地,发射器2130a和/或发射器2130b可以被配置用于进行有源深度测量,例如通过以短脉冲发射光。可穿戴显示系统可以被配置为通过检测来自发射器2130a的照明场2131a和/或发射器2130b的照明场2131b中的对象的这种脉冲的反射来执行飞行时间测量。这些飞行时间测量可以为跟踪对象或更新可通行世界模型提供额外的深度信息。在其他实施例中,一个或多个发射器可以被配置为发射图案光,并且XR系统可以被配置为处理被该图案光照射的对象的图像。这种处理可以检测图案中的变化,这可以揭示到对象的距离。

在一些实施例中,与发射器相关联的照明场的范围可能足以至少照亮用于获取关于对象的图像信息的相机的视场。例如,发射器可以共同照亮中心视场2150。在所示实施例中,发射器2130a和发射器2130b可以定位成照亮照明场2131a和照明场2131b,这两个照明场共同跨越可以提供有源照明的范围。在该示例实施例中,示出了两个发射器,但是应当理解,可以使用更多或更少的发射器来跨越期望范围。

在一些实施例中,发射器,例如发射器2130a和2130b可以默认关闭,但是可以在需要附加的照明来获取比无源成像可以获取的信息更多的信息时启用。可穿戴显示系统可以被配置为在需要附加深度信息时启用发射器2130a和/或发射器2130b。例如,当可穿戴显示系统检测到未能使用立体图像信息获取用于跟踪手部或头部姿势的足够深度信息时,可穿戴显示系统可以被配置为启用发射器2130a和/或发射器2130b。可穿戴显示系统可以被配置为当不需要附加的深度信息时禁用发射器2130a和/或发射器2130b,从而降低功耗并提高电池寿命。

此外,即使头戴式装置配置有被配置为检测IR光的图像传感器,将IR发射器安装在头戴式装置2100上或仅安装在头戴式装置2100上也不是必要条件。在一些实施例中,IR发射器可以是安装在诸如内部房间的空间中的外部设备,在该空间中可以使用头戴式装置2100。这种发射器可以发射IR光,例如以940nm的ArUco图案,这是人眼不可见的。具有这种图案的光可以实现“仪器化/辅助跟踪”,其中头戴式装置2100不必供给提供IR图案的电力,但仍然可以作为存在图案的结果而提供IR图像信息,使得通过处理该图像信息来确定空间内对象的距离或位置。具有外部照明源的系统还可以使得更多设备能够在该空间内运行。如果多个头戴式装置在同一个空间中运行,每个头戴式装置在空间中移动,没有固定的位置关系,存在着一个头戴式装置发出的光有可能会投射到另一个头戴式装置的图像传感器上从而干扰其操作的风险。例如,头戴式装置之间的这种干扰的风险可能会将可以在一个空间中运行的头戴式装置数量限制为3或4个。利用空间中的一个或多个IR发射器,该一个或多个IR发射器照亮可以由头戴式装置上的图像传感器成像的对象,更多的头戴式装置(在一些实施例中超过10个)可以在相同空间中无干扰地运行。

如上述关于图3B所公开的,相机2140可以被配置为捕获视场2141内的物理世界的图像。相机2140可以包括图像传感器和透镜。图像传感器可以被配置为生成彩色图像。图像传感器可以被配置为输出大小在4百万像素和1600万像素之间的图像。例如,图像传感器可以输出1200万像素的图像。图像传感器可以被配置为重复或周期性地输出图像。例如,图像传感器可以被配置为在被启用时以30Hz和120Hz之间的频率(例如,60Hz)输出图像。在一些实施例中,图像传感器可以被配置为基于正在执行的任务选择性地输出图像。图像传感器可以配置有滚动快门。如上面关于图14和图15所讨论的,滚动快门可以迭代地读取图像传感器中的像素子集,使得不同子集中的像素反映在不同时间收集的光强度数据。例如,图像传感器可以被配置为在第一时间读取图像传感器中的第一行像素,并且在稍后的某个时间读取图像传感器中的第二行像素。

在一些实施例中,相机2140可以被配置为全光相机。例如,如上文关于图3B和图15至图20C所讨论的,可以将部件放置在通向图像传感器的一个或多个像素单元的光路中,使得这些像素单元产生具有指示入射在像素单元上的光的到达角的强度的输出。在这样的实施例中,图像传感器可以无源地获取深度信息。适合放置在光路中的部件的一个示例是透射衍射掩模(TDM)滤光器。处理器可以被配置为使用该到达角信息来计算到被成像对象的距离。例如,到达角信息可以转换为距离信息,指示距光从其发生反射的对象的距离。在一些实施例中,被配置为提供到达角信息的像素单元可以散布有捕获一种或多种颜色的光强度的像素单元。结果,到达角信息以及因此距离信息可以与关于对象的其他图像信息组合。在一些实施例中,类似于DVS相机2120,相机2140可以被配置为提供事件检测和分块跟踪功能。头戴式装置2100的处理器可以被配置为向相机2140提供指令以将图像捕获限制为像素子集。在一些实施例中,传感器可以是CMOS传感器。

相机2140可以定位在头戴式装置2100的与DVS相机2120相对的一侧上。例如,如图21所示,当相机2140与单目镜2110a位于头戴式装置2100的同一侧时,DVS相机2120可以与单目镜2110b位于头戴式装置的同一侧。相机2140可以在头戴式装置2100上向内成角度。例如,通过视场2141、即与相机2140相关联的视场的中心的垂直平面,可以与通过头戴式装置2100中线的垂直平面相交并形成角度。相机2140的视场2141可以具有水平视场和垂直视场。水平视场的范围可以在75度与125度之间,而垂直视场的范围可以在60度与125度之间。

相机2140和DVS相机2120可以朝向头戴式装置2100的中线向内不对称地成角度。相机2140的角度可以朝向头戴式装置2100的中线向内在1度和20度之间。DVS相机2120的角度可以朝向头戴式装置2100的中线向内在1度到40度之间,并且可以不同于相机2140的角度。视场2121的角度范围可以超过视场2141的角度范围。

DVS相机2120和相机2140可以被配置为提供中心视场2150的重叠视图。中心视场2150的角度范围可以在40度与120度之间。例如,中心视场2150的角度范围可以是大约70度(例如,70±7度)。中心视场2150可以是不对称的。例如,中心视场2150可以进一步朝向包括相机2140的头戴式装置2100的一侧延伸,如图21所示。除了中心视场2150之外,DVS相机2120和相机2140可以被定位以提供至少两个外围视场。外围视场2160a可以与DVS相机2120相关联并且可以包括视场2121的不与视场2141重叠的部分。在一些实施例中,外围视场2160a的水平角度范围可以在20度和80度之间的范围内。例如,外围视场2160a的角度范围可以是大约40度(例如,40±4度)。外围视场2160b(图21中未示出)可以与相机2140相关联并且可以包括视场2141的不与视场2121重叠的部分。在一些实施例中,外围视场2160b的水平角度范围可以在10度到40度的范围内。例如,外围视场2160a的角度范围可以是大约20度(例如,20±2度)。外围视场的位置可以不同。例如,对于头戴式装置2100的特定配置,外围视场2160b可以不在头戴式装置2100的0.25米内延伸,因为在该距离内视场2141可以完全落在视场2121内。相反,外围视场2160a可以在头戴式装置2100的0.25米内延伸。在这样的配置中,DVS相机2120的更宽的视场和更大的向内角度可以确保,即使在头戴式装置2100的0.25米内,视场2121也至少部分落在视场2141之外。

IMU 2170a和/或IMU 2170b可以被配置为向可穿戴显示系统提供加速度和/或速度和/或倾斜度(inclination)信息。例如,当佩戴头戴式装置2100的用户移动时,IMU2170a和/或IMU 2170b可以提供描述用户头部的加速度和/或速度的信息。

XR系统可以耦合到处理器,该处理器可以被配置为处理由相机输出的图像数据和/或在显示设备上渲染虚拟对象。处理器可以机械地耦合到框架2101。替代地,处理器可以机械地耦合到显示设备,例如包括单目镜2110a或单目镜2110b的显示设备。作为另外的替代,处理器可以通过通信链路可操作地耦合到头戴式装置2100和/或显示设备。例如,XR系统可以包括本地数据处理模块。该本地数据处理模块可以包括处理器,并且可以通过物理连接(例如,电线或电缆)或无线(例如,蓝牙、Wi-Fi、Zigbee等)连接连接到头戴式装置2100和/或显示设备。

处理器可以被配置为执行世界重建、头部姿势跟踪和对象跟踪操作。处理器可以被配置为使用DVS相机2120和相机2140创建可通行世界模型。在创建可通行世界模型时,处理器可以被配置为使用由DVS相机2120和相机2140获取的相同物理对象的多个图像立体地确定深度信息。处理器可以被配置为使用DVS相机2120而不是相机2140更新现有的可通行世界模型。如上所述,DVS相机2120可以是分辨率比彩色相机2140低的灰度相机。此外,DVS相机2120可以异步地输出图像信息(例如,响应于检测到的事件),使得处理器能够仅在检测到变化时异步地更新可通行(passable)世界模型、头部姿势、和/或对象位置。在一些实施例中,处理器可以向DVS相机2120提供指令以将图像数据获取限制到DVS相机2120的图像传感器中的一个或多个像素分块(patch of pixel)。然后DVS相机2120可以将图像数据获取限制到这些像素分块。因此,使用由DVS相机2120而非相机2140输出的图像信息来快速更新可通行世界模型,这样可以降低的功耗并延长电池寿命。在一些实施例中,处理器可被配置为使用由DVS相机2120输出的图像信息来偶尔或周期性地更新可通行世界模型。

虽然处理器可以优先使用DVS相机2120更新可通行世界模型,但在一些实施例中,处理器可以偶尔或周期性地使用DVS相机2120和相机2140更新可通行世界模型。例如,处理器可以被配置为确定不再满足可通行世界质量标准,自从上次获取和/或使用由相机2140输出的图像以来已经过去了预定的时间间隔,和/或当前在DVS相机2120和相机2140的视场中的物理世界的一部分中的对象发生了变化。

在创建可通行世界模型之后,处理器可以优先使用由DVS相机2120输出的图像信息来跟踪头部、对象和/或手部位置。如上所述,DVS相机2120可以配置用于基于事件获取图像。所获取的图像信息可以特定于DVS相机2120的图像传感器中的一个或多个分块(patch)。替代地,处理器可以使用由DVS相机2120或相机2140输出的单眼图像来跟踪头部、对象和/或手部位置。这些单眼图像可以是全帧图像并且可以由DVS相机2120重复或周期性地输出。例如,DVS相机可以被配置为以30Hz至120Hz之间的频率(例如,以60Hz)输出图像,而可以以更高的有效速率输出变化,例如每秒数百或数千次。在一些实施例中,处理器可以使用由DVS相机2120和相机2140两者输出的立体图像来跟踪头部、对象和/或手部位置。这些立体图像可以重复或周期性地输出。

处理器可以被配置为使用全光相机获取光场信息,例如入射在图像传感器上的光的到达角信息。在一些实施例中,该全光相机可以是DVS相机2120或相机2140中的至少一个。与所公开的实施例一致,当深度信息在本文中被描述或者可以增强处理时,这样的深度信息可以从由全光相机获得的光场信息来确定或者由该光场信息来补充。例如,当相机2140包括TDM滤光器时,处理器可以被配置为使用从DVS相机2120和2140获得的图像以及从相机2140获得的光场信息来创建可通行世界模型。替代地或另外地,当相机DVS2120包括TDM滤光器时,处理器可以使用从DVS相机2120获得的光场信息。

处理器可以被配置为检测一种或多种类型的图像信息不可用或不足以为特定功能(例如世界重建、对象跟踪或头部姿势确定)提供分辨率的条件。处理器可以被配置为选择附加的或替代的图像信息源来为该功能提供足够的图像信息。可以按照导致在每种情况下以低处理负担获得合适图像信息的顺序来选择这些源。例如,DVS相机2120可以被配置为输出满足强度变化标准的图像数据,但是当具有均匀视觉特性的对象填充(fill)视场2121时,像素强度可能没有充分变化以触发图像数据获取。这可能是这种情况,例如,即使在用户的手部移动时,用户的手部填充视场的情况。在一些实施例中,甚至视场2121的部分填充也可以抑制或阻止适当的图像数据的获取。例如,当由处理器跟踪的分块填充有具有均匀出现位置(appearance)的对象的图像时,用于这些分块的图像数据可能不足以跟踪对象。类似地,如果近距离对象填充了相机的视场,或者至少填充了用于跟踪关注点的分块,例如用于跟踪头部姿势的被跟踪的关注点,则来自该相机的图像信息可能不足以用于头部跟踪功能。

然而,给定图21所示的头戴式装置(headset)2100的几何形状,相机2140可以被定位以输出填充视场的相关部分的对象的图像。替代地或附加地,这些图像可以用于确定对象的深度。相机2140还可以被定位成对在用于头部姿势跟踪的分块内被跟踪的关注点进行成像。

因此,处理器可以被配置为确定对象是否满足视场2121的填充标准。基于该确定,处理器可以被配置为启用相机2140或增加相机2140的帧速率。处理器可以然后至少从相机2140接收图像数据。在一些实施例中,该图像数据可以包括光场信息。对于对象跟踪,处理器可以被配置为使用接收到的图像数据确定深度信息。处理器可以使用所确定的深度信息来跟踪遮挡对象。对于头部姿势跟踪,处理器可以被配置为使用接收到的图像数据来确定头部姿势的变化。当DVS相机2120被配置用于关注点的分块跟踪时,处理器可以被配置为使用相机2120来跟踪关注点。处理器可以被配置为基于确定不再满足填充标准来禁用或降低相机2140的帧速率,恢复使用可以更快地被获取和/或以更低的等待时间被处理的数据,但对于正在执行的功能(例如,对象跟踪或头部姿势跟踪)而言仍然足够。这可以允许DVS相机2120以超高时间分辨率跟踪图像:例如,DVS相机2120可以以高于60Hz的频率输出指示移动对象的当前位置的信息,例如每秒数千次或数百次的频率。

应当理解,处理器可以启用或禁用相机,以便基于检测到的操作条件以任何一种或多种方式针对一个或多个功能动态地提供不同的图像信息源。处理器可以向底层图像传感器硬件发送控制信号以改变硬件的操作。替代地或附加地,处理器可以通过读取由相机生成的图像信息来启用该相机,或者通过不访问或使用由该相机生成的图像信息来禁用该相机。这些技术可用于完全或部分地启用或抑制图像信息。例如,处理器可以被配置为执行尺寸减小例程(routine)以使用相机2140调整图像输出。相机2140可以生成比DVS相机2120更大的图像。例如,相机2140可以生成12兆像素的图像而DVS相机2120可以生成1兆像素图像。由相机2140生成的图像可以包括比用于执行可通行世界模型创建、头部跟踪或对象跟踪操作所需的更多的信息。处理这些附加信息可能需要附加的功率,从而缩短电池寿命或增加延迟。因此,处理器可以被配置为丢弃或组合图像中的由相机2140输出的像素。例如,处理器可以被配置为输出具有十六分之一像素数量的图像作为原始生成的图像。该输出图像中的每个像素可以具有基于原始生成的图像中对应的4x4像素组的值(例如,这16个像素的值的平均值)。

根据一些实施例,XR系统可以包括硬件加速器。硬件加速器可以实现为专用集成电路(ASIC)或其他半导体设备,并且可以集成在头戴式装置2100内或以其他方式耦合到头戴式装置2100以使其从相机2120和相机2140接收图像信息。该硬件加速器可以使用这两个世界相机输出的图像来辅助立体地确定深度信息。来自相机2120的图像可以是灰度图像并且来自相机2140的图像可以是彩色图像。使用硬件加速可以加快深度信息的确定并降低功耗,从而延长电池寿命。

示例性校准过程

图22示出了根据一些实施例的校准例程(方法2200)的简化流程图。处理器可以被配置为在佩戴可穿戴显示系统的同时执行校准例程。校准例程可以解决由头戴式装置2100的轻型结构引起的变形。例如,处理器可以重复执行校准例程,使得校准例程补偿在可穿戴显示系统的使用期间框架2101的变形。补偿例程可以自动执行或响应于手动输入(例如,执行校准例程的用户请求)而执行。校准例程可以包括确定相机2120和相机2140的相对位置和取向。处理器可以被配置为使用由DVS相机2120和相机2140输出的图像来执行校准例程。在一些实施例中,处理器可以被配置为还使用IMU 2170a和IMU 2170b的输出。

在框2201中开始之后,方法2200可以进行到框2210。在框2210中,处理器可以识别从DVS相机2120和相机2140输出的图像中的对应特征。对应特征可以是物理世界中对象的部分。在一些实施例中,为了校准的目的,对象可以由用户放置在中心视场2150内并且可以具有在图像中容易识别的特征,这些特征可以具有预定的相对位置。然而,可以基于在校准时出现在中心视场2150中的对象上的特征来执行如本文所述的校准技术,使得能够在头戴式装置2100的使用期间重复校准。在各种实施例中,处理器可以被配置为自动选择在视场2121和视场2141内检测到的特征。在一些实施例中,处理器可以被配置为使用视场2121和视场2141内的特征的估计位置来确定特征之间的对应关系。估计可以基于针对包含这些特征或关于这些特征的其他信息的对象而构建的可通行世界模型。

方法2200可以进行到框2230。在框2230中,处理器可以接收惯性测量数据。惯性测量数据可以从IMU 2170a和/或IMU 2170b接收。惯性测量数据可以包括倾斜度和/或加速度和/或速度测量结果。在一些实施例中,IMU 2170a和2170b可以分别直接或间接机械耦合到相机2140和DVS相机2120。在这样的实施例中,由IMU 2170a和2170b进行的惯性测量(例如倾斜度)的差异可以指示相机2140和相机2120的位置和/或取向的差异。因此,IMU 2170a和2170b的输出可以提供对相机2140和DVS相机2120的相对位置进行初始估计的基础。

在框2230之后,方法2200可以进行到框2250。在框2250中,处理器可以计算DVS相机2120和相机2140的初始估计相对位置和取向。可以使用从IMU 2170b和/或IMU 2170a接收的测量结果来计算该初始估计。在一些实施例中,例如,头戴式装置可以被设计为具有DVS相机2120和相机2140的标称相对位置和取向。处理器可以被配置为将IMU 2170a和IMU2170b之间接收到的测量结果的差异归因于框架2101的变形,其可以改变DVS相机2120和相机2140的位置和/或取向。例如,IMU 2170a和IMU 2170b可以直接或间接地机械耦合到框架2101,使得这些传感器的倾斜度和/或加速度和/或速度测量结果具有预定的关系。当框架2101变形时,这种关系可能会受到影响。作为非限制性示例,IMU 2170a和IMU 2170b可以机械地耦合到框架2101,使得当不存在框架2101的变形时,这些传感器在头戴式装置运动期间测量相似的倾斜度、加速度或速度向量。在该非限制性示例中,使IMU 2170a相对于IMU2170b旋转的扭曲或弯曲可以导致IMU 2170a的倾斜度、加速度或速度向量测量结果相对于IMU 2170b的相应向量测量结果的相应旋转。由于IMU 2170a和IMU 2170b分别机械地耦合到DVS相机2140和相机2120,因此处理器可以与IMU 2170a和IMU 2170b之间的测量关系相一致地调整DVS相机2120和相机2140的标称相对位置和取向。

可以替代地或附加地使用其他技术来进行初始估计。在XR系统的操作期间重复执行校准方法2200的实施例中,初始估计例如可以是最近计算的估计。

在框2250之后,启动子过程,其中还进行相机2120和相机2140的相对位置和取向的估计。选择其中一个估计作为相机2120和相机2140的相对位置和取向,以根据相机2120和相机2140输出的图像来计算立体深度信息。可以迭代地执行该子过程,从而在每个迭代中进行另外的估计,直到确定一个可接受的估计。在图22的示例中,该子过程包括框2270、2272、2274和2290。

在框2270中,处理器可以计算相机的所估计的相对取向和被比较的特征的误差。在计算该误差时,处理器可以被配置为基于DVS相机2120和相机2140的估计相对取向以及用于校准的估计位置特征,来估计所识别的特征应当如何出现或者所识别的特征应当在由相机2120和相机2140输出的对应图像内位于何处。在一些实施例中,该估计可以与由两个相机中的每一个输出的图像中的对应特征的出现位置或明显位置进行比较,以生成估计的相对取向中的每一个的误差。可以使用线性代数技术来计算这样的误差。例如,图像内多个特征中的每一个的计算位置和实际位置之间的均方偏差可以用作误差的度量。

在框2270之后,方法2200可以进行到框2272,其中可以检查误差是否满足接受标准。例如,该标准可能是误差的总体幅度,或者可能是迭代之间的误差变化。如果误差满足接受标准,则方法2200进行到框2290。

在框2290中,处理器可以基于在框2272中计算的误差来选择估计的相对取向中的一个。所选择的估计的相对位置和取向可以是具有最低误差的估计的相对位置和取向。在一些实施例中,处理器可以被配置为选择与该最低误差相关联的估计相对位置和取向作为DVS相机2120和相机2140的当前相对位置和取向。在框2290之后,方法2200可以进行到框2299。方法2200可以在框2299中结束,其中DVS相机2120和相机2140的所选位置和取向被用于基于由那些相机形成的图像来计算立体图像信息。

如果在框2272处误差不满足接受标准,则方法2200可以进行到框2274。在框2274处,可以更新在框2270处计算误差所使用的估计。这些更新可以是相机2120和相机2140的估计的相对位置和/或取向。在估计用于校准的一组特征的相对位置的实施例中,在框2274选择的更新估计可以替代地或附加地包括对该组中特征的位置或定位的更新。可以根据用于求解具有多个变量的方程组的线性代数技术来进行这种更新。作为特定示例,可以增加或减少估计位置或取向中的一个或多个。如果该变化在子过程的一次迭代中减小了计算误差,则在随后的迭代中,可以在相同方向上进一步改变相同的估计位置或取向。相反,如果变化增加了误差,则在随后的迭代中,可以在相反的方向上改变那些估计的位置或方向。在校准过程中使用的相机和特征的估计位置和取向可以以这种方式顺序地或组合地变化。

一旦计算出更新的估计,子过程返回到框2270。在此,子过程的进一步迭代开始,计算估计的相对位置的误差。以此方式,估计的位置和取向被更新,直到选择提供可接受误差的更新的相对位置和取向。然而,应当理解,框2272处的处理可以应用其他标准来结束迭代子过程,例如完成多次迭代而没有发现可接受误差。

虽然结合DVS相机2120和相机2140描述了方法2200,但是可以针对用于立体成像的任何相机对或对于需要相对位置和取向的多个相机的任何相机组执行类似的校准。

示例性相机配置

头戴式装置2100并入提供视场和照明场来支持XR系统的多种功能的部件。图23A至图23C是根据一些实施例的与图21的头戴式装置2100相关联的视场或照明场的示例图。每个示例示意图示出了来自相对于头戴式装置的不同取向和距离的视场或照明场。图23A从升高的离轴角度示出了在距头戴式装置1米的距离处的视场或照明场。图23A示出了DVS相机2120和相机2140的视场之间的重叠,特别是DVS相机2120和相机2140如何成角度使得视场2121和视场2141穿过头戴式装置2100的中线。在所示出的配置中,视场2141延伸超出视场2121以形成外围视场2160b。如图所示,发射器2130a和发射器2130b的照明场在很大程度上重叠。以这种方式,发射器2130a和发射器2130b可以被配置为支持在低环境光的条件下对于中心视场2150中的对象的成像或深度测量。图23B从自上而下的角度示出了距头戴式装置0.3米距离处的视场或照明场。图23B示出了在距头戴式装置0.3米处存在的视场2121和视场2141的重叠。然而,在所示出的配置中,视场2141没有延伸超出视场2121很远,限制了外围视场2160b的范围并且表现出外围视场2160a与外围视场2160b之间的不对称性。图23C从前视角度示出了距头戴式装置0.25米的距离处的视场或照明场。图23C示出了在距头戴式装置0.25米处存在的视场2121和视场2141的重叠。然而,视场2141完全包含在视场2121内,因此在所示出的配置中外围视场2160b在距头戴式装置2100的该距离处不存在。

从图23A至图23C可以理解,视场2121和视场2141的重叠产生了中心视场,在有或者没有来自发射器2130a和发射器2130b的IR照明的情况下,在该中心视场中可以使用由相机2120和相机2140输出的图像来采用立体成像技术。在该中心视场中,来自相机2140的颜色信息可以与来自相机2120的灰度图像信息相组合。此外,存在不重叠的外围视场,但单眼灰度图像信息或彩色图像信息是分别从相机2120或相机2140可获得的。如本文所述,可以对针对中心视场和外围视场获取的图像信息执行不同的操作。

世界模型生成

在一些实施例中,由DVS相机2120和/或相机2140输出的图像数据可用于构建或更新世界模型。图24是根据一些实施例的用于创建或更新可通行世界模型的方法2400的简化流程图。如上文关于图21所公开的,XR系统可以使用处理器来确定和更新可通行世界模型。在一些实施例中,DVS相机2120可以被配置为操作以输出表示在多个像素中的每一个处检测到的强度水平的图像信息或者输出指示已经检测到强度变化超过阈值的像素的图像信息。在一些实施例中,处理器可以基于DVS相机2120的表示检测到的强度的输出来确定和更新该可通行世界模型,该输出可以与从相机2140输出的图像信息相结合用来立体地确定对象在可通行世界中的位置。在一些实施例中,DVS相机2120的表示检测到的强度变化的输出可用于基于来自那些位置的图像信息的变化来识别要更新的世界模型的区域。

在一些实施例中,DVS相机2120可以被配置为使用全局快门输出反映强度的图像信息,而相机2140可以被配置为具有滚动快门。处理器因此可以执行补偿例程以补偿由相机2140输出的图像中的滚动快门失真。在各种实施例中,处理器可以在不使用发射器2130a和2130b的情况下确定和更新该可通行世界模型。然而,在一些实施例中,可通行世界模型可能是不完整的。例如,处理器可能不完整地确定墙壁或其他平坦表面的深度。作为附加示例,可通行世界模型可能不完整地表示具有许多拐角、曲面、透明表面或大表面的对象,例如窗户、门、球、桌子等。处理器可以被配置为识别这样的不完整信息、获取附加信息,并使用附加深度信息更新世界模型。在一些实施例中,发射器2130a和2130b可以选择性地被启用以收集附加的图像信息,从中构建或更新可通行世界模型。在一些情景中,处理器可以被配置为在获取的图像中执行对象识别,为识别的对象选择模板,并基于该模板向可通行世界模型添加信息。以此方式,可穿戴显示系统可以改进可通行世界模型,同时很少或不使用诸如发射器2130a和2130b的功率密集型部件,从而延长电池寿命。

方法2400可以在可穿戴显示系统的操作期间一次或多次启动。处理器可以被配置为,当用户第一次打开系统、移动到新环境(例如走进另一个房间)、或通常当处理器检测到用户的物理环境发生变化时,创建可通行世界模型。替代地或附加地,方法2400可以在可穿戴显示系统的操作期间或在检测到物理世界的显著变化时或响应于用户输入(例如指示世界模型与物理世界不同步的输入)而周期性地执行。

在一些实施例中,可以存储可通行世界模型的全部或部分,该可通行世界模型由XR系统的其他用户提供或以其他方式获得。因此,虽然描述了世界模型的创建,但是应当理解,方法2400可以用于世界模型的一部分,而世界模型的其他部分源自其他来源。

在框2405中,处理器可以执行补偿例程以补偿由相机2140输出的图像中的滚动快门失真。如上所述,由具有全局快门的图像传感器(例如DVS相机2120中的图像传感器)获取的图像包括同时获取的像素值。相反,由具有滚动快门的图像传感器获取的图像包括在不同时间获取的像素值。在相机2140获取图像期间,头戴式装置与环境的相对运动可以将空间失真引入图像中。这些空间失真会影响依赖于将相机2140获取的图像与DVS相机2120获取的图像进行比较的方法的准确性。

执行补偿例程可以包括使用处理器将由DVS相机2120输出的图像与由相机2140输出的图像进行比较。处理器执行该比较以识别由相机2140输出的图像中的任何失真。这种失真可以在该图像的至少一部分中包含偏斜(skew)。例如,如果相机2140中的图像传感器正在从图像传感器的顶部到图像传感器的底部逐行获取像素值,而头戴式装置2100正在侧向平移,则对象或对象的一部分的出现位置可能会在连续的像素行中偏移一定量,该偏移量取决于平移的速度和获取每行值之间的时间差。旋转头戴式装置时会发生类似的失真。这些失真可以导致对象或对象的一部分在图像中的位置和/或取向的整体偏斜。处理器可以被配置为在由相机2120输出的图像和由相机2140输出的图像之间执行逐行比较以确定偏斜量。然后可以变换由相机2140输出的图像以去除失真(例如,去除检测到的偏斜)。

在框2410中,可以创建可通行世界模型。在所示实施例中,处理器可以使用DVS相机2120和相机2140创建可通行世界模型。如上所述,在生成可通行世界模型时,处理器可以被配置为,在构建可通行世界模型时,使用由DVS相机2120和相机2140输出的图像来立体地确定物理世界中对象的深度信息。在一些实施例中,处理器可以从相机2140接收颜色信息。该颜色信息可以用于区分对象或识别与同一对象相关联的表面。颜色信息也可用于识别对象。如以上关于图3A所公开的,处理器可以通过将关于物理世界的信息与关于头戴式装置2100的位置和取向的信息相关联来创建可通行世界模型。作为非限制性示例,处理器可以被配置为确定从头戴式装置2100到视图(例如,视场2121和/或视场2141)中的特征的距离。处理器可以被配置为估计该视图的当前位置和取向。处理器可以被配置为累积这样的距离以及位置和取向信息。通过三角测量到从多个位置和取向获取的特征的距离,可以确定特征在环境中的位置和取向。在各种实施例中,可通行世界模型可以是光栅图像、点和描述符云、以及多边形/几何定义的组合,该组合描述了这样的特征在环境中的位置和取向。在一些实施例中,可以使用由DVS相机2120输出的图像数据和使用由相机2140输出的图像数据所生成的经补偿的图像,来立体地确定从头戴式装置2100到中心视场2150中的特征的距离。在各种实施例中,可以使用光场信息来补充或细化这个确定。例如,通过计算,到达角信息可以转换成距离信息,指示距光从其发生反射的对象的距离。

在框2415中,处理器可以禁用相机2140或降低相机2140的帧速率。例如,可以将相机2140的帧速率从30Hz降低到1Hz。如上所公开的,彩色相机2140可以比DVS相机2120(灰度相机)消耗更多的功率。通过禁用或降低相机2140的帧速率,处理器可以降低功率消耗并延长可穿戴显示系统的电池寿命。因此,处理器可以禁用相机2140或降低相机2140的帧速率以节省功率。可以保持该较低功率状态直到检测到指示可能需要世界模型中的更新的条件。可以基于时间的流逝或输入来检测这样的条件,例如来自收集关于用户周围环境的信息的传感器或来自用户。

替代地或附加地,一旦可通行世界模型足够完整,就足以能够使用使用相机2120获取的图像或图像分块来确定特征在物理环境中的位置和取向。作为非限制性示例,可以基于模型中表示的用户位置周围空间的百分比或基于与可通行世界模型匹配的新图像信息量,将可通行世界模型识别为足够完整。对于后一种方法,新获取的图像可以与可通行世界中的位置相关联。如果这些图像中的特征具有与可通行世界模型中识别为地标的特征相匹配的特征,则可以认为世界模型是完整的。覆盖或匹配不必是100%完整的。相反,对于每个标准,可以应用适当的阈值,例如大于95%的覆盖率或大于90%的特征匹配先前识别的地标。不管如何确定可通行世界模型是否完整,一旦完成,处理器就可以使用现有的可通行世界信息来细化对物理世界中特征的位置和取向的估计。与处理器处理由DVS相机2120输出的图像的速率相比,该过程可以反映物理世界中的特征正在缓慢地改变位置和/或取向(如果有的话)的假设。

在框2420中,在创建可通行世界模型之后,处理器可以识别用于更新可通行世界模型的表面和/或对象。在一些实施例中,处理器可以使用由DVS相机2120输出的灰度图像或图像分块来识别这样的表面或对象。例如,一旦在框2410处创建了世界模型,该世界模型指示可通行世界内特定位置处的表面,则由DVS相机2120输出的灰度图像或图像分块可以用于检测具有大致相同特征的表面,并通过更新可通行世界模型内的该表面的位置来确定应当更新可通行世界模型。例如,在大致相同位置处具有与可通行世界模型中的表面大致相同形状的表面可以等同于通行世界模型中的该表面,并且可以相应地更新可通行世界模型。作为另一个示例,可通行世界模型中表示的对象的位置可以基于由DVS相机2120输出的灰度图像或图像分块进行更新。如本文所述,DVS相机2120可以检测与灰度图像或更多图像分块相关联的事件。在检测到这样的事件时,DVS相机2120可以被配置为使用灰度图像或图像分块来更新可通行世界模型。

在一些实施例中,处理器可以使用从相机2120获得的光场信息来确定物理世界中对象的深度信息。例如,到达角信息可用于确定深度信息。该确定对于物理世界中更接近头戴式装置2100的对象可能更准确。因此,在一些实施例中,处理器可以被配置为使用光场信息仅更新可通行世界模型的满足深度标准的部分。深度标准可以基于最大可区分距离。例如,处理器可能无法区分距头戴式装置2100不同距离处的对象,当这些距离超过阈值距离时。深度标准可以基于最大误差阈值。例如,估计距离的误差可能随着距离的增加而增加,特定距离对应于最大误差阈值。在一些实施例中,深度标准可以基于最小距离。例如,处理器可能无法准确确定对象在距头戴式装置2100的最小距离内(诸如15cm)的距离信息。因此,世界模型的距头戴式装置大于16cm的部分可能满足深度标准。在一些实施例中,可通行世界模型可以由的三维的体素“块(brick)”组成。在这样的实施例中,更新可通行世界模型可以包括识别用于更新的体素块。在一些实施例中,处理器可以被配置为确定视锥体。视锥体可以具有最大深度,例如1.5m。处理器可以被配置为识别视锥体内的块。处理器然后可以针对识别出的块内的体素更新可通行世界信息。在一些实施例中,处理器可以被配置为使用在步骤2450中获取的光场信息来更新体素的可通行世界信息,如本文所述。

用于更新世界模型的过程可以基于对象是处于中心视场还是外围视场而不同。例如,可以对中心视场中检测到的表面执行更新。在外围视场中,例如,可以仅针对处理器具有模型的对象执行更新,从而处理器可以确认对可通行世界模型的任何更新与该对象一致。替代地或附加地,可以基于对灰度图像的处理来识别新的对象或表面。即使与框2410处的处理相比,这样的处理导致对象或表面的表示更不准确,但在一些情景下,通过平衡更快且功耗更低的处理的准确度,可以产生更好的整体系统。此外,通过周期性地重复方法2400,较低准确度的信息可以由较高准确度的信息周期性地替换,以便利用通过与DVS相机2120相结合地使用彩色相机2140而立体生成的部分来替换仅用单眼灰度图像生成的世界模型的部分。

在一些实施例中,处理器可以被配置为确定更新的世界模型是否满足质量标准。当世界模型满足质量标准时,处理器可以在相机2140被禁用或具有降低的帧速率的情况下继续更新世界模型。当更新的世界模型不满足质量标准时,方法2400可以启用相机2140或增加相机2140的帧速率。方法2400也可以返回到步骤2410并重新创建可通行世界模型。

在框2425中,在更新可通行世界模型之后,处理器可以识别可通行世界模型是否包括不完整的深度信息。不完整的深度信息可以以多种方式中的任何一种出现。例如,一些对象不会在图像中产生可检测的结构。例如,物理世界中非常暗的区域可能无法以足够的分辨率成像,无法从使用环境照明获取的图像中提取深度信息。作为另一个示例,窗户或玻璃桌面可能不会在可见图像中出现或被计算机处理识别。作为又一示例,大的均匀表面,例如桌面或墙壁,可能缺乏可以在两个立体图像中相关联以实现立体图像处理的足够特征。结果,处理器可能无法使用立体处理来确定这样的对象的位置。在这些情景中,世界模型中将存在“孔”,因为寻求使用可通行世界模型在通过“孔”的特定方向上来确定到表面的距离的过程将无法获得任何深度信息。

当可通行世界模型不包括不完整的深度信息时,方法2400可以返回使用从DVS相机2120获得的灰度图像或图像分块来更新可通行世界模型。

在识别出不完整的深度信息之后,控制方法2400的处理器可以采取一个或多个动作来获取附加的深度信息。方法2400可以进行到框2431、框2433和/或框2435。在框2431中,处理器可以启用发射器2130a和/或发射器2130b。如上所述,相机2120和相机2140中的一个或多个可以被配置为检测由发射器2130a和/或发射器2130b发射的光。处理器然后可以通过使发射器2130a和/或2130b发射可以增强在物理世界中获取的对象的图像的光来获取深度信息。例如,当DVS相机2120和相机2140对发射的光敏感时,可以处理由DVS相机2120和相机2140输出的图像以提取立体信息。当发射器2130a和/或发射器2130b被启用时,可以替代地或附加地使用其他分析技术来获得深度信息。在一些实施例中,可以替代地或附加地使用飞行时间测量和/或结构光技术。

在框2433中,处理器可以从先前获取的深度信息确定附加深度信息。在一些实施例中,例如,处理器可以被配置为识别利用DVS相机2120和/或相机2140形成的图像中的对象,并且基于识别出的对象的模型来填充可通行世界模型中的任何孔。例如,处理可以检测物理世界中的平坦表面。可以使用利用DVS相机2120和/或相机2140获取的现有深度信息或存储在可通行世界模型中的深度信息来检测平坦表面。可以响应于确定世界模型的一部分包括不完整的深度信息来检测平坦表面。处理器可以被配置为基于检测到的平坦表面来估计附加深度信息。例如,处理器可以被配置为使识别出的平坦表面延伸通过不完整深度信息的区域。在一些实施例中,处理器可以被配置为在延伸平坦表面时基于可通行世界模型的周围部分来内插丢失的深度信息。

在一些实施例中,作为附加示例,处理器可以被配置为检测世界模型的包括不完整深度信息的部分中的对象。在一些实施例中,该检测可能涉及使用神经网络或其他机器学习工具来识别对象。在一些实施例中,处理器可以被配置为访问存储模板的数据库并选择与识别出的对象相对应的对象模板。例如,当识别出的对象是窗口时,处理器可以被配置为访问存储模板的数据库并选择相应的窗口模板。作为非限制性示例,模板可以是表示一类对象的三维模型,诸如窗户、门、球等的类型。处理器可以基于更新的世界模型中的对象的图像来配置对象模板的实例。例如,处理器可以缩放、旋转和平移模板以匹配对象在更新的世界模型中的检测位置。然后可以基于配置模板的边界来估计附加深度信息,表示识别出的对象的表面。

在框2435中,处理器可以获取光场信息。在一些实施例中,该光场信息可以与图像一起获取,并且可以包括到达角信息。在一些实施例中,相机2120可以被配置为全光相机以获取该光场信息。

在框2431、框2433和/或框2435之后,方法2400可以进行到框2440。在框2490中,处理器可以使用在框2431和/或框2473中获得的附加深度信息来更新可通行世界模型。例如,处理器可以被配置为将从使用有源IR照明进行的测量获得的附加深度信息混合到现有的可通行世界模型中。类似地,从光场信息确定的附加深度信息,例如使用基于到达角信息的三角测量,可以混合到现有的可通行世界模型中。作为附加示例,处理器可以被配置为将通过延伸检测到的平坦表面而获得的内插深度信息混合到现有的可通行世界模型中,或者将根据配置模板的边界估计的附加深度信息混合到现有的可通行世界模型中。

信息可以以一种或多种方式混合,这取决于附加深度信息和/或可通行世界模型中的信息的性质。例如,可以通过向可通行世界模型添加针对可通行世界模型中存在孔的位置收集的附加深度信息来执行混合。替代地,附加深度信息可以覆盖可通行世界模型中相应位置的信息。作为又一替代,混合可以涉及在可通行世界模型中已有的信息和附加深度信息之间进行选择。这样的选择例如可以是基于选择可通行世界模型中已有的深度信息,或附加深度信息中的深度信息,该附加深度信息表示距离用于收集附加深度信息的相机最近的表面。

在一些实施例中,可通行世界模型可以由连接点的网格来表示。更新世界模型可以通过计算要添加到世界模型的对象或表面的网格表示,然后将该网格表示与世界模型的网格表示进行组合来完成。发明人已经认识到并理解,与将对象或表面添加到世界模型,然后计算更新模型的网格相比,以该顺序执行处理可能需要更少的处理。

图24示出了可以在框2420和2440处更新世界模型。可以以相同方式执行每个框的处理,例如通过生成要添加到世界模型的对象或表面的网格表示,并将生成的网格与世界模型的网格进行组合,或采用不同的方式。在一些实施例中,该合并操作可以针对在框2420和框2440识别的对象或表面两者执行一次。例如,可以如结合框2440所描述的那样执行这种组合处理。

在一些实施例中,方法2400可以循环回到框2420以重复基于使用DVS相机2120获取的信息来更新世界模型的过程。由于执行框2420的处理可以比执行框2410的处理的图像更少且更小,所以它可以以更高的速率重复。该处理可以以小于每秒10次的速率执行,例如每秒3至7次之间。

方法2400可以以这种方式重复,直到检测到结束条件。例如,方法2400可以重复预定的时间段,直至接收到用户输入,或者直至在头戴式装置2100的相机的视场中检测到物理世界模型的部分中的特定类型或特定幅度的变化。方法2400然后可以在框2499中终止。方法2400可以再次启动,以便在框2405处捕获世界模型的新信息,包括用更高分辨率彩色相机获取的信息。方法2400可以终止并重新启动以使用彩色相机重复框2405处的处理,从而比仅基于灰度图像信息更新世界模型的速度慢的平均速度来创建世界模型的一部分。例如,可以以每秒一次或更慢的平均速率重复使用彩色相机的处理。

头部姿势跟踪

XR系统可以跟踪佩戴XR显示系统的用户的头部的位置和取向。确定用户的头部姿势使得能够将可通行世界模型中的信息转换为用户可穿戴显示设备的参考系,以便可通行世界模型中的信息可用于在可穿戴显示设备上渲染对象。由于头部姿势频繁地更新,因此仅使用DVS相机2120执行头部姿势跟踪可提供节能、减少的计算或其他益处。这种跟踪可以是基于事件的并且可以获取完整图像和/或图像分块数据,如上文关于图4至16所描述的。XR系统因此可以被配置为根据需要禁用或降低彩色相机2140的帧速率,以相对于功耗和计算要求平衡头部跟踪精度。

图25是根据一些实施例的用于头部姿势跟踪的方法2500的简化流程图。方法2500可以包括创建世界模型、选择跟踪方法、使用所选的方法跟踪头部姿势、以及评估跟踪质量。根据方法2500,处理器可优先使用由DVS相机2120基于事件获取的图像分块数据来跟踪头部姿势。如果该优选方法证明不足,则处理器可使用由DVS相机2120周期性输出的全帧图像来跟踪头部姿势。如果该次级方法证明不足,则处理器可以使用由DVS相机2120和相机2140输出的图像立体地跟踪头部姿势。

在框2510中,处理器可以创建可通行世界模型。在一些实施例中,处理器可以被配置为如上文关于方法2400的框2405-2415所描述的创建可通行世界模型。例如,处理器可以被配置为从DVS相机2120和相机2140获取图像。在一些实施方式中,处理器可以补偿相机2140中的滚动快门失真。然后处理器可以使用来自DVS相机2120的图像和来自相机2140的经补偿的图像,来立体地确定物理世界中特征的深度。使用这些深度,处理器可以创建可通行世界模型。在一些实施例中,在创建可通行世界模型之后,处理器可以被配置为禁用或降低相机2140的帧速率。通过在生成可通行世界模型之后禁用或降低相机2140的帧速率,XR系统可以降低功率消耗和计算要求。

例如,处理器可以从与固定(stationary)特征对应的世界模型特征中进行选择,如上文结合图13所描述的。指示固定特征相对于安装在用户头部上佩戴的设备上的相机的位置的图像信息可用于计算用户头部相对于世界模型的位置变化。根据一些实施例,处理器可以选择跟踪方法来跟踪固定特征的相对位置,该方法既满足质量标准又相对于其他跟踪方法需要低计算量。

在框2520中,处理器可以选择跟踪方法。处理器可以使用由DVS相机2120检测到的事件来优先选择头部姿势跟踪。在头部姿势跟踪满足跟踪质量标准时,处理器可以继续使用该优选方法。例如,跟踪头部姿势的难度可能取决于用户头部的位置和取向以及可通行世界模型的内容。因此,在某些情况下,处理器可能或变得不能仅使用由DVS相机2120输出的异步获取的图像数据来跟踪头部姿势。

如果处理器确定由优选方法提供的头部姿势跟踪不满足跟踪质量标准,则处理器可以选择次级方法来跟踪头部姿势。例如,处理器可以使用由DVS相机2120输出的事件的指示与使用相机2140获得的颜色信息相结合来选择跟踪头部姿势。如果处理器确定该次级方法不满足跟踪质量标准,则处理器可以选择第三级方法来跟踪头部姿势。例如,处理器可以选择使用由DVS相机2120和相机2140输出的图像立体地跟踪头部姿势。在头部姿势跟踪满足跟踪质量标准时,处理器可以继续使用所选的方法。替代地,处理器可以在预先确定的持续时间或者头部姿势更新次数或数量之后;或响应满足标准而恢复到更优选的方法。

在每种方法中,可以针对正在使用的每个相机的整个视场获取图像信息。然而,如上文结合图13所描述的,可以仅针对与包含被跟踪的特征的部分对应的图像块来收集图像信息。

图25示出了在框2530a和框2540a中执行的第一跟踪方法。在框2530a中,当DVS相机2120的DVS功能尚未启用时,处理器可以启用该功能。可以通过设置与从世界模型中选择的固定特征的移动相关联的强度的阈值变化来启用该功能。在一些实施例中,还可以设置包含那些特征的分块。在框2540a中,处理器可以使用响应于由DVS相机2120检测到的事件而获取的分块数据来跟踪头部姿势。在一些实施例中,处理器可以被配置为根据该分块数据来计算实时或接近实时的用户头部姿势。

在框2530b和框2540b中示出了次级跟踪方法。在该示例中,颜色图像信息可以与事件信息相结合地使用来跟踪特征的相对位置。在框2530b中,当相机2140尚未启用时,处理器可以启用相机2140。可以使相机2140能够以与提供头部姿势更新的速率相同或更慢的速率来提供图像。例如,头部姿势更新可以以30到60Hz之间的平均速率通过使用异步事件数据来提供。可以使得相机2140能够以小于30Hz(例如在5到10Hz之间)的速率提供帧。

颜色信息可用于提高跟踪固定特征的准确性。例如,颜色信息可用于计算正在被跟踪特征的更新位置,与单独使用灰度事件相比,可以更准确地确定该位置。结果,正在被跟踪的分块的位置可能被更新或改变以包含其他特征。替代地或附加地,来自相机2140的信息可用于识别要跟踪的替代特征。作为又一替代,颜色信息可以允许基于分析表面、边缘或比用DVS相机2120所追踪的更大的特征来计算相机的相对位置。

在框2530c和2540c中示出了第三级跟踪方法。在该示例中,第三级跟踪可以基于立体信息。在框2530b中,处理器可以禁用DVS相机2120的DVS功能,使得相机2120输出强度信息而不是表示强度变化的事件信息。在框2540b中,处理器可以使用由DVS相机2120周期性输出的图像来跟踪头部姿势,这些图像可以是全帧图像或者可以是正在被跟踪的特定分块内的图像。在框2540c中,处理器可以使用从由DVS相机2120和相机2140输出的图像获得的立体图像数据来跟踪头部姿势。例如,处理器可以被配置为根据立体图像数据确定深度信息。在一些实施例中,处理器可以被配置为根据这些图像计算实时或接近实时的用户头部姿势。

在分块2550中,处理器可以根据跟踪标准来评估跟踪质量。跟踪标准可以取决于估计的头部姿势的稳定性、估计的头部姿势的噪声、估计的头部姿势与世界模型的一致性、或类似因素。作为具体示例,可以将计算出的头部姿势与可以指示不准确的其他信息进行比较,例如惯性测量单元的输出或人类头部移动范围的模型,从而可以识别头部姿势中的误差。具体的跟踪标准可能会根据所使用的跟踪方法而有所不同。例如,在使用基于事件的信息的方法中,可以使用特征的位置之间的对应关系,如由基于事件的输出与全帧图像中的对应特征的位置相比较所指示的。替代地或附加地,特征相对于其周围环境的视觉独特性可以用作跟踪标准。例如,当视场中填充一个或多个对象,使得难以识别特定特征的运动时,基于事件的方法的跟踪标准可能会显示较差的跟踪。被遮挡的视场百分比是可以使用的标准的示例。例如大于40%的阈值可以用作从使用基于图像的方法用于头部姿势跟踪进行切换的指示。作为进一步的示例,重投影误差可以用作头部姿势跟踪质量的度量。可以通过将获取的图像中的特征与先前确定的可通行世界模型进行匹配来计算这样的标准。图像中的特征的位置可以使用基于头部姿势的几何变换计算而与可通行世界模型中的位置相关。计算的位置和可通行世界模型中的特征之间的偏差,例如表示为均方误差,因此可以指示头部姿势中的误差,使得偏差可以用作跟踪标准。

在一些实施例中,处理器可以被配置为基于世界模型计算估计的头部姿势的误差。在计算这个误差时,处理器可以被配置为基于估计的头部姿势来估计世界模型(或世界模型中的多个特征)应该如何出现。在一些实施例中,可以将该估计与世界模型(或世界模型中的特征)进行比较以生成估计头部姿势的误差。可以使用线性代数技术来计算这样的误差。例如,图像内多个特征中的每个特征的计算位置和实际位置之间的均方差可以用作误差的度量。该度量又可以用作头部姿势跟踪质量的度量。

在评估头部姿势跟踪质量之后,方法2500可以返回到框2520,其中处理器可以使用测量的头部姿势跟踪质量来选择跟踪方法。在跟踪质量低的场景下,例如低于阈值,可以选择替代的跟踪方法。

方法2500可以以这种方式重复,直至检测到结束条件为止。例如,方法2500可以重复预先确定的时间段,直至接收到用户输入为止或者直至在头戴式装置2100的相机的视场中检测到物理世界模型的部分中的特定类型或特定幅度的变化为止。方法2500然后可以在框2599中终止。

方法2500可再次启动,以便在框2510处捕获世界模型的新信息,包括用更高分辨率彩色相机获取的信息。方法2500可以终止并重新启动以重复框2510的处理,使用彩色相机以比在框2520-2550中执行头部姿势跟踪的速率慢的平均速率来创建世界模型的一部分。例如,可以以每秒一次或更慢的平均速率重复使用彩色相机的处理。

可以使用其他跟踪方法来代替或补充上面作为示例描述的跟踪方法。在一些实施例中,处理器可以被配置为根据图像信息计算实时或接近实时的用户头部姿势,图像信息可以包括灰度图像和/或光场信息,例如到达角(angle-of-arrival)信息。替代地或另外地,在基于图像的头部姿势跟踪方法具有不可接受的质量度量的场景中,可以选择“航位推算(dead reckoning)”方法,其中可以使用由惯性测量单元测量的用户头部的运动来计算头部姿势。

对象跟踪

如上面所述,XR系统的处理器可以跟踪物理世界中的对象,以支持相对于物理对象逼真地渲染虚拟对象。例如,结合可移动对象,诸如XR系统的用户的手部来描述跟踪。例如,XR系统可以跟踪中心视场2150、外围视场2160a和/或外围视场2160b中的对象。快速更新可移动对象的位置使得能够逼真地渲染虚拟对象,因为这样的渲染可以反映虚拟对象对于物理对象的遮挡,反之亦然,或者虚拟对象与物理对象之间的交互。在一些实施例中,例如,物理对象的位置的更新可以以每秒至少10次的平均速率来计算,并且,在一些实施例中,每秒至少20次,诸如大约每秒30次。当跟踪对象是用户的手部时,跟踪可以实现用户的手势控制。例如,特定手势可以对应于XR系统的命令。

在一些实施例中,XR系统可以被配置为跟踪具有当用对IR光敏感的图像传感器成像时提供高对比度的特征的对象。在一些实施例中,可以通过向对象添加标记来创建具有高对比度特征的对象。例如,物理对象可以配备有一个或多个标记,当用IR光成像时,这些标记会显示为高对比度区域。标记可以是对IR光具有高反射性或高吸收性的无源标记。在一些实施例中,在感兴趣的频率范围内至少25%的光可以被吸收或反射。替代地或附加地,标记可以是发射IR光的有源标记,例如IR LED。通过跟踪这些特征,例如使用DVS相机,可以快速确定准确表示物理对象位置的信息。

与头部姿势跟踪一样,被跟踪的对象位置被频繁更新,因此仅使用DVS相机2120执行对象跟踪可以提供节省功率、减少的计算需求,或提供其他益处。XR系统因此可以被配置为根据需要禁用或降低彩色相机2140的帧速率,以相对于功耗和计算要求来平衡对象跟踪精度。此外,XR系统可以被配置为响应于由DVS相机2120生成的事件异步地跟踪对象。

图26是根据一些实施例用于对象跟踪的方法2600的简化流程图。根据方法2600,取决于包含对象的视场和跟踪质量标准的值,处理器可以不同地执行对象跟踪。此外,处理器可以使用也可以不使用光场信息,这取决于被跟踪的对象是否满足深度标准。处理器可以替代地或附加地应用其他标准以动态选择对象跟踪方法,例如可用的电池电力或正在执行的XR系统的操作以及这些操作来跟踪对象位置或以高精度跟踪对象位置的需要。

方法2600可以在框2601中开始。在一些实施例中,相机2140可以被禁用或具有降低的帧速率。处理器可以已经禁用相机2140或降低相机2140的帧速率,从而降低功耗并且延长电池寿命。在各种实施例中,处理器可以跟踪物理世界中的对象(例如,用户的手部)。处理器可以被配置为基于对象的一个或多个先前位置来预测对象的下一个位置或者对象的轨迹。

在框2601中开始之后,方法2600可以进行到框2610。在框2610中,处理器可以确定包围对象的视场(例如,视场2121、视场2141、外围视场2160a、外围视场2160b,或中心视场2150)。在一些实施例中,处理器可以基于对象的当前位置来进行该确定(例如,对象当前是否在中心视场2150中)。在各种实施例中,处理器可以基于对象位置的估计来进行该确定。例如,处理器可以确定正在离开中心视场2150的对象可以进入外围视场2160a或外围视场2160b。

在框2620中,处理器可以选择对象跟踪方法。根据方法2600,当对象在视场2121内(例如,在外围视场2160a或中心视场2150内)时,处理器可以优先使用DVS相机2120选择对象跟踪。此外,处理器可以优先选择基于事件的异步对象跟踪。

在一些实施例中,可以使用如上所述的分块跟踪,其中如上所述建立一个或多个分块以包含正在被跟踪的对象的特征。分块跟踪可用于一些或所有对象跟踪方法以及一些或所有相机。可以选择分块以包含视场中被跟踪对象的估计位置。

如上文结合图25和头部姿势跟踪所描述的,处理器可以动态地选择合适的跟踪方法用于对象跟踪。可以选择一种方法来提供与其他方法相比需要低处理量开销的适当跟踪质量。因此,如果基于事件的异步对象跟踪不满足对象跟踪标准,则处理器可以使用另一种方法。在图26的示例中,在框2640a、2640b、2640c和2640d中示出了四种方法。各方法被排序并且方法2600将按照满足跟踪质量标准的顺序选择第一种方法。例如,可以对方法进行排序以反映准确性、延迟和功耗方面的权衡。例如,具有最低延迟的方法可以排在首位,具有更多延迟或更多功耗的方法在排序中较低。

在框2630a中,当DVS相机2120的DVS功能尚未启用时,处理器可以启用该功能。在框2640a中,处理器可以使用由DVS相机2120检测到的事件来跟踪对象。在一些实施例中,DVS相机2120可以被配置为将图像获取限制到图像传感器中的分块,该分块包含对象在视场2121中的位置。分块内图像数据的变化(例如,由对象的移动引起)可以触发事件。响应于该事件,DVS相机2120可以获取分块的图像数据并且基于获取的分块图像数据来更新对象的位置和/或取向。

在一些实施例中,事件可以指示强度的变化。如上所述,例如结合图12和图13,可以跟踪强度的变化以跟踪对象的运动。在一些实施例中,DVS相机2120可以是或可以被配置为作为全光相机操作。当对象满足深度标准时,处理器可以被配置为附加地或替代地获取到达角信息。深度标准可以与以上关于方法2400的框2420描述的深度标准相同或相似。例如,深度标准可以涉及最大误差率或最大距离,超过该最大误差率或最大距离处理器不能区分对象之间的不同距离。因此深度信息可用于确定对象的位置和/或对象位置的变化。这种全光图像信息的使用可以是这里描述的方法的一部分或者可以是可以与其他方法结合使用的其它方法。

第二方法在框2630b和2640b中示出。在框2630b中,当相机2140尚未启用时,处理器可以启用相机2140。如上文结合框2530b所描述的,可以操作彩色相机以相对低的平均速率获取彩色图像。颜色信息可以主要使用由DVS相机2120输出的事件在框2640b中使用,其中来自彩色图像的信息更好地识别要跟踪的特征或其位置。

第三级方法示出在框2630c和2640c中。在框2630c中,当相机2140尚未启用时,处理器可以启用相机2140。相机2140被描述为能够输出彩色图像信息。对于第三级方法,可以使用彩色图像信息,但是在一些实施例或一些场景中,可以仅从相机2140获取强度信息或者可以仅处理强度信息。处理器还可将相机2140的帧速率增加到足以用于对象跟踪的速率(例如,40Hz到120Hz之间的帧速率)。在一些实施例中,该速率可以匹配DVS相机2120的采样频率。当DVS相机2120的DVS功能还未被禁用时,处理器还可以禁用该功能。在该配置中,DVS相机2120的输出可以表示强度信息。在框2640c中,处理器可以使用从由DVS相机2120和相机2140输出的图像获得的立体图像数据来跟踪对象。

第四方法在框2630d和2640d中示出。在框2630d中,当相机尚未启用时,处理器可以启用相机。其他相机可以被禁用。启用的相机可以是DVS相机2120或相机2140。如果使用DVS相机2120,它可以被配置为输出图像强度信息。当启用相机2140时,可以使其能够输出颜色信息或仅灰度强度信息。处理器还可以将启用的相机的帧速率增加到足以用于对象跟踪的速率(例如,40Hz到120Hz之间的帧速率)。在框2640d中,处理器可以使用由启用的相机输出的图像来跟踪对象。

在框2650中,处理器可以评估跟踪质量。可以在框2650中使用上文结合框2550描述的一个或多个度量。然而,在框2650中,这些度量将应用于跟踪对象上的特征而不是跟踪环境中的固定特征。

在评估对象跟踪质量之后,方法2600可以返回到框2610和2620,其中处理器可以再次确定包含对象的视场(框2610),然后使用所确定的视场和测量的对象跟踪质量来选择对象跟踪方法(框2620)。在所示的实施例中,按照提供超过与适当性能相关联的阈值的质量的顺序选择第一方法。

方法2600可以以这种方式重复,直到检测到结束条件。例如,方法2600可以重复预先确定的时间段,直到接收到用户输入为止,或者直到被跟踪的对象离开XR设备的视场为止。方法2600然后可以在框2699终止。

方法2600可以用于跟踪任何对象,包括用户的手部。然而,在一些实施例中,可以在跟踪用户的手部时执行不同的或附加的动作。图27是根据一些实施例的手部跟踪方法2700的简化流程图。在方法2700中跟踪的对象可以是用户的手部。在各种实施例中,XR系统可以使用从相机2140获得的图像和/或从DVS相机2120获得的图像或图像数据来执行手部跟踪。这些相机可以被配置为以多种模式之一操作。例如,其中之一或两者可被配置为获取图像分块数据。替代地或另外地,DVS相机2140可以被配置为输出事件,如上面关于图4至图16所描述的。替代地或另外地,相机2140可以被配置为输出颜色信息,或仅输出灰度强度信息。此外,替代地或附加地,相机2140可以被配置为输出全光信息,如上文结合图16至图20所描述的。在一些实施例中,DVS相机2120可以类似地被配置为输出全光信息。可以选择这些相机和功能的任何组合来生成用于手部跟踪的信息。

与结合图26描述的对象跟踪一样,处理器可以被配置为基于确定的手部位置和由所选方法提供的手部跟踪质量的评估来选择手部跟踪方法。例如,当手部在中心视场2150内时,可以获得立体深度信息。作为另一个示例,全光信息可能仅在相对于全光相机视场中心的角度范围内(例如,±20度)具有用于手部跟踪的足够分辨率。因此,仅当检测到手部位于适当的视场内时,才可以使用依赖于立体图像信息或全光图像信息的技术。

如果需要,XR系统可以启用相机2140或增加相机2140的帧速率从而实现在视场2160b中的跟踪。以这种方式,可穿戴显示系统可以被配置为使用在该配置中减少数量的可用相机来提供足够的手部跟踪,从而允许降低功耗和增加电池寿命。

方法2700可以在XR系统的处理器的控制下执行。该方法可以在检测到要跟踪的对象(例如,手部)时启动,作为对使用头戴式装置2100上的任何一个相机获取的图像进行分析的结果。该分析可能需要基于具有作为手部特征的光度特征的图像区域而将对象识别为手部。替代地或附加地,基于立体图像分析而获取的深度信息可以用于检测手部。作为具体示例,深度信息可以指示存在具有与手部的3D模型匹配的形状的对象。以这种方式检测手部的存在还可能需要设置手部模型的参数以匹配手部的取向。在一些实施例中,通过使用来自一个或多个灰度相机的光度信息来确定手部如何从原始位置移动,这样的模型还可以用于快速手部跟踪。

其他触发条件可以启动方法2700,例如XR系统执行涉及跟踪对象的操作,例如渲染用户可能试图用手部按压的虚拟按钮,从而预期用户的手部进入一个或多个相机的视场。方法2700可以以相对高的速率重复,例如每秒30到100次之间,例如每秒40到60次之间。结果,可以使被跟踪对象的更新位置信息以低延迟可用以用于渲染虚拟对象与物理对象交互的处理。

在框2701中开始之后,方法2700可以进行到框2710。在框2710中,处理器可以确定潜在的手部位置。在一些实施例中,潜在手部位置可以是获取到的图像中检测到的对象的位置。在其中基于将深度信息与手部的3D模型进行匹配来检测手部的实施例中,在框2710处可以使用相同的信息作为手部的初始位置。

在一些实施例中,可以动态地选择用于配置手部模型的图像信息。在框2710之后,方法2700可以进行到框2720。在框2720中,处理器可以选择用于配置手部模型的处理方法。该选择可以取决于手部的潜在位置以及手部模型是否已经被配置。在一些实施例中,该选择可以进一步取决于手部模型的期望准确度和/或质量和/或在一个或多个处理器正在执行的其他任务的情况下可用的处理计算机能力。作为示例,当在检测到手部而初始配置手部模型时,可以使用更广泛但更准确的图像信息,但需要进行额外的处理。例如,立体信息可用于初始配置模型。此后,模型本身提供有关手部位置的信息,因为人手部可以移动的方式存在限制。因此,当XR系统运行时,重新配置手部模型以考虑手部运动的处理可选地可以使用不太全面但可以更快处理的图像信息来执行,或者当更全面的图像信息不可用时。例如,当对象在中心视场2150中并且需要鲁棒的手部跟踪或精细的手部细节时,或者如果其他方法证明不足,则处理器可以使用由DVS相机2120和相机2140输出的图像立体地执行手部跟踪。替代地,当对象不在中心视场2150中,或者不需要鲁棒的手部跟踪或精细的手部细节时,处理器可以被配置为优先使用其他图像信息来配置手部模型,例如单眼彩色图像或灰度图像。当对象在外围场2160a内时,处理器可以被配置为使用从DVS相机2120获取的图像来配置手部模型。当对象在外围场2160b内时,处理器可以被配置为使用从相机2140获取的图像来配置手部模型。在一些实施例中的一些实施例中,例如,处理器可以被配置为使用仍然满足质量标准的最低功耗排干(drain)方法。

图27示出了用于收集信息以配置手部模型的四种方法。这四种方法在流程图中示出为四个并行路径,包括通过框2740a、2740b、2740c和2740d的路径。

在第一路径中,在框2730a,当潜在的手部在中心视场2150中并且需要手部跟踪鲁棒性或精细手部细节时,处理器可以在相机2140尚未启用时启用该相机。该路径也可以在框2720处被选择用于手部模型的初始配置。在框2730a处,处理器还可以将相机2140的帧速率增加到足以进行手部跟踪的速率(例如,40Hz到120Hz之间的帧速率)。在一些实施例中,该速率可以匹配DVS相机2120的采样频率。当DVS相机2120的DVS功能还没有被禁用时,处理器还可以禁用该功能。结果,两个相机都可以提供表示强度的图像信息。该图像信息可以是灰度的,或者对于支持彩色成像的相机,可以替代地包括颜色信息。

在框2740a中,处理器可以获得潜在手部的深度信息。可以基于立体图像分析获得深度信息,从中可以计算收集图像信息的相机与潜在手部的片段或特征之间的距离。例如,处理器可以选择中心视场中的特征并确定所选特征的深度信息。

在一些实施例中,所选择的特征可以表示由骨骼和关节定义的人手部的不同区段。特征选择可以基于将图像信息与人手部模型进行匹配。例如,这种匹配可以启发式地进行。例如,人手部可以由有限数量的区段表示,例如16个区段,并且手部的图像中的点可以映射到那些区段中的一个,从而可以选择每个区段上的特征。替代地或附加地,这种匹配可以使用深度神经网络或分类/决策森林来在分析中应用一系列是/否决策以识别手部的不同部分并且选择表示手部的不同部分的特征。例如,匹配可以识别图像中的特定点是否属于手掌部分、手背、非拇指手指、拇指、指尖和/或指关节。任何合适的分类器都可用于该分析阶段。例如,可以使用深度学习模块或神经网络机制来代替分类森林或作为分类森林的补充。此外,除了分类森林之外,还可以使用回归森林(例如,使用霍夫变换等)。

不管选择的特征的具体数量以及用于选择那些特征的技术,在框2740a之后,方法2700可以进行到框2750a。在框2750a中,处理器可以基于深度信息来配置手部模型。在一些实施例中,手部模型可以反映关于人手部的结构信息,例如将手部中的每个骨骼表示为手部中的区段,并且每个关节定义相邻区段之间的可能的角度范围。通过基于所选择特征的深度信息为手部模型中的每个区段分配位置,可以提供关于手部的位置的信息以供XR系统进行后续处理。

不管3D手部模型如何更新,更新后的模型都可以基于光度图像信息进行细化。例如,该模型可用于生成手部的投影,表示预期手部图像的出现方式。可以将该预期图像与用图像传感器获取的光度图像信息进行比较。可以调整3D模型以减少预期和获取的光度信息之间的误差。调整后的3D模型然后提供手部位置的指示。随着此更新过程的重复,3D模型会在手部移动时提供手部位置的指示。

在一些实施例中,可以迭代地执行框2740a和2750a处的处理,其中基于手部模型的配置来细化针对其收集深度信息的特征的选择。手部模型可以包括形状约束和移动约束,处理器可以被配置为使用它们来细化表示手部的部分的特征的选择。例如,当被选择来表示手部区段的特征指示该部分的位置或移动违反手部模型约束时,可以选择不同的特征来表示该区段。

在框2750a中,处理器可以选择由DVS相机2120或相机2140输出的代表人手部结构的分块或图像中的特征。可以通过启发式方式或使用AI技术来识别此类特征。例如,可以通过以有限数量的区段表示人手部并将图像中的点映射到那些区段中的相应区段,来启发式地选择特征,使得可以选择每个区段上的特征。替代地或附加地,这种匹配可以使用深度神经网络或分类/决策森林来在分析中应用一系列是/否决策从而识别手部的不同部分并选择表示手部的不同部分的特征。任何合适的分类器都可用于该分析阶段。例如,可以使用深度学习模块或神经网络机制来代替分类森林或作为分类森林的补充。此外,除了分类森林之外,还可以使用回归森林(例如,使用霍夫变换等)。处理器可以尝试将所选择的特征以及那些所选择的特征在图像间的移动与手部模型进行匹配,而无需借助深度信息。这种匹配可能导致比在框2750a中生成的信息更不稳健的信息或者可能不太准确的信息。尽管如此,基于单眼信息识别的信息可以为XR系统的操作提供有用的信息。

在框2750a中,处理器还可以评估手部模型。该评估可以取决于所选特征与手部模型之间匹配的完整性、所选特征与手部模型之间匹配的稳定性、估计手部位置的噪声、检测到的特征的位置和取向与手部模型施加的约束之间的一致性,或类似因素。在一些实施例中,处理器可以基于手部模型确定所选特征应该出现在何处。作为特定示例,处理器可以参数化通用手部模型,然后检查模型边缘的光度一致性并将这些边缘与在获取的手部图像中检测到的边缘进行比较。在一些实施例中,可以将该估计与所选特征的估计位置和取向进行比较以生成手部模型的误差。可以使用线性代数技术来计算这样的误差。例如,图像内多个所选特征中的每一个的计算位置与实际位置之间的均方偏差可用作误差的度量。该度量又可以用作手部模型质量的度量。

在框2750a中将图像部分与手部模型的部分进行匹配之后,模型可用于由XR系统执行的一个或多个操作。作为一个示例,该模型可以直接用作对象在物理世界中的位置的指示以用于渲染虚拟对象。在这样的实施例中,可以可选地省略框2760处的处理。替代地或附加地,该模型可以用于确定用户是否已经用他们的手做出了手势,例如指示命令或与虚拟对象交互的手势。因此,在框2760中,处理器可以使用所确定的手部模型信息来识别手部姿势。可以使用美国专利公开No.2016/0026253中描述的手部跟踪方法来执行该手势识别,该专利公开通过引用并入本文,整体上结合手部跟踪和使用从XR系统中的图像信息获取的手部信息进行教导。

在一些实施例中,可以在没有立体深度信息的情况下识别手势。例如,可以基于以单眼图像信息为基础而配置的手部模型来识别手势。因此,在一些实施例中,甚至可以在立体深度信息不可用的外围视场2160a和2160b中对手部执行手势识别。替代地或附加地,在执行手部跟踪以进行手势识别的情况下,而不是可能需要更精确地确定手部位置的其他功能(例如,渲染虚拟对象以看起来与用户的手部真实地交互),可以使用单眼图像信息。在这样的实施例中,在框2730a和2740b处,可以启用和/或使用不同的相机来收集图像信息。

在一些实施例中,可以在系统操作时执行手部跟踪过程的连续迭代。例如,手势可以通过手部位置的连续确定来识别。替代地或附加地,可以执行连续迭代,使得用户手部的配置模型在手部位置改变时与实际手部位置相匹配。在每次迭代中可以使用相同或不同的成像技术。

在一些实施例中,可以在框2720处基于一个或多个因素为迭代选择图像信息的源,包括将要使用的手部模型和/或使用特定的跟踪方法执行的跟踪质量。例如,可以使用如上文结合框2650(图26)描述的方法来确定跟踪质量,并且也如上文描述的,可以使技术的选择对于实现所需质量度量的其他计算资源而言需要最少的处理量、功耗。

因此,图27示出一旦进行了迭代,方法2700循环回到框2720,其中可以选择处理方法用于进一步迭代。这些替代方法可以使用图像信息来代替立体深度信息或作为立体深度信息的补充。在每次迭代时,手部的3D模型可以更新以反映手部的运动。

需要处理量低的方法是根据事件信息来跟踪手部位置。可以在框2720处选择这种方法,例如在已经计算出适当精度的手部模型的场景中,例如通过在先前迭代中使用立体图像信息。这种方法可以通过到框2730b的分支来实现。在框2730b中,当DVS相机2120的DVS功能尚未启用时,处理器可以启用该功能。在框2740b中,处理器可以响应于由DVS相机2120检测到的事件来获取图像数据。在一些实施例中,DVS相机2120可以被配置为获取图像传感器中的分块的信息,该分块包含视场2121中的潜在手部位置。分块内图像数据的(例如,由潜在手部的移动引起的)变化可以触发事件。响应于该事件,DVS相机2120可以获得图像数据。然后可以使用关于用户手部的运动的该信息来在框2750b处更新手部模型。可以使用如上文针对框2750a所描述的技术来执行更新。这种更新可以考虑其他信息,包括先前计算的由模型指示的手部的位置和对人手部的运动的约束。

手部模型一旦被更新,就可以由系统以与在框2750a处计算的初始手部模型相同的方式使用,包括在框2760处确定虚拟对象与用户的手部之间的交互和/或识别手势。

在一些场景中,基于事件的图像信息可能不足以更新手部模型。例如,如果用户的手部填充了DVS相机2120的视场,则可能会出现这种场景。在这种场景中,可以基于颜色信息而不是事件信息来更新手部模型,例如使用来自相机2140的颜色信息。当在框2720处的处理检测到DVS相机2120的视场内的图像具有低于预定阈值的强度变化或指示缺乏足够明显特征的其他特点以进行基于事件的跟踪时,可以通过框2730d的分支来实现这种方法。在框2730d,当DVS相机2120的DVS功能还没有被禁用时,处理器可以禁用该功能。可以使相机2140启用以获取颜色信息。

在框2740d中,处理器可以使用颜色图像信息来识别用户手部的运动。如上所述,然后可以在框2750b处使用关于用户手部的运动的该信息来更新手部模型。

在一些场景下,颜色信息可能不可用或不需要用于跟踪手部运动。例如,当手部在外围视场2160a中时,颜色信息可能不可用,但是使用在DVS功能被禁用的模式下操作的DVS相机2120所获得的强度图像信息可能可用并且可能是合适的。替代地,在基于事件的跟踪产生低于阈值的质量度量的一些场景中,使用灰度图像信息的跟踪可以产生高于适用性阈值的质量度量。这种方法可以通过到框2730c的分支来实现。在框2730c,当相机2140尚未启用时,处理器可启用相机2140。处理器还可将相机2140的帧速率增加到足以用于手部跟踪的速率(例如,40Hz到120Hz之间的帧速率)

在框2740d中,处理器可以使用相机2140获取图像数据。在其他场景中,DVS相机2120可以被配置为收集强度信息并且可以代替相机2140来收集单眼图像信息。不管使用哪个相机,都可以使用全帧信息,或者可以使用如上所述的分块跟踪来减少处理的图像信息量。

图27示出了一种方法,其中在框2720处的处理在三个替代方法之间进行选择用于跟踪手部。这些方法可以根据满足一个或多个标准的程度来排序,例如处理量低或低功耗。框2720处的处理可以通过以下方式来选择处理方法:按照在检测到的场景(例如手部位置)中能够操作并产生满足阈值的质量度量的顺序选择第一方法。可以包括不同的或附加的处理技术。例如,对于具有提供指示深度的图像信息的全光相机的XR系统,方法可以基于单独使用该深度信息或与任何其他数据源结合使用。作为另一变型,如上文结合框2640b(图26)所描述的,可以使用颜色辅助的DVS跟踪来跟踪手部的特征。

不管所选择的方法或从中做出这种选择的一组方法如何,手部模型都可以被更新并用于XR功能,例如渲染与用户的手部交互的虚拟对象或在框2760处检测手势。在框2760之后,方法2700可以在框2799中结束。然而,应当理解,手部跟踪可以在XR系统的操作期间连续发生或者可以在手部处于一个或多个相机的视场中的间隔期间发生。因此,一旦方法2700的一次迭代完成,就可以执行另一次迭代,并且可以在正在执行手部跟踪的间隔内执行该过程。在一些实施例中,在一次迭代中使用的信息可以在后续迭代中使用。在各种实施例中,例如,处理器可以被配置为基于先前检测到的手部位置来估计用户手部的更新位置。例如,处理器可以基于用户手部的先前位置和速度来估计用户的手部接下来会在哪里。这样的信息可用于缩小被处理以检测对象的位置的图像信息的量,如上文结合分块跟踪技术所描述的。

已经如此描述了一些实施例的几个方面,应当理解,本领域技术人员将容易想到各种改变、修改和改进。

作为一个示例,结合增强(AR)环境来描述实施例。应当理解,这里描述的一些或全部技术可以应用于MR环境或更一般地应用于其他XR环境。

此外,描述了图像阵列的实施例,其中一个分块被应用于图像阵列以控制关于一个可移动对象的图像信息的选择性输出。应当理解,在一个物理环境中可以有一个以上的可移动对象。此外,在一些实施例中,可能需要选择性地获得可移动对象所在区域以外的区域中的图像信息的频繁更新。例如,可以设置分块以选择性地获取关于要渲染虚拟对象的物理世界的区域的图像信息。因此,在有或没有用于跟踪这些分块轨迹的电路的情况下,一些图像传感器可能能够选择性地提供两个或多个分块的信息。

作为又一示例,图像阵列被描述为输出与入射光的幅度有关的信息。幅度可以是跨越光频率频谱的功率的表示。该光谱可以是在对应于任何颜色的可见光的频率处相对宽泛地捕获能量,例如在黑白相机中。或者,光谱可能很窄,对应于单一颜色的可见光。为此目的,可以使用将入射在图像阵列上的光限制为特定颜色的光的滤光器。在像素被限制为接收特定颜色的光的情况下,不同的像素可以被限制为不同的颜色。在这样的实施例中,可以一起处理对相同颜色敏感的像素的输出。

描述了在图像阵列中设置分块然后更新感兴趣对象的分块的过程。例如,当每个可移动对象进入图像传感器的视场时,可以对每个可移动对象执行该过程。当感兴趣的对象离开视场时,可以清除分块,从而不再跟踪分块或者不再针对该分块输出图像信息。应当理解,可以不时地更新分块,例如通过确定与分块相关联的对象的位置并将分块的位置设置为对应于该位置。可以对分块的计算轨迹进行类似的调整。对象的移动向量和/或图像传感器的移动向量可以根据其他传感器信息计算并且用于重置被编程到图像传感器或其他组件中的值,用于分块跟踪。

例如,可以通过分析广角相机或具有立体信息的一对相机的输出来确定对象的位置、移动和其他特征。来自这些其他传感器的数据可以用于更新世界模型。结合更新,可以更新分块位置和/或轨迹信息。与分块跟踪引擎更新分块位置相比,这样的更新可以以较低速率发生。例如,分块跟踪引擎可以每秒大约1次到30次之间的速率计算新分块位置。基于其他信息对分块位置的更新可以以较慢的速率发生,例如每秒一次到大约每30秒一次的间隔。

作为变型的又一个示例,图2示出了具有与远程处理模块分离的头戴式显示器的系统。如本文所述的图像传感器可导致系统的紧凑设计。这样的传感器产生的数据较少,进而导致较低的处理要求和较低的功耗。对处理和功率的需求减少,使得能够通过减小电池的尺寸来实现尺寸缩小。因此,在一些实施例中,整个增强现实系统可以集成在没有远程处理模块的头戴式显示器中。头戴式显示器可以被配置为一副护目镜,或者如图2所示,可以在大小和形状上类似于一副眼镜。

此外,描述了图像传感器响应可见光的实施例。应当理解,这里描述的技术不限于利用可见光的操作。它们可以替代地或附加地响应于IR光或光谱的其他部分中的“光”,例如UV。此外,如本文所述的图像传感器响应于自然发生的光。替代地或附加地,传感器可以用于具有照明源的系统中。在一些实施例中,图像传感器的灵敏度可以被调谐到光谱中的照明源发光的部分。

作为另一示例,描述了通过指定要对其执行图像分析的“分块”来指定图像阵列的所选择区域,图像传感器应输出所选择区域的变化。然而,应当理解,分块和所选择区域可以具有不同的大小。例如,所选择区域可以比分块大以便考虑图像中的被跟踪对象的移动偏离预测轨迹和/或实现围绕分块的边缘的处理。

此外,还描述了多个过程,例如可通行世界模型生成、对象跟踪、头部姿势跟踪和手部跟踪。这些以及在一些实施例中的其他过程可以由相同或不同的处理器执行。处理器可以被操作以使得这些过程能够并发操作。然而,每个过程可以以不同的速率执行。在不同的过程以不同的速率从图像传感器或其他传感器请求数据的情况下,传感器数据的获取可以被管理,例如由另一个进程进行管理,从而以适合其操作的速率向每个进程提供数据。

这样的改变、修改和改进旨在成为本公开的一部分,并且旨在在本公开的精神和范围内。例如,在一些实施例中,图像传感器的像素的滤光器102可以不是单独的部件,而是被并入像素子阵列100的其他部件中的一个部件之中。例如,在包括具有到达角至位置强度转换器和滤光器的单个像素的实施例中,到达角至强度转换器可以是由过滤特定波长的材料形成的透射光学部件。

根据一些实施例,可提供一种可穿戴显示系统,包括:框架;机械地耦合到框架的第一相机,其中,第一相机可配置为在第一相机的第一视场中输出满足强度变化标准的图像数据;以及可操作地耦合到第一相机的处理器,其中,处理器被配置为确定对象是否在第一视场内并使用从第一相机接收到的图像数据针对第一视场的一个或多个部分来跟踪对象的运动。

在一些实施例中,对象可以是手部,并且跟踪对象的运动可以包括:基于来自第一相机的满足强度变化标准的图像数据来更新手部模型的包括形状约束和/或运动约束的对应部分。

在一些实施例中,处理器还可以被配置为向第一相机提供指令以将图像数据采集限制到第一视场的对应于对象的一个或多个分块。

在一些实施例中,第二相机可以机械地耦合到框架以提供与第一视场至少部分重叠的第二视场,并且处理器可以被进一步配置为:确定对象是否满足第一视场的遮挡标准;启用第二相机或提高第二相机的帧速率;使用第二相机确定对象的深度信息;并使用确定的深度信息跟踪对象。

在一些实施例中,可以使用由第一相机和第二相机输出的图像立体地确定深度信息。

在一些实施例中,可以使用由第二相机输出的光场信息来确定深度信息。

在一些实施例中,对象可以是手部,并且跟踪手部的运动可以包括通过以下方式使用确定的深度信息:选择第一视场中的点;将所选点与深度信息相关联;使用所选点生成深度图;将深度图的部分与手部模型的包括形状约束和运动约束的相应部分进行匹配。

在一些实施例中,跟踪对象的运动可以包括更新对象在世界模型中的位置,并且更新之间的间隔的持续时间可以在1毫秒与15毫秒之间。

在一些实施例中,第二相机可以机械地耦合到框架以提供与第一视场至少部分重叠的第二视场;以及处理器可操作地耦合到第二相机并且进一步被配置为:使用由第一相机和第二相机输出的图像创建世界模型;以及使用由第二相机输出的光场信息更新世界模型。

在一些实施例中,处理器可以机械地耦合到框架。

在一些实施例中,机械地耦合到框架的显示设备可以包括处理器。

在一些实施例中,本地数据处理模块可以包括处理器,本地数据处理模块通过通信链路可操作地耦合到显示设备,显示设备机械地耦合到框架。

根据一些实施例,可提供一种可穿戴显示系统,该可穿戴显示系统包括:框架;机械地耦合到框架的两个相机,其中,两个相机包括可配置为输出满足强度变化标准的图像数据的一个第一相机和一个第二相机,其中,第一相机和第二相机被定位以提供中心视场的重叠视图;以及可操作地耦合到第一相机和第二相机的处理器。

在一些实施例中,处理器还可以被配置为确定对象在中心视场内;使用由第一相机输出的图像数据跟踪对象;确定对象跟踪是否满足质量标准;当对象跟踪不满足质量标准时,启用第二相机或提高第二相机的帧速率并使用第一相机和第二相机跟踪对象。

在一些实施例中,第一相机可配置为选择性地输出满足强度变化标准的图像帧或图像数据;处理器还可以被配置为向第一相机提供指令以将图像数据采集限制在中心视场的与对象对应的一个或多个部分;以及由第一相机输出的图像数据可以用于中心视场的一个或多个部分。

在一些实施例中,第一相机可配置为选择性地输出满足强度变化标准的图像帧或图像数据;第二相机可以包括全光相机;处理器还可以被配置为:确定对象是否满足深度标准;使用第一相机和第二相机跟踪对象可以包括当满足深度标准时使用从全光相机获得的光场信息来跟踪对象;当不满足深度标准时,使用从第一相机和第二相机输出的图像立体确定的深度信息来跟踪对象。

在一些实施例中,全光相机可以包括透射衍射掩模。

在一些实施例中,全光相机可以具有在90度和140度之间的水平视场并且在40度和80度之间延伸的中心视场。

在一些实施例中,第一相机可以提供灰度图像并且第二相机可以提供彩色图像。

在一些实施例中,第一相机可配置为选择性地输出满足强度变化标准的图像帧或图像数据;第一相机包括全局快门;第二相机包括滚动快门;处理器还可以被配置为:将使用第一相机获取的第一图像与使用第二相机获取的第二图像进行比较以检测第二图像的至少一部分中的偏斜;并且调整第二图像的至少一部分以补偿检测到的偏斜。

在一些实施例中,将使用第一相机获取的第一图像与使用第二相机获取的第二图像进行比较可以包括:在第一图像和第二图像之间执行逐行比较。

在一些实施例中,处理器可以机械地耦合到框架。

在一些实施例中,框架包括机械地耦合到处理器的显示设备。

在一些实施例中,本地数据处理模块可以包括处理器,本地数据处理模块通过通信链路可操作地耦合到显示设备,并且其中,框架可以包括显示设备。

在一些实施例中,处理器还可以被配置为确定满足第一相机的遮挡标准;启用或增加第二相机的帧速率;并使用由第二相机输出的图像数据跟踪对象。

在一些实施例中,当对象占据超过第一相机的视场的阈值量时,可以满足遮挡标准。

在一些实施例中,对象可以是环境内的静止对象。

在一些实施例中,对象可以是可穿戴显示系统的用户的手部。

在一些实施例中,可穿戴显示系统还包括机械地耦合到框架的IR发射器。

在一些实施例中,IR发射器被配置为被选择性地被激活以提供IR照明。

此外,尽管指出了本公开的优点,但是应当理解,并非本公开的每个实施例都将包括每个描述的优点。一些实施例可能不实现这里描述为有利的任何特征。因此,前述描述和附图仅作为示例。

本公开的上述实施例可以以多种方式中的任何一种方式来实现。例如,可以使用硬件、软件或其组合来实现实施例。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是在多个计算机中分布。这种处理器可以被实现为集成电路,在集成电路部件中具有一个或多个处理器,包括本领域已知的可商购的集成电路部件,其名称诸如CPU芯片、GPU芯片、微处理器、微控制器或协处理器。在一些实施例中,可以在定制电路(诸如ASIC)或者在通过配置可编程逻辑器件而产生的半定制电路中实现处理器。作为另一替代方案,处理器可以是较大的电路或半导体设备的一部分,无论是可商购的,半定制的还是定制的。作为特定示例,一些可商购的微处理器具有多个核心,使得这些核心中的一个或子集可以构成处理器。但是,可以使用任何适当格式的电路来实现处理器。

此外,应当理解,计算机可以以多种形式中的任何一种形式来体现,诸如机架式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以被嵌入通常不被认为是计算机但具有合适的处理能力的设备中,该设备包括个人数字助理(PDA)、智能电话或任何其它合适的便携式或固定电子设备。

此外,计算机可以具有一个或多个输入和输出设备。这些设备尤其可以用于呈现用户界面。可以用于提供用户界面的输出设备的示例包括用于视觉呈现输出的打印机或显示屏,以及用于听觉呈现输出的扬声器或其它声音生成设备。可以用于用户界面的输入设备的示例包括键盘和指向设备,诸如鼠标、触摸板和数字化平板计算机。作为另一个示例,计算机可以通过语音识别或其它可听格式接收输入信息。在所示的实施例中,输入/输出设备被示为与计算设备物理上分开。然而,在一些实施例中,输入和/或输出设备可以物理地集成到与处理器或计算设备的其它元件相同的单元中。例如,键盘可能实现为触摸屏上的软键盘。在一些实施例中,输入/输出设备可以与计算设备完全断开,并且通过无线连接在功能上集成。

这种计算机可以通过任何适当形式的一个或多个网络互连,包括作为局域网或诸如企业网络或互联网的广域网。这种网络可以基于任何适当的技术,并且可以根据任何适当的协议进行操作,并且可以包括无线网络、有线网络或光纤网络。

此外,在此概述的各种方法或过程可以被编码为可在采用多种操作系统或平台中的任何一种操作系统或平台的一个或多个处理器上执行的软件。另外,可以使用多种合适的编程语言和/或编程或脚本工具中的任何一种来编写此类软件,并且还可以将其编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。

在这方面,本公开可以体现为采用一个或多个程序编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩光盘(CD)、光盘、数字视频盘)(DVD)、磁带、闪存、现场可编程门阵列或其它半导体设备或其它有形计算机存储介质中的电路装置),该程序在一个或多个计算机或其它处理器上执行时将执行实现以上讨论的本公开的各种实施例的方法。从前述示例显而易见,计算机可读存储介质可以将信息保留足够的时间,以提供非暂态形式的计算机可执行指令。这种一个或多个计算机可读存储介质可以是可移动的,使得可以将存储在其上的一个或多个程序加载到一个或多个不同的计算机或其它处理器上,以实现如上所述的本公开的各个方面。如在此所使用的,术语“计算机可读存储介质”仅涵盖可以被认为是制品(即,制造品)或机器的计算机可读介质。在一些实施例中,本公开可以体现为除计算机可读存储介质之外的计算机可读介质,诸如传播信号。

在一般意义上在此使用术语“程序”或“软件”来指代可用于对计算机或其它处理器进行编程以实现如上所述的本公开的各个方面的计算机代码或计算机可执行指令集。另外,应当理解,根据该实施例的一方面,当被执行时执行本公开的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化的方式在多个不同的计算机或处理器之间分布,以实现本公开的各个方面。

计算机可执行指令可以具有许多形式,诸如由一个或多个计算机或其它设备执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。通常,在各种实施例中,程序模块的功能可以根据需要进行组合或分布。

此外,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,可以示出数据结构具有通过数据结构中的位置而相关的字段。同样地,可以通过传达字段之间的关系的在计算机可读介质中的位置为字段分配存储来实现此类关系。然而,可以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签或在数据元素之间建立关系的其它机制。

本公开的各个方面可以单独、组合或在前述实施例中未具体讨论的各种布置中使用,并且因此,在其应用中不限于在前面的描述中阐述或在附图中示出的部件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其它实施例中描述的方面组合。

此外,本公开可以体现为一种方法,已经提供了方法的一个示例。作为该方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构造实施例,其中以与所示出的顺序不同的顺序执行动作,即使在说明性实施例中被示为顺序动作,该动作也可以包括同时执行一些动作。

在权利要求中使用诸如“第一”、“第二”、“第三”等序数术语来修改权利要求元素本身并不表示一个权利要求元素相对于执行方法动作的另一个顺序或临时顺序的任何优先级、优先权或顺序,但仅用作标记,以区分具有某些名称的一个权利要求元素与具有相同名称的另一个元素(但用于序数词)来区分权利要求元素。

另外,在此使用的措词和术语是出于描述的目的,并且不应被视为限制。在此“包括”、“包含”或“具有”、“包含”、“涉及”及其变体的使用旨在涵盖其后列出的项目及其等同物以及其它项目。

94页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于矩阵的帧内预测的最可能模式列表构造

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类