掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2024-04-18 19:53:33


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

技术领域

本公开的实施例一般性地涉及视频编解码技术,并且更具体地,涉及视频编解码中的运动候选的自适应重排序。

技术背景

如今,数字视频能力正被应用于人们生活的各个方面。已经针对视频编码/解码提出了多种类型的视频压缩技术,诸如MPEG-2、MPEG-4、ITU-TH263、ITU-TH-264/MPEG-4第10部分高级视频编解码(AVC)、ITU-TH.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准。然而,通常期望进一步提高传统视频编解码技术的编解码效率。

发明内容

本公开的实施例提供了一种用于视频处理的解决方案。

在第一方面中,提出了一种用于视频处理的方法。在该方法中,按照基于子块的合并模式,针对视频的目标块构建合并候选列表。对针对目标块的合并候选列表重排序。基于重排序的合并候选列表来执行目标块和视频的码流之间的转换。与传统的解决方案相比,所提出的方法可以有利地提高编解码有效性和编解码效率。

在第二方面中,提出了一种电子设备。电子设备包括处理单元和存储器,存储器耦合到处理单元并且具有存储在其上的指令,指令在由处理单元执行时使电子装置执行根据本公开的第一方面的方法。

在第三方面中,提出了一种非瞬态计算机可读存储介质。该非瞬态计算机可读存储介质存储指令,该指令使处理器执行根据本公开的第一方面的方法。

在第四方面中,提出了一种非瞬态计算机可读记录介质。该非瞬态计算机可读记录介质存储由根据本公开第一方面的方法生成的视频的码流,其中该方法由视频处理装置执行。

在第五方面中,一种用于存储视频的码流的方法,包括:按照基于子块的合并模式,针对视频的目标块构建合并候选列表;对针对目标块的合并候选列表重排序;基于重排序的合并候选列表来执行目标块和码流之间的转换;基于转换生成码流;以及将码流存储在非瞬态计算机可读记录介质中。

提供本发明内容是为了以简化的形式介绍以下在详细描述中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

附图说明

通过参考附图的以下详细描述,本公开的示例实施例的上述和其他目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。

图1是根据本公开的一些实施例的示例视频编解码系统的框图;

图2是根据本公开的一些实施例的示例视频编码器的框图;

图3是根据本公开的一些实施例的示例视频解码器的框图;

图4示出了空间合并候选的位置的示意图;

图5示出了针对空间合并候选的冗余检查所考虑的候选对的示意图;

图6示出了时间合并候选的运动矢量缩放的示意图;

图7示出了时间合并候选C

图8示出了当前块的VVC空间相邻块的示意图;

图9示出了第i搜索轮次中的虚拟块的示意图;

图10示出了MMVD搜索点的示意图;

图11示出了在CIIP权重导出中使用的顶部和左侧相邻块的示意图;

图12示出了按相同角度分组的GPM分割的示例;

图13示出了用于几何划分模式的单向预测MV选择的示意图;

图14示出了使用几何划分模式的弯曲权重w0的示例生成的示意图;

图15示出了基于三角划分的帧间预测的示意图;

图16示出了用于三角划分模式的单向预测MV选择的示意图;

图17示出了混合过程中使用的权重示意图;

图18示出了用于计算SAD的相邻样本的示意图;

图19示出了用于计算子CU级运动信息的SAD的相邻样本的示意图;

图20示出了分类过程的示意图;

图21示出了局部亮度补偿的示意图;

图22示出了短边无二次采样的示意图;

图23A示出了SbTMVP使用的空间相邻块的示意图;

图23B示出了通过应用来自空间邻居的运动移位并缩放来自相应同位子CU的运动信息来驱动子CU运动场的示意图;

图24示出了基于控制点的仿射运动模型的示意图;

图25示出了每个子块的仿射MVF的示意图;

图26示出了继承仿射运动预测器的位置的示意图;

图27示出了控制点运动矢量继承的示意图;

图28示出了所构建的仿射合并模式的候选位置的位置的示意图;

图29示出了在初始MV周围的搜索区域上执行的模板匹配的示意图;

图30示出了OBMC应用的子块的示意图;

图31示出了编码器中的重排序过程的流程图;

图32示出了解码器中的重排序过程的流程图;

图33示出了搜索区域中的菱形区域的示意图;

图34示出了解码端运动矢量细化的示意图;

图35示出了模板和模板的参考样本的示意图;

图36示出了参考列表0和参考列表1中的模板和模板的参考样本的示意图;

图37示出了使用当前块的子块的运动信息的用于具有子块运动的块的模板和模板的参考样本的示意图;

图38示出了使用每个子模板的运动信息的用于具有子块运动的块的模板和模板的参考样本的示意图;

图39示出了编码器中的重排序过程的流程图;

图40示出了解码器中的重排序过程的流程图;

图41示出了根据本公开的一些实施例的用于视频处理的方法的流程图;

图42示出了其中可以实现本公开的各种实施例的计算设备的框图。

在附图中,相同或相似的附图标记通常指代相同或相似元件。

具体实施方式

现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。

在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科学术语和技术术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。

本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都需要包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。

应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。

本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包含”和/或“具有”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。

示例环境

图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、运20动估计单元204、运动补偿单元205和帧内预测单元206。

在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括块内复制(IBC)单元。IBC单元可以在IBC模式中执行预测,其中至少一个参考图片是当前视频块所位于的图片。

此外,尽管一些组件(诸如运动估计单元204和运动补偿单元205)可以被集成,但是为了解释的目的,这些组件在图2的示例中被分离地示出。

划分单元201可以将图片分为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。

模式选择单元203可以例如基于误差结果来选择多种编解码模式(帧内编解码或帧间编解码)中的一种编解码模式,并且将所产生的帧内编解码块或帧间编解码块提供给残差生成单元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可以使用例如在码流中接收的帧内预测模式,以从空间相邻块形成预测块。反量化单元304反量化(即,去量化)在码流中提供的、并且由熵解码单元301解码的量化视频块系数。反变换单元305应用反变换。

重建单元306可以例如通过将残差块与由运动补偿单元302或帧内预测单元303生成的相应预测块相加来获得经解码的块。如果需要的话,还可以应用去块效应滤波器以对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块随后被存储在缓冲307中,缓冲307为后续运动补偿/帧内预测提供参考块,并且缓冲307还产生经解码的视频以供在显示设备上呈现。

下文将详细描述本公开的一些示例性实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考通用视频编解码或其他特定视频编解码器描述了一些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,尽管一些实施例详细描述了视频编解码步骤,但是应当理解的是取消编解码的相应解码步骤将由解码器实现。此外,术语视频处理包括视频编解码或压缩、视频解码或解压缩以及视频转码,在该视频转码中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩码率表示。

1.概述

本公开涉及视频编解码技术。具体地,其与视频编解码中的帧间预测有关。其可以应用于现有的视频编解码标准,如HEVC,或待最终确定的标准通用视频编解码(VVC)。其也可以适用于未来的视频编解码标准或视频编解码器。

2.背景

视频编解码标准已主要通过众所周知的ITU-T和ISO/IEC标准的发展而发展起来了。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4视觉,两个组织联合制定了H.264/MPEG-2视频和H.264/MPEG 4高级视频编解码(AVC)以及H.265和HEVC标准(见ITU-T和ISO/IEC,“高效视频编解码”,Rec.ITU-T H.265|ISO/IEC 23008-2(生效版))。自从H.262,视频编解码标准基于混合视频编解码结构,其中利用时间预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JVET)。自那以后,JVET采用了许多新的方法,并将其放入名为联合探索模型(JEM)的参考软件中(见J.Chen,E.Alshina,G.J.Sullivan,J.-R.Ohm,J.Boyce,“Algorithmdescription of Joint Exploration Test Model 7(JEM7)”,JVET-G1001,2017年8月;JEM-7.0:https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-7.0)。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1SC29/WG11(MPEG)之间的联合视频专家组(JVET)被创建,以致力于制定VVC标准,目标是与HEVC相比降低50%的码率。

2.1扩展合并预测

在VVC中,合并候选列表是通过按顺序包括以下五种类型的候选来构建的:

1)来自空间相邻编解码单元(CU)的空间运动矢量预测(MVP)

2)来自同位CU的时间MVP

3)来自先进先出(FIFO)表的基于历史的MVP

4)成对平均MVP

5)零MV。

合并列表的大小在序列参数集头中通过信号传输,并且合并列表的最大允许大小是6。对于合并模式中的每个CU码,使用截断的一元二进制化(TU)对最佳合并候选的索引进行编码。合并索引的第一个仓(bin)使用上下文进行编解码,而旁路编解码用于其他仓。每个类别的合并候选的导出过程在本节中提供。正如在HEVC中所操作的那样,VVC还支持在一定大小的区域内对所有CU的合并候选列表的并行导出。

空间候选导出

VVC中空间合并候选的导出与HEVC中的导出相同,只是前两个合并候选的位置被交换。图4示出了显示空间合并候选的位置的示意图400。在位于图4所示位置的候选中,最多选择四个合并候选。导出顺序为B

时间候选导出在这个步骤中,只有一个候选被添加到列表中。特别地,在该时间合并候选的导出中,基于属于同位参考图片的同位CU来导出缩放运动矢量。在条带头中显式地通过信号传输要用于导出同位的CU的参考图片列表。图6示出了时间合并候选的运动矢量缩放的示意图600。如图6中的虚线所示,获得了时间合并候选的缩放运动矢量,该矢量是使用图片顺序计数(POC)距离tb和td从同位的CU的运动矢量缩放而来的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为同位的图片的参考图片与同位的图片之间的POC差。时间合并候选的参考图片索引被设置为等于零。时间候选的位置在候选C

基于历史的合并候选导出

基于历史的MVP(HMVP)合并候选被添加到空间MVP和TMVP之后的合并列表中。在该方法中,将先前编解码块的运动信息存储在表中,并用作当前CU的MVP。在编码/解码过程中维护具有多个HMVP候选的表。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块帧间编解码CU时,将相关联的运动信息作为新的HMVP候选添加到表的最后一个条目。

HMVP表大小S被设置为6,这指示可以向该表添加多达6个基于历史的MVP(HMVP)候选。当将新的运动候选插入到表中时,使用受约束的先进先出(FIFO)规则,其中首先应用冗余检查来发现表中是否存在相同的HMVP。如果找到,则从表中移除相同的HMVP,然后将所有HMVP候选向前运动。

HMVP候选可以用于合并候选列表构建过程。按顺序检查表中最近的几个HMVP候选,并将其插入TMVP候选之后的候选列表中。对HMVP候选应用冗余检查以进行空间或时间合并候选。

为了减少冗余检查操作的数目,引入了以下简化:

1.用于合并列表生成的HMPV候选数目设置为(N<=4)?M:(8-N),其中N指示合并列表中现有候选的数目,M指示表中可用HMVP候选的数目。

2.一旦可用合并候选的总数达到最大允许合并候选减1,则终止来自HMVP的合并候选列表构建过程。

成对平均合并候选导出

成对平均候选是通过对现有合并候选列表中的预定义候选对进行平均来生成的,并且预定义对被定义为{(0,1)、(0,2)、(1,2),(0,3)、(3,1),(2,3)},其中数字表示合并候选列表的合并索引。对于每个参考列表单独计算平均运动矢量。如果两个运动矢量在一个列表中都可用,则即使这两个运动矢量指向不同的参考图片,也会对其进行平均;如果只有一个运动矢量可用,则直接使用该运动矢量;如果没有可用的运动矢量,保持此列表无效。当添加成对平均合并候选后合并列表未满时,将在最后插入零MVP,直到遇到最大合并候选数目。

合并估计区域合并估计区域(MER)允许在同一合并估计区域中针对CU独立导出合并候选列表。针对生成当前CU的合并候选列表,不包括与当前CU在相同MER内的候选块。此外,仅当(xCb+cbWidth)>>Log2ParMrgLevel大于xCb>>Log2Par MrgLevel并且(yCb+cbHeight)>>Log2par Mrglevel大于(yCb>>Log2ParMrgLevel)并且其中(xCb,yCb)。MER大小在编码器侧被选择,并在序列参数集中以log2_parallel_merge_level_minus2的形式来通过信号传输。

2.2新的合并候选

非相邻合并候选导出

图8示出了当前块的VVC空间相邻块的示意图800。在VVC中,图8所示的五个空间相邻块以及一个时间相邻块用于导出合并候选。提出使用与VVC中的样式相同的样式从与当前块不相邻的位置导出附加合并候选。为了实现这一点,对于每个搜索轮次i,基于当前块生成虚拟块,如下所示:

首先,虚拟块与当前块的相对位置通过以下公式计算:

Offsetx=-i×gridX,Offsety=-i×gridY

其中Offsetx和Offsetty表示虚拟块的左上角相对于当前块的左下角的偏移,gridX和gridY是搜索网格的宽度和高度。

其次,虚拟块的宽度和高度通过以下公式计算:

newWidth=i×2×gridX+currWidthnewHeight=i×2×gridY+currHeight。

其中currWidth和currHeight是当前块的宽度和高度。newWidth和newHeight是新虚拟块的宽度和高度。

gridX和gridY当前分别设置为currWidth和currHeight。

图9示出了第i搜索轮次中的虚拟块的示意图,其显示了虚拟块和当前块之间的关系。

在生成虚拟块之后,块A

在构建合并候选列表时,进行修剪以保证合并候选列表中的每个元素是唯一的。最大搜索轮次被设置为1,这意味着使用了五个不相邻的空间相邻块。

非相邻的空间合并候选按B

STMVP

提出使用三个空间合并候选和一个时间合并候选来导出平均候选作为STMVP候选。

STMVP被插入在左上方的空间合并候选之前。

STMVP候选与合并列表中所有先前的合并候选一起被修剪。

对于空间候选,使用当前合并候选列表中的前三个候选。

对于时间候选,使用与VTM/HEVC同位位置相同的位置。

对于空间候选,在STMVP之前插入到当前合并候选列表中的第一、第二和第三候选被表示为F、S和T。

具有与TMVP中使用的VTM/HEVC同位位置相同的位置的时间候选表示为Col。

STMVP候选在预测方向X上的运动矢量(表示为mvLX)如下被导出:

[1]如果四个合并候选的参考索引都是有效的并且在预测方向X上都等于零(X=0或1),

mvLX=(mvLX_F+mvLX_S+mvLX_T+mvLX_Col)>>2

[2]如果四个合并候选中的三个合并候选的参考索引是有效的并且在预测方向X上等于零(X=0或1),

mvLX=(mvLX_F×3+mvLX_S×3+mvLX_Col×2)>>3或

mvLX=(mvLX_F×3+mvLX_T×3+mvLX_Col×2)>>3或

mvLX=(mvLX_S×3+mvLX_T×3+mvLX_Col×2)>>3

[3]如果四个合并候选中的两个合并候选的参考索引是有效的并且在预测方向X上等于零(X=0或1),

mvLX=(mvLX_F+mvLX_Col)>>1或

mvLX=(mvLX_S+mvLX_Col)>>1或

mvLX=(mvLX_T+mvLX_Col)>>1

注意:如果时间候选不可用,则STMVP模式关闭。

合并列表大小如果考虑非相邻合并候选和STMVP合并候选两者,则在序列参数集头中通过信号传输合并列表的大小,并且合并列表的最大允许大小为8。

2.3MVD的合并模式(MMVD)

除了将隐式导出的运动信息直接用于当前CU的预测样本生成的合并模式之外,在VVC中引入了具有运动矢量差的合并模式(MMVD),也称为最终运动矢量表达。在发送跳过标志和合并标志之后立即通过信号传输MMVD标志,以指定哪种MMVD模式用于CU。

在MMVD中,合并候选(称为基础合并候选)被选择,其由通过信号传输的MVD信息进一步细化。相关语法元素包括用于指定MVD距离的索引(由mmvd_distance_idx表示)和用于指示运动方向的索引(由mmvd_direction_idx表示。在MMVD模式中,对于合并列表中的前两个候选,选择一个作为MV基础(或基础合并候选)。通过信号传输合并候选标志以指定使用哪一个。

距离索引指定运动幅度信息,并指示距起点的预定义偏移。图10示出了MMVD搜索点的示意图。如图10所示,偏移被添加到起始MV的水平分量或垂直分量。距离索引和预定义偏移的关系如表1所示。

表1:距离索引与预定义偏移的关系

方向索引表示MVD相对于起点的方向。方向索引可以表示四个方向,如表2所示。注意,MVD符号的含义可以根据起始MV的信息而变化。当起始MV是单向预测MV或双向预测MV时,其中两个列表都指向当前图片的同一侧(即两个参考的POC都大于当前图片的POC或者都小于当前图片的POC),表2中的符号指定了MV偏移加在起始MV上的符号。当起始MV是双向预测MV时,其中两个MV指向当前图片的不同侧(即一个参考的POC大于当前图片的POC,另一个参考的POC小于当前图片的POC),表2中的符号指定添加到起始MV的list0 MV分量的MV偏移的符号,并且list1 MV的符号具有相反的值。

表2:由方向索引指定的MV偏移的符号

每个参考图片列表的MVD导出

首先根据解码后的MVD距离(由mmvd_distance_idx表示)和运动方向(由mmvd_direction_idx表示),得到一个内部MVD(由MmvdOffset表示)。

然后,如果确定了内部MVD,则根据参考图片相对于当前图片的POC距离以及参考图片类型(长期或短期),进一步导出要添加到每个参考图片列表的基础合并候选的最终MVD。更具体地,按顺序执行以下步骤:

-如果基础合并候选是双向预测,则计算列表0中的当前图片和参考图片之间的POC距离,以及列表1中的当前图片和参考图片间的POC距离,分别用POCDiffL0和POCDiffL1表示。

-如果POCDiffL0等于POCDiffL1,则两个参考图片列表的最终MVD都被设置为内部MVD。

-否则,如果Abs(POCDiffL0)大于或等于Abs(POCDiffL1),则参考图片列表0的最终MVD被设置为内部MVD,并且用于参考图片列表1的最终MVD被设置为使用取决于POC距离的两个参考图片(两者都不是长期参考图片)的内部MVD参考图片类型或内部MVD或(零MV减去内部MVD)的缩放MVD。

-否则,如果Abs(POCDiffL0)小于Abs(POCDiffL1),则参考图片列表1的最终MVD被设置为内部MVD,并且用于参考图片列表0的最终MVD被设置为取决于POC距离使用两个参考图片的内部MVD参考图片类型(两者都不是长期参考图片)或内部MVD或(零MV减去内部MVD)的缩放MVD。

-如果基础合并候选是来自参考图片列表X的单向预测,则参考图片列表X的最终MVD被设置为内部MVD,并且参考图片列表Y的最终MVD(Y=1-X)被设置为0。

MMVD也称为终极运动矢量表达(UMVE)。

2.4组合帧间和帧内预测(CIIP)

在VVC中,当以合并模式对CU进行编解码时,如果CU包含至少64个亮度样本(即,CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度都小于128个亮度样本,则通过信号传输附加标志,以指示组合帧间/帧内预测(CIIP)模式是否应用于当前CU。如其名称所示,CIIP预测将帧间预测信号与帧内预测信号进行组合。CIIP模式中的帧间预测信号P

-如果顶部邻居可用且已进行帧内编解码,则将isIntraTop设置为1,否则将isIntra top设置为0;

-如果左侧邻居可用且已进行帧内编解码,则将isIntraLeft设置为1,否则将isIntralLeft设置成0;

-如果(isIntraLeft+isIntraTop)等于2,则wt设置为3;

-否则,如果(isIntraLeft+isIntraTop)等于1,则wt设置为2;

-否则,将wt设置为1。

CIIP预测的形式如下所示:

P

2.5几何划分模式(GPM)

在VVC中,几何划分模式被支持用于帧间预测。使用CU级标志作为一种合并模式来通过信号传输几何划分模式,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。对于每个可能的CU大小,几何划分模式总共支持64个划分,不包括8x64和64x8。

当使用该模式时,CU通过几何定位的直线分为两部分(如图12所示)。分割线的位置在数学上是从特定划分的角度和偏移参数导出的。CU中的几何划分的每个部分使用其自身的运动进行帧间预测;每个划分只允许单向预测,即每个部分都有一个运动矢量和一个参考索引。应用单向预测运动约束以确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。使用2.5.1中描述的过程导出每个划分的单向预测运动。

如果几何划分模式用于当前CU,则指示几何划分的划分模式(角度和偏移)的几何划分索引和两个合并索引(每个划分一个)被进一步通过信号传输。最大GPM候选大小的数目在SPS中被显式地通过信号传输,并且指定用于GPM合并索引的语法二进制化。在预测了几何划分的每个部分之后,使用2.5.2中的具有自适应权重的混合处理来调整沿着几何划分边缘的样本值。这是整个CU的预测信号,并且将像在其他预测模式中一样对整个CU应用变换和量化过程。最后,使用几何划分模式预测的CU的运动场如2.5.3所示存储。

2.5.1单向预测候选列表构建

单向预测候选列表直接从根据2.1中的扩展合并预测过程构建的合并候选列表中导出。图13示出了几何划分模式的单向预测MV选择的示意图。将n表示为几何单向预测候选列表1310中的单向预测运动的索引。第n个扩展合并候选的LX运动矢量,X等于n的奇偶性,被用作几何划分模式的第n个单向预测运动矢量。这些运动矢量在图13中用“x”标记。如果第n个扩展合并候选的对应LX运动矢量不存在,则使用相同候选的L(1-x)运动矢量作为几何划分模式的单向预测运动矢量。

2.5.2沿几何划分边缘的混合

在使用其自身的运动来预测几何划分的每个部分之后,将混合应用于两个预测信号以导出几何划分边缘周围的样本。CU的每个位置的混合权重是基于个体位置和划分边缘之间的距离导出的。

一个位置到划分边缘的距离导出为:

其中i,j是几何划分的角度和偏移的索引,其取决于通过信号传输的几何划分索引。ρ

几何划分的每个部分的权重如下导出:

wIdxL(x,y)=partIdx?32+d(x,y):32-d(x,y) (2-5)

w

partIdx取决于角度索引i。图14示出了使用几何划分模式的弯曲权重w0的示例生成的示意图1400。权重w

2.5.3用于几何划分模式的运动场存储来自几何划分第一部分的Mv1、来自几何划分第二部分的Mv2以及Mv1和Mv2的组合Mv存储在几何划分模式编解码CU的运动场中。

运动场中每个个体位置的存储的运动矢量类型被确定为:

sType=abs(motionIdx)<32?2∶(motionIdx≤0?(1-partIdx):partIdx) (2-8)

其中motionIdx等于d(4x+2,4y+2),这是根据等式(2-1)重新计算的。partIdx取决于角度索引i。

如果sType等于0或1,则Mv0或Mv1被存储在对应运动场中,否则,如果sTType等于2,则存储来自Mv0和Mv2的组合Mv。组合Mv使用以下过程生成:

1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2被简单地组合以形成双向预测运动矢量。

2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。

2.6用于帧间预测的三角划分

在VVC中,支持三角划分模式(TPM)用于帧间预测。三角划分模式仅适用于8x8或更大的CU。三角划分模式是使用CU级标志作为一种合并模式来通过信号传输的,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。

当使用该模式时,使用对角线分割(图15中所示的CU 1510)或反对角线分割(图15中所示的CU 1520),将CU均匀分割为两个三角划分。CU中的每个三角划分使用其自身的运动来进行帧间预测;每个划分只允许单向预测,即每个划分有一个运动矢量和一个参考索引。应用单向预测运动约束以确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。使用2.6.1中描述的过程导出每个划分的单向预测运动。

如果三角划分模式用于当前CU,则进一步通过信号传输指示三角划分的方向(对角线或反对角线)的标志和两个合并索引(每个划分一个)。最大TPM候选大小的数目在条带级别被显式地通过信号传输,并且指定TMP合并索引的语法二值化。在预测每个三角划分之后,使用具有自适应权重的混合处理来调整沿对角线或反对角线边缘的样本值。这是整个CU的预测信号,并且变换和量化处理将像在其他预测模式中一样应用于整个CU。最后,使用三角划分模式预测的CU的运动场如2.6.3所示存储。

三角划分模式不与SBT结合使用,即,当通过信号传输的三角模式等于1时,在没有通过信号传输的情况下推断cu_SBT_flag为0。

2.6.1单向预测候选列表构建

单向预测候选列表直接从根据2.1中的扩展合并预测过程构建的合并候选列表中导出。图16示出了几何划分模式的单向预测MV选择的示意图。将n表示为三角单向预测候选列表1610中的单向预测运动的索引。第n个扩展合并候选的LX运动矢量,X等于n的奇偶性,被用作三角划分模式的第n个单向预测运动矢量。这些运动矢量在图16中用“x”标记。如果不存在第n个扩展合并候选的对应LX运动矢量,则使用相同候选的L(1-x)运动矢量作为三角划分模式的单向预测运动矢量。

2.6.2沿三角划分边缘混合

在使用其自身的运动预测每个三角划分之后,将混合应用于两个预测信号,以导出对角线或反对角线边缘周围的样本。混合过程中使用以下权重:

·针对亮度的{7/8、6/8、5/8、4/8、3/8、2/8、1/8},针对色度的{6/8、4/8和2/8},分别如图17的权重图1710和权重图1720所示。

2.6.3运动场存储

使用以下过程生成以三角划分模式编解码的CU的运动矢量:

1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2被简单地组合以形成双向预测运动矢量。

2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。

2.7JVET-K0143:基于模板匹配的自适应合并候选排序为了提高编解码效率,在构建合并候选列表后,根据模板匹配成本调整每个合并候选的顺序。合并候选根据升序的模板匹配成本排列在列表中。它以子组的形式操作。

图18示出了用于计算SAD(绝对差之和)的相邻样本的示意图1800。模板匹配成本通过当前图片1810中当前CU的相邻样本与其对应参考样本之间的SAD来测量。如果合并候选包括双向预测运动信息,则对应的参考样本是参考列表0 1820中的对应参考样本和参考列表1 1830中的对应参考样本的平均值,如图18所示。如果合并候选包含子CU级运动信息,当前图片1910中的当前CU的对应参考样本由参考图片1920中的对应参考子块的相邻样本组成,如图19所示。

分类过程以子组的形式进行操作,如图20所示。前三个合并候选被分类在一起。以下三个合并候选被分类在一起。如图20所示,对原始合并候选列表2010进行分类,得到更新后的合并候选列表2020。在本例中,模板大小(左侧模板的宽度或上述模板的高度)为1,子组大小为3。

2.8局部亮度补偿(LIC)

局部亮度补偿(LIC)是一种解决当前图片与其时间参考图片之间局部亮度变化问题的编解码工具。LIC基于线性模型,其中缩放因子和偏移被应用于参考样本以获得当前块的预测样本。具体而言,LIC可以通过以下等式进行数学建模:

P(x,y)=α·P

其中,P(x,y)是当前块在坐标(x,y)处的预测信号;P

为了提高编解码性能,不执行短边的二次采样,如图22的示图2200所示。

2.9具有CU级别权重(BCW)的双向预测

在HEVC中,通过对从两个不同的参考图片获得的两个预测信号进行平均和/或使用两个不同运动矢量来生成双向预测信号。在VVC中,双向预测模式被扩展到简单平均之外,以允许对两个预测信号进行加权平均。

P

在加权平均双向预测中允许五个权重,w∈{-2,3,4,5,10}。对于每个双向预测CU,以两种方式之一确定权重w:1)对于非合并CU,在运动矢量差之后通过信号传输权重索引;2)对于合并CU,基于合并候选索引从相邻块推断权重索引。BCW仅应用于具有256个或更多亮度样本的CU(即CU宽度乘以CU高度大于或等于256)。对于低延迟图片,将使用所有5个权重。对于非低延迟图片,仅使用3个权重(w∈{3,4,5})。

–在编码器处,在不显著增加编码器复杂度的情况下,应用快速搜索算法来找到权重索引。这些算法总结如下。可以参考VTM软件和文档JVET-L0646以获得进一步的细节。当与AMVR组合时,如果当前图片是低延迟图片,则仅有条件地检查1-像素和4-像素运动矢量精度的不等权重。

–当与仿射组合时,在且仅在仿射模式被选择为当前最佳模式的情况下,将针对不相等的权重执行仿射ME。

–当双向预测中的两个参考图片相同时,仅有条件地检查不相等的权重。

–当满足某些条件时,不搜索不等权重,这取决于当前图片与其参考图片之间的POC距离、编解码QP和时间级别。

BCW权重索引是使用一个上下文编解码的仓然后是旁路编解码的仓来编解码的。第一上下文编解码的仓指示是否使用相等的权重;并且如果使用不相等的权重,则使用旁路编解码通过信号传输附加仓,以指示使用哪个不相等的权重。

加权预测(WP)是H.264/AVC和HEVC标准支持的一种编解码工具,用于在衰落的情况下对视频内容进行高效编解码。VVC标准中还增加了对WP的支持。WP允许为每个参考图片列表L0和L1中的每个参考图片通过信号传输加权参数(权重和偏移)。然后,在运动补偿期间,应用对应参考图片的权重和偏移。WP和BCW是为不同类型的视频内容而设计的。为了避免WP和BCW之间的交互(这将使VVC解码器设计复杂化),如果CU使用WP,则BCW权重索引不通过信号被传输,并且w被推断为4(即应用相等的权重)。对于合并CU,权重索引是基于合并候选索引从相邻块推断的。这可以应用于正常合并模式和继承仿射合并模式。对于构建的仿射合并模式,基于多达3个块的运动信息来构建仿射运动信息。使用构建的仿射合并模式的CU的BCW索引被简单地设置为等于第一控制点MV的BCW索引。

在VVC中,CIIP和BCW不能联合应用于CU。当使用CIIP模式对CU进行编解码时,当前CU的BCW索引设置为2,例如相等的权重。

2.10基于子块的时间运动矢量预测(SbTMVP)

VVC支持基于子块的时间运动矢量预测(SbTMVP)方法。类似于HEVC中的时间运动矢量预测(TMVP),SbTMVP使用同位图片中的运动场来改进当前图片中CU的运动矢量预测和合并模式。TMVP使用的同一同位图片用于SbTMVP。SbTMVP与TMVP区别于以下两个主要方面:

–TMVP预测CU级别的运动,但是SbTMVP预测子CU级别的运动;

–而TMVP从同位图片中的同位块预取时间运动矢量(同位块是相对于当前CU的右下或中心块),SbTMVP在从同位图片预取时间运动信息之前应用运动移位,其中运动移位是从来自当前CU的空间相邻块之一的运动矢量获得的。

SbTMVP过程如图23A和图23B所示。图23A示出了SbTMVP使用的空间相邻块的示意图2310。SbTMVP分两步预测当前CU内的子CU的运动矢量。在第一步中,检查图23A中的空间邻居A1。如果A1具有使用同位图片作为其参考图片的运动矢量,则该运动矢量被选择为要应用的运动偏移。如果没有标标识出这样的运动,则运动移位被设置为(0,0)。

图23B示出了通过应用来自空间邻居的运动移位并缩放来自对应同位子CU的运动信息来驱动子CU运动场的示意图。在第二步中,应用步骤1中标识的运动移位(即添加到当前图片2320中当前块的坐标),以从同位图片2322获得子CU级运动信息(运动矢量和参考索引),如图23B所示。图23B中的示例假设运动移位设置为块A1的运动。然后,对于每个子CU,同位图片2322中的其对应块(覆盖中心样本的最小运动网格)的运动信息用于导出子CU的运动信息。在标识出同位子CU的运动信息之后,以与HEVC的TMVP过程类似的方式将其转换为当前子CU的参考索引和运动矢量,其中应用时间运动缩放以将时间运动矢量的参考图片与当前CU的参考图片对齐。

在VVC中,包含SbTMVP候选和仿射合并候选两者的组合的基于子块的合并列表被用于基于子块合并模式的信号传输。SbTMVP模式由序列参数集(SPS)标志启用/禁用。如果SbTMVP模式被启用,则SbTMVP预测器被添加为基于子块的合并候选的列表的第一条目,然后是仿射合并候选。在SPS中通过信号传输基于子块的合并列表的大小,并且在VVC中基于子块合并列表的最大允许大小是5。SbTMVP中使用的子CU大小固定为8x8,并且与仿射合并模式一样,SbTMVP模式仅适用于宽度和高度都大于或等于8的CU。附加SbTMVP合并候选的编码逻辑与其他合并候选的相同,即,对于P或B条带中的每个CU,执行附加RD检查以决定是否使用SbTMVP候选。

2.11仿射运动补偿预测

在HEVC中,只有平移运动模型被应用于运动补偿预测(MCP)。而在现实世界中,有很多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用了基于块的仿射变换运动补偿预测。图24示出了基于控制点的仿射运动模型的示意图。如图24所示,块的仿射运动场由两个控制点(4参数)或三个控制点运动矢量(6参数)的运动信息描述。

对于图24中的4参数仿射运动模型2410,块中采样位置(x,y)处的运动矢量导出为:

对于图24中的6参数仿射运动模型2420,块中采样位置(x,y)处的运动矢量导出为:

