多相机交叉现实设备的制作方法

文档序号:26789312发布日期:2021-09-28 22:47阅读:166来源:国知局
多相机交叉现实设备的制作方法

1.本技术一般地涉及包括相机的可穿戴交叉现实显示系统。


背景技术:

2.计算机可以控制人类用户界面以创建x现实(xr或交叉现实)环境,其中由用户感知的部分或全部xr环境由计算机生成。这些xr环境可以是虚拟现实(vr)、增强现实(ar)或混合现实(mr)环境,其中部分或全部xr环境可由计算机部分地使用描述环境的数据生成。该数据例如可以描述虚拟对象,这些虚拟对象可以以被用户感觉或感知为物理世界的一部分的方式呈现,以使得用户能够与虚拟对象进行交互。由于数据是通过用户界面设备,例如,头戴式显示设备,来呈现和展现的,因此用户可以体验这些虚拟对象。数据可以被显示给用户查看,或可以控制播放给用户聆听的音频,或者可以控制触感(或触觉)界面,使用户能够体验到用户感觉或感知为触摸虚拟对象的触感。
3.xr系统可用于许多应用,涵盖科学可视化、医学培训、工程设计和原型制作、远程操作和远程呈现以及个人娱乐等领域。与vr相比,ar和mr包括与物理世界的现实对象相关的一个或多个虚拟对象。虚拟对象与现实对象交互的体验极大地增强了用户使用xr系统的乐趣,也为提供有关可能如何改变物理世界的逼真且易于理解的信息的各种应用打开了大门。


技术实现要素:

4.本技术的一些方面涉及包括多个相机的可穿戴交叉现实显示系统。本文描述的技术可以一起使用,单独地使用或以任何合适的组合使用。
5.根据一些实施例,提供了一种可穿戴显示系统,其中所述可穿戴显示系统可包括头戴式装置;两个第一相机,其被机械地耦合到所述头戴式装置;第一惯性测量单元,其被机械地耦合到所述两个第一相机中的第一第一相机,以及第二惯性测量单元,其被机械地耦合到所述两个第一相机中的第二第一相机;以及处理器,其被可操作地耦合到所述两个第一相机并被配置为:执行校准例程,所述校准例程被配置为使用由所述两个第一相机获取的图像、以及所述第一惯性测量单元和所述第二惯性测量单元的输出,确定所述两个第一相机的相对取向。
6.在一些实施例中,所述校准例程在被执行时可进一步确定所述两个第一相机的相对位置。在一些实施例中,执行所述校准例程可包括识别由所述第一第一相机和所述第二第一相机中的每一者获取的图像中的对应特征;对于所述两个第一相机的多个估计相对取向中的每一者,计算误差,其中,所述误差指示出现在用所述两个第一相机中的每一者获取的图像中的所述对应特征与基于所述两个第一相机的所述估计相对取向而计算的所识别特征的估计之间的差异;以及基于所计算的误差,选择所述多个估计相对取向中的相对取向作为所确定的相对取向。在一些实施例中,所述校准例程还可包括:部分地基于所述第一惯性测量单元和所述第二惯性测量单元的所述输出,至少选择所述多个估计相对取向的初
始估计。
7.在一些实施例中,所述可穿戴显示系统还可包括彩色相机,其被耦合到所述头戴式装置;以及所述处理器还可被配置为:使用所述两个第一相机和所述彩色相机来创建世界模型;以第一速率,使用所述两个第一相机来更新所述世界模型;以及以比所述第一速率慢的第二速率,使用所述两个第一相机和所述彩色相机来更新所述世界模型。在一些实施例中,所述两个第一相机可被机械地耦合到所述头戴式装置,以便提供与所述两个第一相机都相关联的中央视场和与所述两个第一相机中的第一第一相机相关联的外围视场;以及所述处理器还可被配置为使用根据由所述两个第一相机获取的图像而确定的深度信息来跟踪所述中央视场中的手部运动。
8.在一些实施例中,使用深度信息跟踪所述中央视场中的手部运动可包括:在所述中央视场中选择点;使用由所述两个第一相机获取的图像,立体地确定所选择的点的深度信息;使用被立体地确定的深度信息,生成深度图;以及将所述深度图的部分与包括形状约束和运动约束两者的手部模型的对应部分进行匹配。在一些实施例中,所述处理器还可被配置为将所述图像的部分与包括形状约束和运动约束两者的手部模型的对应部分进行匹配,从而使用由所述两个第一相机获取的一个或多个图像来跟踪所述外围视场中的手部运动。
9.在一些实施例中,所述头戴式装置可以是重量在30至300克之间的轻型头戴式装置。在一些实施例中,所述头戴式装置还可包括所述处理器。在一些实施例中,所述头戴式装置还可包括电池组。在一些实施例中,所述两个第一相机可被配置为获取灰度图像。在一些实施例中,所述处理器可被机械地耦合到所述头戴式装置。在一些实施例中,所述头戴式装置可包括显示设备,所述显示设备被机械地耦合到所述处理器。在一些实施例中,本地数据处理模块可包括所述处理器,所述本地数据处理模块通过通信链路可以被可操作地耦合到显示设备,并且其中,所述头戴式装置可包括所述显示设备。
10.根据一些实施例,提供了一种可穿戴显示系统,其中,所述可穿戴显示系统可包括:框架;两个第一相机,其被机械地耦合到所述框架以便提供与所述两个相机都相关联的中央视场以及与所述两个第一相机中的第一第一相机相关联的第一外围视场;彩色相机,其被机械地耦合到所述框架以便提供与所述中央视场重叠的彩色视场;以及处理器,其被可操作地耦合到所述两个第一相机和所述彩色相机并被配置为:使用根据由所述两个第一相机获取的第一图像立体地确定的深度信息,跟踪所述中央视场中的手部运动;使用由所述两个第一相机中的所述第一第一相机获取的一个或多个第二图像,跟踪所述第一外围视场中的手部运动;使用所述两个第一相机和所述彩色相机来创建世界模型;以及使用所述两个第一相机来更新所述世界模型。
11.在一些实施例中,两个第一相机可配置有全局快门。在一些实施例中,可穿戴显示系统还可包括硬件加速器,用于使用由两个第一相机获取的第一灰度图像,立体地确定深度信息。在一些实施例中,两个第一相机可具有等距透镜。在一些实施例中,两个第一相机中的每一者可具有90度至175度之间的水平视场。在一些实施例中,中央视场可具有40度至80度之间的角度范围。在一些实施例中,处理器还可被配置为执行校准例程以确定两个第一相机的相对取向。
12.在一些实施例中,校准例程可包括:识别用两个第一相机中的每一者获取的图像
中的对应特征;对于两个第一相机的多个估计相对取向中的每一者,计算误差,其中,此误差指示出现在用两个第一相机中的每一者获取的图像中的对应特征与基于两个第一相机的估计相对取向而计算的所识别特征的估计之间的差异;以及基于所计算的误差,选择多个估计相对取向中的相对取向作为确定的相对取向。
13.在一些实施例中,可穿戴显示系统还可包括:第一惯性测量单元,其被机械地耦合到两个第一相机中的第一第一相机;以及第二惯性测量单元,其被机械地耦合到两个第一相机中的第二第一相机,并且校准例程还可包括部分地基于第一惯性测量单元和第二惯性测量单元的输出来选择多个估计相对取向中的至少一者。
14.在一些实施例中,处理器还可被配置为在穿戴可穿戴显示系统的同时重复执行校准例程,使得校准例程补偿可穿戴显示系统使用期间的框架变形。在一些实施例中,校准例程可以补偿由温度变化引起的框架变形。在一些实施例中,校准例程可以补偿由机械应变引起的框架变形。在一些实施例中,两个第一相机可被配置为获取灰度图像。在一些实施例中,可穿戴显示系统可具有一个彩色相机。在一些实施例中,处理器可被机械地耦合到框架。在一些实施例中,显示设备可被机械地耦合到框架,其中,显示设备包括处理器。在一些实施例中,本地数据处理模块可包括处理器,本地数据处理模块可通过通信链路被可操作地耦合到显示设备,并且显示设备可被机械地耦合到框架。在一些实施例中,第一图像可包括一个或多个第二图像。
15.根据一些实施例,提供了一种可穿戴显示系统,其中,所述可穿戴显示系统可包括:框架;两个第一相机,其被机械地耦合到所述框架;彩色相机,其被机械地耦合到所述框架;以及处理器,其被可操作地耦合到所述两个第一相机和所述彩色相机并被配置为:使用由所述两个第一相机获取的第一灰度图像和由所述彩色相机获取的一个或多个彩色图像来创建世界模型;使用由所述两个第一相机获取的第二灰度图像来更新所述世界模型;确定所述世界模型的一部分包括不完整深度信息;以及用针对包括不完整深度信息的所述世界模型的所述一部分的附加深度信息来更新所述世界模型。
16.在一些实施例中,可穿戴显示系统还可包括一个或多个发射器,可使用一个或多个发射器来获取附加深度信息,并且处理器还可被配置为:响应于确定世界模型的一部分包括不完整深度信息而启用一个或多个发射器。在一些实施例中,一个或多个发射器可包括红外发射器,并且两个第一相机可包括被配置为使红外光通过的滤波器。在一些实施例中,红外发射器可以发射波长在900纳米至1微米之间的光。
17.在一些实施例中,处理器还可被配置为响应于确定世界模型的一部分包括不完整深度信息而检测物理世界中的平坦表面,并且可基于所检测到的平坦表面来估计附加深度信息。在一些实施例中,处理器还可被配置为检测包括不完整深度信息的世界模型的部分中的对象,识别与所检测到的对象相对应的对象模板,基于更新的世界模型中的对象的图像配置对象模板的实例,并基于所配置的对象模板的实例来估计附加深度信息。在一些实施例中,两个第一相机可被机械地耦合到框架以提供与这两个第一相机相关联的中央视场和与这两个第一相机中的第一第一相机相关联的外围视场,并且处理器可被进一步配置为使用根据由两个第一相机获取的图像而确定的深度信息,跟踪中央视场中的手部运动。
18.在一些实施例中,使用深度信息跟踪中央视场中的手部运动可包括:在中央视场中选择点;使用由两个第一相机获取的图像,立体地确定所选择的点的深度信息;使用立体
地确定的深度信息生成深度图;以及将深度图的一部分与包括形状约束和运动约束两者的手部模型的对应部分进行匹配。在一些实施例中,处理器还可被配置为通过将图像的一部分与包括形状约束和运动约束两者的手部模型的对应部分进行匹配,使用由两个第一相机中的第一第一相机获取的一个或多个图像,跟踪外围视场中的手部运动。在一些实施例中,处理器可被机械地耦合到框架。在一些实施例中,机械地耦合到框架的显示设备可包括处理器。在一些实施例中,本地数据处理模块可包括处理器,本地数据处理模块可通过通信链路被可操作地耦合到显示设备,并且显示设备可被机械地耦合到框架。
19.根据一些实施例,提供了一种可穿戴显示系统,其中,所述可穿戴显示系统可包括:框架;两个灰度相机,其被机械地耦合到所述框架,其中,所述两个灰度相机包括具有第一视场的第一灰度相机和具有第二视场的第二灰度相机,所述第一灰度相机和所述第二灰度相机被定位以便提供:所述第一视场与所述第二视场重叠的中央视场;以及在所述第一视场内且在所述第二视场外部的第一外围视场;以及彩色相机,其被机械地耦合到所述框架以便提供与所述中央视场重叠的彩色视场。
20.在一些实施例中,两个灰度可具有全局快门。在一些实施例中,彩色相机可具有滚动快门。在一些实施例中,可穿戴显示系统可包括被机械地耦合到框架的两个惯性测量单元,以及被机械地耦合到框架的一个或多个发射器。在一些实施例中,一个或多个发射器可以是红外发射器,并且两个灰度相机可包括被配置为使红外光通过的滤波器。在一些实施例中,红外发射器可以发射波长在900纳米至1微米之间的光。在一些实施例中,一个或多个发射器的照明场可与中央视场重叠。在一些实施例中,两个惯性测量单元中的第一惯性测量单元可被机械地耦合到第一灰度相机,两个惯性测量单元中的第二惯性测量单元可被机械地耦合到两个灰度相机中的第二灰度相机。在一些实施例中,两个惯性测量单元可被配置为测量倾角、加速度、速度或其任何组合。在一些实施例中,两个灰度相机可具有90度至175度之间的水平视场。在一些实施例中,中央视场可具有40度至80度之间的角度范围。
21.上述摘要是以说明的方式提供的,并非旨在进行限制。
附图说明
22.附图并非旨在按比例绘制。在附图中,在各个图中示出的每个相同或几乎相同的部件由相同的参考标记表示。为清楚起见,并非在每个图中标示出每个部件。在附图中:
23.图1是示出根据一些实施例的简化的增强现实(ar)场景的示例的草图。
24.图2是示出根据一些实施例的ar显示系统的示例的示意图。
25.图3a是示出根据一些实施例的当用户在物理世界环境中移动时,穿戴渲染ar内容的ar显示系统的用户的示意图。
26.图3b是示出根据一些实施例的观察光学组件和附属部件的示意图。
27.图4是示出根据一些实施例的图像感测系统的示意图。
28.图5a是示出根据一些实施例的图4中的像素基元的示意图。
29.图5b是示出根据一些实施例的图5a中的像素基元的输出事件的示意图。
30.图6是示出根据一些实施例的图像传感器的示意图。
31.图7是示出根据一些实施例的图像传感器的示意图。
32.图8是示出根据一些实施例的图像传感器的示意图。
33.图9是根据一些实施例的用于图像感测的方法的简化流程图。
34.图10是根据一些实施例的图9的分块(patch)识别动作的简化流程图。
35.图11是根据一些实施例的图9的分块轨迹估计动作的简化流程图。
36.图12是示出根据一些实施例的相对于一个视点的图11的分块轨迹估计的示意图。
37.图13是示出根据一些实施例的相对于视点变化的图11的分块轨迹估计的示意图。
38.图14是示出根据一些实施例的图像感测系统的示意图。
39.图15是示出根据一些实施例的图14中的像素基元的示意图。
40.图16是根据一些实施例的像素子阵列的示意图。
41.图17a是根据一些实施例的具有采取对准的两个堆叠透射性衍射掩模(tdm)形式的到达角

强度转换器的全光设备的截面图。
42.图17b是根据一些实施例的具有采取未对准的两个堆叠tdm形式的到达角

强度转换器的全光设备的截面图。
43.图18a是根据一些实施例的具有彩色像素基元和到达角像素基元的像素子阵列。
44.图18b是根据一些实施例的具有彩色像素基元和到达角像素基元的像素子阵列。
45.图18c是根据一些实施例的具有白色像素基元和到达角像素基元的像素子阵列。
46.图19a是根据一些实施例的具有单个tdm的光电探测器阵列的俯视图。
47.图19b是根据一些实施例的具有单个tdm的光电探测器阵列的侧视图。
48.图20a是根据一些实施例的具有采取tdm形式的多个到达角

强度转换器的光电探测器阵列的俯视图。
49.图20b是根据一些实施例的具有多个tdm的光电探测器阵列的侧视图。
50.图20c是根据一些实施例的具有多个tdm的光电探测器阵列的侧视图。
51.图21是根据一些实施例的包括三个相机和附属部组件的头戴式装置的示意图。
52.图22是根据一些实施例的校准例程的简化流程图。
53.图23a至图23c是根据一些实施例的与图21的头戴式装置相关联的示例性视场图。
54.图24是根据一些实施例的用于更新世界模型的方法的简化流程图。
55.图25是根据一些实施例的人手跟踪过程的简化流程图。
具体实施方式
56.发明人已经认识到并理解可穿戴xr显示系统的设计和操作技术,这些设计和操作技术增强了此类系统的可享性和实用性。这些设计和/或操作技术可以获取信息以执行多种功能,包括使用有限数量的相机来进行手部跟踪、头部姿势跟踪和世界重建,这些相机可用于逼真地渲染虚拟对象,以使得它们看起来与物理对象逼真地进行交互。可穿戴交叉现实显示系统可以是轻型的并且在操作中消耗低功率。该系统可使用特定配置的传感器,以低延迟地获取有关物理世界中物理对象的图像信息。该系统可以执行各种例程以提高所显示的xr环境的准确性和/或现实性。此类例程可包括即使轻型框架在使用期间发生变形,也能提高立体深度测量准确性的校准例程,以及包括检测和寻址用户周围物理世界的模型中的不完整深度信息的例程。
57.已知xr系统头戴式装置的重量会限制用户的享受。此类xr头戴式装置重量可超过340克(有时甚至超过700克)。相比之下,眼镜的重量可能不到50克。长时间穿戴这种相对较
重的头戴式装置可使用户感到疲劳或分散他们的注意力,从理想的沉浸式xr体验分心。然而,发明人已经认识到并理解,一些减轻头戴式装置重量的设计也增加了头戴式装置的柔韧性,使得轻型头戴式装置在使用期间或一段时间内易受传感器位置或取向变化的影响。例如,当用户穿戴包括相机传感器的轻型头戴式装置时,这些相机传感器的相对取向可发生移位。用于立体成像的相机间距的变化可能影响那些头戴式装置获取准确立体信息的能力,这取决于相对于彼此具有已知位置关系的相机。因此,可在穿戴头戴式装置时重复的校准例程允许轻型头戴式装置使用立体成像技术准确地获取有关头戴式装置穿戴者周围世界的信息。
58.使xr系统配备获取有关物理世界中对象信息的部件这一需求也会限制这些系统的实用性和用户可享性。当使用所获取的信息逼真地呈现处于适当位置并相对于物理对象具有适当外观的计算机生成的虚拟对象时,获取信息的需求会限制xr系统的大小、功耗和现实度。
59.xr系统例如可使用用户穿戴的传感器来获取有关用户周围物理世界中对象的信息,包括有关用户视场中物理世界对象的位置的信息。由于对象在物理世界中移动或者用户相对于物理世界改变其姿势,以使得物理对象进入或离开用户视场或用户视场内物理对象的位置发生改变,因此因为对象可能相对于用户视场移动,会产生挑战。为了展现逼真的xr显示,必须足够频繁地更新物理世界中物理对象的模型以便捕获这些变化,以足够低的延迟处理这些变化,以及准确地预测未来以涵盖包括渲染的完整延迟路径,使得基于该信息显示的虚拟对象在该虚拟对象显示时相对于物理对象具有适当的位置和外观。否则,虚拟对象将呈现为不与物理对象对准,从而无法逼真地显示包括物理对象和虚拟对象的组合场景。例如,虚拟对象看可能看起来漂浮在空中而非固定在物理对象上,或者可显示为相对于物理对象来回跳动。在用户高速移动时并且在场景中有显著移动的情况下,视觉跟踪的误差尤其被放大。
60.这些问题可通过以高速率获取新数据的传感器来避免。然而,由此类传感器消耗的功率导致需要更大电池,从而增加系统重量或限制此类系统的使用时长。同样,处理以高速率生成的数据所需的处理器会耗尽电池电量并增加可穿戴系统的额外重量,进一步限制此类系统的实用性或可享性。例如,一种已知的方法是以更高分辨率运行以便捕获足够的视觉细节,并操作更高帧率的传感器以增加时间分辨率。替代解决方案可能用ir飞行时间传感器来补充该解决方案,ir飞行时间传感器可能直接指示物理对象相对于传感器的位置,在使用此信息显示虚拟对象时执行简单处理,产生低延迟。然而,此类传感器会消耗大量功率,特别是在它们在阳光下工作的情况下。
61.发明人已经认识到并理解xr系统可通过重复执行校准例程来解决使用期间或一段时间内的传感器位置或取向的变化。该校准例程可确定头戴式装置中包括的传感器的当前相对间距和取向。在计算立体深度信息时,可穿戴xr系统然后可考虑头戴式装置传感器的当前相对间距和取向。借助此校准能力,xr系统可准确地获取深度信息,以便指示与物理世界中对象的距离,无需有源(active)深度传感器,或只是偶尔使用有源深度感测。由于有源深度感测会消耗大量功率,因此减少或消除有源深度感测可使设备消耗较少功率,从而可增加设备运行时间且无需为电池充电,或者由于电池尺寸的减小而减小了设备尺寸。
62.发明人还认识到并理解,通过图像传感器的适当组合,以及处理来自这些传感器
的图像信息的适当技术,xr系统可通过以下方式以低延迟,甚至通过低功耗获取有关物理对象的信息:减少所用传感器的数量;消除、禁用或选择性激活资源密集型传感器;和/或减少传感器的整体使用。作为具体示例,xr系统可包括具有两个世界相机和一个彩色相机的头戴式装置。世界相机可产生灰度图像并可具有全局快门。这些灰度图像的尺寸小于类似分辨率的彩色图像。世界相机可需要比类似分辨率的彩色相机更少的功率。可在不同时间,以不同方式使用来自这些相机的信息以便支持xr系统的操作。
63.本文所述的技术可与多种类型的设备一起用于或单独地用于多种类型场景。图1示出了此类场景。图2、图3a和图3b示出了示例性ar系统,包括根据本文所述的技术进行操作的一个或多个处理器、存储器、传感器和用户界面。
64.参考图1,示出了ar场景4,其中ar系统用户看到物理世界公园状环境6,该环境以背景中的人、树木、建筑物和混凝土平台8为特征.除了这些物理对象之外,ar技术用户还感知到他们“看到”了虚拟对象,这些虚拟对象在此示出为站在物理世界混凝土平台8上的机器人雕像10,以及看起来是大黄蜂的化身的飞舞的卡通化身角色2,即使这些元素(例如,化身角色2和机器人雕像10)在物理世界中并不存在。由于人类视觉感知和神经系统极为复杂,制作一个ar系统以促进在其他虚拟或物理世界图像元素当中舒适、感觉自然的、丰富呈现的虚拟图像元素是极具挑战性的。
65.可通过呈现代表用户周围实际环境的图像信息并叠加代表不在实际环境中的虚拟对象的信息来向用户呈现此类场景。在ar系统中,用户能够看到物理世界中的对象,ar系统提供渲染虚拟对象的信息,以使虚拟对象出现在适当位置并具有适当视觉特征,虚拟对象看起来与物理世界中的对象共存。例如,在ar系统中,用户透过透明屏幕观看,以便用户能够看到物理世界中的对象。ar系统可在该屏幕上渲染虚拟对象,以使得用户看到物理世界和虚拟对象两者。在一些实施例中,屏幕可由用户穿戴,例如一副护目镜或眼镜。
66.场景可经由系统呈现给用户,该系统包括多个部件,包括刺激一种或多种用户感知,包括视觉、听觉和/或触觉,的用户界面。此外,该系统可包括一个或多个传感器,其可测量场景物理部分的参数,包括用户在场景物理部分内的位置和/或运动。此外,该系统可包括一个或多个计算设备以及相关联的计算机硬件,诸如存储器。这些部件可以被集成到单个设备中,也可以分布在多个互连设备中。在一些实施例中,这些部件中的一些或全部可被集成到可穿戴设备中。
67.在一些实施例中,可通过可穿戴显示系统向用户提供ar体验。图2示出了可穿戴显示系统80的示例(以下称为“系统80”)。系统80包括头戴式显示设备62(以下称为“显示设备62”),以及支持显示设备62工作的各种机械和电子模块以及系统。显示设备62可耦合到框架64,框架64可由显示系统用户或观看者60(以下称为“用户60”)穿戴并被配置为将显示设备62定位在用户60的眼前。根据各种实施例,显示设备62可以是顺序显示器。显示设备62可以是单目设备的或双目设备。
68.在一些实施例中,扬声器66被耦合到框架64并被定位在用户60的耳道附近。在一些实施例中,另一扬声器(未示出)被定位在用户60的另一耳道附近以提供立体/可塑形声音控制。
69.系统80可包括本地数据处理模块70。本地数据处理模块70可通过通信链路68,诸如通过有线引线或无线连接,被可操作地耦合到显示设备62。本地数据处理模块70可以多
种配置安装,诸如固定地附接到框架64上,固定地附接到由用户60穿戴的头盔或帽子上,嵌入耳机中或以其他方式可移除地附接到用户60上(例如,采用背包式配置,采用皮带耦合式配置)。在一些实施例中,本地数据处理模块70可以不存在,因为本地数据处理模块70的部件可被集成在显示设备62中,或在与显示设备62耦合,诸如通过经由广域网的无线通信,的远程服务器或其他部件中实现。
70.本地数据处理模块70可包括处理器以及数字存储器,例如非易失性存储器(例如,闪存),这两者都可用于协助处理、缓存和存储数据。该数据可包括:a)从传感器(例如,其可操作地耦合到框架64或以其他方式附接到用户60上)诸如图像捕获设备(诸如相机)、麦克风、惯性测量单元、加速度计、指南针、gps单元、无线电设备和/或陀螺仪,捕获的数据;和/或b)使用远程处理模块72和/或远程数据存储库74获取和/或处理的数据,这些数据可能在这样的处理或检索之后传送到显示设备62。本地数据处理模块70可通过通信链路76、78,诸如经由有线或无线通信链路,分别可操作地耦合到远程处理模块72和远程数据存储库74,使得这些远程模块72、74可操作地彼此耦合并且可用作本地处理和数据模块70的资源。
71.在一些实施例中,本地数据处理模块70可包括一个或多个处理器(例如,中央处理单元和/或一个或多个图形处理单元(gpu)),其被配置为分析和处理数据和/或图像信息。在一些实施例中,远程数据存储库74可包括数字数据存储设施,其可通过因特网或“云”资源配置中的其他网络配置获得。在一些实施例中,在本地数据处理模块70中存储所有数据并且执行所有计算,从而允许来自远程模块的完全自主使用。
72.在一些实施例中,本地数据处理模块70被可操作地耦合到电池82。在一些实施例中,电池82是可拆卸电源,诸如柜售(over the counter)电池。在其他实施例中,电池82是锂离子电池。在一些实施例中,电池82包括在系统80的非操作时间期间可由用户60充电的内部锂离子电池和可拆卸电池两者,使得用户60可在更长时间内操作系统80而不必被拴在电源上为锂离子电池充电,或者必须关闭系统80来更换电池。
73.图3a示出了在用户30在物理世界环境32(以下称为“环境32”)内移动时,穿戴渲染ar内容的ar显示系统的用户30。用户30将ar显示系统置于位置34上,ar显示系统相对于位置34记录联结型世界(passable world)的环境信息(例如,物理世界中现实对象的数字表示,其可以存储并随着物理世界中现实对象的变化而更新)。每个位置34还可与相对于环境32的“姿势”和/或映射特征或定向音频输入相关联。将ar显示系统戴在头上的用户可注视特定方向并倾斜头部,从而创建相对于环境的系统头部姿势。在每个位置和/或同一位置内的每个姿势处,ar显示系统上的传感器可以捕获有关环境32的不同信息。因此,在位置34处收集的信息可被聚合到数据输入36中并且至少由联结型世界模块38处理,这种处理例如通过图2的远程处理模块72上的处理来实现。
74.联结型世界模块38确定可将ar内容40相对于物理世界放置在何处,以及如何放置,如至少部分地根据数据输入36所确定的。通过以用户能够看到ar内容和物理世界两者的方式展现ar内容,将ar内容放置在物理世界中。例如,这样的界面可以用眼镜来创建,用户能够透过眼镜观看物理世界,而且,这种眼镜也可被控制,使得虚拟对象出现在用户视场内的受控位置中。ar内容被渲染为就像是其正与物理世界中的对象进行交互。用户界面能够遮蔽用户对物理世界中对象的观看,从而展现ar内容在适当的时候能够遮蔽用户对这些对象的观看的外观。例如,可通过以下方式来放置ar内容:适当地选择待显示的环境32中的
元素42的部分(例如,桌子);以及显示外形和定位就好像停留在元素42上或以其他方式与元素42交互一样的ar内容40。ar内容也可放置在尚未在视场44内或相对于物理世界的建图网格模型46的结构内。
75.如图所示,元素42是物理世界中可被视为固定并存储在联结型世界模块38中一样的多个元素的示例。一旦存储在联结型世界模块38中,有关这些固定元素的信息便可用于向用户呈现信息,使得用户30可以感知固定在元素42上的内容,而系统不必在用户30每次观看固定元素42时都对它建图。因此,固定元素42可以是来自先前建模会话的建图网格模型,或由单独的用户确定但仍然存储在联结型世界模块38上以供多个用户将来参考。因此,联结型世界模块38可以从先前建图的环境中识别环境32并显示ar内容,而无需用户30的设备首先对环境32建图,从而节省计算处理和周期并避免延迟任何渲染的ar内容。
76.类似地,物理世界的建图网格模型46可由ar显示系统创建,用于交互和显示ar内容40的适当表面和度量可被建图并存储在联结型世界模块38中以供用户30或其他用户将来检索,而无需重新建图或建模。在一些实施例中,数据输入36是诸如地理位置、用户标识和当前活动的输入,用于向联结型世界模块38指示一个或多个固定元素中的哪个固定元素42可用,哪个ar内容40最后被放置在固定元素42上,以及是否显示相同的内容(这种ar内容是“永久”内容,与用户观看特定联结型世界模型无关)。
77.即使在对象被视为是固定的实施例中,联结型世界模块38也可时时更新以便考虑物理世界的变化的可能性。固定对象的模型可以用非常低的频率更新。物理世界中的其他对象可以是移动的,或者以其他方式不被视为固定的。为了渲染具有真实感的ar场景,ar系统可以比用于更新固定对象高得多的频率更新这些非固定对象的位置。为了能够准确跟踪物理世界中的所有对象,ar系统可以从多个传感器,包括一个或多个图像传感器,提取信息。
78.图3b是观察光学组件48和附属可选部件的示意图。下面在图21中描述了具体配置。在一些实施例中,当面向用户眼睛49时,两个眼睛跟踪相机50检测用户眼睛49的度量,诸如眼睛形状、眼睑遮挡、瞳孔方向和用户眼睛49上的闪烁。在一些实施例中,传感器之一可以是深度传感器51,诸如飞行时间传感器,其向世界发射信号并检测来自附近对象的那些信号的反射以确定到给定对象的距离。例如,深度传感器可快速确定对象是否由于其运动或用户姿势的改变而进入了用户的视场。但是,可用其他传感器替代地或附加地收集有关用户视场中对象位置的信息。在一些实施例中,世界相机52记录大于外围的视图以对环境32进行建图并检测可影响ar内容的输入。在一些实施例中,世界相机52和/或相机53可以是灰度和/或彩色图像传感器,其可以固定时间间隔输出灰度和/或彩色图像帧。相机53也可在特定时间捕获用户视场内的物理世界图像。基于帧的图像传感器的像素也可能被重复采样,即使这些像素的值未改变。世界相机52、相机53和深度传感器51中的每一者具有各自的视场54、55和56以收集来自物理世界场景的数据并记录该物理世界场景,诸如图3a中示出的物理世界环境32。
79.惯性测量单元57可确定观察光学组件48的移动和/或取向。在一些实施例中,每个部件被可操作地耦合到至少一个其他部件。例如,深度传感器51可被可操作地耦合到眼睛跟踪相机50以确认用户的眼睛49正在观看的物理世界中的点和/或区域的实际距离。
80.应当理解,观察光学组件48可包括图3b所示的部件中的一些。例如,观察光学组件
48可包括不同数量的部件。在一些实施例中,例如,观察光学组件48可包括一个世界相机52、两个世界相机52或更多世界相机来代替所示出的四个世界相机。替代地或附加地,相机52和53不需要捕获其全视场的可见光图像。观察光学组件48可包括其他类型的部件。在一些实施例中,观察光学组件48可包括一个或多个动态视觉传感器(dvs),其像素可异步地响应于超过阈值的光强度相对变化。
81.在一些实施例中,观察光学组件48可以不包括基于飞行时间信息的深度传感器51。在一些实施例中,例如观察光学组件48可包括一个或多个全光相机,其像素不仅可以捕获光强度而且还可以捕获入射光的角度。例如,全光相机可包括覆盖有透射性衍射掩模(tdm)的图像传感器。替代地或附加地,全光相机可包括包含角度敏感像素和/或相位检测自动对焦像素(pdaf)和/或微透镜阵列(mla)的图像传感器。作为深度传感器51的替代或补充,此类传感器可视为深度信息的来源。
82.还应理解,图3b中的部件配置作为示例示出。观察光学组件48可包括具有任何合适配置的部件,使得用户针对特定部件组能具有最大视场。例如,如果观察光学组件48具有一个世界相机52,则该世界相机可以放置在观察光学组件的中心区域而不是侧面上。
83.来自观察光学组件48中的这些传感器的信息可被耦合到系统中的一个或多个处理器。处理器可以生成可被渲染的数据,以使用户感知与物理世界中的对象交互的虚拟内容。该渲染可以任何合适的方式实现,包括生成示出物理对象和虚拟对象两者的图像数据。在其他实施例中,可通过调制用户观看物理世界透过的显示设备的不透明度来在一个场景中示出物理和虚拟内容。可以控制不透明度以创建虚拟对象的外观并且还阻止用户观看物理世界中被虚拟对象遮挡的对象。在一些实施例中,图像数据可以仅包括可被修改以逼真地与物理世界交互的虚拟内容(例如,考虑遮挡的剪辑内容),这些虚拟内容可通过用户界面观看。无论如何向用户展现内容,都可使用物理世界模型,使得可正确地计算受物理对象影响的虚拟对象的特性,包括虚拟对象的形状、位置、运动和可见性。
84.物理世界模型可根据从用户可穿戴设备上的传感器收集的数据来创建。在一些实施例中,该模型可根据从多个用户处收集的数据来创建,这些数据可以聚集在远离所有用户的计算设备中(可以“在云中”)。
85.在一些实施例中,传感器中的至少一者可被配置为使用紧凑型低功率部件以高频率、低延迟获取有关场景中的物理对象,尤其是非固定对象的信息。该传感器可以采用分块跟踪来限制数据输出量。
86.图4示出了根据一些实施例的图像感测系统400。图像感测系统400可包括图像传感器402,图像传感器402可包括图像阵列404,图像阵列404可包含多个像素,每个像素对光做出响应,如在传统图像传感器中那样。传感器402还可包括存取每个像素的电路。存取像素需要获取有关由该像素生成的入射光的信息。替代地或附加地,存取像素需要控制该像素,例如通过配置该像素以仅在检测到某个事件时提供输出。
87.在所示实施例中,图像阵列404被配置为具有多行和多列像素的阵列。在这种实施例中,存取电路可被实现为行地址编码器/解码器406和列地址编码器/解码器408。图像传感器402还可包含生成存取电路的输入,以控制从图像阵列404中的像素读出信息的时序和顺序的电路。在所示实施例中,该电路是分块跟踪引擎410。与可以连续输出由每行中的像素捕获的图像信息的常规图像传感器相比,图像传感器402可被控制以输出指定分块中的
图像信息。此外,那些分块相对于图像阵列的位置可在一段时间内发生变化。在所示实施例中,分块跟踪引擎410可以输出图像阵列存取信息以控制来自与分块位置相对应的图像阵列404的部分的图像信息输出,并且存取信息可基于环境中的对象运动和/或图像传感器相对于那些对象的运动的估计而动态地变化。
88.在一些实施例中,图像传感器402可具有动态视觉传感器(dvs)功能,使得仅在像素的图像属性(例如,强度)发生变化时,采由传感器提供图像信息。例如,图像传感器402可应用定义像素的接通和关断状态的一个或多个阈值。图像传感器可以检测到像素已改变状态,并且选择性地仅针对那些状态已改变的像素或分块中的那些像素提供输出。这些输出可在被检测到时异步地提供,而不是作为阵列中所有像素的读出的一部分提供。例如,输出可采取地址事件表示(aer)418的形式,其中可包括像素地址(例如,行和列)和事件类型(接通或关断)。接通事件可指示相应像素地址处的像素基元感测到光强度的增加;关断事件可指示相应像素地址处的像素基元感测到光强度的减少。增加或减少可以相对于绝对水平,或者可以是相对于来自像素的最后输出处的水平的改变。例如,该改变可以表示为固定偏移量或来自像素的最后输出处的值的百分比。
89.结合分块跟踪使用dvs技术可使图像传感器适用于xr系统。当在图像传感器中组合时,所生成的数据量受限于来自位于分块内并且检测到将触发事件输出的变化的来自像素单元的数据。
90.在某些情况下,需要高分辨率图像信息。然而,当使用dvs技术时,具有超过一百万个像素单元以生成高分辨率图像信息的大型传感器可生成大量图像信息。发明人已经认识到并理解,dvs传感器可产生大量事件,反映非由被跟踪对象的运动导致的背景中的运动或图像变化。目前,dvs传感器的分辨率限制在1mb以下,例如128x128、240x180、346x260以限制所生成事件的数量。此类传感器牺牲跟踪对象的分辨率,并且例如可能无法检测到手部的精细手指运动。此外,如果图像传感器以其他格式输出图像信息,则限制传感器阵列的分辨率以输出可管理数量的事件也会限制图像传感器与dvs功能一起用于生成高分辨率图像帧。在一些实施例中,本文所述的传感器可具有高于vga的分辨率,包括高达8兆像素或12兆像素。尽管如此,如本文所述的分块跟踪也可用于限制由图像传感器每秒输出的事件数量。因此,可启用以至少两种模式操作的图像传感器。例如,具有兆像素分辨率的图像传感器可以以第一模式操作,其中它输出处于被跟踪的特定分块中的事件。在第二模式下,它可以输出高分辨率图像帧或图像帧的部分。可在xr系统中控制这样的图像传感器以使其基于系统功能在这些不同的模式下操作。
91.图像阵列404可包括布置成阵列的多个像素基元500。图5a示出了像素基元500的示例,其在该实施例中被配置为在实现dvs技术的成像阵列中使用。像素基元500可包括感光器电路502、差分电路506和比较器508。感光器电路502可包括光电二极管504,其将照射光电二极管的光转换为可测量的电信号。在该示例中,转换为电流i。跨导放大器510将光电流i转换为电压。该转换可以是线性的或非线性的,诸如根据log i的函数。不管具体的传递函数如何,跨导放大器510的输出均指示在光电二极管504处检测到的光量。虽然光电二极管作为示例示出,但是应当理解,响应于入射光产生可测量输出的其他光敏部件可以代替光电二极管或作为光电二极管的补充在感光器电路中实现。
92.在图5a的实施例中,用于确定像素输出的变化是否足以触发该像素基元的输出的
电路被并入像素本身中。在该示例中,此功能由差分电路506和比较器508实现。差分电路506可被配置为例如通过在生成事件之后将差分电路的输出平衡到复位电平来减少像素基元间的dc失配。在该示例中,差分电路506被配置为产生显示自上次输出以来光电二极管504的输出变化的输出。差分电路可包括具有增益

a的放大器512、可以实现为单个电路元件或连接在网络中的一个或多个电容器的电容器514以及复位开关516。
93.在操作中,像素基元通过暂时闭合开关516来被复位。这样的复位在电路操作开始时以及在检测到事件之后的任何时间发生。当像素500被复位时,电容器514两端的电压使得在从跨导放大器510的输出中减去时,在放大器512的输入端产生零电压。在开关516打开时,跨导放大器510的输出将与电容器514两端的压降相结合,在放大器512的输入端存在零电压。跨导放大器510的输出由于照射光电二极管504的光量的变化而变化。在跨导放大器510的输出增加或减少时,放大器512的输出将以一变化量正负摆动,该变化量由放大器512的增益放大。
94.比较器508可通过例如将差分电路的输出电压v与预定阈值电压c进行比较来确定是否生成事件以及事件的符号。在一些实施例中,比较器508可包括两个包含晶体管的比较器,在放大器512的输出显示正变化时,其中一个比较器可执行操作,并且可以检测到增加的变化(接通事件);在放大器512的输出显示负变化时,另一比较器可执行操作,并且可以检测到减小的变化(关断事件)。然而应当理解,放大器512可具有负增益。在这种实施例中,跨导放大器510的输出的增加可被检测为放大器512的输出端的负电压变化。类似地,应当理解,正电压和负电压可以相对于地或任何合适的参考电平。无论如何,阈值电压c的值都可由晶体管的特性(例如,晶体管尺寸、晶体管阈值电压)和/或由可施加到比较器508的参考电压的值来控制。
95.图5b示出了像素基元500随时间t的事件输出(接通、关断)的示例。在所示示例中,在时间t1处,差分电路的输出值为v1;在时间t2处,差分电路的输出值为v2;在时间t3处,差分电路的输出值为v3。在时间t1和时间t2之间,虽然光电二极管感测到光强度有所增加,但像素基元未输出任何事件,因为v的变化未超过阈值电压c的值。在时间t2处,像素基元输出接通事件,因为v2比v1大了阈值电压c的值。在时间t2和时间t3之间,虽然光电二极管感测到光强度有所下降,但像素基元未输出任何事件,因为v的变化未超过阈值电压c的值。在时间t3处,像素基元输出关断事件,因为v3比v2小了阈值电压c的值。
96.每个事件可以触发aer 418处的输出。输出例如可包括事件是接通还是关断事件的指示以及像素的标识,诸如其行和列。其他信息可以替代地或附加地包括在输出中。例如,可包括时间戳,在事件排队等待稍后的传输或处理情况下,时间戳就很有用。作为另一示例,可包括放大器510的输出端处的电流电平。例如,如果除了检测对象运动之外还要执行进一步处理,则可选择性地包括这样的信息。
97.应当理解,事件输出的频率以及因此像素基元的灵敏度可通过阈值电压c的值来控制。例如,事件输出的频率可通过增加阈值电压c的值来降低,或者通过降低阈值电压c的值来增加。还应当理解,对于接通事件和关断事件,阈值电压c可以是不同的,例如通过为用于检测接通事件的比较器和用于检测关断事件的比较器设定不同的参考电压。还应当理解,像素基元还可以输出指示光强度变化大小的值来作为指示事件检测的符号信号的替代或补充。
98.图5a和图5b的像素基元500被示出为根据一些实施例的示例。其他设计也可适用于像素基元。在一些实施例中,像素基元可包括感光器电路和差分电路,但是与一个或多个其他像素基元共享比较器电路。在一些实施例中,像素基元可包括被配置为计算变化值的电路,例如像素级的有源像素传感器。
99.无论以何种方式检测用于每个像素基元的事件,将像素配置为仅在检测到事件时输出的能力可用于限制维护非固定(即,可移动)对象的位置模型所需的信息。例如,可用出现相对小的变化时被触发的阈值电压c来设定分块内的像素。分块之外的其他像素可具有更大阈值,诸如三或五倍的阈值。在一些实施例中,任何分块之外的像素的阈值电压c均可设定得足够大,以使像素被有效禁用且不产生任何输出,而不管变化量如何。在其他实施例中,分块之外的像素可以其他方式禁用。在这种实施例中,阈值电压对于所有像素是固定的,但是可基于像素是否位于分块内而选择性地启用或禁用像素。
100.在另外的实施例中,用于一个或多个像素的阈值电压可被自适应地设定为调制从图像阵列输出的数据量的方式。例如,ar系统可具有每秒处理多个事件的处理能力。在每秒输出的事件数超过上限时,一些或所有像素的阈值可被增加。替代地或附加地,在每秒事件数下降到下限以下时,阈值可被降低,从而具有更多数据以进行更准确的处理。作为具体示例,每秒事件数可在200至2,000个事件之间。例如与处理从图像传感器扫描出的所有像素值(构成每秒3000万或更多像素值)相比,该事件数构成每秒要处理的数据数量显著减少。与仅处理分块内的像素(可能较低,但仍然可能是每秒数万个或更多的像素值)相比,该事件数甚至更少。
101.可以以任何合适的方式生成用于为多个像素中的每一者启用和/或设定阈值电压的控制信号。然而,在所示实施例中,那些控制信号由分块跟踪引擎410或基于处理模块72或其他处理器内的处理设定。
102.返回参考图4,图像感测系统400可以从任何合适的部件接收输入,使得分块跟踪引擎410可至少基于接收到的输入动态地选择要启用和/或禁用的图像阵列404的至少一个区域,以便实现分块。分块跟踪引擎410可以是具有存储分块的一个或多个参数的存储器的数字处理电路。参数例如可以是分块的边界,并且可包括其他信息,诸如与图像阵列运动和与分块相关联的可移动对象图像的图像阵列内运动之间的比例因子有关的信息。分块跟踪引擎410还可包括被配置为对存储值和作为输入提供的其他测量值执行计算的电路。
103.在所示实施例中,分块跟踪引擎410接收当前分块的指定作为输入。分块可基于其在图像阵列404内的大小和位置来指定,诸如通过指定分块的行和列地址的范围。此规范可作为处理模块72(图2)的输出或有关物理世界的其他部件处理信息提供。例如,处理模块72可指定分块包含物理世界内每个可移动对象或被跟踪的可移动对象子集的当前位置,以便相对于物理世界渲染具有适当外观的虚拟对象。例如,在ar场景包括平衡在物理对象,诸如移动的玩具车,上的玩具娃娃作为虚拟对象,则可指定分块包含该玩具车。可能并未针对在背景中移动的另一玩具车指定分块,因为不太需要有关该对象的最新信息来渲染逼真的ar场景。
104.无论如何选择分块,都会将有关分块当前位置的信息提供给分块跟踪引擎410。在一些实施例中,分块可以是矩形的,以便可以将分块的位置简单地指定为开始行/列和结束行/列。在其他实施例中,分块可具有其他形状,诸如圆形,并且可以其他方式指定分块,诸
如通过中心点和半径。
105.在一些实施例中,还可提供有关分块的轨迹信息。例如,轨迹可指定分块相对于图像阵列404的坐标的运动。例如,处理模块72可构建物理世界内可移动对象的运动和/或图像阵列404相对于物理世界的运动的模型。由于上述任一或两种运动可影响图像阵列404内投射对象图像的位置,因此可基于上述任一或两种运动计算图像阵列404内的分块轨迹。轨迹可以任何合适的方式指定,诸如线性方程、二次方程、三次方程或其他多项式方程的参数。
106.在其他实施例中,分块跟踪引擎410可基于来自提供有关物理世界的信息的传感器的输入来动态地计算分块位置。来自这些传感器的信息可直接从传感器提供。替代地或附加地,传感器信息可在提供给分块跟踪引擎410之前被处理以提取有关物理世界的信息。例如,所提取的信息可包括图像阵列404相对于物理世界的运动、图像阵列404与其图像落入分块内的对象之间的距离或者其他信息,这些其他信息可在图像阵列404和/或对象移动时用于动态地将图像阵列404中的分块与物理世界中的对象图像对准。
107.输入部件的示例可包括图像传感器412和惯性传感器414。图像传感器412的示例可包括眼睛跟踪相机50、深度传感器51、世界相机52和/或相机52。惯性传感器414的示例可包括惯性测量单元57。在一些实施例中,可以选择输入部件来以相对高的速率提供数据。例如,惯性测量单元57可具有每秒200至2,000次测量之间的输出速率,例如每秒800至1,200次测量之间。分块位置可以以类似的高速率更新。作为一个具体示例,通过使用惯性测量单元57作为分块跟踪引擎410的输入源,分块的位置可以每秒更新800至1,200次。以此方式,可使用限制需要处理的事件数的相对较小的分块,用高精度跟踪可移动对象。这种方法可导致图像传感器和可移动对象的相对位置变化之间的延迟非常低,虚拟对象渲染的更新延迟也同样低,从而提供理想的用户体验。
108.在某些情况下,使用分块跟踪的可移动对象可以是物理世界内的静止对象。例如,ar系统可通过对拍摄的物理世界的多个图像进行分析来识别静止对象,并且选择一个或多个静止对象的特征作为参考点,以便确定其上具有图像传感器的可穿戴设备的运动。这些参考点相对于传感器阵列的频繁、低延迟位置更新可用于提供可穿戴设备用户的头部姿势的频繁、低延迟计算。由于可使用头部姿势经由可穿戴设备上的用户界面逼真地渲染虚拟对象,因此头部姿势的频繁、低延迟更新改善了ar系统的用户体验。因此,使控制分块位置的分块跟踪引擎410的输入仅来自具有高输出率的传感器,例如一个或多个惯性测量单元,可导致理想的ar系统用户体验。
109.然而,在一些实施例中,可以向分块跟踪引擎410提供其他信息以使其能够计算轨迹和/或将轨迹应用于分块。该其他信息可包括存储信息416,诸如联结型世界模块38和/或建图网格模型46。该信息可指示对象相对于物理世界的一个或多个先前位置,以便考虑这些先前位置的变化和/或当前位置相对于先前位置的变化可指示物理世界内的对象轨迹,然后将物理世界内的对象轨迹映射到跨图像阵列404的分块轨迹。可以替代地或附加地使用物理世界模型中的其他信息。例如,可移动对象的尺寸和/或距离或有关相对于图像阵列404的位置的其他信息可用于计算跨与该对象相关联的图像阵列404的分块位置或轨迹。
110.无论以何种方式确定轨迹,分块跟踪引擎410都可以应用该轨迹,以高速率计算图像阵列404内的分块更新位置,诸如比每秒一次或每秒超过800次快的高速率。在一些实施
例中,该速率可能受到处理能力限制,因此为低于每秒2,000次。
111.应当理解,跟踪可移动对象变化的处理不足以重建完整的物理世界。然而,重新物理世界的时间间隔长于可移动对象位置更新之间的时间间隔,诸如每30秒或每5秒。在重建物理世界时,可重新计算要跟踪的对象的位置以及捕获有关那些对象的信息的分块的位置。
112.图4示出了既动态地生成分块又控制从该分块内选择性输出图像信息的处理电路被配置为直接控制图像阵列404,以便将来自阵列的图像信息输出限制为选定信息的实施例。例如,这样的电路可被集成到容纳图像阵列404的同一半导体芯片中,或者可被集成到用于图像阵列404的单独控制器芯片中。然而应当理解,生成用于图像阵列404的控制信号的电路可分布在整个xr系统中。例如,一些或所有功能可通过在处理模块72或系统内的其他处理器中编程来执行。
113.图像感测系统400可针对多个像素中的每一者输出图像信息。图像信息的每个像素对应于图像阵列404的像素基元之一。来自图像感测系统400的输出图像信息可以是由分块跟踪引擎410选择的与图像阵列404的至少一个区域相对应的一个或多个分块中的每一者的图像信息。在一些实施例中,诸如当图像阵列404的每个像素具有不同于图5a所示的配置时,输出图像信息中的像素可识别被一个或多个分块内的图像传感器400检测到光强度变化的像素。
114.在一些实施例中,来自图像感测系统400的输出图像信息可以是由分块跟踪引擎410选择的与图像阵列的至少一个区域相对应的一个或多个分块中的每一者之外的像素的图像信息。例如,一只鹿可能在有一条流淌的河流的物理世界中奔跑。河流波浪的细节可能不令人感兴趣,但可能触发图像阵列402的像素基元。分块跟踪引擎410可以创建包围河流的分块,并禁用与包围河流的分块相对应的图像阵列402的一部分。
115.可基于识别到像素变化来执行进一步的处理。例如,可更新与由变化的像素成像的物理世界部分相对应的世界模型部分。这些更新可基于用其他传感器收集的信息执行。在一些实施例中,进一步的处理以分块中的多个变化的像素为条件或由其触发。例如,一旦检测到分块中有10%或某个其他阈值量的像素发生变化,便可执行更新。
116.在一些实施例中,其他格式的图像信息可以从图像传感器输出,并且可与改变信息结合使用以更新世界模型。在一些实施例中,在vr系统的操作期间,从图像传感器输出的图像信息格式可以不时地改变。在一些实施例中,例如像素基元500是可操作的以在某些时间产生差分输出,诸如在比较器508中产生。放大器510的输出是可切换的以在其他时间输出入射在光电二极管504上的光量。例如,放大器510的输出被可切换地连接到感测线,感测线又被连接到a/d转换器,a/d转换器可基于放大器510的输出量提供入射光量的数字指示。
117.采取该配置的图像传感器可作为ar系统的一部分进行操作,以在大部分时间进行差分输出,仅针对检测到高于阈值的变化的像素输出事件,或者仅针对检测到变化高于阈值的分块内的像素输出事件。可以周期性地,诸如每5至30秒,输出具有图像阵列中所有像素的幅值信息的完整图像帧。以这种方式可实现低延迟的精确处理,其中差分信息用于快速更新其变化最有可能影响所发生的用户感知的世界模型的选定部分,而世界模型的大部分更多地使用完整图像来更新。尽管世界模型的完整更新仅以较慢的速率进行,但任何模型更新延迟都不能对用户的ar场景感知产生有意义的影响。
118.图像传感器的输出模式可在图像传感器的整个操作过程中不时地改变,使得传感器输出一些或所有像素的一个或多个强度信息和阵列中的一些或所有像素的变化指示。
119.不要求通过限制从图像阵列输出的信息来选择性地从图像传感器输出来自分块的图像信息。在一些实施例中,图像信息可由图像阵列中的所有像素输出,并且可能只从图像传感器输出有关阵列的具体区域的信息。图6示出了根据一些实施例的图像传感器600。图像传感器600可包括图像阵列602。在该实施例中,图像阵列602可与扫描出像素值的行和列的常规图像阵列类似。这种图像阵列的操作可由其他部件进行适配。图像传感器600还可包括分块跟踪引擎604和/或比较器606。图像传感器600可将输出610提供给图像处理器608。例如,处理器608可以是处理模块72(图2)的一部分。
120.分块跟踪引擎604可具有类似于分块跟踪引擎410的结构和功能。它可被配置为接收指定图像阵列602的至少一个选定区域的信号,然后基于由该区域表示的对象图像的图像阵列602内的计算轨迹,生成指定该区域的动态位置的控制信号。在一些实施例中,分块跟踪引擎604可接收指定图像阵列602的至少一个选定区域的信号,该信息号可包括此一个或多个区域的轨迹信息。分块跟踪引擎604可被配置为基于轨迹信息执行动态地识别至少一个选定区域内的像素基元的计算。分块跟踪引擎604的实现可以变化。例如,分块跟踪引擎可基于指示图像阵列602的运动和/或与分块相关联的对象的投影运动的传感器来更新分块位置。
121.在图6所示的实施例中,图像传感器600被配置为输出所识别分块内像素的差分信息。比较器606可被配置为从分块跟踪引擎604接收识别分块内像素的控制信号。比较器606可选择性地对从图像阵列602输出的像素进行操作,这些像素在分块内具有如分块跟踪引擎604指示的地址。比较器606可对像素基元进行操作以生成指示由图像阵列602的至少一个区域检测到的感测光变化的信号。作为实施方式的一个示例,比较器606可包含存储元件,其存储阵列内像素基元的复位值。当那些像素的当前值被扫描出图像阵列602时,比较器606内的电路可将所存储的值与当前值进行比较,并在差异超过阈值时输出指示。例如,可使用数字电路来存储值并进行此类比较。在该示例中,可以像图像传感器400的输出一样处理图像传感器600的输出。
122.在一些实施例中,图像阵列602、分块跟踪引擎604和比较器606可在单个集成电路中实现,诸如cmos集成电路。在一些实施例中,图像阵列602可在单个集成电路中实现。分块跟踪引擎604和比较器606可在另一单个集成电路中实现,该集成电路例如被配置为图像阵列602的驱动器。替代地或附加地,分块跟踪引擎和/或比较器606的部分或全部功能可以被分布到ar系统内的其他数字处理器。
123.其他配置或处理电路也是可能的。图7示出了根据一些实施例的图像传感器700。图像传感器700可包括图像阵列702。在该实施例中,图像阵列702可包括具有差分配置的像素基元,诸如图5a中的像素500所示。然而,这里的实施例不限于差分像素基元,因为可用输出强度信息的图像传感器来实现分块跟踪。
124.在图7所示的实施例中,分块跟踪引擎704产生指示被跟踪的一个或多个分块内的像素基元地址的控制信号。分块跟踪引擎704可以像分块跟踪引擎604那样被构建和执行操作。这里,分块跟踪引擎704将控制信号提供给像素滤色器706,像素滤色器706将仅来自分块内那些像素的图像信息传递到输出710。如图所示,输出710被耦合到图像处理器708,图
像处理器708使用本文所述的技术或以其他合适的方式进一步处理分块内像素的图像信息。
125.进一步的变化在图8中示出,该图示出了根据一些实施例的图像传感器800。图像传感器800可包括图像阵列802,该图像阵列可以是扫描出像素强度值的常规图像阵列。该图像阵列可被适配,通过使用比较器806来提供本文所述的差分图像信息。类似于比较器606,比较器806可基于所存储的像素值来计算差分信息。可由像素滤色器808将那些差值中的选定值传递到输出812。与像素滤色器706一样,像素滤色器808可从分块跟踪引擎804接收控制输入。分块跟踪引擎804可类似于分块跟踪引擎704。输出812可被耦合到图像处理器810。图像传感器800的部分或全部上述部件可在单个集成电路中实现。或者,这些部件可遍布一个或多个集成电路或其他部件分布。
126.本文所述的图像传感器可作为增强现实系统的一部分操作以维护有关可移动对象的信息或有关物理世界的其他信息,这些信息与有关物理环境的信息结合,用于逼真地渲染虚拟对象的图像。图9示出了根据一些实施例的用于图像感测的方法900。
127.可以执行方法900的至少一部分来操作图像传感器,图像传感器例如包括图像传感器400、600、700或800。方法900从接收(动作902)来自一个或多个输入的成像信息开始,这些输入例如包括图像传感器412、惯性传感器414和存储信息416。方法900可包括至少部分地基于接收的信息来识别(动作904)图像感测系统的图像输出上的一个或多个分块。图10示出了动作904的示例。在一些实施例中,方法900可包括计算(动作906)一个或多个分块的移动轨迹。图11示出了动作906的示例。
128.方法900还可包括至少部分地基于所识别的一个或多个分块和/或其估计的移动轨迹来设置(动作908)图像感测系统。例如,可通过比较器606、像素滤色器706等,至少部分地基于所识别的一个或多个分块和/或其估计移动轨迹来启用图像感测系统的一部分像素基元,从而实现该设定。在一些实施例中,比较器606可以接收与图像上所选分块相对应的像素基元的第一参考电压值,以及不与图像上任何所选分块相对应的像素基元的第二参考电压值。比较器606可将第二参考电压设定为远高于第一参考电压,使得由包括具有第二参考电压的比较器单元的像素基元感测到的不合理的光强度变化可以导致像素基元的输出。在一些实施例中,像素滤色器706可禁用来自具有不与图像上任何所选分块相对应的地址(例如,行和列)的像素基元的输出。
129.图10示出了根据一些实施例的分块识别904。分块识别904可包括至少部分地基于颜色、光强度、到达角、深度和语义从一个或多个输入分割(动作1002)一个或多个图像。
130.分块识别904还可包括识别(动作1004)一个或多个图像中的一个或多个对象。在一些实施例中,对象识别1004可以是至少部分地基于对象的预定特征的,包括例如手部、眼睛、脸部特征。在一些实施例中,对象识别1004可以是基于一个或多个虚拟对象的。例如,虚拟动物角色正在实体铅笔上行走。对象识别1004可将虚拟动物角色标靶为对象。在一些实施例中,对象识别1004可以是至少部分地基于由图像感测系统接收的人工智能(ai)训练。例如,可通过读取不同类型和颜色的猫的图像来训练图像感测系统,从而学习猫的特征并能够识别物理世界中的猫。
131.分块识别904可包括基于一个或多个对象生成(动作1006)分块。在一些实施例中,对象分块1006可通过计算一个或多个对象的凸包或边界框来生成分块。
132.图11示出了根据一些实施例的分块轨迹估计906。分块轨迹估计906可包括预测(动作1102)一个或多个分块在一段时间内的移动。一个或多个分块的移动可由多种原因引起,其中例如包括移动的对象和/或移动的用户。运动预测1102可包括基于接收到的图像和/或接收到的ai训练而推导移动的对象和/或移动的用户的移动速度。
133.分块轨迹估计906可包括至少部分地基于所预测的移动来计算(动作1104)一个或多个分块在一段时间内的轨迹。在一些实施例中,可通过用一阶线性方程建模来计算轨迹,假设移动的对象将继续以相同速度沿相同方向移动。在一些实施例中,轨迹可通过曲线拟合或使用试探法来计算,其中包括模式检测。
134.图12和图13示出了可在分块轨迹计算中应用的因素。图12示出了可移动对象的示例,在该示例中,可移动对象是相对于ar系统的用户移动的移动对象1202(例如,手部)。在该示例中,用户穿戴作为头戴式显示器62一部分的图像传感器。在该示例中,用户的眼睛49正视前方,使得图像阵列1200相对于一个视点1204捕获眼睛49的视场(fov)。对象1202在fov中,因此通过创建强度变化出现在阵列1200中的对应像素中。
135.阵列1200具有布置成阵列的多个像素1208。对于跟踪手部1202的系统,阵列中在时间t0处包含对象1202分块1206可包括多个像素的一部分。如果对象1202正在移动,则捕获该对象的分块位置将在一段时间内改变。该变化可在分块轨迹中捕获,从分块1206到稍后使用的分块x和y。
136.诸如在动作906中,可通过识别分块中对象的特征1210,例如所示示例中的指尖,来估计分块轨迹。可计算特征的运动向量1212。在该示例中,轨迹被建模为一阶线性方程,并且预测基于对象1202在一段时间内持续位于该同一分块轨迹1214上,从而导致在两个连续时间中的每一时间处产生分块位置x和y的假设。
137.当分块位置改变时,移动对象1202的图像保持在分块内。即使图像信息限于用分块内的像素收集的信息,该图像信息也足以表示移动对象1202的运动。无论图像信息是强度信息还是由差分电路产生的差分信息,情况都是如此。例如,在差分电路的情况下,当移动对象1202的图像在像素上移动时,可发生指示强度增加的事件。相反,当移动对象1202的图像从像素移开时,发生指示强度降低的事件。具有增加和降低事件的像素模式可用作移动对象1202的运动的可靠指示,由于指示事件的数据量相对较少,因此可以用低延迟快速地更新该运动。作为具体示例,这样的系统可导致逼真的xr系统,该系统跟踪用户的手部并改变虚拟对象的渲染,从而为用户创造该用户正与虚拟对象交互的感觉。
138.分块位置可能因其他原因而改变,并且其中任一或所有原因反映在轨迹计算中。一种这样的其他改变是在用户正穿戴图像传感器时该用户的运动。图13示出了移动用户的示例,该示例为用户以及图像传感器创建了变化的视点。在图13中,用户最初以视点1302直视对象。在该配置中,图像阵列的像素阵列1300将捕获用户面前的对象。用户面前的对象可能在分块1312中。
139.然后用户诸如通过转动他们的头部来改变视点。视点可以更改为视点1304。即使先前位于用户正前方的对象没有移动,它也会具有在视点1304处的用户视场内的不同位置。另外还会出现在由用户穿戴的图像传感器的视场内的不同点处,因此出现在图像阵列1300内的不同位置处。例如,该对象可包含在位置1314处的分块内。
140.如果用户进一步将其视点更改为视点1306,并且图像传感器随用户移动,则先前
位于用户正前方的对象的位置将在由用户穿戴的图像传感器的视场内的不同点处成像,并因此在图像阵列1300内的不同位置处成像。例如,该对象可包含在位置1316处的分块内。
141.可以看出,随着用户进一步改变其视点,捕获对象所需的图像阵列中的分块位置进一步移动。可以估计该移动从位置1312到位置1314再到位置1316的轨迹并使用此轨迹跟踪将来的分块位置。
142.可以用其他方式估计轨迹。例如,当用户具有视点1302时,用惯性传感器的测量可指示用户头部的加速度和速度。该信息可用于基于用户头部运动来预测图像阵列内分块的轨迹。
143.分块轨迹估计906可至少部分地基于这些惯性测量来预测用户将在时间t1处具有视点1304并且在时间t2处具有视点1306。因此,分块轨迹估计906可以预测分块1308在时间t1处移动到分块1310并在时间t2处移动到分块1312。
144.作为此方法的示例,它可用于在ar系统中提供准确和低延迟的头部姿势估计。分块可被定位以便包含用户环境内的静止对象的图像。作为具体示例,图像信息的处理可将挂在墙上的相框的一角识别为要跟踪的可识别静止对象。该处理可将分块置于该对象中央。与上面结合图12描述的移动对象1202一样,对象和用户头部间的相对运动将产生可用于计算用户和所跟踪对象间的相对运动的事件。在该示例中,由于被跟踪对象是静止的,因此相对运动指示由用户穿戴的成像阵列的运动。因此,该运动指示用户头部姿势相对于物理世界的变化,并可用于保持对用户头部姿势的精确计算,这可用于逼真地渲染虚拟对象。由于本文所述的成像阵列可提供快速更新,每次更新的数据量相对较少,因此渲染虚拟对象的计算保持准确(它们可以快速执行并频繁更新)。
145.返回参考图11,分块轨迹估计906可包括至少部分地基于所计算的分块轨迹来调整(动作1106)至少一个分块的大小。例如,分块大小可被设定为足够大以包括上面投影生成有图像信息的可移动对象或对象的至少一部分的图像的像素。可将分块设定为略大于感兴趣对象部分的图像的投影大小,以使得如果在估计分块轨迹时存在任何误差,分块仍可包括图像的相关部分。当对象相对于图像传感器移动时,该对象的图像大小(以像素为单位)会基于距离、入射角、对象的取向或其他因素而改变。定义与对象相关联的分块的处理器可设定分块大小,诸如通过基于其他传感器数据测量或基于世界模型计算对象相关分块的大小。分块的其他参数,诸如其形状,可类似地被设定或更新。
146.图14示出了根据一些实施例的被配置用于xr系统的图像感测系统1400。与图像感测系统400(图4)一样,图像感测系统1400包括选择性地输出分块内的值的电路,并且也如上所述,可被配置为输出分块内像素的事件。另外,图像感测系统1400被配置为选择性地输出测量到的强度值,这些强度值可针对完整图像帧输出。
147.在所示实施例中,针对用上述dvs技术生成的事件和强度值示出单独的输出。利用dvs技术生成的输出可使用上面结合aer 418所述的表示输出为aer 1418。表示强度值的输出可通过在此指定为aps 1420的输出进行输出。这些强度输出可用于分块或可用于整个图像帧。aer和aps输出可以同时激活。然而,在所示实施例中,图像传感器1400在任何给定时间以输出事件的模式或输出强度信息的模式执行操作。其中使用这种图像传感器的系统可选择性地使用事件输出和/或强度信息。
148.图像感测系统1400可包括图像传感器1402,图像传感器1402可包括图像阵列
1404,图像阵列1404可包含多个像素1500,每个像素对光做出响应。传感器1402还可包括存取像素基元的电路。传感器1402还可包括生成存取电路的输入,以控制从图像阵列1404中的像素基元读出信息的模式的电路。
149.在所示实施例中,图像阵列1404被配置为具有多行和多列像素基元的阵列,这些像素基元可通过两种读出模式进行存取。在这种实施例中,存取电路可包括行地址编码器/解码器1406、控制列选择开关1422的列地址编码器/解码器1408和/或可临时保存有关由一个或多个对应的像素基元感测的入射光的信息的寄存器1424。分块跟踪引擎1410可生成存取电路的输入,以控制哪些像素基元随时提供图像信息。
150.在一些实施例中,图像传感器1402可被配置为在滚动快门模式和/或全局快门模式下操作。例如,分块跟踪引擎1410可生成存取电路的输入,以控制图像阵列1402的读出模式。
151.在传感器1402在滚动快门读出模式下操作时,通过例如闭合多个列开关中的单个列开关1422,在每个系统时钟期间选择单列像素基元。在该系统时钟期间,曝光所选像素基元列并将其读出到aps 1420。为了通过滚动快门模式生成图像帧,传感器1402中的像素基元列可逐列读出,然后由图像处理器处理从而生成图像帧。
152.在传感器1402在全局快门模式下操作时,例如在单个系统时钟中同时曝光像素基元列,并将信息保存到寄存器1424中,使得由多列中的像素基元捕获的信息可被同时读出到aps 1420b。这种读出模式允许直接输出图像帧,无需进一步的数据处理。在所示示例中,有关由像素基元感测到的入射光的信息被保存到相应的寄存器1424中。应当理解,多个像素基元可共享一个寄存器1424。
153.在一些实施例中,传感器1402可在单个集成电路中实现,诸如cmos集成电路。在一些实施例中,图像阵列1404可在单个集成电路中实现。分块跟踪引擎1410、行地址编码器/解码器1406、列地址编码器/解码器1408、列选择开关1422和/或寄存器1424可在另一单个集成电路中实现,该集成电路例如被配置为用于图像阵列1404的驱动器。替代地或附加地,分块跟踪引擎1410、行地址编码器/解码器1406、列地址编码器/解码器1408、列选择开关1422和/或寄存器1424的一些或全部功能可以分布到其他ar系统中的数字处理器。
154.图15示出了示例性像素基元1500。在所示实施例中,每个像素基元可被设定为输出事件或强度信息。然而应当理解,在一些实施例中,图像传感器可被配置为同时输出两种类型的信息。
155.事件信息和强度信息均是基于光电探测器504的输出的,如上文结合图5所述。像素基元1500包括生成事件信息的电路。也如上所述,该电路包括感光器电路502、差分电路506和比较器508。当处于第一状态时,开关1520将光电探测器504连接到事件发生电路。开关1520或其他控制电路可由控制ar系统的处理器控制,从而在ar系统运行时的相当长的时间段内提供相对少量的图像信息。
156.开关1520或其他控制电路也可被控制为配置像素基元1500以输出强度信息。在所示信息中,强度信息被提供为完整图像帧,该完整图像帧被连续表示为图像阵列中每个像素的像素强度值流。为了在该模式下操作,每个像素基元中的开关1520可被设置在第二位置中,在通过放大器510之后,该位置暴露光电探测器504的输出,使得它可被连接到输出线。
157.在所示实施例中,输出线被示出为列线1510。对于图像阵列中的每一列可以有一个这样的列线。列中的每个像素基元可被耦合到列线1510,但是可以控制像素阵列,使得一次将一个像素基元耦合到列线1510。在每个像素基元中有一个这样的开关的开关1530控制像素基元1500何时被连接到其相应的列线1510。存取电路,诸如行地址解码器410,可闭合开关1530以确保一次仅将一个像素基元连接到每个列线。开关1520和1530可使用作为图像阵列或类似部件的一部分的一个或多个晶体管来实现。
158.图15示出了根据一些实施例的可包括在每个像素基元中的另一部件。采样和保持电路(s/h)1532可被连接在光电探测器504和列线1510之间。当存在时,s/h 1532可使图像传感器1402在全局快门模式下操作。在全局快门模式下,触发信号被同时发送到阵列中的每个像素基元。在每个像素基元内,s/h 1532在触发信号时捕获指示强度的值。s/h 1532存储该值,并基于该值生成输出,直到捕获下一值。
159.如图15所示,在开关1530闭合时,表示由s/h 1532存储的值的信号可被耦合到列线1510。可以处理耦合到列线的信号以生成图像阵列的输出。例如,该信号可被缓存和/或在列线1510末端的放大器1512中被放大,然后被施加到模数转换器(a/d)1514。a/d 1514的输出可通过其他读出电路1516传递到输出1420。读出电路1516例如可包括列开关1422。读出电路1516内的其他部件可以执行其他功能,诸如串行化a/d 1514的多位输出。
160.本领域技术人员将理解如何实现电路以执行本文所述的功能。例如s/h 1532可被实现为一个或多个电容器和一个或多个开关。然而应当理解,s/h 1532可使用其他部件或以不同于图15a所示的其他电路配置来实现。应当理解,还可以实现所示之外的其他部件。例如,图15指示每列一个放大器和一个a/d转换器。在其他实施例中,存在跨多个列共享的一个a/d转换器。
161.在针对全局快门配置的像素阵列中,每个s/h 1532可存储反映同一时间的图像信息的强度值。在存储在每个像素中的值被连续读出时在读出阶段这些值可被存储。例如,可通过将一行中每个像素基元的s/h 1532连接到其相应的列线来实现连续读出。然后可以一次一个地将列线上的值传递到aps输出1420。这种信息流可通过对列开关1422的打开和闭合进行排序来控制。例如,该操作可由列地址解码器1408控制。一旦读出一行中每个像素的值,下一行中的像素基元便可被原位连接到列线。可以一次一列地读出这些值。可以重复一次读出一行的值的过程,直到读出图像阵列中所有像素的强度值。在读出一个或多个分块的强度值的实施例中,过程将在读出该分块内像素基元的值时完成。
162.可以以任何合适的顺序读出像素基元。例如,行可以交错,使得可顺序隔行读出。尽管如此,ar系统仍可通过对数据进行去交错来将图像数据处理为一帧图像数据。
163.在不存在s/h 1532的实施例中,随着值的行和列被扫描出,仍然可以从每个像素基元顺序地读取值。然而,从每个像素基元读取的值可以表示当基元中的值作为读出过程的一部分被捕获时,例如当该值被应用于a/d 1514时,在该基元的光电探测器处检测到的光强度。因此,在滚动快门中,图像帧的像素可表示在稍微不同的时间入射在图像阵列上的图像。对于以30hz速率输出整个帧的图像传感器,捕获帧的第一像素值和捕获帧的最后像素值之间的时间差可相差1/30秒,这对于许多应用是不可察觉的。
164.对于某些xr功能,诸如跟踪对象,xr系统可通过使用滚动快门的图像传感器收集的图像信息执行计算。这样的计算可以插在连续图像帧之间,以针对每个像素计算内插值,
该内插值表示连续帧之间一时间点处的估计像素值。可针对所有像素使用相同的时间,使得经由计算,内插的图像帧包含表示相同时间点的像素,诸如可用具有全局快门的图像传感器产生。或者,可将全局快门图像阵列用于形成xr系统一部分的可穿戴设备中的一个或多个图像传感器。用于完整或部分图像帧的全局快门可避免内插其他处理,这些其他处理可被执行以补偿用滚动快门捕获的图像信息中的捕获时间变化。因此,可以避免插计算,即使图像信息被用于跟踪对象的运动,诸如可能发生在跟踪手部或其他可移动对象,或确定ar中可穿戴设备的用户头部姿势,甚至是使用可穿戴设备上的相机,该相机在收集图像信息时会移动,构建物理环境的准确表示等处理时。
165.区分的像素基元
166.在一些实施例中,传感器阵列中每个像素基元可以是相同的。例如,每个像素基元可对广谱可见光做出响应。因此,每个光电探测器可提供指示可见光强度的图像信息。在这种情况下,图像阵列输出可以是“灰度”输出,表示入射在图像阵列上的可见光量。
167.在其他实施例中,像素基元可以是区分的。例如,传感器阵列中的不同像素基元可输出指示光谱特定部分中的光强度的图像信息。区分像素基元的合适技术是将滤波元件置于通往像素基元中的光电探测器的光路中。滤波元件可以是带通滤波元件,例如允许特定颜色的可见光通过。在像素基元上应用这样的滤色器会将该像素基元配置为提供指示对应于滤色器的颜色光强度的图像信息。
168.无论像素基元的结构如何,都可在像素基元上应用滤波器。例如,这些滤波器可应用于具有全局快门或滚动快门的传感器阵列中的像素基元上。同样,滤波器可应用于被配置为使用dvs技术输出强度或强度变化的像素基元。
169.在一些实施例中,选择性地使原色光通过的滤波元件可安装在传感器阵列中每个像素基元中的光电探测器上。例如,可使用选择性地使红色、绿色或蓝色光通过的滤波器。传感器阵列可具有多个子阵列,每个子阵列具有一个或多个像素,这些像素被配置为感测每种原色的光。以此方式,每个子阵列中的像素基元提供有关被图像传感器成像的对象的强度和颜色信息两者。
170.发明人已经认识到并理解,在xr系统中,一些功能需要颜色信息,而一些功能可用灰度信息执行。配备有图像传感器以提供用于操作xr系统的图像信息的可穿戴设备可具有多个相机,其中一些相机可以用能够提供颜色信息的图像传感器形成。其他相机可以是灰度相机。发明人已经认识到并理解,表示具有与用被配置为感测颜色的相当图像传感器形成的相机相同分辨率的相同物理世界范围灰度相机耗电较少,在低光条件下更灵敏,数据输出速度更快和/或输出更少的数据。然而,灰度相机输出的图像信息足以用于在xr系统中执行的许多功能。因此,xr系统可配置有灰度相机和彩色相机两者,主要使用一个或多个灰度相机,并且选择性地使用彩色相机。
171.例如,xr系统可收集和处理图像信息以创建联结型世界模型。该处理可使用颜色信息,这样能增强某些功能的有效性,这些功能诸如包括区分对象,识别与同一对象相关联的表面和/或识别对象。此类处理时时地执行或更新,例如在用户第一次打开系统,移动到新环境诸如走进另一房间,或以其他方式检测到用户环境变化时。
172.通过使用颜色信息无法显著改善其他功能。例如,一旦创建了联结型世界模型,xr系统就可使用来自一个或多个相机的图像来确定可穿戴设备相对于联结型世界模型中特
征的取向。例如,此功能可作为头部姿势跟踪的一部分来完成。用于此类功能的部分或全部相机可以是灰度的。由于在xr系统运行时频繁地执行头部姿势跟踪,因此在一些实施例中,针对此功能使用一个或多个灰度相机能够显著节省功率,减少计算或提供其他优势。
173.类似地,在xr系统运行期间的多个时间点,系统可使用来自两个或更多个相机的立体信息来确定到可移动对象的距离。作为跟踪用户手部或其他可移动对象的一部分,此功能需要以高速率处理图像信息。针对此功能使用一个或多个灰度相机可降低与处理高分辨率图像信息相关的低延迟或提供其他优势。
174.在xr系统的一些实施例中,xr系统可具有彩色相机和至少一个灰度相机两者,并且可基于需要使用来自该相机的图像信息的功能来选择性地启用灰度和/或彩色相机。
175.图像传感器中的像素基元可以不同于基于像素基元敏感的光谱的方式进行区分。在一些实施例中,一些或所有像素基元可产生具有强度的输出,该强度指示入射在像素基元上的光的到达角。可以处理到达角信息以计算到被成像对象的距离。
176.在这种实施例中,图像传感器可以无源(passively)地获取深度信息。无源深度信息可通过在通往阵列中像素基元的光路中放置部件来获取,使得像素基元输出的信息指示照射在该像素基元的光的到达角。此类部件的一个示例是透射式衍射掩模(tdm)滤波器。
177.到达角信息可通过计算被转换为距离信息,指示到反射光的对象的距离。在一些实施例中,被配置为提供到达角信息的像素基元旁边可散布有捕获一种或多种颜色的光强度的像素基元。因此,到达角信息可与有关对象的其他图像信息组合,且因此距离信息也可与有关对象的其他图像信息组合。
178.在一些实施例中,一个或多个传感器可被配置为用紧凑型低功率组件以高频率、低延迟获取有关场景中物理对象的信息。例如,图像传感器的功耗低于50毫瓦,这样可用作为可穿戴系统一部分的足够小的电池为设备供电。该传感器可以是被配置为无源地获取深度信息的图像传感器,作为指示一种或多种颜色的强度的信息和/或强度变化信息的图像信息的补充和替代。此类传感器还可被配置为通过使用分块跟踪或通过使用dvs技术来提供少量数据以提供差分输出。
179.无源深度信息可通过配置图像阵列来获取,诸如结合本文描述的任何一种或多种技术的图像阵列,这些图像阵列中的部件使阵列中的一个或多个像素基元适配于输出指示从被成像对象发出的光场的信息。该信息可是基于照射在该像素上的光的到达角的。在一些实施例中,诸如上面所述的像素基元可被配置为通过将全光部件置于通往像素基元的光路中来输出到达角的指示。全光部件的示例是透射式衍射掩模(tdm)。到达角信息可通过计算转换为距离信息,指示到反射光以形成被捕获图像的对象的距离。在一些实施例中,被配置为提供到达角信息的像素基元旁边散布有捕获灰阶或一种或多种颜色的光强度的像素基元。因此,到达角信息也可与有关对象的其他图像信息组合。
180.图16示出了根据一些实施例的像素子阵列100。在所示实施例中,子阵列具有两个像素基元,但是子阵列中像素基元的数量并不限制本发明。这里,示出了第一像素基元121和第二像素基元122,其中一个被配置为捕获到达角信息(第一像素基元121),但是应当理解,被配置为测量到达角信息的像素基元阵列内的数量和位置是可变的。在该示例中,另一像素基元(第二像素基元122)被配置为测量一种颜色的光的强度,但其他配置也是可能的,其中包括对不同颜色的光敏感的像素基元或对广谱光敏感的一个或多个像素基元,诸如在
143,使得两个光栅的折射率增加的脊和/或区域在水平方向上对准(δs=0),其中δs是第一tdm 141和第二tdm 143之间的水平偏移量。第一tdm 141和第二tdm 143两者可具有相同的光栅周期d,并且两个光栅可分开距离/深度z。第二tdm 143相对于第一tdm 141定位的深度z,被称为泰伯长度,可根据光栅周期d和被分析光的波长λ确定,并且由以下表达式给出:
[0190][0191]
如图17a所示,具有零度到达角的入射光142被第一tdm 141衍射。第二tdm 143位于等于泰伯长度的深度处,从而创建第一tdm 141的图像,导致大部分入射光142通过第二tdm 143传递。可选的介电层145可将第二tdm 143与光电探测器147分开。在光通过介电层145传递时,光电探测器147检测光并生成其特性(例如,电压或电流)与入射在光电探测器上的光强度成正比的电信号。另一方面,在具有非零到达角θ的入射光144也被第一tdm 141衍射时,第二tdm 143防止入射光144的至少一部分到达光电探测器147。到达光电探测器147的入射光量取决于到达角θ,以较大角度到达光电探测器的光较少。由光144产生的虚线说明了到达光电探测器147的光量被衰减。在一些情况下,光144可能被衍射光栅143完全阻挡。因此,可以利用使用两个tdm的单个光电探测器147获取有关入射光到达角的信息。
[0192]
在一些实施例中,由不具有到达角

强度转换器的相邻像素基元获取的信息可提供入射光强度的指示,并且可用于确定通过到达角

强度转换器传递的入射光部分。根据该图像信息,可计算由光电探测器147检测到的光的到达角,如下文更详细描述的。
[0193]
图17b示出了像素基元150的第二布置,其包括彼此未对准的第一tdm 151和第二tdm 153,使得两个光栅的折射率增加的脊和/或区域在水平方向上不对准(δs≠0),其中δs是第一tdm 151和第二tdm 153之间的水平偏移量。第一tdm 151和第二tdm 153两者可具有相同的光栅周期d,并且两个光栅可分开距离/深度z。与结合图17a讨论的两个tdm对准的情况不同,未对准导致角度不同于零的入射光通过第二tdm 153传递。
[0194]
如图17b所示,具有零度到达角的入射光152被第一tdm 151衍射。第二tdm 153位于等于泰伯长度的深度处,但是由于两个光栅之间存在水平偏移量,因此光152的至少一部分被第二tdm 153阻挡。由光152产生的虚线说明了到达光电探测器157的光量被衰减。在一些情况下,光152可被衍射光栅153完全阻挡。另一方面,具有非零到达角θ的入射光154被第一tdm 151衍射,但通过第二tdm 153传递。在遍历可选的介电层155之后,光电探测器157检测入射在光电探测器157上的光并生成其特性(例如,电压或电流)与入射在光电探测器上的光强度成正比的电信号。
[0195]
像素基元140和150具有不同的输出函数,其中针对不同入射角度检测到的光具有不同强度。然而,在每种情况下,关系是固定的并且可基于像素基元的设计或通过作为校准过程一部分的测量来确定。不考虑精确的传递函数,测量到的强度可被转换为到达角,该到达角又可用于确定到被成像对象的距离。
[0196]
在一些实施例中,图像传感器的不同像素基元可具有不同的tdm布置。例如,第一像素基元子集可包括与每个像素相关联的两个tdm的光栅之间的第一水平偏移量,而第二像素基元子集可包括与每个像素基元相关联的两个tdm的光栅之间的第二水平偏移量,其中第一偏移量不同于第二个偏移量。具有不同偏移量的每个像素基元子集可用于测量不同的到达角或不同的到达角范围。例如,第一像素子集可包括与图17a的像素基元140类似的
tdm布置,第二像素子集可包括与图17b的像素基元150类似的tdm布置。
[0197]
在一些实施例中,并非图像传感器的所有像素基元都包括tdm。例如,一个像素基元子集可包括滤色器,而另一像素基元子集可包括用于确定到达角信息的tdm。在其他实施例中,不使用滤色器,使得第一像素基元子集仅测量入射光的总强度,而第二像素基元子集测量到达角信息。在一些实施例中,关于来自不具有tdm的附近的像素基元的光强度的信息可用于确定入射在具有一个或多个tdm的像素基元上的光的到达角。例如,使用被布置为利用泰伯效应的两个tdm,入射在第二tdm之后的光电探测器上的光强度是入射在第一tdm上的光的到达角的正弦函数。因此,如果入射在第一tdm上的光的总强度是已知的,则光到达角可根据由光电探测器检测到的光强度来确定。
[0198]
在一些实施例中,可选择子阵列中像素基元的配置以提供具有适当分辨率的各种类型图像信息。图18a

c示出了图像传感器的像素子阵列中的像素基元的示例布置。所示示例是非限制性的,因为应当理解,发明人构想了替代像素布置。这种布置可在可包含数百万个像素的图像阵列上重复。子阵列可包括提供有关入射光到达角信息的一个或多个像素基元和提供有关入射光的强度信息的一个或多个其他像素基元(带或不带滤波器)。
[0199]
图18a是像素子阵列160的示例,其包括彼此不同且为矩形而非正方形的第一像素基元组161和第二像素基元组163。标记为“r”的像素基元是带有红色滤波器的像素基元,使得红色入射光通过滤波器传递到关联光电探测器;标记为“b”的像素基元是带有蓝色滤波器的像素基元,使得蓝色入射光通过滤波器传递到关联光电探测器;标记为“g”的像素基元是带有绿色滤波器的像素,使得绿色入射光通过滤色器传递到关联光电探测器。在示例子阵列160中,绿色像素基元多于红色或蓝色像素基元,说明各种类型像素基元不需要以相同比例存在。
[0200]
标记为a1和a2的像素基元是提供到达角信息的像素。例如,像素基元a1和a2可包括一个或多个用于确定到达角信息的光栅。提供到达角信息的像素基元可以类似地或不同地配置为诸如对不同到达角范围或对相对于不同轴的到达角敏感。在一些实施例中,标记为a1和a2的像素包括两个tdm,并且像素基元a1和a2的tdm可以朝着不同的方向取向,例如彼此垂直。在其他实施例中,像素基元a1和a2的tdm可以彼此平行地取向。
[0201]
在使用像素子阵列160的实施例中,可获取彩色图像数据和到达角信息两者。为了确定入射在像素基元组161上的光的到达角,使用来自rgb像素基元的电信号来估计入射在像素基元组161上的总光强度。利用由a1/a2像素检测到的光强度以可预测方式根据到达角变化的事实,可通过比较总强度(根据该组像素内的rgb像素基元估计)与a1和/或a2像素基元测量的强度来确定到达角。例如,入射在a1和/或a2像素上的光强度可相对于入射光到达角呈正弦变化。入射在像素基元组163上的光的到达角使用由像素组163生成的电信号以类似的方式被确定。
[0202]
应当理解,图18a示出了子阵列的具体实施例,并且其他配置也是可能的。在一些实施例中,例如,子阵列可以仅为像素基元组161或163。
[0203]
图18b是包括第一像素基元组171、第二像素基元组172、第三像素基元组173和第四像素基元组174的替代像素子阵列170。每个像素基元组171

174是正方形并在其中具有相同的像素基元布置,但是可能具有用于确定不同角度范围或相对于不同平面的到达角信息的像素基元(例如,像素a1和a2的tdm可彼此垂直地取向)。每个像素组171

174包括一个
红色像素基元(r)、一个蓝色像素基元(b)、一个绿色像素基元(g)和一个到达角像素基元(a1或a2)。请注意,在示例像素子阵列170中,每组中存在相同数量的红色/绿色/蓝色像素基元。此外,应当理解,像素子阵列可在一个或多个方向上重复以形成更大的像素阵列。
[0204]
在使用像素子阵列170的实施例中,可获取彩色图像数据和到达角信息两者。为了确定入射在像素基元组171上的光的到达角,可使用来自rgb像素基元的信号估计入射在像素基元组171上的总光强度。用由到达角像素基元检测到的光强度相对于到达角具有正弦或其他可预测响应的事实,可通过将总强度(根据rgb像素基元估计)与由a1像素测量的强度进行比较来确定到达角。入射在像素基元组172

174上的光的到达角可使用由每个相应像素组的像素基元生成的电信号以类似的方式确定。
[0205]
图18c是包括第一像素基元组181、第二像素基元组182、第三像素基元组183和第四像素基元组184的替代像素子阵列180。每个像素基元组181

184是正方形并且其中具有相同布置的像素基元,未使用任何滤色器。每个像素基元组181

184包括两个“白色”像素(例如,没有任何滤色器,以使得红色、蓝色和绿色光被检测到,从而形成灰度图像),一个到达角像素基元(a1)具有在第一方向上取向的tdm,一个到达角像素基元(a2)具有以第二间距或沿相对于(例如垂直于)第一方向的第二方向取向的tdm。请注意,示例中像素子阵列170中没有颜色信息。所得图像是灰度图像,说明可使用本文所述的技术在彩色或灰度图像阵列中获取无源深度信息。与本文所述的其他子阵列配置一样,像素子阵列布置可在一个或多个方向上重复以形成更大的像素阵列。
[0206]
在使用像素子阵列180的实施例中,可获取灰度图像数据和到达角信息两者。为了确定入射在像素基元组181上的光的到达角,使用来自两个白色像素的电信号估计入射在组181上的总光强度。用由a1和a2像素检测到的光强度相对于到达角具有正弦或其他可预测响应的事实,可通过将总强度(根据白色像素估计)与由a1和/或a2像素基元测量的强度进行比较来确定到达角。入射在像素基元组182

184上的光的到达角可使用由每个相应像素组的像素生成的电信号以类似的方式确定。
[0207]
在上述示例中,像素基元被示为正方形并且以正方形网格布置。实施例不限于此。例如,在一些实施例中,像素基元的形状可以是矩形。此外,子阵列可以是三角形的或布置在对角线上或具有其他几何形状。
[0208]
在一些实施例中,使用图像处理器708或与本地数据处理模块70相关联的处理器获取到达角信息,本地数据处理模块70可进一步基于到达角确定对象的距离。例如,可将到达角度信息与一种或多种其他类型的信息组合以获取对象的距离。在一些实施例中,网格模型46的对象可与来自像素阵列的到达角信息相关联。网格模型46可包括对象的位置,包括距用户的距离,可基于到达角度信息将该距离更新为新的距离值。
[0209]
使用到达角信息来确定距离值在对象靠近用户的场景中尤其有用。这是因为距图像传感器的距离的变化导致附近对象的光到达角变化大于远离用户定位的对象的类似幅度距离变化。因此,利用基于到达角的无源距离信息的处理模块可基于估计对象距离选择性地使用该信息,并且可利用一种或多种其他技术确定到超过阈值距离的到对象的距离,在一些实施例中,此距离例如长达1米、长达3米或长达5米。作为具体示例,ar系统的处理模块可被编程为使用可穿戴设备用户3米内对象的到达角信息来使用无源距离测量,但是对于该范围以外的对象,可使用立体图像处理,该图像处理使用由两个相机捕获的图像。
[0210]
类似地,被配置为检测到达角信息的像素对相对于图像阵列法线的角度范围内的距离变化最敏感。处理模块可以类似地被配置为使用从该角度范围内的到达角测量推导出的距离信息,但是使用其他传感器和/或其他技术来确定该范围外的距离。
[0211]
确定对象与图像传感器的距离的一个示例应用是手部跟踪。手部跟踪例如可在ar系统中用于为系统80提供基于手势的用户界面和/或允许用户在由系统80提供的ar体验中移动环境内的虚拟对象。提供到达角信息进行准确深度确定的图像传感器与减少确定用户手部运动的处理数据量的差分读出电路的组合提供了有效的界面,用户可通过该界面与虚拟对象交互和/或向系统80提供输入。确定用户手部位置的处理模块可使用距离信息,该距离信息使用不同的技术获取,具体取决于用户手部在可穿戴设备的图像传感器的视场中的位置。根据一些实施例,手部跟踪可在图像感测过程中作为分块跟踪的一种形式实现。
[0212]
利用深度信息的另一应用是遮挡处理。遮挡处理使用深度信息来确定物理世界模型的某些部分不需要或不能基于收集与用户周围物理环境有关的图像信息的一个或多个图像传感器捕获的图像信息来更新。例如,如果确定存在与传感器相距第一距离的第一对象,则系统80可确定不针对大于第一距离的距离更新物理世界模型。例如,即使模型包括与传感器相距第二距离的第二对象,第二距离大于第一距离,但如果第二对象在第一对象后面,也可能不更新该对象的模型信息。在一些实施例中,系统80可基于第一对象的位置生成遮挡掩模,并且仅更新未被遮挡掩模掩蔽的模型部分。在一些实施例中,系统80可针对一个以上的对象生成一个以上的遮挡掩模。每个遮挡掩模可与距传感器的相应距离相关联。对于每个遮挡掩模,将不更新与以下对象相关联的模型信息:该对象与传感器的距离大于与相应遮挡掩模相关联的距离。通过限制在任何给定时间更新的模型部分,生成ar环境的速度和生成ar环境所需的计算资源量都会降低。
[0213]
虽然未在图18a

c中示出,但是图像传感器的一些实施例可包括具有作为滤色器的补充或替代的ir滤波器的像素。例如,ir滤色器可以允许诸如大约等于940nm的波长的光通过并被相关联的光电探测器检测到。可穿戴设备的一些实施例可包括ir光源(例如ir led),此光源发射具有与ir滤色器相关联的相同波长(例如940nm)的光。ir光源和ir像素可用作确定对象与传感器的距离的替代方式。作为示例而非限制,ir光源可以是脉冲光源并且可使用飞行时间测量来确定对象与传感器的距离。
[0214]
在一些实施例中,系统80可在一种或多种操作模式下操作。第一模式可以是以下模式:其中例如基于使用具有到达角

强度转换器的像素来确定的光到达角,使用无源深度测量来做出深度确定。第二模式可以是以下模式:其中例如基于使用图像传感器的ir像素来测量的ir光的飞行时间,使用有源深度测量来做出深度确定。第三模式可使用来自两个独立图像传感器的立体测量来确定对象的距离。在对象离传感器很远时,这种立体测量可以比使用具有到达角

强度转换器的像素确定的光到达角更准确。其他合适的确定深度方法可用于一种或多种附加的深度确定操作模式。
[0215]
在一些实施例中,可优选地使用无源深度确定,因为此技术功耗较小。然而,系统可确定它应该在某些条件下以有源模式操作。例如,如果由传感器检测到可见光强度低于阈值,则可能太暗而无法准确执行无源深度确定。作为另一示例,对象可能太远以致于无源深度确定不够准确。因此,系统可被编程为选择在第三模式下操作,其中基于使用两个空间分离图像传感器的场景立体测量来确定深度。作为另一示例,基于使用具有到达角

强度转
换器的像素来确定的光到达角,确定对象深度在图像传感器外围可能不够准确。因此,如果对象被图像传感器外围附近像素检测到,则系统可以选择在第二模式下操作,使用有源深度确定。
[0216]
虽然上述图像传感器的实施例使用具有堆叠tdm的单个像素基元来确定入射在像素基元上的光的到达角,但其他实施例可使用在组的所有像素上具有单个tdm的多个像素基元组来确定到达角信息。tdm可在整个传感器阵列上投射取决于入射光的到达角的光图案。与一个tdm相关联的多个光电探测器可更准确地检测该图案,因为这些多个光电探测器中的每个光电探测器位于像平面(像平面包括感测光的光电探测器)中的不同位置。由每个光电探测器感测到的相对强度可指示入射光到达角。
[0217]
图19a是根据一些实施例的与单个透射衍射掩模(tdm)相关联的多个光电探测器(采取光电探测器阵列120的形式,其可以是图像传感器像素基元的子阵列)的示例的俯视图。图19b是与图19a的光电探测器阵列相同的光电探测器阵列沿图19a的线a的截面图。在所示示例中,光电探测器阵列120包括16个单独光电探测器121,这些光电探测器可位于图像传感器的像素基元内。光电探测器阵列120包括设置在光电探测器上方的tdm 123。应当理解,为了清楚和简单起见(例如,形成四像素乘四像素网格),每个像素基元组示出为具有四个像素。一些实施例可包括多于四个像素基元。例如,每组可包括16个像素基元、64个像素基元或任何其他数量的像素。
[0218]
tdm 123位于距光电探测器121的距离x处。在一些实施例中,tdm 123形成在介电层125的顶面上,如图19b所示。例如,如图所示,tdm 123由脊形成,或者由蚀刻到介电层125表面中的谷形成。在其他实施例中,tdm 123可被形成在介电层内。例如,可修改介电层的一部分以相对于介电层其他部分具有更高或更低的折射率,从而产生全息相位光栅。从上方入射在光电探测器阵列120上的光被tdm衍射,导致入射光到达角被转换为像平面中与tdm 123相距距离x的位置,其中光电探测器121位于该位置。在光电探测器阵列中的每个光电探测器121处测量的入射光强度可用于确定入射光到达角。
[0219]
图20a示出了根据一些实施例的与多个tdm相关联的多个光电探测器(采取光电探测器阵列130的形式)的示例。图20b是通过图20a的线b截取的与图20a相同的光电探测器阵列的截面图。图20c是通过图20a的线c截取的与图20a相同的光电探测器阵列的截面图。在所示示例中,光电探测器阵列130包括16个单独的光电探测器,这些光电探测器可位于图像传感器像素基元内。示出了四组131a、131b、131c、131d的四个像素基元。光电探测器阵列130包括四个单独的tdm 133a、133b、133c、133d,每个tdm设置在相关联的像素基元组上方。应当理解,为了清楚和简单起见,每个像素基元组示出为具有四个像素基元。一些实施例可包括多于四个像素基元。例如,每组可包括16个像素基元、64个像素基元或任何其他数量的像素。
[0220]
每个tdm 133a

d位于距光电探测器131a

d的距离x处。在一些实施例中,tdm 133a

d形成在介电层135的顶面上,如图20b所示。例如,tdm 123a

d可由脊形成,如图所示,或者由蚀刻到介电层135的表面中的谷形成。在其他实施例中,tdm 133a

d可形成在介电层内。例如,可修改介电层的一部分以相对于介电层其他部分具有更高或更低的折射率,从而产生全息相位光栅。从上方入射到光电探测器阵列130上的光被tdm衍射,导致入射光到达角被转换为像平面中与tdm 133a

4相距距离x的位置,其中光电探测器131a

d位于该位置。
在光电探测器阵列中的每个光电探测器131a

d处测量的入射光强度可用于确定入射光到达角。
[0221]
tdm 133a

