一种对视频帧进行滤波的方法及装置与流程

文档序号:11254341阅读:759来源:国知局
一种对视频帧进行滤波的方法及装置与流程

本申请涉及视频压缩领域,尤其涉及一种对视频帧进行滤波的方法及装置。



背景技术:

目前,由于互联网技术的不断发展,电子产品的种类也越来越多,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的电子设备,享受随着科技发展带来的舒适生活。

例如,用户可以使用电子设备观看各类视频。

而为了便于视频传输,在传输之前,通常会在编码端(例如网站服务器)对视频进行压缩,然后传输压缩的视频给解码端(例如各终端)。

而在视频编码标准中,在编解码器反变换量化后图像会出现方块效应。其产生的原因有两个。最重要的一个原因是基于视频像素块的帧内和帧间预测残差的dct变换。变换系数的量化过程相对粗糙,因而反量化过程恢复的变换系数带有误差,会造成在图像块边界上的视觉不连续。第二个原因来自于运动补偿预测。运动补偿块可能是从不是同一帧的不同位置上的内插样点数据复制而来。因为运动补偿块的匹配不可能是绝对准确的,所以就会在复制块的边界上产生数据不连续。

当然,参考帧中存在的边界不连续也被复制到需要补偿的图像块内。尽管采用较小的4*4变换尺寸可以降低这种不连续现象,但仍需要一个对视频帧进行滤波以最大程度提高编码性能。

故而,为了解决图像出现的方块效应,会对视频帧进行滤波处理。

而目前的滤波处理方法,一般采用边界滤波,作用是去除h.264编解码算法带来的方块效应。但是,如果在dct边界上,正好是图像的边界,如家具边等,若不加以判断而误认为是方块效应,则可能造成新的误差。为此,在滤波方块效应时,应该先判断该边界是图像真实边界还是方块效应所形成的边界(假边界)。对真实边界不进行滤波处理,而对假边界则要根据周围图像块的性质和编码方法采用不同强度的滤波。

为了保证编码器和解码器中的滤波过程完全一致,对每个编码图像的滤波运算必需按规定顺序进行。滤波应该在适当位置上进行,这样边界两边直线上修改过的样点值作为后续运算的输入值而不引入的误差。

滤波是基于宏块基础上的,先对垂直边界进行水平滤波,再对水平边界进行垂直滤波。对宏块的两个方向滤波都完成后才能进行后面宏块的滤波。对图像中宏块的滤波按raster扫描方式进行。对帧场自适应编码帧,它们在垂直方向上相邻的宏块对放在一起,则滤波顺序按宏块对进行,即在帧中对宏块对进行按raster扫描方式,对每个宏块对先进行顶部宏块的滤波。对每个亮度宏块,先滤波宏块(即:16*16的视频像素块)最左边的边界(如图1中的a),然后依次从左到右宏块内三个垂直边界(如图1的b到d)。类似的,对水平边界先滤波宏块顶部的边界(如图1中的e),然后依次从上到下宏块内三个水平边界(如图1中的f到h)。色度滤波次序类似,对8×8的色度宏块,在每个方向上,先滤波宏块外部边界再滤波一个内部边界(如在图2中,水平方向先滤波i,再滤波j;垂直方向上先滤波k,再滤波l)。

但是这种边界滤波方式的效率不高,故而目前亟需一种滤波方式来提高视频帧的滤波效率。



技术实现要素:

本发明了提供了一种对视频帧进行滤波的方法及装置,以解决目前的滤波方式的效率不高的技术问题。

为解决上述技术问题,本发明提供了一种对视频帧进行滤波的方法,所述方法包括:

将垂直分界线和水平分界线进行边界滤波;

确定出滤波后的垂直分界线和滤波后的水平分界线的至少一个交叉点;

确定出所述至少一个交叉点中每个交叉点的居中像素点;

确定出所述居中像素点中的第一对角像素点和第二对角像素点;

基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波;

基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波。

优选的,所述将垂直分界线和水平分界线进行边界滤波之前,包括:

将所述视频帧分为多个16*16的像素子块,对每个16*16的像素子块作下述处理:

确定出16*16的像素子块的所述垂直分界线和所述水平分界线。

优选的,所述居中像素点的个数为四个。

优选的,所述确定出所述至少一个交叉点中每个交叉点的居中像素点,包括:

将所述16*16的像素子块的每一个像素子块划分成多个4*4的像素子块;

在多个4*4的像素子块中,将和所述至少一个交叉点中每个交叉点中的距离小于第一预设距离阈值的像素点确定为所述居中像素点。

优选的,所述基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波之前,包括:

将和所述第一对角像素点的延伸像素点的距离小于第二预设距离阈值的像素点确定为所述第一对角像素点的延伸像素点。

优选的,所述基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波之前,包括:

将和所述第二对角像素点的延伸像素点的距离小于所述第二预设距离阈值的像素点确定为所述第二对角像素点的延伸像素点。

本发明公开了一种对视频帧进行滤波的装置,包括:

第一滤波模块,用于将垂直分界线和水平分界线进行边界滤波;

第一确定模块,用于确定出滤波后的垂直分界线和滤波后的水平分界线的至少一个交叉点;

第二确定模块,用于确定出所述至少一个交叉点中每个交叉点的居中像素点;

第三确定模块,用于确定出所述居中像素点中的第一对角像素点和第二对角像素点;

第二滤波模块,用于基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波;

第三滤波模块,用于基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波。

优选的,还包括:

划分模块,用于将垂直分界线和水平分界线进行边界滤波之前,将所述视频帧分为多个16*16的像素子块,对每个16*16的像素子块作下述处理:

第四确定模块,用于确定出16*16的像素子块的所述垂直分界线和所述水平分界线。

优选的,所述第二确定模块,具体用于:

将所述16*16的像素子块的每一个像素子块划分成多个4*4的像素子块;

在多个4*4的像素子块中,将和所述至少一个交叉点中每个交叉点中的距离小于第一预设距离阈值的像素点确定为所述居中像素点。

优选的,还包括:

第五确定模块,用于基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波之前,将和所述第一对角像素点的延伸像素点的距离小于第二预设距离阈值的像素点确定为所述第一对角像素点的延伸像素点。

通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:

本发明提出了一种对视频帧进行滤波的方法及装置。首先将垂直分界线和水平分界线进行边界滤波后确定出垂直分界线和水平分界线的至少一个交叉点;然后确定出所述至少一个交叉点中每个交叉点的居中像素点;再确定出所述居中像素点中的第一对角像素点和第二对角像素点;然后基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波以及基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波,经过上述操作后原本要进行2次滤波操作的居中像素点,现在只是利用它延伸上的像素点来对居中像素点进行滤波操作,大大的减少了计算步骤,节约了时间,提高了编码效率,进而提高了滤波效率,减少了方快帧的出现。

进一步的,本发明将所述居中像素点中的对角线延伸线上的像素点为依据得到所述居中像素点的当前像素值。这样的操作可使居中像素点和周围的像素点相融合,不会显得太突兀。

附图说明

图1为16*16的视频像素块的边界线划分的示意图;

图2为8*8的视频像素块的边界线划分的示意图;

图3为本发明实施例中一种对视频帧进行滤波的方法的流程图;

图4a为本发明实施例中16*16的像素子块的示意图;

图4b为本发明实施例中边界线的交叉滤波示意图;

图4c为本发明实施例中居中像素点的示意图;

图5为本发明实施例中一种对视频帧进行滤波的装置示意图。

具体实施方式

为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。

为了解决滤波效率不高的技术问题,本发明提出了一种对视频帧进行滤波的方法。首先将所述视频帧分为多个16*16的像素子块,对每个16*16的像素子块作下述处理:先确定出16*16的像素子块的垂直分界线和水平分界线;然后将垂直分界线和水平分界线进行边界滤波。滤波之后,确定出滤波后的垂直分界线和滤波后的水平分界线的至少一个交叉点;然后确定出所述至少一个交叉点中每个交叉点的居中像素点;再确定出所述居中像素点中的第一对角像素点和第二对角像素点;然后基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波以及基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波。本发明将本来要进行2次滤波操作的居中像素点,现在只是利用它延伸上的像素点来对居中像素点进行滤波操作,大大的减少了计算步骤,提高了编码效率,进而提高了视频帧的滤波效率,减少了视频帧的方块效应。。而且取均值操作其实是针对的是经过滤波操作后的值,而且取均值可以使居中像素点很好的与其周围的像素点相融合,不会显得太突兀。

下面介绍本发明具体的实施过程。

参看图3,该方法包括如下步骤:

步骤11,将垂直分界线和水平分界线进行边界滤波。

滤波之前,本发明会先将视频帧分为多个16*16的像素子块,对每个16*16的像素子块作下述处理:确定出16*16的像素子块的所述垂直分界线和所述水平分界线。

本发明将视频帧分为多个16*16的像素子块(例如图4,是本发明一个16*16的像素子块的示意图),然后确定出16*16的像素子块的边界线,对每个亮度宏块,先滤波宏块(即:16*16的视频像素块)最左边的边界(如图4a中的a’),然后依次从左到右滤波宏块内三个垂直边界(如图1的b’、c’到d’)。类似的,对水平边界先滤波宏块顶部的边界(如图1中的e’),然后依次从上到下滤波宏块内三个水平边界(如图1中的f’、g’到h’)。

然后,将垂直分界线和水平分界线进行边界滤波。

在具体的滤波过程中,需要先确定边界线的过滤强度。

边界强度(bs)决定去方块滤波器选择滤波参数,控制去除方块效应的程度。对所有4×4亮度块间的边界,边界强度参数值在0到4之间,它与边界的性质有关。表1说明bs与相邻图像块的模式及编码条件的关系。表中的条件是从表的上部至下部进行判断的,直到某一条件满足,给bs相应赋值。

表1

在实际滤波算法中,bs决定对边界的滤波强度,包括对两个主要滤波模式的选择。当其值为4时表示要用特定最强的滤波模式(后续将介绍具体的滤波方式),而其值为0表示不需要对边界进行滤波。对其值为1到3的标准滤波模式,bs值影响滤波器对样点的最大修正程度。bs值的下降趋势说明最强的方块效应主要来自于帧内预测模式及对预测残差编码,而在较小程度上与图像的运动补偿有关。色度块边界滤波的bs值不另外单独计算,而是从相应亮度块边界的bs值复制而来。在帧场自适应宏块中,表1中的条件相对复杂些,因为相邻两图像块中的一个可能来自帧编码宏块或来自场编码宏块。滤波强度变化的原则不变。为了避免将图像过度模糊化,对于来自场编码宏块的水平边界需要特别考虑以避免过强的滤波强度,这是因为这种宏块的垂直滤波的空间扩展范围是其它情况的两倍。

根据样点集的bs值选择两种滤波方式。特定滤波方式是针对bs为4的强滤波,普通滤波方式应用于其它情况(bs=1,2,3)。滤波顺序如图4a所示。

对每种方式,用β阈值估计另外两个空间变化条件,以决定亮度点的滤波范围。

|p2-p0|<β(indexb)(6.62)

|q2-q0|<β(indexb)(6.63)

当上述条件成立,说明边界变化强度不大,滤波强度设定值相对实际滤波来说偏大,需要进一步滤波。

下面介绍垂直和水平滤波边界像素情况。滤波运算可以分为基本滤波运算和限幅两个阶段。

bs值从1到3的边界滤波:

基本滤波运算:

先讨论对亮度点的滤波。对这种模式的滤波,滤波后的p0’和q0’值按下式计算:

p0’=p0+δ0(6.64)

q0’=q0-δ0(6.65)

其中δ0分两步计算,先计算它的初始值δ0i,再对这个初始值进行限幅后代入上式。

初始值δ0i根据边界两边的样点值计算:

δ0i=(4(q0-p0)+(p1-q1)+4)>>3(6.66)

计算p0’的脉冲响应运算为(1,4,4,-1)/8。

只有式(6.62)或(6.63)成立,才修正对应p1或q1值。即如果式(6.62)成立,滤波后的p1’值按下式计算:

p1’=p1+δp1(6.67)

同样,如果式(6.63)成立,滤波后的q1’值按下式计算:

q1’=q|1+δq1(6.68)

这些同样要经过两步计算。对p1’的初始值δ按下式计算:

δpli=(p2+((p0+q0+1)>>1)-2p1)>>1(6.69)

δq1i按同样关系式计算,用q2和q1分别代替p2和p1。上式相应的脉冲响应为(1,0,0.5,-0.5)/2,具有很强的低通特性。

限幅:

如果上述初始值δ0i、δp1i和δq1i直接应用在滤波计算中,则可能导致滤波频率过低,出现图像模糊。自适应滤波器的一个重要部分是限制δ的值。这个过程称为限幅。对于内部和边界上的样点,限幅过程不同。

对于滤波边界p0和q0样点,δ0i的限幅值由c1和式(6.62)或(6.63)决定。先将它的限幅值c0定为c1。如果式(6.62或(6.63)都成立,说明边界两边内部的变化强度小于β阈值,需要对边界进行更强的滤波(同时如上述需要对p1和/或q1样点进行修正),c0将增加1。这样对边界样点的修正值为:

对色度点滤波,只有p0和q0才被修正。滤波方法与亮度点一样,只是限幅值c。

0为c1加1。这样对bs小于4的边界没有必要对色度的式(6.62)或(6.63)进行估计,也不必存取变量p2和q2值。

表2,滤波限幅变量c1与indexa和bs的关系。

表2

bs值为4的边界滤波:

h.264/mpeg-4avc的帧内编码在对同一图像区域编码时倾向采用16×16亮度预测模式。这会在宏块边界引起小幅度的方块效应。但是由于machband效应,在这种情况下,即使是很小的强度值差别在视觉上的感觉是陡峭的阶梯。为了消除这种马赛克效应,需要在图像内容平滑的两个宏块边界采用较强的滤波器。

对亮度滤波,根据图像内容判断选择较强的4拍或5拍滤波器,还是较弱的3拍滤波器。4拍或5拍滤波器对边界两边的边界点及两个内部点进行修正,而3拍滤波器仅改变边界点。只有下面的跨边界差异的约束条件成立才使用较强的滤波器:

|p0-q0|<(α>>2)+2|(6.73)

注意,式(6.73)与式(6.53)很相似,只是它跨边界的最大样点值差异的约束很严格。

对亮度滤波,当式(6.62)和(6.73)都成立,根据下式计算滤波后的样点值:

p0’=(p2+2p1+2p0+2q0+q1+4)>>3(6.74)

p1’=(p2+p1+p0+q0+2)>>2(6.75)

p2’=(2p3+3p2+p1+p0+q0+4)>>3(6.76)

否则,对色度点或当式(6.62)和(6.73)中只要有一个不成立的亮度点,只根据下式修正p0:

p0’=(2p1+p0+q1+2)>>2(6.77)

q点值的修正方法相同,只是在选择亮度滤波器时用式(6.63)代替式(6.62)。

步骤12,确定出滤波后的垂直分界线和滤波后的水平分界线的至少一个交叉点。

在具体的实施过程中,垂直分界线和所述水平分界线交叉之后会形成交叉点,参看图4a,交叉点是三条垂直边界线b’、c’、d’和三条水平边界线f’、g’、h’相互交叉形成的交叉点,共9个。

步骤13,确定出所述至少一个交叉点中每个交叉点的居中像素点。

请参看图4a,图4a是一个16*16的宏块,如果把其分割为多个4*4的像素子块,就会有垂直a’,b’,c’,d’四条边。水平有e’,f’,g’,h’,四条边。

而在具体的实施过程中,参看图4b,是a’,b’,e’,f’滤波之后的示意图。其中,虚线框代表水平滤波的像素点,灰色框代表垂直滤波的像素点,中间而虚线框和灰色框重叠的部分代表需要水平和垂直2次滤波。

而每个交叉点的居中像素点在两次滤波时,需要跳过这两次滤波,暂时不进行处理。故而交叉点对应的居中像素点是黑色的像素点,代表不会做滤波处理,既没有做水平滤波,也没有做垂直滤波点,图4c表示图4b的中间部分。

参看图4c,是居中像素点的示意图,是黑色代表的像素点。

图4c是介绍交叉滤波方法,交叉滤波方法是取要滤波的点的对角线上的点来做p1p0q0q1,通过一般的滤波算法只对p0q0这两个点进行滤波。

这样做可以带来2个好处,首先是图4b中的黑色点由原来需要做2次滤波变为只做一次交叉滤波,其次由于p1q1是经过了2次滤波,而且这2个点的相邻像素点就是p0q0做一般滤波数据计算的像素点。通过只进行一次交叉滤波来提高运算效率。

在具体的实施过程中,所述确定出所述至少一个交叉点中每个交叉点的居中像素点,包括:将所述16*16的像素子块的每一个像素子块划分成多个4*4的像素子块;在多个4*4的像素子块中,将和所述至少一个交叉点中每个交叉点中的距离小于第一预设距离阈值的像素点确定为所述居中像素点。举例来说,在图4c中,黑色像素点p0、q0、s0、t0和b’和f’交叉点的距离是最近的,那么则将这四个像素点确定为居中像素点。

步骤14,确定出所述居中像素点中的第一对角像素点和第二对角像素点。

具体的处理过程中,对角像素点是以四个像素点为标准来说的,在这四个像素点中,p0、q0构成第一对角像素点。s0、t0构成第二对角像素点。

步骤15,基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波。

步骤16,基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波。

在具体的实施过程中,在确定第一对角像素点的延伸像素点时,在所述第一对角像素点构成的延伸线上,将和所述第一对角像素点的距离小于第二预设距离阈值的像素点确定为所述第一对角像素点的延伸像素点。参看图4c中,在p0、q0构成的延伸线上,确定出p1、q1是该延伸线上分别距离p0、q0最近的像素点。然后利用p1、q1的像素值对p0、q0进行滤波,获得滤波后的值。

在具体的实施过程中,在确定第二对角像素点的延伸像素点时,将和所述第二对角像素点的距离小于所述第二预设距离阈值的像素点确定为所述第二对角像素点的延伸像素点。在确定第二对角像素点的延伸像素点时,和上述过程类似,故而本发明不再赘述。

经过上面的操作后,原本来要进行2次滤波操作的居中像素点,现在只需要做一次滤波操作,大大的减少了计算步骤,提高了编码效率。而且取均值操作其实是针对的是经过滤波操作后的值,而且取均值可以使居中像素点很好的与周围像素点相融合,不会显得太突兀。

由于重建帧其实是残差与预测像素值相加,不是真正的当前帧数据,所以预测的像素块与旁边的像素块像素值在a’,e‘边上可能不是平滑的过度,既块之间无法相容,虽然画面内容可以辨认,但显得很突兀,这也是产出块效应的主要原因。而经滤波处理以后块之间就会显得更协调,不会过于突兀。

综上,本发明的主要实施原理是,首先将整个视频块视频块分为若干个16*16像素子块,然后将16*16视频块分割成4*4的像素子块,纵向有4条线a’,b’,c’,d’横线有4条线e’,f’,g’,h’。对a’,b’,c’,d’横线标红的像素点进行水平滤波(本发明利用算法中的普通的水平滤波和垂直滤波通用的强滤波函数进行滤波),对e’,f’,g’,h’标黄的像素点进行垂直滤波(本发明利用算法中的普通的水平滤波和垂直滤波通用的强滤波函数进行滤波),对标蓝的像素点不处理。

根据图4c进行交叉滤波处理,交叉滤波方法(图4c)是取要滤波的点的对角线上的点来做p1p0q0q1,通过一般的滤波算法只对p0q0这两个点进行滤波,p1q1不处理。

优点:首先是图4b中的蓝色点由原来需要做2次滤波变为只做一次交叉滤波,其次由于p1q1是经过了2次滤波,而且这2个点的相邻像素点就是p0q0做一般滤波数据计算的像素点。通过只进行一次交叉滤波来提高运算效率。

对图4c中另外一条对角线(与p1p0q0q1垂直)进行(步骤4)中同样的处理。

然后在16*16视频块中从左至右依次执行上述对角线的交叉滤波方法。而对整个视频块执行以上步骤。

算法介绍:

1)算法实现:

