用于自适应像素滤波的系统和方法与流程

文档序号:12829469阅读:352来源:国知局
用于自适应像素滤波的系统和方法与流程

本披露总体上涉及滤波器优化。具体地,本披露涉及一种经优化的图像滤波器,该图像滤波器具有取决于邻近像素值的加权函数。



背景技术:

随着显示设备(如电视机、计算机、平板计算机和智能电话)的改进,存在针对高质量图像和视频的大量需求。数字图像处理经常用于提高图像和视频的质量。例如,图像滤波器用于数字地减少图像和视频中存在的噪声。参见1998年5月29日提交的并且题为“用于过滤噪声的非线性图像滤波器(non-linearimagefilterforfilteringnoise)”的美国专利号6,108,455。

一种常见的降噪滤波器是有限脉冲响应(fir)滤波器。一种自适应fir滤波器的卷积内核(像素矩阵)可以由方程(1)定义:

其中,i和j是2d坐标向量;i表示有待处理的目标像素的坐标;j表示参考像素的坐标;pixin(j)是在内核中的输入像素值;pixout(i)是pixin(i)的经滤波的值;w(i,j)是加权函数;n(i)是归一化因数:n(i)=σi∈ωw(i,j);并且ω是图像的搜索区域,其通常是以目标像素为中心的像素的矩形内核。

通常,方程(1)的滤波器是周围像素的加权平均。可以用多种方式计算针对方程(1)的滤波器的加权函数w(i,j)。例如,针对双边或标准差滤波器的加权函数w(i,j)是空间权重和光子(或值域)权重的乘积。针对双边滤波器的加权函数w(i,j)可以由方程(2)定义:

w双边(i,j)=f(||i,j||)×g(|pixin(i)-pixin(j)|)(2)

其中,f()和g()理想上是连续且单调递减函数,如高斯曲线;并且||i,j||指定像素i和j的空间位置之间的欧式距离。

用于降噪的另一种常见的滤波器是非局部滤波器。针对非局部滤波器,加权函数w(i,j)取决于以目标像素和参考像素为中心的像素的多个块p之间的差值。在此使用的块指像素子集。针对非局部滤波器的加权函数w(i,j)可以由方程(3)定义:

以上所述的图像滤波器在本领域中是众所周知的并且在本说明书中将不会详细地讨论。



技术实现要素:

根据本披露的实施例,提供一种经优化的图像滤波器。经优化的图像滤波器获得输入图像并且在搜索区域(图像的第一像素子集)内选择第一目标像素用于修改。在一种滤波方法中,绝对差之和(sad)值然后在选择的第一目标像素与搜索区域的每个参考像素之间被确定。从搜索区域内的第二像素子集和搜索区域内的第三像素子集计算sad值。第二像素子集与第一目标像素相关联并且每个第三像素子集与对应的参考像素相关联。

随后,使用加权函数来针对这些参考像素中的每个参考像素基于它们各自的sad值确定多个权重值。第一目标像素然后由图像滤波器使用这些确定的权重值修改。

在修改第一目标像素之后,在施加块内选择第二目标像素用于修改。施加块是包括第一目标像素的第四像素子集。使用之前从第一目标像素确定的权重值修改第二目标像素,即,加权值不是针对施加块内的第二目标像素计算的。相反,针对第二目标像素的搜索区域的这些参考像素中的每一个将被分配给针对第一目标像素计算的这些之前确定的权重值。具体地,基于第一目标像素与第二目标像素的相对位置将这些权重值重新分配给与第二目标像素相关联的参考像素集。例如,如果第二目标像素是在第一目标像素右边的一个像素,那么新参考像素集中的每个像素将被重新分配来自其左边的一个像素的权重值。因此,与修改第一目标像素相比,修改第二目标像素不必确定sad值和权重值。因此,图像滤波器具有低水平的复杂性,处理时间可以被减少(尤其是在图像滤波器的软件实现中)并且功耗被改良了。

附图说明

由于当结合附图进行时将更好地从以下详细说明中理解本披露的前述和其他特征和优点,因此将会更容易理解本披露的前述和其他特征和优点。

图1是流程图,展示了针对根据本文所披露的一个实施例的经优化的图像滤波器的数据流的示例;

图2是流程图,展示了针对根据本文所披露的一个实施例的经优化的图像滤波器的处理的示例;

图3是图解,展示了根据本文所披露的一个实施例修改施加块的第一像素的示例;

图4是图解,展示了根据本文所披露的一个实施例修改图3的施加块的第二像素的示例;

图5是图解,展示了根据本文所披露的一个实施例修改图3的施加块的第三像素的示例;

图6是图解,展示了根据本文所披露的一个实施例修改图3的施加块的第四像素的示例;并且

图7是示意图,展示了根据本文所披露的一个实施例用于实现经优化的图像滤波器的电子设备的示例。

具体实施方式

在以下描述中,阐明了某些具体细节以便提供对本披露的各个实施例的透彻了解。然而,本领域技术人员将理解的是,可以在没有这些特定细节的情况下实践本披露。在一些情形下,与数字图像处理相关联的公知过程还没有被详细地描述从而避免使本披露的实施例的描述变得模糊。

除非上下文另有要求,否则贯穿说明书和所附权利要求书,“包括(comprise)”一词及其多种变体(诸如,“包括(comprises)”和“包括(comprising)”)将以一种开放式的和包含性的意义来进行解释,也就是作为“包括,但不限于(including,butnotlimitedto)”。

贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实施例所描述的具体特征、结构、或特性包括在至少一个实施例中。因而,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在不同场合中的出现并不一定都是指相同的实施例。另外,特定特征、结构或特性可以根据任何合适的方式组合在一个或多个实施例中。

在附图中,相同的参考号标识相似的特征或元件。附图中的特征的大小和相对位置不一定成比例地绘制。

大多数图像滤波器逐个像素地执行处理并且需要大量的计算。因此,图像滤波器经常消耗大量处理时间或功率。高处理时间和功耗针对实时应用和便携式电子设备而言有问题。例如,数字照相机实时地获得并向用户显示图像。大量的延迟或过度的功耗导致较差的用户体验。低处理时间针对实时地显示视频尤其重要。许多视频以每秒30帧的速率产生720p图像或者甚至以每秒60帧的速率产生4k图像。视频中的任何延迟对用户而言将是显而易见的。

加速技术经常用于降低图像滤波器的复杂性,并且改进处理时间和功耗。常见的加速技术是缩小图像的搜索区域(如搜索区域ω)的大小或者缩小用于不同计算的像素子集(如目标块38)的大小。图3展示了搜索区域36(其是整个图像用于处理的一部分)和目标块38。然而,缩小搜索区域或目标块的大小也降低了技术的效率并且可能影响图像锐度和分辨率。具体地,缩小搜索区域的大小阻止去除较低频率的噪声并且降低了寻找可接受的匹配区域的能力,并且缩小目标块的大小增加了错误匹配区域的数量。另一种常见的加速技术是针对非局部滤波器使用相对简单的差值计算。使用更简单的差值计算已经被证明可提供良好的结果;然而,复杂性仍然太高,并且进一步的复杂性减少是有利的。

本披露涉及一种图像滤波器,该图像滤波器通过减少用于图像滤波器的加权函数的计算的总量而降低复杂性。具体地,图像滤波器确定在图3中选择的目标像素a的权重值,然后针对其他目标像素a+1、b、b+1再次使用这些确定的权重值。通过再次使用多个目标像素的之前确定的权重值,图像滤波器的复杂性水平被降低了并且处理时间和功耗被改进了。将关于图1至图6更加详细地讨论图像滤波器的处理。

图1是流程图,展示了针对根据本文所披露的一个实施例的图像滤波器的数据流的示例。

在序列的第一部分10,输入图像被获得用于数字图像处理。输入图像可以是单张图像或者可以是输入图像流(如视频)的单帧。可以从各种源获得输入图像,如图像传感器、多媒体内容提供商、存储器和万维网。

在后续步骤12中,输入图像被提供给图像滤波器用于处理。例如,图像滤波器可以修改输入图像以数字地减少在输入图像中存在的噪声并且为用户产生最终的图像。将关于图2至图6更加详细地讨论图像滤波器的处理。

在步骤14中,图像滤波器已经完成处理并且经滤波的图像被获得。尽管未示出,可以针对多张图像重复图1的数据流。例如,可以针对多张图像或输入图像流(如视频)的实时处理重复图1的数据流。

图2是流程图,展示了针对根据本文所披露的一个实施例的图像滤波器的处理的示例。有利的是同时地与图3至图6一起回顾图2的这些步骤,图3至图6是展示了根据本文所披露的一个实施例修改施加块的像素的示例的图解。

在序列的第一部分16,图像滤波器获得输入图像。如之前所讨论的,输入图像可以是单张图像或者可以是输入图像流(如视频)的单帧。

在随后的步骤18中,目标像素被选择用于修改。例如,参照图3,目标像素a被选择。为了处理整张图像,多个目标像素被依次处理。目标像素可以是随机地、逐行地、逐列地或以任何预定的顺序选择的。例如,目标像素可以是通过在输入图像的左上角处开始、从左到右选择第一行的像素、移至下一行并且然后继续此模式直到到达输入图像的右下角。在替代实施例中,输入图像的每隔一个像素被选择为目标像素。

所选目标像素具有相应的搜索区域、目标块、参考块和施加块。例如,参照图3,目标像素a具有相应的搜索区域36、目标块38、参考块40和施加块42。这些块是搜索区域36内的像素子集。

搜索区域包括围绕所选目标像素的参考像素。这些参考像素用于修改目标像素。例如,参照图3,目标像素a可以通过用搜索区域36的参考像素的加权平均替换其值而被修改以用于降噪。如将关于步骤20和步骤22讨论的,参考像素的权重基于距离或差值计算,如绝对差之和(sad)或平方差之和(ssd)。

目标块38与参考块40具有相同的尺寸并且用于确定选择的目标像素与参考像素之间的相似性。目标像素与参考像素之间的相似性可以被计算为差值,因为每个像素可以具有数值表示并且相似性是每个像素的数值表示的比较。这也可以被称为目标像素值与参考像素值之间的距离,其中,该距离不必表示阵列中的像素之间的物理空间。

在优选实施例中,目标块和参考块分别以目标像素和参考像素为中心。例如,参照图3,目标块38和参考块40用于确定目标像素a与参考像素c之间的差值。搜索区域36内的这些参考像素中的每一个将用于创建关于目标像素的差值。相应地,当搜索区域中的每个参考像素被处理时,参考块40将与正被处理的参考像素相关联。将关于步骤20更加详细地讨论差值的确定。

施加块42包括目标像素a并且是目标块38的子集。施加块包括附加的目标像素a+1、b、b+1,这些附加的目标像素是使用之前从目标像素a确定的权重值修改的。将关于步骤26至步骤30更加详细地讨论施加块。

在步骤20中,在选择的目标像素与搜索区域的这些参考像素的每个参考像素之间确定差值。第一像素(目标像素a)与第二像素(参考像素c)之间的差值是通过将在以第一像素为中心的第一块(目标块38)中的多个像素与在以第二像素为中心的第二块(参考块40)中的各自相应的像素进行比较而确定的。可以使用计算(如sad或ssd)确定这些差值。sad和ssd计算在本领域中是众所周知的并且在本说明书中将不会详细地讨论。

例如,参照图3,目标像素a值与参考像素c值之间的差值或距离是通过计算以目标像素a为中心的目标块38与以参考像素c为中心的参考块40之间的差值而确定的。在目标像素a与搜索区域36中的每个参考像素之间确定差值。

应当注意的是,在图3至图6中示出的搜索区域36、目标块38以及参考块40的尺寸用于说明性目的。搜索区域36、目标块38和参考块40可以具有任何大小。在优选实施例中,搜索区域大于目标块。

换言之,一旦目标像素a被标识并且目标块38被标识,那么参考像素(如图3中的参考像素c)被选择。对应于参考像c的参考块(例如,参考块40)被标识。目标块38与参考块40具有相同的尺寸,即,在相同形状中包括相同数量的像素。在图3中,目标块和参考块都是5x5的像素阵列。然后,将目标块的每个像素与参考块的每个像素进行比较并且然后计算单个值以生成差值。

在步骤22中,使用加权函数来针对搜索区域的这些参考像素中的每个参考像素基于它们的在步骤20中确定的选择的目标像素之间的各自的差值确定多个权重值。例如,参照图3,针对参考像素c基于其来自步骤20的目标像素a之间的确定的差值确定权重值。确定搜索区域36的每个参考像素的权重值。在优选实施例中,参考像素的权重值与其确定的差值负相关。也就是说,类似于所选择的目标像素的参考像素(即,较小的差值)被给定较大的权重值,并且反之亦然。

为了确定搜索区域36中的每个像素的权重值,当针对目标像素a进行处理时,针对搜索区域中的每个像素执行如以上针对参考像素c完成的对距离值的比较和确定。

在步骤24中,由图像滤波器使用在步骤22中计算的这些权重值修改选择的目标像素。例如,参照图3,目标像素a可以通过用搜索区域36的参考像素的加权平均替换其值而被修改以用于降噪。图像滤波器可以是利用基于目标像素值与参考像素值之间的差值的加权函数的任何类型的滤波器。

在步骤26中,确定在与选择的目标像素a相关联的施加块42中是否存在附加的像素。例如,确定施加块42是否包括除了目标像素a之外的附加像素。如果在施加块中不存在附加的像素,则处理移至步骤32。如果在施加块中存在附加的像素,则处理移至步骤28。

应当注意的是,图3至图6中示出的施加块42的尺寸和模式用于说明性目的。施加块可以包括作为目标块的一部分的任何数量的像素。例如,施加块42可以包括目标块38的任何数量的像素。在一个实施例中,施加块具有由选择的目标像素和紧紧地在该选择的目标像素右侧、左侧、上侧和下侧的多个像素组成的加号模式。在另一个实施例中,施加块是以选择的目标像素为中心的3x3的块。在进一步实施例中,施加块由与目标块相同的像素组成。在更进一步的实施例中,施加块由两个连续的像素组成,如像素a和a+1。

在步骤28中,在施加块中选择第二目标像素用于修改。例如,参照图4,在施加块42中选择第二目标像素a+1。施加块中的目标像素可以是随机地、逐行地、逐列地或以任何预定的顺序选择的。

在步骤30中,第二目标像素是使用原始目标像素的之前确定的权重值而被修改的。第二目标像素与第二参考像素集相关联。原始目标块与原始参考块之间的差值被认为是目标块的所有像素与参考块的相应像素之间的有效差值。例如,参照图4,以像素a为中心的目标块与以像素c为中心的参考块之间的差值也被认为是像素a+1与像素c+1之间的有效差值。因此,当修改施加块42中的第二目标像素时,在步骤22中确定的权重值可以再次用于第二参考像素集。

基于来自步骤18的第二目标像素相对于原始目标像素的位置针对第二参考像素集再次使用之前在步骤22中确定的权重值。具体地,之前从原始参考像素确定的权重值中的每个权重值被分配给参考像素(第二参考像素集)的相邻像素。第二参考像素相对于原始参考像素的位置与第二目标像素相对于原始目标像素的位置相同。换言之,之前确定的权重值按照与第二目标像素被从原始目标像素移位相同的方向和距离被移位至第二参考像素集。例如,参照图4,当选择的目标像素是像素a并且新目标像素是像素a+1时,对应于参考像素c的权重值被移位并且被分配给参考像素c+1。类似地,如在图5中示出的,当选择的目标像素是像素a并且新目标像素是像素b时,对应于参考像素c的权重值被分配给参考像素d;并且,如在图6中示出的,当选择的目标像素是像素a并且新目标像素是像素b+1时,对应于参考像素c的权重值被分配给参考像素d+1。

然后使用被分配给第二参考像素集的这些之前确定的权重值来修改第二目标像素。例如,类似于步骤24,第二目标像素可以通过用第二参考像素集的加权平均替换其值来降噪。因此,与在步骤20至步骤24中修改目标像素相比,不必针对第二目标像素的修改确定差值和权重值。

通过再次使用之前确定的权重值,有可能将输入图像划分成多个施加块并且针对属于同一施加块的所有像素使用相同的权重值。针对施加块中的每个像素使用相同的权重值减少了图像滤波器的加权函数的计算的总量。例如,参照图4至图6,针对目标像素a、针对a+1、b和b+1再次使用这些确定的权重值导致减少了因数4。类似地,3x3的施加块导致减少了因数9,并且2x1的块导致减少了因数2。因此,可以通过控制施加块的大小调整优化水平。

在步骤30之后,处理返回到步骤26以确定在所选择的目标像素的施加块中是否存在附加的像素。由此,重复步骤28至步骤30,直到施加块中的每个像素已经被修改。例如,重复步骤28至步骤30,直到像素a+1、b和b+1已经被经优化的图像滤波器修改。

在替代性实施例中,再次使用这些之前确定的差值而不是步骤30中的这些权重值。如之前讨论的,目标块与参考块之间的差值被认为是针对目标块的所有像素与参考块的各自相应的像素的有效差值。因此,类似于再次使用这些之前确定的权重值,针对新参考像素使用在步骤20中确定的这些之前确定的差值中的每个差值从而使得新参考像素相对于对应于之前确定的差值的参考像素的位置与新目标像素相对于所选择的目标像素的位置相同。换言之,之前确定的差值按照与新目标像素被从所选择的目标像素移位相同的方向和距离被移位至新参考像素集。例如,参照图4,当选择的目标像素是像素a并且新目标像素是像素a+1时,在像素a与参考像素c之间确定的差值被再次用作像素a+1与像素c+1之间的差值。类似于步骤22,通过再次使用之前确定的差值,可以在步骤30中使用新加权函数而不是之前确定的权重值来为新参考像素集确定新权重值。类似于步骤24,然后可以使用新权重值修改新目标像素。

