一种用于视频编码的简单化环路滤波方法

文档序号:7587961阅读:200来源:国知局
专利名称:一种用于视频编码的简单化环路滤波方法
技术领域
本发明专利涉及计算机数字视频编码技术领域,针对的是视频编码系统。具体的研究发明内容为环路滤波技术。
背景技术
现有的视频图像,在经过传输之前,需要先对视频举行压缩编码,然后才可以进行传输。视频编码技术的好坏将直接影响解码后的视频效果。目前,国内外有关视频编码的大多数技术方案,都是基于MPEG4或者H.26L标准的。其中JVT(该组织是由ITU-T和ISO/IEC JTC1这两个国际标准化组织联合形成的一个音视频标准化组织)出具的视频编码标准则是目前国内外十分流行的一种编码标准技术。
在JVT所提供的视频编码技术中,有关环路滤波技术是如下描述的采用经过统计得到的环滤波插值函数,并且针对不同的帧类型和不同的预测类型,分别制定不同的滤波强度和与之相对应的滤波器。该技术的最大缺点就是滤波器比较复杂,硬件实现成本较高。

发明内容
本发明的主要目的在于提供一种用于视频编码的简单化的环路滤波方案,该方案不仅可以很好地消除由于分块变化编码所带来的块效应,以达到很高的编码效率以及更好的编码效果,而且硬件实现比较简单,成本较低。
本发明主要改动了环路滤波的滤波器和滤波强度的判定方法。其具体创新点在于通过判断帧类型直接判定滤波强度,同时大幅度减小了滤波器的硬件实现复杂度。方案中包括了下列技术内容1、简单的滤波器本发明采用的滤波器插值计算系数为1,2,1。利用输入系统值,按照1,2,1的额定比例,将计算得到的插值结果替换到相应位置的到视频图像中。
2、滤波强度的判定由于当前JVT的方案通过运动向量的插值来判断当前块的滤波强度不仅硬件实现比较麻烦,而且采用了两种完全不同的滤波器。本发明仅仅通过判断当前帧类型来决定相应滤波强度。在滤波强度的不同的情况下,使用同一滤波器通过不同的滤波范围来实现。如果是I帧,则制定滤波强度为2;如果是P帧,则制定滤波强度为1;其余滤波强度为0。
3、滤波强度和滤波器之间的关联如果滤波强度为2,则滤波长度为两对象素点;如果滤波强度为1,则滤波长度为一对象素点;如果滤波强度为0,则不滤波。
本发明的技术方案如图2-图5所示。是在基于视频内容的视频编码方法中采用了一种简单的环路滤波完成;这种用于视频编码中的的环路滤波方法,其视频编码是通过视频摄像机得到原始视频流作为输入,通过视频采集卡后变成视频数据流进入计算机,并采用JVT提供的6.0版本的视频编码技术,由计算机进行处理与运算,其方法步骤为计算机系统接受采集卡处理好的原始视频流,经过变换和量化后,并通过视频处理子程序后所得到的数据流再回馈到输入部分,主要做编码校正,继续参与变换和量化,然后做熵编码,最后输出编码好的视频数据流;所述的视频处理子程序主要是对视频进行运动补偿与预测,其方法步骤为对视频依次做新的反量化、反变换处理后,进入环滤波子程序,然后存储处理后的视频帧,对视频帧做运动补偿和运动估计,运动补偿所得到的结果用来辅助编码,反馈回环滤波子程序中,最后作运动估计,得到的数据作为子系统的输出;本发明的特征在于,在前述的环滤波子程序中所采用的方法是在JVT视频编码技术的基础上,通过判断当前帧类型直接决定相应的滤波强度视频编码;在滤波强度的不同的情况下,使用同一滤波器通过不同的滤波范围来实现,如果是I帧,则制定滤波强度为2,如果是P帧,则制定滤波强度为1,其余滤波强度为0;所采用的滤波器插值计算系数为1、2、1,利用输入系统值,按照1、2、1的额定比例,将计算得到的插值结果替换到相应位置的到视频图像中;并且提出了用一个滤波器来对编码块的边界像素进行滤波,如果滤波强度为2,则滤波长度为两对象素点,如果滤波强度为1,则滤波长度为一对象素点,如果滤波强度为0,则不滤波。
本发明前述的环滤波子程序中是在JVT视频编码技术的基础上,定义了自己的滤波强度,通过判断帧类型直接决定滤波强度,并且提出了一个十分简单的滤波器用来对编码块的边界像素进行滤波;按照环滤波方法所执行的环滤波程序的方法步骤如下1)判定当前编码帧的类型,如果为B帧,即双向预测帧,则不做环滤波,退出环滤波子程序;如果不为B帧,则进行下一步;
2)判定当前编码帧的类型,如果为I帧、即帧内预测帧,则滤波强度为2;如果为P帧、即预测帧,则滤波强度为1;3)如果滤波强度为2,则滤波范围为边界的两对像素点;如果滤波强度为1,则滤波范围为边界的一对像素点;使用滤波系数为1、2、1的滤波器,权重为1的分别是当前像素点的左右邻点,权重为2的则是当前像素点。
其中,所述的环滤波子程序中滤波器的计算公式为当边界强度为2的时候,且p0和q0的像素插值大于一定阈值,则(P0,P1,q0,q1分别为编码块边界的两对像素点)P0=(p1+2×p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;如果p0和q0的像素插值小于该阈值,则P0=(2×p1+p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;至于q0,q1,则同样按照以上规则进行处理。
当边界强度为1的时候P0=(p1+2×p0+q0+2)/4;至于q0,则同样按照以上规则进行处理。
其中,q1和p1不作滤波处理。
公式中,p0,p1,p2,q0,q1,q2分别为编码块边界的两对像素点。其中,p0为当前像素点的话,p1为p0左边的相邻像素,p2为p1左边的相邻像素q0为p0点右边的邻接像素点,q1为q0右边的相邻像素,q2为q1右边的相邻像素。
本发明的实验效果显著,可以有效提高数字视频的编码效率。


图1系统框图;图2计算机编码流程图;图3视频处理子程序流程图;图4环滤波原理框图;图5环滤波子程序流程图。
具体实施例方式
根据图1-图5配置本发明的一个实施例用于说明。本例中中计算机为奔腾3以上CPU,10G以上硬盘,具有一般图像处理能力的普通台式微机。采用现有的JVT提供的编码标准6.0版本,流程图中所述的变换以及量化分别为视频流的格式一般为YUV格式,(即亮度、色度和饱和度分量,其比例一般是4∶2∶2或者4∶2∶0),采用的变化一般为DCT变化。目前,H.264中4×4点残差块的整数变换和量化方法具体为1、整数变换和量化对于运动补偿预测或帧内预测后的4×4点残差数据,进行如下的变换
Y=CfXCfT⊗Ef=(111121-1-21-1-111-22-1X121111-1-21-1-121-21-1)⊗a2ab/2a2ab/2ab/2b2/4ab/2b2/4a2ab/2a2ab/2ab/2b2/4ab/2b2/4]]>a=12,]]>b=25.]]>CfXCfT是二维变换的核心部分,Ef是缩放系数矩阵。运算符表示每一个变换后的系数分别与矩阵Ef中相同位置的缩放因子相乘(标量乘法而不是矩阵乘法)。
以上只是整数变换的正变换理论说明,在H.264的应用中,在进行了二维核心变换CfXCfT后,缩放过程是和量化相结合的,这样就减少了运算量。
H.264中的量化方法如下Yq(i,j)=sign{Y(i,j)}(|Y(i,j)|A(QM,i,j)+f)>>(15+QE)QM≡QPmod6,QE≡QP/6,A(QM,i,j)=M(QM,r)。当r=0时,(i,j)={(0,0),(0,2),(2,0),(2,2)},当r=1时,(i,j)={(1,1),(1,3),(3,1),(3,3)},当r=2时,(i,j)是其它值。M(QM,r)的取值如下M=131075243806611916466074901008241946554936236475825819233555243728228934559]]>在解码端,反量化的方法是Yr′(i,j)=Yq(i,j)B(QM,i,j)<<QEYr(i,j)=Yr′(i,j)>>6B(QM,i,j)=S(QM,r)。当r=0时,(i,j)={(0,0),(0,2),(2,0),(2,2)},当r=1时,(i,j)={(1,1),(1,3),(3,1),(3,3)},当r=2时,(i,j)是其它值。S(QM,r)的取值如下S=101613111814132016142318162520182923]]>反变换过程是X′=CiT(Y⊗Ei)Ci=1111/211/2-1-11-1/2-111-11-1/2(Yr⊗a2aba2ababb2abb2a2aba2ababb2abb2)111111/2-1/2-11-1-111/2-11-1/2]]>a=12,]]>b=25;]]>CiTYCi是二维变换的核心部分,Ei是缩放系数矩阵。
以上只是整数变换的反变换理论说明,在H.264的应用中,在进行了二维核心反变换CiTYCi前,缩放过程已和量化相结合,这样就减少了运算量。
同理,在涉及到后面的反量化和反变化,则刚刚好是以上所述过程的逆变换。
对环滤波这一环节的程序进行完全替换。这里修改了滤波器的插值函数,以及修改过后的滤波强度判定办法。具体实施方案为1边界范围的相邻像素滤波示意视频图像的每一个宏块在做环滤波的时候,对相邻3对像素点作插值。具体位置关系如图所示 图中p0,p1,p2,q0,q1,q2表示编码块边界的6个像素位置。
2滤波强度的制定直接判定当前编码帧的类型,如果是双向编码帧(B帧),则滤波强度为0,不作滤波。如果当前编码帧为预测帧(P帧),则滤波强度为1,对边界的一对像素点进行滤波。如果当前编码帧为帧内编码帧(I帧),则滤波强度为2,对边界的两对像素点进行滤波。
3综述综合以上几种因素的考虑,具体实现为首先,针对不同的当前视频编码帧,按不同的滤波强度,具体滤波如下●当边界强度为2的时候,且p0和q0的像素插值大于一定阈值M,则P0=(p1+2×p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;如果p0和q0的像素插值小于该阈值M,则P0=(2×p1+p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;至于q0,q1,则同样按照以上规则进行处理。
●当边界强度为1的时候P0=(p1+2×p0+q0+2)/4;至于q0,则同样按照以上规则进行处理。
其中,q1和p1不作滤波处理。
本发明经多次实验其效果显著,具体实验效果数据如下高清视频序列Flamingo.yuv的测试结果(帧率30Hz,20帧,1920*1088)

高清视频序列Harbour.yuv的测试结果(帧率30Hz,300帧,1280*720)

权利要求
1.一种用于视频编码的简单化环路滤波方法,其视频编码是通过视频摄像机得到原始视频流作为输入,通过视频采集卡后变成视频数据流进入计算机,并采用JVT提供的6.0版本的视频编码技术,由计算机进行处理与运算,其方法步骤为计算机系统接受采集卡处理好的原始视频流,经过变换和量化后,并通过视频处理子程序后所得到的数据流再回馈到输入部分,主要做编码校正,继续参与变换和量化,然后做熵编码,最后输出编码好的视频数据流;所述的视频处理子程序主要是对视频进行运动补偿与预测,其方法步骤为对视频依次做新的反量化、反变换处理后,进入环滤波子程序,然后存储处理后的视频帧,对视频帧做运动补偿和运动估计,运动补偿所得到的结果用来辅助编码,反馈回环滤波子程序中,最后作运动估计,得到的数据作为子系统的输出;本发明的特征在于,在前述的环滤波子程序中所采用的方法是在JVT视频编码技术的基础上,通过判断当前帧类型直接决定相应的滤波强度视频编码;在滤波强度的不同的情况下,使用同一滤波器通过不同的滤波范围来实现,如果是I帧(帧内预测帧),则制定滤波强度为2,如果是P帧(预测帧),则制定滤波强度为1,其余滤波强度为0;所采用的滤波器插值计算系数为1、2、1,利用输入系统值,按照1、2、1的额定比例,将计算得到的插值结果替换到相应位置的到视频图像中;并且提出了用一个滤波器来对编码块的边界像素进行滤波,如果滤波强度为2,则滤波长度为两对象素点,如果滤波强度为1,则滤波长度为一对象素点,如果滤波强度为0,则不滤波。
2.根据权利要求1所述的一种用于视频编码的简单化环路滤波方法,其特征在于,按照环滤波方法所执行的环滤波程序的方法步骤如下1)判定当前编码帧的类型,如果为B帧,即双向预测帧,则不做环滤波,退出环滤波子程序;如果不为B帧,则进行下一步;2)判定当前编码帧的类型,如果为I帧、即帧内预测帧,则滤波强度为2;如果为P帧、即预测帧,则滤波强度为1;3)如果滤波强度为2,则滤波范围为边界的两对像素点;如果滤波强度为1,则滤波范围为边界的一对像素点;使用滤波系数为1、2、1的滤波器,权重为1的分别是当前像素点的左右邻点,权重为2的则是当前像素点。
3.根据权利要求1所述的一种用于视频编码的简单化环路滤波方法,其特征在于,所述的环滤波子程序中滤波器的技术参数为滤波器的计算公式为1)当边界强度为2的时候,且p0和q0的像素插值大于一定阈值M,则P0=(p1+2×p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;如果p0和q0的像素插值小于该阈值M,则P0=(2×p1+p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;至于q0,q1,则同样按照以上规则进行处理;2)当边界强度为1的时候P0=(p1+2×p0+q0+2)/4;至于q0,则同样按照以上规则进行处理;其中,q1和p1不作滤波处理;公式中,p0,p1,p2,q0,q1,q2分别为编码块边界的两对像素点,其中,p0为当前像素点的话,p1为p0左边的相邻像素,p2为p1左边的相邻像素;q0为p0点右边的邻接像素点,q1为q0右边的相邻像素,q2为q1右边的相邻像素。
全文摘要
一种用于视频编码技术的简单环路滤波方法,涉及数字视频编码技术领域。该方法是将经摄像机、视频采集卡后得到的视频数据流输入计算机,视频数据流在计算机中依次进行变换和量化,再经过视频处理子程序后回馈到输入部分,继续参与变换和量化,之后做熵编码,最后输出编码好的视频数据流。所述的视频处理子程序主要是在JVT视频编码技术的基础上对视频进行运动补偿与预测;其发明特征在于环滤波子程序改变了原有环路滤波中的滤波强度判断方法以及滤波器,仅通过区别不同的编码帧类型决定当前的滤波强度,同时采用了一个简单的滤波器对编码块边界进行滤波。该方法可消除了由于分块变化编码带来的块效应,具有编码效率和效果高,硬件实现简单等特点。
文档编号H04N7/24GK1558680SQ20041000067
公开日2004年12月29日 申请日期2004年1月16日 优先权日2004年1月16日
发明者孔德慧, 王雁来, 尹宝才, 孙艳丰, 张楠, 孙磊 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1