用于在相机中执行处理的方法和设备与流程

文档序号:17670007发布日期:2019-05-15 22:59阅读:225来源:国知局
用于在相机中执行处理的方法和设备与流程

为了使用相机捕获红外(ir)图像,ir滤波器和传感器常常与可见光(红色/绿色/蓝色“rgb”)滤波器和捕获可见光图像的传感器一起实施。使用双频带rgbir滤波器允许利用单个相机来捕获可见光图像和ir图像两者。通过使用单个相机,可以节省大小和成本,并且避免需要在利用两个相机时所需的进行几何校准。

然而,驻留在可见图像中的色彩可能会受到穿过双频带滤波器的ir频带的ir能量污染,这是因为rgb像素还具有ir频带中的频谱响应。另外,ir图像可能会以类似的方式受到可见光能污染。

因此,在具有双频带rgbir滤波器的相机中,用于获取质量rgb图像的常规技术采用唯一的图像信号处理器(isp),这是因为rgbir传感器上的像素阵列的图案不同于常规rgb传感器上的像素阵列的图案,常规的rgb传感器会产生常规的rgb“贝尔”图案。通过使用rgbir传感器,常规的贝尔图案的一些像素会被ir像素取代。常规的isp不能对从rgbir传感器接收的所得的图像执行常规的处理。

附图说明

通过结合附图借助实例给出的以下描述,可以得到更详细的理解。

图1是其中可以实施一个或多个所公开的实施方案的示例性系统的框图;

图2a是其中可以实施本公开的一个或多个特征的在图1中描绘的示例性装置的框图;

图2b是其中可以实施本公开的一个或多个特征的示例性系统的框图;

图3是图2a的示例性装置和图2b的示例性系统的框图,其说明额外的细节;

图4是用于在相机中执行处理的示例性方法的流程图;

图5a示出包括ir污染的示例性rgbir图案;以及

图5b示出移除了ir污染的示例性经过内插的贝尔图案。

具体实施方式

虽然后面是更详细的描述,但本文简略地描述用于接收和处理包括可见光(红色/绿色/蓝色“rgb”)分量和红外(ir)分量的图像的方法和设备。所述方法允许常规的图像信号处理器(isp)对rgbir信号执行常规的处理,其中对所述信号执行去污功能并且对所述信号执行内插(例如,红光、绿光、蓝光内插)。所述信号中的污染可以归因于若干因素。

举例来说,所接收的信号中的一些污染可以归因于光谱串扰,由于有缺陷的滤色器使被滤除的色彩的一定量的不想要的光通过而出现所述光谱串扰。光学空间串扰污染是归因于滤色器由于金属和绝缘物层而与图像像素表面相距一定距离定位。以除了正交之外的角度到来的光穿过滤波器,并且可能会被所产生的相邻像素而不是下方的像素部分地吸收。依据透镜的f数,被相邻像素吸收的光的此部分可以显著不同并且对于低f数的透镜可以足够大。当选择了适当形式的微透镜和微透镜的最佳位置时,位于滤色器顶部上的微透镜可以显著减少串扰的此分量。电串扰污染源自光生载流子,所述光生载流子有可能移动到相邻的电荷积聚地。电串扰出现在单色和彩色图像传感器中。可以由相邻像素积聚的载流子的量以及对应的串扰取决于像素结构、收集区域和像素内部的灵敏度的分布。因此,红外光可能会污染所接收的rgbir图像的可见分量,并且可见光可能会污染所接收的rgbir图像的红外分量。

