使用用户可配置信息的噪声估计
文献发布时间:2023-06-19 13:26:15
发明内容
在一些实例中,一种方法包括从具有彩色滤光片的图像捕获装置接收像素数据,其中所述像素数据表示图像的一部分。所述方法进一步包含对所述像素数据执行小波分解以产生经分解的像素数据并确定所述像素数据的局部强度。所述方法还包含:基于所述局部强度及基于所述彩色滤光片的噪声强度函数确定噪声阈值;基于所述经分解的像素数据及所述噪声阈值确定所述像素数据的噪声值;及基于所述噪声值校正所述像素数据以产生输出图像。
在一些实例中,一种系统包括:图像捕获装置,其经配置以捕获场景的多个图像的原始像素数据;及图像处理器,其耦合到所述图像捕获装置。所述图像处理器包括噪声滤波器逻辑,其经配置以使用固定位大小的原始像素数据及用户界定的噪声强度函数生成信噪比值,其中所述固定位大小的原始像素数据包括所述多个图像的合并原始像素数据。所述噪声滤波器逻辑包括抑制逻辑,其经配置以使用所述信噪比值估计所述多个图像中的噪声。
在一些实例中,一种图像处理系统包括:图像捕获装置,其经配置以捕获场景的原始像素数据的多个图像;及图像处理器,其耦合到所述图像捕获装置。所述图像处理器包括:第一平均逻辑,其经配置以基于所述图像捕获装置中所运用的彩色滤光片阵列的用户编程的相关信息生成所述多个图像的相关局部强度;噪声计算逻辑,其经配置以基于所述相关局部强度及用户界定的第一近似逻辑生成噪声阈值;及子带抑制逻辑,其经配置以使用所述噪声阈值估计所述多个图像中的噪声。
附图说明
针对各种实例的详细描述,现在将参考附图,其中:
图1描绘说明性图像处理系统的框图;
图2描绘图像处理系统的说明性高位宽度(HBW)管线的简化图;
图3描绘HBW管线的噪声滤波器逻辑的简化图;
图4描绘噪声滤波器逻辑的阈值逻辑的简化图;
图5描绘由噪声滤波器执行的说明性方法;
图6描绘由图像处理系统执行的说明性方法;
图7描绘透镜阴影校正补偿逻辑的说明性硬件实施方案;
图8描绘说明性的16段分段线性查找函数;
图9描绘存在于图4的阈值逻辑中的阈值计算逻辑的说明性硬件实施方案;
图10描绘说明性的12段分段线性查找函数;
图11(a)描绘存在于图4的阈值逻辑中的子带抑制逻辑的说明性硬件实施方案;及
图11(b)描绘说明性抑制分段线性函数。
具体实施方式
图像捕获装置(例如,相机)包含多个图像传感器(例如,互补金属-氧化物-半导体(CMOS)图像传感器)。当拍摄场景的图像时,多个图像传感器—有时也被称为“像素传感器”—检测关于场景的原始信息并将其输送到处理系统(例如,数字信号处理系统),其进一步处理原始信息以创建数字图像。像素传感器中的每一者包含—在其它系统元件(例如,放大器晶体管、复位晶体管)中—光检测器以检测场景的光的强度。然而,光检测器本身无法检测所检测到的光的波长,且因此无法确定颜色信息。因此,像素传感器可进一步包含滤波器,其可覆盖像素传感器或安置在像素传感器上以捕获颜色信息。彩色滤光片的阵列,在本文中被称为彩色滤光片阵列(CFA),经安置在图像捕获装置上。在一些情况下,CFA可包含2x2彩色滤光片的阵列,其中每一此类CFA包含布置成2x2矩阵的四个彩色滤光片。CFA的彩色滤光片中的每一者经安置在一个像素传感器上,且经配置以按波长对所捕获的光进行滤波。因此,当彩色滤光片阵列与像素传感器结合使用时,它们可提供关于通过图像捕获装置所捕获/所检测的光的波长及强度信息两者,其可表示所捕获的图像。
一种普遍运用的CFA是拜耳(Bayer)CFA,其具有50%绿色、25%红色及25%蓝色的2x2滤波器图案。因此,利用拜耳CFA的图像捕获装置可提供关于在绿色、红色及蓝色波长下所接收的光的强度的信息,其中每一像素传感器仅捕获三种颜色(红色、绿色或蓝色)中的一者。由每一像素传感器捕获的信息可被称为原始像素数据,并由处理系统处理以生成数字图像。在一些情况下,原始像素数据包含二进制数字(例如,0,1)并具有有限位大小(例如,12位)。
当前使用的处理系统(或图像处理系统)经配备以处理从图像捕获装置(包含拜耳CFA)接收的数据。然而,现代图像捕获装置可使用任意2x2滤波器图案,包含红色、蓝色、绿色、透明及红外滤波器中的任一者。一些替代处理系统不处理从包含任意2x2滤波器图案的图像捕获装置接收的原始像素数据。
图像处理系统通常使用各种技术以处理从像素传感器中的每一者接收的原始像素数据。一种此类技术是高动态范围(HDR)成像(或宽动态范围(WDR)成像),其中处理系统接收同一场景的多个图像或帧。多个图像中的每一者具有不同的特性(例如,曝光时间、光圈、快门速度及/或灵敏度)。HDR/WDR成像技术涉及合并多个图像的原始像素数据以生成单个合并图像。实施HDR/WDR成像技术的一些当前使用的处理系统单独地处理多个图像,然后将它们合并以形成单个合并图像。此类处理系统需要三个单独的处理块或逻辑,因此需要更多的硅面积,且因此不具有成本效益。替代地,实施HDR/WDR成像技术的一些处理系统串行地处理多个图像,然后将它们合并。然而,此类处理系统效率较低,具有低性能,且可能需要更多的处理时间。因此,期望图像处理系统减轻上文提及的当前使用的处理系统的问题。
因此,本文所描述的实例中的至少一些涉及用于处理(例如,滤波)从图像捕获装置接收的原始像素数据的系统及方法,图像捕获装置包含运用任意彩色滤光片阵列(或格式)的像素传感器。本文所描述的实例中的至少一些与实施实例管线设计的图像处理系统相关,在本描述中,实例管线设计有时被称为高位宽度(HBW)管线。
在一些实例中,HBW管线包含前端处理逻辑,其经配置以接收多个图像的原始像素数据并合并图像以生成包含具有固定位大小的像素数据的合并图像。HBW管线运用单个处理块来合并原始像素数据的多个流,从而减轻上文提及的面积/成本问题。具有固定位大小的像素数据在本文中有时被称为固定位大小(FBS)像素数据。在本描述中,术语块与逻辑可互换地使用。逻辑或块可包含硬件组件(例如,滤波器)或软件组件(例如,实施机器可执行指令的处理器),或可为硬件与软件组件两者的组合。
在一些实例中,HBW管线进一步包含HBW阈值计算逻辑,其经配置以处理(例如,滤波)FBS像素数据。此外,在至少一些实例中,HBW阈值计算逻辑经配置以估计原始像素数据的局部信号及强度数据。局部信号及强度数据是被捕获的图像的两个局部特征。局部信号数据是FBS像素数据的经分解的带的度量。可使用高通滤波器对经分解的带进行滤波以计算局部信号。局部强度数据是像素的平均局部强度。如下文详细描述的,局部信号及强度数据估计使图像处理系统能够从实施任意CFA中的任一者的图像捕获装置接收原始像素数据。
另外,在一些实例中,HBW阈值计算逻辑经配置以支持透镜阴影校正补偿。此特征可为有用的,这是由于由前端处理逻辑接收的图像数据可在被HBW阈值计算逻辑滤波之前进行透镜阴影校正。
图1描绘经配置以实施HDR/WDR成像技术的说明性图像处理系统90。如下文更详细地描述的,图像处理系统90经配备以使用任意CFA(例如,2x2滤波器图案)中的任一者处置从图像捕获装置接收的原始像素数据。
在一些实例中,图像处理系统90(在下文中被称为“IPS 90”)包含图像处理器95、输入/输出(I/O)端口92、图像捕获装置91、其它处理器93及存储器94。IPS 90经配置以将HBW管线100(在图2中前面的描述)的各种图像处理操作应用到由图像捕获装置91获取的原始像素数据,以呈现可由系统的其它处理元件使用或由用户在显示器上观看的经处理的图像(图1中未明确描绘显示器单元)。由IPS 90处理的原始像素数据还可包含从存储器94检索的原始像素数据。
在一些实例中,图像处理器95包含一或多个专用微处理器及/或应用特定微处理器,或此类处理单元的组合。在一些实例中,存储器94(例如,随机存取存储器(RAM)、只读存储器(ROM))可包含存储用于实施HBW管线100(图2)的机器可执行指令的任何合适类型的非暂时性计算机可读媒体。当由图像处理器95执行时,机器可执行指令致使图像处理器95执行本文归因于HBW管线100的动作中的一或多者。在一些实例中,由HBW管线100执行的动作的一些属性可为用户可配置的。例如,用户可以查找表的形式存储信息,查找表由图像处理器95在实施HBW管线100的方面时存取。
在其它实例中,图像处理器95包含专用硬件组件,例如,实施HBW管线100的滤波器、逻辑门。在此类实例中,查找表存储在管线寄存器接口99中,所述管线寄存器接口由管线硬件存取。前面的描述了此类硬件实施方案的实例。
在一些实例中,图像处理器95可包含使用指令集(例如,精简指令集计算机(RISC))处理器的一或多个处理器,以及图形处理器(GPU)或数字信号处理器(DSP),且还可包含其它专用图像及/或视频处理器。在一些实例中,原始像素数据的处理可主要由图像处理器95处置,从而有效地从其它处理器93卸载此类任务,其它处理器93可包含中央处理单元(CPU)或一或多个微处理器。
在一些实例中,图像捕获装置91可包含可获取静止图像及移动图像(例如,视频)两者的数字相机。图像捕获装置91包含多个像素传感器(例如,CMOS像素传感器)。在一些实例中,像素传感器可包含与IPS 90的图像处理器95分离的机载图像信号处理逻辑(图1中未明确展示)。
在一个实例中,IPS 90在单芯片系统(SoC)装置中实施,所述SoC装置可在包含基于相机的前部(单声道/立体声)、后部、环绕视野及夜视系统的高级驾驶员辅助系统(ADAS)(及相关应用)中使用。例如,这些相机系统通过提供车辆的360度鸟瞰,辅助驾驶员安全停车。在一些实例中,ADAS运用4到6个广角相机。由ADAS提供的视野增强了驾驶员在不同情况下停车及操纵时的可见度。
现在参考图2,展示说明性HBW管线100的简化图。图2提供HBW管线100的一般概述及HBW管线100的功能性组件如何处理由每一像素传感器捕获的原始像素数据的一般描述。下文详细提供某些操作的更具体描述。
为了说明及简单起见,对于前面的描述,假设图像捕获装置包含像素传感器的N xK阵列,且如上文所提及的,这些像素传感器中的每一者捕获原始像素数据。由像素传感器的N x K阵列捕获的数字图像可由具有数量与图像捕获装置中的像素传感器相同的数字像素的类似N x K矩阵表示。数字图像还可由以下矩阵函数表示:raw_pixel_data(n,k),其中矩阵函数raw_pixel_data(n,k)表示由存在于第n行及第k列中的像素传感器捕获的原始像素数据。
在一些实例中,HBW管线100包含前端处理逻辑110、噪声滤波器逻辑120及后端处理逻辑130。在一些实例中,前端处理逻辑110经配置以接收由图像捕获装置91(图1)的像素传感器中的每一者捕获的原始像素数据。在一些实例中,图像捕获装置91使用传感器接口(图1或图2中未明确展示)来传达原始像素数据。例如,传感器接口可利用标准成像体系结构(SIA)接口或任何其它合适的串行或并行图像传感器接口,或此类接口的组合。
如上文所提及的,HDR/WDR成像包含处理由图像捕获装置91捕获的单个场景的多个图像。为了节省成本并改进效率,前端处理逻辑110经配置以在多个图像的原始像素数据被发送用于进一步处理之前合并所述数据。为此,前端处理逻辑110经配置以:接收多个图像的原始像素数据;对这些多个图像执行合并算法;及生成包含合并原始像素数据的单个图像。合并算法经执行使得具有相同行及列值的多个图像的原始像素数据经合并以生成包含N x K个合并像素的合并图像的合并像素数据。例如,第5行及第7列中的多个图像的原始像素数据经合并以在合并图像的第5行及第7列处生成合并像素数据。
在一些实例中,合并像素中的每一者被进一步色调映射并转换为具有固定位大小的合并像素。前端处理逻辑的功能(例如,合并算法的操作及FBS像素数据的生成)可根据2016年6月15日申请并转让给本描述的受让人的标题为“用于宽动态范围(WDR)传感器数据的图像处理(Image Processing for Wide Dynamic Range(WDR)Sensor Data)”的第15/183,495号美国专利申请案中所描述的技术来实施,所述专利申请案的全部内容以引用的方式并入本文中。
HBW管线100进一步包含噪声滤波器逻辑120,其经配置以通过实施HBW计算逻辑处理FBS像素数据,HBW计算逻辑可包含一或多个计算块,且在下文的图3及4中被描述。噪声滤波器逻辑120处理传入的FBS像素数据,并计算噪声阈值及信噪比。噪声滤波器逻辑120至少部分地抑制来自传入的FBS像素数据的噪声。下文详细描述的HBW计算逻辑首先分解传入的FBS WDR像素数据,然后比较经分解的信号与阈值,且然后基于比较丢弃信号的一些部分。
在一些实例中,HBW计算逻辑的一些特征可为用户可配置的,这在于用户可将图像捕获装置91的一些特性提供到IPS 90。例如,用户可提供关于在图像捕获装置91中使用的CFA的相关信息。相关信息指示CFA中的滤波器中的每一者的输出之间的类似程度。例如,如果运用具有R、G、G、C图案的CFA,那么用户可在存储器位置中存储1、1、1、0。在此实例中,第一位值1与红色滤波器对应,第二位值1与绿色滤波器对应,第三位值1与另一绿色滤波器对应,且第四位值0与透明滤波器对应。位值1指示从这些滤波器中的每一者接收的信息是相关的,而从透明滤波器接收的信息不与其它滤波器相关。用户可编程性使IPS 90能够使用任意2x2CFA中的任一者处理从图像捕获装置91接收的数据。此外,这种用户可编程性改进了经重新构造的图像的整体分辨率。例如,用户编程的相关信息实现了局部信号及强度数据的计算,这改进了输出图像的分辨率。在一些实例中,HBW计算逻辑还经配置以支持透镜阴影校正补偿,其可用作从合并WDR像素数据导出的FBS像素数据,可在其被HBW阈值逻辑滤波之前进行透镜阴影校正。如下文在图9(a)中进一步详细描述的,HBW计算逻辑的透镜阴影校正补偿函数也可为用户可配置的。例如,用户可将透镜阴影校正增益函数编程到IPS 90中。
仍参考图2,噪声滤波器逻辑120的输出(经重新构造的图像)被发送到后端处理逻辑130。后端处理逻辑130可将一或多个额外后处理操作应用到经重新构造的数据。在一些实例中,后端处理逻辑130可使用局部色调映射操作符、亮度、对比度及颜色调整、颜色提取、格式转换以及用于将图像数据缩放到一或多个期望的分辨率的缩放逻辑来提供图像数据的动态范围压缩。在其它实例中,后端处理逻辑130可执行其它相关功能。
现在参考图3,展示噪声滤波器逻辑120的说明性简化管线设计。噪声滤波器逻辑120的管线设计经配置以实施上文所提及的HBW计算逻辑。在一个实例中,噪声滤波器逻辑120包含分解逻辑123、阈值逻辑125及重新构造逻辑126。在一些实例中,除了上文所提及的逻辑之外,噪声滤波器逻辑120还包含输入预处理逻辑121、线延迟逻辑122、低通滤波器逻辑(LL2逻辑)124及输出后处理逻辑127。
现在更详细地描述噪声滤波器逻辑120的管线设计。输入预处理逻辑121将传入的FBS像素数据变换为与后续步骤兼容的格式。例如,输入预处理逻辑121可将放置在某些位置(例如,交替行)中的所有FBS像素数据级联成级联的FBS像素数据,且然后使级联的FBS像素数据同步。在一些实例中,然后,预处理的FBS像素数据可被提供为到线延迟逻辑122的输入,在一些实例中,线延迟逻辑122充当线缓冲器。在一些实例中,图1的存储器94(例如,随机存取存储器(RAM))用于临时存储预处理的FBS像素数据。在其它实例中,线延迟逻辑122可包含专用存储器缓冲器以存储传入的预处理的FBS像素数据。在一些实例中,线延迟逻辑122存储从N x K合并图像的一部分(例如,16行x16列)导出的预处理的FBS像素数据。
然后,预处理的FBS像素数据移动到分解逻辑123,分解逻辑123对预处理的FBS像素数据执行分解功能。在一些实例中,分解功能包含冗余空间频率分解,例如冗余小波分解。现在简要描述小波分解。小波分解是一种线性变换过程,其允许对给定一维信号的不同频率分量的时间局部化。在二维信号的情况下,小波变换允许空间及频率局部化。小波变换运用小波原型函数,也被称为“母小波”,它提供一种局部信号处理方法以将给定信号或给定信号的另一形式(例如,差分信号)分解为一系列(或一群)小波分量。
为了便于说明,假设分解逻辑123对从N x K合并图像的一部分(例如,6行x6列)导出的预处理的FBS像素数据执行分解功能。在分解之后,分解逻辑123的输出针对每一滤波器颜色(例如,2x2CFA的每一颜色)包含J个带,这意味着分解逻辑123的输出可这对CFA中所使用的4个彩色滤光片中的每一者具有J(其为整数)数量的带。分解逻辑123的输出可被表示为DECOMP[J][4]。从硬件实施方案的观点来看,分解逻辑123可由一系列低通、中通及高通滤波器实施,这些滤波器是以分解预处理的FBS像素数据的方式布置。低通、中通及高通滤波器彼此耦合,使得滤波器的组合系统执行分解逻辑123的分解功能,并针对每一颜色平面生成J个分解带。在其它实例中,滤波器可能不是单独的硬件单元,且滤波器中的每一者的功能是由图像处理器95通过实施机器可执行指令来执行。
线延迟逻辑122的输出也可由LL2逻辑124接收,LL2逻辑124还执行滤波功能。LL2逻辑在图3中被展示为单独的逻辑。然而,在一些实例中,LL2逻辑124是分解逻辑123的一部分,并重新使用用于实施分解逻辑123的功能的滤波器的输出中的一些。在其它实例中,LL2逻辑124可为单独的硬件或软件单元,且滤波器中的每一者的功能是由单独的一组滤波器或由图像处理器95执行。
将预处理的FBS像素数据通过LL2逻辑124会提供由像素传感器捕获的与预处理的FBS像素数据对应的局部强度水平。LL2逻辑124经配置以针对2x2CFA的4个颜色平面的不同频带(例如,高通带、中通带及低通带)生成局部图像强度。LL2逻辑124的输出在本文中被表示为local_image_intensity[3][4],其中3是指频带且4是指2x2CFA中的彩色滤光片。分解逻辑123及LL2逻辑124两者的输出分别由阈值逻辑125接收。除了计算噪声阈值之外,阈值逻辑125还估计传入的FBS像素数据中的噪声值。关于图4详细描述阈值逻辑125。在重新构造逻辑126中重新构造阈值逻辑125的输出,例如噪声值。重新构造逻辑126使用阈值逻辑125的输出重新构造所捕获的图像,且输出后处理逻辑127进一步处理经重新构造的图像。
现在参考图4,描绘阈值逻辑125的简化图。在一些实例中,阈值逻辑125接收分解逻辑123及LL2逻辑124的输出。在一些实例中,阈值逻辑125包含透镜阴影校正补偿逻辑132、阈值计算逻辑134及子带抑制逻辑136。下文详细描述这些逻辑块中的每一者。
首先,描述透镜阴影校正补偿逻辑132。对透镜阴影校正的需要可归因于安置在图像捕获装置91(图1)中的像素传感器阵列的几何图案,这在于由朝向图像捕获装置91的边缘定位的像素传感器捕获的原始像素数据可能失真。在一些实例中,在由前端处理逻辑110(图2)接收原始像素数据之前对所述数据执行透镜阴影校正,而在其它实例中,可在接收原始像素数据之后由前端处理逻辑110执行透镜阴影校正。因此,为了对原始像素数据的正确值执行噪声滤波,阈值逻辑125包含透镜阴影校正补偿逻辑132,其补偿已执行的透镜阴影校正。
现在结合图5及图1描述透镜阴影校正补偿逻辑132的操作。图5描绘可由噪声滤波器逻辑120执行的说明性方法500。在一个实例中,方法500的步骤505到510由透镜阴影校正补偿逻辑132执行。步骤505包含使用用户编程的(或界定的)函数执行透镜阴影校正补偿。例如,用户(例如汽车制造商)可基于图像捕获装置的一些特性(例如,所使用的透镜的类型)来对透镜阴影校正补偿增益函数进行编程。在一个实例中,执行透镜阴影校正补偿的用户编程的函数可为包含半径值及增益值的查找表。从图像捕获装置91(图1)的光学中心计算半径值,光学中心是存在于图像捕获装置91中的N x K像素传感器阵列的中心。由于光学中心取决于图像捕获装置91,因此光学中心的值也可为用户可编程的并存储在存储器94中。
表1描绘一种此类查找表。在一些实例中,用户编程的函数是使用例如分段线性函数的数学函数实施的。现在简要参考表1及步骤505,由于增益取决于像素传感器距光学中心的距离,因此像素传感器的坐标(或矩阵索引:n,k)可由图像处理器95供应到透镜阴影校正补偿逻辑132。针对每一传入组的坐标,由透镜阴影校正补偿逻辑132计算像素传感器的中心与光学中心之间的径向距离,并基于查找表1针对后续步骤计算相应增益值(步骤510)。
表1
图7中展示透镜阴影校正补偿逻辑132的另一实施方案。为了提供用于不同像素位置的增益值,逻辑132首先计算像素相对于图像帧的光学中心的空间位置。为了便于说明,假设光学中心具有坐标(X
为了实施方程式1,包含一或多个数字逻辑门/装置的数字逻辑耦合在一起,使得所得的数字逻辑执行数学函数,例如加法、减法、乘法及除法。在一个实例中,方程式1的第一部分
类似地,方程式1的第二部分
进一步来说,通过使用加法逻辑907来将第一及第二部分两者的输出相加。然后将加法逻辑电路907的输出提供到平方根逻辑912,以求得逻辑电路907的输出的平方根。在一个实例中,平方根逻辑912包含执行二进制移位操作的数字逻辑及求得平方根的递归算法,其计算即时像素相对于图像中心的径向距离。然后可将此径向距离(或半径)提供到近似逻辑914,在一个实例中,近似逻辑914是16段选择逻辑。在一个实例中,16段选择逻辑由16段插值分段线性查找函数执行。如下文所描述,近似逻辑914涉及存取存储在用户可编程的存储器寄存器中的数据。例如,此数据可由用户基于在图像捕获装置中使用的CFA的类型来编程,以适应不同类型的阵列的线性及非线性。因此,近似逻辑914可被称为是用户可编程的。
图8中展示实例16段分段线性查找函数。16段分段线性查找函数的X轴是由逻辑912生成的径向距离,且16段分段线性查找函数的Y轴是透镜阴影增益。图8描绘16组X
在选择X、Y及S值之后,逻辑132使用减法逻辑电路915从半径减去X2,且然后使用乘法逻辑电路916将差与段S2的斜率相乘。然后,在加法数字电路918处,将电路916的输出与所选择的Y坐标相加,Y坐标提供与即时像素坐标对应的增益值G。在一些实例中,在增益值被传达到后续逻辑之前,对电路918的输出进行近似。增益值G的倒数也由透镜阴影校正补偿逻辑132计算。在一个实施方案中,可通过首先将增益值G除以2来计算倒数。此除法函数可由逻辑920通过右移增益值G的等效二进制数来执行。然后,可将逻辑920的输出(使用加法数字电路921)与存储在预界定的寄存器位置(例如0X2000)处的常数值相加。使用除法数字电路922将逻辑921的输出除以增益值。电路922的输出的最高有效位被削减以生成增益值G的倒数。16段插值分段线性查找函数可由用户编程。例如,用户可存储不同段的X、Y及斜率的值。X、Y及斜率的值可基于图像捕获装置中所运用的彩色滤光片阵列的类型进行调整,以适应不同类型的阵列的线性及非线性。
在透镜阴影校正补偿逻辑132的实例硬件实施方案中所使用的数学数字逻辑(例如,加法、减法、乘法、除法)包含逻辑门的一或多个阵列(例如,NOR、NAND),这些逻辑门彼此连接,使得生成期望的数学输出。
返回参考图4,现在描述阈值计算逻辑134。阈值计算逻辑134经配置以在考虑到局部强度(例如,LL2[3][4])及由透镜阴影校正补偿逻辑132获得的增益值的情况下计算噪声阈值。在一些实例中,阈值计算逻辑134包含交叉颜色通道局部图像强度估计逻辑137(或LL2平均逻辑137)、乘法逻辑138、140及141,以及噪声计算逻辑139。
现在结合图5中所展示的方法500的步骤525到545描述阈值计算逻辑134的操作。LL2平均逻辑137从LL2逻辑124接收LL2[3][4],并基于由用户供应的相关信息计算局部像素强度(步骤525)。例如,用户(例如汽车制造商)可提供像素传感器相关信息。相关信息可包含关于在图像捕获装置91(图1)中使用的CFA的信息。如果使用红色、蓝色、绿色及IR滤波器的CFA图案,那么由红色、蓝色及绿色像素传感器捕获的原始像素数据将是相关的。用户可将此相关信息编程到存储器94中的寄存器中,使得图像处理器95将由LL2逻辑124产生的平均强度数据相关(即,对其应用权重),以生成相关平均强度数据(在下文中为“LL2平均数据”),且在后续步骤中按原样使用不相关局部强度。在一些实例中,存储的相关信息可为针对每一输出颜色的LL2[3][4]的平均权重的形式。由IPS 90使用的存储的/编程的相关信息有效地处理信息并生成较高分辨率的图像。
在步骤525之后,将LL2平均数据乘以由透镜阴影校正补偿逻辑132针对对应像素传感器计算的增益值的倒数(步骤530;乘法逻辑138)。将增益值的倒数相乘以补偿已执行的透镜阴影校正。将增益校正的LL2平均数据提供到噪声计算逻辑139,噪声计算逻辑139使用LL2平均数据来计算对应像素传感器位置的噪声值(步骤535;噪声计算逻辑139)。噪声计算逻辑139利用存储在存储器94中的噪声强度函数(例如,作为查找表)来计算噪声。在一些实例中,噪声强度函数针对每一颜色包含一个查找表。
在一些实例中,噪声强度函数可为噪声与强度的平方根函数。在此类实例中,强度值可在x轴上(自变量),且噪声值可在y轴上(因变量)。在一些实例中,噪声强度函数可为用户可编程的。例如,用户(例如汽车制造商)可在存储器94(图1)中对噪声强度函数进行编程。
在噪声计算逻辑139中计算噪声阈值之后,将像素传感器的噪声阈值提供到乘法逻辑140,其中将噪声阈值与由透镜阴影校正补偿逻辑132计算的透镜阴影校正增益相乘(逻辑540;乘法逻辑140)。将此增益值相乘以校正在乘法逻辑138中进行的透镜阴影补偿。在一些实例中,在增益校正逻辑540之后,再次将增益校正的噪声阈值与用户可编程的缩放因数相乘以针对每一带计算增益校正的噪声阈值(步骤545;乘法逻辑141)。
现在关于图9描述阈值计算逻辑134的更详细的实施方案。参考LL2平均逻辑137,如上文所提及的,其经配置以基于彩色滤光片阵列的用户编程的相关信息来计算局部像素强度。将从相关滤波器接收的局部像素强度一起求和并平均,且将从不相关通道接收的局部像素强度通过后续步骤,而不与相关通道的局部像素强度进行平均。
在一个实例中,相关信息可作为二进制位的阵列存储在存在于LL2求和逻辑1001中的用户可编程的存储器寄存器中。在其它实例中,相关信息可存储在可由LL2求和逻辑1001存取的可编程存储器寄存器中。每一位表示CFA的重复单元中的滤波器,且位值指示滤波器是否可与重复单元中的其它滤波器相关。例如,如果运用拜耳CFA(R、G、G、B),那么用户可在存储器中存储1、1、1、1。在此实例中,第一位值1与R对应,第二位值1与G对应,第三位值1与G对应,且第四位值1与B对应。由于所有位值都为1,因此存储的相关信息指示从拜耳CFA中的每一滤波器接收的信息是相关的。
然而,例如,如果运用具有R、G、IR、C重复图案的任意CFA,那么用户可在存储器中存储1、1、0、0。在此实例中,第一位值1与R对应,第二位值1与G对应,第三位值0与IR对应,且第四位值0与C对应。此实例指示从与R及G对应的通道接收的信息是相关的,且从与IR及C对应的通道接收的信息是不相关的。由于用户在使用图像处理系统之前将拥有可用的CFA信息,因此用户可基于系统中所运用的CFA的类型来对相关信息进行编程,以改进图像处理系统的适应性。
在一个实例中,LL2平均逻辑137包含LL2求和逻辑1001、乘法逻辑1002,及对小数位(或最低有效位)进行舍入/削减的逻辑1003,以及对来自其相应输入数据流的最高有效位进行削减/饱和的逻辑1004。LL2求和逻辑1001经配置以从LL2逻辑124接收输出并将来自相关通道的数据相加。LL2求和逻辑1001还通过将控制信号发送到多路复用器1005来选择常数整数值const[7:0],然后将其在乘法逻辑1002处与LL2求和逻辑1001的输出相乘。常数整数值是平均常数,且是基于要平均的通道数量进行选择。在逻辑1003、1004处分别进行舍入及削减之后,将LL2平均逻辑137的输出(LL2平均数据)在乘法逻辑138处乘以相应像素位置的反增益值。然后,此乘法逻辑138的乘积可分别在逻辑1006及1007处被舍入及削减,以生成增益校正的LL2平均数据。
图9中所展示的阈值计算逻辑134进一步描绘噪声计算逻辑139的更详细的实施方案。如上文所提及的,噪声计算逻辑139实施噪声强度函数。在一个实例中,使用近似逻辑1008实施噪声强度函数。如下文所描述的,近似逻辑1008涉及存取存储在用户可编程的存储器寄存器中的数据。例如,此数据可由用户基于在图像捕获装置中所使用的CFA的类型来编程,以适应不同类型阵列的线性及非线性。因此,近似逻辑914可被称为是用户可编程的。
近似逻辑1008经由12段插值分段线性查找函数执行平均到阈值映射。图10描绘此类12段分段线性查找函数的实例。12段分段线性查找函数的X轴及Y轴分别为增益校正的LL2平均数据及噪声阈值。图10描绘12组X
在噪声计算逻辑139中计算噪声阈值之后,将像素传感器的噪声阈值提供到乘法逻辑140,其中将噪声阈值与由透镜阴影校正补偿逻辑132计算的透镜阴影校正增益相乘,以校正在乘法逻辑138中进行的透镜阴影补偿。乘法逻辑140的输出可分别在逻辑1013及1014处被舍入及削减。在一些实例中,由乘法逻辑141将增益校正的噪声阈值与用户可编程的缩放因数(MMR_TnScale)相乘,以针对每一带计算增益校正的噪声阈值。乘法逻辑141的输出还可分别在逻辑1015及1016处被舍入及削减,以针对每一带生成阈值。
返回参考图4,现在描述子带抑制逻辑136。在一些实例中,子带抑制逻辑136包含交叉颜色通道局部带信号估计逻辑142(或四颜色平均逻辑142)、除法逻辑143及抑制逻辑144。子带抑制逻辑136经配置以计算给定经分解的信号DECOMP[J][4]的估计噪声值。然后,在稍后的阶段利用每一像素位置的估计噪声值来生成图像的噪声映射,然后从原始图像中减去噪声映射以重新构造输出图像。
现在结合图5中所展示的方法500的步骤555到560来描述子带抑制逻辑136的操作。四颜色平均逻辑142接收经分解的信号DECOMP[J][4],并基于在步骤525中由用户供应的相关信息计算经分解的信号[J][4]的平均值(步骤555)。经分解的信号[J][4]的平均值在本文中有时也被称为局部信号数据,且是经分解的信号[J][4]中活动的度量。与在LL2平均逻辑137中计算的相关局部强度类似,四颜色平均逻辑142将相关局部信号数据平均。用户可将此相关信息编程到存储器94中的寄存器中,使得图像处理器95将由红色、蓝色及绿色像素传感器所接收的信号数据平均,以生成相关信号平均值,且将不相关像素传感器数据按原样提供到后续步骤。在一些实例中,存储的相关信息可为针对每一输出颜色的DECOMP[J][4]的平均权重的形式。
在步骤555之后,方法500进行到步骤560,步骤560包含在除法逻辑143中将在步骤555中产生的局部信号数据除以在阈值计算逻辑134中所产生的噪声阈值。在一些实例中,将此除法逻辑的输出提供到抑制逻辑144,抑制逻辑144实施用于纹理保持及细粒度噪声保持的软阈值化。抑制逻辑144通过保持超过噪声阈值(在阈值计算逻辑134中计算)的信号并抑制低于噪声阈值的比率(例如,1/3)的信号来实施其功能。
现在关于图11(a)描述子带抑制逻辑136的更详细的实施方案。参考四颜色平均逻辑142,如上文所提及的,其经配置以基于彩色滤光片阵列的用户编程的相关信息来计算局部信号数据。将从相关滤波器接收的局部信号数据一起求和并平均,且将从不相关通道接收的局部信号数据原封不动地传递到后续逻辑。在一个实例中,相关信息可作为二进制位的阵列存储在存在于颜色求和逻辑1101中的用户可编程的存储器寄存器中。在其它实例中,相关信息可存储在可由颜色求和逻辑1101存取的可编程存储器寄存器中。在其它实例中,相关信息可经由一或多个可编程寄存器在LL2求和逻辑1001与颜色求和逻辑1101之间共享。
在一个实例中,四颜色平均逻辑142包含颜色求和逻辑1101、乘法逻辑1102,及对小数位(或最低有效位)进行舍入/削减的求和逻辑1103,以及对来自其相应输入数据流的最高有效位进行削减/饱和的逻辑1104。
颜色求和逻辑1101经配置以接收经分解的信号DECOMP[J][4],并将与相关通道对应的经分解的信号相加。然后,在乘法逻辑1102处,将颜色求和逻辑1101的输出与存储在8位中的常数整数值const[7:0]相乘。在逻辑1103、1104处分别进行舍入及削减之后,然后在除法逻辑143处将平均的经分解的信号[J][4]除以在阈值计算逻辑134中获得的阈值,以在即时像素位置处生成信噪比值(u)。然后,可分别在逻辑1108及1109处对信噪比值进行舍入及削减。然后,将此信噪比值提供到抑制逻辑144,抑制逻辑144经配置以通过实施图11(b)中所展示的抑制分段线性函数1110来估计像素中的每一者的噪声值。抑制分段线性函数1110的X轴表示信噪比值(u),且Y轴表示信号的抑制值。所述函数包含公共拐点u1,在一些实例中,其可由用户界定。拐点U1用作信噪比值的参考或阈值点,使得在u=u1处,抑制等于1,这意味着噪声高且需要抑制信号;在u=1及以上处,抑制等于零,这意味着噪声低且无需抑制信号;且在u1与1之间,抑制值是线性插值的。换种方式陈述,抑制逻辑144的功能实施软阈值化。应保留远高于噪声阈值的信号(抑制=0)。应完全抑制噪声阈值的界定的水平(u=u1)以下的信号,且在过渡区的中间,抑制是线性缩放的。这将创建图像的噪声映射,其量化估计噪声,且然后从原始图像中减去此估计噪声,以在后续逻辑中重新构造输出图像。
现在参考图6,展示由图1的图像处理系统90执行的说明性方法600。方法600包含接收由图像捕获装置91捕获的多个帧的原始像素数据(步骤610);合并原始像素数据以生成固定位大小的原始像素数据(步骤620);基于固定位大小的原始像素数据及噪声强度函数生成噪声阈值,噪声强度函数是用户可配置的(步骤630);及基于噪声阈值估计原始像素数据中的噪声(步骤640)。
在前述描述及在权利要求书中,术语“包含”及“包括”是开放式的,且因此意味着“包含但不限于……”。此外,术语“耦合(couple或couples)”意味着间接或直接的连接。因此,如果第一装置经耦合到第二装置,那么连接可通过直接连接或通过经由其它装置及连接的间接连接。类似地,经耦合在第一组件或位置与第二组件或位置之间的装置可通过直接连接或通过经由其它装置及连接的间接连接。“经配置以”执行任务或功能的元件或特征可由制造商在制造时配置(例如,编程或结构设计)以执行功能及/或可为由用户在制造之后执行功能及/或其它额外或替代功能可配置(或重新可配置)。配置可通过装置的固件及/或软件编程,通过装置的硬件组件及互连的构造及/或布局,或其组合。此外,短语“接地”或类似物包含底盘接地、接地、浮动接地、虚拟接地、数字接地、公共接地及/或适用于或适合于本描述的教示的接地连接的任何其它形式。除非另有陈述,否则在一个值之前的“约”、“大约”或“大体上”意味着所陈述的值的+/-10%。
上文的描述是本描述的原理及各种实施例的说明。一旦充分理解上文的描述,许多变化及修改对于所属领域的技术人员来说就将是显而易见的。所附权利要求书包含所有此类变化及修改。
- 使用用户可配置信息的噪声估计
- 接收与相位噪声估计有关的参考信号的控制信息的方法及其用户设备