环路滤波器和环 路滤波方法 本发明涉及数据滤波,特别涉及用来降低阻塞(blocking)效应和振铃(ringing)噪声的一种环路滤波器(loop filter)以及一种环路滤波方法。
通常,诸如国际标准化组织(ISO)的MPEG和国际电信联盟(ITU)的H.263之类的图像编码标准采用基于数据块的运动估算和数据块的离散余弦变换(DCT)。如众所周知的,当一图像被高(highly)压缩时,基于数据块的编码会导致一阻塞效应和振铃噪声。当出现一典型的阻塞效应时,在具有于相邻像素之间的相对相似像素值的该同类区域(homogeneous sarea)中存在有网格噪声(grid noise),和沿该图像的边缘在以阶梯状表示的图像边缘上存在有阶梯噪声(staircase noise)。而且,该振铃噪声是一典型的Gibb现象,当为了使高压缩图像利用量化来执行一DCT系数的截断(truncation)时出现该现象。
在网格噪声的情况下,当恢复该压缩数据而在屏幕上显示时,根据该数据块所执行的处理而引起的痕迹(traces)被示于两个数据块之间的边缘(border)上,以使用户注意到了两数据块之间的边缘。另外,在阶梯噪声的情况下,该图像的边缘呈阶梯形状,这样用户就注意到了该图像的崎岖不平地边缘。再有,该振铃噪声会引起这样一个问题,即多个被显示的图像在间隔上会重叠起来。
已提出了多种方法以解决在基于数据块的编码处理期间所出现的阻塞效应和振铃噪声。首先,根据H.261,利用简化的3×3低通滤波器作为一环路滤波器来降低该阻塞效应。另外,还提供了一种用来减小阻塞效应和蚊式(mosquito)噪声的简化边缘环路滤波器。该边缘环路滤波器对位于数据块的边缘的两个相邻像素的值进行线性化,由被线性化了的值来置换二个像素值。但是,即使该阻塞噪声被降低,该边缘环路滤波器也不可能降低该振铃噪声。另外,还提出了一种用于降低该振铃噪声而采用的一种二进制索引(binary index)的非线性滤波器。但是,该非线性滤波器也不可能解决有关的阻塞效应的问题。
为了解决上述问题,本发明的目的是提供一种在一高压缩编码系统中用于降低阻塞效应和振铃噪声的环路滤波器和环路滤波方法,其中为了同时降低在进行基于数据块的编码时所出现的阻塞效应和振铃噪声而执行简单的低通滤波。
根据本发明的一个方面,提供了一种用来降低图像数据的阻塞效应和振铃噪声的环路滤波方法,该环路滤波方法包括有步骤:(a)通过将使用预置的一维梯度算符计算该图像数据的每个像素而获得的值与一预置的阈值相比较而产生一个二值边缘映射(binary edge map);(b)将一具有预置尺寸的滤波器窗口加到所产生的二值边缘映射以检查在该滤波器窗口内是否存在有一边缘信息;(c)如果在步骤(b)中确定了不存在有该边缘信息,则通过使用预置的第一个权数(weight)对由一象素相对应的滤波器窗口的像素值进行滤波以产生一新的像素值;(d)如果在步骤(b)中确定存在有该边缘信息,则通过使用预置的第二个权数对由一象素相对应的滤波窗口的像素值进行滤波以产生一新的像素值,其中对于一象素如果在该滤波器窗口中央的该像素是边缘信息在步骤(d)中,则不执行该滤波。
最好是,在步骤(a)中所使用的一维梯度算符包括具有(1,-1)权数(weight)的1×2尺寸的水平梯度算符和具有(1,-1)权数(weight)的2×1尺寸的垂直梯度算符。
最好是,该步骤(a)包括有子步骤:(a-1)在一预置的数据块单元中接收图像数据;(a-2)利用该一维梯度算符根据该输入图像数据块的每个像素执行一维梯度运算;和(a-3)如果该所计算的梯度像素属于靠近一数据块边界的预置区域,则通过与预置的第一阈值相比较而产生二值边缘映射信息,或者如果反之,则通过与预置的第二阈值相比较而产生二值边缘映射信息。
根据本发明的另一方面,提供了一种环路滤波器,包括:一图像存贮单元,用来暂时存贮图像数据,一梯度算符,利用一维梯度算符,在垂直和水平方向执行一维梯度运算,通过按数据块单元接收图像数据,以便找出像素边缘,该数据块单元具有来自图像存储单元的预定尺寸。区域确定单元,用来确定水平或垂直一维梯度运算后的像素是属于边界区还是属于全局(global)区;一边界区二值边缘信息发生器,用来当由该区域确定单元确定通过水平或垂直一维算符运算的图像数据属于边界区时,如果通过一维梯度运算得到的值大于预置的第一阈值时则产生边缘信息,反之则产生非边缘信息;一全局区二值边缘信息发生器,用来当由该区域确定单元确定通过水平或垂直一维梯度运算的图像数据属于全局区域时,如果通过一维梯度运算得到的值大于预置的第二阈值时则产生边缘信息,反之则产生非边缘信息;一“或”处理单元,用来在根据一像素执行垂直和水平一维梯度操作之后,根据通过该区域确定单元和边界区域二值边缘信息发生器输出的信息,以及通过区域确定单元和全局区二值边缘信息发生器输出的信息执行一“或”操作,以便产生二值边缘映射信息;一滤波器确定器,用来存贮自该“或”处理单元输出的二值边缘映射信息,和根据该二值边缘映射信息,将该输入图像数据分为包括至少一片边缘信息的一边缘区和不含有边缘映射信息的一同类(homogeneous)区;一平均滤波器,用来根据由该滤波器确定器所分成为同类区的一滤波器窗口的像素来执行一预置的平均滤波;和一加权滤波器,用来根据由该滤波器确定器所分成为该边缘区的一滤波器窗口的像素来执行一预定的加权滤波。
本发明的上述目的和优点将通过结合附图对一最佳实施例的详细描述而变得更为明显。
图1示出了针对可作为一最佳实施例的本发明的一环路滤波器的一编码器的结构方框图;
图2示出了图1中所示的该环路滤波器结构的方框图;
图3示出了从用在信号自适应滤波部分的一个二值边缘映射信息和低通滤波所产生的一个二值边缘映射;
图4A示出了一用于二维3×3滤波器的滤波器窗口;
图4B和4C示出了用于该二维3×3平均滤波器的权数和;
图5的流程图表示了根据本发明的一环路滤波方法。
在图1所示的涉及H.263的一编码器中,此编码器涉及到包括一运动补偿预测编码器的一高压缩编码系统,除了本发明的一环路滤波器之外,数据块是本技术领域的普通技术人员所公知的,因此仅对该数据块的操作作一简要说明。
在图1中,一视频信号被输入到一减法器100、第一开关105和预测编码器145。该减法器100从该输入视频信号中减去一自该预测编码器145中输出的一运动估算误差信号,并将该减法器100的输出信号提供给第一开关105。第一开关105根据编码控制器120的控制选择该输入视频信号或该减法器100的输出信号,并随后将所选择的信号提供给一离散余弦变换器(DCT)110。编码控制器120控制第一开关105使得该输入信号以一内部编码模式(intra coding mode)提供给该DCT 110,并且该减法器100的输出信号以一中间编码模式(inter coding mode)提供给该DCT 110。该信号通过DCT 110和量化器115被提供给一逆量化器125和一视频多路编码器(未示出)。该逆量化器115对所提供的信号进行逆量化并将其结果提供给一逆DCT(IDCT)130。由IDCT 130所变换的该信号和由第二开关150所转换的自预测编码器145所输出的信号在加法器135中相加并被提供给环路滤波器140。这里,通过该环路滤波器140除去了该阻塞效应和振铃噪声。通过接收由该环路滤波器140所滤波的信号和该输入视频信号,该预测编码器145执行一运动估算(motion estimation),并输出一运动预测误差信号。该预测编码器145向该视频多路编码器(video multiplexing encoder)输出一通过运动补偿预测编码而获取的运动矢量(V)。
该预测编码器145的输出信号被提供给减法器100和第二开关150。该第二开关150由编码控制器120控制。编码控制器120控制第二开关150使得通过该预测编码器145所处理的一信号的应用不是以该内部编码模式提供给加法器135,而是以中间编码模式提供给加法器135。用来控制在图1中所示的该编码器的上述操作的该编码控制器120产生一表示是执行帧内编码还是帧间编码的一内部/中间模式信息标志位(P)、一表示量化特征标志信息的信号(qz)和一能够识别传送或非传送的标志位(t)。还有,表示由该量化器115所产生的一变换系数的等级的一信号(q)。
图2的方框图示出了在图1中所示的环路滤波器140。图2中所示的该环路滤波器包括一图像存贮单元200、一个二值边缘映射(map)信息产生器210和一信号自适应滤波部分250。
该图像存贮单元200暂时存贮通过加法器135而将自IDCT 130提供的包括有阻塞效应和振铃噪声的图像数据和自预测编码器145选择地输出的一信号相加所得到的结果。该二值边缘映射信息产生器210从该图像存贮单元200接收由一16×16尺寸宏数据块中的16×16像素组成的一图像信号,以便利用一维梯度(one-dimensional gradient)算符在一8×8尺寸数据块单元中产生二值边缘映射信息。该二值边缘映射信息产生器210包括一梯度算符212、一区域确定单元214、一边界区域二值边缘映射信息产生器216、一全局区域二值边缘信息产生器218、和一“或”处理单元220。该信号自适应滤波部分250,作为一用来对由该二值边缘映射信息产生器210所产生的16×16二值边缘映射信息滤波的块,包括有一滤波器确定器252、一平均滤波器254和一加权滤波器256。这里,该宏数据块的尺寸和该数据块的尺寸并不限于上述实施例所规定的尺寸。
该梯度算符212接收由16×16像素组成的一图像信号,该像素位于来自该图像存贮单元200的一16×16尺寸宏数据块上,以使为了求出边缘像素而利用一维梯度算符在水平和垂直方向执行一维梯度操作。这里,具有(1,-1)权数(weigth)的该一维梯度算符包括用作水平方向的梯度操作的1×2尺寸的一水平一维算符和用作垂直方向的梯度操作的2×1尺寸的一垂直一维算符。
该区域确定单元214确定通过该水平或垂直一维梯度操作的像素是属于边界区或是属于全局区。将该像素分成边界区和全局区是为了当产生二值边缘信息时通过使用依从于该区域的不同阈值来消除该阻塞效应。
在由该区域确定单元214确定了由该水平或垂直一维梯度算符所操作的图像数据属于该边界区的情况下,如果一维梯度操作的结果值大于一预置的阈值时则该边界区二值边缘信息产生器216产生边缘信息,如果该结果值等于或小于该预置阈值时则产生非边缘信息。最好是,这里该预置阈值等于200。
在由该区域确定单元214确定了由该水平或垂直一维梯度算符所操作的图像数据属于该全局区的情况下,如果该结果值大于一预置的阈值时则该全局区二值边缘信息产生器218产生边缘信息,如果该结果值等于或小于该预置阈值时则产生非边缘信息。最好是,这里该预置阈值等于10。
如果由该垂直和水平一维梯度算符针对像素进行运算的这些值不同于通过该区域确定单元214和边界区二值边缘信息产生器216输出的信息,与通过区域确定单元214和全局区二值边缘信息产生器218输出的信息时,“或”处理单元220通过一“或”运算而产生边缘信息。
图3示出了自该二值边缘映射信息产生部分21a和在该信号自适应滤波部分250中使用的低通滤波产生的一个二值边缘映射。
滤波器确定器252存贮自该“或”处理单元220所提供的二值边缘映射信息。通过该二值边缘映射,该输入图像数据分成一边缘区域和一同类区域。根据本发明,该滤波器确定器252用于上述分类。根据本发明的该实施例,平均滤波器254和加权滤波器256分别使用一3×3尺寸滤波器窗口。因此,在该滤波器确定器252中使用的滤波器窗口也是3×3尺寸。根据在具有预置尺寸(即3×3)的该滤波器窗口中的该边缘值,该滤波器确定器252确定设置在该滤波器窗口中的二值边缘映射是属于边缘区域还是属于同类区。如果确定该二值边缘映射属于同类区,则该滤波器确定器252向平均滤波器254输出针对用来决定该滤波器窗口中央的位置数据。反之,如果确定该二值边缘映射属于该边缘区,则该滤波器确定器252向加权滤波器256输出用于决定该滤波器窗口的二值边缘映射信息和输出对于其中央的位置数据。这里,该滤波器窗口的中央是该点即该像素值是通过一滤波处理而由一新的值所置换的点(point)。
图4A和4C涉及二维3×3滤波器。具体地,图4A显示了一用于3×3滤波器的滤波器窗口,图4B显示了用于3×3平均滤波器的权数(weight),以及图4C显示用于3×3加权滤波器的权数(weight)。在图4A显示的滤波器窗口中,具有一滤波器权数索引(weight index)值“5”的点表示此滤波器窗口的中心。
现将详细说明作为二维低通滤波器的一典型的平均滤波器254和加权滤波器256的操作。如果输入了相对于该中央点的位置数据,则该平均滤波器254自该图像存贮单元200读取该像素值,该像素值是计算中央点的被滤波的像素值需要的像素值。之后,该平均滤波器254使用所读取的像素值和图4B中所示的权数(weight)来计算该被滤波的像素值。该所计算的被滤波的像素值用作相应于该中央点变化的像素值。根据从该滤波器确定器252所提供的二值边缘映射信息和相对于该中央点的位置数据,该加权滤波器256执行该滤波操作。为了更好的了解起见,将通过下面的例子来说明加权滤波器256的操作。如果该中央点“5”属于一边缘点,则该加权滤波器不执行相对于该中央点的滤波操作。如果该边缘点(或多个边缘点)是在除该中央点之外的3×3滤波器窗口内,则该加权滤波器256利用图4C中所示的权数(weight)来执行该滤波操作。如果是在图4A中的点2和6、6和8、4和8、或2和4是任意边缘点,则两个边缘点和外部相邻点的权数(weight)是“0”。通过该信号自适应滤波处理的图像数据从该平均滤波器254和加权滤波器256输出。
现在将根据上述的构成来说明本发明的一环路滤波方法。图5是说明根据本发明的该环路滤波方法的流程图。首先,在该内部模式中,按照由16×16像素组成的16×16尺寸的宏数据块为单元,接收来自该图像存贮单元200的自IDCT 130所提供的具有阻塞效应和振铃噪声的图像数据,并且利用水平或垂直一维梯度算符按照8×8尺寸的数据块为单元执行一维梯度运算(步骤500)。详细地说,是按照18×18像素组成的16×16尺寸的宏数据块为单元接收该输入图像数据的。这是因为即使一目标处理单元是一16×16尺寸宏数据块,为了处理边界的像素也需要相邻数据块的像素。
随后,该区域确定单元214确定通过该梯度运算的像素是属于该边界区还是属于全局区(步骤505)。如果该像素属于边界区,则该边界区二值边缘信息产生器216将该像素的梯度运算值与一预置的水平或垂直边界区阈值Tbh或Tbv相比较(步骤510)。当该水平梯度算符被提供给该像素时,如果该梯度运算的结果值大于Tbh,则该边界区二值边缘信息产生器216产生边缘信息“1”,反之则产生非边缘信息“0”。以同样的方式,当该垂直梯度算符被加到该像素时,如果该梯度运算的结果值大于Tbv,则该边界区二值边缘信息产生器216产生边缘信息“1”,反之产生非边缘信息“0”(步骤515)。这里,假定Tbv和Tbh被设置为200。
另一方面,如果通过该梯度运算的像素属于全局区域,则全局区二值边缘信息产生器218将该像素的梯度运算值与预置的水平或垂直的全局区域阈值Tgh或Tgv进行比较(步骤520)。当使用该水平梯度算符时,如果该梯度运算的结果值大于Tgh则该全局区二值边缘信息产生器218产生边缘信息“1”,反之则产生非边缘信息“0”。以同样方式,当使用该垂直梯度算符时,如果该梯度运算的结果值大于Tgv,则该全局区二值边缘信息产生器218产生边缘信息“1”,反之产生非边缘信息“0”(步骤525)。这里,假定Tgv和Tgh被设置为10。
如上所述,如果使用水平和垂直梯度算符所产生的二值边缘信息各不相同,则通过该“或”处理单元220执行“或”运算(步骤530)以产生边缘信息“1”。对每个像素执行上述步骤,以在一宏权数据块单元中产生二值边缘映射信息(步骤535)。
上面所产生的二值边缘映射信息通过一3×3尺寸滤波器滤波。现在详细说明该滤波过程。首先,使用一3×3滤波器根据8×8尺寸的每个像素的图像数据设置一滤波区域,然后该滤波器确定器252检查在该滤波区域中是否存在有表示边缘信息的像素(步骤540)。如果存在有边缘信息,则检查在该滤波的中央点的该像素是否表示边缘信息(步骤545)。如果在该滤波器的中央点的该像素表示边缘信息,则相应于原始输入图像数据的像素值没有被滤波采用原有的(步骤550)。反之,使用该加权滤波器256执行加权滤波(步骤555)。另一方面,如果在步骤540中确定在该滤波区域中不存在有表示边缘信息的像素,则利用该平均滤波器254执行平均滤波(步骤560)。其结果,被滤波的图像数据按照16×16尺寸的宏权数据块为单元形成被环路滤波的图像数据。该环路滤波相对于一帧图像而重复执行上述过程(步骤565)。
另一方面,根据与通过IDCT的信息一起存贮在该图像存贮单元200中的预测编码信息,无需环路滤波可执行中间编码。
结合编码器对本发明的实施例作了说明。但是,本技术领域的普通技术人员应当清楚,本发明的该环路滤波器140可用于一译码器。另外,结合H.263对本发明的实施例作了说明,但是,本发明也可用于MPEG-4 Vertical Mode(VM)3.1。
根据本发明,从通过基于数据块压缩恢复的图像中消除了阻塞效应和振铃噪声,由此改善了所复原图像的质量。