掌桥专利:专业的专利平台
掌桥专利
首页

用于高效生成具有余辉的单光子雪崩二极管图像的系统和方法

文献发布时间:2024-04-18 19:58:53


用于高效生成具有余辉的单光子雪崩二极管图像的系统和方法

背景技术

混合现实(MR)系统,包括虚拟现实和增强现实系统,因其能够为其用户创造真正独特的体验而受到广泛关注。作为参考,常规的虚拟现实(VR)系统通过将其用户的视野限制到仅虚拟环境来创建完全沉浸式体验。在VR系统中,这常常是通过使用完全遮挡现实世界的任何视图的头戴式设备(HMD)来实现的。结果,用户完全沉浸在虚拟环境内。相比之下,常规的增强现实(AR)系统通过视觉地呈现被放置在现实世界中或者与现实世界交互的虚拟对象来创建增强现实体验。

如在本文中所使用的,VR和AR系统被可互换地描述和引用。除非另有说明,否则在本文中的描述同样适用于所有类型的混合现实系统,其(如上文所详述的)包括AR系统、VR现实系统和/或能够显示虚拟对象的任何其他类似系统。

一些MR系统包括用于促进图像捕获、视频捕获和/或其他功能的一个或多个相机。例如,MR系统的相机可以利用使用(一个或多个)相机获得的图像和/或深度信息来向用户提供用户环境的直通(pass-through)视图。MR系统可以以各种方式提供直通视图。例如,MR系统可以向用户呈现由MR系统的(一个或多个)相机捕获的原始图像。在其他情况下,MR系统可以修改和/或重新投影所捕获的图像数据以对应于用户眼睛的视角,从而生成直通视图。MR系统可以修改和/或重新投影所捕获的图像数据,以使用由MR系统(例如,使用MR系统的深度系统,诸如飞行时间相机、测距仪、立体深度相机等)获得的针对所捕获的环境的深度信息来生成直通视图。在一些情况下,MR系统利用一个或多个预定义的深度值来生成直通视图(例如,通过执行平面重新投影)。

在一些情况下,通过修改和/或重新投影所捕获的图像数据而生成的直通视图可以至少部分地校正由用户的眼睛与MR系统的(一个或多个)相机之间的物理分离所带来的视角的差异(被称为“视差问题”、“视差误差”或者简称“视差”)。这样的直通视图/图像可以被称为“经视差校正的直通”视图/图像。举例来说,所述经视差校正的直通图像对用户而言可能看起来就像是由与用户的眼睛位于同一位置的相机捕获的一样。

直通视图能够辅助用户在转换到混合现实环境中和/或在混合现实环境内导航时避免迷失方向和/或安全隐患。直通视图也可以增强在低可见性环境中的用户视图。例如,配置有长波长热成像相机的混合现实系统可以促进在烟、霾、雾和/或灰尘中的可见性。类似地,配置有微光成像相机的混合现实系统促进在环境光水平低于人类视觉所需水平的黑暗环境中的可见性。

为了促进对环境进行成像以生成直通视图,一些MR系统包括利用互补金属氧化物半导体(CMOS)和/或电荷耦合器件(CCD)技术的图像传感器。例如,这样的技术可以包括图像感测像素阵列,其中,每个像素被配置为响应于所检测到的光子而生成电子-空穴对。电子可以变为存储在每像素电容器中,并且可以读出被存储在电容器中的电荷以提供图像数据(例如,通过将所存储的电荷转换为电压)。

然而,这样的图像传感器具有许多缺点。例如,针对常规图像传感器的信噪比可能受到读取噪声的严重影响,尤其是当在低可见度条件下进行成像时。例如,在微光成像条件下(例如,在环境光低于约10勒克斯的情况下,诸如在约1毫勒克斯或以下的范围内),CMOS或CCD成像像素可能仅检测少量的光子,这可能导致读取噪声接近或者超过由成像像素检测到的信号并且降低信噪比。

当在微光条件下以高帧速率成像时,由CMOS或CCD图像传感器检测到的信号中的读取噪声的主导地位常常加剧。尽管较低的帧速率可以用于允许CMOS或CCD传感器检测足够的光子,从而使信号避免受到读取噪声的支配,但是利用低帧速率常常导致所捕获的图像中的运动模糊。当在HMD或者在使用期间经历规则运动的其他设备上执行成像时,运动模糊尤其是成问题的。

除了影响直通成像之外,与常规图像传感器相关联的读取噪声和/或运动模糊也可以影响由HMD执行的其他操作,诸如后期重新投影、卷帘快门校正、对象跟踪(例如,手部跟踪)、表面重构、语义标记、对象的3D重构和/或其他。

为了解决与CMOS和/或CCD图像传感器相关联的缺点,已经出现了利用单光子雪崩二极管(SPAD)图像传感器的设备。与常规的CMOS或CCD传感器相比,SPAD在偏置电压下操作,使得SPAD能够检测单光子。在检测到单光子时,形成电子-空穴对,并且跨高电场对电子进行加速,引起雪崩倍增(例如,生成额外的电子-空穴对)。因此,每个检测到的光子都可能触发雪崩事件。SPAD可以以门控方式来操作(每个门对应于单独的快门操作),其中,每个门控快门操作可以被配置为导致二进制输出。所述二进制输出可以包括“1”,其中,在曝光期间检测到雪崩事件(例如,其中检测到光子),或者包括“0”,其中没有检测到雪崩事件。

单独的快门操作可以在帧捕获时间段上集成。可以对帧捕获时间段上的快门操作的二进制输出进行计数,并且可以基于计数的二进制输出来计算强度值。

SPAD的阵列可以形成图像传感器,其中,每个SPAD形成SPAD阵列中的单独像素。为了捕获环境的图像,每个SPAD像素可以检测雪崩事件并且以在本文中所描述的方式为连续快门操作提供二进制输出。可以对帧捕获时间段上的多个快门操作的每像素二进制输出进行计数,并且可以基于计数的每像素二进制输出来计算每像素强度值。每像素强度值可以用于形成环境的强度图像。

尽管SPAD传感器显示出克服与CMOS或CCD传感器相关联的各种缺点的保证,但是实现用于图像和/或视频捕获的SPAD传感器仍然与许多挑战相关联。例如,对于改进在微光条件下捕获的SPAD图像的图像质量存在持续的需求和期望。此外,对于以计算高效的方式提供这样的改进的解决方案存在持续的需要和期望。

在本文中所要求保护的主题并不限于解决任何缺点或者仅在诸如上文所描述的那些环境中操作的实施例。相反,该背景仅仅被提供用于例示说明可以实践在本文中所描述的一些实施例的一个示例性技术领域。

发明内容

所公开的实施例提供了用于高效地生成具有余辉(persistence)的SPAD图像的系统、方法和设备。

一些实施例提供了一种系统,所述系统包括具有多个SPAD像素的SPAD阵列。所述系统也包括一个或多个处理器;以及一个或多个硬件存储设备,其存储指令,所述指令能由所述一个或多个处理器运行以将所述系统配置为执行各种动作。所述动作包括:使用所述SPAD阵列捕获图像帧;以及使用IMU捕获与对所述图像帧的捕获相关联的姿态数据。所述动作也包括访问余辉帧。所述余辉帧包括基于至少两个先前图像帧而生成的先前合成图像帧。所述至少两个先前图像帧和在与所述图像帧相关联的捕获时间点之前的时间点相关联。所述动作也包括:基于(i)与对所述图像帧的捕获相关联的姿态数据、(ii)基于所述图像帧和所述余辉帧的相似性比较;或者(iii)与所述图像帧相关联的信号强度,来生成余辉项。所述动作也包括:基于所述图像帧、所述余辉帧和所述余辉项来生成合成图像。所述余辉项定义所述图像帧和所述余辉帧对合成图像的贡献。

一些实施例包括一种系统,所述系统包括具有多个SPAD像素的SPAD阵列。所述系统包括一个或多个处理器;以及一个或多个硬件存储设备,其存储指令,所述指令能由所述一个或多个处理器运行以将所述系统配置为执行各种动作。所述系统被配置为执行多个顺序曝光和读出操作。每个曝光和读出操作包括:(i)应用快门操作集合来配置所述SPAD阵列的每个SPAD像素以实现光子检测,以及(ii)针对所述SPAD阵列的每个SPAD像素,读出在所述快门操作集合期间检测到的光子的数量。所述系统也被配置为基于在多个顺序曝光和读出操作中的每个操作期间针对每个SPAD像素检测到的光子的数量来生成图像。

在一些实施例中,所述系统被配置为执行多个顺序快门操作以配置所述SPAD阵列的每个SPAD像素以实现光子检测。所述系统也能配置为访问针对SPAD阵列的每个SPAD像素的相应二进制计数流。每个相应的二进制计数流针对相应的SPAD像素指示在多个顺序快门操作期间检测到的光子的数量。所述系统也被配置为从针对每个SPAD像素的相应二进制计数流识别二进制计数集合。所述二进制计数集合包括来自针对每个SPAD像素的每个相应的二进制计数流的相应的二进制计数集合。所述系统也被配置为使用所述二进制计数集合来生成图像。

提供本概述是为了以简化的形式介绍一些概念的选择,这些概念将在下文的详细描述中进一步描述。本发明内容并不旨在识别所要求保护的主题的关键特征或基本特征,也并不旨在用于辅助确定所要求保护的主题的范围。

额外的特征和优点将在下文的描述中阐述,并且部分地从描述中将是显而易见的,或者可以通过本文的教导的实践而了解到。本发明的特征和优点可以通过所附权利要求中特别指出的手段和组合来实现和获得。本发明的特征将从下文的描述和所附权利要求中变得更加明显,或者可以通过如下文阐述的本发明的实践来了解。

附图说明

为了描述可以获得上述和其他优点和特征的方式,将参考附图中示出的具体实施例对上文简要描述的主题进行更具体的描述。应当理解的是,这些附图仅描绘了典型的实施例,因此不应当被认为是对范围的限制,将通过使用附图以额外的特性和细节来描述和解释实施例,其中:

图1图示了示例性系统的示例性组件,所述系统包括或者用于实现一个或多个所公开的实施例;

图2A-2C图示了使用头戴式显示器(HMD)的单光子雪崩二极管(SPAD)阵列从不同姿态捕获图像帧的示例;

图3图示了基于姿态数据来生成余辉项的概念表示;

图4和图5图示了使用余辉项和姿态数据从所捕获到的图像帧生成合成图像的概念表示;

图6图示了基于姿态数据来选择多个帧的概念表示;

图7图示了使用所选数量的帧和姿态数据从所捕获的图像帧生成合成图像的概念表示;

图8A-8C图示了使用HMD的SPAD阵列捕获移动对象的图像帧的示例;

图9图示了基于对下采样图像帧执行的相似性分析来生成局部余辉项的概念表示;

图10图示了使用局部余辉项从所捕获的图像帧生成合成图像的概念表示;

图11图示了使用HMD的SPAD阵列捕获移动对象的图像帧的示例;

图12图示了基于对图像帧执行的信号强度分析来生成局部余辉项的概念表示;

图13图示了使用局部余辉项从所捕获的图像帧生成合成图像的概念表示;

图14-17图示了描绘与向SPAD图像添加余辉相关联的动作的示例性流程图;

图18图示了至少部分地基于合成图像生成余辉帧的概念表示;

图19图示了以计算高效的方式生成具有余辉的SPAD图像的概念表示;

图20图示了描绘与具有余辉的SPAD图像的高效生成相关联的动作的示例性流程图。

具体实施方式

所公开的实施例总体上涉及用于向单光子雪崩(SPAD)图像添加余辉的系统、方法和设备,和/或用于以计算高效的方式这样做的技术。

技术益处、改进和实际应用的示例

鉴于本公开,本领域技术人员将认识到,可以实现所公开的实施例中的至少一些实施例来解决与至少一些常规图像获取技术相关联的各种缺点。以下部分概述了由所公开的实施例提供的一些示例改进和/或实际应用。然而,将意识到,以下仅仅是示例并且在本文中所描述的实施例决不限于在本文中所讨论的示例性改进。

如在本文中所描述的用于具有余辉的图像捕获的SPAD图像传感器的使用可以提供优于用于图像捕获的常规系统和技术的许多优点,特别是对于在微光条件下的成像和/或对于在图像捕获期间经历运动的设备(例如,HMD)的成像。

首先,SPAD信号的二值化高效地消除了读取噪声,由此与常规的CMOS和/或CCD传感器相比提高了SPAD图像传感器阵列的信噪比。因此,由于SPAD信号的二值化,可以以高帧速率(例如,90Hz或更高,诸如120Hz或者甚至240Hz)读出SPAD信号,而不会导致信号受读取噪声支配,甚至用于在微光环境下捕获少量光子的信号。

鉴于前述内容,可以使用SPAD阵列以高帧速率执行多次曝光(和读出)操作以生成单独的部分图像帧。单独的部分图像帧可以被组合以形成单幅合成图像。在这方面中,通过使用与先前时间点相关联的图像数据来将余辉添加到SPAD图像以生成合成图像(例如,来自时间上在部分图像帧之前的图像数据)。相反,尝试利用以高帧速率捕获的多个图像帧来使用常规的CMOS或CCD相机形成单幅合成图像将导致信号受读取噪声主导,特别是在微光成像条件下。

通过向SPAD图像添加余辉(例如,利用使用SPAD阵列捕获的多个图像帧来形成单幅合成图像),能够实现以高帧速率的微光成像。例如,可以以高帧速率顺序地捕获部分图像帧,而组合以形成合成图像的部分图像帧可以覆盖足够长的高效总帧捕获时间段,以在组合以形成合成图像时捕获足够数量的光子用于微光成像。此外,利用高帧速率用于微光图像捕获(例如,通过利用多次较短的曝光)能够减少运动伪影的影响。减轻运动伪影可以改善由HMD执行的其他操作,诸如后期重新投影、卷帘快门伪影校正等。

此外,可以以智能的方式将余辉添加到SPAD图像。如下文将更详细描述的,用于组合多个图像帧以形成合成图像的技术可以基于在捕获多个图像帧时经历的运动量或者基于在所捕获的环境中观察到的运动量来修改。例如,对于在HMD上实现的SPAD传感器而言,在捕获SPAD图像帧时检测到的大量头部运动可能导致SPAD图像帧以省略或弱化来自与较早时间点相关联的SPAD图像帧的图像数据的方式进行组合。作为另一示例,检测在所捕获的SPAD图像帧的集合中捕获的移动对象可以使得SPAD图像帧以省略或弱化来自与较早时间点相关联的SPAD图像帧的图像数据的方式进行组合。这样的功能可以减少否则可能由于将图像数据添加到以空间不准确的方式描绘对象的合成图像而导致的图像伪影的数量和/或严重性。

此外,如下文将更详细描述的,可以基于信号强度来修改用于组合多个图像帧以形成合成图像的技术。例如,在最近的SPAD图像帧捕获明亮对象的情况下,系统可以避免利用来自在先前时间点捕获的SPAD图像帧的图像数据来表示合成图像中的明亮对象。这样的功能可以防止合成图像以过饱和的方式描绘所述明亮对象。

另外,在本文中所描述的用于向SPAD图像添加余辉的技术可以通过使用当前图像帧和组合与在先图像帧相关联的图像数据的余辉帧来生成合成图像,以计算高效的方式来执行。在一些情况下,余辉帧可以被概念化为图像数据的运行平均值和/或用于促进对图像数据的组合的其他度量/值。这样的功能可以有利地减少需要被保留在存储器中以用于生成向其添加有余辉的合成SPAD图像(例如,在微光条件下的直通SPAD图像)的图像帧的数量。

刚刚已经描述了所公开的实施例的各种高级特征和益处中的一些,现在将注意力转向图1至图20。这些附图图示了与所公开的实施例相关的各种概念表示、架构、方法和支持说明。

用于向SPAD图像添加余辉的示例性系统和技术

现在关注图1,其图示了可以包括或者用于实现一个或多个所公开的实施例的示例性系统100。图1将系统100描绘为头戴式显示器(HMD),其被配置用于放置在用户的头部上方以显示供用户的眼睛观看的虚拟内容。这样的HMD可以包括增强现实(AR)系统、虚拟现实(VR)系统和/或任何其他类型的HMD。尽管本公开在至少一些方面聚焦于被实现为HMD的系统100,但是应当注意,在本文中所描述的技术可以使用其他类型的系统/设备来实现,而没有限制。

图1图示了系统100的各种示例性组件。例如,图1图示了在其中系统包括(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)I/O系统116和(一个或多个)通信系统118的实现方式。尽管图1图示了包括特定组件的系统100,但是考虑到本公开,人们将意识到,系统100可以包括任意数量的额外或者替代组件。

(一个或多个)处理器102可以包括一组或多组电子电路,其包括任意数量的逻辑单元、寄存器和/或控制单元,以促进计算机可读指令(例如,形成计算机程序的指令)的执行。这样的计算机可读指令可以被存储在存储设备104内。存储设备104可以包括物理系统存储器,并且可以是易失性、非易失性或者其某种组合。此外,存储设备104可以包括本地存储设备、远程存储设备(例如,经由(一个或多个)通信系统116或者以其他方式可访问),或者其某种组合。下文将提供与处理器(例如,(一个或多个)处理器102)和计算机存储介质(例如,存储设备104)有关的额外细节。

在一些实现方式中,(一个或多个)处理器102可以包括或者能配置为执行软件和/或硬件组件的任意组合,所述软件和/或硬件组件能操作用于促进使用机器学习模型或者其他基于人工智能的结构/架构进行处理。例如,(一个或多个)处理器102可以包括和/或利用硬件组件或计算机可执行指令来执行功能块和/或处理层,所述功能块和/或处理层通过非限制性示例以如下形式来配置:单层神经网络、前馈神经网络、径向基函数网络、深度前馈网络、递归神经网络、长短期记忆(LSTM)网络、门控递归单元、自动编码器神经网络、变分自编码器、去噪自编码器、稀疏自编码器、Markov链、Hopfield神经网络、Boltzmann机器网络、受限Boltzmann机器网络、深度置信网络、深度卷积网络(或者卷积神经网络)、解卷积神经网络、深度卷积逆图形网络、生成对抗网络、液体状态机、极端学习机、回声状态网络、深度残差网络、Kohonen网络、支持向量机、神经图灵机和/或其他。

如将更详细描述的,(一个或多个)处理器102可以被配置为执行存储在存储设备104内的指令106,以执行与使用SPAD阵列的成像相关联的特定动作。所述动作可以至少部分地依赖于以易失性或非易失性方式存储在存储设备104上的数据108(例如,雪崩事件计数或跟踪等)。

在一些实例中,所述动作可以至少部分地依赖于(一个或多个)通信系统118,以用于从(一个或多个)远程系统120接收数据,所述(一个或多个)远程系统120可以包括例如单独的系统或计算设备、传感器和/或其他。(一个或多个)通信系统120可以包括软件或硬件组件的任意组合,其能操作用于促进在系统上组件/设备之间和/或与系统外组件/设备之间的通信。例如,(一个或多个)通信系统120可以包括端口、总线或者用于与其他设备/组件通信的其他物理连接装置。另外地或者替代地,(一个或多个)通信系统120可以包括能操作用于通过任何合适的(一个或多个)通信信道与外部系统和/或设备进行无线通信的系统/组件,诸如,通过非限制性示例,蓝牙、超宽带、WLAN、红外通信和/或其他。

图1图示了系统100可以包括(一个或多个)传感器110或者与(一个或多个)传感器110通信。(一个或多个)传感器110可以包括用于捕获或者测量表示可感知现象的数据的任意设备。通过非限制性示例,(一个或多个)传感器110可以包括一个或多个图像传感器、麦克风、温度计、气压计、磁强计、加速度计、陀螺仪和/或其他。

图1也图示了(一个或多个)传感器110包括(一个或多个)SPAD阵列112。如在图1中所图示的,SPAD阵列112包括SPAD像素122的布置,每个SPAD像素122被配置为响应于感测光子来促进雪崩事件,如上文所描述的。(一个或多个)SPAD阵列112可以在系统100(例如,MRHMD)上实现以促进用于各种目的的图像捕获(例如,促进计算机视觉任务、直通图像和/或其他)。

图1也图示了(一个或多个)传感器110包括(一个或多个)惯性测量单元114(IMU114)。(一个或多个)IMU 114可以包括任意数量的加速度计、陀螺仪和/或磁力计,以在所述系统在物理空间内移动时捕获与系统100相关联的运动数据(例如,姿态数据)。

此外,图1图示了系统100可以包括(一个或多个)I/O系统116或者与(一个或多个)I/O系统116通信。(一个或多个)I/O系统116可以包括任意类型的输入或输出设备,诸如通过非限制性示例,触摸屏、鼠标、键盘、控制器和/或其他,但不限于此。例如,(一个或多个)I/O系统116可以包括显示系统,所述显示系统可以包括任意数量的显示面板、光学器件、激光扫描显示组件和/或其他部件。在一些情况下,SPAD阵列112可以被配置有与显示系统的像素分辨率相匹配的SPAD像素122的分辨率,这可以有利于高保真直通成像。

图2A-2C图示了使用HMD的SPAD阵列捕获来自不同姿态的图像帧的示例。具体地,图2A图示了在捕获对象206的图像时定位在姿态204A处的HMD 202。仅作为示例,图2A将对象206示出为微光环境中的球。HMD 202可以在至少一些方面中对应于如上文所讨论的系统100。例如,HMD 202包括HMD 202用来捕获对象206的一个或多个SPAD阵列112。此外,HMD202包括一个或多个IMU 114,以用于检测与HMD 202和/或其组件相关联的姿态数据(例如,(一个或多个)SPAD阵列112将姿态数据与所捕获的图像帧相关联)。

当根据姿态204A进行定位时,HMD 202的SPAD阵列的SPAD像素检测在帧捕获时间段上触发雪崩事件的光子。HMD 202使用所检测到的每像素雪崩事件来生成针对图像帧208A的每像素强度值。图像帧208A能够与姿态204A相关联,姿态204A是在HMD 202捕获图像帧208A时存在的姿态。与在本文中所使用的任何单数术语一样,鉴于本公开,人们将意识到,“姿态”可以指代一个或多个姿态值。类似地,除非另有说明,否则在本文中所使用的任何复数术语可以指代单个原始。

如从图2B中明显看出的,图像帧208A描绘了对象206的暗表示。在一些情况下,这是为了例示说明HMD 202的(一个或多个)SPAD阵列可以以高捕获速率来捕获图像帧(例如,以对抗运动模糊),这可能限制可检测用于形成图像帧208A的光子的数量,特别是当在微光条件下进行成像时。如下文将描述的,图像帧208A可以与其他图像帧组合以形成合成图像,所述合成图像提供具有改进的照明的对象206的表示。

图2B图示了根据新姿态204B定位的HMD 202(姿态204A以虚线被图示出以供参考)。图2B也图示了HMD 202从姿态204B捕获对象206的图像帧208B(在从姿态204A捕获图像帧208A之后的时间点)。为了例示说明的目的,图2B的图像帧208A和208B包括垂直和水平中心线(利用短虚线图示出的)以例示说明在由从不同姿态捕获的图像帧208A和208B提供的对象206的描绘之间发生的空间未对准。

图2C类似地图示了在HMD 202捕获图像帧208C时(在从姿态204B捕获图像帧208B之后的时间点)根据另一新姿态204C定位的HMD 202。图像帧208A、208B和208C各自以稍微空间偏移的方式描绘对象206。例如,图像帧208C描绘了与在图像帧208C上描绘的垂直和水平中心线居中对准的对象206,而图像帧208B描绘了偏移到图像帧208B的垂直中心线左侧的对象206,而图像帧208A描绘了偏移到图像帧208A的垂直中心线的右侧并且偏移到图像帧208A的水平中心线的下方的对象。

尽管存在这些空间未对准,但是图像帧208A、208B和208C可以被组合以形成合成图像,如下文将更详细描述的。然而,在一些情况下,期望动态地确定组合图像帧以形成合成图像的方式(例如,考虑HMD 202和/或捕获场景中的对象的大移动)。

因此,图3图示了姿态数据302,其包括描述在捕获图像帧时HMD 202(和/或HMD202的图像传感器)的位置和/或取向(例如,6自由度姿态)和/或位置变化(例如,速度和/或加速度)和/或取向变化(例如,角速度和/或角加速度)的信息。具体地,图3将姿态数据302图示为包括或者基于姿态204A、204B和204C,其分别是与对图像帧208A、208B和208C的捕获相关联的姿态(来自图2A-2C)。

图3图示了与HMD 202相关联的姿态数据302可以指示由HMD 202在捕获图像帧208A-208C时经历的运动量304(例如,位置和/或取向改变的量)。图3也示出了可以基于运动量304(或者姿态数据302)来确定(一个或多个)余辉项306。(一个或多个)余辉项306广义地指代能用于定义一个或多个图像帧的一个或多个部分对合成图像的贡献的(一个或多个)任意数字、(一个或多个)变量、(一个或多个)函数、(一个或多个)项或者(一个或多个)其他元素。通过非限制性示例的方式,(一个或多个)余辉项306可以包括定义阿尔法混合312或者阿尔法合成的一个或多个项、平滑项310、加权项308等。(一个或多个)余辉项306可以以各种方式来生成,诸如使用无限脉冲响应技术。此外,(一个或多个)余辉项306可以以动态的方式来生成,使得与(例如,用于形成直通视频流的图像帧流的)不同图像帧相关联的不同姿态数据可以引起(一个或多个)不同的余辉项306。

在一些情况下,在姿态数据302指示与对图像帧的捕获相关联的大量运动304的情况下,可以选择(一个或多个)余辉项306以导致与较早时间点相关联的图像帧对合成图像的贡献减少(例如,图像帧208A和/或208B相对于图像帧208C)。这样的从较早时间点图像帧的减少对于解决可能因以静态方式组合图像帧而出现的图像伪影可能是有利的。

图4和图5提供了使用动态确定的余辉项来生成合成图像并且提供了对这样做的优点的深入了解的示例。具体地,图4图示了来自图2A-2C的图像帧208A-208C。如上文所指示的,图像帧208A-208C中的每个图像帧与不同的时间点相关联,其中,图像帧208A与最早的时间点(首先被捕获)相关联,图像帧208B与中间时间点(第二个被捕获)相关联,而图像帧208C与最近的时间点(第三个被捕获)相关联。图4图示了对准402,其可以包括重新投影和/或变换操作以校正与从其捕获图像帧208A-208C的姿态不同的姿态204A-204C相关联的捕获视角之间的视差(参见图2A-2C)。

如在图4中所图示的,在一些情况下,对准402提供对准的图像帧404A、404B和404C,其包括在空间上彼此对准的捕获到的对象的描绘。例如,对准的图像帧404A-404C中的每个图像帧描绘与图像帧404A-404C的垂直和水平中心线居中对准的对象206(其对应于从图2C中的姿态204C捕获的图像帧208C的空间对准)。如从图4明显看出的,在一些情况下,空间对准的图像帧看起来好像它们是从相同的姿态捕获的(例如,从相同的捕获角度,或者从相同的相机位置和取向)。

图4提供了在其中由与对图像帧208A-208C的捕获相关联的姿态数据302指示的运动量304相对低的示例。在这样的情况下,对准402通常可以成功地提供彼此准确对准的对准的图像帧(例如,404A-404C)。因此,基于姿态数据302生成的(一个或多个)余辉项306可以避免显著减少较早时间点图像帧(例如,对准的图像帧404A、404B)对生成合成图像的贡献。换句话说,可以基于姿态数据302以避免不必要地限制能够被组合以形成合成图像的图像数据的方式来选择(一个或多个)余辉项306(例如,由此提供具有改善的照度的微光图像)。

因此,图4图示了帧组合406,由此对准的图像帧404A-404C被组合以形成合成图像410。图4图示了帧组合406依赖于(一个或多个)余辉项306,如上文所描述的,这定义了各种对准的图像帧404A-404C(或者图像帧208A-208C)对所述合成图像的贡献。图4图示了这样的实例,其中,对准的图像帧404A的贡献408A由(一个或多个)余辉项定义为30%,对准的图像帧404B的贡献408B由(一个或多个)余辉项定义为30%,并且对准的图像帧404C的贡献408C由(一个或多个)余辉项定义为40%。这些特定贡献仅仅是说明性的而非限制性的,并且可以以百分比以外的方式来表示。

图4概念性地表示来自对准的图像帧404A-404C的描述对象206的图像数据经由帧组合406组合以形成合成图像410中的对象206的表示。在一些情况下,如在图4中所图示的,相对于在个体对准的图像帧404A-404C中的对象206的描绘,合成图像410中的对象206的描绘包括更高的图像质量和/或信号强度。例如,如上文所提到的,对准的图像帧404A-404C可以在微光条件下和/或以高帧速率捕获对象206,这可以导致对准的图像帧404A-404C包括相对低的图像信号(例如,通过在帧捕获时间段内检测相对少数量的光子)。然而,这些低图像信号可以被组合以形成具有更大图像信号的图像(即,合成图像410)。以这种方式,在一些情况下,可以使用多个SPAD图像帧来形成合成图像,以提供具有添加的余辉的SPAD图像,这在低信号环境(例如,微光环境)中捕获SPAD图像帧时可能特别有利。

与图4相比,图5提供了其中由与对图像帧的捕获相关联的姿态数据指示的运动量相对高的示例。图5图示了图像帧502A、502B和502C,其可以包括由HMD 202在各个时间点从各种姿态捕获的对象206的图像帧(其中,图像帧502C是最近捕获的图像帧)。如从图5明显看出的,与不同图像帧502A-502C相关联的捕获视角存在显著差异。例如,尽管图像帧502C在空间上对应于上文所讨论的图像帧208C,但是图像帧502B描绘了显著偏移到图像帧502B的垂直中心线左侧的对象206,并且图像帧502A描绘了显著偏移到图像帧502A的右侧并且在水平中心线的下方的对象206。这样,在本示例中,与对图像帧502A-502C的捕获相关联的姿态数据指示大量的运动(例如,与上文所讨论的姿态数据302所指示的运动量相反)。

图5图示了被执行以生成对准的图像帧506A-506C的对准504(例如,类似于图4的对准402)。然而,图5图示了一种示例情况,其中,至少一些对准的图像帧506A-506C未能在空间上彼此完全对准。例如,尽管对准的图像帧506C描绘了与对准的图像帧506C的水平和垂直中心线居中对准的对象206,但是对准的图像帧506B将对象206描绘为稍微偏离到对准的图像帧506B的垂直中心线的左侧,并且对准的图像帧506C描绘了稍微向垂直中心线的右侧偏移并且稍微低于对准的图像帧506C的水平中心线的对象206。在一些情况下,可能会发生这样的完全对准失败的情况,因为(一个或多个)IMU 114容易漂移(例如,复合误差),所述漂移随着检测到的运动量而增加。因此,在对准504依赖于经由(一个或多个)IMU 114获得的姿态数据的情况下,在对准的图像帧506A-506C之间可能发生未对准,特别是在(一个或多个)IMU 114在捕获图像帧502A-502C时检测到大量运动的情况下。

当在对准的图像帧506A-506C之间发生未对准时,以与用于组合的、不包括未对准的对准的图像帧(例如,来自图4的对准的图像帧404A-404C)相同的方式组合对准的图像帧506A-506C以形成合成图像,这可能导致合成图像中的明显伪影。为了减少这样的伪影,如上文所指示的,帧的组合可以至少部分地依赖于(一个或多个)余辉项,所述余辉项可以基于姿态数据(例如,由姿态数据表示的运动量)动态地确定。

例如,图5图示了帧组合510,其利用(一个或多个)余辉项508来组合对准的图像帧506A-506C以形成合成图像514。(一个或多个)余辉项508管理各个图像帧(或者对准的图像帧)对合成图像514的贡献,并且可以以与上文所讨论的(一个或多个)余辉项306相同的方式生成(例如,基于姿态数据)。例如,(一个或多个)余辉项508可以导致与较早捕获时间点相关联的图像帧(例如,图像帧502A或502B)对合成图像514的贡献针对与对图像帧502A-502C的捕获相关联的较高运动量而减少。换句话说,较早捕获的图像帧(例如,图像帧502A和/或502C)的贡献可以与在对能用于形成合成图像的图像帧502A-502C的集合(或者对准的图像帧506A-506C)的捕获期间观察到的运动量成反比相关。鉴于本公开,人们将理解,“较早的”图像帧和在与当前图像帧或者任何参考图像帧相关联的时间点在时间上靠前的时间点相关联。

因此,考虑到由与对图像帧502A-502C的捕获相关联的姿态数据表示的大量运动,图5图示了其中(一个或多个)余辉项508定义了对于对准的图像帧506B和506A对合成图像514减少的贡献的情况。具体地,图5图示了其中对准的图像帧506B对合成图像514的贡献512B是15%并且对准的图像帧506A对合成图像514的贡献512A是10%的情况。相反,图5图示了对准的图像帧506C(即,最近捕获的图像帧)对合成图像514的增加的贡献512C。在一些情况下,这样的功能有利地针对捕获的环境给予最新的图像更多的权重。

以这种方式,本公开的技术可以允许将至少一些余辉添加到SPAD图像,以考虑到在图像捕获期间观察到的运动量的动态方式来改进图像质量。例如,当观察到大量运动时,以基于观察到的运动量智能地交换图像质量的方式将添加的余辉量调整为观察到的运动量。

例如,因为多个图像帧被组合以形成合成图像514中的对象206的描绘,所以图5个体地示出了在合成图像514中利用相对于其他图像帧502A-502C改进的图像信号描绘的对象206。图5也图示了由对准的图像帧506A的贡献(在从对准的图像帧506A延伸到合成图像514的箭头的箭头处示出的)以及由对准的图像帧506B的贡献(在从对准的图像506B延伸到合成图像514的箭头的箭头处示出的)导致的合成图像514中的微小伪影。尽管这样的伪影可能是由于组合在大量运动下捕获的帧而产生的,但是当管理帧组合的(一个或多个)余辉项508是基于姿态/运动数据动态地确定时,这样的伪影的重要性可以由帧组合促进的改进的图像信号进行平衡。

帧组合406、510可以采取用于堆叠或组合图像帧的各种形式,诸如直接求和(或者加权求和)、阿尔法合成和/或其他组合或过滤技术。在一些情况下,帧组合406、510可以包括或者实现基于距当前或参考时间点的时间远程性定义对合成图像的贡献的函数(例如,高斯函数),并且所述函数可以通过(一个或多个)余辉项306、506基于姿态数据进行修改。

在一些情况下,合成图像410、514可以被重新投影以对应于用户眼睛的视角并且被显示在HMD 202的显示器上以促进直通成像。这样的功能对于促进在微光条件下的直通成像可能特别有利。

在一些情况下,本公开的系统不是基于姿态数据确定余辉项来管理图像帧对合成图像的贡献,而是基于姿态数据确定用于生成合成图像的图像帧的数量。例如,图6图示了姿态数据602可以指示运动量604,如上文所讨论的。图6也图示了可以基于姿态数据602和/或运动量604来选择帧的数量606。帧的数量606可以从图像帧集合中确定用于生成合成图像的图像帧的子集。以这种方式,当检测到大量运动时,系统可以避免使用较早时间点图像帧来形成合成图像,由此减少可能因使用时间上较远的图像帧来形成合成图像而出现的潜在伪影。

图7图示了使用选定数量的帧和姿态数据从所捕获的图像帧生成合成图像的概念表示。具体地,图7图示了图像帧702A-702C,其对应于图5的图像帧502A-502C(例如,其中图像帧702C与最近的时间点相关联,并且图像帧702A与最早的时间点相关联)。图7概念性地描绘了可以从图像帧702A-702C的初始集合中选择帧的数量704。帧的数量704可以基于与对图像帧702A-702C的初始集合的捕获相关联的运动量(例如,基于与图像帧702A-702C的集合相关联的姿态数据)。在图7所示的示例中,帧的数量704基于姿态数据来确定应当使用来自三个图像帧702A-702C的初始集合的两个图像帧来形成合成图像。

因此,图7示出了图像帧702B和702C在形成合成图像之后根据对准706变得彼此对准,而图像帧702A被省略用于形成所述合成图像的进一步处理。对准706可以大体对应于上文所讨论的对准504和/或402。对准706提供对准的图像帧708B和708C,其中,在对准的图像帧708B和708C之间存在一些空间差异(例如,类似于上文参考图5所讨论的在对准的图像帧506B和506C之间存在的空间差异)。

图7还图示了根据帧组合710来组合对准的图像帧708B和708C以形成合成图像712。在这方面中,当形成合成图像时,特别是对于在高速运动条件下捕获的图像帧集合,系统可以避免使用与至少一些较早时间点的图像帧相关联的图数据。这样的功能可以减少在合成图像中存在的伪影的数量或严重性,同时仍然提供具有添加的余辉的SPAD图像。

在一些情况下,经由智能确定的数量的帧704省略图像帧的功能可以与上文所讨论的利用(一个或多个)余辉项以促进帧组合710的原理相组合。因此,图7描绘了帧组合710可以可选地基于(一个或多个)余辉项714(在图7中以虚线图示出)。例如,可以在形成合成图像712的考虑中省略图像帧702A,并且可以基于(一个或多个)余辉项714将图像帧702B和702C混合在一起,所述余辉项714是基于与对图像帧702B和702C的捕获相关联的运动量而确定的。

因此,在SPAD图像中的余辉量可以基于由SPAD图像传感器在图像捕获期间经历的运动量来智能地确定。另外地或替代地,SPAD图像中的余辉量可以基于由在SPAD图像内捕获的对象所表现出的运动量来确定。

图8A-8C图示了使用HMD的SPAD阵列来捕获移动对象的图像帧的示例。具体地,图8A示出了在HMD 802捕获对象806的图像帧808A时根据姿态804定位的HMD 802。HMD 802可以大体上对应于上文所讨论的HMD 202。例如,HMD 802包括用于捕获图像帧808A的至少一个SPAD阵列112。

图8B图示了在HMD 802捕获对象806的图像帧808B时HMD 802仍然根据姿态804定位。类似地,图8C图示了当HMD 802仍然根据姿态804定位时HMD 802捕获对象806的图像帧808C。如从图8A-8C看出的,在对象806经由滚动改变位置时,图像帧808A-808C捕获对象806。因此,各个图像帧808A-808C中的对象806的描绘在空间上彼此未对准,即使图像帧808A-808C都是由HMD 802从相同姿态804捕获的。

为了在从图像帧808A-808C形成合成图像时考虑这样的空间未对准,系统可以基于图像帧808A-808C之间的相似性来确定(一个或多个)余辉项。

因此,图9图示了基于相似性分析来生成局部余辉项的概念表示。具体地,图9示出了上文参考图8A-8C所讨论的图像帧808A-808C。图9也图示了执行下采样902以分别从图像帧808A-808C生成下采样图像904A、904B和904C。下采样902可以包括将原始图像(例如,图像帧808A-808C)中的像素部分减少为下采样图像(例如,下采样图像904A-904C)中的单个像素。例如,在一些情况下,在下采样图像中的每个像素都由原始图像的像素定义:

p

其中,p

在一些实现方式中,下采样902利用平均滤波器来基于原始图像中的像素部分的平均值来定义下采样图像的像素。在沿着每个轴按因子2下进行采样的一个示例中,下采样图像中的每个像素由原始图像中2x2像素部分的平均值来定义:

其中,p

图9图示了对下采样图像904A-904C执行的相似性分析906。相似性分析906可以包括能用于识别至少两幅图像(或者其部分)之间的相似性或差异(例如,相异区域)的任何操作。例如,相似性分析906可以包括模板匹配技术(例如,平方和差、互相关)、特征/描述符匹配技术(例如,利用SIFT、SURF、BRIEF、BRISK、FAST和/或其他)、直方图分析技术、人工智能技术(例如,深度学习)、结构相似性指数测量技术、其组合和/或其他。

图9示出在一些情况下相似性分析906指示下采样图像904A-904C之间的相异区域908。相异区域908可以包括其中在下采样图像904A-904C之间存在足够差异的像素区域。在图9中所示的示例中,因为下采样图像904A-904C中的每个以不同的定位捕获对象806(例如,在对象806在图像捕获期间移动时),所以相异区域908包括由描绘各个下采样图像904A-904C中的对象806的像素区域的组合形成的像素区域。就此而言,相异区域908可以指示由在图像帧集合中捕获的一个或多个对象表现出的运动量。

如在图9中所示的,(一个或多个)余辉项910可以基于相似性分析906来确定。例如,在相似性分析906指示下采样图像904A-904C之间的相异性的情况下,系统可以选择定义了先前时间点图像帧(例如,图像帧808B和/或808A)对合成图像的减少的贡献的(一个或多个)余辉项910。相反,在相似性分析906没有指示下采样图像904A-904C之间的显著相异性的情况下,所述系统可以选择提供所有图像帧808A-808C对合成图像的更平衡的贡献的(一个或多个)余辉项910。就此而言,(一个或多个)余辉项910可以定义在图像帧集合之间的相异量与图像帧集合的先前时间点图像帧对合成图像的贡献之间的反比关系。例如,在相异性与由捕获到的对象表现出的运动相关联的情况下,所捕获到的对象的较大运动可能导致先前时间点图像帧对合成图像的减少的贡献。

在图9中所示的示例中,(一个或多个)余辉项910可以包括(一个或多个)全局余辉项912和(一个或多个)局部余辉项914。(一个或多个)全局余辉项912可以定义图像帧的所有像素区域以用于形成合成图像的贡献,而(一个或多个)局部余辉项914可以定义图像帧的特定像素区域用于形成合成图像的贡献。例如,可以为下采样图像904A-904C的相异区域908定义(一个或多个)局部余辉项914,这可以导致为下采样图像904A-904C的相异区域908定义一组贡献(例如,定义先前时间点图像帧对于相异区域908的减少的贡献)以及要针对下采样图像904A-904C的相异区域之外的区域定义的另一组贡献。以这种方式,可以针对合成图像的不同部分选择性地调整合成图像中存在的余辉量(甚至低至像素级)。

尽管在图9中未图示出,但是图像帧808A-808C可以在应用任何下采样操作之前或之后彼此对准(例如,使用与上文所讨论的那些相似的对准操作)。当捕获移动对象而HMD802在图像捕获期间也移动时,这样的对准可能是有益的。此外,将意识到,鉴于本公开,可以在不首先对图像帧进行下采样的情况下对图像帧执行相似性分析。

图10图示了使用局部余辉项从所捕获到的图像帧生成合成图像的概念表示。具体地,图10示出了对图像帧808A-808C执行帧组合1002以生成合成图像1006。帧组合1002可以大体上对应于如上文所描述的帧组合406和/或510。图10图示了帧组合1002至少部分地基于上文所讨论的(一个或多个)局部余辉项914。例如,(一个或多个)局部余辉项914定义来自图像帧808A-808C对于合成图像1006的不同部分的不同贡献。

例如,图10描绘了上文参考图9所讨论的相异区域908。如上文所提到的,相异区域908包括其中在图像帧808A-808C(或者由图像帧808A-808C形成的下采样图像904A-904C)之间存在差异的像素区域。因此,(一个或多个)局部余辉项914定义了来自最近捕获的图像帧(即,图像帧808C)对于相异区域908的增加的贡献。(一个或多个)局部余辉项914也定义了先前时间点图像帧(即,图像帧808B和808A)对于相异区域908的减少的贡献。

例如,图10图示了来自图像帧808C的100%的局部贡献1004C1,用于定义合成图像1006的相异区域908内的图像像素。图10也图示了分别来自图像帧808B和808A的0%的局部贡献1004B1和1004A1,用于定义在合成图像1006的相异区域908内的图像像素。以这种方式,本公开的技术可以使用最新的图像数据来描绘相异区域908内的对象,由此避免或减少在相异区域内的伪影和/或向用户提供所捕获的移动对象的更准确的空间表示。

在相异区域之外,(一个或多个)局部余辉项914可以定义各个图像帧808A-808C对合成图像1006的更平衡的贡献。例如,图10图示了来自图像帧808C的40%的局部贡献1004C2,用于定义合成图像1006的相异区域908之外的图像像素。图10也图示了分别来自图像帧808B和808A的30%的局部贡献1004B2和1004A2,用于定义合成图像1006的相异区域908之外的图像像素。通过针对合成图像1006的不同部分定制不同的局部余辉值,本公开的技术可以向SPAD图像添加余辉以改善图像质量,其中,这样做的不利影响(例如,对象伪影和/或重影)不太可能发生(例如,在相异区域之外)。

应当注意,参考图2-7讨论的原理可以与参考图8A-10所讨论的原理相组合。例如,可以基于图像传感器的运动(例如,基于与图像捕获相关联的IMU数据)和/或在捕获场景中检测到的运动(例如,基于所捕获的图像之间的差异)来选择用于定义生成合成图像的图像帧的贡献的(一个或多个)余辉项。

图11图示了使用HMD的SPAD阵列来捕获移动对象的图像帧的示例。具体地,图11示出了在HMD 1102连续捕获光1110和对象1106的图像帧1108A、1108B和1108C时根据姿态1104定位的HMD 1102。HMD 1102可以大体上对应于上文所讨论的HMD 202。例如,HMD 1102包括用于捕获图像帧1108A-1108C的至少一个SPAD阵列112。

图像帧1108A-1108C包括对光1110和对象1106的描绘。图11示出了描绘具有高信号强度或亮度的光1110的图像帧1108A-1108C(例如,与图像帧208A-208C和502A-502C中的对象206的暗表示相反)。就此而言,图像帧1108A-1108C可以个体地提供光1110的期望表示,而不向图像帧1108A-1108C添加余辉。

与图像帧1108A-1108C中的光1110的描绘相比,图像帧1108A-1108C包括稍微变暗的对象1106的描绘,指示可以添加余辉以提供对象1106的经改进的描绘。然而,尽管全局地向图像帧1108A-1108C添加余辉可以改善对象1106的描绘,但是这样做可能会由于使光1110的表示过饱和而降微光1110的表示。

因此,本公开的技术包括基于信号强度选择性地将余辉添加到SPAD图像的不同部分,以避免以过亮的方式描绘照明良好的对象。

