CN117321990A - 具有运动矢量细化的几何分区模式 - Google Patents

具有运动矢量细化的几何分区模式 Download PDF

Info

Publication number
CN117321990A
CN117321990A CN202280035306.3A CN202280035306A CN117321990A CN 117321990 A CN117321990 A CN 117321990A CN 202280035306 A CN202280035306 A CN 202280035306A CN 117321990 A CN117321990 A CN 117321990A
Authority
CN
China
Prior art keywords
gpm
mvr
index
equal
directional
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
Application number
CN202280035306.3A
Other languages
English (en)
Inventor
修晓宇
郭哲玮
陈伟
朱弘正
闫宁
陈漪纹
王祥林
于冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN117321990A publication Critical patent/CN117321990A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供了以GPM解码视频块的方法和装置。该方法包括:将所述视频块分割为第一几何分区和第二几何分区;接收针对所述第一几何分区的第一模板匹配启用标志和针对所述第二几何分区的第二TM启用标志,其中所述第一TM启用标志指示是否通过TM来细化所述第一几何分区的单向运动,并且其中所述第二TM启用标志指示是否通过所述TM来细化所述第二几何分区的单向运动;接收针对所述第一几何分区的第一合并GPM索引以及针对所述第二几何分区的第二合并GPM索引;构建所述GPM的单向运动矢量候选列表;以及生成针对所述第一几何分区的单向MV以及针对所述第二几何分区的单向MV。

Description

具有运动矢量细化的几何分区模式
相关申请的交叉引用
本申请基于2021年5月17日提交的第63/189,661号临时申请并要求享有其优先权,该临时申请的全部公开内容通过引用完整地并入本文以用于所有目的。
技术领域
本公开涉及视频编解码和压缩。更具体地,本公开涉及用于提高几何分区(geometric partition,GPM)模式(也称为角度加权预测(angular weighted prediction,AWP)模式)的编解码效率的方法和装置。
背景技术
可使用各种视频编解码技术来压缩视频数据。根据一种或多种视频编解码标准执行视频编解码。例如,目前一些众所周知的视频编解码标准包括由ISO/IEC MPEG和ITU-TVECG联合开发的通用视频编解码(VVC)、高效视频编解码(HEVC,也称为H.265或MPEG-HPart2)和高级视频编解码(AVC,也称为H.264或MPEG-4Part 10)。AOMedia Video1(AV1)是由开放媒体联盟(AOM)开发的,作为其先前标准VP9的后继者。音视频编解码(AVS)(其指数字音频和数字视频压缩标准)是由中国音频和视频编解码标准工作组开发的又一系列视频压缩标准。大多数现有的视频编解码标准都建立在著名的混合视频编解码框架之上,即,使用基于块的预测方法(例如,帧间预测、帧内预测)来减少视频图像或序列中存在的冗余,并使用变换编解码来压缩预测误差的能量。视频编解码技术的一个重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。
发明内容
本公开的示例提供了用于视频编解码的方法和装置以及一种非暂时性计算机可读存储介质。
根据本公开的第一方面,提供了一种用于以几何分区模式(geometric partitionmode,GPM)解码视频块的方法。该方法可以包括:将视频块分割为第一几何分区和第二几何分区。该方法可以包括:接收针对所述第一几何分区的第一模板匹配(template matching,TM)启用标志并接收针对所述第二几何分区的第二TM启用标志,其中所述第一TM启用标志指示是否通过TM来细化所述第一分区的单向运动,并且其中所述第二TM启用标志指示是否通过所述TM来细化所述第二分区的单向运动。该方法可以包括:接收针对所述第一几何分区的第一合并GPM索引以及针对所述第二几何分区的第二合并GPM索引。该方法可包括:构建所述GPM的单向运动矢量(motion victor,MV)候选列表。该方法可以包括:生成针对所述第一几何分区的单向MV以及针对所述第二几何分区的单向MV。
根据本公开的第二方面,提供了一种用于以GPM解码视频块的方法。该方法可以包括:将视频块分割为第一几何分区和第二几何分区。该方法可包括:构建所述GPM的单向MV候选列表。该方法可以包括:接收针对所述第一几何分区的第一合并GPM索引以及针对所述第二几何分区的第二合并GPM索引。该方法可以包括:基于所述第一合并GPM索引和所述第二合并GPM索引来更新所述单向MV候选列表,其中所述第一合并GPM索引与所述第二合并GPM索引指示是否通过TM来细化一个单向MV。
根据本公开的第三方面,提供了一种用于视频解码的装置。该装置可以包括一个或多个处理器以及非暂时性计算机可读存储介质。该非暂时性计算机可读存储介质被配置为存储可由一个或多个处理器执行的指令。该一个或多个处理器在执行指令时被配置为执行第一方面或第二方面的方法。
根据本公开的第四方面,提供了一种非暂时性计算机可读存储介质。该非暂时性计算机可读存储介质可以存储计算机可执行指令,该指令在由一个或多个计算机处理器执行时,使一个或多个计算机处理器执行第一方面或第二方面的方法。
附图说明
被并入说明书中并且构成说明书的一部分的附图示出了与本公开一致的示例,并且与本描述一起用于解释本公开的原理。
图1是根据本公开的示例的编码器的框图。
图2是根据本公开的示例的解码器的框图。
图3A是示出根据本公开的示例的多类型树结构中的块分区的示图。
图3B是示出根据本公开的示例的多类型树结构中的块分区的示图。
图3C是示出根据本公开的示例的多类型树结构中的块分区的示图。
图3D是示出根据本公开的示例的多类型树结构中的块分区的示图。
图3E是示出根据本公开的示例的多类型树结构中的块分区的示图。
图4是根据本公开的示例的所允许的几何分区(GPM)分区的示图。
图5是示出根据本公开的示例的单向预测运动矢量选择的表格。
图6A是根据本公开的示例的运动矢量差(motion vector differences,MMVD)模式的示图。
图6B是根据本公开的示例的MMVD模式的示图。
图7是根据本公开的示例的模板匹配(TM)算法的示图。
图8是根据本公开的示例的以GPM解码视频块的方法。
图9是根据本公开的示例的以GPM解码视频块的方法。
图10是示出根据本公开的示例的与用户接口耦合的计算环境的示图。
具体实施方式
现在将详细参照实施例,在附图中示出了这些实施例的示例。以下描述参考附图,其中除非另有说明,否则不同附图中相同的数字表示相同或相似的元件。以下实施例的描述中阐述的实现方式并不代表与本公开一致的所有实现方式。相反,它们仅仅是与如所附权利要求中叙述的本公开相关的方面一致的装置和方法的示例。
本公开中使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。如在本公开和所附权利要求中使用的,除非上下文另有明确指示,否则单数形式“一(a)”、“一个(an)”和“该/所述(the)”旨在也包括复数形式。还应理解,本文使用的术语“和/或”旨在表示并包括关联列出项目中的一个或多个的任何或所有可能的组合。
应当理解,尽管在本文中可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是该信息不应受这些术语的限制。这些术语仅用于将一类信息与另一类信息区分开来。例如,在不脱离本公开的范围的情况下,第一信息可以称为第二信息;类似地,第二信息也可以称为第一信息。如本文所使用的,根据上下文,术语“如果”可以理解为表示“当……时(when)”、或“一……就……(upon)”、或“响应于判断”。
第一代AVS标准包括中国国家标准《信息技术,高级音频视频编解码,第2部分:视频》(称为AVS1)和《信息技术,高级音频视频编解码,第16部分:无线电视视频》(称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下节省大约50%的比特率。AVS1标准视频部分于2006年2月作为中国国家标准颁布。第二代AVS标准包括中国国家标准《信息技术,高效多媒体编解码》系列(称为AVS2),主要针对超高清电视节目的传输。AVS2的编解码效率是AVS+的编解码效率的两倍。在2016年5月,AVS2作为中国国家标准发布。同时,AVS2标准视频部分由电气和电子工程师协会(IEEE)提交,作为针对应用的一项国际标准。AVS3标准是针对UHD视频应用的新一代视频编解码标准,其旨在超越最新国际标准HEVC的编解码效率。在2019年3月,在第68次AVS会议上,AVS3-P2基线已完成,其相对于HEVC标准提供了大约30%的比特率节省。目前,存在一种称为高性能模型(HPM)的参考软件,其由AVS组维护,以演示AVS3标准的参考实现方式。
与HEVC类似,AVS3标准建立在基于块的混合视频编解码框架之上。
图1示出了用于VVC的基于块的视频编码器的总体图。具体地,图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测值140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、反量化134、逆变换136、加法器126、存储器124、环路滤波器122、熵编码138和比特流144。
在编码器100中,视频帧被分区成多个视频块以用于处理。对于每个给定视频块,基于帧间预测方法或帧内预测方法来形成预测。
表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差的预测残差从加法器128被发送到变换130。然后变换系数从变换130被发送到量化132以用于熵减。然后量化系数被馈送到熵编码138以生成压缩的视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142(例如,视频块分区信息、运动矢量(MV)、参考图片索引和帧内预测模式)也通过熵编码138被馈送并保存到已压缩的比特流144中。已压缩的比特流144包括视频比特流。
在编码器100中,还需要与解码器相关的电路以重建用于预测目的的像素。首先,通过反量化134和逆变换136来重建预测残差。该重建的预测残差与块预测值140组合以生成针对当前视频块的未滤波的重建像素。
空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已编码的相邻块的样点(称为参考样点)的像素来预测该当前视频块。
时间预测(也称为“帧间预测”)使用来自已编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。用于给定编码单元(CU)或编码块的时间预测信号通常由一个或更多个MV用信号发送,这些MV指示当前CU与其时间参考之间的运动量和运动方向。此外,如果支持多个参考图片,则附加地发送一个参考图片索引,其用于标识时间预测信号来自参考图片存储库中的哪个参考图片。
运动估计114接收视频输入110和来自图片缓冲器120的信号,并且将运动估计信号输出到运动补偿112。运动补偿112接收视频输入110、来自图片缓冲器120的信号以及来自运动估计114的运动估计信号,并且将运动补偿信号输出到帧内/帧间模式决策116。
在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策116例如基于率失真优化方法来选择最佳预测模式。然后从当前视频块中减去块预测值140,并且使用变换130和量化132将所得到的预测残差进行去相关。所得到的量化残差系数通过反量化134进行反量化并通过逆变换136进行逆变换,以形成重建残差,然后该重建残差被加回到预测块以形成CU的重建信号。此外,在重建CU被放入图片缓冲器120的参考图片存储库并用于对未来的视频块进行编码之前,可以将环路滤波122(例如,去块滤波器、样本自适应偏移(SAO)和/或自适应环路滤波器(ALF))应用于重建CU。为了形成输出的视频比特流144,编码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被发送到熵编码单元138以被进一步压缩和打包来形成该比特流。
图1给出了通用的基于块的混合视频编码***的框图。输入视频信号被逐块(称为编码单元(CU))处理。与仅基于四叉树对块进行分区的HEVC不同,在AVS3中,将一个编码树单元(CTU)分割为多个CU,以适应基于四叉树/二叉树/扩展的四叉树的不同局部特征。此外,去除了HEVC中多分区单元类型的概念,即AVS3中不存在CU、预测单元(PU)和变换单元(TU)的分离;相反,每个CU始终用作预测和变换的基本单元,而无需进一步分区。在AVS3的树分区结构中,首先基于四叉树结构对一个CTU进行分区。然后,可以基于二叉树和扩展四叉树结构进一步对每个四叉树叶节点进行分区。
如图3A、图3B、图3C、图3D和图3E中所示,存在五种分割类型,四元分区、水平二元分区、垂直二元分区、水平扩展四叉树分区和垂直扩展四叉树分区。
图3A示出了图示根据本公开的多类型树结构中的块四元分区的示图。
图3B示出了图示根据本公开的多类型树结构中的块垂直二元分区的示图。
图3C示出了图示根据本公开的多类型树结构中的块水平二元分区的示图。
图3D示出了图示根据本公开的多类型树结构中的块垂直三元分区的示图。
图3E示出了图示根据本公开的多类型树结构中的块水平三元分区的示图。
在图1中,可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中的已经编码的相邻块的样点(称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。用于给定CU的时间预测信号通常由一个或多个运动矢量(MV)表示,MV指示当前CU与其时间参考之间的运动量和运动方向。并且,如果支持多个参考图片,则附加地发送一个参考图片索引,其用于标识时间预测信号来自参考图片存储库中的哪个参考图片。在空间和/或时间预测之后,编码器中的模式决策块例如基于率失真优化方法来选择最佳预测模式。然后从当前视频块中减去预测块;并且使用变换对预测残差进行去相关并且然后将其量化。对量化残差系数进行逆量化和逆变换,以形成重建残差,然后将该重建残差加回到预测块,以形成CU的重建信号。此外,在将重建CU放入参考图片存储库中并用作对未来的视频块进行编码的参考之前,可以将环路滤波(例如,去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器(ALF))应用于重建CU。为了形成输出的视频比特流,编码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被送到熵编码单元以被进一步压缩和打包。
图2示出了用于VVC的视频解码器的总体框图。具体地,图2示出了典型的解码器200框图。解码器200具有比特流210、熵解码212、反量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路滤波器228、运动补偿224、图片缓冲器226、预测相关信息234和视频输出232。
解码器200类似于位于图1的编码器100中的重建相关部分。在解码器200中,输入的视频比特流210首先通过熵解码212进行解码,以导出量化系数水平和预测相关信息。然后通过反量化214和逆变换216处理该量化系数水平以获得重建预测残差。在帧内/帧间模式选择器220中实现的块预测值机制被配置为基于已解码的预测信息来执行帧内预测222或运动补偿224。通过使用加法器218将来自逆变换216的重建预测残差与块预测值机制生成的预测输出相加来获得未滤波的重建像素的集合。
重建块在被存储在用作参考图片存储库的图片缓冲器226中之前可以进一步经过环路滤波器228。图片缓冲器226中的重建视频可以被发送以驱动显示设备,以及用于预测未来的视频块。在环路滤波器228开启的情况下,对这些重建像素执行滤波操作以导出最终的重建视频输出232。
图2给出了基于块的视频解码器的总体框图。首先在熵解码单元处对视频比特流进行熵解码。编码模式和预测信息被发送到空间预测单元(如果是帧内编码)或时间预测单元(如果是帧间编码)以形成预测块。残差变换系数被发送到反量化单元和逆变换单元以重建残差块。然后将预测块和残差块相加。重建块在被存储在参考图片存储库中之前可以进一步经过环路滤波。然后将参考图片存储库中的重建视频发送出去以用于显示,并且用于预测未来的视频块。
本公开的重点是改进VVC和AVS3标准中使用的几何分区模式(GPM)的编解码性能。在AVS3中,该工具也称为角度加权预测(AWP),其遵循与GPM相同的设计思想,但在某些设计细节上存在一些细微差别。为了便于描述本公开,在下文中,使用VVC标准中的现有GPM设计作为示例来解释GPM/AWP工具的主要方面。同时,由于在VVC和AVS3标准中应用的另一种称为具有运动矢量差的合并模式(MMVD)的现有帧间预测技术与本公开中提出的技术密切相关,因此还对其进行了简要回顾。之后,识别出当前GPM/AWP设计的一些缺陷。最后,详细介绍了所提出的方法。请注意,虽然在整个公开中将VVC标准中现有的GPM设计用作示例,但是对于现代视频编解码技术领域的技术人员来说,所提出的技术也可以应用于其他GPM/AWP设计或具有相同或类似设计思想的其他编解码工具。
几何分区模式(GPM)
在VVC中,支持几何分区模式以用于帧间预测。几何分区模式作为一种特殊的合并模式由一个CU级标志通过信号发送。在当前的GPM设计中,对于具有宽度和高度都不小于8且不大于64的每个可能的CU尺寸(不包括8×64和64×8),GPM模式总共支持64个分区。
当使用该模式时,CU被几何定位的直线分割成两部分,如图4所示(后文提供具体描述)。分割线的位置在数学上由特定分区的角度和偏移参数推导得出。CU中几何分区的每个部分使用其自身的运动进行帧间预测;针对每个分区只允许单向预测,即,每个部分具有一个运动矢量和一个参考索引。应用单向预测运动约束以确保针对每个CU只需要两次运动补偿预测,这与传统双向预测相同。如果几何分区模式用于当前CU,则指示几何分区的分区模式(角度和偏移)的几何分区索引和两个合并索引(每个分区一个)被进一步通过信号发送。最大GPM候选尺寸的数量以序列级别显式地通过信号发送。
图4示出了所允许的GPM分区,其中每个图片中的分割具有一个相同的分割方向。
单向预测候选列表构建
为了导出针对一个几何分区的单向预测运动矢量,首先直接从常规合并候选列表生成过程中导出一个单向预测候选列表。将n表示为几何单向预测候选列表中的单向预测运动的索引。第n个合并候选的LX运动矢量(其中X等于n的奇偶性)被用作针对几何分区模式的第n个单向预测运动矢量。
这些运动矢量在图5中用“x”标记(如下所述)。在不存在第n个扩展合并候选的对应LX运动矢量的情况下,同一候选的L(1-X)运动矢量被替代地用作针对几何分区模式的单向预测运动矢量。
图5示出了从针对GPM的合并候选列表的运动矢量的单向预测运动矢量选择。
沿几何分区边缘的混合
在使用其自身运动获得每个几何分区之后,将混合应用于两个单向预测信号以导出几何分区边缘周围的样点。针对CU的每个位置的混合权重是基于从每个单独样点位置到相应分区边缘的距离推导出的。
GPM信令设计
根据当前的GPM设计,GPM的使用通过以CU级别用信号发送一个标志来指示。仅在当前CU通过合并模式或跳过模式被编码时才会用信号发送该标志。具体地,当该标志等于1时,指示由该GPM预测当前CU。否则(该标志等于0),CU是通过另一种合并模式被编码,诸如为常规合并模式、具有运动矢量差的合并模式、组合的帧间和帧内预测等。在针对当前CU启用GPM时,进一步通过信号发送一个语法元素,即merge_GPM_partition_idx,以指示所应用的几何分区模式(其指定从CU中心的直线的方向和偏移,该直线将CU分割为两个分区,如图4所示)。之后,通过信号发送两个语法元素merge_gpm_idx0和merge_gpm_idx1,以指示用于第一GPM分区和第二GPM分区的单向预测合并候选的索引。更具体地讲,这两个语法元素用于如“单向预测合并列表构建”一节中所描述的从单向预测合并表中确定两个GPM分区的单向MV。根据当前的GPM设计,为了让两个单向MV更加不同,这两个索引不能相同。基于这样的先验知识,首先通过信号发送第一GPM分区的单向预测合并索引,并将其用作预测值,以减少第二GPM分区的单向预测合并索引的信令开销。更详细地来讲,如果第二单向预测合并索引小于第一单向预测合并索引,则直接通过信号发送第二单向预测合并索引的原始值。否则(第二单向预测合并索引大于第一单向预测合并索引),第二单向预测合并索引的值在被通过信号发送到比特流之前被减去1。在解码器侧,第一单向预测合并索引首先被解码。然后,对于第二单向预测合并索引的解码,如果解析值小于第一单向预测合并索引,则第二单向预测合并索引被设置为等于该解析值;否则(该解析值等于或大于第一单向预测合并索引),第二单向预测合并索引被设置为等于该解析值加1。表1示出了当前VVC规范中用于GPM模式的现有语法元素。
表1VVC规范的合并数据语法表中现有的GPM语法元素
另一方面,在当前的GPM设计中,截断的一元代码用于这两个单向预测合并索引(即merge_GPM_idx0和merge_GPM_idx1)的二值化。此外,由于这两个单向预测合并索引不能相同,因此使用不同的最大值来截断两个单向预测合并索引的码字,针对merge_gpm_idx0和merge_gpm_idx1,最大值分别被设置为等于MaxGPMMergeCand-1和MaxGPMMergeCand-2。MaxGPMMergeCand是单向预测合并列表中候选的数量。
当应用GPM/AWP模式时,应用两种不同的二值化方法将语法merge_GPM_partition_idx转换为二进制比特串。具体地,语法元素分别通过VVC标准和AVS3标准中的固定长度码和截断二进制码进行二值化。同时,对于AVS3中的AWP模式,不同的最大值用于该语法元素的值的二值化。具体地,在AVS3中,所允许的GPM/AWP分区模式的数量为56(即,merge_gpm_partition_idx的最大值为55),而在VVC中该数量增加到64(即,merge_gpm_partition_idx的最大值为63)。
具有运动矢量差的合并模式(MMVD)
除了从一个当前块的空间/时间相邻块导出该当前块的运动信息的传统合并模式之外,MMVD/UMVE模式作为一种特殊的合并模式被引入VVC和AVS标准中。具体地,在VVC和AVS3两者中,该模式被一个MMVD标志以编码块级别通过信号发送。在MMVD模式中,用于常规合并模式的合并列表中的前两个候选被选为用于MMVD的两个基本合并候选。在一个基本合并候选被选择并通过信号发送之后,附加语法元素被通过信号发送以指示添加到所选的合并候选的运动中的运动矢量差(motion vector differences,MVDs)。MMVD语法元素包括用于选择基本合并候选的合并候选标志、用于指定MVD大小的距离索引和用于指示MVD方向的方向索引。
在现有的MMVD设计中,该距离索引指定了MVD大小,该大小是基于距起点的预定义偏移的一个集合来定义的。如图6A和6B所示,该偏移被添加到起始MV(即,所选的基本合并候选的MV)的水平分量或垂直分量。
图6A示出了用于L0参考的MMVD模式。图6B示出了用于L1参考的MMVD模式。
表2示出了在AVS3分别应用的MVD偏移。
表2 AVS3中使用的MVD偏移
距离IDX 0 1 2 3 4
偏移(以亮度样本为单位) 1/4 1/2 1 2 4
如表3所示,该方向索引用于指定通过信号发送的MVD的符号。注意,MVD符号的含义可以根据起始MV而变化。当起始MV是单向预测MV或双向预测MV时(其中,双向预测MV的MV指向两个参考图片,这两个参考图片的图片顺序计数(POC)都大于当前图片的POC,或者都小于当前图片的POC),通过信号发送的符号是添加到该起始MV的MVD的符号。当起始MV是指向两个参考图片的双向预测MV时(其中,这两个参考图片中的一个图片的POC大于当前图片的POC,另一个图片的POC小于当前图片的POC),通过信号发送的符号被应用于L0 MVD并且通过信号发送的符号的相反值被应用于L1 MVD。
表3由方向索引规定的MVD符号
方向IDX 00 01 10 11
x轴 + N/A N/A
y轴 N/A N/A +
用于常规帧间模式的运动信令
类似于HEVC标准,除了合并/跳过模式之外,VVC和AVS3都允许一个帧间CU在比特流中明确指定其运动信息。总体而言,VVC和AVS3中的运动信息信令均保持与HEVC标准中的相同。具体地,首先通过信号发送一个帧间预测语法,即inter_pred_idc,以指示该预测信号来自列表L0还是列表L1还是来自两者。对于每个使用的参考列表,通过用信号发送针对对应的参考列表的一个参考图片索引ref_idx_lx(x=0,1)来标识对应的参考图片,并且对应的MV由一个MVP索引mvp_lx_flag(x=0,1)表示,该MVP索引用于选择MV预测值(MVpredictor,MVP),随后是其在目标MV与所选MVP之间的运动矢量差(motion vectordifference,MVD)。此外,在VVC标准中,以条带级别通过信号发送一个控制标志mvd_l1_zero_flag。当mvd_l1_zero_flag等于0时,在比特流中通过信号发送L1 MVD;否则(当mvd_l1_zero_flag标志等于1时),不通过信号发送L1 MVD,并且其值在编码器和解码器处总是被推断为零。
具有CU级别权重的双向预测
在VVC和AVS3之前的先前标准中,当不应用加权预测(WP)时,通过对从两个参考图片获得的单向预测信号进行平均来生成该双向预测信号。在VVC中,引入了一种编解码工具,即具有CU级别权重的双向预测(BCW),以提高双向预测的效率。具体地,代替简单的平均,通过允许两个预测信号的加权平均来扩展BCW中的双向预测,如下所示:
P′(i,j)=((8-w)·P0(i,j)+w·P1(i,j)+4)>>3
在VVC中,在当前图片是一个低延迟图片时,允许从预定义的权重值w∈{-2,3,4,5,10}的集合中选择一个BCW编码块的权重,并且权重4表示两个单向预测信号被相等加权的传统双向预测情况。对于低延迟而言,仅允许3个权重w∈{3,4,5}。一般来讲,虽然WP与BCW之间存在一些设计上的相似之处,但这两种编解码工具旨在解决不同粒度下的光亮度变化问题。然而,由于WP与BCW之间的交互可能会使VVC设计复杂化,因此不允许同时启用这两个工具。具体地,当针对一个条带启用WP时,则不通过信号发送该条带中所有双向预测CU的BCW权重并将其推断为4(即,应用相等的权重)。
模板匹配
模板匹配(Template matching,TM)是一种解码器侧MV推导方法,用于通过找到由当前CU的顶部和左侧的相邻重建样点构成的一个模板与参考图片中的参考块(即,与该模板的尺寸相同)之间的最佳匹配来细化当前CU的运动信息。如图7所示,在[-8,+8]的像素搜索范围内,围绕当前CU的初始运动矢量待搜索一个MV。最佳匹配可以被定义为在当前模板和参考模板之间实现最低匹配成本(例如,绝对差之和(sum of absolute difference,SAD)、绝对变换差的和(sum of absolute transformed difference,SATD)等等)的MV。有两种不同的方式可以将TM模式应用于帧间编码:
在AMVP模式中,基于模板匹配差来确定MVP候选,以提取达到当前块模板和参考块模板之间的最小差的MVP候选,然后TM仅对该特定的MVP候选执行MV细化。TM通过使用迭代菱形搜索,从[-8,+8]的像素搜索范围内的全像素MVD精度(或针对4像素AMVR模式的4像素)开始,对该MVP候选进行细化。AMVP候选可以通过使用具有全像素MVD精度(或者针对4像素AMVR模式的4像素)、然后依次为半像素和四分之一像素的MVD精度(根据如下表13中所规定的AMVR模式)的交叉搜索来被进一步细化。该搜索过程确保MVP候选在TM过程之后仍然保持如AMVR模式所指示的相同MV精度。
表13
在合并模式中,类似的搜索方法被应用于由合并索引指示的合并候选。如上表所示,TM可以一直向下执行到1/8像素MVD精度,或者跳过那些超过半像素MVD的精度,这取决于是否根据合并的运动信息使用替代插值滤波器(当AMVR为半像素模式时使用)。
如上所述,用于生成两个GPM分区的预测样点的单向运动是直接从常规合并候选中获得的。在空间/时间相邻块的MV之间不存在强相关性的情况下,从合并候选导出的单向MV可能不够准确而无法捕捉每个GPM分区的真实运动。运动估计能够提供更精确的运动,然而,由于可以应用于现有单向MV之上的任意运动细化,这会导致以不可忽略的信令开销为代价。另一方面,MVMD模式在VVC和AVS3标准中都被使用,这已经被证明是减少MVD信令开销的一种有效的信令机制。因此,将GPM与MMVD模式相组合也是有益的。这种组合可以通过提供更准确的MV来潜在地提高GPM工具的整体编码效率,以捕捉每个GPM分区的单独运动。
如前所述,在VVC和AVS3标准中,GPM模式仅适用于合并/跳过模式。由于并非所有的非合并帧间CU都能受益于GPM的灵活的非矩形分区,因此这样的设计在编码效率方面可能不是最优的。另一方面,由于与上述相同的原因,从常规合并/跳过模式导出的单向预测运动候选对于捕捉两个几何分区的真实运动并不总是精确的。基于这样的分析,可以通过将GPM模式合理扩展到非合并帧间模式(即,在比特流中明确地用信号发送其运动信息的CU)来预期额外的编码增益。然而,MV准确性的提高是以增加信令开销为代价的。因此,为了有效地将GPM模式应用于显式帧间模式,重要的是确定一种有效的信令方案,该方案可以最小化信令成本,同时为两个几何分区提供更准确的MV。
提出的方法
在本公开中,提出了通过在应用于每个GPM分区的现有单向MV之上应用进一步运动细化来进一步提高GPM的编解码效率的方法。所提出的方法被命名为具有运动矢量细化的几何分区模式(GPM-MVR)。此外,在所提出的这些方案中,以一种与现有MMVD设计类似的方式通过信号发送运动细化,即,基于预定义的MVD大小和运动细化的方向的集合。
在本公开的一个方面,提供了将GPM模式扩展到显式帧间模式的解决方案。为了便于描述,将这些方案命名为具有显式运动信令的几何分区模式(geometric partitionmode with explicit motion signaling,GPM-EMS)。具体而言,为了实现与常规帧间模式的更好协调,在所提出的GPM-EMS方案中使用了现有的运动信令机制,即MVP加MVD,以指定两个几何分区的对应的单向MV。
具有单独运动矢量细化的几何分区模式
为了提高GPM的编码效率,在本节中,提出了一种具有单独运动矢量细化的改进的几何分区模式。具体地,给定GPM分区,所提出的方法首先使用现有的语法merge_GPM_idx0和merge_GPM_idx1从现有的单向预测合并候选列表中识别用于两个GPM分区的单向MV,并将它们用作基本MV。在确定了这两个基本MV之后,引入两组新的语法元素来指定分别应用于这两个GPM分区的基本MV之上的运动细化的值。具体地,首先通过信号发送两个标志,即gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag,以指示是否将GPM-MVR分别应用于第一GPM分区和第二GPM分区。当一个GPM分区的标志等于1时,以MMVD方式通过信号发送应用于该分区的基本MV的该MVR的对应值,即指定该MVR的大小的一个距离索引(如由语法元素gpm_mvr_partIdx0_distance_idx和gpm_mvr_partIdx1_distance_idx所指示的)和指定该MVR的方向的一个方向索引(如由语法元素gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx1_distance_idx所指示的)。表4示出了所提出的GPM-MVR方法引入的语法元素。
表4具有用于两个GPM分区的单独MVR的所提出的GPM-MVR方法的语法元素(方法一)
基于表4所示的提出的语法元素,在解码器处,用于生成每个GPM分区的单向预测样点的最终MV等于通过信号发送的运动矢量细化与相应的基本MV之和。在实践中,可以预先定义不同的MVR大小和方向的集合,并将其应用于所提出的GPM-MVR方案,这可以在运动矢量精度和信令开销之间提供各种折衷。在一个具体示例中,提出将VVC标准中使用的八个MVD偏移(即,1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素和32像素)和四个MVD方向(即,+/-x轴和y轴)再用于所提出的GPM-MVR方案。在另一示例中,在AVS3标准中使用的现有五个MVD偏移{1/4像素、1/2像素、1像素、2像素和4像素}和四个MVD方向(即,+/-x和y轴)被应用于所提出的GPM-MVR方案中。
如“GPM信令设计”一节所述,由于用于两个GPM分区的单向MV不能相同,因此在现有的GPM设计中应用了一个约束,该约束强制这两个单向预测合并索引不同。然而,在所提出的GPM-MVR方案中,在现有的GPM单向MV的基础上应用了进一步的运动细化。因此,即使当两个GPM分区的基本MV相同时,只要两个运动矢量细化的值不相同,用于预测两个分区的最终单向MV仍可能不同。基于上述考虑,当应用所提出的GPM-MVR方案时,取消了这种约束(其限制两个单向预测合并索引不同)。此外,由于允许两个单向预测合并索引相同,因此将同一最大值MaxGPMMergeCand–1用于对merge_gpm_idx0和merge_gpm_idx1进行二值化,其中,MaxGPMMergeCand是该单向预测合并列表中的候选的数量。
如前面所分析的那样,当两个GPM分区的单向预测合并索引(即,merge_gpm_idx0和merge_gpm_idx1)相同时,这两个运动矢量细化的值不能相同,以确保用于这两个分区的最终MV不同。基于这样的条件,在本公开的一个实施例中,提出了一种信令冗余去除方法,以在两个GPM分区的单向预测合并索引相同时(即,merge_gpm_idx0等于merge_gpm_idx1),使用第一GPM分区的MVR来降低第二GPM分区的MVR的信令开销。在一个示例中,应用以下信令条件:
第一,当标志gpm_mvr_partIdx0_enable_flag等于0(即,GPM-MVR不应用于第一GPM分区)时,不通过信号发送gpm_mvr_partIdx1_enable_flag的标志,而是将其推断为1(即,将GPM-MVR应用于第二GPM分区)。
第二,当标志gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag都等于1(即,GPM-MVR应用于两个GPM分区)并且gpm_mvr_partIdx0_direction_idx等于gpm_mvr_partIdx1_direction_idx(即,两个GPM分区的MVR具有相同的方向)时,第一GPM分区的MVR(即gpm_mvr_partIdx0_distance_idx)的大小用于对第二GPM分区的MVR(即gpm_mvr_partIdx1_distance_idx)的大小进行预测。具体地,如果gpm_mvr_partIdx1_distance_idx小于gpm_mvr_partIdx0_distance_idx,则其直接通过信号发送其原始值。否则(gpm_mvr_partIdx1_distance_idx大于gpm_mvr_partIdx0_distance_idx),在被通过信号发送到比特流之前将其值减去1。在解码器侧,为了对gpm_mvr_partIdx1_distance_idx的值进行解码,如果解析的值小于gpm_mvr_partIdx0_distance_idx,则将gpm_mvr_partIdx1_distance_idx设置为等于该解析的值;否则(该解析的值等于或大于gpm_mvr_partIdx0_distance_idx),将gpm_mvr_partIdx1_distance_idx设置为等于该解析值的加1。在这种情况下,为了进一步减少开销,可以将不同的最大值MaxGPMMVRDistance–1和MaxGPMMVRDistance-2用于gpm_mvr_partIdx0_distance_idx和gpm_mvr_partIdx1_distance_idx的二值化,其中,MaxGPMMVRDistance是这些运动矢量细化的允许大小的数量。
在另一个示例中,提出了将信令顺序切换为gpm_mvr_partIdx0_direction_idx/gpm_mvr_partIdx1_direction_idx和gpm_mvr_partIdx0_distance_idx/gpm_mvr_partIdx1_distance_idx,以使这些MVR大小在这些MVR大小之前被通过信号发送。这样,遵循与上述相同的逻辑,编码器/解码器可以使用第一GPM分区的MVR方向来调节第二GPM分区的MVR方向的信令。在另一实施例中,提出了首先通过信号发送第二GPM分区的MVR大小和方向,并使用它们来调节第二GPM分区的MVR大小和方向的信令。
在另一个示例中,提出了在通过信号发送现有的GPM语法元素之前通过信号发送与GPM-MVR相关的语法元素。具体地,首先通过信号发送两个标志,即gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag,以指示是否将GPM-MVR分别应用于第一GPM分区和第二GPM分区。当一个GPM分区的该标志等于1时,距离索引(如语法元素gpm_mvr_partIdx0_distance_idx和gpm_mvr_partIdx1_distance_idx所指示的)和方向索引(如语法元素gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx1_distance_idx所指示的)指定该MVR的方向。之后,通过信号发送现有语法merge_gpm_idx0和merge_gpm_idx1,以识别用于两个GPM分区的单向MV,即基于MV。表5示出了所提出的GPM-MVR信令方案。
表5具有用于两个GPM分区的单独MVR的所提出的GPM-MVR方法的语法元素(方法二)
类似于表4中的信令方法,当应用表5中的GPM-MVR信令方法时,可以应用某些条件,以确保用于这两个GPM分区的预测的所得到的MV不相同。具体地,根据应用于第一GPM分区和第二GPM分区的MVR的值,提出以下条件来约束单向预测合并索引merge_gpm_idx0和merge_gpm_idx1的信令:
第一,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag的值都等于0(即,GPM-MVR对两个GPM分区都被禁用)时,merge_gpm_idx0和merge_gpm_idx1的值不能相同;
第二,当gpm_mvr_partIdx0_enable_flag等于1(即,为第一GPM分区启用GPM-MVR)且gpm_mvr_partIdx1_enable_flag等于0(即,对第二GPM分区禁用GPM-MVR)时,允许merge_gpm_idx0和merge_gpm_idx1的值相同。
第三,当pm_mvr_partIdx0_enable_flag等于0(即,对第一GPM分区禁用GPM-MVR)且gpm_mvr_partIdx1_enable_flag等于1(即,对第二GPM分区启用GPM-MVR)时,允许merge_gpm_idx0和merge_gpm_idx1的值相同。
第四,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable-flag的值都等于1(即,对两个GPM分区都启用了GPM-MVR)时,是否允许merge_gpm_idx0和merge_gpm_idx1的值相同的确定取决于应用于这两个GPM分区的MVR的值(如gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx0_distance_idx以及gpm_mvr_partIdx1_direction_idx和gpm_mvr_partIdx1_distance_idx所指示的)。若两个MVR的值相等,则不允许merge_gpm_idx0和merge_gpm_idx1相同。否则(两个MVR的值不相等),允许merge_gpm_idx0和merge_gpm_idx1的值相等。
在上述四种情形中,当不允许merge_gpm_idx0和merge_gpm_idx1的值相同时,一个分区的索引值可以用作另一个分区索引值的预测值。在一种方法中,提出了首先发通过信号发送merge_gpm_idx0,并使用其值来预测merge_gpm_idx1。具体地,在编码器处,当merge_gpm_idx1大于merge_gpm_idx0时,发送到解码器的merge_gpm_idx1的值减1。在解码器处,当接收到的merge_gpm_idx1的值等于或大于接收到的merge_gpm_idx0的值时,merge_gpm_idx1的值加1。在另一种方法中,提出了首先通过信号发送merge_gpm_idx1,并使用其值来预测merge_gpm_idx0。因此,在这种情况下,在编码器处,当merge_gpm_idx0大于merge_gpm_idx1时,发送到解码器的merge_gpm_idx0的值减1。在解码器处,当接收到的merge_gpm_idx0的值等于或大于接收到的merge_gpm_idx1的值时,merge_gpm_idx0的值加1。此外,与现有的GPM信令设计类似,不同的最大值MaxGPMMergeCand–1和MaxGPMMergeCand–2可分别用于根据信令顺序对第一和第二索引值进行二值化。另一方面,在由于这两个索引值之间没有相关性而允许merge_gpm_idx0和merge_gpm_idx1的值相同时,同一最大值MaxGPMMergeCand–1用于两个索引的二值化。
在上述方法中,为了降低信令成本,可以将不同的最大值应用于merge_gpm_idx0和merge_gpm_idx1的二值化。相应最大值的选择取决于这些MVR的解码值(如gpm_mvr_partIdx0_enable,gpm_mvr_partIdx1_enable,gpm_mvr_partIdx0_direction_idx,gpm_mvr_partIdx1_direction_idx,gpm_mvr_partIdx0_distance_idx和gpm_mvr_partIdx1_distance_idx_所指示的)。这种设计在不同的GPM语法元素之间引入了并不需要的解析依赖性,这可能会影响整个解析。为了解决这样的问题,在一个实施例中,提出了始终使用同一个最大值(如MaxGPMMergeCand-1)来解析merge_gpm_idx0和merge_gpm_idx1的值。当使用这种方法时,可以使用一个比特流一致性约束来防止两个GPM分区的两个解码的MV相同。在另一种方法中,还可以移除这种非身份约束,从而允许两个GPM分区的解码的MV相同。另一方面,当应用这种方法时(即,对merge_gpm_idx0和merge_gpm_idx1使用相同的最大值),merge_gpmidx0/merge_gpm_idx1与其他GPM-MVR语法元素之间不存在解析依赖性。因此,通过信号发送这些语法元素的顺序不再重要。在一个示例中,提出了将merge_gpm_idx0/merge_gpm_idx1的信令移动到gpm_mvr_partIdx0_enable,gpm_mvr_partIdx1_enable,gpm_mvr_partIdx0_direction_idx,gpm_mvr_partIdx1_direction_idx,gpm_mvr_partIdx0_distance_idx和gpm_mvr_partIdx1_distance_idx的信令之前。
具有对称运动矢量细化的几何分区模式
对于上面讨论的GPM-MVR方法,用信号发送两个单独的MVR值,其中一个被应用以改进仅一个GPM分区的基本MV。通过允许对每个GPM分区进行独立的运动细化,这种方法在提高预测精度方面是有效的。然而,考虑到需要从编码器到解码器发送两组不同的GMP-MVR语法元素,这种灵活的运动细化以增加信令开销为代价。为了降低信令开销,在本节中提出了一种具有对称运动矢量细化的几何分区模式。具体地,在该方法中,根据当前图片的图片顺序计数(picture order count,POC)值与和两个GPM分区相关联的参考图片之间的对称关系,为一个GPM CU通过信号发送一个单一MVR值,并将其用于两个GPM分区。表6示出了应用所提出的方法时的语法元素。
表6具有用于两个GPM分区的单独MVR的所提出的GPM-MVR方法的语法元素(方法一)
如表6所示,在(基于merge_gpm_idx0和merge_gpm_idx1)选择两个GPM分区的基本MV之后,通过信号发送一个标志gpm_mvr_enable_flag,以指示GPM-MVR模式是否应用于当前GPM CU。当该标志等于1时,它指示应用运动细化来增强两个GPM分区的基本MV。否则(当该标志等于零时),指示运动细化不应用于两个分区中的任何一个。如果启用了GPM-MVR模式,则进一步通过信号发送附加语法元素,以通过方向索引gpm_mvr_direction_idx和大小索引gpm_mvr_distance_idx指定所应用MVR的值。此外,类似于MMVD模式,MVR符号的含义可根据当前图片的POC与GPM分区的两个参考图片之间的关系而变化。具体地,当两个参考图片的两个POC均大于或小于当前图片的POC时,通过信号发送的符号是添加到两个基本MV的MVR的符号。否则(当一个参考图片的POC大于当前图片的POC而另一个参考图像的POC小于当前图片的POC时),通过信号发送的符号应用于第一GPM分区的MVR,而相反的符号被应用到第二GPM分区。在表6中,允许merge_gpm_idx0和merge_gpm_idx1的值相同。
在另一个示例中,提出了通过信号发送两个不同的标志,以分别控制两个GPM分区的GPM-MVR模式的启用/禁用。然而,当启用GPM-MVR模式时,基于语法元素gpm_mvr_direction_idx和gpm_mvr_distance_idx通过信号仅发送一个MVR。这种信令方法的对应语法表在表7中示出。
表7具有用于两个GPM分区的对称MVR的所提出的GPM-MVR方法的语法元素(方法二)
当应用表7中的信令方法时,允许merge_gpm_idx0和merge_gpm_idx1的值相同。然而,为了确保应用于两个GPM分区的所得到的MV不是冗余的,当标志gpm_mvr_partIdx0_enable_flag等于0(即,GPM-MVR未应用于第一GPM分区)时,标志gpm_mvr_partIdx1_enable_flag不被通过信号发送,而是被推断为1(即,将GPM-MVR应用于第二GPM分区)。
用于GPM-MVR的允许的MVR的适配
在上面讨论的GPM-MVR方法中,一组固定的MVR值用于一个视频序列中编码器和解码器的GPM CU。这种设计对于具有高分辨率或剧烈运动的视频内容来说是次优的。在这些情况下,MV往往很大,以使固定的MVR值可能不是捕捉这些块的真实运动的最佳值。为了进一步提高GPM-MVR模式的编解码性能,在本公开中提出支持允许GPM-MVR模式以各个编解码级别(诸如序列级别、图片/条带图片、编码块组级别等)选择的MVR值的适配。例如,可以根据不同视频序列的特定运动特性离线导出多个MVR集合以及对应的码字。编码器可以选择最佳MVR集合,并将所选集合的对应索引通过信号发送给解码器。
用于GPM-MVR率失真(Rate-Distortion)优化的编码器加速逻辑
对于所提出的GPM-MVR方案,为了确定用于每个GPM分区的最佳MVR,编码器可能需要多次测试每个GPM分区的率失真成本,每次都会改变所应用的MVR值。这会显著增加GPM模式的编码复杂性。为了解决编码复杂性问题,本节提出了以下快速编码逻辑:
第一,由于VVC和AVS3中应用了四叉树/二叉树/三叉树块分区结构,在率失真优化(RDO)过程中可以检查同一编码块,每个编码块通过一种不同的分区路径被划分。在当前VTM/HPM编码器实现中,每当通过不同块分区组合获得同一个CU时,总是测试GPM和GPM-MVR模式以及其他帧间和帧内编码模式。一般来讲,对于不同的分区路径,只有一个CU的相邻块可能不同,然而,这对一个CU将选择的最佳编码模式的影响相对较小。基于这样的考虑,为了减少正在应用的GPM RDO的总数,提出了在第一次检查一个CU的RD成本时存储是否选择GPM模式的决定。此后,当RDO过程再次(通过另一分区路径)检查同一CU时,仅当第一次为CU选择GPM时,才检查GPM(包括GPM-MVR)的RD成本。在针对一个CU的初始RD检查没有选择GPM的情况下,仅当通过另一分区路径实现相同的CU时,测试GPM(没有GPM-MVR)。在另一种方法中,当针对一个CU的初始RD检查没有选择GPM时,当通过另一分区路径实现相同的CU时,GPM和GPM-MVR均不被测试。
第二,为了减少GPM-MVR模式的GPM分区的数量,提出了在第一次检查一个CU的RD成本时,保持前M个GPM分区模式,而无最小的RD成本。之后,当RDO进程再次(通过另一个分区路径)检查同一CU时,仅测试用于GPM-MVR模式的M个GPM分区模式。
第三,为了减少初始RDO过程测试的GPM分区的数量,对于每个GPM分区,提出了在使用两个GPM分区不同的单向预测合并候选时,首先计算和绝对差(SAD)值。然后,对于一个特定分区模式下的每个GPM分区,选择具有最小SAD值的最佳单向预测合并候选,并计算分区模式的对应SAD值,该值等于两个GPM分区的最佳单向预测合并候选的SAD值之和。然后,对于接下来的RD过程,对于GPM-MVR模式,仅测试用于前一步骤的具有最佳SAD值的前N个分区模式。
具有显式运动信令的几何分区
在本节中,提出了多种方法来将GPM模式扩展到常规帧间模式的双向预测,其中GPM模式的两个单向MV从编码器通过信号明确地发送到解码器。
在第一个解决方案(解决方案一)中,提出了充分重用现有的双向预测运动信令来通过信号发送GPM模式的这两个单向MV。表8示出了所提出方案的修改的语法表,其中新添加的语法元素用斜体粗体表示。如表8所示,在该解决方案中,信令L0和L1运动信息的所有现有语法元素被完全重用,以分别指示两个GPM分区的单向MV。此外,假设L0 MV总是与第一GPM分区关联,并且L1 MV总是与第二GPM分区关联。另一方面,在表8中,在GPM标志(即,gpm_flag)之前通过信号发送帧间预测语法,即iinter_pred_idc,以使inter_pred_idc的值可用于调节gpm_flag的存在。具体地,仅当inter_pred_idc等于PRED_BI(即,双向预测)并且inter_affine_flag和sym_mvd_flag都等于0(即,既不通过仿射模式也不通过SMVD模式将该CU编码)时,才需要通过信号发送标志gpm_flag。当标志gpm_flag未被通过信号发送时,其值总是被推断为0(即,GPM模式被禁用)。当gpm_flag为1时,进一步通过信号发送另一语法元素gpm_partition_idx,以指示用于当前CU的(总共64个GPM分区中)所选的GPM模式。
表8解决方案一(选项一)的运动信令的修改语法表
/>
在另一方法中,提出了将标志gpm_flag的信令置于其他帧内信令语法元素之前,以使gpm_flag的值能够用于确定其他的这些帧内语法元素是否需要存在。表9示出了应用这种方法时的对应语法表,其中,新添加的语法元素为斜体粗体。可以看出,在表9中,首先通过信号发送gpm_flag。当gpm_flag等于1时,可以绕过inter_pred_idc,inter_affine_flag和sym_mvd_flag的相应信令。相反,三个语法元素的对应值可以分别推断为PRED_BI、0和0。
表9解决方案一(选项二)的运动信令的修改语法表
/>
在表8和表9中,SMVD模式不能与GPM模式组合。在另一示例中,提出了在当前CU被GPM模式编码时允许SMVD模式。当允许这种组合时,通过遵循SMVD的相同设计,假设两个GPM分区的MVD是对称的,以使仅需要通过信号发送第一GPM分区的MVD,并且第二GPM分区的MVD总是与第一MVD对称。当应用这种方法时,可以去除gpm_flag上的sym_mvd_flag的相应信令条件。
如上所述,在第一种解决方案中,总是假设L0 MV用于第一GPM分区且L1 MV用于第二GPM分区。这种设计可能不是最佳的,因为这种方法禁止两个GPM分区的MV来自同一预测列表(L0或L1)。为了解决这一问题,提出了一种替代的GPM-EMS方案,即解决方案二,其信令设计如表10所示。在表10中,新添加的语法元素以斜体粗体显示。如表10所示,首先通过信号发送标志gpm_flag。当该标志等于1(即,启用GPM)时,通过信号发送语法gpm_partition_idx以指定所选的GPM模式。然后,通过信号发送一个附加标志gpm_pred_dir_flag0,以指示第一GPM分区的MV来自的对应预测列表。当标志gpm_pred_dir_flag0等于1时,表示第一GPM分区的MV来自L1;否则(该标志等于0),则表示第一GPM分区的MV来自L0。之后,利用现有语法元素ref_idx_l0,mvp_l0_flag和mvd_coding()来通过信号发送参考图片索引、mvp索引和第一GPM分区的MVD的值。另一方面,与第一个分区类似,引入另一个语法元素gpm_pred_dir_flag1来选择第二GPM分区的对应预测列表,然后是现有语法ref_idx_l1,mvp_l1_flag和mvd_coding(),用于导出第二GPM分区的MV。
表10解决方案二的运动信令的修改语法表
/>
最后,应提及的是,鉴于GPM模式由两个单向预测分区组成(分割边缘上的混合样点除外),VVC和AVS3中的一些现有编解码工具专门设计用于双向预测,如双向光流,当针对一个帧内CU启用所提出的GPM-EMS方案时,可以自动绕过解码器侧运动矢量细化(decoder-side motion vector refinement,DMVR)和具有CU权重的双向预测(bi-prediction withCU weights,BCW)。例如,在为一个CU启用提出的一个GPM-EMS时,鉴于BCW不能用于GPM模式,无需进一步为该CU通过信号发送相应的BCW权重以减少信令开销。
GPM-MVR和GPM-EMS的结合
在本节中,提出了将用于一个CU的GPM-MVR和GPM-EMS与几何分区相结合。具体地,与其中基于合并的运动信令或显式信令中的仅一个可以被应用来通过信号发送两个GPM分区的单向预测MV的GPM-MVR或GPM-EMS不同,在所提出的方案中,它允许1)使用基于GPM-MVR的运动信令的一个分区和使用基于GPM-EMS的运动信令的另一个分区;或2)使用基于GPM-MVR的运动信令的两个分区;或3)使用基于GPM-EMS的运动信令的两个分区。使用表4中的GPM-MVR信令和表10中的GPM-EMS,表11示出了所提出的GPM-MV和GPM-EMS组合后的对应语法表。在表11中,新添加的语法元素以斜体粗体显示。如表11所示,分别为分区#1和#2引入了两个附加语法元素gpm_merge_flag0和gpm_merge_flag1,它们指定相应的分区使用基于GPM-MVR的合并信令或基于GPM-EMS的显式信令。当该标志为1时,意味着为一个分区启用GPM-MVR基础信令,该分区的GPM单向预测运动将通过merge_gpm_idxX、gpm_mvr_partIdxX_enabled_flag、gpm_mvr_partIdxX_direction_idx和gpm_mvr_partIdxX_distance_idx被发送,其中,X=0,1。否则,如果该标志为零,则意味着将使用语法元素GPM_pred_dir_flagX、ref_idx_lX、mvp_lX_flag和mvd_lX(其中,X=0,1)以GPM-EMS方式明确地通过信号发送该分区的单向预测运动。
表11用于具有GPM-MVR和GPM-EMS的结合的GPM模式的提出的语法表
/>
GPM-MVR与模板匹配的结合
在本节中,提供了不同的解决方案来将GPM-MVR与模板匹配相结合。
在方法一中,当一个CU以GPM模式被编码时,提出通过信号发送针对两个GPM分区的两个独立标志,每个标志指示对应分区的单向运动是否通过模板匹配被进一步细化。当该标志被启用时,使用当前CU的左侧和顶部的相邻重建样点来生成模板;然后,将遵循“模板匹配”一节中介绍的相同程序,通过对模板与其参考样本之间的差异进行最小化来细化分区的单向运动。否则(当标志被禁用时),模板匹配不应用于分区,可以进一步应用GPM-MVR。使用表5中的GPM-MVR信令方法为例,表11示出了当GPM-MVR与模板匹配相结合时的对应语法表。
表11所提出的将GPM-MVR与模板匹配相结合的方法的语法元素(方法一)
如表11所示,在所提出的方案中,首先通过信号发送两个附加标志gpm_tm_enable_flag0和gpm_tm_enable_flag1,以分别指示是否针对两个gpm分区细化了运动。当标志为1时,它指示TM被应用于细化一个分区的单向MV。当标志为0时,进一步通过信号发送一个标志(gpm_mvr_partIdx0_enable_flag或gpm_mvr_partIdx1_enable_fillag),以分别指示gpm-mvr是否应用于gpm分区。当一个GPM分区的标志等于1时,通过信号发送距离索引(如语法元素gpm_mvr_partIdx0_distance_idx和gpm_mvr_partIdx1_distance_idx所指示的)和方向索引(如语法元素gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx1_distance_idx所指示的),以指定该MVR的方向。之后,通过信号发送现有语法merge_gpm_idx0和merge_gpm_idx1,以识别用于两个GPM分区的单向MV。同时,类似于应用于表5的信令条件,可以应用以下条件以确保用于两个GPM分区的预测所得到的MV不相同。
第一,当gpm_tm_enable_flag0和gpm_tm_enable_flag1的值都等于1(即,对两个GPM分区都启用TM)时,merge_gpm_idx0和merge_gpm_idx1的值不能相同。
第二,当gpm_tm_enable_flag0和gpm_tm_enable_flag1中的一个为1而另一个为0时,允许merge_gpm_idx0和merge_gpm_idx1的值相同。
否则,即gpm_tm_enable_flag0和gpm_tm_enable_flag1都等于1:第一,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_fillag的值都等于0时(即,针对两个GPM分区都禁用了GPM-MVR),merge_gpm_idx0和merge_gpm_idx1的值不能相同;第二,当gpm_mvr_partIdx0_enable_flag等于1(即,对于第一GPM分区启用gpm-mvr)并且gpm_mvr_partIdx1_enable_fillag等于0(即,针对第二GPM分区禁用gpm-mvr)时,允许merge_gpm_idx0和merge_gpm_idx1的值相同;第三,当gpm_mvr_partIdx0_enable_flag等于0(即,针对第一GPM分区禁用GPM-MVR)并且gpm_mvr_partIdx1_enable_fillag等于1(即,对于第二GPM分区启用GPM-MVR)时,允许merge_gpm_idx0和merge_gpm_idx1的值相同;第四,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag的值都等于1时(即,针对于两个GPM分区都启用了GPM-MVR),关于merge_gpm_idx0和merge_gpm_idx1的值是否被允许相同的确定取决于应用于两个GPM分区的MVR的值(如由gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx0_distance_idx以及gpm_mver_partIdx1_direction_idx和gpm_mvr_partIdx1_distance_idx指示的)。若两个MVR的值相等,则不允许merge_gpm_idx0和merge_gpm_idx1相同。否则(两个MVR的值不相等),允许merge_gpm_idx0和merge_gpm_idx1的值相等。
在上述方法一中,TM和MVR仅应用于GPM。在这种方案中,禁止在TM模式的细化了的MV之上进一步应用MVR。因此,为了进一步为GPM提供更多的MV候选,提出了方法二,以使MVR偏移能够应用于TM细化了的MV之上。表12示出了当GPM-MVR与模板匹配相结合时的对应语法表。
表12所提出的将GPM-MVR与模板匹配相结合的方法的语法元素(方法二)
如表12所示,与表11不同,gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_fillag在gpm_tm_enable_flag0和gpm_tm_enable_flag1上的信令条件被去除。这样,无论TM是否被应用于细化一个GPM分区的单向运动,MV细化总是被允许应用于GPM分区中的MV。与之前类似,应当应用以下条件以确保两个GPM分区的得到的MV不相同。
第一,当gpm_tm_enable_flag0和gpm_tm_enable_flag1中的一个为1而另一个为0时,允许merge_gpm_idx0和merge_gpm_idx1的值相同。
否则,即gpm_tm_enable_flag0和gpm_tm_enable_flag1都等于1或者该两个标志都等于0:首先,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_fillag的值都等于0时(即,针对两个GPM分区都禁用了GPM-MVR),merge_gpm_idx0和merge_gpm_idx1的值不能相同;第二,当gpm_mvr_partIdx0_enable_flag等于1(即,对于第一GPM分区启用gpm-mvr)并且gpm_mvr_partIdx1_enable_fillag等于0(即,针对第二GPM分区禁用gpm-mvr)时,允许merge_gpm_idx0和merge_gpm_idx1的值相同;第三,当gpm_mvr_partIdx0_enable_flag等于0(即,针对第一GPM分区禁用GPM-MVR)并且gpm_mvr_partIdx1_enable_fillag等于1(即,对于第二GPM分区启用GPM-MVR)时,允许merge_gpm_idx0和merge_gpm_idx1的值相同;第四,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag的值都等于1时(即,针对于两个GPM分区都启用了GPM-MVR),关于merge_gpm_idx0和merge_gpm_idx1的值是否被允许相同的确定取决于应用于两个GPM分区的MVR的值(如由gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx0_distance_idx以及gpm_mver_partIdx1_direction_idx和gpm_mvr_partIdx1_distance_idx指示的)。若两个MVR的值相等,则不允许merge_gpm_idx0和merge_gpm_idx1相同。否则(两个MVR的值不相等),允许merge_gpm_idx0和merge_gpm_idx1的值相等。
在上述两种方法中,需要通过信号发送两个单独的标志来指示TM是否应用于每个GPM分区。添加的信令可能由于额外的开销而降低总体编码效率,尤其是在低比特率下。为了减少信令开销,代替引入额外的信令,引入提出了方法三,以将基于TM的单向MV***到GPM模式的单向MV候选列表中。基于TM的单向MV是按照“模板匹配”一节中描述的相同TM过程生成的,并使用GPM的原始单向MV作为初始MV。通过这种方案,不需要从编码器向解码器进一步发送额外的控制标志。相反,解码器可以通过从比特流接收到的相应合并索引(即merge_gpm_idx0和merge_gpm_idx1)来识别一个MV是否被TM细化。可以有不同的方法来排列常规GPM MV候选(即非TM)和基于TM的MV候选。在一种方法中,提出将基于TM的MV候选放置在MV候选列表的开头,然后是非基于TM的MV候选。在另一种方法中,提出首先将非基于TM的MV候选放在开头,然后是基于TM的候选。在又一种方法中,提出以交错的方式放置基于TM的MV候选和非基于TM的MV候选。例如,可以放置前N个非基于TM的候选;然后是所有基于TM的候选;最后,再放置剩下的非基于TM的候选。在另一个示例中,可以放置前N个基于TM的候选;然后是所有非基于TM的候选;最后,再放置剩下的基于TM的候选。在又一示例中,提出将非基于TM的候选和基于TM的候选一个接一个地放置,即,一个非基于TM的候选、一个基于TM的候选者等。
可以使用包括一个或多个电路的装置来实现上述这些方法,这些电路包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子元件。该装置可以使用与其它硬件或软件组件相结合的电路来执行上述方法。可以至少部分地使用一个或多个电路来实现上面公开的每个模块、子模块、单元或子单元。
图10示出了与用户接口1060耦合的计算环境(或计算设备)1010。计算环境1010可以是数据处理服务器的一部分。在一些实施例中,根据本公开的各种示例,计算设备1010可以执行如上所述的各种方法或过程(例如编码/解码方法或过程)中的任何一种。计算环境1010可以包括处理器1020、存储器1040和I/O接口1050。
处理器1020通常控制计算环境1010的整体操作,例如与显示、数据采集、数据通信和图像处理相关联的操作。处理器1020可以包括用于执行指令以执行上述方法中的全部或一些步骤的一个或更多个处理器。此外,处理器1020可以包括促进处理器1020与其他组件之间的交互的一个或更多个模块。处理器可以是中央处理单元(CPU)、微处理器、单片机、GPU等。
存储器1040被配置为存储各种类型的数据以支持计算环境1010的操作。存储器1040可以包括预定软件1042。这种数据的示例包括用于在计算环境1010上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器1040可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实现,例如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存存储器、磁盘或光盘。
I/O接口1050提供处理器1020与***接口模块(例如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1050可以与编码器和解码器耦合。
在一些实施例中,还提供了一种包括例如包括在存储器1040中的多个程序的非暂时性计算机可读存储介质,所述多个程序可以由计算环境1010中的处理器1020执行以用于执行上述方法。例如,例如,非暂时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光数据存储设备等。
非暂时性计算机可读存储介质中存储了多个程序,供具有一个或多个处理器的计算设备执行,其中,当由一个或多个处理器执行时,所述多个程序使该计算设备执行上述对于运动预测的方法。
在一些实施例中,计算环境1010可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、微控制器、微处理器来实现,以执行上述方法。
图8是根据本公开的示例的以GPM解码视频块的方法的流程图。
在步骤801中,处理器1020可以将视频块分割为第一几何分区和第二几何分区。
在步骤802中,处理器1020可以接收针对所述第一几何分区的第一TM启用标志并接收针对所述第二几何分区的第二TM启用标志。
在一些示例中,所述第一TM启用标志指示是否通过TM来细化所述第一分区的单向运动,并且其中所述第二TM启用标志指示是否通过所述TM来细化所述第二分区的单向运动。例如,第一TM启用标志可以是如表11或表12中所示的标志gpm_TM_enable_flag0,并且第二TM启用标记可以是如表11或表12所示的标志gpm_TM_enable_frag1。
在步骤803中,处理器1020可以接收针对所述第一几何分区的第一合并GPM索引以及针对所述第二几何分区的第二合并GPM索引。
在一些示例中,第一合并GPM索引标识针对第一几何分区的单向MV,而第二合并GPM索引标识针对第二几何分区的单方向MV。
在一些示例中,第一合并GPM索引可以是如表11或表12中所示的语法元素merge_gpm_idx0,并且第二合并GPM索引可以是如表11或表12所示的语法元素merge_gpm_idx1。
在步骤804中,处理器1020可以构建所述GPM的单向MV候选列表。
在步骤805中,处理器1020生成针对所述第一几何分区的单向MV以及针对所述第二几何分区的单向MV。
在一些示例中,如表11中所示,处理器1020可以响应于确定第一TM启用标志等于1而确定TM被应用来细化第一几何分区的单向MV,并且MVR不应用于第一几何分区。
在一些示例中,如表11中所示,处理器1020可以响应于确定第一TM使能标志等于0而接收针对第一几何分区的第一具有MVR的GPM(GPM with MVR,GPM-MVR)启用标志,其中第一GPM-MVR启用标志可以指示是否将GPM-MVR应用于第一几何分区。第一GPM-MVR启用标志可以是如表11中所示的GPM_tm_enable_flag0。
在一些示例中,如表11中所示,处理器1020可以响应于确定第一GPM-MVR启用标志等于1而接收针对第一几何分区的第一GPM-MVR距离索引和第一GPM-MVR方向索引。第一GPM-MVR距离索引和第一GPM-MVR方向索引可以分别指定针对第一几何分区的MVR的方向,如表11所示。
在一些示例中,如表11中所示,处理器1020可以响应于确定第二TM启用标志等于1而确定TM被应用来细化第二几何分区的单向MV,并且所述MVR不应用于第二几何分区。
在一些示例中,如表11中所示,处理器1020可以响应于确定第二TM启用标志等于0而接收针对第二几何分区的第二具有运动矢量细化的GPM(GPM with motion vectorrefinement,GPM-MVR)启用标志。第二GPM-MVR启用标志可以指示是否将GPM-MVR应用于第二几何分区。
在一些示例中,如表11中所示,处理器1020可以响应于确定第二GPM-MVR启用标志等于1而接收针对第一几何分区的第二GPM-MVR距离索引和第二GPM-MVR方向索引。第二GPM-MVR距离索引和第二GPM-MVR方向索引可以分别指定针对第二几何分区的MVR的方向。
在一些示例中,处理器1020可以基于所述第一TM启用标志和所述第二TM启用标志来进一步约束所述第一合并GPM索引和所述第二合并GPM索引。
在一些示例中,处理器1020可以响应于确定第一TM启用标志和第二TM启用标志分别等于1而确定第一合并GPM索引和第二合并GPM索引不相同。
在一些示例中,处理器1020可以响应于确定第一TM启用标志和第二TM启用标记中的一个等于1并而另一个等于0而确定允许第一合并GPM索引和第二合并GPM索引相同。在一些示例中,当允许第一合并GPM索引和第二合并GPM索引相同时,第一合并GPM索引和第二合并GPM索引可以相同或不同。
例如,在一些示例中,当gpm_tm_enable_flag0和gpm_tm_enable_flag1中的一个为1而另一个为0时,merge_gpm_idx0和merge_gpm_idx1的值可以相同。在一些示例中,当gpm_tm_enable_flag0和gpm_tm_enable_flag1中的一个为1而另一个为0时,merge_gpm_idx0和merge_gpm_idx1的值可以不同。
在一些示例中,处理器1020可以响应于确定第一TM启用标志和第二TM启用标志分别等于1而基于第一GPM-MVR启用标志以及第二GPM-MVR启用标志来进一步约束第一合并GPM索引以及第二合并GPM索引。
例如,处理器1020可以响应于确定第一GPM-MVR启用标志和第二GPM-MVR启用标志分别等于0而确定第一合并GPM索引和第二合并GPM索引不相同。
例如,处理器1020可以响应于确定第一GPM-MVR启用标志等于1并且第二GPM-MVR启用标志等于0,或者响应于确定第一GPM-MVR启用标记等于0并且第二GPS-MVR启用标志等于1,来确定允许第一合并GPM索引和第二合并GPM索引相同。在一些示例中,当允许第一合并GPM索引和第二合并GPM索引相同时,第一合并GPM索引和第二合并GPM索引可以相同或不同。
例如,处理器1020可以响应于确定第一GPM-MVR启用标志和第二GPS-MVR启用标志分别等于1,基于针对第一几何分区的第一MVR和针对第二几何分区的第二MVR来确定第一合并GPM索引和第二合并GPM索引。
在一些示例中,处理器1020可以响应于确定第一MVR等于第二MVR而确定第一合并GPM索引和第二合并GPM索引不相同。
在一些示例中,处理器1020可以响应于确定第一MVR不等于第二MVR而确定允许第一合并GPM索引和第二合并GPM索引相同。在一些示例中,当允许第一合并GPM索引和第二合并GPM索引相同时,第一合并GPM索引和第二合并GPM索引可以相同或不同。
在一些示例中,处理器1020可以基于所述第一TM启用标志和所述第二TM启用标志来进一步约束所述第一合并GPM索引和所述第二合并GPM索引,如表12所示。
例如,处理器1020可以响应于确定第一TM启用标志和第二TM启用标记中的一个等于1并而另一个等于0而确定允许第一合并GPM索引和第二合并合并GPM索引相同。
例如处理器1020可以响应于确定第一TM启用标志和第二TM启用标志两者都等于0或第一TM启用标志和第二TM启用标志两者都等于1,基于针对第一几何分区的第一GPM运动矢量细化(GPM-MVR)启用标志以及针对第二几何分区的第二GPM-MVR启用标志来约束第一合并GPM索引和第二合并GPM索引。第一GPM-MVR启用标志可以指示GPM-MVR是否被应用于第一几何分区,并且第二GPM-MVR启用标志可以指示是否将GPM-MVR应用于第二几何分区。
在一些示例中,处理器1020可以响应于确定第一GPM-MVR启用标志和第二GPM-MVR启用标志为0而确定第一合并GPM索引和第二合并GPM索引不相同。
在一些示例中,处理器1020可以响应于确定第一GPM-MVR启用标志等于1并且第二GPM-MVR启用标志等于0,或者响应于确定第一GPM-MVR启用标记等于0并且第二GPS-MVR启用标志等于1,来确定允许第一合并GPM索引和第二合并GPM索引相同。当允许第一合并GPM索引和第二合并GPM索引相同时,第一合并GPM索引和第二合并GPM索引可以相同或不同。
在一些示例中,处理器1020可以响应于确定第一合并GPM索引和第二合并GPM索引分别等于1,基于针对第一几何分区的第一运动矢量细化(MVR)和针对第二几何分区的第二MVR来确定第一合并GPM索引和第二合并GPM索引。
在一些示例中,处理器1020可以响应于确定第一MVR等于第二MVR而确定第一合并GPM索引和第二合并GPM索引不相同。此外,处理器1020可以响应于确定第一MVR不等于第二MVR而确定允许第一合并GPM索引和第二合并GPM索引相同。
图9是根据本公开的示例的以GPM解码视频块的方法的流程图。
在步骤901中,处理器1020可以将视频块分割为第一几何分区和第二几何分区。
在步骤902中,处理器1020可以构建所述GPM的单向MV候选列表。
在步骤903中,处理器1020可以接收针对所述第一几何分区的第一合并GPM索引以及针对所述第二几何分区的第二合并GPM索引。
在一些示例中,第一合并GPM索引可以是如表11或表12中所示的语法元素merge_gpm_idx0,并且第二合并GPM索引可以是如表11或表12所示的语法元素merge_gpm_idx1。
在步骤904中,处理器1020可以基于第一合并GPM索引和第二合并GPM索引来更新单向MV候选列表。
在一些示例中,第一合并GPM索引和第二合并GPM索引指示一个单向MV是否通过TM被细化。
在一些示例中,处理器1020可以基于GPM的原始单向MV生成基于TM的单向MV作为初始MV,并且通过将基于TM的单向MV添加到单向MV候选列表中来获得更新的单向MV候选名单。第一合并GPM索引和第二合并GPM索引可以指示基于TM的单向MV。
在一些示例中,处理器1020可以通过以下操作之一将基于TM的单向MV添加到单向MV候选列表中:在单向MV候选列表的开头添加基于TM的单向MV,使得非基于TM的单向MV跟随基于TM的单向MV;将基于TM的单向MV添加到单向MV候选列表中,使得基于TM的单向MV跟随在单向MV候选列表中的非基于TM的单向MV之后;或者将基于TM的单向MV添加到单向MV候选列表中,使得基于TM的单向MV和基于非TM的单向MV以交错方式排列在单向MV候选列表中。
在一些示例中,提供了一种用于以GPM解码视频块的装置。该装置包括处理器1020和存储器1040,存储器1040被配置为存储可由该处理器执行的指令;其中,该处理器在执行指令时被配置为执行如图8或图9所示的方法。
在一些其他示例中,提供了一种具有在其中存储有指令的非暂时性计算机可读存储介质。当指令由处理器1020执行时,该指令使该处理器执行如图8或图9所示的方法。
本领域技术人员通过考虑此处公开的说明书和实践,将清楚本公开的其他示例。本申请旨在涵盖遵循其一般原则的本公开的任何变化、使用或适应性改变,并包括在本领域已知或习惯实践范围内的与本公开的偏离。本说明书和示例仅被视为示例性的。
应当理解,本公开不限于上述和附图中所示的确切示例,并且可以在不偏离本发明的范围的情况下进行各种修改和改变。

Claims (19)

1.一种以几何分区模式(GPM)解码视频块的方法,包括:
将所述视频块分割为第一几何分区和第二几何分区;
接收针对所述第一几何分区的第一模板匹配(TM)启用标志和针对所述第二几何分区的第二TM启用标志,其中所述第一TM启用标志指示是否通过TM来细化所述第一分区的单向运动,并且其中所述第二TM启用标志指示是否通过所述TM来细化所述第二分区的单向运动;
接收针对所述第一几何分区的第一合并GPM索引以及针对所述第二几何分区的第二合并GPM索引;
构建所述GPM的单向运动矢量(MV)候选列表;以及
生成针对所述第一几何分区的单向MV以及针对所述第二几何分区的单向MV。
2.根据权利要求1所述的方法,还包括:
响应于确定所述第一TM启用标志等于1,确定所述TM被应用于细化所述第一几何分区的所述单向MV并且运动矢量细化(MVR)不应用于所述第一几何分区;以及
响应于确定所述第一TM启用标志等于0,接收针对所述第一几何分区的第一具有MVR的GPM(GPM-MVR)启用标志,其中所述第一GPM-MVR启用标志指示所述GPM-MVR是否应用于所述第一几何分区。
3.根据权利要求2所述的方法,还包括:
响应于确定所述第一GPM-MVR启用标志等于1,接收针对所述第一几何分区的第一GPM-MVR距离索引和第一GPM-MVR方向索引,其中所述第一GPM-MVR距离索引和所述第一GPS-MVR方向索引指定针对所述第一几何分区的所述MVR的方向。
4.根据权利要求3所述的方法,还包括:
响应于确定所述第二TM启用标志等于1,确定所述TM被应用于细化所述第二几何分区的所述单向MV并且所述运动矢量细化(MVR)不应用于所述第二几何分区;以及
响应于确定所述第二TM启用标志等于0,接收针对所述第二几何分区的第二具有运动矢量细化的GPM(GPM-MVR)启用标志,其中所述第二GPM-MVR启用标志指示所述GPM-MVR是否应用于所述第二几何分区。
5.根据权利要求4所述的方法,还包括:
响应于确定所述第二GPM-MVR启用标志等于1,接收针对所述第二几何分区的第二GPM-MVR距离索引和第二GPM-MVR方向索引,其中所述第二GPM-MVR距离索引和所述第二GPS-MVR方向索引指定针对所述第二几何分区的所述MVR的方向。
6.根据权利要求5所述的方法,还包括:
基于所述第一TM启用标志和所述第二TM启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引。
7.根据权利要求6所述的方法,其中,基于所述第一TM启用标志和所述第二TM启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引包括:
响应于确定所述第一TM启用标志和所述第二TM启用标志分别等于1,确定所述第一合并GPM索引和所述第二合并GPM索引不相同;以及
响应于确定所述第一TM启用标志和所述第二TM启用标志中的一个等于1而另一个等于0,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同。
8.根据权利要求6所述的方法,还包括:
响应于确定所述第一TM启用标志和所述第二TM启用标志分别等于1,基于所述第一GPM-MVR启用标志和所述第二GPM-MVR启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引。
9.根据权利要求8所述的方法,其中,基于所述第一GPM-MVR启用标志和所述第二GPM-MVR启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引包括:
响应于确定所述第一GPM-MVR启用标志和所述第二GPM-MVR启用标志分别等于0,确定所述第一合并GPM索引和所述第二合并GPM索引不相同;
响应于确定所述第一GPM-MVR启用标志等于1以及所述第二GPM-MVR启用标志等于0,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同;
响应于确定所述第一GPM-MVR启用标志等于0以及所述第二GPM-MVR启用标志等于1,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同;以及
响应于确定所述第一GPM-MVR启用标志和所述第二GPM-MVR启用标志分别等于1,基于针对所述第一几何分区的第一运动矢量细化(MVR)和针对所述第二几何分区的第二MVR来确定所述第一合并GPM索引和所述第二合并GPM索引。
10.根据权利要求9所述的方法,还包括:
响应于确定所述第一MVR等于所述第二MVR,确定所述第一合并GPM索引和所述第二合并GPM索引不相同;以及
响应于确定所述第一MVR不等于所述第二MVR,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同。
11.根据权利要求1所述的方法,还包括:
基于所述第一TM启用标志和所述第二TM启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引。
12.根据权利要求11所述的方法,其中,基于所述第一TM启用标志和所述第二TM启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引包括:
响应于确定所述第一TM启用标志和所述第二TM启用标志中的一个等于1而另一个等于0,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同;以及
响应于确定所述第一TM启用标志和所述第二TM启用标志均等于0或者所述第一TM启用标志与所述第二TM启用标志均等于1,基于针对所述第一几何分区的第一GPM运动矢量细化(GPM-MVR)启用标志和针对所述第二几何分区的第二GPM-MVR启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引,其中所述第一GPM-MVR启用标志指示所述GPM-MVR是否应用于所述第一几何分区,并且其中所述第二GPM-MVR启用标志指示所述GPM-MVR是否应用于所述第二几何分区。
13.根据权利要求12所述的方法,其中,基于针对所述第一几何分区的第一GPM-MVR启用标志和针对所述第二几何分区的第二GPM-MVR启用标志来约束所述第一合并GPM索引和所述第二合并GPM索引包括:
响应于确定所述第一GPM-MVR启用标志和所述第二GPM-MVR启用标志为0,确定所述第一合并GPM索引和所述第二合并GPM索引不相同;
响应于确定所述第一GPM-MVR启用标志等于1以及所述第二GPM-MVR启用标志等于0,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同;
响应于确定所述第一GPM-MVR启用标志等于0以及所述第二GPM-MVR启用标志等于1,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同;以及
响应于确定所述第一合并GPM索引和所述第二合并GPM索引分别等于1,基于针对所述第一几何分区的第一运动矢量细化(MVR)和针对所述第二几何分区的第二MVR来确定所述第一合并GPM索引和所述第二合并GPM索引。
14.根据权利要求13所述的方法,还包括:
响应于确定所述第一MVR等于所述第二MVR,确定所述第一合并GPM索引和所述第二合并GPM索引不相同;以及
响应于确定所述第一MVR不等于所述第二MVR,确定允许所述第一合并GPM索引和所述第二合并GPM索引相同。
15.一种以几何分区模式(GPM)解码视频块的方法,包括:
将所述视频块分割为第一几何分区和第二几何分区;
构建所述GPM的单向运动矢量(MV)候选列表;
接收针对所述第一几何分区的第一合并GPM索引以及针对所述第二几何分区的第二合并GPM索引;以及
基于所述第一合并GPM索引和所述第二合并GPM索引来更新所述单向MV候选列表,其中所述第一合并GPM索引与所述第二合并GPM索引指示是否通过模板匹配(TM)来细化一个单向MV。
16.根据权利要求15所述的方法,还包括:
基于所述GPM的原始单向MV生成基于TM的单向MV作为初始MV,其中所述第一合并GPM索引和所述第二合并GPM索引指示所述基于TM的单向MV;以及
通过将所述基于TM的单向MV添加到所述单向MV候选列表中来获得更新的单向MV候选列表。
17.根据权利要求16所述的方法,其中,将所述基于TM的单向MV添加到所述单向MV候选列表中包括如下操作之一:
将所述基于TM的单向MV添加在所述单向MV候选列表的开头,以使得非基于TM的单向MV跟随在所述基于TM的单向MV之后;
将所述基于TM的单向MV添加到所述单向MV候选列表中,以使得在所述单向MV候选列表中所述基于TM的单向MV跟随在所述非基于TM的单向MV之后;或者
将所述基于TM的单向MV添加到所述单向MV候选列表中,以使得所述基于TM的单向MV和所述非基于TM的单向MV以交错的方式排列在所述单向MV候选列表中。
18.一种用于视频编解码的装置,包括:
一个或多个处理器;以及
非暂时性计算机可读存储介质,其被配置为存储可由一个或多个处理器执行的指令;其中,所述一个或多个处理器在执行所述指令时被配置为执行权利要求1-17中任一项所述的方法。
19.一种存储计算机可执行指令的非暂时性计算机可读存储介质,所述指令在由一个或多个计算机处理器执行时,使所述一个或多个计算机处理器执行权利要求1-17中任一项所述的方法。
CN202280035306.3A 2021-05-17 2022-05-17 具有运动矢量细化的几何分区模式 Pending CN117321990A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163189661P 2021-05-17 2021-05-17
US63/189,661 2021-05-17
PCT/US2022/029704 WO2022245876A1 (en) 2021-05-17 2022-05-17 Geometric partition mode with motion vector refinement

Publications (1)

Publication Number Publication Date
CN117321990A true CN117321990A (zh) 2023-12-29

Family

ID=84141907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280035306.3A Pending CN117321990A (zh) 2021-05-17 2022-05-17 具有运动矢量细化的几何分区模式

Country Status (7)

Country Link
US (1) US20240098250A1 (zh)
EP (1) EP4352960A1 (zh)
JP (1) JP2024519848A (zh)
KR (1) KR20240008934A (zh)
CN (1) CN117321990A (zh)
MX (1) MX2023013556A (zh)
WO (1) WO2022245876A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072368A1 (en) * 2017-10-09 2019-04-18 Huawei Technologies Co., Ltd. LIMITED MEMORY ACCESS WINDOW FOR MOTION VECTOR REFINEMENT
CN116095312A (zh) * 2018-08-04 2023-05-09 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读介质
JP2022523697A (ja) * 2019-01-28 2022-04-26 オーピー ソリューションズ, エルエルシー 適応的な数の領域を伴う幾何学的分割におけるインター予測

Also Published As

Publication number Publication date
JP2024519848A (ja) 2024-05-21
US20240098250A1 (en) 2024-03-21
KR20240008934A (ko) 2024-01-19
EP4352960A1 (en) 2024-04-17
WO2022245876A1 (en) 2022-11-24
MX2023013556A (es) 2023-11-29

Similar Documents

Publication Publication Date Title
CN111937391B (zh) 用于视频编解码***中的子块运动补偿的视频处理方法和装置
CN112385228B (zh) 用于视频编解码的增强型帧内块复制模式的方法和装置
JP2022508177A (ja) イントラブロックコピーモードとインター予測ツールとの間の相互作用
WO2017076221A1 (en) Method and apparatus of inter prediction using average motion vector for video coding
TW201944781A (zh) 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置
US20230115074A1 (en) Geometric partition mode with motion vector refinement
US20240048700A1 (en) Geometric partition mode with explicit motion signaling
WO2023072287A1 (en) Method, apparatus, and medium for video processing
CN117321990A (zh) 具有运动矢量细化的几何分区模式
CN117242774A (zh) 用于具有运动矢量细化的几何分区模式的方法和设备
WO2024027784A1 (en) Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding
WO2024017224A1 (en) Affine candidate refinement
WO2023072283A1 (en) Method, apparatus, and medium for video processing
WO2024051725A1 (en) Method and apparatus for video coding
WO2023131047A1 (en) Method, apparatus, and medium for video processing
WO2024131931A1 (en) Method and apparatus of most probable mode list unification in video coding system
CN117643054A (zh) 具有运动矢量细化的几何分区模式
CN117597922A (zh) 用于利用运动矢量细化的几何分区模式的方法和设备
CN117426087A (zh) 用于具有运动矢量细化的几何划分模式的方法和设备
JP2024523534A (ja) 動きベクトル改良による幾何区画モード
CN116158079A (zh) 用于视频编解码的加权ac预测

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