a.增强的水平滤波和垂直滤波通用的强滤波函数

参数介绍:src:16*16像素子块(输入/输出)xstride:像素块横向宽度(如果xstride=stride,ystride=1垂直过滤,xstride=1,ystride=stride水平过滤)alpha和beta:检查图像内容,以决定每个样本点集是否要被滤波(输入),p2,p1,p0,q0,q1,q2:像素块对应点的像素值(临时)

像素块结构图:

算法流程:

获取对应点像素值,p2,p1,p0,q0,q1,q2。

根据上文(6.55),(6.56),(6.57)式判断是否进行滤波。

根据上文(6.73)式判断是否进行强滤波。

根据上文(6.62)式判断相邻的p2,p1,p0是否进行滤波。

根据上文(6.74),(6.75),(6.76)式对p2,p1,p0进行强滤波处理。

根据上文(6.63)式判断相邻的q0,q1,q2是否进行滤波。

根据上文(6.74),(6.75),(6.76)式对q0,q1,q2进行强滤波处理。

普通的水平滤波和垂直滤波通用的强滤波函数

参数介绍:src:16*16像素子块(输入/输出)xstride:像素块横向宽度(如果xstride=stride,ystride=1垂直过滤,xstride=1,ystride=stride水平过滤)alpha和beta:检查图像内容,以决定每个样本点集是否要被滤波(输入),p2,p1,p0,q0,q1,q2:像素块对应点的像素值(临时)tc0:限幅值(输入)

像素块结构图:

算法流程:

b.获取对应点像素值,p2,p1,p0,q0,q1,q2

c.根据上文(6.55),(6.56),(6.57)式判断是否进行滤波。

d.根据上文(6.62)式判断p1是否进行滤波。

e.根据上文(6.69)式对p1进行滤波,并通过pixel_clip3进行限幅

f.根据上文(6.63)式判断q1是否进行滤波。

g.根据上文(6.69)式对q1进行滤波,并通过pixel_clip3进行限幅

h.根据上文(6.66)式对p0,q0进行滤波,并通过clip_pixel进行限幅

c.增强的水平滤波和垂直滤波通用的强滤波函数

参数介绍:src:16*16像素子块(输入/输出)xstride,ystride:像素块横向宽度和高度(如果xstride=stride,ystride=1垂直过滤,xstride=1,ystride=stride水平过滤)alpha和beta:检查图像内容,以决定每个样本点集是否要被滤波(输入)

算法流程:遍历16个过滤的像素点,通过上文的强滤波函数进行过滤。

c.普通的水平滤波和垂直滤波通用的强滤波函数

参数介绍:src:16*16像素子块(输入/输出)xstride,ystride:像素块横向宽度和高度(如果xstride=stride,ystride=1垂直过滤,xstride=1,ystride=stride水平过滤)alpha和beta:检查图像内容,以决定每个样本点集是否要被滤波(输入),tc0:限幅值(输入)

算法流程:遍历16个过滤的像素点,通过上文的普通滤波函数进行过滤。

基于同一发明构思,本发明公开了一种对视频帧进行滤波的装置,参看图5,包括:

第一滤波模块51,用于将垂直分界线和水平分界线进行边界滤波;

第一确定模块52,用于确定出滤波后的垂直分界线和滤波后的水平分界线的至少一个交叉点;

第二确定模块53,用于确定出所述至少一个交叉点中每个交叉点的居中像素点;

第三确定模块54,用于确定出所述居中像素点中的第一对角像素点和第二对角像素点;

第二滤波模块55,用于基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波;

第三滤波模块56,用于基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波。

作为一种可选的实施例,还包括:

划分模块,用于将垂直分界线和水平分界线进行边界滤波之前,将所述视频帧分为多个16*16的像素子块,对每个16*16的像素子块作下述处理:

第四确定模块,用于确定出16*16的像素子块的所述垂直分界线和所述水平分界线。

作为一种可选的实施例,所述第二确定模块53,具体用于:

将所述16*16的像素子块的每一个像素子块划分成多个4*4的像素子块;

在多个4*4的像素子块中,将和所述至少一个交叉点中每个交叉点中的距离小于第一预设距离阈值的像素点确定为所述居中像素点。

作为一种可选的实施例,还包括:

第五确定模块,用于基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波之前,将和所述第一对角像素点的延伸像素点的距离小于第二预设距离阈值的像素点确定为所述第一对角像素点的延伸像素点。

通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:

本发明提出了本发明公开了一种对视频帧进行滤波的方法及装置。首先将垂直分界线和水平分界线进行边界滤波后确定出垂直分界线和水平分界线的至少一个交叉点;然后确定出所述至少一个交叉点中每个交叉点的居中像素点;再确定出所述居中像素点中的第一对角像素点和第二对角像素点;然后基于所述第一对角像素点的延伸像素点对所述第一对角像素点进行滤波以及基于所述第二对角像素点的延伸像素点对所述第二对角像素点进行滤波,经过上述操作后原本要进行2次滤波操作的居中像素点,现在只是利用它延伸上的像素点来对居中像素点进行滤波操作,大大的减少了计算步骤,节约了时间,提高了编码效率,进而提高了滤波效率,减少了方快帧的出现。

尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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