CN102215395B - 一种视频编解码方法和装置 - Google Patents
一种视频编解码方法和装置 Download PDFInfo
- Publication number
- CN102215395B CN102215395B CN 201010237812 CN201010237812A CN102215395B CN 102215395 B CN102215395 B CN 102215395B CN 201010237812 CN201010237812 CN 201010237812 CN 201010237812 A CN201010237812 A CN 201010237812A CN 102215395 B CN102215395 B CN 102215395B
- Authority
- CN
- China
- Prior art keywords
- block
- motion vector
- image block
- subimage
- encoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种编码方法,包括:在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量;根据所述运动矢量和所述参考运动矢量,得到运动矢量差值;将所述运动矢量差值写入到码流中,并发送给解码端。本发明实施例还提供了一种执行所述编码方法的编码装置。
Description
技术领域
本发明涉及视频编解码领域,特别涉及一种不规则子图像块划分的视频编解码方法和装置。
背景技术
在现有的视频编解码技术中,一般都是通过将当前帧图像的图像块的像素值与参考图像块的像素值作差得到残差矩阵,然后将得到的残差矩阵经过量化,变换和熵编码后写入码流中,与运动矢量信息一起传送给解码端。而解码端则从得到的码流中读取比特流,然后经过反量化、反变换,得到相应的残差,然后再根据码流中的运动矢量信息,获取当前图像块的参考图像块,将当前图像块的残差与参考图像块的像素值相加,得到当前图像块的像素值。
在现有技术的编解码过程中,无论是残差的计算,还是参考图像块的查找,都是以图像块的子图像块为单位进行的,而现有技术也出现了相应的用于划分子图像块的规则划分和不规则划分技术。规则划分是将图像块划分成完全相同的正方形子图像块,其优点是各种参数的获取比较简单,比如用于预测参考图像位置的参考运动矢量,但其缺点就是完全相同的正方形子图像块的形状往往与图像中的物体轮廓相差很大,从而提高了编解码中像素预测的难度。相应的,不规则划分技术则是将图像块划分成形状各异的长方形、三角形、甚至五边形及不规则四边形,以适应不同种类的图像的要求,可以极大地解决规则划分成的像素预测方面的问题,但是相应的,由于形状的不规则,非规则划分技术也面对着用于计算图像块的运动矢量的参考运动矢量参数的难题。
因此,有必要提供一种编解码方法和装置,以可以简单的获得不规则划分中的子图像块的参考运动矢量。
发明内容
本发明实施例提供了一种编码方法,包括:在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;根据所述待编码图像块的子图像块的已编码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量;根据所述运动矢量和所述参考运动矢量,得到运动矢量差值;将所述运动矢量差值写入到码流中,并发送给解码端。本发明实施例还提供了一种执行所述编码方法的编码装置。
本发明实施例还相应的提供了一种解码方法,包括从码流中获得图像块的不规则划分方式,获得待解码的图像块的子图像块的运动矢量差值;从所述待解码图像块的子图像块的已解码的周边块和待解码图像块的不规则划分方式,获得子图像块的参考运动矢量;根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;根据所述运动矢量获得所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码,本发明实施例还提供了一种执行所述解码方法的解码装置。
采用本发明实施例提供的编解码方法和装置,可以在一定的条件下简化参考运动矢量的获得和计算,节省了编解码***的资源,提高了效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例所提供的编码方法的示意图;
图2所示为本发明实施例所提供的不规则划分方法的示意图;
图3所示为本发明实施例中的待编码块的周边块分布示意图;
图4所示为本发明实施例所提供的编码装置的示意图;
图5所示为本发明实施例所提供的解码方法的示意图;
图6所示为本发明实施例所提供的解码装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,本发明实施例提供了一种视频编码方法,其包括:
步骤101:在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
在本发明实施例中,所述对待编码图像块进行不规则划分,包含了四种不规则划分方式,请参照图2a~2d,这四种划分方式分别为以45度或者135度划分线将待编码图像块划分成一个三角形的子图像块和一个五边形的子图像块(分别标识为Mode0和Mode1),以及以垂直的划分线和水平的划分线将待编码的图像块划分成两个尺寸不一致矩形的子图像块(分别标识为Mode2和Mode3),其中的参数n即为不规则划分的位置参数,用于表示所述划分线与所述待解码的图像块的交点的距离。
在上述划分方案中,当图像块采用图2a和图2b所示的划分方式时,如果n的值为0,则图像块被划分为两个三角形。由于图像块均由像素组成,因此Mode0和Mode1所对应的135度边界线及45度边界线是指由沿子图像块间的边界的像素组成的近似于135度和45度的线。
而所述本发明实施例中的不规则划分方式的选取、位置参数的确认、以及参考图像块的确认,可以通过将预设的不规则划分方式、以及可以选用的位置参数全部尝试一边,并搜索到相应的最佳参考图像块,最后将结果进行比较,从中选取最佳方案。在本发明实施例中,所述最佳方案可以为划分出来的子图像块与搜索到的参考图像块像素最接近的划分方式及相应的位置参数,当然也可以根据其他需求对这一最佳方案进行调整。
步骤102:,根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;
步骤103:根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量;
具体的:
首先,判断所述已编码的周边块是否符合预设的条件,在本发明实施例中,所述预设的条件包括:
所述周边块采用了与待编码的图像块相同的不规则划分方式;
所述周边块的参考图像块与所述子图像块的参考图像块处于同一个图像中。
然后,如果有唯一的一个周边块满足预设的条件,则所述子图像块的参考运动矢量等于所述满足条件的周边块的运动矢量。
如果所述已编码的周边块中有多个满足上述条件,则所述子图像块的参考运动矢量等于满足条件的周边块中的位置参数与待编码图像块最接近的那一个周边块的运动矢量。在本发明实施例中,所述最接近可以为位置参数间的差值最小,或者位置参数间的差值的绝对值最小。
如果有多个满足条件的周边块的位置参数相同,且同样接近于所述待编码的图像块的位置参数,则所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值,或周边块的运动矢量的平均值取整。
在本发明实施例中,所述位置参数的接近与否可以从数值上进行判断,比如差值。
步骤104:根据所述运动矢量和所述参考运动矢量,得到运动矢量差值;
其中,在本发明实施例中,所述根据所述运动适量和所述参考运动矢量得到运动矢量差值,可以通过将二者做差得到,在其他可选择的实施例中,也可以通过其他的数学方法,建立运动矢量差值与运动矢量和参考运动矢量二者之间的逻辑关系,比如相除、对数计算等。
步骤105:将所述运动矢量差值写入到码流中。
采用本发明实施例所提供的编码方法,在预设的条件下,直接根据子图像块的运动矢量、子图像块所在图像块的不规则划分方式、子图像块周边块的不规则划分方式来获得子图像块的参考运动矢量,相较于现有技术中的复杂计算,可以有效地节省编码比特数,提高编码效率。
需要指出的是,上述方案中的图像块、子图像块和周边块的参考图像块是为了叙述方便定义的名词。上述方案中的图像块是指图像编码的基本单位,一个图像块中可以包含一个到若干个子图像块。在现有的视频编解码技术中,图像块可以为宏块,大小为16x16,此时子图像块被称为子块,大小可以为16x16,16x8,8x16,8x8,8x4,4x8,4x4,或本发明所指出的不规则划分的块;图像块还可以为超宏块,大小为32x32。此时子图像块为宏块或宏块中的子块,大小可以为32x32,32x16,16x32,16x16,16x8,8x16,8x8,8x4,4x8,4x4,或本发明所指出的不规则划分的块。
周边块是指与当前图像块,或当前子图像块块邻近的图像块或子图像块。其与当前图像块,或当前子图像块块的位置关系可以为相邻,或间隔固定的像素值。当前子图像块的周边块可以为图像块,或子图像块。
周边块的参考图像块可以为上述的图像块,或上述的子图像块。因此,若当前子图像块的周边块为图像块时,则当前子图像块的周边块的参考图像块可以为图像块;若当前子图像块的周边块为子图像块时,则当前子图像块的周边块的参考图像块可以为子图像块。
以下将给出一个进一步的实现方案。
以下实现方案中,由于当前图像块或子图像块的周边块可以为图像块,或子图像块,为便于描述统称为图像块,所有图像块的大小可以不一致,所有图像块的形状或划分方式可以不一致,图像块的大小按现有技术的方法确定。
如图3所示,设有图像块A,B,C,D和E。其中E为当前图像块,A为E的左相邻块,B为E的上相邻块,C为E的右上相邻块,D为E的左上相邻块。
设图像块A,B,C,D的运动矢量为mvA,mvB,mvC,mvD。设图像块A,B,C,D和E的参考帧索引值为refA,refB,refC,refD和refE。
参考帧索引值指的是图像块的参考图像块所在的图像在视频序列中的位置。当两个图像块的参考帧索引值相同时,这两个图像块的参考图像块位于同一图像中。
设图像块A,B,C,D和E的非规则块划分方式为ModeA,ModeB,ModeC,ModeD和ModeE。
若图像块A,或,B,或,C,或D不可得或不使用非规则块划分,则设ModeA,或,ModeB,或,ModeC,或,ModeD的值为-1。
设图像块A,B,C,D和E的非规则块划分位置参数为posA,posB,posC,posD和posE。
若图像块A,或,B,或,C,或D不可得或不使用非规则块划分,则设posA,或,posB,或,posC,或,posD的值为一个足够大的数,如10000。
当前图像块E的参考运动矢量(或成为预测运动矢量,predicted motionvector)为mvpE。
mvpE的求取方法如下:
若refA与refE值相等且A与E采用了相同不规则划分方式,则设CondionA值为1,否则CondionA值0,表达式为:ConditonA=(refA==refE)&&(ModeA==ModeE)。
若refB与refE值相等且B与E采用了相同不规则划分方式,则设CondionB值为1,否则CondionB值0,表达式为:ConditonB=(refB==refE)&&(ModeB==ModeE)。
若refC与refE值相等且C与E采用了相同不规则划分方式,则设CondionC值为1,否则CondionC值0,表达式为:ConditonC=(refC==refE)&&(ModeC==ModeE)。
若refD与refE值相等且D与E采用了相同不规则划分方式,则设CondionD值为1,否则CondionD值0,表达式为:ConditonD=(refD==refE)&&(ModeD==ModeE)。
若ConditonA==1且ConditonB==0且ConditonC==0,则mvpE=mvA;
若ConditonA==0且ConditonB==1且ConditonC==0,则mvpE=mvB;
若ConditonA==0且ConditonB==0且ConditonC==1,则mvpE=mvC;
若ConditonA,ConditonB和ConditonC有一个以上的值为1,则取相应的ConditonX值为1的图像块X的位置参数posX(X可以为A,或,B,或,C),分别计算posE与这些图像块位置参数(posX)的差值的绝对值,将能获得最小差值的绝对值图像块的运动矢量mvX(X可以为A,或,B,或,C)赋值给mvpE;
若ConditonA,ConditonB和ConditonC有一个以上的值为1,且图像块X的位置参数posX(X可以为A,或,B,或,C)均相等且与posE的差值的绝对值均能获得最小差值的绝对值,则mvpE等于这些图像块的运动矢量的平均值,或mvpE等于这些图像块的运动矢量的平均值取整。
相应的,请参照图3,本发明实施例还提供一种相应的编码装置,以执行本发明所提供的编码方法,其包括:
不规则划分模块210,用于在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
运动矢量获得模块220,用于根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;
参考运动矢量获得模块230,根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量;
所述根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量包括:
选择符合预设条件的周边块;
根据所述符合预设条件的周边块来获得图像块的参考运动矢量,其中,
所述预设的条件包括:
所述周边块采用了与待编码的图像块相同的不规则划分方式;
所述周边块的参考图像块与所述子图像块的参考图像块处于同一个图像中。
然后,如果有唯一的一个周边块满足预设的条件,则所述子图像块的参考运动矢量等于所述满足条件的周边块的运动矢量。
如果所述已编码的周边块中有多个满足上述条件,则所述子图像块的参考运动矢量等于满足条件的周边块中不规则划分的位置参数与待编码图像块最接近的那一个周边块的运动矢量,在本发明实施例中,所述最接近可以为位置参数的差值最小,或者位置参数的绝对值的差值最小。
如果有多个满足条件的周边块的位置参数相同,且同样接近于所述待编码的图像块的位置参数,则所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值,或所述多个满足条件的周边块的运动矢量的平均值取整。
运动矢量差值获得模块240,用于将所述运动矢量和所述参考运动矢量做差,得到运动矢量差值;
运动矢量差值写入模块250,用于将所述运动矢量差值写入到码流中。
请参照图4,本发明还提供一种解码方法,其包括
步骤301:从码流中获得待解码的图像块的子图像块的运动矢量差值;
步骤302:根据所述待解码图像块的子图像块的已解码的周边块,获得子图像块的参考运动矢量;
具体的:
首先,判断所述已解码的周边块是否符合预设的条件,在本发明实施例中,所述预设的条件包括:
所述周边块采用了与待解码的图像块相同的不规则划分方式;
所述周边块的参考图像块与所述子图像块的参考图像块处于同一个图像中。
然后,如果有唯一的一个周边块满足预设的条件,则所述子图像块的参考运动矢量等于所述满足条件的周边块的运动矢量。
如果所述已解码的周边块中有多个满足上述条件,则所述子图像块的参考运动矢量等于满足条件的周边块中的位置参数与待解码图像块最接近的那一个周边块的运动矢量,在本发明实施例中,所述最接近可以为位置参数间的差值最小,或者位置参数间的差值的绝对值最小。
如果有多个满足条件的周边块的位置参数相同,则所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值,或周边块的运动矢量的平均值取整。
步骤303:根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
所述根据所述运动矢量差值和所述参考运动矢量得到运动矢量差值,可以按照编码端的运动矢量差值的生成方法进行逆运算得到,可以为所述运动矢量差值和所述参考运动矢量之和,或所述运动矢量差值和所述参考运动矢量之积等。
步骤304:根据所述运动矢量查找所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码。
需要指出的是,上述方案中的图像块、子图像块和周边块的参考图像块是为了叙述方便定义的名词。上述方案中的图像块是指图像编码的基本单位,一个图像块中可以包含一个到若干个子图像块。在现有的视频编解码技术中,图像块可以为宏块,大小为16x16,此时子图像块被称为子块,大小可以为16x16,16x8,8x16,8x8,8x4,4x8,4x4;图像块还可以为超宏块,大小为32x32。此时子图像块为宏块或宏块中的子块,大小可以为32x32,32x16,16x32,16x16,16x8,8x16,8x8,8x4,4x8,4x4。
周边块是指与当前图像块,或当前子图像块块邻近的图像块或子图像块。其与当前图像块,或当前子图像块块的位置关系可以为相邻,或间隔固定的像素值。当前子图像块的周边块可以为图像块,或子图像块。
周边块的参考图像块可以为上述的图像块,或上述的子图像块。因此,若当前子图像块的周边块为图像块时,则当前子图像块的周边块的参考图像块可以为图像块;若当前子图像块的周边块为子图像块时,则当前子图像块的周边块的参考图像块可以为子图像块。
进一步的,
请参照图3,设有图像块A,B,C,D和E。其中E为当前图像块,A为E的左相邻块,B为E的上相邻块,C为E的右上相邻块,D为E的左上相邻块。
设图像块A,B,C,D的运动矢量为mvA,mvB,mvC,mvD。设图像块A,B,C,D和E的参考帧索引值为refA,refB,refC,refD和refE。
参考帧索引值指的是图像块的参考图像块所在的图像在视频序列中的位置。当两个图像块的参考帧索引值相同时,这两个图像块的参考图像块位于同一图像中。
设图像块A,B,C,D和E的非规则块划分方式为ModeA,ModeB,ModeC,ModeD和ModeE。
若图像块A,或,B,或,C,或D不可得或不使用非规则块划分,则设ModeA,或,ModeB,或,ModeC,或,ModeD的值为-1。
设图像块A,B,C,D和E的非规则块划分位置参数为posA,posB,posC,posD和posE。
若图像块A,或,B,或,C,或D不可得或不使用非规则块划分,则设posA,或,posB,或,posC,或,posD的值为一个足够大的数,如10000。
当前图像块E的参考运动矢量(或成为预测运动矢量,predicted motionvector)为mvpE。
mvpE的求取方法如下:
若refA与refE值相等且A与E采用了相同不规则划分方式,则设CondionA值为1,否则CondionA值0,表达式为:ConditonA=(refA==refE)&&(ModeA==ModeE)。
若refB与refE值相等且B与E采用了相同不规则划分方式,则设CondionB值为1,否则CondionB值0,表达式为:ConditonB=(refB==refE)&&(ModeB==ModeE)。
若refC与refE值相等且C与E采用了相同不规则划分方式,则设CondionC值为1,否则CondionC值0,表达式为:ConditonC=(refC==refE)&&(ModeC==ModeE)。
若refD与refE值相等且D与E采用了相同不规则划分方式,则设CondionD值为1,否则CondionD值0,表达式为:ConditonD=(refD==refE)&&(ModeD==ModeE)。
若ConditonA==1且ConditonB==0且ConditonC==0,则mvpE=mvA;
若ConditonA==0且ConditonB==1且ConditonC==0,则mvpE=mvB;
若ConditonA==0且ConditonB==0且ConditonC==1,则mvpE=mvC;
若ConditonA,ConditonB和ConditonC有一个以上的值为1,则取相应的ConditonX值为1的图像块X的位置参数posX(X可以为A,或,B,或,C),分别计算posE与这些图像块位置参数(posX)的差值的绝对值,将能获得最小差值的绝对值图像块的运动矢量mvX(X可以为A,或,B,或,C)赋值给mvpE;
若ConditonA,ConditonB和ConditonC有一个以上的值为1,且图像块X的位置参数posX(X可以为A,或,B,或,C)均相等且与posE的差值的绝对值均能获得最小差值的绝对值,则mvpE等于这些图像块的运动矢量的平均值,或mvpE等于这些图像块的运动矢量的平均值取整。
请参照图5,本发明实施例还提供一种解码装置400,用于执行上述解码程序,其包括:
运动矢量差值获得模块410,用于从码流中获得待解码的图像块的子图像块的运动矢量差值;
参考运动矢量获得模块420,用于根据所述待解码图像块的子图像块的已解码的周边块,获得子图像块的参考运动矢量;
具体的:
首先,参考运动矢量获得模块420判断所述已解码的周边块是否符合预设的条件,在本发明实施例中,所述预设的条件包括:
所述周边块采用了与待解码的图像块相同的不规则划分方式;
所述周边块的参考图像块与所述子图像块的参考图像块处于同一个图像中。
然后,如果有唯一的一个周边块满足预设的条件,则所述子图像块的参考运动矢量等于所述满足条件的周边块的运动矢量。
如果所述已解码的周边块中有多个满足上述条件,则所述子图像块的参考运动矢量等于满足条件的周边块中不规则划分的位置参数与待解码图像块最接近的那一个周边块的运动矢量,在本发明实施例中,所述最接近可以为位置参数的差值最小,或者位置参数的绝对值的差值最小。
如果有多个满足条件的周边块的位置参数相同,且同样接近于所述待解码的图像块的位置参数,则所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值,或所述多个满足条件的周边块的运动矢量的平均值取整。
运动矢量获得模块430,用于根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
解码模块440,用于根据所述运动矢量查找所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码。
在本发明实施例所提供的编码方法或解码方法中,根据图像内容或纹理的连续性,本发明还提供了又一种根据待编码或待解码图像块的子图像块的已编码/已解码的周边块,获得子图像块的参考运动矢量的方法,所述方法包括:
首先,判断所述已编码/已解码的周边块是否符合预设的条件;
在本发明实施例中,所述预设的条件包括:所述周边块采用了与待编码/待解码的图像块相同的不规则划分方式。
其中,当待编码/待解码图像块采用的是图2(d)中所示的通过水平划分线将图像块划分成两个子图像块的水平划分方式时,如果待编码/待解码图像块的左相邻块也采用了水平划分方式,则根据当前编码/解码图像块的左相邻块的运动矢量获得当前图像块的参考运动矢量;如果待编码/待解码图像块的左相邻块没有采用水平划分方式且当前编码图像块的上相邻块采用了水平划分方式,则根据待编码/待解码图像块的上相邻块的运动矢量获得待编码/待解码图像块的参考运动矢量。
当待编码/待解码图像块采用图2(c)中所示的通过垂直划分线将图像块划分成两个子图像块的垂直划分方式时,如果待编码/待解码图像块的上相邻块也采用了垂直划分方式,则根据待编码/待解码图像块的上相邻块的运动矢量获得待编码/待解码的图像块的参考运动矢量;若待编码/待解码图像块的上相邻块没有采用垂直划分方式而待编码/待解码图像块的左相邻块采用了垂直划分方式,则根据待编码/待解码图像块左边的相邻图像块的运动矢量获得待编码/待解码图像块的参考运动矢量。
进一步的,上述根据待编码/待解码图像块的上边或左边的相邻图像块的运动矢量获得当前图像块的参考运动矢量的方法可以为:
当待编码/待解码图像块采用的是图2(d)中所示的通过水平划分线将图像块划分成两个子图像块的水平划分方式时,如果待编码/待解码图像块的左相邻块也采用了水平划分方式,则待编码/待解码图像块的参考运动矢量等于所述待编码/待解码图像块的左相邻块的运动矢量;如果待编码/待解码图像块的左相邻块没有采用水平划分方式且当前待编码/待解码的图像块的上相邻块采用了水平划分方式,则待编码/待解码图像块的参考运动矢量等于待编码/待解码图像块的上相邻块的运动矢量;
当待编码/待解码图像块采用图2(c)中所示的通过垂直划分线将图像块划分成两个子图像块的划分方式时,如果待编码/待解码图像块的上相邻块也采用了垂直划分方式,则待编码/待解码的图像块的参考运动矢量等于待编码/待解码图像块上相邻块的运动矢量;若待编码/待解码图像块的上相邻块没有采用垂直划分方式而待编码/待解码图像块的左相邻块采用了垂直划分方式,则待编码/待解码图像块的参考运动矢量等于待编码/待解码图像块的左相邻块的运动矢量。
需要理解,在本实施例中所述的水平划分方式和垂直划分方式包括将图像块划分成两个不等大小的矩形子图像块的不规则划分方式,以及将图像块均匀划分成两个相等的图像块的规则划分方式(16x8或8x16)。
当待编码/待解码图像块采用图2(a)或图2(b)中所示的方法将图像块划分成一个三角形及一个五边形时,可根据当待编码/待解码图像块周边块中采用了与待编码/待解码图像块的不规则划分方式相同的周边块的运动矢量式求取待编码/待解码图像块的参考运动矢量。
作为可选择的实施例,本发明还提供一种根据待编码/待解码图像块的上边或左边的相邻图像块的运动矢量获得当前图像块的参考运动矢量的方法:
根据当前图像块的参考帧索引值,及当前图像块上相邻块的参考帧索引值及其运动矢量,获得当前图像块的参考运动适量;或者
根据当前图像块的参考帧索引值,以及当前图像块左相邻块(即处于当前图像块左方的周边块)的参考帧索引值及其运动矢量,获得当前图像块的参考运动矢量。
以下将给出一个进一步的实现方案。
以下实现方案中,由于当前图像块或子图像块的周边块可以为图像块,或子图像块,为便于描述统称为图像块,所有图像块的大小可以不一致,所有图像块的形状或划分方式可以不一致,图像块的大小按现有技术的方法确定。
如图3所示,设有图像块A,B,C,D和E。其中E为当前图像块,A为E的左相邻块,B为E的上相邻块,C为E的右上相邻块,D为E的左上相邻块。
当前图像块采用了非规则划分,图像块被划分为两个子图像块,设当前图像块第一或第二个子图像块E的参考运动矢量(或成为预测运动矢量,predicted motion vector)为mvpE。
若图像块A,或,B,或,C,或D不可得或不使用非规则块划分,则设ModeA,或,ModeB,或,ModeC,或,ModeD的值为-1。
若图像块A,B,C,D采用了非规则划分方式,则图像块A,B,C,D被划分为两个子图像块,设采用了非规则划分方式的图像块A,B,C,D的运动矢量为mvA,mvB,mvC,mvD,设上述图像块A,B,C,D和E对应的子图像块的参考帧索引值为refA,refB,refC,refD和refE。
参考帧索引值指的是图像块或子图像块的参考图像块所在的图像在视频序列中的位置。当两个图像块或子图像块的参考帧索引值相同时,这两个图像块或子图像块的参考图像块位于同一图像中。
若ModeE为水平划分方式,且ModeA也为水平划分方式,则mvpE的求取方法可以为:
mvpE=mvA
或,mvpE=((refE+1)×mvA×768/(refA+1)+384)/768
上述公示((refE+1)×mvA×768/(refA+1)+384)/768实际上是对mvA进行缩放,将块A运动矢量缩放至与当前块E所指向的参考图像。
若ModeE为水平划分方式,ModeA不为水平划分方式而ModeB为水平划分方式,则mvpE的求取方法可以为:
mvpE=mvB
或,mvpE=((refE+1)×mvB×768/(refB+1)+384)/768
上述公式((refE+1)×mvB×768/(refB+1)+384)/768实际上是对mvB进行缩放,将块B运动矢量缩放至与当前块E所指向的参考图像。
若ModeE为垂直划分方式,且ModeB也为垂直划分方式,则mvpE的求取方法可以为:
mvpE=mvB
或,mvpE=((refE+1)×mvB×768/(refB+1)+384)/768
上述公示((refE+1)×mvB×768/(refB+1)+384)/768实际上是对mvB进行缩放,将块B运动矢量缩放至与当前块E所指向的参考图像。
若ModeE为垂直划分方式,ModeB不为垂直划分方式且ModeA为垂直划分方式,则mvpE的求取方法可以为:
mvpE=mvA
或,mvpE=((refE+1)×mvA×768/(refA+1)+384)/768
上述公式((refE+1)×mvA×768/(refA+1)+384)/768实际上是对mvA进行缩放,将块A运动矢量缩放至与当前块E所指向的参考图像。
本发明对于图像块的参考矢量的获得还提供了其他的可选择的实施例,在以下实现方案中,由于当前图像块或子图像块的周边块可以为图像块,或子图像块,为便于描述统称为图像块,所有图像块的大小可以不一致,所有图像块的形状或划分方式可以不一致,图像块的大小按现有技术的方法确定。
如图3所示,设有图像块A,B,C,D和E。其中E为当前图像块,A为E的左相邻块,B为E的上相邻块,C为E的右上相邻块,D为E的左上相邻块。
当前图像块采用了非规则划分,图像块被划分为两个子图像块,设当前图像块第一或第二个子图像块E的参考运动矢量(或成为预测运动矢量,predicted motion vector)为mvpE。
若图像块A,或,B,或,C,或D不可得或不使用非规则块划分,则设ModeA,或,ModeB,或,ModeC,或,ModeD的值为-1。
若图像块A,B,C,D采用了非规则划分方式,则图像块A,B,C,D被划分为两个子图像块(,设采用了非规则划分方式的图像块A,B,C,D的运动矢量为mvA,mvB,mvC,mvD,设上述图像块A,B,C,D和E对应的子图像块的参考帧索引值为refA,refB,refC,refD和refE)。
若ModeE为水平划分方式,且ModeA也为水平划分方式,则设图像块E第一个、第二个子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),设图像块A第一个、第二个子图像块的参考运动矢量为(mvA_y1,mvA_x1)和(mvA_y2,mvA_x2),(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2)的求取方法可以为:
mvpE_y1=mvA_y1
mvpE_x1=mvA_x1
mvpE_y2=mvA_y2
mvpE_x2=mvA_x2
若ModeE为水平划分方式,ModeA不为水平划分方式,同时ModeB为水平划分方式。设图像块E第一个、第二个子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),设图像块B第一个、第二个子图像块的参考运动矢量为(mvB_y1,mvB_x1)和(mvB_y2,mvB_x2)。此时,图像块B(上相邻块)的下半部分(即图像块B第二个子图像块)与当前图像块E同属一个物体的可能性较大,这两个图像块的运动矢量关联度较高。因此,(mvpE_y1,mvpE_x1)的求取方法可以为:
mvpE_y1=mvB_y2
mvpE_x1=mvB_x2
在上述场景中,图像块E的第二个子图像块(即图像块E的下半部分)运动矢量与图像块B运动矢量关联度较小,此时使用该子图像块左边块的运动矢量,也就是图像块A的与图像块E相邻的部分的运动矢量更为合适。在这里,设图像块A的与图像块E的第二子图像块相邻的部分的运动矢量为(mvA_yclose,mvA_xclose)。因此,(mvpE_y2,mvpE_x2)的求取方法可以为:
mvpE_y2=mvA_yclose
mvpE_x2=mvA_xclose
若ModeE为垂直划分方式,且ModeA也为垂直划分方式,则设图像块E第一个、第二个子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),设图像块B第一个、第二个子图像块的参考运动矢量为(mvB_y1,mvB_x1)和(mvB_y2,mvB_x2),(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2)的求取方法可以为:
mvpE_y1=mvB_y1
mvpE_x1=mvB_x1
mvpE_y2=mvB_y2
mvpE_x2=mvB_x2
若ModeE为垂直划分方式,ModeB既不采用垂直划分方式,而ModeA为垂直划分方式。设图像块E第一个、第二个子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),设图像块B第一个、第二个子图像块的参考运动矢量为(mvA_y1,mvA_x1)和(mvA_y2,mvA_x2)。此时,图像块A(左相邻块)的右半部分(即图像块A第二个子图像块)与当前图像块E同属一个物体的可能性较大,这两个图像块的运动矢量关联度较高。因此,(mvpE_y1,mvpE_x1)的求取方法可以为:
mvpE_y1=mvA_y2
mvpE_x1=mvA_x2
在上述场景中,图像块E的第二个子图像块(即图像块E的右部分)运动矢量与图像块A运动矢量关联度较小,此时使用该子图像块上相邻块的运动矢量,也就是上相邻块B的与图像块E靠近的部分的运动矢量更为合适。设图像块B的与图像块E靠近得部分的运动矢量为(mvB_yclose,mvB_xclose),因此,(mvpE_y2,mvpE_x2)的求取方法可以为:
mvpE_y2=mvA_yclose
mvpE_x2=mvA_xclose
若ModeE为左上至右下划分模式,即采用图2(a)所示划分方式,且图像块A(左相邻块)、B(上相邻块)、D(左上相邻块)中有且仅有一个采用与ModeE相同的划分方式,则设该采用与ModeE相同的划分方式的图像块的第一和第二个图像块的运动矢量分别为(mvX_y1,mvX_x1)、(mvX_y2,mvX_x2),设图像块E的第一、第二子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),则(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2)的求取方法为:
mvpE_y1=mvX_y1
mvpE_x1=mvX_x1
mvpE_y2=mvX_y2
mvpE_x2=mvX_x2
若A、B、D中有一个以上图像块采用与ModeE相同的划分模式,但仅有一个图像块的参考帧索引值与当前图像块参考帧索引值相同,则设该与当前图像块的划分方式相同且参考帧索引值相同的图像块的第一和第二子图像块运动矢量为(mvX_y1,mvX_x1)、(mvX_y2,mvX_x2),设图像块E第一个、第二个子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),X可以为A或B或D,则(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2)的求取方法为:
mvpE_y1=mvX_y1
mvpE_x1=mvX_x1
mvpE_y2=mvX_y2
mvpE_x2=mvX_x2
若ModeE为右上至左下划分模式,即采用图2(b)所示划分方式,且图像块A、B、C中有且仅有一个采用与ModeE相同的划分模式,则设该采用与ModeE相同的划分模式的图像块的第一和第二子图像的块运动矢量为(mvX_y1,mvX_x1)、(mvX_y2,mvX_x2),设图像块E第一个、第二个子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),x可以为A或B或C,则(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2)的求取方法为:
mvpE_y1=mvX_y1
mvpE_x1=mvX_x1
mvpE_y2=mvX_y2
mvpE_x2=mvX_x2
若A、B、C中有一个以上图像块采用与ModeE相同的划分模式,但仅有一个图像块的参考帧索引值与当前图像块参考帧索引值相同,则设该与当前图像块的划分方式相同且参考帧索引值相同的图像块的第一和第二子图像块的运动矢量为(mvX_y1,mvX_x1)、(mvX_y2,mvX_x2),X可以为A或B或C,设图像块E第一个、第二个子图像块的参考运动矢量为(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2),则(mvpE_y1,mvpE_x1)和(mvpE_y2,mvpE_x2)的求取方法为:
mvpE_y1=mvX_y1
mvpE_x1=mvX_x1
mvpE_y2=mvX_y2
mvpE_x2=mvX_x2
在上述方法中,还可以根据待编码/待解码图像块的子图像块的已编码/已解码的周边块,及待编码/待解码图像块的不规则划分方式获得子图像块的参考运动矢量。
具体方法为:设待编码/待解码图像块的子图像块的已编码/已解码的周边块为图3所示A、B、C和D。若待编码/待解码图像块采用水平划分方式或垂直划分方式,则选取周边块A和B的运动矢量用于获得待编码/待解码图像块的子图像块的参考运动矢量;若待编码/待解码图像块采用图2(a)所示划分方式,则选取周边块A,B和C的运动矢量用于获得待编码/待解码图像块的子图像块的参考运动矢量;若待编码/待解码图像块采用图2(b)所示划分方式,则选取周边块A,B和D的运动矢量用于获得待编码/待解码图像块的子图像块的参考运动矢量。
采用本发明实施例提供的编解码方法和装置,可以在一定的条件下简化参考运动矢量的获得和计算,节省了编解码***的资源,提高了效率。
以上对本发明实施例所提供的多级交换网和***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (28)
1.一种编码方法,其特征在于,包括:
在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述运动矢量和所述参考运动矢量,得到运动矢量差值;
将所述运动矢量差值写入到码流中,
其中,所述根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
选择符合预设条件的周边块,根据所述符合预设条件的周边块来获得图像块的参考运动矢量,其中,所述预设的条件包括:
所述周边块采用了与待编码的图像块相同的不规则划分方式;
所述周边块的参考图像块与所述子图像块的参考图像块处于同一个图像中。
2.如权利要求1中所述的编码方法,其特征在于,如果有唯一的一个周边块满足预设的条件,则所述子图像块的参考运动矢量等于所述满足条件的周边块的运动矢量。
3.如权利要求1中所述的编码方法,其特征在于,如果所述已编码的周边块中有多个满足所述预设条件,则所述子图像块的参考运动矢量等于在满足条件的周边块中的位置参数与待编码图像块的位置参数的差值最小的那一个周边块的运动矢量,或所述子图像块的参考运动矢量等于在满足条件的周边块中的位置参数与待编码图像块的位置参数的差值绝对值最小的那一个周边块的运动矢量。
4.如权利要求3中所述的编码方法,其特征在于,如果有多个满足条件的周边块的位置参数相同且在满足条件的周边块中的位置参数与待编码图像块的位置参数的差值绝对值最小,或如果有多个满足条件的周边块的位置参数相同且在满足条件的周边块中的位置参数与待编码图像块的位置参数的差值绝对值最小,则所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值,或所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值取整。
5.一种编码方法,其特征在于,包括:
在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述运动矢量和所述参考运动矢量,得到运动矢量差值;
将所述运动矢量差值写入到码流中,
其中,所述根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
当待编码的图像块的不规则划分方式为水平划分方式时,
若所述待编码的图像块的左相邻块的不规则划分方式为水平划分方式时,则根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待编码的图像块的左相邻块的不规则划分方式不为水平划分方式,而所述待编码的图像块的上相邻块的不规则划分方式为水平划分方式时,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
6.一种编码方法,其特征在于,包括:
在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述运动矢量和所述参考运动矢量,得到运动矢量差值;
将所述运动矢量差值写入到码流中,
其中,所述根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
当待编码的图像块的不规则划分方式为垂直划分方式时,
若所述待编码的图像块的上相邻块的不规则划分方式为垂直划分方式,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待编码的图像块的上相邻块的不规则划分方式不为垂直划分方式,而所述待编码的图像块的左相邻块的不规则划分方式为垂直划分方式时,根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
7.一种编码方法,其特征在于,包括:
在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述运动矢量和所述参考运动矢量,得到运动矢量差值;
将所述运动矢量差值写入到码流中,
其中,所述根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
所述待编码的图像块的不规则划分方式将图像块划分为两个三角形、或一个三角形和一个五边形、或两个四边形时,若所述待编码的图像块的周边块仅有一个图像块划分方式与所述待编码的图像块的不规则划分方式相同,则根据该图像块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;或者
若所述待编码的图像块的周边块中有多个图像块的划分方式与所述待编码的图像块的不规则划分方式相同,则根据所述多个图像块中的与待编码图像块的参考帧索引值相同的图像块的子图像块的运动矢量获得所述待编码的图像块的参考运动矢量。
8.如权利要求5、6或7所述的编码方法,其特征在于,所述根据左相邻块或上相邻块的子图像块的运动矢量获得所述待编码的图像块的子图像块的参考运动矢量的方法包括:
所述待编码的图像块的子图像块的参考运动矢量等于左边或上边图像块的子图像块的运动矢量;或
将左相邻块或上相邻块的字图像块的运动矢量缩放至所述待编码的图像块的子图像块所指向的参考图像,根据所述缩放后的运动矢量,获得所述待编码的图像块的子图像块的参考运动矢量。
9.一种编码装置,其特征在于,包括:
不规则划分模块,用于在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
运动矢量获得模块,用于根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;
参考运动矢量获得模块,用于根据所述待编码图像块的子图像块的已编
码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运 动矢量,所述根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量包括:选择符合预设条件的周边块;根据所述符合预设条件的周边块来获得图像块的参考运动矢量,其中,所述预设的条件包括:所述周边块采用了与待编码的图像块相同的不规则划分方式;所述周边块的参考图像块与所述子图像块的参考图像块处于同一个图像中;
运动矢量差值获得模块,用于将所述运动矢量和所述参考运动矢量做差,得到运动矢量差值;
运动矢量差值写入模块,用于将所述运动矢量差值写入到码流中。
10.如权利要求9中所述的编码装置,其特征在于,如果有唯一的一个周边块满足预设的条件,则所述子图像块的参考运动矢量等于所述满足条件的周边块的运动矢量。
11.如权利要求9中所述的编码装置,其特征在于,如果所述已编码的周边块中有多个满足所述预设条件,则所述子图像块的参考运动矢量等于在满足条件的周边块中不规则划分的位置参数与待编码图像块的位置参数的差值最小的那一个周边块的运动矢量,或在满足条件的周边块中的位置参数与待编码图像块的位置参数的差值绝对值最小的那一个周边块的运动矢量。
12.如权利要求11中所述的编码装置,其特征在于,如果有多个满足条件的周边块的位置参数相同且在满足条件的周边块中的位置参数与待编码图像块的位置参数的差值绝对值最小,或如果有多个满足条件的周边块的位置参数相同且在满足条件的周边块中的位置参数与待编码图像块的位置参数的差值绝对值最小,则所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值,或所述子图像块的参考运 动矢量取所述多个满足条件的周边块的运动矢量的平均值取整。
13.一种编码装置,其特征在于,包括:
不规则划分模块,用于在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
运动矢量获得模块,用于根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;
参考运动矢量获得模块,用于根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量,
其中,所述根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量包括:
当待编码的图像块的不规则划分方式为水平划分方式时,
若所述待编码的图像块的左相邻块的不规则划分方式为水平划分方式时,则根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待编码的图像块的左相邻块的不规则划分方式不为水平划分方式,而所述待编码的图像块的上相邻块的不规则划分方式为水平划分方式时,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
14.一种编码装置,其特征在于,包括:
不规则划分模块,用于在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
运动矢量获得模块,用于根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;
参考运动矢量获得模块,用于根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量,
其中,所述根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量包括:
当待编码的图像块的不规则划分方式为垂直划分方式时,
若所述待编码的图像块的上相邻块的不规则划分方式为垂直划分方式,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待编码的图像块的上相邻块的不规则划分方式不为垂直划分方式,而所述待编码的图像块的左相邻块的不规则划分方式为垂直划分方式时,根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
15.一种编码装置,其特征在于,包括:
不规则划分模块,用于在预设的多个不规则划分方式中选取一个不规则划分方式对待编码的图像块进行不规则划分,得到至少两个不同的子图像块,根据所述子图像块的像素值获得所述子图像块的参考图像块;
运动矢量获得模块,用于根据所述参考图像块,获得所述待编码的图像块的子图像块的运动矢量;
参考运动矢量获得模块,用于根据所述待编码图像块的子图像块的已编码的周边块和待编码图像块的不规则划分方式,获得子图像块的参考运动矢量,
其中,所述根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量包括:
所述待编码的图像块的不规则划分方式将图像块划分为两个三角形、或一个三角形和一个五边形、或两个四边形时,若所述待编码的图像块的周边块仅有一个图像块划分方式与所述待编码的图像块的不规则划分方式相同,则根据该图像块的子图像块的运动矢量获得当前图像块的子图 像块的参考运动矢量;或者
若所述待编码的图像块的周边块中有多个图像块的划分方式与所述待编码的图像块的不规则划分方式相同,则根据所述多个图像块中的与待编码图像块的参考帧索引值相同的图像块的子图像块的运动矢量获得所述待编码的图像块的参考运动矢量。
16.如权利要求13、14或15中所述的编码装置,其特征在于,所述根据所述待编码图像块的子图像块的已编码的周边块,获得子图像块的参考运动矢量包括:
所述待编码的图像块的不规则划分方式将图像块划分为两个三角形、或一个三角形和一个五边形、或两个四边形时,若所述待编码的图像块的周边块仅有一个图像块划分方式与所述待编码的图像块的不规则划分方式相同,则根据该图像块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;或者
若所述待编码的图像块的周边块中有多个图像块的划分方式与所述待编码的图像块的不规则划分方式相同,则根据所述多个图像块中的与待编码图像块的参考帧索引值相同的图像块的子图像块的运动矢量获得所述待编码的图像块的参考运动矢量。
17.一种解码方法,其特征在于,包括:
从码流中获得待解码的图像块的不规则划分方式;
从码流中获得待解码的图像块的子图像块的运动矢量差值;
从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
根据所述运动矢量获得所述子图像块的参考图像块,并根据所述参考子 图象块对所述子图像块进行解码,
其中,所述从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
选择符合预设条件的周边块;根据所述符合预设条件的周边块来获得图像块的参考运动矢量,其中,
所述预设的条件包括:所述周边块采用了与待解码的图像块相同的不规则划分方式;所述周边块的参考图像块与所述子图像块的参考图像块处于同一个图像中。
18.如权利要求17中所述的解码方法,其特征在于,如果有唯一的一个周边块满足预设的条件,则所述子图像块的参考运动矢量等于所述满足条件的周边块的运动矢量。
19.如权利要求17中所述的解码方法,其特征在于,如果所述已解码的周边块中有多个满足所述预设条件,则所述子图像块的参考运动矢量等于在满足条件的周边块中的位置参数与待解码图像块的位置参数的差值最小的那一个周边块的运动矢量,或在满足条件的周边块中的位置参数与待解码图像块的位置参数的差值绝对值最小的那一个周边块的运动矢量。
20.如权利要求19中所述的解码方法,其特征在于,如果有多个满足条件的周边块的位置参数相同且在满足条件的周边块中的位置参数与待解码图像块的位置参数的差值绝对值最小,或如果有多个满足条件的周边块的位置参数相同且在满足条件的周边块中的位置参数与待解码图像块的位置参数的差值绝对值最小,则所述子图像块的参考运动矢量取所述多个满足条件的周边块的运动矢量的平均值,或所述子图像块的参考运 动矢量取所述多个满足条件的周边块的运动矢量的平均值取整。
21.一种解码方法,其特征在于,包括:
从码流中获得待解码的图像块的不规则划分方式;
从码流中获得待解码的图像块的子图像块的运动矢量差值;
从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
根据所述运动矢量获得所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码,
其中,所述从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
当待解码的图像块的不规则划分方式为水平划分方式时,
若所述待解码的图像块的左相邻块的不规则划分方式为水平划分方式时,则根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待解码的图像块的左相邻块的不规则划分方式不为水平划分方式,而所述待解码的图像块的上相邻块的不规则划分方式为水平划分方式时,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
22.一种解码方法,其特征在于,包括:
从码流中获得待解码的图像块的不规则划分方式;
从码流中获得待解码的图像块的子图像块的运动矢量差值;
从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
根据所述运动矢量获得所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码,
其中,所述从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
当待解码的图像块的不规则划分方式为垂直划分方式时,
若所述待解码的图像块的上相邻块的不规则划分方式为垂直划分方式,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待解码的图像块的上相邻块的不规则划分方式不为垂直划分方式,而所述待解码的图像块的左相邻块的不规则划分方式为垂直划分方式时,根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
23.一种解码方法,其特征在于,包括:
从码流中获得待解码的图像块的不规则划分方式;
从码流中获得待解码的图像块的子图像块的运动矢量差值;
从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量;
根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
根据所述运动矢量获得所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码,
其中,所述从所述待解码图像块的子图像块的已解码的周边块和图像块的不规则划分方式,获得子图像块的参考运动矢量包括:
所述待解码的图像块的不规则划分方式将图像块划分为两个三角形、或一个三角形和一个五边形、或两个四边形时,若所述待解码的图像块的 周边块仅有一个图像块划分方式与所述待解码的图像块的不规则划分方式相同,则根据该图像块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;或者
若所述待解码的图像块的周边块中有多个图像块的划分方式与所述待解码的图像块的不规则划分方式相同,则根据所述多个图像块中的与待解码图像块的参考帧索引值相同的图像块的子图像块的运动矢量获得所述待解码的图像块的参考运动矢量。
24.如权利要求21、22或23所述的解码方法,所述根据左相临块或上相邻块的子图像块的运动矢量获得所述待解码的图像块的子图像块的参考运动矢量的方法包括:
所述待解码的图像块的子图像块的参考运动矢量等于左边或上边图像块的子图像块的运动矢量;或
将左相邻块或上相邻块的字图像块的运动矢量缩放至所述待解码的图像块的子图像块所指向的参考图像,根据所述缩放后的运动矢量,获得所述待解码的图像块的子图像块的参考运动矢量。
25.一种解码装置,其特征在于,包括:
运动矢量差值获得模块,用于从码流中获得待解码的图像块的子图像块的运动矢量差值;
参考运动矢量获得模块,用于根据所述待解码图像块的子图像块的已解码的周边块和待解码图像块的不规则划分方式,获得子图像块的参考运动矢量;
运动矢量获得模块,用于根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
解码模块,用于根据所述运动矢量查找所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码,
其中,所述根据所述待解码图像块的子图像块的已解码的周边块,获得子 图像块的参考运动矢量包括:
当待解码的图像块的不规则划分方式为水平划分方式时,
若所述待解码的图像块的左相邻块的不规则划分方式为水平划分方式时,则根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待解码的图像块的左相邻块的不规则划分方式不为水平划分方式,而所述待解码的图像块的上相邻块的不规则划分方式为水平划分方式时,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
26.一种解码装置,其特征在于,包括:
运动矢量差值获得模块,用于从码流中获得待解码的图像块的子图像块的运动矢量差值;
参考运动矢量获得模块,用于根据所述待解码图像块的子图像块的已解码的周边块和待解码图像块的不规则划分方式,获得子图像块的参考运动矢量;
运动矢量获得模块,用于根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
解码模块,用于根据所述运动矢量查找所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码,
其中,所述根据所述待解码图像块的子图像块的已解码的周边块,获得子图像块的参考运动矢量包括:
当待解码的图像块的不规则划分方式为垂直划分方式时,
若所述待解码的图像块的上相邻块的不规则划分方式为垂直划分方式,则根据上相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;
若所述待解码的图像块的上相邻块的不规则划分方式不为垂直划分方式,而所述待解码的图像块的左相邻块的不规则划分方式为垂直划分方式时,根据左相邻块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量。
27.一种解码装置,其特征在于,包括:
运动矢量差值获得模块,用于从码流中获得待解码的图像块的子图像块的运动矢量差值;
参考运动矢量获得模块,用于根据所述待解码图像块的子图像块的已解码的周边块和待解码图像块的不规则划分方式,获得子图像块的参考运动矢量;
运动矢量获得模块,用于根据所述子图像块的参考运动矢量和运动矢量差值,得到所述子图像块的运动矢量;
解码模块,用于根据所述运动矢量查找所述子图像块的参考图像块,并根据所述参考子图象块对所述子图像块进行解码,
其中,所述根据所述待解码图像块的子图像块的已解码的周边块,获得子图像块的参考运动矢量包括:
所述待解码的图像块的不规则划分方式将图像块划分为两个三角形、或一个三角形和一个五边形、或两个四边形时,若所述待解码的图像块的周边块仅有一个图像块划分方式与所述待解码的图像块的不规则划分方式相同,则根据该图像块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;或者
若所述待解码的图像块的周边块中有多个图像块的划分方式与所述待解码的图像块的不规则划分方式相同,则根据所述多个图像块中的与待解码图像块的参考帧索引值相同的图像块的子图像块的运动矢量获得所述待解码的图像块的参考运动矢量。
28.如权利要求25、26或27中所述的解码装置,其特征在于,所述根据 所述待解码图像块的子图像块的已解码的周边块,获得子图像块的参考运动矢量包括:
所述待解码的图像块的不规则划分方式将图像块划分为两个三角形、或一个三角形和一个五边形、或两个四边形时,若所述待解码的图像块的周边块仅有一个图像块划分方式与所述待解码的图像块的不规则划分方式相同,则根据该图像块的子图像块的运动矢量获得当前图像块的子图像块的参考运动矢量;或者
若所述待解码的图像块的周边块中有多个图像块的划分方式与所述待解码的图像块的不规则划分方式相同,则根据所述多个图像块中的与待解码图像块的参考帧索引值相同的图像块的子图像块的运动矢量获得所述待解码的图像块的参考运动矢量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010237812 CN102215395B (zh) | 2010-04-09 | 2010-07-19 | 一种视频编解码方法和装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010147575 | 2010-04-09 | ||
CN201010147575.8 | 2010-04-09 | ||
CN 201010237812 CN102215395B (zh) | 2010-04-09 | 2010-07-19 | 一种视频编解码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102215395A CN102215395A (zh) | 2011-10-12 |
CN102215395B true CN102215395B (zh) | 2013-10-09 |
Family
ID=44746492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010237812 Active CN102215395B (zh) | 2010-04-09 | 2010-07-19 | 一种视频编解码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102215395B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208381A (zh) * | 2014-06-25 | 2015-12-30 | 中兴通讯股份有限公司 | 视频编码方法及装置 |
CN106464825B (zh) * | 2014-07-01 | 2020-11-10 | 索尼公司 | 图像处理设备和方法 |
CN108307192A (zh) | 2014-10-11 | 2018-07-20 | 华为技术有限公司 | 预测块的划分方法、编码设备和解码设备 |
CN112532993B (zh) * | 2018-12-28 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法及其设备 |
CN111357290B (zh) | 2019-01-03 | 2023-08-22 | 北京大学 | 视频图像处理方法与装置 |
CN110061813B (zh) * | 2019-04-09 | 2022-10-04 | 惠州市仲恺Tcl智融科技小额贷款股份有限公司 | 一种数据编码方法和解码方法、及相关装置 |
WO2021136361A1 (en) * | 2019-12-30 | 2021-07-08 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector difference for block with geometric partition |
CN115428452A (zh) | 2020-04-09 | 2022-12-02 | 抖音视界有限公司 | 具有几何分割的块的运动矢量差 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072356A (zh) * | 2006-05-12 | 2007-11-14 | 中国科学院计算技术研究所 | 一种运动矢量预测方法 |
CN101127913A (zh) * | 2006-08-18 | 2008-02-20 | 富士通株式会社 | 具有提供参考运动向量的位置的机制的帧间预测处理器 |
CN101263713A (zh) * | 2005-09-16 | 2008-09-10 | 索尼电子有限公司 | 用于运动补偿的自然成形区域 |
CN101621693A (zh) * | 2009-07-31 | 2010-01-06 | 重庆大学 | 一种结合目标分割和不规则块补偿的帧频提升方法 |
-
2010
- 2010-07-19 CN CN 201010237812 patent/CN102215395B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101263713A (zh) * | 2005-09-16 | 2008-09-10 | 索尼电子有限公司 | 用于运动补偿的自然成形区域 |
CN101072356A (zh) * | 2006-05-12 | 2007-11-14 | 中国科学院计算技术研究所 | 一种运动矢量预测方法 |
CN101127913A (zh) * | 2006-08-18 | 2008-02-20 | 富士通株式会社 | 具有提供参考运动向量的位置的机制的帧间预测处理器 |
CN101621693A (zh) * | 2009-07-31 | 2010-01-06 | 重庆大学 | 一种结合目标分割和不规则块补偿的帧频提升方法 |
Non-Patent Citations (2)
Title |
---|
Kenneth Vermeirsch etc..New Macroblock Bipartitioning Modes for Inter Coding.《ITU - Telecommunications Standardization Sector,STUDY GROUP 16 Question 6,Video Coding Experts Group (VCEG),34th Meeting: Antalya, Turkey》.2008, |
Kenneth Vermeirsch etc..New Macroblock Bipartitioning Modes for Inter Coding.《ITU- Telecommunications Standardization Sector,STUDY GROUP 16 Question 6,Video Coding Experts Group (VCEG),34th Meeting: Antalya, Turkey》.2008, * |
Also Published As
Publication number | Publication date |
---|---|
CN102215395A (zh) | 2011-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102215395B (zh) | 一种视频编解码方法和装置 | |
CN102823244B (zh) | 一种视频编解码方法和装置 | |
CN102970526B (zh) | 一种获得变换块尺寸的方法和模块 | |
CN107071437B (zh) | 用于帧内预测的解码图像的方法 | |
ES2707150T3 (es) | Procedimiento para codificar y decodificar y aparato para codificar una imagen usando una unidad de transformación amplia | |
TWI774141B (zh) | 視訊編解碼方法及裝置 | |
CN110892719A (zh) | 影像编码/解码方法及装置 | |
CN110557631A (zh) | 图像预测方法和相关设备 | |
CN104768011A (zh) | 图像编解码方法和相关装置 | |
CN102957907A (zh) | 一种变换块位置信息的获取方法和模块 | |
CN103096069A (zh) | 推导帧内预测模式的方法和设备 | |
CN103096067A (zh) | 产生重构块的方法 | |
CN104883568A (zh) | 视频数据的解码方法 | |
CN103096071A (zh) | 导出运动信息的方法 | |
CN102685474A (zh) | 预测模式的编解码方法、编解码设备及网络*** | |
TWI688266B (zh) | 用於圖像和視訊編解碼的畫面內預測融合的方法和裝置 | |
BR122020013760B1 (pt) | Método para decodificar um vídeo através filtração em malha com base nas unidades de codificação, e aparelho de decodificação de vídeo para decodificar um vídeo através filtração em malha com base em unidades de codificação | |
CN104581159A (zh) | 视频编解码中的块分割方式确定方法及相关装置 | |
CN102857764A (zh) | 帧内预测模式处理的方法和装置 | |
CN107046645A (zh) | 图像编解码方法及装置 | |
CN103152563A (zh) | 视频数据的解码设备 | |
CN102611880A (zh) | 标识图像块几何划分模式的编解码方法和设备 | |
CN104853192A (zh) | 预测模式选择方法及装置 | |
CN111263144B (zh) | 一种运动信息确定方法及其设备 | |
CN112055203A (zh) | 帧间预测方法、视频编码方法及其相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |