CN113711587A - 具有无源深度提取的轻型交叉显示设备 - Google Patents

具有无源深度提取的轻型交叉显示设备 Download PDF

Info

Publication number
CN113711587A
CN113711587A CN202080026110.9A CN202080026110A CN113711587A CN 113711587 A CN113711587 A CN 113711587A CN 202080026110 A CN202080026110 A CN 202080026110A CN 113711587 A CN113711587 A CN 113711587A
Authority
CN
China
Prior art keywords
camera
image
view
information
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080026110.9A
Other languages
English (en)
Inventor
M·G·扎勒特
A·伊利克
M·A·格拉纳多斯维拉斯奎兹
J·V·戈麦斯冈萨雷斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN113711587A publication Critical patent/CN113711587A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/50Control of the SSIS exposure
    • H04N25/53Control of the integration time
    • H04N25/531Control of the integration time by controlling rolling shutters in CMOS SSIS
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0075Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for altering, e.g. increasing, the depth of field or depth of focus
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/957Light-field or plenoptic cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/46Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by combining or binning pixels
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0123Head-up displays characterised by optical features comprising devices increasing the field of view
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0132Head-up displays characterised by optical features comprising binocular systems
    • G02B2027/0134Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Abstract

公开了一种包括多个相机和处理器的可穿戴显示系统。可以布置灰度相机和彩色相机以提供与两个相机相关联的中心视场和与两个相机中的一个相机相关联的外围视场。两个相机中的一个或多个可以是全光相机。可穿戴显示系统可以使用至少一个全光相机获取光场信息,并使用第一光场信息和从灰度相机和彩色相机获取的图像立体地确定的第一深度信息来创建世界模型。可穿戴显示系统可以使用至少一个全光相机和世界模型来跟踪头部姿势。当对象满足深度标准时,可穿戴显示系统可以使用一个或两个全光相机跟踪中心视场和外围视场中的对象。

Description

具有无源深度提取的轻型交叉显示设备
技术领域
本申请总体上涉及一种包括至少一个全光相机的可穿戴交叉现实显示系统。
背景技术
计算机可以控制人类用户界面以创建X Reality(X现实,XR或交叉现实)环境,在该环境中,由计算机生成用户所感知的一些或全部XR环境。这些XR环境可以是虚拟现实(VR)、增强现实(AR)、或混合现实(MR)环境,其中的一些或所有XR环境可以由计算机部分使用描述环境的数据来生成。例如,该数据可以描述虚拟对象,该虚拟对象可以以用户的感觉或感知为物理世界的一部分的方式渲染,以使得用户可以与虚拟对象进行交互。由于数据是通过用户接口设备(诸如例如头戴式显示设备)渲染和呈现的,因此用户可以体验这些虚拟对象。数据可以显示给用户看,或者可以控制被播放给用户听的音频,或者可以控制触觉(或触知)界面,从而使用户能够体验到用户感觉或感知为感觉到虚拟对象的触摸感觉。
XR系统可以被用于跨科学可视化、医学培训、工程设计和原型、远程操纵和远程呈现以及个人娱乐领域的许多应用。与VR相比,AR和MR包括与物理世界的真实对象相关的一个或多个虚拟对象。虚拟对象与真实对象交互的体验显著地增强了用户使用XR系统的乐趣,并且也为呈现有关如何改变物理世界的现实且易于理解的信息的各种应用打开了大门。
发明内容
本申请的方面涉及一种包括至少一个全光相机的可穿戴交叉现实显示系统。在此描述的技术可以一起使用、单独使用、或以任何合适的组合使用。
根据一些实施例,提供了一种可穿戴显示系统,所述可穿戴显示系统包括:头戴式装置,包括一个具有全局快门的第一相机和一个具有滚动快门的第二相机,所述第一相机和所述第二相机被定位为提供中心视场的重叠视图;以及处理器,其被可操作地耦合到所述第一相机和所述第二相机,并被配置为:执行补偿例程以针对滚动快门图像失真来调整使用所述第二相机获取的图像;以及部分地使用根据使用所述第一相机获取的图像和经调整的图像立体地确定的深度信息来创建世界模型。
在一些实施例中,所述第一相机和所述第二相机可以不对称地向内成角度。
在一些实施例中,所述第一相机的视场可以大于所述第二相机的视场。
在一些实施例中,所述第一相机可以向内成20度到40度之间的角度,并且所述第二相机向内成1度到20度之间的角度。
在一些实施例中,所述第一相机可以具有每像素1弧分到5弧分之间的角像素分辨率。
在一些实施例中,所述处理器还可以被配置为执行尺寸缩小例程以调整使用所述第二相机获取的图像。
在一些实施例中,所述尺寸缩小例程可以包括通过分箱由所述第二相机获取的图像中的像素来生成尺寸缩小的图像。
在一些实施例中,所述补偿例程可以包括:将使用所述第一相机获取的第一图像与使用所述第二相机获取的第二图像进行比较以检测所述第二图像的至少一部分的偏斜;以及调整所述第二图像的所述至少一部分以补偿检测到的偏斜。
在一些实施例中,将使用所述第一相机获取的第一图像与使用所述第二相机获取的第二图像进行比较可以包括:在由所述第一相机获取的第一图像与由所述第二相机获取的第二图像之间执行逐行比较。
在一些实施例中,所述处理器还可以被配置为:基于功率节约标准或世界模型完整性标准中的至少一者,禁用所述第二相机或调制所述第二相机的帧速率。
在一些实施例中,所述第一相机或所述第二相机中的至少一个可以包括全光相机;以及所述处理器还可以被配置为:部分地使用由所述第一相机或所述第二相机中的至少一个获取的光场信息来创建世界模型。
在一些实施例中,所述第一相机可以包括全光相机;以及所述处理器还可以被配置为:使用使用所述全光相机获取的深度信息来执行世界模型更新例程。
在一些实施例中,所述处理器可以被机械耦合到所述头戴式装置。
在一些实施例中,所述头戴式装置可以包括被机械耦合到所述处理器的显示设备。
在一些实施例中,本地数据处理模块可以包括所述处理器,所述本地数据处理模块通过通信链路被可操作地耦合到显示设备,并且其中,所述头戴式装置包括所述显示设备。
根据一些实施例,可以提供一种使用可穿戴显示系统来创建世界模型的方法,所述可穿戴显示系统包括:头戴式装置,包括一个具有全局快门的第一相机和一个具有滚动快门的第二相机,所述第一相机和所述第二相机被定位为提供中心视场的重叠视图;以及处理器,被可操作地耦合到所述第一相机和所述第二相机;其中,所述方法包括使用所述处理器来进行:执行补偿例程以针对滚动快门图像失真来调整使用所述第二相机获取的图像;以及部分地使用根据使用所述第一相机获取的图像和经调整的图像立体地确定的深度信息来创建所述世界模型。
根据一些实施例,可以提供一种可穿戴显示系统,所述可穿戴显示系统包括:头戴式装置,具有被定位为提供中心视场的重叠视图的灰度相机和彩色相机;以及处理器,被可操作地耦合到所述灰度相机和所述彩色相机并被配置为:使用根据由所述灰度相机和所述彩色相机获取的图像立体地确定的第一深度信息来创建世界模型;以及使用所述灰度相机和所述世界模型来跟踪头部姿势。
根据一些实施例,可以提供一种使用可穿戴显示系统跟踪头部姿势的方法,所述可穿戴显示系统包括:头戴式装置,具有被定位为提供中心视场的重叠视图的灰度相机和彩色相机;以及处理器,被可操作地耦合到所述灰度相机和所述彩色相机;其中,所述方法包括使用所述处理器来进行:使用根据由所述灰度相机和所述彩色相机获取的图像立体地确定的第一深度信息来创建世界模型;以及使用所述灰度相机和所述世界模型来跟踪头部姿势。
根据一些实施例,可以提供一种可穿戴显示系统,所述可穿戴显示系统包括:框架;被机械耦合到所述框架的第一相机和被机械耦合到所述框架的第二相机,其中,所述第一相机和所述第二相机被定位为提供与所述第一相机和所述第二相机两者相关联的中心视场,并且其中,所述第一相机和所述第二相机中的至少一个包括全光相机;以及处理器,被可操作地耦合到所述第一相机和所述第二相机,并被配置为:确定对象是否在所述中心视场内;在所述对象在所述中心视场内时,确定所述对象是否满足深度标准;在被跟踪的对象在所述中心视场内且不满足所述深度标准时,使用根据由所述第一相机和所述第二相机获取的图像立体地确定的深度信息来跟踪所述对象;以及在被跟踪的对象在所述中心视场内并且满足所述深度标准时,使用根据由所述第一相机或所述第二相机中的一个相机获取的光场信息所确定的深度信息来跟踪所述对象。
根据一些实施例,提供一种使用可穿戴显示系统跟踪对象的方法,所述可穿戴显示系统包括:框架;被机械耦合到所述框架的第一相机和被机械耦合到所述框架的第二相机,其中,所述第一相机和所述第二相机被定位为提供与所述第一相机和所述第二相机两者相关联的中心视场,并且其中,所述第一相机和所述第二相机中的至少一个相机包括全光相机;以及处理器,被可操作地耦合到所述第一相机和所述第二相机;其中,所述方法包括使用所述处理器来进行:确定对象是否在所述中心视场内;在所述对象在所述中心视场内时,确定所述对象是否满足深度标准;在被跟踪的对象在所述中心视场内且不满足所述深度标准时,使用根据由所述第一相机和所述第二相机获取的图像立体地确定的深度信息来跟踪所述对象;以及在被跟踪的对象在所述中心视场内并且满足所述深度标准时,使用根据由所述第一相机或所述第二相机中的一个相机获取的光场信息所确定的深度信息来跟踪所述对象。
根据一些实施例,可以提供一种可穿戴显示系统,所述可穿戴显示系统包括:框架;被机械地耦合到所述框架的两个相机,其中,所述两个相机包括:具有全局快门的第一相机,其具有第一视场;以及具有滚动快门的第二相机,其具有第二视场;其中,所述第一相机和所述第二相机被定位为提供:其中所述第一视场与所述第二视场重叠的中心视场;以及所述中心视场外部的外围视场;以及处理器,被可操作地耦合到所述第一相机和所述第二相机。
前述概述是通过说明的方式提供的,并非旨在进行限制。
附图说明
附图并非旨在按比例绘制。在附图中,在各个附图中示出的每个相同或几乎相同的部件由相似的数字表示。为了清楚起见,并非每个部件都可以在每个附图中标记。在附图中:
图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体验的情况下降低功耗并延长电池寿命。
如本文所述的技术可以与多种类型的设备一起或单独地用于多种类型的场景。图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可以包括一个或多个动态视觉传感器(DVS),其像素可以异步地响应超过阈值的光强度的相对变化。
在一些实施例中,基于飞行时间信息,观看光学组件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技术生成的输出可以使用如上结合AER 418描述的表示输出为AER1418。表示强度值的输出可以通过这里指定为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/H 1532可以被实现为例如一个或多个电容器和一个或多个开关。然而,应当理解,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和被分析光的波长λ确定,并由下式给出:
Figure BDA0003286355640000411
如图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光的飞行时间。第三种模式可以使用来自两个独立的图像传感器的立体测量来确定对象的距离。当对象离传感器很远时,这种立体测量可以比使用具有到达角至强度转换器的像素确定的光到达角更准确。其他适当的确定深度的方法可以用于一种或多种附加的深度确定操作模式。
在一些实施例中,使用无源深度确定可能是优选的,因为这样的技术使用较少的功率。然而,系统可以确定它在特定条件下应该以有源模式运行。例如,如果传感器检测到的可见光强度低于阈值,则可能太暗而无法准确执行无源深度确定。作为另一个示例,对象可能太远以致于无源深度确定不准确。因此,系统可以被编程以选择在第三模式下运行,其中深度是基于使用两个空间分离的图像传感器的场景的立体测量来确定的。作为另一示例,基于使用具有到达角至强度转换器的像素而确定的光的到达角来确定对象的深度在图像传感器的外围可能是不准确的。因此,如果对象正被图像传感器外围附近的像素检测到,则系统可以选择在第二模式下运行,使用有源深度确定。
虽然上述图像传感器的实施例使用具有堆叠TDM的单独像素单元来确定入射到像素单元上的光的到达角,但是其他实施例可以使用成组的所有像素上具有单个TDM的多个像素单元来确定到达角信息。TDM可以在传感器阵列上投射光图案,该图案取决于入射光的到达角度。与一个TDM相关联的多个光电检测器可以更准确地检测该图案,因为多个光电检测器中的每个光电检测器位于图像平面(图像平面包括感测光的光电检测器)中的不同位置。每个光电检测器感测到的相对强度可以指示入射光的到达角。
图19A是根据一些实施例的与单个透射衍射掩模(TDM)相关联的多个光电检测器(以光电检测器阵列120的形式,其可以是图像传感器的像素单元的子阵列)的俯视图示例。图19B是与图19A相同的光电检测器阵列的沿图19A的线A的截面图。在所示示例中,光电检测器阵列120包括16个单独的光电检测器121,其可以在图像传感器的像素单元内。光电检测器阵列120包括设置在光电检测器上方的TDM 123。应当理解,为了清楚和简单起见,每组像素单元用四个像素示出(例如形成四像素乘四像素网格)。一些实施例可以包括多于四个像素单元。例如,每组中可以包括16个像素单元、64个像素单元或任何其他数量的像素。
TDM 123位于距光电检测器121的距离x处。在一些实施例中,TDM 123形成在介电层125的顶表面上,如图19B所示。例如,如图所示,TDM 123可以由脊形成,或者由蚀刻到介电层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技术进行操作。在这样的情景中,事件可以指示对象深度的变化,如像素单元所指示的。图像阵列输出的事件可以指示检测到深度变化的像素单元。替代地或附加地,该事件可以包括该像素单元的深度信息的值。使用这种配置的图像传感器,处理器可以以非常高的速率获取深度信息更新,从而提供高时间分辨率。
在又一些实施例中,图像传感器可以被配置为在全帧或DVS模式下运行。在这样的实施例中,处理来自图像传感器的图像信息的处理器可以基于处理器执行的功能以编程方式控制图像传感器的操作模式。例如,在执行涉及跟踪对象的功能时,处理器可以配置图像传感器以将图像信息输出为DVS事件。另一方面,在处理更新世界重建时,处理器可以配置图像传感器以输出全帧深度信息。
可穿戴配置
XR系统中可以使用多个图像传感器。图像传感器可以与光学部件(例如,透镜)和控制电路相结合以创建相机。那些图像传感器可以使用上述技术中的一种或多种来获取成像信息,例如灰度成像、彩色成像、全局快门、DVS技术、全光像素单元和/或动态分块。不管所使用的成像技术如何,所得到的相机都可以安装到支撑构件上以形成头戴式装置,该头戴式装置可以包括或连接到处理器。
图21是与所公开的实施例一致的可穿戴显示系统的头戴式装置2100的示意图。如图21所示,头戴式装置2100可以包括显示设备,该显示设备包括单目镜2110a和单目镜2110b,单目镜2110a和单目镜2110b可以是光学目镜或被配置为向用户的眼睛传输和/或显示视觉信息的显示器。头戴式装置2100还可包括框架2101,框架2101可以类似于上面关于图3B所描述的框架64。头戴式装置2100还可以包括两个相机(相机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系统可以支持高精度立体图像分析,这需要知道相机之间的分离,使用可以在佩戴头戴式装置时重复的校准程序,以补偿因使用中的头戴式装置的弯曲而导致的任何不准确性。在一些实施例中,轻型头戴式装置可以包括电池组。电池组可以包括一个或多个电池,这些电池可以是可充电的或不可充电的。电池组可以内置在轻型框架中,也可以是可拆卸的。电池组和轻型框架可以形成为单个单元,或者电池组可以形成为与轻型框架分离的单元。
相机2120可以包括图像传感器和透镜。图像传感器可以被配置为产生灰度图像。图像传感器可以被配置为获取大小在1百万像素和4百万像素之间的图像。例如,图像传感器可以被配置为以1016行的水平分辨率和1016行的垂直分辨率获取图像。图像传感器可以被配置为重复或周期性地获取图像。例如,图像传感器可以被配置为以30Hz和120Hz之间的频率(例如,60Hz)获取图像。图像传感器可以是CMOS图像传感器。图像传感器可以配置有全局快门。如上所述,关于图14和图15,全局快门可以使每个像素能够同时获取强度测量结果。在一些实施例中,相机2120可以被配置为全光相机。例如,如上面关于图3B和图15至图20C所讨论的,可以将部件放置在通向图像传感器的一个或多个像素单元的光路中,使得这些像素单元产生具有指示入射在像素单元上的光的到达角的强度的输出。在这样的实施例中,图像传感器可以无源地获取深度信息。适合放置在光路中的部件的一个示例是TDM滤光器。处理器可以被配置为使用到达角信息来计算到被成像对象的距离。例如,到达角信息可以转换为距离信息,指示距光从其发生反射的对象的距离。在一些实施例中,被配置为提供到达角信息的像素单元可以散布有捕获一种或多种颜色的光强度的像素单元。结果,到达角度信息以及因此距离信息可以与关于对象的其他图像信息相组合。在一些实施例中,相机2120可以被配置为提供分块跟踪功能。头戴式装置2100的处理器可以被配置为向相机2120提供指令以将图像捕获限制为像素子集。在一些实施例中,图像传感器可以是IMX418图像传感器或等同图像传感器。
相机2120可以被配置为具有宽视场,与所公开的实施例一致。例如,相机2120可以包括等距透镜(例如,鱼眼透镜)。相机2120可以在头戴式装置2100上向内成角度。例如,通过视场2121、即与相机2120相关联的视场的中心的垂直平面,可以与通过头戴式装置2100中线的垂直平面相交并形成角度。这个角度可以在1到40度之间。在一些实施例中,视场2121可以具有水平视场和垂直视场。水平视场的范围可以在90度到175度之间,而垂直视场的范围可以在70度到125度之间。在一些实施例中,相机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附近的发射器。相机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)获取图像。
图像传感器可以是CMOS图像传感器。图像传感器可以配置有滚动快门。如上面关于图14和图15所讨论的,滚动快门可以迭代地读取图像传感器中的像素子集,使得不同子集中的像素反映在不同时间收集的光强度数据。例如,图像传感器可以被配置为在第一时间读取图像传感器中的第一行像素,并且在稍后的某个时间读取图像传感器中的第二行像素。在一些实施例中,相机2140可以被配置为全光相机。例如,如上文关于图3B和图15至图20C所讨论的,可以将部件放置在通向图像传感器的一个或多个像素单元的光路中,使得这些像素单元产生具有指示入射在像素单元上的光的到达角的强度的输出。在这样的实施例中,图像传感器可以无源地获取深度信息。适合放置在光路中的部件的一个示例是透射衍射掩模(TDM)滤光器。处理器可以被配置为使用该到达角信息来计算到被成像对象的距离。例如,到达角信息可以转换为距离信息,指示距光从其发生反射的对象的距离。在一些实施例中,被配置为提供到达角信息的像素单元可以散布有捕获一种或多种颜色的光强度的像素单元。结果,到达角信息以及因此距离信息可以与关于对象的其他图像信息组合。在一些实施例中,相机2140可以被配置为提供分块跟踪功能。头戴式装置2100的处理器可以被配置为向相机2140提供指令以将图像捕获限制为像素子集。在一些实施例中,传感器可以是CMOS传感器。在一些实施例中,图像传感器可以是IMX380图像传感器或等同图像传感器。
相机2140可以定位在头戴式装置2100的与相机2120相对的一侧上。例如,如图21所示,当相机2140与单目镜2110a位于头戴式装置2100的同一侧时,相机2120可以与单目镜2110b位于头戴式装置的同一侧。相机2140可以在头戴式装置2100上向内成角度。例如,通过视场2141、即与相机2140相关联的视场的中心的垂直平面,可以与通过头戴式装置2100中线的垂直平面相交并形成角度。这个角度可以在1到20度之间。相机2140的视场2141可以具有水平视场和垂直视场。水平视场的范围可以在75度与125度之间,而垂直视场的范围可以在60度与125度之间。
相机2140和相机2120可以朝向头戴式装置2100的中线向内不对称地成角度。相机2140的角度可以朝向头戴式装置2100的中线向内在1度和20度之间。相机2120的角度可以朝向头戴式装置2100的中线向内在20度到40度之间,并且可以不同于相机2140的角度。视场2120的角度范围可以超过视场2141的角度范围。
相机2120和相机2140可以被配置为提供中心视场2150的重叠视图。中心视场2150的角度范围可以在40度与120度之间。例如,中心视场2150的角度范围可以是大约60度(例如,60±6度)。中心视场2150可以是不对称的。例如,中心视场2150可以进一步朝向包括相机2140的头戴式装置2100的一侧延伸,如图21所示。除了中心视场2150之外,相机2120和相机2140可以被定位以提供至少两个外围视场。外围视场2160a可以与相机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可以完全落在视场2120内。相反,外围视场2160a可以在头戴式装置2100的0.25米内延伸。在这样的配置中,相机2120的更宽的视场和更大的向内角度可以确保,即使在头戴式装置2100的0.25米内,视场2120也至少部分落在视场2140之外。
IMU 2170a和/或IMU 2170b可以被配置为向可穿戴显示系统提供加速度和/或速度和/或倾斜度(inclination)信息。例如,当佩戴头戴式装置2100的用户移动时,IMU2170a和/或IMU 2170b可以提供描述用户头部的加速度和/或速度的信息。
可穿戴显示系统可以耦合到处理器,该处理器可以被配置为处理利用相机获取的图像信息,以便从利用这里描述的相机捕获的图像中提取信息和/或在显示设备上渲染虚拟对象。处理器可以机械地耦合到框架2101。替代地,处理器可以机械地耦合到显示设备,例如包括单目镜2110a或单目镜2110b的显示设备。作为另外的替代,处理器可以通过通信链路可操作地耦合到头戴式装置2100和/或显示设备。例如,XR系统可以包括本地数据处理模块。该本地数据处理模块可以包括处理器,并且可以通过物理连接(例如,电线或电缆)或无线(例如,蓝牙、Wi-Fi、Zigbee等)连接连接到头戴式装置2100和/或显示设备。
处理器可以被配置为执行世界重建、头部姿势跟踪和对象跟踪操作。例如,处理器可以被配置为使用相机2120和相机2140创建可通行世界模型。在创建可通行世界模型时,处理器可以被配置为使用由相机2120和相机2140获取的相同物理对象的多个图像立体地确定深度信息。作为附加示例,处理器可以被配置为使用相机2120而不是相机2140更新现有的可通行世界模型。如上所述,相机2120可以是分辨率比彩色相机2140低的灰度相机。因此,使用由相机2120而非相机2140获取的图像来快速更新可通行世界模型,这样可以降低的功耗并延长电池寿命。在一些实施例中,处理器可被配置为使用相机2120和相机2140偶尔或周期性地更新可通行世界模型。例如,处理器可以被配置为确定不再满足可通行世界质量标准,和/或自从上次获取和/或使用由相机2140获取的图像以来已经过去了预定的时间间隔,和/或当前在相机2120和相机2140的视场中的物理世界的一部分中的对象发生了变化。
处理器可以被配置为使用全光相机获取光场信息,例如入射在图像传感器上的光的到达角信息。在一些实施例中,该全光相机可以是相机2120和相机2140中的至少一个。与所公开的实施例一致,当深度信息在本文中被描述或者可以增强处理时,这样的深度信息可以从由全光相机获得的光场信息来确定或者由该光场信息来补充。例如,当相机2140包括TDM滤光器时,处理器可以被配置为使用从相机2120和2140获得的图像以及从相机2140获得的光场信息来创建可通行世界模型。替代地或另外地,当相机2120包括TDM滤光器时,处理器可以使用从相机2120获得的相机光场信息。在创建可通行世界模型之后,处理器可以被配置为使用至少一个全光相机和可通行世界模型来跟踪头部姿势。
处理器可以被配置为执行尺寸减小例程以调整使用相机2140获取的图像。相机2140可以生成比相机2120更大的图像。例如,相机2140可以生成1200万像素的图像,而相机2120可以生成1百万像素的图像。由相机2140生成的图像可以包括比用于执行可通行世界模型创建、头部跟踪或对象跟踪操作所需的更多的信息。处理这些附加信息可能需要附加的功率,从而缩短电池寿命或增加延迟。因此,处理器可以被配置为丢弃或组合图像中的由相机2140获取的像素。例如,处理器可以被配置为输出具有十六分之一像素数量的图像作为所获取的图像。该输出图像中的每个像素可以具有基于所获取图像中对应的4x4像素组的值(例如,这16个像素的值的平均值)。
处理器可以被配置为使用来自相机2120和相机2140的图像在中心视场2150中执行对象跟踪。在一些实施例中,处理器可以使用从由两个相机获取的第一图像立体地确定的深度信息来执行对象跟踪。作为非限制性示例,被跟踪对象可以是可穿戴显示系统的用户的手部。处理器可以被配置为使用从相机2120和相机2140中的一个相机获取的图像在外围视场中执行对象跟踪。
根据一些实施例,XR系统可以包括硬件加速器。硬件加速器可以实现为专用集成电路(ASIC)或其他半导体设备,并且可以集成在头戴式装置2100内或以其他方式耦合到头戴式装置2100以使其从相机2120和相机2140接收图像信息。该硬件加速器可以使用这两个世界相机获取的图像来辅助立体地确定深度信息。来自相机2120的图像可以是灰度图像并且来自相机2140的图像可以是彩色图像。使用硬件加速可以加快深度信息的确定并降低功耗,从而延长电池寿命。
示例性校准过程
图22示出了根据一些实施例的校准例程(方法2200)的简化流程图。处理器可以被配置为在佩戴可穿戴显示系统的同时执行校准例程。校准例程可以解决由头戴式装置2100的轻型结构引起的变形。在一些实施例中,校准例程可以解决由于使用期间框架2101的温度变化或机械应变而引起的框架2101的变形。例如,处理器可以重复执行校准例程,使得校准例程补偿在可穿戴显示系统的使用期间框架2101的变形。补偿例程可以自动执行或响应于手动输入(例如,执行校准例程的用户请求)而执行。校准例程可以包括确定相机2120和相机2140的相对位置和取向。处理器可以被配置为使用由相机2120和相机2140获取的图像来执行校准例程。在一些实施例中,处理器可以被配置为还使用IMU 2170a和IMU 2170b的输出。
在框2201中开始之后,方法2200可以进行到框2210。在框2210中,处理器可以识别从相机2120和相机2140获取的图像中的对应特征。对应特征可以是物理世界中对象的部分。在一些实施例中,为了校准的目的,对象可以由用户放置在中心视场2150内并且可以具有在图像中容易识别的特征,这些特征可以具有预定的相对位置。然而,可以基于在校准时出现在中心视场2150中的对象上的特征来执行如本文所述的校准技术,使得能够在头戴式装置2100的使用期间重复校准。在各种实施例中,处理器可以被配置为自动选择在视场2121和视场2141内检测到的特征。在一些实施例中,处理器可以被配置为使用视场2121和视场2141内的特征的估计位置来确定特征之间的对应关系。估计可以基于针对包含这些特征或关于这些特征的其他信息的对象而构建的可通行世界模型。
方法2200可以进行到框2230。在框2230中,处理器可以接收惯性测量数据。惯性测量数据可以从IMU 2170a和/或IMU 2170b接收。惯性测量数据可以包括倾斜度和/或加速度和/或速度测量结果。在一些实施例中,IMU 2170a和2170b可以分别直接或间接机械耦合到相机2140和相机2120。在这样的实施例中,由IMU 2170a和2170b进行的惯性测量(例如倾斜度)的差异可以指示相机2140和相机2120的位置和/或取向的差异。因此,IMU 2170a和2170b的输出可以提供对相机2140和相机2120的相对位置进行初始估计的基础。
在框2230之后,方法2200可以进行到框2250。在框2250中,处理器可以计算相机2120和相机2140的初始估计相对位置和取向。可以使用从IMU 2170b和/或IMU 2170a接收的测量结果来计算该初始估计。在一些实施例中,例如,头戴式装置可以被设计为具有相机2120和相机2140的标称相对位置和取向。处理器可以被配置为将IMU 2170a和IMU 2170b之间接收到的测量结果的差异归因于框架2101的变形,其可以改变相机2120和相机2140的位置和/或取向。例如,IMU 2170a和IMU 2170b可以直接或间接地机械耦合到框架2101,使得这些传感器的倾斜度和/或加速度和/或速度测量结果具有预定的关系。当框架2101变形时,这种关系可能会受到影响。作为非限制性示例,IMU 2170a和IMU 2170b可以机械地耦合到框架2101,使得当不存在框架2101的变形时,这些传感器在头戴式装置运动期间测量相似的倾斜度、加速度或速度向量。在该非限制性示例中,使IMU 2170a相对于IMU 2170b旋转的扭曲或弯曲可以导致IMU 2170a的倾斜度、加速度或速度向量测量结果相对于IMU 2170b的相应向量测量结果的相应旋转。由于IMU 2170a和IMU 2170b分别机械地耦合到相机2140和相机2120,因此处理器可以与IMU 2170a和IMU 2170b之间的测量关系相一致地调整相机2120和相机2140的标称相对位置和取向。
可以替代地或附加地使用其他技术来进行初始估计。在XR系统的操作期间重复执行校准方法2200的实施例中,初始估计例如可以是最近计算的估计。
在框2250之后,启动子过程,其中还进行相机2120和相机2140的相对位置和取向的估计。选择其中一个估计作为相机2120和相机2140的相对位置和取向,以根据相机2120和相机2140获取的图像来计算立体深度信息。可以迭代地执行该子过程,从而在每个迭代中进行另外的估计,直到确定一个可接受的估计。在图22的示例中,该子过程包括框2270、2272、2274和2290。
在框2270中,处理器可以计算相机的所估计的相对取向和被比较的特征的误差。在计算该误差时,处理器可以被配置为基于相机2120和相机2140的估计相对取向以及用于校准的估计位置特征,来估计所识别的特征应当如何出现或者所识别的特征应当在利用相机2120和相机2140获取到的对应图像内位于何处。在一些实施例中,该估计可以与用两个相机中的每一个获取的图像中的对应特征的出现位置或明显位置进行比较,以生成估计的相对取向中的每一个的误差。可以使用线性代数技术来计算这样的误差。例如,图像内多个特征中的每一个的计算位置和实际位置之间的均方偏差可以用作误差的度量。
在框2270之后,方法2200可以进行到框2272,其中可以检查误差是否满足接受标准。例如,该标准可能是误差的总体幅度,或者可能是迭代之间的误差变化。如果误差满足接受标准,则方法2200进行到框2290。
在框2290中,处理器可以基于在框2272中计算的误差来选择估计的相对取向中的一个。所选择的估计的相对位置和取向可以是具有最低误差的估计的相对位置和取向。在一些实施例中,处理器可以被配置为选择与该最低误差相关联的估计相对位置和取向作为相机2120和相机2140的当前相对位置和取向。在框2290之后,方法2200可以进行到框2299。方法2200可以在框2299中结束,其中相机2120和相机2140的所选位置和取向被用于基于由那些相机形成的图像来计算立体图像信息。
如果在框2272处误差不满足接受标准,则方法2200可以进行到框2274。在框2274处,可以更新在框2270处计算误差所使用的估计。这些更新可以是相机2120和相机2140的估计的相对位置和/或取向。在估计用于校准的一组特征的相对位置的实施例中,在框2274选择的更新估计可以替代地或附加地包括对该组中特征的位置或定位的更新。可以根据用于求解具有多个变量的方程组的线性代数技术来进行这种更新。作为特定示例,可以增加或减少估计位置或取向中的一个或多个。如果该变化在子过程的一次迭代中减小了计算误差,则在随后的迭代中,可以在相同方向上进一步改变相同的估计位置或取向。相反,如果变化增加了误差,则在随后的迭代中,可以在相反的方向上改变那些估计的位置或方向。在校准过程中使用的相机和特征的估计位置和取向可以以这种方式顺序地或组合地变化。
一旦计算出更新的估计,子过程返回到框2270。在此,子过程的进一步迭代开始,计算估计的相对位置的误差。以此方式,估计的位置和取向被更新,直到选择提供可接受误差的更新的相对位置和取向。然而,应当理解,框2272处的处理可以应用其他标准来结束迭代子过程,例如完成多次迭代而没有发现可接受误差。
虽然结合相机2120和相机2140描述了方法2200,但是可以针对用于立体成像的任何相机对或对于需要相对位置和取向的多个相机的任何相机组执行类似的校准。
示例性相机配置
根据一些实施例,部件被并入头戴式装置2100中以提供视场和照明场来支持XR系统的多种功能。图23A至图23C是根据一些实施例的与图21的头戴式装置2100相关联的视场或照明场的示例图。每个示例示意图示出了来自相对于头戴式装置的不同取向和距离的视场或照明场。图23A从升高的离轴角度示出了在距头戴式装置1米的距离处的视场或照明场。图23A示出了相机2120和相机2140的视场之间的重叠,特别是相机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可获得的。如本文所述,可以对针对中心视场和外围视场获取的图像信息执行不同的操作。
世界模型生成
在一些实施例中,在中心视场中获取的图像信息可用于构建或更新世界模型。图24是根据一些实施例的用于创建或更新可通行世界模型的方法2400的简化流程图。如上文关于图21所公开的,可穿戴显示系统可以被配置为使用处理器来确定和更新可通行世界模型。在一些实施例中,处理器可以基于相机2120和相机2140的输出来确定和更新该可通行世界模型。然而,相机2120可以配置有全局快门,而相机2140可以配置有滚动快门。处理器因此可以执行补偿例程以补偿由相机2140获取的图像中的滚动快门失真。在各种实施例中,处理器可以在不使用发射器2130a和2130b的情况下确定和更新该可通行世界模型。然而,在一些实施例中,可通行世界模型可能是不完整的。例如,处理器可能不完整地确定墙壁或其他平坦表面的深度。作为附加示例,可通行世界模型可能不完整地表示具有许多拐角、曲面、透明表面或大表面的对象,例如窗户、门、球、桌子等。处理器可以被配置为识别这样的不完整信息、获取附加信息,并使用附加深度信息更新世界模型。在一些实施例中,发射器2130a和2130b可以选择性地被启用以收集附加的图像信息,从中构建或更新可通行世界模型。在一些情景中,处理器可以被配置为在获取的图像中执行对象识别,为识别的对象选择模板,并基于该模板向可通行世界模型添加信息。以此方式,可穿戴显示系统可以改进可通行世界模型,同时很少或不使用诸如发射器2130a和2130b的功率密集型部件,从而延长电池寿命。
方法2400可以在可穿戴显示系统的操作期间一次或多次启动。处理器可以被配置为,当用户第一次打开系统、移动到新环境(例如走进另一个房间)、或通常当处理器检测到用户的物理环境发生变化时,创建可通行世界模型。替代地或附加地,方法2400可以在可穿戴显示系统的操作期间或在检测到物理世界的显著变化时或响应于用户输入(例如指示世界模型与物理世界不同步的输入)而周期性地执行。
在一些实施例中,可以存储可通行世界模型的全部或部分,该可通行世界模型由XR系统的其他用户提供或以其他方式获得。因此,虽然描述了世界模型的创建,但是应当理解,方法2400可以用于世界模型的一部分,而世界模型的其他部分源自其他来源。
在框2405中,处理器可以执行补偿例程以补偿由相机2140获取的图像中的滚动快门失真。如上所述,由具有全局快门的图像传感器(例如相机2120中的图像传感器)获取的图像包括同时获取的像素值。相反,由具有滚动快门的图像传感器获取的图像包括在不同时间获取的像素值。在相机2140获取图像期间,头戴式装置与环境的相对运动可以将空间失真引入图像中。这些空间失真会影响依赖于将相机2140获取的图像与相机2120获取的图像进行比较的方法的准确性。
执行补偿例程可以包括使用处理器将使用相机2120获取的图像与使用相机2140获取的图像进行比较。处理器执行该比较以识别使用相机2140获取的图像中的任何失真。这种失真可以在该图像的至少一部分中包含偏斜(skew)。例如,如果相机2140中的图像传感器正在从图像传感器的顶部到图像传感器的底部逐行获取像素值,而头戴式装置2100正在侧向平移,则对象或对象的一部分的出现位置可能会在连续的像素行中偏移一定量,该偏移量取决于平移的速度和获取每行值之间的时间差。旋转头戴式装置时会发生类似的失真。这些失真可以导致对象或对象的一部分在图像中的位置和/或取向的整体偏斜。处理器可以被配置为在由相机2120获取的图像和由相机2140获取的图像之间执行逐行比较以确定偏斜量。然后可以变换由相机2140获取的图像以去除失真(例如,去除检测到的偏斜)。
在框2410中,可以创建可通行世界模型。在所示实施例中,处理器可以使用相机2120和相机2140创建可通行世界模型。如上所述,在生成可通行世界模型时,处理器可以被配置为,在构建可通行世界模型时,使用从相机2120和相机2140获取的图像来立体地确定物理世界中对象的深度信息。在一些实施例中,处理器可以从相机2140接收颜色信息。该颜色信息可以用于区分对象或识别与同一对象相关联的表面。颜色信息也可用于识别对象。如以上关于图3A所公开的,处理器可以通过将关于物理世界的信息与关于头戴式装置2100的位置和取向的信息相关联来创建可通行世界模型。作为非限制性示例,处理器可以被配置为确定从头戴式装置2100到视图(例如,视场2120和/或视场2140)中的特征的距离。处理器可以被配置为估计该视图的当前位置和取向。处理器可以被配置为累积这样的距离以及位置和取向信息。通过三角测量到从多个位置和取向获取的特征的距离,可以确定特征在环境中的位置和取向。在各种实施例中,可通行世界模型可以是光栅图像、点和描述符云、以及多边形/几何定义的组合,该组合描述了这样的特征在环境中的位置和取向。在一些实施例中,可以使用从相机2120获取的图像和从相机2140获取的经补偿的图像,来立体地确定从头戴式装置2100到中心视场2150中的特征的距离。在各种实施例中,可以使用光场信息来补充或细化这个确定。例如,通过计算,到达角信息可以转换成距离信息,指示距光从其发生反射的对象的距离。
在框2415中,处理器可以禁用相机2140或降低相机2140的帧速率。例如,可以将相机2140的帧速率从30Hz降低到1Hz。如上所公开的,彩色相机2140可以比灰度相机2120消耗更多的功率。通过禁用或降低相机2140的帧速率,处理器可以降低功率消耗并延长可穿戴显示系统的电池寿命。因此,处理器可以禁用相机2140或降低相机2140的帧速率以节省功率。可以保持该较低功率状态直到检测到指示可能需要世界模型中的更新的条件。可以基于时间的流逝或输入来检测这样的条件,例如来自收集关于用户周围环境的信息的传感器或来自用户。
替代地或附加地,一旦可通行世界模型足够完整,就足以能够使用来自相机2120的图像来确定特征在物理环境中的位置和取向。作为非限制性示例,可以基于模型中表示的用户位置周围空间的百分比或基于与可通行世界模型匹配的新图像信息量,将可通行世界模型识别为足够完整。对于后一种方法,新获取的图像可以与可通行世界中的位置相关联。如果这些图像中的特征具有与可通行世界模型中识别为地标的特征相匹配的特征,则可以认为世界模型是完整的。覆盖或匹配不必是100%完整的。相反,对于每个标准,可以应用适当的阈值,例如大于95%的覆盖率或大于90%的特征匹配先前识别的地标。不管如何确定可通行世界模型是否完整,一旦完成,处理器就可以使用现有的可通行世界信息来细化对物理世界中特征的位置和取向的估计。与处理器处理由相机2120获取的图像的速率相比,该过程可以反映物理世界中的特征正在缓慢地改变位置和/或取向(如果有的话)的假设。
在框2420中,在创建可通行世界模型之后,处理器可以识别用于更新可通行世界模型的表面和/或对象。在一些实施例中,处理器可以使用从相机2120获取的灰度图像来识别这样的表面或对象。例如,一旦在框2410处创建了世界模型,指示可通行世界内特定位置处的表面,则从相机2120获取的灰度图像可以用于检测具有大致相同特征的表面,并通过更新可通行世界模型内的该表面的位置来确定应当更新可通行世界模型。例如,在大致相同位置处具有与可通行世界模型中的表面大致相同形状的表面可以等同于通行世界模型中的该表面,并且可以相应地更新可通行世界模型。作为另一个示例,可通行世界模型中表示的对象的位置可以基于从相机2120获取的灰度图像进行更新。
在一些实施例中,处理器可以使用从相机2120获得的光场信息来确定物理世界中对象的深度信息。深度信息的确定可以基于到达角度信息来执行,这对于物理世界中更接近头戴式装置2100的对象可能更准确。因此,在一些实施例中,处理器可以被配置为使用光场信息仅更新可通行世界模型的满足深度标准的部分。深度标准可以基于最大可区分距离。例如,处理器可能无法区分距头戴式装置2100不同距离处的对象,当这些距离超过阈值距离时。深度标准可以基于最大误差阈值。例如,估计距离的误差可能随着距离的增加而增加,特定距离对应于最大误差阈值。在一些实施例中,深度标准可以基于最小距离。例如,处理器可能无法准确确定对象在最小距离内距头戴式装置2100的距离信息。因此,世界模型的距头戴式装置15cm或更远的部分可能满足深度标准。在一些实施例中,可通行世界模型可以由的三维的体素“块(brick)”组成。在这样的实施例中,更新可通行世界模型可以包括识别用于更新的体素块。在一些实施例中,处理器可以被配置为确定视锥体。视锥体可以具有最大深度,例如1.5m。处理器可以被配置为识别视锥体内的块。处理器然后可以针对识别出的块内的体素更新可通行世界信息。在一些实施例中,处理器可以被配置为使用在步骤2450中获取的光场信息来更新体素的可通行世界信息,如本文所述。
在一些实施例中,可以基于对象是处于中心视场还是外围视场来不同地执行更新过程。例如,可以对中心视场中检测到的表面执行更新。在外围视场中,例如,可以仅针对处理器具有模型的对象执行更新,从而处理器可以确认对可通行世界模型的任何更新与该对象一致。替代地或附加地,可以基于对灰度图像的处理来识别新的对象或表面。即使与框2410处的处理相比,这样的处理导致对象或表面的表示更不准确,但在一些情景下,通过平衡更快且功耗更低的处理的准确度,可以产生更好的整体系统。此外,通过周期性地重复方法2400,较低准确度的信息可以由较高准确度的信息周期性地替换,以便利用通过与灰度相机2120相结合地使用彩色相机2140而立体生成的部分来替换仅用单眼灰度图像生成的世界模型的部分。
在一些实施例中,处理器可以被配置为确定更新的世界模型是否满足质量标准。当世界模型满足质量标准时,处理器可以在相机2140被禁用或具有降低的帧速率的情况下继续更新世界模型。当更新的世界模型不满足质量标准时,方法2400可以启用相机2140或增加相机2140的帧速率。方法2400也可以返回到步骤2410并重新创建可通行世界模型。
在框2425中,在更新可通行世界模型之后,处理器可以识别可通行世界模型是否包括不完整的深度信息。不完整的深度信息可以以多种方式中的任何一种出现。例如,一些对象不会在图像中产生可检测的结构。例如,物理世界中非常暗的区域可能无法以足够的分辨率成像,无法从使用环境照明获取的图像中提取深度信息。作为另一个示例,窗户或玻璃桌面可能不会在可见图像中出现或被计算机处理识别。作为又一示例,大的均匀表面,例如桌面或墙壁,可能缺乏可以在两个立体图像中相关联以实现立体图像处理的足够特征。结果,处理器可能无法使用立体处理来确定这样的对象的位置。在这些情景中,世界模型中将存在“孔”,因为寻求使用可通行世界模型在通过“孔”的特定方向上来确定到表面的距离的过程将无法获得任何深度信息。
当可通行世界模型不包括不完整的深度信息时,方法2400可以返回使用从相机2120获得的灰度图像来更新可通行世界模型。
在识别出不完整的深度信息之后,控制方法2400的处理器可以采取一个或多个动作来获取附加的深度信息。方法2400可以进行到框2431、框2433和/或框2435。在框2431中,处理器可以启用发射器2130a和/或发射器2130b。如上所述,相机2120和相机2140中的一个或多个可以被配置为检测由发射器2130a和/或发射器2130b发射的光。处理器然后可以通过使发射器2130a和/或2130b发射可以增强在物理世界中获取的对象的图像的光来获取深度信息。例如,当相机2120和相机2140对发射的光敏感时,可以处理利用相机2120和相机2140获取的图像以提取立体信息。当发射器2130a和/或发射器2130b被启用时,可以替代地或附加地使用其他分析技术来获得深度信息。在一些实施例中,可以替代地或附加地使用飞行时间测量和/或结构光技术。
在框2433中,处理器可以从先前获取的深度信息确定附加深度信息。在一些实施例中,例如,处理器可以被配置为识别利用相机2120和/或相机2140形成的图像中的对象,并且基于识别出的对象的模型来填充可通行世界模型中的任何孔。例如,处理可以检测物理世界中的平坦表面。可以使用利用相机2120和/或相机2140获取的现有深度信息或存储在可通行世界模型中的深度信息来检测平坦表面。可以响应于确定世界模型的一部分包括不完整的深度信息来检测平坦表面。处理器可以被配置为基于检测到的平坦表面来估计附加深度信息。例如,处理器可以被配置为使识别出的平坦表面延伸通过不完整深度信息的区域。在一些实施例中,处理器可以被配置为在延伸平坦表面时基于可通行世界模型的周围部分来内插丢失的深度信息。
在一些实施例中,作为附加示例,处理器可以被配置为检测世界模型的包括不完整深度信息的部分中的对象。在一些实施例中,该检测可能涉及使用神经网络或其他机器学习工具来识别对象。在一些实施例中,处理器可以被配置为访问存储模板的数据库并选择与识别出的对象相对应的对象模板。例如,当识别出的对象是窗口时,处理器可以被配置为访问存储模板的数据库并选择相应的窗口模板。作为非限制性示例,模板可以是表示一类对象的三维模型,诸如窗户、门、球等的类型。处理器可以基于更新的世界模型中的对象的图像来配置对象模板的实例。例如,处理器可以缩放、旋转和平移模板以匹配对象在更新的世界模型中的检测位置。然后可以基于配置模板的边界来估计附加深度信息,表示识别出的对象的表面。
在框2435中,处理器可以获取光场信息。在一些实施例中,该光场信息可以与图像一起获取,并且可以包括到达角信息。在一些实施例中,相机2120可以被配置为全光相机以获取该光场信息。
在框2431、框2433和/或框2435之后,方法2400可以进行到框2440。在框2490中,处理器可以使用在框2431和/或框2473中获得的附加深度信息来更新可通行世界模型。例如,处理器可以被配置为将从使用有源IR照明进行的测量获得的附加深度信息混合到现有的可通行世界模型中。类似地,从光场信息确定的附加深度信息,例如使用基于到达角信息的三角测量,可以混合到现有的可通行世界模型中。作为附加示例,处理器可以被配置为将通过延伸检测到的平坦表面而获得的内插深度信息混合到现有的可通行世界模型中,或者将根据配置模板的边界估计的附加深度信息混合到现有的可通行世界模型中。
信息可以以一种或多种方式混合,这取决于附加深度信息和/或可通行世界模型中的信息的性质。例如,可以通过向可通行世界模型添加针对可通行世界模型中存在孔的位置收集的附加深度信息来执行混合。替代地,附加深度信息可以覆盖可通行世界模型中相应位置的信息。作为又一替代,混合可以涉及在可通行世界模型中已有的信息和附加深度信息之间进行选择。这样的选择例如可以是基于选择可通行世界模型中已有的深度信息,或附加深度信息中的深度信息,该附加深度信息表示距离用于收集附加深度信息的相机最近的表面。
在一些实施例中,可通行世界模型可以由连接点的网格来表示。更新世界模型可以通过计算要添加到世界模型的对象或表面的网格表示,然后将该网格表示与世界模型的网格表示进行组合来完成。发明人已经认识到并理解,与将对象或表面添加到世界模型,然后计算更新模型的网格相比,以该顺序执行处理可能需要更少的处理。
图24示出了可以在框2420和2440处更新世界模型。可以以相同方式执行每个框的处理,例如通过生成要添加到世界模型的对象或表面的网格表示,并将生成的网格与世界模型的网格进行组合,或采用不同的方式。在一些实施例中,该合并操作可以针对在框2420和框2440识别的对象或表面两者执行一次。例如,可以如结合框2440所描述的那样执行这种组合处理。
在一些实施例中,方法2400可以循环回到框2420以重复基于用一个或多个灰度相机获取的信息来更新世界模型的过程。由于执行框2420的处理可以比执行框2410的处理的图像更少且更小,所以它可以以更高的速率重复。该处理可以以小于每秒10次的速率执行,例如每秒3至7次之间。
方法2400可以以这种方式重复,直到检测到结束条件。例如,方法2400可以重复预定的时间段,直至接收到用户输入,或者直至在头戴式装置2100的相机的视场中检测到物理世界模型的部分中的特定类型或特定幅度的变化。方法2400然后可以在框2499中终止。方法2400可以再次启动,以便在框2405处捕获世界模型的新信息,包括用更高分辨率彩色相机获取的信息。方法2400可以终止并重新启动以使用彩色相机重复框2405处的处理,从而比仅基于灰度图像信息更新世界模型的速度慢的平均速度来创建世界模型的一部分。例如,可以以每秒一次或更慢的平均速率重复使用彩色相机的处理。
头部姿势跟踪
XR系统可以跟踪佩戴XR显示系统的用户的头部的位置和取向。确定用户的头部姿势使得能够将可通行世界模型中的信息转换为用户可穿戴显示设备的参考系,以便可通行世界模型中的信息可用于在可穿戴显示设备上渲染对象。由于头部姿势频繁地更新,因此仅使用相机2120执行头部姿势跟踪可提供节能、减少的计算或其他益处。XR系统因此可以被配置为根据需要禁用或降低彩色相机2140的帧速率,以相对于功耗和计算要求平衡头部跟踪精度。
图25是根据一些实施例的用于头部姿势跟踪的方法2500的简化流程图。方法2500可以包括创建世界模型、跟踪头部姿势、以及确定是否满足头部姿势跟踪标准。当不满足头部姿势跟踪标准时,方法2500还可以包括启用相机2140并使用立体确定的深度信息来跟踪头部姿势。
在框2510中,处理器可以创建可通行世界模型。在一些实施例中,处理器可以被配置为如上文关于方法2400的框2405-2415所描述的创建可通行世界模型。例如,处理器可以被配置为从相机2120和相机2140获取图像。在一些实施方式中,处理器可以补偿相机2140中的滚动快门失真。然后处理器可以使用来自2120的图像和来自2140的经补偿的图像,来确定物理世界中特征的深度。使用这些深度,处理器可以创建可通行世界模型。在一些实施例中,在创建可通行世界模型之后,处理器可以被配置为禁用或降低相机2140的帧速率。通过在生成可通行世界模型之后禁用或降低相机2140的帧速率,XR系统可以降低功率消耗和计算要求。
在框2510中创建可通行世界模型之后,方法2500可以进行到框2520。在框2520中,处理器可以跟踪头部姿势。在一些实施例中,处理器可以被配置为根据由相机2120获取的信息计算实时或接近实时的用户头部姿势。该信息可以是由相机2120获取的灰度图像。另外或替代地,该信息可以是光场信息,例如到达角信息。
在框2530中,方法2500可以确定头部姿势是否满足跟踪质量标准。跟踪标准可以取决于估计的头部姿势的稳定性、估计的头部姿势的噪声、估计的头部姿势与世界模型的一致性、或类似因素。作为具体示例,可以将计算出的头部姿势与可以指示不准确的其他信息进行比较,例如惯性测量单元的输出或人类头部移动范围的模型,从而可以识别头部姿势中的误差。具体的跟踪标准可能会根据所使用的跟踪方法而有所不同。例如,在使用基于事件的信息的方法中,可以使用特征的位置之间的对应关系,如由基于事件的输出与全帧图像中的对应特征的位置相比较所指示的。替代地或附加地,特征相对于其周围环境的视觉独特性可以用作跟踪标准。例如,当视场中填充一个或多个对象,使得难以识别特定特征的运动时,基于事件的方法的跟踪标准可能会显示较差的跟踪。被遮挡的视场百分比是可以使用的标准的示例。例如大于40%的阈值可以用作从使用基于图像的方法用于头部姿势跟踪进行切换的指示。作为进一步的示例,重投影误差可以用作头部姿势跟踪质量的度量。可以通过将获取的图像中的特征与先前确定的可通行世界模型进行匹配来计算这样的标准。图像中的特征的位置可以使用基于头部姿势的几何变换计算而与可通行世界模型中的位置相关。计算的位置和可通行世界模型中的特征之间的偏差,例如表示为均方误差,因此可以指示头部姿势中的误差,使得偏差可以用作跟踪标准。
跟踪头部姿势的难度可以取决于用户头部的位置和取向以及可通行世界模型的内容。因此,在一些情况下,处理器可能无法或变得无法仅使用光场信息和/或由相机2120获取的灰度图像来跟踪头部姿势。当满足跟踪质量标准时,方法2500可以返回到框2520并继续跟踪头部姿势。
当不满足跟踪质量标准时,方法2500可以进行到框2540。在框2540中,处理器可以被配置为启用相机2140。在启用相机2140之后,方法2500可以进行到框2550。在框2550中,处理器可以使用由相机2140和相机2120获取的图像立体地确定深度信息。在一些实施例中,在处理器确定深度信息之后,方法2500可以返回到框2520,并且处理器可以恢复跟踪头部姿势。在一些实施例中,处理器可以被配置为在恢复跟踪头部姿势时禁用相机2140。在各种实施例中,处理器可以被配置为使用由相机2140和相机2120获取的图像继续跟踪头部姿势达到持续时间或一时间,或直到满足质量标准。
当立体地确定深度信息的尝试不成功时,方法2500可以进行到框2599,如图25所示。当即使在启用相机2140之后还不满足跟踪质量标准时,方法2500可以替代地进行到框2500。
对象跟踪
如上面所述,XR系统的处理器可以跟踪物理世界中的对象,以支持相对于物理对象逼真地渲染虚拟对象。例如,结合可移动对象,诸如XR系统的用户的手部来描述跟踪。例如,XR系统可以跟踪中心视场2150、外围视场2160a和/或外围视场2160b中的对象。快速更新可移动对象的位置使得能够逼真地渲染虚拟对象,因为这样的渲染可以反映虚拟对象对于物理对象的遮挡,反之亦然,或者虚拟对象与物理对象之间的交互。在一些实施例中,例如,物理对象的位置的更新可以以每秒至少10次的平均速率来计算,并且,在一些实施例中,每秒至少20次,诸如大约每秒30次或60次。当跟踪对象是用户的手部时,跟踪可以实现用户的手势控制。例如,特定手势可以对应于XR系统的命令。
在一些实施例中,XR系统可以被配置为跟踪具有当用对IR光敏感的图像传感器成像时提供高对比度的特征的对象。在一些实施例中,可以通过向对象添加标记来创建具有高对比度特征的对象。例如,物理对象可以配备有一个或多个标记,当用IR光成像时,这些标记会显示为高对比度区域。标记可以是对IR光具有高反射性或高吸收性的无源标记。在一些实施例中,在感兴趣的频率范围内至少25%的光可以被吸收或反射。替代地或附加地,标记可以是发射IR光的有源标记,例如IR LED。通过跟踪这些特征,例如使用DVS相机,可以快速确定准确表示物理对象位置的信息。
与头部姿势跟踪一样,被跟踪的对象位置被频繁更新,因此仅使用相机2120执行对象跟踪可以提供节省功率、减少的计算或其他益处。XR系统因此可以被配置为根据需要禁用或降低彩色相机2140的帧速率,以相对于功耗和计算要求来平衡对象跟踪精度。
图26是根据一些实施例用于对象跟踪的方法2600的简化流程图。根据方法2600,处理器以不同方式执行对象跟踪,这取决于被跟踪的对象在外围视场(外围视场2160a或外围视场2160b)还是中心视场2150。处理器还可以进一步根据被跟踪的对象是否满足深度标准,以不同地方式在中心视场2150中执行对象跟踪。处理器可以替代地或附加地应用其他标准以动态选择对象跟踪方法,例如可用的电池电力或正在执行的XR系统的操作以及这些操作来跟踪对象位置或以高精度跟踪对象位置的需要。
方法2600可以在框2601中开始。在一些实施例中,相机2140可以被禁用或具有降低的帧速率。处理器可以已经禁用相机2140或降低相机2140的帧速率,从而降低功耗并且延长电池寿命。在各种实施例中,处理器可以跟踪物理世界中的对象(例如,用户的手部)。处理器可以被配置为基于对象的一个或多个先前位置来预测对象的下一个位置或者对象的轨迹。
在框2601中开始之后,方法2600可以进行到框2610。在框2610中,处理器可以被配置为确定对象是否在中心视图2150内。在一些实施例中,处理器可以基于对象的当前位置来进行该确定(例如,对象当前是否在中心视场2150中)。在各种实施例中,处理器可以基于对象位置的估计来进行该确定。例如,处理器可以确定正在离开中心视场2150的对象可以进入外围视场2160a或外围视场2160b。当对象不在中心视图2150内时,处理器可以被配置为进行到框2620。
在框2620中,处理器可以启用相机2140或增加相机2140的帧速率。处理器可以被配置为,当处理器估计对象将很快离开或已经离开中心视场2150并进入外围视场2160b时启用相机2140。处理器可以被配置为,当处理器基于从相机2140接收的一个或多个图像确定对象在外围视场2160b中时,增加相机2140的帧速率。处理器可以被配置为,在对象在外围视场2160b内的情况下,使用相机2140来跟踪对象。
处理器可以在步骤2630a和2630b中确定对象是否满足深度标准。在一些实施例中,深度标准可以与上面关于方法2400的框2460描述的深度标准相同或相似。例如,深度标准可以涉及最大误差率或最大距离,超出该最大误差率或最大距离处理器无法区分的对象之间的距离不同。
在一些实施例中,相机2140可以被配置为全光相机。在这样的实施例中,当对象在外围视场2160b中时,处理器可以在步骤2630a中确定是否满足距离标准。当满足距离标准时,处理器可以被配置为在框2640a中使用光场信息来跟踪对象。在一些实施例中,相机2120可以被配置为全光相机。在这样的实施例中,当对象在中心视场2150中时,处理器可以在框2630b中确定是否满足距离标准。当满足距离标准时,处理器可以被配置为在框2640b中使用光场信息来跟踪对象。当不满足距离标准时,方法2600可以进行到块2645。
在框2645中,处理器可以被配置为启用相机2140或增加相机2140的帧速率。在处理器启用相机2140或增加相机2140的帧速率之后,方法2600可以进行到框2650。在框2650中,处理器可以被配置为使用立体确定的深度信息来跟踪对象。处理器可以被配置为根据由相机2120和相机2140获取的图像来确定深度信息。在步骤2640a、2640b或2650之后,方法2600进行到框2699。在步骤2699中,方法2600可以结束。
手部跟踪可以包括超出一般对象跟踪的进一步步骤。图27是根据一些实施例的手部跟踪方法2700的简化流程图。在方法2700中跟踪的对象可以是用户的手部。在各种实施例中,处理器可以被配置为,当用户的手部在中心视场2150中时,使用相机2120和相机2140执行手部跟踪,当用户的手部在外围视场2160a中时仅使用相机2120,并且当用户的手部在外围视场2160b中时仅使用相机2140。如果需要,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中,处理器可以确定是否需要对象跟踪鲁棒性或精细对象跟踪细节。在这种特殊情况下,方法2700可以进行到框2730。在框2730中,处理器可以获得对象的深度信息。可以基于立体图像分析获得该深度信息,根据深度信息可以计算收集图像信息的相机和被跟踪的对象之间的距离。例如,处理器可以选择中心视场中的特征并确定所选择的特征的深度信息。处理器可以使用由相机2120和2140获取的图像立体地确定特征的深度信息。
在一些实施例中,所选择的特征可以表示由骨骼和关节定义的人手部的不同区段。特征选择可以基于将图像信息与人手部模型进行匹配。例如,这种匹配可以启发式地进行。例如,人手部可以由有限数量的区段表示,例如16个区段,并且手部的图像中的点可以映射到那些区段中的一个,从而可以选择每个区段上的特征。替代地或附加地,这种匹配可以使用深度神经网络或分类/决策森林来在分析中应用一系列是/否决策以识别手部的不同部分并且选择表示手部的不同部分的特征。例如,匹配可以识别图像中的特定点是否属于手掌部分、手背、非拇指手指、拇指、指尖和/或指关节。任何合适的分类器都可用于该分析阶段。例如,可以使用深度学习模块或神经网络机制来代替分类森林或作为分类森林的补充。此外,除了分类森林之外,还可以使用回归森林(例如,使用霍夫变换等)。
不管选择的特征的具体数量以及用于选择那些特征的技术,在框2730之后,方法2700可以进行到框2740。在框2740中,处理器然后可以基于深度信息来配置手部模型。在一些实施例中,手部模型可以反映关于人手部的结构信息,例如将手部中的每个骨骼表示为手部中的区段,并且每个关节定义相邻区段之间的可能的角度范围。通过基于所选择特征的深度信息为手部模型中的每个区段分配位置,可以提供关于手部的位置的信息以供XR系统进行后续处理。
在一些实施例中,可以迭代地执行框2730和2740处的处理,其中基于手部模型的配置来细化针对其收集深度信息的特征的选择。手部模型可以包括形状约束和移动约束,处理器可以被配置为使用它们来细化表示手部的部分的特征的选择。例如,当被选择来表示手部区段的特征指示该部分的位置或移动违反手部模型约束时,可以选择不同的特征来表示该区段。
在一些实施例中,可以使用光度图像信息代替深度信息或作为深度信息的补充,来执行手部跟踪过程的连续迭代。在每次迭代时,手部的3D模型可以更新以反映手部的潜在移动。可以例如根据深度信息、光度信息或手部轨迹的投影来确定潜在移动。如果使用深度信息,则深度信息应用的特征组比用于设置手部模型初始配置的特征组更有限,从而加速了处理。
不管3D手部模型如何更新,更新后的模型都可以基于光度图像信息进行细化。例如,该模型可以用于渲染手部的虚拟图像,表示预期手部的图像如何出现。可以将该预期图像与用图像传感器获取的光度图像信息进行比较。可以调整3D模型以减少预期和获取的光度信息之间的误差。调整后的3D模型然后提供手部位置的指示。随着此更新过程的重复,在手部移动时,3D模型提供手部位置的指示。
XR系统可以替代地确定不需要的鲁棒性或精细细节,或者被跟踪的对象可以在中心视图2150之外。在这种情况下,在框2750中,XR系统可以被配置为从相机2120获取灰度图像信息。然后处理器可以选择该图像中表示人手部的结构的特征。可以启发式地或使用AI技术来识别这样的特征,如上面针对在框2730处的处理所描述的。例如,如上所述,可以通过以有限数量的区段表示人手部并将图像中的点映射到那些区段中的相应区段,来启发式地选择特征,使得可以选择每个区段上的特征。替代地或附加地,这种匹配可以使用深度神经网络或分类/决策森林来在分析中应用一系列是/否决策从而识别手部的不同部分并选择表示手部的不同部分的特征。任何合适的分类器都可用于该分析阶段。例如,可以使用深度学习模块或神经网络机制来代替分类森林或作为分类森林的补充。此外,除了分类森林之外,还可以使用回归森林(例如,使用霍夫变换等)。
在框2760处,处理器然后可以尝试将所选择的特征以及那些所选择的特征在图像间的移动与手部模型进行匹配,而无需借助深度信息。这种匹配可能导致比在框2740中生成的信息更不稳健的信息或者可能不太准确的信息。尽管如此,基于单眼信息识别的信息可以为XR系统的操作提供有用的信息。
在框2740或2760中将图像部分与手部模型的部分匹配之后,处理器可以在框270中使用确定的手部模型信息来识别手部姿势。可以使用在美国专利公开No.2016/0026253中描述的手部跟踪方法来执行该手势识别,该申请通过引用整体并入本文,它教导了与根据XR系统中的手部跟踪以及从图像信息中获取的有关手部的信息的使用结合。
在框2770之后,方法2700可以在框2799中结束。然而,应当理解,对象跟踪可以在XR系统的操作期间连续发生或者可以在对象处于一个或多个相机的视场中的间隔期间发生。因此,一旦方法2700的一次迭代完成,就可以执行另一次迭代,并且可以在正在执行对象跟踪的间隔内执行该过程。在一些实施例中,在一次迭代中使用的信息可以在后续迭代中使用。在各种实施例中,例如,处理器可以被配置为基于先前检测到的手部位置来估计用户手部的更新位置。例如,处理器可以基于用户手部的先前位置和速度来估计用户的手部接下来会在哪里。这样的信息可用于缩小被处理以检测对象的位置的图像信息的量,如上文结合分块跟踪技术所描述的。
已经如此描述了一些实施例的几个方面,应当理解,本领域技术人员将容易想到各种改变、修改和改进。
作为一个示例,结合增强(AR)环境来描述实施例。应当理解,这里描述的一些或全部技术可以应用于MR环境或更一般地应用于其他XR环境。
此外,描述了图像阵列的实施例,其中一个分块被应用于图像阵列以控制关于一个可移动对象的图像信息的选择性输出。应当理解,在一个物理环境中可以有一个以上的可移动对象。此外,在一些实施例中,可能需要选择性地获得可移动对象所在区域以外的区域中的图像信息的频繁更新。例如,可以设置分块以选择性地获取关于要渲染虚拟对象的物理世界的区域的图像信息。因此,在有或没有用于跟踪这些分块轨迹的电路的情况下,一些图像传感器可能能够选择性地提供两个或多个分块的信息。
作为又一示例,图像阵列被描述为输出与入射光的幅度有关的信息。幅度可以是跨越光频率频谱的功率的表示。该光谱可以是在对应于任何颜色的可见光的频率处相对宽泛地捕获能量,例如在黑白相机中。或者,光谱可能很窄,对应于单一颜色的可见光。为此目的,可以使用将入射在图像阵列上的光限制为特定颜色的光的滤光器。在像素被限制为接收特定颜色的光的情况下,不同的像素可以被限制为不同的颜色。在这样的实施例中,可以一起处理对相同颜色敏感的像素的输出。
描述了在图像阵列中设置分块然后更新感兴趣对象的分块的过程。例如,当每个可移动对象进入图像传感器的视场时,可以对每个可移动对象执行该过程。当感兴趣的对象离开视场时,可以清除分块,从而不再跟踪分块或者不再针对该分块输出图像信息。应当理解,可以不时地更新分块,例如通过确定与分块相关联的对象的位置并将分块的位置设置为对应于该位置。可以对分块的计算轨迹进行类似的调整。对象的移动向量和/或图像传感器的移动向量可以根据其他传感器信息计算并且用于重置被编程到图像传感器或其他组件中的值,用于分块跟踪。
例如,可以通过分析广角相机或具有立体信息的一对相机的输出来确定对象的位置、移动和其他特征。来自这些其他传感器的数据可以用于更新世界模型。结合更新,可以更新分块位置和/或轨迹信息。与分块跟踪引擎更新分块位置相比,这样的更新可以以较低速率发生。例如,分块跟踪引擎可以每秒大约1次到30次之间的速率计算新分块位置。基于其他信息对分块位置的更新可以以较慢的速率发生,例如每秒一次到大约每30秒一次的间隔。
作为变型的又一个示例,图2示出了具有与远程处理模块分离的头戴式显示器的系统。如本文所述的图像传感器可导致系统的紧凑设计。这样的传感器产生的数据较少,进而导致较低的处理要求和较低的功耗。对处理和功率的需求减少,使得能够通过减小电池的尺寸来实现尺寸缩小。因此,在一些实施例中,整个增强现实系统可以集成在没有远程处理模块的头戴式显示器中。头戴式显示器可以被配置为一副护目镜,或者如图2所示,可以在大小和形状上类似于一副眼镜。
此外,描述了图像传感器响应可见光的实施例。应当理解,这里描述的技术不限于利用可见光的操作。它们可以替代地或附加地响应于IR光或光谱的其他部分中的“光”,例如UV。此外,如本文所述的图像传感器响应于自然发生的光。替代地或附加地,传感器可以用于具有照明源的系统中。在一些实施例中,图像传感器的灵敏度可以被调谐到光谱中的照明源发光的部分。
作为另一示例,描述了通过指定要对其执行图像分析的“分块”来指定图像阵列的所选择区域,图像传感器应输出所选择区域的变化。然而,应当理解,分块和所选择区域可以具有不同的大小。例如,所选择区域可以比分块大以便考虑图像中的被跟踪对象的移动偏离预测轨迹和/或实现围绕分块的边缘的处理。
此外,还描述了多个过程,例如可通行世界模型生成、对象跟踪、头部姿势跟踪和手部跟踪。这些以及在一些实施例中的其他过程可以由相同或不同的处理器执行。处理器可以被操作以使得这些过程能够并发操作。然而,每个过程可以以不同的速率执行。在不同的过程以不同的速率从图像传感器或其他传感器请求数据的情况下,传感器数据的获取可以被管理,例如由另一个进程进行管理,从而以适合其操作的速率向每个进程提供数据。
这样的改变、修改和改进旨在成为本公开的一部分,并且旨在在本公开的精神和范围内。例如,在一些实施例中,图像传感器的像素的滤光器102可以不是单独的部件,而是被并入像素子阵列100的其他部件中的一个部件之中。例如,在包括具有到达角至位置强度转换器和滤光器的单个像素的实施例中,到达角至强度转换器可以是由过滤特定波长的材料形成的透射光学部件。
根据一些实施例,可提供一种可穿戴显示系统,该可穿戴显示系统包括:具有灰度相机和彩色相机的头戴式装置,其被定位成提供中心视场的重叠视图;以及处理器,其可操作地耦合到灰度相机和彩色相机并且被配置为:使用从由灰度相机和彩色相机获取的图像立体地确定的第一深度信息来创建世界模型;并使用灰度相机和世界模型跟踪头部姿势。
在一些实施例中,灰度相机可以包括全光相机,并且处理器可以进一步被配置为:使用全光相机获取光场信息,并且使用光场信息对满足深度标准的世界模型的部分执行世界模型更新例程。
在一些实施例中,距离头戴式装置小于1.5米的世界模型的部分可以满足深度标准。
在一些实施例中,处理器还可以被配置为禁用彩色相机或降低彩色相机的帧速率。
在一些实施例中,处理器还可以被配置为评估头部姿势跟踪质量标准,并且基于该评估,启用彩色相机和使用从由灰度相机和彩色相机获取的图像立体确定的深度信息来跟踪头部姿势。
在一些实施例中,灰度相机可以包括全光相机和
头部姿势跟踪可以使用灰度相机获取的光场信息。
在一些实施例中,全光相机可以包括透射衍射掩模。
在一些实施例中,灰度相机的水平视场的范围可以在90度到175度之间并且中心视场的范围可以在40度到120度之间。
在一些实施例中,世界模型可以包括三维块,三维块包括体素,并且世界模型更新例程可以包括识别视锥内的块,视锥具有最大深度,并使用使用全光相机获取的深度信息更新所识别的内的体素。。
在一些实施例中,处理器还可以被配置为:确定对象是否在中心视场内;以及基于该确定,当对象在中心视图内时,使用从由灰度相机和彩色相机获取的图像立体地确定的深度信息来跟踪对象;当对象在彩色相机的中心视场外部的外围视场内时,使用由彩色相机获取的一个或多个图像来跟踪该对象。
在一些实施例中,头戴式装置的重量可以在30到300克之间,并且处理器还可以被配置为执行校准例程以确定灰度相机和彩色相机的相对取向。
在一些实施例中,校准例程可以包括识别用两个相机中的每一个获取的图像中的对应特征;计算两个相机的多个估计相对取向中的每一个的误差,其中该误差指示出现在用两个相机中的每一个获取的图像中的对应特征与基于两个相机的估计相对取向计算的识别特征的估计之间的差异;并且基于计算的误差选择多个估计的相对取向中的相对取向作为确定的相对取向。
在一些实施例中,处理器还可以被配置为在佩戴可穿戴显示系统的同时重复执行校准例程,使得校准例程在可穿戴显示系统的使用期间补偿框架中的失真。
在一些实施例中,校准例程可以补偿由温度变化引起的框架中的失真。
在一些实施例中,校准程序可以补偿由机械应变引起的框架中的失真。
在一些实施例中,处理器可以机械地耦合到头戴式装置。
在一些实施例中,头戴式装置可以包括机械耦合到处理器的显示设备。
在一些实施例中,本地数据处理模块可以包括处理器,本地数据处理模块通过通信链路可操作地耦合到显示设备,并且其中,头戴式装置可以包括显示设备。
根据一些实施例,提供了一种可穿戴显示系统,该可穿戴显示系统包括:框架;机械耦合到框架的第一相机和机械耦合到框架的第二相机,其中第一相机和第二相机被定位以提供与第一相机和第二相机相关联的中心视场,并且其中在第一相机和第二相机中的至少一个包括全光相机;处理器可操作地耦合到第一相机和第二相机,并被配置为:确定对象是否在中心视场内;当对象在中心视场内时,确定对象是否满足深度标准;当被跟踪对象在中心视场内且不满足深度标准时,使用从由第一相机和第二相机获取的图像立体确定的深度信息跟踪对象;当被跟踪的对象在中心视场内并且满足深度标准时,使用由第一相机和第二相机中的一个获取的光场信息确定的深度信息来跟踪对象。
在一些实施例中,对象可以是头戴式装置的佩戴者的手部。
在一些实施例中,全光相机可以包括透射衍射掩模。
在一些实施例中,第一相机可以包括全光相机,并且处理器可以被进一步配置为:使用由第一相机和第二相机获取的图像创建世界模型;使用由第一相机获取的光场信息更新世界模型;确定更新的世界模型不满足质量标准;并根据确定,启用第二相机。
在一些实施例中,第一相机的水平视场的范围可以在90度到175度之间,并且中心视场的范围可以在40度到80度之间。
在一些实施例中,处理器还可以被配置为向第一相机或第二相机中的至少一个提供指令以将图像捕获限制到像素的子集。
在一些实施例中,第二相机可以被定位以提供外围视场,并且处理器可以被进一步配置为确定对象是否在外围视场内,并且当被跟踪的对象在外围视场内部时,使用第二相机来跟踪对象。
在一些实施例中,第二相机可以包括全光相机,并且处理器可以被进一步配置为当被跟踪的对象在外围视场内并且满足深度标准时,使用从第二相机获得的光场信息来跟踪对象。
在一些实施例中,处理器还可以被配置为确定对象是否已经移动到外围视场中,并且响应于该确定,启用第二相机或增加第二相机的帧速率。
在一些实施例中,当对象在中心视场内时使用深度信息跟踪对象可以包括选择中心视场中的点;使用根据由第一相机和第二相机获取的图像立体确定的深度信息或根据由第一相机或第二相机中的一个获取的光场信息确定的深度信息中的至少一个来确定所选点的深度信息;使用确定的深度信息生成深度图;将深度图的部分与手部模型的包括形状约束和运动约束的相应部分进行匹配。
在一些实施例中,处理器还可以被配置为使用从第二相机获取的一个或多个图像通过将图像的部分与手部模型的包括形状约束和运动约束的相应部分进行匹配来在外围视场中跟踪手部运动。
在一些实施例中,处理器可以机械地耦合到框架。
在一些实施例中,机械耦合到框架的显示设备可以包括处理器。
在一些实施例中,本地数据处理模块可以包括处理器,本地数据处理模块通过通信链路可操作地耦合到显示设备,显示设备机械地耦合到框架。
根据一些实施例,可提供一种可穿戴显示系统,该可穿戴显示系统包括:框架;机械耦合到框架的两个相机,其中两个相机包括:具有全局快门的第一相机,其具有第一视场;和具有滚动快门的第二相机,具有第二视场;其中,第一相机和第二相机被定位以提供:中心视场,其中第一视场与第二视场重叠;中心视场外部的外围视场;以及可操作地耦合到第一相机和第二相机的处理器。
在一些实施例中,第一相机和第二相机可以不对称地向内成角度。
在一些实施例中,第一相机的视场可以大于第二相机的视场。
在一些实施例中,第一相机可以向内成20度到40度之间的角度并且第二相机可以向内成1度到20度之间的角度。
在一些实施例中,第一相机可以是彩色相机,并且第二相机可以是灰度相机。
在一些实施例中,两个相机中的至少一个可以是全光相机。
在一些实施例中,全光相机可以包括透射衍射掩模。
在一些实施例中,处理器可以机械地耦合到框架。
在一些实施例中,机械耦合到框架的显示设备可以包括处理器。
在一些实施例中,第一相机的水平视场的范围可以在90度到175度之间,并且中心视场的范围可以在40度到80度之间。
此外,尽管指出了本公开的优点,但是应当理解,并非本公开的每个实施例都将包括每个描述的优点。一些实施例可能不实现这里描述为有利的任何特征。因此,前述描述和附图仅作为示例。
本公开的上述实施例可以以多种方式中的任何一种方式来实现。例如,可以使用硬件、软件或其组合来实现实施例。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是在多个计算机中分布。这种处理器可以被实现为集成电路,在集成电路部件中具有一个或多个处理器,包括本领域已知的可商购的集成电路部件,其名称诸如CPU芯片、GPU芯片、微处理器、微控制器或协处理器。在一些实施例中,可以在定制电路(诸如ASIC)或者在通过配置可编程逻辑器件而产生的半定制电路中实现处理器。作为另一替代方案,处理器可以是较大的电路或半导体设备的一部分,无论是可商购的,半定制的还是定制的。作为特定示例,一些可商购的微处理器具有多个核心,使得这些核心中的一个或子集可以构成处理器。但是,可以使用任何适当格式的电路来实现处理器。
此外,应当理解,计算机可以以多种形式中的任何一种形式来体现,诸如机架式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以被嵌入通常不被认为是计算机但具有合适的处理能力的设备中,该设备包括个人数字助理(PDA)、智能电话或任何其它合适的便携式或固定电子设备。
此外,计算机可以具有一个或多个输入和输出设备。这些设备尤其可以用于呈现用户界面。可以用于提供用户界面的输出设备的示例包括用于视觉呈现输出的打印机或显示屏,以及用于听觉呈现输出的扬声器或其它声音生成设备。可以用于用户界面的输入设备的示例包括键盘和指向设备,诸如鼠标、触摸板和数字化平板计算机。作为另一个示例,计算机可以通过语音识别或其它可听格式接收输入信息。在所示的实施例中,输入/输出设备被示为与计算设备物理上分开。然而,在一些实施例中,输入和/或输出设备可以物理地集成到与处理器或计算设备的其它元件相同的单元中。例如,键盘可能实现为触摸屏上的软键盘。在一些实施例中,输入/输出设备可以与计算设备完全断开,并且通过无线连接在功能上集成。
这种计算机可以通过任何适当形式的一个或多个网络互连,包括作为局域网或诸如企业网络或互联网的广域网。这种网络可以基于任何适当的技术,并且可以根据任何适当的协议进行操作,并且可以包括无线网络、有线网络或光纤网络。
此外,在此概述的各种方法或过程可以被编码为可在采用多种操作系统或平台中的任何一种操作系统或平台的一个或多个处理器上执行的软件。另外,可以使用多种合适的编程语言和/或编程或脚本工具中的任何一种来编写此类软件,并且还可以将其编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。
在这方面,本公开可以体现为采用一个或多个程序编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩光盘(CD)、光盘、数字视频盘)(DVD)、磁带、闪存、现场可编程门阵列或其它半导体设备或其它有形计算机存储介质中的电路装置),该程序在一个或多个计算机或其它处理器上执行时将执行实现以上讨论的本公开的各种实施例的方法。从前述示例显而易见,计算机可读存储介质可以将信息保留足够的时间,以提供非暂态形式的计算机可执行指令。这种一个或多个计算机可读存储介质可以是可移动的,使得可以将存储在其上的一个或多个程序加载到一个或多个不同的计算机或其它处理器上,以实现如上所述的本公开的各个方面。如在此所使用的,术语“计算机可读存储介质”仅涵盖可以被认为是制品(即,制造品)或机器的计算机可读介质。在一些实施例中,本公开可以体现为除计算机可读存储介质之外的计算机可读介质,诸如传播信号。
在一般意义上在此使用术语“程序”或“软件”来指代可用于对计算机或其它处理器进行编程以实现如上所述的本公开的各个方面的计算机代码或计算机可执行指令集。另外,应当理解,根据该实施例的一方面,当被执行时执行本公开的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化的方式在多个不同的计算机或处理器之间分布,以实现本公开的各个方面。
计算机可执行指令可以具有许多形式,诸如由一个或多个计算机或其它设备执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。通常,在各种实施例中,程序模块的功能可以根据需要进行组合或分布。
此外,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,可以示出数据结构具有通过数据结构中的位置而相关的字段。同样地,可以通过传达字段之间的关系的在计算机可读介质中的位置为字段分配存储来实现此类关系。然而,可以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签或在数据元素之间建立关系的其它机制。
本公开的各个方面可以单独、组合或在前述实施例中未具体讨论的各种布置中使用,并且因此,在其应用中不限于在前面的描述中阐述或在附图中示出的部件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其它实施例中描述的方面组合。
此外,本公开可以体现为一种方法,已经提供了方法的一个示例。作为该方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构造实施例,其中以与所示出的顺序不同的顺序执行动作,即使在说明性实施例中被示为顺序动作,该动作也可以包括同时执行一些动作。
在权利要求中使用诸如“第一”、“第二”、“第三”等序数术语来修改权利要求元素本身并不表示一个权利要求元素相对于执行方法动作的另一个顺序或临时顺序的任何优先级、优先权或顺序,但仅用作标记,以区分具有某些名称的一个权利要求元素与具有相同名称的另一个元素(但用于序数词)来区分权利要求元素。
另外,在此使用的措词和术语是出于描述的目的,并且不应被视为限制。在此“包括”、“包含”或“具有”、“包含”、“涉及”及其变体的使用旨在涵盖其后列出的项目及其等同物以及其它项目。

