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

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

文献发布时间:2024-04-18 19:59:31


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

技术领域

本公开的实施例总体上涉及视频编解码技术,并且更具体地涉及编解码数据的细化。

背景技术

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

发明内容

在第一方面,提出了一种用于视频处理的方法。该方法包括:在视频的当前视频块与视频的比特流之间的转换期间,基于与视频的两个目标块相关联的至少两个误差度量来确定成本,成本指示两个目标块之间的失真度;基于成本和两个目标块,细化当前视频块的编解码数据;以及基于经细化的编解码数据,执行转换。

为了确定用于细化编解码数据的两个块之间的成本,根据本公开的第一方面的方法利用至少两个不同的误差度量来测量两个块之间的失真。以此方式,可以以若干不同的方式确定误差,并且因此成本可以更准确地测量失真。与仅使用一个误差度量来确定成本的常规解决方案相比,根据本公开的第一方面的方法可以有利地提高编解码质量和编解码效率。

在第二方面,提出了一种用于处理视频数据的装置。该装置包括处理器和在其上具有指令的非暂态存储器,其中指令在由处理器执行时使处理器执行根据本公开的第一方面的方法。

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

在第四方面中,提出了一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储视频的由视频处理装置执行的方法生成的比特流,其中该方法包括:基于与视频的两个目标块相关联的至少两个误差度量来确定成本,成本指示两个目标块之间的失真度;基于成本和两个目标块,细化视频的当前视频块的编解码数据;以及基于经细化的编解码数据,生成比特流。

在第五方面,提出了一种用于存储视频比特流的方法。该方法包括:基于与视频的两个目标块相关联的至少两个误差度量来确定成本,成本指示两个目标块之间的失真度;基于成本和两个目标块,细化视频的当前视频块的编解码数据;基于经细化的编解码数据,生成比特流;以及将比特流存储在非暂态计算机可读记录介质中。

提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。

附图说明

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

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

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

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

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

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

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

图7是示出用于时间合并候选C

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

图9示出了在一搜索轮中的虚拟块的示意图;

图10是MMVD搜索点的示意图;

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

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

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

图14示出了使用几何划分模式的弯曲权重w

图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示出了解码侧运动矢量细化的示意图;

图34A示出了当前块模板的示意图;

图34B示出了基于参考子块的模板;

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

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

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

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

图39示出了针对利用OBMC的块的模板和模板的参考样本的示意图;

图40示出了确定假设重建边界的成本的示意图;

图41示出了所提出的帧内块解码过程的示意图;

图42示出了基于宽度3像素的模板的HoG计算的示意图;

图43示出了由两个HoG模式和平面的加权平均的预测混合的示意图;

图44示出了使用的帧内模板匹配搜索区域的示意图;以及

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

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

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

具体实施方式

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

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

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

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

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

示例环境

图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可以例如基于误差结果来选择多种编解码模式(帧内编码或帧间编码)中的一种编解码模式,并且将所产生的帧内编解码块或帧间编解码块提供给残差生成单元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.概述

本公开涉及视频编解码技术。具体而言,是关于视频编解码中的帧内/IBC/帧间预测及相关技术。可以适用于现有视频编解码标准,如HEVC、VVC等等。也可以适用于未来的视频编解码标准或视频编解码器。

2.背景

视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4 Visual,两个组织联合制定了H.262/MPEG-2Video和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用了时间预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合创立了联合视频探索团队(JVET)。JVET会议每季度同时举行一次,新的视频编解码标准在2018年4月的JVET会议上被正式命名为多功能视频编解码(VVC),当时发布了VVC测试模型(VTM)的第一个版本。VVC工作草案和测试模型VTM在每次会议后都被更新。VVC项目在2020年7月的会议上实现了技术完成(FDIS)。

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的示意图600中的虚线所示,获得了时间合并候选的缩放运动矢量,该矢量是使用POC距离tb和td从同位的CU的运动矢量缩放而来的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为同位的图片的参考图片与同位的图片之间的POC差。时间合并候选的参考图片索引被设置为等于零。

图7是示出用于时间合并候选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,直到遇到最大合并候选数目。

2.2新的合并候选

·非相邻合并候选导出

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

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

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

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

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

newWidth=i×2×gridX+currWidth

newHeight=i×2×gridY+currHeight。

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

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

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

在生成虚拟块之后,块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.3具有MVD的合并模式(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相对于起点的方向。方向索引可以表示四个方向,如表1所示。注意,MVD符号的含义可以根据起始MV的信息而变化。当起始MV是单向预测MV或双向预测MV时,其中两个列表都指向当前图片的同一侧(即两个参考的POC都大于当前图片的POC或者都小于当前图片的POC),表1中的符号指定了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所示)。图12示出了按相同角度分组的GPM分割的示例。分割线的位置在数学上是从特定划分的角度和偏移参数导出的。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。权重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均匀分割为两个三角划分。图15示出了基于三角形划分的帧间预测的示意图。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中的扩展合并预测过程构建的合并候选列表中导出。将n表示为三角单向预测候选列表1610中的单向预测运动的索引。第n个扩展合并候选的LX运动矢量,X等于n的奇偶性,被用作三角划分模式的第n个单向预测运动矢量。图16示出了用于三角形划分模式的单向预测MV选择的示意图。这些运动矢量在图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所示。图17示出了混合过程中使用的权重的示意图

2.6.3运动场存储

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

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

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

2.7基于模板匹配的自适应合并候选排序

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

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

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

2.8局部亮度补偿(LIC)

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

P(x,y)=α·P

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

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

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

在检查了继承的仿射合并候选和构建的仿射合并候选之后,如果列表仍然不满,则将零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。本文采用了先前提出的模板匹配,并进行了两处修改:基于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)

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

p

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

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

2.14多假设帧间预测

在多假设帧间预测模式中,除了传统的单/双向预测信号之外,还通过信号传输一个或多个附加预测信号。所得到的总体预测信号是通过逐样本加权叠加来获得的。利用单/双向预测信号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与其他编解码工具的交互

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

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

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

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

о左边CTU的邻近块

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

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

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

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

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

2.14.2.2MMVD

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

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

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

о一个MMVD列表构建过程

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

2.14.2.3子块合并模式

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

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

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

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

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

2.14.2.4非仿射AMVP模式

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

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

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

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

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

2.14.2.5仿射AMVP模式

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

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

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

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

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

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

2.14.2.6BIO

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

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

2.14.2.7组合帧内/帧间

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

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

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

2.14.2.8三角模式

多假设帧间预测不能与一个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解码器侧运动矢量细化(DMVR)

为了提高合并模式MV的精度,在VVC中应用了基于双边匹配(BM)的解码器侧运动矢量细化。在双向预测操作中,在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化的MV。BM方法计算参考图片列表L0和列表L1中两个候选块之间的失真。图33示出了解码侧运动矢量细化的示意图。如图33所示,基于初始MV周围的每个MV候选,计算块3310和3312之间的SAD。具有最低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.20GPM与模板匹配的结合

提出了将模板匹配应用于GPM。当CU以GPM被编解码时,针对两个几何划分的两个运动被从合并候选列表中选择,合并候选列表以VVC标准中相同的方法导出。针对每个几何划分的每个运动可以决定是否使用TM来被细化。当TM被选择,模板使用左侧和上方邻近样本来被构建。接着,运动通过寻找当前模板与参考区域之间的最小差异来被细化,参考区域使用与具有禁用的半像素插值滤波的合并模式的相同搜索模式。细化的运动被用于针对几何划分执行运动不成并且被存储在运动场中。

针对语法设计,当CU以GPM被编解码时,两个附加的标志被信号传输以指示运动是否分别针对两个几何划分被细化。接着,几何划分模式和两个合并索引被进一步通过信号传输。

2.21模板匹配对仿射、CIIP、GPM合并模式和边界子块的扩展

·利用模板匹配细化的CIIP合并模式

模板匹配细化被应用于CIIP合并模式的底层帧间预测部分。当编解码单元(CU)启用CIIP时,会发出信号指示是否为此CU启用模板匹配细化。当CIIP和模板匹配细化两者被启用时,CIIP合并模式中使用的合并候选的MV通过使用与EE2在运动补偿和帧间组合之前的模板匹配相同的模板匹配细化过程来细化。

·利用模板匹配细化的GPM合并模式

模板匹配细化被应用于几何划分合并(GPM)模式。当GPM模式针对CU被启用时,标志(tm_merge_flag)被信号传输以控制是否对该CU应用模板匹配细化。如果细化被使用,则通过使用与运动补偿前EE2的模板匹配相同的模板匹配细化过程来细化每个GPM划分的选定单向MV。

·利用模板匹配细化的边界子块

模板匹配细化被应用于CU的边界4x4子块,当使用常规合并模式对其进行编解码时,tm_merge_flag被启用,并且合并候选运动是单向的。该扩展是在CU级别的模板匹配细化(EE2,测试-3.3)之后应用的附加细化步骤,其中仅针对CU中顶部或左侧边界的4x4子块进一步细化块运动。在该过程中,由于CU是单向的(并且它的子块也是如此),因此每个前述边界子块的MV被转换为双向预测MV,利用类似于EE2的模板匹配中使用的单向到双向的转换,然后是被应用于每个边界子块的模板匹配细化。

·利用模板匹配细化的仿射合并模式

模板匹配细化被应用于仿射合并模式(仿射TM),并且tm_merge_flag被信号传输以区分是否应用模板匹配。在该模式中,模板匹配搜索围绕由合并索引指示的仿射合并候选的初始给定CPMV完成。当前块模板与应用于平移运动模型的常规TM相同,但是参考块模板包括多个4x4子块,这些子块分别由CU边界处的邻近子块(即,如图34A和34B所示的A0,A1,…,和L0,L1)的CPMV导出的MV所指向。图34A示出了当前块模板的示意图,并且图34B示出了基于参考子块的模板。仿射TM的搜索过程从CPMV0开始,同时保持其他(多个)CPMV恒定,并且搜索是朝着水平和垂直方向进行的,并且只有当零矢量不是从水平/垂直搜索中找到的最佳差异矢量时,才会进行对角线搜索。然后,仿射TM对CPMV1和CPMV2重复相同的搜索过程,如果使用了6参数模型。基于细化的CPMV,如果零矢量不是上一次迭代的最佳差异矢量,并且搜索过程已经迭代了不到3次,则整个搜索过程从CPMV0重新开始。

2.22自适应合并候选列表

在下文中,模板是与当前块相邻或不相邻的重建样本的集合。根据当前块的相同运动信息导出模板的参考样本。例如,模板的参考样本是取决于运动信息的模板的映射。在这种情况下,模板的参考样本由运动信息的参考索引所指示的参考图片中的运动信息的运动矢量来定位。图35示出了模板和模板的参考样本的示例的示意图。图35示出了一个示例,其中RT表示模板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.23自适应运动候选列表

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运动来生成新的单向预测合并候选。

2.24自适应运动候选列表

对于子块运动预测,如果子块大小是Wsub*Hsub,上方模板的高度是Ht,左模板的宽度是Wt,则上方模板可以被视为具有Wsub*Ht大小的若干子模板的构成,左模板可以被视为具有Wt*Hsub大小的若干个子模板的构成。在以上述类似的方式导出每个子模板的参考样本之后,导出该模板的参考样本。两个示例如图37和图38所示。图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所示。

d.在一个示例中,为了导出子模板的参考样本,可以在不参考当前块中的子块的运动信息的情况下导出该子模板的运动信息。示例如图38所示。

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

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

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

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

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

(v)对于(iii)和(iv),当前块的左上角、右上角和左下角的坐标是(0,0)、(W,0)和(0,H),当前块的左上、右上和左下角的运动向量是(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模式和其他合并模式,重排序方法可以不同。

2.25自适应运动候选列表

需要注意的是,以下提及的术语不限于现有标准中定义的特定术语。编解码工具的任何变化也适用。例如,术语“GPM”用于表示导出两组运动信息并使用导出的信息和划分样式来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。

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

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

1.用于双向预测的模板或子模板的参考样本(RT)是通过对参考list0中的模板或子模板的参考样本(RT

RT(x,y)=(RT

2.用于双向预测的模板或子模板的参考样本(RT)是通过对参考list0中的模板或子模板的参考样本(RT

a.一个示例如下:

RT(x,y)=((2

b.权重可以由BCW索引确定,也可以被即时导出或预定义或者由加权预测中使用的权重来确定。

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

i.在一个示例中,BCW索引等于0,w被设置为-2。

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

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

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

v.在一个示例中,BCW索引等于4,w被设置为-10。

3.提出了利用LIC方法导出模板的参考样本。

a.在一个示例中,左侧模板和上方模板的LIC参数与当前块的LIC参数相同。

b.在一个示例中,左侧模板的LIC参数被导出为当前块的LIC参数,其使用其原始运动矢量加上运动矢量偏移量(-Wt,0)作为当前块的运动矢量。

c.在一个示例中,上方模板的LIC参数被导出为当前块的LIC参数,其使用其原始运动矢量加上运动矢量偏移量(0,-Ht)作为当前块的运动矢量。

d.备选地或附加地,如果合并候选的局部照明补偿(LIC)标志为真,则可以应用上述方法

4.提出了利用OBMC方法导出模板或子模板的参考样本。在下面的讨论中,“模板”可能指模板或子模板。

a.在一个示例中,为了导出上方模板的参考样本,使用当前块的第一行中的子块及其上方相邻的邻近子块的运动信息。所有子模板的参考样本构成上方模板的参考样本。一个示例在图39中示出。

b.在一个示例中,为了导出左侧模板的参考样本,使用当前块第一列中的子块及其左侧相邻的邻近子块的运动信息。并且所有子模板的参考样本构成左测模板的参考样本。一个示例如图39所示。

c.在一个示例中,子块尺寸为4x4。

d.基于邻近子块的运动矢量的子模板的参考样本表示为P

i.子模板的参考样本(P)可以导出为P=W

ii.在一个示例中,如果上方模板的高度或左侧模板的宽度大于或等于4,则权重因子{1/4、1/8、1/16、1/32}用于P

iii.在一个示例中,如果上方模板的高度或左侧模板的宽度大于或等于2,则加权因子{1/4,1/8}用于P

iv.在一个示例中,如果上方模板的高度或左侧模板的宽度大于或等于1,则加权因子{1/4}用于P

e.如果在启用OBMC的情况下分配了合并候选,则可以应用上述方法。

5.在一个示例中,如果合并候选使用多假设预测,则可以使用多假设预测方法导出模板的参考样本。

6.模板可以包括(多个)特定颜色分量的样本。

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

b.备选地,模板仅包括任何分量的样本,例如Cb/Cr/R/G/B。

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

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。

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

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

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

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

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

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

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

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

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

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

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

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

2.26符号预测

本文提出了一种预测亮度残差系数符号的方法。可以每个TU预测多个符号,但受配置参数和存在的系数数目的限制。当预测TU中的n个符号时,编码器和解码器执行n+1个部分逆变换和2

·编码器

在TU中编码系数之前,编码器现在确定要预测的符号并预测它们。在RDO决策期间执行如下所述的假设处理。预测结果(正确或不正确,每个被预测的符号)存储在CU中,以供以后编码使用。在最终编码阶段,这个存储的数据被用来再现包含符号残差的最终比特流。

·假设生成

编码器首先对TU进行去量化,然后选择n个将被预测符号的系数。这些系数以光栅扫描顺序扫描,并且在收集要处理的n个系数时,超过定义阈值的去量化值优先于低于该阈值的值。

使用这n个值,如下所述执行2

对于特定的重建,仅从添加到块预测的反转变换中重新创建块的最左边和最上面的像素。虽然第一个(垂直)反转变换已经完成,但第二个(水平)反转变换只需要创建最左边和最上面的像素输出,因此速度更快。反转变换函数中添加了一个额外的标志“topLeft”,以允许这样做。

此外,通过使用“模板”系统来减少执行的逆变换操作的数目。这样,在预测块中的n个符号时,只执行n+1个逆变换操作:

1.在去量化系数上操作的单个逆变换,其中所有被预测的符号的值都设置为正。一旦添加到当前块的预测中,这对应于第一假设的边界重建。

2.对于具有预测符号的n个系数中的每一个,对包含相应的去量化(和正)系数作为其唯一非空元素的空块执行逆变换操作。最左边和最上面的边界值保存在所谓的“模板”中,以便在以后的重建中使用。

后续假设的边界重建始于对先前假设进行适当的保存重建,该假设只需要将单个预测符号从正变为负,以构建所需的当前假设。然后,通过将与被预测符号相对应的模板的假设边界加倍和减去来近似这种符号的变化。如果已知边界重建可用于构建后续假设,则在成本计算后保存边界重建。

表格显示针对3符号8入口用例的保存/恢复和模板应用

请注意,这些近似值仅在符号预测过程中使用,而不是在最终重建过程中使用。

·假设成本确定

每个假设都有一个与块边界图像连续性概念相对应的成本。正是通过最小化这个成本,才能找到符号预测值。

图40示出了计算假设重建边界的成本的示意图。如图40所示,对于重建块的LHS处的每个重建像素p

对于重建块的顶部行中的像素进行类似的处理,将每个预测pred

·多符号的预测

对于每个要预测的符号,编码器搜索具有最低成本的假设,该假设与已经传输的符号的真实值一致。(最初,没有符号残差传输,这只对应于最低成本假设。)当前符号的预测值取自该假设。

如果预测对应于符号的真实值,则发送“0”作为符号残差,否则发送“1”。

·最终信令

当向特定符号预测残差发送信号时,使用两个CABAC上下文之一。要使用的CABAC上下文取决于相关的去量化系数是否低于或高于阈值。高值系数的预测残差通过初始化的CABAC上下文发送,以期望更高的正确预测概率(即期望零残差的更高概率)。当前的上下文初始化约为58%(低于阈值)和74%(等于或高于阈值)。

·其他比特流更改

应该注意的是,作为应用于JEM3的软件修改的一部分,所有系数(亮度、色度、预测和非预测)的符号的信令已经移动到TU块的末尾。也就是说,符号不再按CG发出信号。这对于亮度是必要的,如下所示:解码器需要访问TU中的所有系数值,以便确定被预测的符号,并且相应地,在比特流中只有它们的预测残差。

虽然色度不是绝对必要的,因为符号永远不会预测色度,但将色度符号移动到TU的末尾避免了两个不同逻辑路径的必要性。

·解码器

2.26.2.1解析

解码器作为其解析过程的一部分,解析系数、符号和符号残差。符号和符号残差在TU的末尾被解析,此时解码器知道所有系数的绝对值。因此,它可以确定预测哪些符号,并且对于每个预测的符号,它可以根据去量化的系数值确定用于解析符号预测残差的上下文。

“正确”或“不正确”预测的知识简单地存储为正在解析的块的CU数据的一部分。此时系数的真实符号尚不清楚。

2.26.2.2重建

稍后,在重建期间,解码器执行类似于编码器的操作(如上所述,编码器在其RDO期间)。对于TU中预测的n个符号,解码器执行n+1个逆变换操作和2

应用于已预测其符号的系数的真实符号由异或运算确定:

1.符号的预测值。

2.比特流解析期间存储在CU中的“正确”或“不正确”数据。

·与符号数据隐藏的交互

在使用现有的符号数据隐藏机制“隐藏”系数的符号的每个TU中,符号预测仅将该系数视为其自身预测技术的“不可用”,并且仅使用其他系数进行预测。

2.27解码器侧帧内模式导出(DIMD)

从当前块的邻近像素计算的梯度直方图(HoG)中选择三种角度模式。一旦选择了这三种模式,它们的预测子就会正常计算,然后使用它们的加权平均值作为块的最终预测子。为了确定权重,HoG中的相应幅度用于三种模式中的每一种。DIMD模式用作备选预测模式,并始终在FullRD模式中检查。

当前版本的DIMD在信令、HoG计算和预测融合方面进行了一些修改。此修改的目的是提高编码性能并解决上次会议提出的复杂性问题(即4x4块的吞吐量)。以下部分描述了每个方面的修改。

·信令

图41示出了所提出的帧内块解码过程的示意图。图41示出了与建议的DIMD集成的VTM5中解析标志/索引的顺序。

可以看出,首先使用单个CABAC上下文解析块的DIMD标志,该上下文被初始化为默认值154。

如果标志==0,则解析正常继续。

否则(如果标志==1),只解析ISP索引,并推断以下标志/索引为零:BDPCM标志、MIP标志、MRL索引。在这种情况下,整个IPM解析也会跳过。

在解析阶段,当常规非DIMD块查询其DIMD邻居的IPM时,模式PLANAR_IDX被用作DIMD块的虚拟IPM。

·纹理分析

DIMD的纹理分析包括梯度直方图(HoG)计算(如图42所示)。图42示出了基于宽度3像素的模板的HoG计算的示意图。HoG计算是通过在块周围宽度为3的模板中的像素上应用水平和垂直Sobel滤波器来进行的。但是,如果上方模板像素落入不同的CTU中,则它们将不会用于纹理分析。

一旦计算完成,就会为块选择对应于两个最高直方图条的IPM。在以前的版本中,模板中线的所有像素都参与了HoG计算。然而,当前版本通过在4x4块上更稀疏地应用Sobel滤波器来提高此过程的吞吐量。为此,仅使用左侧的一个像素和上方的一个像素。这在图42中示出。

除了减少梯度计算的操作次数外,该属性还简化了从HoG中选择最佳2种模式的过程,因为所得到的HoG不能有超过两个非零振幅。

·预测融合

与上一个版本一样,该方法的当前版本也为每个块使用三个预测子的融合。但是,预测模式的选择不同,并利用了组合假设帧内预测方法,其中在计算帧内预测候选时考虑与其他模式结合使用平面模式。在当前版本中,对应于两个最高HoG条的两个IPM与平面模式结合使用。

预测融合被应用为上述三个预测因子的加权平均值。为此,平面的权重固定为21/64(~1/3)。然后,剩余的43/64(~2/3)的权重在两个HoG IPM之间共享,与其HoG条的振幅成比例。图43可视化了这个过程。图43示出了由两个HoG模式和平面的加权平均的预测混合的示意图。

2.28DIMD

当应用DIMD时,从重建的邻近样本中导出两个帧内模式,并将这两个预测子与从梯度导出的权重的平面模式预测子相结合。

导出的帧内模式包含在帧内最可能模式(MPM)的主列表中,因此在构建MPM列表之前执行DIMD过程。DIMD块的主要导出的帧内模式与块一起存储,用于邻近块的MPM列表构建。

2.29使用MPM基于模板的帧内模式导出

该贡献提出了一种使用MPM的基于模板的帧内模式导出(TIMD)方法,其中使用邻近模板从MPM导出TIMD模式。TIMD模式用作CU的附加帧内预测方法。

·TIMD模式导出

针对MPM中的每种帧内预测模式,计算模板的预测与重建样本之间的SATD。选择SATD最小的帧内预测模式作为TIMD模式,用于当前CU的帧内预测。TIMD模式的导出包括位置相关的帧内预测组合(PDPC)。

·TIMD信令

在序列参数集(SPS)中以信号发出标志以启用/禁用所提出的方法。当标志为真时,发出CU级标志以指示是否使用提出的TIMD方法。TIMD标志紧跟在MIP标志之后发出信号。如果TIMD标志等于真,则与亮度帧内预测模式相关的其余语法元素,包括MRL、ISP和针对亮度帧内预测模式的正常解析阶段,都将被跳过。

·与新编解码工具的交互

EE2中集成了一种使用Planar(平面的)进行预测融合的DIMD方法。当EE2 DIMD标志等于真时,所提出的TIMD标志不发出信号并设置为假。

与PDPC类似,梯度PDPC也包含在TIMD模式的导出中。

当启用辅助MPM时,主MPM和辅助MPM都用于导出TIMD模式。在TIMD模式的导出中不使用6抽头插值滤波器。

·TIMD模式导出中MPM列表构造的修改

在MPM列表的构造过程中,当邻近块被互编解码时,其帧内预测模式被导出为平面。为了提高MPM列表的准确性,当邻近块被互编解码时,利用运动矢量和参考图片导出传播的帧内预测模式,并用于MPM列表的构造。这种修改仅适用于TIMD模式的导出。

2.30帧内模板匹配

模板匹配预测是一种编解码工具,主要适用于屏幕内容编解码。通过将当前块的L形因果邻近与预定义搜索区域中的另一块进行匹配,在解码器侧生成预测信号。这在图44中示出。图44图示了使用的模板内匹配搜索区域的示意图。具体而言,搜索范围分为3个区域:

R1:在当前CTU内

R2:当前CTU之外的左上角

R3:在当前CTU上方

R4:在当前CTU左侧

在每个区域内,解码器搜索相对于当前区域具有最少SAD的模板,并使用其对应的块作为预测块。

所有区域的尺寸(SearchRange_w,SearchRange_h)与块尺寸(BlkW,BlkH)成比例设置,以便每个像素有固定数目的SAD比较。也就是说:

SearchRange_w=a*BlkW

SearchRange_h=a*BlkH

其中“a”是控制增益/复杂度权衡的常数。

2.31图像/视频编码中的编解码数据细化

术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元,块可以是矩形或非矩形。

在本公开中,短语“运动候选”可以表示由合并候选索引指示的常规/扩展合并列表中的合并运动候选,或者由AMVP候选索引指示的常规/扩展AMVP列表中的AMVP运动候选,或者一个AMVP运动候选,或者一个合并运动候选。

在本公开中,如果候选的运动信息根据从编码器发出的信号或在解码器处导出的信息被修改,则运动候选被称为“细化”。例如,运动矢量可以通过DMVR、FRUC、TM合并、TMAMVP、TM GPM、TM CIIP、TM仿射、MMVD、GMVD、仿射MMVD、BDOF等来细化。

在本公开中,短语“编解码数据细化”可以表示细化过程,以便导出或细化针对块的信号/解码/导出的预测模式、预测方向或信号/解码/导出的运动信息、预测和/或重建样本。在一个示例中,细化过程可以包括运动候选重新排序。

在以下讨论中,“基于模板编解码的”块可以指在编码/解码过程中使用基于模板匹配的方法来导出或细化编码信息的块,诸如基于模板匹配的运动导出、基于模板匹配的运动列表重建、LIC、符号预测、基于模板匹配的块矢量(例如,在IBC模式中使用)导出、DIMD、基于模板匹配的非帧间(例如,帧内)预测等。基于模板编解码的方法可以与任何其它编解码工具结合,诸如MMVD、CIIP、GPM、FRUC、仿射、BDOF、DMVR、OBMC等。在另一示例中,“基于模板编解码的”块也可以指代基于某个规则使用(相邻或非相邻)邻近重建样本导出或者细化其解码信息的块,诸如2.27中的DIMD方法以及2.29中的TIMD方法。

在下面的讨论中,“基于双边编解码的”块可以指在编码/解码过程中使用基于双边匹配的方法来导出或细化编码信息的块,例如基于双边匹配的运动导出、基于双边匹配的运动列表重建等。基于双边编解码的方法可以与任何其他编解码工具结合,例如MMVD、CIIP、GPM、FRUC、仿射、DMVR等。

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

在下面的讨论中,Shift(x,s)被定义为Shift(x,s)=(x+offset)>>s,其中偏移量(offset)是整数,例如offset=0或偏offset=1<<(s-1)或offset=(1<<(s-1))-1。

在另一示例中,offset取决于x。例如,offset=(x<0?(1<<(s-1)):((1<<(s-1)–1)。

1.除了误差测量外,提出了在成本计算过程中增加常规项。

a)在一个示例中,成本被定义为:E+W*RI,其中E表示误差函数的输出,W是被施加到由RI表示的常规项的权重。

i.在一个示例中,为了处理基于模板编解码的块/基于双边编解码的块,成本函数被设置为:E+W*RI,其中,E可以是SAD/MRSAD/SATD或者其他,RI是真的运动矢量/运动矢量差异的估计位,W是权重,例如,其可以依赖于QP/时间层等。

ii.备选地,成本可以定义为:w0*E+W1*RI,其中E表示误差函数的输出,W1是被施加到由RI表示的常规项的权重,w0是被施加到误差函数的输出的权重。

(i)备选地,另外,W1可以被设置为0。

b)在一个示例中,常规项可以被乘以权重率。

i.在一个示例中,权重是即时得出的。

ii.在一个示例中,权重设置为在完整RDO过程中使用的lambda

iii.在一个示例中,权重设置为完整RDO过程中使用的lambda的平方根。

c)在一个示例中,成本被计算为E+Shift(W*RI,s),其中s和W是整数。

i.备选地,成本被计算为Shift((E<

2.提出了使用不同于SAD/MR-SAD(均值移除的绝对差总和)的误差函数来处理基于模板编解码的块/基于双边编解码的块。

a)在一个示例中,误差函数可以是

i.SATD

ii.MR-SATD

iii.梯度信息

iv.SSE/SSD

v.MR-SSE/MR-SSD

vi.加权SAD/加权MR-SAD

vii.加权SATD/加权MR-SATD

viii.加权SSD/加权MR-SSD

ix.加权SSE/加权MR-SSE

b)备选地,另外,提出了在诸如上述误差函数和SAD/MR-SAD等不同成本函数中自适应选择误差函数的方法。

i.选择可以即时确定。

3.当使用基于MR-X(例如,X是SATD、SAD、SSE)的误差函数(例如,MR-SAD/MR-SATD等等)时,可以进一步应用以下内容:

a)在一个示例中,可以在考虑要比较的块中的所有样本的情况下计算均值。

b)在一个示例中,可以使用要考虑比较的块中的部分样本来计算均值。

c)在一个示例中,均值和X函数可以依赖于块中的相同样本。

i.在一个示例中,可以使用块中的所有样本计算均值和X函数。

ii.在一个示例中,可以使用块中的部分样本来计算均值和X函数。

d)在一个示例中,均值和X函数可以取决于块中的至少一个不同样本。

i.在一个示例中,均值可以使用所有样本计算,而X函数可以取决于块中的部分样本。

ii.在一个示例中,均值可以使用部分样本计算,而X函数可以取决于块中的所有样本。

4.模板/双边匹配成本可以通过将成本因子应用于误差成本函数来计算。

a)在一个示例中,提出了在基于模板/双边匹配的重新排序过程期间偏向前方的运动候选。

i.在一个示例中,第i个位置中的运动候选被分配有比第(i+1)个位置中的运动候选的成本因子更小的成本因子。

ii.在一个示例中,第i组中的运动候选(例如涉及M个运动候选)被分配有比第(i+1)个组中的运动候选(例如涉及N个运动候选)的成本因子更小的成本因子。

(i)在一个示例中,M可以等于N。例如,M=N=2。

(ii)在一个示例中,M可能不等于N。例如,M=2,N=3。

b)在一个示例中,提出了在基于模板/双边匹配的细化过程中倾向更接近原始MV的搜索MV。

i.在一个示例中,每个搜索区域被分配有成本因子,其可以由搜索区域中的每个搜索MV与起始MV之间的距离(例如以整数像素精度MV的增量)来确定。

ii.在一个示例中,每个搜索区域被分配有成本因子,其可以由搜索区域中的中心搜索MV和起始MV之间的距离(例如以整数像素精度MV的增量)来确定。

iii.在一个示例中,每个搜索MV被分配有成本因子,其可以由每个搜索MV和起始MV之间的距离(例如以整数像素精度MV的增量)确定。

5.上述方法可以应用于任何编解码数据细化过程,例如,对于基于模板编解码的块,对于基于双边编解码的块(例如VVC中的DMVR)。

6.对于不同的模板匹配细化方法,模板匹配成本测量可能不同。

a)在一个示例中,模板匹配细化方法可以是基于模板匹配的运动候选重新排序。

b)在一个示例中,模板匹配细化方法可以是基于模板匹配的运动导出。

i.在一个示例中,细化方法可以TM AMVP、TM合并和/或FRUC。

c)在一个示例中,模板匹配细化方法可以是基于模板匹配的运动细化。

ii.在一个实例中,细化方法可以是TM GPM、TM CIIP和/或TM仿射。

d)在一个示例中,模板匹配细化方法可以是基于模板匹配的块矢量导出。

e)在一个示例中,模板匹配细化方法可以是基于模板匹配的帧内模式导出。

iii.在一个示例中,细化方法可以是DIMD和/或TIMD。

f)在一个示例中,可以基于当前模板与参考模板之间的绝对差总和(SAD)来计算模板匹配成本测量。

g)在一个示例中,可以基于当前模板与参考模板之间的均值移除的SAD来计算模板匹配成本测量。

h)在一个示例中,SAD与均值移除SAD(MR-SAD)可以根据当前块的尺寸被选择性地利用。

i.在一个实例中,均值移除SAD用于尺寸大于M的块,

SAD用于尺寸小于或等于M的块。

(i)在一个示例中,M是64。

i)在一个示例中,SAD和均值移除SAD(MR-SAD)可以根据当前块的LIC标志被选择性地利用。

i.在一个示例中,如果当前块的LIC标志为假,则模板匹配成本测量可以是SAD。

ii.在一个示例中,如果当前块的LIC标志为真,则模板匹配成本测量可以是MR-SAD。

j)在一个示例中,可以基于当前模板与参考模板之间的绝对变换差总和(SATD)来计算模板匹配成本测量。

k)在一个示例中,可以基于当前模板与参考模板之间的均值移除SATD来计算模板匹配成本测量。

l)在一个示例中,SATD与均值移除SATD(MR-SATD)可以根据当前块的尺寸被选择性地利用。

i.在一个示例中,均值移除SATD用于尺寸大于M的块,并且SATD用于尺寸小于或等于M的块。

(i)在一个示例中,M是64。

m)在一个示例中,SATD与均值移除SATD(MR-SATD)可以根据当前块的LIC标志被选择性地利用。

i.在一个示例中,如果当前块的LIC标志为假,则模板匹配成本测量可以是SATD。

ii.在一个示例中,如果当前块的LIC标志为真,则模板匹配成本测量可以MR-SATD。

n)在一个示例中,可以基于当前模板与参考模板之间的平方差总和(SSD)来计算模板匹配成本测量。

o)在一个示例中,可以基于当前模板与参考模板之间的均值移除SSD来计算模板匹配成本测量。

p)在一个示例中,SSD与均值移除SSD(MR-SSD)可以根据当前块的尺寸被选择性地利用。

i.在一个实例中,均值移除SSD用于尺寸大于M的块,SSD用于尺寸小于或等于M的块。

(i)在一个示例中,M是64。

q)在一个示例中,模板匹配成本测量可以是当前模板与参考模板之间的加权SAD/加权MR-SAD/选择性加权MR-SAD和SAD/加权SATD/加权MR-SATD/选择性加权MR-SATD和SATD/加权SSD/加权MR-SSD/选择性加权MR-SSD和SSD。

i.在一个示例中,加权意味着在计算当前模板与参考模板之间的失真时,基于其在模板块中的行和列索引对每个样本应用不同的权重。

ii.在一个示例中,加权意味着在计算当前模板与参考模板之间的失真时,基于其在模板块中的位置对每个样本应用不同的权重。

iii.在一个示例中,加权意味着在计算当前模板与参考模板之间的失真时,根据每个样本到当前块的距离对其应用不同的权重。

r)在一个示例中,模板匹配成本可以被计算为如下形式:tplCost=w1*mvDistanceCost+w2*distortionCost。

i.在一个示例中,distortionCost可以是当前模板与参考模板之间的加权SAD/加权MR-SAD/加权SATD/加权MR-SATD/加权SSD/加权MR-SSD/SAD/MR-SAD/SATD/MR-SATD/SSD/MR-SSD。

ii.在一个示例中,mvDistanceCost可以是在水平方向与垂直方向的搜索点与起始点的绝对mv差总和。

iii.在一个示例中,w1和w2可以是预定的、或者用信号传输的或者根据解码信息导出的。

(i)在一个示例中,w1是设置为4的加权因子,w2是设置为1的加权因子

s)除了(f)中计算的SAD外,成本还可以考虑参考模板同与当前模板相邻邻近或非相邻邻近的重建样本之间的连续性(Boundary_SAD)。例如,考虑邻近当前样本的左侧和/或上方相邻或非相邻的重建样本。

i.在一个示例中,成本可以基于SAD与Boundary_SAD来计算

(i)在一个示例中,成本可以倍计算为(SAD+w*Boundary_SAD)。w可以是预定的、或信号传输的或者根据解码信息得出的。

7.对于不同的双边匹配细化方法,双边匹配成本测量可以不同。

a)在一个示例中,双边匹配细化方法可以是基于双边匹配的运动候选重新排序。

b)在一个示例中,双边匹配细化方法可以是基于双边匹配的运动导出。

i.在一个示例中,细化方法可以是BM合并和/或FRUC。

c)在一个示例中,双边匹配细化方法可以是基于双边匹配的运动细化。

i.在一个实例中,细化方法可以是BM GPM、BM CIIP和/或BM仿射。

d)在一个示例中,双边匹配细化方法可以是基于双边匹配的块矢量导出。

e)在一个示例中,双边匹配细化方法可以是基于双边匹配的帧内模式导出。

f)在一个示例中,双边匹配成本测量可以基于两个参考块/子块之间的绝对差总和(SAD)来计算。

g)在一个示例中,双边匹配成本测量可以基于两个参考块/子块之间的均值移除SAD来计算。

h)在一个示例中,SAD与均值移除SAD(MR-SAD)可以根据当前块/子块的尺寸被选择性地利用。

i.在一个示例中,均值移除SAD用于尺寸大于M的块/子块,SAD用于尺寸小于或等于M的块/子块。

(i)在一个示例中,M是64。

i)在一个示例中,SAD与均值移除SAD(MR-SAD)可以根据当前块的LIC标志被选择性地利用。

i.在一个示例中,如果当前块的LIC标志为假,则双边匹配成本测量可以是SAD。

ii.在一个示例中,如果当前块的LIC标志为真,则双边匹配成本测量可以是MR-SAD。

j)在一个示例中,双边匹配成本测量可以基于两个参考块/子块之间的绝对变换差总和(SATD)来计算。

k)在一个示例中,双边匹配成本测量可以基于两个参考块/子块之间的均值移除SATD来计算。

l)在一个示例中,SATD和均值移除SATD(MR-SATD)可以根据当前块/子块的尺寸被选择性地利用。

i.在一个示例中,均值移除SATD用于尺寸大于M的块/子块,并且SATD用于尺寸小于或等于M的块/子块。

(i)在一个示例中,M是64。

m)在一个示例中,SATD与均值移除SATD(MR-SATD)可以根据当前块的LIC标志被选择性地利用。

i.在一个示例中,如果当前块的LIC标志为假,则双边匹配成本测量可以是SATD。

ii.在一个示例中,如果当前块的LIC标志为真,则双边匹配成本测量可以是MR-SATD。

n)在一个示例中,双边匹配成本测量可以基于两个参考块/子块之间的平方差总和(SSD)来计算。

o)在一个示例中,双边匹配成本测量可以基于两个参考块/子块之间的均值移除SSD来计算。

p)在一个示例中,SSD与均值移除SSD(MR-SSD)可以根据当前块/子块的尺寸被选择性地利用。

i.在一个示例中,均值移除SSD用于尺寸大于M的块/子块,SSD用于尺寸小于或等于M的块/子块。

(i)在一个示例中,M是64。

q)在一个示例中,SSD与均值移除SSD(MR-SSD)可以根据当前块的LIC标志被选择性地利用。

i.在一个示例中,如果当前块的LIC标志为假,则双边匹配成本测量可以是SSD。

ii.在一个示例中,如果当前块的LIC标志为真,则双边匹配成本测量可以是MR-SSD。

r)在一个实例中,双边匹配成本度量可以是两个参考块/子块之间的加权SAD/加权MR-SAD/选择性加权MR-SAD和SAD/加权SATD/加权MR-SATD/选择性加权MR-SATD和SATD/加权SSD/加权MR-SSD/选择性加权MR-SSD和SSD。

i.在一个示例中,加权意味着在计算两个参考块/子块之间的失真时,基于其在参考块/子块中的行和列索引对每个样本应用不同的权重。

ii.在一个示例中,加权意味着在计算两个参考块/子块之间的失真时,基于其在参考块/子块中的位置对每个样本应用不同的权重。

iii.在一个示例中,加权意味着在计算两个参考块/子块之间的失真时,根据其到参考块/子块的中心位置的距离对每个样本应用不同的权重。

s)在一个示例中,如果MR-SAD/MR-SATD/MR-SSD被用于双边匹配成本测量,则在导出参考块/子块时可以不使用LIC。

t)在一个示例中,双边匹配成本可以计算为如下形式:bilCost=w1*mvDistanceCost+w2*distortionCost。

i.在一个示例中,distortionCost可以是两个参考块/子块之间的加权SAD/加权MR-SAD/加权SATD/加权MR-SATD/加权SSD/加权MR-SSD/SAD/MR-SAD/SATD/MR-SATD/SSD/MR-SSD。

ii.在一个示例中,mvDistanceCost可以是水平方向和垂直方向上的搜索点与起始点的绝对mv差总和。

iii.在一个示例中,w1和w2可以是预定的、或者信号传输的、或者根据解码信息得出的。

(i)在一个示例中,w1是设置为4的加权因子,w2是设置为1的加权因子。

8.双边匹配成本或模板匹配成本可以基于由函数修改的预测/参考样本来计算。

a)在一个示例中,预测/参考样本可以在用于计算双边匹配成本或模板匹配成本之前被滤波。

b)在一个示例中,预测/参考样本S可以在用于计算双边匹配成本或模板匹配成本之前被修改为a*S+b。

c)在一个示例中,修改可以取决于块的编解码模式,诸如块是LIC编解码的还是BCW编解码的。

2.问题

编解码数据细化的当前设计可以被进一步改善。

1.针对当前设计,或者双边匹配(利用对应于当前块的参考块)或者模板匹配(利用对应于包含当前块的邻近样本的模板的参考块)被利用。当前块与其邻近块之间的连续性没有被考虑。

2.如果匹配误差测量根据编解码数据细化方法(例如,双边匹配或模板匹配等)和/或编解码块的预测类型(诸如模板匹配/双边匹配GPM、模板匹配/双边匹配CIIP、模板匹配/双边匹配SbTMVP、模板匹配/双边匹配仿射、基于模板匹配(TM)/双边匹配(BM)的MMVD、DMVR、FRUC、TM合并、TMAMVP等)被适应性地选择,则将会是更有效的。

3.实施例

下面的详细实施例应被视为解释一般概念的示例。这些实施例不应以狭隘的方式来解释。此外,这些实施例可以以任何方式组合。

术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或者包括多个样本/像素的视频处理单元。块可以是矩形或非矩形。

在本公开中,短语“运动候选”可以表示由合并候选索引指示的常规/扩展合并列表中的合并运动候选、或由AMVP候选索引指示的常规/扩展AMVP列表中的AMVP运动候选、或AMVP运动候选、或者合并运动候选。

在本公开中,如果候选的运动信息根据从编码器用信号传输的信息或在解码器处导出的信息被修改,则运动候选被称为“被细化”。例如,运动矢量可以通过DMVR、FRUC、TM合并、TM AMVP、TM GPM、TM CIIP、TM仿射(Affine)、MMVD、GMVD、仿射MMVD、BDOF等被细化。

在本公开中,短语“编解码数据细化”可以表示一种细化过程,其用于导出或细化针对块的通过信号传输的/经解码的/被导出的预测模式、预测方向、或通过信号传输的/经解码的/被导出的运动信息、预测和/或重建样本。在一个示例中,细化过程可以包括运动候选重新排序。

在下面的讨论中,“基于模板编解码的”块可以指代在编解码/解码过程中使用基于模板匹配的方法以导出或细化编解码信息的块,基于模板匹配的方法诸如基于模板匹配的运动导出、基于模板匹配的运动列表重建、LIC、符号预测、(例如,在IBC模式中使用的)基于模板匹配的块矢量导出、DIMD、基于模板匹配的非帧间(例如,帧内)预测等。基于模板匹配的方法可以与任何其他编解码工具相结合,诸如MMVD、CIIP、GMP、FRUC、仿射、BDOF、DMVR、OBMC等。在另一示例中,“基于模板编解码的”块也可以指代基于某个规则使用(相邻或非相邻的)邻近重建样本导出或者细化其解码信息的块,诸如2.27中的DIMD方法以及2.29中的TIMD方法。

在下文的讨论中,“基于双边编解码的”块可以指代在编解码/解码过程中使用基于双边匹配的方法导出或者细化编解码信息的块,基于双边匹配的方法诸如基于双边匹配的运动导出、基于双边匹配的运动列表重建等。基于双边编解码的方法可以与任何其他编解码工具相结合,诸如MMVD、CIIP、GPM、FRUC、仿射、DMVR等。

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

1.成本定义可以依赖于关于在当前块的一个编解码数据细化过程中待评估的两个样本/块的误差/差异的多个误差函数(例如,失真测量方法)的输出。

a)在一个示例中,误差函数可以是:

i.SAD

ii.SATD

iii.MR-SAD

iv.MR-SATD

v.梯度信息

vi.SSE/SSD

vii.MR-SSE/MR-SSD

viii.加权SAD/加权MR-SAD

ix.加权SATD/加权MR-SATD

x.加权SSD/加权MR-SSD

xi.加权SSE/加权MR-SSE

b)在一个示例中,误差函数可以在块级别或子块级别被执行。

i.备选地,此外,对于两个子块,误差函数可以不同。

ii.备选地,此外,块的评估误差的最终输出可以基于子块的输出,例如,应用于每个子块的误差函数的输出之和。

2.当成本定义依赖于多个函数的输出时,以下项可以进一步适用:

a)在一个示例中,成本函数可以依赖于多个误差函数的线性加权和。

b)在一个示例中,成本函数可以依赖于多个误差函数的非线性加权和。

c)在一个示例中,成本函数可以进一步依赖于针对边信息的估计比特。

d)在一个示例中,成本函数可以被定义为:

其中R表示针对边信息的估计比特,W

3.多个细化过程可以应用于一个块,其中至少两个不同的成本函数被应用于至少两个细化过程。

a)在一个示例中,可以利用第一成本函数调用第一细化过程。基于第一细化过程的输出,第二成本函数进一步被应用于第二细化过程。

b)上述方法可以应用于基于模板编解码的块。

4.是否使用多个细化过程和/或如何选择一个或多个误差函数和/或如何定义成本函数和/或在误差函数中将涉及哪些样本可以取决于当前块的解码信息和/或当前块的邻近的(相邻的或不相邻的)块的解码信息。

a)在一个示例中,如何选择一个或多个误差函数和/或如何定义成本函数可以取决于应用于当前块和/或当前块的邻近块的编解码工具。

i.在一个示例中,编解码工具是LIC。

(i)在一个示例中,SSD和均值移除SSD(MR-SSD)可以根据当前块的LIC标志被选择性地利用。

a)在一个示例中,如果当前块的LIC标志为假,则模板匹配成本度量可以是SSD。

b)在一个示例中,如果当前块的LIC标志为真,则模板匹配成本度量可以是MR-SSD。

(ii)在一个示例中,如果MR-SAD/MR-SATD/MR-SSD被用于模板匹配成本度量,则在导出参考模板时可以不使用LIC过程中所使用的线性函数。

(iii)在一个示例中,如果MR-SAD/MR-SATD/MR-SSD被用于双边匹配成本度量,则在导出参考块时可以不使用在LIC过程中所使用的线性函数。

b)在一个示例中,其可以取决于块尺寸(例如,W、H)、时间层、低延迟检查标志,等等。

c)在一个示例中,其可以取决于当前块的运动信息与邻近块的运动信息是否相似/相同。

d)在一个示例中,其可以取决于参考图片列表和/或参考图片信息。

i.在一个示例中,对于列表X,可以使用第一误差函数(例如,SAD/SSE),并且对于列表Y(Y=1-X),可以使用第二误差函数(例如,MR-SAD/MR-SSE)。

ii.备选地,此外,最终成本可以基于每个参考图片列表的成本。

5.上述方法可以应用于任何编解码数据细化过程,例如,针对基于模板编解码的块,针对基于双边编解码的块(例如,VVC中的DMVR)。

本公开的实施例与在图像或视频编解码中在编解码数据细化中所利用的成本函数有关。如本文中所使用的,术语“编解码数据细化”可以表示一种细化过程,其用于导出或细化通过信号传输的、经解码的或被导出的预测模式、预测方向、或针对块的通过信号传输的、经解码的或被导出的运动信息、预测样本和/或重建样本。在一个示例中,细化过程可以包括运动候选重新排序。术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、编解码单元(CU)、预测单元(PU)、变换单元(TU)、预测块(PB)、变换块(TB)、包括多个样本/像素的视频处理单元,等等。块可以是矩形或非矩形的。成本函数定义了如何确定成本,成本函数也可以被称为“成本度量”。

图45示出了根据本公开的一些实施例的用于视频处理的方法4500的过程图。该方法4500可以在视频的当前视频块与视频的比特流之间的转换期间实现。如图45所示,该方法4500开始于4502,其中基于与视频的两个目标块相关联的至少两个误差度量来确定成本。成本指示两个目标块之间的失真度。作为示例,假设采用如图33所示的基于双边匹配(BM)的解码器侧运动矢量细化来细化编解码数据,更具体地说,细化当前视频块的运动信息。参考图33,当前图片3302的当前视频块3310将被编解码。当前视频块3302的原始运动矢量MV0和MV1指向参考块3320和3322。邻近参考块3320和3322的两个块3330和3332被考虑用于细化当前视频块3310的运动信息。为此,两个块3330和3332可以被视为目标块,并且基于两个误差度量(例如,基于与两个目标块3330和3332相关联的SAD和MR-SAD)来针对两个目标块3330和3332确定成本。由此,成本指示两个目标块3330和3332之间的失真度。

在4504,基于成本和两个目标块,细化当前视频块的编解码数据。参考图33,将基于所确定的成本与两个目标块3330和3332来细化当前视频块3310的运动信息。举例来说,如果所确定的成本小于预定阈值,则当前视频块3310的原始运动矢量MV0和MV1可以被与两个块3330和3332相关联的运动矢量MV0'和MV1'替换。

在4506,基于经细化的编解码数据执行转换。在一个示例中,转换可以包括将当前视频块编码到比特流中。附加地或备选地,转换可以包括从比特流解码当前视频块。

应当理解,尽管参照基于双边匹配的解码器侧运动矢量细化来解释方法4500,但是方法4500还可以应用于任何其它合适的编解码数据细化过程,包括但不限于模板匹配细化过程和双边匹配细化过程,等等。

方法4500利用至少两个不同的误差度量来测量两个块之间的失真。以此方式,可以以多种不同的方式确定误差,并且因此成本可以更准确地测量失真。与仅使用一个误差度量来确定成本的常规解决方案相比,方法4500可以有利地提高编解码质量和编解码效率。

在一些实施例中,至少两个误差度量可以包括但不限于绝对差总和(SAD)、均值移除绝对差总和(MR-SAD)、绝对变换差总和(SATD)、均值移除绝对变换差总和(MR-SATD)、梯度信息、平方误差总和(SSE)、均值移除平方误差总和(MR-SSE)、平方差总和(SSD)、均值移除平方差总和(MR-SSD)、加权SAD、加权MR-SAD、加权SATD、加权MR-SATD、加权SSD、加权MR-SSD、加权SSE、或加权MR-SSE。应当理解,这里列出的可能的误差度量仅仅是说明性的,并且因此不应当解释为以任何方式限制本公开。

在一些实施例中,方法4500还可以包括:在块级别确定两个目标块之间的至少两个误差度量中的第一误差度量。例如,参考图33,可以直接在块级别中确定两个目标块3330和3332之间的SAD。备选地,方法4500还可以包括:在子块级别确定两个目标块之间的至少两个误差度量中的第一误差度量。作为示例,可以在子块级别中确定两个目标块3330和3332之间的SAD。这将在下面详细讨论

此外,在一些实施例中,方法4500还可以包括:确定两个目标块中的一个目标块中的第一子块与两个目标块中的另一个目标块中的第二子块之间的至少两个误差度量中的第一误差度量;以及确定两个目标块中的一个目标块中的第三子块与两个目标块中的另一个目标块中的第四子块之间的至少两个误差度量中的第二误差度量。第一误差度量不同于第二误差度量。例如,至少两个误差度量可以包括SAD和MR-SAD。参考图33,可以确定块3330中的子块与块3332中的子块之间的SAD,并且可以确定块3330中的子块与块3332中的子块之间的MR-SAD。可以基于所确定的SAD和MR-SAD来确定成本。因此,可以使用不同的误差度量在子块级别测量两个块之间的失真。这使得成本能够更准确地测量失真。

在一些实施例中,可以确定两个目标块中的一个目标块中的第一子块与两个目标块中的另一个目标块中的第二子块之间的至少两个误差度量中的第二误差度量。可以确定两个目标块中的一个目标块中的第三子块与两个目标块中的另一个目标块中的第四子块之间的至少两个误差度量中的第三误差度量。可以基于第二误差度量和第三误差度量来确定第一误差度量。例如,参考图33,可以确定块3330中的子块与块3332中的子块之间的SSD,并且可以确定块3330中的子块与块3332中的子块之间的MR-SAD。可以基于应用于块3330中的每个子块的所有误差度量来确定第一误差度量。作为示例,第一度量可以被确定为先前确定的SSD和MR-SAD的总和。以此方式,可以用不同的误差度量在子块级别测量两个块之间的失真。这使得成本能够更准确地测量失真。

在一些实施例中,在4502,可以基于至少两个误差度量的线性加权和来确定成本。备选地,可以基于至少两个误差度量的非线性加权和来确定成本。应当理解,可以以任何其他合适的方式基于至少两个误差度量来确定成本。本公开的范围在此方面不受限制。

在一些实施例中,成本还可以指示边信息的量。例如,除了两个块之间的失真之外,成本还可以指示对边信息进行编解码所需的比特数。如本文中所使用的,术语“边信息”可以包括但不限于运动矢量差(MVD)、索引和/或残差。由此,根据这样的实施例的方法既取两个块之间的失真度,又取边信息的量,来确定两个块之间的成本以用于编解码数据的细化。因此,可以实现失真度和对边信息进行编解码所需的比特数之间的平衡。根据这样的实施例的方法可以有利地减少编解码比特,同时保持编解码质量。

在一些实施例中,在4502,可以基于误差项和调节项来确定成本。误差项可以指示两个目标块之间的失真度。调节项可以指示边信息的量。在一个示例中,可以将误差项确定为至少两个误差度量的加权和。参考图33,可以将误差项确定为两个块3330和3320之间的SAD和SATD的加权和,并且可以将调节项确定为用于运动矢量MV0和MV0'之间的运动矢量差MV

在一些实施例中,可以将调节项确定为用于对边信息进行编解码的比特数。参考图33,可以将用于与两个块3330和3332相关联的运动矢量MV0'和MV1'的比特数确定为调节项。备选地,可以将用于运动矢量差MV

在一些实施例中,编解码数据可以基于多个细化过程进行细化。在一个示例中,多个细化过程可以基于模板匹配。备选地,多个细化过程可以基于双边匹配。应当理解,多个细化过程还可以基于任何其他合适的算法。本公开的范围在此方面不受限制。

在一些实施例中,针对多个细化过程中的第一细化过程的第一成本与针对多个细化过程中的第二细化过程的第二成本可以不同地被确定。例如,假设应用多遍次解码器侧运动矢量细化。在这种情况下,针对第一遍次(例如,基于块的双边匹配MV细化)可以基于第一成本度量来确定成本。此外,针对第二遍次(例如,基于子块的双边匹配MV细化)可以基于第二成本度量来确定成本。第二成本度量可以不同于第一成本度量。因此,可以将不同的成本度量用于包含在多个细化处理中的各个过程。因此,成本可以更准确地测量失真。应当理解,上述说明和/或示例仅用于描述目的。本公开的范围在此方面不受限制。

在一些实施例中,可以基于第一成本和第一细化过程来细化编解码数据。此外,可以基于第二成本和第二细化过程来进一步细化经细化的编解码数据,以更新经细化的编解码数据。作为示例,在多遍次解码器侧运动矢量细化的情况下,可以基于SAD和SATD来确定针对基于子块的双边匹配MV细化的成本。另一方面,可以基于MR-SAD和MR-SATD来确定针对基于子块的双边匹配MV细化的成本。应当理解,以上说明和/或示例的描述仅仅是为了描述的目的。本公开的范围在此方面不受限制。

在一些实施例中,可以基于当前视频块的编解码信息来确定编解码数据是否基于多个细化过程而被细化。附加地或备选地,可以基于当前视频块的一个或多个邻近块的编解码信息来确定编解码数据是否基于多个细化过程而被细化。在另一个实施例中,可以基于当前视频块的编解码信息来确定至少两个误差度量的选择。附加地或备选地,可以基于当前视频块的一个或多个邻近块的编解码信息来确定至少两个误差度量的选择。在另外的实施例中,可以基于当前视频块的编解码信息来确定用于确定成本的成本度量的定义。附加地或备选地,用于确定成本的成本度量的定义可以基于当前视频块的一个或多个邻近块的编解码信息来确定。在又一个实施例中,用于至少两个误差度量的样本可以基于当前视频块的编解码信息来确定。附加地或备选地,用于至少两个误差度量的样本可以基于当前视频块的一个或多个邻近块的编解码信息来确定。在一个示例中,邻近块可以与当前视频块相邻。备选地,邻近块也可以与当前视频块不相邻。由此,可以自适应地确定编解码数据细化过程的设置并且因此可以有利地提高编解码效率。

在一些实施例中,编解码信息可以包括尺寸、时间层、低延迟检查标志和/或运动信息。例如,参考图33,编解码信息可以包括当前视频块3310的宽度。附加地或备选地,编解码信息可以包括当前视频块3310的邻近块的高度。应当理解,编解码信息还可以包括任何其他合适的信息。本公开的范围在此方面不受限制。

在一些实施例中,可以基于当前视频块的运动信息与当前视频块的邻近块的运动信息之间的相似性来确定编解码数据是否基于多个细化过程而被细化。附加地或备选地,可以基于当前视频块的运动信息与当前视频块的邻近块的运动信息之间的相似性来确定至少两个误差度量的选择。在另外的实施例中,可以基于当前视频块的运动信息与当前视频块的邻近块的运动信息之间的相似性来确定用于确定成本的成本度量的定义。在又一个实施例中,可以基于当前视频块的运动信息与当前视频块的邻近块的运动信息之间的相似性来确定用于至少两个误差度量的样本。由此,可以自适应地确定编解码数据细化过程的设置,从而可以有利地提高编解码效率。

在一些实施例中,至少两个误差度量的选择是基于被应用于当前视频块或一个或多个邻近块中的至少一项的编解码工具而被确定的。附加地或备选地,成本度量的定义也可以是基于被应用于当前视频块或一个或多个邻近块中的至少一项的编解码工具而被确定的。由此,编解码数据细化过程的设置可以适配于编解码工具,并且因此可以有利地提高编解码效率。

在一些实施例中,编解码工具可以包括局部照明补偿(LIC)。可以基于当前视频块的LIC标志来将SSD或MR-SSD确定为至少两个误差度量中的一个误差度量。作为示例,如果当前视频块的LIC标志为假,则至少两个误差度量可以包括SSD。另一方面,如果当前视频块的LIC标志为真,则至少两个误差度量可以包括MR-SSD。应当理解,以上说明和/或示例的描述仅仅是为了描述的目的。本公开的范围在此方面不受限制。

在一些实施例中,如果编解码数据基于模板匹配而被细化、并且至少两个误差度量包括MR-SAD、MR-SATD或MR-SSD,则针对确定被包括在两个目标块中的参考模板,不存在基于LIC过程中的线性模型的调整。也就是说,可以在不使用LIC过程中使用的线性模型的情况下导出参考模板。

在一些实施例中,如果编解码数据基于双边匹配而被细化、并且至少两个误差度量包括MR-SAD、MR-SATD或MR-SSD,则针对确定被包括在两个目标块中的参考块,不存在基于LIC过程中的线性模型的调整。也就是说,可以在不使用LIC过程中使用的线性模型的情况下导出参考块。

在一些实施例中,可以基于当前视频块的参考图片列表和/或参考图片信息来确定编解码数据是否基于多个细化过程而被细化。附加地或备选地,可以基于当前视频块的邻近块的参考图片列表和/或参考图片信息来确定编解码数据是否基于多个细化过程而被细化。在另一实施例中,可以基于当前视频块的参考图片列表和/或参考图片信息来确定至少两个误差度量的选择。附加地或备选地,可以基于当前视频块的邻近块的参考图片列表和/或参考图片信息来确定至少两个误差度量的选择。在另外的实施例中,可以基于当前视频块的参考图片列表和/或参考图片信息来确定用于确定成本的成本度量的定义。附加地或备选地,可以基于当前视频块的邻近块的参考图片列表和/或参考图片信息来确定用于确定成本的成本度量的定义。在又一个实施例中,可以基于当前视频块的参考图片列表和/或参考图片信息来确定用于至少两个误差度量的样本。附加地或备选地,可以基于当前视频块的邻近块的参考图片列表和/或参考图片信息来确定用于至少两个误差度量的样本。在一个示例中,邻近块可以与当前视频块相邻。备选地,邻近块也可以与当前视频块不相邻。由此,可以自适应地确定编解码数据细化过程的设置,从而可以有利地提高编解码效率。

在一些实施例中,至少两个误差度量可以包括第四误差度量和不同于第四误差度量的第五误差度量。第四误差度量可以用于针对当前视频块的第一参考图片列表,并且第五误差度量可以用于针对当前视频块和/或邻近块的第二参考图片列表。作为示例,参考图33,SAD可以用于当前视频块3310的参考图片列表ListL0,并且SATD可以用于当前视频块3310的参考列表图片ListL1。附加地,第五误差度量可以是第四误差度量的均值移除版本。例如,SAD可以用于当前视频块3310的参考图片列表ListL0,并且MR-SAD可用于当前视频块3310的参考图片列表ListL1。应当理解,这里描述的误差度量的可能实现仅仅是说明性的,因此不应被解释为以任何方式限制本公开。

在一些实施例中,至少两个误差度量可以包括第四误差度量和不同于所述第四误差度量的第五误差度量。第四误差度量可以用于针对当前视频块的第一参考图片,并且第五误差度量可以用于针对当前视频块和/或邻近块的第二参考图片。

在一些实施例中,可以基于针对当前视频块的一个或多个参考图片列表的成本来确定成本。附加地或备选地,可以基于针对邻近块的一个或多个参考图片列表的成本来确定成本。例如,可以基于当前视频块的每个参考图片列表的成本来确定最终成本。参考图33,可以将最终成本确定为参考图片列表ListL0的成本和当前视频块3310的参考图片列表ListL1的成本的加权和。

本公开的各实现方式可以参照以下条款进行描述,其特征可以以任何合理的方式组合。

条款1.一种用于视频处理的方法,包括:在视频的当前视频块与所述视频的比特流之间的转换期间,基于与所述视频的两个目标块相关联的至少两个误差度量来确定成本,所述成本指示所述两个目标块之间的失真度;基于所述成本和所述两个目标块,细化所述当前视频块的编解码数据;以及基于经细化的所述编解码数据,执行所述转换。

条款2.根据条款1所述的方法,其中所述至少两个误差度量包括以下至少一项:绝对差总和(SAD),均值移除绝对差总和(MR-SAD),绝对变换差总和(SATD),均值移除绝对变换差总和(MR-SATD),梯度信息,平方误差总和(SSE),均值移除平方误差总和(MR-SSE),平方差总和(SSD),均值移除平方差总和(MR-SSD),加权SAD,加权MR-SAD,加权SATD,加权MR-SATD,加权SSD,加权MR-SSD,加权SSE,或加权MR-SSE。

条款3.根据条款1-2中任一项所述的方法,还包括:在块级别或子块级别确定所述两个目标块之间的所述至少两个误差度量中的第一误差度量。

条款4.根据条款3所述的方法,还包括:确定所述两个目标块中的一个目标块中的第一子块与所述两个目标块中的另一个目标块中的第二子块之间的所述至少两个误差度量中的所述第一误差度量;以及确定所述两个目标块中的一个目标块中的第三子块与所述两个目标块中的另一个目标块中的第四子块之间的所述至少两个误差度量中的第二误差度量,所述第一误差度量不同于所述第二误差度量。

条款5.根据条款3所述的方法,其中在子块级别确定所述第一误差度量包括:确定所述两个目标块中的一个目标块中的第一子块与所述两个目标块中的另一个目标块中的第二子块之间的所述至少两个误差度量中的第二误差度量;以及确定所述两个目标块中的一个目标块中的第三子块与所述两个目标块中的另一个目标块中的第四子块之间的所述至少两个误差度量中的第三误差度量;以及基于所述第二误差度量和所述第三误差度量,确定所述第一误差度量。

条款6.根据条款1-4中任一项所述的方法,其中确定所述成本包括:基于以下一项来确定所述成本:所述至少两个误差度量的线性加权和,或所述至少两个误差度量的非线性加权和。

条款7.根据条款1-6中任一项所述的方法,其中所述成本还指示边信息的量。

条款8.根据条款7所述的方法,其中确定所述成本包括:确定指示所述两个目标块之间的所述失真度的误差项;确定指示所述边信息的所述量的调节项;以及基于所述误差项和所述调节项,确定所述成本。

条款9.根据条款8所述的方法,其中确定所述误差项包括:确定所述至少两个误差度量的加权和作为所述误差项。

条款10.根据条款8-9中任一项所述的方法,其中确定所述调节项包括:确定用于编解码所述边信息的比特数作为所述调节项。

条款11.根据条款1-10中任一项所述的方法,其中所述编解码数据基于多个细化过程而被细化,并且针对所述多个细化过程中的第一细化过程的第一成本与针对所述多个细化过程中的第二细化过程的第二成本不同地被确定。

条款12.根据条款11所述的方法,其中所述第一成本是与所述两个目标块相关联的成本,并且细化所述编解码数据包括:基于所述第一成本和所述第一细化过程,细化所述编解码数据;以及通过基于所述第二成本和所述第二细化过程细化经细化的所述编解码数据来更新经细化的所述编解码数据。

条款13.根据条款10-11中任一项所述的方法,其中所述多个细化过程中的至少一个细化过程是基于模板匹配。

条款14.根据条款1-13中任一项所述的方法,其中以下至少一项至少基于所述当前视频块和/或所述当前视频块的一个或多个邻近块的编解码信息而被确定:所述编解码数据是否基于多个细化过程而被细化,所述至少两个误差度量的选择,用于确定所述成本的成本度量的定义,或用于所述至少两个误差度量的样本。

条款15.根据条款14所述的方法,其中所述至少两个误差度量的所述选择和/或所述成本度量的所述定义是基于被应用于所述当前视频块或所述一个或多个邻近块中的至少一项的编解码工具而被确定的。

条款16.根据条款15所述的方法,其中所述编解码工具包括局部照明补偿(LIC)。

条款17.根据条款16所述的方法,其中确定所述成本包括:基于所述当前视频块的LIC标志,将SSD或MR-SSD确定为所述至少两个误差度量中的一个误差度量。

条款18.根据条款17所述的方法,其中如果所述当前视频块的所述LIC标志为假,则所述至少两个误差度量中的一个误差度量是SSD,或者如果所述当前视频块的所述LIC标志为真,则所述至少两个误差度量中的一个误差度量是MR-SSD。

条款19.根据条款16-18中任一项所述的方法,其中如果所述编解码数据基于模板匹配而被细化、并且所述至少两个误差度量包括MR-SAD、MR-SATD或MR-SSD之一,则针对确定被包括在所述两个目标块中的参考模板,不存在基于LIC过程中的线性模型的调整。

条款20.根据条款16-18中任一项所述的方法,其中如果所述编解码数据基于双边匹配而被细化、并且所述至少两个误差度量包括MR-SAD、MR-SATD或MR-SSD之一,则针对确定被包括在所述两个目标块中的参考块,不存在基于LIC过程中的线性模型的调整。

条款21.根据条款1-13中任一项所述的方法,其中以下至少一项至少基于所述当前视频块的尺寸、时间层或低延迟检查标志和/或所述当前视频块的一个或多个邻近块而被确定:所述编解码数据是否基于多个细化过程而被细化,所述至少两个误差度量的选择,用于确定所述成本的成本度量的定义,或用于所述至少两个误差度量的样本。

条款22.根据条款1-13中任一项所述的方法,其中以下至少一项至少基于所述当前视频块的运动信息与所述当前视频块的邻近块的运动信息之间的相似性而被确定:所述编解码数据是否基于多个细化过程而被细化,所述至少两个误差度量的选择,用于确定所述成本的成本度量的定义,或用于所述至少两个误差度量的样本。

条款23.根据条款1-13中任一项所述的方法,其中以下至少一项至少基于所述当前视频块的参考图片列表和/或参考图片信息、和/或所述当前视频块的邻近块的参考图片列表和/或参考图片信息而被确定:所述编解码数据是否基于多个细化过程而被细化,所述至少两个误差度量的选择,用于确定所述成本的成本度量的定义,或用于所述至少两个误差度量的样本。

条款24.根据条款23所述的方法,其中所述至少两个误差度量中的第四误差度量用于针对所述当前视频块和/或所述邻近块的第一参考图片列表,并且所述至少两个误差度量中的第五误差度量用于针对所述当前视频块和/或所述邻近块的第二参考图片列表,所述第四误差度量不同于所述第五误差度量。

条款25.根据条款23所述的方法,其中所述至少两个误差度量中的第四误差度量用于针对所述当前视频块和/或所述邻近块的第一参考图片,并且所述至少两个误差度量中的第五误差度量用于针对所述当前视频块和/或所述邻近块的第二参考图片,所述第四误差度量不同于所述第五误差度量。

条款26.根据条款24-25中任一项所述的方法,其中所述第五误差度量是所述第四误差度量的均值移除版本。

条款27.根据条款23所述的方法,其中所述成本是基于针对所述当前视频块和/或所述邻近块的一个或多个参考图片列表的成本而被确定的。

条款28.根据条款1-27中任一项所述的方法,其中所述编解码数据基于模板匹配或双边匹配而被细化。

条款29.根据条款1-28中任一项所述的方法,其中所述转换包括将所述当前视频块编码到所述比特流中。

条款30.根据条款1-28中任一项所述的方法,其中所述转换包括从所述比特流解码所述当前视频块。

条款31.一种用于处理视频数据的装置,包括处理器和在其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据条款1-30中任一项所述的方法。

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

条款33.一种存储视频的比特流的非暂态计算机可读记录介质,所述比特流由视频处理装置执行的方法生成,其中所述方法包括:基于与所述视频的两个目标块相关联的至少两个误差度量来确定成本,所述成本指示所述两个目标块之间的失真度;基于所述成本和所述两个目标块,细化所述视频的当前视频块的编解码数据;以及基于经细化的所述编解码数据,生成所述比特流。

条款34.一种用于存储视频的比特流的方法,包括:基于与所述视频的两个目标块相关联的至少两个误差度量来确定成本,所述成本指示所述两个目标块之间的失真度;基于所述成本和所述两个目标块,细化所述视频的当前视频块的编解码数据;基于经细化的所述编解码数据,生成所述比特流;以及将所述比特流存储在非暂态计算机可读记录介质中。

示例设备

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

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

如图46所示,计算设备4600包括通用计算设备4600。计算设备4600可以至少包括一个或多个处理器或处理单元4610、存储器4620、存储单元4630、一个或多个通信单元4640、一个或多个输入设备4650以及一个或多个输出设备4660。

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

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

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

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

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

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

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

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

在执行视频编码的示例实施例中,输入设备4650可以接收视频数据作为待编码的输入4670。视频数据可以由例如视频编解码模块4625处理,以生成经编码的比特流。经编码的比特流可以经由输出设备4660作为输出4680被提供。

在执行视频解码的示例实施例中,输入设备4650可以接收经编码的比特流作为输入4670。经编码的比特流可以由例如视频编解码模块4625处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备4660作为输出4680被提供。

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

相关技术
  • 一种电容触摸屏传感器制作方法、传感器及电子设备
  • 电子设备显示屏驱动芯片驱动方法、装置及电子设备
  • 电容传感装置、寄生电容补偿方法、电子设备和芯片
  • 电容传感装置和寄生电容补偿方法、电子设备
技术分类

06120116525280