返回到步骤26,如果在所选择的目标像素的施加块中不存在附加的像素,则处理移至步骤32。在步骤32中,确定在还未由图像滤波器滤波的输入图像中是否存在附加的像素。如果在输入图像中存在附加的未经滤波的图像像素,则处理返回至步骤18。如果在输入图像中不存在未经滤波的像素,则处理移至步骤34。

在步骤34中,图像滤波器已经完成处理并且经滤波的图像被提供。

应当注意的是,图1和图2中示出的每个块可以根据特定实施例酌情表示一个或多个块或者可以与其他块组合。

图7是示意图,展示了根据本文所披露的一个实施例用于实现经优化的图像滤波器的电子设备44的示例。电子设备44的非限制性示例包括数字照相机、移动电话、游戏设备、计算机、平板计算机、电视机或机顶盒。在一个实施例中,电子设备44包括处理单元46、存储器48、输入设备50、输出设备52和i/o接口54。应当注意的是,电子设备44可以包括除了图7中展示的那些之外的附加的功能性和部件。

处理单元46被配置成用于执行针对经优化的图像滤波器的处理。在一个实施例中,处理单元46是数字信号处理器。存储器48可以是非易失性存储器(如rom)、易失性存储器(如ram)或其组合。在一个实施例中,经优化的图像滤波器是在软件中实现的并且被存储在存储器48中。输入设备50和输出设备52可以包括由用户使用与电子设备44交互的设备。输入设备50的非限制性示例包括数字照相机的传感器,如cmos或ccd传感器;键盘;鼠标;按钮;以及触摸屏。输出设备52的非限制性示例包括显示器、电视机、计算机监视器和扬声器。i/o接口54被配置成用于发送并接收数据。例如,i/o接口54可以耦接于卫星天线、万维网或用于发送并接收多媒体内容的外部电子设备。

前述详细描述已经通过使用框图、示意图和示例阐述了这些设备和/或过程的各种实施例。在这些框图、示意图和示例包含一个或多个功能和/或操作的情况下,将由本领域的技术人员理解的是,在这些框图、流程图或示例内的每个功能和/或操作可以由各种各样的硬件、软件、固件、或实质上其任何组合单独地和/或共同地实现。在一个实施例中,可以经由专用集成电路(asic)实现本主题。然而,本领域技术人员将意识到,本文所披露的这些实施例可以整体地或部分地在标准集成电路中被等效地实现,作为在一个或多个计算机上运行的一个或多个计算机程序(例如,作为在一个或多个计算机系统上运行的一个或多个程序),作为在一个或多个控制器(例如,微控制器)上运行的一个或多个程序,作为在一个或多个处理器(例如,微处理器、数字信号处理器)上运行的一个或多个程序,作为固件,或者作为实质上其任何组合,并且意识到针对软件和/或固件设计电路和/或编写代码将鉴于本披露而很好地在本领域普通技术人员的能力之内。

本领域的技术人员将意识到,在此陈述的许多方法或算法可以采用附加的动作,可以省略某些动作,和/或可以按照与指定的不同的顺序执行动作。

此外,本领域的技术人员将认识到,在此教导的这些机制能够分布为各种形式的程序产品,并且认识到说明性实施例等效地应用而不管实际上用于执行该分布的物理信号承载介质的具体类型。信号承载介质的示例包括但不限于以下:如软盘、硬盘驱动器、cdrom、数字磁带和计算机存储器的可记录型介质。

上述各实施例可以被组合以提供进一步的实施例。如果有必要,可以对实施例的各方面进行修改,以采用各专利、申请和公开的概念来提供更进一步的实施例。

将理解的是,尽管出于说明的目的在此描述了本披露的多个特定的实施例,在不背离本披露的精神和范围的情况下可以进行各种修改。相应地,除所附权利要求书之外,本披露不受限制。

鉴于以上详细的描述,可以对这些实施例做出这些和其他改变。总之,在以下权利要求书中,所使用的术语不应当被解释为将权利要求书局限于本说明书和权利要求书中所披露的特定实施例,而是应当被解释为包括所有可能的实施例、连同这些权利要求有权获得的等效物的整个范围。相应地,权利要求书并不受本披露的限制。

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