Claims (21)

1.一种可穿戴显示系统,所述可穿戴显示系统包括:
头戴式装置,包括一个具有全局快门的第一相机和一个具有滚动快门的第二相机,所述第一相机和所述第二相机被定位为提供中心视场的重叠视图;以及
处理器,其被可操作地耦合到所述第一相机和所述第二相机,并被配置为:
执行补偿例程以针对滚动快门图像失真来调整使用所述第二相机获取的图像;以及
部分地使用根据使用所述第一相机获取的图像和经调整的图像立体地确定的深度信息来创建世界模型。
2.根据权利要求1所述的可穿戴显示系统,其中,所述第一相机和所述第二相机不对称地向内成角度。
3.根据权利要求2所述的可穿戴显示系统,其中,所述第一相机的视场大于所述第二相机的视场。
4.根据权利要求2所述的可穿戴显示系统,其中,所述第一相机向内成20度与40度之间的角度,并且所述第二相机向内成1度与20度之间的角度。
5.根据权利要求1所述的可穿戴显示系统,其中,所述第一相机具有每像素1弧分到5弧分之间的角像素分辨率。
6.根据权利要求1所述的可穿戴显示系统,其中,所述处理器还被配置为执行尺寸缩小例程以调整使用所述第二相机获取的图像。
7.根据权利要求6所述的可穿戴显示系统,其中,所述尺寸缩小例程包括通过对由所述第二相机获取的图像中的像素进行分箱来生成尺寸缩小的图像。
8.根据权利要求1所述的可穿戴显示系统,其中:
所述补偿例程包括:
将使用所述第一相机获取的第一图像与使用所述第二相机获取的第二图像进行比较以检测所述第二图像的至少一部分的偏斜;以及
调整所述第二图像的所述至少一部分以补偿所检测到的偏斜。
9.根据权利要求8所述的可穿戴显示系统,其中:
将使用所述第一相机获取的第一图像与使用所述第二相机获取的第二图像进行比较包括:在由所述第一相机获取的第一图像与由所述第二相机获取的第二图像之间执行逐行比较。
10.根据权利要求1所述的可穿戴显示系统,其中:
所述处理器还被配置为:
基于功率节约标准或世界模型完整性标准中的至少一者,禁用所述第二相机或调制所述第二相机的帧速率。
11.根据权利要求1所述的可穿戴显示系统,其中:
所述第一相机或所述第二相机中的至少一个包括全光相机;以及
所述处理器还被配置为:
部分地使用由所述第一相机或所述第二相机中的所述至少一个获取的光场信息来创建世界模型。
12.根据权利要求1所述的可穿戴显示系统,其中:
所述第一相机包括全光相机;以及
所述处理器还被配置为:
使用使用所述全光相机获取的深度信息来执行世界模型更新例程。
13.根据权利要求1所述的可穿戴显示系统,其中,所述处理器被机械地耦合到所述头戴式装置。
14.根据权利要求1所述的可穿戴显示系统,其中,所述头戴式装置包括被机械地耦合到所述处理器的显示设备。
15.根据权利要求1所述的可穿戴显示系统,其中,本地数据处理模块包括所述处理器,所述本地数据处理模块通过通信链路被可操作地耦合到显示设备,并且其中,所述头戴式装置包括所述显示设备。
16.一种使用可穿戴显示系统来创建世界模型的方法,所述可穿戴显示系统包括:
头戴式装置,包括一个具有全局快门的第一相机和一个具有滚动快门的第二相机,所述第一相机和所述第二相机被定位为提供中心视场的重叠视图;以及
处理器,被可操作地耦合到所述第一相机和所述第二相机;其中,所述方法包括使用所述处理器以:
执行补偿例程以针对滚动快门图像失真来调整使用所述第二相机获取的图像;以及
部分地使用根据使用所述第一相机获取的图像和经调整的图像立体地确定的深度信息来创建所述世界模型。
17.一种可穿戴显示系统,所述可穿戴显示系统包括:
头戴式装置,具有被定位为提供中心视场的重叠视图的灰度相机和彩色相机;以及
处理器,被可操作地耦合到所述灰度相机和所述彩色相机,并被配置为:
使用根据由所述灰度相机和所述彩色相机获取的图像立体地确定的第一深度信息来创建世界模型;以及
使用所述灰度相机和所述世界模型来跟踪头部姿势。
18.一种使用可穿戴显示系统跟踪头部姿势的方法,所述可穿戴显示系统包括:
头戴式装置,具有被定位为提供中心视场的重叠视图的灰度相机和彩色相机;以及
处理器,被可操作地耦合到所述灰度相机和所述彩色相机;其中,所述方法包括使用所述处理器以:
使用根据由所述灰度相机和所述彩色相机获取的图像立体地确定的第一深度信息来创建世界模型;以及
使用所述灰度相机和所述世界模型来跟踪头部姿势。
19.一种可穿戴显示系统,所述可穿戴显示系统包括:
框架;
被机械地耦合到所述框架的第一相机和被机械地耦合到所述框架的第二相机,其中,所述第一相机和所述第二相机被定位为提供与所述第一相机和所述第二相机两者相关联的中心视场,并且其中,所述第一相机和所述第二相机中的至少一个包括全光相机;以及
处理器,被可操作地耦合到所述第一相机和所述第二相机,并被配置为:
确定对象是否在所述中心视场内;
在所述对象在所述中心视场内时,确定所述对象是否满足深度标准;
在被跟踪的对象在所述中心视场内并且不满足所述深度标准时,使用根据由所述第一相机和所述第二相机获取的图像立体地确定的深度信息来跟踪所述对象;以及
在被跟踪的对象在所述中心视场内并且满足所述深度标准时,使用根据由所述第一相机或所述第二相机中的一个相机获取的光场信息所确定的深度信息来跟踪所述对象。
20.一种使用可穿戴显示系统跟踪对象的方法,所述可穿戴显示系统包括:
框架;
被机械地耦合到所述框架的第一相机和被机械地耦合到所述框架的第二相机,其中,所述第一相机和所述第二相机被定位为提供与所述第一相机和所述第二相机两者相关联的中心视场,并且其中,所述第一相机和所述第二相机中的至少一个相机包括全光相机;以及
处理器,被可操作地耦合到所述第一相机和所述第二相机;其中,所述方法包括使用所述处理器以:
确定对象是否在所述中心视场内;
在所述对象在所述中心视场内时,确定所述对象是否满足深度标准;
在被跟踪的对象在所述中心视场内并且不满足所述深度标准时,使用根据由所述第一相机和所述第二相机获取的图像立体地确定的深度信息来跟踪所述对象;以及
在被跟踪的对象在所述中心视场内并且满足所述深度标准时,使用根据由所述第一相机或所述第二相机中的一个相机获取的光场信息所确定的深度信息来跟踪所述对象。
21.一种可穿戴显示系统,所述可穿戴显示系统包括:
框架;
被机械地耦合到所述框架的两个相机,其中,所述两个相机包括:
具有全局快门的第一相机,其具有第一视场;以及
具有滚动快门的第二相机,其具有第二视场;
其中,所述第一相机和所述第二相机被定位为提供:
其中所述第一视场与所述第二视场重叠的中心视场;以及
所述中心视场外部的外围视场;以及
处理器,被可操作地耦合到所述第一相机和所述第二相机。
CN202080026110.9A 2019-02-07 2020-02-07 具有无源深度提取的轻型交叉显示设备 Pending CN113711587A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962802572P 2019-02-07 2019-02-07
US62/802,572 2019-02-07
PCT/US2020/017119 WO2020163662A1 (en) 2019-02-07 2020-02-07 Lightweight cross reality device with passive depth extraction

Publications (1)

Publication Number Publication Date
CN113711587A true CN113711587A (zh) 2021-11-26

Family

ID=71947329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080026110.9A Pending CN113711587A (zh) 2019-02-07 2020-02-07 具有无源深度提取的轻型交叉显示设备

Country Status (5)

Country Link
US (1) US11889209B2 (zh)
EP (1) EP3922010A4 (zh)
JP (1) JP2022519310A (zh)
CN (1) CN113711587A (zh)
WO (1) WO2020163662A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114859561A (zh) * 2022-07-11 2022-08-05 泽景(西安)汽车电子有限责任公司 一种可穿戴显示设备及其控制方法、存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020181461A1 (en) * 2019-03-11 2020-09-17 Nokia Shanghai Bell Co., Ltd. Conditional display of object characteristics
WO2020197961A1 (en) * 2019-03-27 2020-10-01 Ocelot Laboratories Llc Processing of signals using a recurrent state estimator
US20220012990A1 (en) * 2020-07-10 2022-01-13 Angelo Tortola Peripheral vision notification system and method
US20230418084A1 (en) * 2020-11-20 2023-12-28 Airy3D Inc. Diffraction-grating-based systems and methods for stereoscopic and multiscopic imaging
US11512952B1 (en) 2021-06-30 2022-11-29 Microsoft Technology Licensing, Llc Enhanced detection of sensor misalignments by coordinating sensors utilizing multiple sensing modalities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796344A (zh) * 2014-10-07 2017-05-31 艾尔比特系统有限公司 锁定在感兴趣对象上的放大图像的头戴式显示
CN108139204A (zh) * 2015-10-09 2018-06-08 索尼株式会社 信息处理装置、位置和/或姿态的估计方法及计算机程序
CN108307675A (zh) * 2015-04-19 2018-07-20 快图凯曼有限公司 用于vr/ar应用中的深度增强的多基线相机阵列系统架构

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2318411B (en) 1996-10-15 1999-03-10 Simage Oy Imaging device for imaging radiation
US6271785B1 (en) 1998-04-29 2001-08-07 Texas Instruments Incorporated CMOS imager with an A/D per pixel convertor
JP4612932B2 (ja) 2000-06-01 2011-01-12 ホーチキ株式会社 赤外線検出素子および赤外線2次元イメージセンサ
US20030174146A1 (en) 2002-02-04 2003-09-18 Michael Kenoyer Apparatus and method for providing electronic image manipulation in video conferencing applications
NL1030678C1 (nl) 2005-12-15 2006-02-06 Internova Holding Bvba Camerasysteem.
US7812879B2 (en) 2007-10-30 2010-10-12 Fairchild Imaging Self-triggering CMOS image sensor
US8929601B2 (en) 2007-12-05 2015-01-06 John Caulfield Imaging detecting with automated sensing of an object or characteristic of that object
US8809758B2 (en) 2008-07-25 2014-08-19 Cornell University Light field image sensor with an angle-sensitive pixel (ASP) device
US9298007B2 (en) 2014-01-21 2016-03-29 Osterhout Group, Inc. Eye imaging in head worn computing
GB201013783D0 (en) 2010-08-17 2010-09-29 Isis Innovation Image sensor
JP2012198075A (ja) 2011-03-18 2012-10-18 Ricoh Co Ltd ステレオカメラ装置、画像補整方法
KR20130003135A (ko) * 2011-06-30 2013-01-09 삼성전자주식회사 다시점 카메라를 이용한 라이트 필드 형상 캡처링 방법 및 장치
KR101819980B1 (ko) 2011-09-09 2018-01-19 삼성전자주식회사 광센싱 장치 및 그 구동 방법, 광센싱 장치를 포함하는 광터치 스크린 장치
JP5646421B2 (ja) 2011-09-22 2014-12-24 株式会社東芝 固体撮像装置および固体撮像システム
KR101724513B1 (ko) 2011-12-19 2017-04-07 유니베르시태트 취리히 포토어레이, 특히 시간 의존성 이미지 데이터의 비동기성 검출과 샘플링된 밝기의 감지를 동시 실시하기 위한 포토어레이
US9036065B1 (en) 2012-08-16 2015-05-19 Rambus Inc. Shared-counter image sensor
US8836768B1 (en) * 2012-09-04 2014-09-16 Aquifi, Inc. Method and system enabling natural user interface gestures with user wearable glasses
US8908041B2 (en) * 2013-01-15 2014-12-09 Mobileye Vision Technologies Ltd. Stereo assist with rolling shutters
US9788714B2 (en) * 2014-07-08 2017-10-17 Iarmourholdings, Inc. Systems and methods using virtual reality or augmented reality environments for the measurement and/or improvement of human vestibulo-ocular performance
WO2014120088A1 (en) 2013-01-31 2014-08-07 Nanyang Technological University Image sensors and methods for controlling an image sensor
US9519972B2 (en) 2013-03-13 2016-12-13 Kip Peli P1 Lp Systems and methods for synthesizing images from image data captured by an array camera using restricted depth of field depth maps in which depth estimation precision varies
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US10408613B2 (en) 2013-07-12 2019-09-10 Magic Leap, Inc. Method and system for rendering virtual content
US9171403B2 (en) 2014-02-13 2015-10-27 Microsoft Technology Licensing, Llc Contour completion for augmenting surface reconstructions
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9677840B2 (en) * 2014-03-14 2017-06-13 Lineweight Llc Augmented reality simulator
CN105022982B (zh) 2014-04-22 2019-03-29 北京邮电大学 手部运动识别方法和装置
CA2960427A1 (en) 2014-10-07 2016-04-14 Nokia Technologies Oy Camera devices with a large field of view for stereo imaging
WO2016073557A1 (en) 2014-11-04 2016-05-12 The University Of North Carolina At Chapel Hill Minimal-latency tracking and display for matching real and virtual worlds
CN107079122B (zh) 2014-11-10 2020-11-03 株式会社尼康 光检测装置、拍摄装置以及拍摄元件
US9754419B2 (en) 2014-11-16 2017-09-05 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
US10073516B2 (en) 2014-12-29 2018-09-11 Sony Interactive Entertainment Inc. Methods and systems for user interaction within virtual reality scene using head mounted display
US10154239B2 (en) 2014-12-30 2018-12-11 Onpoint Medical, Inc. Image-guided surgery with surface reconstruction and augmented reality visualization
US9767613B1 (en) 2015-01-23 2017-09-19 Leap Motion, Inc. Systems and method of interacting with a virtual object
US11956414B2 (en) 2015-03-17 2024-04-09 Raytrx, Llc Wearable image manipulation and control system with correction for vision defects and augmentation of vision and sensing
US10085005B2 (en) * 2015-04-15 2018-09-25 Lytro, Inc. Capturing light-field volume image and video data using tiled light-field cameras
WO2016181391A1 (en) 2015-05-11 2016-11-17 Technion Research & Development Foundation Limited Image sensor and method of fabricating the same
US10165949B2 (en) 2015-06-14 2019-01-01 Facense Ltd. Estimating posture using head-mounted cameras
US20170285343A1 (en) 2015-07-13 2017-10-05 Mikhail Belenkii Head worn display with foveal and retinal display
US10127725B2 (en) * 2015-09-02 2018-11-13 Microsoft Technology Licensing, Llc Augmented-reality imaging
US10318008B2 (en) 2015-12-15 2019-06-11 Purdue Research Foundation Method and system for hand pose detection
WO2017106875A1 (en) 2015-12-18 2017-06-22 Gerard Dirk Smits Real time position sensing of objects
US10114465B2 (en) 2016-01-15 2018-10-30 Google Llc Virtual reality head-mounted devices having reduced numbers of cameras, and methods of operating the same
KR102487546B1 (ko) 2016-06-28 2023-01-10 매직 립, 인코포레이티드 개선된 카메라 캘리브레이션 시스템, 타겟 및 프로세스
TWI595771B (zh) 2016-10-20 2017-08-11 聚晶半導體股份有限公司 影像深度資訊的優化方法與影像處理裝置
EP3555865A4 (en) 2016-12-13 2020-07-08 Magic Leap, Inc. RENDERING OF 3D OBJECTS BY DETECTING CHARACTERISTICS
US10650552B2 (en) 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
US10209520B2 (en) 2016-12-30 2019-02-19 Microsoft Technology Licensing, Llc Near eye display multi-component dimming system
US10477107B2 (en) * 2017-01-27 2019-11-12 Invensense, Inc. Electronic image stabilization of a captured image
US11347054B2 (en) 2017-02-16 2022-05-31 Magic Leap, Inc. Systems and methods for augmented reality
CN110431841B (zh) 2017-03-21 2021-08-17 奇跃公司 虚拟、增强和混合现实系统的深度感测技术
US10914957B1 (en) 2017-05-30 2021-02-09 Apple Inc. Video compression methods and apparatus
US10152775B1 (en) * 2017-08-08 2018-12-11 Rockwell Collins, Inc. Low latency mixed reality head wearable device
KR102419979B1 (ko) * 2017-08-09 2022-07-13 엘지디스플레이 주식회사 표시장치, 전자기기 및 토글링 회로
US9990761B1 (en) 2017-08-30 2018-06-05 Go Ghost, LLC Method of image compositing directly from ray tracing samples
EP3729376A4 (en) 2017-12-22 2021-01-20 Magic Leap, Inc. PROCESS OF RENDERING OF OCCLUSION USING A RAY THROWING AND ACTUAL DEPTH
US11190714B2 (en) * 2018-03-08 2021-11-30 Sony Interactive Entertainment Inc. Electronic device, head-mounted display, gaze point detector, and pixel data readout method
US10976814B2 (en) 2018-04-16 2021-04-13 Google Llc Method and system for eye tracking with glint space recalibration on wearable heads-up display
US11202006B2 (en) 2018-05-18 2021-12-14 Samsung Electronics Co., Ltd. CMOS-assisted inside-out dynamic vision sensor tracking for low power mobile platforms
US10897586B2 (en) * 2018-06-28 2021-01-19 Facebook Technologies, Llc Global shutter image sensor
US11269402B1 (en) 2018-08-03 2022-03-08 Snap Inc. User interface interaction paradigms for eyewear device with limited field of view
WO2020101892A1 (en) 2018-11-12 2020-05-22 Magic Leap, Inc. Patch tracking image sensor
WO2020101895A1 (en) 2018-11-12 2020-05-22 Magic Leap, Inc. Event-based camera with high-resolution frame output
US20220014689A1 (en) 2018-11-13 2022-01-13 Magic Leap, Inc. Event-based ir camera
CN113454518A (zh) 2018-12-21 2021-09-28 奇跃公司 多相机交叉现实设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796344A (zh) * 2014-10-07 2017-05-31 艾尔比特系统有限公司 锁定在感兴趣对象上的放大图像的头戴式显示
CN108307675A (zh) * 2015-04-19 2018-07-20 快图凯曼有限公司 用于vr/ar应用中的深度增强的多基线相机阵列系统架构
CN108139204A (zh) * 2015-10-09 2018-06-08 索尼株式会社 信息处理装置、位置和/或姿态的估计方法及计算机程序

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114859561A (zh) * 2022-07-11 2022-08-05 泽景(西安)汽车电子有限责任公司 一种可穿戴显示设备及其控制方法、存储介质
CN114859561B (zh) * 2022-07-11 2022-10-28 泽景(西安)汽车电子有限责任公司 一种可穿戴显示设备及其控制方法、存储介质

