CN116684577A - 基于运动矢量差的快速仿射模式决策 - Google Patents
基于运动矢量差的快速仿射模式决策 Download PDFInfo
- Publication number
- CN116684577A CN116684577A CN202310646538.9A CN202310646538A CN116684577A CN 116684577 A CN116684577 A CN 116684577A CN 202310646538 A CN202310646538 A CN 202310646538A CN 116684577 A CN116684577 A CN 116684577A
- Authority
- CN
- China
- Prior art keywords
- current
- motion estimation
- skip
- affine
- tmvd
- 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.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 321
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 title claims abstract description 261
- 239000013598 vector Substances 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 abstract description 3
- 102100022252 A-kinase anchor protein SPHKAP Human genes 0.000 description 56
- 101000825204 Homo sapiens A-kinase anchor protein SPHKAP Proteins 0.000 description 56
- 101001053320 Homo sapiens Inositol polyphosphate 5-phosphatase K Proteins 0.000 description 56
- 101000836279 Homo sapiens SNW domain-containing protein 1 Proteins 0.000 description 56
- 238000000638 solvent extraction Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 11
- 238000013139 quantization Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 241000723655 Cowpea mosaic virus Species 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 101150114515 CTBS gene Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种快速仿射运动估计决策算法。首先,通过平移运动模型的运动矢量差(MVD),判决是否跳过整个仿射运动估计;接着,基于四参数仿射模型的控制点运动矢量差(CPMVD),判决是否跳过6参数仿射模型。
Description
技术领域
本发明涉及图像与视频处理领域,更具体而言,涉及用于基于运动矢量差的快速仿射模式决策的方法、装置和计算机程序产品。
背景技术
数字视频功能可以结合到各种设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、膝上型电脑或台式计算机、平板电脑、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏机、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议设备、视频流设备等。
数字视频设备实施视频编码(coding)技术,诸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4,第10部分,高级视频编码(AVC)、高效视频编码(HEVC)标准、ITU-TH.265/高效视频编码(HEVC)、多功能视频编码(Versatile Video Coding)VVC(H.266)、以及此类标准的扩展定义的标准中描述的那些技术。通过实施这样的视频编码技术,视频设备可以更有效地发送、接收、编码、解码和/或存储数字视频信息。
2010年4月,两大国际视频编码标准组织VCEG和MPEG成立视频压缩联合小组JCT-VC(Joint collaborative Team on Video Coding),一同开发高效视频编码标准。
在2013年,JCT-VC完成了对HEVC(High efficiency video coding)标准(也称为H.265)开发,并且随后陆续发布了多个版本。
HEVC提出了全新的语法单元:编码单元(CU)是进行预测、变换、量化和熵编码的基本单元,预测单元(PU)是进行帧内帧间预测的基本单元,变换单元(TU)是进行变换和量化的基本单元。另外,每个CU定义了共享相同预测模式(帧内或帧间)的区域。
如图1所示,在HEVC中,可以进行帧内预测模式和帧间预测模式的切换。在帧内预测模式和帧间预测模式中,HEVC都采用编码树单元(CTU)的编码结构,CTU是HEVC编解码的基本处理单元。CTU由1个亮度CTB(编码树块,Coding Tree Block)、2个色度CTB和相应的语法元素组成。图2显示了在一个LCU(最大编码单元)编码后的CTU结构。在HEVC中,LCU可以只包含一个编码单元(CU),也可以使用CTU四叉树结构划分出为不同大小的CU。
HEVC中有四种大小CU,大小分别为:64x64、32x32、16x16和8x8。CU块越小,其在CTU树中位置越深。当CU为64x64、32x32和16x16时称为2Nx2N模式(表示可以划分为更小的CU),当CU为8x8时称为NxN模式(表示不可以进行进一步划分)。对于帧内预测,CU被分成两个PartMode(2Nx2N和NxN),这取决于它是否可以被分成更小的CU。尺寸为64x64、32x32和16x16的CU属于2N×2N,尺寸为8×8的CU属于N×N。
在HEVC中,PU进行帧内帧间预测的基本单元,PU的划分是以CU为基础的,具有五种规则大小64x64、32x32、16x16、8x8和4x4。更具体地,PU尺寸基于PartMode:对于2N×2N的PartMode PU尺寸与CU相同,对于N×N的PartMode CU可以被划分为四个4×4子PU。对于2N*2N的CU模式,帧内预测PU的可选模式包括2N*2N和N*N,帧间预测PU的可选模式有8种,包括4种对称模式(2N*2N,N*2N,2N*N,N*N)和4种非对称模式(2N*nU,2N*nD,nL*2N,nR*2N),其中,2N*nU和2N*nD分别以上下1:3、3:1的比例划分,nL*2N和nR*2N分别以左右1:3、3:1的比例划分。
在HEVC中,仍然继续使用H.264/AVC的拉格朗日率失真优化(RDO)进行模式选择,为每一个帧内模式计算其RDO:
J=D+λR (1)
其中,J为拉格朗日代价(亦即RD-cost),D表示当前帧内模式的失真,R表示编码当前预测模式下所有信息所需的比特数,λ为拉格朗日因子。其中D通常使用绝对哈达玛变换差之和(SATD)来实现。
处理一帧视频图像需要首先将其划分成多个LCU(64x64),然后依次编码每个LCU。每个LCU依次递归划分,其通过计算当前深度的RD-cost判定是否继续划分。一个LCU最小可划分至8x8大小的单元,如图2所示。编码器通过比较深度的RD-cost值判定是否继续划分,如果当前深度内的4个子CU的编码代价总和大于当前CU,则不继续划分;反之则继续划分,直至划分结束。
本领域技术人员容易理解,由于CTU是对LCU进行CU划分的树状编码结构,CTU中的CU划分方式是以LCU开始的,因此在本领域中这两个名词经常可交换地使用。
在帧内预测中,每个PU使用总共35种预测模式。使用粗略模式决策(RMD),我们可以获得64x64、32x32和16x16块的三种候选模式以及8x8和4x4块的八种候选模式。通过合并来自相邻块的最可能模式(MPM)来获得每个PU大小的最佳候选列表。然后,通过RDO来选择当前PU的最佳帧内预测模式。当完成当前CU中包括的所有PU的帧内预测时,完成当前CU的帧内预测。通过当前CU的RD-cost与当前CU及其4个子CU的四个子CU的总RD-cost之间的比较来选择具有较小RD-cost的次优CU内部预测完成。当完成所有CU分区时,完成当前CTU帧内预测。对于HEVC,当对LCU进行编码时,应当执行85个CU(一个64×64CU,四个32×32CU,十六个16×16CU和六十四个8×8CU)的帧内预测。当CU被编码时,应当执行一个PU或四个子PU的帧内预测。大量CU和PU导致帧内预测的高复杂性。
为了开发超越HEVC的新技术,2015年成立的一个新的组织,联合视频探索组(Joint Video Exploration Term),并在2018年更名为联合视频专家组(Joint VideoExperts Term,JVET)。在HEVC的基础上,多功能视频编码(Versatile Video Coding)VVC(H.266)的研究由JVET组织于2018年4月10美国圣地亚哥会议上提出,在H.265/HEVC基础上改进的新一代视频编码技术,其主要目标是改进现有HEVC,提供更高的压缩性能,同时会针对新兴应用(360°全景视频和高动态范围(HDR)视频)进行优化。VVC的第一版在2020年8月完成,在ITU-T网站上以H.266标准正式发布。
有关HEVC和VVC的相关文件和测试平台可以从https://jvet.hhi.fraunhofer.de/获得,并且VVC的相关提案可以从http://phenix.it-sudparis.eu/jvet/获得。
VVC依然沿用H.264就开始采用的混合编码框架,其VTM编码器的一般性方框图如图1所示。帧间和帧内预测编码:消除时间域和空间域的相关性。变换编码:对残差进行变换编码以消除空间相关性。熵编码:消除统计上的冗余度。VVC将在混合编码框架内,着力研究新的编码工具或技术,提高视频压缩效率。
虽然VVC和HEVC中都采用树结构来进行CTU划分,但是在VVC采用了与HEVC不同的树结构CTU划分方式。并且,与HEVC相比,VVC中的CTU的(亮度块)最大大小达到了128x128(尽管亮度变换块的最大大小为64x64)。
与HEVC类似,VVC将图片划分为子图片(subpicture)、切片(slice)、和图块(tile)。一个图片被划分为一个或多个图块行和一个或多个图块列。图块是覆盖图片的矩形区域的CTU序列。切片由整数个完整图块或在图片的图块内的整数个连续的完整CTU行。支持两种切片模式,即光栅扫描切片模式和矩形切片模式。在光栅扫描切片模式中,切片包含图片的图块光栅扫描中的完整图块的序列。在矩形切片模式中,切片包含共同形成图片的矩形区域的多个完整图块,或者一个图块的、共同形成图片中的矩形区域的多个连续完整CTU行。矩形切片内的图块在对应于该图块的矩形区域内以图块光栅扫描顺序进行扫描。子图片包含一个或多个切片,这些切片共同覆盖图片的矩形区域。
如上所述地,在HEVC中,使用四叉树结构将CTU划分为CU(即编码树)。关于帧内编码和帧间编码的决策是在叶节点CU处做出的。换言之,一个叶节点CU定义了共享相同预测模式(例如帧内预测或帧间预测)的一个区域。然后,根据PU划分类型,每个叶CU可以进一步划分为1、2或4个预测单元PU。在每个PU内,使用相同的预测过程,并将相关信息以PU为基础发送到解码器段。在基于PU的预测过程获得了残差块后,可以根据类似于CU的编码树的另一类似四叉树结构将叶CU划分为TU。
而在VVC中,则采用了具有嵌套的多类型树的四叉树分割结构(QTMT)来划分CTU,其中嵌套的多类型树使用二叉树和三叉树。作为一个示例,这种嵌套的多类型树的一个实例是四叉树-二叉树(QTBT)结构。QTBT结构包括两个级别:根据四叉树划分而划分的第一级,以及根据二叉树划分而划分的第二级。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于编码单元(CU),CU定义了共享相同预测模式(例如帧内预测或帧间预测)的一个区域。在VVC中删除了CU、PU和TU的不同形式。
在VVC中,一个CTU首先通过四叉树进行划分,然后再通过多类型树进行进一步划分。如图3所示,VVC规定了4种多类型树划分模式:水平二叉树划分(SPLIT_BT_HOR)、垂直二叉树划分(SPLIT_BT_VER)、水平三叉树划分(SPLIT_TT_VER)、垂直三叉树划分(SPLIT_TT_HOR)。多类型树的叶节点被称为编码单元(CU),并且除非CU对于最大变换长度而言过大,否则该CU分割就会用于预测和变换处理而不进行进一步分割。这就意味着在大多数情况下,CU、PU和TU在该具有嵌套的多类型树的四叉树分割结构是具有相同的块大小的。其中的例外是所支持的最大变换长度小于CU的颜色分量的宽度或高度。图4示出了VVC的具有嵌套的多类型树的四叉树分割结构的CTU到CU的分割的一个具体实施例,其中,粗体框表示四叉树分割,剩余的边表示多类型树分割。VVC的这种具有嵌套的多类型树的四叉树分割结构提供了包括CU的内容自适应编码树结构。
CU的大小可以与CTU一样大,也可以以亮度样本为单位小到4x4。对于4:2:0色度格式的情况,最大色度编码块大小为64x64,最小大小色度大小由16个色度样本组成。在VVC中,支持的最大亮度变换大小为64x 64,支持的最高色度变换大小为32x32。当编码块的宽度或高度大于最大变换宽度或高度时,编码块在水平和/或垂直方向上自动分割,以满足该方向上的变换大小限制。
以下参数由具有嵌套多类型树编码树方案的四叉树的序列参数集(SPS)语法元素定义和指定:
–CTU大小:四元树的根节点大小
–MinQTSize:允许的最小四叉树叶节点大小
–MaxBtSize:允许的最大二叉树根节点大小
–MaxTtSize:允许的最大三叉树根节点大小
–MaxMttDepth:从四叉树叶划分多类型树时允许的最大层次深度
–MinBtSize:允许的最小二叉树叶节点大小
–MinTtSize:允许的最小三叉树叶节点大小
在具有嵌套多类型树编码树结构的四叉树的一个示例中,CTU大小被设置为128x128亮度样本,具有两个对应的64x64块4:2:0色度样本,MinQTSize被设置为16x16,MaxBtSize被设置成128x128并且MaxTtSize被设置成64x64,MinBtSize和MinTtSize(对于宽度和高度)被设置为4x4,并且MaxMttDepth被设置成4。将四叉树划分首先应用于CTU以生成四叉树叶节点。四叉树叶节点的大小可以从16x16(即MinQTSize)到128x128(即CTU大小)。如果叶四叉树节点为128x128,则不会被二叉树进一步划分,因为其大小超过了MaxBtSize和MaxTtSize(即64x64)。否则,叶四叉树节点可以通过多类型树进一步划分。因此,四叉树叶节点也是多类型树的根节点,并且它具有多类型树深度(mttDepth)为0。当多类型树深度达到MaxMttDepth(即4)时,不考虑进一步划分。当多类型树节点的宽度等于MinBtSize且小于或等于2*MinTtSize时,不考虑进一步的水平划分。类似地,当多类型树节点的高度等于MinBtSize且小于或等于2*MinTtSize时,不考虑进一步的垂直划分。
在VVC中,编码树方案支持亮度分量和色度分量具有单独的块树结构的能力。对于P和B切片,一个CTU中的亮度和色度CTB必须共享相同的编码树结构。然而,对于I切片,亮度和色度可以具有单独的块树结构。当应用单独的块树模式时,亮度CTB通过一个编码树结构被划分为CU,色度CTB通过另一编码树结构而被划分为色度CU。这意味着I切片中的CU可以由亮度分量的编码块或两个色度分量的编码块组成,并且P或B切片中的CU总是由所有三个颜色分量的编码块组成,除非视频是单色的。
在进行了CTU划分后,对表示预测和/或残差信息以及其他信息的CU的视频数据进行编码。预测信息指示将如何预测CU以便形成CU的预测块。残差信息通常表示编码之前的CU的样本与预测块的样本之间的逐样本差。
为了预测CU,通常可通过帧间预测或帧内预测来形成CU的预测块。帧间预测通常是指根据先前译码的图片的数据来预测CU,而帧内预测通常是指根据同一图片的先前译码的数据来预测CU。为了执行帧间预测,可使用一个或多个运动向量来生成预测块。通常可以例如按照CU与参考块之间的差来执行运动搜索,以识别与CU紧密匹配的参考块。可使用绝对差之和(SAD)、平方差之和(SSD)、平均绝对差(MAD)、均方差(MSD)或其他此类差值计算来计算差值度量,以确定参考块是否与当前CU紧密匹配。在一些示例中,可使用单向预测或双向预测来预测当前CU。
在帧间预测中,VVC中仍然使用了HEVC中的跳过(SKIP)模式和合并(Merge)模式。对于每个帧间预测CU,由运动矢量、参考图片索引和参考图片列表使用索引组成运动参数,以及VVC的新编码特征所需的附加信息,被用于帧间预测样本生成。可以以显式或隐式的方式用信号通知运动参数。当用跳过(SKIP)模式对CU进行编码时,该CU与一个PU相关联,并且不具有有效的残差系数,不具有编码的运动矢量差值或参考图片索引。指定合并(Merge)模式,从而从相邻CU获得当前CU的运动参数(包括空间后续和时间候选),以及VVC中引入的附加调度。合并模式可以应用于任何帧间预测CU,而不仅仅是用于跳过模式。合并模式的替代方案是运动参数的显式传输,其中运动向量、每个参考图片列表的对应参考图片索引和参考图片列表使用标志以及其他所需信息被显式地按每个CU发信号通知。
对于帧间预测,在VVC中,除了HEVC中使用的平移运动预测和运动补偿之外,还提供了仿射运动补偿模式(Affine motion compensated prediction)。在仿射运动补偿模式中,可以确定表示非平移运动(诸如,放大或缩小、旋转、透视运动或其他不规则运动类型)的两个或更多个运动向量。图5中示出了用于VVC的两种仿射变换模型,其中,块的仿射运动场由两个控制点(4参数)或三个控制点运动矢量(6参数)的运动信息来描述。
对于4参数仿射运动模型,块中采样位置(x,y)处的运动矢量导出为:
对于6参数仿射运动模型,块中采样位置(x,y)处的运动矢量导出为:
其中,(mv0x,mv0y)是左上角控制点的运动矢量,(mv1x,mv1y)是右上角控制点通过的运动矢量;(mv2x,mv2y)是左下角控制点运动矢量。
为了简化运动补偿预测,应用了基于块的仿射变换预测。为了推导每个4x4亮度子块的运动矢量,根据上述方程计算每个子块的中心样本的运动矢量(如图6所示,图6示出了根据一个实施例的4参数运动模型情况下的每个子块的仿射运动矢量域),并四舍五入到1/16分数精度。然后应用运动补偿插值滤波器来生成具有导出的运动向量的每个子块的预测。色度分量的子块大小也被设置为4x4。4x4色度子块的MV被计算为并置的8x8亮度区域中的左上和右下亮度子块的MVs的平均值。
与平移运动补偿类似,仿射运动补偿包括仿射合并(Merge)模式和仿射AMVP(高级运动矢量预测)两种方式。
仿射合并模式主要应用于编码块的宽和高都大于等于8的情况下。它的CPMV(Control Point Motion vector,控制点运动矢量)候选列表最多可以使用5个候选CPMV。在编码比特流中,用一个语法元素指示要用于当前CU的CPMV候选。
仿射合并模式考虑了块的形变情况,使用了多个参考块来进行预测。它的优势在于可以更准确地估计块的形变情况,从而提高视频编码的质量。仿射合并模式候选列表的构建需要借助邻居块的已编码信息,包括邻居块仿射模式编码和平移模型编码的MV信息。仿射合并模式候选列表主要由三种方式构建,它们分别是通过空间域相邻仿射模式CU的CPMV构建CPMV候选,通过空间域和时间域相邻CU的平移MV构建CPMV候选以及直接由0向量构建CPMV候选三种方式。
当仿射合并模式无法得到有效的CPMV时,此时使用仿射AMVP模式来达到更好的编码效果。仿射AMVP模式应用的前提是当前编码块的宽和高都必须大于等于16,仿射AMVP模式的候选列表大小有两个。CU编码块宽度和高度的最大值可由(VVC Test Model,VTM)进行设置,目前VVC支持使用仿射AMVP模式的最大编码块尺寸为128x128。仿射AMVP模式的候选列表大小为2,其候选列表中的CPMV候选主要通过五种方式构建,它们分别是利用仿射模式的邻居CU构建、平移模式的邻居CU的平移MVP构建、平移模式的邻居CU的平移MV构建、时间域平移MV构建以及零MV构建。
在编码比特流中,用一个语法元素指示是否使用仿射AMVP模式,用另一个语法元素指示使用4参数还是6参数模型。在仿射AMVP模式中,在比特流中传送当前CU的CPMV与其预测子CPMV之间的差,即运动矢量差MVD(motion vector differences)。
为了执行帧内预测,可以选择用于生成预测块的帧内预测模式。VVC提供了67种帧内预测模式,包括各种方向模式,以及平面模式和DC模式。通常,选择帧内预测模式,该帧内预测模式描述到当前块(例如,CU的块)的相邻样本,其中从所述相邻样本预测当前块的样本。假设以光栅扫描顺序(从左到右、从上到下的译码顺序或从右到左、从上到下的译码顺序)对CTU和CU进行译码,则这些样本通常可以在与当前块相同的图片中当前块的上方、上方及左侧或左侧。
对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可以对表示使用各种可用帧间预测模式中的哪一种帧间预测模式的数据以及用于对应模式的运动信息进行编码。对于单向或双向帧间预测,例如,可以使用高级运动向量预测(AMVP)或合并模式来对运动向量进行编码。可以使用类似模式来编码用于仿射运动补偿模式的运动向量。
在诸如块的帧内预测或帧间预测之类的预测之后,可以计算块的残差数据。残差数据(诸如残差块)表示该块与使用相应预测模式形成的该块的预测块之间的逐样本差。可将一个或多个变换应用于残差块,以产生在变换域而非样本域中的经变换的数据。例如,可将离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。另外,视频编码器200可在一次变换之后应用二次变换,例如,与模式相关的不可分离的二次变换(MDNSST)、与信号相关的变换、Karhunen-Loeve变换(KLT)等。在应用一个或多个变换之后产生变换系数。
如上所述,在用以产生变换系数的任何变换之后,可以根据量化系数(QP),执行对变换系数的量化。量化通常是指对变换系数进行量化以可能减少用于表示系数的数据量,从而提供进一步压缩的过程。通过执行量化过程,可以减小与一些或所有系数相关联的位深度。例如,可以在量化期间将n-位值舍入为m-位值,其中n大于m。在一些示例中,为了执行量化,可以执行对待量化的值的按位右移。量化系数(QP)通常是采用语法元素的行驶包含在头信息中的。
在量化之后,可以扫描变换系数,从而从包括经量化的变换系数的二维矩阵产生一维向量。可以将扫描设计为将较高能量(并且因此较低频率)的系数放置在向量的前面,并将较低能量(并且因此较高频率)的变换系数放置在向量的后面。在一些示例中,可以利用预定义的扫描顺序来扫描经量化的变换系数以产生串行化的向量,然后对向量的经量化的变换系数进行熵编码。在其他示例中,可以执行自适应扫描。在扫描经量化的变换系数以形成一维向量之后,可以例如根据上下文自适应二进制算术译码(CABAC)对一维向量进行熵编码还可对用于语法元素的值进行熵编码,语法元素描述与经编码视频数据相关联的元数据,以供视频解码器300在解码视频数据时使用。
在编码过程中,可以例如在图片报头、块报头、切片报头中,生成语法数据,诸如基于块的语法数据、基于图片的语法数据和基于序列的语法数据,或其他语法数据,诸如序列参数集(SPS)、图片参数集(PPS)或视频参数集(VPS)。视频解码器可类似地解码此类语法数据以确定如何解码对应的视频数据。这些信息都可以被称为“头信息”。
以此方式,可以生成包括经编码视频数据(例如,描述从图片到块(例如,CU)的划分的语法元素以及块的预测和/或残差信息)的位流。
在VVC中,仿射运动估计提高了预测复杂运动的性能,但是带来了较高的计算复杂度。仿射运动估计模型的复杂度来自于多个方面。一方面,由于VVC采用了多叉树划分技术,每个编码块通过四叉树、三叉树和二叉树等划分方式被划分为不同尺寸的CU,如图4所示。一般小的CU相比于大的CU,仿射预测模型预测会更加准确。在对小CU使用仿射预测模型的过程中,需要对参考帧进行插值操作,小CU数量越多,插值过程消耗的时间越多。VVC还需要从多个参考帧中选择一个最佳参考帧用于仿射预测模型,因而造成了仿射运动估计复杂度较高。另一方面,VVC的仿射模型分为4参数仿射模型和6参数仿射模型。在很多情况下,不需要执行6参数仿射模型,此时再计算6参数仿射模型代价,将会带来计算资源的浪费。
发明内容
本公开内容提出了用于在多功能视频编码(VVC)中。更具体而言,本公开内容用于在VVC中基于运动矢量差的快速仿射模式决策的方法、装置、编解码器以及处理器可读存储介质。
在VVC中,仿射运动估计提高了预测复杂运动的性能,但是带来了较高的计算复杂度。本公开内容通过分析仿射运动估计的决策过程,提供了一种快速仿射运动估计决策方法。首先,通过平移运动模型的运动矢量差(MVD),判决是否跳过整个仿射运动估计;接着,基于四参数仿射模型的控制点运动矢量差(CPMVD),判决是否跳过6参数仿射模型。
本公开内容的各方面能够有效降低仿射运动估计的计算复杂度,并且编码损失可以忽略不计。
根据一个方面,一种用于快速仿射模式决策的方法,包括:
基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;
基于TMVD来确定是否跳过当前CU的仿射运动估计;
基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;以及
基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计。
在一个方面,通过如下来基于当前CU的平移运动估计的最优运动矢量差(BestMVD)来计算平移运动矢量差指标(TMVD):
其中,i值分别表示前向参考帧和后向参考帧的索引,hor和ver分别表示水平分量和垂直分量。
在一个方面,基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计,进一步包括:
基于通过4参数仿射运动估计得到的当前CU的CPMVD,来计算用于决定是否跳过6参数仿射运动估计的指标(SSPAM),所述指标表示当前CU的运动是否简单。
在一个方面,通过如下方式来计算SSPAM:
其中,i值分别表示前向参考帧和后向参考帧的索引,hor和ver分别表示水平分量和垂直分量,CPMVD0和CPMVD1分别表示通过4参数仿射运动估计得到的当前CU的两个控制点的CPMVD。
在一个方面,所述方法还包括:
基于被用于当前CU的平移运动估计的邻居块为跳过(SKIP)模式,跳过当前CU的仿射运动估计;以及
基于被用于当前CU的平移运动估计的邻居块不是跳过(SKIP)模式,基于当前CU的平移运动估计的最优运动矢量差(BestMVD)来计算平移运动矢量差指标(TMVD)。
在一个方面,如果TMVD为0,则跳过当前CU的仿射运动估计。
在一个方面,如果TMVD大于0小于8,则跳过当前CU的仿射运动估计。
在一个方面,如果SSPAM为0,则跳过当前CU的跳过当前CU的6参数仿射运动估计。
根据一个方面,一种用于快速仿射模式决策的方法,包括:
基于被用于当前CU的平移运动估计的邻居块为跳过(SKIP)模式,跳过当前CU的仿射运动估计;以及
基于被用于当前CU的平移运动估计的邻居块不是跳过(SKIP)模式,基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;
基于TMVD为0或者TMVD大于0小于8,确定跳过当前CU的仿射运动估计;
基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;
基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD)为0,确定跳过当前CU的6参数仿射运动估计;以及
基于确定CPMVD不为0,执行当前CU的6参数仿射运动估计,以确定当前CU的最佳帧间预测模式。
根据一个方面,一种硬件视频编码器,所述编码器被配置为通过如下操作来:
基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;
基于TMVD来确定是否跳过当前CU的仿射运动估计;
基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;以及
基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计。
根据另一方面,一种计算机程序产品,包括非暂时性存储介质,所述非暂时性存储介质中存储有用于执行上述方法的代码。
根据另一方面,提出了一种对使用所述的方法或所述的编码器进行编码的视频流进行解码的解码器。
根据另一方面,提出了一种用于执行所述的方法的计算机程序产品。根据进一步的方面,该计算机程序产品具有非暂时性存储介质,其上存储有计算机代码/指令,当其被处理器执行时,可以实现本文所述的各种操作。
根据另一方面,提出了一种可用于视频编解码的设备,该设备包括:
一个或多个处理器;
存储器,其中存储有计算机代码,所述计算机代码当由所述处理器执行时,实现所述的方法。
附图说明
图1示出了HEVC/VVC的通用编码器的一般性方框图的实施例。
图2示出了HEVC中的编码树(CTU)的示意图。
图3示出了用于VVC的多类型树划分模式。
图4示出了VVC的具有嵌套的多类型树的四叉树分割结构的CTU到CU的分割的一个具体实施例。
图5示出了用于VVC的两种仿射变换模型。
图6示出了在仿射运动补偿预测中,根据一个实施例的每个子块的仿射运动矢量域。
图7示出了根据一个实施例的,当前CU和相邻块CU之间的关系的示例。
图8示出了根据一个实施例的四参数仿射模型运动矢量控制点的运动矢量差图的示例。
图9示出了根据本发明的实施例的用于基于运动矢量差的快速仿射模式决策的一个示例方法。
图10示出了根据本发明的实施例的用于对屏幕内容视频流进行CU划分的一种可用于视频编解码的设备。
具体实施方式
现在参考附图来描述各种方案。在以下描述中,为了进行解释,阐述了多个具体细节以便提供对一个或多个方案的透彻理解。然而,显然,在没有这些具体细节的情况下也能够实现这些方案。
如在本申请中所使用的,术语“组件”、“模块”、“系统”等等旨在指代与计算机相关的实体,例如但不限于,硬件、固件、硬件和软件的组合、软件,或者是执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行体(executable)、执行线程、程序、和/或计算机。举例而言,运行在计算设备上的应用程序和该计算设备都可以是组件。一个或多个组件可以位于执行进程和/或者执行线程内,并且组件可以位于一台计算机上和/或者分布在两台或更多台计算机上。另外,这些组件可以从具有存储在其上的各种数据结构的各种计算机可读介质执行。组件可以借助于本地和/或远程进程进行通信,例如根据具有一个或多个数据分组的信号,例如,来自于借助于信号与本地系统、分布式系统中的另一组件交互和/或者与在诸如因特网之类的网络上借助于信号与其他系统交互的一个组件的数据。
在本文中,根据上下文,“CTU划分”和“CU划分”可以互换地使用,“编码块”、“CU”、“区域”可以互换地使用,“图片(picture)”和“帧(frame)”可以互换地使用。
虽然在本文中主要在VVC的上下文中在对基于运动矢量差的快速仿射模式决策提出了新颖的算法。但是,本领域技术人员容易理解,本发明同样适用于采用了基于仿射运动补偿作为帧间预测模式技术的其他视频编解码协议。
另外,本领域技术人员很容易理解,本发明是主要基于亮度分量的基于运动矢量差的快速仿射模式决策,但是同样适用于色度分量的基于运动矢量差的快速仿射模式决策。
在VVC中,对于帧间预测,除了HEVC中使用的平移运动预测和运动补偿之外,还提供了仿射运动补偿模式。在仿射运动补偿模式中,可以确定表示非平移运动(诸如,放大或缩小、旋转、透视运动或其他不规则运动类型)的两个或更多个运动向量。图5中示出了用于VVC的两种仿射变换模型,包括4参数仿射模型和6参数仿射模型。
仿射变换是一种线性变换,它包括旋转、缩放、平移等操作。仿射预测技术利用这些操作来描述当前帧与参考帧之间的几何变换关系。仿射预测技术首先对当前帧的每个图像块与参考帧进行匹配,以寻找两者之间的最佳匹配块。接着,通过计算当前帧与参考帧之间的仿射变换参数,可以得到一个预测块,它在几何变换上尽可能地接近当前帧的图像块。最后,将预测误差进行压缩和编码,以实现对当前编码块的高效压缩。
当前编码块的子块尺寸越小,越可以提高仿射预测模型的性能,但是需要传输更多子块的信息,从而需要更多的比特去传输这些信息。因此为了平衡编码性能和编码复杂度,VVC采用了基于4x4块的仿射变换运动补偿模型。基于子块的仿射运动补偿相比于全局运动补偿具有一定优势,能对局部运动区域有更加精确的描述。4参数仿射预测模型和6参数仿射预测模型分别使用了2个CPMV和3个CPMV,如图5所示,这些CPMV参数描述了参考帧的区域如何通过仿射变换映射为当前帧的块。相比于具有2个CPMV(2个控制点)的4参数仿射预测模型,具有3个CPMV(3个控制点)的6参数仿射预测模型的左下角控制点运动矢量加权了左下角的空间信息。因此6参数仿射模型相比于比4参数仿射模型,对当前编码块子块的局部运动描述更加准确。
如果当前编码块非常复杂,运动形式是旋转、缩放和剪切的组合,当前编码块的各个子块运动差别就比较大,平移模型的单个运动矢量无法描述各个子块的运动。此时,可以采用6参数仿射预测模型。
在某些情况下物体可能只发生相对复杂的运动,如单一的旋转运动,此时并不需要6参数仿射预测模型来描述。使用用4参数仿射预测模型来处理这类相对复杂的运动更加合适。
仿射运动估计提高了预测复杂运动的性能,但是带来了较高的计算复杂度。仿射运动估计模型的复杂度来自于多个方面。一方面,由于VVC采用了多叉树划分技术,每个编码块通过四叉树、三叉树和二叉树等划分方式被划分为不同尺寸的CU,如图4所示。一般小的CU相比于大的CU,仿射预测模型预测会更加准确。在对小CU使用仿射预测模型的过程中,需要对参考帧进行插值操作,小CU数量越多,插值过程消耗的时间越多。VVC还需要从多个参考帧中选择一个最佳参考帧用于仿射预测模型,因而造成了仿射运动估计复杂度较高。另一方面,VVC的仿射模型分为4参数仿射模型和6参数仿射模型。在很多情况下,不需要执行6参数仿射模型,此时再计算6参数仿射模型代价,将会带来计算资源的浪费。
本公开内容通过分析仿射运动估计的决策过程,提供了一种快速仿射运动估计决策方法。首先,通过平移运动模型的MVD,判决是否跳过整个仿射运动估计;接着,基于四参数仿射模型的CPMVD,判决是否跳过6参数仿射模型。
根据本公开内容,MVD可由当前编码块的实际运动矢量(MV)和当前编码块的运动矢量预测值(MVP)得到(即二者的矢量差),其中MVP通常由空间域预测方式和时间域预测方式得到。当前编码块和邻居块有较大的空间相关性,如图7所示,可以通过邻居块的运动信息得到当前编码块的MVP。这种方式得到的MVP可以在一定程度上反映邻居块的运动情况。当前编码块的实际MV是以MVP作为搜索起始点,根据搜索算法在一定的范围内搜索与当前编码块最为匹配的块而获得。当前编码块与参考帧中的最佳匹配块之间的位置关系用MV表示。
在当前编码块运动较为简单时,当前编码块更倾向于和邻居块运动一致,此时,MV和空间域预测的MVP差别越小,MVD也会越小。如果当前编码块运动很剧烈,当前编码块的运动相对于邻居块通常会发生剧烈变化,那么MVD相对会比较大。MVD越小,说明当前编码块的运动和邻居块的运动情况越接近,说明当前编码块可能由于运动简单而跳过仿射模式。
同理,对于时间域预测的MVP,如果当前编码块的实际MV和时间域预测方式得到的时间域MVP差别非常小,则当前编码块的时间域MVD就比较小,那么当前编码块和相邻重建帧的已编码块运动很相似,当前编码块也更倾向于运动简单而跳过仿射模式。
为了降低仿射预测模型的编码复杂度,应该提取出跳过仿射运动估计的CU的属性特征,编码器通过提前分析CU的属性特征,从而决定是否跳过不必要的仿射模型。并且应该对CU进行合理的分类,根据CU的不同属性,从而设置不同的门限值来跳过仿射模型。
本公开内容主要以运动矢量差MVD为基础构建跳过仿射模型的指标,包括平移运动估计的MVD信息和四参数仿射运动估计的CPMVD信息。本公开内容对CU编码块划分为以下两类:如果平移运动模型编码块的父亲块或邻居块为SKIP模式,将该编码块记为SKIP型编码块,否则为普通型编码块。依据编码块的空间相关性,SKIP型编码块更可能运动比较简单,因此大部分情况下不需要使用复杂的仿射模型。可以利用MVD信息构建的特征指标,对SKIP型编码块跳过仿射模型进行进一步优化,在减少时间复杂度的前提上尽可能降低编码损失。对于普通型编码块,应该严格控制跳过仿射的条件,从而避免较大的性能损失。
VVC首先进行常规的平移运动估计,分别进行前向、后向、以及双向平移运动估计。在计算出三个预测方向的率失真代价后,依据代价最小值原则选取最优的预测方向,并且保存该预测方向对应的最优运动矢量差运动信息。本公开内容中,将最优运动矢量差记为BestMVD,利用BestMVD所有分量绝对值和来判决是否跳过仿射模式。为此,本公开内容定义了一个指标平移运动矢量差(Translational Motion Vector Difference,TMVD),其计算如式(1)所示:
上式中i值分别表示前向参考帧和后向参考帧的索引。对于B帧,由于需要使用两个参考帧,因此这里对两个参考帧方向上的所有BestMVD分量求和。对于P帧,则只需要在一个参考帧的方向上对BestMVD求和。hor和ver分别表示矢量(或矢量差)的水平分量和垂直分量。
为了探索TMVD指标跳过仿射模式的最佳阈值,本文分析了不同视频序列跳过仿射的概率与TMVD指标之间的关系:对于普通型编码块,TMVD越小,普通编码块跳过仿射的概率越高。当TMVD=0时,普通编码块跳过仿射的概率最高,在80%以上。当TMVD>0时,普通编码块跳过仿射的概率向80%以下的概率值方向递减。为了减少编码损失,本文只有当普通型编码块的TMVD=0时,才决定跳过仿射。
对于SKIP型编码块来说,本公开内容分析同样可以发现:TMVD越小,SKIP型编码块跳过仿射的概率越高,而当0<TMVD≤8,SKIP型编码块总是比普通型编码块跳过仿射的概率高。SKIP型编码块比普通编码块更容易跳过仿射,正是因为它的父亲块或邻居块的模式是SKIP模式,所以SKIP型编码块更倾向于跳过仿射预测模型。可以合理增加TMVD的大小,而不是直接让TMVD=0,从而尽可能降低更多的仿射编码复杂度。对于B帧来说,如果TMVD的阈值为4,表示当前CU在两个参考帧的水平和垂直方向上移动的平均距离为一个像素。TMVD阈值为8和4时跳过仿射的概率基本相同,但TMVD阈值为8时能降低更多时间复杂度。当TMVD阈值大于8时,当前编码块跳过仿射的概率下降得比较快,更容易造成比较大的编码损失。为了平衡编码的性能和复杂度,SKIP型编码块跳过仿射模式的阈值设置为8。仅当0<TMVD≤8满足时,SKIP型编码块才可以跳过整个仿射运动估计。
另一方面,根据本公开内容,四参数仿射预测模型的CPMVD大小与当前编码块跳过六参数仿射预测模型有很大的相关性。可以通过4参数仿射预测模型的运动信息来提前判决是否需要执行6参数仿射预测模型,优化仿射预测模型的判决机制,降低整个仿射预测模型的复杂度。
图8示出了根据一个实施例的四参数仿射模型运动矢量控制点的运动矢量差图的示例。如图所示,CPMVD0和CPMVD1分别是四参数仿射预测模型的两个控制点运动矢量差。四参数仿射预测模型用于描述比平移运动模型更复杂的运动,如果CPMVD0和CPMVD1的所有分量均为0,则表明当前编码块的运动非常简单,不需要使用四参数仿射预测模型,因此CPMVD0和CPMVD1的所有分量不可能全为0。
在本文中,将CPMVD0和CPMVD1的所有分量之和定义为(Skip Six ParameterAffine Model,SSPAM)指标,以判决是否需要跳过六参数仿射模型,如式(2)所示:
其中,i值分别表示前向参考帧和后向参考帧的索引,hor和ver分别表示水平分量和垂直分量,CPMVD0和CPMVD1分别表示通过4参数仿射运动估计得到的当前CU的两个控制点的CPMVD,例如图8所示。
根据本发明,当SSPAM=0时,CPMVD水平和垂直分量绝对值之和最小,运动剧烈程度较低,更容易跳过仿射预测模型。换言之,CPMVD也是MVD的一种,满足跳过仿射模式的概率随着MVD的增大而减小的规律,SSPAM=0时能够保证跳过6参数仿射预测模型的概率较大,从而尽可能减少编码损失。因此该指标可以用来提前跳过不必要的6参数仿射模型,从而降低仿射预测模型整体的编码复杂度。
根据以上论述,本公开内容提出了多个实施例以用于至少部分地跳过仿射运动估计,包括跳过4参数仿射运动估计和6参数仿射运动估计,或者跳过6参数仿射运动估计,从而在保持RD值基本不变的情况下消除与仿射运动估计相关的计算开销。
根据本公开内容的第一实施例,提出了一种基于被用于当前CU的平移运动估计的邻居块的跳过模式来决定是否跳过当前CU的仿射运动估计的方法,该方法包括:基于被用于当前CU的平移运动估计的邻居块为跳过(SKIP)模式,跳过当前CU的仿射运动估计。
根据编码块的空间相关性,如果平移运动模型编码块的父亲块或邻居块为SKIP模式,将该编码块在大部分情况下可以被视为SKIP型编码块,SKIP型编码块更可能运动比较简单,因此大部分情况下不需要使用复杂的仿射模型。从而在此情况下跳过这种编码块的仿射运动估计能够在保持RD值基本不变的情况下消除与仿射运动估计相关的计算开销。
为了减少误判,该方法中用于决定SKIP模式的邻居块表示被用于当前CU的平移运动估计的所有邻居块,或者至少阈值数量的邻居块。
根据本公开内容的第二实施例,提出了一种基于当前CU的平移运动估计的最优运动矢量差(BestMVD)来决定是否跳过当前CU的仿射运动估计的方法,该方法包括:基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;以及基于TMVD来确定是否跳过当前CU的仿射运动估计。
在一个具体实施例中,通过如下来基于当前CU的平移运动估计的最优运动矢量差(BestMVD)来计算平移运动矢量差指标(TMVD):
其中,i值分别表示前向参考帧和后向参考帧的索引,hor和ver分别表示水平分量和垂直分量。
在一个具体实施例中,本文分析了不同视频序列跳过仿射的概率与TMVD指标之间的关系:对于普通型编码块,TMVD越小,普通编码块跳过仿射的概率越高。当TMVD=0时,普通编码块跳过仿射的概率最高,在80%以上。当TMVD>0时,普通编码块跳过仿射的概率向80%以下的概率值方向递减。为了减少编码损失,本文只有当普通型编码块的TMVD=0时,才决定跳过仿射。
因此,在一个具体实施例中,如果TMVD为0,则跳过当前CU的仿射运动估计。即,在一个具体实施例中,在当前编码块的平移运动估计的(阈值数量的或全部的)邻居块为SKIP模式时,基于TMVD为0,来跳过当前CU的仿射运动估计。
在另一个具体实施例中,TMVD越小,SKIP型编码块跳过仿射的概率越高,而当0<TMVD≤8,SKIP型编码块总是比普通型编码块跳过仿射的概率高。SKIP型编码块比普通编码块更容易跳过仿射,正是因为它的父亲块或邻居块的模式是SKIP模式,所以SKIP型编码块更倾向于跳过仿射预测模型。可以合理增加TMVD的大小,而不是直接让TMVD=0,从而尽可能降低更多的仿射编码复杂度。
因此,在一个具体实施例中,如果TMVD大于0小于8,则跳过当前CU的仿射运动估计。即,在一个具体实施例中,在当前编码块的平移运动估计的(阈值数量的或全部的)邻居块不为SKIP模式时,基于TMVD为0,来跳过当前CU的仿射运动估计。
根据本公开内容的第三实施例,提出了一种决定是否跳过当前CU的6参数仿射运动估计的方法,该方法包括:针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;以及基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计。
在一个具体实施例中,基于通过4参数仿射运动估计得到的当前CU的CPMVD,来计算用于决定是否跳过6参数仿射运动估计的指标(SSPAM),所述指标表示当前CU的运动是否简单。
在一个具体实施例中,通过如下方式来计算SSPAM:
其中,i值分别表示前向参考帧和后向参考帧的索引,hor和ver分别表示水平分量和垂直分量,CPMVD0和CPMVD1分别表示通过4参数仿射运动估计得到的当前CU的两个控制点的CPMVD。
在一个具体实施例中,如果SSPAM为0,则跳过当前CU的跳过当前CU的6参数仿射运动估计。
根据本公开内容的第四实施例,第二实施例可以结合第一实施例,即第二实施例的方法可以进一步包括:基于被用于当前CU的平移运动估计的邻居块为跳过(SKIP)模式,则跳过当前CU的仿射运动估计;以及基于被用于当前CU的平移运动估计的邻居块不是跳过(SKIP)模式,则基于当前CU的平移运动估计的最优运动矢量差(BestMVD)来计算平移运动矢量差指标(TMVD)。
根据本公开内容的第五实施例,第二实施例可以结合第三实施例,即,一种用于快速仿射模式决策的方法,包括:基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;基于TMVD来确定是否跳过当前CU的仿射运动估计;基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;以及基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计。
在一个具体实施例中,如果TMVD为0,则跳过当前CU的仿射运动估计。
在一个具体实施例中,如果TMVD大于0小于8,则跳过当前CU的仿射运动估计。
在一个具体实施例中,如果SSPAM为0,则跳过当前CU的跳过当前CU的6参数仿射运动估计。
根据本公开内容的第六实施例,提出了一种用于快速仿射模式决策的方法,包括:基于被用于当前CU的平移运动估计的邻居块为跳过(SKIP)模式,则跳过当前CU的仿射运动估计;基于被用于当前CU的平移运动估计的邻居块不是跳过(SKIP)模式,则基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;基于TMVD为0或者TMVD大于0小于8,确定跳过当前CU的仿射运动估计;基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD)为0,确定跳过当前CU的6参数仿射运动估计;以及基于确定CPMVD不为0,执行当前CU的6参数仿射运动估计,以确定当前CU的最佳帧间预测模式。
本领域技术人员容易理解,上述第一至第六实施例以及各种具体实施例的任意组合也在本公开内容的范围之内。
图9示出了根据本发明的实施例的用于基于运动矢量差的快速仿射模式决策的一个示例方法,该方法大致对应于第六实施例。
图10示出了根据本发明的实施例的用于基于运动矢量差的快速仿射模式决策的一种可用于视频编解码的设备。该设备包括:处理器和存储器,在所述存储器中包括用于实现本发明的各种方法的处理器可执行代码。所述处理器可执行代码在被处理器加载时,可由处理器执行,或者可以将处理器配置为实现本发明的各个实施例或各个实施例的任意组合。
根据另一方面,本公开内容还可以涉及用于实现上述编码方法的编码器。该编码器可以是专用硬件,或者具有与图10类似的组件的系统或软件与硬件的组合或固件、软件和硬件的任意组合。
根据另一方面,本公开内容还可以涉及对应的对编码后的视频流进行解码的解码器。
根据另一方面,本公开内容还可以涉及执行本文所述方法的计算机程序产品。根据进一步的方面,该计算机程序产品具有非暂时性存储介质,其上存储有计算机代码/指令,当其被处理器执行时,可以实现本文所述的各种操作。
当用硬件实现时,视频编码器可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或者设计为执行本文所述功能的其任意组合,来实现或执行。通用处理器可以是微处理器,但是可替换地,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器与DSP内核的组合或者任何其它此种结构。另外,至少一个处理器可以包括可操作以执行上述的一个或多个步骤和/或操作的一个或多个模块。
当用ASIC、FPGA等硬件电路来实现视频编码器时,其可以包括被配置为执行各种功能的各种电路块。本领域技术人员可以根据施加在整个系统上的各种约束条件来以各种方式设计和实现这些电路,来实现本发明所公开的各种功能。
尽管前述公开文件论述了示例性方案和/或实施例,但应注意,在不背离由权利要求书定义的描述的方案和/或实施例的范围的情况下,可以在此做出许多变化和修改。而且,尽管以单数形式描述或要求的所述方案和/或实施例的要素,但也可以设想复数的情况,除非明确表示了限于单数。另外,任意方案和/或实施例的全部或部分都可以与任意其它方案和/或实施例的全部或部分结合使用,除非表明了有所不同。
Claims (10)
1.一种用于快速仿射模式决策的方法,包括:
基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;
基于TMVD来确定是否跳过当前CU的仿射运动估计;
基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;以及
基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计。
2.根据权利要求1所述的方法,其中,通过如下来基于当前CU的平移运动估计的最优运动矢量差(BestMVD)来计算平移运动矢量差指标(TMVD):
其中,i值分别表示前向参考帧和后向参考帧的索引,hor和ver分别表示水平分量和垂直分量。
3.根据权利要求1-2中任一项所述的方法,其中,基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计,进一步包括:
基于通过4参数仿射运动估计得到的当前CU的CPMVD,来计算用于决定是否跳过6参数仿射运动估计的指标(SSPAM),所述指标(SSPAM)表示当前CU的运动是否简单。
4.根据权利要求1-3中任一项所述的方法,其中,通过如下方式来计算SSPAM:
其中,i值分别表示前向参考帧和后向参考帧的索引,hor和ver分别表示水平分量和垂直分量,CPMVD0和CPMVD1分别表示通过4参数仿射运动估计得到的当前CU的两个控制点的CPMVD。
5.根据权利要求1-4中任一项所述的方法,还包括:
基于被用于当前CU的平移运动估计的邻居块为跳过(SKIP)模式,跳过当前CU的仿射运动估计;以及
基于被用于当前CU的平移运动估计的邻居块不是跳过(SKIP)模式,基于当前CU的平移运动估计的最优运动矢量差(BestMVD)来计算平移运动矢量差指标(TMVD)。
6.根据权利要求1-5中任一项所述的方法,其中,如果TMVD为0或者TMVD大于0小于8,则跳过当前CU的仿射运动估计。
7.根据权利要求1-6中任一项所述的方法,其中,如果SSPAM为0,则跳过当前CU的当前CU的6参数仿射运动估计。
8.一种用于快速仿射模式决策的方法,包括:
基于被用于当前CU的平移运动估计的邻居块为跳过(SKIP)模式,跳过当前CU的仿射运动估计;
基于被用于当前CU的平移运动估计的邻居块不是跳过(SKIP)模式,基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;
基于TMVD为0或者TMVD大于0小于8,确定跳过当前CU的仿射运动估计;
基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;
基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD)为0,确定跳过当前CU的6参数仿射运动估计;以及
基于确定CPMVD不为0,执行当前CU的6参数仿射运动估计,以确定当前CU的最佳帧间预测模式。
9.一种硬件视频编码器,所述编码器被配置为通过如下操作来:
基于当前CU的平移运动估计的最优运动矢量差(BestMVD),来计算平移运动矢量差指标(TMVD),其中,所述TMVD表示当前CU相对于邻居块的变化程度;
基于TMVD来确定是否跳过当前CU的仿射运动估计;
基于确定不跳过当前CU的仿射运动估计,针对当前CU使用4参数仿射运动模型执行4参数仿射运动估计;以及
基于通过4参数仿射运动估计得到的当前CU的控制点运动矢量差(CPMVD),来确定是否跳过当前CU的6参数仿射运动估计。
10.一种计算机程序产品,包括非暂时性存储介质,所述非暂时性存储介质中存储有用于执行根据权利要求1-8中任一项所述的方法的代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310646538.9A CN116684577A (zh) | 2023-06-02 | 2023-06-02 | 基于运动矢量差的快速仿射模式决策 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310646538.9A CN116684577A (zh) | 2023-06-02 | 2023-06-02 | 基于运动矢量差的快速仿射模式决策 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116684577A true CN116684577A (zh) | 2023-09-01 |
Family
ID=87790283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310646538.9A Pending CN116684577A (zh) | 2023-06-02 | 2023-06-02 | 基于运动矢量差的快速仿射模式决策 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116684577A (zh) |
-
2023
- 2023-06-02 CN CN202310646538.9A patent/CN116684577A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2696229C2 (ru) | Способ декодирования видеосигнала | |
KR20230042673A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
CN112740697B (zh) | 图像编码/解码方法和装置及存储比特流的记录介质 | |
US11575932B2 (en) | Video signal encoding and decoding method, and apparatus therefor | |
KR102194295B1 (ko) | 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치 | |
US11889077B2 (en) | Method for encoding/decoding image signal and device therefor | |
WO2020035064A1 (en) | Shared candidate list | |
CN116567226A (zh) | 图像编码/解码设备和图像数据的发送设备 | |
KR102511581B1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
JP2017041901A (ja) | 動画符号化装置 | |
CN113841399A (zh) | 图像编码/解码方法和设备 | |
CN113875237A (zh) | 用于在帧内预测中用信号传送预测模式相关信号的方法和装置 | |
CN114302138B (zh) | 视频编解码中组合预测值确定 | |
CN116684577A (zh) | 基于运动矢量差的快速仿射模式决策 | |
CN116684578A (zh) | 基于控制点运动矢量的仿射模型优化 | |
CN114302138A (zh) | 视频编解码中组合预测值确定 | |
CN116980590A (zh) | Ibc参考区域的自适应选择 | |
CN116647676A (zh) | 基于屏幕内容区域特性的cu划分快速选择 |
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 |