CN117242774A - 用于具有运动矢量细化的几何分区模式的方法和设备 - Google Patents

用于具有运动矢量细化的几何分区模式的方法和设备 Download PDF

Info

Publication number
CN117242774A
CN117242774A CN202280032707.3A CN202280032707A CN117242774A CN 117242774 A CN117242774 A CN 117242774A CN 202280032707 A CN202280032707 A CN 202280032707A CN 117242774 A CN117242774 A CN 117242774A
Authority
CN
China
Prior art keywords
mvr
gpm
offset
distance
partition
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
CN202280032707.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 CN117242774A publication Critical patent/CN117242774A/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/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/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/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/1887Methods 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 a variable length codeword
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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

提供了用于视频解码的方法和设备。所述方法包括:接收与所述视频块相关联的控制变量,其中,所述控制变量使得能够在多个运动矢量细化(MVR)偏移集之间进行自适应切换;将所述视频块分区成第一几何分区和第二几何分区;接收一个或多个语法元素以确定来自选定MVR偏移集的应用于所述第一几何分区和所述第二几何分区的第一MVR偏移和第二MVR偏移;从所述第一几何分区和所述第二几何分区的候选列表中获得第一运动矢量(MV)和第二MV;基于所述第一MV和所述第二MV以及所述第一MVR偏移和所述第二MVR偏移来计算第一细化MV和第二细化MV;以及基于所述第一细化MV和所述第二细化MV来获得所述视频块的预测样点。

Description

用于具有运动矢量细化的几何分区模式的方法和设备
相关申请的交叉引用
本申请基于2021年5月31日提交的编号63/195,179的临时申请并要求其优先权,该临时申请的公开内容出于所有目的通过引用以其全文并入本文。
技术领域
本公开涉及视频编解码和压缩。更具体地,本公开涉及提高几何分区模式(geometric partition mode,GPM)(也被称为角度加权预测(angular weightedprediction,AWP)模式)的编解码效率的方法和装置。
背景技术
可以使用各种视频编解码技术来压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,如今,一些众所周知的视频编解码标准包括通用视频编解码(Versatile Video Coding,VVC)、高效视频编解码(High Efficiency Video Coding,HEVC,也被称为H.265或MPEG-H第2部分)和高级视频编解码(Advanced Video Coding,AVC,也被称为H.264或MPEG-4第10部分),这些视频编解码标准由ISO/IEC MPEG和ITU-T VECG联合开发。AO媒体视频1(AOMedia Video 1,AV1)由开放媒体联盟(Alliance for OpenMedia,AOM)开发作为其先前标准VP9的后续标准。音视频编解码(Audio Video Coding,AVS)(其是指数字音频和数字视频压缩标准)是中国数字音视频编解码技术标准工作组(Audio and Video Coding Standard Workgroup of China)开发的另一个视频压缩系列标准。大多数现有视频编解码标准建立在著名的混合视频编解码框架上,即使用基于块的预测方法(例如,帧间预测、帧内预测)来减少视频图像或序列中存在的冗余,并使用变换编解码来压缩预测误差的能量。视频编解码技术的一个重要目标在于将视频数据压缩成在避免或最小化视频质量降级的同时使用较低比特率的形式。
发明内容
本公开提供了用于视频编解码的方法和装置以及非暂态计算机可读存储介质。
根据本公开的第一方面,提供了一种用于以GPM对视频块进行解码的方法。所述方法可以包括接收与所述视频块相关联的控制变量,其中,所述控制变量使得能够在多个运动矢量细化(motion vector refinement,MVR)偏移集之间进行自适应切换,并且所述控制变量在编解码级别上被应用。所述方法可以包括将所述视频块分区成第一几何分区和第二几何分区。所述方法可以包括接收一个或多个语法元素以确定来自选定MVR偏移集的应用于所述第一几何分区和所述第二几何分区的第一MVR偏移和第二MVR偏移。所述方法可以包括从所述第一几何分区和所述第二几何分区的候选列表中获得第一运动矢量(motionvector,MV)和第二MV。所述方法可以包括基于所述第一MV和所述第二MV以及所述第一MVR偏移和所述第二MVR偏移来计算第一细化MV和第二细化MV。此外,所述方法可以包括基于所述第一细化MV和所述第二细化MV来获得所述视频块的预测样点。
根据本公开的第二方面,提供了一种用于视频解码的装置。所述装置可以包括一个或多个处理器以及非暂态计算机可读存储介质。所述非暂态计算机可读存储介质被配置为存储可由所述一个或多个处理器执行的指令。所述一个或多个处理器在执行所述指令时被配置为执行所述第一方面中的所述方法。
根据本公开的第三方面,提供了一种非暂态计算机可读存储介质。所述非暂态计算机可读存储介质可以存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行所述第一方面中的所述方法。
附图说明
结合在说明书中并构成本说明书的一部分的附图图示了与本公开一致的示例,并与所述描述一起用于解释本公开的原理。
图1是根据本公开的示例的编码器的框图。
图2A是图示根据本公开的示例的多类型树结构中的块分区的图。
图2B是图示根据本公开的示例的多类型树结构中的块分区的图。
图2C是图示根据本公开的示例的多类型树结构中的块分区的图。
图2D是图示根据本公开的示例的多类型树结构中的块分区的图。
图2E是图示根据本公开的示例的多类型树结构中的块分区的图。
图3是根据本公开的示例的解码器的框图。
图4是根据本公开的示例的允许几何分区(GPM)分区的图示。
图5是图示根据本公开的示例的单向预测运动矢量选择的表。
图6A是根据本公开的示例的运动矢量差(motion vector difference,MMVD)模式的图示。
图6B是根据本公开的示例的MMVD模式的图示。
图7是根据本公开的示例的模板匹配(template matching,TM)算法的图示。
图8是根据本公开的示例的以GPM对视频块进行解码的方法。
图9是图示根据本公开的示例的与用户界面耦接的计算环境的图。
具体实施方式
现在将详细参考实施例,附图中图示了这些实施例的示例。以下描述均参考附图,在附图中,除非另有说明,否则不同附图中的相同标号表示相同或相似的要素。以下实施例描述中阐述的实施方式并不表示与本公开一致的所有实施方式。而是,它们仅仅是与所附权利要求中叙述的与本公开相关的方面一致的装置和方法的示例。
本公开中使用的术语仅出于描述特定实施例的目的,而不旨在限制本公开。如在本公开和所附权利要求中使用的,单数形式“一个(a)”、“一种(an)”和“所述(the)”旨在也包括复数形式,除非上下文另有明确指示。还应当理解,本文使用的术语“和/或”旨在表示并包括相关联列举项目中的一个或多个项目的任何或所有可能组合。
应当理解,尽管本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是这些信息不应受这些术语的限制。这些术语仅仅是用来将一类信息与另一类信息进行区分。例如,在不脱离本公开的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当……时”或“在……时”或“响应于判断”。
第一代AVS标准包括中国国家标准“信息技术高级音视频编解码第2部分:视频”(Information Technology,Advanced Audio Video Coding,Part 2:Video,被称为AVS1)和“信息技术高级音视频编解码第16部分:广播电视视频”(Information Technology,Advanced Audio Video Coding Part 16:Radio Television Video,被称为AVS+)。与MPEG-2标准相比,第一代AVS标准可以在相同的感知质量下提供大约50%的比特率节省。AVS1标准视频部分于2006年2月作为中国国家标准颁布。第二代AVS标准包括中国国家标准“信息技术高效多媒体编解码”(Information Technology,Efficient MultimediaCoding,被称为AVS2)系列,其主要针对额外HD TV节目的传输。AVS2的编解码效率是AVS+的编解码效率的两倍。2016年5月,AVS2作为中国国家标准发布。同时,AVS2标准视频部分由电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)作为一项国际应用标准提交。AVS3标准是针对UHD视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率。2019年3月,在第68届AVS会议上,AVS3-P2基线已经完成,其提供了超过HEVC标准大约30%的比特率节省。目前,存在一种被称为高性能模型(high performance model,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中,视频帧被分区成多个视频块以进行处理。对于每个给定的视频块,基于帧间预测方法或帧内预测方法来形成预测。
从加法器128将表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差的预测残差发送到变换130。然后,将变换系数从变换130发送到量化132,以进行熵减小。然后,将量化系数馈送到熵编码138,以生成压缩视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142(比如视频块分区信息、运动矢量(motion vector,MV)、参考图片索引和帧内预测模式)也通过熵编码138被馈送并且被保存到压缩比特流144中。压缩比特流144包括视频比特流。
在所述编码器100中,还需要解码器相关电路,以重建像素用于预测目的。首先,通过反量化134和逆变换136来重建预测残差。将该重建预测残差与块预测值140组合,以生成当前视频块的未滤波的重建像素。
空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已编码的相邻块的样点(被称为参考样点)的像素来预测当前视频块。
时间预测(也被称为“帧间预测”)使用来自已编码的视频图片的重建像素来预测当前视频块。时间预测减少了在视频信号中固有的时间冗余。给定编码单元(coding unit,CU)或编码块的时间预测信号通常由指示当前CU与其时间参考之间的运动量和运动方向的一个或多个MV用信号传输。进一步地,如果支持多个参考图片,则另外发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。
运动估计114获取视频输入110和来自图片缓冲器120的信号,并且将运动估计信号输出到运动补偿112。运动补偿112获取视频输入110、来自图片缓冲器120的信号以及来自运动估计114的运动估计信号,并且将运动补偿信号输出到帧内/帧间模式决策116。
在执行空间预测和/或时间预测之后,所述编码器100中的帧内/帧间模式决策116例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块减去所述块预测值140,并且使用变换130和量化132对所产生的预测残差进行解相关。通过反量化134对所产生的量化残差系数进行反量化,并通过逆变换136对该量化残差系数进行逆变换以形成重建残差,然后将该重建残差加回到预测块以形成CU的重建信号。在将重建的CU置于图片缓冲器120的参考图片存储中并将其用于对未来的视频块进行编码之前,可以对所述重建的CU应用进一步的环路滤波122,如去块滤波器、样点自适应偏移(sample adaptive offset,SAO)和/或自适应环路滤波器(adaptive in-loop filter,ALF)。为了形成输出视频比特流144,将编码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送至熵编码单元138,以进行进一步压缩和打包来形成比特流。
图1给出了通用的基于块的混合视频编码***的框图。输入视频信号被逐块(被称为编码单元(coding unit,CU))处理。不同于仅仅基于四叉树来对块进行分区的HEVC,在AVS3中,一个编码树单元(coding tree unit,CTU)被分割成多个CU,以适应基于四叉树/二叉树/扩展四叉树而不同的局部特性。另外,HEVC中的多种分区单元类型的概念被移除了,即,CU、预测单元(prediction unit,PU)和变换单元(transform unit,TU)的拆分不存在于AVS3中;相反,每个CU始终用作预测和变换两者的基本单元,而不进行进一步分区。在AVS3的树分区结构中,首先基于四叉树结构对一个CTU进行分区。然后,可以基于二叉树和扩展四叉树结构对每个四叉树叶节点进行进一步分区。
如图2A、图2B、图2C、图2D和图2E所示,有五种分割类型,四元分区、水平二元分区、垂直二元分区、水平扩展四叉树分区以及垂直扩展四叉树分区。
图2A示出了图示根据本公开的多类型树结构中的块四元分区的图。
图2B示出了图示根据本公开的多类型树结构中的块垂直二元分区的图。
图2C示出了图示根据本公开的多类型树结构中的块水平二元分区的图。
图2D示出了图示根据本公开的多类型树结构中的块垂直三元分区的图。
图2E示出了图示根据本公开的多类型树结构中的块水平三元分区的图。
在图1中,可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中的已编码的相邻块的样点(被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也被称为“帧间预测”或“运动补偿预测”)使用来自已编码的视频图像的重建像素来预测当前视频块。时间预测减少了在视频信号中固有的时间冗余。给定CU的时间预测信号通常由指示当前CU与其时间参考之间的运动量和运动方向的一个或多个运动矢量(motion vector,MV)用信号传输。同样,如果支持多个参考图片,则另外发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。在进行空间和/或时间预测之后,编码器中的模式决策块例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块减去预测块;并且使用变换对预测残差进行解相关然后进行量化。对经量化的残差系数进行反量化和逆变换以形成重建残差,然后将该重建残差加回到预测块以形成CU的重建信号。在将重建的CU置于参考图片存储中并将其用作参考以对未来的视频块进行编码之前,可以对所述重建的CU应用进一步的环路滤波,如去块滤波器、样点自适应偏移(sample adaptive offset,SAO)和自适应环路滤波器(adaptive in-loop filter,ALF)。为了形成输出视频比特流,将编码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送到熵编码单元,以进行进一步压缩和打包。
图3是图示根据本公开的一些实施方式的基于块的视频解码器的框图。首先在熵解码单元(例如,熵解码301)处对视频比特流进行熵解码。将编码模式和预测信息发送到空间预测单元(在帧内编码的情况下)(例如,帧内预测308)或时间预测单元(在帧间编码的情况下)(例如,运动补偿307)以形成预测块。将残差变换系数发送到反量化单元(例如,反量化302)和逆变换单元(例如,逆变换303)以重建残差块。然后将预测块和残差块加在一起(例如,通过帧内/帧间模式选择309和/或存储在存储器304中)。重建块可以进一步通过环路滤波,然后被存储在参考图片存储(例如,图片缓冲器306)中。然后,将参考图片存储中的重建视频发送出去以驱动显示设备,并用于预测未来的视频块。
本公开的重点是改善在VVC和AVS3标准两者中使用的几何分区模式(geometricpartition mode,GPM)的编解码性能。在AVS3中,所述工具也被称为角度加权预测(angularweighted prediction,AWP),其遵循相同的GPM设计精神,但在某些设计细节上有一些细微的差异。为了便于描述本公开,在下文中,VVC标准中的现有GPM设计被用作示例来解释GPM/AWP工具的主要方面。同时,还简要回顾了在VVC标准和AVS3标准两者中应用的称为具有运动矢量差的合并模式(merge mode with motion vector differences,MMVD)的另一种现有帧间预测技术,因为所述技术与本公开中提出的技术密切相关。之后,指出了当前GPM/AWP设计的一些缺点。最后,详细提供了所提出的方法。请注意,虽然在整个公开中使用VVC标准中的现有GPM设计作为示例,但是对于现代视频编解码技术领域的技术人员来说,所提出的技术也可以应用于其他GPM/AWP设计或具有相同或类似设计精神的其他编解码工具。
几何分区模式(Geometric Partition Mode,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由合并模式或跳过模式进行编码时才用信号传输。具体地,当标志等于一时,其指示当前CU由GPM预测。否则(标志等于零),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说明了在当前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)。
具有运动矢量差的合并模式(Merge Mode with Motion Vector Differences,MMVD)
除了从一个当前块的空间/时间邻居得到所述一个当前块的运动信息的传统合并模式之外,还在VVC和AVS标准中引入MMVD/UMVE模式作为一种特殊的合并模式。具体地,在VVC和AVS3中,所述模式由编码块级别的一个MMVD标志用信号传输。在MMVD模式下,常规合并模式的合并列表中的前两个候选被选择为MMVD的两个基本合并候选。在选择并用信号传输一个基本合并候选之后,用信号传输附加语法元素以指示添加到所选合并候选的运动的运动矢量差(motion vector difference,MVD)。MMVD语法元素包括用于选择基本合并候选的合并候选标志、用于指定MVD幅值的距离索引和用于指示MVD方向的方向索引。
在现有的MMVD设计中,距离索引指定MVD幅值,所述MVD幅值是基于一组预定义的偏移从起点定义的。如图6A和图6B所示,偏移被添加到起始MV(即,选定基本合并候选的MV)的水平分量或垂直分量。
图6A示出了用于L0参考的MMVD模式。图6B示出了用于L1参考的MMVD模式。
表2说明了在AVS3中分别应用的MVD偏移。
表2AVS3中使用的MVD偏移
如表3所示,方向索引用于指定用信号传输的MVD的符号。应当注意,MVD符号的含义可以根据起始MV而变化。当起始MV是单向预测MV或双向预测MV且MV指向两个参考图片(其POC都大于当前图片的POC,或都小于当前图片的POC)时,用信号传输的符号是添加到起始MV的MVD的符号。当起始MV是指向两个参考图片的双向预测MV且一个图片的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)来识别对应的参考图片,并且用一个MVP索引mvp_lx_flag(x=0,1)来表示对应的MV,所述MVP索引用于选择MV预测值(MV predictor,MVP),随后是其在目标MV与选定MVP之间的运动矢量差(motion vector difference,MVD)。另外,在VVC标准中,一个控制标志mvd_l1_zero_flag是在条带级别上用信号传输的。当mvd_l1_zero_flag等于0时,在比特流中用信号传输L1 MVD;否则(当mvd_l1_zero_flag标志等于1时),不用信号传输L1 MVD,并且其值在编码器和解码器处总是被推断为零。
具有CU级别权重的双向预测
在VVC和AVS3之前的先前标准中,当未应用加权预测(weighted prediction,WP)时,双向预测信号是通过对从两个参考图片获得的单向预测信号进行平均来生成的。在VVC中,为了提高双向预测的效率,引入了一种工具编解码,即具有CU级别权重的双向预测(bi-prediction with CU-level weight,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)是一种用于通过找到由当前CU的顶部和左侧相邻重建样点构成的一个模板与参考图片中的参考块(即,与模板尺寸相同)之间的最佳匹配来细化当前CU的运动信息的解码器侧MV推导方法。如图7所图示的,在[-8,+8]像素搜索范围内围绕当前CU的初始运动矢量来搜索一个MV。最佳匹配可以被定义为实现最低匹配成本的MV,例如,当前模板与参考模板之间的绝对差和(sum of absolute difference,SAD)、绝对变换差和(sum of absolute transformed difference,SATD)等。有两种不同的方式将TM模式应用于帧间编解码:
在AMVP模式下,基于模板匹配差异来确定MVP候选,以挑选实现当前块模板与参考块模板之间的最小差异的一个,然后TM仅对该特定MVP候选执行MV细化。TM通过使用迭代菱形搜索在[-8,+8]像素搜索范围内从全像素MVD精度(或对于4像素AMVR模式为4像素)开始来细化该MVP候选。可以通过使用具有全像素MVD精度(或对于4像素AMVR模式为4像素)、随后按顺序是半像素和四分之一像素精度的交叉搜索根据AMVR模式来进一步细化AMVP候选,如下表14中所指定的。该搜索过程确保MVP候选在TM过程之后仍然保持如AMVR模式所指示的相同MV精度。
表14
在合并模式下,对由合并索引指示的合并候选应用类似的搜索方法。如上表所示,取决于是否根据合并的运动信息使用替代插值滤波器(当AMVR采用半像素模式时使用),TM可以一直执行到1/8像素MVD精度或者跳过超过半像素MVD精度的那些。
如以上提及的,用于生成两个GPM分区的预测样点的单向运动是从常规合并候选中直接获得的。在空间/时间相邻块的MV之间没有很强相关性的情况下,从合并候选中得到的单向MV可能不足以准确地捕获每个GPM分区的真实运动。运动估计能够提供更准确的运动,然而,由于可以在现有的单向MV之上应用任意的运动细化,这是以不可忽略的信令开销为代价的。另一方面,VVC标准和AVS3标准两者中都使用MVMD模式,所述模式已经被证明是一种用于减少MVD信令开销的高效信令机制。因此,将GPM与MMVD模式相结合也可能是有益的。这种组合可以通过提供更准确的MV以捕获每个GPM分区的单独运动来潜在地提高GPM工具的整体编解码效率。
如之前所讨论的,在VVC标准和AVS3标准两者中,GPM模式仅适用于合并/跳过模式。假定所有非合并帧间CU都无法受益于GPM的灵活非矩形分区,则这种设计在编解码效率方面可能不是最佳的。另一方面,由于与以上提及的相同的原因,从常规合并/跳过模式得到的单向预测运动候选并不总是精确地捕获两个几何分区的真实运动。基于这样的分析,可以通过将GPM模式合理扩展到非合并帧间模式(即,在比特流中明确地用信号传输其运动信息的CU)来预期额外的编解码增益。然而,MV准确度的提高是以增加信令开销为代价的。因此,为了将GPM模式高效地应用于显式帧间模式,重要的是识别一种可以在为两个几何分区提供更准确的MV的同时最小化信令成本的有效信令方案。
所提出的方法
在本公开中,提出了通过在应用于每个GPM分区的现有单向MV之上应用进一步的运动细化来进一步提高GPM的编解码效率的方法。所提出的方法被命名为具有运动矢量细化的几何分区模式(geometric partition mode with motion vector refinement,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分区的标志等于一时,应用于分区的基本MV的MVR的对应值以MMVD形式用信号传输,即,一个距离索引(如语法元素gpm_mvr_partIdx0_distance_idx和gpm_mvr_partIdx1_distance_idx所指示的)用于指定MVR的幅值,并且一个方向索引(如语法元素gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx1_distance_idx所指示的)用于指定MVR的方向。表4说明了由所提出的GPM-MVR方法引入的语法元素。
表4具有两个GPM分区的单独MVR的所提出的GPM-MVR方法(方法一)的语法元素
/>
基于如表4所示的所提出的语法元素,在解码器处,用于生成每个GPM分区的单向预测样点的最终MV等于用信号传输的运动矢量细化与对应的基本MV之和。在实践中,可以预定义不同组的MVR幅值和方向并将其应用于所提出的GPM-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信令设计”部分中所讨论的,因为用于两个GPM分区的单向MV不能相同,所以在现有GPM设计中应用了一个约束,所述约束强制两个单向预测合并索引不同。然而,在所提出的GPM-MVR方案中,在现有的GPM单向MV之上应用了进一步的运动细化。因此,即使当两个GPM分区的基本MV相同,只要两个运动矢量细化的值不相同,用于预测两个分区的最终单向MV仍可能不同。基于以上考虑,当应用所提出的GPM-MVR方案时,去除了约束(其将两个单向预测合并索引限制为不同)。另外,因为允许两个单向预测合并索引相同,所以相同的最大值MaxGPMMergeCand-1被用于merg_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分区应用GPM-MVR)。
第二,当标志gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag两者都等于1(即,对两个GPM分区应用GPM-MVR)并且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),其值在用信号传输到比特流之前减去一。在解码器侧,为了对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设置为等于解析值加一。在这种情况下,为了进一步减少开销,可以将不同的最大值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分区的标志等于一时,距离索引(如语法元素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分区都禁用GPM-MVR),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的值相同。
第三,当gpm_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_gpm_idx0/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语法元素。为了减少信令开销,在本节中,提出了一种具有对称运动矢量细化的几何分区模式。具体地,在该方法中,根据当前图片和与两个GPM分区相关联的参考图片的图片顺序计数(picture order count,POC)值之间的对称关系,针对一个GPM CU用信号传输一个单个MVR值并将其用于两个GPM分区。表6说明了应用所提出的方法时的语法元素。表6具有两个GPM分区的对称MVR的所提出的GPM-MVR方法(方法一)的语法元素
如表6所示,在选择了两个GPM分区的基本MV之后(基于merge_gpm_idx0和merge_gpm_idx1),用信号传输一个标志gpm_mvr_enable_flag,以指示是否对当前GPM CU应用GPM-MVR模式。当标志等于一时,其指示应用运动细化来增强两个GPM分区的基本MV。否则(当标志等于零时),其指示没有对两个分区中的任一个应用运动细化。如果启用GPM-MVR模式,则进一步用信号传输附加的语法元素,以通过方向索引gpm_mvr_direction_idx和幅值索引gpm_mvr_distance_idx来指定所应用的MVR的值。另外,类似于MMVD模式,MVR符号的含义可以根据当前图片和GPM分区的两个参考图片的POC之间的关系而变化。具体地,当两个参考图片的POC都大于或小于当前图片的POC时,用信号传输的符号是添加到两个基本MV的MVR的符号。否则(当一个参考图片的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分区应用GPM-MVR)。
GPM-MVR的允许MVR的自适应
在以上讨论的GPM-MVR方法中,对一个视频序列中的编码器和解码器处的GPM CU使用一组固定的MVR值。这种设计对于具有高分辨率或剧烈运动的视频内容来说是次优的。在这些情况下,MV往往非常大,使得固定的MVR值对于捕获那些块的真实运动来说可能不是最佳的。为了进一步提高GPM-MVR模式的编解码性能,在本公开中提出了支持允许由GPM-MVR模式在各种编解码级别(如序列级别、图片/条带图片、编码块组级别等)下选择的MVR值的自适应。例如,可以根据不同视频序列的特定运动特性来离线得到多个MVR集合以及对应的码字。编码器可以选择最佳MVR集合并且将所选集合的对应索引用信号传输到解码器。
在本公开的一些实施例中,除了包括八个偏移幅值(即,1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素和32像素)和四个MVR方向(即,+/-x轴和y轴)的默认MVR偏移之外,还为GPM-MVR模式提出了如下表中定义的另外的MVR偏移。表15说明了第二MVR偏移集中提出的偏移幅值。表16说明了第二MVR偏移集中提出的MVR方向。
表15
距离IDX 0 1 2 3 4 5 6 7 8
偏移(以亮度样点为单位) 1/4 1/2 1 2 3 4 6 8 16
表16
方向IDX 000 001 010 011 100 101 110 111
x轴 +1 –1 0 0 +1/2 -1/2 -1/2 +1/2
y轴 0 0 +1 –1 +1/2 -1/2 +1/2 -1/2
在上表15和表16中,x轴和y轴中的值+1/2和-1/2指示水平和竖直方向的对角线方向(+45°和-45°)。如表15和表16所示,与现有的MVR偏移集相比,第二MVR偏移集引入了两个新的偏移幅值(即,3像素和6像素)和四个偏移方向(45°、135°、225°和315°)。新添加的MVR偏移使第二MVR偏移集更适合于对具有复杂运动的视频块进行编解码。另外,为了实现两个MVR偏移集之间的自适应切换,提出了用于在某个编解码级别(例如,序列、图片、条带、CTU和编码块等)上用信号传输的一个控制标志,以指示为在所述编解码级别下应用的GPM-MVR模式选择哪组MVR偏移。假设所提出的自适应是在图片级别上执行的,下面的表17说明了在图片报头处用信号传输的对应语法元素。
表17
在上表17中,新标志ph_gpm_mvr_offset_set_flag用于指示对用于图片的对应GPM MVR偏移的选择。当标志等于0时,这意味着对图片中的GPM-MVR模式应用默认的MVR偏移(即,1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素和32像素的幅值以及四个MVR方向+/-x轴和y轴)。否则,当标志等于1时,这意味着对图片中的GPM-MVR模式应用第二MVR偏移(即,1/4像素、1/2像素、1像素、2像素、3像素、4像素、6像素、8像素、16像素的幅值以及八个MVR方向+/-x轴、y轴和45°、135°、225°和315°)。
为了用信号传输MVR偏移,可以应用不同的方法。首先,假设MVR方向通常在统计上是均匀分布的,提出使用固定长度码字来二值化MVR方向。以默认MVR偏移为例,总共有四个方向,并且码字00、01、10和11可以用来表示这四个方向。另一方面,因为MVR偏移幅值可能具有适于视频内容的特定运动特性的变化分布,所以提出使用可变长度码字来二值化MVR幅值。下表18示出了一个特定码字表,所述码字表可以用于默认MVD偏移集和第二MVD偏移集的MVR幅值的二值化。
表18
在其他实施例中,也可以应用不同的固定长度可变码字来二值化默认MVR偏移集和第二MVR偏移集的MVR偏移幅值,例如,可以交换以上码字表中的二进制位“0”和“1”以适于CABAC引擎的各种0/1统计。在另一种方法中,可以应用一种基于统计的二值化方法来自适应地为MVR偏移幅值即时设计最佳码字,而无需信令。用于确定最佳码字的统计可以是但不限于在多个先前已编码的图片、条带和/或编码块上收集的MVR偏移幅值的概率分布。可以在各种频率级别上重新确定/更新码字。例如,可以在每次以GPM-MVR模式对CU进行编码时进行更新。在另一个示例中,每当有多个CU(例如,8个或16个)以GPM-MVR模式进行编码时,可以重新确定和/或更新所述更新。在另一种方法中,代替重新设计一组新的码字,所提出的基于统计的方法也可以用于基于同一组码字对MVR幅值进行重新排序,以便将较短的码字分配给更多使用的幅值,而将较长的码字分配给较少使用的幅值。以下面的表格为例,假设统计是在图片级别上收集的,列“使用”指示由先前已编码图片中的GPM-MVR编码块使用的不同MVR偏移幅值的对应百分比。根据“使用”列中的值,使用相同的二值化方法(即,截断的一元码字),编码器/解码器可以基于其使用对MVR幅值进行排序;之后,编码器/解码器可以将最短的码字(即,“1”)分配给最频繁使用的MVR幅值(即,1像素),将第二最短的码字(即,“01”)分配给第二最频繁使用的MVR幅值(即,1/2像素),并将最长的码字(即,“0000001”和“0000000”)分配给两个最少使用的MVR幅值(即,16像素和32像素)。正如我们所看到的,通过这种重新排序方案,同一组码字可以被自由地重新排序,以适应MVR幅值的统计分布的动态变化。
MVR偏移 使用 二值化
1/4像素 15% 001
1/2像素 20% 01
1像素 30% 1
2像素 10% 0001
4像素 9% 00001
8像素 6% 000001
16像素 5% 0000001
32像素 5% 0000000
GPM-MVR率失真优化的编码器加速逻辑
对于所提出的GPM-MVR方案,为了确定每个GPM分区的最佳MVR,编码器可能需要多次测试每个GPM分区的率失真成本,每次都改变所应用的MVR值。这可能会显著增加GPM模式的编码复杂度。为了解决编码复杂性问题,本节提出了以下快速编码逻辑:
第一,由于在VVC和AVS3中应用的四叉/二叉/三叉树块分区结构,在率失真优化(rate-distortion optimization,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成本时保持没有最小RD成本的前M个GPM分区模式。之后,当通过RDO过程(通过另一个分区路径)再次检查同一CU时,仅针对GPM-MVR模式测试那些M个GPM分区模式。
第三,为了减少针对一的初始RDO过程测试的GPM分区的数量,对于每个GPM分区,提出在对两个GPM分区使用不同的单向预测合并候选时首先计算绝对差值和(sumabsolute difference,SAD)值。然后,对于一个特定分区模式下的每个GPM分区,选择具有最小SAD值的最佳单向预测合并候选,并计算所述分区模式的对应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中,帧间预测语法(即,inter_pred_idc)在GPM标志(即,gpm_flag)之前用信号传输,使得inter_pred_idc的值可以用于调节gpm_flag的存在。具体地,仅当inter_pred_idc等于PRED_BI(即,双向预测)且inter_affine_flag和sym_mvd_flag两者均等于0(即,CU既不通过仿射模式也不通过SMVD模式被编码)时,才需要用信号传输标志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分区,而L1MV用于第二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模式由两个单向预测分区构成(除了分割边缘上的混合样点),当针对一个帧间CU启用所提出的GPM-EMS方案时,可以自动绕过VVC和AVS3中专门为双向预测设计的一些现有编解码工具,例如,双向光流、解码器侧运动矢量细化(decoder-side motion vector refinement,DMVR)和具有CU权重的双向预测(bi-prediction with CU weight,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-MVR和GPM-EMS被组合之后的对应语法表。在表11中,新添加的语法元素是斜体粗体的。如表11所示,分别为分区#1和#2引入了两个附加的语法元素gpm_merge_flag0和gpm_merge_flag1,这两个附加的语法元素指定对应的分区使用基于GPM-MVR的合并信令或基于GPM-EMS的显式信令。当标志为一时,这意味着针对GPM单向预测运动将通过merge_gpm_idxX、gpm_mvr_partIdxX_enabled_flag、gpm_mvr_partIdxX_direction_idx和gpm_mvr_partIdxX_distance_idx用信号传输的分区启用GPM-MVR基本信令,其中,X=0,1。否则,如果标志为零,则意味着将使用语法元素gpm_pred_dir_flagX、ref_idx_lX、mvp_lX_flag和mvd_lX通过GPM-EMS方式明确地用信号传输分区的单向预测运动,其中,X=0,1。
表11所提出的GPM-MVR与GPM-EMS组合的GPM模式的语法表
/>
GPM-MVR与模板匹配的组合
在本节中,提供了用于将GPM-MVR与模板匹配组合的不同解决方案。
在方法一中,当以GPM模式对一个CU进行编码时,提出用信号传输两个GPM分区的两个单独的标志,每个标志指示对应分区的单向运动是否通过模板匹配进一步细化。当标志被启用时,使用当前CU的左侧和顶部相邻重构样点来生成模板;然后,按照“模板匹配”部分中介绍的相同程序,通过最小化模板与其参考样点之间的差异来细化分区的单向运动。否则(当标志被禁用时),不对分区应用模板匹配,可以进一步应用GPM-MVR。使用表5中的GPM-MVR信令方法作为示例,表12说明了当GPM-MVR与模板匹配组合时的对应语法表。在表12中,新添加的语法元素是斜体粗体的。
表12所提出的将GPM-MVR与模板匹配组合的方法(方法一)的语法元素
/>
如表12所示,在所提出的方案中,首先用信号传输两个附加标志gpm_tm_enable_flag0和gpm_tm_enable_flag1,以分别指示是否针对两个GPM分区细化了运动。当标志为一时,其指示应用TM来细化一个分区的单向MV。当标志为零时,进一步用信号传输一个标志(gpm_mvr_partIdx0_enable_flag或gpm_mvr_partIdx1_enable_flag),以分别指示是否对GPM分区应用GPM-MVR。当一个GPM分区的标志等于一时,用信号传输距离索引(如语法元素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中的一个为一而另一个为零时,允许merge_gpm_idx0和merge_gpm_idx1的值相同。
否则,即,gpm_tm_enable_flag0和gpm_tm_enable_flag1两者都等于一:第一,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag两者的值都等于0时(即,针对两个GPM分区都禁用GPM-MVR),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的值相同;第三,当gpm_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的值相同。
在以上方法一中,TM和MVR专门应用于GPM。在这种方案中,禁止在TM模式的细化MV之上进一步应用MVR。因此,为了进一步为GPM提供更多的MV候选,提出了方法二,使得能够在TM细化MV之上应用MVR偏移。表13说明了当GPM-MVR与模板匹配组合时的对应语法表。在表13中,新添加的语法元素是斜体粗体的。
表13所提出的将GPM-MVR与模板匹配组合的方法(方法二)的语法元素
如表13所示,不同于表12,去除了gpm_tm_enable_flag0和gpm_tm_enable_flag1上的gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag的信令条件。使得无论是否应用TM来细化一个GPM分区的单向运动,总是允许将MV细化应用于GPM分区的MV。与前面类似,应该应用以下条件来确保两个GPM分区的所得MV不相同。
第一,当gpm_tm_enable_flag0和gpm_tm_enable_flag1中的一个为一而另一个为零时,允许merge_gpm_idx0和merge_gpm_idx1的值相同。
否则,即,gpm_tm_enable_flag0和gpm_tm_enable_flag1两者都等于一,或者这两个标志都等于零:第一,当gpm_mvr_partIdx0_enable_flag和gpm_mvr_partIdx1_enable_flag两者的值都等于0时(即,针对两个GPM分区都禁用GPM-MVR),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的值相同;第三,当gpm_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的值相同。
在以上两种方法中,需要用信号传输两个单独的标志,以指示是否对每个GPM分区应用TM。由于附加的开销,所添加的信令可能会降低整体编解码效率,尤其是在低比特率下。为了减少信令开销,替代引入附加的信令,提出了方法三以将基于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的候选,以此类推。
可以使用包括一个或多个电路的装置来实施上述方法,该一个或多个电路包括专用集成电路(application specific integrated circuit,ASIC)、数字信号处理器(digital signal processor,DSP)、数字信号处理设备(digital signal processingdevice,DSPD)、可编程逻辑设备(programmable logic device,PLD)、现场可编程门阵列(field programmable gate array,FPGA)、控制器、微控制器、微处理器或其他电子部件。该装置可以将这些电路与用于执行上述方法的其他硬件或软件部件结合使用。上文公开的每个模块、子模块、单元或子单元可以至少部分地使用该一个或多个电路来实施。
图9示出了与用户界面960耦接的计算环境(或计算设备)910。计算环境910可以是数据处理服务器的一部分。在一些实施例中,计算设备910可以执行如上文根据本公开的各种示例所述的各种方法或过程(如编码/解码方法或过程)中的任一种。计算环境910可以包括处理器920、存储器940以及I/O接口950。
处理器920通常控制计算环境910的整体操作,如与显示、数据获取、数据通信以及图像处理相关联的操作。处理器920可以包括用于执行指令的一个或多个处理器,以执行上述方法中的所有或一些步骤。而且,处理器920可以包括促进处理器920与其他部件之间的交互的一个或多个模块。处理器可以是中央处理单元(Central Processing Unit,CPU)、微处理器、单片机、GPU等。
存储器940被配置为存储各种类型的数据以支持计算环境910的操作。存储器940可以包括预定软件942。这种数据的示例包括用于在计算环境910上操作的任何应用程序或方法的指令、视频数据集、图像数据等。存储器940可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实施,如静态随机存取存储器(static random accessmemory,SRAM)、电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、可擦可编程只读存储器(erasable programmable read-onlymemory,EPROM)、可编程只读存储器(programmable read-only memory,PROM)、只读存储器(read-only memory,ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口950提供处理器920与***接口模块(如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口950可以与编码器和解码器耦接。
在一些实施例中,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括多个程序,这些程序比如包括在存储器940中,可由计算环境910中的处理器920执行,用于执行上述方法。例如,所述非暂态计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光学数据存储设备等。
所述非暂态计算机可读存储介质中存储有用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序在由所述一个或多个处理器执行时使所述计算设备执行上述运动预测方法。
在一些实施例中,计算环境910可以用一个或多个专用集成电路(application-specific integrated circuit,ASIC)、数字信号处理器(digital signal processor,DSP)、数字信号处理设备(digital signal processing device,DSPD)、可编程逻辑设备(programmable logic device,PLD)、现场可编程门阵列(field-programmable gatearray,FPGA)、图形处理单元(graphical processing unit,GPU)、控制器、微控制器、微处理器、或其他电子部件来实施,用于执行上述方法。
图8是图示根据本公开的示例的用于以GPM对视频块进行解码的方法的流程图。
在步骤801中,处理器1020可以接收与视频块相关联的控制标志。控制标志可以是包括一个或多个标志的控制变量,如二进制标志、非二进制标志或任何其他变量。在一个或多个示例中,控制变量可以是如表17所示的标志“ph_gpm_mvr_offset_set_flag”。
在一些示例中,控制变量使得能够在多个MVR偏移集之间进行自适应切换,并且控制变量在编解码级别上被应用。
在一些示例中,编解码级别可以是序列级别、图片/条带级别、CTU级别或编码块级别。例如,当在图片级别上在编码器侧用信号传输控制变量时,解码器侧相应地接收控制变量,以指示为了在图片级别上选择与当前视频块相关联的对应MVR偏移的目的而选择哪个MVR偏移集。
在步骤802中,处理器1020可以将视频块分区成第一几何分区和第二几何分区。
在步骤803中,处理器1020可以接收一个或多个语法元素以确定来自选定MVR偏移集的应用于第一几何分区和第二几何分区的第一MVR偏移和第二MVR偏移。选定MVR偏移可以是根据控制变量选择的一个MVR偏移。
在一些示例中,多个MVR偏移集可以包括第一MVR偏移集和第二MVR偏移集。在一些示例中,第一MVR偏移集可以包括多个默认MVR偏移,所述多个默认MVR偏移包括多个默认偏移幅值和多个默认MVR方向。在一些示例中,第二MVR偏移集可以包括多个替代MVR偏移,所述多个替代MVR偏移包括多个替代偏移幅值和多个替代MVR方向。在一些示例中,第二MVR偏移集可以包括比第一MVR偏移集更多的偏移幅值和比第一MVR偏移集更多的MVR方向。例如,多个默认偏移幅值和多个默认MVR方向可以包括八个偏移幅值(即,1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素和32像素)和四个MVR方向(即,+/-x轴和y轴)。多个替代偏移幅值和多个替代MVR方向可以包括如表15和表16所示的偏移和方向。
如表15和表16所示,除了多个默认偏移幅值之外,替代MVR偏移集可以包括更多的偏移幅值,并且除了多个默认MVR方向之外,替代MVR偏移集可以包括更多的MVR方向。
在一些示例中,处理器1020可以响应于确定控制变量等于0来确定应用第一MVR偏移集,并且可以响应于确定控制变量等于1来确定应用第二MVR偏移集。
在一些示例中,可以使用可变长度码字来分别二值化所述多个默认偏移幅值和所述多个替代偏移幅值。
如表18所示,第一默认偏移幅值(即,1/4像素)指示距视频块1/4像素的距离并且被二值化为001,第二默认偏移幅值(即,1/2像素)指示距视频块1/2像素的距离并且被二值化为1,第三默认偏移幅值(即,1像素)指示距视频块1像素的距离并且被二值化为01,第四默认偏移幅值(即,2像素)指示距视频块2像素的距离并且被二值化为0001,第五默认偏移幅值(即,4像素)指示距视频块4像素的距离并且被二值化为00001,第六默认偏移幅值(即,8像素)指示距视频块8像素的距离并且被二值化为000001,第七默认偏移幅值(即,16像素)指示距视频块16像素的距离并且被二值化为0000001,并且第八默认偏移幅值(即,32像素)指示距视频块32像素的距离并且被二值化为0000000。
此外,如表18所示,第一替代偏移幅值(即,1/4像素)指示距视频块1/4像素的距离并且被二值化为001,第二替代偏移幅值(即,1/2像素)指示距视频块1/2像素的距离并且被二值化为1,第三替代偏移幅值(即,1像素)指示距视频块1像素的距离并且被二值化为01,第四替代偏移幅值(即,2像素)指示距视频块2像素的距离并且被二值化为0001,第五替代偏移幅值(即,3像素)指示距视频块3像素的距离并且被二值化为00001,第六替代偏移幅值(即,4像素)指示距视频块4像素的距离并且被二值化为000001,第七替代偏移幅值(即,6像素)指示距视频块6像素的距离并且被二值化为0000001,第八替代偏移幅值(即,8像素)指示距视频块8像素的距离并且被二值化为00000001,并且第九替代偏移幅值(即,16像素)指示距视频块16像素的距离并且被二值化为00000000。
在一些示例中,处理器1020可以进一步接收指示是否对第一几何分区应用MVR的第一几何分区启用语法元素(例如,gpm_mvr_partIdx0_enable_flag);响应于确定几何分区启用语法元素等于1,接收第一方向语法元素(例如,gpm_mvr_partIdx0_direction_idx)和第一幅值语法元素(例如,gpm_mvr_partIdx0_distance_idx),所述第一方向语法元素和所述第一幅值语法元素指示基于选定MVR偏移集确定的第一几何分区的第一MVR偏移的方向和幅值;接收指示是否对第二几何分区应用MVR的第二几何分区启用语法元素(例如,gpm_mvr_partIdx1_enable_flag);并且响应于确定第二几何分区启用语法元素等于1,接收第二方向语法元素(例如,gpm_mvr_partIdx1_direction_idx)和第二幅值语法元素(例如,gpm_mvr_partIdx1_distance_idx),所述第二方向语法元素和所述第二幅值语法元素指示基于选定MVR偏移集确定的第二几何分区的第二MVR偏移的方向和幅值。
在步骤804中,处理器1020可以从第一几何分区和第二几何分区的候选列表中获得第一MV和第二MV。
在步骤805中,处理器1020可以基于第一MV和第二MV以及第一MVR偏移和第二MVR偏移来计算第一细化MV和第二细化MV。
在步骤806中,处理器1020可以基于第一细化MV和第二细化MV来获得视频块的预测样点。
在一些示例中,提供了一种用于以GPM对视频块进行解码的装置。所述装置包括处理器1020和存储器1040,所述存储器被配置为存储可由所述处理器执行的指令;其中,所述处理器在执行所述指令时被配置为执行如图8中所图示的方法。
在一些其他示例中,提供了一种其中存储有指令的非暂态计算机可读存储介质。当所述指令由处理器1020执行时,所述指令使所述处理器执行如图8中所图示的方法。
考虑在此公开的公开内容的说明书和实践,本公开的其他示例对于本领域技术人员而言将是显而易见的。本申请旨在涵盖遵循其一般原则对公开内容进行的任何改变、使用或改编,包括在本领域中已知或惯用实践内与本公开的偏离。旨在将说明书和示例仅视为示例性的。
应理解的是,本公开不限于上文描述和附图中所示的确切示例,并且可以在不脱离其范围的情况下进行各种修改和变化。

Claims (13)

1.一种以几何分区模式(GPM)对视频块进行解码的方法,包括:
接收与所述视频块相关联的控制变量,其中,所述控制变量使得能够在多个运动矢量细化(MVR)偏移集之间进行自适应切换,并且所述控制变量在编解码级别上被应用;
将所述视频块分区成第一几何分区和第二几何分区;
接收一个或多个语法元素以确定来自选定MVR偏移集的应用于所述第一几何分区和所述第二几何分区的第一MVR偏移和第二MVR偏移;
从所述第一几何分区和所述第二几何分区的候选列表中获得第一运动矢量(MV)和第二MV;
基于所述第一MV和所述第二MV以及所述第一MVR偏移和所述第二MVR偏移来计算第一细化MV和第二细化MV;以及
基于所述第一细化MV和所述第二细化MV来获得所述视频块的预测样点。
2.如权利要求1所述的方法,其中,所述编解码级别包括序列级别、图片级别、编码树单元级别或编码块级别。
3.如权利要求1所述的方法,其中,所述多个MVR偏移集包括第一MVR偏移集和第二MVR偏移集,
其中,所述第一MVR偏移集包括多个默认MVR偏移,所述多个默认MVR偏移包括多个默认偏移幅值和多个默认MVR方向,并且
其中,所述第二MVR偏移集包括多个替代MVR偏移,所述多个替代MVR偏移包括多个替代偏移幅值和多个替代MVR方向。
4.如权利要求1所述的方法,其中,所述多个MVR偏移集包括第一MVR偏移集和第二MVR偏移集,并且
其中,所述第二MVR偏移集包括所述第一MVR偏移集的偏移幅值和MVR方向。
5.如权利要求3所述的方法,进一步包括:
响应于确定所述控制变量等于0而确定应用所述第一MVR偏移集;以及
响应于确定所述控制变量等于1而确定应用所述第二MVR偏移集。
6.如权利要求3所述的方法,其中,使用可变长度码字来分别二值化所述多个默认偏移幅值和所述多个替代偏移幅值。
7.如权利要求6所述的方法,其中,除了所述多个默认偏移幅值之外,所述第二MVR偏移集还包括更多的偏移幅值,并且
其中,除了所述多个默认MVR方向之外,所述第二MVR偏移集还包括更多的MVR方向。
8.如权利要求7所述的方法,其中,所述多个默认偏移幅值包括:
第一默认偏移幅值,指示距所述视频块1/4像素的距离并且二值化为001;
第二默认偏移幅值,指示距所述视频块1/2像素的距离并且二值化为1;
第三默认偏移幅值,指示距所述视频块1像素的距离并且二值化为01;
第四默认偏移幅值,指示距所述视频块2像素的距离并且二值化为0001;
第五默认偏移幅值,指示距所述视频块4像素的距离并且二值化为00001;
第六默认偏移幅值,指示距所述视频块8像素的距离并且二值化为000001;
第七默认偏移幅值,指示距所述视频块16像素的距离并且二值化为0000001;以及
第八默认偏移幅值,指示距所述视频块32像素的距离并且二值化为0000000。
9.如权利要求7所述的方法,其中,所述多个替代偏移幅值包括:
第一替代偏移幅值,指示距所述视频块1/4像素的距离并且二值化为001;
第二替代偏移幅值,指示距所述视频块1/2像素的距离并且二值化为1;
第三替代偏移幅值,指示距所述视频块1像素的距离并且二值化为01;
第四替代偏移幅值,指示距所述视频块2像素的距离并且二值化为0001;
第五替代偏移幅值,指示距所述视频块3像素的距离并且二值化为00001;
第六替代偏移幅值,指示距所述视频块4像素的距离并且二值化为000001;
第七替代偏移幅值,指示距所述视频块6像素的距离并且二值化为0000001;
第八替代偏移幅值,指示距所述视频块8像素的距离并且二值化为00000001;以及
第九替代偏移幅值,指示距所述视频块16像素的距离并且二值化为00000000。
10.如权利要求1所述的方法,其中,接收所述一个或多个语法元素以确定来自所述选定MVR偏移集的应用于所述第一几何分区和所述第二几何分区的所述第一MVR偏移和所述第二MVR偏移包括:
接收指示是否对所述第一几何分区应用所述MVR的第一几何分区启用语法元素;
响应于确定所述几何分区启用语法元素等于1,接收第一方向语法元素和第一幅值语法元素,所述第一方向语法元素和所述第一幅值语法元素指示基于所述选定MVR偏移集确定的所述第一几何分区的所述第一MVR偏移的方向和幅值;
接收指示是否对所述第二几何分区应用所述MVR的第二几何分区启用语法元素;以及
响应于确定所述第二几何分区启用语法元素等于1,接收第二方向语法元素和第二幅值语法元素,所述第二方向语法元素和所述第二幅值语法元素指示基于所述选定MVR偏移集确定的所述第二几何分区的所述第二MVR偏移的方向和幅值。
11.如权利要求10所述的方法,其中,所述第一几何分区启用语法元素包括gpm_mvr_partIdx0_enable_flag;
其中,所述第一方向语法元素和所述第一幅值语法元素包括gpm_mvr_partIdx0_direction_idx和gpm_mvr_partIdx0_distance_idx;
其中,所述第二几何分区启用语法元素包括gpm_mvr_partIdx1_enable_flag;并且
其中,所述第二方向语法元素和所述第二幅值语法元素包括gpm_mvr_partIdx1_direction_idx和gpm_mvr_partIdx1_distance_idx。
12.一种用于视频解码的装置,包括:
一个或多个处理器;以及
存储器,所述存储器被配置为存储能够由所述一个或多个处理器执行的指令,
其中,所述一个或多个处理器在执行所述指令时被配置为执行如权利要求1至11中任一项所述的方法。
13.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行如权利要求1至11中任一项所述的方法。
CN202280032707.3A 2021-05-31 2022-05-31 用于具有运动矢量细化的几何分区模式的方法和设备 Pending CN117242774A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163195179P 2021-05-31 2021-05-31
US63/195,179 2021-05-31
PCT/US2022/031661 WO2022256353A1 (en) 2021-05-31 2022-05-31 Methods and devices for geometric partition mode with motion vector refinement

Publications (1)

Publication Number Publication Date
CN117242774A true CN117242774A (zh) 2023-12-15

Family

ID=84324502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280032707.3A Pending CN117242774A (zh) 2021-05-31 2022-05-31 用于具有运动矢量细化的几何分区模式的方法和设备

Country Status (7)

Country Link
US (1) US20240073440A1 (zh)
EP (1) EP4324199A1 (zh)
JP (1) JP2024516850A (zh)
KR (1) KR20240011833A (zh)
CN (1) CN117242774A (zh)
MX (1) MX2023013249A (zh)
WO (1) WO2022256353A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240025714A (ko) * 2016-03-24 2024-02-27 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
US10904565B2 (en) * 2017-06-23 2021-01-26 Qualcomm Incorporated Memory-bandwidth-efficient design for bi-directional optical flow (BIO)
US11758125B2 (en) * 2019-01-02 2023-09-12 Lg Electronics Inc. Device and method for processing video signal by using inter prediction
CN113826390B (zh) * 2019-05-16 2024-03-08 字节跳动有限公司 屏幕内容编解码的帧内块复制
JP2021082913A (ja) * 2019-11-18 2021-05-27 シャープ株式会社 動画像復号装置および動画像符号化装置

Also Published As

Publication number Publication date
JP2024516850A (ja) 2024-04-17
KR20240011833A (ko) 2024-01-26
US20240073440A1 (en) 2024-02-29
WO2022256353A1 (en) 2022-12-08
MX2023013249A (es) 2023-11-21
EP4324199A1 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
WO2017076221A1 (en) Method and apparatus of inter prediction using average motion vector for video coding
JP2022508177A (ja) イントラブロックコピーモードとインター予測ツールとの間の相互作用
KR20210134644A (ko) 변환된 단예측 후보의 사용
US20230115074A1 (en) Geometric partition mode with motion vector refinement
US20240048700A1 (en) Geometric partition mode with explicit motion signaling
CN113170139A (zh) 上下文自适应二进制算数编码的简化上下文建模
CN117242774A (zh) 用于具有运动矢量细化的几何分区模式的方法和设备
KR20210131347A (ko) 크기에 따른 인터 코딩
US20240098250A1 (en) Geometric partition mode with motion vector refinement
WO2023131047A1 (en) Method, apparatus, and medium for video processing
US20240155106A1 (en) Geometric partition mode with motion vector refinement
US20240146945A1 (en) Methods and devices for geometric partition mode with motion vector refinement
CN117597922A (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
WO2024051725A1 (en) Method and apparatus for video coding
JP2024523534A (ja) 動きベクトル改良による幾何区画モード
WO2022026480A1 (en) Weighted ac prediction for video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination