一种视频编解码方法和装置与流程

文档序号:11970637阅读:198来源:国知局
一种视频编解码方法和装置与流程
本发明涉及视频编解码领域,特别涉及一种不规则子图像块划分的视频编解码方法和装置。

背景技术:
在现有的视频编解码技术中,一般都是通过将当前帧图像的图像块的像素值与参考图像块的像素值作差得到残差,然后将得到的残差经过量化和熵编码后写入码流中,与运动矢量信息一起传送给解码端。而解码端则从得到的码流中中读取比特流,然后经过反量化,得到相应的残差,然后再根据码流中的运动矢量信息,获取当前图像块的参考图像块,将残差与参考图像块相加得到当前图像块的像素值。在现有技术的编解码过程中,无论是残差的计算,还是参考图像块的查找,通常会将图像块会分为子图像块,以子图像块为单位进行预测的,而这些子图像块则是根据图像值的分布,在图像块中划分出来的一个个的矩形区域。但是,由于物体的形状各式各样,以矩形划分的子图像块很难适应具有丰富纹理特性的图像的像素值的变化的需要。

技术实现要素:
本发明实施例提供了一种编码方法,包括:根据图像块不规则划分方式以及位置参数,对待编码的图像块进行不规则划分,得到至少两个不同的子图像块;将所述子图像块与参考子图像块的进行比较,获得所述待编码图像块的的像素值的残差;根据待编码的图像块的相邻块获得参考位置参数,并将所述参考位置参数与所述带待编码图像块的位置参数做差,获得待待编码图像块的位置参数差值;对所述残差进行量化,并将所述量化结果、所述运动矢量信息和位置参数差值进行熵编码;将所述熵编码结果,以及所述图像快的划分方式信息写入码流中。本发明实施例还提供一种编码装置,包括划分模块,用于根据划分方式,以及相应的位置参数,对图像块进行不规则划分;残差获取模块,用于将所述子图像块与参考子图像块进行比较,获得所述待编码图像块的残差;参数获取模块,用于获得参考位置参数,并将所述参考位置参数与待编码图像块的位置参数进行比较,获得位置参数差值;量化模块,用于对所述残差进行量化;熵编码模块,用于对量化模块的量化结果,以及所述运动矢量和位置参数差值进行熵编码;发送模块,用于将所述熵编码模块的熵编码结果、所述图像块的划分方式写入码流中。本发明实施例还提供了一种解码方法,包括从码流中得到待解码图像块的残差;从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置;根据相邻块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。本发明实施例还提供一种解码装置,包括:残差获取模块,用于从码流中获得待解码图像块的残差;划分信息获取模块,用于从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;运动矢量获取模块,用于从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置信息;位置参数获取模块,用于根据待解码图像块的相邻块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;参考像素值获得模块,用于根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;图像块获得模块,用于根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。采用本发明实施例的视频编解码方法和装置,可以根据图像块的像素值排布选用合适的划分方式,相对于常用的矩形子图像块划分方式,编解码过程中的像素值的预测结果更加合理。进一步的,由于仅在码流中传送位置参数与参考位置参数的差值,保证了码流不会被位置参数过多的占用。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施所提供的视频编码方法的示意图。图2a~图2d为本发明实施例提供的不规则划分方式的划分视图。图3为本发明实施例所提供的编码装置的示意图。图4为本发明实施例所提供的解码方法的示意图。图5为本发明实施例所提供的解码装置的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参照图1,本发明实施例提供了一种视频编码方法,其包括:步骤101:根据不规则划分方式以及位置参数,对待编码图像块进行不规则划分,以将待编码图像块划分成至少两块不同的子图像块。在本发明实施例中,所述位置参数表示所述子图像块间的边界与图像块的边界的交点的位置。在本发明实施例中,所述不规则划分方式、位置参数的确认包括:步骤101a:根据多种不规则划分方式,以及多种位置参数取值,将待编码的图像块进行多种不规则划分,得到多种不同的子图像块组合;步骤101b:根据所述多种不同的子图像块组合,在图像中搜索参考子图像块,并且计算所述多种子图像块组合与相应的参考子图像块的像素差值;步骤101c:选择所述像素差值最小的子图像块组合的划分方式和位置参数,作为待编码图像块的划分方式和位置参数,并将相应的参考子图像块作为待编码图像块的参考子图像块。在本发明实施例中,所述将待编码图像块进行不规则划分包括将图像块划分为如图2a~图2d这四种情况,分别代表划分方式mode0,mode1,mode2及mode3。其中图2a为通过135度的边界线将图像块划分成一个五边形的子图像块和一个三角形的子图像块;图2b为通过45度的边界线将图像块划分成一个五边形的子图像块和一个三角形的子图像块;图2c为通过垂直线将图像块划分成两个不同尺寸的矩形子图像块;图2d为通过水平线将图像块划分成两个不同尺寸的矩形子图像块。由于图像块均由像素组成,因此mode0和mode1所对应的135度边界线及45度边界线是指由沿子图像块间的边界的像素组成的近似于135度和45度的线。所述位置参数是指子图像块之间的边界线相对于图像块的位置。在本发明实施例中,当划分方式确定之后,可以将周边子图像块之间的边界线的端点距离图像块的端点的距离作为位置参数。举例来说,设图2a-2d的图像块左上端点坐标为(0,0),图像块大小为mxm。在上述划分方式中,对于mode0而言,当位置参数n大于0时,点a为图2a所示两不规则块边界与E上边界交点、坐标为(0,m-n),b为E的右上端点、坐标为(0,m);当n小于0时,点a为图2a所示两不规则块边界与E下边界交点、坐标为(m,|n|),b为E的左下端点、坐标为(m,0)。对于mode1而言,当位置参数n大于0时,点a为图2b所示两不规则块边界与E上边界交点、坐标为(0,n)),b为E的左上端点、坐标为(0,0);当n小于0时,点a为图2b所示两不规则块边界与E下边界交点、坐标为(m,m-|n|),b为E的右下端点、坐标为(m,m)。对于mode2而言,n大于0表示图2c所示两不规则块边界在图2c所示虚线右侧,此时a点坐标为(0,m/2+n),b点坐标为(0,m/2),n小于0表示图2c所示两不规则块边界在图2c所示虚线左侧,此时a点坐标为(0,m/2-|n|),b点坐标为(0,m/2),图2c所示虚线为E的垂直中轴线。对于mode3而言,n大于0表示图2d所示两不规则块边界在图2d所示虚线下侧,此时a点坐标为(m/2+n,0),b点坐标为(m/2,0),n小于0表示图2d所示两不规则块边界在图2d所示虚线上侧,此时a点坐标为(m/2-|n|,0),b点坐标为(m/2,0),图2d所示虚线为E的水平中轴线。在具体的应用过程中可以对划分方式进行预先设置,而位置参数的取值则是以像素点的尺寸为单位进行。总之,只需要在每种划分方式下尝试多种位置参数的取值,并搜索相应的参考子图像块,根据最终的子图像块与参考子图像块的差值来选择最合适的划分方式、位置参数即可。当然,在其他可选择的实施例中,也可以直接根据预设的不规则划分方式和位置参数来直接进行不规则块的划分。上述划分方案中,|n|表示参数n的绝对值。需要理解的,在其他的可选择的实施例中,也可以通过多条边界线将图像块划分成多多个子图像块,只需要预先设定相应的划分方式即可。此外,对于mode0和mode1而言,当所述的位置参数的值为0时,图像块被划分成两个等大的三角形。当然,本发明实施例中每个子图像块的参考子图像块均可以从不同图像中的不同图像块的子图像块中选择。在本发明实施例中,所述参考图像块和参考子图像块分别是指在参考图像中给当前待编码或解码的图像块、子图像块做参考编码或解码的图像块。步骤102:根据参考图像块的位置信息,获得子图像块相对于参考子图像块的运动矢量信息,以及将所述子图像块的像素值与参考图像块的像素值进行比较,获得待编码的图像块的残差;在本发明中,所述运动矢量信息包括待编码图像块的子图像块相对于参考子图像块运动矢量,或者包括待编码图像块的子图像块相对于参考子图像块的运动矢量与参考运动矢量的差值。如果是差值的话,则解码端还需要根据参考运动矢量得到相应的运动矢量。在本发明实施例中,可以通过划分得到的子图像块分别与相应的参考子图像块进行做差,以获得残差中相应位置的残差值。也就是说,参考子图像块并不需要处于同一个图像块中,而各个子图像块的相对于参考子图像块的运动矢量信息也可以不同,因此需要一并记录多个子图像块的运动矢量信息。步骤103:获得参考位置参数,并将所述参考位置参数与待编码图像块的位置参数进行比较,获得位置参数差值;在本发明实施例中,可以将待编码图像块的位置参数与参考位置参数相减,从而获得位置参数的差值。所述参考位置参数可以为参考图像块的位置参数。在本发明又一实施例中,所述参考位置参数也可以根据待编码图像块的周边块进行确定。举例来说,设当前图像块E有A、B、C、D四个周边块,其中A为E的左周边块,B为E的上周边块,C为E的右上周边块,D为E的左上周边块。A、B和E的非规则划分的位置参数分别记为posA、posB和posE。由于视频图像的纹理信息和图像特征存在连续性,可以利用当前图像块的周边图像块的位置参数预测出当前图像块的参考位置参数,该参考位置参数被记为PposE(PredictedposE),编码端将PosE与PposE的差值DposE写入码流中。具体的,当待编码图像块的周边块中仅有一个图像块采用了与待编码图像块相同的不规则划分方式时,则所述待编码图像块的参考位置参数等于所述图像块的位置参数,如果待编码的图像块的周边块中有多个图像块采用了与所述待编码图像块相同的不规则划分方式时,所述待编码的图像块的参考位置参数则根据所述多个图像块共同选取。如果待编码的图像块的周边块中没有图像块采用了与所述带编码图像块相同的不规则划分方式时,所述待编码图像块的位置参数取0。具体:首先,设置变量ConditionA、ConditionB、ConditionC、ConditionD、ModeA、ModeB、ModeC、ModeD和ModeE。其中,ModeA、ModeB、ModeC、ModeD和ModeE分别表示上述A、B、C、D和E图像块划分方式,取值范围为[0,3];ConditionA,ConditionB,ConditionC和ConditionD为判断标志。其中,当图像块A为以下条件之一时,ConditionA值为0:图像块A不可获得;图像块A不采用不规则块划分;图像块A采用不规则块划分,但与图像块E不属于同一种划分方式,即ModeA!=ModeE,当图像块A采用不规则块划分且与E属于同一个类别时(即ModeA==ModeE),ConditionA值为1。当图像块B为以下条件之一时,ConditionB值为0:图像块B不可获得;图像块B不采用不规则块划分;图像块B采用不规则块划分,但与E不属于同一种划分方式,即ModeB!=ModeE,当图像块B采用不规则块划分且与E属于同一个类别时(即ModeB==ModeE),ConditionB值为1。当图像块C为以下条件之一时,ConditionC值为0:图像块C不可获得;图像块C不采用不规则块划分;图像块C采用不规则块划分,但与图像块E不属于同一种划分方式,即ModeC!=ModeE,当图像块C采用不规则块划分且与E属于同一个类别时(即ModeC==ModeE),ConditionC值为1。当图像块D为以下条件之一时,ConditionD值为0:图像块D不可获得;图像块D不采用不规则块划分;图像块D采用不规则块划分,但与图像块E不属于同一种划分方式,即ModeD!=ModeE,当图像块D采用不规则块划分且与E属于同一个类别时(即ModeD==ModeE),ConditionD值为1。然后,所述参考位置参数获得方法包括:若ConditionA值为1且ConditionB值为0,则PposE=posA;否则,若ConditionA值为0且ConditionB值为1,则PposE=posB;否则,若ConditionA值为1且ConditionB值为1,则PposE=Min(posA,posB),否则,PposeE=0.上述获得PposE的方法适用于采用Mode0,Mode1,Mode2和Mode3的不规则块划分方式。如果进一步考虑图像纹理特性,还可以采用下述获得PposeE的方法:如果当前图像块采用Mode2或Mode3的非规则块划分方式,则意味着当前图像块,当当前子图像块周边块的纹理信息倾向于水平纹理和垂直纹理,此时采用上述获得PposeE的方法获取PposE。如果当前图像块采用Mode0或Mode1的非规则块划分方式,则意味着当前图像块,当当前子图像块周边块的纹理信息倾向非水平和非垂直方向纹理,此时采用下述方法获得PposE:若当前块采用Mode0的不规则划分方式,则若ConditionA值为1且ConditionB值为0且ConditionD值为0,则PposE=posA;否则,若ConditionA值为0且ConditionB值为1且ConditionD值为0,则PposE=posB;否则,若ConditionA值为0且ConditionB值为0且ConditionD值为1,则PposE=posD;否则,若ConditionA值为1且ConditionB值为1且ConditionD值为0,则PposE=Min(posA,posB);否则,若ConditionA值为0且ConditionB值为1且ConditionD值为1,则PposE=Min(posB,posD);否则,若ConditionA值为1且ConditionB值为0且ConditionD值为1,则PposE=Min(posA,posD);否则,若ConditionA值为1且ConditionB值为1且ConditionD值为1,则PposE=Min(posA,posB,posD);否则,如果ConditionA、ConditionB、ConditionD均为0,则PposeE=0若当前块采用Mode1的不规则划分方式,则若ConditionA值为1且ConditionB值为0且ConditionC值为0,则PposE=posA;否则,若ConditionA值为0且ConditionB值为1且ConditionC值为0,则PposE=posB;否则,若ConditionA值为0且ConditionB值为0且ConditionC值为1,则PposE=posC;否则,若ConditionA值为1且ConditionB值为1且ConditionC值为0,则PposE=Min(posA,posB);否则,若ConditionA值为0且ConditionB值为1且ConditionC值为1,则PposE=Min(posB,posC);否则,若ConditionA值为1且ConditionB值为0且ConditionC值为1,则PposE=Min(posA,posC);否则,若ConditionA值为1且ConditionB值为1且ConditionC值为1,则PposE=Min(posA,posB,posC);否则,如果ConditionA、ConditionB、ConditionD均为0,则PposeE=0上述步骤中,Min函数用于求取其中参数的较小的值。当然也可以使用其它的数学函数、关系式求取,如使用求取最大值的函数,或通过计算平均值作为PposE,也可以通过加权求取PposE,也可以根据周边块的位置参数的值来查找事先设定好的映射表获得PposE。进一步的,考虑到图像块的纹理方向,若当前图像块采用水平的不规则块划分或垂直的不规则块划分方式,则与当前图像块相邻的水平和垂直方向的图像块与当前图像块图像内容存在较大相关性,则当前图像块的参考位置参数采用上述步骤获取方法。若当前图像块采用Mode0或Mode1的不规则块划分方式,则与当前图像块相邻的沿135度方向(Mode0)或45度方向(Mode1)的图像块与当前图像块图像内容存在较大相关性,则当前图像块的参考位置参数采用以下步骤获取:获得PposE之后,计算DposE的数值,计算方法为DposE=posE-PposE。在本发明又一实施例中,上述计算DposE的方法还可以为:根据posE与PposE的值查找事先设定好的映射表获得DposE。步骤104:对所述残差进行量化,将量化结果、所述运动矢量信息和位置参数差值进行熵编码,并且将所述熵编码结果、所述图像块的划分方式信息写入码流中。考虑到位置参数存在符号的问题,亦可以额外在码流中增加一个符号位,以用来记录位置参数的符号。采用本发明实施例的视频编码方法,可以根据图像块的像素值排布选用合适的划分方式,相对于常用的矩形子图像块划分方式,编解码过程中的像素值的预测结果更加合理。进一步的,在本发明实施例中,由于仅在码流中传送位置参数与参考位置参数的差值,保证了码流不会被位置参数过多的占用。请参照图3,本发明实施例还提供一种编码装置200,用于实现本发明实施例所提供的编码方式,其中,所述编码装置包括:划分模块210,用于对图像块进行不规则划分,以将待编码图像块划分成至少两块不同的子图像块;其中,所述划分模块210选择划分方式以及相应的位置参数,对图像块进行不规则划分,得到至少两个不同的子图像块;易于理解的,与前述的编码方法相应,所述划分模块210还用于选择合适的划分方式及位置参数,以使得待编码的图像块的子图像块与参考子图像块的像素值最接近。残差获取模块220,用于将所述子图像块与参考子图像块进行比较,获得所述待编码图像块的残差;参数获取模块230,用于获得参考位置参数,并将所述参考位置参数与待编码图像块的位置参数进行比较,获得位置参数差值;量化模块240,用于对所述残差进行量化;熵编码模块250,用于对量化模块240的量化结果,以及所述运动矢量信息和位置参数差值进行熵编码;发送模块260,用于将所述熵编码模块250的熵编码结果、所述图像块的划分方式写入码流中。请参照图4,本发明实施例还提供一种解码方法,包括步骤301:从码流中得到待解码图像块的残差;具体的,从码流中获取码流,并相应的进行熵解码,反量化和反变换,以得到所述残差。步骤302:从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;步骤303:从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置;步骤304:根据周边块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;其中,所述待解码的图像块的位置参数差值等于参考位置参数与位置参数差值的和。其中,根据周边块的位置参数来获得参考位置参数的方式,可以采用与编码端相同或相似的方法,在此不再赘述。步骤305:根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;步骤306:根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。本发明实施例所提供的解码过程,通过获取码流中的位置参数差值和划分方式信息,确定待解码图像块的不规则划分形式,并相应的从参考图像中获得参考像素值,以实现图像块的解码。本发明实施例还提供一种相应的解码装置400,请参照图5,所示解码装置包括:残差获取模块410,用于对码流进行熵解码和反量化得到待解码图像块的残差;划分信息获取模块420,用于从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;运动矢量信息获取模块430,用于从码流中获得待解码图像块的运动矢量信息信息,确定待解码图像块的子图像块的参考子图像块的位置信息;位置参数获取模块440,用于根据待解码图像块的周边块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;参考像素值获得模块450,用于根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;图像获得模块460,用于根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。此外,在现有技术中,不采用不规则划分的图像块划分通常采用树形结构。例如,一个16x16的图像块可以划分成1个16x16,2个16x8,2个8x16,4个8x8子图像块,这种划分方式通过图像块中的图像块类型标志可以有效的标识子图像块的划分模式。如,在H.264/AVC中宏块类型(mbtype)为图像块类型标志,mbtype=1表示采用16x16划分,mbtype=2表示采用8x16划分,mbtype=2表示采用16x8划分,mbtype=3表示采用8x8划分。在不规则块划分模式的标识也可以采用与树形结构兼容的方案来标识不规则划分方式。可以在上述树形结构划分中加入一标志位来标识当前图像块采用的不规则块划分方法。将该标志位命名为isbp_flag(irregular-structureblockpartitionflag)。在码流中,isbp_位于mbtype之后,若isbp_flag值为0则表示当前图像块不采用不规则划分方式,此时图像块划分方式如下:若isbp_flag值为1则表示当前图像块采用不规则划分方式,此时图像块划分方式如下:若mbtype=1且isbp_flag的值为1时,需再加入一个标志位标识当前图像块的不规则划分方式,将该标志位命名为isbp_direction。若isbp_direction值为0表示当前图像块采用沿135度角划分方式,既Mode0的划分方式;若isbp_direction值为1表示当前图像块采用沿45度角划分方式,既Mode1的划分方式。解码端为编码端逆过程,获得mbtype和isbp_flag之后根据上表既能获知当前图像块的划分方式。上述编码方案的好处在于只需使用1个或2个比特既能标识当前图像块是否使用非规则划分方式并且能标识当前图像块的划分方式。进一步的,在B帧中mbtype除了用于标识当前图像块的划分方式,还标识了当前图像块和或子图像块的参考方向,采用上述同样的标识方法可以标识当前图像块是否使用非规则划分方式、标识当前图像块的划分方式、标识当前图像块和子图像块的参考方向。所述的当前图像块或子图像块的参考方向包括前向,后向和双向。所述的前向是指当前图像块或子图像块的参考图像块或参考子图像块所在的图像位于当前图像块或子图像块所在图像之前;所述的后向是指当前图像块或子图像块的参考图像块或参考子图像块所在的图像位于当前图像块或子图像块所在图像之后;所述的双向是指当前图像块或子图像块的参考图像块或参考子图像块所在的图像位于当前图像块或子图像块所在图像之前,同时当前图像块或子图像块的参考图像块或参考子图像块所在的图像还有位于当前图像块或子图像块所在图像之后。以上对本发明实施例所提供的多级交换网和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1