图12图示了基于对图像帧执行的信号强度分析来生成局部余辉项的概念表示。具体地,图12图示了图像帧1108C,其对应于图11的图像帧1108A-1108C的集合中最近捕获的图像帧。图12也图示了对图像帧1108C执行的信号强度分析1202。信号强度分析1202可以包括对图像帧1108C的图像像素进行阈值化,以识别包括满足一个或多个强度阈值的强度值的图像像素(或者个体的图像像素)的一个或多个区域。例如,图12图示了与图像帧1108C中的光1110的描绘相对应的高信号强度区域1204。

图12图示了可以基于信号强度分析1202的结果(例如,高信号强度区域1204和/或足够信号强度的其他区域的存在)来生成(一个或多个)余辉项1206。类似于上文参考图9所讨论的(一个或多个)余辉项910,(一个或多个)余辉项1206可以包括(一个或多个)全局余辉项1208和/或(一个或多个)局部余辉项1210。例如,(一个或多个)局部余辉项1210可以定义针对高信号强度区域1204的先前时间点图像帧的减少的贡献以及针对高信号强度区域1204之外的区域的先前时间点图像帧的不同的、更平衡的贡献。在一些情况下,基于与像素区域(或者特定像素)相关联的信号强度减少先前时间点图像帧的贡献可以避免合成图像中的对象的描绘的过饱和。

图13图示了使用基于信号强度而确定的局部余辉项从所捕获到的图像帧生成合成图像的概念表示。具体地,图13示出了对来自图11的图像帧1108A-1108C执行帧组合1302以生成合成图像1306。所述帧组合通常可以对应于上文所讨论的帧组合406、510和/或1002。图13图示了帧组合1302至少部分地基于上文所讨论的(一个或多个)局部余辉项1210。例如,(一个或多个)局部余辉项1210针对合成图像1006的不同部分定义来自图像帧1108A-1108C的不同贡献。

例如,图13描绘了上文参考图12所讨论的高信号强度区域1204。如上文所提到的,高信号强度区域1204包括满足阈值信号强度的像素区域。因此,(一个或多个)局部余辉项1210定义来自先前时间点图像帧(即,图像帧1108B和1108A)针对高信号强度区域1204的减少的贡献,以避免使在高信号强度区域1204内表示的对象过饱和。

例如,图13图示了来自图像帧1108C的100%的局部贡献1304C1,用于定义合成图像1306的高信号强度区域1204内的图像像素。图13也图示了分别来自图像帧1108B和1108A的局部贡献1304B1和1304A1,用于定义高信号强度区域1204内的图像像素。以这种方式,本公开的技术可以避免使高信号强度区域1204内描绘的对象过饱和。

在相异区域之外,(一个或多个)局部余辉项1210可以定义各个图像帧1108A-1108C对合成图像1306的更平衡的贡献。例如,图13图示了来自图像帧1108C的40%的局部贡献1304C2,用于定义合成图像1306的高信号强度区域1204之外的图像像素。图13也图示了分别来自图像帧1108B和1108A的30%的局部贡献1304B2和1304A2,用于定义合成图像1306的高信号强度区域1204之外的图像像素。通过针对合成图像1306的不同部分定制不同的局部余辉值,本公开的技术可以向SPAD图像添加余辉以改进图像质量,其中,这样做的不利影响(例如,过饱和)不太可能发生(例如,在高信号强度区域之外)。例如,如在图13中所示的,通过使用来自所有图像帧1108A-1108C的图像数据来描绘在合成图像1306内的对象1106,合成图像1306以相对于个体地在每个图像帧1108A-1108C内的对象1106的描绘改进的信号强度来描绘对象1106。

尽管图11-13的示例在至少一些方面聚焦于先前时间点图像帧对于单个高信号强度区域的贡献,但是鉴于本公开,将意识到,先前时间点图像帧的不同贡献可以用于不同的图像像素区域。例如,信号强度分析可以识别中等信号强度区域和/或低信号强度区域。基于对不同信号强度的不同区域的识别,(一个或多个)余辉项可以定义先前时间点图像帧的适度贡献,以用于定义中等信号强度区域内的合成图像的图像像素,并且(一个或多个)余辉项可以定义先前时间点图像帧的高贡献,以用于定义低信号强度区域内的合成图像的图像像素。

应当注意,参考图2-10所讨论的原理可以与参考图11-13所讨论的原理相组合。例如,可以基于图像传感器的运动(例如,基于与图像捕获相关联的IMU数据)、在捕获场景中检测到的运动(例如,基于所捕获的图像之间的差异)和/或捕获到的图像或其部分的信号强度,来选择用于定义生成合成图像的图像帧的贡献的(一个或多个)余辉项。

此外,尽管前述示例聚焦于组合三个图像帧以形成合成图像,但是可以使用任意数量的图像帧。

用于向SPAD图像添加余辉的示例性方法

下文的讨论现在涉及可以由所公开的系统执行的多种方法和方法动作。尽管方法动作是按一定顺序讨论的,并且在流程图中示为按特定顺序发生的,但是除非特别说明,否则不需要特定的顺序,或者因为一个动作依赖于在执行该动作之前完成的另一个动作而需要特定顺序。人们将理解,本公开的某些实施例可以省略在本文中所描述的一项或多项动作。

图14、15、16和17分别图示了描绘与向SPAD图像添加余辉相关联的动作的示例性流程图1400、1500、1600和1700。对流程图中所表示的各种动作的讨论包括对参考图1更详细描述的各种硬件组件的引用。

图14的流程图1400的动作1402包括使用SPAD阵列来捕获多个图像帧。在一些情况下,动作1402由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,多个图像帧中的每个图像帧与相应的捕获时间点相关联。

流程图1400的动作1404包括使用IMU捕获与多个图像帧相关联的姿态数据,所述姿态数据至少包括与所述多个图像帧中的每个图像帧相关联的相应姿态数据。在一些情况下,动作1404由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,所述姿态数据表示与对所述多个图像帧的捕获相关联的运动量。

流程图1400的动作1406包括基于所述姿态数据来确定余辉项。在一些情况下,动作1406由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,所述余辉项定义所述多个图像帧中的每个图像帧对合成图像的贡献。对于与对所述多个图像帧的捕获相关联的较高运动量,所述余辉项可以导致与较早捕获时间点相关联的图像帧对合成图像的贡献减少。

流程图1400的动作1408包括通过使用与所述多个图像帧中的每个图像帧相关联的相应姿态数据来将所述多个图像帧中的每个图像帧彼此空间对准来生成多个空间对准的图像帧。在一些情况下,动作1408由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1400的动作1410包括测量在多个空间对准的图像帧中的至少第一图像帧与至少第二图像帧之间的相似性,其中,所述第二图像帧和在与第一图像帧相关联的捕获时间点之后的捕获时间点相关联。在一些情况下,动作1410由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,测量在第一图像帧与第二图像帧之间的相似性包括:通过对第一图像帧进行下采样来生成下采样的第一图像帧;通过对第二图像帧进行下采样来生成下采样的第二图像帧;以及测量下采样的第一图像帧与下采样的第二图像帧之间的相似性。

流程图1400的动作1412包括响应于至少检测到在第一图像帧与第二图像帧之间的相异区域,修改所述余辉项以使得所述余辉项定义第一图像对合成图像的较少的贡献。在一些情况下,动作1412由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,修改后的余辉项针对相异区域而定义第一图像帧对合成图像帧的减少的贡献。

流程图1400的动作1414包括测量多个空间对准的图像帧中的图像帧的信号强度。在一些情况下,动作1414由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1400的动作1416包括:(i)响应于至少检测到图像帧的满足阈值信号强度的区域,修改所述余辉项以使得所述余辉项定义多个空间对准的图像帧中的一个或多个先前图像帧对合成图像的减少的贡献,或者(ii)响应于至少检测到图像帧的未能满足阈值信号强度的区域,修改所述余辉项以使得余辉项对于未能满足阈值信号强度的图像帧的区域,避免定义一个或多个先前图像帧对合成图像的减少的贡献。在一些情况下,动作1416由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,一个或多个先前图像帧和在与图像帧相关联的时间点之前的一个或多个时间点相关联。此外,在一些情况下,修改后的余辉项定义了一个或多个先前图像帧对合成图像针对图像帧的满足阈值信号强度的区域的减少的贡献。

流程图1400的动作1418包括基于多个图像帧、与多个图像帧中的每个图像帧相关联的相应姿态数据以及余辉项来生成合成图像。在一些情况下,动作1418由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,合成图像基于空间对准的图像帧。

流程图1400的动作1420包括在显示器上显示最终图像,所述最终图像基于合成图像。在一些情况下,动作1420由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

图15的流程图1500的动作1502包括访问多个顺序捕获的图像帧。在一些情况下,动作1502由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,使用包括多个SPAD像素的单光子雪崩二极管(SPAD)阵列来捕获多个顺序捕获的图像帧。

流程图1500的动作1504包括访问与多个顺序捕获的图像帧相关联的姿态数据,所述姿态数据至少包括与多个顺序捕获的图像帧中的每个图像帧相关联的相应姿态数据。在一些情况下,动作1504由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,所述姿态数据表示与对多个顺序捕获的图像帧的捕获相关联的运动量。

流程图1500的动作1506包括通过使用姿态数据将多个顺序捕获的图像帧中的每个图像帧彼此空间对准来生成多个空间对准的顺序捕获的图像帧。在一些情况下,动作1506由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1500的动作1508包括测量多个空间对准的顺序捕获的图像帧中的至少第一图像帧与至少第二图像帧之间的相异性,其中,所述第二图像帧和在与第一图像帧相关联的捕获时间点之后的捕获时间点相关联。在一些情况下,动作1508由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,相异性表示由在第一图像帧和第二图像帧中捕获的对象表现出的运动量。此外,在一些情况下,测量在第一图像帧与第二图像帧之间的相异性包括通过对第一图像帧进行下采样来生成下采样的第一图像帧,通过对第二图像帧进行下采样来生成下采样的第二图像帧,以及测量下采样的第一图像帧与下采样的第二图像帧之间的相似性。

流程图1500的动作1510包括基于相异性来确定余辉项。在一些情况下,动作1510由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,对于较高的相异值,所述余辉项导致第一图像帧对合成图像的贡献减少。此外,在一些情况下,响应于识别第一图像帧与第二图像帧之间的相异区域,所述余辉项针对相异区域而定义第一图像帧对合成图像帧的减少的贡献。此外,在一些情况下,余辉项至少部分地基于姿态数据。

流程图1500的动作1512包括基于多个空间对准的顺序捕获的图像帧和余辉项来生成合成图像,其中,所述余辉项定义多个空间对准的顺序捕获的图像帧中的每个图像帧对合成图像的贡献。在一些情况下,动作1512由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

图16的流程图1600的动作1602包括访问多个顺序捕获的图像帧。在一些情况下,动作1602由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1600的动作1604包括访问与多个顺序捕获的图像帧相关联的姿态数据,所述姿态数据至少包括与多个顺序捕获的图像帧中的每个图像帧相关联的相应姿态数据,所述姿态数据表示与对多个顺序捕获的图像帧的捕获相关联的运动量。在一些情况下,动作1604由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1600的动作1606包括从多个顺序捕获的图像帧中识别图像帧的子集,其中,图像帧的子集中的图像帧的数量基于姿态数据表示的运动量来确定。在一些情况下,动作1606由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1600的动作1608包括使用来自多个顺序捕获的图像帧的图像帧的子集来生成合成图像,同时避免使用多个顺序捕获的图像帧中不包含于图像帧的子集中的一个或多个图像帧。在一些情况下,动作1608由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,生成合成图像包括使用与图像帧子集的每个图像帧相关联的相应姿态数据来将图像帧子集的图像帧彼此空间对准。

图17的流程图1700的动作1702包括访问多个顺序捕获的图像帧,所述多个顺序捕获的图像帧中的每个图像帧与相应的捕获时间点相关联。在一些情况下,动作1702由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1700的动作1704包括测量多个顺序捕获的图像帧中的特定图像帧的至少一部分的信号强度。在一些情况下,动作1704由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1700的动作1706包括基于特定图像帧的一部分的信号强度来确定特定图像帧的该部分的余辉项。在一些情况下,动作1706由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图1700的动作1708包括基于多个空间对准的顺序捕获的图像帧和余辉项生成合成图像,其中,所述余辉项定义多个顺序捕获的图像帧中的每个图像帧对合成图像的贡献。在一些情况下,动作1708由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,合成图像的一部分对应于特定图像帧的一部分。此外,在一些情况下,针对特定图像帧的一部分的较高的测量信号强度,余辉项使得一个或多个先前图像帧对合成对象的一部分的贡献减少。一个或多个先前图像帧可以是多个顺序捕获的图像帧的一部分,并且可以和在与特定图像帧相关联的捕获时间点之前的一个或多个捕获时间点相关联。

用于高效生成具有余辉的SPAD图像的技术

上文所讨论的用于向SPAD图像动态添加余辉的技术可以以针对不同情况(例如,高运动头或捕获到的对象运动、明亮的捕获到的对象等)定制的方式提供改善的保真度和/或SPAD图像的可用性。然而,在存储器中维护多个图像帧以生成合成图像会是在计算上成本高的,特别是在生成合成图像所需的图像帧的数量很大的情况下。

因此,本公开的技术包括利用余辉帧来从先前时间点图像帧收集信息,从而允许从存储器中省略先前时间点图像帧。然后可以结合新捕获的图像帧使用余辉帧来生成新的合成图像。新的合成图像可以包括以智能方式从余辉帧添加的余辉,如上文所讨论的。

图18图示了至少部分地基于合成图像1802来生成余辉帧1804的概念表示。合成图像1802可以在概念上对应于上文所描述的任何合成图像(例如,合成图像410、514、712、1006和/或1306)。例如,合成图像1802可以基于至少两个图像帧来生成,所述至少两个图像帧根据上文所描述的任何技术(例如,利用基于姿态数据、相似性分析、信号强度分析等的(一个或多个)余辉项)来组合。用于形成合成图像1802的至少两个图像帧可以包括使用图像传感器(例如,SPAD传感器)捕获的图像帧。在一些情况下,如将参考图19更详细描述的,用于形成合成图像1802的图像帧中的至少一个自身可以是先前的合成图像(例如,通过混合多个图像帧来形成)。

余辉帧1804包括可以用于形成后续合成图像的信息集合。就此而言,余辉帧1804可以包括任意数量的组件。例如,图18将余辉帧1804示出为包括合成图像1802,由此允许合成图像1802用于生成后续合成图像。图18也图示了余辉帧1804可以包括下采样合成图像1806,其可以包括合成图像1802的下采样版本。可以使用如上文所讨论的下采样操作来生成下采样合成图像1806。经由余辉帧1804维持下采样合成图像1806可以促进在合成图像1802与随后捕获的图像帧之间的相似性分析,用于生成后续合成图像(例如,使用上文参考图8A-10所讨论的技术)。

图18也图示了余辉帧1804可以包括姿态数据1808,姿态数据1808可以指示与合成图像1802相关联的成像视角。例如,在合成图像1802基于使用图像传感器捕获的至少一个图像帧的情况下,姿态数据1808可以指示图像传感器在捕获至少一个图像帧(例如,用于形成合成图像1802的最近捕获的图像帧)时存在的姿态。这样的姿态数据1808可以用于将合成图像1802与后续图像帧组合以形成后续合成图像。

如在图18中所示的,余辉帧1804可以包括(一个或多个)余辉项1810。(一个或多个)余辉项1810可以在概念上对应于上文是讨论的(一个或多个)任何余辉项,并且可以包括基于任意数量的余辉项(例如,基于姿态数据的(一个或多个)余辉项、基于图像帧相似性的(一个或多个)余辉项、基于信号强度的(一个或多个)余辉项等)的任意数量的分量(例如,(一个或多个)局部余辉项、(一个或多个)全局余辉项)。(一个或多个)余辉项1810可以包括用于生成合成图像1802的(一个或多个)余辉项,并且因此可以用于将合成图像1802与后续图像帧相组合以生成后续合成图像。

通过使用余辉帧1804来收集能够用于将合成图像1802与随后捕获的图像帧相组合以形成后续合成图像的信息,时间上在合成图像之前的数据(例如,先前的图像帧)可以从存储器中省略,由此允许以高效的方式生成后续合成图像。

图19图示了以计算高效的方式生成具有余辉的SPAD图像的概念表示。图19包括时间轴t以图示出图19中所图示出的各种元素之间的时间关系。图19示出了图像帧1902A。在图19中所示的示例中,图像帧1902A包括经由图像传感器(例如,HMD的SPAD阵列112)捕获的初始图像帧。在一些情况下,图像帧1902A或图像帧1902A的重新投影形式可以被示出在显示器1900上(例如,以向操作HMD的用户提供环境的直通视图)。

图19图示了由图像传感器在时间上在图像帧1902A之后捕获的图像帧1902B。图19另外图示了可以基于图像帧1902B和1902A和/或与其相关联的信息(例如,姿态数据)来生成(一个或多个)余辉项1904A。然后,(一个或多个)余辉项1904A可以用于将图像帧1902A与图像帧1902B组合以形成合成图像1906A。合成图像1906A或者合成图像1906A的重新投影形式可以被示出在显示器1900上(例如,以向操作HMD的用户提供环境的直通视图)。

图19还图示了合成图像1906A和/或(一个或多个)余辉项1904A可意用于形成余辉帧1908A。余辉帧1908A可以在至少一些方面中对应于上文参考图18所讨论的余辉帧1804。例如,余辉帧1908A可以包括合成图像1906A、与其相关联的姿态数据、下采样的合成图像和/或用于将图像帧1902A与图像帧1902B组合以形成合成图像1906A的余辉项1904A。随着形成的余辉帧1908A,可以从存储器中省略图像帧1902A和图像帧1902B,并且余辉帧1908A可以与随后捕获的图像帧组合使用(例如,图像帧1902C)以形成后续合成图像(例如,合成图像1906B)。

如在图19中所图示的,图像帧1902C可以在捕获图像帧1902B之后由图像传感器捕获。(一个或多个)余辉项1904B可以基于图像帧1902C和余辉帧1908A来生成。例如,与图像帧1902C相关联的姿态数据可以和与合成图像1906A相关联的姿态数据进行比较(例如,如在余辉帧1908A所表示的)以确定运动量,并且所述运动量可以用于生成余辉项,以用于定义图像帧1902C和合成图像1906A对后续合成图像(例如,合成图像1906B)的贡献。作为另一示例,可以在图像帧1902C(或者其下采样表示)与合成图像1906A(例如,如在余辉帧1908A中所表示的,或者如在余辉帧1908A中所表示的合成图像1906A的下采样表示)之间执行相似性分析。所述相似性分析(例如,相异区域)可以用于生成余辉项,以用于定义图像帧1902C和合成图像1906A对后续合成图像(例如,合成图像1906B)的贡献。作为又一示例,可以对图像帧1902C执行信号强度分析以确定定义图像帧1902C和合成图像1906A对后续合成图像(例如,合成图像1906B)的贡献的余辉项。

如在图19中所图示的,(一个或多个)余辉项1904B然后可以用于将图像帧1902C与余辉帧1908A(或者与如在余辉帧1908A中所表示的合成图像1906A)组合以形成合成图像1906B。合成图像1906B或者合成图像1906B的重新投影形式可以被显示在显示器1900上(例如,以向操作HMD的用户提供环境的直通视图)。

图19还图示了合成图像帧1906B和/或(一个或多个)余辉项1904B可以用于形成另一余辉帧1908B。在形成余辉帧1908B的情况下,可以从存储器中省略图像帧1902C、合成图像1906A和余辉帧1908A,并且余辉帧1908B可以与随后捕获的图像帧(例如,图像帧1902D)组合以形成后续合成图像(例如,合成图像1906C)。例如,可以基于新捕获的图像帧1902D和余辉帧1908B来生成(一个或多个)余辉项1904C。然后,(一个或多个)余辉项1904C可以用于将图像帧1902D与余辉帧1908B(或者与如在余辉帧1908B中所表示的合成图像1906B)组合以形成合成图像1906C。合成图像1906C或者合成图像1906C的重新投影形式可以被显示在显示器1900上(例如,以向操作HMD的用户提供环境的直通视图)。这样的处理可以根据需要重复(例如,形成另一余辉帧、捕获另一图像以及使用余辉帧和新捕获的图像来形成后续的合成图像),以促进计算高效和/或存储高效地将余辉添加到SPAD图像。

尽管本公开按照余辉帧描述了各种信息,但是鉴于本公开,人们将意识到,本公开使用余辉帧作为用于描述可以逐帧携带的信息的便利工具,用于生成后续合成图像。将意识到,鉴于本公开,在本文中所描述的与余辉帧相关联的任何信息可以以任何合适的格式来维护或存储,无论是否聚集在“余辉帧”中。

用于高效生成具有余辉的SPAD图像的示例性方法

图20图示了示例性流程图2000,其描绘了与高效生成具有余辉的SPAD图像相关联的动作。对流程图中表示的各种动作的讨论包括对参考图1更详细描述的各种硬件组件的引用。

流程图200的动作2002包括使用SPAD阵列捕获图像帧。在一些情况下,动作2002由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图200的动作2004包括使用IMU来捕获与对图像帧的捕获相关联的姿态数据。在一些情况下,动作2004由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图200的动作2006包括访问余辉帧,所述余辉帧包括基于至少一个先前图像帧生成的先前合成图像帧,所述至少一个先前图像帧和在与图像帧相关联的捕获时间点之前的一个或多个时间点相关联。在一些情况下,动作2006由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,至少先前图像帧包括至少两个先前图像帧,并且至少两个图像帧可以包括使用SPAD阵列捕获的在先图像帧以及和在与所述在先图像帧相关联的捕获时间点之前的时间点相关联的先前余辉帧。此外,在一些情况下,先前余辉帧包括基于使用SPAD阵列捕获的一个或多个图像帧生成的先前合成图像帧。

流程图200的动作2008包括:基于(i)与对图像帧的捕获相关联的姿态数据,(ii)基于图像帧和余辉帧的相似性比较,或者(iii)与图像帧相关联的信号强度,来生成余辉项。在一些情况下,动作2008由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,余辉项基于表示与对图像帧的捕获相关联的运动量的姿态数据。此外,在一些情况下,生成余辉项包括:通过使用姿态数据将余辉帧与图像帧空间对准,并且测量在空间对准的图像帧与空间对准的余辉帧之间的相似性,来生成空间对准的图像帧和空间对准的余辉帧。响应于至少检测到空间对准的图像帧与空间对准的余辉帧之间的相异区域,余辉项可以针对至少相异区域而定义空间对准的余辉帧对合成图像的减少的贡献。

此外,在一些情况下,生成余辉项可以包括测量图像帧的至少一部分的信号强度。响应于检测到图像帧的至少一部分的信号强度满足阈值信号强度,余辉项可以定义空间对准的余辉帧对合成图像的、与图像帧的至少所述一部分相对应的至少一部分的减少的贡献。

流程图200的动作2010包括基于图像帧、余辉帧和余辉项来生成合成图像,其中,余辉项定义图像帧和余辉帧对合成图像的贡献。在一些情况下,动作2010由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,合成图像基于空间对准的图像帧和空间对准的余辉帧。

流程图200的动作2012包括在显示器上显示合成图像。在一些情况下,动作2012由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图200的动作2014包括在与图像帧相关联的捕获时间点之后的后续时间点处捕获后续图像帧。在一些情况下,动作2014由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。

流程图200的动作2016包括使用基于合成图像的后续余辉帧来生成后续合成图像,所述后续合成图像基于后续余辉帧和后续图像帧。在一些情况下,动作2016由利用(一个或多个)处理器102、存储设备104、(一个或多个)传感器110、(一个或多个)输入/输出系统116、(一个或多个)通信系统118和/或其他组件的系统来执行。在一些情况下,所述后续余辉帧包括多个分量。此外,在一些情况下,所述后续余辉帧的多个分量中的分量与不同的余辉决定因素相关联。同样地,在一些实现方式中,后续余辉帧的多个分量中的分量与不同的图像像素区域相关联。此外,后续余辉帧的多个分量中的分量可以与不同的图像帧大小相关联。另外,生成后续合成图像可以包括:基于(i)与对后续图像帧的捕获相关联的姿态数据,(ii)基于后续图像帧和后续余辉帧的相似性比较,或者(iii)与后续图像帧相关联的信号强度,来生成后续余辉项。后续余辉项定义后续图像帧和后续余辉帧对后续合成图像的贡献。

所公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,如下文更详细讨论的。所公开的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储计算机可执行指令的计算机可读介质是一个或多个“物理计算机存储介质”或“硬件存储设备”。仅承载计算机可执行指令而不存储计算机可执行指令的计算机可读介质是“传输介质”。因此,作为示例而非限制,当前实施例可以包括至少两种截然不同的计算机可读介质:计算机存储介质和传输介质。

计算机存储介质(也称为“硬件存储设备”)是计算机可读硬件存储设备,例如RAM、ROM、EEPROM、CD-ROM、基于RAM的固态驱动器(“SSD”)、闪存、相变存储器(“PCM”)、或其他类型的存储器、或其他光盘存储设备、磁盘存储或其他磁存储设备、或可用于在硬件中以计算机可执行指令、数据或数据结构的形式存储期望的程序代码并可由通用或专用计算机访问的任何其他介质。

“网络”被定义为能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,计算机正确地将连接视为传输介质。传输介质可以包括网络和/或数据链路,其可以用于携带计算机可执行指令或数据结构形式的程序代码并且可以由通用或专用计算机访问。上述的组合也包含于计算机可读介质的范围内。

此外,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码单元可以自动地从传输计算机可读介质传送到物理计算机可读存储介质(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓冲在网络接口模块(例如,“NIC”)内的RAM中,然后最终传输到计算机系统RAM和/或计算机系统处较不易失的计算机可读物理存储介质。因此,计算机可读物理存储介质可以包含于也(或者甚至主要)利用传输介质的计算机系统组件中。

计算机可执行指令包括例如使通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。计算机可执行指令可以是例如二进制、诸如汇编语言的中间格式指令、或者甚至是源代码。尽管已经以特定于结构特征和/或方法动作的语言描述了本主题,但是应当理解,所附权利要求中定义的主题不一定限于上述特征或动作。相反,所描述的特征和动作被公开为实现权利要求的示例性形式。

所公开的实施例可以包括或利用云计算。云模型可以由各种特性(例如,按需自助服务、广泛的网络访问、资源池、快速弹性、可测量服务等)、服务模型(例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)、基础设施即服务(“IaaS”))和部署模型(例如私有云、社区云、公共云、混合云等)。

本领域技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机、可穿戴设备等。本发明还可以在分布式系统环境中实践,其中通过网络(或者通过硬连线数据链路、无线数据链路或者通过硬连线和无线数据链路的组合)链接的多个计算机系统(例如,本地和远程系统)执行任务。在分布式系统环境中,程序模块可以位于本地和/或远程存储器存储设备中。

替代地或另外,在本文中所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、中央处理单元(CPU)、图形处理单元(GPU)和/或其他。

如在本文中所使用的,术语“可执行模块”、“可执行组件”、“组件”、“模块”或“引擎”可以指硬件处理单元或可以在一个或多个计算机系统上执行的软件对象、例程或方法。在本文中所描述的不同组件、模块、引擎和服务可以被实现为在一个或多个计算机系统上执行的对象或处理器(例如,作为单独的线程)。

人们还将理解本文公开的任何特征或操作可以如何与本文公开的其他特征和操作中的任何一个或其组合进行组合。另外,任一附图中的内容或特征可以与任何其他附图中使用的任何内容或特征组合或结合使用。就此而言,任一附图中公开的内容不是相互排斥的,而是可以与来自任何其他附图的内容组合。

在不背离本发明的精神或特性的情况下,本发明可以以其他具体形式来体现。所描述的实施例在所有方面都应当被视为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。落入权利要求的等同物的含义和范围内的所有改变均被包含在其范围内。

技术分类

06120116514808