专题栏目:ARVRMR虚拟现实

微软AR/VR专利提出通过单个单光子雪崩二极管减少图像传感器获取的噪点

传统图像传感器的信噪比可能受到读取噪点的高度影响,尤其是在低能见度条件下成像时。例如,在低光成像条件,CMOS或CCD成像像素可以仅检测少量光子,这可能导致读取噪点接近或超过成像像素检测到的信号,并降低信噪比。

当在低光条件下以高帧速率成像时,CMOS或CCD图像传感器检测到的信号中读取噪点的优势通常会加剧。尽管较低的帧速率可用于允许CMOS或CCD传感器检测足够的光子,但利用低帧速率通常会导致捕获图像中的运动模糊,这在头显中尤其成问题。

除了影响透视成像外,与常规图像传感器相关的读取噪点和/或运动模糊可能影响头显执行的其他操作,如后期重投影、滚动快门校正、对象追踪、表面重建、语义标记、对象的3D重建等。

针对这个问题,微软在名为“Image acquisition techniques with reduced noise using single photon avalanche diodes”的专利申请中提出了一种通过单个单光子雪崩二极管(SPAD)来减少图像获取的噪点。

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

微软指出,将SPAD图像传感器用于图像捕获可以提供优于传统图像捕获系统和技术的众多优点,特别是在低光条件下成像和/或在图像捕获期间经历运动的设备成像。

首先,SPAD信号的二值化有效地消除了读取早点,从而与传统CMOS和/或CCD传感器相比提高了SPAD图像传感器阵列的信噪比。因此,由于SPAD信号的二值化,SPAD信号可以以高帧速率读出,而不会导致信号被读取噪点支配,即使对于在低光环境下捕获少量光子的信号都是如此。

鉴于上述情况,可以使用SPAD阵列以高帧速率执行多次曝光和读出操作,以生成单独的部分图像帧,并且可以组合单独的局部图像帧以形成单个合成图像。

通过利用SPAD阵列的多次曝光和读出操作来形成单个合成图像,可以实现高帧速率下的低光成像。另外i,利用高帧率进行低光图像捕获可以减少运动伪影的影响。值得一提的是,使用SPAD的高帧率图像捕获技术可以与其他运动补偿操作组合,从而进一步减少运动伪影。缓解的运动伪影可以相应地改善头显执行的其他操作,例如后期重投影、滚动快门伪影校正等。

微软AR/VR专利提出通过单个单光子雪崩二极管减少图像传感器获取的噪点

图2B显示了处理216组合部分帧214A、214B和214C以形成图像218。因为可以在避免读取噪点的同时执行连续执行的曝光和读出操作,所以可以以高帧速率执行曝光和读出。因此,由于图像218是使用以高帧率捕获但仍共同跨越有效曝光时间206的分量生成,图像218可以提供具有减少的运动模糊的低光环境的适当曝光表示。

在一个实施例中,可以执行额外的动作以进一步减轻或减少捕获的合成图像中的运动模糊。例如,系统执行运动补偿操作以生成合成图像,以与上面描述的利用顺序、高帧率曝光和读出操作的技术相结合。

微软AR/VR专利提出通过单个单光子雪崩二极管减少图像传感器获取的噪点

图3示出了使用SPAD阵列捕获连续低光图像的示例。作为示例实现,可以使用头显的一个或多个SPAD阵列来捕获连续的微光图像,并且可以用于生成所捕获的微光环境的透视图像,以实时呈现给用户。

图3说明了使用SPAD阵列200执行的各种曝光和读出操作。特别是,图3显示了顺序执行的曝光和读出作业304A至304F。

图3所示的示例显示了使用单独的曝光和读出操作集生成的每个图像306A和306B。例如,图像306A是使用曝光和读出操作304A、304B和304C生成,而图像306B是使用单独的、不重叠的曝光和读出组304D、304E和304F生成。可以以任何期望的速率执行单独的顺序曝光和读出操作集。

例如,第一组曝光和读出操作可以包括曝光和读出动作304A、304B和304C,第二组曝光和读取操作可以包括暴露和读出操作304D、304E和304F。系统可以执行连续的3组曝光和读出操作,使得这些组以30Hz或更低(或更高)的速率完成。

微软AR/VR专利提出通过单个单光子雪崩二极管减少图像传感器获取的噪点

流程图700的动作702包括执行多个顺序曝光和读出操作,每个曝光和读出包括:(i)应用一组快门操作以配置SPAD阵列的每个SPAD像素以启用光子检测,以及(ii)对于SPAD阵列中的每个SPA像素,读出在所述一组快门操作期间检测到的光子的数量。

在一个实施例中,为每个单独的曝光和读出操作生成部分帧。多个顺序曝光和读出操作可以包括2、3或更多曝光和读出。每个顺序曝光和读出操作具有相同的曝光时间。

动作704包括基于在多个顺序曝光和读出操作中的每一个期间为每个SPAD像素检测到的光子数量生成图像。在一个实施例中,使用基于在多个顺序曝光和读出操作中的每一个期间为每个SPAD像素检测到的光子数量而确定的部分帧来生成图像。另外,执行一个或多个运动补偿操作以生成图像。

动作706包括执行连续多个顺序曝光和读出操作。在一个实施例中,连续多个顺序曝光和读出操作包括至少部分重叠的顺序曝光和读取操作集,而在其他实现中,顺序多个顺序暴露和读出操作包含非重叠的顺序暴露和读取操作。在一个实施例中,以30Hz或更低的速率执行连续多个顺序曝光和读出操作。

动作708包括生成连续图像,每个连续图像基于连续多个顺序曝光和读出操作中的相应多个顺序暴露和读出操作生成。

动作710包括在显示器连续显示连续图像。在一个实施例中,用于在显示器显示连续图像的帧显示速率与执行连续多个顺序曝光和读出操作的顺序曝光和读取操作的速率相匹配。

微软AR/VR专利提出通过单个单光子雪崩二极管减少图像传感器获取的噪点

现在注意图8。流程图800的动作802包括执行多个顺序快门操作,以配置SPAD阵列的每个SPAD像素以启用光子检测。

动作804包括访问SPAD阵列的每个SPAD像素的相应二进制计数流,每个相应的二进制计数流对于相应的SPAD像素指示在多个顺序快门操作期间检测到的光子数。在一个实施例中,二进制计数的各个流累积在系统片上系统(SOC)。

动作806包括从每个SPAD像素的相应二进制计数流中识别一组二进制计数,包括来自每个SPAD象素的每个二进制计数流的相应二进制数。

动作808包括使用该组二进制计数生成图像。在一个实施例中,应用一个或多个运动补偿操作作为生成图像的一部分。

动作810包括从每个SPAD像素的相应二进制计数流中识别第二组二进制计数,第二组二元计数包括来自每个SPAD象素的每个二进制计数流的第二组相应二进制计数。在一个实施例中,第二组二进制计数包括来自也包括在该组二进制计数中的相应二进制计数流的至少一些二进制计数。另外,第二组二进制计数包括与该组二进制计数相同数量的二进制计数。

动作812包括使用第二组二进制计数生成第二图像。在图像之后生成/获得第二图像。第二图像和图像二者可以连续地显示在头显显示器,以便于在低光条件下以减少的运动模糊进行透视成像。

通过以上描述的方式,SPAD可以帮助生成减少噪点的图像。

 

发表评论

相关文章