一种视频编解码方法和系统的制作方法

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

发明内容
本发明实施例提供了一种编码方法,包括根据图像块不规则划分方式以及位置参数,对待编码的图像块进行不规则划分,得到至少两个不同的子图像块;将所述子图像块与参考子图像块的进行比较,获得所述待编码图像块的的像素值的残差;根据待编码的图像块的相邻块获得参考位置参数,并将所述参考位置参数与所述带待编码图像块的位置参数做差,获得待待编码图像块的位置参数差值;对所述残差进行量化,并将所述量化结果、 所述运动矢量信息和位置参数差值进行熵编码;将所述熵编码结果,以及所述图像快的划分方式信息写入码流中。本发明实施例还提供一种编码装置,包括划分模块,用于根据划分方式,以及相应的位置参数,对图像块进行不规则划分;残差获取模块,用于将所述子图像块与参考子图像块进行比较,获得所述待编码图像块的残差;参数获取模块,用于获得参考位置参数,并将所述参考位置参数与待编码图像块的位置参数进行比较,获得位置参数差值;量化模块,用于对所述残差进行量化;熵编码模块,用于对量化模块的量化结果,以及所述运动矢量和位置参数差值进行熵编码;发送模块,用于将所述熵编码模块的熵编码结果、所述图像块的划分方式写入码流中。本发明实施例还提供了一种解码方法,包括从码流中得到待解码图像块的残差; 从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置;根据相邻块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。本发明实施例还提供一种解码装置,包括残差获取模块,用于从码流中获得待解码图像块的残差;划分信息获取模块,用于从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;运动矢量获取模块,用于从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置信息;位置参数获取模块,用于根据待解码图像块的相邻块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;参考像素值获得模块,用于根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;图像块获得模块,用于根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。采用本发明实施例的视频编解码方法和装置,可以根据图像块的像素值排布选用合适的划分方式,相对于常用的矩形子图像块划分方式,编解码过程中的像素值的预测结果更加合理。进一步的,由于仅在码流中传送位置参数与参考位置参数的差值,保证了码流不会被位置参数过多的占用。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1所示为本发明实施例所提供的视频编码方法的示意图。图加 2d所示为本发明实施例所提供的不规则划分方式的示意图。图3所示为本发明提供的编码装置的示意图。图4所示为本发明实施例所提供的解码方法的示意图。图5所示为本发明实施例所提供的解码装置的示意图。图6所示为本发明另一实施例所提供的不规则划分方式的示意图。图7所示为本发明又一实施例所提供的不规则划分方式的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参照图1,本发明实施例提供了一种视频编码方法,其包括步骤101 根据不规则划分方式以及位置参数,对待编码图像块进行不规则划分, 以将待编码图像块划分成至少两块不同的子图像块。在本发明实施例中,所述位置参数表示所述子图像块间的边界与图像块的边界的交点的位置,或子图像块间的边界与图像块的边界的交点与图像块端点的距离。在本发明实施例中,所述不规则划分方式、位置参数的确认包括步骤IOla 根据多种不规则划分方式,以及多种位置参数取值,将待编码的图像块进行多种不规则划分,得到多种不同的子图像块组合;步骤IOlb 根据所述多种不同的子图像块组合,在图像中搜索参考子图像块,并且计算所述多种子图像块组合与相应的参考子图像块的像素差值;步骤IOlc 选择所述像素差值最小的子图像块组合的划分方式和位置参数,作为待编码图像块的划分方式和位置参数,并将相应的参考子图像块作为待编码图像块的参考子图像块。在本发明实施例中,所述的不规则划分方式包括将图像块沿左下至右上方向划分成一个五边形的子图像块和一个三角形的子图像块,或,将图像块沿左上至右下方向划分成一个五边形的子图像块和一个三角形的子图像块,或,将图像块沿左下至右上方向划分成两个三角形的子图像块,或,将图像块沿左上至右下方向划分成两个三角形的子图像 ±夬,或,将图像块划分成水平方向两个不同尺寸的矩形子图像块,或,将图像块划分成垂直方向两个不同尺寸的矩形子图像块。具体的,所述将待编码图像块进行不规则划分包括将图像块划分为如图加 图2d这四种情况,分别代表划分方式modeO,model, mode2及 mode3。其中图加为通过135度的边界线将图像块划分成一个五边形的子图像块和一个三角形的子图像块;图2b为通过45度的边界线将图像块划分成一个五边形的子图像块和一个三角形的子图像块;图2c为通过垂直线将图像块划分成两个不同尺寸的矩形子图像块; 图2d为通过水平线将图像块划分成两个不同尺寸的矩形子图像块。由于图像块均由像素组成,因此modeO和model所对应的135度边界线及45度边界线是指由沿子图像块间的边界的像素组成的近似于135度和45度的线。所述位置参数是指子图像块之间的边界线相对于图像块的位置。在本发明实施例中,当划分方式确定之后,可以将周边子图像块之间的边界线的端点距离图像块的端点的距离作为位置参数。举例来说,设图2a_2d的图像块左上端点坐标为(0,0),图像块大小为mx m。在上述划分方式中,对于modeO而言,当位置参数η大于0时,点a为图加所示两不规则块边界与E上边界交点、坐标为(0,m-n),b为E的右上端点、坐标为(0,m);当η小于0时,点a为图加所示两不规则块边界与E下边界交点、坐标为(m,|n|),b为E的左下端点、坐标为(m, 0)。对于model而言,当位置参数η大于0时,点a为图2b所示两不规则块边界与E上边界交点、坐标为(0,n)),b为E的左上端点、坐标为(0,0);当η小于0时,点a为图2b所示两不规则块边界与E下边界交点、坐标为(m,m-|n|),b为E的右下端点、坐标为(m,m)。对于mode2而言,η大于0表示图2c所示两不规则块边界在图2c所示虚线右侧,此时a点坐标为(0,m/2+n),b点坐标为(0,m/2),η小于0表示图2c所示两不规则块边界在图2c所示虚线左侧,此时a点坐标为(0,m/2-|n|), b点坐标为(0,m/2),图2c所示虚线为E的垂直中轴线。对于mode 3而言,η大于0表示图2d所示两不规则块边界在图2d所示虚线下侧,此时a点坐标为(m/2+n,0),b点坐标为(m/2,0),η小于0表示图2d所示两不规则块边界在图2d所示虚线上侧,此时a点坐标为(m/2-|n|,0),b点坐标为(m/2,0),图2d所示虚线为E的水平中轴线。在具体的应用过程中可以对划分方式进行预先设置,而位置参数的取值则是以像素点的尺寸为单位进行。总之,只需要在每种划分方式下尝试多种位置参数的取值,并搜索相应的参考子图像块,根据最终的子图像块与参考子图像块的差值来选择最合适的划分方式、位置参数即可。当然,在其他可选择的实施例中,也可以直接根据预设的不规则划分方式和位置参数来直接进行不规则块的划分。上述划分方案中,|n|表示参数η的绝对值。需要理解的,在其他的可选择的实施例中,也可以通过多条边界线将图像块划分成多多个子图像块,只需要预先设定相应的划分方式即可。此外,对于modeO和model而言,当所述的位置参数的值为0时,图像块被划分成两个等大的三角形。当然,本发明实施例中每个子图像块的参考子图像块均可以从不同图像中的不同图像块的子图像块中选择。在本发明实施例中,所述参考图像块和参考子图像块分别是指在参考图像中给当前待编码或解码的图像块、子图像块做参考编码或解码的图像块。步骤102 根据参考图像块的位置信息,获得子图像块相对于参考子图像块的运动矢量信息,以及将所述子图像块的像素值与参考图像块的像素值进行比较,获得待编码的图像块的残差;在本发明中,所述运动矢量信息包括待编码图像块的子图像块相对于参考子图像块运动矢量,或者包括待编码图像块的子图像块相对于参考子图像块的运动矢量与参考运动矢量的差值。如果是差值的话,则解码端还需要根据参考运动矢量得到相应的运动矢量。在本发明实施例中,可以通过划分得到的子图像块分别与相应的参考子图像块进行做差,以获得残差中相应位置的残差值。也就是说,参考子图像块并不需要处于同一个图像块中,而各个子图像块的相对于参考子图像块的运动矢量信息也可以不同,因此需要一并记录多个子图像块的运动矢量信息。步骤103 获得参考位置参数,并将所述参考位置参数与待编码图像块的位置参数进行比较,获得位置参数差值;在本发明实施例中,可以将待编码图像块的位置参数与参考位置参数相减,从而获得位置参数的差值。所述参考位置参数可以为参考图像块的位置参数。在本发明又一实施例中,所述参考位置参数也可以根据待编码图像块的周边块进行确定。在本发明实施例中,所述的周边块包括与当前图像块或子图像块相邻的上边块, 或,与当前图像块或子图像块相邻的左边块,或,与当前图像块或子图像块相邻的左上块, 或,与当前图像块或子图像块相邻的右上块。具体的,当图像块被划分成水平的两个不同尺寸矩行子图像块,或图像被划分成垂直的两个不同尺寸的矩形子图像块时,所述的周边块为与当前图像块或子图像块相邻的上边块和左边块;当图像块沿左下至右上方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左下至右上方向划分成两个三角形的子图像块时,所述的周边块为与当前图像块相邻的左边块,上边块和右上块;当图像块沿左上至右下方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左上至右下方向划分成两个三角形的子图像块时,所述的周边块为与当前图像块相邻的左上块,上边块和右边块。举例来说,设当前图像块E有A、B、C、D四个周边块,其中A为E的左周边块,B为 E的上周边块,C为E的右上周边块,D为E的左上周边块。A、B和E的非规则划分的位置参数分别记为p0sA、p0SB和posE。由于视频图像的纹理信息和图像特征存在连续性,可以利用当前图像块的周边图像块的位置参数预测出当前图像块的参考位置参数,该参考位置参数被记为PposE (Predicted posE),编码端将PosE与PposE的差值DposE写入码流中。具体的,当待编码图像块的周边块中仅有一个图像块采用了与待编码图像块相同的不规则划分方式时,则所述待编码图像块的参考位置参数等于所述图像块的位置参数,如果待编码的图像块的周边块中有多个图像块采用了与所述待编码图像块相同的不规则划分方式时, 所述待编码的图像块的参考位置参数则根据所述多个图像块共同选取。如果待编码的图像块的周边块中没有图像块采用了与所述带编码图像块相同的不规则划分方式时,所述待编码图像块的位置参数取O。具体首先,设置变量 ConditionA、ConditionB、ConditionC、ConditionD、ModeA、ModeB、 ModeC,ModeD 和 ModeE。其中,ModeA,ModeB,ModeC,ModeD和 ModeE 分别表示上述 A、B、C、D 和 E 图像块划分方式,取值范围为
;ConditionA, ConditionB, ConditionC和 ConditionD 为判断标志。其中,当图像块A为以下条件之一时,ConditionA值为O 图像块A不可获得;图像块A不采用不规则块划分;图像块A采用不规则块划分,但与图像块E不属于同一种划分方式,即ModeA != ModeE,当图像块A采用不规则块划分且与E属于同一个类别时(即ModeA = = ModeE), ConditionA 值为 1。当图像块B为以下条件之一时,ConditionB值为O 图像块B不可获得;图像块B不采用不规则块划分;图像块B采用不规则块划分,但与E不属于同一种划分方式,即ModeB ! = ModeE,当图像块B采用不规则块划分且与E属于同一个类别时(即ModeB = = ModeE), ConditionB 值为 1。当图像块C为以下条件之一时,ConditionC值为O 图像块C不可获得;图像块C不采用不规则块划分;图像块C采用不规则块划分,但与图像块E不属于同一种划分方式,即ModeC != ModeE,当图像块C采用不规则块划分且与E属于同一个类别时(即ModeC = = ModeE), ConditionC 值为 1。当图像块D为以下条件之一时,ConditionD值为O 图像块D不可获得;图像块D不采用不规则块划分;图像块D采用不规则块划分,但与图像块E不属于同一种划分方式,即ModeD != ModeE,当图像块D采用不规则块划分且与E属于同一个类别时(即ModeD = = ModeE), ConditionD 值为 1。
然后,所述参考位置参数获得方法包括若ConditionA 值为 1 且 ConditionB 值为 0,则 PposE = posA ;否则,若ConditionA 值为 O 且 ConditionB 值为 1,则 PposE = posB ;否则,若ConditionA 值为 1 且 ConditionB 值为 1,则 PposE = Min(posA, posB),否则, PposeE = 0.上述获得PposE的方法适用于采用ModeO,Model,Mode2和Mode3的不规则块划分方式。如果进一步考虑图像纹理特性,还可以采用下述获得PposeE的方法如果当前图像块采用Mode2或Mode3的非规则块划分方式,则意味着当前图像块, 当当前子图像块周边块的纹理信息倾向于水平纹理和垂直纹理,此时采用上述获得PposeE 的方法获取PposE。如果当前图像块采用ModeO或Model的非规则块划分方式,则意味着当前图像块, 当当前子图像块周边块的纹理信息倾向非水平和非垂直方向纹理,此时采用下述方法获得 PposE 若当前块采用ModeO的不规则划分方式,则若ConditionA 值为 1 且 ConditionB 值为 O 且 ConditionD 值为 0,则 PposE = posA ;否则,若ConditionA 值为 O 且 ConditionB 值为 1 且 ConditionD 值为 0,则 PposE = posB ;否则,若ConditionA 值为 O 且 ConditionB 值为 O 且 ConditionD 值为 1,则 PposE = posD ;否则,若ConditionA 值为 1 且 ConditionB 值为 1 且 ConditionD 值为 0,则 PposE = Min(posA, posB);否贝Ij,若ConditionA 值为 O 且 ConditionB 值为 1 且 ConditionD 值为 1,则 PposE = Min(posB, posD);否贝lj,若ConditionA 值为 1 且 ConditionB 值为 O 且 ConditionD 值为 1,则 PposE = Min(posA, posD);否贝Ij,若ConditionA 值为 1 且 ConditionB 值为 1 且 ConditionD 值为 1,则 PposE = Min(posA, posB, posD);否则,如果 ConditionA、ConditionB、ConditionD 均为 0,则 PposeE = O若当前块采用Model的不规则划分方式,则若ConditionA 值为 1 且 ConditionB 值为 O 且 ConditionC 值为 0,则 PposE = posA ;否则,若ConditionA 值为 O 且 ConditionB 值为 1 且 ConditionC 值为 0,则 PposE = posB ;否则,若ConditionA 值为 O 且 ConditionB 值为 O 且 ConditionC 值为 1,则 PposE = PosC ;否则,若ConditionA 值为 1 且 ConditionB 值为 1 且 ConditionC 值为 0,则 PposE = Min(posA, posB);否贝Ij,
若ConditionA 值为 O 且 ConditionB 值为 1 且 ConditionC 值为 1,则 PposE = Min(posB,posC);否则,若ConditionA 值为 1 且 ConditionB 值为 O 且 ConditionC 值为 1,则 PposE = Min(posA, posC);否则,若ConditionA 值为 1 且 ConditionB 值为 1 且 ConditionC 值为 1,则 PposE = Min(posA, posB, posC);否则,如果 ConditionA、ConditionB、ConditionD 均为 0,则 PposeE = O上述步骤中,Min函数用于求取其中参数的较小的值。当然也可以使用其它的数学函数、关系式求取,如使用求取最大值的函数,或通过计算平均值作为PposE,也可以通过加权求取PposE,也可以根据周边块的位置参数的值来查找事先设定好的映射表获得PposE。进一步的,考虑到图像块的纹理方向,若当前图像块采用水平的不规则块划分或垂直的不规则块划分方式,则与当前图像块相邻的水平和垂直方向的图像块与当前图像块图像内容存在较大相关性,则当前图像块的参考位置参数采用上述步骤获取方法。若当前图像块采用ModeO或Model的不规则块划分方式,则与当前图像块相邻的沿135度方向 (ModeO)或45度方向(Model)的图像块与当前图像块图像内容存在较大相关性,则当前图像块的参考位置参数采用以下步骤获取获得PposE之后,计算DposE的数值,计算方法为DposE = posE-PposE。在本发明又一实施例中,上述计算DposE的方法还可以为根据posE与PposE的值查找事先设定好的映射表获得DposE。步骤104 对所述残差进行量化,将量化结果、所述运动矢量信息和位置参数差值进行熵编码,并且将所述熵编码结果、所述图像块的划分方式信息写入码流中。考虑到位置参数存在符号的问题,亦可以额外在码流中增加一个符号位,以用来记录位置参数的符号。采用本发明实施例的视频编码方法,可以根据图像块的像素值排布选用合适的划分方式,相对于常用的矩形子图像块划分方式,编解码过程中的像素值的预测结果更加合理。进一步的,在本发明实施例中,由于仅在码流中传送位置参数与参考位置参数的差值,保证了码流不会被位置参数过多的占用。请参照图3,本发明实施例还提供一种编码装置200,用于实现本发明实施例所提供的编码方式,其中,所述编码装置包括划分模块210,用于对图像块进行不规则划分,以将待编码图像块划分成至少两块不同的子图像块;其中,所述划分模块210选择划分方式以及相应的位置参数,对图像块进行不规则划分,得到至少两个不同的子图像块;易于理解的,与前述的编码方法相应,所述划分模块210还用于选择合适的划分方式及位置参数,以使得待编码的图像块的子图像块与参考子图像块的像素值最接近。所述选择合适的划分方式及位置参数包括根据多种不规则划分方式,以及多种位置参数取值,将待编码的图像块进行多种不规则划分,得到多种不同的子图像块组合;
根据所述多种不同的子图像块组合,在图像中搜索参考子图像块,并且计算所述多种子图像块组合与相应的参考子图像的像素差值;选择所述像素差值最小的子图像块组合的划分方式和位置参数,作为待编码图像块的划分方式和位置参数,并将相应的参考子图像块作为待编码图像块的参考子图像块。残差获取模块220,用于将所述子图像块与参考子图像块进行比较,获得所述待编码图像块的残差;参数获取模块230,用于获得参考位置参数,并将所述参考位置参数与待编码图像块的位置参数进行比较,获得位置参数差值;量化模块MO,用于对所述残差进行量化;熵编码模块250,用于对量化模块240的量化结果,以及所述运动矢量信息和位置参数差值进行熵编码;发送模块沈0,用于将所述熵编码模块250的熵编码结果、所述图像块的划分方式写入码流中。在本发明实施例中,所述位置参数表示子图像块间的边界与图像块的边界的交点的位置,或子图像块间的边界与图像块的边界的交点与图像块端点的距离。在其他可选择的实施例中,所述位置参数还可以包括子图像块之间的边界线的角度信息,以及所述待编码的图像块的中心到子图像块之间的边界线的垂直距离信息。更具体的,所述图像块之间的边界线的角度信息包括子图像块之间的边界线与所述待编码的图像块的轴线之间或图像块边界之间的角度信息。请参照图4,本发明实施例还提供一种解码方法,包括步骤301 从码流中得到待解码图像块的残差;具体的,从码流中获取码流,并相应的进行熵解码,反量化和反变换,以得到所述残差。所述从码流中得到待解码图像块的残差包括获得熵编码码流;对所述熵编码码流进行熵解码,反量化和反变换,以得到所述残差。步骤302 从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;所述的不规则划分方式包括将图像块沿左下至右上方向划分成一个五边形的子图像块和一个三角形的子图像块,或,将图像块沿左上至右下方向划分成一个五边形的子图像块和一个三角形的子图像块,或,将图像块沿左下至右上方向划分成两个三角形的子图像块,或,将图像块沿左上至右下方向划分成两个三角形的子图像块,或,将图像块划分成水平方向两个不同尺寸的矩形子图像块,或,将图像块划分成垂直方向两个不同尺寸的矩形子图像块。步骤303 从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置;步骤304 根据周边块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;其中,所述待解码的图像块的位置参数差值等于参考位置参数与位置参数差值的和。在本发明实施例中,所述的周边块包括与当前图像块或子图像块相邻的上边块,或,与当前图像块或子图像块相邻的左边块,或,与当前图像块或子图像块相邻的左上块, 或,与当前图像块或子图像块相邻的右上块。具体的,当图像块被划分成水平的两个不同尺寸矩行子图像块,或图像被划分成垂直的两个不同尺寸的矩形子图像块时,所述的周边块为与当前图像块或子图像块相邻的上边块和左边块;当图像块沿左下至右上方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左下至右上方向划分成两个三角形的子图像块时,所述的周边块为与当前图像块相邻的左边块,上边块和右上块;当图像块沿左上至右下方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左上至右下方向划分成两个三角形的子图像块时,所述的周边块为与当前图像块相邻的左上块,上边块和右边块。在本发明实施例中,所述位置参数表示子图像块间的边界与图像块的边界的交点的位置,或子图像块间的边界与图像块的边界的交点与图像块端点的距离。在其他可选择的实施例中,所述位置参数还可以包括子图像块之间的边界线的角度信息,以及所述待编码的图像块的中心到子图像块之间的边界线的垂直距离信息。更具体的,所述图像块之间的边界线的角度信息包括子图像块之间的边界线与所述待编码的图像块的轴线之间或图像块边界之间的角度信息。其中,根据周边块的位置参数来获得参考位置参数的方式,可以采用与编码端相同或相似的方法,在此不再赘述。步骤305 根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;步骤306 根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。本发明实施例所提供的解码过程,通过获取码流中的位置参数差值和划分方式信息,确定待解码图像块的不规则划分形式,并相应的从参考图像中获得参考像素值,以实现图像块的解码。本发明实施例还提供一种相应的解码装置400,请参照图5,所示解码装置包括残差获取模块410,用于对码流进行熵解码和反量化得到待解码图像块的残差;所述残差获取模块从所述码流中获取熵编码码流,进行熵解码,反量化和反变换, 以获得所述残差。划分信息获取模块420,用于从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;运动矢量信息获取模块430,用于从码流中获得待解码图像块的运动矢量信息信息,确定待解码图像块的子图像块的参考子图像块的位置信息;位置参数获取模块440,用于根据待解码图像块的周边块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;在本发明实施例中,所述位置参数表示子图像块间的边界与图像块的边界的交点的位置,或子图像块间的边界与图像块的边界的交点与图像块端点的距离。在其他可选择的实施例中,所述位置参数还可以包括子图像块之间的边界线的角度信息,以及所述待编码的图像块的中心到子图像块之间的边界线的垂直距离信息。更具
14体的,所述图像块之间的边界线的角度信息包括子图像块之间的边界线与所述待编码的图像块的轴线之间或图像块边界之间的角度信息。参考像素值获得模块450,用于根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;图像获得模块460,用于根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。本发明实施例提供了在图中所示的不规则划分方法下通过设置位置参数来提高编解码效率的编解码方法和装置。需要理解的是,在本发明所提供的实施例的基础上,位置参数的设定和选择还可以更加的灵活。比如,参照图7所示,当图像块被划分成一个三角形和一个五边形的子图像块,且划分线(即子图像块间的边界线)的角度并非唯一确定值时,可以同时采用子图像块间的边界线与图像块的边界的两个交点的位置信息(m 和η)来作为位置参数,其中η为子图像块边界线与图像块边界的交点a与图像块端点b的之间距离,m为子图像块边界线与图像块边界的交点d的之间的距离。再比如,参照图8所示,当边界线的角度不确定时,所述位置参数也可以包括子图像块之间的边界线的角度信息,以及图像块的中心到边界线的垂直距离。在本发明实施例中,所述子图像块之间的边界线的角度信息是指子图像块之间的边界线与所述待编码的图像块的轴线之间的角度信息。 在图8中θ为子图像块边界与图像块的水平轴线之间角度;P为图像块的中心到边界线的垂直距离或者位移量。此时,具有相同θ值的图像块可认为属于同一类别,或周边图像块θ值与当前图像块θ值在一定阈值范围内也可认为属于同一类别。在周边块的选择上,在本发明实施例中,可以获得划分方式与待编码图像块相同的周边块,根据所述周边块的位置参数获得所述待编码图像块的参考位置参数。所述周边块与待编码图像块采用相同的划分方式包括所述周边块子图像块间的边界线的角度与待编码图像块的子图像块间的边界线的角度相同或相近。根据本发明实施例所提供的编解码方法和装置,在编解码过程中记录了两个位置参数的情况下,只需要同时提取参考图像块中的两个相应的参考位置参数,并分别计算位置参数差值,将计算出的两个位置参数差值写入码流中,而解码端也可以码流中的划分方式信息判断编码过程中的不规则划分方式或者位置参数的记录方式,进而从码流中获得两个位置参数差值,并根据相应的参考位置参数得到两个位置参数。从而,可以理解,采用本发明实施例所提供的编解码方法和装置,完全可以通过记录划分线的一个、两个或多个位置参数来实现对于各种不同的不规则划分的图像块的编解码操作。当然,在位置参数的选择更加灵活的情况下,可以通过约定的方式来使得解码端可以获知编码端在一定的划分方式下会采用的位置参数类型,或者在写入码流的划分方式信息中记录在编码端采用的不规则划分方式中所记录的位置参数的类型,以便于解码端提取位置参数差值、获得参考位置参数、以及最终获得像素值。在现有技术中,不采用不规则划分的图像块划分通常采用树形结构。例如,一个 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划分。
在不规则块划分模式的标识也可以采用与树形结构兼容的方案来标识不规则划 分方式。可以在上述树形结构划分中加入一标志位来标识当前图像块采用的不规则块划分 万法。亥t不;ifelAil名为 isbp—flagkirregular一structure block partition flag)。在 码流中,isbp_位于mbtype之后,若isbp_flag值为O则表示当前图像块不采用不规则划 分方式,此时图像块划分方式如下mbtype划分方式116x1628x16316x848x8若isbp_flag值为1则表示当前图像块采用不规则划分方式,此时图像块划分方 式如下mbtype划分方式1ModeO或Model不规则划分2Mode2不规则划分3Mode3不规则划分4沿16x16图像块两对角线划分成4个三角形若mbtype = 1且isbp_flag的值为1吋,需再加入一个标志位标识当前图像块的 不规则划分方式,将该标志位命名为isbp_direction。若isbp_direction值为O表示当前 图像块采用沿135度角划分方式,既ModeO的划分方式;若isbp_direction值为1表示当 前图像块采用沿45度角划分方式,既Model的划分方式。进一步的,在mbtype的值为2或3吋,若isbp_flag的值为1表示当前图像块采 用Mode2或Mode3的划分方式,此时还需要写入位置參数(前述參数pos)。这种情况下将 isbp_flag与POS值合在一起编码可以进一步提高编码效率。具体方式为isbp_flag采用 变长编码,当isbp_flag的值为O时表示当前图像块不采用不规则划分,若isbp_flag的值 大于O则表示当前图像块采用不规则划分,且位置參数的值等于isbp_flag的值。解码端为编码端逆过程,获得mbtype和isbp_flag之后根据上表既能获知当前图 像块的划分方式。综上,本发明实施例提供一种编码方法,包括根据不规则划分方式,确定待编码的图像块的图像块类型;根据不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子 图像块;对所述子图像块进行编码,得到残差信息、位置參数信息、运动矢量信息;对所述图像块类型參数进行编码,所述图像块类型參数用于表示所述图像块的类 型;编码不规则划分标识參数;将所述图像块类型參数、不规则划分标识參数、残差信息、位置參数信息以及运动 矢量信息写入码流。所述的不规则划分标识參数与位置參数信息一起编码,当不规则划分标识參数的值等于0时,待编码图像块不采用不规则划分,当不规则划分标识参数的值大于0时,待编码图像块采用不规则划分,且位置参数的值等于不规则划分标识参数的值。进一步的,在本发明实施例中,所述图像块类型为宏块类型。所述图像块类型用于标识不采用不规则划分方式的图像块的划分方式,或不采用不规则划分方式的图像块采用的划分方式及图像块和图像块中子图像块的参考方向,所述的不采用不规则划分方式的图像块的划分方式包括:32x32, 32x16,16x32,16x16,16x8,8x16,8x8,8x4,4x8,4x4 ;所述的图像块和图像块中子图像块的参考方向包括前向,后向,双向。在本发明实施例中,若当前图像块沿左下至右上方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左上至右下方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左下至右上方向划分成两个三角形的子图像块, 或,图像块沿左上至右下方向划分成两个三角形的子图像块,则所述图像块的图像块类型与16x16或32x32划分的图像块的图像块类型相同;若图像块划分成水平方向两个不同尺寸的矩形子图像块,则图像块的图像块类型与16x8或3^16划分的图像块的图像块类型; 若图像块划分成垂直方向两个不同尺寸的矩形子图像块,则图像块的图像块类型与8x16 或16x32划分的图像块的图像块类型。所述的不规则块划分标识参数为标识当前图像块是否采用不规则块划分方式的标志。艮口上文中所述的isbp_flag或isbp_direction。本发明实施例还提供一种相应的解码方法,其包括从码流中获得图像块类型参数,以及不规则标识参数;根据所述不规则标识参数以及所述图像块类型参数,获得所述待解码的图像块的划分方式;所述的不规则划分标识参数与位置参数信息一起解码,当不规则划分标识参数的值等于0时,待解码图像块不采用不规则划分,当不规则划分标识参数的值大于0时,待解码图像块采用不规则划分,且位置参数的值等于不规则划分标识参数的值。根据所述划分方式,对待解码的图像进行解码。进一步的,在本发明实施例中,所述图像块类型为宏块类型。所述图像块类型用于标识不采用不规则划分方式的图像块的划分方式,或不采用不规则划分方式的图像块采用的划分方式及图像块和图像块中子图像块的参考方向,所述的不采用不规则划分方式的图像块的划分方式包括:32x32, 32x16,16x32,16x16,16x8,8x16,8x8,8x4,4x8,4x4 ;所述的图像块和图像块中子图像块的参考方向包括前向,后向,双向。在本发明实施例中,若当前图像块沿左下至右上方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左上至右下方向划分成一个五边形的子图像块和一个三角形的子图像块,或,图像块沿左下至右上方向划分成两个三角形的子图像块, 或,图像块沿左上至右下方向划分成两个三角形的子图像块,则所述图像块的图像块类型与16x16或3^32划分的图像块的图像块类型相同;若图像块划分成水平方向两个不同尺寸的矩形子图像块,则图像块的图像块类型与16x8或32x16划分的图像块的图像块类型; 若图像块划分成垂直方向两个不同尺寸的矩形子图像块,则图像块的图像块类型与8x16 或16x32划分的图像块的图像块类型。所述的不规则块划分标识参数为标识当前图像块是否采用不规则块划分方式的标志。艮口上文中所述的isbp_flag或isbp_direction。上述编码方案的好处在于只需使用1个或2个比特既能标识当前图像块是否使用非规则划分方式并且能标识当前图像块的划分方式。进一步的,在B帧中mbtype除了用于标识当前图像块的划分方式,还标识了当前图像块和或子图像块的参考方向,采用上述同样的标识方法可以标识当前图像块是否使用非规则划分方式、标识当前图像块的划分方式、标识当前图像块和子图像块的参考方向。所述的当前图像块或子图像块的参考方向包括前向,后向和双向。所述的前向是指当前图像块或子图像块的参考图像块或参考子图像块所在的图像位于当前图像块或子图像块所在图像之前;所述的后向是指当前图像块或子图像块的参考图像块或参考子图像块所在的图像位于当前图像块或子图像块所在图像之后;所述的双向是指当前图像块或子图像块的参考图像块或参考子图像块所在的图像位于当前图像块或子图像块所在图像之前,同时当前图像块或子图像块的参考图像块或参考子图像块所在的图像还有位于当前图像块或子图像块所在图像之后。以上对本发明实施例所提供的多级交换网和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种编码方法,其特征在于,包括根据不规则划分方式以及位置参数,对待编码的图像块进行不规则划分,得到至少两个不同的子图像块;将所述子图像块与参考子图像块进行比较,获得所述待编码图像块的像素值的残差;获得参考位置参数,并将所述参考位置参数与所述待编码图像块的位置参数做差,获得待编码图像块的位置参数差值;对所述残差进行量化和变换,并将所述量化和变换结果、运动矢量信息和位置参数差值进行熵编码;将所述熵编码结果,以及所述图像块的划分方式信息写入码流中。
2.如权利要求1中所述的编码方法,其特征在于,所述获得参考位置参数包括如果所述待编码图像块的周边块中仅有一个采用了与所述待编码图像块相同的不规则划分方式, 则所述参考位置参数等于所述周边块的位置参数。
3.如权利要求1中所述的编码方法,其特征在于,所述获得参考位置参数包括如果所述待编码图像块的周边块均没有采用与所述待编码图像块相同的不规则块划分方式,所述待编码图像块的参考位置参数取0。
4.如权利要求1中所述的编码方法,其特征在于,所述获得参考位置参数包括如果所述待编码图像块的周边块中有多个采用了与所述待编码图像块相同的不规则划分方式,则所述参考位置参数根据所述多个周边块共同确定。
5.如权利要求4中所述的编码方法,其特征在于,所述参考位置参数根据所述多个周边块共同确定,包括所述参考位置参数取多个周边块的位置参数中的的最小值,或者,所述参考位置参数取所述多个周边块的位置参数的平均值,或者,所述参考位置参数根据所述多个周边块的位置参数查表获得。
6.如权利要求1中所述的编码方法,其特征在于,所述位置参数包括子图像块之间的边界线的角度信息,以及所述待编码的图像块的中心到子图像块之间的边界线的垂直距离 fn息ο
7.如权利要求1所述的编码方法,其特征在于,所述获得参考位置参数包括获得划分方式与待编码图像块相同的周边块,根据所述周边块的位置参数获得所述待编码图像块的参考位置参数。
8.一种编码装置,其特征在于,包括划分模块,用于根据划分方式,以及相应的位置参数,对图像块进行不规则划分;残差获取模块,用于获得所述待编码图像块的残差;参数获取模块,用于根据待编码的图像块的周边块获得参考位置参数,并将所述参考位置参数与待编码图像块的位置参数进行比较,获得位置参数差值;变换模块,用于对所述残差进行变换量化模块,用于对所述残差进行变换后的结果进行量化;熵编码模块,用于对变换模块和量化模块的结果,以及运动矢量信息和位置参数差值进行熵编码;发送模块,用于将所述熵编码模块的熵编码结果、所述图像块的划分方式写入码流中。
9.如权利要求8中所述的编码装置,其特征在于,所述根据待编码的图像块的周边块获得参考位置参数包括如果所述待编码图像块的周边块中仅有一个采用了与所述待编码图像块相同的不规则划分方式,则所述参考位置参数等于所述周边块的位置参数;如果所述待编码图像块的周边块均没有采用与所述待编码图像块相同的不规则块划分方式,所述待编码图像块的参考位置参数取0 ;如果所述待编码图像块的周边块中有多个采用了与所述待编码图像块相同的不规则划分方式,则所述参考位置参数根据所述多个周边块共同确定。
10.如权利要求9中所述的编码装置,其特征在于,所述参考位置参数根据所述多个周边块共同确定,包括所述参考位置参数取多个周边块的位置参数中的最小值,或者,所述参考位置参数取所述多个周边块的位置参数的平均值,或者,所述参考位置参数根据所述多个周边块的位置参数查表获得。
11.如权利要求8中所述的编码方法,其特征在于,所述位置参数包括子图像块之间的边界线的角度信息,以及所述待编码的图像块的中心到子图像块之间的边界线的垂直距离 fn息ο
12.如权利要求8所述的编码方法,其特征在于,所述根据待编码的图像块的周边块获得参考位置参数包括获得划分方式与待编码图像块相同的周边块,根据所述周边块的位置参数获得所述待编码图像块的参考位置参数。
13.如权利要求12所述的编码方法,其特征在于,所述周边块与待编码图像块采用相同的划分方式包括所述周边块子图像块间的边界线的角度与待编码图像块的子图像块建的边界线的角度相同或相近。
14.一种解码方法,其特征在于,所述方法包括从码流中得到待解码图像块的残差;从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置;根据周边块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。
15.如权利要求14所述的解码方法,其特征在于,所述根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数包括将所述参考位置参数与所述位置参数差值相加,以得到所述待解码图像块的位置参数。
16.如权利要求14中所述的解码方法,其特征在于,所述根据待解码的图像块的周边块获得参考位置参数包括如果所述待解码图像块的周边块中仅有一个采用了与所述待解码图像块相同的不规则划分方式,则所述参考位置参数等于所述周边块的位置参数;如果所述待解码图像块的周边块均没有采用与所述待解码图像块相同的不规则块划分方式,所述待解码图像块的参考位置参数取0 ;如果所述待解码图像块的周边块中有多个采用了与所述待解码图像块相同的不规则划分方式,则所述参考位置参数根据所述多个周边块共同确定。
17.如权利要求14中所述的解码方法,其特征在于,所述参考位置参数根据所述多个周边块共同确定,包括所述参考位置参数取多个周边块的位置参数中的最小值,或者,所述参考位置参数取所述多个周边块的位置参数的平均值,或者,所述参考位置参数根据所述多个周边块的位置参数查表获得。
18.如权利要求14中所述的解码方法,其特征在于,所述位置参数包括子图像块之间的边界线的角度信息,以及所述待解码的图像块的中心到子图像块之间的边界线的垂直距 1 fn 息。
19.如权利要求14所述的解码方法,其特征在于,所述根据待解码的图像块的周边块获得参考位置参数包括获得划分方式与待解码图像块相同的周边块,根据所述周边块的位置参数获得所述待解码图像块的参考位置参数。
20.如权利要求19所述的解码方法,其特征在于,所述周边块与待解码图像块采用相同的划分方式包括所述周边块子图像块间的边界线的角度与待解码图像块的子图像块建的边界线的角度相同或相近。
21.一种解码装置,其特征在于,包括残差获取模块,用于从码流中获得待解码图像块的残差;划分信息获取模块,用于从码流中获得待解码图像块的划分方式信息,确定待解码图像块的不规则划分方式;运动矢量信息获取模块,用于从码流中获得待解码图像块的运动矢量信息,确定待解码图像块的子图像块的参考子图像块的位置信息;位置参数获取模块,用于根据待解码图像块的周边块的位置参数来获得参考位置参数,从码流中获得位置参数差值,然后根据所述参考位置参数和所述位置参数差值获得待解码图像块的位置参数;参考像素值获得模块,用于根据所述待解码图像块的位置参数,以及所述待解码图像块的划分方式,从所述参考子图像块中获取参考像素值;图像获得模块,用于根据所述参考像素值以及所述残差,获得所述待解码图像块的子图像块的像素值。
22.如权利要求21中所述的解码装置,其特征在于,所述根据待解码的图像块的周边块获得参考位置参数包括如果所述待解码图像块的周边块中仅有一个采用了与所述待编码图像块相同的不规则划分方式,则所述参考位置参数等于所述周边块的位置参数;如果所述待编码图像块的周边块均没有采用与所述待编码图像块相同的不规则块划分方式,所述待编码图像块的参考位置参数取0 ;如果所述待解码图像块的周边块中有多个采用了与所述待编码图像块相同的不规则划分方式,则所述参考位置参数根据所述多个周边块共同确定。
23.如权利要求22中所述的解码装置,其特征在于,所述参考位置参数根据所述多个周边块共同确定,包括所述参考位置参数取多个周边块的位置参数中的最小值;或者所述参考位置参数取所述多个周边块的位置参数的平均值;或者所述参考位置参数根据所述多个周边块的位置参数查表获得。
24.如权利要求21中所述的解码装置,其特征在于,所述位置参数包括子图像块之间的边界线的角度信息,以及所述待解码的图像块的中心到子图像块之间的边界线的垂直距 1 fn 息。
25.如权利要求21所述的解码装置,其特征在于,所述根据待解码的图像块的周边块获得参考位置参数包括获得划分方式与待解码图像块相同的周边块,根据所述周边块的位置参数获得所述待解码图像块的参考位置参数。
26.如权利要求25所述的解码装置,其特征在于,所述周边块与待解码图像块采用相同的划分方式包括所述周边块子图像块间的边界线的角度与待解码图像块的子图像块建的边界线的角度相同或相近。
全文摘要
一种编码方法,包括根据不规则划分方式以及位置参数,对待解码的图像块进行不规则划分,得到至少两个不同的子图像块;将所述子图像块与参考子图像块的进行比较,获得所述待编码图像块的的像素值的残差;根据待解码的图像块的周边块获得参考位置参数,并将所述参考位置参数与所述带解码图像块的位置参数做差,获得待解码图像块的位置参数差值;对所述残差进行量化,并将所述量化结果、所述运动矢量信息和位置参数差值进行熵编码;将所述熵编码结果,以及所述图像快的划分方式信息写入码流中。
文档编号H04N7/30GK102215396SQ20101023781
公开日2011年10月12日 申请日期2010年7月19日 优先权日2010年4月9日
发明者郑萧桢 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1