去除视频图像中块效应的滤波方法及环路滤波器的制作方法

文档序号:7611885阅读:189来源:国知局
专利名称:去除视频图像中块效应的滤波方法及环路滤波器的制作方法
技术领域
本发明涉及到多媒体领域的视频图像平滑滤波技术,特别涉及到一种去除视频图像中块效应的滤波方法及实现该方法的环路滤波器。
背景技术
在视频压缩编码过程中,为了消除视频图像数据帧的空间相关性,通常将每一帧的像素划分成若干个N×N的像素块,称为宏块,一般情况下,N为16。其中,每个宏块还可以进一步划分为1个16×16或若干个8×8、16×8、8×16或4×4的小块,并在视频图像的编码处理过程中,以所划分的小块为视频编码以及运动估计的基本单位。上述这种对像素进行分块编码处理的方法可以减少视频图像数据帧在空间上的信息冗余,实现传输视频图像所需数据量的压缩。但是,由于在视频压缩过程中引入的量化操作是有损压缩,因而容易导致视频图像的块效应,即在接收的图像中可能会出现通常所说的“马赛克”现象,造成视频图像的主观质量下降。因此,在图像处理的过程中,必须存在一种消除图像块效应的方法,以提高用户接收的视频图像的质量。

发明内容
为了解决上述技术问题,本发明提供了一种去除视频编码中块效应的方法,可以消除视频图像由于分块编码处理所造成的块效应,提高用户所接收视频图像的质量。
本发明还提供了一种环路滤波器,可以应用本发明所述去除视频图像块效应的方法,去除输入视频图像中的块效应,实现视频图像的实时编、解码。
本发明所述去除视频图像中块效应的滤波方法,包括滤波判决以及滤波执行两个步骤,其中,所述滤波判决为根据接收图像的像素及编码信息,确定每两个相邻小块的边界上是否存在图像的真实边缘以及确定每两个相邻小块的块效应值,其中,不同的块效应值与不同的滤波力度一一对应;所述滤波执行为对于在边界上存在真实边缘的相邻小块,不进行滤波;对于在边界上不存在真实边缘的相邻小块,按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波。
本发明所述确定两个相邻小块的边界上是否存在图像的真实边缘包括A、根据接收图像的像素,分别计算相邻小块的块间像素差值绝对值以及该相邻小块中每一个小块的块内像素差值绝对值;B、将计算得到的块间像素差值绝对值以及块内像素差值绝对值与预先设定的块间像素差值门限以及块内像素差值门限进行比较,如果所述块间像素差值绝对值大于所述块间像素差值门限,或者所述相邻小块中有一个小块的块内像素差值绝对值大于所述块内像素差值门限,则两个小块的边界上存在图像的真实边缘;否则,两个相邻小块的边界上不存在图像的真实边缘。
本发明所述确定两个相邻小块的块效应值为对接收图像的编码信息进行判断,当所述两个相邻小块中的任一个小块为帧内编码的宏块边缘小块时,确定块效应值为对应强滤波的块效应值;当所述两个相邻小块均不是帧内编码的宏块边缘小块,但是存在运动预测差别或者编码系数差别的小块时,确定块效应值为对应弱滤波的块效应值;当以上条件都不满足时,确定块效应值为对应不滤波的块效应值。
本发明所述帧内编码的宏块边缘小块为属于帧内预测宏块并且其边界为所属帧内预测宏块边界的小块;所述两个相邻小块均不是帧内编码的宏块边缘小块,但是存在运动预测差别或者编码系数差别的小块为满足以下四个条件之一的小块
属于帧内预测宏块,但其边界不是所属宏块的边界;编码系数不全为零;与其相邻小块的参考帧不相同;与其相邻小块的参考帧相同,但是与相邻小块运动矢量的差值至少有一个分量大于一个像素。
本发明所述对应弱滤波的块效应值进一步包括为3个子等级;所述对应弱滤波的块效应值子等级的确定方法如下当所述两个相邻小块中的任一个小块属于帧内预测宏块,但属于帧内预测宏块的小块边界不是其所属宏块的边界时,确定对应弱滤波的块效应值子等级为弱滤波的第一子等级;当所述两个相邻小块中至少有一个小块的编码系数不全为零时,确定对应弱滤波的块效应值子等级为第二子等级;当所述两个相邻小块的参考帧不相同或者所述两个相邻小块的参考帧相同,但是所述两个小块运动矢量的差值至少有一个分量大于一个像素时,确定对应弱滤波的块效应值子等级为第三子等级。
本发明所述按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波为当块效应值为对应不滤波的块效应值时,不进行滤波,直接输出接收的图像以及编码信息;当块效应值为对应弱滤波的块效应值时,对接收的图像均执行与弱滤波力度对应的差值滤波;当块效应值为对应强滤波的块效应值时,对接收的图像执行与强滤波力度对应的均值滤波。
本发明所述差值滤波的方法如下a1、根据相邻小块边界两边的像素计算对滤波窗口内各像素进行调整所需的小量;
b1、根据相邻两个小块的量化系数的算数平均值,在预先建立的与量化系数相关的像素增减差值门限表中查找相应的像素增减差值门限,并将步骤a1计算得到的小量限制在查找得到的像素增减差值门限范围内;c1、将滤波窗口内各像素与其经过步骤b1限制的对应小量相加,得到滤波窗口内各像素滤波后的像素。
设P1、P0以及Q0、Q1为两个相邻小块边界上顺序排列的像素,其中,P0和Q0为所述滤波窗口内像素,其对应的小量为Delta-P0、Delta-Q0;步骤a所述计算为使用权重系数(1,-2,2,-1)计算小量Delta-P0和Delta-Q0。
设P2、Q2为两个相邻小块边界上与P1或Q1相邻的像素,P1和Q1也为所述滤波窗口内像素,其对应的小量为Delta-P1、Delta-Q1;步骤a所述计算为使用权重系数(2,-3,1)计算小量Delta-P1和Delta-Q1。
本发明所述差值滤波方法如下a2、根据相邻小块边界两边的像素计算对滤波窗口内各像素进行调整所需的小量;b2、根据相邻两个小块的对应弱滤波的块效应值子等级,在预先建立的与块效应值子等级相关的像素增减差值门限表中查找相应的像素增减差值门限,并将步骤a2计算得到的小量限制在查找得到的像素增减差值门限范围内;c2、将滤波窗口内各像素与其经过步骤b2限制的对应小量相加,得到滤波窗口内各像素滤波后的像素。
设P2、P1、P0以及Q0、Q1、Q2为两个相邻小块边界上顺序排列的像素,其中,P1、P0及Q0、Q1为所述滤波窗口内像素,其对应的小量为Delta-P0、Delta-P1、Delta-Q0及Delta-Q1;步骤a1所述计算为使用权重系数(1,-4,4,-1)计算小量Delta-P0、Delta-Q0,使用权重系数(2,-4,1,1)计算小量Delta-P1、Delta-Q1。
本发明所述均值滤波为根据相邻小块边界两边的像素重新计算滤波窗口内各点像素。
设P1、P0以及Q0、Q1为两个相邻小块边界上顺序排列的像素,其中,P0和Q0为所述滤波窗口内像素;所述计算为使用权重系数(1,2,1)计算像素P0和Q0。
设P1和Q1也为所述滤波窗口内像素;所述计算为使用权重系数(1,2,1)计算像素P1和Q1。
设P3、P2、P1、P0以及Q0、Q1、Q2、P3为两个相邻小块边界上顺序排列的像素,其中,P2、P1、P0及Q0、Q1、Q2为所述滤波窗口内像素;所述计算为使用权重系数(1,2,2,2,1)计算像素P0、Q0,使用权重系数(1,1,1,1)计算像素P1、Q1,使用权重系数(2,3,1,1,1)计算像素P2、Q2。
本发明所述去除视频图像中块效应的环路滤波器,包括滤波判决单元(100),用于对输入的图像进行边缘检测,以及确定两个相邻小块的块效应值,其中,不同的块效应值与不同的滤波力度一一对应;滤波执行单元(200),用于根据滤波判决单元(100)输入的边缘检测结果以及确定的块效应值进行判断,对于在边界上存在真实边缘的相邻小块,不进行滤波;对于在边界上不存在真实边缘的相邻小块,按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波。
本发明所述滤波判决单元(100)进一步包括像素及编码信息存储模块(110),用于接收并缓存输入的待处理图像的像素以及相邻两个小块的编码信息,并输出;门限值确定模块(120),用于根据来自像素及编码信息存储模块(110)编码信息中两个小块的量化系数,确定用于进行边缘检测的块间像素差值门限以及块内像素差值门限,并将这两个门限值输出到边缘检测模块(150);像素差值计算模块(130),用于根据来自像素及编码信息存储模块(110)的像素计算相邻小块边界上像素的像素差值绝对值,并将计算得到的差值绝对值输出到边缘检测模块(150);边缘检测模块(150),用于根据输入的门限值以及像素差值绝对值,判决所述相邻小块边界上是否存在图像的真实边缘,并将判决结果输出到滤波执行单元(200);块效应值计算模块(140),用于根据来自像素及编码信息存储模块(110)的像素及编码信息计算所述相邻小块的块效应值,并将确定的块效应值以及所述的像素和编码信息输出到滤波执行单元(200)。
本发明所述滤波执行单元(200)进一步包括滤波触发模块(210),用于根据来自所述滤波判决单元(100)的边缘检测结果以及块效应值进行滤波判决,对相邻小块边界上存在图像真实边缘或块效应值对应的滤波力度为不滤波的小块,将输入的像素及编码信息直接输出;对块效应值对应的滤波力度为弱滤波的小块,将输入的像素及编码信息输出到差值滤波模块(220);对块效应值对应的滤波力度为强滤波的小块,将输入的像素及编码信息输出均值滤波模块(230);差值滤波模块(220),用于对输入的像素及编码信息进行差值滤波;均值滤波模块(230),用于对输入的像素及编码信息进行均值滤波。
由此可以看出,总体来讲,应用本发明所述的去除视频编码中块效应的方法以及环路滤波器可以去除视频图像中的块效应,提高用户接收的视频图像质量,实现视频图像的实时编码。


图1为视频图像中两个相邻小块边界两边的像素示意图;图2显示了本发明所述环路滤波器的结构。
具体实施例方式
为使发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
为了去除视频图像中的块效应,本发明提供了一种去除视频图像中块效应的方法,该方法采用平滑滤波处理方法对所划分小块边界两边的像素进行处理,以去除小块之间的块效应。图1为视频图像中两个相邻小块边界两边的像素示意图。图1中的每个小方格代表视频图像中的一个像素,如图1所示,所述视频图像在P0和Q0点被分成了两个小块。这两个小块边界两边的像素可以依次命名为P3、P2、P1、P0以及Q0、Q1、Q2、Q3。所述的平滑滤波方法就是对上述边界两边的像素进行平滑滤波处理,以达到去除视频图像块效应的目的。
本发明所述的去除视频图像中块效应的滤波方法主要包括滤波判决以及滤波执行两个步骤。
其中,所述的滤波判决具体为根据接收图像的像素及编码信息,确定每两个相邻小块的边界上是否存在图像的真实边缘,同时确定每两个相邻小块的块效应值,其中,相邻小块的不同的块效应值与不同的滤波力度是一一对应的。
所述滤波执行具体为对于在边界上存在真实边缘的相邻小块,不进行滤波;对于在边界上不存在真实边缘的相邻小块,按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波。
下面将通过本发明的优选实施例对本发明所述去除视频图像块效应的方法作进一步的详细说明。
实施例1本实施例所述的方法将相邻小块之间的块效应划分为5个等级,并使用块效应值Bs参数来表示相邻小块之间的块效应等级,该参数的取值范围为0到4,其中,Bs值越大表明相邻小块之间的块效应越严重,需要进行越强的平滑滤波处理。
本实施例所述的滤波判决方法包括以下步骤步骤11根据输入的两个相邻小块的像素对输入的两个相邻小块进行边缘检测,判断在所述相邻小块的边界上是否存在真实的边缘,如果存在真实边缘,则判定不需要对输入的相邻小块执行滤波,然后结束所述的滤波判决流程;否则,执行步骤12。
在该步骤中,所述的边缘检测包括以下步骤
a、计算所述相邻小块边界两边像素差值的绝对值;所计算的像素差值一共有三个,包括相邻小块边界两边小块间相邻的一对像素的差值,即块间像素差值,如图1中两个小块边界上像素P0和Q0差值,该差值的绝对值为C1;还包括相邻小块边界两边两个小块内部距离边界最近的各一对像素的差值,即块内像素差值,如P0和P1差值,其绝对值为C2,以及Q0和Q1差值,其绝对值为C3;b、将计算得到的差值与预先设定的块间像素差值门限以及块内像素差值门限进行比较,判断所述一个小块间像素的差值是否大于所述块间像素差值门限,或者所述两个小块内像素的差值是否有一个大于所述块内像素差值门限,如果是,则认为这两个小块边界处存在图像的真实边缘,不是块效应,因而不能进行滤波,以避免平滑掉图像的细节;否则,判定两个小块边界不存在图像的真实边缘,可能需要进行滤波。
在该步骤中,所述预先设定的块间像素差值门限值以及块内像素差值门限由两个表,即α表和β表确定。其中,α表记录了在不同的量化步长QP下,相邻小块边界两边小块间相邻像素的块间差值门限值,β表记录了在不同量化步长QP下,相邻小块边界两边小块内部像素差值门限值。在进行比较判决之前,需要首先将所述两个相邻小块的QP值取算数平均后的平均值作为基准去索引所述的α,β表,将检索到的α表及β表中与当前量化步长QP对应的门限值作为判别的块间差值门限α以及块内差值门限β,然后再进行边缘检测。
所述边缘检测的方法具体为当计算得到的小块间像素差值的绝对值小于α表中与当前量化步长QP对应的块间像素差值门限α,并且两个小块内部像素差值的绝对值也小于β表中对应的块内像素差值门限β时,则这两个小块的边界不包含图像的真实边缘;否则,这两个小块的边界则包含图像的真实边缘。
例如,将图1中的P0和Q0相减得到差值绝对值C1与α表中与相应量化步长QP对应的门限值α进行比较;将P0和P1相减得到差值的绝对值C2,以及将Q0和Q1相减得到差值的绝对值C3,与β表中与相应量化步长QP对应的门限值β进行比较,如果C1小于α,C2小于β,且C3小于β,则这两个小块的边界不存在图像的真实边缘,需要进行滤波;反之,则存在图像的真实边缘,不需要进行滤波。
步骤12对于可能需要进行滤波处理的相邻小块,根据输入的两个相邻小块的编码信息,包括小块所属宏块的编码类型,小块的运动矢量,参考帧,量化系数QP以及编码系数等等参数计算当前相邻两个小块的块效应值Bs,确定所述相邻小块的滤波等级。
所述块效应值Bs的计算方法如下对所述相邻两个小块所属宏块的编码类型进行判断,如果所述相邻两个小块中至少有一个为帧内编码的小块,即属于帧内预测宏块并且其边界也是所属宏块的边界,则块效应值Bs等于4;如果所述两个相邻小块中有一个属于帧内预测宏块或两个都属于帧内预测宏块,但属于帧内预测宏块的小块边界不是其所属宏块的边界,则块效应值Bs等于3;如果所述两个相邻小块中至少有一个小块的编码系数不全为零,则块效应值Bs等于2;如果所述两个相邻小块的参考帧不相同或者所述两个相邻小块的参考帧相同,但是所述两个小块运动矢量的差值至少有一个分量大于一个像素,则块效应值Bs等于1;如果以上所有的条件都不满足,则块效应值Bs等于0。
在得到了两个相邻小块的块效应值Bs之后,就可以根据块效应值Bs,选择相应的滤波方法对不存在图像真实边缘的输入小块完成滤波执行步骤。所述的滤波执行具体为对于不存在图像真实边缘,可能需要滤波处理的小块,根据其块效应值Bs确定滤波的执行力度当块效应值Bs为0时,不进行滤波,直接输出接收的图像以及编码信息;当块效应值Bs为1至3时,对接收的图像执行弱滤波;当块效应值为4时,对接收的图像执行强滤波。
下面参照图1,以水平方向为例,详细说明本实施例所述的弱滤波以及强滤波方法。
所述弱滤波为滤波窗口宽度为4,抽头数为4的差值滤波,所述的差值滤波将重新计算得到相邻小块边界像素P1、P0、Q0及Q1的值,计算方法如下首先,根据相邻小块边界两边的像素P2、P1、P0、Q0、Q1及Q2分别计算得到调整所述像素P1、P0、Q0及Q1的小量Delta-P1、Delta-P0、Delta-Q0及Delta-Q1,其中,所述计算为使用权重系数(1,-4,4,-1)计算小量Delta-P0、Delta-Q0,使用权重系数(2,-4,1,1)计算小量Delta-P1、Delta-Q1。具体来讲,所述小量Delta-P1、Delta-P0、Delta-Q0及Delta-Q1的计算公式如下Delta-P1=P2×2+P0+Q0-P1×44;]]>Delta-P0=(Q0-P0)×4+P1-Q18;]]>Delta-Q0=(P0-Q0)×4+Q1-P18;]]>Delta-Q1=Q2×2+Q0+P0-Q1×44.]]>然后,再根据相邻两个小块的块效应值Bs,此时Bs的取值范围是1至3,在预先建立的与相邻小块的块效应值相关的像素增减差值门限表Clip1中查找相应的像素增减差值门限clip1,也即所述小量的门限,将小量限制在查找得到的像素增减差值门限范围[-clip1,clip1]内。
最后,再将像素P1、P0、Q0及Q1的值与计算得到并经过像素增减差值门限clip1限定的小量Delta-P1、Delta-P0、Delta-Q0及Delta-Q1分别求和,得到最终滤波后P1、P0、Q0及Q1的像素。
所述强滤波为滤波窗口宽度为6,抽头数为5的均值滤波,在滤波过程中,使用权重系数(1,2,2,2,1)重新计算像素P0、Q0,使用权重系数(1,1,1,1)重新计算像素P1、Q1,使用权重系数(2,3,1,1,1)重新计算像素P2、Q2。具体来讲,所述均值滤波将采用如下的公式重新计算相邻小块边界像素P1、P0、Q0及Q1的值
P2=P3×2+P2×3+P1+P0+Q08;]]>P1=Q0+P0+P1+P24;]]>P0=Q1+Q0×2+P0×2+P1×2+P28;]]>Q0=P1+P0×2+Q0×2+Q1×2+Q28;]]>Q1=P0+Q0+Q1+Q24;]]>Q2=Q3×2+Q2×3+Q1+Q0+P08.]]>通过上述计算公式,就可以获得经过差值或均值滤波后相邻小块边界两边的像素值,从而去除视频图像中的块效应。本领域的技术人员可以理解,上述计算公式仅是本实施例较佳的实现形式,除了上述公式之外,还可以采用任何其他合适的计算公式来计算小块边界两边的像素,而不会超出本发明意欲保护的范围。
需要说明的是,由于视频图像的小块包含水平边界和垂直边界,因此,视频图像的滤波也分为水平滤波和垂直滤波两个方向。上面虽然仅以水平方向为例说明了相邻小块的滤波方法,垂直方向的平滑滤波方法也基本相同。
由此可以看出,通过上述滤波判决以及滤波执行步骤,可以根据相邻两个小块之间块效应值,选择不同力度的滤波方法对输入的图像进行平滑滤波处理,达到有效去除视频图像中块效应的目的。但是,由于上述滤波方法的滤波窗口宽度较大、抽头较多,使得滤波算法的复杂度较高,因而造成滤波过程的计算量很大。有统计表明,解码器端平滑滤波的计算量大约占了整个解码器计算量的20%,这样大的计算量将耗费太多的CPU或DSP的计算能力,实现起来比较困难。
从上述实施例1的滤波执行步骤来看,在本实施例所述的滤波方法中,对块效应值为1至3的相邻小块均采用对应弱滤波力度的差值滤波方法进行处理,仅对块效应值为4的相邻小块,才采用对应强滤波力度的均值滤波方法进行处理。并且在进行差值滤波过程中,相邻小块的块效应值仅用于限定像素调整的小量,而并不决定滤波执行时滤波算法的力度。据此,可以通过合并上述对应弱滤波力度的块效应值的方法来简化上述滤波算法,以减少上述滤波过程的计算量。
实施例2为了解决上述问题,降低平滑滤波算法的复杂程度以及计算量,本实施例提供了一种简化的去除视频图像块效应的滤波方法,对实施例1所述的滤波方法进行了简化。该方法将相邻小块之间的块效应划分为三个等级,同样使用块效应值Bs参数来表示,该参数的取值范围从0到2,分别对应于三个等级的平滑滤波力度,即不滤波,弱滤波和强滤波。其中,对块效应值Bs为0的相邻小块来讲,将不进行滤波;对块效应值Bs为1的相邻小块来讲,将执行弱滤波,而对应于块效应值Bs为2的相邻小块来讲,将执行强滤波。
本发明所述的滤波方法也主要包括滤波判决以及滤波执行两个步骤。下面将首先详细说明本发明所述的滤波判决方法。
本发明所述的滤波判决方法包括以下步骤步骤21根据输入的两个相邻小块的像素对输入的两个相邻小块进行边缘检测,判断在所述相邻小块的边界上是否存在真实的边缘,如果存在真实边缘,则判定不需要对输入的相邻小块执行滤波,然后结束所述的滤波判决流程;否则,执行步骤22。
在该步骤中,所述的边缘检测与实施例1所述的边缘检测方法相同。
步骤22对于可能需要进行滤波处理的相邻小块,根据输入的两个相邻小块的编码信息,包括小块所属宏块的编码类型,小块的运动矢量,参考帧,量化系数QP以及编码系数等等参数计算当前相邻两个小块的块效应值Bs,确定所述相邻小块的滤波等级。
所述块效应值Bs的计算方法如下
对所述相邻两个小块所属宏块的编码类型进行判断,如果所述相邻两个小块中至少有一个为帧内编码的小块,即属于帧内预测宏块,并且其边界也是所属宏块的边界,则块效应值Bs等于2;否则,如果所述两个相邻小块均不是帧内编码的宏块边缘小块,但是存在运动预测差别或者编码系数差别的小块,即满足以下四个条件中的任一个,则块效应值Bs等于1A、所述两个相邻小块中有一个属于帧内预测宏块或两个都属于帧内预测宏块,但属于帧内预测宏块的小块边界不是其所属宏块的边界;B、所述两个相邻小块中至少有一个小块的编码系数不全为零;C、所述两个相邻小块的参考帧不相同;D、所述两个相邻小块的参考帧相同,但是所述两个小块运动矢量的差值至少有一个分量大于一个像素;如果以上所有的条件都不满足,则块效应值Bs等于0。
在得到了两个相邻小块的块效应值Bs之后,就可以根据块效应值Bs,选择相应的滤波方法对不存在图像真实边缘的输入小块完成滤波执行步骤。所述的滤波执行具体为对于不存在图像真实边缘,可能需要滤波处理的小块,根据其块效应值Bs确定滤波的执行力度,当块效应值Bs为0时,不进行滤波,直接输出接收的图像以及编码信息;当块效应值Bs为1时,对接收的图像执行弱滤波;当块效应值为2时,对接收的图像执行强滤波。
在执行强滤波和弱滤波的过程中,本实施例也可以采用实施例1所述的方法,但是,为了进一步降低滤波算法的复杂程度以及计算量,本实施例所述的强滤波以及弱滤波方法与实施例1所述的方法相比,在滤波过程中,使用了较小的窗口宽度以及抽头数目。
下面也参照图1,同样以水平方向为例,详细说明本实施例所述的弱滤波以及强滤波方法。
本实施例所述的弱滤波为滤波窗口宽度为4,抽头数为3或4的差值滤波,所述的差值滤波将重新计算相邻小块边界像素P1、P0、Q0及Q1的值,计算方法如下首先,根据相邻小块边界两边的像素P2、P1、P0、Q0、Q1及Q2分别计算得到调整所述像素P1、P0、Q0及Q1的小量Delta-P1、Delta-P0、Delta-Q0及Delta-Q1,其中,所述计算为使用权重系数(2,-3,1)计算小量Delta-P1、Delta-Q1,使用的权重系数(1,-2,2,-1)计算小量Delta-P0、Delta-Q0。具体来讲,所述小量Delta-P1、Delta-P0、Delta-Q0及Delta-Q1的计算公式如下Delta-P1=(P2-P1)×2+(Q0-P1)4;]]>Delta-P0=(Q0-P0)×2+(P1-Q1)4;]]>Delta-Q0=(P0-Q0)×2+(Q1-P1)4;]]>Delta-Q1=(Q2-Q1)×2+(P0-Q1)4.]]>然后,根据相邻两个小块的量化系数QP的算数平均值,在预先建立的与量化系数QP相关的像素增减差值门限表Clip2中查找相应的像素增减差值门限clip2,也即所述小量的门限,将小量限制在查找得到的像素增减差值门限范围[-clip2,clip2]内。
最后,再将像素P1、P0、Q0及Q1的值与计算得到并经过像素增减差值门限clip2限定的小量Delta-P1、Delta-P0、Delta-Q0及Delta-Q1分别求和,得到最终滤波后P1、P0、Q0及Q1的像素。
所述强滤波为滤波窗口宽度为4,抽头数为3的均值滤波,在滤波过程中,使用权重系数(1,2,1)重新计算像素P1、P0、Q0及Q1。具体来讲,所述均值滤波将采用如下的公式重新计算相邻小块边界像素P1、P0、Q0及Q1的值P1=P0+2×P1+Q04;]]>P0=P1+2×P0+Q04;]]>
Q0=Q1+2×Q0+P04;]]>Q1=Q0+2×Q1+P04.]]>通过上述计算公式,就可以获得经过差值或均值滤波后相邻小块边界两边的像素值,从而去除视频图像中的块效应。
本发明所述的差值或均值滤波方法还可以通过下述窗口宽度判决方法,在一定条件下将上述差值或均值滤波方法中的滤波窗口宽度减小至2或3,进一步降低计算量。所述窗口宽度判决方法具体如下首先,计算相邻小块边界两边距离边界第二近的像素,如图1中的P1及Q1,两侧像素差值的绝对值,即计算P2与P0像素差值的绝对值,记为C4;计算Q2与Q0像素差值的绝对值,记为C5;然后,将计算得到的像素差绝对值C4和C5分别与对应的块内像素差值门限β进行比较,如果C4大于β,则不需要对像素P1进行滤波;如果C5大于β,则不需要对像素Q1进行滤波。从而,通过上述方法可以进一步将均值滤波的窗口宽度降低到2或3,以减少差值或均值滤波的计算量。
同样,由于图像的小块包含水平边界和垂直边界,因此,视频图像的滤波也分为水平滤波和垂直滤波两个方向。上面虽然仅以水平方向为例说明了相邻小块的滤波方法,垂直方向滤波的方法也基本相同。
由此可以看出,通过上述滤波判决以及滤波执行步骤,可以根据相邻两个小块之间块效应值,选择不同力度的滤波方法对输入的图像进行平滑滤波处理。同时,由于本发明所述的方法与实施例1所述的方法相比,将平滑滤波的执行力度简化为3个等级,并且将滤波执行过程中的抽头数减少为3或4个,大大的降低了滤波算法的复杂度,以及计算量。
具体来讲,从输出视频图像质量的角度上考虑,在测试中发现,同实施例1给出的平滑滤波方法输出的图像相比,经过本实施例所述滤波方法输出的图像主观质量不存在很大差别;而其客观质量,即图像编码的重要指标PSNR与现有平滑滤波器输出的图像也基本相同,并且视频图像编码后得到的比特数略有减小。
从计算量的角度上考虑,滤波算法的运算量主要归结为加法运算的运算量以及位移运算的运算量,本实施例所述的方法与实施例1所述的方法相比,将平滑滤波的执行力度简化为3个等级,并且将滤波执行过程中的抽头数减少为3个,使加法的运算量降低了约13%至60%,位移算法的计算量降低了约17%至40%,从而,使得总体的计算量降低了约25%至40%。
从运算速度的角度上考虑,在实时编码的测试过程中发现,采用本实施例所述方法进行去块效应处理,在奔腾IV级别的中央处理器(CPU)计算能力条件下,编码QCIF格式的图像序列,其平均编码结果比实施例1所述平滑滤波方法要快10到20帧;编码CIF格式的图像序列,其平均编码结果要快5到10帧。这样,使得编码速率大大加快。
从硬件实现的角度上考虑,当使用数字信号处理(DSP)器件实现本实施例所述滤波方法时,可以在计算新的像素的时候,使用较少的抽头数目,因而,使得计算过程中在DSP中所需开辟的内存空间大大减少,节省了硬件资源,使本实施例所述的方法在硬件上更容易实现。
为了实现本发明的发明目的,去除视频图像中的块效应,本发明还提供了一种实现上述滤波方法的环路滤波器。
图2显示了所述环路滤波器的结构。如图2所示,本发明所述的环路滤波器主要包括滤波判决单元100,用于对输入的图像进行边缘检测,判断相邻小块的边界上是否存在图像的真实边缘,以及确定两个相邻小块的块效应值,其中,不同的块效应值与不同的滤波力度一一对应;滤波执行单元200,用于根据滤波判决单元100输入的边缘检测结果以及确定的块效应值进行判断,对于在边界上存在真实边缘的相邻小块,不进行滤波;对于在边界上不存在真实边缘的相邻小块,按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波。
其中,所述滤波判决单元100进一步包括像素及编码信息存储模块110、门限值确定模块120、像素差值计算模块130、块效应值计算模块140以及边缘检测模块150。
所述像素及编码信息存储模块110用于接收并缓存输入的待处理图像的像素以及相邻两个小块的编码信息,并将缓存的像素以及编码信息发送到门限值确定模块120、像素差值计算模块130以及块效应值计算模块140。
其中,所述的编码信息包括所属宏块的编码类型,小块的运动矢量、参考帧以及量化系数等等。
门限值确定模块120根据输入的两个小块的量化系数QP的算数平均值,得到两个小块的平均量化步长,并将该量化步长作为像素差门限表的索引,在所述α,β表中查找与该量化步长对应的块间像素差值门限以及块内像素差值门限,即α,β值,然后将这两个门限值输出到边缘检测模块150。
像素差值计算模块130根据接收到的像素计算相邻小块边界上像素的像素差值,该模块需要计算的三个差值一个是小块边界两边的一对像素差值的绝对值,即所述的块间像素差值绝对值;另两个是小块内部的两对像素差值的绝对值,即所述的块内像素差值绝对值,如前面所述的差值C1,C2及C3,然后将计算得到的差值输出到边缘检测模块150。
边缘检测模块150用于根据门限确定模块120输入的块间、块内像素差值门限值以及像素差值计算模块130输入的块间和块内像素差值绝对值,判决该相邻小块边界上是否存在图像的真实边缘,当输入的块间像素差值绝对值小于块间像素差值门限,且块内像素差值绝对值小于块内像素差值门限时,即C1小于α,且C2小于β,且C3小于β时,则判定为不存在真实的边缘;反之,则判定为存在真实的边缘;然后将判决结果输出到滤波执行单元200。需要说明的是,上述边缘检测的方法与步骤11所述的方法相同。
块效应值计算模块140用于根据像素及编码信息存储模块110输入的像素及编码信息,例如所属宏块的编码类型、小块的运动矢量以及参考帧等信息确定当前所处理小块的块效应值Bs,并将确定的块效应值Bs输出到滤波执行单元200。其中,所述块效应值的确定方法与步骤12或步骤22所述的块效应值确定方法相同。
滤波执行单元200进一步包括滤波触发模块210、差值滤波模块220以及均值滤波模块230。
所述滤波触发模块210根据来自边缘检测模块150的边缘检测结果以及来自块效应值计算模块140的块效应值进行滤波判决。如果相邻小块的块效应值分为5个等级,则当相邻小块边界上存在真实边缘或者块效应值的计算结果为0时,则不进行滤波,所述滤波触发模块210直接将接收的像素以及编码信息输出;如果相邻小块边界上不存在真实边缘且块效应值的计算结果为1至3时,则将接收的像素以及编码信息输出到差值滤波模块220,进行差值滤波;如果相邻小块边界上不存在真实边缘且块效应值的计算结果为4时,则将接收的像素以及编码信息输出到均值滤波模块230,进行均值滤波。而如果相邻小块的块效应值分为3个等级,则当相邻小块边界上存在真实边缘或者块效应值的计算结果为0时,则不进行滤波,所述滤波触发模块210直接将接收的像素以及编码信息输出;如果相邻小块边界上不存在真实边缘且块效应值的计算结果为1时,则将接收的像素以及编码信息输出到差值滤波模块220,进行差值滤波;如果相邻小块边界上不存在真实边缘且块效应值的计算结果为2时,则将接收的像素以及编码信息输出到均值滤波模块230,进行均值滤波。
其中,差值滤波器220以及均值滤波器230的滤波算法可以采用前面实施例1或实施例2所述的差值及均值滤波算法,因此,在这里就不再详细描述了。
应用本发明所述的环路滤波器可以根据相邻两个小块之间块效应值,选择不同力度的滤波方法对输入的图像进行平滑滤波处理。
权利要求
1.一种去除视频图像中块效应的滤波方法,其特征在于,所述方法包括滤波判决以及滤波执行两个步骤,其中,所述滤波判决为根据接收图像的像素及编码信息,确定每两个相邻小块的边界上是否存在图像的真实边缘以及确定每两个相邻小块的块效应值,其中,不同的块效应值与不同的滤波力度一一对应;所述滤波执行为对于在边界上存在真实边缘的相邻小块,不进行滤波;对于在边界上不存在真实边缘的相邻小块,按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波。
2.如权利要求1所述的方法,其特征在于,所述确定两个相邻小块的边界上是否存在图像的真实边缘包括A、根据接收图像的像素,分别计算相邻小块的块间像素差值绝对值以及该相邻小块中每一个小块的块内像素差值绝对值;B、将计算得到的块间像素差值绝对值以及块内像素差值绝对值与预先设定的块间像素差值门限以及块内像素差值门限进行比较,如果所述块间像素差值绝对值大于所述块间像素差值门限,或者所述相邻小块中有一个小块的块内像素差值绝对值大于所述块内像素差值门限,则两个小块的边界上存在图像的真实边缘;否则,两个相邻小块的边界上不存在图像的真实边缘。
3.如权利要求1所述的方法,其特征在于,所述确定两个相邻小块的块效应值为对接收图像的编码信息进行判断,当所述两个相邻小块中的任一个小块为帧内编码的宏块边缘小块时,确定块效应值为对应强滤波的块效应值;当所述两个相邻小块均不是帧内编码的宏块边缘小块,但是存在运动预测差别或者编码系数差别的小块时,确定块效应值为对应弱滤波的块效应值;当以上条件都不满足时,确定块效应值为对应不滤波的块效应值。
4.如权利要求3所述的方法,其特征在于,所述帧内编码的宏块边缘小块为属于帧内预测宏块并且其边界为所属帧内预测宏块边界的小块;所述两个相邻小块均不是帧内编码的宏块边缘小块,但是存在运动预测差别或者编码系数差别的小块为满足以下四个条件之一的小块属于帧内预测块,但其边界不是所属宏块的边界;编码系数不全为零;与其相邻小块的参考帧不相同;与其相邻小块的参考帧相同,但是与相邻小块运动矢量的差值至少有一个分量大于一个像素。
5.如权利要求3所述的方法,其特征在于,所述对应弱滤波的块效应值进一步包括为3个子等级;所述对应弱滤波的块效应值子等级的确定方法如下当所述两个相邻小块中的任一个小块属于帧内预测宏块,但属于帧内预测宏块的小块边界不是其所属宏块的边界时,确定对应弱滤波的块效应值子等级为弱滤波的第一子等级;当所述两个相邻小块中至少有一个小块的编码系数不全为零时,确定对应弱滤波的块效应值子等级为第二子等级;当所述两个相邻小块的参考帧不相同或者所述两个相邻小块的参考帧相同,但是所述两个小块运动矢量的差值至少有一个分量大于一个像素时,确定对应弱滤波的块效应值子等级为第三子等级。
6.如权利要求1所述的方法,其特征在于,所述按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波为当块效应值为对应不滤波的块效应值时,不进行滤波,直接输出接收的图像以及编码信息;当块效应值为对应弱滤波的块效应值时,对接收的图像均执行与弱滤波力度对应的差值滤波;当块效应值为对应强滤波的块效应值时,对接收的图像执行与强滤波力度对应的均值滤波。
7.如权利要求6所述的方法,其特征在于,所述差值滤波的方法如下a1、根据相邻小块边界两边的像素计算对滤波窗口内各像素进行调整所需的小量;b1、根据相邻两个小块的量化系数的算数平均值,在预先建立的与量化系数相关的像素增减差值门限表中查找相应的像素增减差值门限,并将步骤a1计算得到的小量限制在查找得到的像素增减差值门限范围内;c1、将滤波窗口内各像素与其经过步骤b1限制的对应小量相加,得到滤波窗口内各像素滤波后的像素。
8.如权利要求7所述的方法,其特征在于,设P1、P0以及Q0、Q1为两个相邻小块边界上顺序排列的像素,其中,P0和Q0为所述滤波窗口内像素,其对应的小量为Delta-P0、Delta-Q0;步骤a所述计算为使用权重系数(1,-2,2,-1)计算小量Delta-P0和Delta-Q0。
9.如权利要求8所述的方法,其特征在于,设P2、Q2为两个相邻小块边界上与P1或Q1相邻的像素,P1和Q1也为所述滤波窗口内像素,其对应的小量为Delta-P1、Delta-Q1;步骤a所述计算为使用权重系数(2,-3,1)计算小量Delta-P1和Delta-Q1。
10.如权利要求6所述的方法,其特征在于,所述差值滤波方法如下a2、根据相邻小块边界两边的像素计算对滤波窗口内各像素进行调整所需的小量;b2、根据相邻两个小块的对应弱滤波的块效应值子等级,在预先建立的与块效应值子等级相关的像素增减差值门限表中查找相应的像素增减差值门限,并将步骤a2计算得到的小量限制在查找得到的像素增减差值门限范围内;c2、将滤波窗口内各像素与其经过步骤b2限制的对应小量相加,得到滤波窗口内各像素滤波后的像素。
11.如权利要求7或10所述的方法,其特征在于,设P2、P1、P0以及Q0、Q1、Q2为两个相邻小块边界上顺序排列的像素,其中,P1、P0及Q0、Q1为所述滤波窗口内像素,其对应的小量为Delta-P0、Delta-P1、Delta-Q0及Delta-Q1;步骤a1所述计算为使用权重系数(1,-4,4,-1)计算小量Delta-P0、Delta-Q0,使用权重系数(2,-4,1,1)计算小量Delta-P1、Delta-Q1。
12.如权利要求6所述的方法,其特征在于,所述均值滤波为根据相邻小块边界两边的像素重新计算滤波窗口内各点像素。
13.如权利要求12所述的方法,其特征在于,设P1、P0以及Q0、Q1为两个相邻小块边界上顺序排列的像素,其中,P0和Q0为所述滤波窗口内像素;所述计算为使用权重系数(1,2,1)计算像素P0和Q0。
14.如权利要求13所述的方法,其特征在于,设P1和Q1也为所述滤波窗口内像素;所述计算为使用权重系数(1,2,1)计算像素P1和Q1。
15.如权利要求12所述的方法,其特征在于,设P3、P2、P1、P0以及Q0、Q1、Q2、P3为两个相邻小块边界上顺序排列的像素,其中,P2、P1、P0及Q0、Q1、Q2为所述滤波窗口内像素;所述计算为使用权重系数(1,2,2,2,1)计算像素P0、Q0,使用权重系数(1,1,1,1)计算像素P1、Q1,使用权重系数(2,3,1,1,1)计算像素P2、Q2。
16.一种去除视频图像中块效应的环路滤波器,其特征在于,包括滤波判决单元(100),用于对输入的图像进行边缘检测,以及确定两个相邻小块的块效应值,其中,不同的块效应值与不同的滤波力度一一对应;滤波执行单元(200),用于根据滤波判决单元(100)输入的边缘检测结果以及确定的块效应值进行判断,对于在边界上存在真实边缘的相邻小块,不进行滤波;对于在边界上不存在真实边缘的相邻小块,按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波。
17.如权利要求16所述的环路滤波器,其特征在于,所述滤波判决单元(100)进一步包括像素及编码信息存储模块(110),用于接收并缓存输入的待处理图像的像素以及相邻两个小块的编码信息,并输出;门限值确定模块(120),用于根据来自像素及编码信息存储模块(110)编码信息中两个小块的量化系数,确定用于进行边缘检测的块间像素差值门限以及块内像素差值门限,并将这两个门限值输出到边缘检测模块(150);像素差值计算模块(130),用于根据来自像素及编码信息存储模块(110)的像素计算相邻小块边界上像素的像素差值绝对值,并将计算得到的差值绝对值输出到边缘检测模块(150);边缘检测模块(150),用于根据输入的门限值以及像素差值绝对值,判决所述相邻小块边界上是否存在图像的真实边缘,并将判决结果输出到滤波执行单元(200);块效应值计算模块(140),用于根据来自像素及编码信息存储模块(110)的像素及编码信息计算所述相邻小块的块效应值,并将确定的块效应值以及所述的像素和编码信息输出到滤波执行单元(200)。
18.如权利要求16所述的环路滤波器,其特征在于,所述滤波执行单元(200)进一步包括滤波触发模块(210),用于根据来自所述滤波判决单元(100)的边缘检测结果以及块效应值进行滤波判决,对相邻小块边界上存在图像真实边缘或块效应值对应的滤波力度为不滤波的小块,将输入的像素及编码信息直接输出;对块效应值对应的滤波力度为弱滤波的小块,将输入的像素及编码信息输出到差值滤波模块(220);对块效应值对应的滤波力度为强滤波的小块,将输入的像素及编码信息输出均值滤波模块(230);差值滤波模块(220),用于对输入的像素及编码信息进行差值滤波;均值滤波模块(230),用于对输入的像素及编码信息进行均值滤波。
全文摘要
本发明公开了一种去除视频图像中块效应的滤波方法及环路滤波器,包括滤波判决以及滤波执行两个部分,其中,所述滤波判决为根据接收图像的像素及编码信息,确定每两个相邻小块的边界上是否存在图像的真实边缘以及确定每两个相邻小块的块效应值,其中,不同的块效应值与不同的滤波力度一一对应;所述滤波执行为对于在边界上存在真实边缘的相邻小块,不进行滤波;对于在边界上不存在真实边缘的相邻小块,按照其块效应值对应的滤波力度,选择与该滤波力度对应的滤波方法进行滤波。应用本发明所述方法及环路滤波器可以对输入的视频图像进行滤波处理,去除由于分块编码造成的块效应,提高视频图像的质量。
文档编号H04N7/26GK1816149SQ20051000760
公开日2006年8月9日 申请日期2005年2月6日 优先权日2005年2月6日
发明者文强 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1