Also Published As

Publication number Publication date
WO2020163662A1 (en) 2020-08-13
US20220132056A1 (en) 2022-04-28
JP2022519310A (ja) 2022-03-22
US11889209B2 (en) 2024-01-30
EP3922010A1 (en) 2021-12-15
EP3922010A4 (en) 2022-10-26

Similar Documents

Publication Publication Date Title
US20220129066A1 (en) Lightweight and low power cross reality device with high temporal resolution
US20220051441A1 (en) Multi-camera cross reality device
US11889209B2 (en) Lightweight cross reality device with passive depth extraction
US10437347B2 (en) Integrated gestural interaction and multi-user collaboration in immersive virtual reality environments
US11778159B2 (en) Augmented reality with motion sensing
US20220206588A1 (en) Micro hand gestures for controlling virtual and graphical elements
US11531402B1 (en) Bimanual gestures for controlling virtual and graphical elements
US20240045509A1 (en) Mode switching for integrated gestural interaction and multi-user collaboration in immersive virtual reality environments
US20220014689A1 (en) Event-based ir camera
US20240143068A1 (en) Event-based camera with high-resolution frame output
CN104145276A (zh) 用于通过光学成像进行的对象检测和表征的增强对比度
KR20230028532A (ko) 가상 현실 경험들을 위한 지상 실측값 데이터세트들의 생성
CN106200985A (zh) 桌面型个人沉浸虚拟现实交互设备
WO2020101891A1 (en) Depth based dynamic vision sensor
US11902677B2 (en) Patch tracking image sensor
CN114341943A (zh) 使用平面提取的简单环境求解器
US20240137665A1 (en) Lightweight cross reality device with passive depth extraction
US11985440B2 (en) Depth based dynamic vision sensor
US20240137664A1 (en) Patch tracking image sensor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination