欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于同步图像传感器的系统和方法独创技术54254字

用于同步图像传感器的系统和方法

2021-02-04 11:12:44

用于同步图像传感器的系统和方法

  交叉引用

  本申请要求于2018年4月9日提交的题为“SYSTEMS AND METHODS FORSYNCHRONIZING IMAGE SENSORS”的第15/948,242号美国非临时申请的优先权,其全部内容通过引用结合于此。

  背景

  增强现实(AR)和虚拟现实(VR)眼戴式设备(eyewear device)或头戴式设备(headset)可以使用户能够体验激动人心的事件,例如在计算机生成的三维世界模拟中与人交互,或者查看叠加在现实世界视图上的数据。AR/VR眼戴式设备和头戴式设备也可以用于娱乐以外的目的——政府可以用它们来模拟军事训练、医生可以用它们来练习外科手术、工程师可以用它们来作为可视化辅助工具。

  AR/VR系统通常包括多个图像传感器或照相机,或者集成在眼戴式设备或头戴式设备本身内,或者安装在各种外部设备或附件上。这些图像传感器通常需要不同曝光持续时间,这是由于例如图像传感器暴露于不同的照明场景(例如,明亮对比昏暗的环境)和/或由于它们的预期目的(例如,对于VR头戴式设备的内向外位置跟踪(inside-outpositional tracking),可能需要比跟踪具有嵌入式红外发光二极管的VR控制器更长的曝光持续时间)。

  同步具有不同曝光持续时间的图像传感器的传统尝试通常包括对齐传感器各自曝光持续时间的开始。然而,如果这些曝光持续时间的开始是对齐的,它们的中心点通常会未对齐,因为它们的长度不同。不幸的是,这可能导致在这些曝光持续时间期间捕获的对象或特征的质心未对齐(尤其是如果头戴式设备/图像传感器或者被跟踪的对象或特征正在移动),这可能导致用于跟踪这些对象或特征的计算机视觉计算中的误差。例如,如果由安装在VR头戴式设备上不同位置处的图像传感器捕获的对象的质心未对齐,VR跟踪系统可能难以准确地跟踪VR用户的头部姿态。

  概述

  如下文将更详细描述的,本公开描述了使具有不同曝光持续时间的图感器同步的各种方法,以正确地跟踪由这种图像传感器捕获的帧内的对象和/或特征。根据一些实施例,能够完成这种任务的装置可以包括:数据管理部件,其被配置为从具有不同曝光持续时间的多个图像传感器接收传感器数据;同步部件,其被配置为向多个图像传感器发送快门同步脉冲;以及跟踪部件,其被配置为将多个图像传感器的不同曝光持续时间对中(center)。可以至少部分地基于快门同步脉冲将多个图像传感器的不同曝光持续时间对中。

  在一些示例中,为了将不同曝光持续时间在时间上对中,跟踪部件还可以被配置成:(1)识别比第二图像传感器的第二曝光持续时间短的第一图像传感器的第一曝光持续时间,(2)至少部分地基于第一曝光持续时间的长度和第二曝光持续时间的长度,计算第一曝光持续时间的消隐持续时间(blanking duration),该消隐持续时间将第一曝光持续时间与第二曝光持续时间在时间上对中,然后(3)指示同步部件将消隐持续时间加到第一曝光持续时间上,以将第一曝光持续时间与第二曝光持续时间在时间上对中。

  在一些实施例中,不同曝光持续时间中的一个可以与动态变化的光环境相关联。在一些示例中,至少一个图像传感器可以被配置成在不同长度的曝光持续时间之间交替。在这些示例中,不同长度的交替曝光持续时间内的初始曝光持续时间可以短于不同长度的交替曝光持续时间内的后续曝光持续时间。此外,跟踪部件可以被配置成使用在后续曝光持续时间期间获得的传感器数据,来跟踪包括多个图像传感器的头戴式显示系统。跟踪部件还可以被配置成使用在初始曝光持续时间期间获得的传感器数据,来跟踪与头戴式显示系统相关联的外部控制器。在初始曝光持续时间期间获得的传感器数据可以包括基准的图像。在一些示例中,这些基准可以是由外部控制器内的红外(IR)发光二极管(LED)发射的光的图案。

  此外,跟踪部件可以被配置成使得至少一个图像传感器交替地捕获位置跟踪帧和控制器跟踪帧。在一些示例中,控制器跟踪帧可以在位置跟踪帧之前。在这些示例中,为了将位置跟踪帧的曝光持续时间与另一图像传感器的另一个位置跟踪帧的曝光持续时间在时间上对中,跟踪部件可以被配置成:(1)计算控制器跟踪帧的垂直定时大小(verticaltiming size),该垂直定时大小将导致位置跟踪帧与另一个位置跟踪帧在时间上对中,以及(2)指示同步部件配置至少一个图像传感器,以使用所计算的控制器跟踪帧的垂直定时大小来将位置跟踪帧与另一个位置跟踪帧在时间上对中。在一些实施例中,快门同步脉冲可以包括帧同步输入。

  类似地,相应的系统可以包括具有不同曝光持续时间的多个图像传感器、被配置为从多个图像传感器接收传感器数据的数据管理部件、被配置为向多个图像传感器发送快门同步脉冲的同步部件、以及被配置为至少部分地基于快门同步脉冲,将多个图像传感器的不同曝光持续时间在时间上对中的跟踪部件。

  在一些实施例中,为了将不同曝光持续时间在时间上对中,跟踪部件可以被配置成:(1)识别比第二图像传感器的第二曝光持续时间短的第一图像传感器的第一曝光持续时间,(2)至少部分地基于第一曝光持续时间的长度和第二曝光持续时间的长度,计算将第一曝光持续时间与第二曝光持续时间在时间上对中的第一曝光持续时间的消隐持续时间,然后(3)指示同步部件将消隐持续时间加到第一曝光持续时间上,以将第一曝光持续时间与第二曝光持续时间在时间上对中。

  不同曝光持续时间可以与动态变化的光环境相关联。此外,至少一个图像传感器可以被配置成在不同长度的多个曝光持续时间之间交替。在一个示例中,不同长度的交替曝光持续时间内的初始曝光持续时间可以短于不同长度的交替曝光持续时间内的后续曝光持续时间。在该示例中,跟踪部件可以被配置成使用在后续曝光持续时间期间获得的传感器数据来跟踪包括多个图像传感器的头戴式显示系统,并且使用在初始曝光持续时间期间获得的传感器数据来跟踪与头戴式显示系统相关联的外部控制器。在初始曝光持续时间期间获得的传感器数据可以包括由外部控制器内的IR LED发射的光的图案的图像。

  此外,跟踪部件可以被配置成使得至少一个图像传感器交替地捕获位置跟踪帧和控制器跟踪帧。在一些实施例中,快门同步脉冲可以例如通过物理线路上的事件表示帧同步输入。在其他实施例中,帧同步输入可以是经由命令总线协议发送到图像传感器的命令。跟踪部件还可以被配置成改变多个图像传感器中的每一个的曝光持续时间。

  相应的计算机实现的方法可以包括:识别多个图像传感器的不同曝光持续时间、向多个图像传感器发送快门同步脉冲、以及至少部分地基于快门同步脉冲,将多个图像传感器的不同曝光持续时间在时间上对中。

  在一些示例中,上述方法可以被编码为在计算机可读介质上的计算机可读指令。例如,计算机可读介质可以包括一个或更多个计算机可执行指令,当由计算设备的至少一个处理器执行时,该指令可以使计算设备识别多个图像传感器的不同曝光持续时间、向多个图像传感器发送快门同步脉冲、以及至少部分地基于快门同步脉冲,将多个图像传感器的不同曝光持续时间在时间上对中。

  在一些示例中,一个或更多个计算机可读非暂时性存储介质体现软件,该软件在被执行时可操作以在根据本发明或任何上述实施例的装置或系统中执行。

  在一些示例中,计算机实现的方法使用根据本发明或任何上述实施例的装置或系统。

  在一些示例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品被用在根据本发明或任何上述实施例的装置或系统中。

  根据本文描述的一般原理,来自上面提到的实施例中的任一个的特征可以与彼此组合地被使用。当结合附图和权利要求阅读下面的详细描述时,这些和其他实施例、特征和优点将被更充分地理解。

  在涉及装置、系统和方法的所附权利要求中具体公开了根据本发明的实施例,其中,在一个权利要求类别(例如装置)中提到的任何特征也可以在另一个权利要求类别(例如系统、存储介质、方法和计算机程序产品)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。

  附图简述

  附图示出了许多示例性实施例,并且是说明书的一部分。这些附图连同下面的描述一起展示并解释了本公开的各种原理。

  图1是示例性头戴式显示器的透视图,该头戴式显示器可结合本文所述的系统和方法使用或从中受益。

  图2是示例性时间线(timeline)的图示,其突出了与在AR/VR和/或其他计算机视觉相关系统中利用具有不同曝光持续时间的图像传感器相关联的同步问题。

  图3是描绘根据本公开的一个或更多个实施例的具有不同曝光持续时间的图像传感器的同步的示例性时间线的图示。

  图4是根据本公开的一个或更多个实施例的图像传感器的示例性时间线的图示,该图像传感器被配置成在不同长度的曝光持续时间之间交替。

  图5是示例性时间线的图示,其中来自图3和图4的同步和帧交错(frameinterleaving)概念已经被组合。

  图6是能够实现和/或结合本文描述的方法使用的示例性系统的框图。

  图7是图6所示系统的示例性实现的框图。

  图8是根据本公开的一个或更多个实施例的用于同步具有不同曝光持续时间的图像传感器的方法的流程图。

  图9是根据本公开的一个或更多个实施例的用于交错具有不同曝光持续时间的帧的方法的流程图。

  在所有附图中,相同的参考符号和描述表示相似但不一定相同的元素。虽然本文描述的示例性实施例易于进行各种修改和替代形式,但是特定实施例已经通过附图中的示例示出,并且将在本文详细描述。然而,本文描述的示例性实施例不旨在限于所公开的特定形式。更确切地,本公开覆盖了落入所附权利要求的范围内的所有修改、等同物和替代物。

  示例性实施例的详细描述

  本公开总体上涉及同步具有不同曝光持续时间的图像传感器。如上详述,多个图像传感器可以安装或嵌入到眼戴式设备、头戴式设备或者AR或VR系统的其他附件中。这些图像传感器可以基于例如它们暴露于不同的照明场景和/或它们的预期目的,使用不同曝光持续时间来捕获图像(例如,对于头戴式显示器的内向外位置跟踪,可能需要比跟踪具有嵌入式IR LED的控制器更长的曝光持续时间)。不幸的是,如果这些图像传感器没有适当地同步,跟踪由这些图像传感器捕获的对象或特征所需的计算机视觉和/或跟踪计算可能会产生各种误差,潜在地导致较差的用户体验。如下文将更详细描述的,为了确保这些图像传感器在时间上对齐并且为了跟踪的目的而同步,本文描述的系统可以首先确定每个图像传感器的最佳曝光和增益值。本文描述的系统然后可以使用各种消隐技术(例如,基于所确定的值和外部参考信号,例如快门同步脉冲),来将每个图像传感器的曝光持续时间对中,确保图像传感器同步,尽管它们的曝光持续时间不同。通过这样做,本文描述的系统可以避免或减少上面详述的计算机视觉计算问题,潜在地为最终用户带来更准确、更真实的体验。

  在一些示例中,本文描述的系统还可以配置这些图像传感器中的一个或更多个,以在不同长度的曝光持续时间之间交替,使得同一图像传感器可以用于不同的目的,例如内向外位置头戴式设备跟踪和跟踪具有嵌入式IR LED的控制器,潜在地降低AR/VR系统的成本、重量和/或复杂性。通过将图像传感器配置成在不同曝光长度之间交替(例如,通过将图像传感器配置成将控制器跟踪帧与内向外位置跟踪帧交错),本文所述的系统可以使同一图像传感器能够用于不同的目的。这继而可以显著减少最终系统所需的图像传感器的数量,这可以使系统制造更便宜并且更轻,这可以(在可穿戴设备的情况下)使最终系统对于最终用户(end user)穿戴起来更舒适。

  图1描绘了示例性头戴式显示器100的透视图,该头戴式显示器100可结合本文所述的各种系统和方法使用或从中受益。该图中所示的头戴式显示器100可以包括与生成AR/VR体验相关联的各种部件中的任何一种。这种部件的示例包括但不限于传感器(例如,图像传感器、音频传感器、惯性测量单元等)、计算部件(例如,通用处理器、专用处理器等)、通信部件(例如,无线收发器)、显示部件(例如单个或多个显示面板)和/或电源管理部件(例如,感应充电部件、电池等)。例如,如图1所示,头戴式显示器100可以包括嵌入在头戴式显示器100的不同部分中以捕获其周围环境中的图像或数据的多个图像传感器(例如,照相机),例如图像传感器105A-105D。头戴式显示器100还可以包括蓄电部件或电池110,以存储电力来使头戴式显示器100能够工作。此外,头戴式显示器100可以包括空间音频部件115,其使得用户能够听到由头戴式显示器100生成的、作为AR或VR体验的一部分的音频数据。在一些实施例中,图像传感器105A-105D可以具有重叠的视场。例如,每个传感器看到的视场(例如,环境)可以与另一个传感器重叠。在另一个示例中,图像传感器105A-105D可以不具有重叠的视场。

  在一些实施例中,头戴式显示器100可以包括被配置为显示计算机生成的图像(例如,AR/VR图像)的多个显示面板120。在一些示例中,显示面板120可以允许用户使用所谓的直通照相机(pass-through camera)来观看现实世界,但是可以用额外的计算机生成的信息来叠加或增强现实世界视图。在一些实施例中,并且如下面将结合图5更详细描述的,头戴式显示器100还可以包括被设计成便于图像传感器105同步的各种计算和/或通信部件。

  图2是示例性时间线200的图示,其突出了与在AR/VR和/或其他计算机视觉相关系统中利用具有不同曝光持续时间的图像传感器相关联的同步问题。在图2-图3中,横轴表示时间,并且每个框(box)的宽度表示以时间(例如,毫秒)为单位的曝光持续时间。如图所示,图像传感器205A的曝光持续时间210A和215A可以分别不同于图像传感器205B的曝光持续时间210B和215B。如上详述,这些曝光持续时间可能由于各种原因而不同,这些原因包括例如图像传感器暴露于不同的照明场景(例如,明亮对比昏暗的环境)和/或由于它们的预期目的(例如,对于VR头戴式设备的内向外位置跟踪,可能需要比跟踪具有嵌入式IR LED的控制器更长的曝光持续时间)。例如,如果图像传感器205A面对房间的黑暗角落,而图像传感器205B面对明亮的窗户,则图像传感器205A可能需要比图像传感器205B更长的曝光持续时间,以便捕获足够的光来准确地识别环境中的对象。

  同步图像传感器的传统尝试通常包括对齐传感器各自曝光持续时间的开始。例如,在传统系统中,曝光持续时间210A的开始通常与曝光持续时间210B的开始对齐;类似地,曝光持续时间215A的开始通常与曝光持续时间215B的开始对齐。然而,如该图所示,因为曝光持续时间210A和210B的开始是对齐的,并且因为这些曝光持续时间在长度上不同,所以曝光持续时间210A和210B的中心将是未对齐的(如分隔线202所示)。类似地,曝光持续时间215A和215B的中心也将是未对齐的(如分隔线204所示)。不幸的是,这可能导致在曝光持续时间210A和210B(以及类似地,在曝光持续时间215A和215B)期间捕获的对象或特征的质心未对齐(尤其是如果头戴式设备/图像传感器或者被跟踪的对象或特征正在移动),这可能导致用于跟踪这些对象或特征的计算机视觉计算(例如依赖三角测量来准确地计算对象深度的3D跟踪操作)中的误差。例如,如果由安装在VR头戴式设备上不同位置处的图像传感器捕获的对象的质心不对齐,VR跟踪系统可能难以准确地跟踪VR用户的头部姿态。

  图3是描绘根据本公开的一个或更多个实施例的具有不同曝光持续时间的图像传感器的同步的示例性时间线300的图示。与图2中的曝光持续时间一样,图3中的图像传感器305A的曝光持续时间310A和315A可以分别不同于图像传感器305B的曝光持续时间310B和315B。然而,利用将在下面结合图5-图8更详细解释的技术,本文描述的系统可以将图像传感器305A的曝光持续时间310A和315A分别与图像传感器305B的曝光持续时间310B和315B在时间上对中(如分隔线302和304所示),以确保在曝光持续时间310A/310B和315A/315B期间捕获的被跟踪特征或对象的质心正确地对齐。通过这样做,本文描述的系统可以避免或减少上面详述的计算机视觉计算问题,潜在地为最终用户带来更准确、更真实的体验。

  如下面将结合图5-图8更详细描述的,本文描述的系统可以以各种方式将图像传感器的不同曝光持续时间在时间上对中。在一个示例中,本文描述的系统可以通过以下方式完成这样的任务:计算消隐持续时间来加到图像传感器的较短曝光持续时间上,使得较短曝光持续时间的中心与另一图像传感器的较长曝光持续时间的中心对齐。在一些示例中,术语“消隐持续时间”可以指为曝光持续时间计算的每帧延迟时间,以确保该曝光持续时间与不同长度的至少一个其他曝光持续时间在时间上对中。在一些示例中,可以至少部分地基于所讨论的曝光持续时间相对于绝对时间基准(例如快门同步脉冲)的长度来计算该消隐持续时间。

  例如,如图3所示,本文描述的系统可以计算曝光持续时间310B的消隐持续时间312,当该消隐持续时间312被加到曝光持续时间310B上时,将导致曝光持续时间310B的中心与曝光持续时间310A的中心对齐(如由分隔线302所示)。类似地,本文描述的系统可以计算曝光持续时间315A的消隐持续时间317,当该消隐持续时间317被加到曝光持续时间315A上时,将导致曝光持续时间315A的中心与曝光持续时间315B的中心对中(如分隔线304所示)。

  在图3所示的示例中,曝光持续时间310A的中心可以是从快门同步脉冲303开始大约15毫秒(ms)。在该示例中,本文描述的系统可以计算曝光持续时间310B的消隐持续时间312,以确保曝光持续时间310B的中心也是从快门同步脉冲303开始大约15ms。换句话说,消隐持续时间312可以在曝光持续时间310B期间偏移或延迟图像传感器305B对数据的捕获,以确保在曝光持续时间310B期间捕获的被跟踪对象或特征的质心与在曝光持续时间310A期间由图像传感器305A捕获的同一对象或特征的质心对齐。

  在一些示例中,本文描述的系统还可以配置图像传感器在不同长度的曝光持续时间之间交替,使得同一图像传感器可以用于不同的目的。图4是这种系统的示例性时间线400的图示。如该图所示,图像传感器可以被配置为具有用于各种不同目的(例如VR头戴式设备的内向外位置跟踪和跟踪具有嵌入式IR LED的相关VR控制器)的不同曝光持续时间406。例如,本文描述的系统可以配置图像传感器在不同长度的多个曝光持续时间之间交替,例如短曝光持续时间410(其可以用于例如控制器跟踪)和长曝光持续时间412和414(其可以用于例如VR头戴式设备的内向外位置跟踪)。在该示例中,短曝光持续时间410的长度可以是大约15微秒-100微秒(μs),而长曝光持续时间412和414的长度范围可以从大约1ms到大约14ms。

  在图4所示的示例中,(例如,在读出持续时间408期间)由图像传感器捕获的帧可以被读出,以允许图像传感器重置并捕获下一个数据帧。在该示例中,快门同步脉冲402可以用于指示用于控制器跟踪的短曝光持续时间410的开始。此外,嵌入控制器内的IR LED404可以发射光的图案,当被图像传感器捕获时,该光的图案可以使跟踪部件或计算机视觉部件能够跟踪控制器(通常称为“星座跟踪(constellation tracking)”的过程)。在一些实施例中,IR LED 404可以在相对短的持续时间405内开启并使用低功率。在这些实施例中,图像传感器可以配置有短曝光持续时间(例如,短曝光持续时间410),其对应于短持续时间405,IR LED 404在该短持续时间405期间发光。

  在一些实施例中,用于控制器跟踪的短曝光持续时间410在长度上可以比用于内向外位置跟踪的曝光持续时间(例如,长曝光持续时间412和414)短得多(例如,大约15μs-100μs对大约1ms至10ms),但是在长度上类似于或等于IR LED 404的开启时间(其长度可以是例如大约15μs-100μs)。在这些实施例中,短曝光持续时间410的相对较短的长度可以帮助图像传感器将IR LED 404隔离或检测为暗背景上的亮点,因为该短曝光持续时间不会允许太多的光进入图像传感器。

  在短曝光持续时间410完成后,在短曝光持续时间410期间由图像传感器捕获的帧可以在读出持续时间420期间被读出到存储器。在该帧已经从图像传感器读出到存储器之后,图像传感器然后可以开始在长曝光持续时间412的持续时间内捕获传感器数据。与短曝光持续时间410相反,图像传感器可以使用长曝光持续时间412和414来捕获帧,用于VR头戴式设备的内向外位置跟踪。如上详述,内向外位置跟踪可能比IR LED星座跟踪需要更多的光(因此需要更多的曝光时间)。这样,长曝光持续时间412和414可以明显长于短曝光持续时间410(例如,大约1ms-10ms对大约15μs-100μs)。如上所解释的,基于图像传感器暴露于不同的照明场景,图像传感器可能需要不同曝光持续时间(例如,昏暗的环境可能需要比明亮的环境更长的曝光持续时间)。这样,虽然短曝光持续时间410可以在长度上保持相对静止,但是长曝光持续时间412和414可以根据照明场景在长度上变化。在完成长曝光持续时间412后,(例如,在读出持续时间422期间)在长曝光持续时间412期间由图像传感器捕获的帧可以被读出到存储器中。然后,在接收到另一个快门同步脉冲402时,可以重复整个循环。在一些实施例中,上述循环可以基于图像传感器的内部状态机来重复,该内部状态机基于由计算设备启用的图像传感器的配置设置来保持重复该循环。

  通过将图像传感器配置成在不同曝光长度之间交替(例如,通过将图像传感器配置成将控制器跟踪帧与内向外位置跟踪帧交错),本文所述的系统可以使同一图像传感器能够用于不同的目的。这继而可以显著减少最终系统所需的图像传感器的数量,这可以使系统制造更便宜、更轻并且穿戴更舒适。

  在一些实施例中,以上结合图3概述的对中或同步概念可以与结合图4讨论的帧交错概念相结合。图5是这种系统的示例性时间线500的图示。在该示例中,本文描述的系统可以配置第一图像传感器550A,以在不同长度的曝光持续时间(例如短曝光持续时间510A(例如,用于控制器跟踪)和长曝光持续时间512A、514A(例如,用于内向外位置跟踪))之间交替,如上面结合图4详细描述的。本文描述的系统可以类似地配置第二图像传感器550B,以在不同长度的曝光持续时间(例如短曝光持续时间510B(例如,用于控制器跟踪)和长曝光持续时间512B、514B(例如,用于内向外位置跟踪))之间交替。在该示例中,本文所述的系统可以将图像传感器550A的交错曝光持续时间512A和514A分别与图像传感器550B的交错曝光持续时间512B和514B在时间上对中(如分隔线501和503所示),以确保在曝光持续时间512A/512B和514A/514B期间捕获的被跟踪特征或对象的质心正确地对齐。通过这样做,本文描述的系统可以避免或减少上面详述的计算机视觉计算问题,潜在地为最终用户带来更准确、更真实的体验。

  如下面将结合图6-图9更详细描述的,本文描述的系统可以以各种方式将不同图像传感器的交错曝光持续时间在时间上对中。在一个示例中,本文描述的系统可以通过以下方式完成这样的任务:(1)识别在位置跟踪帧(例如,长曝光持续时间512B)之前的控制器跟踪帧(例如,短曝光持续时间510B),然后(2)计算控制器跟踪帧的垂直定时大小(VTS),这将导致位置跟踪帧与另一个图像传感器的另一个位置跟踪帧(例如,图像传感器550A的曝光持续时间512A)在时间上对中。例如,在图5所示的时间线500中,本文描述的系统可以计算短曝光持续时间510B的VTS 530B,这将导致图像传感器550B的长曝光持续时间512B与图像传感器550A的长曝光持续时间512A在时间上对中。在一些示例中,短-长曝光持续时间对的总VTS 507(例如,VTS 530A和VTS 532A的组合总数或VTS 530B和VTS 532B的组合总数)将等于快门同步脉冲502的持续时间。在一些示例中,术语“垂直定时大小”(或简称为VTS)可以指维持特定帧速率所需的时钟周期数。在一些示例中,VTS可以以其他单位(例如图像传感器的行周期(line period)的数量)表示。

  多种系统、设备和/或部件中的任何一种可以用于同步具有不同曝光持续时间的图像传感器和/或在同一图像传感器内的不同曝光长度的帧之间交替(即,交错)。图6是一个这样的系统的框图。如该图所示,示例性系统600可以包括与控制器设备606通信的眼戴式设备602。眼戴式设备602通常代表能够显示计算机生成的图像的任何类型或形式的设备。眼戴式设备602的示例包括但不限于AR眼镜、VR头戴式设备和头戴式显示器(HMD)等。

  在一些实施例中,眼戴式设备602可以包括一个或更多个物理处理器,例如物理处理器610。在一个示例中,物理处理器610可以访问和/或修改存储在存储器622中的一个或更多个模块624。附加地或替代地,物理处理器610可以执行一个或更多个模块624来同步眼戴式设备602的图像传感器。

  在一些实施例中,眼戴式设备602可以包括一个或更多个图像传感器612。图像传感器612可以代表任何类型的图像传感器,其可以安装或嵌入到眼戴式设备或头戴式设备和/或外部设备中,并且能够捕获图像数据,例如图片或视频数据。图像传感器612的示例可以包括但不限于红绿蓝(RGB)相机、单色相机和深度感测相机。图像传感器612中的每一个可以被配置为确定图像捕获的不同方面的各种配置设置,例如基于图像传感器612的照明场景的最佳曝光持续时间或增益值。

  在一些实施例中,眼戴式设备602可以包括一个或更多个附加传感器614。传感器614的示例可以包括但不限于红外传感器(例如,跟踪手部移动、眼戴式设备602内的眼睛移动等)、光电元件传感器(photocell sensor)(例如,检测光的传感器)和/或IMU(例如,设计成检测眼戴式设备602的特定力和/或角速度)。在一些实施例中,眼戴式设备602还可以包括陀螺仪、加速度计和磁力计,其可以提供丰富的传感器输入,眼戴式设备602可以将该传感器输入解析为用户的高度准确且复杂的移动。

  在一些实施例中,眼戴式设备602可以包括至少一个无线收发器616。无线收发器616通常代表用于在对应于眼戴式设备602和控制器设备606使用的通信协议的带宽和/或信道中发送和/或接收信号的任何合适的无线电和/或无线收发器。

  在一些示例中,眼戴式设备602可以包括一个或更多个麦克风618。麦克风618可以代表任何类型的音频传感器,其可以安装或嵌入到眼戴式设备602中,并且能够捕获音频数据,例如环境声音或用户的声音。眼戴式设备602还可以包括一个或更多个扬声器,其被配置为播放接收到的任何音频数据。

  在一些实施例中,眼戴式设备602可以包括一个或更多个显示器620。显示器620可以代表任何类型或形式的显示面板,其可以安装或嵌入到眼戴式设备602中,并且能够向用户呈现数据。显示器620的示例包括但不限于液晶显示器(LCD)、硅上液晶(LCos)或有机发光二极管(OLED)。在一些示例中,显示器620可以包括多个微显示器,以增加总分辨率和视场。此外,显示器620可以仅显示计算机生成的图像(CGI)、仅显示来自物理世界的实时图像或者其组合。在一个示例中,显示器620可以具有嵌入在眼戴式设备602中的相应透镜和/或半透明反射镜。

  如图6所示,示例眼戴式设备602还可以包括一个或更多个存储器设备,例如存储器622。在某些实施例中,图6中的一个或更多个模块624可以代表一个或更多个软件应用或程序,当由计算设备执行时,其可以使计算设备执行一个或更多个任务。例如,如下文将更详细描述的,一个或更多个模块624可以代表存储并配置为在眼戴式设备602上运行的模块。一个或更多个模块624还可以代表被配置为执行一个或更多个任务的一个或更多个专用处理器的全部或部分。

  在至少一个实施例中,眼戴式设备602可以包括数据管理模块626,其管理去往和来自眼戴式设备602和/或模块624的数据流。例如,数据管理模块626可以与图像传感器612和/或传感器614、麦克风618和/或显示器620通信,以相应地接收和/或发送数据。

  在至少一个实施例中,眼戴式设备602可以包括跟踪模块628,其可以确定每个图像传感器的最佳曝光和增益值(例如,为了最大化模拟增益以减少运动模糊)。在该实施例中,跟踪模块628可以从一个或更多个图像传感器612和/或数据管理模块626接收数据。在一个示例中,如结合图3和图7-图8所讨论的,跟踪模块628可以接收每个图像传感器612的相应曝光持续时间的指示,并且可以将图像传感器612的不同曝光持续时间对中。在一个示例中,跟踪模块628可以改变每一帧的曝光或增益。

  在至少一个实施例中,眼戴式设备602可以包括同步模块630,其从数据管理模块626和/或跟踪模块628接收数据。例如,同步模块628可以接收向图像传感器612发送快门同步脉冲的指令。在该示例中,如以上结合图3所讨论的,快门同步脉冲可以被图像传感器612用作绝对时间基准,以确保图像传感器同步。

  眼戴式设备602可以通过一个或更多个网络604耦合到控制器设备606。网络604可以包括但不限于不同类型的合适通信网络(例如公共网络(例如,因特网)、专用网络、无线网络、蜂窝网络或任何其他合适的专用和/或公共网络)的组合中的任何一种。此外,网络604的任何部分可以具有与之相关联的任何合适的通信范围,并且可以包括例如全球网络(例如,因特网)、城域网(MAN)、广域网(WAN)、局域网(LAN)或个域网(PAN)。此外,网络604的任何部分可以包括任何类型的介质,网络流量可以通过该介质传送,该介质包括但不限于同轴电缆、双绞线、光纤、混合光纤同轴(HFC)介质、微波地面收发器、射频通信介质、白频谱(white space)通信介质、超高频通信介质、卫星通信介质或其任意组合。

  如上详述,在一个示例中,眼戴式设备602可以与控制器设备606通信。在一些实施例中,控制器设备606可以包括一个或更多个物理处理器,例如物理处理器650。在一个示例中,物理处理器650可以访问和/或修改存储在存储器662中的一个或更多个模块664。

  在一些实施例中,控制器设备606可以包括一个或更多个LED 652。在一些实施例中,LED 652可以代表IR LED。如上详述,LED 652可以产生由眼戴式设备602的图像传感器612捕获的光的图案,眼戴式设备602可以使用该图案来跟踪控制器设备606。例如,LED 652可以根据系统定义的快门持续时间闪烁,如上所述,该快门持续时间可以短于用于内向外位置跟踪的帧的曝光持续时间。

  在一个示例中,控制器设备606可以包括一个或更多个IMU 654,其可以用于捕获控制器设备606的移动。由IMU 654捕获的数据可以用作与眼戴式设备602相关联的AR/VR系统的输入。在一些实施例中,控制器设备606可以包括类似于眼戴式设备602的无线收发器616的至少一个无线收发器656。

  在一些实施例中,控制器设备606可以包括输入设备660。输入设备660通常代表能够从用户捕获数据的任何类型或形式的机制,例如指示器、轨迹板、触摸板、键盘等。由输入设备660捕获的数据可以被传输到眼戴式设备602和/或外部计算设备用于进一步处理。

  控制器设备606还可以包括一个或更多个存储器设备,例如存储器662。如同存储器622一样,存储器662通常代表能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器662可以存储、加载和/或维护一个或更多个模块664。

  在至少一个实施例中,控制器设备606可以包括各种模块664,例如向和/或从眼戴式设备602和/或外部计算设备发送和接收数据的数据管理模块668。数据管理模块668可以管理从控制器设备606的任何部件收集数据和/或向控制器设备606的任何部件传输数据。

  图7是图6所示的系统600的示例性实现的图示。在该示例中,示例性眼戴式设备700可以与控制器设备750通信。如图7所示,眼戴式设备700可以包括片上系统(SoC)730。SoC 730可以代表将计算机系统的各种部件集成在单个衬底上的集成电路。在一个示例中,SoC 730可以代表数据管理部件,该数据管理部件被配置为使用无线收发器710从外部计算系统或设备(例如控制器设备750)接收数据和/或向其发送数据。无线收发器710可以代表能够在对应于眼戴式设备700所使用的通信协议的带宽和/或信道中发送和/或接收信号的任何合适的无线电和/或无线收发器。在一个示例中,SoC 730可以通过MIPI CSI从一个或更多个图像传感器725A、725B、725C、725D(统称为725)接收数据,该MIPI CSI可以用作图像传感器725和主机处理器(例如,SoC 730)之间的接口。

  在一个示例中,SoC 730可以被配置成处理数据(例如,从外部计算设备、图像传感器725等接收的数据)。在一些示例中,SoC 730可以利用音频编解码器735来处理音频数据。SoC 730还可以被配置成接收从接近传感器(proximity sensor)740获得的数据。接近传感器740可以被配置成检测附近的对象(例如,用户的脸),并将接近数据(proximity data)传输到SoC 730。SoC 730还可以处理和/或传输从眼戴式设备700的其他部件接收的数据,以进行处理。该经处理的数据然后可以用于在眼戴式设备700的显示面板705A、705B(统称为705)上显示信息。在一些实施例中,显示面板705可以与同步模块720通信,以确保垂直同步。

  同步模块720可以被配置成从各种不同的部件(例如惯性测量单元(IMU)715和/或SoC 730)接收数据。例如,同步模块720可以从IMU 715接收数据,该数据可以捕获眼戴式设备700的特定力和/或角速度。由IMU 715捕获的数据可以被传输到SoC 730,以供AR或VR系统使用。

  在一些示例中,同步模块720可以被配置成经由帧同步输入(FSIN)702和/或经由内部集成电路704(其可以代表I2C器件)与图像传感器725A、725B、725C、725D(统称为725)通信。同步模块720可以通过从同步模块720到每个图像传感器的相应FISN引脚的相应导线耦合到图像传感器725。在一个示例中,同步模块720可以向图像传感器725发送快门同步脉冲,这可以提供绝对时间基准来帮助同步图像传感器725,如以上结合图1-图5详细描述的。每个图像传感器725还可以具有唯一的I2C地址,同步模块720可以使用该地址来单独地控制每个图像传感器725。

  在一些实施例中,同步模块720可以与控制器设备750的同步模块755通信。在这些实施例中,眼戴式设备700的同步模块720和控制器设备750的同步模块755可以通过无线个域网(WPAN)通信。在一些实施例中,WPAN可以是通过短距离无线网络技术承载的低功率PAN。例如,同步模块720和同步模块755可以使用诸如IEEE 802.15.4的低速率WPAN进行通信。

  在一个示例中,控制器设备750的同步模块755可以管理去往和/或来自控制器设备750的数据流,并且管理控制器设备750的部件(例如,LED 760、IMU 765、输入设备770等)。

  在一些实施例中,LED 760可以代表IR LED,其可以发出人类不可见的光。LED 760也可以是低功率的。如上详述,这些IR LED可以按指定的时间间隔以短持续时间通电。IRLED 760也可以按图案排列或产生可以由眼戴式设备700的图像传感器725捕获的光的图案。如上详述,眼戴式设备700(具体地,SoC 730)然后可以使用捕获的IR LED 760的图案来跟踪控制器设备750。

  控制器设备750的IMU 765可以被设计成例如检测控制器设备750的特定力和/或角速度。由IMU 765捕获的数据可以例如通过同步模块755被传输到眼戴式设备700。当用户与AR或VR系统交互时,来自IMU 765的数据然后可以被与眼戴式设备700相关联的AR或VR系统处理和使用。

  在一些实施例中,控制器设备750可以包括一个或更多个输入设备770。可以被设计成从用户捕获数据的输入设备770可以采取多种形式,例如指示器、轨迹板、键盘、按钮等。由输入设备770捕获的数据可以被传输到眼戴式设备700和/或外部计算设备,用于进一步处理。

  图8是用于同步具有不同曝光持续时间的图像传感器的示例性计算机实现的方法800的流程图。方法800可以由任何合适的计算机可执行代码和/或计算系统(包括图1、图6或图7所示的系统)实现。在一个示例中,图8所示的步骤中的每一个可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,将在下面更详细地提供子步骤的示例。

  如图8所示,在步骤810,本文描述的一个或更多个系统可以确定多个图像传感器(例如图6中的图像传感器612)中的每一个的曝光持续时间。本文描述的系统可以以多种方式执行步骤810。在一些实施例中,图6中的跟踪模块628可以基于如跟踪模块628基于从数据管理模块626和/或图像传感器612接收的数据所确定的图像传感器的当前照明场景和/或预期用途,来识别或确定每个图像传感器612的曝光持续时间。在一些示例中,跟踪模块628还可以确定单个图像传感器的多个曝光持续时间,例如当单个图像传感器被用于内向外位置跟踪和控制器跟踪时(如以上结合图4-图5所详细描述的)。在一个示例中,跟踪模块628可以配置(或使得另一个部件(例如同步模块630)配置)每个图像传感器612,以根据步骤810中确定的曝光持续时间(例如,通过写入图像传感器612内的各种寄存器)来捕获传感器数据。

  在步骤820,本文描述的系统可以为步骤810中确定的曝光持续时间中的至少一个计算消隐持续时间。本文描述的系统可以以多种方式执行步骤820。在一个示例中,跟踪模块628可以(例如,使用上文结合图3-图5概述的一种或更多种技术)使用消隐技术来将图像传感器612的曝光持续时间在时间上对中。在一些示例中,同步模块630然后可以配置(或使得另一部件配置)每个图像传感器612,以根据在步骤820中确定的消隐持续时间(例如,通过写入图像传感器612内的各种寄存器)来捕获传感器数据。

  在步骤830,本文描述的系统可以向每个图像传感器发送快门同步脉冲。本文描述的系统可以以多种方式执行步骤830。在一个示例中,同步模块630可以经由FSIN(例如图7中的FSIN 702)向每个图像传感器612发送同步脉冲。如上详述,该同步脉冲可以用作绝对时间基准,以帮助同步图像传感器612。

  在步骤840,本文描述的系统可以根据在步骤810和820中确定的曝光和消隐持续时间来捕获数据。跟踪模块628然后可以从图像传感器612读出帧,以允许图像传感器612复位来捕获附加帧。

  图9是根据本公开的一个或更多个实施例的用于交错具有不同曝光持续时间的帧的方法900的流程图。方法900可以由任何合适的计算机可执行代码和/或计算系统(包括图1、图6或图7所示的系统)实现。在一个示例中,图9所示的步骤中的每一个可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,将在下面更详细地提供子步骤的示例。

  如图9所示,在步骤910,一个或更多个图像传感器可以接收快门同步脉冲。在一个示例中,如以上结合图6所详细描述的,可以在图像传感器612的FSIN引脚上接收该快门同步脉冲。如上详述,图像传感器可以使用该快门同步脉冲作为绝对时间基准,以确保图像传感器与其他图像传感器同步。

  在框920,图像传感器可以使用第一曝光持续时间来捕获第一图像。在一个示例中,可以基于图像传感器遇到的特定照明场景和/或出于特定目的(例如,用于跟踪具有嵌入式IR LED的控制器和/或用于内向外位置跟踪),(例如,通过图6中的跟踪模块628)来计算或选择该曝光持续时间。

  在框930,同一图像传感器可以使用不同于第一曝光持续时间的第二曝光持续时间来捕获第二图像。如上详述,与跟踪具有嵌入式IR LED的控制器相比,内向外位置跟踪的曝光持续时间可能需要更长的曝光来捕获房间尺度的特征。此外,由于不同的照明场景(例如,明亮对比昏暗的环境),图像传感器可能需要不同曝光持续时间。在一些实施例中,来自步骤920和930的曝光持续时间中的任一个或两者可以与附加图像传感器的曝光持续时间对中,如以上结合图3-图5和图8详细描述的。

  如上详述,本文描述的系统可以具有安装在其上或嵌入其中的多个图像传感器。这些图像传感器可以基于它们暴露于的不同照明场景和/或它们的预期用途(例如,控制器跟踪对位置跟踪)来捕获具有不同曝光值的图像。跟踪部件可以计算每个图像传感器的最佳曝光和增益值。基于所确定的值,每个图像传感器的曝光持续时间的持续时间可以对中,确保图像传感器同步,尽管它们的曝光水平不同。此外,在一些示例中,由图像传感器捕获的交错帧可以用于不同的目的,例如位置跟踪和控制器跟踪。

  本文所述的系统和方法可以与各种不同的AR/VR眼戴式设备(例如,AR眼镜)、头戴式设备(例如,头戴式显示器)和/或附件(例如,外向内照相机(outside-in camera)、控制器、盒子(case)等)中的任何一种结合使用。此外,虽然本公开讨论了在AR/VR系统的环境中同步图像传感器,但是本文描述的方法和系统也可以应用于非AR/VR环境。例如,本文公开的概念可以结合利用具有不同曝光持续时间的多个图像传感器的任何类型或形式的系统(例如被设计成定位和/或跟踪由这些传感器捕获的帧内的对象的计算机视觉相关系统)来使用。

  本文描述和/或示出的计算设备和系统广泛地表示能够执行计算机可读指令(例如在本文描述的模块中包含的那些指令)的任何类型或形式的计算设备或系统。在它们的最基本的配置中,这些计算设备可以各自包括至少一个存储器设备和至少一个物理处理器。

  在一些示例中,术语“存储器设备”通常指能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器设备可以存储、加载和/或维护本文描述的一个或更多个模块。存储器设备的示例非限制地包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、高速缓存、这些部件中的一个或更多个的变形或组合、和/或任何其他合适的储存存储器。

  在一些示例中,术语“物理处理器”通常指能够解析和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器可以访问和/或修改存储在上述存储器设备中的一个或更多个模块。物理处理器的示例非限制地包括微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、这些部件中的一个或更多个的部分、这些部件中的一个或更多个的变形或组合、和/或任何其他合适的物理处理器。

  尽管被示为单独的元件,但是本文描述和/或示出的模块可以表示单个模块或应用的部分。此外,在某些实施例中,这些模块中的一个或更多个可以表示一个或更多个软件应用或程序,其当由计算设备执行时可以使计算设备执行一个或更多个任务。例如,本文描述和/或示出的一个或更多个模块可以表示被存储和配置为在本文描述和/或示出的一个或更多个计算设备或系统上运行的模块。这些模块中的一个或更多个还可以表示被配置为执行一个或更多个任务的一个或更多个专用计算机的全部或部分。

  此外,本文描述的一个或更多个模块可以将数据、物理设备和/或物理设备的表示从一种形式转换成另一种形式。例如,本文所述的一个或更多个模块可以接收指示要变换的每个图像传感器的曝光持续时间值的数据、将每个图像传感器的曝光持续时间对中、基于每个图像传感器的对中的曝光持续时间使用图像传感器捕获图像数据、使用变换的结果来确保图像传感器被适当地同步以捕获对象,而不管不同图像传感器的不同曝光持续时间、并且存储变换的结果以进一步同步图像传感器。附加地或可替代地,本文所述的一个或更多个模块可以通过在计算设备上执行、在计算设备上存储数据、和/或以其他方式与计算设备交互来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式转换成另一种形式。

  在一些实施例中,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质(诸如,载波)以及非暂时性介质,诸如,磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)和BLU-RAY盘)、电子存储介质(例如,固态驱动器和闪存介质)以及其他分发系统。

  本公开的实施例可以包括人工现实系统或者结合人工现实系统来实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(mixed reality,MR)、混杂现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或者与所捕获的(例如,现实世界)内容组合的所生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,它们中的任何一个都可以在单个通道或多个通道中呈现(例如向观众产生三维效果的立体视频)。此外,在一些实施例中,人工现实还可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合用于例如在人工现实中创建内容和/或在人工现实中以其他方式使用(例如在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观众提供人工现实内容的任何其他硬件平台。

  本文描述和/或示出的过程参数和步骤顺序仅作为示例给出,并且可以根据需要改变。例如,虽然在本文示出和/或描述的步骤可以以特定顺序示出或讨论,但是这些步骤不一定需要以示出或讨论的顺序执行。本文描述和/或示出的各种示例性方法也可以省略本文描述或示出的一个或更多个步骤,或者包括除了那些公开的步骤之外的附加步骤。

  已经提供了前面的描述,以使本领域的其他技术人员能够最好地利用本文公开的示例性实施例的各个方面。该示例性描述不旨在穷举或限制于所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变化是可能的。本文公开的实施例在所有方面都应该被认为是说明性的,而不是限制性的。在确定本公开的范围时,应当参考所附权利要求及其等同物。

  除非另有说明,否则说明书和权利要求书中使用的术语“连接到”和“耦合到”(及其派生词)应被解释为允许直接和间接(即,通过其他元件或部件)连接。此外,说明书和权利要求书中使用的术语“一个(a)”或“一个(an)”应被解释为意指“...中的至少一个”。最后,为了便于使用,说明书和权利要求书中使用的术语“包括(including)”和“具有”(及其派生词)可与词语“包括(comprising)”互换并具有相同的含义。

《用于同步图像传感器的系统和方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)