公开了在图像捕获装置中执行处理的方法。所述方法包括通过图像捕获装置接收包括红外分量和可见分量的图像。执行去污以产生经过去污的红外分量和经过去污的可见分量。对经过去污的可见分量执行内插以产生经过内插的可见分量,并且向图像信号处理器(isp)提供经过去污的红外分量和经过去污且经过内插的可见分量以供进一步处理。公开了图像捕获装置,所述图像捕获装置包括相机模块、操作地耦合到所述相机模块的处理器和与所述处理器操作地耦合的图像信号处理器(isp)。所述相机模块接收包括红外分量和可见分量的图像并且将所接收的图像转发到处理器。所述处理器执行去污以产生经过去污的红外分量和经过去污的可见分量。所述处理器对经过去污的可见分量执行内插以产生经过内插的可见分量,并且将经过去污的红外分量和经过去污且经过内插的可见分量转发到isp以供进一步处理。公开了非暂时性计算机可读介质,所述非暂时性计算机可读介质上记录有指令,所述指令在由计算装置执行时致使所述计算装置执行操作。所述操作包括接收包括红外分量和可见分量的图像。执行去污以产生经过去污的红外分量和经过去污的可见分量。对经过去污的可见分量执行内插以产生经过内插的可见分量,并且向图像信号处理器(isp)提供经过去污的红外分量和经过去污且经过内插的可见分量以供进一步处理。图1是其中可以实施一个或多个所公开的实施方案的示例性系统100的框图。示例性系统100包括图像捕获装置(例如,相机)110,所述图像捕获装置至少包括用于捕获图像的镜头123。为了举例,在图1中示出的图像是人。由镜头123捕获的图像包括可见(rgb)光和ir光。应注意,镜头123可以捕获额外类型的光,但为了举例,在本文论述可见光和ir光。

图2a是其中可以实施本公开的一个或多个特征的在图1中描绘的示例性装置110中的一者的框图;在下文更详细地描述关于涉及图2的接缝发现方法的实现方式的更多细节。虽然已经将装置110描述为图像捕获装置(例如,相机),但应注意,装置110可以包括(例如)计算机、游戏装置、手持式装置、机顶盒、电视、移动电话或平板计算机。在本文为了举例,将示例性装置110描述为图像捕获装置110,其例如为相机。

因此,装置110包括处理器102、存储器104、存储装置106、一个或多个输入装置108、相机模块111和一个或多个输出装置119。装置110还可以任选地包括输入驱动器112和输出驱动器114。应理解,装置110可以包括在图2a中未示出的额外组件。

相机模块111包括上文描述的镜头123、滤波器124和传感器125。滤波器124和传感器125是rgbir滤波器/传感器对,所述rgbir滤波器/传感器对执行对rgb和ir光频带的滤波以及rgbir图案的产生,这在下文更详细地描述。

在各种替代方案中,处理器102包括中央处理单元(cpu)、图形处理单元(gpu)、位于同一裸片上的cpu和gpu,或一个或多个处理器核心,其中每个处理器核心可以是cpu或gpu。在各种替代方案中,存储器104位于与处理器102相同的裸片上,或者与处理器102分开地定位。存储器104包括易失性或非易失性存储器,例如随机存取存储器(ram)、动态ram,或缓存。在处理器102中可以包括常规的图像信号处理器(isp)以执行在下文更详细地描述的rgbir/贝尔图像信号处理。替代地,isp可以包括在apd116中或者作为单独的处理单元(未示出)。也就是说,虽然未具体地示出常规的isp的位置,但所述isp可以与处理器102或apd116分开地驻留或者集成在处理器102或apd116内。存储装置106包括固定或可移除的存储装置,例如硬盘驱动器、固态驱动器、光盘,或闪存驱动器。输入装置108包括(但不限于)键盘、小键盘、触摸屏、触摸垫、检测器、麦克风、加速度计、陀螺仪、生物识别扫描仪,或网络连接(例如,用于传输和/或接收无线ieee802信号的无线局域网卡)。输出装置119包括(但不限于)显示器、扬声器、打印机、触觉反馈装置、一个或多个灯、天线,或网络连接(例如,用于传输和/或接收无线ieee802信号的无线局域网卡)。