d可沿彼此不同的方向取向。例如,tdm 133a垂直于tdm 133b。因此,使用光电探测器组131a检测到的光强度可用于确定垂直于tdm 133a的平面中的入射光到达角,并且使用光电探测器组131b检测到的光强度可用于确定垂直于tdm 133b的平面中的入射光到达角。类似地,使用光电探测器组131c检测到的光强度可用于确定垂直于tdm 133c的平面中的入射光到达角,并且使用光电探测器组131d检测到的光强度可用于确定垂直于tdm 133d的平面中的入射光到达角。
[0222]
被配置为无源地获取深度信息的像素基元可被集成到具有本文所述的特征的图像阵列中以支持在x现实系统中有用的操作。根据一些实施例,被配置为获取深度信息的像素基元可被实现为用于实现具有全局快门的相机的图像传感器的一部分。例如,该配置可提供整个帧输出。整个帧可包括同时指示深度和强度的不同像素的图像信息。使用该配置的图像传感器,处理器可以一次获取整个场景的深度信息。
[0223]
在其他实施例中,提供深度信息的图像传感器像素基元可被配置为根据上述dvs技术进行操作。在此类场景中,事件可指示对象深度的变化,如由像素基元所指示的。由图像阵列输出的事件可指示被检测到深度变化的像素基元。替代地或附加地,该事件可包括该像素基元的深度信息的值。利用该配置的图像传感器,处理器可以以非常高的速率获取深度信息更新,从而提供高时间分辨率。
[0224]
在另外的实施例中,图像传感器可被配置为在整个帧或dvs模式下操作。在这种实施例中,处理来自图像传感器的图像信息的处理器可基于正由处理器执行的功能,以编程方式控制图像传感器的操作模式。例如,在执行涉及跟踪对象的功能时,处理器可以配置图像传感器以将图像信息输出为dvs事件。另一方面,在执行更新世界重建的处理时,处理器可以配置图像传感器以输出整个帧深度信息。
[0225]
可穿戴配置
[0226]
在xr系统中可使用多个图像传感器。图像传感器可与光学部件,诸如,透镜,和控制电路相结合以创建相机。这些图像传感器可使用上述技术中的一种或多种来获取成像信息,诸如灰度成像、彩色成像、全局快门、dvs技术、全光像素基元和/或动态分块。不管使用何种成像技术,所得到的相机都可被安装到支撑构件上以形成头戴式装置,该头戴式装置可包括或被连接到处理器。
[0227]
图21是与所公开的实施例一致的示出可穿戴显示系统的头戴式装置2100的示意图。如图21所示,头戴式装置2100可包括显示设备,该显示设备包括单目镜2110a和单目镜2110b,其可以是被配置为向用户的眼睛传输和/或显示视觉信息的光学目镜或显示器。头戴式装置2100还可包括框架2101,其可类似于以上关于图3b所述的框架64。头戴式装置2100还可包括三个相机(相机2120a、相机2120b和相机2140)以及附加部件,诸如发射器2130a、发射器2130b、惯性测量单元2170a(imu 2170a)和惯性测量单元2170b(imu 2170b)。
[0228]
相机2120a、相机2120b和相机2140是世界相机,因为它们被取向为对由穿戴头戴式装置2100的用户所看到的物理世界进行成像。在一些实施例中,这三个相机足以获取有关物理世界的图像信息,这三个相机可以是唯一面向世界的相机。头戴式装置2100还可包括附加部件,诸如以上关于图3b所讨论的眼睛跟踪相机。
[0229]
单目镜2110a和单目镜2110b可使用诸如粘合剂、紧固件或压力配件之类的技术机械地耦合到诸如框架2101之类的支撑构件。类似地,三个相机和附属部件(例如发射器、惯性测量单元、眼睛跟踪相机等)可使用诸如粘合剂、紧固件、压力配件等的技术机械地耦合到框架2101。这些机械耦合可以是直接的或间接的。例如,一个或多个相机和/或一个或多个伴随组件可以直接附接到框架2101。作为附加示例,一个或多个相机和/或一个或多个附属部件可被直接附接到单目镜,单目镜然后被附接到框架2101。附接机制不旨在是限制性的。
[0230]
或者,可以形成单目镜子部件,然后将其附接到框架2101。每个子部件例如可包括单目镜2110a或2110b附接到的支撑构件。imu和一个或多个相机可以类似地附接到支撑构件。将相机和imu两者附接到同一支撑构件使得能够基于imu的输出而获取有关相机的惯性信息。类似地,将单目镜附接到与相机相同的支撑构件上允许将有关世界的图像信息与在单目镜上渲染的信息在空间上关联。
[0231]
头戴式装置2100可以是轻型的。例如,头戴式装置2100的重量可在30至300克之间。头戴式装置2100可由在使用中弯曲的材料制成,诸如塑料或薄金属部件。此类材料可实现用户可长时间穿戴的轻便且舒适的头戴式装置。尽管如此,具有这种轻型头戴式装置的xr系统可支持使用校准例程执行高精度立体图像分析,这需要知道相机之间的间距,这种校准例程可在穿戴头戴式装置时重复执行,以补偿因头戴式装置在使用中弯曲而导致的任何不准确性。在一些实施例中,轻型头戴式装置可包括电池组。电池组可包括一个或多个电池,这些电池可以是可充电的或不可充电的。电池组可内置于轻质框架中,也可以是可拆卸的。电池组和轻型框架可形成为单个单元,或者电池组可形成为与轻型框架分离的单元。
[0232]
相机2120a和相机2120b可分别包括图像传感器和透镜。图像传感器可被配置为生成灰度图像。图像传感器可被配置为获取大小在1兆像素至4兆像素之间的图像。例如,图像传感器可被配置为获取具有1016线的水平分辨率和1016线的垂直分辨率的图像。图像传感器可被配置为重复或周期性地获取图像。例如,图像传感器可被配置为以30hz至120hz之间的频率(诸如60hz)获取图像。图像传感器可以是cmos图像传感器。图像传感器可配置有全局快门。如以上关于图14和图15所述,全局快门可使每个像素能够同时获取强度测量。
[0233]
与所公开的实施例一致,相机2120a和相机2120b可分别被配置为具有宽视场。例如,相机2120a和相机2120b可包括等距透镜(例如,鱼眼镜头)。相机2120a和相机2120b在头戴式装置2100上分别朝内有角度的。例如,通过视场2121a,与相机2120a相关联的视场,中心的垂直平面可与通过头戴式装置2100的中线的垂直平面相交并形成一个角度。该角度可在1至40度之间。在一些实施例中,视场2121a可具有水平视场和垂直视场。水平视场的范围可在90度至175度之间,而垂直视场的范围可在70度至125度之间。类似地,通过视场2121b,与相机2120b相关联的视场,中心的垂直平面可与通过头戴式装置2100的中线的垂直平面相交并形成一个角度。该角度也可在1度至40度之间。在一些实施例中,相机2120a和相机2120b可向内具有相同的角度。与所公开的实施例一致,视场2121b可具有水平视场和垂直视场。水平视场的范围可在90度至175度之间,而垂直视场的范围可在70度至125度之间。
[0234]
相机2120a和相机2120b可被配置为提供中央视场2150的重叠视图。中央视场2150的角度范围可在20度至80度之间。例如,中央视场2150的角度范围可以是大约40度(例如40
±
4度)。除了中央视场2150之外,相机2120a和相机2120b可被定位以提供至少两个外围视
场。外围视场2160a可与相机2120a相关联并且可包括视场2121a的不与视场2121b重叠的部分。在一些实施例中,外围视场2160b的角度范围可在40度至80度之间。例如,外围视场2160a的角度范围可以是大约60度(例如60
±
6度)。外围视场2160b可与相机2120b相关联并且可包括视场2121b的不与视场2121a重叠的部分。在一些实施例中,外围视场2160b的角度范围可在40度至80度之间的。例如,外围视场2160b的角度范围可以是大约60度(例如60
±
6度)。
[0235]
发射器2130a和发射器2130b可在低光条件下和/或由头戴式装置2100执行有源深度感测时进行成像。发射器2130a和发射器2130b可被配置为发射特定波长的光。这种光可被用户周围物理世界中的物理对象反射。头戴式装置2100可配置有传感器以检测该反射光,其中包括本文所述的图像传感器。在一些实施例中,这些传感器可以被并入相机2120a、相机2120b或相机2140中的至少一个中。例如,如以上关于图18a

18c所述,这些相机可配置有与发射器2130a和/或发射器2130b相对应的探测器。例如,这些相机可包括被配置为检测由发射器2130a和/或发射器2130b发射的光的像素。
[0236]
与所公开的实施例一致,发射器2130a和发射器2130b可被配置为发射ir光。ir光的波长在900纳米至1微米之间。ir光例如可以是940nm的光源,发射的光能集中在940nm附近。可以替代地或附加地使用发射其他波长光的发射器。例如,对于旨在仅供室内使用的系统,可使用发射光集中在850nm附近的发射器。相机2120a、相机2120b或相机2140a中的至少一个可包括一个或多个ir滤色器,该一个或多个ir滤色器被设置在相机的图像传感器中的至少一个像素子集之上。滤波器可使由发射器2130a和/或发射器2130b发射的某个波长的光通过,同时衰减其他波长的光。例如,ir滤波器可以是陷波滤波器,使波长与发射器的波长相匹配的ir光通过。陷波滤波器可大幅度衰减其他ir光。在一些实施例中,陷波滤波器可以是ir陷波滤波器,阻挡ir光,允许来自发射器的光通过。ir陷波滤波器还可允许ir频带之外的光通过。此类陷波滤波器可使图像传感器能够接收可见光和来自发射器的已从图像传感器视场中的对象反射的光两者。以此方式,像素子集可用作由发射器2130a和/或发射器2130b发射的ir光的探测器。
[0237]
在一些实施例中,xr系统的处理器可选择性地启用发射器,诸如实现低光条件下的成像。处理器可处理由一个或多个图像传感器生成的图像信息,并且可检测由这些图像传感器输出的图像是否在不启用发射器的情况下提供有关物理世界中对象的足够信息。处理器可响应于检测到图像由于低环境光条件而未提供足够图像信息而启用发射器。例如,在使用立体信息跟踪对象,并且缺乏环境光导致图像中被跟踪对象特征之间的对比度不足以使用立体图像技术准确地确定距离时,可以接通发射器。
[0238]
替代地或附加地,发射器2130a和/或发射器2130b可被配置用于进行有源深度测量,诸如通过发射短脉冲光。可穿戴显示系统可被配置通过检测发射器2130a的照明场2131a和/或发射器2130b的照明场2131b中的对象对此类脉冲的反射来执行飞行时间测量。这些飞行时间测量可以为跟踪对象或更新联结型世界模型提供附加深度信息。在其他实施例中,一个或多个发射器可被配置为发射带图案的光,并且xr系统可被配置为处理被该带图案的光照射的对象的图像。此类处理可检测到图案的变化,从而揭示到对象的距离。
[0239]
在一些实施例中,与发射器相关联的照明场范围足以至少照射相机的视场以获取有关对象的图像信息。例如,发射器可共同照射中央视场2150。在所示实施例中,发射器
2130a和发射器2130b可被定位,以照射共同跨越可提供有源照射的范围的场2131a和照明场2131b。在该示例实施例中,示出了两个发射器,但是应当理解,可使用更多或更少的发射器来跨越期望范围。
[0240]
在一些实施例中,发射器,诸如发射器2130a和2130b,默认处于关断状态,但是可在需要额外的照明来获取多于可通过无源成像获取的信息时接通。可穿戴显示系统可被配置为在需要附加深度信息时启用发射器2130a和/或发射器2130b。例如,在可穿戴显示系统检测到无法使用立体图像信息获取足够的深度信息来跟踪手部或头部姿势时,可穿戴显示系统可被配置为启用发射器2130a和/或发射器2130b。在不需要附加深度信息时,可禁用发射器2130a和/或发射器2130b,从而降低功耗并延长电池寿命。
[0241]
此外,并不要求将ir发射器安装在头戴式装置2100上或仅安装在头戴式装置2100上,即使头戴式装置配备有被配置为检测ir光的图像传感器。在一些实施例中,ir发射器可以是安装在可使用头戴式装置2100的空间,诸如室内,中的外部设备。这种发射器可投射,诸例如以940nm的aruco图案,人眼不可见的ir光。具有这种图案的光可促进“仪器化/辅助跟踪”,其中头戴式装置2100不必供应提供ir图案的电力,但是由于存在图案,无论如何能提供ir图像信息,使得可通过处理该图像信息来确定空间内对象的距离或位置。具有外部照明源的系统还可允许更多设备在此空间内执行操作。如果多个头戴式装置在同一空间中执行操作,则每个头戴式装置在空间中移动,没有固定位置关系,存在由一个头戴式装置发射的光会投射在另一头戴式装置的图像传感器上的风险,从而干扰其操作。例如,头戴式装置之间的这种干扰的风险将可在一个空间中执行操作的头戴式装置数量限制为3个或4个。利用空间中照射可被头戴式装置上的图像传感器成像的对象的一个或多个ir发射器,更多头戴式装置(在一些实施例中超过10个)可在同一空间中无干扰地执行操作。
[0242]
如以上关于图3b所公开的,相机2140可被配置为捕获视场2141内的物理世界图像。相机2140可包括图像传感器和透镜。图像传感器可被配置为产生彩色图像。图像传感器可被配置为获取大小在6兆像素至24兆像素之间的图像。例如,图像传感器可获取分辨率为4kx2k(例如3840或4096线的水平分辨率和1716或2160线的垂直分辨率)的图像。图像传感器可被配置为重复或周期性地获取图像。例如,图像传感器可被配置为以30hz至120hz之间的频率,诸如60hz,获取图像。
[0243]
图像传感器可以是cmos图像传感器。图像传感器可被配置有滚动快门。如以上关于图14和图15所讨论的,滚动快门可迭代地读取图像传感器中的像素子集,使得不同子集中的像素反映在不同时间收集的光强度数据。例如,图像传感器可被配置为在第一时间读取图像传感器中的第一行像素,并且在稍后的某个时间读取图像传感器中的第二行像素。在一些实施例中,传感器可以是cmos传感器。
[0244]
相机2140的视场2141可包括水平视场和垂直视场。水平视场的范围在75至125度之间,而垂直视场的范围在60至125度之间。
[0245]
imu 2170a和/或imu 2170b可被配置为向可穿戴显示系统提供加速度和/或速度和/或倾角信息。例如,当穿戴头戴式装置2100的用户移动时,imu 2170a和/或imu 2170b可提供描述用户头部的加速度和/或速度的信息。
[0246]
可穿戴显示系统可被耦合到处理器,该处理器可被配置为处理用相机获取的图像信息,以从本文所述的用相机捕获的图像中提取信息和/或在显示设备上渲染虚拟对象。处
理器可被机械地耦合到框架2101。或者,处理器可被机械地耦合到显示设备,诸如包括单目镜2110a或单目镜2110b的显示设备。作为进一步的替代,处理器可通过通信链路可操作地耦合到头戴式装置2100和/或显示设备。例如,xr系统可包括本地数据处理模块。该本地数据处理模块可包括处理器并且可通过物理连接(例如电线或电缆)或无线(例如蓝牙、wi

fi、zigbee等)连接连接到头戴式装置2100或显示设备。
[0247]
处理器可被配置为执行世界重建、头部姿势跟踪和对象跟踪操作。例如,处理器可被配置为使用相机2120a、相机2120b和相机2140创建联结型世界模型。在创建联结型世界模型时,处理器可被配置为使用由相机2120a和相机2120b获取的同一物理对象的多个图像,立体地确定深度信息。作为附加示例,处理器可被配置为使用相机2120a和相机2120b而不是相机2140更新现有联结型世界模型。如上所述,相机2120a和相机2120b是分辨率相对低于彩色相机2140的灰度相机。因此,可使用由相机2120a和相机2120b而不是相机2140获取的图像快速更新联结型世界模型,这样做可降低功耗并延长电池寿命。在一些实施例中,处理器可被配置为偶尔或周期性地使用相机2120a、相机2120b和相机2140更新联结型世界模型。例如,处理器可被配置为确定不再满足联结型世界质量标准,和/或自上次获取和/或使用由相机2140获取的图像以来已经过去了预定时间间隔,和/或当前位于相机2120a、相机2120b和相机2140的视场中的一部分物理世界内的对象已发生了变化。
[0248]
根据一些实施例,xr系统可包括硬件加速器。硬件加速器可被实现为专用集成电路(asic)或其他半导体器件,并且可集成在头戴式装置2100内或以其他方式耦合到头戴式装置以使其从相机2120a和相机2120b接收图像信息。该硬件加速器可使用由两个世界相机2120a和2120b获取的图像来辅助立体地确定深度信息。这些图像可以是灰度图像。使用硬件加速可加快深度信息的确定并降低功耗,从而延长电池寿命。
[0249]
处理器可被配置为使用来自相机2120a和相机2120b的图像在中央视场2150中执行对象跟踪。在一些实施例中,处理器可使用根据由两个相机获取的第一图像立体地确定的深度信息来执行对象跟踪。作为非限制性示例,被跟踪对象可以是可穿戴显示系统的用户的手部。处理器可被配置为使用从相机2120a和相机2120b之一获取的图像在外围视场中执行对象跟踪。
[0250]
示例性校准过程
[0251]
图22示出了根据一些实施例的校准例程(方法2200)的简化流程图。处理器可被配置为在穿戴可穿戴显示系统的同时执行校准例程。校准例程可解决由头戴式装置2100的轻质结构引起的变形。在一些实施例中,校准例程可解决使用期间由框架2101的温度变化或机械应力引起的框架2101的变形。例如,处理器可以重复执行校准例程,使得校准例程补偿可穿戴显示系统使用期间的框架2101的变形。补偿例程可自动执行或响应于手动输入(例如,执行校准例程的用户请求)执行。校准例程可包括确定相机2120a和相机2120b的相对位置和取向。处理器可被配置为使用由相机2120a和相机2120b获取的图像执行校准例程。在一些实施例中,处理器可被配置为进一步使用imu 2170a和imu 2170b的输出。
[0252]
在框2201中开始之后,方法2200继续到框2210。在框2210中,处理器可识别从相机2120a和相机2120b获取的图像中的对应特征。对应特征可以是物理世界中对象的一部分。在一些实施例中,为了校准的目的,对象可由用户放置在中央视场2150内并且在图像中具有容易识别的特征,这些特征可具有预定的相对位置。然而,本文所述的校准技术可基于在
校准时出现在中央视场2150中的对象上的特征而执行,允许在头戴式装置2100使用期间重复校准。在各种实施例中,处理器可被配置为自动选择在视场2121a和视场2121b两者内检测到的特征。在一些实施例中,处理器可被配置为使用视场2121a和视场2121b内特征的估计位置来确定特征之间的对应关系。这种估计可基于针对包含这些特征或有关特征的其他信息的对象构建的联结型世界模型。
[0253]
方法2200继续到框2230。在框2230中,处理器可接收惯性测量数据。惯性测量数据可从imu 2170a和/或imu 2170b接收。惯性测量数据可包括倾角和/或加速度和/或速度测量值。在一些实施例中,imu 2170a和2170b可分别被直接或间接地机械地耦合到相机2120a和相机2120b。在这种实施例中,由imu 2170a和2170b进行的惯性测量,诸如倾角,的差异可指示相机2120a和相机2120b的位置和/或取向的差异。因此,imu2170a和2170b的输出可提供对相机2120a和相机2120b的相对位置进行初始估计的基础。
[0254]
在框2230之后,方法2200继续到框2250。在框2250中,处理器可计算相机2120a和相机2120b的初始估计相对位置和取向。该初始估计可使用从imu 2170a和/或imu 2170b接收的测量值来计算。例如,在一些实施例中,头戴式装置可被设计为具有相机2120a和相机2120b的标称相对位置和取向。处理器可被配置为将从imu 2170a和imu 2170b接收到的测量值之间的差异归因于框架2101的变形,此变形可改变相机2120a和相机2120b的位置和/或取向。例如,imu 2170a和imu 2170b可被直接或间接机械地耦合到框架2101,使得由这些传感器进行的倾角和/或加速度和/或速度测量值具有预定关系。在框架2101变形时,这种关系可能会受到影响。作为非限制性示例,imu 2170a和imu 2170b可被机械地耦合到框架2101,使得在不存在框架2101的变形时,这些传感器在头戴式装置移动期间测量到相似的倾角、加速度或速度矢量。在该非限制性示例中,使imu 2170a相对于imu 2170b旋转的扭曲或弯曲可导致imu 2170a的倾角、加速度或速度矢量测量值相对于imu 2170b的对应矢量测量值相应地旋转。由于imu 2170a和imu 2170b被分别机械地耦合到相机2120a和相机2170b,因此处理器可根据imu 2170a和imu 2170b之间的测量关系调整相机2120a和相机2120b的标称相对位置和取向。
[0255]
可替代地或附加地使用其他技术来进行初始估计。在校准方法2200在xr系统操作期间重复执行的实施例中,初始估计例如可以是最新计算的估计。
[0256]
在框2250之后,启动子过程,其中进一步估计相机2120a和相机2120b的相对位置和取向。选择其中一种估计作为相机2120a和相机2120b的相对位置和取向,以根据由相机2120a和相机2120b获取的图像计算立体深度信息。该子过程可以迭代地执行,从而在每次迭代中做出进一步的估计,直到识别出可接受的估计。在图22的示例中,该子过程包括框2270、2272、2274和2290。
[0257]
在框2270中,处理器可针对相机的估计相对取向和被比较特征计算误差。在计算此误差时,处理器可被配置为基于相机2120a和相机2120b的估计相对取向和用于校准的估计位置特征来估计所识别的特征的应出现的方式或所识别的特征应在通过相机2120a和相机2120b获取的对应图像内的位置。在一些实施例中,此估计可与通过两个相机中的每一个获取的图像中的对应特征的出现位置或明显位置进行比较,以生成每个估计相对取向的误差。可使用线性代数技术来计算此误差。例如,图像内多个特征中的每一者的计算位置和实际位置之间的均方偏差可用作误差的度量。
[0258]
在框2270之后,方法2200继续到框2272,其中可检查误差是否满足可接受标准。例如,该标准可以是误差的总大小,也可能是迭代之间的误差变化。如果误差满足可接受标准,则方法2200继续到框2290。
[0259]
在框2290中,处理器可基于在框2272中计算的误差选择估计相对取向中的一者。所选择的估计相对位置和取向可以是具有最低误差的估计的相对位置和取向。在一些实施例中,处理器可被配置为选择与该最低误差相关联的估计相对位置和取向作为相机2120a和相机2120b的当前相对位置和取向。在框2290之后,方法2200继续到框2299。方法2200可在框2299中结束,其中相机2120a和相机2120b的所选择位置和取向被用于基于由这些相机形成的图像计算立体图像信息。
[0260]
如果在框2272处误差不满足可接受标准,则方法2200继续到框2274。在框2274中,可更新用于在框2270中计算误差的估计。这些更新可以是相机2120a和相机2120b的估计相对位置和/或取向。在估计用于校准的一组特征的相对位置的实施例中,在框2274中选择的更新估计可替代地或附加地包括对组中特征的位置的更新。可根据用于求解多变量方程组的线性代数技术来执行此更新。作为具体示例,估计位置或取向中的一者或多者可以增加或减少。如果在子过程的一次迭代中,该变化减小了计算误差,则在随后的迭代中,相同的估计位置或取向沿同一方向进一步变化。相反,如果该变化增加了误差,则在随后的迭代中,那些估计位置或取向沿相反方向变化。在校准过程中使用的相机和特征的估计位置和取向可以此方式顺序地或组合地变化。
[0261]
一旦计算出更新估计,子过程便返回到框2270。在此,通过计算估计相对位置的误差,开始子过程的进一步迭代。以此方式,更新估计位置和取向,直到选择提供可接受误差的更新相对位置和取向。然而应当理解,框2272中的处理可应用其他结束迭代子过程的标准,诸如完成多次迭代而没有发现可接受误差。
[0262]
尽管结合相机2120a和相机2120b描述了方法2200,但是可以针对用于立体成像的任何相机对或针对需要具有相对位置和取向的任意多个相机组执行类似的校准。例如,可计算相机2140相对于相机2120a和相机2120b中的任一者或两者的位置和取向。
[0263]
示例性相机配置
[0264]
根据一些实施例,将部件并入头戴式装置2100以提供视场和照明场来支持xr系统的多种功能。图23a至图23c是根据一些实施例的与图21的头戴式装置2100相关联的视场或照明场的示例图。每个示例图示出了来自相对于头戴式装置的不同取向和距离的视场或照明场。图23a从升高的离轴角度示出了距头戴式装置1米距离处的视场或照明场。图23a示出了相机2120a、2120b和2140的视场之间的重叠,特别是相机2120a和相机2120b如何有角度以使得视场2121a和视场2121b穿过头戴式装置2100的中线。如图所示,发射器2130a和发射器2130b的照明场大部分重叠。以此方式,发射器2130a和发射器2130b可被配置为支持低环境光条件下中央视场2150中对象的成像或深度测量。图23b从自上而下的角度示出了距头戴式装置0.3米距离处的视场或照明场。图23b示出了在距头戴式装置0.3米处呈现视场2121a、视场2121b和视场2141的重叠。图23c从正视角度示出了距头戴式装置0.25米距离处的视场或照明场。图23c示出了在距头戴式装置0.25米处呈现视场2121a、视场2121b和视场2141的重叠。
[0265]
如根据图23a至图23c可理解的,视场2121a、视场2121b和视场2141的重叠形成中
央视场,其中可在具备或不具备来自发射器2130a和发射器2130b的ir照明的情况下,使用由相机2120a和相机2120b获取的灰度图像来采用立体成像技术。在该中央视场中,来自相机2140的颜色信息可与灰度图像信息组合。此外,存在外围视场,其中无任何重叠,但是根据相机2120a或相机2120b中的一者可获得单目灰度图像信息。如本文所述,可以针对为中央视场和外围视场获取的图像信息执行不同的操作。
[0266]
世界模型生成
[0267]
在一些实施例中,在中央视场中获取的图像信息可用于构建或更新世界模型。图24是根据一些实施例的用于创建或更新联结型世界模型的方法2400的简化流程图。如以上关于图21所公开的,可穿戴显示系统可被配置为使用处理器来确定和更新联结型世界模型。在一些实施例中,处理器可被配置为在不使用发射器2130a和2130b的情况下,基于相机2120a和相机2120b和相机2140的输出执行此确定和更新。然而在一些实施例中,联结型世界模型可能不完整。例如,处理器可不完整地确定墙壁或其他平坦表面的深度。作为附加示例,联结型世界模型可不完整地表示具有许多拐角、曲面、透明表面或大表面的对象,诸如窗户、门、球、桌子等。处理器2400可被配置为识别此类不完整信息,获取附加信息,并使用附加深度信息更新世界模型。
[0268]
在一些实施例中,可选择性地启用发射器2130a和2130b以收集附加图像信息,根据这些附加图像信息构建或更新联结型世界模型。在一些场景中,处理器可被配置为在获取的图像中执行对象识别,选择用于已识别对象的模板,并基于该模板向联结型世界模型添加信息。以此方式,可穿戴显示系统可改进联结型世界模型,同时很少或不使用像发射器2130a和2130b之类的功率密集型组件,从而延长电池寿命。
[0269]
方法2400可在可穿戴显示系统操作期间的一次或多次启动。处理器可被配置为在用户第一次打开系统、移动到新环境,诸如走进另一房间,时创建联结型世界模型,或者一般地,在处理器检测到用户物理环境发生变化时创建联结型世界模型。替代地或附加地,方法2400可在可穿戴显示系统操作期间或在检测到物理世界的显著变化时或响应于用户输入,诸如指示世界模型与物理世界不同步的输入,而周期性地执行。
[0270]
在一些实施例中,联结型世界模型的全部或部分可以被存储,由xr系统的其他用户提供或以其他方式获取。因此,虽然描述了世界模型的创建,但是应当理解,方法2400可用于世界模型的一部分,而世界模型的其他部分源自其他来源。
[0271]
在框2401中开始之后,方法2400继续到框2410。在框2410中,可创建联结型世界模型。在所示实施例中,处理器可使用相机2120a和相机2120b以及相机2140一起创建联结型世界模型。如上所述,在生成联结型世界模型时,处理器可被配置为在构建联结型世界模型时使用从相机2120a和相机2120b获取的灰度图像,立体地确定物理世界中对象的深度信息。在一些实施例中,处理器可从相机2140接收颜色信息。该颜色信息可用于区分对象或识别与同一对象相关联的表面。颜色信息也可用于识别对象。
[0272]
在框2410中创建联结型世界模型之后,方法2400继续到框2430。在框2430中,处理器可识别用于更新联结型世界模型的表面和/或对象。处理器可使用从相机2120a和相机2120b获取的灰度图像识别这些表面或对象。在一些实施例中,处理器可使用这些灰度图像立体地确定物理世界中对象的深度信息。当更新联结型世界模型时,可使用该深度信息。替代地或附加地,可使用单目信息来更新世界模型。
[0273]
例如,一旦在框2410中创建了世界模型,指示联结型世界内特定位置处的表面,便可使用从相机2120a和/或相机2120b获取的灰度图像来检测具有大致相同特性的表面,并确定应通过更新该表面在联结型世界模型中的位置来更新联结型世界模型。例如,大致相同位置处形状与联结型世界模型中的表面大致相同的表面等同于联结型世界模型中的表面,并且可相应地更新联结型世界模型。作为另一示例,可基于从相机2120a和/或相机2120b获取的灰度图像更新在联结型世界模型中表示的对象位置。
[0274]
灰度信息可以是立体信息或单目信息。在一些实施例中,更新可以是基于中央视场,具有可用立体信息,中对象的立体信息的,以及基于相机2120a或相机2120b中的一者的外围视场中的单目信息的,在该外围视场中只有单目信息可用。在一些实施例中,可基于对象处于中央视场还是外围视场来不同地执行更新过程。例如,可以对中央视场中检测到的表面执行更新。在外围视场中,例如可以仅对处理器具有模型的对象执行更新,使得处理器能够确认对联结型世界模型的任何更新与该对象一致。替代地或附加地,可基于灰度图像的处理来识别新的对象或表面。即使与框2410中的处理相比,该处理导致对象或表面的表示的准确度较低,但是在某些情况下,通过平衡更快且功耗更低的处理的准确度,可实现更好的整体系统。此外,通过周期性地重复方法2400,可周期性地用高准确度信息替换低准确度信息,从而创建仅用灰度相机生成的世界模型部分,和具有结合使用彩色相机和灰度相机生成的信息的部分。
[0275]
在框2430中更新联结型世界模型之后,方法2400继续到框2450。在框2450中,处理器可识别联结型世界模型是否包括不完整深度信息。不完整深度信息可以任何多样的方式生成。例如,某些对象不会在图像中产生可检测的结构。例如,物理世界中的极暗区域不能用足以从使用环境照明获取的图像中提取深度信息的分辨率成像。作为另一示例,窗户或玻璃桌面可能不会在可见图像中出现或被计算机处理识别。作为又一示例,较大的均匀表面,诸如桌面或墙壁,可能缺乏在两个立体图像中相关以执行立体图像处理的足够特征。因此,处理器无法使用立体处理来确定此类对象的位置。在这些场景中,世界模型中存在“空洞”,因为寻求使用联结型世界模型来确定到表面的距离,在穿过“空洞”的特定方向上,的过程无法获取任何深度信息。
[0276]
在联结型世界模型不包括不完整深度信息时,方法2400可返回到使用从相机2120a和相机2120b获取的灰度图像来更新联结型世界模型。
[0277]
在识别不完整深度信息之后,处理器控制方法2400可采取一个或多个动作来获取附加深度信息。方法2400可以继续到框2471和/或框2473。在框2471中,处理器可启用发射器2130a和/或发射器2130b。如上文所公开,相机2120a、相机2120b或相机2140中的一个或多个可被配置为检测由发射器2130a和/或发射器2130b发射的光。处理器然后可通过使发射器2130a和/或2130b发射能够增强所获取的物理世界对象图像的光来获取深度信息。例如,在相机2120a和相机2120b对所发射的光敏感时,可以处理用相机2120a和相机2120b获取的图像以提取立体信息。在启用发射器2130a和/或发射器2130b时,可以替代地或附加地使用其他分析技术来获取深度信息。在一些实施例中,可以替代地或附加地使用飞行时间测量和/或结构光技术。
[0278]
在框2473中,处理器可根据先前获取的深度信息确定附加深度信息。在一些实施例中,例如,处理器可被配置为识别用相机2120a和/或相机2120b形成的图像中的对象,并
基于所识别对象的模型来填充联结型世界模型中的任何空洞。例如,处理可检测物理世界中的平面。这些平面可使用通过相机2120a和/或相机2120b获取的现有深度信息或存储在联结型世界模型中的深度信息来检测。这些平面也可以响应于确定世界模型的一部分包括不完整深度信息而被检测。处理器可被配置为基于检测到的平面来估计附加深度信息的。例如,处理器可被配置为通过不完整深度信息区域延伸所识别的平面。在一些实施例中,处理器可被配置为在延伸平面时基于联结型世界模型的周围部分来内插丢失的深度信息。
[0279]
在一些实施例中,作为附加示例,处理器可被配置为检测包括不完整深度信息的世界模型的一部分中的对象。在一些实施例中,该检测可涉及使用神经网络或其他机器学习工具来识别对象。在一些实施例中,处理器可被配置为访问存储模板的数据库并选择与已识别对象相对应的对象模板。例如,在所识别的对象为窗户时,处理器可被配置为访问存储模板的数据库并选择对应的窗户模板。作为非限制性示例,模板可以是代表一类对象,诸如窗户、门、球等的类型,的三维模型。处理器可基于更新的世界模型中对象的图像来配置对象模板的实例。例如,处理器可缩放、旋转和平移模板以匹配在更新的世界模型中检测到的对象位置。然后可基于所配置模板,表示所识别对象的表面,的边界来估计附加深度信息。
[0280]
在框2471和/或框2473之后,方法2400继续到框2490。在框2490中,处理器可使用在框2471和/或框2473中获取的附加深度信息来更新联结型世界模型。例如,处理器可被配置为将从用有源ir照明进行的测量获取的附加深度信息混合到现有联结型世界模型中。作为附加示例,处理器可被配置为将通过扩展检测到的平面获取的内插深度信息混合到现有联结型世界模型中,或者将根据所配置模板的边界估计的附加深度信息混合到现有联结型世界模型中。信息可以一种或多种方式混合,取决于附加深度信息和/或联结型世界模型中的信息的性质。例如,可通过向联结型世界模型添加附加深度信息来执行混合,该深度信息针对联结型世界模型中存在空洞的位置收集。或者,附加深度信息可覆盖联结型世界模型中对应位置的信息。作为又一替代,混合可涉及在联结型世界模型中已有的信息和附加深度信息之间进行选择。这样的选择例如可以是基于选择联结型世界模型中已有的深度信息,或附加深度信息中的深度信息,该附加深度信息表示距离用于收集附加深度信息的相机最近的表面。
[0281]
在一些实施例中,联结型世界模型可由连接点的网格来表示。更新世界模型可通过计算要添加到世界模型的对象或表面的网格表示,然后将该网格表示与世界模型的网格表示组合来完成。发明人已经认识到并理解,与将对象或表面添加到世界模型,然后计算更新模型的网格相比,以该顺序执行处理可能需要更少的处理工作。
[0282]
图24示出了在框2430和2490两者中更新的世界模型。每个框的处理可以相同的方式执行,例如通过生成要添加到世界模型的对象或表面的网格表示,然后将生成的网格与世界模型的网格组合,或者采用其他方式。在一些实施例中,该合并操作可针对在框2430和框2490中识别的对象或表面执行一次。该组合处理例如可按照结合框2490描述的方式执行。
[0283]
在一些实施例中,方法2400可以循环回框2430以重复基于用一个或多个灰度相机获取的信息更新世界模型的过程。由于执行框2430的处理的图像比执行框2410的处理的图像更少且更小,因此该处理可以更高速率重复。该处理可以小于每秒10次的速率执行,诸如
在每秒3至7次之间。
[0284]
方法2400可以此方式重复,直到检测到结束条件。例如,方法2400可以重复预定时间段,直到接收到用户输入,或直到检测到头戴式装置2100的相机视场中的物理世界模型部分出现特定类型或特定幅度变化。方法2400然后在框2499中终止。方法2400可再次启动,以便在框2410中捕获世界模型的新信息,其中包括用更高分辨率彩色相机获取的信息。方法2400可以终止并重新启动以便使用彩色相机重复框2401中的处理,从而以平均速率创建世界模型的一部分,该平均速率慢于仅基于灰度图像信息更新世界模型的速率。例如,可以每秒一次或更慢的平均速率重复使用彩色相机的处理。
[0285]
对象跟踪
[0286]
如上所述,xr系统的处理器可跟踪物理世界中的对象以支持相对于物理对象逼真地渲染虚拟对象。例如,结合可移动对象,诸如xr系统用户的手部,描述了跟踪。快速更新可移动对象位置可实现逼真地渲染虚拟对象,因为渲染可反映由虚拟对象对物理对象的遮挡或物理对象对虚拟对象的遮挡,或者反映物理对象中虚拟对象间的相互作用。跟踪物理世界中的固定对象也被描述为头部姿势跟踪的一部分。确定用户头部姿势使得将联结型世界模型中的信息能转换为用户可穿戴显示设备的参考系,以便将联结型世界模型中的信息用于在可穿戴显示设备上渲染对象。
[0287]
根据一些实施例,灰度、立体信息可用于跟踪中央视场2150中的对象。这些对象在处于外围视场2160a或2160b中时不被跟踪。替代地或附加地,仅使用单目图像信息的不同跟踪方法可用于这些外围视场中的跟踪。
[0288]
手部跟踪可用作对象跟踪的示例。图25是根据一些实施例的手部跟踪方法(方法2500)的简化流程图。在各种实施例中,处理器可被配置为在用户的手处于中央视场2150中时使用相机2120a和相机2120b执行手部跟踪,在用户的手处于外围视场2120b中时仅使用相机2120a,并且在用户的手处于外围视场2120b中时仅使用相机2120b。以此方式,可穿戴显示系统可被配置为使用该配置中数量减少的可用相机来提供充分的手部跟踪,从而降低功耗并延长电池寿命。
[0289]
方法2500可在xr系统处理器的控制下执行。该方法可在检测到诸如手部之类的待跟踪对象,作为分析用头戴式装置2100上任一相机获取的图像的结果,时启动。此分析需要基于具有作为手部特征的光度特征的图像区域,将对象识别为手部。替代地或附加地,可使用基于立体图像分析获取的深度信息来检测手部。作为具体示例,深度信息可指示存在形状与手部3d模型匹配的对象。以此方式检测手部的存在还需要将手部模型参数设定为匹配手部取向。在一些实施例中,此模型还可用于通过使用来自一个或多个灰度相机的光度信息,确定手部如何从原始位置移动来实现快速手部跟踪。
[0290]
其他触发条件也可启动方法2500,诸如xr系统执行涉及跟踪对象的操作,诸如渲染用户可能试图用手部按压的虚拟按钮,从而用户的手部有望进入一个或多个相机的视场。方法2500可以较高速率重复,诸如每秒30至100次之间,诸如每秒40至60次之间。因此,可以低延迟提供要处理的被跟踪对象的更新位置信息,以渲染与物理对象交互的虚拟对象。
[0291]
在框2501中开始之后,方法2500可继续到框2510。在框2510中,处理器可确定可能的手部位置。在一些实施例中,可能的手部位置是所获取图像中检测到的对象位置。在基于
匹配深度信息与手部3d模型来检测手部的实施例中,在框2510中可使用相同信息作为手部的初始位置。
[0292]
在框2510之后,方法2500可继续到框2520。在框2520中,处理器可确定对象处于中央视场中还是外围视场中。在对象处于中央视场中时,方法2500可继续到框2531。在框2531中,处理器可获取对象的深度信息。该深度信息可基于立体图像分析来获取,根据立体图像分析可计算收集图像信息的相机和被跟踪对象之间的距离。例如,处理器可选择中央视场中的特征并确定所选择特征的深度信息。处理器可使用由相机2120a和2120b获取的图像来立体地确定特征的深度信息。
[0293]
在一些实施例中,所选择特征可代表由骨骼和关节定义的人手部的不同部分。特征选择可是基于匹配图像信息与人手部模型的。例如,这种匹配可启发式地进行。例如,人手部可以由有限数量的部分表示,诸如16个部分,并且手部图像中的点可被映射到这些部分之一,使得每个部分上的特征可以被选择。替代地或附加地,这种匹配可使用深度神经网络或分类/决策森林,在分析中应用一系列是/否决策来识别手部的不同部分并选择代表手部不同部分的特征。例如,这种匹配可识别图像中的特定点是否属于手掌部分、手背、非拇指手指、拇指、指尖和/或指关节。在此分析阶段可使用任何合适的分类法。例如,可使用深度学习模块或神经网络机制作为分类森林的替代或补充。此外,除了分类森林之外,还可使用回归森林(例如,使用霍夫变换(hough transformation)等)。
[0294]
不考虑所选择特征的具体数量以及用于选择那些特征的技术,在框2531之后,方法2500可继续到框2550。在框2550中,处理器然后可基于深度信息来配置手部模型。在一些实施例中,手部模型可反映有关人手部的结构信息,例如将手部的每个骨骼表示为手部的一个部分,并且每个关节定义相邻部分之间可能的角度范围。通过基于所选择特征的深度信息来为手部模型中的每个部分分配位置,可提供有关手部位置的信息以供xr系统的后续处理。
[0295]
在一些实施例中,框2531和2550中的处理可被迭代地执行,其中基于手部模型配置来细化被收集深度信息的特征的选择。手部模型可包括形状约束和运动约束,处理器可被配置为使用这些约束来细化表示手部部分特征的选择。例如,在所选择表示手部部分的特征指示该部分的位置或运动违反手部模型约束时,可选择不同特征来表示该部分。
[0296]
在一些实施例中,可使用光度图像信息作为深度信息的替代或补充来执行手部跟踪过程的连续迭代。在每次迭代时,可更新手部3d模型以反映手部的可能的运动。诸如可根据深度信息、光度信息或手部轨迹的投影来确定可能的运动。如果使用深度信息,则深度信息应用的特征组比用于设置手部模型初始配置的特征组更有限,从而加速了处理。
[0297]
无论3d手部模型如何被更新,更新的模型都可基于光度图像信息来进行细化。例如,该模型可用于渲染手部的虚拟图像,表示预期手部图像如何出现。可将该预期图像与用图像传感器获取的光度图像信息进行比较。可以调整3d模型以减少预期和所获取的光度信息之间的误差。调整后的3d模型然后提供手部位置指示。当此更新过程重复时,3d模型随手部移动而提供手部位置指示。
[0298]
相反,在框2520中的处理确定被跟踪对象处于外围视场中时,来自立体图像分析技术的深度信息不可用。尽管如此,在框2535中的处理中,处理器可选择图像中表示人手部结构的特征。可以启发式地或使用ai技术来识别这些特征,如上文针对框2531中的处理所
描述的。
[0299]
在框2555中,处理器然后可尝试在不利用深度信息的情况下将所选择特征以及那些所选择特征在图像间的运动与手部模型进行匹配。这种匹配可导致比在框2550中生成的信息更不稳健的信息或者可能不太准确的信息。尽管如此,基于单目信息识别的信息仍然可为xr系统操作提供有用的信息。例如,所确定的信息可包括与手势对应的手部运动的识别。该手势识别可使用美国专利公开no.2016/0026253中描述的手部跟踪方法来执行,该专利公开在通过引用并入其与根据xr系统中的手部跟踪以及从图像信息中获取的有关手部的信息的使用结合的教导。
[0300]
在框2550中将图像部分与手部模型部分匹配之后,方法2500可在框2599中结束。然而应当理解,对象跟踪可在xr系统操作期间连续发生或在对象处于一个或多个相机视场中的时间间隔期间发生。因此,在完成方法2500的一次迭代之后,可执行另一次迭代,并且该过程可在执行对象跟踪的时间间隔内执行。在一些实施例中,在一次迭代中使用的信息可在后续迭代中使用。在各种实施例中,例如,处理器可被配置为基于先前检测到的手部位置来估计用户手部的更新位置。例如,处理器可基于用户的手的先前位置和速度来估计用户手部接下来会在哪里。此类信息可被用于缩减为了检测对象位置而被处理的图像信息量,如上文结合分块跟踪技术所描述的。
[0301]
已经如此描述了一些实施例的几个方面,应当理解,本领域技术人员将容易想到各种改变、修改和改进。
[0302]
作为一个示例,结合增强(ar)环境描述了实施例。应当理解,本文描述的一些或全部技术可应用于mr环境或更一般地应用于其他xr环境。
[0303]
此外,描述了图像阵列的实施例,其中一个分块被应用于图像阵列以控制有关一个可移动对象的图像信息的选择性输出。应当理解,在物理环境中可以有一个以上的可移动对象。此外,在一些实施例中,需要选择性地获取可移动对象所在区域以外区域中的图像信息的频繁更新。例如,可设置分块以选择性地获取有关待渲染虚拟对象的物理世界区域的图像信息。因此,一些图像传感器能够选择性地提供两个或更多个分块的信息,其中带或不带跟踪那些分块轨迹的电路。
[0304]
作为又一示例,图像阵列被描述为输出与入射光幅度有关的信息。幅度可以是跨光频率光谱的功率的表示。该光谱可以在对应于任何颜色可见光的频率处相对宽泛地捕获能量,诸如在黑白相机中。或者,该光谱可以是较窄的,对应于单颜色可见光。为此,可使用将入射在图像阵列上的光限制为特定颜色光的滤波器。在像素被限制为接收特定颜色光的情况下,不同像素被限制到不同颜色。在此类实施例中,可以一起处理对相同颜色敏感的像素的输出。
[0305]
描述了用于在图像阵列中设置分块然后更新感兴趣对象的分块的过程。例如,当每个可移动对象进入图像传感器视场时,可对其执行该过程。在感兴趣对象离开视场时,可清除分块,从而不再跟踪分块或因此输出分块的图像信息。应当理解,分块被时时更新,诸如通过确定与分块相关联对象的位置并将该分块位置设置为对应于该对象位置。可对所计算的分块轨迹执行类似的调整。对象运动矢量和/或图像传感器的运动矢量可根据其他传感器信息计算,并用于重置被编程到图像传感器或其他部件中的值,以进行分块跟踪。
[0306]
例如,可通过分析广角摄像机或具有立体信息的摄像机对的输出来确定对象的位
置、运动和其他特性。来自这些其他传感器的数据可用于更新世界模型。结合更新,可更新分块位置和/或轨迹信息。此类更新可以比由分块跟踪引擎更新分块位置低的速率的发生。例如,分块跟踪引擎可以每秒大约1至30次之间的速率计算新分块位置。基于其他信息对分块位置的更新可以较慢速率发生,诸如以每秒一次到大约每30秒一次的间隔。
[0307]
作为变体的又一示例,图2示出了具有与远程处理模块分离的头戴式显示器的系统。本文所述的图像传感器可导致紧凑的系统设计。这种传感器生成的数据较少,进而导致较低的处理要求和较低的功耗。对处理和功率的需求减少导致诸如通过电池尺寸减小产生的尺寸减小。因此,在一些实施例中,整个增强现实系统可集成在不带远程处理模块的头戴式显示器中。头戴式显示器可被配置为一副护目镜,或者如图2所示,大小和形状类似一副眼镜。
[0308]
此外,描述了图像传感器响应可见光的实施例。应当理解,本文描述的技术不限于用可见光操作。它们可以替代地或附加地响应ir光或光谱其他部分中的“光”,诸如uv。此外,本文所述的图像传感器响应自然发生的光。替代地或附加地,传感器可用于具有照明源的系统。在一些实施例中,图像传感器的灵敏度可被调谐到照明源发光所在的光谱部分。
[0309]
作为另一示例,描述了通过指定要被执行图像分析的“分块”来指定图像阵列的所选择区域,图像传感器应输出所选择区域的变化。然而应当理解,分块和所选择区域可具有不同大小。例如,所选择区域可大于分块以说明图像中被跟踪对象的运动偏离预测轨迹和/或允许围绕分块边缘进行处理。
[0310]
这些改变、修改和改进旨在成为本公开的一部分,并且旨在位于本公开的精神和范围内。
[0311]
例如,在一些实施例中,图像传感器像素滤波器102可以不是单独部件,而是被并入像素子阵列100的其他部件之一中。例如,在包括具有到达角到

位置强度转换器和滤色器两者的单个像素的实施例中,到达角

强度转换器可以是由过滤特定波长的材料形成的透射式光学部件。
[0312]
根据一些实施例,提供了一种可穿戴显示系统,其中该可穿戴显示系统可包括:框架;两个第一相机,其被机械地耦合到框架以提供与两个相机相关联的中央视场和与该两个第一相机中的第一第一相机相关联的第一外围视场;彩色相机,其被机械地耦合到框架以提供与中央视场重叠的彩色视场;以及处理器,其被可操作地耦合到两个第一相机和彩色相机,并被配置为使用根据由两个第一相机获取的第一图像立体地确定的深度信息,跟踪中央视场中的手部运动;使用由两个第一相机中的第一第一相机获取的一个或多个第二图像,跟踪第一外围视场中的手部运动;使用两个第一相机和彩色相机,创建世界模型;以及使用两个第一相机来更新世界模型。
[0313]
在一些实施例中,两个第一相机可配置有全局快门。在一些实施例中,可穿戴显示系统还可包括硬件加速器,用于使用由两个第一相机获取的第一灰度图像来立体地确定深度信息。在一些实施例中,两个第一相机可具有等距透镜。在一些实施例中,两个第一相机中的每一个可具有90度至175度之间的水平视场。在一些实施例中,中央视场可具有40度至80度之间的角度范围。在一些实施例中,处理器还可被配置为执行校准例程以确定两个第一相机的相对取向。
[0314]
在一些实施例中,校准例程可包括:识别由两个第一相机中的每一者获取的图像
中的对应特征;计算用于两个第一相机的多个估计相对取向中的每一者的误差,其中此误差指示如出现在由两个第一相机中的每一者获取的图像中的对应特征与基于两个第一相机的估计相对取向来计算的已识别特征的估计之间的差异;以及基于所计算的误差,选择多个估计相对取向中的一个相对取向作为确定的相对取向。
[0315]
在一些实施例中,可穿戴显示系统还可包括:第一惯性测量单元,其被机械地耦合到两个第一相机中的第一第一相机;以及第二惯性测量单元,其被机械地耦合到两个第一相机中的第二第一相机,并且校准例程还可包括部分地基于第一惯性测量单元和第二惯性测量单元的输出来选择多个估计相对取向中的至少一者。
[0316]
在一些实施例中,处理器还可被配置为在穿戴可穿戴显示系统的同时重复执行校准例程,使得校准例程补偿可穿戴显示系统使用期间的框架变形。在一些实施例中,校准例程可以补偿由温度变化引起的框架变形。在一些实施例中,校准例程可以补偿由机械应变引起的框架变形。在一些实施例中,两个第一相机可被配置为获取灰度图像。在一些实施例中,可穿戴显示系统可具有一个彩色相机。在一些实施例中,处理器可被机械地耦合到框架。在一些实施例中,显示设备可被机械地耦合到框架,其中该显示设备包括处理器。在一些实施例中,本地数据处理模块可包括处理器,本地数据处理模块可通过通信链路被可操作地耦合到显示设备,并且该显示设备可被机械地耦合到框架。在一些实施例中,第一图像可包括一个或多个第二图像。
[0317]
根据一些实施例,提供了一种可穿戴显示系统,其中可穿戴显示系统可包括:框架;两个第一相机,其被机械地耦合到框架;彩色相机,其机械地耦合到框架;以及处理器,其被可操作地耦合到两个第一相机和彩色相机并被配置为:使用由两个第一相机获取的第一灰度图像和由彩色相机获取的一个或多个彩色图像来创建世界模型;使用由两个第一相机获取的第二灰度图像来更新世界模型;确定世界模型的一部分包括不完整深度信息;以及用针对包括不完整深度信息的世界模型的一部分的附加深度信息来更新世界模型。
[0318]
在一些实施例中,可穿戴显示系统还可包括一个或多个发射器,可使用一个或多个发射器来获取附加深度信息,并且处理器还可被配置为:响应于确定世界模型的一部分包括不完整深度信息而启用一个或多个发射器。在一些实施例中,一个或多个发射器可包括红外发射器,并且两个第一相机可包括被配置为使红外光通过的滤波器。在一些实施例中,红外发射器可以发射波长在900纳米至1微米之间的光。
[0319]
在一些实施例中,处理器还可被配置为响应于确定世界模型的一部分包括不完整深度信息而检测物理世界中的平坦表面,并且可基于所检测到的平坦表面来估计附加深度信息。在一些实施例中,处理器还可被配置为检测包括不完整深度信息的世界模型的一部分中的对象,识别与所检测到的对象相对应的对象模板,基于更新的世界模型中的对象的图像,配置对象模板的实例,并基于所配置的对象模板的实例来估计附加深度信息。在一些实施例中,两个第一相机可被机械地耦合到框架以提供与这两个第一相机相关联的中央视场和与这两个第一相机中的第一第一相机相关联的外围视场,并且处理器可被进一步配置为使用根据由两个第一相机而获取的图像确定的深度信息,跟踪中央视场中的手部运动。
[0320]
在一些实施例中,使用深度信息跟踪中央视场中的手部运动可包括:在中央视场中选择点;使用由两个第一相机获取的图像,立体地确定所选择的点的深度信息;使用立体地确定的深度信息生成深度图;以及将深度图的一部分与包括形状约束和运动约束两者的
手部模型的对应部分进行匹配。在一些实施例中,处理器还可被配置为通过将图像的一部分与包括形状约束和运动约束两者的手部模型的对应部分进行匹配,使用由两个第一相机中的第一第一相机获取的一个或多个图像,跟踪外围视场中的手部运动。在一些实施例中,处理器可被机械地耦合到框架。在一些实施例中,机械地耦合到框架的显示设备可包括处理器。在一些实施例中,本地数据处理模块可包括处理器,本地数据处理模块可通过通信链路被可操作地耦合到显示设备,并且显示设备可被机械地耦合到框架。
[0321]
根据一些实施例,提供了一种可穿戴显示系统,其中可穿戴显示系统可包括:框架;两个灰度相机,其被机械地耦合到框架,其中两个灰度相机包括具有第一视场的第一灰度相机和具有第二视场的第二灰度相机,并且第一灰度相机和第二灰度相机被定位以便提供:第一视场与第二视场重叠的中央视场;以及在第一视场内且在第二视场外部的第一外围视场;以及彩色相机,其被机械地耦合到框架以遍提供与中央视场重叠的彩色视场。
[0322]
在一些实施例中,两个灰度可具有全局快门。在一些实施例中,彩色相机可具有滚动快门。在一些实施例中,可穿戴显示系统可包括被机械地耦合到框架的两个惯性测量单元,以及被机械地耦合到框架的一个或多个发射器。在一些实施例中,一个或多个发射器可以是红外发射器,并且两个灰度相机可包括被配置为使红外光通过的滤波器。在一些实施例中,红外发射器可以发射波长在900纳米至1微米之间的光。在一些实施例中,一个或多个发射器的照明场可与中央视场重叠。在一些实施例中,两个惯性测量单元中的第一惯性测量单元可被机械地耦合到第一灰度相机,两个惯性测量单元中的第二惯性测量单元可被机械地耦合到两个灰度相机中的第二灰度相机。在一些实施例中,两个惯性测量单元可被配置为测量倾角、加速度、速度或其任何组合。在一些实施例中,两个灰度相机可具有90度至175度之间的水平视场。在一些实施例中,中央视场可具有40度至80度之间的角度范围。
[0323]
此外,尽管指出了本公开的优点,但应当理解,并非本公开的每个实施例都包括每个描述的优点。一些实施例可能不实现这里描述为有利的任何特征。因此,前述描述和附图仅作为示例。
[0324]
本公开的上述实施例可以多种方式中的任一种实现。例如,可使用硬件、软件或其组合来实现实施例。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论这些处理器或处理器集合是在单个计算机中提供还是分布在多个计算机中。这些处理器可被实现为集成电路,其中在集成电路部件中具有一个或多个处理器,包括本领域已知的市售集成电路组件,例如cpu芯片、gpu芯片、微处理器、微控制器或协处理器。在一些实施例中,处理器可以在定制电路中实现,例如asic,或通过配置可编程逻辑设备产生的半定制电路。作为又一替代,处理器可以是较大电路或半导体设备的一部分,无论是市售的、半定制的还是定制的。作为具体示例,一些市售微处理器具有多个内核,使得这些内核之一或其子集可以构成处理器。但是,可以使用任何合适格式的电路来实现处理器。
[0325]
此外,应当理解,计算机可以以多种形式中的任何一种来体现,例如机架安装式计算机、桌面计算机、膝上型计算机或平板计算机。此外,计算机可以被嵌入在通常不被视为计算机但具有适当处理能力的设备中,其中包括个人数字助理(pda)、智能电话或任何其他适当的便携式或固定电子设备。
[0326]
此外,计算机可能具有一个或多个输入和输出设备。除其他外,这些设备可用于呈现用户界面。可用于提供用户界面的输出设备的示例包括用于输出的视觉呈现的打印机或
显示屏和用于输出的可听呈现的扬声器或其他声音生成设备。可用于用户界面的输入设备的示例包括键盘和指点设备,诸如鼠标、触摸板和数字化平板电脑。作为另一示例,计算机可通过语音识别或其他可听格式接收输入信息。在所示实施例中,输入/输出设备被示出为是与计算设备物理分离的。然而,在一些实施例中,输入和/或输出设备可以与计算设备的处理器或其他元件物理地集成到同一单元中。例如,键盘可能被实现为触摸屏上的软键盘。在一些实施例中,输入/输出设备可以与计算设备完全断开,并且通过无线连接在功能上集成。
[0327]
此类计算机可通过一个或多个网络以任何合适的形式互连,包括局域网或广域网,诸如企业网络或互联网。这些网络可以基于任何合适的技术并且可以根据任何合适的协议操作并且可包括无线网络、有线网络或光纤网络。
[0328]
此外,本文概述的各种方法或过程可被编码为可在一个或多个处理器上执行的软件,这些处理器采用多种操作系统或平台中的任一者。此外,此类软件可以使用多种合适的编程语言和/或编程或脚本工具中的任何一种来编写,并且还可以编译为在框架或虚拟机上执行的可执行机器语言编码或中间编码。
[0329]
在这方面,本公开可以体现为计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩盘(cd)、光盘、数字视频盘(dvd)、磁带、闪存、现场可编程门阵列或其他半导体设备中的电路配置或其他有形计算机存储介质)用一个或多个程序编码,在在一个或多个计算机或其他处理器上执行时,这些程序执行实现上述公开的各种实施例的方法。如从上述示例中显而易见的,计算机可读存储介质可以将信息保留足够长的时间以提供非暂时性形式的计算机可执行指令。这样的计算机可读存储介质或媒介可以是可运输的,以使得存储在其上的一个或多个程序可以加载到一个或多个不同的计算机或其他处理器上以实现如上所述的本公开的各个方面。如本文所用,术语“计算机可读存储介质”仅涵盖可被视为制造品(即,制品)或机器的计算机可读介质。在一些实施例中,本公开可以体现为不同于计算机可读存储介质的计算机可读介质,例如传播信号。
[0330]
术语“程序”或“软件”在本文中以一般意义使用,指示任何类型的计算机编码或计算机可执行指令集,它们可用于对计算机或其他处理器进行编程以实现上述本公开的各个方面。此外,应当理解,根据该实施例的一个方面,在执行本公开的方法时,一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化方式分布在多个不同的计算机或处理器上来实现本公开的各个方面。
[0331]
计算机可执行指令可以是多种形式,例如程序模块,由一个或多个计算机或其他设备执行。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。通常,程序模块的功能可以根据需要在各种实施例中被组合或分布。
[0332]
此外,数据结构可以以任何合适的形式被存储在计算机可读媒介中。为简单起见,可以将数据结构显示为具有通过数据结构中的位置相关的字段。这种关系同样可通过为字段分配存储来实现,该存储具有在计算机可读介质中传达字段之间的关系的位置。然而,可以使用任何合适的机制来在数据结构的字段中的信息之间建立关系,包括通过使用指针、标签或在数据元素之间建立关系的其他机制。
[0333]
本公开的各个方面可以单独使用、组合使用或以在上文描述的实施例中未具体讨论的各种布置使用,因此其应用不限于在上面的描述中阐述或在附图中示出的部件的细节
和布置。例如,一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面组合。
[0334]
此外,本公开可以体现为一种方法,已经提供了该方法的示例。作为该方法的一部分执行的动作可以以任何合适的方式进行排序。因此,实施例可以被构造为以不同于所示出的顺序执行动作,这可以包括同时执行一些动作,即使这些动作在说明性实施例中被示为顺序动作。
[0335]
在权利要求中使用诸如“第一”、“第二”、“第三”等顺序术语来修饰权利要求要素本身并不意味着一个权利要求要素相对于另一权利要求要素的任何优先级、优先权或顺序,也不意味着执行方法中的动作的时间顺序,而是仅用作标签以将具有特定名称的一个权利要求要素与具有相同名称的另一要素(倘若不使用顺序术语)区分开来以区分权利要求要素。
[0336]
此外,此处使用的措辞和术语是为了描述的目的,不应被视为限制。在本文“包括”、“包含”或“具有”、“含有”、“涉及”及其变体的使用意在涵盖其后列出的项目及其等价物以及附加项目。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1