具有共用架构的边缘滤波器以及共用边缘滤波器的方法

文档序号:7747646阅读:146来源:国知局
专利名称:具有共用架构的边缘滤波器以及共用边缘滤波器的方法
技术领域
本发明涉及一种具有共用架构的边缘滤波器及其相关方法,尤其是指一种可以在不同视频标准下根据多个原始像素的系数的系数规则来产生共用中间值的边缘滤波器,以使此边缘滤波器可参照该共用中间值来过滤已解码区块之间的垂直边缘和/或水平边缘。
背景技术
多格式视频解码器可以支持各种视频标准,例如MPEG-4规格、VC-I规格、H. 264/ AVC规格、RMVB规格或者AVS规格等。通常为了要减少区块失真(blocking distortion), 会将一边缘滤波器应用在已解码区块/已解码宏区块(decoded macroblock)中来解决这个问题,由于边缘滤波器可以消除(平整)已解码区块/已解码宏区块之间的边缘来改善经过解码的画面的外观,因此也可以进一步提升压缩性能。一般而言,在不同的视频标准中,多格式视频解码器需要个别的硬件元件来实现边缘滤波器,然而,单独的硬件组件会造成成本上的增加以及占用晶片面积。因此,如何节省多格式视频解码器中边缘滤波器的成本以及晶片面积,也是本设计领域中的重要考虑之一。

发明内容
因此,本发明的目的之一在于提出一种具有共用架构的边缘滤波器及其相关的方法,以解决上述的问题。本发明公开一种具有共用架构的边缘滤波器。边缘滤波器包含输入单元以及共用边缘滤波器模组。输入单元用来接收第一已解码区块的多个第一原始像素以及第二已解码区块的多个第二原始像素。共用边缘滤波器模组耦接于该输入单元,并支持多个不同视频标准。共用边缘滤波器模组包组耦接于该输入单元,并支持多个不同视频标准。共用边缘滤波器模组包含一共用中间值产生器以及一滤波单元。共用中间值产生器耦接于该输入单元,其在一特定视频标准中,根据该多个第一原始像素以及该多个第二原始像素的系数的一系数规则,以利用从该多个第一原始像素以及该多个第二原始像素中所选取的原始像素来产生至少一共用中间值。滤波单元耦接于该共用中间值产生器,用来参照该系数规则来过滤该多个第一原始像素以及该多个第二原始像素,以产生多个第一过滤后像素以及多个第二过滤后像素。其中,该多个第一过滤后像素以及该多个第二过滤后像素中的至少两个像素通过该共用中间值来得到。本发明另公开一种在多个不同视频标准下共用一边缘滤波器的方法。该边缘滤波器用来过滤已解码区块之间的垂直边缘或者水平边缘,该方法包含以下步骤接收一第一已解码区块的多个第一原始像素以及一第二已解码区块的多个第二原始像素;在一特定视频标准下,根据该多个第一原始像素以及该多个第二原始像素的系数的一系数规则,以利用从该多个第一原始像素以及该多个第二原始像素中所选取的原始像素来产生至少一共用中间值;以及参照该系数规则来过滤该多个第一原始像素以及该多个第二原始像素,以产生多个第一过滤后像素以及多个第二过滤后像素;其中,该多个第一过滤后像素以及该多个第二过滤后像素中的至少两个像素通过该共用中间值来得到。
图7为说明图3所示的第二滤波模组作为一弱滤波器的一实施例的简化示意图。 图8为说明本发明在多个视频标准下共用一边缘滤波器的方法的一操作范例的
主要元件符号说明 A、B、C
p0 q0 PO' q0'
p3 q3
-p3' -q3'


图1为说明已解码区块之间的垂直边缘以及水平边缘的示意图。 图2为本发明具有共用架构的边缘滤波器的第一实施例的方块图。 图3为本发明具有共用架构的边缘滤波器的第二实施例的方块图。 图4为显示在不同的视频标准下,多个第一原始像素以及多个第二原始像素的系数的系数规则的第一实施范例的表格。
图5为说明图3所示的第一滤波模组作为一强滤波器的一实施例的示意图。 图6A以及图6B为显示在不同的视频标准下,多个第一原始像素以及多个第二原始像素的系数的系数规则的第二实施范例的表格(包含60A以及60B)。
流程图<

20,30 100
200,300
210,310,340
220,320,350
330
360
CR、CR1、CR2 X、X1、X2 共用 40、60A、60B a s、631 634 MUXl MUX6 SHl SH14 Y1、Y2、Y3、Y4 610 620
641 642、651 660
已解码区块第一原始像素第二原始像素第一过滤后像素第二过滤后像素边缘滤波器输入单元
共用边缘滤波器模块共用中间值产生器滤波单元第一滤波器模块第二滤波器模块系数规则中间值表格加法器多工器移位器节点
减法电路微分器 654截波电路索引控制器
670增量值产生器Codec_en编译码器信息S802 S8IO步骤
具体实施例方式在说明书及后续的权利要求当中使用了某些词汇来指代特定的组件。所属领域中具有公知常识的技术人员应当理解,硬件制造商可能会用不同的名词来称呼同样的组件。 本说明书及后续的权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求当中所提及的“包含”是开放式的用语,故应解释成“包含但不限定于”。另外,“耦接” 一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其它装置或连接手段间接地电气连接至该第二装置。首先,为了使本发明的说明书内容更易于理解,先简单描述一边缘滤波器的演算法。图1为说明了已解码区块之间的垂直边缘以及水平边缘的示意图。如图1所示,已解码区块A、B、C各为一个4x4大小的区块,且“边缘”位于任意两个已解码区块之间。举例来说,在已解码区块B (包含多个第一原始像素p0、pi、p2、p3)与已解码区块A(包含多个第二原始像素q0、q I、q2、q3)之间具有一垂直边缘(vertical edge);而在已解码区块C(包含多个第一原始像素P0、pi、p2、p3)与已解码区块A(包含多个第二原始像素qO、ql、q2、 q3)之间则具有一水平边缘(horizontal edge)。如本领域技术人员所知,边缘滤波器可以用来过滤已解码区块之间的垂直边缘或者水平边缘,以提升主观的视觉品质。更详细地来说,边缘滤波器可过滤多个第一原始像素PO P3以及多个第二原始像素q0 q3,来产生多个第一过滤后像素(例如,p0’ p3’ )以及多个第二过滤后像素(q0’ q3’),而所产生的第一过滤后像素p0’ p3’、第二过滤后像素q0’ q3’则可分别用来重新定义第一原始像素PO p3以及第二原始像素q0 q3。图2为本发明具有共用架构的边缘滤波器20的第一实施例的方块图。边缘滤波器20包含(但不局限于)一输入单元100以及一共用边缘滤波器模组200。输入单元100 用来接收一第一已解码区块的多个第一原始像素PO p3以及一第二已解码区块的多个第二原始像素q0 q3。而共用边缘滤波器模组200耦接于输入单元100,并支持多个不同的视频标准。共用边缘滤波器模组200包含一共用中间值产生器210以及一滤波单元220, 其中共用中间值产生器210耦接于输入单元100,在一特定视频标准下,共用中间值产生器 210会根据多个第一原始像素PO p3以及多个第二原始像素q0 q3的系数的一系数规则CR,以利用从多个第一原始像素p0 p3以及多个第二原始像素q0 q3中所选取的部分(或全部)原始像素来产生至少一共用中间值X。接着,滤波单元220会参照此系数规则 CR来过滤多个第一原始像素PO p3以及多个第二原始像素q0 q3,以产生多个第一过滤后像素p0’ p3’以及多个第二过滤后像素q0’ q3’。值得注意的是,多个第一过滤后像素p0, p3’以及多个第二过滤后像素q0, q3’中的至少两个像素可通过共用中间值X来得到。再者,在不同的视频标准下,多个第一原始像素PO p3以及多个第二原始像素q0 q3具有不同的系数,且共用边缘滤波器模组200在不同的视频标准下会参照不同的系数规则,如后续的图4(或者图6A以及图6B)
6中的实施例所示。图3为本发明具有共用架构的边缘滤波器30的第二实施例的方块图。图3中的边缘滤波器30的架构与图2所示的边缘滤波器20类似,两者不同之处在于边缘滤波器30 的共用边缘滤波器模组300包含一第一滤波器模组330以及第二滤波器模组360,且第一滤波器模组330作为一强滤波器(strong filter)以及第二滤波器模组360作为一正常/弱滤波器(normal/weakfilter)。其中第一滤波器模组330以及第二滤波器模组360各包含一共用中间值产生器310/340以及一滤波单元320/350。由于共用中间值产生器310/340 以及滤波单元320/350的相关运作跟前述的共用中间值产生器210以及滤波单元220完全相同,为简洁起见在此不再赘述。换句话说,共用中间值产生器210/310/340可根据系数规则CR/CR1/CR2,以利用第一原始像素PO p3以及多个第二原始像素q0 q3来产生共用中间值X/X1/X2。之后, 滤波单元220/320/350便可在各种不同的视频标准下,利用共用中间值X/X1/X2来产生多个第一过滤后像素p0, p3,以及多个第二过滤后像素q0’ q3’,如此一来,便可滤除已解码区块之间的垂直边缘和/或水平边缘。请注意,本发明所公开的边缘滤波器20、30可应用于一多格式视频解码器中。此外,上述的多个视频标准可包含一 H. 264/AVC规格、一 RMVB规格或者一 AVS规格,但此并非本发明的限制条件。请一并参考图4以及图5,图4中的表格40为显示在不同视频标准中多个第一原始像素以及多个第二原始像素的系数的系数规则的第一实施范例,而图5则为说明图3所示的第一滤波模组330的一实施例的示意图。在本实施例中,第一滤波器模组330作为一强滤波器,且参照图4所示的表格40中的系数规则来建立。在图4中,以H. 264/AVC规格、AVS规格以及RMVB规格(包含RV9格式)为例,来说明多个第一原始像素PO p3以及多个第二原始像素q0 q3的系数的系数规则。举例来说,对于H. 264/AVC规格而言,其过滤后像素p0’可通过下列表达式来描述p0,(H. 264) = [ ((p2+2xpl+2xp0+2xq0+ql) +4) >>3](1)。换言之,对于H. 264/AVC规格而言,过滤后像素p0,的系数规则CRl对应至各原始像素(P3,p2,pi, p0, q0, ql,q2,q3)可表示为(0,1,2,2,2,1,0,0),因此可以得到式子 (p2+2Xpl+2XpO+2XqO+ql)。接着,再将此式子(p2+2Xpl+2XpO+2XqO+ql)加上数字 “4”,并进行3位元的移位操作来执行四舍五入运算,最后可以得到在H. 264/AVC规格下的过滤后像素p0’的标准化像素值。再举例来说,对于RV9格式而言,其过滤后像素p0’可通过下列表达式来描述p0,(RV9) = [(25Xp2+26xpl+26xp0+26xq0+25xql)+Dl >>7] (2)。换言之,对于RV9格式而言,过滤后像素p0,的系数规则CRl对应至各原始像素(p3,p2,pi, p0,q0,ql, q2,q3)可表示为(0,251,26,26,26,25,0,0),因此可以得到式子(25Xp2+^Xpl+^XpO+^XqO+25Xql)。接着,再将此式子 (25Xp2+26Xpl+26XpO+26X qO+25X ql)加上特定数字“D1 ”,并进行7位的移位操作来执行四舍五入运算,最后可以得到在RV9格式下的过滤后像素p0’的标准化像素值。如图5所示,第一滤波器210参照图4所示的表格40中的系数规则来建立。在本实施例中,第一滤波器210可由多个加法器a S、多个多工器MUXl MUX6以及多个移位器SHl SH14来实现,但此并非本发明的限制条件。另外,由于这些组件的连接方式已如图5所示,为简洁起见在此不再赘述。值得注意的是,此处的多个加法器a s以及多个多工器MUXl MUX6充当图3中的共用中间值产生器310,其用来产生共用中间值Xl ;而此处的多个移位器SHl SH14则充当图3中的滤波单元320,其参照系数规则CRl来产生多个第一过滤后像素p0’ p3’以及多个第二过滤后像素q0’ q3’,且第一过滤后像素p0’ p3,以及第二过滤后像素q0, q3’通过共用中间值Xl来得到。举例来说,在节点Yl处,当多工器MUXl选择将加法器a的结果输出时,可以得到合成式子(p0+q0);在节点Y2处,当多工器MUX2选择将整数“2”输出时,可以得到合成式子 (p2+pl+p0+q0);在节点TO处,可以得到合成式子(p2+pl+hp0+2xq0);在节点W处,当多工器MUX4选择将整数“4”输出时,可以得到合成式子(p2+hpl+2xp0+hq0+ql+4)。最后, 在经过移位器SHlO的移位操作之后,可以得到合成式子[((p2+2Xpl+hpO+2XqO+ql)+4) >> 3],此即为在H. 264/AVC规格下的过滤后像素p0’。由于其它的过滤后像素在各种不同视频标准下,也可通过相同的方式来产生,为简洁起见在此不再赘述。请一并参考图6A、图6B以及图7,图6A以及图6B中的表格(包含60A以及60B) 为显示在不同视频标准下多个第一原始像素以及多个第二原始像素的系数的系数规则的第二实施范例,而图7则为说明图3所示的第二滤波模组360的一实施例的简化示意图。在本实施例中,第二滤波模组360作为一正常/弱滤波器,且其参照图6A以及图6B所示的表格60A、60B中的系数规则来建立。在图6A以及图6B中,以H. ^4/AVC规格、VC-I规格以及RMVB规格(包含RV8、RV9 格式的正常滤波器格式以及RV9格式的弱滤波器)为例,来说明多个第一原始像素p0 p3 以及多个第二原始像素q0 q3的系数的系数规则。举例来说,对于H. ^4/AVC规格而言, 其过滤后像素pl’可通过下列表达式来描述pl ‘ (H. 264) = [ ((p2-2xpl)+0) >>2](3)。换言之,对于H. 264/AVC规格而言,过滤后像素pl,的系数规则CR2对应至各原始像素(p3,p2,pl, p0, q0, ql,q2,q3)可表示为(0,1, _2,0,0,0,0,0),因此可以得到式子 (p2-hpl)。接着,再将此式子(p2-2xpl)加上数字“0”,并进行2位的移位操作来执行四舍五入运算,最后可以得到在H. 264/AVC规格下的过滤后像素pl’的标准化像素值。再举例来说,对于RV9格式的正常滤波器而言,其过滤后像素p0’ (亦可标示为 Li’ )可通过下列表达式来描述Li,(RV9_normal) = Clip (0,255, (Ll+D)) (4)。请注意,上述的数值” D”可另由下列表达式来描述D = [((pl-4xp0+4xq0-ql)+4) >>3](5)。换言之,对于RV9格式的正常滤波器而言,数值”D”的系数规则CR2对应至各原始像素(p3,p2,pl,p0,q0,ql,q2,q3)可表示为(0,0,1,_4,4,_1,0,0),因此可以得到式子 (pHXpO+4XqO-ql)。接着,再将此式子(pHxpO+4 X q0_ql)加上数字“4”,并进行3位的移位操作来执行四舍五入运算,因此可以得到在RV9格式下的正常滤波器的数值”D”的标准化像素值,最后再根据上述的表达式即可得到在RV9格式下的正常滤波器的过滤后像素p0’(亦可标示为Li’)的标准化像素值。如图7所示,第二滤波器220参照图6A、图6B所示的表格60A、60B中的
8系数规则所建立。在本实施例中,第二滤波器220可由一减法电路610、一微分器 (differentiator) 620、一索引控制器 660、一增量值产生器(deltavalue generator) 670、 多个加法器631 634以及多个截波电路(clippingcircuit)641 642、651 654来实现,但此并非本发明的限制条件。另外,由于这些组件的连接方式已如图7所示,为简洁起见在此不再赘述。值得注意的是,此处的减法电路610、微分器620、索引控制器660、增量值产生器670、多个加法器631 634以及多个截波电路641 642充当图3中的共用中间值产生器340,其用来产生共用中间值X2;而此处的多个截波电路651 肪4则充当图3中的滤波单元350,其参照系数规则CR2来产生多个第一过滤后像素(如ρ0’、ρΓ )以及多个第二过滤后像素(如q0’、ql’),且该过滤后像素通过共用中间值X2来得到。请注意,此处的微分器620、索引控制器660以及增量值产生器670为简化后的组件,该组件可在不同视频标准下根据一编解码器信息Codec_en来动态设定。请注意,以上所述的实施例仅用来说明本发明的可行实施例,并非本发明的限制条件。当然,本领域的技术人员应当了解,在不违背本发明的精神的情况下,以其它设计来实现共用边缘滤波器模组200或共用边缘滤波器模组300 (包含第一滤波器模组330以及第一滤波器模组360)皆是可行的。图8为说明本发明在多个视频标准下共用一边缘滤波器的方法之一操作范例的流程图,其包含以下的步骤(请注意,假若可得到大致相同的结果,则下列步骤并非限定要依据图8所示的顺序来执行)步骤S802:开始。步骤S804:接收第一已解码区块的多个第一原始像素以及第二已解码区块的多个第二原始像素。步骤S806 在特定视频标准下,根据多个第一原始像素以及多个第二原始像素的系数的系数规则,以利用从多个第一原始像素以及多个第二原始像素中所选取的原始像素来产生至少一共用中间值。步骤S808 参照系数规则来过滤多个第一原始像素以及多个第二原始像素,以产生多个第一过滤后像素以及多个第二过滤后像素。步骤S810 多个第一过滤后像素以及多个第二过滤后像素中的至少两个像素通过共用中间值来得到。关于图8所示的各步骤请搭配图2或图3所示的各组件,即可了解各组件之间如何运作,为简洁起见在此不再赘述。请注意,步骤S804可由输入单元100来执行,步骤S806可由共用中间值产生器210/310/340来执行,而步骤S808、S810则可由滤波单元 220/320/350 来执行。请再注意,上述的流程图的步骤仅为本发明可行的实施例,并非本发明的限制条件,本领域技术人员应当了解,在不违背本发明的精神下,图8的流程的步骤可再增加其它的中间步骤或者可将数个步骤合并成单一步骤。以上所述的实施例仅用来说明本发明的技术特征,并非用来局限本发明的范畴。 由上可知,本发明提供一种具有共用架构的边缘滤波器及其相关的过滤方法。通过在不同视频标准下利用多个原始像素的系数的系数规则来产生共用中间值,此外,可参照该系数规则来建立强滤波器、正常滤波器/弱滤波器,则边缘滤波器便可通过该共用中间值来过滤原始像素。因此,边缘滤波器(包含共用边缘滤波器模组)便可以在不同的视频标准下参照该共用中间值来过滤已解码区块之间的垂直边缘和/或水平边缘。如此一来,便可以达到节省多格式视频解码器中边缘滤波器的成本以及晶片面积的目的。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的等价变化和变型,皆应该属于本发明的覆盖的范围。
权利要求
1.一种具有共用架构的边缘滤波器,用来过滤已解码区块之间的垂直边缘或者水平边缘,该边缘滤波器包含一输入单元,用来接收一第一已解码区块的多个第一原始像素以及一第二已解码区块的多个第二原始像素;以及一共用边缘滤波器模组,耦接于该输入单元,并支持多个不同视频标准,该共用边缘滤波器模组包含一共用中间值产生器,耦接于该输入单元,其在一特定视频标准下,根据该多个第一原始像素以及该多个第二原始像素的系数的一系数规则,以利用从该多个第一原始像素以及该多个第二原始像素中所选取的原始像素来产生至少一个共用中间值;以及一滤波单元,耦接于该共用中间值产生器,用来参照该系数规则来过滤该多个第一原始像素以及该多个第二原始像素,以产生多个第一过滤后像素以及多个第二过滤后像素;其中,该多个第一过滤后像素以及该多个第二过滤后像素中的至少两个像素通过该共用中间值来得到。
2.根据权利要求1所述的边缘滤波器,其中在该多个不同视频标准下,该多个第一原始像素以及该多个第二原始像素具有不同的系数。
3.根据权利要求1所述的边缘滤波器,其中该共用边缘滤波器模组在该多个不同视频标准下,会参照不同的系数规则。
4.根据权利要求1所述的边缘滤波器,其中该共用边缘滤波器模组包含一第一滤波器模组以及一第二滤波器模组;且该第一滤波器模组作为一强滤波器,该第二滤波器模组作为一正常/弱滤波器。
5.根据权利要求4所述的边缘滤波器,其中该第一滤波器模组包含多个加法器、多个多工器以及多个移位器。
6.根据权利要求4所述的边缘滤波器,其中该第二滤波器模组包含一减法电路、一微分器、一索引控制器、一增量值产生器、多个加法器以及多个截波电路。
7.根据权利要求1所述的边缘滤波器,其应用在一多格式视频解码器中。
8.根据权利要求1所述的多格式视频解码器,其中该多个视频标准包含一H. 264/AVC 规格、一 RMVB规格或者一 AVS规格。
9.一种在多个不同视频标准下共用一边缘滤波器的方法,该边缘滤波器用来过滤已解码区块之间的垂直边缘或者水平边缘,该方法包含以下步骤接收一第一已解码区块的多个第一原始像素以及一第二已解码区块的多个第二原始像素;在一特定视频标准下,根据该多个第一原始像素以及该多个第二原始像素的系数的一系数规则,以利用从该多个第一原始像素以及该多个第二原始像素中所选取的原始像素来产生至少一共用中间值;以及参照该系数规则来过滤该多个第一原始像素以及该多个第二原始像素,以产生多个第一过滤后像素以及多个第二过滤后像素;其中,该多个第一过滤后像素以及该多个第二过滤后像素中的至少两个像素通过该共用中间值来得到。
10.根据权利要求9所述的方法,其中在该多个不同视频标准下,该多个第一原始像素以及该多个第二原始像素具有不同的系数。
11.根据权利要求9所述的方法,其中在该多个不同视频标准下,该多个第一原始像素以及该多个第二原始像素的系数具有不同的系数规则。
12.根据权利要求9所述的方法,其中该多个视频标准包含一H. ^4/AVC规格、一 RMVB 规格或者一 AVS规格。
全文摘要
边缘滤波器包含输入单元、共用边缘滤波器模组。输入单元接收已解码区块的多个第一、第二原始像素。共用边缘滤波器模组包含共用中间值产生器以及滤波单元。共用中间值产生器在特定视频标准下,根据第一、第二原始像素的系数的系数规则,以利用从该第一、第二原始像素中所选取的原始像素来产生至少一共用中间值。滤波单元参照系数规则来过滤该第一、第二原始像素,以产生多个第一、第二过滤后像素。该第一、第二过滤后像素中的至少两个像素通过共用中间值来得到。
文档编号H04N7/26GK102223530SQ20101016162
公开日2011年10月19日 申请日期2010年4月13日 优先权日2010年4月13日
发明者周淑娴 申请人:承景科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1