一种去除块效应的滤波方法及装置制造方法及图纸

技术编号:15960005 阅读:37 留言:0更新日期:2017-08-08 09:58
本发明专利技术提供一种去除块效应的滤波方法及装置,涉及视频图像处理领域,以解决现有不能对预测单元的内部补偿块进行滤波处理,导致的图像质量的主客观质量下降的问题。所述方法包括:将预测单元划分为至少两个子单元;遍历所述至少两个子单元中的每个子单元,根据预设规则确定所述至少两个子单元中的至少一个滤波边界;获取与滤波边界相邻的第一子单元的第一像素值和第二子单元的第一像素值;根据第一子单元的第一像素值、以及第二子单元的第一像素值对与滤波边界相邻的像素点进行滤波处理。

【技术实现步骤摘要】
一种去除块效应的滤波方法及装置
本专利技术涉及视频图像处理领域,尤其涉及一种去除块效应的滤波方法及装置。
技术介绍
视频编码压缩技术主要采用基于块的混合视频编码,将一帧视频图像划分为多个块(block),以块为单位,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤实现视频编码压缩,即采用基于块的运动补偿预测(MotionCompensationPrediction,MCP),先得到块的运动信息,然后根据运动信息确定该块的预测像素值,再将该块的原始像素值和预测像素值之间的残差进行变换量化,最后,将量化后的变换系数以及编码模式信息(如编码块大小、预测模式、运动矢量等信息)通过熵编码处理转换成码流发送至解码端。由于基于块的混合视频编码是将每幅图像划分为不同大小的块后,再进行分块预测、分块变换量化的,忽略了块与块之间的关联性,导致块边界上的像素值的重构精度相对块中间的像素值的重构精度更差一些,块与块之间产生了不连贯的效应,即“块效应”,进而使解码重建后得到的图像明显呈现出以块拼接处的感觉,因此,在解码重建后应当对图像进行“去除块效应”处理。目前,常用的去除块效应的方法为:重叠块运动补偿(OverlappedBlockMotionCompensation,OBMC),它将所有的运动矢量看作连续的场,提出内像素不应只由当前块运动矢量影响,并且在很大程度上受周边运动矢量的影响,获得当前块的上下左右四个方向相邻子块的运动矢量,若该运动矢量存在并且与当前子块的运动矢量不同,则使用该运动矢量对当前块进行运动补偿,得到当前块新的预测信号,将当前块的原始预测信号与当前块的新的预测信号进行加权过滤来去除“块效应”。其中,上述方法是基于平动模型进行的,即假使图像块内的运动均为平动,所以,现有OBMC仅提出对处于上边界和左边界的块进行滤波,此时,若所述预测单元包含通过非平动模式(如仿射运动模型)的预测单元,这些预测单元块之间的运动矢量是不同,若仍采用上述方法,则会导致该单元的内部预测单元得不到滤波处理,使得块与块之间仍存在“块效应”,影响编码精度和主客观效果。
技术实现思路
本专利技术的主要目的,在于提供一种去除块效应的滤波方法及装置。以解决现有内部预测单元块之间的“块效应”得不到处理,影响编码精度和主客观效果的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种去除块效应的滤波方法,用于对一图像块进行滤波处理,所述图像块划分为至少一个预测单元、以及至少一个变换单元,所述预测单元包含有非平动运动预测单元,所述方法可以包括:将每个预测单元划分为至少两个子单元;其中,每个子单元包含:N*N个像素点,所述N为大于等于1的整数;遍历所述至少两个子单元中的每个子单元,根据预设规则确定所述至少两个子单元中的至少一个滤波边界;对于所述至少一个滤波边界中的任一滤波边界,获取与所述滤波边界相邻的第一子单元的第一像素值和第二子单元的第一像素值;根据所述第一子单元的第一像素值、以及所述第二子单元的第一像素值对与所述滤波边界相邻的像素点进行滤波处理。其中,当所述滤波边界为竖直滤波边界时,所述第一子单元为与所述滤波边界相邻的上子单元,所述第二子单元为与所述滤波边界相邻的下子单元;当所述滤波边界为水平滤波边界时,所述第一子单元为与所述滤波边界相邻的左子单元,所述第二子单元为与所述滤波边界相邻的右子单元。如此,通过确定预测单元中所有滤波边界,对滤波边界相邻的像素点进行滤波处理,消除不同运动矢量的单元块之间的“块效应”,提高图像的预测精度及主观质量。可选的,在第一方面的一种可实现方式中,对于所述至少两个子单元中的第一子单元,若所述子单元的第一边界为所述图像块中预测单元的划分边界、或者所述子单元的第一边界为所述图像块中变换单元的划分边界,则确定所述子单元的第一边界为滤波边界,其中,所述第一边界为所述子单元的任一边界;此外,若所述子单元包含在所述非平动运动预测单元中,则确定所述第一子单元的各个边界为滤波边界。如此,除了将预测单元中处于预测单元划分边界或者处于变换单元划分边界的边界确定为滤波边界,进行后续的滤波处理外,还可以将非平动运动预测单元的边界确定为滤波边界,实现对预测单元中非平动运动预测单元的边界进行滤波处理,消除预测单元内部非平动运动预测单元间的块效应。可选的,在第一方面的又一种可实现方式中,所述获取与所述滤波边界相邻的第一子单元的第一像素值可以包括:获取所述第一子单元的第一预测像素值;计算与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中M个子单元的运动矢量;根据所述M个子单元的运动矢量得到所述第一子单元的M个第二预测像素值;根据所述第一子单元的第一预测像素值与所述M个第二预测像素值,按照第一预设算法得到所述第一子单元的第一像素值;所述M为1至4中的任一整数。其中,计算与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中各个子单元的运动矢量包括:若所述第一子单元包含在所述非平动运动预测单元中、或者所述第一子单元为与所述非平动运动预测单元的下边界或右边界相邻的子单元,则所述与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中各个子单元的运动矢量根据预设的非平动运动模型推导得到;或者,若所述第一子单元为与所述非平动运动预测单元的上边界相邻的子单元,则与所述第一子单元相邻的下子单元、左子单元和右子单元三个子单元的运动矢量根据预设的非平动运动模型推导得到;若与所述第一子单元相邻的上子单元所在预测单元的运动矢量存在,则用所述第一子单元的运动矢量作为所述上子单元的运动矢量;若所述第一子单元为帧内编码模式或者所述第一子单元的运动矢量不存在,则通过预设的非平动运动模型推导得到所述上子单元的运动矢量;或者,若所述第一子单元为与所述非平动运动预测单元的左边界相邻的子单元,则与所述第一子单元相邻的下子单元、上子单元和右子单元三个子单元的运动矢量根据预设的非平动运动模型推导得到;若与所述第一子单元相邻的左子单元所在预测单元的运动矢量存在,则用所述第一子单元的运动矢量作为所述左子单元的运动矢量;若所述第一子单元为帧内编码模式或者所述第一子单元的运动矢量不存在,则通过预设的非平动运动模型推导得到所述左子单元的运动矢量。可选的,在第一方面的再一种可实现方式中,所述获取与所述滤波边界相邻的第一子单元的第一像素值又可以包括:获取所述第一子单元(P)的第一预测像素值;按照预设的非平动运动模型推导得到与所述第一子单元(P)的第一顶点(1)相邻的上方坐标(1.1)、下方坐标(1.2)、左方坐标(1.3)和右方坐标(1.4)中M个坐标的运动矢量,以及与所述第一子单元(P)的第二顶点(2)相邻的上方坐标(2.1)、下方坐标(2.2)、左方坐标(2.3)和右方坐标(2.4)中M个坐标的运动矢量;所述第一顶点(1)和所述第二顶点(2)为所述第一子单元(P)中任意两个不同的顶点;所述M为1至4中的任一整数;将所述第一子单元(P)的第一顶点(1)相邻的上方坐标(1.1)、下方坐标(1.2)、左方坐标(1.3)和右方坐标(1.4)中M个坐标的运动矢量,以及所述第一子单元(P)的第二顶点(2)相邻的上方坐标(2本文档来自技高网
...

【技术保护点】
一种去除块效应的滤波方法,用于对一图像块进行滤波处理,所述图像块划分为至少一个预测单元、以及至少一个变换单元,预测单元包含有非平动运动预测单元,其特征在于,所述方法包括:将每个预测单元划分为至少两个子单元;其中,每个子单元包含:N*N个像素点,所述N为大于等于1的整数;遍历所述至少两个子单元中的每个子单元,根据预设规则确定所述至少两个子单元中的至少一个滤波边界;对于所述至少一个滤波边界中的任一滤波边界,获取与所述滤波边界相邻的第一子单元的第一像素值和第二子单元的第一像素值;根据所述第一子单元的第一像素值、以及所述第二子单元的第一像素值对与所述滤波边界相邻的像素点进行滤波处理;其中,当所述滤波边界为竖直滤波边界时,所述第一子单元为与所述滤波边界相邻的上子单元,所述第二子单元为与所述滤波边界相邻的下子单元;当所述滤波边界为水平滤波边界时,所述第一子单元为与所述滤波边界相邻的左子单元,所述第二子单元为与所述滤波边界相邻的右子单元。

【技术特征摘要】
1.一种去除块效应的滤波方法,用于对一图像块进行滤波处理,所述图像块划分为至少一个预测单元、以及至少一个变换单元,预测单元包含有非平动运动预测单元,其特征在于,所述方法包括:将每个预测单元划分为至少两个子单元;其中,每个子单元包含:N*N个像素点,所述N为大于等于1的整数;遍历所述至少两个子单元中的每个子单元,根据预设规则确定所述至少两个子单元中的至少一个滤波边界;对于所述至少一个滤波边界中的任一滤波边界,获取与所述滤波边界相邻的第一子单元的第一像素值和第二子单元的第一像素值;根据所述第一子单元的第一像素值、以及所述第二子单元的第一像素值对与所述滤波边界相邻的像素点进行滤波处理;其中,当所述滤波边界为竖直滤波边界时,所述第一子单元为与所述滤波边界相邻的上子单元,所述第二子单元为与所述滤波边界相邻的下子单元;当所述滤波边界为水平滤波边界时,所述第一子单元为与所述滤波边界相邻的左子单元,所述第二子单元为与所述滤波边界相邻的右子单元。2.根据权利要求1所述的方法,其特征在于,对于所述至少两个子单元中的任一子单元,所述根据预设规则确定所述子单元中的滤波边界包括:若所述子单元包含在所述非平动运动预测单元中,则确定所述子单元的各个边界均为滤波边界;或者,若所述子单元的第一边界为所述图像块中预测单元的划分边界、或者所述子单元的第一边界为所述图像块中变换单元的划分边界,则确定所述子单元的第一边界为滤波边界,所述第一边界为所述子单元的任一边界。3.根据权利要求1或2所述的方法,其特征在于,所述获取与所述滤波边界相邻的第一子单元的第一像素值包括:获取所述第一子单元的第一预测像素值;计算与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中M个子单元的运动矢量;所述M为1至4中的任一整数;根据所述M个子单元的运动矢量得到所述第一子单元的M个第二预测像素值;根据所述第一子单元的第一预测像素值与所述M个第二预测像素值,按照第一预设算法得到所述第一子单元的第一像素值。4.根据权利要求3所述的方法,其特征在于,计算与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中每个子单元的运动矢量包括:若所述第一子单元包含在所述非平动运动预测单元中、或者所述第一子单元为与所述非平动运动预测单元的下边界或右边界相邻的子单元,则所述与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中每个子单元的运动矢量根据预设的非平动运动模型推导得到。5.根据权利要求3所述的方法,其特征在于,计算与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中每个子单元的运动矢量包括:若所述第一子单元为与所述非平动运动预测单元的上边界相邻的子单元,则与所述第一子单元相邻的下子单元、左子单元和右子单元三个子单元的运动矢量根据预设的非平动运动模型推导得到;若与所述第一子单元相邻的上子单元所在预测单元的运动矢量存在,则用所述第一子单元的运动矢量作为所述上子单元的运动矢量;若所述第一子单元为帧内编码模式或者所述第一子单元的运动矢量不存在,则通过预设的非平动运动模型推导得到所述上子单元的运动矢量。6.根据权利要求3所述的方法,其特征在于,计算与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中每个子单元的运动矢量包括:若所述第一子单元为与所述非平动运动预测单元的左边界相邻的子单元,则与所述第一子单元相邻的下子单元、上子单元和右子单元三个子单元的运动矢量根据预设的非平动运动模型推导得到;若与所述第一子单元相邻的左子单元所在预测单元的运动矢量存在,则用所述第一子单元的运动矢量作为所述左子单元的运动矢量;若所述第一子单元为帧内编码模式或者所述第一子单元的运动矢量不存在,则通过预设的非平动运动模型推导得到所述左子单元的运动矢量。7.根据权利要求1或2所述的方法,其特征在于,所述获取与所述滤波边界相邻的第一子单元的第一像素值包括:获取所述第一子单元(P)的第一预测像素值;按照预设的非平动运动模型推导得到与所述第一子单元(P)的第一顶点(1)相邻的上方坐标(1.1)、下方坐标(1.2)、左方坐标(1.3)和右方坐标(1.4)中M个坐标的运动矢量,以及与所述第一子单元(P)的第二顶点(2)相邻的上方坐标(2.1)、下方坐标(2.2)、左方坐标(2.3)和右方坐标(2.4)中M个坐标的运动矢量;所述第一顶点(1)和所述第二顶点(2)为所述第一子单元(P)中任意两个不同的顶点;所述M为1至4中的任一整数;将所述第一子单元(P)的第一顶点(1)相邻的上方坐标(1.1)、下方坐标(1.2)、左方坐标(1.3)和右方坐标(1.4)中M个坐标的运动矢量,以及所述第一子单元(P)的第二顶点(2)相邻的上方坐标(2.1)、下方坐标(2.2)、左方坐标(2.3)和右方坐标(2.4)中M个坐标的运动矢量组成M个运动矢量对;其中,所述M个运动矢量对中的第一运动矢量对包含:与所述第一子单元(P)的第一顶点(1)相邻的第一坐标的运动矢量和与所述第一子单元(P)的第二顶点(2)相邻的第一坐标的运动矢量的运动矢量;第一坐标为上方坐标或下方坐标或左方坐标或右方坐标;分别按照预设的非平动运动模型对所述M个运动矢量对进行计算,得到所述第一子单元(P)的M个运动矢量;根据所述第一子单元(P)的M个运动矢量得到所述第一子单元(P)的M个第二预测像素值;根据所述第一子单元(P)的第一预测像素值与所述M个第二预测像素值,按照第一预设算法得到所述第一子单元(P)的第一像素值。8.根据权利要求1-7任一项所述的方法,其特征在于,在根据所述第一子单元的第一像素值、以及所述第二子单元的第一像素值对与所述滤波边界相邻的像素点进行滤波处理之前,所述方法还包括:确定所述滤波边界的边界强度值;所述根据所述第一子单元的第一像素值、以及所述第二子单元的第一像素值对与所述滤波边界相邻的像素点进行滤波处理包括:根据所述滤波边界的边界强度值、初始阈值β0、t0、所述第一子单元和所述第二子单元中与所述滤波边界相邻的M个像素点的像素值间的像素差值,按照第二预设算法对与所述滤波边界相邻的像素点进行滤波处理;所述M为大于等于1的整数。9.根据权利要求8所述的方法,其特征在于,所述确定所述滤波边界的边界强度值包括:若所述第一子单元或者所述第二子单元所在的图像块中至少有一个帧内预测单元,则将所述滤波边界的边界强度值设置为2;若所述第一子单元或者所述第二子单元所在的图像块中未存在帧内预测单元,且所述滤波边界为变换单元划分边界,所述第一子单元或者所述第二子单元所在的变换单元至少存在一个非零系数,则将所述滤波边界的边界强度值设置为1;若所述第一子单元或者所述第二子单元所在的图像块中未存在帧内预测单元,且下述(1)~(3)中任一条件为真条件时,则将所述滤波边界的边界强度值设置为1;否则,将所述滤波边界的边界强度值设置为0:(1)若所述第一子单元和所述第二子单元所在的预测单元的参考图像或者运动矢量个数不同;所述第一子单元所在的预测单元的运动矢量个数为1,所述第二子单元所在的预测单元的运动矢量个数为1,并且所述第一子单元的运动矢量与所述第二子单元的运动矢量间的水平分量或者竖直分量的运动矢量差值大于或等于运动矢量差阈值T;(2)所述第一子单元所在的预测单元的运动矢量个数为2且两个运动矢量所指向的参考图像不同,所述第二子单元所在的预测单元的运动矢量个数为2且两个运动矢量所指向的参考图像不同,并且使用相同预测图像的两个运动矢量之间的水平分量或者竖直分量的运动矢量差值大于或等于运动矢量差阈值T;(3)所述第一子单元所在的预测单元的运动矢量个数为2且两个运动矢量所指向的参考图像相同,所述第二子单元所在的预测单元的运动矢量个数为2且两个运动矢量所指向的参考图像相同,且下述a和b两个条件都为真条件:(a)指向前向参考候选列表list0中的两个运动矢量之间的水平分量或者竖直分量的差值大于或等于运动矢量差阈值T;或者指向后向参考候选列表list1中的两个运动矢量之间的水平分量或者竖直分量的差值大于或等于运动矢量差阈值T;(b)所述第一子单元所在的预测单元的指向前向参考候选列表list0的运动矢量与所述第二子单元所在的预测单元的指向后向参考候选列表list1的运动矢量之间的水平分量或者竖直分量的差值大于或等于运动矢量差阈值T;或者所述第一子单元所在的预测单元的指向后向参考候选列表list1的运动矢量与所述第二子单元所在的预测单元的指向前向参考候选列表list0的运动矢量之间的水平分量或者竖直分量的差值大于或等于运动矢量差阈值T。10.根据权利要求9所述的方法,其特征在于,所述运动矢量差阈值T为4个1/4亮度采样精度;或者,若所述第一子单元和所述第二子单元所在的预测单元的运动模型不同,则所述运动矢量差阈值T为1个1/4亮度采样精度,若所述第一单元和所述第二子单元所在的预测单元的运动模型相同,则所述运动矢量差阈值T为4个1/4亮度采样精度。11.一种滤波装置,用于对一图像块进行滤波处理,所述图像块划分为至少一个预测单元、以及至少一个变换单元,预测单元包含有非平动运动预测单元,其特征在于,所述滤波装置包括:划分单元,用于将每个预测单元划分为至少两个子单元;其中,每个子单元包含:N*N个像素点,所述N为大于等于1的整数;确定单元,用于遍历所述划分单元划分出的至少两个子单元中的每个子单元,根据预设规则确定所述至少两个子单元中的至少一个滤波边界;获取单元,用于对于所述确定单元确定出的至少一个滤波边界中的任一滤波边界,获取与所述滤波边界相邻的第一子单元的第一像素值和第二子单元的第一像素值;滤波单元,用于根据所述获取单元获取到的第一子单元的第一像素值、以及所述第二子单元的第一像素值,对与所述滤波边界相邻的像素点进行滤波处理;其中,当所述滤波边界为竖直滤波边界时,所述第一子单元为与所述滤波边界相邻的上子单元,所述第二子单元为与所述滤波边界相邻的下子单元;当所述滤波边界为水平滤波边界时,所述第一子单元为与所述滤波边界相邻的左子单元,所述第二子单元为与所述滤波边界相邻的右子单元。12.根据权利要求11所述的滤波装置,其特征在于,对于所述至少两个子单元中的任一子单元,所述确定单元具体用于:若所述子单元包含在所述非平动运动预测单元中,则确定所述子单元的各个边界均为滤波边界;或者,若所述子单元的第一边界为所述图像块中预测单元的划分边界、或者所述子单元的第一边界为所述图像块中变换单元的划分边界,则确定所述子单元的第一边界为滤波边界,所述第一边界为所述子单元的任一边界。13.根据权利要求11或12所述的滤波装置,其特征在于,所述获取单元具体用于:获取所述第一子单元的第一预测像素值;计算与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中M个子单元的运动矢量;所述M为1至4中的任一整数;根据所述M个子单元的运动矢量得到所述第一子单元的M个第二预测像素值;根据所述第一子单元的第一预测像素值与所述M个第二预测像素值,按照第一预设算法得到所述第一子单元的第一像素值。14.根据权利要求13所述的滤波装置,其特征在于,所述获取单元具体用于:若所述第一子单元包含在所述非平动运动预测单元中、或者所述第一子单元为与所述非平动运动预测单元的下边界或右边界相邻的子单元,则所述与所述第一子单元相邻的上子单元、下子单元、左子单元和右子单元中每个子单元的运动矢量根据预设的非平动运动模型推导得到。15.根据权利要求13所述的滤波装置,其特征在于,所述获取单元具体用于:若所述第一子单元为与所述非平动运动预测单元的上边界相邻的子单元,则与所述第一子单元相邻的下子单元、左子单元和右子单元三个子单元的运动矢量根据预设的非平动运动模型推导得到;若与所述第一子单元相邻的上子单元所在预测单元的运动矢量存在,则用所述第一子单元的运动矢量作为所述上子单元的运动矢量;若所述第一子单元为帧内编码模式或者所述第一子单元的运动矢量不存在,则通过预设的非平动运动模型推导得到所述上子单元的运动矢量。16.根据权利要求13所述的滤波装置,其特征在于,所述获取单元具体用于:若所述第一子单元为与所述非平动运动预测单元的左边界相邻的子单元,则与所述第一子单元相邻的下子单元、上子单元和右子单元三个子单元的运动矢量根据预设的非平动运动模型推导得到;若与所述第一子单元相邻的左子单元所在预测单元的运动矢量存在,则用所述第一子单元的运动矢量作为所述左子单元的运动矢量;若所述第一子单元为帧内编码模式或者所述第一子单元的运动矢量不存在,则通过预设的非平动运动模型推导得到所述左子单元的运动矢量。17.根据权利要求11或12所述的滤波装置,其特征在于,所述获取单元具体用于:获取所述第一子单元(P)的第一预测像素值;按照预设的非平动运动模型推导得到与所述第一子单元(P)的第一顶点(1)相邻的上方坐标(1.1)、下方坐标(1.2)、左方坐标(1.3)和右方坐标(1.4)中M个坐标的运动矢量,以及与所述第一子单元(P)的第二顶点(2)相邻的上方坐标(2.1)、下方坐标(2.2)、左方坐标(2.3)和右方坐标(2.4)中M个坐标的运动矢量...

【专利技术属性】
技术研发人员:陈焕浜林四新杨海涛高山
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1