CN117321995A - 用于视频处理的方法、设备和介质 - Google Patents

用于视频处理的方法、设备和介质 Download PDF

Info

Publication number
CN117321995A
CN117321995A CN202280028376.6A CN202280028376A CN117321995A CN 117321995 A CN117321995 A CN 117321995A CN 202280028376 A CN202280028376 A CN 202280028376A CN 117321995 A CN117321995 A CN 117321995A
Authority
CN
China
Prior art keywords
gpm
gmvd
information
target block
geometric
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
CN202280028376.6A
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.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
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 Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN117321995A publication Critical patent/CN117321995A/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/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/537Motion estimation other than block-based
    • 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

Abstract

本公开的实施例提供了一种用于视频处理的解决方案。提出了一种用于视频处理的方法。该方法包括:在视频的目标块和视频的比特流之间的转换期间,确定基于具有运动向量差的几何分区模式(GPM)的目标块的多个几何分区的第一运动信息;以及基于第一运动信息执行目标块和比特流之间的转换,该比特流包括与目标块相关联的GMVD信息的第一组指示。与传统的解决方案相比,所提出的方法可以有利地提高编码/解码效率。

Description

用于视频处理的方法、设备和介质
技术领域
本公开的实施例总体上涉及视频编解码技术,更具体地,涉及合并索引信号传送。
技术背景
如今,数字视频功能正被应用于人们生活的各个方面。已经针对视频编码/解码,已经提出了多种类型的视频压缩技术,诸如MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频编解码(AVC)、ITU-T H.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准。然而,常规视频编解码技术的编解码效率通常非常低,这是不希望的。
发明内容
本公开的实施例提供了一种用于视频处理的解决方案。
在第一方面中,提出了一种用于视频处理的方法。该方法包括:在视频的目标块和视频的比特流之间的转换期间,基于具有运动向量差的几何分区模式(GPM)确定目标块的多个几何分区的第一运动信息;以及基于第一运动信息在目标块和比特流之间执行转换,该比特流包括与目标块相关联的GMVD信息的第一组指示。与传统解决方案相比,所提出的方法可以有利地提高编码/解码效率。
在第二方面中,提出了一种用于处理视频数据的装置,该装置包括:处理器和在其上具有指令的非瞬态存储器,其中所述指令在被处理器执行时使所述处理器执行根据第一方面的方法。
在第三方面,提出了一种非瞬态计算机可读存储介质,该非瞬态计算机可读存储介质存储使处理器执行根据第一方面的方法的指令。
在第四方面中,提出了一种非瞬态计算机可读记录介质,所述非瞬态计算机可读记录介质存储由视频处理装置执行的方法生成的视频的比特流,所述方法包括:基于具有运动向量差的几何分区模式(GPM)确定所述视频的目标块的多个几何分区的第一运动信息;以及基于所述第一运动信息生成所述比特流,所述比特流包括与所述目标块相关联的GMVD信息的第一组指示。
在第五方面中,提出了一种用于存储视频的比特流的方法,该方法包括:基于具有运动向量差的几何分区模式(GPM)确定视频的目标块的多个几何分区的第一运动信息;基于第一运动信息生成比特流,该比特流包括与目标块相关联的GMVD信息的第一组指示;以及将该比特流存储在非瞬态计算机可读记录介质中。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过参考附图的以下详细描述,本公开的示例实施例的上述和其他目标、特征和优点将变得更加清楚,在本公开的示例实施例中,相同的附图标记通常表示相同的组件。
图1示出了根据本公开的一些实施例的示例视频编解码系统的框图;
图2示出了根据本公开的一些实施例的第一示例视频编码器的框图;
图3示出了根据本公开的一些实施例的示例视频解码器的框图;
图4示出了位于不同位置的候选的框图;
图5示出了考虑用于空间合并候选的冗余检查的候选对的框图;
图6示出了时间合并候选的运动向量缩放框图;
图7示出了时间合并候选C0和C1的候选位置的框图;
图8示出了MMVD搜索点的框图;
图9示出了解码侧运动向量细化的框图;
图10示出了按相同角度分组的GPM分割示例的框图;
图11示出了几何分区模式的统一预测MV选择的框图。
图12示出了使用几何分区模式生成弯曲权重w_0的示例框图。
图13示出了根据本公开一些实施例的用于视频处理的方法的流程图;以及
图14示出了其中可以实现本公开各实施例的计算设备的框图。
在整个附图中,相同或相似的附图标记通常表示相同或相似的元件。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。
在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科学术语和技术术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。
本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包含”和/或“具有”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图1是示出可以利用本公开的技术的示例视频编解码系统100的框图。如所示出的,视频编解码系统100可以包括源设备110和目的设备120。源设备110也可以称为视频编码设备,并且目的设备120也可以称为视频解码设备。在操作中,源设备110可以被配置为生成经编码的视频数据,并且目的设备120可以被配置为对由源设备110生成的经编码的视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备之类的源。视频捕获设备的示例包括但不限于从视频内容提供商接收视频数据的接口、用于生成视频数据的计算机图形系统和/或其组合。
视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成码流。码流可以包括形成视频数据的编解码表示的位序列。码流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器和/或发送器。经编码的视频数据可以通过网络130A经由I/O接口116直接传输至目的设备120。经编码的视频数据也可以存储在存储介质/服务器130B上,以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130B获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,该目的设备120被配置为与外部显示设备接口连接。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准和其他现有和/或将来的标准。
图2是示出根据本公开的一些实施例的视频编码器200的示例的方框图,视频编码器200可以是图1所示的系统100中的视频编码器114的示例。
视频编码器200可以被配置为实现本公开的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在一些实施例中,视频编码器200可以包括划分单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211、重建单元212、缓冲213和熵编码单元214,该预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括块内复制(IBC)单元。IBC单元可以在IBC模式中执行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,尽管一些组件(诸如运动估计单元204和运动补偿单元205)可以被集成,但是为了解释的目的,这些组件在图2的示例中被分离地示出。
划分单元201可以将图片划分成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
模式选择单元203可以例如基于误差结果来选择多种编解码模式(帧内(INTRA)编解码或帧间(INTER)编解码)中的一种编解码模式,并且将所产生的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,并且提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择针对运动矢量的分辨率(例如,亚像素精度或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲213的一个或多个参考帧与当前视频块进行比较来生成针对当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲213的除了与当前视频块相关联的图片之外的图片的经解码样本,来确定针对当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。如本文中使用的,“I条带”可以是指由宏块构成的图片的一部分,所有宏块均基于同一图片内的宏块。此外,如本文中使用的,在一些方面中,“P条带”和“B条带”可以是指由独立于同一图片中的宏块的宏块构成的图片的部分。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索列表0或列表1的参考图片,以寻找针对当前视频块的参考视频块。运动估计单元204然后可以生成参考索引和运动矢量,该参考索引指示列表0或列表1中的包含参考视频块的参考图片,并且该运动矢量指示当前视频块与参考视频块之间的空间位移。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
备选地,在其他示例中,运动估计单元204可以对当前视频块执行双向预测。运动估计单元204可以搜索列表0中的参考图片以寻找针对当前视频块的参考视频块,并且还可以搜索列表1中的参考图片以寻找针对当前视频块的另一参考视频块。运动估计单元204然后可以生成多个参考索引和多个运动矢量,该多个参考索引指示列表0和列表1中的包含多个参考视频块的多个参考图片,并且该多个运动矢量指示在多个参考视频块与当前视频块之间的多个空间位移。运动估计单元204可以输出当前视频块的多个参考索引和多个运动矢量以作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的多个参考视频块来生成针对当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。备选地,在一些实施例中,运动估计单元204可以参考另一视频块的运动信息来通过信号传输当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中向视频解码器300指示一值,该值指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示在当前视频块的运动矢量与所指示的视频块的运动矢量之间的差异。视频解码器300可以使用所指示的视频块的运动矢量以及运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以以预测性的方式通过信号传输运动矢量。可以由视频编码器200实现的预测信号传送技术的两个示例包括高级运动矢量预测(AMVP)和合并模式信号传送。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的经解码样本来生成针对当前视频块的预测数据。针对当前视频块的预测数据可以包括预测视频块和各个语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成针对当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样本的不同样本部分的残差视频块。
在其他示例中,例如在跳过模式中,针对当前视频块可以不存在针对当前视频块的残差数据,并且残差生成单元207可以不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来生成针对当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以从变换系数视频块重建残差视频块。重建单元212可以将经重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样本,以产生与当前视频块相关联的重建视频块,以供存储在缓冲213中。
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪像。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据并且输出包括该熵编码数据的码流。
图3是示出根据本公开的一些实施例的视频解码器300的示例的方框图,视频解码器300可以是图1所示的系统100中的视频解码器124的示例。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图3的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、以及重建单元306和缓冲307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200所描述的编码过程相对的解码过程。
熵解码单元301可以取回经编码的码流。经编码的码流可以包括经熵编解码的视频数据(例如,经编码的视频数据块)。熵解码单元301可以对经熵编解码的视频数据进行解码,并且运动补偿单元302可以从经熵解码的视频数据中确定运动信息,该运动信息包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和合并模式来确定该信息。AMVP被使用,包括基于相邻PB的数据和参考图片得出数个最可能的候选项。运动信息通常包括水平和竖直运动矢量位移值、一个或两个参考图片索引,并且在B条带中的预测区域的情况下,还包括哪个参考图片列表与每个索引相关联的标识。如本文所使用的,在一些方面中,“合并模式”可以是指从空间或时间上相邻的块中导出运动信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器来执行内插。针对以亚像素精度被使用的插值滤波器的标识符可以被包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在视频块的编码期间使用的插值滤波器来计算用于参考块的亚整数像素的内插值。运动补偿单元302可以根据接收到的语法信息来确定由视频编码器200使用的插值滤波器,并且运动补偿单元302可以使用插值滤波器来产生预测块。
运动补偿单元302可以使用至少部分语法信息来确定用于编码经编码视频序列的(多个)帧和/或(多个)条带的块的大小、描述经编码视频序列的图片的每个宏块如何被划分的划分信息、指示每个划分如何被编码的模式、针对每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及对经编码视频序列进行解码的其他信息。如本文中所使用的,在一些方面,“条带”可以是指在熵编解码、信号预测和残差信号重建方面可以独立于同一图片的其他条带而被解码的数据结构。条带可以是整个图片,或者也可以是图片的区域。
帧内预测单元303可以使用例如在码流中接收的帧内预测模式,以从空间相邻块形成预测块。反量化单元303反量化(即,去量化)在码流中提供的、并且由熵解码单元301解码的量化视频块系数。反变换单元303应用反变换。
重建单元306可以例如通过将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加来获得经解码的块。如果需要的话,还可以应用去块效应滤波器以对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块随后被存储在缓冲307中,缓冲307为后续运动补偿/帧内预测提供参考块,并且缓冲307还产生经解码的视频以供在显示设备上呈现。
下文将详细描述本公开的一些示例性实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考通用视频编解码或其他特定视频编解码器描述了一些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,尽管一些实施例详细描述了视频编解码步骤,但是应当理解的是取消编解码的相应解码步骤将由解码器实现。此外,术语视频处理包括视频编解码或压缩、视频解码或解压缩以及视频转码,在该视频转码中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩码率表示。
1.概述
本公开涉及视频编解码技术,具体而言,涉及视频编解码中的帧间预测及相关技术,可应用于现有的HEVC、VVC等视频编解码标准,也可应用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要是通过著名的ITU-T和ISO/IEC标准的发展而演变的。ITU-T生产了H.261和H.263,ISO/IEC生产了MPEG-1和MPEG-4Visual,两个组织联合生产了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC(见ITU-T和ISO/IEC,《高效视频编解码》,|(in force版))标准。由于H.262,视频编解码标准基于混合视频编解码结构,其中时间预测加变换编解码utilized.To探索超越HEVC的未来视频编解码技术,联合视频探索团队(JVET)由VCEG和MPEG于2015年联合成立。JVET会议每季度同时举行一次,新的视频编解码标准正式命名为多功能视频编解码(VVC)(B.Bross,J.Chen,S.Liu,Y.Wang(编辑),“多功能视频编解码(草案8),”JVET-Q2001,布鲁塞尔,BE,2020年1月)在2018年4月的JVET会议上,VVC测试模型(VTM)的第一个版本(VTM软件:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM.git)当时发布。VVC工作草案(陈杰,Y.Ye,S.Kim(编辑),“多功能视频编解码和测试模型5(VTM 5)的算法描述”,“JVET-N1002,2019年3月)和测试模型VTM随后在每次会议后更新。VVC项目在2020年7月的会议上实现了技术完成(FDIS)。
2.1现有编解码工具(摘自JVET-R2002)
2.1.1扩展合并预测
在VVC中,合并候选名单按顺序包括以下五类候选者:
1)来自空间相邻CU的空间MVP
2)来自同位CU的时间MVP
3)FIFO表中基于历史的MVP
4)成对平均MVP
5)零MV。
合并列表的大小在序列参数集头部信号传送,合并列表的最大允许大小为6。对于合并模式下的每个CU代码,使用截断一元二元化(TU)编码最佳合并候选索引。合并索引的第一个仓使用上下文编解码,其他仓使用旁路编解码。
本环节提供了各类合并候选的导出过程。如HEVC所做,VVC还支持并行导出一定大小区域内所有CU的合并候选列表。
2.1.1.1空间候选导出
VVC中空间合并候选的导出与HEVC中相同,除了前两个合并候选的位置被交换。图4示出了位于不同位置的候选的框图400。在位于图4所示位置的候选中,最多选择四个合并候选。导出的顺序是B0、A0、B1、A1和B2。位置B2仅在位置B0、A0、B1、A1的一个或多个CU不可用(例如,因为它属于另一个切片或图块)或在帧内编解码时才被考虑。添加位置A1的候选后,剩余候选的添加将受到冗余检查,该检查确保具有相同运动信息的候选被排除在列表之外,以便编解码效率提高。为了降低计算复杂性,并非所有可能的候选对都被考虑在所述冗余检查中。相反,仅考虑图5中的箭头链接的对(这里,图5示出了考虑用于空间合并候选的冗余检查的候选对的框图500),并且仅当用于冗余检查的相应候选不具有相同的运动信息时,才将候选添加到列表中。
2.1.1.2时间候选导出
在该步骤中,仅将一个候选添加到列表中。特别地,在该时间合并候选的导出中,基于属于同位参考图片的同位CU导出缩放的运动向量。用于导出同位CU的参考图片列表在切片标题中显式地信号传送。图6示出了用于时间合并候选的运动向量缩放的框图600。时间合并候选的缩放运动向量如图6中的虚线所示获得,该缩放运动向量使用POC距离tb和td从同位CU的运动向量缩放,其中tb定义为当前图片的参考图片与当前图片之间的POC差,td定义为同位图片的参考图片与同位图片之间的POC差。时间合并候选的参考图片索引设置为零。
图7示出了时间合并候选C0和C1的候选位置的框图700。时间候选的位置在候选C0和C1之间选择,如图7所示。如果位置C0的CU不可用,是帧内编解码的,或者在当前CTU行之外,则使用位置C1。否则,在时间合并候选的导出中使用位置C0。
2.1.1.3基于历史的合并候选导出
基于历史的MVP(HMVP)合并候选被添加到空间MVP和TMVP之后的合并列表中。在这种方法中,先前编解码块的运动信息被存储在表中,并用作当前CU的MVP。具有多个HMVP候选的表在编码/解码过程中被维护。当遇到新的CTU行时,该表被重置(清空)。每当有非子块间编解码CU时,相关的运动信息被添加到表的最后一个条目中,作为新的HMVP候选。
HMVP表大小S设置为6,这表示最多可以将6个基于历史的MVP(HMVP)候选添加到表中。当向表中插入新的运动候选时,使用约束先进先出(FIFO)规则,其中首先应用冗余检查来查找表中是否存在相同的HMVP。如果找到,则从表中删除相同的HMVP,然后向前移动所有HMVP候选。
HMVP候选可以用于合并候选列表的构建过程。表格中最近的几个HMVP候选按顺序检查,并插入到候选列表中的TMVP候选之后。冗余校验对HMVP候选应用于空间或时间合并候选。
为了减少冗余检查操作的数目,引入了以下简化:
用于合并列表生成的HMPV候选的数目设置为(N<=4)?M:(8-N),其中N表示合并列表中现有候选的数目,M表示表中可用HMVP候选的数目。
一旦可用合并候选的总数达到最大允许合并候选减去1,则终止来自HMVP的合并候选列表构建过程。
2.1.1.4成对平均合并候选导出
通过对现有合并候选列表中的预定义候选对进行平均生成成对平均候选,预定义对定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中数字表示合并候选列表的合并索引。每个参考列表分别计算平均的运动向量。如果两个运动向量在一个列表中可用,则即使它们指向不同的参考图片,这两个运动向量也会被平均;如果只有一个运动向量可用,则直接使用该运动向量;如果没有运动向量可用,则保持此列表无效。
当添加成对平均合并候选后合并列表未满时,将零MVP插入到最后,直到遇到最大合并候选数。
2.1.1.5合并估计区域
合并估计区域(MER)允许独立导出相同合并估计区域(MER)中CU的合并候选列表。在当前CU的相同MER内的候选块不包括用于生成当前CU.In的合并候选列表此外,仅当(xCb+cbWidth)>>Log2ParMrgLevel大于xCb>>Log2ParMrgLevel并且(yCb+cbHeight)>>Log2ParMrgLevel大于(yCb>>Log2ParMrgLevel)并且(xCb,yCb)是当前CU在图片中的左上角亮度样本位置并且(cbWidth,cbHeight)是CU大小时,才更新基于历史的运动向量预测器候选列表的更新过程。MER大小在编码器侧选择并在序列参数集中以log2_parallel_merge_level_minus2表示。
2.1.2.合并模式与MVD(MMVD)
在合并模式中,隐式导出的运动信息直接用于当前CU的预测样本生成,除此之外,VVC引入了运动向量差合并模式(MMVD)。在发送跳过标志和合并标志后,立即发出MMVD标志来指定MMVD模式是否用于CU。
在MMVD中,在选择合并候选之后,通过信号传送的MVD信息对其进行进一步细化。进一步的信息包括合并候选标志、指定运动幅度的索引和指示运动方向的索引。在MMVD模式中,选择合并列表中前两个候选的一个作为MV基础。合并候选标志被发信号以指定使用哪一个。
距离索引指定运动幅度信息并指示与起点的预定义偏移。图8示出了MMVD搜索点的框图800。如图8所示,偏移被添加到起始MV的水平分量或垂直分量。距离索引和预定义偏移的关系在表中指定
表1-距离指数与预定义偏移的关系
方向指数表示MVD相对于起始点的方向。方向指标可以表示如表所示的四个方向,需要注意的是,MVD标志的含义可以根据起始MVD的信息而变化。当起始MV为非预测MV或双向预测MV,且两个列表都指向当前图片的同一侧时(即两个引用的POC都大于当前图片的POC,或者都小于当前图片的POC),表中的符号指定起始MV的MV偏移量的符号。当起始MV为双向预测MV,且两个MV指向当前图片的不同侧面时(即一个参考点的POC大于当前图片的POC,而另一个参考点的POC小于当前图片的POC),表中的符号表示起始MV的列表0MV分量中添加的MV偏移量的符号,而list1 MV的符号则相反。
表2-按方向指数指定的MV偏移标志
方向IDX 00 01 10 11
x-轴 + - N/A N/A
y-轴 N/A N/A + -
2.1.3解码器侧运动向量细化(DMVR)
为了增加合并模式的MV的精度,在VVC中应用了基于双边匹配的解码器侧运动向量细化。在双向预测操作中,在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化MV。BM方法计算参考图片列表L0和列表L1中两个候选块之间的失真。图9示出了解码侧运动向量细化的框图900。如图9所示,计算了基于初始MV周围的每个MV候选的红色块910和920之间的SAD。SAD最低的MV候选成为细化MV并用于生成双向预测信号。
在VVC中,DMVR可应用于具有以下模式和特性的编解码单元:
-具有双向预测MV的CU级合并模式
-相对于当前图片一个参考图片在过去另一个参考图片在未来
-两个参考图片到当前图片的距离(即POC差)是相同的
-两张参考图片均为短期参考图片
-CU有超过64个血液样本
-CU高度和CU宽度均大于等于8个亮度样本
-BCW重量指数表示重量相等
-当前块未启用WP
-当前块不使用CIIP模式
通过DMVR过程导出的精化MV用于生成帧间预测样本,也用于未来图片编解码的时间运动向量预测。而原始MV用于去块过程,也用于未来CU编解码的空间运动向量预测。
DMVR的附加功能在以下子条款中提到。
2.1.3.1.搜索方案
在DVMR中,搜索点围绕初始MV,MV偏移服从MV差镜像规则。换句话说,任何被DMVR检查的点,用候选MV对(MV0,MV1)表示,服从以下两个等式:
MV0′=MV0+MV_offset (1)
MV1′=MV1-MV_offset (2)
其中MV_offset表示其中一张参考图片中初始MV与经细化的MV的经细化的偏移量,经细化的搜索范围为初始MV的两个整数亮度样本,搜索包括整数样本偏移搜索阶段和分数样本经细化的阶段。
应用25点全搜索进行整数样本偏移搜索。首先计算初始MV对的SAD。如果初始MV对的SAD小于阈值,则终止DMVR的整数样本阶段。否则计算剩余24个点的SAD并按光栅扫描顺序检查。选择SAD最小的点作为整数样本偏移搜索阶段的输出。为了减少DMVR细化不确定性的惩罚,提出在DMVR过程中偏向原始MV。初始MV候选引用的参考块之间的SAD降低SAD值的1/4。
整数样本搜索之后是分数样本细化。为了节省计算复杂度,使用参数误差面公式导出分数样本细化,而不是SAD比较的附加搜索。分数样本细化基于整数样本搜索阶段的输出有条件地调用。当整数样本搜索阶段在第一次迭代或第二次迭代搜索中以具有最小SAD的中心终止时,进一步应用分数样本细化。
在基于参数误差面的亚像素偏移估计中,利用中心位置代价和中心附近四个位置的代价来拟合以下形式的二维抛物线误差面公式
E(x,y)=A(x-xmin)2+B(y-ymin)2+C (3)
其中(xmin,ymin)对应于成本最小的分数位置,C对应于成本最小值。通过使用五个搜索点的成本值求解上述公式,(xmin,ymin)被计算为:
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0)))
(4)
ymin=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0)))
(5)
xmin和ymin的值自动限制在-8和8之间,因为所有成本值都是正的,最小值是。这对应于1/16像素MV精度在VVC的一半像素偏移。计算出的分数(xmin,ymin)被添加到整数距离细化MV以获得亚像素精确的细化增量MV。
2.1.3.2.双线性插值和样本填充
在VVC中,MVs的分辨率为1/16亮度样本,使用8抽头插值滤波器对分数位置的样本进行插值。在DMVR中,搜索点以整数样本便宜围绕分数MV,样本偏移量为整数,因此需要对这些分数位置的样本进行插值以进行DMVR搜索过程。为了降低计算复杂度,因此使用双线性插值滤波器生成用于DMVR搜索过程的分数样本。另一个重要影响是,使用双线性滤波器时,与正常运动补偿过程相比,DVMR在2个样本的搜索范围内不会访问更多的参考样本。在DMVR搜索过程中获得细化的MV后,应用正常的8抽头插值滤波器生成最终预测。为了不访问更多的参考样本到正常的MC过程中,将从这些可用样本中填充基于原始MV的插值过程不需要但基于经细化的MV的插值过程需要的样本。
2.1.3.3.最大DMVR处理单元
当一个CU的宽度和/或高度大于16个亮度样本时,它将被进一步分成宽度和/或高度等于16个亮度样本的子块。DMVR搜索过程的最大单位大小限制为16x16。
2.1.4.帧区间预测的几何分区模式(GPM)
在VVC中,支持几何分区模式进行内部预测。几何分区模式使用CU级标志作为一种合并模式,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。对于每个可能的CU大小w×h=2m×2n,m,n∈{3…6},不包括8x64和64x8,总共支持64个分区。
图10示出了由相同角度分组的GPM分裂示例的框图1000。当使用这种模式时,CU被几何定位的直线分割成两部分(图10)。分裂线的位置在数学上由特定分区的角度和偏移参数导出。CU中几何分区的每个部分使用其自身的运动进行相互预测;每个分区只允许进行单向预测,即每个部分都有一个运动向量和一个参考索引。应用单向预测运动约束以确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。每个分区的单向预测运动是使用2.1.4.1中描述的过程导出的。
如果当前CU使用几何分区模式,则进一步指示几何分区的分区模式(角度和偏移)的几何分区索引和两个合并索引(每个分区一个)。最大GPM候选大小的数目以SPS显式表示,并指定GPM合并指示符的语法二元化。在预测几何分区的每个部分后,沿着几何分区边缘的样本值使用自适应权重的混合处理进行调整,如2.1.4.2中那样。这是整个CU的预测信号,变换和量化过程将像其他预测模式一样应用于整个CU。最后,如2.1.4.3中那样存储使用几何分区模式预测的CU的运动场。
2.1.4.1.统一预测候选名单构建
统一预测候选列表直接来自于2.1.1中根据扩展合并预测过程构建的合并候选列表。表示n作为几何统一预测候选列表中统一预测运动的索引。第n个扩展合并候选的LX运动向量,其X等于n的奇偶校验,用作几何分区模式的第n个统一预测运动向量。图11示出了几何分区模式的统一预测MV选择的框图1100。这些运动向量标有“x”Fig.11.In在不存在第n个扩展合并候选的相应LX运动向量的情况下,使用同一候选的L(1-X)运动向量代替作为几何分区模式的统一预测运动向量。
2.1.4.2.沿几何分割边缘混合
在利用几何分区的每个部分自身运动进行预测后,对两个预测信号应用混合,导出几何分区边缘周围的样本。基于单个位置与分区边缘之间的距离,导出CU每个位置的混合权重。
位置(x,y)到分区边的距离导出为:
/>
其中i,j是几何分区的角度和偏移,它们取决于信号的几何分区指数。ρx,j和ρy,j的符号依赖于角度索引i。
几何分区的每个部分的权重导出如下:
wIdxL(x,y)=partIdx?32+d(x,y):32-d(x,y) (10)
w1(x,y)=1-w0(x,y) (12)
partIdx取决于角度索引i。图12示出了称重w0的一个示例,该示例示出了使用几何分区模式生成弯曲重量w_0的框图1200。
2.1.4.3.几何分区模式的运动场存储
来自第一部分几何分区的Mv1、来自第二部分几何分区的Mv2以及Mv1和Mv2的组合Mv被存储在以几何分区模式编解码的运动场CU中。
运动场中每个单独位置的存储运动向量类型确定为:
sType=abs(motionIdx)<32?2∶(motionIdx≤0?(1-partIdx):partIdx)
(13)
其中motionIdx等于d(4x+2,4y+2)。partIdx取决于角度索引i。
如果sType等于0或1,则在对应的运动字段中存储Mv0或Mv1,否则如果sType等于2,则存储来自Mv0和Mv2的组合Mv。组合Mv使用以下过程生成:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2简单地组合以形成双向预测运动向量。
2)否则,如果Mv1和Mv2来自同一个列表,则仅存储单向预测运动Mv2。
2.2 JVET-R0357中具有运动向量差(GMVD)的几何预测模式
在JVET-R0357中,提出了运动向量差分(GMVD)的几何预测模式。使用GMVD,GPM中的每个几何分区可以决定是否使用GMVD。如果为几何区域选择GMVD,则该区域的MV计算为合并候选和MVD的MV之和。所有其他处理保持与GPM相同。
使用GMVD,MVD以方向和距离对的形式信号传送,遵循MMVD的当前设计。也就是说,有八个候选距离(1/4-像素、1/2-像素、1-像素、2-像素、4-像素、8-像素、16-像素、32-像素)和四个候选方向(向左、向右、向上和向下)。此外,当pic_fpel_mmvd_enabled_flag等于1时,GMVD中的MVD也像MMVD一样左移2。
2.3 GPM合并列表生成PCT/CN2021/086212
下面的详细示例应被视为解释一般概念的示例。不应以狭隘的方式解释这些示例。此外,这些示例可以以任何方式组合。
术语GPM可以表示一种编解码方法,该方法将一个块分割成两个或多个子区域,其中至少一个子区域是非矩形或非正方形的,或者它不能由将一个块分割成多个矩形子区域的任何现有分区结构(例如,QT/BT/TT)生成。在一个示例中,对于GPM编解码块,基于子区域的分割方式为编解码块导出一个或多个加权掩码,并且编解码块的最终预测信号由与子区域相关联的两个或多个辅助预测信号的加权和生成。
术语GPM可指示几何合并模式(GEO)、和/或几何分区模式(GPM)、和/或楔形预测模式、和/或三角形预测模式(TPM)、和/或具有运动向量差的GPM块(GMVD)、和/或具有运动细化的GPM块、和/或基于GPM的任何变体。
术语块可以表示编解码块(CB)、CU、PU、TU、PB、TB。
短语“正常/常规合并候选”可以表示扩展合并预测过程生成的合并候选(如2.1节所示)。它还可以表示除GEO合并候选和基于子块的合并候选之外的任何其他高级合并候选。
请注意,GPM块的部分/分区是指CU中几何分区的一部分,例如,图10中GPM块的两个部分由几何位置的直线分割。CU中几何分区的每个部分都使用其自身的运动进行相互预测,但变换是针对整个CU而不是GPM块的每个部分/分区执行的。
还应当注意,GPM/GMVD应用于其它模式(例如,AMVP模式)也可以使用以下方法,其中合并候选列表可以由AMVP候选列表代替。
1.提出了在K不等于M的规则合并候选列表中,等于K的块的GPM/GMVD候选索引可以对应于从索引等于M的规则合并候选导出的运动信息,并且导出的运动信息用于对块进行编解码。
1.在一个示例中,M大于K。
2.是否使用索引等于K或M的规则合并候选可以取决于解码信息和/或规则合并候选列表中的候选。
2.修剪过程可以在GPM/GMVD合并列表构建期间应用,其中运动候选可以使用候选索引的奇偶校验来导出。
a.在一个示例中,GPM/GMVD合并列表被构建,然后GPM/GMVD合并列表被修剪修改。
b.在一个示例中,当在列表构建过程中将候选插入到GPM/GMVD合并列表中时应用修剪。
c.例如,可以应用完全修剪。
d.例如,可以应用部分修剪。
e.例如,是否将候选插入到GPM/GMVD合并列表中,可以取决于它是否具有与列表中的一个或多个候选相比相似/不同的运动数据。
f.例如,是否将一个候选插入到GPM/GMVD合并列表中,可以取决于这个候选和列表中的一个或多个候选之间的相似/不同程度。
g.例如,上述比较可以应用于GPM/GMVD合并列表中的候选和所有可用候选之间。
h.例如,上述比较可以应用于GPM/GMVD合并列表中的候选和一个候选之间,其中一个候选可以处于预定义的位置。
i.例如,上述比较可以通过检查运动数据差异来进行,例如预测方向(L0,L1)、运动向量、POC值和/或任何其他预测间模式(例如仿射、BCW、LIC)等。
j.例如,上述比较可以基于运动差是否大于或小于阈值的规则来进行。
k.例如,上述比较可以基于一个规则进行,即两者的运动是否相同。
l.在上述示例中,GMVD候选是表示从相关联的运动信息导出的GPM候选加上所选择的MVD。
3.如果有效GPM合并候选的数目小于阈值,则可以生成至少一个附加GPM合并候选以填充GPM合并候选列表。
1.例如,阈值的值可以通过语法元素获得。
a.例如,语法元素可以是指定GPM合并候选列表中的最大GPM合并候选或规则合并候选的最大数目的值。
2.例如,可以基于GPM合并候选列表中的现有GPM合并候选来生成一个或多个GPM合并候选。
a.例如,对L0运动中的第X个(诸如X=2)预测的L0GPM合并候选在GPM合并列表中可以被平均并作为附加GPM合并候选插入到GPM合并列表中。
b.例如,对L1运动中的第X个(诸如X=2)L1预测的GPM合并候选在GPM合并列表中可以被平均并作为附加GPM合并候选插入到GPM合并列表中。
3.例如,可以通过基于历史的合并候选表生成一个或多个GPMGPM合并候选。
a.例如,基于历史的GPM合并候选表保持有K个长度(诸如K是常数)GPM运动。
b.例如,基于历史GPM合并候选表包含L个(诸如L是常数)先前编解码GPM块的运动数据。
1)例如,GPM编解码块的两个部分的两个运动向量两者都入到基于历史GPM合并候选表中。
2)例如,一个GPM编解码块的两个部分的两个运动向量之一入到基于历史GPM合并候选表中。
c.例如,最多M个候选在基于历史GPM合并候选表中可以入到GPM合并列表中。
4.例如,可以基于规则合并候选及其在规则合并候选列表中的位置来生成一个或多个单向预测GPM合并候选。
a.例如,如果规则合并候选的奇偶校验是奇数,则可以提取其L0运动数据以构造GPM合并候选列表。
b.例如,如果规则合并候选的奇偶校验是偶数,则可以提取其L1运动数据以构建GPM合并候选列表。
5.例如,一个或多个单向预测零运动向量可以入到GPM合并列表中。
a.例如,可以插入L0预测的零运动向量。
b.例如,可以插入L1预测的零运动向量。
c.例如,有多少零运动向量入到列表中可能取决于在L0/L1方向上的活动参考图片的数目。
1)例如,零运动向量可以以等于从0到L0/L1方向上的活动参考图片数目的值的参考索引的递增顺序插入。
d.备选地,此外,GPM候选的最大数目可以大于用于常规合并的候选列表。
4.可以维护一个或多个HMVP表,用于继续用GPM/GMVD模式编解码的块。
1.在一个示例中,GPM/GMVD编解码块的运动信息(例如,一对运动向量以及相关联的预测列表/参考图片信息)可用于更新HMVP表。
2.在一个示例中,用于GPM/GMVD模式的那些HMVP表独立于用于非GPM/GMVD模式的那些表来维护。
5.来自非相邻空间块的运动信息可用于导出GPM/GMVD编解码块的运动信息。
1.在一个示例中,非相邻空间合并候选可用于构建GPM合并候选列表。
2.例如,可以基于针对不与当前块直接相邻的相邻块的运动数据来生成非相邻空间合并候选。
6.表示块的GPM候选索引等于K。即使存在第K个合并候选的相应LX运动向量(X等于K的奇偶校验),第K个候选的L(1-X)运动向量仍然可以用来导出块的运动信息。
1.在一个示例中,是否使用LX或L(1-X)可以取决于规则/GPM合并候选列表中的合并候选的运动信息。
a.在一个示例中,如果LX运动信息相同于具有小于K的索引的一个或多个GPM候选,则可以使用L(1-X)运动信息。
2.是插入L0运动还是L1运动来构造单向预测GPM合并列表,可能取决于GPM合并列表中已经插入的GPM合并候选的预测方向的累积值。假设X表示L0预测GPM合并候选在当前GPM候选之前要插入的数目,Y表示L1预测合并候选在当前GPM候选之前要插入的数目。
a.例如,当X减去Y不小于阈值(诸如0或1或2)时,L1运动可以从双向预测正常合并候选中提取并入以作为GPM合并候选。
1)另外,在这样的情况下,L1运动预测的正常L1合并候选可以被直接插入以作为GPM合并候选。
2)另外,在这样的情况下,L0预测的正常合并候选可以被投影到L1并入以作为GPM合并候选。
b.例如,当X减去Y不大于阈值(诸如0或-1或-2)时,L0运动可以从双向预测正常合并候选中提取并入以作为GPM合并候选。
1)另外,在这样的情况下,L0运动预测的正常L0合并候选可以被直接插入以作为GPM合并候选。
2)另外,在这样的情况下,一个L1预测的正常合并候选可以被投影到L0并入以作为GPM合并候选。
7.在一个示例中,一个双向预测正常合并候选可以生成两个单向预测GPM合并候选,并将两者添加到GPM/GMVD候选列表。
1.例如,双向预测正常合并候选的L0运动可用于形成单向预测GPM合并候选,而相同正常合并候选的L1运动用于形成另一个单向预测GPM合并候选。
8.在一个示例中,可以允许单向预测GPM合并候选和双向预测GPM合并候选两者。
1.例如,可以允许GPM块的一部分从单向预测编解码,而GPM块的另一部分从双向预测编解码。
2.例如,GPM块的两个部分都是从双向预测编解码的。
3.例如,当一个GPM块的两个部分从单向预测编解码时,可能要求一个来自L0预测,另一个来自L1预测。
9.在一个示例中,基于规则MMVD的运动向量可用于构建GPM合并候选列表。
1.例如,L0或L1(但不是两者)运动的基于MMVD的规则运动向量可以入到GPM合并候选列表中。
2.例如,基于MMVD的规则运动向量的L0和L1运动两者可以入到GPM合并候选列表中。
3.例如,GPM相关语法元素可以在常规MMVD被用于视频单元的情况下被发信号传送。
10.在一个示例中,GPM列表中的GPM合并候选可以基于规则被重新排序。
1.例如,该规则可以定义为从小值到大值对模板成本进行排序。
2.例如,模板成本可以基于当前块的左和/或以上相邻重构样本与参考块的相应邻居之间的样本差之和。
11.在一个示例中,可以将GMVD候选与GMVD候选或GPM候选进行比较。
1.例如,如果第一GMVD候选的最终运动信息(在从基MV和MV差重构MV之后)与第二GMVD或GPM候选的运动信息相同或相似,则修剪第一GMVD候选,即从可以表示的可能候选中移除它。
2.例如,如果第一GMVD候选的最终运动信息(在从基MV和MV差重构MV之后)与第二GMVD或GPM候选的运动信息相同或相似,则修改第一GMVD候选。
a.例如,最终MV可以通过移位值相加。
b.例如,第一GMVD候选可以被修改不止一次,直到其不与第二GMVD或GPM候选相同或相似。
3.比较方法可以在项目符号2中定义。
2.4基于模板匹配的GPM
基于模板匹配的GPM在JVET-V0117和JVET-V0118中提出。GPM分区的MV可以通过基于模板匹配的的方式细化。
3.问题
当前的GPM设计不允许GPM块的分区0和分区1使用相同的合并候选,这将是低效的。
4.本公开的实施例
下面的详细示例应被视为解释一般概念的示例。不应以狭隘的方式解释这些示例。此外,这些示例可以以任何方式组合。
术语GPM可以表示将一个块分割成两个或多个分区/子区域其中至少一个分区/子区域是非矩形或非正方形的,或者不能由将一个块分割成多个矩形子区域的任何现有分割结构(例如,QT/BT/TT)生成的编解码方法。在一个示例中,对于GPM编解码块,基于子区域的分割方式为编解码块导出一个或多个加权掩码,并且编解码块的最终预测信号由与子区域相关联的两个或多个辅助预测信号的加权和生成。
术语GPM可指示几何合并模式(GEO)、和/或几何分区模式(GPM)、和/或楔形预测模式、和/或三角形预测模式(TPM)、和/或具有运动向量差的GPM块(GMVD)、和/或具有运动细化的GPM块、和/或基于GPM的任何变体。
术语“块”可以表示编解码块(CB)、CU、PU、TU、PB、TB。
短语“正常/常规合并候选”可以表示扩展合并预测过程生成的合并候选(如第3.1节所示)。它还可以表示除GEO合并候选和基于子块的合并候选之外的任何其他高级合并候选。
请注意,GPM/GMVD块的部分/分区意味着CU中几何分区的一部分,例如,图10中GPM块的两个部分被几何位置的直线分割。CU中几何分区的每个部分都使用其自身的运动进行相互预测,但变换是针对整个CU而不是GPM块的每个部分/分区执行的。
值得注意的是,术语“与GPM编解码块的一部分相关联的一组运动信息”在以下描述中使用,即使一部分的运动信息也可能由于加权掩码而应用于另一部分。可以解释为具有K个部分的GPM编解码块的多个(用K表示)运动候选索引。
还应当注意,GPM/GMVD应用于其它模式(例如,AMVP模式)也可以使用以下方法,其中合并候选列表可以由AMVP候选列表代替。
1.在一个示例中,视频单元的多个部分的运动信息可以来自相同的合并候选。
a.在一个示例中,运动信息的两个部分的两个片段可以是相同的。
1)在一个示例中,列表X(例如,X=0或1)运动信息用于两部分。
b.在一个示例中,两个部分的两条运动信息可以来自相同的合并候选,但是两条运动信息可以不同。
1)在一个示例中,列表X运动信息用于两部分之一,并且列表Y运动信息用于另一部分。
c.在一个示例中,视频单元可以通过无MVD的GPM模式进行分区。
d.在一个示例中,视频单元可以通过具有MVD(例如,GMVD)的GPM模式来分区。
e.在一个示例中,合并候选可以是GPM/GMVD合并候选,或普通合并候选,或其它扩展/高级合并候选。
2.在一个示例中,视频单元的多个部分的运动信息是否源自同一合并候选可以取决于非零运动向量差是否应用于GPM块。
a.例如,只有当具有非零运动向量差的GPM(例如,GMVD)被用于视频单元(例如,视频块)时,视频单元的多个部分的运动信息才被允许从相同的合并候选中导出。
b.例如,在视频块由没有运动向量差的GPM编解码的情况下,不允许从同一合并候选中导出视频单元的多个部分的运动信息。
c.例如,GMVD是否用于视频块的指示可以在GPM合并候选索引之前被发信号传送。
1)备选地,此外,如何用信号传送运动候选索引(例如,GPM合并候选索引)可以依赖于GMVD的使用。
3.在一个示例中,如果GPM块的两个部分的两个运动信息来自相同的合并候选,则可以应用以下规则中的一个或多个:
a.例如,视频块的至少一部分是用具有MVD的GPM编解码的。
b.例如,如果两个部分都用具有MVD的GPM编解码,那么两个部分的MVD是不相同的。
c.例如,如果两个部分都使用具有MVD的GPM进行编解码,则两个部分的两个MVD之间的差异(或绝对差异)应小于(或超过)阈值。
2)例如,可以使用自适应阈值。
a)例如,自适应阈值取决于当前视频单元的大小。
b)例如,自适应阈值取决于当前视频单元中的像素/样本的数目。
3)例如,可以使用固定阈值。
d.例如,如果两个部分中的一个部分用具有MVD的GPM编解码,另一个部分用不具有MVD的GPM编解码,则允许以下一种且仅有一种情况:
4)部分-0采用无MVD的GPM编解码,部分-1采用具有MVD的GPM编解码。
5)部分-0用具有MVD的GPM编解码,部分-1用不带MVD的GPM编解码。
4.在一个示例中,可以为视频单元(例如,视频块)发出语法元素(例如,标志)信号,指定视频单元的多个部分的运动信息是否源自相同的合并候选。
a.例如,视频单元可以用没有MVD的GPM编解码。
b.例如,视频单元可以用具有MVD的GPM(例如,GMVD)进行编解码。
c.例如,可以有条件地用信号传送语法元素。
6)它可以基于当前视频单元是否用GMVD编解码。
7)可以基于当前视频单元是否用不具有MVD的GPM编解码。
8)它可以基于视频块的至少一部分是否存在用运动向量差(例如,GMVD、MMVD、MMVD)进行编解码。
a)例如,当A部分(例如,A=0)使用GMVD而B部分(例如,B=1)使用不具有MVD的GPM时,语法元素不被发信号传送而是被推断为等于指定当前视频单元的两个部分的运动信息的两个部分被导出的值的差异合并候选。
9)它可以基于所有部分的运动向量差是否相同。
10)可以基于两个运动向量之间的差或绝对差的两部分是否在阈值之内/之上。
a)例如,可以使用自适应阈值。
i.例如,自适应阈值取决于当前视频单元的大小。
ii.例如,自适应阈值取决于当前视频单元中的像素/样本的数目。
b)例如,可以使用固定阈值。
d.例如,语法元素使用基于上下文的算术编解码进行编解码。
e.或者,此外,要编解码多少候选索引可能取决于语法元素。
5.建议GPM编解码块的运动候选索引中的至少一个不存在于比特流中。
a.在一个示例中,第一GPM合并索引被信号传送用于视频块,但是第二GPM合并索引可以不被信号传送。
b.例如,第二GPM合并索引在其被告知当前视频单元的两个部分的两个运动信息都源自同一合并候选的情况下不被发信号传送。
c.例如,可能只有一个GPM合并索引用信号传送整个视频块。
d.例如,如何导出其他GPM合并索引可以取决于当前视频单元的所有部分是否使用相同的合并候选。
e.例如,当不存在另一GPM合并索引时,用于另一GPM合并索引的另一部分可以从GPM合并索引中导出。
f.例如,当另一个GPM合并索引不存在时,推断出第一个被发信号传送的GPM合并索引相等。
6.在一个示例中,GPM块的指定部分是否用MVD编解码的信号传送可以取决于视频单元的多个部分的运动信息是否来自同一合并候选。
a.例如,可以用信号传送语法元素A(例如,标志),指定GPM块的指定部分是否被MVD编解码(例如,指定部分被GMVD编解码)。
b.另外,语法元素A可以基于视频单元的多个部分的运动信息是否来自相同的合并候选来有条件地发信号。
c.例如,当一个视频单元的所有部分的运动信息是否源自同一合并候选时,语法元素A对于某个部分(例如,第二部分)可以不发信号而是推断为等于指定用MVD编解码的GPM块的这个特定部分的值。
7.在一个示例中,所有部分(例如,GPM块的部分0和部分1)的GPM合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)可用于计算合并候选列表合并CandList(X=合并CandList[Px])中位置Px处的合并候选X的运动向量,其中Px指示所发信号的gpm合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)。
a.例如,是否应用上述权利要求可以总是应用于没有MVD的GPM编解码块。
b.例如,是否应用上述权利要求可以始终应用于GMVD编解码块。
c.例如,上述权利要求是否应用于GPM或GMVD可以取决于条件(例如,语法元素)。
8.在一个示例中,GPM合并候选索引编解码的二元化过程可以对所有待编解码候选相同(例如,对应于多个部分)。
a.例如,在二元化过程期间,用于部分-0gpm合并候选索引的输入参数值(例如,cMax)与用于部分-1gpm合并候选索引的输入参数值(例如,cMax)是相同的(例如,cMax=MaxNumGpmMergeCand–1,其中MaxNumGpmMergeCand表示允许的最大GPM合并候选数)。
9.在一个示例中,即使当正常合并候选的最大数目等于一时,GPM/GMVD也可以被应用。
a.例如,在这种情况下,GPM启用/禁用标志可以仍然在SPS级别被发信号传送。
b.例如,在这样的情况下,GPM部分的GPM合并候选索引可以不被发信号传送而是推断为等于另一GPM部分的GPM合并候选索引。
c.例如,在这样的情况下,GPM合并候选的最大数目可以不是以信号传送而是推断为预定义的数目(诸如一个或两个)。
d.例如,GPM合并候选的最大数目可以被允许等于1,而与正常合并候选的最大数目无关。
e.例如,GPM合并候选的最大数目可以被允许大于正常合并候选的最大数目。
f.例如,是否启用GPM可能不取决于正常合并候选的最大数目是否大于一个或两个。
11)例如,最大GPM合并候选的指示可以不条件于最大正常合并候选的数目是否大于一个或两个。
12)例如,GPM合并候选索引可以不取决于正常合并候选的最大数目是否大于一个或两个。
13)例如,i)GPM是否被启用,和/或ii)最大GPM合并候选的指示,和/或iii)GPM合并候选的索引,可以以正常合并候选的最大数目是否大于零为条件。
14)例如,i)GPM是否被启用,和/或ii)最大GPM合并候选的指示,和/或iii)GPM合并候选的索引,可以被无条件地发信号传送。
10.建议,如果从GPM和/或GMVD编解码块中的一部分的第一合并候选导出的运动信息与从第二合并候选导出的运动信息相同,则可以修改该运动信息。
a.例如,MV可以通过诸如(dx,dy)的移动矢量来添加。
b.例如,可以改变参考索引。
c.可以迭代地调用修改过程,直到从第一合并候选导出的运动信息与从第一合并候选之前的任何合并候选导出的运动信息不相同。
11.GPM MMVD偏移可以由一个或多个指示表示。
a.例如,指示可以是变量。
b.例如,指示可以是语法元素。
c.例如,GPM MMVD偏移的指示可以由GMVD索引表示。
a.例如,GPM MMVD偏移可以通过索引从GPM MMVD表导出。
b.例如,GPM MMVD表是以GMVD索引作为输入、GMVD偏移作为输出的一维表。
c.例如,GMVD指数可以解释为GMVD方向指数和GMVD距离/步长指数,通过转换(例如,如下例,其中NUM_TOTAL_DIR表示视频单元中支持的GPM MMVD方向的数目,NUM_TOTAL_STEP表示视频单元中支持的GPM MMVD步长/距离的数目)
i.例如,gmvdIdx=gmvdStepIdx*NUM_TOTAL_DIR+gmvdDirIdx
ii.例如,gmvdIdx=(gmvdStepIdx<<log2(NUM_TOTAL_DIR))+gmvdDirIdx
iii.例如,gmvdStepIdx=gmvdIdx>>log2(NUM_TOTAL_DIR)
iv.例如,gmvdDirIdx=gmvdIdx-(gmvdStepIdx<<log2(NUM_TOTAL_DIR))
v.例如,gmvdIdx=gmvdDirIdx*NUM_TOTAL_STEP+gmvdStepIdx
d.例如,GPM MMVD偏移的指示可以由MMVD方向索引加上MMVD步长/距离索引来表示。
a.例如,GPM MMVD偏移可以基于来自多于一个GPM MMVD表的索引来导出,例如通过MMVD方向索引和MMVD步长/距离索引分别进行索引。
b.例如,MMVD方向索引可以用信号传送为语法元素。
c.例如,MMVD步长/距离索引可以作为语法元素信号传送。
12.GMVD信息的指示的信号传送可以在指示GPM信息的指示之前。
a.例如,GPM信息可以是GPM编解码块的分割方向。
b.例如,GPM信息可以是GPM编解码块的几何分区的GPM合并索引。
c.例如,GPM信息可以是GPM编解码块的两个几何分区的GPM合并索引。
d.例如,GMVD信息可以是用于整个GPM编解码块的GMVD标志。
e.例如,GMVD信息可以是用于GPM编解码块的几何分区的GMVD标志。
f.例如,GMVD信息可以是用于GPM编解码块的两个几何分区的GMVD标志。
g.例如,GPM MMVD偏移的信号传送指示可以在GPM编解码块的分裂方向之前。
h.备选地,GMVD信息的指示的信号传送可以在GPM信息的指示的信号传送之后。
i.备选地,GMVD信息的指示的信号传送可以与GPM信息的指示的信号传送交错。
a.例如,GPM信息的一个或多个指示可以首先被发信号传送,接着是GMVD信息的一个或多个指示,然后接着再次是GPM信息的一个或多个指示,等等。
b.例如,一个或多个GMVD信息的指示可以首先被发信号传送,接着是一个或多个GPM信息的指示,然后接着是一个或多个GMVD信息的再次指示,等等。
13.信号传送和/或GPM合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)的使用可以取决于是否在编解码块中使用GPM MMVD。
a.例如,基于规则,两个GPM合并候选索引可以被发信号传送用于两个几何分区。
b.此外,基于规则,可以为两个几何分区发出两个GPM合并候选索引信号,即使GPM合并候选的最大数目等于T(例如T=2)。例如,基于规则,两个GPM合并候选索引的二元化可能是相同的。
a.例如,两者都使用具有相同cMax值的截断二元编解码,例如cMax=MaxNumGpmMergeCand–K(例如K=1)。
b.例如,两者都使用具有相同cMax值的固定长度编解码,例如cMax=MaxNumGpmMergeCand–K(例如K=1)。
c.例如,基于规则,两个部分(例如,GPM块的部分0和部分1)的GPM合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)可直接用于计算合并候选列表合并CandList(X=合并CandList[Px])中位置Px处的合并候选X的运动向量,其中Px指示被通知的gpm合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)。
d.例如,上述规则可以是:满足以下至少一个条件。
a.例如,至少一个几何分区使用GPM MMVD。
b.例如,一个几何分区使用GPM MMVD,而另一个几何分区使用没有MMVD的GPM。
c.例如,如果两个几何分区都使用GPM MMVD,则两个几何分区的GMVD索引(和/或GMVD阶跃索引,和/或GMVD方向索引,和/或GMVD距离索引)是不同的。
d.例如,如果两个几何分区都使用GPM MMVD,则两个几何分区的GMVD偏移量是不同的。
e.例如,如果两个几何分区都使用GPM MMVD,则两个几何分区的GMVD偏移量(和/或GMVD索引,和/或GMVD阶跃索引,和/或GMVD方向索引,和/或GMVD距离索引)的差异大于阈值。
14.建议GPM MMVD可以与基于模板匹配的GPM相协调。
a.在一个示例中,如果使用MMVD,基于模板匹配的GPM可以针对GPM块被禁用。
b.在一个示例中,如果使用GPM MMVD并且分区的MVD不等于零,则可以禁用分区的基于模板匹配的GPM。
c.在一个示例中,基于模板匹配的GPM可用于如果使用GPM MMVD的块。
a.在一个示例中,可以首先将GPM-MMVD发出的MVD添加到分区的MV,然后通过基于模板匹配的GPM进一步细化生成的MV。
b.在一个示例中,分区的MV可以首先通过基于模板匹配的GPM来细化,然后通过GPM-MMVD发信号传送的MVD可以进一步添加到细化MV。
15.在一个示例中,仅X模式编解码的相邻重构样本可用于构建用于基于模板匹配的运动向量细化的模板。
a.例如,X表示帧间模式。
b.例如,X表示帧内模式。
c.例如,X表示帧内模式或帧间模式。
d.比如上面的模板生成是针对当前图片中的模板。
e.比如上面的模板生成是针对当前图片中的模板,参考图片中的模板是基于当前图片模板样本位置生成的。
5.实施例
下面是上面第5节中总结的一些方面的一些示例实施例,可以应用于VVC规范。更改的文本基于JVET-Q2001-vE中的最新VVC文本。大多数已添加或修改的相关部分以下划线 字体突出显示,一些已删除的部分以红色字体以删除线突出显示。
5.1实施例#1(在JVET-T2001-v2之上)
合并数据语法表更改如下:
合并数据语义学更改如下:
mmvd_distance_idx[x0][y0]指定用于导出Mmvd距离[x0][y0]的索引,如表17中指定的。数组索引x0,y0指定所考虑的编解码块的左上角亮度样本相对于图片左上角亮度样本的位置(x0,y0)。
表17-基于mmvd_distance_idx[x0][y0]的Mmvd距离[x0][y0]规范
mmvd_direction_idx[x0][y0]指定用于导出MmvdSign[x0][y0]的索引,如表18中指定的。数组索引x0,y0指定所考虑的编解码块的左上角亮度样本相对于图片左上角亮度样本的位置(x0,y0)。
表18基于mmvd_direction_idx[x0][y0]的MmvdSign[x0][y0]规范
合并的两个组件加上MVD偏移量MmvdOffset[x0][y0]导出如下:
MmvdOffset[x0][y0][0]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][0](181)
MmvdOffset[x0][y0][1]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][1](182)
gmvd_flag[x0][y0]指定是否对当前编解码单元应用带有运动向量差的几何预 测。数组索引x0,y0指定所考虑的编解码块的左上亮度样本相对于图片左上亮度样本的位 置(x0,y0)。
both_parts_samecandidate_flag[x0][y0]指定当前几何分区CU的两个部分是否 使用基于几何分区的运动补偿候选列表的相同合并候选索引。
当both_parts_samecandidate_flag[x0][y0]不存在时,推断为等于0。
merge_gpm_idx0[x0][y0]指定基于几何分区的运动补偿候选列表的第一合并候 选索引,其中x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本的 位置(x0,y0)。
当merge_gpm_idx0[x0][y0]不存在时,推断为等于0。
merge_gpm_idx1[x0][y0]指定基于几何分区的运动补偿候选列表的第二合并候 选索引,其中x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本的 位置(x0,y0)。
当merge_gpm_idx1[x0][y0]不存在时,推断为等于merge_gpm_idx0[x0][y0]。
gmvd_part_flagpartIdx等于0或1的[x0][y0][partIdx]指定是否对当前编解码 单元中index等于partIdx的分区应用带有运动向量差的几何预测。数组索引x0,y0指定考 虑的编解码块的左上亮度样本相对于图片左上亮度样本的位置(x0,y0)。当gmvd_part_ flag[x0][y0][partIdx]不存在时,如果gmvd_flag[x0][y0]等于1并且partIdx等于1,则推 断为等于1。否则,推断为等于0。
gmvd_distance_idxpartIdx等于0或1的[x0][y0][partIdx]指定用于导出 GmvdInterance[x0][y0][partIdx]的索引,如表17中指定的。数组索引x0,y0指定所考虑的 编解码块的左上亮度样本相对于图片左上亮度样本的位置(x0,y0)。
gmvd_direction_idxpartIdx等于0或1的[x0][y0][partIdx]指定用于导出 GmvdSign[x0][y0][partIdx]的索引,如表18中指定的。数组索引x0,y0指定所考虑的编解 码块的左上亮度样本相对于图片左上亮度样本的位置(x0,y0)。
GMVD偏移量GmvdOffset[x0][y0]的两个分量导出如下:
GmvdOffset[x0][y0][partIdx][0]=(GmvdRelance[x0][y0][partIdx]<<2)* GmvdSign[x0][y0][partIdx][0]
GmvdOffset[x0][y0][partIdx][1]=(GmvdRelance[x0][y0][partIdx]<<2)* GmvdSign[x0][y0][partIdx][1]
几何分区合并模式的亮度运动向量的导出过程更改如下:
几何分区合并模式下亮度运动向量的导出过程
此过程仅在MergeGpmFlag[xCb][yCb]等于1时调用,其中(xCb,yCb)指定当前亮度编解码块的左上角样本相对于当前图片的左上角亮度样本。
这个过程的输入是:
-当前亮度编解码块的左上角样本相对于当前图片的左上角亮度样本的亮度位置(xCb,yCb),
-一个变量cbWidth,指定亮度样本中当前编解码块的宽度,
-一个变量cbHeight,指定亮度样本中当前编解码块的高度。
这一过程的输出是:
-1/16分数样本精度mvA和mvB中的亮度运动向量,
-参考指数refIdxA和refIdxB,
-预测列表标记predListFlagA和predListFlagB。
运动向量mvA和mvB、参考索引refIdxA和refIdxB以及预测列表标志predListFlagA和predListFlagB通过以下有序步骤导出:
1.使用亮度位置(xCb,yCb),变量cbWidth和cbHeight输入,并且输出是亮度运动向量mvL0[0][0],mvL1[0][0],参考索引refIdxL0,refIdxL1,预测列表利用标志predFlagL0[0][0]和predFlagL1[0][0],双向预测权重指数bcwIdx和合并候选列表mergeCandList。
2.变量m和n分别是几何分区0和1的合并索引,使用merge_gpm_idx0[xCb][yCb]和merge_gpm_idx1[xCb][yCb]导出,如下所示:
M=merge_gpm_idx0[xCb][yCb](637)
n=both_parts_samecandidate_flag[x0][y0]?merge_gpm_idx0[xCb][yCb]:
(merge_gpm_idx1[xCb][yCb]+
((merge_gpm_idx1[xCb][yCb]>=m)?1:0))(638)
3.设refIdxL0M和refIdxL1M、predFlagL0M和predFlagL1M以及mvL0M和mvL1M为合并候选列表mergeCandList
(M=mergeCandList[m])中位置m的合并候选M的参考索引、预测列表利用标志和运动向量。
4.变量X设置为等于(m&0x01)。
5.当predFlagLXM等于0时,X设置为等于(1-X)。
6.以下内容适用:
mvA[0]=mvLXM[0]+GmvdOffset[x0][y0][0][0] (639)
mvA[1]=mvLXM[1]+GmvdOffset[x0][y0][0][1] (640)
refIdxA=refIdxLXM (641)
predListFlagA=X (642)
7.设refIdxL0N和refIdxL1N,predFlagL0N和predFlagL1N,以及mvL0N和mvL1N为参考索引,预测列表利用标志和合并候选列表合并CandList(N=mergeCandList[n])中m位置的合并候选N的运动向量。
8.变量X设置为等于(n&0x01)。
9.当predFlagLXN等于0时,X设置为等于(1-X)。
10.以下内容适用:
b.mvB[0]=mvLXN[0]+GmvdOffset[x0][y0][1][0] (643)
c.mvB[1]=mvLXN[1]+GmvdOffset[x0][y0][1][1] (644)
d.refIdxB=refIdxLXN (645)
e.predListFlagB=X
语法元素和相关的二元化更改如下:
表127语法元素和相关的二元化
ctxInc对具有上下文编解码箱的语法元素的分配更改如下:
表132-将ctxInc分配给具有上下文编解码箱的语法元素
5.2实施例#2(在JVET-T2001-v2之上)
合并数据语法表更改如下:
*方案1“两个分区具有相同的gmvdOffset”意味着两个分区的GPM运动向量差的水 平分量和垂直分量是相同的,否则,它被视为两个分区具有不同的gmvdOffset。
*方案2:“两个分区具有相同的gmvdOffset”意味着两个分区的GPM运动向量差的 水平分量和垂直分量相似,否则视为两个分区具有不同的gmvdOffset。
合并数据语义学更改如下:
mmvd_distance_idx[x0][y0]指定用于导出Mmvd距离[x0][y0]的索引,如表17中指定的。数组索引x0,y0指定所考虑的编解码块的左上角亮度样本相对于图片左上角亮度样本的位置(x0,y0)。
表17基于mmvd_distance_idx[x0][y0]的Mmvd距离[x0][y0]规范
mmvd_direction_idx[x0][y0]指定用于导出MmvdSign[x0][y0]的索引,如表18中指定的。数组索引x0,y0指定所考虑的编解码块的左上角亮度样本相对于图片左上角亮度样本的位置(x0,y0)。
表18-基于mmvd_direction_idx[x0][y0]的MmvdSign[x0][y0]规范
合并的两个组件加上MVD偏移量MmvdOffset[x0][y0]导出如下:
MmvdOffset[x0][y0][0]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][0](181)
MmvdOffset[x0][y0][1]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][1](182)
GMVD偏移量GmvdOffset[x0][y0]的两个分量导出如下:
GmvdOffset[x0][y0][partIdx][0]=(GmvdRelance[x0][y0][partIdx]<<2)* GmvdSign[x0][y0][partIdx][0]
GmvdOffset[x0][y0][partIdx][1]=(GmvdRelance[x0][y0][partIdx]<<2)* GmvdSign[x0][y0][partIdx][1]
如果gmvd_part_flag[x0][y0][partIdx]等于false,则GmvdOffset[x0][y0] [partIdx][0]和GmvdOffset[x0][y0][partIdx][1]设置为等于0,其中partIdx为0或1。
merge_gpm_idx0[x0][y0]指定基于几何分区的运动补偿候选列表的第一合并候 选索引,其中x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本的 位置(x0,y0)。
当merge_gpm_idx0[x0][y0]不存在时,推断为等于0。
merge_gpm_idx1[x0][y0]指定基于几何分区的运动补偿候选列表的第二合并候 选索引,其中x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本的 位置(x0,y0)。
当merge_gpm_idx1[x0][y0]不存在时,推断为等于0。
merge_gpm_idx11[x0][y0]指定基于几何分区的运动补偿候选列表的第二合并候 选索引,其中x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本的 位置(x0,y0)。
当merge_gpm_idx11[x0][y0]不存在时,推断为等于0。
partIdx等于0或1的gmvd_part_flag[x0][y0][partIdx]指定是否对当前编解码 单元中index等于partIdx的分区应用带有运动向量差的几何预测。数组索引x0,y0指定考 虑的编解码块的左上亮度样本相对于图片左上亮度样本的位置(x0,y0)。当gmvd_part_ flag[x0][y0][partIdx]不存在时,推断为等于0。
gmvd_distance_idxpartIdx等于0或1的[x0][y0][partIdx]指定用于导出 GmvdInterance[x0][y0][partIdx]的索引,如表17中指定的。数组索引x0,y0指定所考虑的 编解码块的左上亮度样本相对于图片左上亮度样本的位置(x0,y0)。
GmvdContanceArray[]被设置为等于{4,8,16,32,48,64,96,128,256}并且 GmvdSecance[x0][y0][partIdx]被设置为等于GmvdSecanceArray[gmvd_distance_idx [x0][y0][partIdx]]。
gmvd_direction_idxpartIdx等于0或1的[x0][y0][partIdx]指定用于导出 GmvdSign[x0][y0][partIdx]的索引,如表18中指定的。数组索引x0,y0指定所考虑的编解 码块的左上亮度样本相对于图片左上亮度样本的位置(x0,y0)。
GmvdBaseArray[][]设置为等于{{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1}, {-1,1},{-1,-1}。
对于compIdx=0…1,GmvdBase[x0][y0][partIdx][compIdx]设置为等于 GmvdBaseArray[gmvd_direction_idx[x0][y0]][compIdx]。
当gmvd_part_flag[x0][y0][partIdx]等于零时,GmvdOffset[x0][y0][partIdx] [compIdx]对于compIdx=0…1设置为等于零。否则,GmvdOffset[x0][y0][partIdx] [compIdx]设置为等于GmvdBaseMv[x0][y0][partIdx][compIdx]*Gmvd距离[x0][y0] [partIdx]*(pic_fpel_mmvd_enabled_flag==1?4:1)对于compIdx=0…1。
几何分区合并模式的亮度运动向量的导出过程更改如下:
几何分区合并模式下亮度运动向量的导出过程
此过程仅在MergeGpmFlag[xCb][yCb]等于1时调用,其中(xCb,yCb)指定当前亮度编解码块的左上角样本相对于当前图片的左上角亮度样本。
这个过程的输入是:
-当前亮度编解码块的左上角样本相对于当前图片的左上角亮度样本的亮度位置(xCb,yCb),
-一个变量cbWidth,指定亮度样本中当前编解码块的宽度,
-一个变量cbHeight,指定亮度样本中当前编解码块的高度。
这一过程的输出是:
-1/16分数样本精度mvA和mvB中的亮度运动向量,
-参考指数refIdxA和refIdxB,
-预测列表标记predListFlagA和predListFlagB。
运动向量mvA和mvB、参考索引refIdxA和refIdxB以及预测列表标志predListFlagA和predListFlagB通过以下有序步骤导出:
11.使用亮度位置(xCb,yCb),变量cbWidth和cbHeight输入,并且输出是亮度运动向量mvL0[0][0],mvL1[0][0],参考索引refIdxL0,refIdxL1,预测列表利用标志predFlagL0[0][0]和predFlagL1[0][0],双向预测权重指数bcwIdx和合并候选列表mergeCandList。
12.变量m和n分别是几何分区0和1的合并索引,使用merge_gpm_idx0[xCb][yCb]和merge_gpm_idx1[xCb][yCb]导出,如下所示:
m=merge_gpm_idx0[xCb][yCb] (637)
n=两个分区具有不同的gmvdOffset*?merge_gpm_idx11[xCb][yCb]:(merge_gpm_idx1[xCb][yCb]+((merge_gpm_idx1[xCb][yCb]>=m)?1:0)) (638)
13.设refIdxL0M和refIdxL1M、predFlagL0M和predFlagL1M以及mvL0M和mvL1M为合并候选列表mergeCandList(M=mergeCandList[m])中位置m的合并候选M的参考索引、预测列表利用标志和运动向量。
14.变量X设置为等于(m&0x01)。
15.当predFlagLXM等于0时,X设置为等于(1-X)。
16.以下内容适用:
mvA[0]=mvLXM[0]+GmvdOffset[x0][y0][0][0] (639)
mvA[1]=mvLXM[1]+GmvdOffset[x0][y0][0][1] (640)
refIdxA=refIdxLXM (641)
predListFlagA=X (642)
17.设refIdxL0N和refIdxL1N,predFlagL0N和predFlagL1N,以及mvL0N和mvL1N为参考索引,预测列表利用标志和合并候选列表合并CandList(N=mergeCandList[n])中m位置的合并候选N的运动向量。
18.变量X设置为等于(n&0x01)。
19.当predFlagLXN等于0时,X设置为等于(1-X)。
20.以下内容适用:
mvB[0]=mvLXN[0]+GmvdOffset[x0][y0][1][0] (643)
mvB[1]=mvLXN[1]+GmvdOffset[x0][y0][1][1] (644)
refIdxB=refIdxLXN (645)
predListFlagB=X
语法元素和相关的二元化更改如下:
表127-语法元素和相关的二元化
ctxInc对具有上下文编解码箱的语法元素的分配更改如下:
表132-将ctxInc分配给具有上下文编解码箱的语法元素
图13示出了根据本公开的一些实施例的用于视频处理的方法1300的流程图。
如图13所示,在1305,在视频的目标块和视频的比特流之间的转换期间,基于具有运动向量差(GMVD)的几何分区模式(GPM)确定目标块的多个几何分区的运动信息(称为"第一运动信息")。在1310,基于第一运动信息在目标块和比特流之间执行转换,该比特流包括与目标块相关联的GMVD信息的一组指示(称为"第一组")。根据本公开的一些实施例,GMVD信息可以包括关于用于目标块的GMVD的任何合适的信息。第一组指示可以包括一个或多个指示。
根据本公开的一些实施例,如果将具有运动向量差(MVD)的GPM用于视频编码/解码,则用信号传送相关的GMVD信息。因此,可以在编码器和解码器两者处已知相关的编解码信息,从而提高编解码性能。
在一些实施例中,为了确定第一运动信息,可以首先基于GPM确定多个几何分区的运动信息(称为"第二运动信息")。然后,基于第二运动信息和多个几何分区的运动向量差(MVD)信息确定第一运动信息。
在一些实施例中,GMVD信息的第一组指示包括基于GMVD生成的偏移的一组指示(称为"第二组"),为了讨论的目的,这样的偏移在下文中将被称为GPM MMVD偏移,GPM MMVD偏移可以由一个或多个指示表示。
在一些实施例中,与GPM MMVD偏移相关联的第二组指示可以包括一个指示。在一个示例中,该指示可以是变量。在另一个示例中,该指示可以在语法元素中被信号传送。
在一些实施例中,GPM MMVD偏移的指示可以包括GMVD索引。例如,GPM MMVD偏移的指示可以由GMVD索引表示,GMVD索引可以从GMVD方向索引和GMVD距离索导出。
例如,可以通过转换将GMVD指数解释为GMVD方向指数和GMVD距离(或步长)指数。GMVD指数可以根据以下公式之一导出。
gmvdIdx=gmvdStepIdx*NUM_TOTAL_DIR+gmvdDirIdx(1)
gmvdIdx=(gmvdStepIdx<<log2(NUM_TOTAL_DIR))+gmvdDirIdx(2)
gmvdStepIdx=gmvdIdx>>log2(NUM_TOTAL_DIR) (3)
gmvdDirIdx=gmvdIdx-(gmvdStepIdx<<log2(NUM_TOTAL_DIR))(4)
gmvdIdx=gmvdDirIdx*NUM_TOTAL_STEP+gmvdStepIdx(5)
其中gmvdIdx表示GMVD方向索引,gmvdStepIdx表示GMVD距离索引,NUM_TOTAL_DIR表示目标块中支持的GPM MMVD方向的数目,NUM_TOTAL_STEP表示目标块中支持的GPM MMVD距离/步数
在一些实施例中,GPM MMVD偏移可以通过从表索导出,该表是一维表,其中GMVD索引作为输入并且GMVD偏移作为输出。
在一些实施例中,与GPM MMVD偏移相关联的第二组指示可以包括MMVD方向索引的指示和MMVD距离索引的指示。例如,GPM MMVD偏移的指示可以由MMVD方向索引加上MMVD距离(或步长)索引表示。
在一些实施例中,GPM MMVD偏移量可以基于从分别由MMVD方向索引和MMVD距离/步长索引而索引的多个表中的索导出,MMVD方向索引在语法元素中用信号传送,MMVD距离索引在语法元素中用信号传送。
在一些实施例中,比特流还可以包括与目标块相关联的GPM信息的指示的集合(称为"第三集合"),GPM信息可以包括关于用于目标块的GPM的任何合适的信息。
在一些实施例中,GPM信息可以包括目标块的分割方向和/或目标块的多个几何分区的几何分区的GPM合并候选索引。备选地或附加地,GPM信息可以包括目标块的多个几何分区的一个或多个GPM合并候选索引。在一些实施例中,目标块的多个几何分区可以包括目标块的两个几何分区。在这些实施例中,例如,GPM信息可以是目标块的两个几何分区两者的GPM合并索引。
在一些实施例中,GMVD信息的第一组指示可以包括用于目标块的GMVD标志,以指示用于目标块的GMVD。例如,GMVD信息可以是用于整个目标块的GMVD标志。备选地或附加地,第一组指示可以包括用于目标块的几何分区的GMVD标志,以指示GMVD用于目标块的几何分区。
备选地或附加地,第一组指示可以包括用于目标块的一个或多个几何分区的一个或多个GMVD标志,以指示GMVD用于目标块的一个或多个几何分区。例如,GMVD信息可以是用于目标块的两个几何分区中的两个的GMVD标志。
在一些实施例中,GMVD信息的第一组指示可以在GPM信息的第三组指示之前用信号传送。例如,在GMVD信息的第一组指示包括与GPM MMVD偏移相关联的第二组指示并且GPM信息的第三组指示包括目标块的分裂方向的指示的实施例中,GPM MMVD偏移的指示的信号传送可以在目标块的分裂方向之前。
在一些实施例中,可以在GPM信息的第三组指示之后用信号传送GMVD信息的第一组指示。在一些其他实施例中,GMVD信息的第一组指示可以与GPM信息的第三组指示交错。
在一个示例中,GMVD信息的指示(称为“第一指示”)可以跟随GPM信息的指示(称为“第二指示”)。GMVD信息的第一指示之后可以是GPM信息的另一个指示(称为“第三指示”)。例如,可以首先用信号传送GPM信息的一个或多个指示,然后是GMVD信息的一个或多个指示,然后再次跟随GPM信息的一个或多个指示,依此类推。
在另一个例子中,GMVD信息的第一指示之后可以是GPM信息的第二指示,GPM信息的第二指示之后是GMVD信息的另一个指示(称为"第四指示")。例如,可以首先用信号传送GMVD信息的一个或多个指示,接着是GPM信息的一个或多个指示,然后再次接着GMVD信息的一个或多个指示,依此类推。
在一些实施例中,GPM信息的第三组指示可以包括用于目标块的一个或多个几何分区的一个或多个GPM合并候选索引。例如,GPM合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)的信号传送和/或使用可以取决于是否在编解码块中使用GMVD。GMVD用于目标块,因此,可能需要GPM合并候选索引的信号传送和/或使用。
在一些实施例中,一个或多个GPM合并候选索引可以包括用于目标块的两个几何分区的两个GPM合并候选索引。例如,基于规则,可以针对两个几何分区信号传送两个GPM合并候选索引。在一些实施例中,GPM合并候选的最大数目可以等于2。例如,基于规则,可以针对两个几何分区信号传送两个GPM合并候选索引,即使GPM合并候选的最大数目等于T(例如T=2)。在一些实施例中,两个GPM合并候选索引的二元化可以相同。
在一些实施例中,可以通过使用具有cMax值的截断二元编解码或固定长度编解码来生成两个GPM合并候选索引,其中cMax=MaxNumGpmMergeCand-K,K为正整数,MaxNumGpmMergeCand表示GPM合并候选的最大数目,在一个示例中,K=1。
在一些实施例中,一个或多个GPM合并候选索引可以包括用于目标块的两个几何分区的GPM合并候选索引。在一些实施例中,GPM合并候选索引可以指示合并候选在GPM的合并候选列表中的位置。
例如,基于规则,两个部分(例如,GPM块的部分0和部分1)的GPM合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)可直接用于计算合并候选列表合并CandList(X=合并CandList[Px])中位置Px处的合并候选X的运动向量,其中Px指示被信号传送的gpm合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)。
在一些实施例中,目标块的两个几何分区中的至少一个可以使用GMVD。在一些实施例中,两个几何分区的一个几何分区可以使用GMVD,两个几何分区的另一个几何分区使用没有MVD的GPM。
在一些实施例中,两个几何分区可以都使用GMVD。在一个示例中,GMVD信息的第一组指示可以包括两个几何分区的不同GMVD索引。在一个示例中,GMVD信息的第一组指示可以包括两个几何分区的不同GMVD偏移的指示。GMVD偏移的差值可以大于阈值。
例如,上述规则可以至少满足以下条件之一。例如,至少一个几何分区使用GMVD。例如,一个几何分区使用GMVD,另一个几何分区使用没有MVD的GPM。例如,如果两个几何分区都使用GMVD,则两个几何分区的GMVD索引(和/或GMVD阶跃索引,和/或GMVD方向索引,和/或GMVD距离索引)是不同的。例如,如果两个几何分区都使用GMVD,则两个几何分区的GMVD偏移量是不同的。例如,如果两个几何分区都使用GMVD,则两个几何分区的GMVD偏移量(和/或GMVD索引,和/或GMVD阶跃索引,和/或GMVD方向索引,和/或GMVD距离索引)的差异大于阈值。
在一些实施例中,可以为目标块禁用基于模板匹配的GPM,例如,GMVD可以与基于模板匹配的GPM协调,在一个示例中,如果使用GMVD,则可以针对块而禁用基于模板匹配的GPM。
在一些实施例中,目标块的几何分区使用GMVD,并且针对该几何分区的运动向量差(MVD)不等于零。在这些实施例中,针对该几何分区禁用基于模板匹配的GPM。在一个示例中,如果使用GMVD并且针对该分区的MVD不等于零,则可以针对该分区禁用基于模板匹配的GPM。
在一些实施例中,可以为目标块启用基于模板匹配的GPM。在一个示例中,如果使用GMVD,则可以为块使用基于模板匹配的GPM。
在一些实施例中,可以将GMVD用于目标块的几何分区。几何分区的第一运动信息可以包括几何分区的运动向量。在一些实施例中,可以将几何分区的运动向量差(MVD)添加到几何分区的运动向量中。然后,可以由基于模板匹配的GPM细化结果运动向量。在一个示例中,可以将GPM-MMVD信号传送的MVD添加到分区的MV,然后通过基于模板匹配的GPM进一步细化结果MV。
在一些实施例中,可以通过基于模板匹配的GPM来细化几何分区的运动向量,然后可以将用于几何分区的MVD添加到细化的运动向量中。在一个示例中,可以通过基于模板匹配的GPM首先细化分区的MV,然后可以将GPM-MMVD信号传送的MVD进一步添加到细化MV。
在一些实施例中,可以将帧间编解码模式和帧内编解码模式中的一种用于目标块的相邻重构样本,以构建用于目标块中的基于模板匹配的GPM的目标模板。在一个示例中,可以仅使用X模式编解码的相邻重构样本来构建用于基于模板匹配的运动向量细化的模板。例如,X可以指示帧间模式。备选地或附加地,X可以指示帧内模式。备选地或附加地,X可以指示帧内模式或帧间模式。
在一些实施例中,可以基于目标模板的样本位置生成目标块的参考块中的基于模板匹配的GPM的参考模板,在一个示例中,上述模板生成是针对目标块中的目标模板的,参考块中的参考模板是基于目标模板的样本位置生成的。
在一些实施例中,帧间编解码模式和帧内编解码模式之一可以用于目标块的参考块的相邻重构样本,以构建参考块中基于模板匹配的GPM的参考模板。
根据本公开的一些实施例,可以灵活高效地将GMVD信息和/或GPM信息编解码到视频的比特流中。因此,可以显著地提高编解码效率,并且视频处理更加有效高效。
本公开的实现可以鉴于以下条款来描述,其特征可以以任何合理的方式组合。
条款1、一种用于视频处理的方法,包括:在视频的目标块和视频的比特流之间的转换期间,基于具有运动向量差的几何分区模式(GPM)确定目标块的多个几何分区的第一运动信息;以及基于第一运动信息执行目标块和比特流之间的转换,比特流包括与目标块相关联的GMVD信息的第一组指示。
条款2、根据条款1的方法,其中基于GMVD确定多个几何分区的第一运动信息包括:基于GPM确定多个几何分区的第二运动信息;以及基于第二运动信息和多个几何分区的运动向量差(MVD)信息确定第一运动信息。
条款3、根据条款1或条款2的方法,其中GMVD信息的第一组指示包括基于GPM和具有运动向量差的合并模式(MMVD)而生成的偏移的第二组指示。
条款4、根据条款3的方法,其中第二组指示包括一个指示,该一个指示是语法元素中的变量或信号。
根据条款5、根据条款4所述的方法,其中所述一个指示包括GMVD索引,所述GMVD索引从GMVD方向索引和GMVD距离索导出。
条款6、根据条款5的方法,其中GMVD索导出为:gmvdIdx=gmvdStepIdx*NUM_TOTAL_DIR+gmvdDirIdx,gmvdIdx=(gmvdStepIdx<<log2(NUM_TOTAL_DIR))+gmvdDirIdx ,gmvdStepIdx=gmvdIdx>>log2( NUM_TOTAL_DIR ) , gmvdDirIdx=gmvdIdx-(gmvdStepIdx<<log2(NUM_TOTAL_DIR)),或gmvdIdx=gmvdDirIdx*NUM_TOTAL_STEP+gmvdStepIdx,其中gmvdIdx表示GMVD方向索引,gmvdStepIdx表示GMVD距离索引,NUM_TOTAL_DIR表示目标块中支持的GPM MMVD方向的数目,NUM_TOTAL_STEP表示目标块中支持的GPM MMVD距离的数目。
条款7、根据条款5或条款6的方法,其中GPM MMVD偏移量通过从表进行索引而导出,该表是以GMVD索引作为输入并且以GMVD偏移量作为输出的一维表。
条款8、根据条款3的方法,其中所述第二组指示包括MMVD方向指数的指示和MMVD距离指数的指示。
条款9、根据条款8所述的方法,其中所述偏移基于来自多个表的索引而导出,所述多个表分别由MMVD方向索引和MMVD距离索引来索引。
条款10、根据条款8或条款9的方法,其中MMVD方向索引在语法元素中信号传送,和/或MMVD距离索引在语法元素中信号传送。
条款11、根据条款1或条款2的方法,其中所述比特流还包括与所述目标块相关联的GPM信息的第三组指示。
条款12、根据条款11的方法,其中目标块的多个几何分区包括目标块的两个几何分区。
条款13、根据条款11或条款12的方法,其中GPM信息包括以下至少之一:目标块的分割方向,目标块的多个几何分区的几何分区的GPM合并候选索引,或目标块的多个几何分区的一个或多个GPM合并候选索引。
条款14、根据条款11-13中任一项的方法,其中GMVD信息的第一组指示包括以下至少之一:针对所述目标块的GMVD标志,用以指示所述GMVD被用于所述目标块;针对所述目标块的所述多个几何分区的几何分区的GMVD标志,用以指示所述GMVD被用于所述目标块的所述多个几何分区的所述几何分区;或针对所述目标块的所述多个几何分区的一个或多个几何分区的一个或多个GMVD标志,用以指示所述GMVD被用于所述目标块的所述多个几何分区的所述一个或多个几何分区。
条款15、根据条款11-14中任一项的方法,其中GMVD信息的第一组指示在GPM信息的第三组指示之前信号传送。
条款16、根据条款15的方法,其中GMVD信息的第一组指示包括基于GPM和具有运动向量差的合并模式(MMVD)而生成的偏移的第二组指示,GPM信息的第三组指示包括目标块的分割方向的指示。
条款17、根据条款11-14中任一项的方法,其中GMVD信息的第一组指示在GPM信息的第三组指示之后信号传送。
条款18、根据条款11-14中任一项的方法,其中GMVD信息的第一组指示与GPM信息的第三组指示交错。
条款19、根据条款18的方法,其中GMVD信息的第一组指示至少包括GMVD信息的第一指示,GPM信息的第三组指示至少包括GPM信息的第二指示和GPM的第三指示,GPM信息的第二指示之后是GMVD信息的第一指示,GMVD信息的第一指示之后是GPM信息的第三指示。
条款20、根据条款18的方法,其中GMVD信息的第一组指示至少包括GMVD信息的第一指示和GMVD信息的第四指示,GPM信息的第三组指示至少包括GPM信息的第二指示,并且GMVD信息的第一指示之后是GPM信息的第二指示,GPM信息的第二指示之后是GMVD信息的第四指示。
条款21、根据条款12的方法,其中GPM信息的第三组指示包括用于目标块的两个几何分区的一个或多个几何分区的一个或多个GPM合并候选索引。
条款22、根据条款21的方法,其中所述一个或多个GPM合并候选索引包括用于所述目标块的两个几何分区的两个GPM合并候选索引。
条款23、根据条款22的方法,其中GPM合并候选的最大数目等于2。
条款24、根据条款22的方法,其中两个GPM合并候选索引的二元化是相同的。
条款25、根据条款24的方法,其中两个GPM合并候选索引通过使用具有cMax值的截断二元编解码或固定长度编解码来生成,cMax=MaxNumGpmMergeCand-K,K为正整数,其中MaxNumGpmMergeCand表示GPM合并候选的最大数目。
条款26、根据条款25的方法,其中K=1。
条款27、根据条款21的方法,其中所述一个或多个GPM合并候选索引包括用于所述目标块的两个几何分区的GPM合并候选索引。
条款28、根据条款27的方法,其中GPM合并候选索引指示合并候选在目标块的合并候选列表中的位置。
条款29、根据条款12的方法,其中目标块的两个几何分区中的至少一个使用GMVD。
条款30、根据条款29的方法,其中两个几何分区的一个几何分区使用GMVD,并且两个几何分区的另一个几何分区使用无MVD的GPM。
条款31、根据条款29的方法,其中两个几何分区都使用GMVD。
条款32、根据条款31的方法,其中GMVD信息的第一组指示包括两个几何分区的不同GMVD索引。
条款33、根据条款31的方法,其中GMVD信息的第一组指示包括两个几何分区的不同GMVD偏移的指示。
条款34、根据条款33的方法,其中GMVD偏移的差异大于阈值。
条款35、根据条款11或条款12的方法,其中基于模板匹配的GPM被禁用用于目标块。
条款36、根据条款11或条款12的方法,其中所述目标块的所述多个几何分区的几何分区使用GMVD,并且针对所述几何分区的运动向量差(MVD)不等于零,并且针对所述几何分区禁用基于模板匹配的GPM。
条款37、根据条款11或条款12所述的方法,其中针对目标块而启用基于模板匹配的GPM。
条款38、根据条款37的方法,其中GMVD用于目标块的多个几何分区的几何分区,并且几何分区的第一运动信息包括几何分区的运动向量。
如条款39、根据条款38所述的方法,还包括:将用于所述几何分区的运动向量差值(MVD)添加到所述几何分区的运动向量中;以及由基于模板匹配的GPM细化所得到的运动向量。
条款40、根据条款38的方法,还包括:由基于模板匹配的GPM细化所述几何分区的运动向量;以及将用于所述几何分区的运动向量差值(MVD)添加到所述细化的运动向量。
条款41、根据条款35-40中任一项的方法,其中帧间编解码模式和帧内编解码模式之一用于目标块的相邻重构样本,以构建目标块中基于模板匹配的GPM的目标模板。
条款42、根据条款41的方法,其中基于目标模板的样本位置生成目标块的参考块中的基于模板匹配的GPM的参考模板。
条款43、根据条款35-40中任一项的方法,其中帧间编解码模式和帧内编解码模式之一用于目标块的参考块的相邻重构样本,以构建参考块中基于模板匹配的GPM的参考模板。
条款44、根据条款1-43中任一项的方法,其中转换包括将目标块编码到比特流中。
条款45、根据条款1-43中任一项的方法,其中转换包括从比特流解码目标块。
条款46、一种用于处理视频数据的设备,包括处理器和在其上具有指令的非瞬态存储器,其中指令在被处理器执行时使处理器执行根据条款1-45中的任何一个的方法。
条款47、一种非瞬态计算机可读存储介质,存储指令,使处理器执行根据条款1-45中的任何一个的方法。
条款48、一种存储由视频处理设备执行的方法生成的视频的比特流的非瞬态计算机可读记录介质,其中该方法包括:基于具有运动向量差的几何分区模式(GPM)确定视频的目标块的多个几何分区的第一运动信息;以及基于第一运动信息生成比特流,该比特流包括与目标块相关联的GMVD信息的第一组指示。
条款49、一种用于存储视频的比特流的方法,包括:基于具有运动向量差的几何分区模式(GPM)确定视频的目标块的多个几何分区的第一运动信息;基于第一运动信息生成比特流,该比特流包括与目标块相关联的GMVD信息的第一组指示;以及将比特流存储在非瞬态计算机可读记录介质中。
示例设备
图14示出了可以在其中实现本公开的各种实施例的计算设备1400的框图。计算设备1400可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。
应当理解的是,图14中示出的计算设备1400仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。
如图14所示,计算设备1400包括通用计算设备1400。计算设备1400可以至少包括一个或多个处理器或处理单元1410、存储器1420、存储单元1430、一个或多个通信单元1440、一个或多个输入设备1450以及一个或多个输出设备1460。
在一些实施例中,计算设备1400可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备1400可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。
处理单元1410可以是物理处理器或虚拟处理器,并且可以基于存储在存储器1420中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备1400的并行处理能力。处理单元1410也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备1400通常包括各种计算机存储介质。这样的介质可以是由计算设备1400可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器1420可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元1430可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备1400中被访问的介质。
计算设备1400还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图14中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元1440经由通信介质与另一计算设备通信。另外,计算设备1400中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备1400可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备1450可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备1460可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元1440,计算设备1400还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备1400还可以与一个或多个使用户能够与计算设备1400交互的设备通信,或任何使计算设备1400能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备1400的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
在本公开的实施例中,计算设备1400可以被用于实现视频编码/解码。存储器1420可以包括具有一个或多个程序指令的一个或多个视频编解码模块1425。这些模块能够由处理单元1410访问和执行,以执行本文描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备1450可以接收视频数据作为待编码的输入1470。视频数据可以由例如视频编码模块1425处理,以生成经编码的码流。经编码的码流可以经由输出设备1460作为输出1480被提供。
在执行视频解码的示例实施例中,输入设备1450可以接收经编码的码流作为输入1470。经编码的码流可以由例如视频编码模块1425处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备1460作为输出1480被提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。

Claims (49)

1.一种用于视频处理方法,包括:
在视频的目标块与所述视频的比特流之间的转换期间,基于具有运动向量差(GMVD)的几何分区模式(GPM),确定所述目标块的多个几何分区的第一运动信息;以及
基于所述第一运动信息执行所述目标块与所述比特流之间的所述转换,所述比特流包括与所述目标块相关联的GMVD信息的第一组指示。
2.根据权利要求1所述的方法,其中基于所述GMVD确定所述多个几何分区的所述第一运动信息包括:
基于GPM确定所述多个几何分区的第二运动信息;以及
基于所述第二运动信息和所述多个几何分区的运动向量差(MVD)信息确定所述第一运动信息。
3.根据权利要求1或2所述的方法,其中所述GMVD信息的所述第一组指示包括基于GPM和具有运动向量差的合并模式(MMVD)而生成的偏移的第二组指示。
4.根据权利要求3所述的方法,其中所述第二组指示包括一个指示,所述一个指示是变量或者语法元素中信号传送的。
5.根据权利要求4所述的方法,其中所述一个指示包括GMVD索引,所述GMVD索引从GMVD方向索引和GMVD距离索导出。
6.根据权利要求5所述的方法,其中所述GMVD指数导出为:
gmvdIdx=gmvdStepIdx*NUM_TOTAL_DIR+gmvdDirIdx,
gmvdIdx=(gmvdStepIdx<<log2(NUM_TOTAL_DIR))+gmvdDirIdx,
gmvdStepIdx=gmvdIdx>>log2(NUM_TOTAL_DIR),
gmvdDirIdx=gmvdIdx–(gmvdStepIdx<<log2(NUM_TOTAL_DIR)),或者
gmvdIdx=gmvdDirIdx*NUM_TOTAL_STEP+gmvdStepIdx,
其中gmvdIdx表示GMVD方向索引,gmvdStepIdx表示所述GMVD距离索引,NUM_TOTAL_DIR表示所述目标块中支持的GPM MMVD方向的数目,NUM_TOTAL_STEP表示所述目标块中支持的GPM MMVD距离的数目。
7.根据权利要求5或6所述的方法,其中所述偏移量通过从表进行索引而被导出,所述表是以所述GMVD索引作为输入并且以GMVD偏移作为输出的一维表。
8.根据权利要求3所述的方法,其中所述第二组指示包括MMVD方向索引的指示和MMVD距离索引的指示。
9.根据权利要求8所述的方法,其中所述偏移是基于来自多个表的索引而导出的,所述多个表分别由所述MMVD方向索引和所述MMVD距离索引被索引。
10.根据权利要求8或9所述的方法,其中
所述MMVD方向索引在语法元素中被信号传送,和/或
所述MMVD距离索引在语法元素中被信号传送。
11.根据权利要求1或2所述的方法,其中所述比特流还包括与所述目标块相关联的GPM信息的第三组指示。
12.根据权利要求11所述的方法,其中所述目标块的所述多个几何分区包括所述目标块的两个几何分区。
13.根据权利要求11或12所述的方法,其中所述GPM信息包括以下至少一项:
所述目标块的分割方向,
所述目标块的所述多个几何分区的几何分区的GPM合并候选索引,或
所述目标块的所述多个几何分区的一个或多个GPM合并候选索引。
14.根据权利要求11-13中任一项所述的方法,其中所述GMVD信息的第一组指示包括以下至少之一:
针对所述目标块的GMVD标志,用以指示所述GMVD被用于所述目标块,
针对所述目标块的所述多个几何分区的几何分区的GMVD标志,用以指示所述GMVD被用于所述目标块的所述多个几何分区的所述几何分区,或
针对所述目标块的所述多个几何分区的一个或多个几何分区的一个或多个GMVD标志,用以指示所述GMVD被用于所述目标块的所述多个几何分区的所述一个或多个几何分区。
15.根据权利要求11-14中任一项所述的方法,其中所述GMVD信息的所述第一组指示在所述GPM信息的所述第三组指示之前被信号传送。
16.根据权利要求15所述的方法,其中
所述GMVD信息的所述第一组指示包括基于GPM和具有运动向量差的合并模式(MMVD)而生成的偏移的第二组指示,以及
所述GPM信息的所述第三组指示包括所述目标块的分割方向的指示。
17.根据权利要求11-14中任一项所述的方法,其中所述GMVD信息的所述第一组指示在所述GPM信息的所述第三组指示之后被发信号传送。
18.根据权利要求11-14中任一项所述的方法,其中所述GMVD信息的所述第一组指示与所述GPM信息的所述第三组指示交错。
19.根据权利要求18所述的方法,其中
GMVD信息的所述第一组指示至少包括所述GMVD信息的第一指示,
所述GPM信息的所述第三组指示至少包括所述GPM信息的第二指示和所述GPM的第三指示,以及
所述GPM信息的所述第二指示之后是所述GMVD信息的所述第一指示,所述GMVD信息的所述第一指示之后是所述GPM信息的所述第三指示。
20.根据权利要求18所述的方法,其中
GMVD信息的所述第一组指示至少包括所述GMVD信息的第一指示和所述GMVD信息的第四指示,
所述GPM信息的所述第三组指示至少包括所述GPM信息的第二指示,以及
所述GMVD信息的所述第一指示之后是所述GPM信息的所述第二指示,所述GPM信息的所述第二指示之后是所述GMVD信息的所述第四指示。
21.根据权利要求12所述的方法,其中所述GPM信息的所述第三组指示包括所述目标块的两个几何分区的一个或两个几何分区的一个或多个GPM合并候选索引。
22.根据权利要求21所述的方法,其中所述一个或多个GPM合并候选索引包括用于所述目标块的所述两个几何分区的两个GPM合并候选索引。
23.根据权利要求22所述的方法,其中GPM合并候选的最大数目等于2。
24.根据权利要求22所述的方法,其中所述两个GPM合并候选索引的二元化是相同的。
25.根据权利要求24所述的方法,其中
所述两个GPM合并候选索引是通过使用具有cMax值的截断二元编解码或固定长度编解码生成的,cMax=MaxNumGpmMergeCand–K,并且K为正整数,
其中MaxNumGpmMergeCand表示GPM合并候选的最大数目。
26.根据权利要求25所述的方法,其中K=1。
27.根据权利要求21所述的方法,其中所述一个或多个GPM合并候选索引包括针对所述目标块的两个几何分区的GPM合并候选索引。
28.根据权利要求27所述的方法,其中所述GPM合并候选索引指示所述GPM的合并候选列表中合并候选的位置。
29.根据权利要求12所述的方法,其中所述目标块的所述两个几何分区中的至少一个使用所述GMVD。
30.根据权利要求29所述的方法,其中所述两个几何分区的一个几何分区使用所述GMVD,并且所述两个几何分区的另一个几何分区使用无MVD的GPM。
31.根据权利要求29所述的方法,其中所述两个几何分区都使用所述GMVD。
32.根据权利要求31所述的方法,其中所述GMVD信息的所述第一组指示包括所述两个几何分区的不同GMVD索引。
33.根据权利要求31所述的方法,其中所述GMVD信息的所述第一组指示包括针对所述两个几何分区的不同GMVD偏移的指示。
34.根据权利要求33所述的方法,其中所述GMVD偏移的差大于阈值。
35.根据权利要求11或12所述的方法,其中针对所述目标块禁用基于模板匹配的GPM。
36.根据权利要求11或12所述的方法,其中
所述目标块的所述多个几何分区的几何分区使用所述GMVD,并且针对所述几何分区的运动向量差(MVD)不等于零,并且
针对所述几何分区禁用基于模板匹配的GPM。
37.根据权利要求11或12所述的方法,其中针对所述目标块启用基于模板匹配的GPM。
38.根据权利要求37所述的方法,其中
所述GMVD被用于所述目标块的所述多个几何分区的几何分区,并且
所述几何分区的所述第一运动信息包括所述几何分区的运动向量。
39.根据权利要求38所述的方法,还包括:
将针对所述几何分区的运动向量差(MVD)添加到所述几何分区的所述运动向量中;以及
通过所述基于模板匹配的GPM,细化得到的所述运动向量。
40.根据权利要求38所述的方法,还包括:
通过所述基于模板匹配的GPM细化所述几何分区的所述运动向量;以及
将针对所述几何分区的运动向量差(MVD)添加到经细化的所述运动向量。
41.根据权利要求35-40中任一项所述的方法,其中帧间编解码模式和帧内编解码模式之一被用于所述目标块的相邻重构样本,以构建用于所述目标块中的所述基于模板匹配的GPM的目标模板。
42.根据权利要求41所述的方法,其中基于目标模板的样本位置生成目标块的参考块中的基于模板匹配的GPM的参考模板。
43.根据权利要求35-40中任一项所述的方法,其中帧间编解码模式和帧内编解码模式中的一种用于目标块的参考块的相邻重构样本,以构建参考块中基于模板匹配的GPM的参考模板。
44.根据权利要求1-43中任一项所述的方法,其中所述转换包括将所述目标块编码到所述比特流中。
45.根据权利要求1-43中任一项所述的方法,其中所述转换包括从所述比特流解码所述目标块。
46.一种用于处理视频数据的设备,包括处理器和其上具有指令的非瞬态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-44中任一项所述的方法。
47.一种非瞬态计算机可读存储介质,存储使处理器执行根据权利要求1-45中任一项所述的方法的指令。
48.一种非瞬态计算机可读记录介质,存储有视频的比特流,其由视频处理装置执行的方法生成,其中所述方法包括:
基于具有运动向量差(GMVD)的几何分区模式(GPM),确定所述视频的目标块的多个几何分区的第一运动信息;以及
基于所述第一运动信息生成比特流,所述比特流包括与所述目标块相关联的GMVD信息的第一组指示。
49.一种用于存储视频的比特流的方法,包括:
基于具有运动向量差的几何分区模式(GPM),确定所述视频的目标块的多个几何分区的第一运动信息;
基于所述第一运动信息生成比特流,所述比特流包括与所述目标块相关联的GMVD信息的第一组指示;以及
将所述比特流存储在非瞬态计算机可读记录介质中。
CN202280028376.6A 2021-04-22 2022-04-19 用于视频处理的方法、设备和介质 Pending CN117321995A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2021089091 2021-04-22
CNPCT/CN2021/089091 2021-04-22
PCT/CN2022/087743 WO2022222930A1 (en) 2021-04-22 2022-04-19 Method, device, and medium for video processing

Publications (1)

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

Family

ID=83721933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280028376.6A Pending CN117321995A (zh) 2021-04-22 2022-04-19 用于视频处理的方法、设备和介质

Country Status (2)

Country Link
CN (1) CN117321995A (zh)
WO (1) WO2022222930A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159788B2 (en) * 2018-08-03 2021-10-26 Mediatek Inc. Method and apparatus of enhanced Intra Block Copying mode for video coding
CN112997489B (zh) * 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 具有几何分割的帧间预测的边信息信令
CN113170184A (zh) * 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 默认运动候选的配置方法
WO2020143774A1 (en) * 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd based on geometry partition
WO2021057996A1 (en) * 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding

Also Published As

Publication number Publication date
WO2022222930A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
WO2022222990A1 (en) Method, device, and medium for video processing
CN117529919A (zh) 用于视频处理的方法、设备和介质
CN117321995A (zh) 用于视频处理的方法、设备和介质
CN117597921A (zh) 用于视频处理的方法、装置和介质
WO2022214088A1 (en) Method, device, and medium for video processing
CN117581539A (zh) Gpm运动细化
WO2023273987A1 (en) Method, apparatus, and medium for video processing
WO2022214092A1 (en) Method, device, and medium for video processing
WO2022228430A1 (en) Method, device, and medium for video processing
WO2022242646A1 (en) Method, device, and medium for video processing
CN117426096A (zh) 用于视频处理的方法、设备和介质
WO2023061306A1 (en) Method, apparatus, and medium for video processing
CN117501689A (zh) 视频处理的方法、设备和介质
CN117426095A (zh) 用于视频处理的方法、设备和介质
CN117616756A (zh) 用于视频处理的方法、设备和介质
CN117581538A (zh) 视频处理的方法、设备和介质
CN117529913A (zh) 视频处理的方法、设备和介质
CN117321992A (zh) 自适应运动候选列表
CN117529920A (zh) 用于视频处理的方法、设备和介质
CN117616754A (zh) 用于视频处理的方法、设备和介质
CN117561714A (zh) 用于视频处理的方法、设备和介质
CN117501690A (zh) 用于视频处理的方法、设备和介质
CN117337564A (zh) 用于视频处理的方法、装置和介质
CN117501688A (zh) 用于视频处理的方法、设备和介质
CN117795960A (zh) 用于视频处理的方法、装置和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication