消除成块假象的滤波方法和用于编码视频数据的编码器的制作方法

文档序号:7708878阅读:201来源:国知局
专利名称:消除成块假象的滤波方法和用于编码视频数据的编码器的制作方法
技术领域
本发明涉及消除成块假象(blocking artifact )和/或振铃噪声(ringing noise),尤其涉及消除逐块处理图像帧时引起的成块假象和振铃噪声的滤波 方法和设备。
背景技术
一般说来,视频数据是通过以块为单位处理图像帧编码的。具体地说, 根据诸如运动图像组(MPEG)和H. 263之类的^L频数据编码标准,通过以块 为单元对图像帧进行离散余弦变换(DCT)和量化来编码视频数据。但是,以 块为单元编码图像帧可能导致成块假象和振铃噪声。成块假象使不包含在原 始帧中的边界区域存在于再现图像帧中,从而引起再现图像帧中边界区域的 相邻像素之间的不连续。此外,当振铃噪声存在于图像帧中时,图像帧中对 象的边界线不是被光滑地画出来的,例如,边界线可能是不规则的。再现图 像帧的压缩比越高,成块假象和振铃噪声就越严重。
为了滤除成块假象和振铃噪声,重要的是首先找出出现成块假象和振铃 噪声的图像帧的确切区域。否则,存在于原始图像帧中的边界区域可能被错 误地当作由于成块假象造成的,并且将其消除了,从而使图像质量变差。
一般说来,为了实现消除成块假象和/或振铃噪声的传统滤波方法,需要 检测由于成块假象和/或振铃噪声再现的像素块的边界区域。例如,在由数个 8 x 8或4 x 4像素块组成的再现图像帧中,测量存在于8 x 8或4 x 4像素块 之间的边界上的像素的像素值,譬如,亮度、发光率和色彩的分布,并且将 测量值与预定临界值相比较。临界值是通过测量像素的上述像素值,譬如,亮度、发光率和色彩的分布,找出上述像素值的分布之间的关系,和确定边 界区域是否存在于图像帧之中,用实验方法获得的。
为了测量像素值的分布,必须沿着垂直或水平方向检查相邻块之间的边 界区域中的像素值。但是,事实上,由于大量计算和复杂性,对边界区域中 的每个像素值都进行检查几乎是不可能的。具体地说,由于按照时间顺序沿 着垂直方向把像素值存储在存储设备中,为了沿着垂直方向计算像素值,需 要连续访问存储设备。但是,连续访问存储设备至少目前是绝对做不到的。

发明内容
本发明提供了有效检测存在于像素块中的边界区域的滤波方法和设备。 本发明还提供了利用小量计算就能有效检测存在于像素块中的边界区域 的滤波方法和i殳备。
根据本发明的一个方面,提供了消除成块假象的方法,该方法包括(a) 逐块变换视频数据;和(b)通过检查变换获得的值的分布,检测视频数据中 边界区域的存在。
根据本发明的另一个方面,提供了消除成块假象的方法,该方法包括(a) 逐块变换和量化视频数据;(b)根据变换和量化获得的值的分布,建立滤波 信息;和(c)根据滤波信息,滤波视频数据。
优选地,(a)包括(al)对视频数据逐块进行DCT,以获得DCT系数; 和(a2 )量化DCT系数。更优选地,(a )包括对4 x 4像素块进行DCT和量化, 以获得4x4量化DCT块。
优选地,(b)包括根据量化DCT系数,建立表示存在成块假象和/或振铃 噪声的程度的滤波信息。更优选地,(b)包括(bl )通过检查在量化DCT块 的最上行上,除了 DC (直流)分量之外的像素的值,建立滤波信息,此处, 滤波信息表示边界区域是否存在于原始像素块的垂直方向中。
优选地,(b)还包括(b2)通过检查在量化DCT块的最左列上,除了 DC 分量之外的像素的值,建立滤波信息,此处,滤波信息表示边界区域是否存 在于原始像素块的水平方向中。要不然,(b)可以包括(b3)通过检查不是 在量化DCT块的最上行和最左列上的像素的值,建立滤波信息,此处,滤波 信息表示边界区域是否存在于原始像素块的对角线方向中。
优选地,(b)包括当只有像素A具有除了 0之外的值时,把垂直成块标志(VBF)和水平成块标志(HBF)设置成1,作为滤波信息。优选地,(c) 包括如果HBF和VBF被设置成1,那么,沿着像素块的垂直和水平方向更强 烈地进行消块(deblocking)滤波。
优选地,(b)包括当只有像素A和B具有除了 0之外的值时,把VBF设 置成l,作为滤波信息,和(c)包括当VBF被设置成1时,沿着像素块的垂 直方向更强烈地进行消块滤波。
优选地,(b)包括当只有像素A和C具有除了 0之外的值时,把HBF设 置成l,作为滤波信息,和(c)包括当HBF被设置成1时,沿着像素块的水 平方向更强烈地进行消块滤波。
优选地,当像素A、 B和C具有除了 0之外的值时,把振铃标志(RF)设 置成l,和(c)包括当RF被设置成1时,更强烈地进行消铃(deringing) 滤波。
根据本发明的再一个方面,提供了消除成块假象的滤波方法,该方法包 括(a)以像素为单位变换和量化由视频数据组成的块,以便获得量化值,检 查获得的量化值,和当检查结果表示需要滤波信息时,建立滤波信息;和(b) 根据建立的滤波信息进行滤波。
优选地,(a)包括(al)对在块的最上行和最左列上,除了与DC分量相 对应的像素之外的像素之一进行DCT和量化,以获得量化DCT系数;和(a2 ) 检查量化DCT系数,当量化DCT系数是除了 0之外的值时,根据检查结果建 立滤波信息,和终止对最上行和最左列上的像素进行DCT和量化。
(a )包括(a3 )检查量化DCT系数,和当量化DCT系数是0时,对在最 上行和最左列上,除了与DC分量相对应的像素之外的像素之一进行DCT和量 化;(a4)对除了与DC分量相对应的像素和在最上行和最左列上的像素之外 的其余像素重复执行(a2)和(a3),以获得量化DCT系数;和(a5)当在最 上行和最左列上的所有像素的量化DCT系数都是0时,建立滤波信息。
根据本发明的再一个方面,提供了编码视频数据的编码器,该编码器包 括环路滤波器,其中,环路滤波器包括滤波信息生成单元,用于根据通过 变换和量化像素块获得的值的分布,建立滤波信息;滤波特性判定单元,用 于根据建立的滤波信息,确定滤波特性;和消块滤波器,用于根据确定的滤 波特性,进行消块滤波。
优选地,环路滤波器还包括环路变换单元,用于逐块变换中间帧的像素值;和环路量化单元,用于量化由环路变换单元变换的值。
根据本发明的一个方面,提供了一种消除成块假象的滤波方法,包括步 骤(a)逐块变换和量化视频数据;(b )基于通过所述变换和量化步骤获得 的量化变换值而创建滤波信息;和(c)通过比较有关当前块的滤波信息和有 关至少一个相邻块的滤波信息而确定该当前块的滤波强度,并基于所确定的 滤波强度而对该视频数据进行滤波。
根据本发明的另一方面,还提供了一种用于编码视频数据的编码器,该 编码器包括环路滤波器,其中该环路滤波器包括滤波信息生成单元,用于 根据通过变换和量化像素块获得的量化变换值,来创建滤波信息;滤波特性 判定单元,用于才艮据所创建的滤波信息,来确定滤波特性;和消块滤波器, 用于根据所确定的滤波特性,来进行消块滤波,其中该滤波信息生成单元通 过比较有关当前块的滤波信息和有关该当前块的至少一个相邻块的滤波信息 而确定该当前块的滤波强度,并且该消块滤波器基于所确定的滤波强度而对 该视频数据进行滤波。


