CN111052744B - 比运动矢量差分更精细的精度下的运动补偿 - Google Patents
比运动矢量差分更精细的精度下的运动补偿 Download PDFInfo
- Publication number
- CN111052744B CN111052744B CN201880056821.3A CN201880056821A CN111052744B CN 111052744 B CN111052744 B CN 111052744B CN 201880056821 A CN201880056821 A CN 201880056821A CN 111052744 B CN111052744 B CN 111052744B
- Authority
- CN
- China
- Prior art keywords
- block
- precision
- motion vector
- refined
- video data
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 185
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000006243 chemical reaction Methods 0.000 claims abstract 2
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 27
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 14
- 238000004321 preservation Methods 0.000 description 9
- 238000007670 refining Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 241000723655 Cowpea mosaic virus Species 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 229910003460 diamond Inorganic materials 0.000 description 3
- 239000010432 diamond Substances 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 101100027969 Caenorhabditis elegans old-1 gene Proteins 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
可以将额外精度添加到运动矢量,诸如使用高级运动矢量预测或帧速率上转换所获得的运动矢量,以产生改进的运动补偿。来自相邻块的增加的精度用于为当前块的运动矢量提供增加的精度。在各种实施例中,可以通过各种方法找到增加的精度的来源。在其他实施例中,可以保存细化的运动矢量以用于后续的预测,并且可以执行速率失真优化的选择以确定是否使用细化。
Description
技术领域
以下描述的方面涉及视频压缩领域。
背景技术
在HEVC(国际电信联盟的高效视频编码(High Efficiency Video Coding ofInternational Telecommunication Union),ITU-T H.265)视频压缩标准中,图片被划分成所谓的编码树单元(Coding Tree Units,CTU),其尺寸通常为64×64、128×128或256×256像素。
每个CTU由压缩域中的编码树表示。这是CTU的四叉树划分,其中每个叶片被称为编码单元(Coding Unit,CU),如图1中所示。
每个CTU由压缩域中的编码树表示。这是CTU的四叉树划分,其中每个叶片是编码单元(CU),如图1中所示。
采用运动补偿的时间预测来利用视频的连续图片之间存在的冗余。为此,运动矢量与每个预测单元(prediction unit,PU)相关联。然后,每个CU被给定一些帧内或帧间预测参数(预测信息),并且在空间上被分区成一个或多个预测单元(PU),每个PU被分配一些预测信息。在CU级上分配帧内或帧间编码模式,如图2中所示。
在HEVC中,编码单元还按照“变换树”以递归方式划分成所谓的变换单元。因此,变换树是编码单元的四叉树划分,并且变换单元是变换树的叶片。变换单元封装与所考虑的正方形空间区域相对应的每个图片分量的正方形变换块。变换块是单个分量中的正方形样本块,其中应用相同的变换。
在HEVC中,确切地将一个运动矢量分配给每个PU。该运动矢量用于所考虑的PU的运动补偿的时间预测。
在由JVET(联合视频探索小组(Joint Video Exploration Team))组开发的联合探索模型(Joint Exploration Model,JEM)中,CU不再被划分成PU或TU,并且一些运动数据被直接分配给每个CU。在这种新的编解码器设计中,CU可以被划分成子CU,并且可以为每个子CU计算运动矢量。
在HEVC中,运动矢量精确度为四分之一像素(4:2:0视频的四分之一亮度采样和八分之一色度采样)。在JEM中,内部运动矢量存储的精确度已经增加到1/16像素。这种更高的运动矢量精确度(1/16像素)用于以跳过/合并(Skip/Merge)模式编码的CU的运动补偿帧间预测。在高效视频编码(HEVC)中,高级运动矢量预测(advanced motion vectorprediction,AMVP)用于预测当前运动矢量。AMVP从给定的候选集合(包括空间和时间运动矢量二者)中采用基于竞争的选择。对于用AMVP模式编码的CU,使用整数像素或四分之一像素运动。
本实施例旨在,在运动补偿帧间预测过程期间,将用AMVP模式编码的CU的运动矢量从整数像素或四分之一像素精度细化(refine)到编码器/解码器的最高精确度,当前为1/16像素。
发明内容
现有技术的这些和其他缺点及不足由至少一个所描述的实施例来解决,这些实施例针对通过增加的运动矢量精度来改进视频编码器和解码器的压缩效率的方法和装置。
在至少一个实施例中,提出了使用来自相邻运动矢量的增加的精度来增加运动矢量的精度,以增加所考虑的视频编解码器的整体压缩性能。
根据在此描述的至少一个一般实施例,提供了用于对视频数据块进行编码的方法。该方法包括以下步骤:对于视频数据块的运动矢量,从至少一个先前编码的相邻块中导出附加精度值;通过向运动矢量分配附加精度值来细化运动矢量;通过使用细化的运动矢量对视频数据块执行运动补偿;以及,对运动补偿的视频数据块进行编码。
根据在此描述的另一实施例,提供了用于对视频数据块进行解码的方法。该方法包括以下步骤:对于视频数据块的运动矢量,从至少一个先前解码的相邻块中导出附加精度值;通过向运动矢量分配附加精度值来细化运动矢量;通过使用细化的运动矢量对视频数据块执行运动补偿;以及,对运动补偿的视频数据块进行解码。
根据在此描述的另一方面,提供了用于对视频数据块进行编码或解码的装置,包括:存储器和处理器,被配置为执行:对于视频数据块的运动矢量,从至少一个先前重构的/解码的相邻块中导出附加精度值;通过向运动矢量分配附加精度值来细化运动矢量;通过使用细化的运动矢量对视频数据块执行运动补偿;以及,对视频数据块进行编码或解码。该装置可以执行具有变化的任何前述的方法实施例。
根据在此描述的另一方面,提供了包含数据内容的非暂时性计算机可读存储介质,该数据内容是根据前述方法实施例中的任一个的方法或者由前述装置实施例中的任一个的装置生成的,用于使用处理器进行回放。
根据在此描述的另一方面,提供了包括视频数据的信号,该视频数据是根据用于对视频数据块进行编码的前述方法实施例中的任一个的方法或者由用于对视频数据块进行编码的前述装置实施例中的任一个的装置生成的,用于使用处理器进行回放。
根据在此描述的另一方面,提供了计算机程序产品,其包括指令,当程序由计算机执行时,该指令使得计算机执行前述方法实施例中的任一个的方法。
根据在此描述的另一方面,提供了一种方法,用于通过在小于块的子块上使用前述方法来增加运动矢量的精度,以及随后执行作为几个子块运动补偿的组合的运动补偿。
根据在此描述的另一方面,提供了一种方法,用于通过在小于块的子块上使用前述方法并对不同的子块使用不同的细化技术来增加运动矢量的精度,以及随后执行作为几个子块运动补偿的组合的运动补偿。
根据在此描述的另一方面,提供了一种方法,用于通过将细化整个块(诸如编码单元)的运动矢量和进行子块运动矢量细化的技术组合来增加运动矢量的精度,以及随后执行运动补偿。
根据在此描述的另一方面,提供了一种方法,用于使用前述方法,并且此外,内部存储具有增加的精度的细化的运动矢量,以用于后续的预测。
根据在此描述的另一方面,提供了一种方法,用于使用前述方法,并且此外,根据准则(诸如编码侧的速率失真测量)来确定是否使用细化和/或保存过程。
根据以下结合附图阅读的示例性实施例的详细描述,本原理的这些和其他方面、特征和优点将变得明显。
附图说明
图1示出了编码树单元和编码树概念的示例,以表示压缩的HEVC图片。
图2示出了将编码树单元划分为编码单元、预测单元和变换单元的示例。
图3示出了可以应用本实施例的通用视频压缩方案的一个示例。
图4示出了可以应用本实施例的通用视频解压缩方案的一个示例。
图5示出了帧间预测编码单元的示例现有技术AMVP(高级运动矢量预测)过程。
图6示出了四分之一像素AMVP运动矢量到1/16像素精确度的细化的示例。
图7a示出了帧的左边界的情况的示例。图7b示出了帧的上边界的示例。
图8示出了将一般方面应用于模板匹配技术的示例。
图9示出了将一般方面应用于模板匹配技术的另一示例。
图10示出了使用一般描述的实施例应用子块模板匹配和完全编码单元细化的运动矢量的组合的示例。
图11示出了使用所描述的方面的编码方法的一个实施例。
图12示出了使用所描述的方面的解码方法的一个实施例。
图13示出了使用所描述的方面来编码或解码的装置的一个实施例。
具体实施方式
在HEVC视频压缩标准中,图片被划分成所谓的编码树单元(CTU),其具有典型的64×64、128×128或256×256像素的尺寸。
每个CTU由压缩域中的编码树表示。这是CTU的四叉树划分,其中每个叶片被称为编码单元(CU),参见图1。
然后,每个CU被给定一些帧内或帧间预测参数(预测信息)。为此,每个CU在空间上被分区成一个或多个预测单元(PU),每个PU被分配一些预测信息。在CU级上分配帧内或帧间编码模式,参见图2。
根据HEVC标准,编码单元还按照“变换树”以递归方式划分成所谓的变换单元。因此,变换树是编码单元的四叉树划分,并且变换单元是变换树的叶片。变换单元封装与所考虑的正方形空间区域相对应的每个图片分量的正方形变换块。变换块是单个分量中的正方形样本块,其中应用相同的变换。
新出现的视频压缩工具包括压缩域中的编码树单元表示,以在压缩域中以更灵活的方式表示图片数据。编码树的这种灵活表示的优点是,与HEVC标准的CU/PU/TU布置相比,其提供了增加的压缩效率。
在最先进的方法中,由于运动矢量差分信令的精度,用AMVP模式编码的CU使用整数像素或四分之一像素精确度来进行运动补偿。这些AMVP模式不能受益于运动补偿过程的增加的精度。
所描述的实施例的一个目的是在运动补偿帧间预测期间细化用AMVP模式编码的CU的运动矢量。
除其他特征外,所提出的发明包括:
1.将用经典AMVP模式编码的CU的运动矢量从整数像素或四分之一像素细化到最精细的(1/16像素)精确度。[编码器/解码器]
2.保存细化的运动矢量用于进一步预测。[编码器/解码器]
3.在经典运动矢量和细化的运动矢量之间使用RDO循环进行选择/发信号通知/解码。[编码器/解码器]
受影响的编解码器模块是图3的运动补偿170和运动估计175以及图4的275。熵编码145和熵解码230也被修改,因为在比特流中发信号通知AMVP细化开/关标志。
AMVP运动补偿的改进允许使用相邻信息在子块级将传入AMVP运动矢量从整数像素或1/4像素精确度细化到1/16像素精确度。
图5中描绘了在AMVP模式下预测当前CU的运动矢量的现有技术的整个过程。
该过程的输入是当前编码单元,想要为其生成与参考图片相关联的最佳运动矢量。
第一步骤包括收集用于预测当前CU的运动矢量的候选。对于每个可用参考图片列表的每个参考图片,从空间或时间相邻位置提取多达两个运动矢量预测子。
然后,对于这些AMVP预测子中的每一个,执行运动估计以得到当前CU的最佳运动矢量,例如,产生当前CU与其预测之间的最小SAD(Sum of Absolute Differences,绝对差之和)的运动矢量。这些步骤用单向预测(使用1个运动矢量)、然后用双向预测(使用2个运动矢量,每个参考图片列表1个运动矢量)执行一次。每个运动估计允许残差(residual)和运动矢量差分成本的估计。最低成本给出最佳估计的(多个)运动矢量及其相关联的(多个)参考图片。
一旦获得当前CU的最佳估计的(多个)运动矢量,就进行时间预测,包括运动补偿,然后是OBMC(Overlapped Block Motion Compensation,重叠块运动补偿)。
接下来,对当前CU进行编码和重构。然后选择对当前CU进行编码的最佳方式(即具有最小速率失真成本),其提供在AMVP模式下对当前CU的编码。
观察到的最佳RD成本提供了要使用的(多个)预测子(发信号通知集合中的(多个)索引)以及参考图片列表中与其相关联的(多个)参考图片(发信号通知每个可用参考图片列表的参考索引)。最佳估计的(多个)运动矢量和(多个)预测子之间的差给出(多个)运动矢量差分。发信号通知(多个)运动矢量差分(mvd)。
然后,在所考虑的视频编码系统中,使AMVP编码模式与当前CU可用的其他编码模式进行速率失真竞争。
所呈现的AMVP过程以1/4像素和整数像素精度重复。发送的mvd以所选精度舍入,并且为了是相干的,AMVP预测子也以所选精度舍入。
JEM中最近的一些改进将运动矢量的内部存储增加到了1/16像素精确度。
这种更高的运动矢量精度旨在将运动补偿过程扩展到这样的精确度(1/16像素),而不是旧的1/4像素精确度。这种运动补偿在运动估计过程期间用于AMVP模式,并且在CU编码/解码过程期间用于所有模式。
因此,可以以这样的精度产生或导出运动矢量的所有编码模式都可以受益于这种更精确的运动补偿:
-仿射(Affine)基于模型来计算子块MV,子块MV精度为1/16像素,
-FRUC通过1/8像素执行MV细化,以及
-合并(Merge)使用(空间和/或时间)相邻MV,其精度取决于相邻编码模式,可以从整数到1/16像素精确度变化。
现有技术的AMVP过程的主要限制在于,其以整数像素或1/4像素精度系统地对运动矢量预测子(motion vector predictor,MVP)进行舍入,并且还以该所选精度执行运动估计。因此,这种模式不能利用运动矢量存储和运动补偿的增加的精确度。
本部分描述了在此提出的修改的AMVP编码模式编码/解码过程。
下面,运动矢量(MV)或运动矢量预测子(MVP)由整数部分和分数部分组成。该分数部分进一步划分为高分数部分和低分数部分,其中边界是使用的AMVP的精度(整数像素或1/4像素)。在最先进的AMVP模式下,从不使用低分数部分。
所描述的实施例通过利用改进的运动矢量存储精确度,对以AMVP模式编码的CU执行运动矢量细化以改进在运动估计和运动补偿期间使用的运动补偿过程。
在第一实施例中,例如,整数像素或1/4像素精度下的用于AMVP CU的运动补偿的运动矢量被细化到最精细的可用精度,诸如1/16像素。较低分数部分以在解码器侧可再现的方式被填充。例如,对于1/16像素的内部精度,细化的运动矢量可以在两个方向(x和y)上添加针对整数像素传入MV的[-15/16,15/16]或针对1/4像素传入MV的[-3/16,3/16]的范围内的任何值。这种细化的MV仅在运动补偿过程期间使用,然后,在运动补偿已经完成后,恢复原始MV(在整数像素或1/4像素下),例如用于如成本估计、运动矢量差分和RD成本计算这样的事。
为此,使用空间和/或时间上的具有其完全精度的相邻运动矢量是可能的,使得不应用舍入。
只能考虑一个近邻:(i)与预测子相同,(ii)预定义的近邻(例如,始终是空间左近邻),(iii)第一个遇到的具有比传入MV更精细的精度的近邻,(iv)具有与传入MV最接近的MV的近邻,或一些其他近邻,或者其他可能性。在这种情况下,拾取该相邻MV的低分数部分并将其应用于当前MV。
在变型中,考虑几个近邻也是可能的:(i)经典空间近邻的集合或子集,(ii)第一个、第二个或第三个或者第N个遇到的具有比传入MV更精细的精度的近邻,(iii)第一个、第二个或第三个或者第N个具有与传入MV最接近的MV的近邻,或一些其他的近邻,或其他的可能性。在这种情况下,当前传入MV的低分数部分由所考虑的相邻MV的低分数部分的平均值、中值或任何其他组合来填充。
在变型中,使用另一工具来执行这种细化也是可能的。例如,FRUC工具可以通过以在解码器处可再现的方式对当前CU的周围块以及参考块使用模板匹配技术来实现这种细化。
在替代的实施例中,将当前CU划分成具有相同传入运动矢量的较小子块是可能的。然后,运动补偿作为几个子块运动补偿的组合来执行。子块尺寸可以是(i)预定义的尺寸(4×4、8×8或任何尺寸),(ii)取决于CU尺寸或表面的尺寸(例如,对于大CU为8×8,对于较小CU为4×4,或者每个CU被划分成至少4×4尺寸的4个子块),或者其他这样的尺寸。在该变型中,对于每个子块,可以独立地实现MV向最精细的精度(1/16像素)的细化。
如前,子块运动矢量细化可以基于一个或几个空间和/或时间相邻MV,或者例如,在可能时,基于另一工具,诸如FRUC。
在另一替代的实施例中,对不同的子块使用不同的细化方法也是可能的。例如,FRUC可以用于子块的第一列和行,然后对第二列和行使用几个近邻,最后对所有随后的子块使用最接近的相邻MV。
在另一替代的实施例中,组合两种先前的方法(即,整个CU运动矢量细化和子块运动矢量细化)是可能的。首先,传入MV可以在整个CU级被细化,然后该细化的MV可以用作子块级的输入,而不是使用传入MV。
在另一实施例中,代替仅计算当前AMVP编码单元的细化的运动矢量来改进运动补偿过程,通过保存用于后续预测的细化的运动矢量以受益于增加的MV存储精度也是可能的。
在编码侧以及解码侧,使用前述的任何方法细化的(多个)细化的运动矢量在CU子块级以其完全精度被内部保存。它们将可用于随后的预测,作为空间预测子,然后作为时间预测子。整数像素或1/4像素精确度下的初始运动矢量仍然用于该当前AMVP CU的编码过程的结束,例如,诸如用于运动矢量差分计算,或者用于RDO成本计算。
前述实施例的第一方面包括细化和保存AMVP CU的运动矢量,以增强运动补偿过程和后续的预测。
在另一实施例中,提出根据编码器侧的速率失真准则来选择是否激活细化/保存过程。为此,在有和没有细化/保存过程的情况下,以与已经以整数像素和1/4像素精确度重复的方式相同的方式重复图5中呈现的过程。因此,AMVP编码过程被测试了四次:在有和没有细化/保存的情况下的整数像素精度下,以及在有和没有细化/保存的情况下的1/4像素精确度下。最终的RDO成本检查允许选择最佳配置以用于对当前AMVP CU进行编码。在输出比特流中对CU级的标志进行编码。
在解码器处,对于AMVP CU,该标志被解码并且被设置为运动补偿过程的输入,其指示是否应该使用细化/保存。
在另一实施例中,所提出的细化/保存过程可以扩展到其他编码模式。
所有AMVP编码模式具有如上呈现的受所发送MVD的精度约束的相同的精确度限制,其中上面描述了现有技术的AMVP模式的限制。因此,所有现有的AMVP编码模式和另外的未来的模式都可以从所提出的细化/保存过程中受益。
例如,在当前JEM中,称为仿射的工具允许使用仿射运动模型而不是经典的平移运动模型。这种仿射模型由两个运动矢量引导,称为控制点运动矢量(control point motionvector,CPMV)。这两个CPMV允许导出每4×4子块的独立的运动矢量。在仿射AMVP模式下,CPMV在1/4像素精确度,但是用更精细的精度计算子块级的生成的MV。在一些情况下,两个CPMV可以相等,那么生成的子块运动矢量也等于CPMV。相关联的运动补偿变得等同于经典的运动补偿。因此,在仿射AMVP编码模式下,当两个CPMV相同时,使用所提出的细化/保存过程是可能的。
在优选的实施例中,组合所有先前的实施例。
AMVP CU的运动矢量的细化在图6中被描述,并且包括以下内容。
首先,当传入MV具有1/4像素精度时,使用具有1/16像素精确度的菱形(diamond)图案随后是1/16像素的十字图案的FRUC工具对整个CU细化AMVP CU的运动矢量,或者当传入MV具有整数像素精度时,使用具有1/4、1/8和1/16像素精确度的菱形图案随后是1/16像素的十字的步进(step)的FRUC工具对整个CU细化AMVP CU的运动矢量。
该细化的MV被用作子块级的种子,其中CU被划分成4×4子块。还使用具有针对1/4像素传入MV的1/16像素精确度的正方形图案、或具有针对整数像素传入MV的1/8像素和1/16像素精确度的正方形图案的FRUC工具,来细化子块的第一列和行。然后,使用多达4个空间相邻MV(来自左、上、左上和右上的近邻)和整个CU的细化MV的平均值,来细化第二列和行以及第三列和行。最后,剩余的子块使用整个CU的细化MV。
图7描述了FRUC不适用的特定情况,位于帧的左边界和上边界。在左边界(或者相应地为上边界),FRUC只能被应用于子块的第一行(或者相应地为列),因此第二行和第三行(或者相应地为列)使用相邻和整个CU细化的MV的平均值,而剩余的行(或者相应地为列)使用整个CU细化的MV。
所有细化的子块运动矢量都以其完全精度保存在内部存储中,用于随后的预测。
对于AMVP模式,使这种细化/保存过程与经典AMVP模式(没有细化)在RDO循环中进行竞争。在CU级发送标志,以指示是否要使用细化/保存。
对于仿射模式,当两个控制点运动矢量相同时,总是使用细化/保存过程,并且在这种情况下不需要发送标志。
总之,在AMVP模式下(诸如经典和仿射模式),由于运动矢量差分以1/4像素精度发送,并且更精细的精度太昂贵,所以以1/4像素的舍入运动矢量执行所有过程。
使用1/16像素存储和运动补偿是有益处的,就像在JEM的工作中一样。
对于不使用运动矢量差分的合并模式(诸如经典、FRUC和仿射模式),可以以1/16像素精确度执行所有过程。FRUC和仿射模式以1/16像素精度生成和计算运动矢量,并且经典模式使用具有1/16像素精度的可以来自FRUC或仿射的相邻运动矢量。
因此,在AMVP运动补偿之前,前述实施例通过将运动矢量的精度从1/4像素增加到1/16像素(以其必须在解码器处可再现的这样的方式),来细化运动矢量。
所描述的一种解决方案是从已经编码的相邻运动矢量中,仅从一个位置,或者作为几个位置的组合,拾取这种额外精度,如前提到的那样。
第二种解决方案是通过使用模板匹配方法(例如FRUC)生成这种额外精度。
为了改进该方法,可以将CU划分成较小的子块,例如4×4,对于这些子块可以独立地执行运动矢量的细化。
对于这些子块,细化过程可以是上面提出的任何解决方案。
在使用RDO测试是否使用1像素精确度的mvd(即,1像素精度的AMVP模式,其中所有过程都在1像素下)的IMV(Integer Motion Vector,整数运动矢量)的特定情况下,使用所提出的实施例是可能的,但是具有较大的细化窗口[-15/16,15/16]。
在另一实施例中,对于每个子块可以以1/16像素保存细化的运动矢量,使得下一个合并模式可以使用这些1/16像素精确度的AMVP运动矢量而不是旧的1/4像素的运动矢量。
还示出了如何将该工具结合到编解码器中:(i)作为经典AMVP模式的替代,或(ii)作为RDO中的新竞争模式。
还示出了将该工具扩展到其他AMVP模式是可能的。
作为示例,在仿射AMVP中,其中在一些情况下,两个运动矢量(仿射运动场的生成器)可以相等,从而导致经典的运动补偿。在这些情况下,实施例可以用于丰富运动补偿。
图8示出了将一般方面应用于模板匹配技术的一个示例。
图9示出了将一般方面应用于模板匹配技术的一个示例。
图10示出了应用子块模板匹配和完全编码单元细化的运动矢量的组合的示例。
图11示出了所描述方面下的方法1100的一个实施例。该方法开始于开始框1101,并且控制前进到框1110,用于对于视频数据块的运动矢量从至少一个先前编码的相邻块中导出附加精度值。控制从框1110前进到框1120,用于通过向运动矢量分配附加精度值来细化运动矢量。然后控制从框1120前进到框1130,用于通过使用细化的运动矢量来对视频数据块执行运动补偿。然后控制从框1130前进到框1140,用于对运动补偿的视频数据块进行编码。
图12示出了所描述方面下的方法1200的一个实施例。该方法开始于开始框1201,并且控制前进到框1210,用于对于视频数据块的运动矢量从至少一个先前解码的相邻块中导出附加精度值。控制从框1210前进到框1220,用于通过向运动矢量分配附加精度值来细化运动矢量。然后控制从框1220前进到框1230,用于通过使用细化的运动矢量来对视频数据块执行运动补偿。然后控制从框1230前进到框11240,用于对运动补偿的视频数据块进行解码。
图13示出了用于对视频数据块进行编码或解码的装置1300的一个实施例。该装置包括处理器1310,其具有输入和输出端口,并且与存储器1320信号连接,存储器1320也具有输入和输出端口。该装置可以执行任何前述方法实施例或变型。
图中示出的各种元件的功能可以使用专用硬件以及与适当软件相关联的能够执行软件的硬件来提供。当由处理器提供时,功能可以由单个专用处理器、单个共享处理器或多个单独的处理器(其中的一些可以被共享)来提供。此外,术语“处理器”或“控制器”的明确使用不应被解释为专指能够执行软件的硬件,而是可以隐含地包括但不限于数字信号处理器(“DSP(digital signal processor)”)硬件、用于存储软件的只读存储器(“ROM(read-only memory)”)、随机存取存储器(“RAM(random access memory)”)和非易失性存储器。
也可以包括传统和/或定制的其他硬件。类似地,图中示出的任何切换只是概念性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互来实现,或者甚至手动实现,特定技术可以由实现者选择,如从上下文中更具体地理解的那样。
本描述说明了本构思。因此,将理解,本领域技术人员将能够设计各种布置,这些布置尽管没有在此明确描述或示出,但是体现本构思,并且被包括在本构思的精神和范围内。
在此叙述的所有示例和条件语言旨在用于教学目的,以帮助读者理解本原理和发明人为推进本领域所贡献的概念,并且要被解释为不限于这样具体叙述的示例和条件。
此外,在此叙述本原理的原理、方面和实施例以及其具体示例的所有陈述旨在包含其结构和功能等同物。此外,这种等同物旨在包括当前已知的等同物以及将来开发的等同物,即,无论结构如何,所开发的执行相同功能的任何元件。
因此,例如,本领域技术人员将理解,在此呈现的框图表示体现本原理的说明性电路的概念视图。类似地,将理解的是,任何流程图表、流程图、状态转换图、伪代码等都表示各种过程,其可以基本上表示在计算机可读介质中,并由计算机或处理器执行,无论是否明确示出了这样的计算机或处理器。
在本文的权利要求中,表达为用于执行指定功能的部件的任何元件旨在包含执行该功能的任何方式,包括例如a)执行该功能的电路元件组合,或者b)任何形式的软件,因此包括固件、微码等,其与用于执行该软件的适当电路组合以执行该功能。由这样的权利要求定义的本原理在于这样的事实,即由各种所述部件提供的功能以权利要求所要求的方式被组合和集合在一起。因此,认为能够提供这些功能的任何部件都等同于在此示出的这些部件。
说明书中对本原理的“一个实施例”或“实施例”以及其其他变型的引用意指结合该实施例描述的特定特征、结构、特性等被包括在本原理的至少一个实施例中。因此,在整个说明书的不同地方出现的短语“在一个实施例中”或“在实施例中”以及任何其他变型不一定都指相同的实施例。
总之,提供了细化运动矢量精度以用于编码或解码的方法。在细化中,通过考虑来自先前编码和重构或解码的相邻块或子块的运动矢量的精度来添加附加精度。该细化可以以几种方式组合,或者在各种运动矢量预测模式(诸如FRUC或AMP)中使用。其他实施例提供了其他方法和组合来增加运动信息的精度以增加编码效率。
Claims (14)
1.一种方法,包括:
对于视频数据块的具有初始精度的运动矢量,从针对至少一个先前编码的相邻块的相比所述初始精度具有更精细的精度的至少一个运动矢量中获得附加精度值;
通过向所述初始精度分配所述附加精度值来获得针对所述视频数据块的具有细化的精度的细化的运动矢量,所述细化的精度相比所述初始精度具有所述更精细的精度;
使用与所述视频数据块的所述细化的运动矢量的模板匹配相关联的运动矢量来获得针对所述视频数据块的第一行和/或列的子块的具有所述细化的精度的细化的运动矢量;
使用空间相邻运动矢量和所述视频数据块的所述细化的运动矢量的平均值来获得针对所述视频数据块的第二行和/或列的子块的具有所述细化的精度的细化的运动矢量;
通过使用所述子块的所述第一行和/或列和所述第二行和/或列的所述细化的运动矢量对所述视频数据块执行运动补偿;以及
对所述运动补偿的视频数据块进行编码,
其中,具有所述初始精度的所述运动矢量用于运动矢量差分计算。
2.一种方法,包括:
对于视频数据块的具有初始精度的运动矢量,从针对至少一个先前解码的相邻块的相比所述初始精度具有更精细的精度的至少一个运动矢量中获得附加精度值;
通过向所述初始精度分配所述附加精度值来获得针对所述视频数据块的具有细化的精度的细化的运动矢量,所述细化的精度相比所述初始精度具有所述更精细的精度;
使用与所述视频数据块的所述细化的运动矢量的模板匹配相关联的运动矢量来获得针对所述视频数据块的第一行和/或列的子块的具有所述细化的精度的细化的运动矢量;
使用空间相邻运动矢量和所述视频数据块的所述细化的运动矢量的平均值来获得针对所述视频数据块的第二行和/或列的子块的具有所述细化的精度的细化的运动矢量;
通过使用所述子块的所述第一行和/或列和所述第二行和/或列的所述细化的运动矢量对所述视频数据块执行运动补偿;以及
对所述运动补偿的视频数据块进行解码,
其中,具有所述初始精度的所述运动矢量用于运动矢量差分计算。
3.一种用于对视频数据块进行编码的装置,包括:
存储器,以及
处理器,被配置为:
对于视频数据块的具有初始精度的运动矢量,从针对至少一个先前编码的相邻块的相比所述初始精度具有更精细的精度的至少一个运动矢量中获得附加精度值;
通过向所述初始精度分配所述附加精度值来获得针对所述视频数据块的具有细化的精度的细化的运动矢量,所述细化的精度相比所述初始精度具有所述更精细的精度;
使用与所述视频数据块的所述细化的运动矢量的模板匹配相关联的运动矢量来获得针对所述视频数据块的第一行和/或列的子块的具有所述细化的精度的细化的运动矢量;
使用空间相邻运动矢量和所述视频数据块的所述细化的运动矢量的平均值来获得针对所述视频数据块的第二行和/或列的子块的具有所述细化的精度的细化的运动矢量;
通过使用所述子块的所述第一行和/或列和所述第二行和/或列的所述细化的运动矢量对所述视频数据块执行运动补偿;以及
对所述运动补偿的视频数据块进行编码,
其中,具有所述初始精度的所述运动矢量用于运动矢量差分计算。
4.一种用于对视频数据块进行解码的装置,包括:
存储器,以及
处理器,被配置为执行:
对于视频数据块的具有初始精度的运动矢量,从针对至少一个先前解码的相邻块的相比所述初始精度具有更精细的精度的至少一个运动矢量中获得附加精度值;
通过向所述初始精度分配所述附加精度值来获得针对所述视频数据块的具有细化的精度的细化的运动矢量,所述细化的精度相比所述初始精度具有所述更精细的精度;
使用与所述视频数据块的所述细化的运动矢量的模板匹配相关联的运动矢量来获得针对所述视频数据块的第一行和/或列的子块的具有所述细化的精度的细化的运动矢量;
使用空间相邻运动矢量和所述视频数据块的所述细化的运动矢量的平均值来获得针对所述视频数据块的第二行和/或列的子块的具有所述细化的精度的细化的运动矢量;
通过使用所述子块的所述第一行和/或列和所述第二行和/或列的所述细化的运动矢量对所述视频数据块执行运动补偿;以及
对所述运动补偿的视频数据块进行解码,
其中,具有所述初始精度的所述运动矢量用于运动矢量差分计算。
5.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述运动矢量与高级运动矢量预测一起使用。
6.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述运动矢量与帧速率上转换一起使用。
7.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,对具有所述初始精度的所述运动矢量执行编码。
8.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,对于所述视频数据块的具有所述初始精度的所述运动矢量从所述至少一个相邻块中获得所述附加精度值包括:
使用来自所述至少一个相邻块的运动矢量的附加精度值,所述相邻块的运动矢量是所述块的运动矢量预测子。
9.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述附加精度值是从与被预定义的所述至少一个相邻块相对应的所述至少一个运动矢量中获得的。
10.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述附加精度值是从与相邻块相对应的前N个遇到的运动矢量中获得的,所述相邻块具有比所述视频数据块的具有所述初始精度的所述运动矢量更高的精度。
11.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述附加精度值是从与相邻块相对应的前N个运动矢量中获得的,所述相邻块在值上与所述视频数据块的具有所述初始精度的所述运动矢量最接近。
12.根据权利要求10或11所述的方法或装置,其中,所述附加精度值是从所述N个运动矢量的组合中获得的。
13.一种非暂时性计算机可读介质,包含根据权利要求1和5至12中任一项所述的方法或者由权利要求3和5至12中任一项所述的装置生成的数据内容,用于使用处理器进行回放。
14.一种非暂时性计算机可读介质,存储有指令,所述指令使计算机执行权利要求2和5至12中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17306131.8 | 2017-09-01 | ||
EP17306131.8A EP3451664A1 (en) | 2017-09-01 | 2017-09-01 | Motion compensation at a finer precision than motion vector differential |
PCT/US2018/049011 WO2019046674A1 (en) | 2017-09-01 | 2018-08-31 | MOTION COMPENSATION AT A PRECISION FINE THAN THE VECTOR DIFFERENCE OF MOTION |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111052744A CN111052744A (zh) | 2020-04-21 |
CN111052744B true CN111052744B (zh) | 2024-04-16 |
Family
ID=59846536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880056821.3A Active CN111052744B (zh) | 2017-09-01 | 2018-08-31 | 比运动矢量差分更精细的精度下的运动补偿 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11070838B2 (zh) |
EP (2) | EP3451664A1 (zh) |
KR (1) | KR20200043400A (zh) |
CN (1) | CN111052744B (zh) |
BR (1) | BR112020003938A2 (zh) |
WO (1) | WO2019046674A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3451665A1 (en) * | 2017-09-01 | 2019-03-06 | Thomson Licensing | Refinement of internal sub-blocks of a coding unit |
WO2019234669A1 (en) * | 2018-06-07 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Signaled mv precision |
TWI719519B (zh) | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 對於dmvr的塊尺寸限制 |
TWI834727B (zh) * | 2018-09-23 | 2024-03-11 | 大陸商北京字節跳動網絡技術有限公司 | 從仿射運動預測的非仿射塊 |
CN110446107B (zh) * | 2019-08-15 | 2020-06-23 | 电子科技大学 | 一种适用于缩放运动和明暗变化的视频帧率上变换方法 |
CN111050182B (zh) * | 2019-12-27 | 2022-02-18 | 浙江大华技术股份有限公司 | 运动矢量的预测方法、视频编码方法及相关设备、装置 |
US11758151B2 (en) | 2020-12-29 | 2023-09-12 | Qualcomm Incorporated | Template matching in video coding |
US11876973B2 (en) * | 2021-04-12 | 2024-01-16 | Alibaba (China) Co., Ltd. | Method, apparatus, and non-transitory computer-readable storage medium for motion vector refinement for geometric partition mode |
US11936877B2 (en) * | 2021-04-12 | 2024-03-19 | Qualcomm Incorporated | Template matching based affine prediction for video coding |
US20230128502A1 (en) * | 2021-10-21 | 2023-04-27 | Tencent America LLC | Schemes for Adjusting Adaptive Resolution for Motion Vector Difference |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012023763A2 (ko) * | 2010-08-17 | 2012-02-23 | Oh Soo Mi | 인터 예측 부호화 방법 |
CN103202016A (zh) * | 2010-10-13 | 2013-07-10 | 高通股份有限公司 | 用于视频译码的自适应运动向量分辨率信令 |
CN103907354A (zh) * | 2011-11-04 | 2014-07-02 | 索尼公司 | 编码设备和编码方法,及解码设备和解码方法 |
WO2017052000A1 (ko) * | 2015-09-24 | 2017-03-30 | 엘지전자 주식회사 | 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8675736B2 (en) * | 2009-05-14 | 2014-03-18 | Qualcomm Incorporated | Motion vector processing |
US20140241434A1 (en) | 2011-10-11 | 2014-08-28 | Mediatek Inc | Method and apparatus of motion and disparity vector derivation for 3d video coding and hevc |
US9538180B2 (en) | 2012-12-17 | 2017-01-03 | Qualcomm Incorporated | Motion vector prediction in video coding |
US10531116B2 (en) | 2014-01-09 | 2020-01-07 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
GB2539213A (en) | 2015-06-08 | 2016-12-14 | Canon Kk | Schemes for handling an AMVP flag when implementing intra block copy coding mode |
US10979732B2 (en) * | 2016-10-04 | 2021-04-13 | Qualcomm Incorporated | Adaptive motion vector precision for video coding |
EP3451665A1 (en) * | 2017-09-01 | 2019-03-06 | Thomson Licensing | Refinement of internal sub-blocks of a coding unit |
-
2017
- 2017-09-01 EP EP17306131.8A patent/EP3451664A1/en not_active Withdrawn
-
2018
- 2018-08-31 KR KR1020207005842A patent/KR20200043400A/ko not_active Application Discontinuation
- 2018-08-31 EP EP18766581.5A patent/EP3677029A1/en active Pending
- 2018-08-31 CN CN201880056821.3A patent/CN111052744B/zh active Active
- 2018-08-31 US US16/642,566 patent/US11070838B2/en active Active
- 2018-08-31 BR BR112020003938-1A patent/BR112020003938A2/pt unknown
- 2018-08-31 WO PCT/US2018/049011 patent/WO2019046674A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012023763A2 (ko) * | 2010-08-17 | 2012-02-23 | Oh Soo Mi | 인터 예측 부호화 방법 |
CN103202016A (zh) * | 2010-10-13 | 2013-07-10 | 高通股份有限公司 | 用于视频译码的自适应运动向量分辨率信令 |
CN103907354A (zh) * | 2011-11-04 | 2014-07-02 | 索尼公司 | 编码设备和编码方法,及解码设备和解码方法 |
WO2017052000A1 (ko) * | 2015-09-24 | 2017-03-30 | 엘지전자 주식회사 | 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
Algorithm Description of Joint Exploration Test Model 7 (JEM 7);Jianle Chen;《Joint Video Exploration Team (JVET)》;20170721;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20200195956A1 (en) | 2020-06-18 |
EP3677029A1 (en) | 2020-07-08 |
KR20200043400A (ko) | 2020-04-27 |
BR112020003938A2 (pt) | 2020-09-08 |
EP3451664A1 (en) | 2019-03-06 |
WO2019046674A1 (en) | 2019-03-07 |
US11070838B2 (en) | 2021-07-20 |
CN111052744A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052744B (zh) | 比运动矢量差分更精细的精度下的运动补偿 | |
CA3068332C (en) | Motion vector refinement for multi-reference prediction | |
CN113196772B (zh) | 块内拷贝模式和基于子块的运动矢量预测模式之间的交互 | |
US10911759B2 (en) | Method and apparatus for encoding and decoding motion information | |
JP7474365B2 (ja) | 動き補償用の改善されたプレディクタ候補 | |
AU2019343426B2 (en) | Inter prediction method and apparatus | |
JP2023098974A (ja) | 動き補償のための複数の予測子候補 | |
US11212532B2 (en) | Method and apparatus for encoding and decoding motion information | |
EP3301919A1 (en) | Method and apparatus for encoding and decoding motion information | |
EP3301918A1 (en) | Method and apparatus for encoding and decoding motion information | |
JP2019519998A (ja) | 自動的な動き情報の精緻化を伴うビデオコード化のための方法及び機器 | |
EP3643062A1 (en) | Decoder side intra mode derivation (dimd) tool computational complexity reduction | |
KR20200055124A (ko) | 비디오 인코딩 및 비디오 디코딩을 위한 방법들 및 장치들 | |
JP7248664B2 (ja) | ビデオ符号化および復号における適応的照度補償のための方法および装置 | |
CN113796077A (zh) | 视频编解码之亮度mpm列表导出的方法及装置 | |
CN110832854B (zh) | 利用插值进行帧内预测的方法和装置 | |
KR20210145816A (ko) | 비디오 코딩 시스템을 위한 단순화된 아핀 서브블록 프로세스의 방법 및 장치 | |
US20200336747A1 (en) | Inter prediction mode-based image processing method and device therefor | |
CN111052745B (zh) | 编码单元的内部子块的细化 | |
KR101891192B1 (ko) | 영상 부호화 방법 및 장치 | |
CN114424534A (zh) | 视频编码的色度直接模式产生方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |