信号自适应滤波方法,信号自适应滤波器及其存储程序的计算机可读介质的制作方法

文档序号:6415729阅读:185来源:国知局
专利名称:信号自适应滤波方法,信号自适应滤波器及其存储程序的计算机可读介质的制作方法
技术领域
本发明涉及数据滤波,尤其涉及减少分块效应(blocking effect)和振铃噪声的信号自适应滤波方法、信号自适应滤波器和存储其程序的计算机可读介质。
背景技术
通常,图像编码标准诸如国际标准化组织(ISO)的MPEG和由国际电信联盟(ITU)推荐的H.263采用基于块的运动估计及离散余弦变换(DCT)块。当一图像被高度压缩时,基于块的编码可能引起公知的分块效应。一种典型的分块效应是均匀区域中的网格噪声(grid noise),该均匀区域中相邻像素具有相对类似的像素值。另一个分块效应是阶梯噪声(staircase noise),该阶梯噪声具有阶梯形状,并且沿着图像的边缘产生。此外,振铃噪声是当量化DCT的系数以便高度压缩该图像时,由舍余产生的典型Gibb(吉伯斯)现象。
当压缩数据在恢复后显示在屏幕上时,网格噪声在块之间的边缘处表现出基于块处理的痕迹。于是,人们能够识别块之间的边缘。此外,阶梯噪声在图像的边缘具有阶梯形状,使得人们能够注意到图像上的凹凸不平的边缘。此外,人们能够注意到由于振铃噪声具有预定间隔的图像叠加。
为了减少当执行基于块的编码时产生的分块效应和振铃噪声,已经提出了几种方法。按照H.261编码,将简单的3×3低通滤波器(LPF)用作环路滤波器,以减少分块效应[“以P×62kbit/s的音视频服务的视频编解码器(VideoCodec for Audiovisual Services at P×62kbits/s),CCITT推荐书H.261,1990年12月14日”]。此外,已经提出了一种简单的边缘环路滤波器,以减少分块效应和蚊式噪声[G.Bjontegaard的“减少分块和蚊式噪声的简单边缘环路滤波器(a simple Edge Loop Filter to reduce Blocking and MosquitoNoise)”,ISO/IEC JEC1/Sc29/WG11 MPEG96/0617,1996年1月,及“减少分块和蚊式噪声的简单边缘环路滤波器(a simple Edge Loop Filter to reduceBlocking and Mosquito Noise”,ITU SC15 LBC专家组ITU-LBC-96-032,1996年1月]。边缘环路滤波器产生与块边缘相邻的两个像素的线性值,并且由线性化的值替换两个像素值。这种边缘环路滤波器能够减少分块效应,但不能减少振铃噪声。为了减少振铃噪声,已建议使用二进制索引(index)的非线性滤波器[Y.Itoh的“使用二进制索引的细节保持非线性滤波器(DetailPreserving Nonlinear Filter using Binary Index)”,ISO/IEC JTC1/SC29/WG11MPEG95/0357,1995年11月]。但是,非线性滤波器不能减少分块效应。
本发明的公开为了解决上述问题,本发明的目的是提供一种减少高度压缩编码中的分块效应和振铃噪声的信号自适应滤波方法,及提供一种信号自适应滤波器和计算机可读介质。
按照本发明的一个方面,提供了一种信号自适应滤波方法,当一帧由预定大小的块组成时,该方法能够减少图像数据的分块效应和振铃噪声,该方法包括下列步骤(a)当分解用于逆量化的位流图像数据获得的帧是一帧内(intraframe)时,从数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息;和(b)按照产生的分块信息和振铃信息,自适应滤波经过逆量化和逆离散余弦变换的图像数据。
最好是,步骤(a)还包括步骤如果该帧是帧间(interframe),将对应于一运动矢量的先前帧的分块信息和振铃信息设定为当前帧的分块信息和振铃信息,并且如果逆量化的当前块的残留信号存在,将振铃信息设定到“1”,这表示需要对图像数据进行滤波,并且按照位于该块左上角的像素A、位于像素A右边的像素B、位于像素A下面的像素C的系数,确定分块信息和振铃信息。
最好是,分块信息由水平分块信息和垂直分块信息组成,并且当仅像素A的系数不等于“0”或该块的左边界区域的像素的任何系数不等于“0”时,水平分块信息设定到“1”,这表示需要对该图像数据进行滤波,并且当仅像素A的系数不等于“0”或该块的上边界区域的像素的任何系数不等于“0”时,垂直分块信息设定到“1”,这表示需要对该图像数据进行滤波,以及当该块的除像素A、B和C以外的像素的任何系数不等于“0”时,振铃信息设定到“1”,这表示需要对该图像数据进行滤波。
最好是,分块信息由水平分块信息和垂直分块信息组成,并且当该块的像素A、B和C的所有系数不等于“0”或该块的左边界区域的像素的任何系数不等于“0”时,水平分块信息设定到“1”,这表示需要对该图像数据进行滤波,而当像素A、B和C的所有系数不等于“0”或该块的上边界区域的像素的任何系数不等于“0”时,垂直分块信息设定到“1”,这表示需要对该图像数据进行滤波,以及当该块的除像素A、B和C以外的像素的任何系数不等于“0”时,振铃信息设定到“1”,这表示需要对该图像数据进行滤波。
最好是,为了减少分块效应,在步骤(b)中,当该块的水平(或垂直)分块信息等于“1”并且振铃信息等于“0”时,使用具有预定加权值的加权滤波器,执行水平(或垂直)滤波,并且当该块的水平(或垂直)分块信息不等于“1”或振铃信息不等于“0”时,将相邻像素之间差值的绝对值和用作量化该块的被除数的Q值进行比较,然后按照比较结果,用预定值执行滤波。
按照本发明的另一个方面,提供了一种信号自适应滤波器,当一帧由预定大小的块组成时,该滤波器能够减少图像数据的分块效应和振铃噪声,该方法包括模式标志检验单元,用于检验一标志,以确定当分解用于逆量化的位流图像数据时,一帧是帧内还是帧间;内滤波(intra filtering)信息产生器,当该帧由模式标志检验单元确定为帧内时,从该数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息;间滤波(inter filtering)信息产生器,如果该帧是帧间,则将对应于一运动矢量的先前帧的分块信息和振铃信息设定为当前帧的分块信息和振铃信息,并且如果逆量化的当前块的残留信号存在,则设定振铃信息为“1”;及自适应滤波器,用于按照由内滤波信息产生器和间滤波信息产生器产生的分块信息和振铃信息,自适应滤波经过逆量化器和逆离散余弦变换器的图像数据。
本发明可以在一般用途数字计算机中实施,该一般用途数字计算机运行来自计算机可用介质的程序,该计算机可用介质包括但不限于诸如磁存储介质(例如,ROM、磁盘、硬盘等)、光可读介质(例如CD-ROM、DVD等)和载波(例如,经因特网的传输)的存储介质。因此,本发明可以作为计算机可用介质被实施。
按照本发明的另一方面,提供了一种计算机可读介质,在该介质上具有一信号自适应滤波的计算机程序,当一帧由预定大小的块组成时,该信号自适应滤波能够减少图像数据的分块效应和振铃噪声,其中信号自适应滤波包括下列步骤(a)当分解用于逆量化的位流图像数据获得的帧是一帧内时,从数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息;(b)如果该帧是帧间,则将对应于一运动矢量的先前帧的分块信息和振铃信息设定为当前帧的分块信息和振铃信息,并且如果逆量化的当前块的残留信号存在,则设定振铃信息为“1”,这表示需要对该图像数据进行滤波;和(c)按照产生的分块信息和振铃信息,自适应滤波基于块的、经过逆量化和逆离散余弦变换的图像数据。
此外,提供了一种计算机可读介质,在该介质上包括一计算机程序,该计算机程序用于滤波当解码基于块的压缩图像数据时引起的振铃噪声的方法,其中该振铃噪声滤波方法包括下列步骤(a)使用预定的一维水平和垂直梯度算子,对经过逆量化和逆离散余弦变换的块执行梯度运算;(b)使用一个像素的梯度运算值和相邻像素的值之间的差值的绝对值,和用作量化该块的被除数的Q值,产生表示每个像素是否是边缘像素的二进制边缘映射(map);和(c)通过将预定滤波器窗应用到所产生的二进制边缘映射,执行滤波。
附图简述

图1是按照本发明的、用于减少分块效应和振铃噪声的信号自适应滤波器的方框图;图2是按照本发明优选实施例的、信号自适应滤波方法的流程图;图3示出了具有8×8像素的逆量化块;图4是产生用来对帧内滤波的信息的步骤流程图;图5是产生用来对帧间滤波的信息的步骤流程图;图6示出了与块边界相邻的像素的位置,用于图示减少分块效应的滤波;和图7示出了要在当前块中处理的像素的位置。
实施本发明的最佳方式在图1中,按照本发明的用于减少分块效应和振铃噪声的信号自适应滤波器包括模式标志检验单元120、内滤波信息产生器130、间滤波信息产生器140和自适应滤波器单元150。当分解用于逆量化的位流图像数据时,模式标志检验单元120检验该帧是帧内还是帧间。当该帧由模式标志检验单元120确定为帧内时,滤波信息产生器130从数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和振铃信息。当模式标志检验单元120确定该帧为帧间时,间滤波信息产生器140产生对应于一运动矢量的先前帧的分块信息和振铃信息,作为当前帧的分块信息和振铃信息。如果逆量化的当前块的残留信号存在,则振铃信息设定为“1”。按照由内滤波信息产生器130和间滤波信息产生器140产生的分块信息和振铃信息,自适应地对已经经过逆量化器(Q-1)100和逆离散余弦变换器(DCT-1)110的该块的图像数据进行滤波。
同时,将描述按照本发明优选实施例的信号自适应滤波方法。图2是按照本发明的信号自适应滤波方法的流程图。由编码器编码的位流图像数据由解码器解码以被再现。为此,该位流数据由逆量化器100分解,然后量化(步骤200)。在此,图像数据由多个帧构成,并且每个帧由多个块组成。图3示出了形成帧的具有8×8像素的逆量化块。
在滤波用离散余弦变换(IDCT)的帧数据之前,检验一标志,以便确定该帧是帧内还是帧间(步骤210)。如果该帧是帧内(步骤220),产生用来滤波该帧内的信息(步骤230)。如果该帧是帧间,则产生用来滤波该帧间的信息(步骤240)。然后,按照产生的滤波信息,自适应滤波已经通过IDCT 110的帧数据,由此消除分块效应和振铃噪声(步骤250)。
图4是产生用来对帧内滤波的信息的详细步骤流程图。如图4所示,如果该帧由模式标志检验单元120确定为帧内,则检验图3的像素A的系数(步骤400)。如果只有像素A的系数不等于“0”,则水平分块信息(HBI)和垂直分块信息(VBI)设定为“1”(步骤410)。如果属于图3所示块的上边界区域300的像素(包括像素A和B的8个像素)的任何系数不等于“0”(步骤420),则VBI设定到“1”(步骤430)。否则,VBI设定到“0”(步骤440)。此外,如果属于图3所示块的左边界区域310的像素(包括像素A和C的8个像素)的任何系数不等于“0”(步骤450),则HBI设定到“1”(步骤460)。否则,HBI设定到“0”(步骤470)。
设定HBI和VBI之后,产生用来对振铃噪声滤波的振铃信息(RI)。即,如果示于图3的块的除像素A、B和C以外的像素的任何系数不等于“0”(步骤480),则RI设定到“1”(步骤490)。否则,RI设定到“0”(步骤495)。在此,当只有像素A的系数不等于“0”时,HBI和VBI设定到“1”(步骤400)。然而,若即使当像素A、B和C的所有系数不等于“0”仍设定HBI和VBI为“1”,则当后面执行信号自适应滤波时,也能够获得一定程度上的有利效应。
图5是产生用来对帧间滤波的信息的步骤流程图。如果该帧由模式标志检验单元120确定为帧间,则按照运动矢量,帧内的HBI、VBI和RI转换成帧间的HBI、VBI和RI(步骤500)。此外,如果运动补偿之后存在残留信号(步骤510),则更新RI(步骤520)。
当如上所述产生用于滤波的分块信息和振铃信息时,按照该信息自适应地执行滤波。首先,将描述用于减少分块效应的滤波方法。减少分块效应的滤波分类为水平滤波和垂直滤波。在此,将解释水平滤波。图6示出了与块边界相邻的像素的位置,用于图示减少块效应的滤波。确定图6的块I和J的HBI和RI是否等于“0”。如果图6的块I和J的HBI和RI等于“0”,则使用7抽头(1,1,1,2,1,1,1)低通滤波器(LPT),对图6的像素A、B、C、D、E和F执行加权滤波。
如果图6的块I和J的HBI或R不等于“0”,则使用下列算法对像素B、C、D和E执行滤波。
<pre listing-type="program-listing"><![CDATA[d=D-C;If(ABS(d)≤Q){ D=D-(d/2);C=C+(d/2); d=E-D; if(ABS(d)≤Q)E=E-(d/4); d=C-B; if(ABS(d)≤Q)B=B+(d/4);}else{ if(ABS(d/2)≤2Q); If(d>0){D=D-(Q-ABS(d/2));C=C+(Q-ABS(d/2));}else{D=D+(Q-ABS(d/2));C=C+(Q-ABS(d/2));}d=E-D;if(ABS(d)≤Q)E=E-(d/4);d=C-B;if(ABS(d)≤Q)B=B-(d/4); }}]]></pre>在上述算法中,ABS表示绝对值,Q表示当构成帧的块被量化时,使用的被除数。
详细地说,像素D和C之间的差值(d)的绝对值(ABS(d))等于或小于Q,通过从当前像素值减去d/2来设定像素D的当前像素值,并且通过向当前像素值加上d/2来设定像素C的当前像素值。此外,像素E和D之间的差值(d)的绝对值(ABS(d))等于或小于Q,通过从当前像素值减去d/4来设定各像素的当前像素值。此外,像素C和B之间的差值(d)的绝对值(ABS(d))等于或小于Q,则通过从当前像素值减去d/4设定像素B的当前像素值。用与上述相同的方式,按照除上述算法以外的其它算法,设定像素B、C、D和E的像素值,这些其它算法对本领域技术人员是熟知的,所以略去对其解释。此外,按照与水平滤波相同的原理执行垂直滤波。
下面,将描述用于减少振铃噪声的滤波方法。首先,检验产生的振铃信息。如果振铃信息设定到“1”,则执行滤波。否则,不执行滤波。为此,确定已经经过逆量化和IDCT的块的边缘像素。为了确定边缘像素,使用一维水平和垂直梯度算子,对已经经过逆量化和IDCT的块执行梯度运算。
然后,采用一个梯度运算像素值和相邻像素值之间的差值的绝对值、当量化该块时作为被除数的Q值,来产生表示每个像素的边缘的二进制边缘映射。在此,该块具有8×8像素,并且二进制边缘映射的大小被表示为二维阵列边缘[10][10],如图7所示。
为了产生二进制边缘映射,执行垂直边缘检测和水平边缘检测。用于垂直边缘和水平边缘检测的算法如下<pre listing-type="program-listing"><![CDATA[/* Vertical edge detection(垂直边缘检测)*/A1=ABS(PtrImage
-PtrImage[1]);A2=ABS(Ptrlmage
-PtrImage[-1]);if(((A1>Th)&amp;&amp;(A2>Th))‖(A1>5*Th/2)‖(A2)>5*Th/2)) Edge[m][n]=1;/* edge(边缘)*/else{/*Horizontal edge detection(水平边缘检测)*/ A′1=ABS(PtrImage
-PtrImage[width(宽度)]); A′2=(ABS(PtrImage
-PtrImage[-width]); if(((A′1>Th)&amp;&amp;(A′2>Th))‖(A′1>5*Th/2)‖(A′2)>5*Th/2)) Edge[m][n]=1;/*edge*/}]]></pre>对于垂直边缘检测,计算像素(PtrImage
)的梯度运算结果和像素(PtrImage
)的右边像素(PtrImage[1])之间差值的绝对值(A1),其中对该像素是否是该块的边缘进行确定。然后计算PtrImage
的梯度运算结果和像素(PtrImage
)的左边像素(PtrImage[-1])之间差值的绝对值(A2)。然后按照绝对值A1和A2与预定阈值Th比较之后获得的逻辑值,进行对该像素是否是边缘的确定,然后对该块的所有像素执行上述处理。按照(A1>Th)&amp;&amp;(A2>Th)‖(A1>5*Th/2)‖(A2)>5*Th/2)的逻辑公式,执行垂直边缘检测。如果该逻辑公式为真,则该像素被确定为垂直边缘。否则,该像素被确定为不是垂直边缘。
按照与水平边缘检测相同的原理,执行水平边缘检测。首先,计算像素(PtrImage
)的梯度运算结果和像素(PtrImage
)下面的像素(PtrImage[width])之间差值的绝对值(A’1),其中对该像素是否是该块的边缘进行确定。然后计算像素PtrImage
的梯度运算结果和像素(PtrImage
)上面的像素(PtrImage[-width])之间差值的绝对值(A’2)。然后按照绝对值A’1和A’2与预定阈值Th比较之后获得的逻辑值,进行对该像素是否是边缘的确定,然后对该块的所有像素执行上述处理。按照(A’1>Th)&amp;&amp;(A’2>Th)‖(A’1>5*Th/2)‖(A’2)>5*Th/2)的逻辑公式,执行水平边缘检测。如果该逻辑公式为真,则该像素被确定为水平边缘。否则,该像素被确定为不是水平边缘。在此,‘&amp;&amp;’表示逻辑“与”,而‘‖’表示逻辑“或”。
下面,通过将预定滤波器窗应用到产生的二进制边缘映射,执行滤波。可通过应用具有预定大小的滤波器窗的通常滤波方法,来执行滤波。然而,在此实施例中,如果滤波窗的中心像素是边缘,则不执行滤波,而如果中心像素不是边缘,则执行滤波。滤波器窗可以是通常的滤波器窗。在此实施例中,使用图7所示的具有五个像素的4连通(4-connectivity)滤波器窗,该五个像素排列在以一个中心像素为中心的十字形中。在图7中,X表示边缘像素,不是具有“X”区域的其它区域表示非边缘像素。
此外,如果滤波器窗没有边缘像素,则执行普通滤波,而如果存在边缘像素,则执行加权滤波。在图7中示出了加权滤波的例子。在图7中,“<<”表示向左移动,并且“>>”表示向右移动。
本发明可以在一般用途数字计算机中实施,该一般用途数字计算机运行来自计算机可用介质的程序,该计算机可用介质包括但不限于诸如磁存储介质(例如,ROM、磁盘、硬盘等)、光可读介质(例如CD-ROM、DVD等)和载波(例如,经互联网的传输)的存储介质。因此,本发明可以体现为计算机可用介质,该计算机可用介质具有用于信号自适应滤波的包括于其中的计算机可读程序代码单元,在计算机可用介质中的计算机可读程序代码装置例如包括当分解用于逆量化的位流图像数据获得的帧是一帧内时,使计算机从数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息的计算机可读程序代码装置;如果该帧是帧间,则使计算机将对应于一运动矢量的先前帧的分块信息和振铃信息设定为当前帧的分块信息和振铃信息,并且如果逆量化的当前块的残留信号存在,则设定振铃信息为需要对该图像数据进行滤波的“1”的计算机可读程序代码装置;用于使计算机按照产生的分块信息和振铃信息,自适应滤波基于块的、经过逆量化和逆离散余弦变换的图像数据的计算机可读程序代码装置。由熟练的计算机程序员从所包含的本发明的描述中,可以导出用来实现本发明的操作程序、代码和代码段。
工业应用性如上所述,本发明能够从由基于块压缩的图像恢复的图像中去除分块噪声和振铃噪声,由此改善从压缩恢复的图像。
权利要求
1.一种信号自适应滤波方法,当一帧由预定大小的块组成时,该方法能够减少图像数据的块效应和振铃噪声,该方法包括下列步骤(a)当分解用于逆量化的位流图像数据获得的帧是一帧内时,从数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息;和(b)按照产生的分块信息和振铃信息,自适应滤波经过逆量化和逆离散余弦变换的图像数据。
2.如权利要求1所述的方法,其中,步骤(a)还包括如下步骤如果该帧是帧间,则将对应于一运动矢量的先前帧的分块信息和振铃信息设定为当前帧的分块信息和振铃信息,并且如果逆量化的当前块的残留信号存在,则将振铃信息设定到“1”,这表示需要对图像数据进行滤波。
3.如权利要求2所述的方法,其中,按照位于该块左上角的像素A、位于像素A右边的像素B、位于像素A下面的像素C的系数,确定分块信息和振铃信息。
4.如权利要求3所述的方法,其中,分块信息由水平分块信息和垂直分块信息组成,并且当仅像素A的系数不等于“0”或该块的左边界区域的像素的任何系数不等于“0”时,水平分块信息设定到“1”,这表示需要对该图像数据进行滤波,并且当仅像素A的系数不等于“0”或该块的上边界区域的像素的任何系数不等于“0”时,垂直分块信息设定到“1”,这表示需要对该图像数据进行滤波,以及当该块的除像素A、B和C以外的像素的任何系数不等于“0”时,振铃信息设定到“1,这表示需要对该图像数据进行滤波。
5.如权利要求3所述的方法,其中,分块信息由水平分块信息和垂直分块信息组成,并且当该块的像素A、B和C的所有系数不等于“0”或该块的左边界区域的像素的任何系数不等于“0”时,水平分块信息设定到“1”,这表示需要对该图像数据进行滤波,而当像素A、B和C的所有系数不等于“0”或该块的上边界区域的像素的任何系数不等于“0”时,垂直分块信息设定到“1”,这表示需要对该图像数据进行滤波,以及当该块的除像素A、B和C以外的像素的任何系数不等于“0”时,振铃信息设定到“1”,这表示需要对该图像数据进行滤波。
6.如权利要求4或5所述的方法,其中,为了减少分块效应,在步骤(b)中,当该块的水平分块信息等于“1”并且振铃信息等于“0”时,使用具有预定加权值的加权滤波器,执行水平滤波,并且当该块的水平分块信息不等于“1”或振铃信息不等于“0”时,将相邻像素之间差值的绝对值和用作量化该块的被除数的Q值进行比较,然后按照比较结果,用预定值执行滤波。
7.如权利要求4或5所述的方法,其中,为了减少分块效应,在步骤(b)中,当该块的垂直分块信息等于“1”并且振铃信息等于“0”时,使用具有预定加权值的加权滤波器,执行垂直滤波,并且当该块的垂直分块信息不等于“1”或振铃信息不等于“0”时,将相邻像素之间差值的绝对值和用作量化该块的被除数的Q值进行比较,然后按照比较结果,用预定值执行滤波。
8.如权利要求6所述的方法,其中,假定所述块具有8×8像素的大小,并且以该块的边界为中心的1×6窗口的像素是p1、p2、p3、p4、p5和p6,为了减少分块效应,当该块的水平分块信息等于“1”,并且振铃信息等于“0”时,使用具有加权值(1,1,1,2,1,1,1)的加权滤波器,对沿着该块的左垂直边界的像素p1、p2、p3、p4、p5和p6执行滤波,并且当该块的水平分块信息不等于“1”,或振铃信息不等于“0”时,按照下列算法对像素p2、p3、p4和p5执行滤波<![CDATA[d=p4-p3;If(ABS(d)≤Q){ p4=p4-(d/2);p3=P3+(d/2);d=p5-p4;if(ABS(d)≤Q) p5=p5-(d/4);d=p3-p2;if(ABS(d)≤Q) p2=p2+(d/4);}else{ if(ABS(d)≤2Q)If(d>0){p4=p4-(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2)); } else{ p4=p4+(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2)); } d=p5-p4; if(ABS(d)≤Q) p5=p5-(d/4); d=p3-p2; if(ABS(d)≤Q) p2=p2-(d/4);}}]]>其中Q是用于量化该块的被除数,ABS表示绝对值,和“=”表示等式的右边的值被左边的值替换。
9.如权利要求7所述的方法,其中,假定所述块具有8×8的大小,并且以该块的边界为中心的6×1窗口的像素是p1、p2、p3、p4、p5和p6,为了减少分块效应,当该块的水平分块信息等于“1”,并且振铃信息等于“0”时,使用具有加权值(1,1,1,2,1,1,1)的加权滤波器,对沿着该块的上水平边界的像素p1、p2、p3、p4、p5和p6执行滤波,并且当该块的垂直分块信息不等于“1”,或振铃信息不等于“0”时,按照下列算法对像素p2、p3、p4和p5执行滤波<![CDATA[d=p4-p3;If(ABS(d)≤Q){p4=p4-(d/2);p3=P3+(d/2);d=p5-p4;if(ABS(d)≤Q) p5=p5-(d/4);d=p3-p2;if(ABS(d)≤Q) p2=p2+(d/4);}else {if(ABS(d)≤2Q) If(d>0){ p4=p4-(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2)); } else{ p4=p4+(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2)); } d=p5-p4; if(ABS(d)≤Q) p5=p5-(d/4); d=p3-p2; if(ABS(d)≤Q) p2=p2-(d/4);}}]]>其中Q是用于量化该块的被除数,ABS表示绝对值,和“=”表示等式的右边的值被左边的值替换。
10.如权利要求6或7所述的方法,其中,为了减少振铃噪声,该方法还包括如下步骤如果所述振铃信息设定到“1”,则检验振铃信息并且执行预定滤波,并且如果所述振铃信息不设定到“1”,则省略滤波。
11.如权利要求10所述的方法,其中,所述预定滤波包括下列步骤(x)使用预定的一维水平和垂直梯度算子,对已经经过逆量化和逆离散余弦变换的块执行梯度运算;(y)使用一个像素的梯度运算值和相邻像素值之间的差值的绝对值和量化该块时用作被除数的Q值,产生表示每个像素是否是边缘像素的二进制边缘映射(map);和(z)通过将预定滤波器窗应用到产生的二进制边缘映射,执行滤波。
12.如权利要求11所述的方法,其中步骤(y)包括垂直边缘检测步骤(y1)和水平边缘检测步骤(y2),并且步骤(y1)包括下列子步骤(y11)计算对于像素P1的梯度运算值和像素P1的右边像素之间差值的绝对值A1,其中已经确定像素P1是否是边缘像素;(y12)计算对于像素P1的梯度运算值和像素P1的左边像素之间差值的绝对值A2;(y13)比较绝对值A1和A2与预定阈值Th,并且按照比较结果的逻辑值,确定像素P1是否是垂直边缘像素;和(y14)对该块的所有像素执行上述子步骤(y11)到(y13)的处理,并且步骤y2包括下列子步骤(y21)计算对于像素P1的梯度运算值和像素P1下面的像素之间差值的绝对值A’1,其中已经确定像素P1是否是该块的边缘像素;(y22)计算对于像素P1的梯度运算值和像素P1上面的像素之间差值的绝对值A’2;(y23)比较绝对值A’1和A’2与预定阈值Th,并且按照比较结果的逻辑值,确定该像素P1是水平边缘像素;和(y24)对该块的所有像素执行上述子步骤(y21)到(y23)。
13.如权利要求12所述的方法,其中在子步骤(y13)中,如果(A1>Th)&amp;&amp;(A2>Th)‖(A1>5*Th/2)‖(A2)>5*Th/2)的逻辑公式为真,则该像素P1确定为边缘像素,而如果该逻辑公式为假,则该像素P1确定为非边缘像素,并且在子步骤(y23)中,如果(A’1>Th)&amp;&amp;(A’2>Th)‖(A’1>5*Th/2)‖(A’2)>5*Th/2)的逻辑公式为真,则像素P1被确定为边缘像素,如果该逻辑公式为假,则像素P1确定为非边缘像素,在此,上述逻辑公式的&amp;&amp;表示“与”运算,而‖表示“或”运算。
14.如权利要求11所述的方法,其中在步骤(z)中,在将具有预定大小的滤波器窗应用到产生的二进制边缘之后,如果该滤波器窗的中心像素是边缘像素,则不执行滤波,而如果该中心像素是非边缘像素,则执行滤波,并且如果该滤波器窗没有边缘像素,则执行平均滤波,如果该滤波器窗具有边缘像素,则执行加权滤波。
15.一种对当解码基于块压缩的图像数据时产生的振铃噪声进行滤波的方法,所述方法包括下列步骤(a)使用预定的一维水平和垂直梯度算子,对经过逆量化和逆离散余弦变换的块执行梯度运算;(b)使用一个像素的梯度运算值和相邻像素值之间的差值的绝对值和量化该块时用作被除数的Q值,产生表示每个像素是否是边缘像素的二进制边缘映射;和(c)通过将预定滤波器窗应用到产生的二进制边缘映射,执行滤波。
16.如权利要求15所述的方法,其中步骤(y)包括垂直边缘检测步骤(y1)和水平边缘检测步骤(y2),并且步骤(y1)包括下列子步骤(y11)计算对于像素P1的梯度运算值和像素P1的右边像素之间差值的绝对值A1,其中已经确定像素P1是否是边缘像素;(y12)计算对于像素P1的梯度运算值和像素P1的左边像素之间差值的绝对值A2;(y13)比较绝对值A1和A2与预定阈值Th,并且按照比较结果的逻辑值,确定像素P1是否是垂直边缘像素;和(y14)对该块的所有像素执行上述子步骤(y11)到(y13)的处理,并且步骤y2包括下列子步骤(y21)计算对于像素P1的梯度运算值和像素P1下面的像素之间差值的绝对值A’1,其中已经确定像素P1是否是该块的边缘像素;(y22)计算对于像素P1的梯度运算值和像素P1上面的像素之间差值的绝对值A’2;(y23)比较绝对值A’1和A’2与预定阈值Th,并且按照比较结果的逻辑值,确定该像素P1是水平边缘像素;和(y24)对该块的所有像素执行上述子步骤(y21)到(y23)。
17.如权利要求16所述的方法,其中在子步骤(y13)中,如果(A1>Th)&amp;&amp;(A2>Th)‖(A1>5*Th/2)‖(A2)>5*Th/2)的逻辑公式为真,则该像素P1确定为边缘像素,而如果该逻辑公式为假,则该像素P1确定为非边缘像素,并且在子步骤(y23)中,如果(A’1>Th)&amp;&amp;(A’2>Th)‖(A’1>5*Th/2)‖(A’2)>5*Th/2)的逻辑公式为真,则像素P1被确定为边缘像素,如果该逻辑公式为假,则像素P1确定为非边缘像素,在此,上述逻辑公式的&amp;&amp;表示“与”运算,而‖表示“或”运算。
18.如权利要求15所述的方法,其中在步骤(z)中,在将具有预定大小的滤波器窗应用到产生的二进制边缘之后,如果该滤波器窗的中心像素是边缘像素,则不执行滤波,而如果该中心像素是非边缘像素,则执行滤波,并且如果该滤波器窗没有边缘像素,则执行平均滤波,如果该滤波器窗具有边缘像素,则执行加权滤波。
19.一种信号自适应滤波器,当一帧由预定大小的块组成时,该滤波器能够减少图像数据的分块效应和振铃噪声,该信号自适应滤波器包括模式标志检验单元,用于检验一标志,以确定当分解用于逆量化的位流图像数据时,一帧是帧内还是帧间;内滤波(intra filtering)信息产生器,当该帧由模式标志检验单元确定为帧内时,从该数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息;间滤波(inter filtering)信息产生器,如果该帧是帧间,则将对应于一运动矢量的先前帧的分块信息和振铃信息设定为当前帧的分块信息和振铃信息,并且如果逆量化的当前块的残留信号存在,则设定振铃信息为“1”;自适应滤波器,用于按照由内滤波信息产生器和间滤波信息产生器产生的分块信息和振铃信息,自适应滤波已经过逆量化器和逆离散余弦变换器的图像数据。
20.如权利要求19所述的信号自适应滤波器,其中,所述自适应滤波器按照分块信息和振铃信息,执行加权滤波或平均滤波,或不执行滤波。
21.一种计算机可读介质,在该介质上包含用于信号自适应滤波的计算机程序,当一帧由预定大小的块组成时,该信号自适应滤波能够减少图像数据的分块效应和振铃噪声,其中信号自适应滤波包括下列步骤(a)当分解用于逆量化的位流图像数据获得的帧是一帧内时,从数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息;(b)如果该帧是帧间,则将对应于一运动矢量的先前帧的分块信息和振铃信息设定为当前帧的分块信息和振铃信息,并且如果逆量化的当前块的残留信号存在,则设定振铃信息为“1”,这表示需要对该图像数据进行滤波;和(c)按照产生的分块信息和振铃信息,自适应滤波基于块的、经过逆量化和逆离散余弦变换的图像数据。
22.如权利要求21所述的计算机可读介质,其中,假定像素A位于该块左上角、像素B位于像素A右边、像素C位于像素A下面,分块信息由水平分块信息和垂直分块信息组成,并且当仅像素A的系数不等于“0”或该块的左边界区域的像素的任何系数不等于“0”时,水平分块信息设定到“1”,这表示需要对该图像数据进行滤波,并且当仅像素A的系数不等于“0”或该块的上边界区域的像素的任何系数不等于“0”时,垂直分块信息设定到“1”,这表示需要对该图像数据进行滤波,以及当该块的除像素A、B和C以外的像素的任何系数不等于“0”时,振铃信息设定到“1”,这表示需要对该图像数据进行滤波。
23.如权利要求21所述的计算机可读介质,其中,假定像素A位于该块左上角、像素B位于像素A右边、像素C位于像素A下面,分块信息由水平分块信息和垂直分块信息组成,并且当该块的像素A、B和C的所有系数不等于“0”或该块的左边界区域的像素的任何系数不等于“0”时,水平分块信息设定到“1”,这表示需要对该图像数据进行滤波,而当像素A、B和C的所有系数不等于“0”或该块的上边界区域的像素的任何系数不等于“0”时,垂直分块信息设定到“1”,这表示需要对该图像数据进行滤波,以及当该块的除像素A、B和C以外的像素的任何系数不等于“0”时,振铃信息设定到“1”,这表示需要对该图像数据进行滤波。
24.如权利要求22或23所述的计算机可读介质,其中,为了减少分块效应,在步骤(c)中,当该块的分块信息等于“1”并且振铃信息等于“0”时,使用具有预定加权值的加权滤波器,执行滤波,并且当该块的分块信息不等于“1”或振铃信息不等于“0”时,将相邻像素之间差值的绝对值和用作量化该块的被除数的Q值进行比较,然后按照比较结果,用预定值执行滤波。
25.如权利要求24所述的计算机可读介质,其中,假定所述块具有8×8的大小,并且以该块的边界为中心的1×6窗口的像素是p1、p2、p3、p4、p5和p6,为了减少分块效应,当该块的水平分块信息等于“1”,并且振铃信息等于“0”时,使用具有加权值(1,1,1,2,1,1,1)的加权滤波器,对沿着该块的左垂直边界的像素p1、p2、p3、p4、p5和p6执行滤波,并且当该块的水平分块信息不等于“1”,或振铃信息不等于“0”时,按照下列算法对像素p2、p3、p4和p5执行滤波<![CDATA[d=p4-p3;If(ABS(d)≤Q){p4=p4-(d/2);p3=P3+(d/2);d=p5-p4;if(ABS(d)≤Q) p5=p5-(d/4);d=p3-p2;if(ABS(d)≤Q) p2=p2+(d/4);}else{ if(ABS(d)≤2Q)If(d>0){ p4=p4-(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2));}else{ p4=p4+(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2));}d=p5-p4;if(ABS(d)≤Q) p5=p5-(d/4);d=p3-p2;if(ABS(d)≤Q) p2=p2-(d/4); }}]]>其中Q是用于量化该块的被除数,ABS表示绝对值,和“=”表示等式的右边的值被左边的值替换。
26.如权利要求24所述的计算机可读介质,其中,假定所述块具有8×8的大小,并且以该块的边界为中心的6×1窗口的像素是p1、p2、p3、p4、p5和p6,为了减少分块效应,当该块的水平分块信息等于“1”,并且振铃信息等于“0”时,使用具有加权值(1,1,1,2,1,1,1)的加权滤波器,对沿着该块的上水平边界的像素p1、p2、p3、p4、p5和p6执行滤波,并且当该块的垂直分块信息不等于“1”,或振铃信息不等于“0”时,按照下列算法对像素p2、p3、p4和p5执行滤波<![CDATA[d=p4-p3;If(ABS(d)≤Q){p4=p4-(d/2);p3=P3+(d/2);d=p5-p4;if(ABS(d)≤Q) p5=p5-(d/4);d=p3-p2;if(ABS(d)≤Q) p2=p2+(d/4);}else{ if(ABS(d)≤2Q)If(d>0){ p4=p4-(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2));}else{ p4=p4+(Q-ABS(d/2)); p3=p3+(Q-ABS(d/2));}d=p5-p4;if(ABS(d)≤Q) p5=p5-(d/4);d=p3-p2;if(ABS(d)≤Q) p2=p2-(d/4); }}]]>其中Q是用于量化该块的被除数,ABS表示绝对值,和“=”表示等式的右边的值被左边的值替换。
27.一种计算机可读介质,在该介质上包含一计算机程序,该计算机程序是用于对解码基于块压缩图像数据时产生的振铃噪声滤波的方法,其中振铃噪声滤波方法包括下列步骤(a)使用预定的一维水平和垂直梯度算子,对经过逆量化和逆离散余弦变换的块执行梯度运算;(b)使用一个像素的梯度运算值和相邻像素值之间的差值的绝对值和量化该块时用作被除数的Q值,产生表示每个像素是否是边缘像素的二进制边缘映射;和(c)通过将预定滤波器窗应用到产生的二进制边缘映射,执行滤波。
28.权利要求27所述的计算机可读介质,其中步骤(b)包括垂直边缘检测步骤(b1)和水平边缘检测步骤(b2),并且步骤(b1)包括下列子步骤(b11)计算对于像素P1的梯度运算值和像素P1的右边像素之间差值的绝对值A1,其中已经确定像素P1是否是边缘像素;(b12)计算对于像素P1的梯度运算值和像素P1的左边像素之间差值的绝对值A2;(b13)比较绝对值A1和A2与预定阈值Th,如果(A1>Th)&amp;&amp;(A2>Th)‖(A1>5*Th/2)‖(A2)>5*Th/2)的逻辑公式为真,则确定该像素P1为边缘像素,而如果该逻辑公式为假,则确定该像素P1为非边缘像素,其中上述逻辑公式的&amp;&amp;表示“与”运算,而‖表示“或”运算;和(b14)对该块的所有像素执行上述子步骤(b11)到(b13),和步骤(b2)包括下列子步骤(b21)计算对于像素P1的梯度运算值和像素P1下面的像素之间差值的绝对值A’1,其中已经确定像素P1是否是该块的边缘像素;(b22)计算对于像素P1的梯度运算值和像素P1上面的像素之间差值的绝对值A’2;和(b23)比较绝对值A’1和A’2与预定阈值Th,并且如果(A’1>Th)&amp;&amp;(A’2>Th)‖(A’1>5*Th/2)‖(A’2)>5*Th/2)的逻辑公式为真,则像素P1被确定为边缘像素,如果该逻辑公式为假,则像素P1确定为非边缘像素;(b24)对该块的所有像素执行上述子步骤(b21)到(b23)。
29.如权利要求27所述的计算机可读介质,其中,在步骤(c)中,在将具有预定大小的滤波器窗应用到产生的二进制边缘之后,如果该滤波器窗的中心像素是边缘像素,则不执行滤波,而如果该中心像素是非边缘像素,则执行滤波,并且如果该滤波器窗没有边缘像素,则执行平均滤波,如果该滤波器窗具有边缘像素,则执行加权滤波。
全文摘要
一种减少分块效应和振铃噪声的信号自适应滤波方法,及信号自适应滤波器和计算机可读介质。当一帧由预定大小的块组成时,该信号自适应滤波方法能够减少图像数据的块效应和振铃噪声,该方法包括下列步骤:(a)当分解用于逆量化的位流图像数据获得的帧是一帧内时,从数据块的上和左边界区域的预定像素的系数,产生用于减少分块效应的分块信息和用于减少振铃噪声的振铃信息;和(b)按照产生的分块信息和振铃信息,自适应滤波经过逆量化和逆离散余弦变换的图像数据。因此,能够从由基于块的图像恢复的图像消除分块效应和振铃噪声,由此改善从压缩恢复的图像。
文档编号G06F17/30GK1264482SQ98807265
公开日2000年8月23日 申请日期1998年6月18日 优先权日1997年7月16日
发明者李英烈, 朴玄旭 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1