一种用于帧内预测的边界滤波方法与流程

文档序号:13912374阅读:311来源:国知局

本发明涉及视频编码技术领域,具体涉及一种用于帧内预测的边界滤波方法,可用于对帧内预测块进行滤波,增强帧内预测的准确度,从而提升帧内预测块的编码效率。



背景技术:

帧内滤波技术是一个非常有效的编码工具,用于优化帧内预测块的边界,可有效缓解帧内预测块边界处的失真。

在highefficiencyvideocoding(hevc)标准中,现有方法采用了两种帧内预测边界滤波器技术。一种是针对dc(directcurrent)预测模式(直流预测模式),使用一个两抽头的滤波器(滤波系数为[1/43/4])对帧内预测块的第一行和第一列进行滤波;另外一种是针对水平和竖直预测模式,对水平预测模式的第一行和竖直预测模式的第一列进行滤波。

上述滤波技术主要存在的缺陷包括以下几方面:

(一)以上现有滤波技术只是针对少数几个帧内预测模式,因此在一定程度上局限了帧内滤波技术的性能;

(二)这些滤波技术并没有详细地考虑像素点之间的空间相关性;

(三)这些滤波技术的使用缺少决策的过程,降低了该技术的实用性。



技术实现要素:

为了克服上述现有技术的不足,本发明提供一种用于帧内预测的边界滤波方法,用以有效地解决帧内预测块边界失真问题,并能够增加帧内预测精度,提升帧内预测块的编码效率。

本发明提供的技术方案是:

一种用于帧内预测的边界滤波方法,首先通过率失真优化(ratedistortionoptimization,rdo)决策自适应地选择是否对帧内预测块进行边界滤波;该边界滤波方法对帧内预测块的前n行或是前n列通过帧内预测块滤波器进行滤波;进行滤波时,采用相对边界距离指数衰减的滤波器系数进行滤波;针对不同的帧内预测块大小,采用不同的滤波强度;由此解决帧内预测块边界失真问题,并能够增加帧内预测精度,提升帧内预测块的编码效率;包括如下步骤:

1)在编码端对每一个编码单元(codingunit,cu)进行率失真优化,执行如下操作:

11)对每一个编码单元(codingunit,cu)进行帧内预测块滤波;

12)通过rdo决策确定是否使用帧内预测块边界滤波;每一个编码单元中均传输1-bit的标记到码流中,用于标识帧内预测是否使用了帧内预测块边界滤波;

13)若使用了帧内预测块边界滤波,通过帧内预测块滤波器进行帧内边界滤波编码,包括如下过程:

首先,从已经重建的预测块中获取与当前块相邻的参考像素点;

随后,根据帧内预测块的预测方向进行常规帧内预测,得到帧内预测值;

最后,根据当前帧内预测块的预测模式,选择边界滤波所用的参考像素点,并根据预测块的尺寸,选取滤波系数,使用参考像素点对当前预测值进行边界滤波,得到新的帧内预测值;

2)在解码端对每一个编码单元,读取码流中的1-bit标记,根据标记进行解码;执行如下步骤:

21)确定解码端是否使用帧内预测块边界滤波;

22)若使用了帧内预测块边界滤波,通过帧内预测块滤波器进行帧内边界滤波解码,包括如下过程:

首先,从已经重建的预测块中获取与当前块相邻的参考像素点;

随后,根据解码得到的帧内预测块的预测模式,进行常规的帧内预测,得到帧内预测值;

最后,根据当前帧内预测块的预测模式,选择边界滤波所用的参考像素点,并根据预测块的尺寸,选取滤波系数,使用参考像素点对当前预测值进行滤波,得到新的帧内预测值。

本发明的核心是对帧内预测之后得到的像素值进行滤波,包括对编码端和解码端进行处理。

具体地,在编码端,在每一个编码单元(codingunit,cu)进行率失真优化(ratedistortionoptimization,rdo)时,都需要尝试进行帧内预测块滤波,并通过rdo决策最终是否使用本发明提出的帧内预测块滤波方法。每一个编码单元中都需要传输1-bit的标记到码流中,来标识帧内预测是否使用了帧内预测块滤波方法。在解码端,则读取码流中的1-bit标记,根据标记的意义,由解码端决定是否使用帧内预测块滤波。

本法明提出的帧内预测块滤波,对帧内预测块的前n行或是前n列进行滤波,n的取值与滤波系数相关联。由于本发明采用相对边界距离指数衰减的滤波器系数,n为滤波器系数衰减为0时的位置。例如滤波器在第n行衰减为0,则n的值为n。本发明提出的帧内预测块滤波最多对帧内预测块的前10行或是前10列进行滤波。

本发明提出的帧内预测块滤波器是一个三抽头的滤波器,该滤波器可使用公式表示为式1:

p′(x,y)=wleft(x)·p(-1,y)+wtop(y)·p(x,-1)+(1-wleft(x)-wtop(y))·p(x,y)(式1)

0≤x,y<n

对于一个预测像素点,使用与它同一行p(-1,y)和同一列p(x,-1)的两个参考像素点

进行滤波,wleft(x)和wtop(y)分别为这两个参考像素点的边界滤波系数。p(x,y)为帧内

预测之后得到的预测像素点;p′(x,y)为进行帧内预测块滤波之后的像素点;x、y为预

测块内的坐标,x=0表示预测块中的第一列,y=0表示预测块中的第一行。wleft(x)和wtop(y)是随着与参考像素点距离的增加而衰减的。

特别地,当wtop(y)衰减为0时,式1退化为两抽头的滤波器,如式2所示。当wleft(x)衰减为0时,式(1)也会退化为两抽头的滤波器,如式3所示。

p′(x,y)=wleft(x)·p(-1,y)+(1-wleft(x))·p(x,y),x<n(式2)

p′(x,y)=wtop(y)·p(x,-1)+(1-wtop(y))·p(x,y),y<n(式3)

本发明提出的帧内预测块滤波器采用了相对边界距离指数衰减的滤波器系数,分别如式4和5所示:

其中,ntop和nleft分别是与预测块第一行和第一列滤波时使用的滤波系数。指数衰减的滤波器系数可以产生更好的滤波效果,最大化的降低预测失真。

进一步地,本发明针对不同的帧内预测块大小,设计了不同的滤波强度。其中代表滤波强度的参数ntop和nleft根据帧内预测块的预测失真训练得到。对于预测失真大的帧内预测值,选择更大的滤波系数进行滤波;而对于预测失真小的帧内预测值,使用较小的滤波系数进行滤波。具体滤波系数的设置在具体实施方式中进行说明。

与现有技术相比,本发明的有益效果是:

本发明提供一种用于帧内预测的边界滤波方法,用以有效地解决帧内预测块边界失真问题,并能够增加帧内预测精度,提升帧内预测块的编码效率。具体地,本发明的技术优势体现为以下几方面:

本发明通过rdo决策决定是否使用帧内预测块边界滤波,相当于自适应的选择是否对帧内预测块进行边界滤波。由于并不是每一个帧内预测块都适合进行边界滤波,所以通过rdo决策增加了边界滤波技术的实用性和鲁棒性。

并且,本发明提出的边界滤波器会修改更多的行或是列(最多10行或是10列,而现有技术最多只对边界的4行或是4列滤波),这大大增强了边界滤波的影响范围,提升了帧内预测边界滤波的效用。

另外,本发明提出使用相对边界距离指数衰减的滤波器系数,更符合像素值之间的空间相关性。并且针对不同的帧内预测模式和预测块尺寸选择不同的滤波器系数,可以获得更好的滤波效果。

附图说明

图1为本发明中的编码单元(cu)的编码流程框图。

图2为本发明中的编码单元(cu)的解码流程框图。

图3为本发明具体实施时边界滤波参考像素点选取的示意图。

图4是对hevc中16x16帧内预测块的每一个预测模式统计的边缘预测失真的分布图;

其中,横坐标表示不同的预测模式;纵坐标表示预测块边缘失真的幅度;方块连线表示预测块顶部第一行的失真;三角连线表示预测块左侧第一列的失真。

图5为hevc中帧内预测边界滤波系数示意图。

具体实施方式

下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。

本发明提供一种有效的帧内预测滤波方法,通过rdo决策自适应的选择是否对帧内预测块进行边界滤波;提出的帧内预测块滤波,对帧内预测块的前n行或是前n列进行滤波,n的取值与滤波系数相关联。由于本发明采用相对边界距离指数衰减的滤波器系数,n为滤波器系数衰减为0时的位置。例如滤波器在第n行衰减为0,则n的值为n。本发明最多可对帧内预测块的前10行或是前10列进行滤波;采用相对边界距离指数衰减的滤波器系数;针对不同的帧内预测块大小,采用不同的滤波强度;本发明能够解决帧内预测块边界失真问题,并能够增加帧内预测精度,提升帧内预测块的编码效率。

图1为本发明编码端的编码流程图。对于一个帧内编码单元来说,首先进行常规帧内编码(即当前现有编码器已经使用的帧内编码算法),之后使用本发明提出的帧内边界滤波编码(指包含了帧内预测块边界滤波技术的编码方法),即在常规帧内预测之后,通过边界滤波器对帧内预测块的边界进行滤波。随后,使用率失真优化(rdo:rate-distortionoptimization)选择是否使用帧内预测边界滤波,并输出1-bit的标记到码流中。

图2为本发明解码端的解码流程框图。对一个帧内编码单元,首先读取1-bit的标记,然后进行常规的帧内预测。随后根据读取的标记的值决定是否进行帧内预测边界滤波。如果无需进行边界滤波,则直接进行帧内预测块的重建即可;否则,需要根据当前帧内预测块的预测模式,选择边界滤波所用的参考像素点,并根据预测块的尺寸,选取滤波系数,使用参考像素点对当前预测值进行滤波,得到新的帧内预测值。之后进行帧内预测块的重建。

为了避免进行浮点计算,本发明中所提出的边界滤波器可使用式6、式7和式8所示的滤波方法。即将浮点的滤波器系数转换为整数,并在滤波之后进行右移操作。

p′(x,y)=(wleft(x)·p(-1,y)+wtop(y)·p(x,-1)+(64-wleft(x)-wtop(y))·p(x,y)+32)>>6(式6)

p′(x,y)=(wleft(x)·p(-1,y)+(64-wleft(x))·p(x,y)+32)>>6(式7)

p′(x,y)=(wtop(y)·p(x,-1)+(64-wtop(y))·p(x,y)+32)>>6(式8)

本发明提出的帧内预测块滤波器使用距离预测像素点最近的一个或是两个参考像素点进行滤波。如图3所示,箭头所指向的位置为对预测像素点a、b、c进行滤波时所使用的参考像素点。像素点a的滤波使用它左侧对应的参考像素点进行滤波,像素b使用它上侧的参考像素点进行滤波,而像素点c位于预测块的左上角区域,所以同时使用它上侧和左侧的参考像素点进行滤波。

本发明提出的帧内预测块滤波器采用了相对边界距离指数衰减的滤波器系数。滤波强度参数ntop和nleft根据帧内预测块的预测失真统计结果得出。图4举例说明了对hevc中16x16的帧内预测块统计的预测失真的分布图。我们定义参数ntop和nleft正比于预测失真的大小,如式9和式10所示:

其中,公式中dtop和dleft分别为预测块顶部第一行和左侧第一列的平均预测失真值,min为取两个值之间的最小值的操作。可以看出ntop和nleft最大取值为1。

对特定方向的预测模式,需要对滤波器系数进行改动。以图5中hevc的帧内预测模式为例,在模式2~9中,对帧内预测块左面的列滤波时,滤波系数缩小为原来的一半,wleft变为wtop的二分之一;同样的,在模式27~34中,对帧内预测块上面的行滤波时,滤波系数wtop也缩小为原来的一半。

需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1