其中,(mv

为了简化运动补偿预测,应用了基于块的仿射变换预测。图25示出了每个子块的仿射MVF的示意图2500。为了导出每个4×4亮度子块的运动矢量,根据上述等式计算每个子块的中心样本的运动矢量(如图25所示),并四舍五入到1/16分数精度。然后应用运动补偿插值滤波器来生成具有导出的运动矢量的每个子块的预测。色度分量的子块大小也被设置为4×4。4×4色度子块的MV被计算为同位的8x8亮度区域中的左上和右下亮度子块的MV的平均值。

与平移运动帧间预测一样,还有两种仿射运动帧间预测模式:仿射合并模式和仿射AMVP模式。

仿射合并预测

AF_MERGE模式可应用于宽度和高度均大于或等于8的CU。在该模式中,基于空间相邻CU的运动信息来生成当前CU的CPMV。可以有多达五个CPMVP候选,并通过信号传输索引来指示要用于当前CU的一个。以下三种类型的CPVM候选用于形成仿射合并候选列表:

–从相邻CU的CPMV推断的继承仿射合并候选

–使用相邻CU的平移MV导出的构建仿射合并候选CPMVP

–零MV

在VVC中,最多有两个继承的仿射候选,它们是从相邻块的仿射运动模型导出的,一个来自左相邻CU,一个从上相邻CU。图26示出了继承的仿射运动预测器的位置的示意图2600。候选块如图26所示。对于左边的预测器,扫描顺序为A0->A1,对于上面的预测器的扫描顺序为B0->B1->B2。只从每一侧选择第一个继承候选。在两个继承的候选之间不执行修剪检查。当标识出相邻的仿射CU时,其控制点运动矢量用于导出当前CU的仿射合并列表中的CPMVP候选。图27示出了控制点运动矢量继承的示意图。如图27所示,如果以仿射模式对相邻的左下块A 2710进行编码,则得到包含块A 2710的CU 2720的左上角、右上角和左下角的运动矢量v

构建仿射候选是指通过组合每个控制点的相邻平移运动信息来构建候选。控制点的运动信息是从图28中所示的指定空间邻居和时间邻居导出的,图28示出了所构建的仿射合并模式的候选位置的位置的示意图2800。CPMV

在得到四个控制点的MV之后,基于这些运动信息构建仿射合并候选。控制点MV的以下组合用于按顺序构建:

{CPMV

3个CPMV的组合构建6参数仿射合并候选,2个CPMV组合构建4参数仿射合并候选。为了避免运动缩放过程,如果控制点的参考索引不同,则丢弃控制点MV的相关组合。

在检查了继承的仿射合并候选和构建的仿射合并候选之后,如果列表仍然不满,则将零MV插入到列表的末尾。

仿射AMVP预测

仿射AMVP模式可应用于宽度和高度均大于或等于16的CU。在码流中通过信号传输CU级别的仿射标志以指示是否使用仿射AMVP模式,然后通过信号传输另一个标志以指示是4参数仿射还是6参数仿射。在该模式中,在码流中通过信号传输当前CU的CPMV与其预测CPMVP的差。仿射AVMP候选列表大小为2,并且通过按顺序使用以下四种类型的CPVM候选来生成:

–从相邻CU的CPMV推断的继承仿射AMVP候选

–使用相邻CU的平移MV导出的构建仿射AMVP候选CPMVP–来自相邻CU的平移MV

–零MV

继承的仿射AMVP候选的检查顺序与继承的仿射合并候选的检查次序相同。唯一的区别在于,对于AVMP候选,仅考虑具有与当前块中相同的参考图片的仿射CU。当将继承的仿射运动预测器插入候选列表时,不应用修剪过程。

构建的AMVP候选是从图28所示的指定空间邻居中导出的。使用与仿射合并候选构建中相同的检查顺序。此外,还检查相邻块的参考图片索引。使用检查顺序中的第一个块,该块被帧间编解码并且具有与当前CU中相同的参考图片。只有一个。当当前CU是用4参数仿射模式编解码的并且mv

如果在插入有效的继承仿射AMVP候选和构建的AMVP候选之后仿射AMVP列表候选的数目仍然小于2,并且将按顺序添加mv

2.12模板匹配(TM)

模板匹配(TM)是解码器端MV导出方法,用于通过找到当前图片中的模板(即,当前CU的顶部和/或左侧相邻块)与参考图片中的块(即,与模板大小相同)之间的最接近匹配来细化当前CU的运动信息。图29示出了在初始MV周围的搜索区域上执行的模板匹配的示意图2900。如图29所示,在[-8,+8]像素搜索范围内,在当前CU的初始运动周围搜索更好的MV。本文采用了JVET-J0021中先前提出的模板匹配,并进行了两处修改:基于AMVR模式确定搜索步长,在合并模式下TM可以级联双边匹配过程。

在AMVP模式中,基于模板匹配误差来确定MVP候选,以选取达到当前块模板和参考块模板之间的最小差的一个,然后TM仅对该特定MVP候选执行MV细化。TM通过使用迭代菱形搜索,从[-8,+8]像素搜索范围内的全像素MVD精度(或4像素AMVR模式的4像素)开始,对该MVP候选进行细化。AMVP候选可以通过使用具有全像素MVD精度的交叉搜索(或对于4像素AMVR模式为4像素)来进一步细化,然后根据表3中指定的AMVR模式依次使用半像素和四分之一像素。该搜索过程确保MVP候选在TM过程之后仍然保持如AMVR模式所指示的相同MV精度。

表3.AMVR的搜索模式以及与AMVR的合并模式

在合并模式中,类似的搜索方法被应用于由合并索引指示的合并候选。如表3所示,TM可以一直执行到1/8像素MVD精度,或者跳过超过半像素MVD精度的精度,这取决于是否根据合并的运动信息使用替代插值滤波器(当AMVR为半像素模式时使用)。此外,当启用TM模式时,模板匹配可以作为基于块和基于子块的双边匹配(BM)方法之间的独立过程或额外的MV细化过程来工作,这取决于BM是否可以根据其启用条件检查来启用。

在编码器侧,TM合并模式将对每个合并候选进行MV细化。

2.13多假设预测(MHP,JVET-U0100中)

本文采用了先前在JVET-M0425中提出的多假设预测。在帧间AMVP模式、常规合并模式和MMVD模式之上通过信号传输最多两个附加预测器。所得到的总体预测信号与每个附加预测信号迭代地累积。

p

加权因子α根据下表指定:

对于帧间AMVP模式,只有在双向预测模式中选择BCW中的非相等权重,才应用MHP。

2.14JVET-M0425:多假设帧间预测

在多假设帧间预测模式中,除了传统的单/双向预测信号之外,还通过信号传输一个或多个附加预测信号。所得到的总体预测信号是通过逐样本加权叠加来获得的。利用单/双向预测信号p

p

加权因子α由新语法元素add_hyp_weight_idx根据以下映射指定:

注意,对于附加预测信号,在测试CE10.1.2.a、CE10.1.2.b和CE10.1.2.d中,取消了预测列表0/列表1的概念,而是使用一个组合列表。该组合列表是通过从列表0和列表1交替插入参考帧来生成的,其中增加了参考索引,省略了已经插入的参考帧,从而避免了重复条目。在测试CE10.1.2.c中,每个PU内只能使用2个不同的参考图片,因此使用哪个参考帧由一个标志指示。

类似于上述,可以使用多于一个的附加预测信号。所得到的总体预测信号与每个附加预测信号迭代地累积。

p

所得到的总体预测信号作为最后一个(即,具有最大索引n的p

2.14.1多假设运动估计

首先,测试不具有显式地通过信号传输的附加帧间预测参数的帧间模式。对于这些模式中最好的两个(即,具有最低的哈达玛RD成本),搜索附加的帧间预测假设。为此,对于以下参数的所有组合,执行具有16的受限搜索范围的运动估计:

·加权因子α

·附加预测假设的参考框架

为了确定这两个参数的最佳组合,使用了使用哈达玛失真测量和近似码率的简化RD成本。然后,使用前向变换和量化,将所选择的参数组合用于计算更准确的RD成本,该RD成本与当前块的目前找到的最佳编解码模式进行比较。

2.14.2与其他编解码工具的交互

正常合并模式(非MMVD、非子块)

·可以显式地通过信号传输附加预测信号,但不能在SKIP模式中

·作为合并候选的一部分,还可以从空间相邻块继承附加预测信号,但这限于

о当前CTU内的相邻块,或者

о左边CTU的相邻块

·附加的预测信号不能从顶部CTU或从时间上同位的块继承。

·所有显式通过信号传输的附加预测信号都使用相同的AMVP候选列表,该列表是为第一显式通过信号传输的附加预测信息生成的,因此以下项需要被操作

о一个合并候选列表的构建过程

о一个AMVP候选列表构建过程

·显式通过信号传输和继承(合并)的附加预测信号的总和被限制为小于或等于2。

MMVD

·可以显式地通过信号传输附加预测信号,但不能在MMVDSKIP模式中

·没有来自合并候选的附加预测信号的继承/合并

·所有显式通过信号传输的附加预测信号都使用相同的AMVP候选列表,该列表是为第一显式通过信号传输的附加预测信息生成的,因此以下项需要被操作

о一个MMVD列表构建过程

о一个AMVP候选列表构建过程

子块合并模式

·附加的预测信号可以被显式地通过信号传输,但不在SKIP模式中。

·不存在来自合并候选的附加预测信号的继承/合并。

·所有显式通过信号传输的附加预测信号都使用相同的AMVP候选列表,该列表是为第一显式通过信号传输的附加预测信息生成的,因此以下项需要被操作

о一个子块合并候选列表构建过程,

о一个AMVP候选列表构建过程。

非仿射AMVP模式

·在双向预测的情况下,可以显式地通过信号传输附加预测信号。

·只需要构建两个AMVP候选列表(对于前两个,即非附加预测信号)。

·对于附加预测信号,使用两个AMVP候选列表中的一个:

о如果附加预测信号的参考图片的POC等于所使用的列表1参考图片的POC,

о否则,将使用列表0AMVP候选列表。

仿射AMVP模式

·在双向预测的情况下,可以显式地通过信号传输附加(平移)预测信号。

·需要构建两个仿射AMVP候选列表(对于前两个,即非附加预测信号)。

·对于附加预测信号,使用两个AMVP候选列表中的一个:

о如果附加预测信号的参考图片的POC等于所使用的列表1参考图片的POC,则使用列表1AMVP候选列表。

о否则,将使用列表0AMVP候选列表。

·仿射LT mv预测器被用作附加预测信号的mv预测器。

BIO

多假设帧间预测不能与一个PU内的BIO一起使用:

·如果存在附加的预测信号,则禁用当前PU的BIO

组合帧内/帧间

多假设帧间预测不能与一个PU内的组合帧内/帧间一起使用:

·如果组合的帧内/帧间与具有附加预测信号的合并候选一起被选择,则这些附加预测信号不被继承/合并。

·附加预测信号不能在组合帧内/帧间模式中被显式地通过信号传输。

三角模式

多假设帧间预测不能与一个PU内的三角模式一起使用:

·如果三角模式与具有附加预测信号的合并候选一起被选择,则这些附加预测信号不被继承/合并。

·附加的预测信号不能在三角模式中被显式地通过信号传输。

2.15重叠块运动补偿

重叠块运动补偿(OBMC)以前已在H.263中使用。在JEM中,与H.263不同,OBMC可以使用CU级别的语法来打开和关闭。当在JEM中使用OBMC时,除了CU的右边界和下边界之外,对所有运动补偿(MC)块边界执行OBMC。此外,它还适用于亮度和色度分量。在JEM中,MC块对应于编解码块。当用子CU模式(包括子CU合并、仿射和FRUC模式)对CU进行编解码时,CU的每个子块都是MC块。图30示出了OBMC应用的子块的示意图3000。为了以统一的方式处理CU边界,在子块级别对所有MC块边界执行OBMC,其中子块大小设置为等于4×4,如图30所示。

当OBMC应用于当前子块时,除了当前运动矢量之外,四个连接的相邻子块的运动矢量如果可用并且与当前运动矢量不相同,则也用于导出当前子块的预测块。这些基于多个运动矢量的多个预测块被组合以生成当前子块的最终预测信号。

将基于相邻子块的运动矢量的预测块表示为P

在JEM中,对于大小小于或等于256个亮度样本的CU,通过信号传输CU级别标志,以指示当前CU是否应用OBMC。对于大小大于256个亮度样本或未使用AMVP模式编解码的CU,默认情况下应用OBMC。在编码器处,当OBMC被应用于CU时,其影响在运动估计阶段被考虑在内。OBMC使用顶部相邻块和左侧相邻块的运动信息形成的预测信号用于补偿当前CU的原始信号的顶部和左侧边界,然后应用正常的运动估计过程。

2.16自适应合并候选列表

假设合并候选的数目为8。将前5个合并候选作为第一子组,并将随后的3个合并候选用作第二子组(即最后的子组)。

图31示出了编码器中的重排序过程3100的流程图。对于编码器,在块3102构建合并候选列表后,一些合并候选按合并候选成本的升序自适应地重排序,如图31所示。

更具体地,在块3104,计算除最后的子组之外的所有子组中的合并候选的模板匹配成本;则在块3106,除最后的子组之外对其自己的子组中的合并候选重排序;最后,在框3108,将得到最终合并候选列表。

对于解码器,在构建合并候选列表后,一些/没有合并候选按照合并候选成本的升序被自适应地重排序,如图32所示,图32示出了解码器中重排序过程3200的流程图。在图32中,所选(信号)合并候选所在的子组称为所选子组。

更具体地,在块3202,确定所选择的合并候选是否位于最后的子组中。如果所选合并候选位于最后的子组中,则在框3204,在导出所选合并候选之后终止合并候选列表构建过程,并且在框3206,不执行重排序并且不改变合并候选列表;否则,执行过程如下:

在框3208,在导出所选子组中的所有合并候选之后,终止合并候选列表构建过程;在块3210,计算所选子组中的合并候选的模板匹配成本;在框3212,对所选子组中的合并候选进行重排序;最后,在块3214,将得到新的合并候选列表。

对于编码器和解码器,以下内容适用:

模板匹配成本是作为T和RT的函数导出的,其中T是模板中的样本集合,RT是用于模板的参考样本集合。

当导出合并候选的模板的参考样本时,合并候选的运动矢量被四舍五入到整数像素精度。

用于双向预测的模板(RT)的参考样本是通过如下对参考列表0(RT

其中参考列表0(8-w)中参考模板的权重和参考列表1(w)中参考模板的权重由合并候选的BCW索引决定。等于{0,1,2,3,4}的BCW索引分别对应于等于{-2,3,4,5,10}的w。

如果合并候选的局部亮度补偿(LIC)标志为真,则使用LIC方法导出模板的参考样本。

模板匹配成本是基于T和RT的绝对差之和(SAD)来计算的。模板大小为1。这意味着左边模板的宽度和/或上面模板的高度是1。如果编解码模式是MMVD,则不重排序用于导出基础合并候选的合并候选。

如果编解码模式是GPM,则用于导出单向预测候选列表的合并候选不被重排序。

2.17GMVD

在具有运动矢量差分的几何预测模式下,GPM中的每个几何划分都可以决定是否使用GMVD。如果为几何区域选择GMVD,则将该区域的MV计算为合并候选的MV和MVD的总和。所有其他处理都与GPM中保持相同。

利用GMVD,MVD作为一对方向和距离通过信号被传输。有九个候选距离(1/4像素、1/2像素、1像素、2像素、3像素、4像素、6像素、8像素、16像素)和八个候选方向(四个水平/垂直方向和四个对角线方向)。此外,当pic_fpel_MVD_enabled_flag等于1时,GMVD中的MVD也像MMVD中一样左移2。

2.18仿射MMVD

在仿射MMVD中,选择仿射合并候选(称为基础仿射合并候选),由通过信号传输的MVD信息进一步细化控制点的MV。

所有控制点的MV的MVD信息在一个预测方向上是相同的。

当起始MV是双向预测MV,其中两个MV指向当前图片的不同侧(即,一个参考的POC大于当前图片的POC,而另一个参考的POC小于当前图片的POC)时,添加到起始MV的列表0MV分量的MV偏移和列表1MV的MV偏移具有相反的值;否则,当起始MV是两个列表都指向当前图片的同一侧的双向预测MV时(即,两个参考的POC都大于当前图片的POC,或者都小于当前图片的POC),添加到起始MV的列表0MV分量的MV偏移和列表1MV的MV偏移是相同的。

2.19多遍解码器侧运动矢量细化

在本文中,应用了多遍解码器侧的运动矢量细化。在第一遍次中,双边匹配(BM)被应用于编解码块。在第二遍次中,BM被应用于编解码块内的每个16x16子块。在第三遍次中,通过应用双向光流(BDOF)来细化每个8x8子块中的MV。细化的MV被存储用于空间和时间运动矢量预测。

第一遍次-基于块的双边匹配MV细化

在第一遍次中,通过将BM应用于编解码块来导出细化的MV。类似于解码器端运动矢量细化(DMVR),在双向预测操作中,在参考图片列表L0和L1中的两个初始MV(MV0和MV1)周围搜索细化的MV。基于L0和L1中的两个参考块之间的最小双边匹配成本,围绕发起MV导出细化的MV(MV0_pass1和MV1_pass1)。BM执行局部搜索以导出整数样本精度intDeltaMV。局部搜索应用3×3平方搜索样式,在水平方向的搜索范围[–sHor,sHor]和垂直方向的搜索范围[–sVer,sVer]中循环,其中,sHor和sVer的值由块尺度确定,sHor和sVer的最大值为8。

双边匹配成本计算为:bilCost=mvDistanceCost+sadCost。当块大小cbW*cbH大于64时,应用MRSAD成本函数来去除参考块之间失真的DC效应。当3×3搜索样式的中心点的bilCost具有最小成本时,intDeltaMV局部搜索终止。否则,当前最小成本搜索点成为3×3搜索样式的新中心点,并继续搜索最小成本,直到它到达搜索范围的末尾。

进一步应用现有的分数样本细化来导出最终的deltaMV。然后,第一遍次后的细化MV导出为:

·MV0_pass1=MV0+deltaMV

·MV1_pass1=MV1–deltaMV

第二遍次-基于子块的双边匹配MV细化

在第二遍次中,通过将BM应用于16×16网格子块来导出细化的MV。对于每个子块,在参考图片列表L0和L1中在第一遍次获得的两个MV(MV0_pass1和MV1_pass1)周围搜索细化的MV。基于L0和L1中的两个参考子块之间的最小双边匹配成本来导出细化的MV(MV0_pass2(sbIdx2)和MV1_pass2(sbIdx2))。

对于每个子块,BM执行完全搜索以导出整数样本精度intDeltaMV。全搜索在水平方向上具有搜索范围[–sHor,sHor],在垂直方向上具有[–sVer,sVer],其中,sHor和sVer的值由块尺度确定,并且sHor和sVert的最大值为8。

双边匹配成本是通过将成本因子应用于两个参考子块之间的SATD成本来计算的,如:bilCost=satdCost*costFactor。搜索区域(2*sHor+1)*(2*sVer+1)被分为5个菱形搜索区域,如图33的图3300所示。搜索区域中的菱形区域。每个搜索区域都被分配了一个costFactor,该costFactor由每个搜索点和起始MV之间的距离(intDeltaMV)确定,并且每个菱形区域按照从搜索区域的中心开始的顺序进行处理。在每个区域中,搜索点按光栅扫描顺序进行处理,从区域的左上角开始,一直到右下角。在当前搜索区域内的最小bilCost小于等于sbW*sbH的阈值时,终止int pel完全搜索,否则,int-pel完整搜索继续到下一个搜索区域,直到检查完所有搜索点。

进一步应用现有的VVC DMVR分数样本细化来导出最终的deltaMV(sbIdx2)。然后,第二遍次的细化MV导出为:

·MV0_pass2(sbIdx2)=MV0_pass 1+deltaMV(sbIdx2)

·MV1_pass2(sbIdx2)=MV1_pass1–deltaMV(sbIdx2)

第三遍次-基于子块的双向光流MV细化

在第三遍次中,通过将BDOF应用于8×8网格子块来导出细化的MV。对于每个8×8的子块,应用BDOF精化来导出缩放的Vx和Vy,而不从第二遍次的父子块的精化MV开始进行剪裁。导出的bioMv(Vx,Vy)四舍五入到1/16样本精度,并在-32和32之间进行剪裁。

第三遍次的细化MV(MV0_pass3(sbIdx3)和MV1_pass3(sbIdx3))导出为:

·MV0_pass3(sbIdx3)=MV0_pass 2(sbIdx2)+bioMv

·MV1_pass3(sbIdx3)=MV0_pass2(sbIdx2)–bioMv

2.20解码器端运动矢量细化(DMVR)

为了提高合并模式MV的精度,在VVC中应用了基于双边匹配(BM)的解码器端运动矢量细化。在双向预测操作中,在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化的MV。BM方法计算参考图片列表L0和列表L1中两个候选块之间的失真。如图34所示,基于初始MV周围的每个MV候选,计算块3410和3412之间的SAD,其中,对于当前图片3402,块3410在列表L0中的参考图片3401中,块3412在列表L1中的参考图片3403中。具有最低SAD的MV候选成为细化MV,并用于生成双向预测信号。在VVC中,DMVR的应用受到限制,仅适用于具有以下模式和功能的CU:

–具有双向预测MV的CU级合并模式

–相对于当前图片,一张参考图片是过去的,另一张参考图片是未来的

–从两个参考图片到当前图片的距离(即POC差)相同

–两张参考图片均为短期参考图片

–CU有超过64个亮度样本

–CU高度和CU宽度均大于或等于8个亮度样本

–BCW权重索引指示相等的权重

–当前块未启用WP

–CIIP模式未用于当前块

DMVR过程导出的细化MV用于生成帧间预测样本,并且还用于未来图片编解码的时间运动矢量预测。而原始MV被用于解块过程,并且还被用于未来CU编解码的空间运动矢量预测。

DMVR的附加功能在以下子条款中有所提及。

搜索方案

在DVMR中,搜索点围绕初始MV,并且MV偏移服从MV差镜像规则。换句话说,由候选MV对(MV0,MV1)表示的DMVR检查的任何点遵循以下两个等式:

MV0′=MV0+MV_offset

MV1′=MV1-MV_offset

其中,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-x

其中(x

x

y

x

双线性插值和样本填充

在VVC中,MV的分辨率是1/16亮度样本。使用8抽头插值滤波器对分数位置处的样本进行插值。在DMVR中,搜索点围绕具有整数样本偏移的初始分数像素MV,因此需要对这些分数位置的样本进行插值以进行DMVR搜索过程。为了降低计算复杂度,双线性插值滤波器用于生成DMVR中搜索过程的分数样本。另一个重要的效果是,通过使用双线性滤波器,在2样本搜索范围内,与正常的运动补偿过程相比,DVMR不会访问更多的参考样本。在通过DMVR搜索过程获得细化的MV之后,应用普通的8抽头插值滤波器来生成最终预测。为了不访问正常MC过程的更多参考样本,将从那些可用样本中填充样本,这些样本对于基于原始MV的插值过程是不需要的,但是对于基于精细MV的插值处理是需要的。

最大DMVR处理单元当CU的宽度和/或高度大于16个亮度样本时,它将被进一步分割为宽度和/或者高度等于16个亮度样本的子块。DMVR搜索过程的最大单元大小限制为16x16。

2.21美国专利申请第17/161335号中提出的自适应合并候选列表(全文被并入)

在下文中,模板是与当前块相邻或不相邻的重建样本的集合。根据当前块的相同运动信息导出模板的参考样本。例如,模板的参考样本是取决于运动信息的模板的映射。在这种情况下,模板的参考样本由运动信息的参考索引所指示的参考图片中的运动信息的运动矢量来定位。图35显示了模板和模板的参考样本的示例的示意图3500,其中参考图片3520中的RT表示当前图片3510中模板T的参考样本。

当合并候选利用双向预测时,合并候选的模板的参考样本由RT表示,并且RT可以根据从参考图片列表0中的参考图片导出的RT

在一个示例中,用于双向预测的模板的参考样本(RT)是通过对参考列表0中的模板的参考样本(RT

RT=(RT

在一个示例中,用于双向预测的模板的参考样本(RT

RT=((2

在一个示例中,诸如(8-w)的参考列表0中的参考模板的权重和诸如(w)之类的参考列表1中的参考样板的权重可以由合并候选的BCW索引决定。

合并候选可以根据一些准则被分为若干组。每组称为一个子组。例如,可以将相邻的空间和时间合并候选作为第一子组,并将剩余的合并候选作为第二子组;在另一个例子中,前N(N≥2)个合并候选也可以作为第一子组,将后面的M(M≥2)的合并候选作为第二子组,将剩下的合并候选当作第三子组。注意,所提出的方法可以应用于合并帧间编解码块(例如,平移运动)、仿射编解码块的候选列表构建过程;或者其他运动候选列表构建过程(例如AMVP列表、IBC AMVP列表和IBC合并列表)。

W和H是当前块(例如亮度块)的宽度和高度。以下描述以合并候选列表构建过程为例:

1.可以根据一个或一些准则在最终合并候选列表中自适应地重排列合并候选。

a.在一个示例中,首先调用当前合并候选列表构建过程的部分或全部过程,然后对列表中的候选进行重排序。

i.备选地,第一子组中的候选可以被重排序,并且它们应该被添加在第二子组中那些候选之前,其中第一子组被添加到第二子组之前。

(i)在一个示例中,可以首先导出第一类别的多个合并候选,然后在第一类别内重排序;继而可以根据第一类别中的重排序的候选(例如如何应用修剪)来确定来自第二类别的合并候选。

ii.备选地,可以将第一类别中的第一合并候选与第二类别中的第二合并候选进行比较,以决定第一或第二合并候选在最终合并候选列表中的顺序。

b.在一个示例中,可以在检索合并候选之前自适应地重排列合并候选。

i.在一个示例中,自适应地排列合并候选的过程可以在获得要在运动补偿过程中使用的合并候选之前进行处理。

c.在一个示例中,如果当前块的宽度大于当前块的高度,则将上述候选添加到左侧候选之前。

d.在一个示例中,如果当前块的宽度小于当前块的高度,则将上述候选添加到左侧候选之后。

e.是否自适应地重排列合并候选可以取决于所选择的合并候选或所选择的合并候选索引。

i.在一个示例中,如果所选择的合并候选在最后的子组中,则不自适应地重排列合并候选。

f.在一个示例中,向合并候选分配成本,以合并候选的成本的升序自适应地重排序合并候选。

i.在一个示例中,合并候选的成本可以是模板匹配成本。

ii.在一个示例中,模板是与当前块相邻或不相邻的重建样本的集合。

iii.模板匹配成本是作为T和RT的函数导出的,其中T是模板中的样本集合,RT是用于模板的参考样本集合。

(i)如何获得合并候选的模板的参考样本可以取决于合并候选的运动信息

a)在一个示例中,当导出模板的参考样本时,合并候选的运动矢量被四舍五入到整数像素精度,其中整数运动矢量可以是其最近的整数运动矢量。

b)在一个示例中,当导出模板的参考样本时,使用N抽头插值滤波来获得子像素位置处的模板的参考样本。例如,N可以是2、4、6或8。

c)在一个示例中,当导出模板的参考样本时,合并候选的运动矢量可以被缩放到给定的参考图片(例如,对于每个参考图片列表,如果可用的话)。

d)例如,如图35所示,在由合并候选的参考索引指示的当前块的参考图片上获得合并候选的模板的参考样本,该参考图片具有合并候选的MV或修改的MV(例如,根据项a)-b))。

e)例如,当合并候选利用双向预测时,合并候选的模板的参考样本由RT表示,并且RT可以根据从参考图片列表0中的参考图片导出的RT

[1]在一个示例中,RT

[2]在一个示例中,RT

[3]示例如图36所示。

f)在一个示例中,用于双向预测的模板的参考样本(RT)是通过对参考列表0中的模板的参考样本(RT

RT=(RT

g)在一个示例中,用于双向预测的模板的参考样本(RT

RT=((2

h)在一个示例中,诸如(8-w)的参考列表0中的参考模板的权重和诸如(w)之类的参考列表1中的参考样板的权重可以由合并候选的BCW索引决定。

[1]在一个示例中,BCW索引等于0,w设置为等于-2。

[2]在一个示例中,BCW索引等于1,w被设置为等于3。

[3]在一个示例中,BCW索引等于2,w被设置为等于4。

[4]在一个示例中,BCW索引等于3,w被设置为等于5。

[5]在一个示例中,BCW索引等于4,w设置为等于10。

i)在一个示例中,如果合并候选的局部亮度补偿(LIC)

标志为真,则使用LIC方法导出模板的参考样本。

(ii)可以基于T和RT的绝对差之和(SAD)来计算成本。

a)备选地,可以基于T和RT的绝对变换差(SATD)之和来计算成本。

b)备选地,可以基于T和RT的平方差之和(SSD)来计算成本。

c)备选地,可以基于加权SAD/加权SATD/加权SSD来计算成本。

(iii)除了在(ii)中计算的SAD之外,成本还可以考虑RT和与T相邻或不相邻的重建样本之间的连续性(Boundary_SAD)。例如,考虑与T相邻或不相邻的左侧和/或上方的重建样本。

a)在一个示例中,可以基于SAD和Boundary_SAD来计算成本。

