具有自适应有向空间滤波器的非局部均值图像去噪的制作方法

文档序号:11779720阅读:292来源:国知局
具有自适应有向空间滤波器的非局部均值图像去噪的制作方法与工艺

优先权声明

本申请要求于2015年3月24日提交的题为“non-localmeansimagedenoisingwithanadaptivedirectionalspatialfilter(具有自适应有向空间滤波器的非局部均值图像去噪)”的美国非临时专利申请号14/667,548的优先权,并且所述美国申请通过援引以其全文并入本文



背景技术:

图像去噪是图像处理流水线中重要的功能块。图像去噪方法的目标是从有噪测量结果中恢复出原图像。由数码相机传感器生成的图像从多种源中拾取噪声,出于美观或实用(如机器视觉)目的应该降低噪声。理想地,图像去噪块所利用的降噪算法应该通过降低噪声并使真实细节损失最小化来提高图像清晰度。技术难点在于鲁棒地区分噪声与图像细节。

对相对于空间上围绕目标像素的像素群的像素执行某种求平均或加权的许多图像去噪算法被称为“局部均值”或者“局部平滑”滤波器。高斯模糊滤波器是均匀局部均值滤波器的示例。相对于许多局部均值算法,非局部图像去噪算法因为后滤波清晰度得到提高同时真实细节损失减少而在过去十年得以普及。在“非局部均值”(nlm)算法中,nlm滤波器利用在图像中发现的自相似性的冗余度通过对图像中更多数量的像素(所述像素由基于多像素补丁的比较的所述像素与目标像素的相似度进行加权)取平均值来减少边缘模糊。在一些示例性nlm算法中,针对每个输入像素,确定包括目标像素的目标补丁。然后,评估其他候选补丁(通常被局限在目标补丁的邻域内)的相似性。根据通过应用相似性滤波函数分配给候选补丁的“自相似性”权重,然后可以将平均像素值计算为候选补丁的加权平均。

附图说明

在附图中通过举例而非限制的方式展示了本文所描述的材料。为了图示的简明和清晰,图中所展示的元件不一定按比例绘制。例如,为清楚起见,某些元件的尺寸相对于其他元件可能被放大了。另外,在认为适当的情况下,在附图之间对参考标记加以重复以表示相应的或相似的元件。在附图中:

图1是流程图,展示了根据一些实施例的自适应有向非局部均值图像去噪方法;

图2是流程图,展示了根据一些实施例的采用自适应有向高斯空间滤波器的自适应有向非局部均值图像去噪方法;

图3是图示,展示了根据实施例的空间滤波器方向性与边缘度量的依赖关系;

图4是图示,展示了根据一些实施例的图像帧的输入像素;

图5a是根据一个或多个实施例的包括图像去噪模块的系统的功能框图,所述图像去噪模块包括自适应有向非局部均值去噪模块;

图5b是根据一个或多个替代性实施例的图像处理流水线的功能框图,所述图像处理流水线包括自适应有向非局部均值去噪模块;

图6是根据实施例的包括图5a或5b中系统的采用图像处理器的示例性超低功耗系统的简图;并且

图7是根据一个或多个实施例安排的示例性移动手持平台的简图。

具体实施方式

参照附图描述了一个或多个实施例。虽然对特定配置和布置进行了详细的描绘和讨论,但应理解,这仅出于说明目的来进行。相关领域的技术人员将认识到,在不背离本描述的精神和范围的情况下其他配置和布置是可能的。将对相关领域的技术人员明显的是,本文描述的技术和/或布置可以在本文详细描述的系统和应用之外的各种各样的其他系统和应用中被采用。

在以下详细的说明书中对附图进行参考,这些附图形成说明书的一部分并且展示了示例性实施例。进一步地,应当理解,在不背离要求保护的主题的范围的情况下,可以利用其他实施例并且可以做出结构和/或逻辑改变。因此,以下详细说明不应以限制的含义来理解并且要求保护的主题的范围仅由所附权利要求书及其等效物来限定。

在以下描述中,陈述了许多细节,然而,将对本领域技术人员明显的是,实施例可以在没有限制特定细节的情况下被实践。以框图形式而非详细地示出了众所周知的方法和设备以避免模糊更显著的方面。贯穿本说明书对“实施例(anembodiment)”或“一个实施例(oneembodiment)”的引用意味着在至少一个实施例中包括了与所述实施例结合描述的具体特性、结构、功能或特性。因此,贯穿本说明书在各处出现的短语“在实施例中(inanembodiment)”或在“在一个实施例中(inoneembodiment)”并非必须指同一个实施例。此外,在实施例的上下文中描述的具体特性、结构、功能或特性可以用任何适当的方式组合在一个或多个实施例中。例如,第一实施例可以与第二实施例在任何地方进行组合,其中,与这两个实施例相关联的具体特性、结构、功能或特性不相互排斥。

如在示例性实施例和所附权利要求书的描述中使用的,除非上下文另外明确指示,否则单数形式“一个(a)”、“一个(an)”和“所述(the)”旨在同样包括复数形式。还将理解的是,如本文使用的术语“和/或”指代并且包括相关联的列举项的一个或多个项的任何和所有可能组合。

如说明书通篇以及权利要求书中所使用的,通过术语“...中的至少一个”或者“...中的一个或多个”所连结的项列表表示所列项的任意组合。例如,短语“a、b或c中的至少一项”可意指a;b;c;a和b;a和c;b和c;或a、b和c。

术语“耦合”和“连接”连同其衍生词在此可以用于描述部件之间的功能关系或结构关系。应当理解,这些术语并不意为彼此的同义词。相反,在具体实施例中,“连接”可以用于指示两个或更多个元件彼此直接进行物理的、光学的或电学的接触。“耦合”可以用于指示两个或更多个元件彼此进行直接的或间接的(在它们之间具有介入元件)物理的、光学的或电学的接触,和/或指示两个或更多个元件彼此合作或交互(例如,由于因果关系的原因)。

就对计算机存储器内的数据比特进行的操作的算法和符号表示而言,呈现在此提供的详细说明书的一些部分。如从以下讨论中明显的是,除非另外特别声明,否则应认识到,贯穿本说明书,使用如“运算(calculating)”、“计算(computing)”、“确定(determining)”、“估计(estimating)”、“存储(storing)”、“收集(collecting)”“显示(displaying)”、“接收(receiving)”、“合并(consolidating)”、“生成(generating)”、“更新(updating)”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,所述计算机系统或类似电子计算设备对表示为计算机系统的包括寄存器和存储器的电路系统中的物理(电子)量的数据进行操纵并且将其转换成类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备中的物理量的其他数据。

以下描述阐述可以在如例如片上系统(soc)架构等架构中显现的实施例。在此描述的技术和/或布置的实现方式不局限于具体的架构和/或计算系统,并且出于类似目的可以由任何架构和/或计算系统实现。采用例如多个集成电路(ic)芯片和/或封装的各种架构、和/或诸如机顶盒、智能电话等的各种计算设备和/或消费电子(ce)设备可以实现本文所描述的技术和/或布置。此外,虽然以下描述可以阐述许多特定的细节(如逻辑实现、系统部件的类型和内在关系、逻辑划分/集成选择等),但可以在没有这些特定细节的情况下实践要求保护的主题。此外,可以不详细示出某些材料(如,例如,控制结构和完整的软件指令序列),以便不模糊在此公开的材料。

在此公开的材料的某些部分是在硬件(例如,如图形处理器中的逻辑电路系统)中实现的。某些其他部分可以在硬件、固件、软件、或其任意组合中实现。在此公开的至少部分材料还可以被实现为存储于机器可读介质上的指令,这些指令可以被一个或多个处理器(图形处理器和/或中央处理器)读取或执行。机器可读介质可以包括用于存储或传输具有由机器(例如,计算设备)可读形式的信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(rom);随机存取存储器(ram);磁盘存储介质;光存储介质;闪存设备;电气、光学、声学或其他类似的非瞬态有形介质。

虽然相比大多数局部均值滤波器nlm去噪技术通常提高了图像质量,但是发明人已经发现nlm技术以低信噪比(snr)遭受不平滑边缘。因此,能够提高边缘平滑度同时保留nlm技术的期望属性的图像去噪技术和硬件架构是有利的。因此,以下描述一种或多种系统、方法和计算机可读介质,用于至少部分地通过结合自适应有向空间滤波器而增强的nlm图像去噪。此边缘增强型nlm去噪在本文中被称为“自适应有向非局部均值图像去噪”。与随噪声增大而遭受较差边缘平滑的常规nlm滤波器对比,本文描述的自适应有向非局部均值图像去噪实施例借助于空间滤波函数积极地对穿过目标像素的边缘进行说明,所述空间滤波函数具有基于针对所述目标像素确定的边缘度量所适配的方向性参数。在一些实施例中,通过对输入目标像素值应用相似性滤波函数和有向空间滤波函数来确定经滤波的像素值。在一些实施例中,边缘度量评估边缘穿过目标像素的概率,并且基于边缘度量计算空间滤波函数的控制空间滤波器方向性的一个或多个参数。在一些实施例中,自适应空间滤波函数的宽度根据边缘度量从均匀滤波值变化到非均匀滤波值。在一些实施例中,针对目标像素确定空间梯度方向并且非均匀滤波宽度的取向相对于所述梯度方向对准。本文的一些实施例由此可以根据更加均匀的空间滤波器对边缘外的第一目标像素进行降噪,并且根据更加非均匀的空间滤波器对边缘上的第二目标像素进行降噪。在snr低且目标像素和相似的局部补丁两者噪声更大的情况下,根据本文所描述的一些实施例的具有自适应有向空间滤波的nlm去噪已被发现增加了边缘偏置,所述边缘偏置有利地实现了更平滑的边缘而不损坏细节保护,所述方法常见于纯有向去噪算法中。

图1是根据实施例展示了nlm图像去噪方法101的流程图。可以针对在区域ω的离散图像i中的所有像素来执行方法101,其中,针对将被经滤波的输出像素p输出取代的一个有噪输入目标像素p输入执行一次迭代。图1所展示的迭代可以在并行处理架构中跨多个线程或执行单元上串行地或并行地实现。方法101的每次迭代/线程从在操作105处接收输入像素值pi开始。被接收作为输入的值包括有待滤波的输入目标像素值p输入以及目标像素的空间邻域内的多个像素值。在示例性实施例中,空间邻域被调整大小为小于包括p输入的ω。在此邻域外的像素在确定经滤波的输出像素p输出时不被给予任何权重。所述空间邻域可以具有任何预先确定的大小(例如,比nxn像素图像帧小的固定的kxk窗口),用于相应地减小在方法101中执行的用于确定经滤波的输出像素值p输出的计算量。在一个实施例中,如下文进一步所述,邻域的大小以及因此在操作105处接收的输入像素值样本的大小被预先确定以适应特定的非局部均值算法。尽管将邻域定义为比nxn图像小在计算开销方面具有实用优势,但是应注意,本文中的实施例同样可应用于利用针对nxn图像内所有像素计算出的权重对目标像素进行滤波的技术。

在一些实施例中,输入像素值pi是rgb空间中的原始数据。而此原始数据可以是由相机传感器输出的原始拜耳(bayer)数据等等,在有利的实施例中,像素值pi已经被预先处理到一定程度,例如被线性化(包括黑度校正)和色差校正。原始图像数据也可以已经校正过已知的不良像素,并且镜头阴影校正可以已经在去噪方法101的上游被执行。在一些其它实施例中,在操作105处接收的输入像素值pi在yuv空间中,其中,在亮度(y)通道上具体地操作方法101。

在操作110处,针对目标像素p输入计算出边缘度量v边缘。许多边缘检测方法在本领域是已知的,并且可以在操作110处被采用。在操作110处可以有利地采用返回超过两种状态的边缘检测方法。在一些实施例中,在操作110处执行的边缘检测方法返回边缘度量,所述边缘度量根据发现边缘的确定性和/或边缘穿过目标像素p输入的概率在0与1之间的多个等级之间变化(例如,0≤v边缘≤1)。在一些实施例中,在操作110处采用随机性边缘检测器。在一些实施例中,在操作110处的边缘检测需要计算在目标像素p输入处的一个或多个像素值(例如,强度)的空间梯度。与具有更大幅值的梯度相关联的较强边缘可以被分配有指示更大确定性的度量。在一个示例性实施例中,在操作110处通过对梯度幅值进行软阈值设定来确定边缘度量:

其中,rg[x,y]是在目标像素位置x,y处的梯度幅度,并且t1、t2是两个可配置的阈值。对于此类实施例,由于实施例不进一步限于此上下文,可以通过以下任何已知技术来确定梯度的幅值。例如,可以采用索贝尔(sobel)算子、罗伯茨交叉(robertscross)算子、蒲瑞维特(prewitt)算子或其他类似的梯度算子。

在操作115处,基于边缘度量确定自适应空间滤波函数的一个或多个参数。由图像数据驱动,在操作115处计算出的(多个)空间滤波函数参数将适应于调制空间滤波方向性的目标像素p输入处边缘的存在。nlm去噪中的空间滤波器用于将基于空间的加权与基于相似性的加权进行组合,使得可以给予邻域窗口第一区域内的相似补丁内的像素比位于邻域窗口第二区域内的像素更大的重要性。在数学上,根据一些实施例的nlm去噪是两个滤波函数相乘:

f(n,m)=fs(n,m)·fls(n,m),(2)

其中,fls是根据目标补丁与其邻域内的其他补丁之间的相似性距离来控制像素加权的局部相似性滤波函数。空间滤波函数fs根据目标补丁与其邻域内的其他补丁之间相似性距离来控制像素的加权。在一些实施例中,将通过对针对目标像素p输入计算出的边缘度量v边缘的响应而适应于图像数据的是空间滤波函数fs。因此,尽管恒定空间滤波器(例如,高斯内核)不是数据驱动的并且将简单地基于邻域窗口内的固定优先级为像素分配空间权重(例如,使得窗口内的中心像素对于相似度距离的贡献比位于窗口边缘的像素更大),根据本文的一些实施例的自适应空间滤波器用于为邻域窗口内的像素分配空间权重,使得在边缘上的像素对于相似度距离的贡献比边缘外的像素更大。尽管自适应空间滤波函数fs可以采用多种形式来实现边缘增强型空间像素加权,以下在图2、图3和图4的上下文下对一些示例性实施例进行更具体的描述。

利用在操作115处计算出的自适应空间滤波函数fs,方法102在操作120处继续,其中,通过评估邻域窗口内的补丁将相似性滤波函数fls和空间滤波函数fs应用于目标像素p输入以达到经滤波的目标像素p输出。在操作130处,经滤波的输出目标像素值p输出然后被存储在例如电子存储器(如但不限于,寄存器、易失性存储单元、非易失性存储单元等)中。输入目标像素p输入在方法101的多次串行迭代或多个并行线程中增加,直到已经对图像i中的所有像素都进行了同样的滤波。在进一步的实施例中,经滤波的像素值p输出进一步输出到显示流水线、和/或编码流水线、和/或无线传输流水线。

图2是流程图,展示了根据一些实施例的采用自适应有向高斯滤波器的非局部均值图像去噪方法201。图3是根据一些实施例的通过非局部均值图像去噪方法201处理的图像帧的输入像素的展示。图4是图示,展示了根据一些实施例的控制自适应有向高斯滤波器方向性的参数与边缘度量的依赖关系。在方法201中采用的自适应有向高斯滤波器的方向性可以例如基于所计算出的边缘度量以图4所展示的方式被调制。

首先参考图2,在示例性方法201中,在方法101的上下文下引入的自适应有向空间滤波器被实现为自适应有向高斯滤波器,其中,作为像素网格坐标的函数的空间滤波器fs采用以下形式:

其中,空间滤波旋转坐标x'和y'、滤波宽度σw和σn将在下文进一步加以描述。针对此类实施例,高斯函数有待根据边缘度量(例如,目标函数在边缘上的概率)被调制为大致椭圆形(例如,圆形)。有向滤波器的取向相对于穿过目标像素的边缘方向被确定,例如,其中,有向滤波器的较长宽度被定向为平行于边缘(即,正交于目标像素处估计的空间梯度)。

方法201从在操作205处接收目标像素开始。图像帧i中的其他像素值可以与输入目标像素值p输入一起被接收或使得执行方法201的引擎可访问。在一些实施例中,围绕目标像素p输入的局部邻域内的所有像素在操作205处被接收。如图3所示,图像或者帧301包括大小为nxn的空间相关的2d像素阵列305。在所描绘的实施例中,像素阵列305的值在rgb空间中。在像素阵列305内的是围绕目标像素310的大小为kxk的局部邻域315。来自像素阵列305的像素值可以在例如操作205处(图2)被接收作为输入像素p输入。

如图2进一步所展示的,方法201进行至操作210,在操作210中,针对目标像素p输入计算出空间梯度方向θ。尤其是,操作210被展示为与操作110处的边缘度量计算潜在无关,以用于允许单独地优化所述计算。然而,如图2虚线所指示的,在操作110或210中计算出的结果可以通知另一方。在一些实施例中,空间梯度方向θ可以很容易地从作为在操作110处采用的边缘检测算法的一部分而执行的梯度幅值计算中进行确定。梯度算子(例如,索贝尔(sobel))内核可以应用于在操作110处计算像素阵列或网格(例如,)的每个方向上的梯度分量,在这种情况下,边缘相对于像素阵列的产生空间梯度的定向角度可以在操作210处被很容易地确定。在替代性的实施例中,例如在|g|被直接估计的情况下,可以通过任何已知的技术独立地确定空间梯度方向θ,因为实施例在这方面不受进一步限制。图3进一步展示了邻域315内具有方向θ的示例性空间梯度向量g。

返回到图2,方法201继续到操作215,在所述操作中中计算出空间滤波旋转坐标x’和y’。旋转坐标x’和y’用于确定所述有向滤波器相对于像素网格的方向。在一些实施例中,旋转坐标x’和y’基于空间梯度方向θ。在一个示例性实施例中,旋转坐标x’和y’利用旋转坐标向量来计算:

其中,x和y是图像i内的目标像素p输入的位置坐标。

在一些实施例中,基于边缘度量计算有向高斯滤波器的宽度参数。例如,在方法201中在操作225处,根据边缘度量v边缘计算空间滤波器宽度参数σw和σn中的至少一者。在有利的实施例中,滤波器宽度参数σw和σn两者均被计算为边缘度量v边缘的一个或多个函数。在一些实施例中,滤波器宽度参数σw和σn是边缘度量v边缘的函数,所述边缘度量响应于目标像素在边缘上的更大确定性而增大了高斯滤波器的方向性。在一些实施例中,滤波器宽度参数σw和σn根据边缘度量v边缘从均匀性(σw=σν)改变为非均匀性(如σw>σν)。在一个示例性实施例中,其中,边缘度量v边缘从0增大到1,其中0指示未能检测到边缘,并且1指示检测到具有最大确定性的边缘,空间滤波器宽度参数σw和σn计算为:

σw=v边缘·σb+(1-v边缘)·σ均匀(5)

σν=v边缘·σa+(1-v边缘)·σ均匀,(6)

其中,σ均匀、σa和σb为控制卷积内核的形状范围的可配置参数。在一些实施例中,这些参数的值满足关系:σa>σ均匀>σb。在图4中,自适应有向高斯滤波器形状的影响被描述为σw和σν,其取决于从0增大到1的边缘度量v边缘(例如,0→没有边缘;以及1→具有最大确定性的边缘)。在边缘最大确定性的限度内,实现了最大有向空间滤波器415,其中,滤波器宽度参数σw和σν分别达到最大长度σα和最小长度σb。在未能检测到边缘的限度内,实现了最小有向空间滤波器405,其中,滤波器宽度参数σw和σν等于σ均匀。针对落在这些限度内的边缘度量值,实现了中间有向滤波器410。

返回到图2,方法201继续在操作240处在nlm计算中应用自适应有向滤波函数fs和相似性滤波函数fls。如图3进一步所示,将包括目标像素310的目标像素补丁320与局部邻域315的所有像素集合内的一个或多个候选像素补丁321、322中的每一个进行比较。候选像素补丁321、322可以例如具有预定大小,并且与邻域215内所界定的一定数量的其他候选像素补丁重叠。给定邻域内候选补丁221的数量可以例如是图像/帧内(例如,沿着边缘)的目标像素210的位置的函数。

对应于每个候选补丁与目标像素补丁有多相似(在本文中称为“自相似性(self-similarity)”)来计算候选补丁的权重wi。针对具有与目标补丁相似性更大的第一候选补丁的候选补丁权重wi可以例如比针对与目标补丁相似性更小的第二候选补丁的更大。每个候选补丁权重wi可以通过用于评估像素i与p输入之间的相似度的任何补丁相似性评分函数来确定,例如其中,0<w(i,p输入)<1。因为本文中的实施例在这一方面不受进一步的限制,所以可以采用任何已知技术来达到相似性权重。在一个实施例中,相似性测度作为像素值的绝对差之和(例如,强度)进行计算。这种实施例可以有利地在固定功能或半可编程逻辑电路系统(例如,图像信号处理器)中实现。在一些实施例中,fls包括高斯内核函数,其中,像素值的差平方和作为相似性测度被计算。

候选补丁权重进一步是自适应有向滤波函数fs的函数,所述自适应有向滤波函数用于利用衰减对候选补丁进行加权,所述衰减沿着边缘比垂直于边缘要慢。在图3展示的示例中,其中,在目标像素310处呈现梯度g,对空间滤波器340进行充分地定位和定向,以使得补丁321权重大于补丁322。可以由像素对上述相似性滤波函数fls和空间滤波函数fs的应用进行离散化,并且在一些实施例中,经滤波的像素值的计算进行如下:

其中,i[x,y]是有噪输入像素,并且i'[xt,yt]是用于目标补丁位置的经滤波的图像值,c(xt,yt)是归一化常量,fs(x,y)是在图像区域ω上评估出的有向空间滤波函数。将相似性函数fls应用于候选补丁的像素值与具有补丁区域ω的目标补丁的差值d。

在操作240处计算出的经滤波的目标像素值然后在操作150处被储存到存储器中。如果图像的所有像素都已经被如此滤波,则方法201结束。否则,方法201在操作260处继续递增至下一个目标像素。然后,再次大体如上所述地执行操作205、210、110、215、225、240和250。一旦确定了所有经滤波的像素值,可以根据任何已知技术将这些像素值存储为去噪图像。在进一步的实施例中,经滤波的像素值和/或去噪图像被进一步输出到显示流水线、和/或编码流水线、和/或无线传输流水线(未描绘出)。

图5a是根据一个或多个实施例的包括自适应有向nlm去噪模块540的系统501的功能框图。图像处理系统501包括输入端口,所述输入端口用于接收目标像素以及目标像素的空间邻域内的多个像素的输入像素值。在一些实施例中,本文描述的边缘增强型nlm降噪技术和用于执行处理的相关联的电路系统被置于图像流水线内以在rgb空间中工作,其中,原始数据515包括输入像素值。

在说明性的实施例中,原始数据515源自包括相机传感器510的相机硬件模块(cm)505,这两者均可以(或者可以不)作为系统501一部分被包括在内,如虚线框所示。例如,传感器510可以是qxga、wqxga或qsxga格式的数字图像设备。相机传感器510可以提供10位的颜色分辨率(或每像素更多),并且可以进一步可操作用于逐渐捕获连续视频帧。传感器510可以具有170mhz的像素频率或更多。相机传感器510可以包括rgb拜耳(bayer)滤色器、模拟放大器、a/d转换器、将入射光转换成与原始图像数据相对应的数字信号的其他部件。传感器510可以被控制为操作卷帘式快门或电子焦平面快门过程,在所述过程中,针对帧以线序方式逐渐读出像素。将原始数据输入到图像信号处理器(isp)530中。isp530用于在与cm505相关联的水平和/或垂直消隐期过程中接收和分析原始视频数据的帧。在原始图像数据处理期间,isp530利用nlm图像去噪模块540执行降噪。在示例性实施例中,isp530进一步包括预处理器520,所述预处理器用于执行像素线性化和遮蔽补偿中的一项或多项,其中,由相机传感器505输出的原始拜耳(bayer)数据或类似数据被线性化(也包括黑度校正)和色差校正。可以进一步计算原始图像数据色度(白平衡)。已知不良像素校正、以及镜头阴影校正可以在去噪方法540的上游执行。在替代性实施例中,由预处理器520执行的预处理的量是最小的,例如只包括去噪模块540上游的暗噪声去除。

在一些实施例中,图像去噪模块540由isp530的逻辑电路系统来实现。在替代性的实施例中,图像去噪模块540被实现为一个或多个在执行指定去噪流水线的软件指令的逻辑电路系统上(例如在如应用程序处理单元(apu)或者中央处理单元(cpu)等可编程处理器上)的实例化的线程。去噪模块540然后可以被耦合至预处理器520的输出端口,其由isp530的逻辑电路系统实现。在又另一个实施例中,预处理器520和去噪模块540都被实现为在耦合以接收来自相机模块505的输出的apu或cpu上的线程。

去噪模块540包括边缘检测模块545和自适应有向空间滤波模块555。例如根据本文其他地方所描述的任何实施例,边缘检测模块545包括用于计算边缘度量的逻辑(通过软件可编程的电路系统或固定功能逻辑电路系统来实现)。在一些实施例中,边缘检测模块545进一步包括用于计算空间梯度方向的逻辑,例如根据本文其他地方所描述的任何实施例。自适应有向空间滤波模块555包括用于基于边缘度量信息(例如,来自边缘检测模块545的输出)来计算一个或多个空间滤波参数(诸如,宽度参数)的逻辑(通过软件可编程的电路系统或固定功能逻辑电路系统来实现)。在一些实施例中,自适应有向空间滤波模块555包括用于基于梯度方向信息(例如,由边缘检测模块545输出)来计算一个或多个空间滤波参数(诸如,滤波器定向参数)的逻辑。去噪模块540进一步包括nlm模块550,所述模块具有用于基于输入像素值和自适应有向空间滤波参数(例如由自适应有向空间滤波模块555输出)来计算目标输入像素的非局部均值的逻辑(通过软件可编程的电路系统或固定功能逻辑电路系统来实现)。在一些实施例中,nlm模块550进一步包括逻辑电路系统,所述逻辑电路系统用于通过以下方式来计算在邻域内的候选补丁的补丁权重:进行一定数量的候选补丁与在包含目标像素的邻域内的像素的目标补丁之间的像素值比较,并且执行一定数量的候选补丁与所述邻域内的像素的目标补丁之间的位置比较,以使得在边缘上的像素值权重大于不在边缘上的像素值。

还如图5a所示,图像处理系统501进一步包括输出端口,所述输出端口耦合至电子存储器563、显示器562或者编码器561中的至少一个。存储器563包括用于将经滤波的图像像素作为原始图像数据511的经滤波的表示进行存储的电路系统。编码器561包括用于将经滤波的图像像素作为原始图像数据511的经滤波的表示的进行编码的逻辑。显示器562包括用于将经滤波的图像像素作为原始图像数据的经滤波的表示进行呈现的电路系统。在进一步的实施例中,将isp530和图像去噪模块540中的一个或多个耦合至具有用户空间和内核空间的apu(cpu)590。在用户空间上执行的应用程序可以控制去噪模块540(例如定义自适应有向空间滤波模块555的可配置参数,诸如σa、σb等)。

图5b是根据一个或多个实施例的包括自适应有向nlm去噪模块540的系统502的功能框图。在此示例性实施例中,上文描述的nlm降噪技术和相关联的电路系统被置于图像流水线内以用于在经颜色校正的并且经转换的yuv数据空间中进行操作。图5b展示了一种示例性系统架构,其中,针对视频处理流水线,图像去噪模块540作为下采样滤波器进行操作。系统502例如具有像素值输入端口,所述像素值输入端口耦合至具有任何已知配置的流式视频流水线的输出端。视频流水线还可以包括传感器510(图5a),所述传感器可操作用于输出与符合任何已知的流送协议(诸如mipi或其他协议)的多个连续曝光的帧相关联的原始视频数据。在所述示例性实施例中,由系统502接收的xvycc输入像素数据506通过解码电路系统560被转换成yuv(cb、cr)格式。色度子采样器570降低采样率,例如从4:4:4yuv数据到4:4:0数据。去噪模块540然后利用以上基本上在图5a上下文所描述的模块对色度子采样数据集中的子采样y'通道数据进行操作。

图6是根据一个或多个实施例的采用自适应有向nlm去噪模块540的示例性超低功率系统600的简图。系统600可以是移动设备,但是系统600不局限于此上下文。例如,系统600可以结合到可穿戴计算设备、超级膝上型计算机、平板机、触摸板、手持式计算机、掌上型计算机、蜂窝电话、智能设备(例如,智能电话、智能平板机或移动电视)、移动互联网设备(mid)、消息设备、数据通信设备等中。系统600还可以是基础设施设备。例如,系统600可以结合到大尺寸电视、机顶盒、台式计算机或其他家用或商用网络设备中。

系统600包括设备平台602,所述设备平台可以实现以上在图1至图5的上下文中所描述的各种自适应有向nlm去噪方法系统的全部或子集。在各种示例性实施例中,处理器615执行自适应有向nlm去噪算法。处理器615包括例如用于实现本文其他地方描述的任何去噪算法的逻辑电路系统。在一些实施例中,一个或多个计算机可读介质可以存储指令,所述指令当由cpu610和/或处理器615执行时使(多个)处理器执行一种或多种自适应有向nlm去噪算法,诸如以上详细描述的那些算法中的任何算法。由图像去噪模块540滤波的一个或多个图像数据帧然后可以作为经滤波的图像数据被存储到电子存储器612中。

在实施例中,设备平台602耦合至人机接口设备(hid)620。平台602可以利用cm505收集原始图像数据,所述原始图像数据被滤波并输出到hid620。包括一个或多个导航特征的导航控制器650可以用于与例如设备平台602和/或hid620进行交互。在实施例中,hid620可以包括经由无线电设备618和/或网络660耦合至平台602的任何电视机类型的监测器或显示器。hid620可以包括例如,计算机显示屏、触摸屏显示器、视频监视器、类似电视机的设备和/或电视机。

在一个或多个软件应用616的控制下,设备平台602可以在hid620上显示用户界面622。可以通过指针、光标、聚焦环或在显示器上显示的其他视觉指示符的移动在显示器(例如,hid620)上复制控制器650的导航特征的移动。例如,在软件应用616的控制下,位于导航控制器650上的导航特征可以被映射至在用户界面622上显示的虚拟导航特征。

在实施例中,设备平台602可以包括cm505、芯片组605、处理器610、615、存储器/存储设备612、应用616和/或无线电设备618的任意组合。芯片组605可以提供在处理器610、615、存储器612、视频处理器615、应用616、或无线电设备618之间的相互通信。

处理器610和615中的一个或多个可以被实现为一个或多个复杂指令集计算机(cisc)或精简指令集计算机(risc)处理器;x86指令集兼容处理器、多核处理器或任何其它微处理器或中央处理单元(cpu)。

存储器612可被实现为易失性存储器设备,例如但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、或静态ram(sram)。存储器612还可以被实现为非易失性存储设备,诸如但不限于:闪存、电池备用sdram(同步dram)、磁性存储器、相变存储器等。

无线电设备618可以包括能够使用各种适当的无线通信技术发射并接收信号的一个或多个无线电设备。这类技术可以涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wlan)、无线个人局域网(wpan)、无线城域网(wman)、蜂窝网和卫星网。在跨这种网络进行通信时,无线电设备618可以根据任何版本的一个或多个可适用标准进行操作。

在实施例中,系统600可以被实现为无线系统、有线系统、或两者的组合。当被实现为无线系统时,系统600可以包括适合通过如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等的无线共享介质进行通信的部件和接口。无线共享介质的示例可以包括无线光谱部分,如rf光谱等。当被实现为有线系统时,系统600可以包括适用于通过有线通信介质(如输入/输出(i/o)适配器、利用相应有线通信介质连接i/o适配器的物理连接器、网络接口卡(nic)、光盘控制器、视频控制器、音频控制器等)进行通信的部件和接口。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(pcb)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等。

如上所述,系统600可以用变化的物理风格或形成因数来实施。图7进一步展示了可以在其中实施系统600的移动手持设备700的实施例。在实施例中,例如设备700可被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指具有处理系统和移动电源或供电(诸如一个或多个电池)的任何设备。移动计算设备的示例可以包括超级膝上型计算机、平板机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(pda)、蜂窝电话、组合式蜂窝电话/pda、电视、智能设备(例如,智能电话、平板计算机或智能电视)、移动互联网设备(mid)、消息设备、数据通信设备等。移动计算设备的示例还可以包括被配置成由人穿戴的计算机和/或介质捕获/传输设备,诸如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、服装计算机以及其他可穿戴计算机。在各实施例中,例如移动计算设备可以实现为能够执行计算机应用程序、以及语音通信和/或数据通信的智能电话。举例来讲,尽管一些实施例可以用被实现为智能电话的移动计算设备来描述,但可以理解的是,其他实施例也可以使用其他无线移动计算设备来实现。实施例并不局限于本上下文中。

如图7所示,移动手持设备700可以包括具有前面701和背面702的壳体。设备700包括显示器704、输入/输出(i/o)设备706、和集成天线708。设备700还可以包括导航特征712。显示器704可以包括用于显示适合于移动计算设备的信息的任何适当的显示单元。i/o设备706可以包括用于将信息输入移动计算设备中的任何适当的i/o设备。i/o设备706的示例可以包括字母数字键盘、数字小键盘、触摸板、输入建、按钮、开关、麦克风、扬声器、话音识别设备和软件等。信息还可以借助于麦克风(未示出)被输入设备700中或者可以由话音识别设备数字化。实施例并不局限于本上下文中。如在本文其他地方所描述的那些实现方式中的任何实现方式,集成到至少背面702中的是相机705(例如,包括镜头、光圈和成像传感器)和闪光灯710,所述两者可以是图像帧通过其被曝光并被输出至自适应有向nlm去噪模块的cm的部件。

在一些实施例中,如本文中所描述的自适应有向nlm去噪架构及相关联的算法在各种硬件架构、单元设计或“ip核”中实现。

本文中描述的实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件或模块的示例包括:处理器、微处理器、电路系统、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件或模块的示例包括:应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、数据字、值、符号、或其任意组合。判定是否是使用硬件元件和/或软件元件来实现实施例可以根据针对设计选择所考虑的任意数量的因数而变化,如但不限于:期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。

至少一个实施例的一个或多个方面可以由存储在机器可读存储介质上的代表性指令实现。这类指令在由机器对其进行执行的过程中可以完全地或至少部分地驻留在主存储器内和/或在处理器内,存储指令的主存储器和处理器部分然后还组成机器可读存储介质。可编程逻辑电路系统可以具有由实现计算机可读介质的处理器配置的寄存器、状态机等。这种如所编程的逻辑电路系统然后可以被理解为被物理地转换成落入本文描述的实施例的范围内的系统。表示处理器内的各逻辑的指令当由机器读取时还可以致使机器制造遵循本文描述的架构的逻辑和/或执行本文描述的技术。被称为单元设计或ip核的这种表示可以存储在有形的、机器可读的介质上或被供应至不同的消费者或制造设施以加载到实际上制造逻辑的制造机器或处理器中。

虽然已经参考示例性实施例描述了本文阐述的一些特征,但是本说明书不是要以限制的意义来进行解释。因此,本公开涉及的对本领域技术人员而言明显的对本文描述的实施方式以及其他实施方式的各种修改被视为是在本公开的精神和范围内。

以下段落简要描述了一些示例性实施例。

在一个或多个第一实施例中,一种计算机实现的非局部均值图像去噪方法包括:接收图像帧的输入像素值;以及计算与目标输入像素相关联的边缘度量。所述方法进一步包括:基于所述边缘度量计算指定空间滤波函数的方向性的一个或多个参数。所述方法进一步包括:通过对所述输入像素值应用相似性滤波函数和具有所指定的方向性的所述空间滤波函数来确定经滤波的目标像素值。所述方法进一步包括:将所述经滤波的目标像素值存储在电子存储器中。

在第一实施例的进一步方案中,所述自适应空间滤波函数包括具有第一滤波宽度和第二滤波宽度的有向高斯滤波函数,其中所述第一滤波宽度和所述第二滤波宽度中的至少一个取决于所述边缘度量。

在上面刚刚描述的第一实施例的进一步方案中,所述第一滤波宽度和所述第二滤波宽度在针对指示未能检测到边缘的第一边缘度量值的最均匀滤波宽度与指示以最高置信度检测到的边缘的第二边缘度量值处的预定最大宽度和最小宽度之间变化,其中,所述均匀宽度在所述最小宽度与所述最大宽度之间。

在所述第一实施例的进一步方案中,所述边缘度量包括边缘穿过所述目标输入像素的概率,并且所述方向性直接随着所述概率增大。

在所述第一实施例的进一步方案中,进一步包括确定在所述目标像素处所述像素值的空间梯度的方向;并且计算自适应有向空间滤波函数进一步包括相对于所述梯度方向对所述有向滤波器进行定向从而使所述边缘上的像素权重比所述边缘外的像素权重衰减更慢。

在上面刚刚描述的第一实施例的进一步方案中,相对于所述梯度方向对所述滤波器进行定位进一步包括:将旋转矩阵应用于目标像素的坐标。

在所述第一实施例的进一步方案中,计算所述边缘度量包括对所述像素值中空间梯度的幅度进行阈值设定。

在所述第一实施例的进一步方案中,确定所述经滤波的目标像素值进一步包括利用一个或多个像素补丁值对所述输入目标像素值进行加权,所述一个或多个像素补丁值由一个或多个候选补丁与包括所述目标像素的目标补丁的相似度以及一个或多个候选补丁相对于边缘的由所述边缘度量量化的位置两者进行加权。

在一个或多个第二实施例中,一种图像去噪装置,包括用于执行如所述第一实施例中任一项的装置。

在一个或多个第三实施例中,一种图像去噪装置包括:输入端口,所述输入端口用于接收图像帧的输入像素值。所述装置进一步包括耦合至输入端口的去噪模块,并且所述进一步包括边缘检测模块,所述缘检测模块包括用于计算与目标输入像素相关联的边缘度量的逻辑;有向空间滤波模块,所述有向空间滤波模块包括用于基于所述边缘度量计算指定空间滤波函数的方向性的一个或多个参数的逻辑;以及非局部均值模块,所述非局部均值模块用于通过对所述输入像素值应用相似性滤波函数和具有所述指定方向性的所述空间滤波函数来确定经滤波的目标像素值;输出端口,所述输出端口耦合至所述去噪模块以便将所述经滤波的目标像素值输出至电子存储器。

在所述第三实施例的进一步方案中,所述有向空间滤波模块包括用于计算具有第一滤波宽度和第二滤波宽度的有向高斯滤波函数的逻辑,其中所述第一滤波宽度和所述第二滤波宽度中的至少一个取决于所述边缘度量。

在上面刚刚描述的第三实施例的进一步方案中,所述有向空间滤波模块包括逻辑,所述逻辑用于使所述第一滤波宽度和所述第二滤波宽度在针对指示未能检测到边缘的第一边缘度量的最均匀滤波宽度与指示以最高置信度检测到的边缘的第二边缘度量值处的预定最大宽度和最小宽度之间变化,其中,所述均匀宽度在所述最小宽度与所述最大宽度之间。

在所述第三实施例的进一步方案中,所述边缘检测模块包括用于计算边缘穿过所述目标输入像素的概率的逻辑,并且所述边缘检测模块包括用于计算所述方向性直接随着所述概率的增大的逻辑。

在所述第三实施例的进一步方案中,所述边缘检测模块包括用于确定在所述目标像素处所述像素值的空间梯度的方向的逻辑;以及有向空间滤波模块包括用于相对于所述梯度方向对所述有向滤波器进行定向,并且使所述边缘上的像素的权重比所述边缘外的像素权重衰减更慢。

在上面刚刚描述的第三实施例的进一步方案中,所述有向空间滤波模块包括用于将旋转矩阵应用于所述目标像素的坐标的逻辑。

在所述第三实施例的进一步方案中,所述边缘检测模块包括用于对所述像素值中空间梯度的幅度进行阈值设定的逻辑。

在所述第三实施例的进一步方案中,所述非局部均值模块包括用于利用一个或多个像素补丁值对所述输入目标像素值进行加权的逻辑,所述一个或多个像素补丁值由一个或多个候选补丁与包括所述目标像素的目标补丁的相似度以及一个或多个候选补丁相对于边缘的由所述边缘度量量化的位置两者进行加权。

在一个或多个第四实施例中,移动计算平台包括如所述第三实施例所述的所述图像去噪装置;相机硬件模块(cm),耦合至所述输入端以便在包括所述输入像素值的rgb空间中生成原始图像数据;以及耦合至所述输出端口的所述电子存储器、编码器或者显示器中的至少一个,所述存储器用于将所述经滤波的图像像素存储为所述图像数据的经滤波的表示,所述编码器用于将所述经滤波的图像像素编码为所述图像数据的经滤波的表示,并且所述显示器用于将所述经滤波的图像像素呈现为所述图像数据的经滤波的表示。

在一个或多个第五实施例中,一种或多种计算机可读存储介质具有存储在其上的指令,所述指令当被处理器执行时使所述处理器执行所述第一实施例中的任一项。

在一个或多个第六实施例中,一种或多种计算机可读存储介质包括存储在其上的指令,所述指令当被处理器执行时使所述处理器执行一种方法,所述方法包括:计算与包括在图像帧的输入像素值集合中的目标输入像素相关联的边缘度量;基于所述边缘度量计算指定空间滤波函数的方向性的一个或多个参数;通过对输入像素值应用相似性滤波函数以及具有所指定的方向性的空间滤波函数来确定经滤波的目标像素值;以及将所述经滤波的目标像素值存储在电子存储器中。

在第六实施例的进一步方案中,所述介质进一步包括存储在其上的指令,所述指令当被处理器执行时使所述处理器执行一种方法,所述方法进一步包括:确定在所述目标像素处所述像素值的空间梯度的方向,其中,计算自适应有向空间滤波函数进一步包括:相对于所述梯度方向对所述有向滤波器进行定向,从而使所述边缘上的像素权重比所述边缘外的像素权重衰减更慢,其中,所述自适应空间滤波函数包括具有第一滤波宽度和第二滤波宽度的有向高斯滤波函数,其中至少一个滤波宽度取决于所述边缘度量,其中,所述第一滤波宽度和所述第二滤波宽度在针对指示未能检测到边缘的第一边缘度量值的最均匀滤波宽度与指示以最高置信度检测到的边缘第二边缘度量值处的预定最大宽度和最小宽度之间变化,其中,所述均匀滤波宽度在所述最小宽度与所述最大宽度之间。

将认识到的是,所述实施例并不局限于如此描述的示例性实施例,而是可以使用修改和改变而不偏离所附权利要求的范围。例如,以上实施例可以包括特征的特定组合。然而,以上实施例不局限于这个方面,并且在实施例中,以上实施例可以包括仅采取这类特征的子集、采取这类特征的不同顺序、采取这类特征的不同组合和/或采取除了明确例举的那些特征之外的附加特征。因此,范围连同被授予权利的这些权利要求书的等效物的全部范围应参照所附权利要求书来确定。

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