通过参照附图,对本发明的优选实施例作详细描述,本发明的上述目的
和优点将更加清楚,在附图中
图1是根据本发明的编码设备的方块图2是根据本发明第一实施例的环路滤波器的方块图3和4是显示根据本发明第一实施例,利用滤波信息生成单元生成滤
波信息的方法的图形;
图5是显示根据本发明第一实施例的一种变型生成的滤波信息的图形;
图6是显示根据本发明第一实施例的滤波方法的流程图7是显示根据本发明第一实施例的另一种滤波方法的流程图8是根据本发明第二实施例的环路滤波器的方块图9是显示根据本发明第二实施例,利用滤波信息生成单元获取滤波信
息提取数据的方法、和根据获取的滤波信息提取数据生成滤波信息的方法的
图形;和
图10是显示根据本发明第二实施例的滤波方法的流程图。
具体实施例方式
为了更好地理解本发明,在参照附图描述本发明的优选实施例之前,简 要描述 一 下编码视频数据的概念。
一般说来,视频数据由许多图像帧组成。把图像帧编码成内部帧和中间 帧,然后将它们发送出去。内部帧是不参照其它图像编码的,并且可以独立 地解码它。同时,中间帧是根据前一个或后一个图像,即,中间帧与前一个 或后一个帧之间的差异编码的,因此,解码中间帧需要前一个或后一个帧。 每个图像帧由若干个宏块组成,和每个宏块由若干个像素块组成。
在根据本发明的滤波方法和执行该方法的编码设备中,边界区域是通过 变换宏块或像素块和检查获得的变换值和/或量化变换值获得的值的分布来 检测的。现在描述滤波方法和执行该方法的编码设备。
图1是根据本发明优选实施例的编码设备的方块图。参照图1,编码设
备包括运动估计器1、变换器2、量化器3、逆量化器4、逆变换器5、运动 补偿器6和环路滤波器7。编码设备还包括控制器(未示出)、第一开关IO、 第二开关20、和第三开关30,所有开关都由控制器来控制。
当把视频数据输入控制器时,控制器控制第一开关IO,以便使内部帧和 中间帧分别直接输入变换器2和运动估计器1。运动估计器1将像素值与像 素块单元中的前像素值相比较,并且把像素值与前像素值之间的差值,即运 动向量输出到变换器2。变换器2改变数据的描述方式,即,在内部帧的情 况中,变换存在于图像帧中的像素值,和在中间帧的情况中,变换差值,即 运动向量。在本发明的这个实施例中,进行离散余弦变换(DCT),以变换图 像帧,但是,诸如离散子波变换(DWT)之类的任何可应用方法都可用来取代 DCT。量化器3根据预定量化步长,量化变换值,即,DCT系数。对于各个块 单元,可以自适应地确定量化步长。但是,量化步长越大,由于值的量化引 起的噪声就增加得越多。对图像帧进行DCT和量化获得的值利用,例如,可 变长度编码(VLC)来编码,并且将结果发送到接收端。
同时,把通过DCT和量化获得的值输入到逆量化器4或环路滤波器7。 此外,控制器控制第二开关20把内部帧输入环路滤波器7中和只把中间帧输 入逆量化器4中。更明确地说,在内部帧的情况中,为了检测边界区域,需 要从量化器3输出的值,即,通过以块为单位对像素进行DCT和量化获得的 值。因此,无需另外进行处理,可以把值直接输入环路滤波器7中。在中间帧的情况中,从量化器3输出的值是通过对中间帧和它们的前一帧之间的差
值(运动向量)进行DCT和量化获得的。因此,把值输入逆量化器4中,以 便对像素逐块进行逆DCT和逆量化,这是以块为单位恢复像素值的过程。
逆量化器4根据预定量化步长逆量化给定的像素值,和逆变换器5逆变 换逆量化的值。更明确地说,在这个实施例中,逆变换器5对逆量化值进行 逆离散余弦变换(IDCT)。但是,在变换器2采用除了 DCT之外的其它变换方 法的情况中,逆变换器5根据除了 IDCT之外的逆变换方法进行逆变换。例如, 如果把变换器2设置成对像素值进行离散子波变换(DWT),那么,逆变换器 5对它进行逆DWT ( IDWT )。从逆变换器5输出的内部帧是要滤波的像素值, 即,当前图像帧的像素值,因此,将其输入环路滤波器7中。内部帧需要得 到运动补偿,以获得当前图像帧的像素值,因此,将其输入运动补偿器6中。 接着,控制器控制第三开关30,以便把从逆变换器5输出的内部帧输入环路 滤波器7中,和从逆变换器5输出的内部帧输入运动补偿器6中。然后,运 动补偿器6以块为单位把内部帧与前图像帧之间的差值加入前图像帧中,恢 复当前图像帧,和把结果输出到环路滤波器7。
环路滤波器7根据本发明滤波图像帧。根据本发明的第一实施例,环路 滤波器7检查通过对像素值进行DCT和量化获得的值的分布,以确定边界区 域是否存在于图像帧中,并且根据检查结果滤波图像帧。根据本发明的第二 实施例,环路滤波器7检查分别对最上行和最左列上的像素值进行DCT和量 化获得的值,以便确定边界区域是否存在于图像帧中。接着,环路滤波器根 据检查结果,滤波图像帧。以后将描述环路滤波器7的操作的详细内容。
图2是根据本发明第一实施例的环路滤波器的方块图。参照图2,环路 滤波器7包括环路变换单元71、环路量化单元72、滤波信息生成单元73、 滤波特性判定单元74、消块滤波器75、和消铃滤波器76。
存在两种输入环路滤波器7的数据(i)要滤波的对象数据①;和(ii) 要用于生成滤波信息的滤波信息提取数据②和③。对象数据①指的是图像帧 以块为单位的像素值。内部帧的对象数据①通过第三开关30发送到环路滤波 器7,和中间帧的对象数据①从运动补偿器6输入到环路滤波器7。在第一实 施例中,滤波信息提取数据②和③指的是对某个块的像素值进行DCT和量化 获得的值。内部帧的滤波信息提取数据②指的是对某个块的像素值进行DCT 和量化获得的值,并且通过第二开关20直接发送到环路滤波器7,以便无需另外计算处理,就可以建立滤波信息。但是,中间帧的滤波信息提取数据③
是从运动补偿器6输入到环路滤波器7的,因此,在环路滤波器7内必须对 它进行变换和量化。由于这个原因,把通过第二开关20输入的值,即,内部 帧的滤波信息提取数据②输入滤波信息生成单元73,和把从运动补偿器6输 入的值,即,中间帧的滤波信息提取数据③,输入环路变换单元71。
环路变换单元71和环路量化单元72为内部帧逐块分别变换和量化像素 值。环路变换单元71和环路量化单元72具有与如图1所示的变换器2和量 化器3相同的功能,即,变换和量化。但是,环路变换单元71和环路量化单 元72的变换和量化不需要与变换器2和量化器3—样精确。这是因为,由环 路变换单元71和环路量化单元72生成的值只用于检测边界区域的存在与否, 因此可以具有比变换器2和量化器3为了编码视频数据而获得的那些值低的 精度。于是,环路变换单元71和环路量化单元72可以利用整数运算来代替 浮点运算,增大量化步长,或进行快速DCT,降低DCT和量化的精度,从而 降低计算量。例如,由环路量化单元72进行的简化量化算法如下
其中,LEVEL表示量化值,K表示对其进行DCT的量化像素值,A ( QP ) 表示来自映射表的常数,和f是根据目标压缩效率确定的常数。如果/C〈 ("一/x")^(gp),那么,把量化值设置成l。否则,把它设置成另一个预定值。
滤波信息生成单元73利用对像素值逐块进行DCT和量化获得的值,建立 滤波信息。以后将描述滤波信息生成单元73的操作的详细内容。滤波特性判 定单元74根据滤波信息确定和输出滤波特性。消块滤波器75和消铃滤波器 76根据确定的滤波特性,对视频数据进行滤波。
图3和4是显示根据本发明第一实施例,利用图1所示的滤波信息生成 单元3建立滤波信息的方法的图形。参照图3,对在第一实施例中作为基本 单元的4 x 4像素块进行DCT和量化,以获得4 x 4量化DCT块(下文称之为 'DCT块,)。在DCT块中,a表示DC分量,b表示指示边界区域存在于DCT 块的垂直方向中的、在DCT块的最上行上的、除了DC分量之外的像素,c表 示指示边界区域存在于DCT块的水平方向中的、在DCT块的最左列上的、除 了 DC分量之外的像素,和d表示指示振铃噪声存在于DCT块的对角方向中的、 在DCT块的最左和最上行上的、除了值a到c之外的像素。总而言之,如图4所示,根据本发明的优选实施例,利用像素值A到C 建立滤波信息。如下所示,通过检查像素A、 B和C的值,确定成块假象的存 在或程度,和根据检查结果建立滤波信息
(1) 在只有像素A具有除了 O之外的值的情况中
也就是说,如果像素B和C被设置成0,那么,要在接收方再现的像素 块的所有像素具有相同值。在这种情况下,边界区域存在于原始像素块的垂 直和水平方向中的可能性非常小。因此,如果边界区域存在于再现像素块中, 那么,认为它是由成块假象引起的,因此,把水平成块标志(HBF )和垂直成 块标志(VBF)设置成l,作为滤波信息。
(2) 在只有像素A和B具有除了 O之外的值的情况中 在这种情况下,在接收方再现的像素块的垂直方向中的像素在预定范围
内具有相同值。这意味着,存在着边界区域存在于原始像素块的水平方向中 的可能性,但是,边界区域存在于原始像素块的垂直方向中的可能性非常小。 也就是说,边界区域只存在于再现像素块的垂直方向中,认为它是由成块假 象引起的,因此,把VBF设置成1,作为滤波信息。
(3) 在只有像素A和C具有除了 O之外的值的情况中 在这种情况下,在接收方再现的像素块的水平方向中的像素在预定范围
内具有相同值。这意味着,存在着边界区域存在于原始像素块的垂直方向中 的可能性,但是,边界区域存在于原始像素块的水平方向中的可能性非常小。 因此,如果边界区域存在于再现像素块的水平方向中,那么,认为它是由成 块假象引起的,在这种情况下,把HBF设置成l,作为滤波信息。
(4) 在除了像素A、 B和C之外的值具有除了 O之外的值的情况中 如果除了像素A和B所属的列和像素A和C所属的行之外的行和列上的
像素具有除了 0之外的值,那么,把振铃标志RF设置成1,作为滤波信息。 这意味着,振铃噪声存在于再现像素块中。
当把HBF和/或VBF、和RF发送到滤波特性判定单元74时,滤波特性判 定单元74根据这些标志,确定滤波特性。换句话说,如果确定了 HBF,那么, 设置消块滤波器75,以便沿着像素块的水平方向更强烈地进行滤波。如果确 定了 VBF,那么,设置消块滤波器75,以便沿着像素块的垂直方向更强烈地 进行滤波。如果设置了 RF,那么,设置消铃滤波器76,以便根据成块假象和 /或振铃噪声的程度,对视频数据进行自适应滤波。在第一实施例中,利用像素A、 B和C的值,建立滤波信息,以便消除成 块假象。可选地,根据应用的技术要求,譬如,精确性和迅速性,可以在跳 过检查最上行和最左列上的像素的值的至少 一个的同时,建立滤波信息。
图5是显示根据本发明第一实施例的一种变型生成的滤波信息的图形。 这里,使用了图2所示的环路滤波器7。但是,第一实施例的变型与第一实 施例的不同之处在于,对图像帧进行离散子波变换(DWT),而不是DCT。
参照图5,对4 x 4像素块进行DWT和量化,以获得4个2 x 2量化DWT 块e到h。块e是让图4的4 x 4 DCT块通过低通滤波器获得的,并且对应于 4x4量化DCT块的DC分量,即,像素A。块f对应于4 x 4量化DCT块的像 素B,即,它指示边界区域是否存在于原始像素块的水平方向中。块g对应 于4x4量化DCT块的像素C,即,它指示边界区域是否存在于原始像素块的 垂直方向中。块h对应于4x4量化DCT块的、不在^^素A和B、和^f象素A和 C所属的块的最上行和最左列上的其它像素。块h指示振铃噪声是否存在于 原始像素块中。
在第一实施例中,利用像素A、 B和C的值建立滤波信息。同样,在第一 实施例的变型中,利用块e、 f、 g和h也建立指示存在成块假象和/或振铃噪 声的滤波信息。
现在描述根据本发明第 一 实施例的滤波方法。
图6是显示根据本发明第一实施例的滤波方法的流程图。参照图6,编 码在步骤601中对输入视频数据逐块进行DCT,以获得DCT系数。接着,在 步骤102中,根据预定量化步长量化DCT系数,以获得量化DCT系数。在步 骤602之后,编码器在步骤603中^r查量化DCT块的像素值的分布,和在步 骤604中,根据检查结果建立滤波信息。借助于滤波信息,可以检测成块假 象和/或振铃噪声的程度。在步骤604之后,编码器在步骤605中,根据建立 的滤波信息确定滤波特性和对输入视频数据进行自适应滤波。
图7是显示根据本发明第一实施例的另一种滤波方法的流程图。参照图 2和7,在步骤701中,滤波信息生成单元73 ^r查量化DCT块的像素值的分 布,以i"更^t巴水平成块标志HBF、垂直成块标志VBF、和4展铃标志RF i殳置成1 或0。如果在步骤702中把HBF设置成1,那么,滤波特性判定单元74在步 骤703中,确定滤波特性,以便使消块滤波器75在DCT块的垂直方向更强烈 地进行滤波。如果在步骤704中把VBF设置成1,那么,滤波特性判定单元74在步骤705中,确定和输出滤波特性,以便使消块滤波器75在DCT块的 水平方向更强烈地进行滤波。如果在步骤706中把HBF和VBF设置成1,那 么,滤波特性判定单元74在步骤707中,确定滤波特性,以便使消块滤波器 75在DCT块的垂直和水平方向更强烈地进行滤波。如果在步骤708中把RF 设置成l,那么,滤波特性判定单元74在步骤709中,确定滤波特性,以便 使消铃滤波器76对DCT块更强烈地进行滤波。此后,在步骤710中,消块滤 波器75和消铃滤波器76根据设置的滤波特性,对输入视频数据进行自适应 滤波。
消块滤波是逐块进行的,但是,视频数据事实上是与与当前块相邻的块 的边界区域上的像素值,以及当前块一起输入编码器中的。输入像素值由消 块滤波器75来滤波,并且作为改变值来输出。例如,当当前块的像素值l到 4和相邻块的像素值5到8被消块滤波器75更强烈地滤波时,相邻值3到6 发生改变,否则,只有值4和5发生改变。因此,将相邻块的标志与当前块 的标志进行比较,以调整消块滤波器75的特性值。也就是说,如果相邻块的 标志与当前块的标志相同,那么,将消块滤波器75的滤波特性值设置成强值, 否则,将其设置成弱值。
可选地,滤波信息生成单元73可以将相邻块的标志VBF、 HBF和RF与当 前块的标志VBF、 HBF和RF相比较,并且根据比较结果,建立滤波信息。其 结果是,建立的滤波信息可以比利用当前块的标志建立的滤波信息更精确地 得到表达,因此,可以更精确地确定滤波特性值。
图8是根据本发明第二实施例的环路滤波器2的方块图。参照图8,环 路滤波器7包括环路变换单元81、环路量化单元82、滤波信息生成单元83、 滤波特性判定单元74、消块单元75、和消铃单元76。
存在两种输入环路滤波器7的数据(i)要滤波的对象数据①;和(ii) 要用于生成滤波信息的滤波信息提取数据②和③。对象数据①指的是图像帧 以块为单位的像素值。内部帧的对象数据①通过第三开关30发送到环路滤波 器7,和中间帧的对象数据①从运动补偿器6输入到环路滤波器7。与第一实 施例中一样,滤波信息提取数据②和③指的是对某个块的像素值进行DCT和 量化获得的值。内部帧的滤波信息提取数据②指的是对某个块的像素值进行 DCT和量化获得的值,并且通过第二开关20直接发送到环路滤波器7,以便 无需另外计算处理,就可以建立滤波信息。但是,中间帧的滤波信息提取数据③是从运动补偿器6输入到环路滤波器7的,因此,在环路滤波器7内必 须对它进行变换和量化。由于这个原因,把通过第二开关20输入的值,即, 内部帧的滤波信息提取数据②输入滤波信息生成单元73,和把从运动补偿器 6输入的值,即,中间帧的滤波信息提取数据③,输入环路变换单元71。
环路变换单元81对分别在输入内部帧的预定长度块的最上行和最左列 上的第一和第二像素进行DCT或DWT。在这种情况中,对最左列的第一和第 二像素从上到下进行DCT或DWT,和对最左上行的第一和第二像素从左到右 进行DCT或DWT。环路量化单元82量化环路变换单元81变换的DCT系数。 环路变换单元81和环路量化单元82的DCT和量化与与参照图1所述的变换 器2和量化器3的DCT和量化相同。但是,环路变换单元81和环路量化单元 82的变换和量化不需要与变换器2和量化器3—样精确。这是因为,由环路 变换单元81和环路量化单元82生成的值只用于检测边界区域的存在与否, 因此可以具有比变换器2和量化器3为了编码视频数据而获得的那些值低的 精度。于是,环路变换单元81和环路量化单元82可以利用整数运算来代替 浮点运算,增大量化步长,或进行快速DCT,降低DCT和量化的精度,从而 降低计算量。例如,由环路量化单元82进行的简化量化算法如下
其中,LEVEL表示量化值,K表示对其进行DCT的量化像素值,A ( QP ) 表示来自映射表的常数,和f是根据目标压缩效率确定的常数。如果尺< ("-/x22°y42",那么,把量化值设置成l。否则,把它设置成另一个预定值。
滤波信息生成单元83检查对其进行DCT (或DWT)的、在最上行和最左 列的第一和第二像素是否具有除了 Q之外的值。如果在最上行或最左列上的 经DCT (或DWT)或量化的第二像素值是0,那么,滤波信息生成单元83指 令环路变换单元81和环路量化单元82对下一个像素进行DCT (或DWT )和量 化下一个像素。滤波信息生成单元83接收下一个像素的值,检查该值是否是 0,并且重复上述操作。
如果对最上行或最左列上的第二像素值进行DCT (或DWT )或量化获得的 值是除了 O之外的值,那么,滤波信息生成单元83根据该结果,建立滤波信 息。建立滤波信息的方法像在第一实施例中描述的那样。接着,滤波信息生 成单元83指令环路变换单元81和环路量化单元82停止分别对像素值进行DCT (或DWT)和量化。换句话说,如果该值不是0,那么,终止最上行或最 左列上的像素值的DCT (或DWT)和量化(以后再描述其详细内容)。滤波特 性判定单元74根据滤波信息,确定和输出滤波特性。消块滤波器75和消铃 滤波器76根据确定的滤波特性进行滤波。滤波特性判定单元74、消块滤波 器75、和消铃滤波器76的操作与根据第一实施例的滤波特性判定单元74、 消块滤波器75、和消铃滤波器76的那些操作相同。因此,这里略去不述。
图9是显示根据本发明第二实施例,利用图8所示的滤波信息生成单元 8 3获取滤波信息提取数据和从滤波信息提取数据中建立滤波信息的方法的图 形。在图9的滤波方法中,对在在本发明中作为滤波基本单元的的4x4像素 块的最左列上与DC分量相邻的、在(a)中用斜虚线表示的第一像素C进行 DCT和量化。接着,检查通过DCT和量化获得的值。如果该值不是O,那么, 终止DCT和量化,并且根据检查结果建立滤波信息。如果该值是0,那么, 对在(b)中用斜虚线表示的第二像素C进行DCT和量化,以获得另一个值。 如果该另一个值不是0,那么,终止DCT和量化,并且根据检查结果建立滤 波信息。如果该另一个值是O,那么,对在(c)中用斜虚线表示的第三像素 C进行DCT和量化,然后,也检查通过DCT和量化获得的再一个值。类似地, 如果该再一个值不是0,那么,终止DCT和量化,并且根据检查结果建立滤 波信息。如果该另一个值是0,和在最左列上再也没有像素了,那么,根据 已经获得的结果建立滤波信息。滤波信息按照在根据本发明第 一 实施例的方 法中所述的那样获取。
同时,对在(d)中用斜虚线表示的、在4x4像素块的最上行上与DC分 量相邻的第一像素B进行DCT和量化。接着,检查通过DCT和量化获得的值。 如果该值不是0,那么,终止DCT和量化,并且根据检查结果建立滤波信息。 如果该值是0,那么,对在(e)中用斜虚线表示的第二像素B进行DCT和量 化,然后,检查通过DCT和量化获得的另一个值。如果该另一个值不是O, 那么,终止DCT和量化,并且根据检查结果建立滤波信息。如果该另一个值 是0,那么,对在(f)中用斜虚线表示的第三像素B进行DCT和量化,并且 ;险查再一个值。如果该再一个值不是0,那么,终止DCT和量化,并且^^艮据 检查结果建立滤波信息。但是,如果该另一个值是0,和在最上行是再也没 有像素了,那么,根据已经获得的结果建立滤波信息。滤波信息按照在根据 本发明第 一 实施例的方法中所述的那样建立。类似地,逐块对4 x 4像素块除了 A、 B和C之外的像素进行DCT和量化。 接着,对通过DCT和量化获得的值进行检查,以检测振铃噪声是否存在。此 后,根据确定振铃噪声存在的准则建立滤波信息。建立滤波信息的方法与根 据本发明第 一 实施例的方法相同。
图10是显示根据本发明第二实施例的滤波方法的流程图。参照图10, 在步骤1001中,对在4x4像素块的最左列上的、与DC分量相邻的第1像素 进行DCT和量化,以便计算量化DCT系数。在步骤1001之后,在步骤1002 中检查计算的量化DCT系数。如果量化DCT系数是O,那么,在步骤1003中, 对下一个像素进行DCT量化,并且转到步骤1002。
但是,如果量化DCT系数是除了 O之外的值,或者相关像素是最左列上 的最后一个像素,那么,在步骤1004中,终止DCT和量化,和根据已经获得 的结果,建立滤波信息。也就是说,当最左列上的任何一个像素具有除了 0 之外的量化DCT系数时,把水平成块标志(HBF)设置成1,作为滤波信息。
在步骤1004之后,在步骤1005中,对最上行上的、与DC分量相邻的第 1像素进行DCT,并且量化获得的DCT系数,以便计算量化DCT系数。接着, 在步骤1006中^r查计算的量化DCT系数。如果量化DCT系数是0,那么,在 步骤1007中,对下一个像素进行DCT量化,并且转到步骤1006。
当量化DCT系数是除了 O之外的值,或者相关像素是最上行上的最后一 个像素时,在步骤1008中,终止DCT和量化,和#^居已经获得的结果,建立 滤波信息。也就是说,如果最上行上的任何一个像素具有除了 G之外的量化 DCT系数,那么,把垂直成块标志(VBF)设置成1,作为滤波信息。
在步骤1008之后,在步骤1009中,对不在最上行和最左列上的、与DC 分量相邻的像素进行DCT和量化。接着,在步骤1010中,检查获得的量化 DCT系数。如果量化DCT系数是O,那么,在步骤1011中,对下一个^f象素进 行DCT量化,并且转到步骤IOIO。
当量化DCT系数是除了 O之外的值,或者相关像素是不在最上行和最左 列上的最后一个像素时,在步骤1012中,终止DCT和量化,和根据已经获得 的结果,建立滤波信息。也就是说,如果不在最上行和最左列上的任何一个 像素具有除了 0之外的量化DCT系数,那么,把振铃标志(RF)设置成1, 作为滤波信息。
在步骤1012之后,在步骤1013中,才艮据滤波信息确定滤波特性,和进行自适应滤波。得出滤波特性的方法如参照图7所述的那样。也就是说,当
把HBF设置成1时,图2或8的滤波特性判定单元74确定滤波特性,以便使 图2或8的消块滤波器75在像素块的垂直方向更强烈地进行滤波。当把VBF 设置成1时,确定滤波特性,以便使消块滤波器75在4 x 4像素块的水平方 向更强烈地进行滤波。在把HBF和VBF两者都设置成1的情况中,滤波特性 判定单元74确定和输出滤波特性,以便使消块滤波器75在4 x 4像素块的垂 直和水平方向更强烈地进行滤波。如果把RF设置成1,那么,确定滤波特性, 以便使图2或8的消铃滤波器76对4 x 4像素块更强烈地进行滤波。然后, 消块滤波器75和消铃滤波器76根据设置的滤波特性,自适应滤波。
消块滤波是逐块进行的,但是,视频数据事实上是与与当前块相邻的块 的边界区域上的像素值,以及当前块一起输入编码器中的。输入像素值由消 块滤波器75来滤波,并且作为改变值来输出。例如,当当前块的像素值l到 4和相邻块的像素值5到8被消块滤波器75更强烈地滤波时,相邻值3到6 发生改变,但是,如果这些像素值被消块滤波器75微弱地滤波,那么,只有 值4和5发生改变。因此,将相邻块的标志与当前块的标志进行比较,以调 整消块滤波器75的特性值。也就是说,当相邻块的标志与当前块的标志相同, 将消块滤波器75的滤波特性值设置成强值,否则,将其设置成弱值,从而获
得相对精确的滤波特性值。
可选地,滤波信息生成单元73可以将相邻块的标志VBF、 HBF和RF与当 前块的标志VBF、 HBF和RF相比较,并且#4居比较结果,建立滤波信息。其 结果是,建立的滤波信息可以比由当前块的标志构成的滤波信息更精确地得 到表达,在这种情况下,可以更精确地确定滤波特性值。
在根据第二实施例的图IO的滤波方法中,首先对像素块的最左列上的、 除了 DC分量之外的数个像素进行DCT和量化;然后对最上行上的、除了 DC 分量之外的数个像素进行DCT和量化;最后对不在像素块的最上行和最左列 上的、与DC分量相邻的像素进行DCT和量化。但是,可选地,也可以对上面 数个像素之一进行DCT和量化。
与根据第一实施例的方法相比,在根据第二实施例的方法中,以像素为 单位进行DCT和量化,从而减少了计算量。此外,与根据第一实施例的方法 一样,在根据第二实施例的方法中,可以进行DWT,而不是DCT。
同时,在第一和第二实施例中,编码器的环路滤波器用在执行滤波方法中。但是,滤波方法也可以以解码器中的后滤波器的方式来实现。
代表根据本发明的滤波方法的源代码的例子如下
lnfo[O=WEAK;
if( (RF of current block == 0) && (RF of left block == 0) H if( HBF of current block == 1 ) lnfo[O=STRONG; else lnfo[Oj = WEAK; if( HBF of left block == 1 ) lnfo[l] = STRONG; else lnfo[l=WEAK; if( HBF of left block == 1 ) lnfo[" = STRONG; else lnfo[1=WEAK;
Let Ptrlmage[Obe the left-top pixel of current 4x4 block and width be the picture width.
if (lnfo[O] == STRONG && Info[1 j == STRONG) { for(m=0; m<4; m++〉 {
o
=Ptrlmg[-3j; o[2]=Ptrlmg[-2]; o[3=Ptrlmg[-1]; o[4=Ptrlmg
=Ptrlmg[1]; o[6]=Ptrlmg[2]; o[7]=Ptrlmg[3];
Ptrlmg[-2] = (o
+2*o[1]+2*o[2+2*o[3]+o[4]+4)/8; Ptrlmg[-1] = (o[1]+2*o[2]+2*o[3]+2*o[4]+o[5+4)/8; Ptrlmg[O] = (o[2+2*o[3]+2*o[4+2*o[5]+o[6]+4)/8; Ptrlmg[1] = (o[3]+2*o[4]+2*o[5]+2*o[6]+o[7+4)/8;
根据上面源代码,可以4企查边界区域是否存在于一个块中,和通过比较 相邻块之间的滤波信息,可以更精确地4企测一个块中边界区域的存在。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了具体图示 和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作 各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
如上所述,在根据本发明的滤波方法和设备中,通过更有效地检测边界 区域,可以消除成块假象和/或振铃噪声。
权利要求
1.一种消除成块假象的滤波方法,包括步骤(a)逐块变换和量化视频数据;(b)基于通过所述变换和量化步骤获得的量化变换值而创建滤波信息;和(c)通过比较有关当前块的滤波信息和有关至少一个相邻块的滤波信息而确定该当前块的滤波强度,并基于所确定的滤波强度而对该视频数据进行滤波。
2. 根据权利要求1的滤波方法,其中步骤(a)包括(al )对视频数据逐块进行DCT,以获得DCT系数;和 (a2)量化DCT系数。
3. 根据权利要求1的滤波方法,其中步骤(a )包括对4 x 4像素块进行 DCT和量化,以获得4x4量化DCT块。
4. 根据权利要求2的滤波方法,其中步骤(b)包括根据量化DCT系数,创建指明存在成块假象和/或振铃噪声的程度的滤波信息。
5. 根据权利要求4的滤波方法,其中步骤(b)包括(bl)通过检查在 量化DCT块的最上行处的除了 DC分量之外的像素的值来创建滤波信息,其中 该滤波信息指明边界区域是否存在于原始像素块的垂直方向中。
6. 根据权利要求4的滤波方法,其中步骤(b)包括(b2)通过检查在 量化DCT块的最左列处的除了 DC分量之外的像素的值来创建滤波信息,其中 该滤波信息指明边界区域是否存在于原始像素块的水平方向中。
7. 根据权利要求4的滤波方法,其中步骤(b)包括(b3)通过检查不 在量化DCT块的最上行和最左列的像素的值而创建滤波信息,其中该滤波信 息指明边界区域是否存在于原始像素块的对角线方向中。
8. 根据权利要求4的滤波方法,其中步骤(b)通过检查DC分量A、在 量化DCT块的最上行处与DC分量相邻的像素B、和在量化DCT块的最左列处 与DC分量相邻的像素C的值,来创建滤波信息。
9. 根据权利要求8的滤波方法,其中步骤(b)包括当只有像素A具有 除了 Q之外的值时,把垂直成块标志VBF和水平成块标志HBF设置成1,作 为该滤波信息。
10. 根据权利要求9的滤波方法,其中步骤(c)包括如果HBF和VBF被 设置成1,则沿着像素块的垂直和水平方向更强烈地进行消块滤波。
11. 根据权利要求8的滤波方法,其中步骤(b)包括当只有像素A和B 具有除了O之外的值时,把VBF设置成1,作为该滤波信息。
12. 根据权利要求11的滤波方法,其中步骤(c)包括当VBF被设置成 1时,沿着像素块的垂直方向更强烈地进行消块滤波。
13. 根据权利要求8的滤波方法,其中步骤(b)包括当只有像素A和C 具有除了 Q之外的值时,把HBF设置成1,作为该滤波信息。
14. 根据权利要求13的滤波方法,其中步骤(c)包括当HBF被设置成 1时,沿着像素块的水平方向更强烈地进行消块滤波。
15. 根据权利要求8的滤波方法,其中当像素A、 B和C具有除了 0之外 的值时,把振铃标志RF设置成1。
16. 根据权利要求15的滤波方法,其中步骤(c)包括当RF被设置成1 时,更强烈地进行消铃滤波。
17. —种用于编码视频数据的编码器,该编码器包括环路滤波器,其中 该环路滤波器包括滤波信息生成单元,用于根据通过变换和量化像素块获得的量化变换值, 来创建滤波信息;滤波特性判定单元,用于才艮据所创建的滤波信息,来确定滤波特性;和消块滤波器,用于根据所确定的滤波特性,来进行消块滤波,其中该滤波信息生成单元通过比较有关当前块的滤波信息和有关该当前块的至少一个相邻块的滤波信息而确定该当前块的滤波强度,并且该消块滤波器基于所确定的滤波强度而对该视频数据进行滤波。
18. 根据权利要求17的编码器,其中该环路滤波器还包括 环路变换单元,用于逐块变换中间帧的像素值;和 环路量化单元,用于量化由该环路变换单元变换的值。
全文摘要
本发明提供了消除成块假象和振铃噪声的方法和设备。滤波方法包括逐块变换视频数据;和通过检查变换获得的值的分布,检测视频数据中边界区域的存在。因此,通过更有效地检测视频数据中的边界区域,可以完全消除成块假象和/或振铃噪声。
文档编号H04N7/24GK101568034SQ20091014702
公开日2009年10月28日 申请日期2003年1月30日 优先权日2002年1月31日
发明者朴正辉, 李英烈, 金容帝 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1