[1]在一个示例中,成本可以被计算为(SAD+w*Boundary_SAD)。w可以是预定义的、通过信号传输的或者根据解码的信息导出的。

2.是否和/或如何重排序合并候选可以取决于合并候选的类别。

a.在一个示例中,只有相邻的空间和时间合并候选可以被重排序。

b.在一个示例中,只有相邻的空间合并候选、STMVP合并候选和时间合并候选可以被重排序。

c.在一个示例中,只有相邻的空间、STMVP、时间和非相邻的空间合并候选可以被重排序。

d.在一个示例中,只有相邻的空间、STMVP、时间、非相邻的空间和HMVP合并候选可以被重排序。

e.在一个示例中,只有相邻的空间、STMVP、时间、非相邻的空间的HMVP和成对平均合并候选可以被重排序。

f.在一个示例中,只有相邻的空间、时间、HMVP和成对平均合并候选可以被重排序。

g.在一个示例中,只有相邻的空间、时间和HMVP合并候选可以被重排序。

h.在一个示例中,只有相邻的空间合并候选可以被重排序。

i.在一个示例中,只有第一个子组可以被重排序。

j.在一个示例中,最后的子组无法重排序。

k.在一个示例中,只有前N个合并候选可以被重排序。

i.在一个示例中,N被设置为等于5。

l.在一个示例中,对于不被重排序的候选,它们将根据初始顺序排列在合并候选列表中。

m.在一个示例中,未被重排序的候选可以被置于待重排序的候选之后。

n.在一个示例中,未被重排序的候选可以被置于待重排序的候选之前。

o.在一个例子中,上面的一些项目(a~k)的组合可以被重排序。

p.不同的子组可以单独重排序。

q.不同子组中的两个候选不能进行比较和/或重排序。

r.如果第一子组在第二子组之前,则在重排序之后,第一子组中的第一候选需要放在第二子组中的第二候选之前。

3.是否和/或如何重排序合并候选可以取决于编解码模式。

a.在一个示例中,如果编解码模式是常规合并模式,则可以对合并候选进行重排序。

b.在一个示例中,如果编解码模式是MMVD,则不重排序用于导出基础合并候选的合并候选。

i.备选地,对于MMVD模式和其他合并模式,重排序方法可以不同。

c.在一个示例中,如果编解码模式是CIIP,则用于与帧内预测组合的合并候选是基于重排序的合并候选的。

i.备选地,对于CIIP模式和其他合并模式,重排序方法可以不同。

d.在一个示例中,如果编解码模式是GPM,则用于导出单向预测候选列表的合并候选不被重排序。

i.备选地,对于GPM模式和其他合并模式,重排序方法可以不同。

e.在一个示例中,如果编解码模式是三角划分模式,则不重排序用于导出单向预测候选列表的合并候选。

i.备选地,对于三角模式和其他合并模式,重排序方法可以不同。

f.在一个示例中,如果编解码模式是基于子块的合并模式,则对基于部分或全部子块的候选合并进行重排序。

i.备选地,对于基于子块的合并模式和其他合并模式,重排序方法可以不同。

ii.在一个示例中,不对基于单向预测子块的合并候选进行重排序。

iii.在一个示例中,SbTMVP候选不被重排序。

iv.在一个示例中,所构建的仿射候选不被重排序。

v.在一个示例中,零填充仿射候选不被重排序。

4.是否和/或如何重排序合并候选可以取决于相邻的空间和/或STMVP和/或时间合并候选的可用数目。

5.合并候选是否需要重排序可以取决于解码的信息(例如CU的宽度和/或高度)。

a.在一个示例中,如果高度大于或等于M,宽度大于或等于N,并且宽度*高度大于或等于R,则可以对合并候选进行重排序。

i.在一个示例中,M、N和R被设置为等于8、8和128。

ii.在一个示例中,M、N和R被设置为等于16、16和512。

b.在一个示例中,如果高度大于或等于M并且宽度大于或等于

N,则可以对合并候选进行重排序。

i.在一个示例中,M和N被设置为等于8和8。

ii.在一个示例中,M和N被设置为等于16和16。

6.子组大小可以是自适应的。

a.在一个示例中,根据表示为N的相邻空间和/或STMVP和/或时间合并候选的可用数目来决定子组大小。

i.在一个示例中,如果N小于M并且大于Q,则子组大小被设置为N;

ii.在一个示例中,如果N小于或等于Q,则不执行重排序;

iii.在一个示例中,如果N大于或等于M,则子组大小被设置为M。

iv.在一个示例中,M和Q分别被设置为等于5和1。

(i)备选地,M和/或Q可以是预定义的,通过信号传输的,或者根据解码的信息导出的。

b.在一个示例中,根据表示为N的相邻空间和时间合并候选的可用数目来决定子组大小。

i.在一个示例中,如果N小于M并且大于Q,则子组大小被设置为N;

ii.在一个示例中,如果N小于或等于Q,则不执行重排序;

iii.在一个示例中,如果N大于或等于M,则子组大小被设置为M。

iv.在一个示例中,M和Q分别被设置为等于5和1。

7.模板形状可以是自适应的。

a.在一个示例中,模板可以仅包括留给当前块的相邻样本。

b.在一个示例中,模板可以仅包括当前块上方的相邻样本。

c.在一个示例中,根据CU形状来选择模板形状。

d.在一个示例中,根据CU高度来选择左侧模板的宽度。

i.例如,如果H<=M,则左模板大小为w1xH;否则,左侧模板大小为w2xH。

e.在一个示例中,M、w1和w2分别被设置为等于8、1和2。

f.在一个示例中,根据CU宽度来选择上述模板的高度。

i.例如,如果W<=N,则上述模板大小为Wxh1;否则,上述模板大小为Wxh2。

(i)在一个示例中,N、h1和h2分别被设置为等于8、1和2。

g.在一个示例中,根据CU宽度来选择左模板的宽度。

i.例如,如果W<=N,则左模板大小为w1xH;否则,左侧模板大小为w2xH。

(i)在一个示例中,N、w1和w2分别被设置为等于8、1和2。

h.在一个示例中,根据CU高度来选择上述模板的高度。

i.例如,如果H<=M,则上述模板大小为Wxh1;否则,上述模板大小为Wxh2。

(i)在一个示例中,M、h1和h2分别被设置为等于8、1和2。

i.在一个示例中,模板的样本和模板样本的参考样本可以在用于计算成本之前进行二次采样或下采样。

i.是否进行和/或如何进行二次采样可以取决于CU尺寸。

ii.在一个示例中,不对CU的短边执行二次采样。

8.在以上示例中,合并候选是包括在最终合并候选列表中的一个候选(例如,在修剪之后)。

a.备选地,合并候选是从给定的空间或时间块或HMVP表导出的一个候选,或者以其他方式导出,即使它可以不包括在最终合并候选列表中。

9.模板可以包括特定颜色成分的样本。

a.在一个示例中,模板仅包括亮度分量的样本。

10.是否应用自适应合并候选列表重排序可以取决于在VPS/SPS/PPS/序列头/图片头/条带头/CTU/CU中通过信号传输的消息。它也可以是基于信号的区域。例如,将图片均匀地或不均匀地分为CTU/CU的组,并且为每个组编解码一个标志以指示是否应用合并候选列表重排序。

2.22PCT/CN2021/086213中提出的自适应运动候选列表(全文被并入)

1.可以根据一个或一些准则自适应地重排列块的运动候选列表中的运动候选,以导出重排序的运动候选列表,并且根据重排序的运动候选列表对块进行编码/解码。

a.可以根据一个或一些准则自适应地重排列不是常规合并候选列表的块的运动候选列表中的运动候选,以导出重排序的运动候选列表。

b.在一个示例中,是否和/或如何对运动候选进行重排序可以取决于编解码模式(例如,仿射合并、仿射AMVP、规则合并、常规AMVP、GPM、TPM、MMVD、TM合并、CIIP、GMVD、仿射MMVD)。

c.在一个示例中,是否和/或如何对运动候选进行重排序可以取决于运动候选的类别(例如,空间、时间、STMVP、HMVP、成对、SbTMVP、构建仿射、继承仿射)。

d.在一个示例中,运动候选列表可以是AMVP候选列表。

e.在一个示例中,运动候选列表可以是合并候选列表。

f.在一个示例中,运动候选列表可以是仿射合并候选列表。

g.在一个示例中,运动候选列表可以是基于子块的合并候选列表。

h.在一个示例中,运动候选列表可以是GPM合并候选列表。

i.在一个示例中,运动候选列表可以是TPM合并候选列表。

j.在一个示例中,运动候选列表可以是TM合并候选列表。

k.在一个示例中,运动候选列表可以是MMVD编解码块的候选列表。

l.在一个示例中,运动候选列表可以是DMVR编解码块的候选列表。

2.如何自适应地重排列运动候选列表中的运动候选可以取决于解码的信息,例如,运动候选的类别、运动候选列表的类别、编解码工具。

a.在一个示例中,对于不同的运动候选列表,可以使用不同的标准来重排列运动候选列表。

i.在一个示例中,标准可以包括如何选择模板。

ii.在一个示例中,标准可以包括如何计算模板成本。

iii.在一个示例中,标准可以包括候选列表中有多少候选和/或有多少子组需要重排序。

b.在一个示例中,首先自适应地重排列运动候选列表中的运动候选以构建完全重排列的候选列表或部分重排列的候选列表,然后从重排列的候选列表中检索由至少一个索引指示的至少一个运动候选以导出将由当前块使用的最终运动信息。

c.在一个示例中,首先自适应地重排列细化之前的运动候选(例如,对TM编解码块使用TM;对MMVD编解码块添加MVD),以构建完全重排列的候选列表或部分重排列的候选列表。然后,从重排列的候选列表中检索由至少一个索引指示的至少一个运动候选,并且将细化(例如,对TM编解码的块使用TM;对MMVD编解码的块添加MVD)应用于所检索的运动候选,以导出当前块的最终运动信息。

d.在一个示例中,对运动候选列表中的至少一个运动候选应用细化(例如,对TM编解码块使用TM;对MMVD编解码块添加MVD),然后自适应地重排列它们以构建完全重排列的候选列表或部分重排列的候选列表,然后从重排列的候选列表中检索由至少一个索引指示的至少一个运动候选,以在没有针对当前块的任何进一步细化的情况下导出最终的运动信息。

3.在一个示例中,可以基于候选重排序来生成新的MERGE/AMVP运动候选。

i.例如,可以分别对候选的L0运动和L1运动进行重排序。

ii.例如,可以通过组合来自重排序的L0运动的一个和来自重排序L1运动的另一个来构建新的双向预测合并候选。

iii.例如,可以通过重排序的L0或L1运动来生成新的单向预测合并候选。

3.问题

合并模式的当前设计可以进一步改进。

固定合并候选顺序可能不是最佳顺序。自适应合并候选列表生成过程可以用来提高合并模式的有效性。此外,可以提高编解码效率。

4.详细描述

以下描述应被视为解释一般概念的示例。这些描述不应以狭隘方式解释。此外,这些描述可以以任何方式进行组合。

对于子块运动预测,如果子块大小是Wsub*Hsub,上述模板的高度是Ht,左模板的宽度是Wt,则上述模板可以被视为具有Wsub*Ht大小的若干子模板的构成,左模板可以被视为具有Wt*Hsub大小的若干个子模板的构成。在以上述类似的方式导出每个子模板的参考样本之后,导出该模板的参考样本。两个示例如图37和图38所示。需要注意的是,以下提及的术语不限于现有标准中定义的特定术语。编解码工具的任何变化也适用。例如,术语“GPM”用于表示导出两组运动信息并使用导出的信息和分割样式来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。