输入驱动器112与处理器102、输入装置108和镜头111通信,并且准许处理器102从输入装置108和镜头111接收输入。输出驱动器114与处理器102和输出装置110通信,并且准许处理器102将输出发送到输出装置119。应注意,输入驱动器112和输出驱动器114是任选的组件,并且在不存在输入驱动器112和输出驱动器114的情况下,装置110将以相同的方式操作。输出驱动器114包括耦合到显示装置118的加速处理装置(“apd”)116。apd被配置成从处理器102接受计算命令和图形渲染命令、处理那些计算和图形渲染命令,并且向显示装置118提供像素输出以供显示。如下文进一步详细描述,apd116包括被配置成根据单指令多数据(“simd”)范式执行计算的一个或多个并行处理单元。因此,虽然各种功能性在本文描述为是由apd116执行或与apd116结合执行,但在各种替代方案中,被描述为由apd116执行的功能性另外或替代地由具有类似能力的其他计算装置执行,所述其他计算装置不由主机处理器(例如,处理器102)驱动并且被配置成向显示装置118提供图形输出。举例来说,预期根据simd范式执行处理任务的任何处理系统可以被配置成执行本文描述的功能性。替代地,预期不根据simd范式执行处理任务的计算系统会执行本文描述的功能性。本文描述的图像信号处理还可以由apd116执行。

图2b是其中可以实施本公开的一个或多个特征的示例性系统210的框图。系统210包括与装置110基本上类似的组件,不同之处在于相机模块111。系统210可以包括(例如)计算机、游戏装置、手持式装置、机顶盒、电视、移动电话或平板计算机。系统210可以与在图1中描绘的装置110通信并且可以向装置110提供控制编程以及从装置110接收数据。

图3是装置110和系统210的框图,其说明与apd116上的处理任务的执行相关的额外细节。举例来说,可以在适当时利用本文描述的并行simd范式来执行校准、去污和内插操作。处理器102在系统存储器104中维持一个或多个控制逻辑模块以供处理器102执行。控制逻辑模块包括操作系统120、内核模式驱动器122和应用126。这些控制逻辑模块控制处理器102和apd116的操作的各种特征。举例来说,操作系统120直接与硬件通信并且为在处理器102上执行的其他软件提供到硬件的接口。内核模式驱动器122通过(例如,应用126)向在处理器102上执行的软件提供应用编程接口(“api”)来控制apd116的操作,以访问apd116的各种功能性。内核模式驱动器122还包括即时编译器,所述即时编译器编译程序以供apd116的处理组件(例如,在下文进一步详细论述的simd单元138)执行。

apd116执行选定功能的命令和程序,例如可以适合于并行处理的图形操作和非图形操作。apd116可以用于执行图形管线操作,例如像素操作、几何计算,并且基于从处理器102接收的命令而向显示装置118渲染图像。apd116还基于从处理器102接收的命令而执行不与图形操作直接相关的计算处理操作,例如与视频、物理模拟、计算流体动力学或其他任务相关的操作。

apd116包括计算单元132,所述计算单元包括一个或多个simd单元138,所述一个或多个simd单元被配置成在处理器102的请求下根据simd范式以并行方式执行操作。simd范式是其中多个处理元件共享单个程序控制流单元和程序计数器并且因此执行相同的程序但能够使用不同数据来执行那个程序的simd范式。在一个实例中,每个simd单元138包括十六个分道,其中每个分道与simd单元138中的其他分道同时执行相同的指令但可以使用不同数据来执行那个指令。如果不是所有分道都需要执行给定指令,那么可以通过断言来关闭分道。还可以使用断言以分歧的控制流来执行程序。更具体来说,对于具有条件性分支的程序或其中控制流是基于由个别分道执行的计算的其他指令,分道的断言对应于当前不在执行的控制流路径,并且不同控制流路径的连续执行允许任意的控制流。

计算单元132中的基本执行单元是工作项目。每个工作项目表示将在特定分道中并行地执行的程序的单个实例化。工作项目可以作为“波前”在单个simd处理单元138上同时执行。一个或多个波前包括在“工作组”中,所述工作组包括被指定成执行相同程序的工作项目的集合。可以通过执行构成工作组的波前中的每一者来执行工作组。在替代方案中,在单个simd单元138上循序地执行波前,或者在不同的simd单元138上部分或完全并行地执行波前。波前可以被视为可以在单个simd单元138上同时执行的工作项目的最大集合。因此,如果从处理器102接收的命令指示特定程序并行化到所述程序无法在单个simd单元138上同时执行的程度,那么将那个程序分解为在两个或更多个simd单元138上并行化或在相同simd单元138上串行化(或在需要时并行化并且串行化)的波前。调度器136被配置成执行与在不同计算单元132和simd单元138上调度各种波前相关的操作。

由计算单元132提供的平行度适合于图形相关操作,例如像素值计算、顶点转换和其他图形操作。因此,在一些情况下,从处理器102接受图形处理命令的图形管线134向计算单元132提供计算任务以并行地执行。

计算单元132还用于执行不与图形相关或者不执行为图形管线134的“正常”操作的部分(例如,为了对针对图形管线134的操作所执行的处理进行增补而执行的定制操作)的计算任务。应用126或在处理器102上执行的其他软件向apd116传输界定此类计算任务的程序以供执行。为了举例,可以通过向apd116的计算单元132发送用于执行的指令来执行本文描述的方法(例如,在下文描述的去污和内插)。

图4是用于在相机中执行处理的示例性方法400的流程图。在步骤410中,包括rgb和ir分量的所捕获的图像(例如,由相机110捕获)经受黑色电平校正(blc)。blc是用于移除输入的rgbir图像中的黑色电平的常规过程。一旦在步骤410中执行blc,便对所接收的rgbir图像执行缺陷像素校正(dpc)(步骤420)。dpc操作是常规的操作,其中将像素与周围像素进行比较,并且如果所述像素与周围像素之间的差超过预定义阈值或者低于另一预定义阈值,那么所述像素被取代(例如,使用从周围像素的平均值得到的像素取代)。这些常规的操作(例如,步骤410和420)可以由上文描述的处理器102或apd116执行。

随后执行去污(步骤430)以从可见分量移除ir光能并且从红外分量移除rgb光能。去污操作可以由处理器102或apd116执行。举例来说,将rgbir图像传递到存储器(例如,存储器104)中。随后将图像反馈到处理器(例如,处理器102或apd116)中以进行去污,以用于产生静态图像或视频以供输出。去污的图像包括单独的可见分量和红外分量。可以根据以下操作将所述去污模型化。通过取得所观察到的信号电平的向量i=[r,g,b,ir]t,和理想的未受污染的值的向量其中是t矩阵的转置,r、g、b和ir是来自rgbir传感器的所观察到的值,并且其中是理想的未受污染的值。可以预先例如通过使用校准操作(在下文描述)来表征所观察到的值与理想的未受污染的值之间的关系,所述关系可以用于产生矩阵a来描述所观察到的值与理想的未受污染的值之间的关系。因此可以根据以下等式来描述污染模型:

i=a*i’。等式(1)

如上文描述,可以在去污之前基于未受污染的值来执行校准过程以确定污染因子,所述污染因子界定有多少污染存在于所接收的信号中(例如,污染矩阵a)。通过以下操作来执行此校准:产生一个统一测试图(其为由窄频带光(红、绿、蓝或nir)作为背光的扩散器),并且在所述测试图上使用rgbir相机(例如,图像装置110)捕获一连串原始图像。所产生的原始数据可以用于计算每个通道(例如,r/g/b/ir)的污染因子以形成每个像素位置的矩阵a。

因此,矩阵a是表示施加到理想的未受污染的值以达到所观察到的受污染的信号水平的污染的污染矩阵。随后将去污矩阵计算为逆污染矩阵。即:

i’=a-1*i,等式(2)

其中a-1是逆污染矩阵a(即,去污矩阵)。

一旦确定去污矩阵,便可以利用矩阵中的分量的值从图像移除不想要的污染(例如,rgb或ir能量)以产生经过去污的可见分量和红外分量。然而,因为所述去污步骤从去污的图像移除能量的一部分,从而潜在地产生某一水平的失真的分量,所以可以对所得的分量执行调整以考虑能量损耗。因此,一旦在步骤430中去污,便在步骤440中执行ir调整,以及在步骤450中执行rgb调整。对红外分量执行ir调整(步骤440)。再次地,可以由处理器102或apd116执行调整操作(例如,步骤440和450)。也就是说,示例性8位像素具有0至255之间的值。在加亮或饱和的区域中,所述值将通常接近上边界255,因此由于在此区域中的去污而引起的能量移除导致加亮轮廓(即,不连续性)图案。为了应对此效应,将所观察到的ir图像与预定义阈值进行比较,并且如果所述值大于预定义阈值,那么去污的强度朝向上边界255逐渐降低,使得将不会出现不连续性。也就是说,可以执行更少的去污或完全不执行去污。在需要时可以根据所呈现的视觉效果来(例如,通过程序员)增加或减小阈值。

在步骤450中,调整经过去污的rgb分量(例如,通过处理器102或apd116)。也就是说,在从rgbir图像移除ir能量时,暗区域在图像中的左边。如果所述图像包括被移除的大百分比的ir能量,那么这可以导致其中出现暗区的rgb分量的非常明显的差异。因此,将输出的经过去污的rgb图像与预定义阈值进行比较,并且如果所述值小于预定义阈值,那么将未经过去污的rgb图像的一部分添加回到输出的rgb分量以降低那个部分中的去污的强度。还可以根据所呈现的视觉效果来增加或减小此阈值。另一方面,在rgb图像中的加亮或饱和的区域中,如果所观察到的rgb值是饱和的,那么完全不执行去污功能,这是因为可能难以估计用于移除由于ir污染而可能添加的能量以得到正确色彩的去污值。也就是说,此区域上的去污可以导致假色彩。

一旦执行去污和调整步骤(步骤430和450),便通过处理器102或apd116对经过调整的rgb分量执行内插(步骤460),以制备供常规的isp进行常规的处理的分量。在内插期间,使用可见分量(例如,r、g、b分量)取代被移除的图像的ir分量。图5a示出示例性rgbir图案500。如图案500中所示,存在四个2×2rgbir图案,每个组包括b分量、g分量、ir分量、r分量的组。在左上象限中示出一个组,在右上象限中示出一个组,在左下象限中示出一个组,并且在右下象限中示出一个组。在步骤460中的内插期间,使用g分量取代在去污期间移除的每个ir分量。因此,图5b示出移除了ir污染的示例性经过内插的贝尔图案500b。随后向常规的isp提供经过去污和调整的ir图像以及经过去污、调整和内插的rgb图像以进行进一步的常规处理。

因此,如图5b中所示,g分量存在于其中已经移除了ir分量的每个象限中。然而,应注意,示例性2×2贝尔图案可以包括四个可能的布局“rggb”、“bggr”、“grbg”或“gbrg”。在图5b中描绘的示例性bggr布局是从图5a中的布局进行内插的一个示例性布局。

可以在通用计算机、处理器或处理器核心中实施所提供的方法。举例来说,合适的处理器包括通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、多个微处理器、图形处理器、与dsp核心联合的一个或多个微处理器、控制器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)电路、任何其他类型的集成电路(ic)和/或状态机。可以通过使用经处理的硬件描述语言(hdl)指令的结果以及包括网表的其他中间数据(所述指令能够存储在计算机可读介质上)配置制造过程来制造所述处理器。此类处理的结果可以是掩膜作品,所述掩膜作品随后用于半导体制造过程中来制造实施实施方案的各方面的处理器。举例来说,以上方法可以实施于系统芯片(soc)的硬件实现方式中或gpu的编程中以计算正常的rgb和ir图像。

本文提供的方法或流程图可实施于计算机程序、软件或固件中,所述计算机程序、软件或固件并入非暂时性计算机可读存储介质中以供通用计算机或处理器执行。非暂时性计算机可读存储介质的实例包括只读存储器(rom)、随机存取存储器(ram)、寄存器、高速缓冲存储器、半导体存储器装置、磁性介质(例如内部硬盘和可装卸盘、磁光介质)以及光学介质,例如cd-rom盘和数字多功能盘(dvd)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1