法律状态公告日
法律状态信息
法律状态
2014-05-21
未缴年费专利权终止 IPC(主分类):G06T5/10 授权公告日:20030528 终止日期:20130330 申请日:19980330
专利权的终止
2003-05-28
授权
授权
1998-11-04
公开
公开
1998-10-14
实质审查请求的生效
实质审查请求的生效
本发明涉及到数据滤波,特别是涉及一种用于降低环状噪声的信号适应性滤波方法,以及适合这种方法的信号自适应滤波器。
一般来说,象国际标准化组织(ISO)的MPEG和国际电信联盟(ITU)推荐的H.263一类的图像编码标准是采用基于块的运动估算和块的离散余弦变换(DCT)。如果图像是高度压缩的,基于块的编码就可能造成阻塞效应和环状噪声(ringing noise)。典型的阻塞效应是在一个相邻象素具有比较小的象素值的均匀区域内出现的网格噪声(grod noise)。另一种阻塞效应是沿着图像的边沿产生的一种具有阶梯状的阶梯噪声。另外,在高度压缩的图像被量化时会造成DCT系数的舍位,由此引起的典型的Gibb现象就会造成环状噪声。环状噪声造成的问题是图像中的物体会显示成多个重叠的物体。
为了解决上述问题,本发明的目的是提供一种信号适应性滤波方法,用于减少在按照块对图像数据进行解码时在高度压缩的编码系统中造成的环状噪声,以及用于实现该方法的一种信号自适应滤波器。
本发明在一个方面提供了一种信号适应性滤波方法,用来减少图像数据的环状噪声,该方法包括以下步骤:(a)使用加权值均为(1,-1)的1×2大小的一维水平梯度算子和2×1大小的一维垂直梯度算子在各个象素上计算需要滤波的图像数据的梯度,并且将计算梯度的绝对值与一个预定的门限值相比较,从中产生一个二进制值(binary value);(b)按照逐个象素单元在具有预定大小的象素块上重复步骤(a),产生一个相对于整个块的二进制边沿图;(c)为产生的二进制边沿图提供一个预定大小的滤波器窗口,用来确定边沿是否出现在滤波器窗口中;(d)如果在所述步骤(c)中确定了没有出现边沿,就使用预定的第一加权值逐个象素地对相应滤波器窗口中的象素值进行滤波,以产生一个新的象素值;以及(e)如果在所述步骤(c)中确定出现了边沿,就使用预定的第二加权值逐个象素地对相应滤波器窗口中的象素值进行滤波,以产生一个新的象素值,其中如果位于滤波器窗口中心的象素代表了一个边沿,就不执行滤波。
步骤(a)还包括以下子步骤:(a1)用代表非边沿的信息(0)将滤波目标象素块的上部和左侧象素进行初始化;(a2)将关于图像中每个象素的梯度绝对值与预定的门限值相比较;以及(a3)如果绝对值大于门限值,就将对应的象素及其邻接的象素(在使用水平梯度算子时是左侧象素,在使用垂直梯度算子时是下部象素)确定为边沿,如果该绝对值小于或是等于门限值,就将其确定为非边沿,从中产生二进制值。
按照本发明的另一方面所提供的信号自适应滤波器包括:一个图像存储单元,用于暂存解压缩的图像数据;一个梯度运算单元,用于从图像存储单元接收图像数据,并且用加权值均为(1,-1)的1×2大小的一维水平梯度算子和2×1大小的一维垂直梯度算子在水平和垂直方向上计算图像数据的梯度;一个二进制边沿图发生器,用来将梯度运算单元在水平和垂直方向上完成梯度运算的象素单元中每个结果的绝对值与一个预定的门限值相比较,从中产生二进制边沿图(binary edge mape);一个滤波选择器,用于存储由二进制边沿图发生器提供的二进制边沿图,并且根据二进制边沿图将输入的图像数据划分成包括至少一个边沿信息的一个边沿区域以及一个没有边沿信息的均匀区域;一个平均滤波器,用于对被滤波选择器确定为均匀区域的滤波器窗口中的象素执行平均滤波,从中产生一个新的象素值;以及一个加权滤波器,采用一个预定的加权值对被滤波选择器确定为边沿区域的滤波器窗口中的象素执行加权滤波,从中产生一个新的象素值。
通过以下参照附图对最佳实施例的详细说明可以更清楚地看到本发明的上述目的及其优点,在附图中:
图1表示了按照本发明一个实施例的信号自适应滤波器的结构框图;
图2表示作为滤波目标的一个8×8象素大小的当前块(参考块);
图3A表示用于一个2-维3×3滤波器的滤波窗口;
图3B和3C用来表示3×3平均滤波器和3×3加权滤波器的加权示意图;
图4是一个示意图,表示3×3大小的二-维信号自适应滤波器;以及
图5是一个流程图,表示按照本发明最佳实施例的信号适应性滤波方法。
在图1中,按照本发明最佳实施例的信号自适应滤波器包括一个图像存储单元100,一个梯度运算单元110,一个二进制边沿图发生器120,一个滤波选择器130,一个平均滤波器140,以及一个加权滤波器150。图5是一个流程图,表示了本发明的信号适应性滤波方法。
图像存储单元100暂存含有环状噪声的解压缩图像数据,这种解压缩图像数据已经通过了例如运动估算和离散余弦变换(DCT)等等逆源编码处理(inverse surce encoding)。
梯度运算单元110在水平和垂直方向上使用一维梯度算子对存储在图像存储单元100中的图像数据执行一维梯度运算,从中找出边沿象素(步500)。一维梯度算子最好具有(1,-1)的加权值,并且包括用于水平方向梯度运算的一个1×2大小的水平梯度算子和用于垂直方向梯度运算的一个2×1大小的垂直梯度算子。
二进制边沿图发生器120产生关于滤波目标块的二进制边沿信息。也就是说,二进制边沿图发生器120将梯度运算单元110采用一维水平和垂直梯度算子执行梯度运算的结果的绝对值与一预定的门限值相比较(步510),并且产生二进制数据的结果(步515)。这些步骤是针对一个象素单元内的块的所有象素执行的,从而产生关于该块的二进制边沿图信息(步520)。
以下要详细说明梯度运算单元110和二进制边沿图发生器120的工作方式。图2表示了作为滤波目标的一个8×8大小的当前块(参考块)。图中的黑体线200代表参考块的垂直块边界,黑体线210代表参考块的水平块边界。被黑体线220和210包围的块220代表作为滤波目标的参考块,而被虚线包围的块230代表实际滤波的块。属于参考块220但却又不属于带虚线的块230的那些象素是在对以后的块滤波时被滤波的。
为了产生关于参考块的二进制边沿图信息,带虚线的块230的上部和左侧象素被初始化成“0”(此处的“0”代表非边沿象素)(步505)。然后将一维水平梯度算子算出的数值的绝对值与一个门限值相比较。如果量化级Q大于19,此处的门限值就设定为19,如果Q小于或等于19,就设定为Q。
根据比较的结果,如果绝对值大于门限值,相应的象素和与该相应的象素邻接的象素就被确定为边沿。否则,邻接的象素就被确定为非边沿。如果梯度运算是用水平一维梯度算子来执行的,这一邻接象素就是相应象素右侧的象素,如果梯度运算是由垂直一维梯度算子执行的,邻接象素就是相应象素下部的那个象素。
另一方面,二进制边沿图发生器120产生的二进制边沿图信息被划分成一个边沿区域和一个均匀区域。在这种分类中需要使用滤波选择器(filterselector)130。
滤波选择器130存储由二进制边沿图发生器120提供的二进制边沿图信息,并且选择一个滤波器用来对目标象素进行滤波。在本发明中采用适合3×3大小的滤波器窗口的平均滤波器140和加权滤波器150。因此,滤波选择器130中使用的滤波器窗口也是3×3大小的。
滤波选择器130根据3×3大小的滤波器窗口内的边沿信息来确定滤波器窗口所处的那一部分二进制边沿图是否属于边沿区域或是均匀区域(步525)。具体地说,滤波选择器130使用3×3大小的滤波器窗口为每个象素设定一个8×8大小的图像数据的滤波区域。然后检查该滤波区域内是否有代表边沿信息的象素。具有代表边沿信息的象素的滤波区域被称为“边沿区域”,而没有边沿信息的滤波区域被称为“均匀区域”。
如果一个滤波区域被确定为边沿区域,滤波选择器130就将起决定作用的滤波器窗口中的二进制边沿图信息和滤波器窗口内中心象素的位置数据输出到加权滤波器150。另外,滤波选择器130还要根据滤波器窗口内中心象素的位置数据来检查滤波器中的这一中心象素是否代表了边沿信息(步535)。如果该中心象素代表了边沿信息,就使用源输入图像数据的象素值,就好象没有滤波时一样(步540)。然而,如果中心象素并不代表边沿信息,就对输入的图像数据执行加权滤波(步545)。此时用一个通过滤波的新的值来代替滤波器窗口内中心象素的象素值。
如果滤波区域被确定为均匀区域,滤波选择器130就向用于平均滤波的平均滤波器140输出滤波器窗口内中心象素的位置数据(步530)。
图3A,3B和3C涉及到一个二维的3×3滤波器。具体地说,图3A表示用于3×3滤波器的一个滤波器窗口,图3B表示3×3平均滤波器的加权,而图3C表示一个3×3加权滤波器的加权。在图3A所示的滤波器窗口中,具有标号“5”的象素代表滤波器窗口中的中心象素。另外图4表示了3×3大小的二维信号自适应滤波器。
以下要详细说明平均滤波器154和加权滤波器156,它们都是二维的低通滤波器。
在输入中心象素的位置数据时,平均滤波器140从图像存储单元100中读出所需的象素值,用来计算中心象素的滤波后的象素值。然后,平均滤波器140就使用读出的象素值和图3B所示的加权来计算滤波后的象素值。算出的滤波后的象素值被用作中心象素的新的象素值。加权滤波器150根据滤波选择器130提供的二进制边沿图信息和中心象素的位置数据来执行滤波工作。
为了便于理解,以下要举例说明加权滤波器150的工作方式。如果标号为“5”的中心象素是一个边沿象素,加权滤波器150就不对中心象素执行滤波工作。如果在3×3滤波器窗口内存在一个边沿点(或多个边沿点),但却不是出现在中心象素上,加权滤波器150使用图3C所示的加权执行滤波工作。如果边沿点出现在图3A中标号为2和6,6和8,4和8或是2和4的点上,就将该边沿点及其外侧相邻的点的加权设定为“0”。然后由平均滤波器140或是加权滤波器150输出通过了信号自适应滤波处理的图像数据。
另一方面,在采用3×3大小的二维加权滤波器150进行滤波的过程中,可能产生包括一个浮点的浮点运算,这样会降低计算速度。为了解决这一问题,滤波器的加权值(滤波器系数)是可以改变的,例如将浮点运算转换成整数运算。转换成整数的计算是按以下方式执行的。在图3C所示的加权滤波器中,如果确定了滤波器的加权值,就将所有确定的加权值相加。
如果相加的和等于2,就在不改变滤波器系数的情况下执行滤波。如果这一和等于3,就将中心象素的加权值变成5,而将其他象素的加权值变成3。如果和等于4,就将中心象素的加权值变成2,并将其他象素的加权值变成1。如果和等于5,就将中心象素的加权值变成7,而将其他象素的加权值变成3。如果和等于6,就将中心象素的加权值变成4,而将其他象素的加权值变成3。如果和等于7,就将中心象素的加权值变成3,而将其他象素的加权值变成1。如果和等于8,就将中心象素的加权值变成4,并将其他象素的加权值变成2。如果和等于9,就将中心象素的加权值变成11,而将其他象素的加权值变成3。
根据经过上述滤波的图像数据就可以重新构成通过信号适应性滤波的图像数据的一个宏块(macroblock)。然后重复执行上述步骤就能对一帧图像实现信号适应性滤波(步550)。此时,受到滤波的块大小并不仅限于本发明的上述实施例。
按照本发明可以从基于块处理的图像中消除环状噪声。这样就能提高峰值信噪比(PSNR)和解压缩图像的质量。
机译: 用于阻塞效应和降低振铃噪声的信号自适应滤波方法和信号自适应滤波器
机译: 降低振铃噪声的信号自适应滤波方法和信号自适应滤波器
机译: 降低振铃噪声的信号自适应滤波器及滤波方法