注意,所提出的方法可以应用于帧间编解码块(例如,平移运动)、仿射编解码块或IBC编解码块的合并候选列表构建过程;或者其他运动候选列表构建过程(例如正常AMVP列表、仿射AMVP列表和IBC AMVP列表)。

W和H是当前块(例如亮度块)的宽度和高度。

1.在一个示例中,如果编解码模式是TM合并,则可以对部分或全部TM合并候选进行重排序。

a.在一个示例中,如果编解码模式是TM合并,则可以在TM细化过程之前对部分或全部原始TM合并候选进行重排序。

b.备选地,如果编解码模式是TM合并,则可以在TM细化处理之后对部分或全部细化的TM合并候选进行重排序。

c.备选地,如果编解码模式是TM合并,则TM合并候选可以不被重排序。

d.备选地,对于TM合并模式和其他合并模式,重排序方法可以不同。

2.在一个示例中,如果编解码模式是基于子块的合并模式,则可以对基于部分或全部子块的候选合并进行重排序。

a.备选地,对于基于子块的合并模式和其他合并模式,重排序方法可以不同。

b.在一个示例中,模板可以被分为子模板。每个子模板可以具有个体运动信息。

i.在一个示例中,可以基于每个子模板的成本来导出用于重排序候选的成本。例如,用于重排序候选的成本可以计算为所有子模板的成本之和。例如,子模板的成本可以计算为SAD、SATD、SSD或子模板与其对应的参考子模板之间的任何其他失真测量。

c.在一个示例中,为了导出子模板的参考样本,可以使用当前块的第一行和第一列中的子块的运动信息。

i.在一个示例中,子模板的运动信息可以从当前块中的其相邻子块导出(例如,复制)。示例如图37所示,它说明了使用当前块的子块的运动信息的具有子块运动的块的模板和模板的参考样本的示意图3700。

d.在一个示例中,为了导出子模板的参考样本,可以在不参考当前块中的子块的运动信息的情况下导出该子模板的运动信息。示例如图38所示,它说明了使用每个子模板的运动信息的具有子块运动的块的模板和模板的参考样本的示意图3800。

i.在一个示例中,根据当前块的仿射模型来计算每个子模板的运动信息。

(i)在一个示例中,包含根据当前块的仿射模型计算的子模板的每个子块的中心样本的运动矢量被视为子模板的运动矢量。

(ii)在一个示例中,根据当前块的仿射模型计算的每个子模板的中心样本的运动矢量被视为子模板的运动矢量。

(iii)对于4参数仿射运动模型,块中采样位置(x,y)处的运动矢量导出为:

(iv)对于6参数仿射运动模型,块中采样位置(x,y)处的运动矢量导出为:

(v)对于(iii)和(iv),当前块的左上角、右上角和左下角的坐标是(0,0)、(W,0)和(0,H),当前块的左上、右上和左下角的运动矢量是(mv

(mv

(vi)在一个示例中,可以将上述等式中的坐标(x,y)设置为等于模板中的位置或子模板的位置。例如,坐标

(x,y)可以被设置为等于子模板的中心位置。

e.在一个示例中,该方案可以应用于仿射合并候选。

f.在一个示例中,该方案可以应用于仿射AMVP候选。

g.在一个示例中,该方案可以应用于SbTMVP合并候选。

h.在一个示例中,该方案可以应用于GPM合并候选。

i.在一个示例中,该方案可以应用于TPM合并候选。

j.在一个例子中,该方案可以应用于TM细化合并候选。

k.在一个示例中,该方案可以应用于DMVR细化合并候选。

l.在一个示例中,该方案可以应用于MULTI_PASS_DMVR细化合并候选。

3.在一个示例中,如果编解码模式是MMVD,则用于导出基础合并候选的合并候选可以被重排序。

a.在一个示例中,可以在合并候选由通过信号传输或导出的MVD细化之前,对合并候选应用重排序过程。

b.例如,对于MMVD模式和其他合并模式,重排序方法可以不同。

4.在一个示例中,如果编解码模式是MMVD,则可以对MMVD细化之后的合并候选进行重排序。

a.在一个示例中,可以在合并候选由通过信号传输或导出的MVD细化之后,对合并候选应用重排序过程。

b.例如,对于MMVD模式和其他合并模式,重排序方法可以不同。

5.在一个示例中,如果编解码模式是仿射MMVD,则可以对导出基础合并候选的合并候选进行重排序。

a.在一个示例中,可以在仿射合并候选被通过信号传输或导出的MVD细化之前,对合并候选应用重排序过程。

b.例如,对于仿射MMVD模式和其他合并模式,重排序方法可以不同。

6.在一个示例中,如果编解码模式是仿射MMVD,则可以对仿射MMVD细化之后的合并候选进行重排序。

a.在一个示例中,可以在合并候选由通过信号传输或导出的MVD细化之后,对仿射合并候选应用重排序过程。

b.例如,对于仿射MMVD模式和其他合并模式,重排序方法可以不同。

7.在一个示例中,如果编解码模式是GMVD,则用于导出基础合并候选的合并候选可以被重排序。

a.在一个示例中,可以在合并候选由通过信号传输或导出的MVD细化之前,对合并候选应用重排序过程。

b.例如,对于GMVD模式和其他合并模式,重排序方法可以不同。

8.在一个示例中,如果编解码模式是GMVD,则可以对GMVD细化之后的合并候选进行重排序。

a.在一个示例中,可以在合并候选由通过信号传输或导出的MVD细化之后,对合并候选应用重排序过程。

b.例如,对于GMVD模式和其他合并模式,重排序方法可以不同。

9.在一个示例中,如果编解码模式是GPM,则可以对合并候选进行重排序。

a.在一个示例中,在合并候选被用于导出每个划分的GPM候选列表(也称为GPM的单向预测候选列表)之前,可以对原始合并候选应用重排序过程。

b.在一个示例中,如果编解码模式是GPM,则可以对单向预测候选列表中的合并候选进行重排序。

c.在一个示例中,可以基于重排序来构建GPM单向预测候选列表。

i.在一个示例中,具有双向预测的候选(也称为双向预测候选)可以被分离为两个单向预测候选。

(i)如果原始合并候选的数目是M,则最多可以从它们中分离出2M个单向预测候选。

ii.在一个示例中,从双向预测候选分离的单向预测候选可以被放入初始单向预测候选列表中。

iii.在一个示例中,可以利用模板匹配成本对初始单向预测候选列表中的候选进行重排序。

iv.在一个示例中,具有较小模板匹配成本的前N个单向预测候选可以用作最终GPM单向预测候选。例如,N等于M。

d.在一个示例中,在导出GPM单向预测候选列表之后,构建划分0和划分1的组合双向预测列表,然后对双向预测列表进行重排序。

i.在一个示例中,如果GPM单向预测候选的数目是M,则组合的双向预测候选的数目是M*(M-1)。

e.备选地,对于GPM模式和其他合并模式,重排序方法可以不同。

10.是否和/或如何重排序运动候选可以取决于运动候选的类别。

a.在一个示例中,只有相邻的空间和时间运动候选可以被重排序。

b.在一个示例中,只有相邻的空间、STMVP和时间运动候选可以被重排序。

c.在一个示例中,只有相邻的空间、STMVP、时间和非相邻的空间运动候选可以被重排序。

d.在一个示例中,只有相邻的空间、STMVP、时间、非相邻的空间和HMVP运动候选可以被重排序。

e.在一个示例中,只有相邻的空间、STMVP、时间、非相邻的空间的HMVP和成对平均运动候选可以被重排序。

f.在一个示例中,只有相邻的空间、时间、HMVP和成对平均运动候选可以被重排序。

g.在一个示例中,只有相邻的空间、时间和HMVP运动候选可以被重排序。

h.在一个示例中,只有相邻的空间运动候选可以被重排序。

i.在一个示例中,基于单向预测子块的运动候选不被重排序。

j.在一个示例中,SbTMVP候选不被重排序。

k.在一个示例中,不对继承的仿射运动候选进行重排序。

l.在一个示例中,所构建的仿射运动候选不被重排序。

m.在一个示例中,不对零填充仿射运动候选进行重排序。

n.在一个示例中,只有前N个运动候选可以被重排序。

i.在一个示例中,N被设置为等于5。

11.在一个示例中,运动候选可以被分为多个子组。是否和/或如何对运动候选进行重排序可以取决于运动候选的子组。

a.在一个示例中,只有第一个子组可以被重排序。

b.在一个示例中,最后的子组无法重排序。

c.在一个示例中,最后的子组无法重排序。但如果最后的子组也是第一个子组,则可以对其进行重排序。

d.不同的子组可以单独重排序。

e.不同子组中的两个候选不能进行比较和/或重排序。

f.如果第一子组在第二子组之前,则在重排序之后,第一子组中的第一候选需要放在第二子组中的第二候选之前。

12.在一个示例中,可以以指定的方式处理未包括在重排序过程中的运动候选。

a.在一个示例中,对于不被重排序的候选,它们将根据初始顺序排列在合并候选列表中。

b.在一个示例中,未被重排序的候选可以被置于待重排序的候选之后。

c.在一个示例中,未被重排序的候选可以被置于待重排序的候选之前。

13.是否应用自适应合并候选列表重排序可以取决于在VPS/SPS/PPS/序列头/图片头/条带头/CTU/CU中通过信号传输的消息。它也可以是基于信号的区域。例如,将图片均匀地或不均匀地分为CTU/CU的组,并且为每个组编解码一个标志以指示是否应用合并候选列表重排序。

5.实施例

假设合并候选的数目为8。将前5个合并候选作为第一子组,并将随后的3个合并候选用作第二子组(即最后的子组)。

图39示出了编码器中的重排序过程3900的流程图。对于编码器,在块3902构建合并候选列表后,如图39所示,一些合并候选按合并候选成本的升序自适应地重排序。

更具体地,在块3904,计算除最后的子组之外的所有子组中的合并候选的模板匹配成本;继而在块3906,除最后的子组之外对其自己的子组中的合并候选重排序;最后,在块3908,将得到最终合并候选列表。

对于解码器,在构建合并候选列表后,一些/没有合并候选按照合并候选成本的升序自适应地被重排序,如图40所示,图40示出了解码器中重排序过程4000的流程图。在图40中,所选(信号)合并候选所在的子组称为所选子组。

更具体地,在块4002,确定所选择的合并候选是否位于最后的子组中。如果所选合并候选位于最后的子组中,则在块4004,在导出所选合并候选之后终止合并候选列表构建过程,并且在块4006,不执行重排序并且不改变合并候选列表;否则,执行过程如下:

在块4008,在导出所选子组中的所有合并候选之后,终止合并候选列表构建过程;在框4010,计算所选子组中合并候选的模板匹配成本;在框4012,对所选子组中的合并候选进行重排序;最后,在框4014,将获得新的合并候选列表。

对于编码器和解码器,以下内容适用:

–模板匹配成本是作为T和RT的函数导出的,其中T是模板中的样本集合,RT是用于模板的参考样本集合。

–当导出合并候选模板的参考样本时,使用双线性插值滤波器。

–用于双向预测的模板的参考样本(RT)是通过如下对参考列表0中的模板的参考样本(RT

RT=((8-w)*RT

–其中参考列表0中参考模板的权重(8-w)和参考列表1中参考模板的权重(w)由合并候选的BCW索引决定。等于{0,1,2,3,4}

的BCW索引分别对应于等于{-2,3,4,5,10}的w。

如果合并候选的局部亮度补偿(LIC)标志为真,则使用LIC方法导出模板的参考样本。

模板匹配成本是基于T和RT的绝对差之和(SAD)来计算的。模板大小为1。这意味着左边模板的宽度和/或上面模板的高度是1。如果编解码模式是MMVD,则不重排序用于导出基础合并候选的合并候选。

如果编解码模式是GPM,则用于导出单向预测候选列表的合并候选不被重排序。

如果编解码模式是TM合并,则对所有原始TM合并候选进行重排序。

如果编解码模式是基于子块的合并模式,则对所有基于子块合并候选进行重排序。

本公开的实施例涉及用于帧间编解码块(例如,平移运动)、仿射编解码块或IBC编解码块的合并候选列表构建过程;或者其他运动候选列表构建过程(例如正常AMVP列表、仿射AMVP列表和IBC AMVP列表)。

如本文所使用的,术语“块”可以表示编解码块(CB)、编解码单元(CU)、预测单元(PU)、变换单元(TU)、预测块(PB)、变换块(TB)。

图41示出了根据本公开的一些实施例的用于视频处理的方法4100的流程图。方法4100可以在视频的目标块和视频的码流之间的转换期间实现。在一些实施例中,计算设备4100可以被实现为或包括在源设备110(或视频编码器114或200)或目的地设备120(或视频解码器124或300)中。

在4105,在基于子块的合并模式中针对视频的目标块构建合并候选列表。目标块可以被包括在视频的目标图片中。目标块有时可以被称为当前块或当前视频块,其可以具有各种大小。在合并模式中,运动候选也可以被称为“合并候选”,其在本文中与术语“运动候选”可互换使用。合并候选列表可以称为“运动候选列表”或“合并候选列表”。列表中的每个合并候选可以包括根据特定方法确定的运动信息(例如运动矢量)。

在4110处,对针对目标块的合并候选列表重排序。在4115,基于重排序的合并候选列表在目标块和视频的码流之间执行转换。

以这种方式,可以自适应地对块的合并候选列表进行重排序或重排列。这种自适应合并候选列表生成过程可以用于提高编解码模式的有效性,从而提高编解码效率。

在一些实施例中,可以在重排序方案(称为“第一重排序方案”)中对合并候选列表进行重排序。在不同于基于子块的合并模式的合并模式中,第一重排序方案不同于针对目标块的不同合并候选列表的重排序方案(称为“第二重排序方案”)。例如,对于基于子块的合并模式和其他合并模式,重排序方案可以不同。

在一些实施例中,为了重排序合并候选列表,可以确定与合并候选列表相关联的多个成本,并且可以基于多个成本来确定合并候选列表。多个成本中的成本与列表中的合并候选相关联,并且基于用于目标块的多个目标子模板和多个参考子模板之间的多个失真度量来确定。多个参考子模板针对合并候选被确定,并且对应于多个目标子模板。

在本公开的上下文中,目标子模板是指目标块中的子模板,该子模板包括样本集合并具有一条信息。根据目标子模板的相同运动信息导出相应的参考子模板,该参考子模板包括参考块中的参考样本集合。在此,参考子模板也将被称为子模板的参考样本。

在一些实施例中,可以通过分隔用于目标块的模板来构建多个目标子模板。例如,可以将模板分为子模板。多个目标子模板中的每一个可以具有个体运动信息。

在一些实施例中,多个失真度量可以包括绝对差之和(SAD)、绝对变换差之和(SATD)和/或差的平方和(SSD)。在一个示例中,可以基于每个子模板的成本来导出用于重排序候选的成本。例如,用于重排序候选的成本可以计算为所有子模板的成本之和。例如,子模板的成本可以计算为SAD、SATD、SSD或子模板与其对应的参考子模板之间的任何其他失真测量。

在一些实施例中,为了确定与合并候选相关联的成本,可以基于多个目标子模板和多个参考子模板之间的多个失真度量来针对合并候选确定多个参考成本。可以基于多个目标子模板中的目标子模板和多个参考子模板中对应的参考子模板之间的多个失真度量中的失真度量来确定多个参考成本中的参考成本。多个成本中的成本可以被确定为多个参考成本的总和。

在一些实施例中,对于多个目标子模板中的目标子模板,可以构建多个参考子模板中对应的参考子模板。可以基于目标子模板和对应的参考子模板之间的多个失真度量的失真度量来确定多个参考成本中的参考成本。

在一些实施例中,可以使用目标块的第一行或第一列中的子块的运动信息来构建相应的参考子模板。例如,当前块的第一行和第一列中的子块的运动信息可以用于导出子模板的参考样本。

在一些实施例中,可以从子块的运动信息导出对应的参考子模板的运动信息。可以基于导出的运动信息来构建对应的参考子模板的参考样本,该参考样本与子块相邻。例如,子模板的运动信息可以从目标块中其相邻子块导出(或复制)。如图37所示,具有子块运动的当前块的子模板和子模板的参考样本都基于子模板的子块的运动信息。

在一些实施例中,可以使用除了目标块中的子块的运动信息之外的运动信息来构建对应的参考子模板。例如,为了导出子模板的参考样本,可以在不参考目标块中的子块的运动信息的情况下导出子模板中的运动信息。如图38所示,子模板包括与当前块的子块相邻的样本,并且使用子模板的运动信息来导出子模板的参考样本。

在一些实施例中,可以根据目标块的仿射模型来导出对应的参考子模板的运动信息。可以基于导出的运动信息来构建对应的参考子模板的参考样本。例如,可以根据当前块的仿射模型来计算每个子模板的运动信息。

在一些实施例中,运动信息可以从运动矢量导出。例如,可以根据目标块的仿射模型来导出对应的参考子模板的运动矢量。对应参考子模板的运动信息可以从对应参考子模版的运动矢量导出。在一个示例中,根据当前块的仿射模型来计算每个子模板的运动信息。

在一些实施例中,为了导出对应的参考子模板的运动矢量,根据目标块的仿射模型来计算包含目标子模板的子块的中心样本的运动矢量作为对应的参考个子模板的运动矢量。例如,包含根据当前块的仿射模型计算的子模板的每个子块的中心样本的运动矢量被视为子模板的运动矢量。

在一些实施例中,可以根据目标块的仿射模型来计算目标子模板的中心样本的运动矢量,作为对应的参考子模板的运动矢量。例如,根据当前块的仿射模型计算的每个子模板的中心样本的运动矢量被视为子模板的运动矢量。

在一些实施例中,可以使用4参数仿射运动模型。在这些实施例中,中心样本的运动矢量被计算为:

其中,中心样本的坐标由(x,y)表示,(mv

在一些实施例中,可以使用6参数仿射运动模型。在这种情况下,中心样本的运动矢量计算为:

其中,中心样本的坐标由(x,y)表示,(mv

在一个示例中,可以将上述等式中的坐标(x,y)设置为等于目标块的模板中的位置,或者子模板的位置。例如,坐标(x,y)可以被设置为等于子模板的中心位置。

在一些实施例中,合并候选的列表包括以下至少一项:仿射合并候选、仿射自适应运动矢量预测(AMVP)候选、基于子块的时间运动矢量预测(SbTMVP)合并候选、几何划分模式(GPM)合并候选、三角划分模式(TPM)合并候选和模板匹配(TM)-细化合并候选、解码器端运动矢量细化(DMVR)-细化合并候选、或多遍解码器侧运动矢量细化(Multi_pass_DMVR)-细化合并候选。例如,重排序方案可以应用于上述类型的候选中的一个或多个。

在一些实施例中,在对合并候选列表进行重排序时,可以从合并候选列表中选择要重排序的合并候选。然后,可以对所选择的合并候选进行重排序。例如,它可以取决于运动候选的类别是否对运动候选进行重排序和/或如何对运动候选重排序。

在一些实施例中,要重排序的合并候选包括以下至少一项:相邻空间和时间合并候选,相邻空间、空间时间运动矢量预测(STMVP)和时间合并候选,相邻空间、STMVP、时间和非相邻空间合并候选,相邻空间、STMVP、时间、非相邻空间和基于历史的运动矢量预测(HMVP)合并候选,相邻空间、STMVP、时间、非相邻空间、HMVP和成对平均合并候选,相邻空间、时间、HMVP及成对平均合并候选,相邻空间、时间和HMVP合并候选,或相邻空间合并候选。

例如,只有相邻的空间和时间运动候选可以被重排序。在一个示例中,只有相邻的空间、STMVP和时间运动候选可以被重排序。在一个示例中,只有相邻的空间、STMVP、时间和非相邻的空间运动候选可以被重排序。在一个示例中,只有相邻的空间、STMVP、时间、非相邻的空间和HMVP运动候选可以被重排序。在一个示例中,只有相邻的空间、STMVP、时间、非相邻的空间的HMVP和成对平均运动候选可以被重排序。在一个示例中,只有相邻的空间、时间、HMVP和成对平均运动候选可以被重排序。在一个示例中,只有相邻的空间、时间和HMVP运动候选可以被重排序。在一个示例中,只有相邻的空间运动候选可以被重排序。

在一些实施例中,要重排序的合并候选排除以下至少一项:基于单向预测子块的合并候选、基于子块的时间运动矢量预测(SbTMVP)合并候选、继承的仿射合并候选、构建的仿射合并候选或零填充仿射合并候选。

例如,基于单向预测子块的运动候选不被重排序。在一个示例中,SbTMVP候选不被重排序。在一个示例中,不对继承的仿射运动候选进行重排序。在一个示例中,所构建的仿射运动候选不被重排序。在一个示例中,不对零填充仿射运动候选进行重排序。

在一些实施例中,要排序的合并候选包括列表中的前N个合并候选,其中N表示正整数。例如,只有前N个运动候选可以被重排序。在一个示例中,N被设置为等于5。

在一些实施例中,除了所选择的合并候选之外的合并候选的顺序保留在列表中。在一个示例中,对于不被重排序的候选,它们将根据初始顺序排列在合并候选列表中。因此,可以以不同的方式处理未包括在重排序过程中的运动候选。

在一些实施例中,除了所选择的合并候选之外的合并候选被排列在列表中的所选择的合并候选之后或之前。在一个示例中,未被重排序的候选可以被置于待重排序的候选之后。在一个示例中,未被重排序的候选可以被置于待重排序的候选之前。

在一些实施例中,合并候选列表可以被分为一个或多个合并候选子组。一个或多个合并候选子组中的至少一个子组可以被重排序。在一个示例中,合并候选可以被分为子组。因此,是否对运动候选重排序和/或如何对运动候选进行重排序可以取决于运动候选的子组。这样,不同的子组可以被独立处理,这在视频处理中更有效或更高效。

在一些实施例中,一个或多个合并候选子组中的至少一个子组包括一个或多个合并候选子组中的第一个子组。在一个示例中,只有第一个子组可以被重排序。

在一些实施例中,一个或多个合并候选子组中的至少一个子组排除一个或多个合并候选子组中的最后的子组。在一个示例中,最后的子组无法重排序。在另一个例子中,如果最后的子组也是第一个子组,则可以对其进行重排序。在这种情况下,只有一个子组,并且只有一个子组被重排序。

在一些实施例中,一个或多个合并候选子组包括多个合并候选子组。要排序的一个或多个合并候选子组中的至少一个子组至少包括第一合并候选子组和不同的第二合并候选子组。例如,合并候选列表被分成一个以上的子组,其中至少两个子组(例如,第一子组和第二子组)被重排序。

在一些实施例中,第一合并候选子组和第二合并候选子组可以被单独地重排序。因此,不同的子组可以被单独地重排序。在一些实施例中,可以在不考虑第二合并候选子组的情况下对第一合并候选子组进行重排序。例如,不同子组中的两个候选可以不会被比较和/或重排序。

在一些实施例中,第一合并候选子组和第二合并候选子组可以被单独地重排序,同时保持第一子组的顺序和第二子组的顺序。例如,如果第一子组在第二子组之前,则在重排序之后,第一子组中的第一候选应该放在第二子组中的第二候选之前。

在一些实施例中,视频的码流可以包括是否将合并候选列表的重排序应用于目标块的指示(称为“第一指示”)。以这种方式,关于是否和/或如何重排序合并候选列表的信息可以被编解码到视频的码流中,使得编码器和解码器可以在视频处理中执行同步操作。

在一些实施例中,第一指示可以包括在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、序列头、图片头、条带头、编解码树单元(CTU)、编解码单元(CU)、变换单元(TU)或预测单元(PU)中的至少一个中通过信号传输的消息。因此,是否应用自适应合并候选列表重排序可以取决于在VPS/SPS/PPS/序列头/图片头/条带头/CTU/CU/PU中通过信号传输的消息。

它也可以是基于信号的区域。在一些实施例中,第一指示基于信号传输与视频的区域相关联,该区域包括目标块。例如,该区域可以包括视频的编解码树单元(CTU)或编解码单元(CU)的一个或多个组。在该示例中,第一指示可以包括是否对一个或多个组应用合并候选列表的重排序的指示(称为“第二指示”)。在一个示例中,可以将图片均匀地或不均匀地分为CTU/CU的组,并且针对每个组编解码一个标志以指示是否应用合并候选列表的重排序。

尽管上面的描述可能集中在HEVC和/或VVC标准上,但是应当理解,这里描述的概念可以应用于其他编解码标准或视频编解码器。

可以根据以下条款来描述本公开的实施方式,这些条款的特征可以以任何合理的方式进行组合。

条款1.一种用于视频处理的方法,包括:在基于子块的合并模式中针对视频的目标块构建合并候选列表;对针对目标块的合并候选列表重排序;以及基于重排序的合并候选列表在目标块和视频的码流之间执行转换。

条款2.根据条款1的方法,其中按照第一重排序方案对合并候选列表重排序,第一重排序方案不同于第二重排序方案,第二重排序方案用于在不同于基于子块的合并模式的合并模式中针对目标块的不同合并候选列表。

条款3.根据条款1或条款2的方法,其中对合并候选列表重排序包括:确定与合并候选列表相关联的多个成本,多个成本中的成本与列表中的合并候选相关联并且基于用于目标块的多个目标子模板和多个参考子模板之间的多个失真度量被确定,多个参考子模板是针对合并候选确定的并且与多个目标子模板相对应;以及基于多个成本对合并候选列表重排序。

条款4.根据条款3的方法,其中对合并候选列表重排序还包括:通过分隔用于目标块的模板来构建多个目标子模板。

条款5.根据条款4的方法,其中多个目标子模板中的每一个都具有个体运动信息。

条款6.根据条款3-5中任一项的方法,其中多个失真度量包括绝对差之和SAD、绝对变换差之和SATD或平方差之和SSD中的至少一个。

条款7.根据条款3-6中任一项的方法,其中确定多个成本包括:针对合并候选,基于多个目标子模板和多个参考模板之间的多个失真度量来确定多个参考成本,多个参考成本中的参考成本是基于多个目标子模板中的目标子模板和多个参考子模板中的对应参考子模板之间的多个失真度量中的失真度量来确定的;以及将多个成本中的成本确定为多个参考成本的总和。

条款8.根据条款7的方法,其中确定多个参考成本包括:针对多个目标子模板中的目标子模板,构建多个参考子模板中对应的参考子模板;以及基于在多个失真度量中目标子模板和对应参考子模板之间的失真度量来确定多个参考成本中的参考成本。

条款9.根据条款8的方法,其中构建多个参考子模板中的对应参考子模板包括:使用目标块的第一行或第一列中的子块的运动信息来构建对应的参考子模板。

条款10.根据条款9的方法,其中构建对应的参考子模板包括:从子块的运动信息中导出对应的参考个子模板的运动信息;以及基于所导出的运动信息来构建对应的参考子模板的参考样本,参考样本与子块相邻。

条款11.根据条款8的方法,其中构建多个参考子模板中的相应参考子模板包括:使用目标块中的子块的运动信息之外的运动信息来构建相应的参考子模板。

条款12.根据条款11的方法,其中构建相应的参考子模板包括:根据目标块的仿射模型导出相应参考子模板的运动信息;以及基于导出的运动信息来构建对应的参考子模板的参考样本。

条款13.根据条款12的方法,其中导出对应的参考子模板的运动信息包括:根据目标块的仿射模型导出对应的参考子模板的运动矢量;以及从对应的参考子模板的运动矢量导出对应的参考个子模板的运动信息。

条款14.根据条款13的方法,其中导出对应参考子模板的运动矢量包括:根据目标块的仿射模型,计算包含目标子模板的子块的中心样本的运动矢量,作为对应参考子模版的运动矢量。

条款15.根据条款13的方法,其中导出对应参考子模板的运动信息包括:根据目标块的仿射模型,计算目标子模板的中心样本的运动矢量,作为对应参考子模版的运动矢量。

条款16.根据条款14或条款15的方法,其中仿射模型包括4参数仿射运动模型,并且中心样本的运动矢量计算为:

其中中心样本的坐标由(x,y)表示,(mv

条款17.根据条款14或条款15的方法,其中仿射模型包括6参数仿射运动模型,并且中心样本的运动矢量计算为:

/>

其中中心样本的坐标由(x,y)表示,(mv

条款18.根据条款1-17中任一项的方法,其中合并候选列表包括以下至少一项:仿射合并候选、仿射自适应运动矢量预测(AMVP)候选、基于子块的时间运动矢量预测(SbTMVP)合并候选、几何划分模式(GPM)合并候选、三角划分模式(TPM)合并候选、模板匹配(TM)-细化合并候选、解码器端运动矢量细化(DMVR)-细化合并候选,或多遍解码器侧运动矢量细化(Multi_pass_DMVR)-细化结合候选。

条款19.根据条款1-18中任一项的方法,其中对合并候选列表重排序包括:从合并候选列表中选择要重排序的合并候选;以及对所选择的合并候选重排序。

条款20.根据条款19的方法,其中要重排序的合并候选包括以下至少一项:相邻空间和时间合并候选,相邻空间、空间时间运动矢量预测(STMVP)和时间合并候选,相邻空间、STMVP、时间和非相邻空间合并候选,相邻空间、STMVP、时间、非相邻空间和基于历史的运动矢量预测(HMVP)合并候选,相邻空间、STMVP、时间、非相邻空间、HMVP和成对平均合并候选,相邻空间、时间、HMVP及成对平均合并候选,相邻空间、时间和HMVP合并候选,或相邻空间合并候选。

条款21.根据条款19的方法,其中要重排序的合并候选排除以下至少一项:基于单向预测子块的合并候选、基于子块的时间运动矢量预测(SbTMVP)合并候选、继承仿射合并候选、构建仿射合并候选或零填充仿射合并候选。

条款22.根据条款19-21中任一项的方法,其中要重排序的合并候选包括列表中的前N个合并候选,N是正整数。

条款23.根据条款22的方法,其中N为5。

条款24.根据条款19-23中任一项的方法,其中除所选合并候选之外的合并候选的顺序被保留在列表中。

条款25.根据条款19-23中任一项的方法,其中除所选合并候选之外的合并候选被排列在列表中选定的合并候选之后或之前。

条款26.根据条款1-18中任一项的方法,其中对合并候选列表重排序包括:将合并候选列表分为一个或多个合并候选子组;以及重排序一个或多个合并候选子组中的至少一个子组。

条款27.根据条款26的方法,其中一个或多个合并候选子组中的至少一个子组包括一个或者多个合并候选子组的第一个子组。

条款28.根据条款26的方法,其中一个或多个合并候选子组中的至少一个子组排除一个或多个合并候选子组中的最后的子组。

条款29.根据条款26的方法,其中一个或多个合并候选子组包括多个合并候选子组,并且要重排序的至少一个合并候选子组至少包括第一合并候选子组和不同的第二合并候选子组。

条款30.根据条款29的方法,其中重排序一个或多个合并候选子组中的至少一个子组包括:单独对第一合并候选子组和第二合并候选子组重排序。

条款31.根据条款30的方法,其中单独对第一合并候选子组和第二合并候选子组重排序包括:重排序第一合并候选子组,而不考虑第二合并候选子组。

条款32.根据条款30或条款31的方法,其中第一合并候选子组和第二合并候选子组被分别重排序,同时保持第一和第二子组的顺序。

条款33.根据条款1-32中任一项的方法,其中视频的码流包括关于合并候选列表的重排序是否被应用于目标块的第一指示。

条款34.根据条款33的方法,其中第一指示包括在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、序列头、图片头、条带头、编解码树单元(CTU)、编解码单元(CU)、变换单元(TU)或预测单元(PU)中的至少一个中通过信号传输的消息。

条款35.根据条款33的方法,其中第一指示基于信号传输与视频的区域相关联,区域包括目标块。

条款36.根据条款35的方法,其中区域包括视频的编解码树单元(CTU)或编解码单元(CU)的一个或多个组,并且第一指示包括关于合并候选列表的重排序是否被应用于一个或多个组的第二指示。

条款37.根据条款1-36中任一项的方法,其中转换包括将视频编码到码流中或从码流解码视频。

条款38.一种电子设备,包括:处理单元;以及存储器,存储器耦合到处理单元并且具有存储在其上的指令,指令在由处理单元执行时使电子设备执行根据条款1-37中任一项的方法。

条款39.一种非瞬态计算机可读存储介质,存储指令,指令使处理器执行根据条款1-37中任一项的方法。

条款40.一种非瞬态计算机可读记录介质,存储通过根据条款1-37中任一项的方法生成的视频的码流,其中该方法由视频处理装置执行。

条款41.一种用于存储视频的码流的方法,包括:在基于子块的合并模式中针对视频的目标块构建合并候选列表;对针对目标块的合并候选列表重排序;基于重排序的合并候选列表来执行目标块和码流之间的转换;基于转换生成码流;以及将码流存储在非瞬态计算机可读记录介质中。

示例设备

图42示出了可以在其中实现本公开的各种实施例的计算设备4200的框图。计算设备4200可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。

应当理解的是,图42中示出的计算设备4200仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。

如图42所示,计算设备4200包括通用计算设备4200。计算设备4200可以至少包括一个或多个处理器或处理单元4210、存储器4220、存储单元4230、一个或多个通信单元4240、一个或多个输入设备4250以及一个或多个输出设备4260。

在一些实施例中,计算设备4200可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备4200可以支持到用户的任何类型的接口(诸如"可穿戴"电路装置等)。

处理单元4210可以是物理处理器或虚拟处理器,并且可以基于存储在存储器4220中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备4200的并行处理能力。处理单元4210也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。

计算设备4200通常包括各种计算机存储介质。这样的介质可以是由计算设备4200可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器4220可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元4230可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备4200中被访问的介质。

计算设备4200还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图42中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。

通信单元4240经由通信介质与另一计算设备通信。另外,计算设备4200中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备4200可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。

输入设备4250可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备4260可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元4240,计算设备4200还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备4200还可以与一个或多个使用户能够与计算设备4200交互的设备通信,或任何使计算设备4200能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。

在一些实施例中,计算设备4200的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。

在本公开的实施例中,计算设备4200可以被用于实现视频编码/解码。存储器4220可以包括具有一个或多个程序指令的一个或多个视频编解码模块4225。这些模块能够由处理单元4210访问和执行,以执行本文描述的各种实施例的功能。

在执行视频编码的示例实施例中,输入设备4250可以接收视频数据作为待编码的输入4270。视频数据可以由例如视频编码模块4225处理,以生成经编码的码流。经编码的码流可以经由输出设备4260作为输出4280被提供。

在执行视频解码的示例实施例中,输入设备4250可以接收经编码的码流作为输入4270。经编码的码流可以由例如视频编码模块4225处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备4260作为输出4280被提供。

虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。

权利要求书(按照条约第19条的修改)

1.一种用于视频处理的方法,包括:

在基于子块的合并模式中针对视频的目标块构建合并候选列表;

对针对所述目标块的所述合并候选列表重排序;以及

基于重排序的所述合并候选列表在所述目标块和所述视频的码流之间执行转换。

2.根据权利要求1所述的方法,其中所述合并候选列表中的零候选不被重排序。

3.根据权利要求1或2所述的方法,其中所述合并候选列表以第一重排序方案被重排序,所述第一重排序方案不同于第二重排序方案,所述第二重排序方案用于不同于所述基于子块的合并模式的合并模式中的针对所述目标块的不同合并候选列表。

4.根据权利要求1至3中任一项所述的方法,其中对所述合并候选列表重排序包括:

确定与所述合并候选列表相关联的多个成本,所述多个成本中的成本与所述列表中的合并候选相关联并且基于用于所述目标块的多个目标子模板和多个参考子模板之间的多个失真度量被确定,所述多个参考子模板针对所述合并候选被确定并且对应于所述多个目标子模板;以及

基于所述多个成本对所述合并候选列表重排序。

5.根据权利要求4所述的方法,其中对所述合并候选列表重排序还包括:

通过分隔用于所述目标块的模板来构建所述多个目标子模板。

6.根据权利要求5所述的方法,其中所述多个目标子模板中的每个目标子模板具有个体运动信息。

7.根据权利要求4至6中任一项所述的方法,其中所述多个失真度量包括绝对差之和(SAD)、绝对变换差之和(SATD)或平方差之和(SSD)中的至少一项。

8.根据权利要求4至7中任一项所述的方法,其中确定所述多个成本包括:

针对所述合并候选,

基于所述多个目标子模板和所述多个参考子模板之间的所述多个失真度量来确定多个参考成本,所述多个参考成本中的参考成本基于所述多个目标子模板中的目标子模板和所述多个参考子模板中的对应参考子模板之间的所述多个失真度量中的失真度量被确定;以及

将所述多个成本中的所述成本确定为所述多个参考成本的总和。

9.根据权利要求8所述的方法,其中确定所述多个参考成本包括:

针对所述多个目标子模板中的所述目标子模板,

构建所述多个参考子模板中的所述对应参考子模板;以及

基于所述多个失真度量中所述目标子模板与所述对应参考子模板之间的所述失真度量来确定所述多个参考成本中的所述参考成本。

10.根据权利要求9所述的方法,其中构建所述多个参考子模板中的所述对应参考子模板包括:

使用所述目标块的所述第一行或所述第一列中的子块的运动信息来构建所述对相应参考子模板。

11.根据权利要求10所述的方法,其中构建所述对应参考子模板包括:

从所述子块的所述运动信息中导出所述对应参考子模板的运动信息;以及

基于导出的所述运动信息构建所述对应参考子模板的参考样本,所述参考样本与所述子块相邻。

12.根据权利要求9所述的方法,其中构建所述多个参考子模板中的所述对应参考子模板包括:

使用所述目标块中的子块的运动信息之外的运动信息来构建所述对应参考子模板。

13.根据权利要求12所述的方法,其中构建所述对应参考子模板包括:

根据所述目标块的仿射模型导出所述对应参考子模板的运动信息;以及

基于所导出的运动信息来构建所述对应参考子模板的参考样本。

14.根据权利要求13所述的方法,其中导出所述对应参考子模板的所述运动信息包括:

根据所述目标块的所述仿射模型导出所述对应参考子模板的运动矢量;以及

从所述对应参考子模板的所述运动矢量中导出所述对应参考个子模板的所述运动信息。

15.根据权利要求14所述的方法,其中导出所述对应参考子模板的所述运动矢量包括:

根据所述目标块的所述仿射模型,计算包含所述目标子模板的子块的中心样本的运动矢量,作为所述对应参考子模板的所述运动矢量。

16.根据权利要求14所述的方法,其中导出所述对应参考子模板的所述运动信息包括:

根据所述目标块的所述仿射模型,计算所述目标子模板的中心样本的运动矢量,作为所述对应参考子模板的所述运动矢量。

17.根据权利要求15或权利要求16所述的方法,其中所述仿射模型包括4参数仿射运动模型,并且所述中心样本的所述运动矢量被计算为:

其中所述中心样本的坐标由(x,y)表示,(mv

18.根据权利要求15或权利要求16所述的方法,其中所述仿射模型包括6参数仿射运动模型,并且所述中心样本的所述运动矢量被计算为:

其中所述中心样本的坐标由(x,y)表示,(mv

19.根据权利要求1至18中任一项所述的方法,其中所述合并候选列表包括以下至少一项:

仿射合并候选,

仿射自适应运动矢量预测(AMVP)候选,

基于子块的时间运动矢量预测(SbTMVP)合并候选,

几何划分模式(GPM)合并候选,

三角划分模式(TPM)合并候选,

模板匹配(TM)-细化合并候选,

解码器端运动矢量细化(DMVR)-细化合并候选,或者

多遍解码器侧运动矢量细化(Multi_pass_DMVR)-细化合并候选。

20.根据权利要求1至19中任一项所述的方法,其中对所述合并候选列表重排序包括:

从所述合并候选列表中选择要被重排序的合并候选;以及

对选择的所述合并候选重排序。

21.根据权利要求20所述的方法,其中要被重排序的所述合并候选包括以下至少一项:

相邻空间和时间合并候选,

相邻空间、空间时间运动矢量预测(STMVP)和时间合并候选,

相邻空间、STMVP、时间和非相邻空间合并候选,

相邻空间、STMVP、时间、非相邻空间和基于历史的运动矢量预测(HMVP)合并候选,

相邻空间、STMVP、时间、非相邻空间、HMVP和成对平均合并候选,

相邻空间、时间、HMVP和成对平均合并候选,

相邻空间、时间和HMVP合并候选,或者

相邻空间合并候选。

22.根据权利要求20所述的方法,其中要被重排序的所述合并候选排除以下至少一项:

基于单向预测子块的合并候选,

基于子块的时间运动矢量预测(SbTMVP)合并候选,

继承的仿射合并候选,

构建的仿射合并候选,或者

零填充仿射合并候选。

23.根据权利要求20至22中任一项所述的方法,其中要被重排序的所述合并候选包括所述列表中的前N个合并候选,N是正整数。

24.根据权利要求23所述的方法,其中N为5。

25.根据权利要求20至24中任一项所述的方法,其中除了选择的所述合并候选之外的合并候选的顺序被保留在所述列表中。

26.根据权利要求20至24中任一项所述的方法,其中除了选择的所述合并候选之外的合并候选在所述列表中被排列在选择的所述合并候选之后或之前。

27.根据权利要求1至19中任一项所述的方法,其中对所述合并候选列表重排序包括:

将所述合并候选列表分为一个或多个合并候选子组;以及

对所述一个或多个合并候选子组中的至少一个子组重排序。

28.根据权利要求27所述的方法,其中所述一个或多个合并候选子组中的所述至少一个子组包括所述一个或多个合并候选子组中的第一个子组。

29.根据权利要求27所述的方法,其中所述一个或多个合并候选子组中的所述至少一个子组排除所述一个或多个合并候选子组中的最后的子组。

30.根据权利要求27所述的方法,其中

所述一个或多个合并候选子组包括多个合并候选子组,并且

要被重排序的所述一个或多个合并候选子组中的所述至少一个子组至少包括第一合并候选子组和不同的第二合并候选子组。

31.根据权利要求30所述的方法,其中对所述一个或多个合并候选子组中的所述至少一个子组重排序包括:

单独对所述第一合并候选子组和所述第二合并候选子组重排序。

32.根据权利要求31所述的方法,其中单独对所述第一合并候选子组和所述第二合并候选子组重排序包括:

在不考虑所述第二合并候选子组的情况下,对所述第一合并候选子组重排序。

33.根据权利要求31或权利要求32所述的方法,其中所述第一合并候选子组和所述第二合并候选子组被单独地重排序,同时保持所述第一子组和所述第二子组的顺序。

34.根据权利要求1至33中任一项所述的方法,其中所述视频的所述码流包括关于所述合并候选列表的所述重排序是否被应用于所述目标块的第一指示。

35.根据权利要求34所述的方法,其中所述第一指示包括在以下至少一项中通过信号传输的消息:视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、序列头、图片头、条带头、编解码树单元(CTU)、编解码单元(CU)、变换单元(TU)或预测单元(PU)。

36.根据权利要求34所述的方法,其中所述第一指示基于信号传输与所述视频的区域相关联,所述区域包括所述目标块。

37.根据权利要求36所述的方法,其中

所述区域包括所述视频的编解码树单元(CTU)或编解码单元(CU)的一个或多个组,并且

所述第一指示包括关于合并候选列表的重排序是否被应用于所述一个或多个组的第二指示。

38.根据权利要求1至37中任一项所述的方法,其中所述转换包括将所述视频编码到所述码流中或从所述码流中解码所述视频。

39.一种电子设备,包括:

处理单元;以及

存储器,其耦合到所述处理单元并且具有存储在其上的指令,所述指令在由所述处理单元执行时使所述电子设备执行根据权利要求1至37中任一项所述的方法。

40.一种非瞬态计算机可读存储介质,存储指令,所述指令使处理器执行根据权利要求1至38中任一项所述的方法。

41.一种非瞬态计算机可读记录介质,存储由根据权利要求1至38中任一项所述的方法生成的视频的码流,其中所述方法由视频处理装置执行。

42.一种用于存储视频的码流的方法,包括:

在基于子块的合并模式中针对所述视频的目标块构建合并候选列表;

对针对所述目标块的所述合并候选列表重排序;

基于重排序的所述合并候选列表在所述目标块和所述码流之间执行转换;

基于所述转换生成所述码流;以及

将所述码流存储在非瞬态计算机可读记录介质中。

技术分类

06120116339412