视频数据编码的环路滤波方法和滤波器的制作方法

文档序号:7929029阅读:197来源:国知局

专利名称::视频数据编码的环路滤波方法和滤波器的制作方法
技术领域
:本发明涉及视频编解码,具体地说涉及去除方块效应的滤波技术。
背景技术
:目前现有技术中的环路滤波的方法是针对8bit视频数据编码而设计的。但是,近年来,出现了一些应用(譬如监控领域),它们需要对不同位宽,特别是高于8bit的视频数据进行编码,因此有必要对环路滤波进行改进,以适应这些新应用的要求。
发明内容本发明的目的在于提供新的环路滤波方法和滤波器,以适应新应用的需要。为此,本发明基于样点的比特位宽调整滤波过程中与输入视频位宽相关的块边界阈值,将环路滤波方法扩展到不同位宽特别是更高位数的视频数据。根据第一方面,本发明提供一种输入视频数据的环路滤波方法,包括下列步骤计算宏块中当前块的边界滤波强度和边界阈值;基于边界阈值,对具有不同滤波强度的当前块选择性执行边界滤波;其特征在于计算边界阈值的步骤包括依据样点的比特位宽调整边界阈值。根据第二方面,本发明提供一种输入视频数据的环路滤波器,包括计算宏块中当前块的边界滤波强度和边界阈值的单元;基于边界阈值,对具有不同滤波强度的当前块选择性执行边界滤波的单元;其特征在于计算边界阈值的单元包括依据样点的比特位宽调整边界阈值的子单元。优选地,在本发明中,在基准档次环路滤波的情况下,基于样点的比特位宽调整滤波裁减参数,并且将滤波裁减参数用于对当前块滤波强度执行边界滤波。本发明扩展了环路滤波对输入视频数据bit位宽动态范围的支持,使之能够适应更多应用的要求,并保证了对于8bit输入数据的兼容性,同时没有增加编解码器的计算量,也没有明显增加存贮器开销。下面将参照附图对本发明的具体实施方案进行更详细的说明,附图中图l(a)和(b)分别是不同格式下宏块滤波的边界示意图;图2是根据第一实施例在水平或垂直边界两侧的6个样本点的示意图;图3(a)和(b)是根据第二实施例水平边界样本的示意图;图4(a)和(b)是根据第二实施例垂直边界样本的示意图。具体实施例方式本发明基于输入视频位宽,调整滤波过程中与输入视频位宽相关的块边界阈值、滤波裁减参数、边界强度等参数的计算方法,改进了判别和滤波的具体技术,将环路滤波方3法扩展到支持对更高bit位数的视频数据进行,保证在对更高动态范围的输入视频数据进行压縮后的得到好的主观质量。当输入的视频数据的bit位宽大于8bit,令BitD印thY、BitD印thC分别表示亮、度色度样点的比特位宽,BitD印thY和BitD印thC取值大于等于8。如果编码profilejd的值为0x20,以8X8亮度块为例,亮度块之间的每条边界有一个"边界强度"Bs,色度块的边界强度用对应位置亮度块边界的Bs代替。图1是宏块中需要滤波的边界示意图。图l(a)是4:2:0格式,而图l(b)是4:2:2格式。请注意,图中的粗实线为垂直边界,粗虚线为水平边界。如果Bs等于0则不要对边界滤波,否则根据局部样本值的特性和Bs值对边界滤波。如果profilejd的值为0x40,8X8亮度块或色度块之间的每条边界分别有多个"边界强度"Bs。如果Bs等于0则不要对边界滤波,否则根据局部样本值的特性和Bs值对边界滤波。局部样本值的特性指的是边界领域的内容特性,相邻宏块的编码模式等等。除图像边界及条带的边界之外,宏块与相邻宏块的上边界和左边界,以及宏块内部各个8X8块的边界都应进行滤波。环路滤波以宏块为单位,按照解码顺序依次处理。图像中每个宏块的滤波过程如下对亮度和色度分别做环路滤波,如图1所示,首先从左到右对垂直边界滤波,然后从上到下对水平边界滤波。当前宏块的上边或者左边的样本值可能在以前的宏块环路滤波过程中已经被修改,当前宏块的环路滤波的输入为这些可能被修改的样本值,并且当前宏块环路滤波可能进一步修改这些样本值。当前宏块垂直边界滤波过程中修改的样本值作为水平边界滤波过程的输入。如果profilejd的值为0x20,应采用基准档次环路滤波,如果profilejd的值为0x40,应采用增强档次环路滤波。接下来,对基准档次环路滤波和增强档次环路滤波分别详细介绍。1基准档次环路滤波1.1边界滤波强度的推导过程根据宏块类型、宏块中8X8亮度块的运动矢量,按如下方法计算Bs的值—如果边界两边的两个8X8块有一个或两个都属于帧内预测宏块,则Bs等于2;——否则,如果当前图像类型为P帧并且满足以下两个条件中的任一个,则Bs等于1;如果当前图像类型为P帧并且以下两个条件都不满足,则Bs等于0;a)两个块的参考图像不同。b)两个块的参考图像相同,但是两个运动矢量分量中任一个分量的差值大于或等于一个整像素。——否则,按以下方法计算Bs的值a)如果两个块p和q的前向索引参考值和后向索引参考值分别相等以下两个条件中任一个成立,则Bs等于1:I)两个块的前向运动矢量分量中任一个分量的差值大于或等于一个整像素。II)两个块的后向运动矢量分量中任一个分量的差值大于或等于一个整像素。否则,Bs等于O;b)否则,Bs等于l。1.2块边界阈值的推导过程图2是根据第一实施例表示块p和块q在水平或垂直边界两侧的6个样本点(边界用黑色粗线表示)的示意图。用PO、Pl、QO和Ql分别表示pO、pl、qO和ql滤波后的样本值。如果下式为真,对边界样本滤波Bs!=0&&Abs(pO-qO)<a&&Abs(pl-pO)<歸Abs(ql-qO)<P其中a和|3为块边界阈值。可以根据两个块的量化参数QP平均值QPav,以及去块效应滤波参数AlphaCOffset和BetaOffset计算查表索引IndexA禾PIndexB。如果当前±央是亮度±央,应使用亮度块的QP;如果当前块是色度块,应使用色度块的QP。两个块的QP平均值QPav为QPav=(QPp+QPq+1)>>1索弓|IndexA禾PIndexB为IndexA=CIip3(0,63,QPav+AlphaCOffset)IndexB=CIip3(0,63,QPav+BetaOffset)其中aSc<a;其它根据索引IndexA和IndexB与门限变量a'禾P|3'间的对应关系,由表1得到a'、P'的取值。这里,a'、P'是指原8比特视频块的块边界阈值。根据IndexA查表得到a',根据IndexB查表得到P'。通过下述方式可以得到相应的块边界阈值a和|3。如果当前块是亮度块a=a,*(1<<(BitD印thY-8))P=P,*(1<<(BitD印thY-8))。否则当前块是色度块a=a,*(1<<(BitD印thC-8))P=P,*(1<<(BitD印thC-8))。表1块边界门限变量值a'禾Pp'与IndexA和IndexB的关系索引a,p,索引a,P,索引a,P,索引a,P,0001642322264846151001742332474948165<table>tableseeoriginaldocumentpage6</column></row><table><formula>formulaseeoriginaldocumentpage7</formula>QO=(2Xql+qO+pO+2)>>2其中PO和QO分别为pO和q0滤波后的值。如果在上面的滤波过程中PI(或Ql)不被赋值,则意味着不对Pi(或ql)滤波;否则,PI或Ql为pi或ql滤波后的值。色度块边界两边的样本PO和qO的采用同样的方法滤波,不对pi和ql滤波。1.4Bs等于1时的边界滤波过程边界滤波强度Bs的值为1时,对pO和qO滤波的计算过程如下(PO和QO分别为pO和qO滤波后的值):delta=Clip3(-C,C,(((qO-pO)X3+(pl-ql)+4)>>3))如果为亮度边界PO=CliplY(pO+delta)QO=CliplY(qO-delta)否则为色度边界PO=CliplC(pO+delta)QO=CliplC(qO-delta)其中CliplY(x)=Clip3(0,(1<<BitD印thY)-l,x)CliplC(x)=Clip3(0,(1<<BitD印thC)-l,x)然后判断是否需要对pl和ql滤波,计算过程如下——如果为色度边界,不对pl和ql滤波。——如果在亮度边界处有ap小于|3,则对pi滤波,滤波后的值为PI=CliplY(pl+Clip3(-C,C,(((PO-pl)X3+(p2_Q0)+4)>>3)))——如果在亮度边界处有aq小于|3,则对ql滤波,滤波后的值为Ql=CliplY(ql-Clip3(-C,C,(((ql-QO)X3+(P0_q2)+4)>>3)))上述滤波过程中,ap和aq的定义见1.3,C称为滤波裁减参数,C'为滤波裁减参,C'与IndexA之间的关系见表2。滤波裁减参数C的值由下式计算出C=C,*(1<<(BitD印thY-8))表2滤波裁减参数变量C'与IndexA的关系<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>2增强档次环路滤波2.1是否跳过环路滤波的判断如果当前图像是P帧,或者当前解码场是I帧的第二场(显示顺序)——如果宏块的cbp的值为O,则宏块内8X8块边界不需要滤波。——不采用高级预测模式,对于宏块的左边界或上边界,如果两个相邻宏块的cbp的值均为0并且两个宏块的参考索引相同同时两个宏块的运动矢量的差小于一个整像素点,则该边界不需要滤波。——采用高级预测模式,对于VS宏块对和NS宏块对之间的边界,如果VSO宏块和NSO宏块的cbp的值均为0并且两个宏块的参考索引相同同时两个宏块的运动矢量的差小于一个整像素点,则VS宏块对和NS宏块对之间的边界不需要滤波;否则,VS宏块对和NS宏块对之间的边界中VSl宏块的像素不需要滤波。2.2边界滤波强度的推导过程图3是根据第二实施例水平边界样本的示意图。图3a)表示的是top—fielcLfirst的值为'1'并且块q所在宏块为VSO宏块或NS宏块;或top_field_first的值为'0'并且块q所在宏块为VSl宏块的情形;图3b)表示的是top_field_first的值为'0'并且块q所在宏块为VSO宏块或NS宏块;或top_field_first的值为'1'并且块q所在宏块为VSl宏块的情形。图4是根据第二实施例垂直边界样本的示意图。图4a)表示的是top—fielcLfirst的值为'1',当前块q所在宏块为NS宏块,相邻块p所在宏块为VSO宏块;或top_field_first的值为'0',当前块q所在宏块为VSO宏块,相邻块p所在宏块为NS宏块的情形;图4b)表示top_field_first的值为'0',当前块q所在宏块为VSO宏块,相邻块p所在宏块为NS宏块;或top_field_first的值为'1',当前块q所在宏块为NS宏块,相邻块p所在宏块为VSO宏块的情形。按以下方法计算两个块的QP平均值QPav。如果当前块是亮度块,应使用亮度块的QP;如果当前块是色度块,应使用色度块的QP。QPav=(QPp+QPq+1)>>1索弓|IndexA禾口IndexB为:IndexA=CIip3(0,63,QPav+AlphaCOffset)IndexB=Clip3(0,63,QPav+BetaOffset)根据索引IndexA和IndexB与阈值a'和p'间的对应关系,由表1得到a'、p'的取值,根据IndexA查表得到a',根据IndexB查表得到P'。通过下述方式可以得到相应的块边界阈值a和13。如果当前块是亮度块a=a,*Q<<(BitD印thY-8))p=p,*(1<<(BitD印thY-8))否则当前块是色度块a=a,*Q<<(BitD印thC-8))P=P,*(1<<(BitD印thC-8))对水平边界的每一列和垂直边界的每一行单独计算边界滤波强度Bs。如果Abs(pO-qO)小于a并且Abs(pO-qO)大于l,按以下方法计算Bs;否则Bs等于O。—首先,将fL和fR的值均置为0,if(Abs(pO-pl)<fL+=2if(Abs(p0-p2)<fL++if(Abs(qO-ql)<fR+=2if(Abs(q0-q2)<fR++今滤波的边界是色度块的边界。e)如果采用高级预测模式,当前边界是水平边界,并且边界两边是NS宏块对和VS宏块对,滤波边界是亮度块边界,Bs减1。P0=((pl<<l)+pl+(pO<<3)+(p0<<l)+(qO<<l)+q0+8)>>4QO=((pO<<l)+pO+(qO<<3)+(q0<<l)+(ql<<l)+ql+8)>>4。2.6Bs等于1时的边界滤波过程边界滤波强度Bs的值为1时,对pO和qO滤波的计算过程如下(PO和QO是滤波后的值)PO=((pO<<l)+p0+q0+2)>>2QO=((qO<<l)+q0+p0+2)>>2。本发明扩展了环路滤波对输入视频数据bit位宽动态范围的支持,使之能够适应更多应用的要求,并保证了对于8bit输入数据的兼容性,同时没有增加编解码器的计算量,也没有明显增加存贮器开销。显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本邻域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。权利要求一种输入视频数据的环路滤波方法,包括下列步骤计算宏块中当前块的边界滤波强度和边界阈值;基于边界阈值,对具有不同滤波强度的当前块选择性执行边界滤波;其特征在于计算边界阈值的步骤包括依据样点的比特位宽调整边界阈值。2.如权利要求1所述的环路滤波方法,其特征在于当前块是亮度块,所述样点的比特位宽是亮度样点的比特位宽BitD印thY;边界阈值包括a和|3;a和|3满足下式a=a,*(1<<(BitD印thY-8))P=P,*(1<<(BitD印thY-8));其中,a'和13'是8比特输入视频数据环路滤波下的边界阈值。3.如权利要求1所述的环路滤波方法,其特征在于当前块是色度块,所述样点的比特位宽是色度样点的比特位宽BitD印thC;边界阈值包括a和|3;a和|3满足下式a=a,*(1<<(BitD印thC-8))P=P,*(1<<(BitD印thC-8));其中,a'和13'是8比特输入视频数据环路滤波下的边界阈值。4.如权利要求1所述的环路滤波方法,其特征在于所述边界滤波是基准档次环路滤波。5.如权利要求4所述的环路滤波方法,其特征在于包括基于样点的比特位宽调整滤波裁减参数,并且将滤波裁减参数用于对当前块滤波强度执行边界滤波的步骤。6.如权利要求4所述的环路滤波方法,其特征在于对具有不同滤波强度的当前块选择性执行边界滤波的步骤包括边界滤波强度的值较低时,计算CliplY(x)=Clip3(0,(1<<BitD印thY)-l,x)CliplC(x)=Clip3(0,(1<<BitD印thC)-l,x)然后,利用CliplY和CliplC函数对边界滤波;其中,BitD印thY为亮度样点的比特位宽,BitD印thC为色度样点的比特位宽。7.如权利要求1所述的环路滤波方法,其特征在于所述边界滤波是增强档次环路滤波;所述计算宏块中当前块的边界滤波强度和边界阈值的步骤包括先计算边界阈值,然后基于边界阈值计算边界滤波强度。8.如权利要求7所述的环路滤波方法,其特征在于包括对边界滤波强度修正的步骤。9.如权利要求7所述的环路滤波方法,其特征在于包括在特定条件下,不执行所述环路滤波的步骤。10.如权利要求1所述的环路滤波方法,其特征在于所述输入视频数据高于8比特。11.一种输入视频数据的环路滤波器,包括计算宏块中当前块的边界滤波强度和边界阈值的单元;基于边界阈值,对具有不同滤波强度的当前块选择性执行边界滤波的单元;其特征在于计算边界阈值的单元包括依据样点的比特位宽调整边界阈值的子单元。全文摘要本发明提供一种高于8比特的输入视频数据的环路滤波方法和滤波器。该方法包括下列步骤计算宏块中当前块的边界滤波强度和边界阈值;基于边界阈值,对具有不同滤波强度的当前块选择性执行边界滤波;其特征在于计算边界阈值的步骤包括依据样点的比特位宽调整边界阈值。本发明扩展了环路滤波对输入视频数据bit位宽动态范围的支持,使之能够适应更多应用的要求,并保证了对于8bit输入数据的兼容性,同时没有增加编解码器的计算量,也没有明显增加存贮器开销。文档编号H04N7/26GK101754010SQ20081024012公开日2010年6月23日申请日期2008年12月18日优先权日2008年12月18日发明者于烨申请人:北京中星微电子有限公司;中星电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1