[go: up one dir, main page]

CN119586139A - 用于视频处理的方法、装置和介质 - Google Patents

用于视频处理的方法、装置和介质 Download PDF

Info

Publication number
CN119586139A
CN119586139A CN202380052728.6A CN202380052728A CN119586139A CN 119586139 A CN119586139 A CN 119586139A CN 202380052728 A CN202380052728 A CN 202380052728A CN 119586139 A CN119586139 A CN 119586139A
Authority
CN
China
Prior art keywords
block
candidate
candidates
list
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202380052728.6A
Other languages
English (en)
Inventor
张娜
张凯
张莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN119586139A publication Critical patent/CN119586139A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

本公开的实施例提供了一种视频处理的解决方案,提出了一种视频处理的方法,该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的块矢量差(BVD)的符号预测;至少基于BVD的符号预测确定BVD;基于BVD进行转换。

Description

用于视频处理的方法、装置和介质
技术领域
本公开的实施例一般涉及视频编解码技术,并且更具体地,涉及块向量构建和运动候选列表构建。
背景技术
如今,数字视频功能正被应用于人们生活的各个方面。已经针对视频编码/解码,已经提出了多种类型的视频压缩技术,诸如MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4Part 10高级视频编解码(AVC)、ITU-TH.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准。然而,常规视频编解码技术的编解码效率通常非常低,这是不希望的。
发明内容
本公开的实施例提供了一种视频处理的解决方案。
在第一方面,提出了一种用于视频处理的方法。该方法包括:针对视频的当前视频块与所述视频的比特流之间的转换,确定所述当前视频块的块矢量差(BVD)的符号预测;至少基于所述BVD的符号预测确定所述BVD;以及基于所述BVD执行所述转换。根据本公开的第一方面的方法基于BVD的符号预测确定当前视频块的BVD。与传统方案相比,第一方面提出的方法可以有利地提高编解码有效性和编解码效率。
在第二方面,提出了另一种用于视频处理的方法。该方法包括:针对视频的当前视频块与所述视频的比特流之间的转换,基于以下至少一项确定与所述当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本,或与所述当前视频块相关联的块边界不连续性度量;基于所述成本对所述当前视频块执行处理;以及基于所述处理执行所述转换。根据本公开的第二方面的方法通过添加不同候选类型的运动候选来确定运动候选列表。与传统方案相比,第二方面提出的方法可以有利地提高编解码有效性和编解码效率。
在第三方面,提出了一种用于处理视频数据的装置。该视频数据处理装置包括处理器和其上具有指令的非暂态存储器。指令在由处理器执行时使得处理器执行根据本公开的第一或第二方面的方法。
在第四方面,提出了一种非暂态计算机可读存储介质。非暂态计算机可读存储介质存储使处理器执行根据本公开的第一或第二方面的方法的指令。
在第五方面中,提出了另一种非暂态计算机可读记录介质。非暂态计算机可读存储介质存储由视频处理装置执行的方法生成的视频的比特流。该方法包括:确定所述视频的当前视频块的块矢量差(BVD)的符号预测;至少基于所述BVD的符号预测确定所述BVD;以及基于所述BVD生成所述比特流。
在第六方面,提出了一种用于存储视频的比特流的方法。该方法包括:确定所述视频的当前视频块的块矢量差(BVD)的符号预测;至少基于所述BVD的符号预测确定所述BVD;基于所述BVD生成所述比特流;以及将比特流存储在非暂态计算机可读记录介质中。
在第七方面,提出了另一种非暂态计算机可读记录介质。非暂态计算机可读记录介质存储由视频处理装置执行的方法生成的视频的比特流。该方法包括:基于以下至少一项确定与所述视频的当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本,或与所述当前视频块相关联的块边界不连续性度量;基于所述成本对所述当前视频块执行处理;以及基于所述处理生成所述比特流。
在第八方面,提出了一种用于存储视频的比特流的方法。该方法包括:基于以下至少一项确定与所述视频的当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本,或与所述当前视频块相关联的块边界不连续性度量;基于所述成本对所述当前视频块执行处理;基于所述处理生成所述比特流;以及将所述比特流存储在非暂态计算机可读记录介质中。
提供本发明内容是为了以简化的形式介绍以下在具体实施例中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护主题的范围。
附图说明
通过参考附图的以下详细描述,本公开的示例实施例的上述和其他目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。
图1示出了根据本公开的一些实施例示出的示例视频编解码系统的框图;
图2示出了根据本公开的一些实施例示出的第一个示例视频编码器的框图;
图3示出了根据本公开的一些实施例示出的示例视频解码器的框图;
图4示出了显示空域合并候选的示例位置的示例图;
图5示出了显示考虑用于空域合并候选的冗余检查的候选对的示例图;
图6示出了显示用于时域合并候选的示例运动向量缩放的示例图;
图7示出了显示针对时域合并候选C0和C1的候选位置的示例图;
图8示出了显示当前块的VVC空域邻近块的示例图;
图9示出了显示虚拟块和当前块之间的关系的示例图;
图10示出了用于导出空域合并候选的空域邻近块的示例图;
图11A和图11B分别示出了VVC中的SbTMVP过程;
图12A-图12D分别示出了当前CTU处理顺序和当前CTU和左侧CTU中的可用样本;
图13示出了用于计算SAD的邻近样本;
图14示出了用于计算次CU级别运动信息的SAD的邻近样本;
图15示出了显示分类过程的示例图;
图16示出了示出编码器中的重排序过程的示例图;
图17示出了示出解码器中的重排序处理的示例图;
图18示出了示出在初始MV周围的搜索面积上执行模板匹配的示例图;
图19示出了显示模板匹配预测的示例图;
图20示出了所使用的帧内模板匹配搜索面积的示例图;
图21示出了在TIMD中所使用的模板及其参考样本的示例图;
图22示出了显示模板和模板的参考样本的示例图;
图23示出了显示参考列表0和参考列表1中的模板和模板的参考样本的示例图;
图24示出了显示针对具有子块运动的块,使用当前块的子块的运动信息的模板和模板的参考样本的示例图;
图25示出了显示针对具有子块运动的块,使用每个子模板的运动信息的示例图;
图26示出了显示用于具有OBMC的块的模板和模板的参考样本的示例图;
图27示出了显示具有正方形子块的哈希值的矩形块的运动估计的示例图;
图28示出了具有色度缩放架构的示例亮度映射;
图29示出了合并候选重排序ARMC-TM中的示例配对和重新排序之后附加配对候选;
图30A示出了显示针对空域候选的候选位置的示例图;
图30B示出了显示针对时域候选的候选位置的示例图;
图31示出了显示通过应用来自空域邻居的运动移位,从对应的同位子CU导出子CUbv运动场的示例图;
图32示出了显示示例帧内模板匹配的示例图;
图33A示出了示出当前图片外部的参考模板的示意图;
图33B示出了示出裁剪BV以使参考模板位于当前图片内部的示意图;
图34示出了使用的非相邻位置;
图35示出了示出用于IBC合并/AMVP候选列表的空域候选的示意图;
图36示出了示出模板和模板的参考样本的示意图;
图37示出了TMVP使用的示例位置;
图38示出了生成HAPC的示例;
图39示出了用于导出仿射合并候选的空域邻居;
图40示出了从非相邻邻居到构建的仿射合并候选的示例;
图41示出了基于控制点的仿射运动模型的示例;
图42示出了各子块的示例仿射MVF;
图43示出了继承仿射运动预测子的示例位置;
图44示出了示例控制点运动向量继承;
图45示出了构建仿射合并模式的候选位置的示例位置;
图46示出了所提出的组合方法的运动向量使用的示例性图示;
图47示出了示例子块MV VSB和像素Δv(i,j)(箭头);
图48示出了示例邻近重构块和当前预测块;
图49A和图49B分别示出了示出了角度模式的划分方法;
图50A-图50C分别示出了可用的IPM候选;
图50D示出了具有帧内和帧内预测的GPM的示例;
图51示出了模板上的边缘;
图52示出了示例相邻重构块和当前预测块;
图53A示出了有效IBC参考区域之外的示例参考模板;
图53B示出了显示通过相对于当前块的对应BV候选的BV而不是当前模板来定位参考模板的示例;
图54示出了根据本公开的一些实施例的用于视频处理的方法的流程图;
图55示出了根据本公开的一些实施例的用于视频处理的方法的另一流程图;
图56示出了其中可以实现本公开的各种实施例的计算设备的框图。
在附图中,相同或类似的附图标记通常指代相同或类似元素。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于示出并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。
在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科学术语和技术术语具有与本公开所属领域的普通技术人员共同理解的含义相同的含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。
本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包含”和/或“具有”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图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-4Visual,两个组织联合制定了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)4)成对平均MVP
5)零MV。
合并列表的大小在序列参数集头中通过信号传输,并且合并列表的最大允许大小是6。针对合并模式中的每个CU码,使用截断的一元二进制化(TU)对最佳合并候选的索引进行编码。合并索引的第一个仓(bin)使用上下文进行编码,而旁路编码用于其他仓。
每个类别的合并候选的导出过程在本节中提供。正如在HEVC中所操作的那样,VVC还支持在一定大小的面积内对所有CU的合并候选列表的并行导出。
2.1.1.空域候选导出
VVC中空域合并候选的导出与HEVC中的导出相同,只是前两个合并候选的位置被交换。图4示出了显示空域合并候选的示例位置的示例图400。在位于图4所示位置的候选中,最多选择四个合并候选。导出顺序为B1、A1B0、A0和B2。仅当位置B0、A0、B1和A1的一个或多于一个CU不可用时(例如,因为它属于另一个条带或图块)或被帧内编解码时,才考虑位置B2。在添加了位置A1处的候选之后,对剩余候选的添加进行冗余检查,该冗余检查确保具有相同运动信息的候选被从列表中排除,从而提高了编解码效率。图5示出了显示针对空域合并候选的冗余检查考虑候选对的示例图500。为了降低计算复杂度,在提到的冗余检查中并没有考虑所有可能的候选对。相反,只考虑图5中与箭头链接的对,并且仅用于冗余检查的对应候选不具有相同的运动信息,才将候选添加到列表中。
2.2.2.时域候选导出
在这个步骤中,仅一个候选被添加到列表中。特别地,在该时域合并候选的导出中,基于属于同位参考图片的同位CU来导出缩放运动向量。在条带头中显式地通过信号传输要用于导出同位CU的参考图片列表。图6示出了显示时域合并候选的示例运动向量缩放的示例图600。如图6中的虚线所示,获得了时域合并候选的缩放运动向量,该向量是使用POC距离tb和td从同位CU的运动向量缩放而来的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为同位图片的参考图片与同位图片之间的POC差。时域合并候选的参考图片索引被设置为等于零。
图7示出了显示时域合并候选C0和C1的候选位置的示例图700。时域候选的位置在候选C0和C1之间选择,如图7所示。如果位置C0处的CU不可用、被帧内编解码或在CTU的当前行之外,则使用位置C1。否则,在时域合并候选的导出中使用位置C0
2.1.3.基于历史的合并候选导出
基于历史的MVP(HMVP)合并候选被添加到空域MVP和TMVP之后的合并列表中。在该方法中,将先前编解码块的运动信息存储在表中,并用作当前CU的MVP。在编码/解码过程中维护具有多个HMVP候选的表。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块帧间编码CU时,将相关联的运动信息作为新的HMVP候选添加到表的最后一个条目。HMVP表大小S被设置为6,这指示可以向该表添加多达6个基于历史的MVP(HMVP)候选。当将新的运动候选插入到表中时,使用受约束的先进先出(FIFO)规则,其中首先应用冗余检查来发现表中是否存在相同的HMVP。如果找到,则从表中移除相同的HMVP,然后将所有HMVP候选向前运动。
HMVP候选可以用于合并候选列表构建过程。按顺序检查表中最接近的几个HMVP候选,并将其插入TMVP候选之后的候选列表中。对HMVP候选应用冗余检查以进行空域或时域合并候选。
为了减少冗余检查操作的数目,引入了以下简化:
1.用于合并列表生成的HMPV候选数目被设置为(N<=4)?M:(8-N),其中N指示合并列表中现有候选的数目,M指示表中可用HMVP候选的数目。
2.一旦可用合并候选的总数达到最大允许合并候选减1,则终止来自HMVP的合并候选列表构建过程。
2.1.4.成对平均合并候选导出
成对平均候选是通过对现有合并候选列表中的预定的候选对进行平均来生成的,并且预定的对被定义为{(0,1)、(0,2)、(1,2),(0,3)、(3,1),(2,3)},其中数字表示合并候选列表的合并索引。针对每个参考列表单独计算平均运动向量。如果两个运动向量在一个列表中都可用,则即使这两个运动向量指向不同的参考图片,也会对其进行平均;如果仅一个运动向量可用,则直接使用该运动向量;如果没有可用的运动向量,保持此列表无效。
当添加成对平均合并候选后合并列表未满时,将在最后插入零MVP,直到遇到最大合并候选数目。
2.2.新的合并候选
2.2.1非相邻合并候选导出
图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搜索轮次中的虚拟块。图9示出了显示了虚拟块和当前块之间的关系的示例图。在生成虚拟块之后,块Ai、Bi、Ci、Di和Ei可以被视为虚拟块的VVC空域邻近块,并且它们的位置是利用VVC中相同的样式获得的。显然,如果搜索轮次i为0,则虚拟块是当前块。在这种情况下,块Ai、Bi、Ci、Di和Ei是在VVC合并模式中使用的空域邻近块。
在构建合并候选列表时,进行修剪以保证合并候选列表中的每个元素是唯一的。最大搜索轮次被设置为1,这意味着使用了五个不相邻的空域邻近块。非相邻的空域合并候选按B1->A1->C1->D1->E1的顺序插入到时域合并候选之后的合并列表中。
2.2.2非相邻空域候选
非相邻空域合并候选在常规合并候选列表中的TMVP之后被插入。图10示出了示出用于导出空域合并候选的空域邻近块的示例图1000。空域合并候选的样式如图10所示。非相邻空域候选和当前编解码块之间的距离基于当前编解码块的宽度和高度。行缓冲限制没有被应用。
2.2.3STMVP
提出使用三个空域合并候选和一个时域合并候选来导出平均候选作为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模式关闭。
2.2.4合并列表大小
如果考虑非相邻合并候选和STMVP合并候选两者,则在序列参数集头中通过信号传输合并列表的大小,并且合并列表的最大允许大小增加(例如,8)。
2.3.基于子块的时域运动向量预测(SbTMVP)
VVC支持基于子块的时域运动向量预测(SbTMVP)方法。类似于HEVC中的时域运动向量预测(TMVP),SbTMVP使用同位图片中的运动场来改进当前图片中CU的运动向量预测和合并模式。TMVP使用的同一同位图片用于SbTMVP。SbTMVP与TMVP区别于以下两个主要方面:
–TMVP预测CU级别的运动,但是SbTMVP预测子CU级别的运动;
–而TMVP从同位图片中的同位块预取时域运动向量(同位块是相针对当前CU的右下或中心块),SbTMVP在从同位图片预取时域运动信息之前应用运动移位,其中运动移位是从来自当前CU的空域邻近块之一的运动向量获得的。
SbTMVP过程如图11A和图11B所示。SbTMVP分两步预测当前CU内的子CU的运动向量。图11A示出了显示SbTMVP使用的空域邻近块的示例图。在第一步中,检查图11A中的空域邻居A1。如果A1具有使用同位图片作为其参考图片的运动向量,则该运动向量被选择为要应用的运动移位。如果没有标标识出这种运动,则运动移位被设置为(0,0)。
图11B示出了通过应用来自空域邻居的运动移位并缩放来自相应同位子CU的运动信息来导出子CU运动场。在第二步中,应用步骤1中标识的运动移位(即添加到当前块的坐标),以从同位图片获得子CU级别运动信息(运动向量和参考索引),如图11B所示。图11B中的示例假设运动移位被设置为块A1的运动。然后,针对每个子CU,同位图片中的其对应块(覆盖中心样本的最小运动网格)的运动信息用于导出子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.4.帧内块复制(IBC)
帧内块复制(IBC)是HEVC对SCC扩展时采用的一种工具。众所周知,IBC显著提高了屏幕内容素材的编解码效率。由于IBC模式是作为块级别编解码模式被实现的,因此在编码器上执行块匹配(BM),以找到针对每个CU的最佳块向量(或运动向量)。这里,块向量用于指示从当前块到参考块的位移,而参考块已经在当前图片内被重构。IBC编解码的CU的亮度块向量是整数精度的。色度块向量也可以四舍五入到整数精度。当与AMVR结合时,IBC模式可以在1像素和4像素运动向量精度之间切换。IBC编解码的CU被视为帧内预测模式或帧间预测模式以外的第三种预测模式。IBC模式适用于宽度和高度均小于或等于64个亮度样本的CU。
在编码器端,针对IBC执行基于哈希的运动估计。编码器针对宽度或高度不大于16个亮度样本的块执行RD检查。针对非合并模式,块向量搜索首先使用基于哈希的搜索被执行。如果哈希搜索没有返回有效候选,基于块匹配的本地搜索被执行。
在基于哈希的搜索中,当前块和参考块之间的哈希键值匹配(32位CRC)被扩展到所有允许的块大小。针对当前图片中每个位置的哈希键值计算基于4x4子块。针对较大大小的当前块,当所有4×4子块的所有哈希键值与对应参考位置的哈希键值匹配时,哈希键值被确定与参考块的哈希键值匹配。如果发现多个参考块的哈希键值与当前块的哈希键值匹配,则计算每个所匹配的参考的块向量成本,并选择成本最小的一个块向量成本。
在块匹配搜索中,搜索范围被设置为覆盖先前的CTU和当前的CTU。
在CU级别,IBC模式利用标志通过信号传输,它可以作为IBC AMVP模式或IBC跳过/合并模式通过信号传输,如下所示:
–IBC跳过/合并模式:合并候选索引被用于指示来自邻近候选IBC编解码块列表中的哪些块向量被用于预测当前块。合并列表由空域、HMVP和成对候选组成。
–IBC AMVP模式:块矢量差经编解码的方式与运动向量差相同。块向量预测方法使用两个候选作为预测子,一个来自左侧邻居,一个来自上方邻居(如果IBC编解码的)当任一邻居不可用时,默认块向量将作为预测子被使用。标志通过信号被传输以指示块向量预测子索引。
2.4.1IBC向量预测的简化
IBC中针对合并模式和AMVP模式的BV预测子将共享一个共同预测子列表,该列表由以下元素组成:
·2个空域邻近位置(如图4所示的A0,B0),
·5个HMVP条目,
·默认为零向量。
针对合并模式,此列表的前6个条目最多被使用;针对AMVP模式,此列表的前2个条目将被使用。并且该列表符合共享合并列表区域要求(SMR内共享相同列表)。
2.4.2IBC参考区域
为了减少存储器消耗和解码器复杂性,VVC中的IBC只允许预定的面积的重构部分,预定的面积包含当前CTU的区域和左侧CTU的一些区域。图12A-图12D示出了示出当前CTU处理顺序和当前CTU和左侧CTU中可用样本的示例图1210、1230、1250和1270。图12A-图12D示出了IBC模式的参考区域,其中每个块表示64x64亮度样本单元。
根据当前CTU内当前编解码CU位置的位置,适用以下内容:
–如果当前块落入当前CTU的左上方64x64块中,那么除了当前CTU中已经重构的样本之外,还可以使用CPR模式参考左侧CTU的右下方64x64块中的参考样本。使用CPR模式,当前块还可以参考左侧CTU的左下方64x64块中的参考样本和左侧CTU的右上方64x64块中的参考样本。
–使用CPR模式,如果当前块落入当前CTU的右上方64x64块,则除了当前CTU中已经重构的样本之外,如果相针对当前CTU的亮度位置(0,64)尚未被重构,则当前块还可以参考左侧CTU的左下方64x64块和右下方64x64块中的参考样本;否则,当前块还可以参考左侧CTU的右下方64x64块中的参考样本。
–使用CPR模式,如果当前块落入当前CTU的左下方64x64块中,那么除了当前CTU中已经重构的样本之外,如果相针对当前CTU的亮度位置(64,0)尚未被重构,则当前块还可以参考左侧CTU的右上方64x64块和右下方64x64块中的参考样本。否则,使用CPR模式,当前块还可以参考左侧CTU的右下方64x64块中的参考样本。
–如果当前块落入当前CTU的右下方64x64块中,则只能使用CPR模式参考当前CTU中已经重构的样本。
该限制允许使用本地片上存储器实现IBC模式以用于硬件实现。
2.4.3IBC与其他编解码工具的交互
IBC模式与VVC中的其他帧间编解码工具,诸如成对合并候选、基于历史的运动向量预测子(HMVP)、组合帧内/帧间预测模式(CIIP)、具有运动向量差的合并模式(MMVD)和几何划分模式(GPM)之间的交互如下:
–IBC可以与成对合并候选和HMVP一起被使用。新成对IBC合并候选可以通过对两个IBC合并候选取均值来生成。针对HMVP,IBC运动被插入历史缓冲以供将来参考。
–IBC不能与以下帧间工具结合使用:仿射运动、CIIP、MMVD和GPM。
–DUAL_TREE划分被使用时,色度编解码块不允许IBC。
与HEVC屏幕内容编解码扩展不同,针对IBC预测,当前图片不再作为参考图片列表0中的参考图片之一被包含。针对IBC模式的运动向量的导出过程排除帧间模式中的所有邻近块,反之亦然。以下IBC设计方面被应用:
–IBC与常规MV合并共享相同的过程,包含成对合并候选和基于历史的运动预测子,但不允许TMVP和零向量,因为它们对IBC模式无效。
–用于常规MV和IBC的单独的HMVP缓冲(各5个候选)。
–块向量约束以比特流一致性约束的形式实现,编码器需要确保比特流中不存在无效向量,如果合并候选无效(超出范围或0),则合并不得被使用。这种比特流一致性约束用虚拟缓冲的形式表现,如下所述。
–针对去块,IBC按帧间模式被处置。
–如果当前块使用IBC预测模式经被编解码,AMVR不使用四分之一像素;相反,AMVR通过信号被传输仅指示MV是否是帧间像素还是4整数像素。
–IBC合并候选的数目可以在条带头中与常规、子块和几何合并候选的数目单独地通过信号被传输。
虚拟缓冲概念被用于描述针对IBC预测模式和有效块向量的允许参考区域。ctbSize代表CTU大小,虚拟缓冲ibcBuf的宽度为wIbcBuf=128x128/ctbSize,高度为hIbcBuf=ctbSize。例如,针对128x128的CTU大小,ibcBuf的大小也是128x128;针对64x64的CTU大小,ibcBuf的大小是256x64;针对32x32的CTU大小,ibcBuf的大小是512x32。
VPDU的大小在每个维度上都是min(ctbSize,64),Wv=min(ctbSize,64)。
虚拟IBC缓冲,ibcBuf被维护如下。
–在开始解码每个CTU行时,利用无效值-1刷新整个ibcBuf。
–在开始解码相针对图片左上方的VPDU(xVPDU,yVPDU)时,设置ibcBuf[x][y]=-1,其中x=xVPDU%wIbcBuf,…,xVPDU%wIbcBuf+Wv-1;y=yVPDU%ctbSize,…,yVPDU%ctbSize+Wv-1。
–在解码相针对图片左上方包含(x,y)的CU后,设置
–ibcBuf[x%wIbcBuf][y%ctbSize]=recSample[x][y]。
针对覆盖坐标(x,y)的块,如果以下针对块向量bv=(bv[0],bv[1])为真,则块有效;否则块无效:
ibcBuf[(x+bv[0])%wIbcBuf][(y+bv[1])%ctbSize]不应等于-1。
2.4.4IBC虚拟缓冲测试
亮度块向量bvL(1/16分数采样精度的亮度块向量)应遵循以下约束:–CtbSizeY大于或等于((yCb+(bvL[1]>>4))&(CtbSizeY-1))+cbHeight。
–IbcVirBuf[0][(x+(bvL[0]>>4))&(IbcBufWidthY-1)][(y+(bvL[1]>>4))&(CtbSizeY-1)]针对x=xCb..xCb+cbWidth-1和y=yCb..yCb+cbHeight-1不等于-1。
否则,bvL被视为无效bv。
样本以CTB为单位被处理。针对每个亮度CTB的阵列大小在宽度和高度上都是以样本为单位的CtbSizeY。
–(xCb,yCb)是当前亮度编解码块的左上方样本相针对当前图片的左上方亮度样本的亮度位置,
–cbWidth指定亮度样本中当前编解码块的宽度,
–cbHeight指定亮度样本中当前编解码块的高度。
2.5.基于模板匹配的自适应合并候选重新排序
为了提高编解码效率,在构建合并候选列表后,各合并候选的顺序根据模板匹配成本被调整。合并候选在列表中按照模板匹配成本按升序排列,以子组的形式来操作。
图13示出了显示用于计算SAD的邻近样本的示例图1300。图14示出了显示了用于计算子CU级别运动信息的SAD的邻近样本的示例图1400。模板匹配成本由当前CU的邻近样本与其对应的参考样本之间的SAD(绝对差和)来测量。如图13所示,如果合并候选包含双预测运动信息,则对应的参考样本是参考列表0中的对应的参考样本和参考列表1中的对应的参考样本的均值。如图14所示,如果合并候选包含子CU级别运动信息,对应的参考样本由对应的参考子块的相邻样本组成。
图15示出了分类过程的示意图1500。如图15所示,分类过程以子组的形式来操作。前三个合并候选被分类在一起。下面的三个合并候选被分类在一起。
模板大小(左侧模板的宽度或上方模板的高度)为1。子组大小为3。
2.6.自适应合并候选列表
我们可以假设合并候选的数目是8。我们将前5个合并候选作为第一个子组,将后面的3个合并候选作为第二子组(即最后的子组)。
图16示出了示出编码器中的重排序过程的示例图1600。针对编码器,在框1602构建合并候选列表后,一些合并候选按合并候选成本的升序自适应地重排序,如图16所示。
更具体地,在框1604,计算除最后的子组之外的所有子组中的合并候选的模板匹配成本;则在框1606,除最后的子组之外对其自己的子组中的合并候选重排序;最后,在框1608,得到最终合并候选列表。
图17示出了显示解码器中的重排序过程的示例图1700。针对解码器,在构建合并候选列表后,一些/没有合并候选按照合并候选成本的升序被自适应地重排序,如图17所示。在图17中,所选(信号)合并候选所在的子组称为所选择的子组。
更具体地,在框1702,如果所选择的合并候选位于最后的子组中,在框1704,在所选择的合并候选被导出之后,合并候选列表构建过程被终止,在框1706,重排序不被执行并且合并候选列表不被改变;否则,执行过程如下:
在框1708,在所选择的子组中的所有合并候选被导出之后,合并候选列表构建过程被终止;在框1710,计算针对所选择的子组中的合并候选的模板匹配成本;在框1712,重排序所选择的子组中的合并候选;最后,在框1714,得到新的合并候选列表。
针对编码器和解码器:
模板匹配成本是作为T和RT的函数导出的,其中T是模板中的样本集合,RT是用于模板的参考样本集合。
当导出合并候选的模板的参考样本时,合并候选的运动向量被四舍五入到整数像素精度。也可以使用8抽头或12抽头亮度插值滤波来导出。用于双向预测的模板(RT)的参考样本是通过如下对参考列表0(RT0)中的模板的参考样本和参考列表1(RT1)中模板的参考样本进行加权平均而导出的:
RT=((8-w)*RT0+w*RT1+4)>>3
其中参考列表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.7.模板匹配(TM)
模板匹配(TM)是解码器侧MV导出方法,用于通过找到当前图片中的模板(即,当前CU的顶部和/或左侧相邻块)与参考图片中的块(即,与模板大小相同)之间的最接近匹配来细化当前CU的运动信息。图18示出了显示在初始MV周围的搜索面积上执行的模板匹配的示例图1800。如图18所示,在[-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精度。
表1.AMVR的搜索样式以及与AMVR的合并模式
在合并模式中,类似的搜索方法被应用于由合并索引指示的合并候选。如表1所示,TM可以一直执行到1/8像素MVD精度,或者跳过超过半像素MVD精度的精度,这依赖于是否根据合并的运动信息使用替代插值滤波(当AMVR为半像素模式时使用)。此外,当启用TM模式时,模板匹配可以作为基于块和基于子块的双边匹配(BM)方法之间的独立过程或额外的MV细化过程来工作,这依赖于BM是否可以根据其启用条件检查来启用。
在编码器端,TM合并模式将对每个合并候选进行MV细化。
2.8.帧内模板匹配
模板匹配预测(TMP)是一种特殊的帧内预测模式,它从当前帧的重构部分复制最佳预测块,当前帧的L形模板与当前模板匹配。图19示出了显示模板匹配预测的示例图1900。针对预定的搜索范围,编码器在当前帧的重构部分中搜索与当前模板最类似的模板,并使用对应的块作为预测块。然后,编码器通过信号传输这种模式的用法,并且在解码器侧进行反操作。
模板匹配预测是一种编解码工具,主要适用于屏幕内容编解码。通过将当前块的L形因果邻近与预定的搜索面积中的另一块进行匹配,在解码器侧生成预测信号。图20示出了显示使用的帧内模板匹配搜索面积的示例图2000。具体而言,搜索范围分为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.9.基于模板的MPM帧内模式导出
图21示出了显示TIMD中使用的模板及其参考样本的示例图2100。TIMD模式使用相邻模板从MPM被导出。TIMD模式被用作CU的附加帧内预测方法。如图21所示,针对每个候选模式,使用模板及其参考样本生成模板的预测样本。成本被计算为模板的预测样本和重构样本之间的绝对变换差和(SATD)。具有最小成本的帧内预测模式被选择为TIMD模式,并用于CU的帧内预测。
2.9.1TIMD模式导出
针对MPM中的每种帧内预测模式,计算模板的预测与重构样本之间的SATD。选择SATD最小的帧内预测模式作为TIMD模式,用于当前CU的帧内预测。TIMD模式的导出支持位置相关的帧内预测组合(PDPC)和梯度PDPC。
2.9.2TIMD信令
在序列参数集(SPS)中以信号发出标志以启用/禁用所提出的方法。当标志为真时,发出CU级别标志以指示是否使用提出的TIMD方法。TIMD标志紧跟在MIP标志之后信号传输。如果TIMD标志等于真,则与亮度帧内预测模式相关的其余语法元素都将被跳过。
2.9.3与ECM-1.0中的新编解码工具的交互
当DIMD标志等于真时,TIMD标志不以信号传输并被设置为假。
TIMD允许与ISP和MRL组合。当TIMD与ISP或MRL组合且TIMD标志等于真时,所导出的TIMD模式被用作针对ISP或MRL的帧内预测模式。
当启用辅MPM时,主MPM和辅MPM都用于导出TIMD模式。
在TIMD模式的导出中不使用6抽头插值滤波。
2.9.4TIMD模式推导中MPM表构建的修改
在MPM列表的构建过程中,当邻近块被互编解码时,其帧内预测模式被导出为平面。为了提高MPM列表的准确性,当邻近块被互编解码时,利用运动向量和参考图片导出传播的帧内预测模式,并用于MPM列表的构建。
2.10.自适应合并候选列表
在下文中,模板是与当前块相邻或不相邻的重构样本的集合。根据当前块的相同运动信息导出模板的参考样本。例如,模板的参考样本是依赖于运动信息的模板的映射。在这种情况下,模板的参考样本由运动信息的参考索引所指示的参考图片中的运动信息的运动向量来定位。图22示出了显示模板和模板的参考样本的示例图2200。图22显示示例,其中RT表示当前模板T的参考样本。
当合并候选利用双向预测时,合并候选的模板的参考样本由RT表示,并且RT可以根据从参考图片列表0中的参考图片导出的RT0和从参考图片列表1中的参考图片导出的RT1而生成。在一个示例中,RT0包括由参考了参考列表0中的参考图片的合并候选的参考索引所指示的当前块的参考图片上的参考样本集合,其中合并候选的MV参考了参考列表0)。在一个示例中,RT1包括由参考了参考列表1中的参考图片的合并候选的参考索引所指示的当前块的参考图片上的参考样本集合,其中合并候选的MV参考了参考列表1)。图23示出了显示模板以及参考列表0和参考列表1中的该模板的参考样本的示例图2300。
在一个示例中,用于双向预测的模板的参考样本(RT)是通过对参考列表0中的模板的参考样本(RT0)和参考列表1中模板的参考样本(RT1)进行相等加权平均而导出的。一个例子如下:
RT=(RT0+RT1+1)>>1
在一个示例中,用于双向预测的模板的参考样本(RTbi-pred)是通过对参考列表0中的模板的参考样本(RT0)和参考列表1中模板的参考样本(RT1)进行加权平均而导出的。一个例子如下:
RT=((2N-w)*RT0+w*RT1+2N-1)>>N,例如,N=3。
在一个示例中,诸如(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)例如,如图22所示,在由合并候选的参考索引指示的当前块的参考图片上获得合并候选的模板的参考样本,该参考图片具有合并候选的MV或修改的MV(例如,根据项目符号a)-b))。
e)例如,当合并候选利用双向预测时,合并候选的模板的参考样本由RT表示,并且RT可以根据从参考图片列表0中的参考图片导出的RT0以及从参考图片列表1中的参考图片导出的RT1而生成。
[1]在一个示例中,RT0包括由参考了参考列表0中的参考图片的合并候选的参考索引所指示的当前块的参考图片上的参考样本集合,其中合并候选的MV参考了参考列表0)。
[2]在一个示例中,RT1包括由参考了参考列表1中的参考图片的合并候选的参考索引所指示的当前块的参考图片上的参考样本集合,其中合并候选的MV参考l参考列表1)。
[3]示例如图23所示。
f)在一个示例中,用于双向预测的模板的参考样本(RT)是通过对参考列表0中的模板的参考样本(RT0)和参考列表1中模板的参考样本(RT1)进行相等加权平均而导出的。一个示例如下:
RT=(RT0+RT1+1)>>1
g)在一个示例中,用于双向预测的模板的参考样本(RTbi-pred)是通过对参考列表0中的模板的参考样本(RT0)和参考列表1中模板的参考样本(RT1)进行加权平均而导出的。一个示例如下:
RT=((2N-w)*RT0+w*RT1+2N-1)>>N,例如,N=3。
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.11.自适应运动候选列表
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.12.自适应运动候选列表
针对子块运动预测,如果子块大小是Wsub*Hsub,上方模板的高度是Ht,左侧模板的宽度是Wt,则上方模板可以被视为具有Wsub*Ht大小的若干子模板的构成,左侧模板可以被视为具有Wt*Hsub大小的若干个子模板的构成。在以上述类似的方式导出每个子模板的参考样本之后,导出该模板的参考样本。图24示出了显示使用当前块的子块的运动信息的具有子块运动的块的模板和模板的参考样本的示例图2400。图25示出了显示使用每个子模板的运动信息的具有子块运动的块的模板和模板的参考样本的示例图2500。需要注意的是,以下提及的术语不限于现有标准中定义的特定术语。编解码工具的任何变化也适用。例如,术语“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.在一个示例中,子模板的运动信息可以从当前块中的其相邻子块导出(例如,复制)。示例如图24所示。
d.在一个示例中,为了导出子模板的参考样本,可以在不参考当前块中的子块的运动信息的情况下导出该子模板的运动信息。示例如图25所示。
i.在一个示例中,根据当前块的仿射模型来计算每个子模板的运动信息。
(i)在一个示例中,包含根据当前块的仿射模型计算的子模板的每个子块的中心样本的运动向量被视为子模板的运动向量。
(ii)在一个示例中,根据当前块的仿射模型计算的每个子模板的中心样本的运动向量被视为子模板的运动向量。
(iii)针对4参数仿射运动模型,块中采样位置(x,y)处的运动向量导出为:
(iv)针对6参数仿射运动模型,块中采样位置(x,y)处的运动向量导出为:
(v)针对(iii)和(iv),当前块的左上角、右上角和左下角的坐标是(0,0)、(W,0)和(0,H),当前块的左上、右上和左下角的运动向量是(mv0x,mv0y)、(mv1x,mv1y)和(mv2x,mv2y)。
(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.13.自适应运动候选列表
需要注意的是,以下提及的术语不限于现有标准中定义的特定术语。编解码工具的任何变化也适用。例如,术语“GPM”用于表示导出两组运动信息并使用导出的信息和划分样式来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。
注意,所提出的方法可以被应用于帧间编解码块(例如,平移运动)、仿射编解码块或IBC编解码块的合并候选列表构建过程;或者其他运动候选列表构建过程(例如正常AMVP列表、仿射AMVP列表和IBC AMVP列表)。
W和H是当前块(例如亮度块)的宽度和高度。
1.用于双向预测的模板或子模板的参考样本(RT)是通过对参考列表0中的模板或子模板的参考样本(RT0)和参考列表1中的模板或子模板的参考样本(RT1)进行相等地加权平均得出的。一个示例如下:
RT(x,y)=(RT0(x,y)+RT1(x,y)+1)>>1
2.用于双向预测的模板或子模板的参考样本(RT)是通过对参考列表0中的模板或子模板的参考样本(RT0)和参考列表1中的模板或子模板的参考样本(RT1)进行加权平均得出的。
a.一个示例如下:
RT(x,y)=(2N-w)*RT0(x,y)+w*RT1(x,y)+2N-1)>>N,例如,N=3.
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.在一个示例中,为了导出上方模板的参考样本,使用当前块的第一行中的子块及其上方相邻的邻近子块的运动信息。所有子模板的参考样本构成上方模板的参考样本。一个示例在图26中示出。图26示出了显示模板与具有OBMC的块的模板的参考样本的示例图2600。
b.在一个示例中,为了导出左侧模板的参考样本,使用当前块第一列中的子块及其左侧相邻的邻近子块的运动信息。并且所有子模板的参考样本构成左测模板的参考样本。一个示例如图26所示。
c.在一个示例中,子块尺寸为4x4。
d.基于邻近子块的运动向量的子模板的参考样本表示为PN,其中N表示邻近的上方和左侧子块的索引,基于当前块的子块的运动向量的子模板的参考样本表示为PC。针对基于垂直(水平)相邻子块的运动向量生成的PN,PN的同一行(列)中的样本以相同的加权因子添加到PC
i.子模板的参考样本(P)可以导出为P=WN*PN+WC*PC
ii.在一个示例中,如果上方模板的高度或左侧模板的宽度大于或等于4,则权重因子{1/4、1/8、1/16、1/32}用于PN的{第一、第二、第三、第四}行(列),并且权重因子{3/4、7/8、15/16、31/32}用于PC的{第一、第二、第三、第四}行(列)。
iii.在一个示例中,如果上方模板的高度或左侧模板的宽度大于或等于2,则加权因子{1/4,1/8}用于PN的{第一、第二}行(列),加权因子{3/4,7/8}用于PC的{第一、第二}行(列)。
iv.在一个示例中,如果上方模板的高度或左侧模板的宽度大于或等于1,则加权因子{1/4}用于PN的第一行(列),加权因子{3/4}用于PC的第一行(列)。
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.14.在图像/视频编解码中的编解码数据细化中使用的成本函数术语“块”可以表示编解码树块(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<<s)+W*RI,s),其中s和W是整数。
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.15.在图像/视频编解码数据细化中使用多种成本函数编解码术语“块”可以表示编解码树块(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是当前块(例如亮度块)的大小
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表示针对边信息的估计比特,Wi和Ei分别表示应用于第i个误差函数的权重和第i个误差函数的输出。
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)。
2.16.用于图像/视频编解码数据细化的样本
术语“块”可以表示编解码树块(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是当前块(例如亮度块)的大小
1.在编解码数据细化过程中的误差/成本估计可以依赖于对应于当前块的参考样本(例如,在双边匹配中使用的参考块)和对应于当前块的模板的参考样本。
a)备选地,它可能依赖于对应于当前块的参考样本和当前块模板中的样本。
b)在一个示例中,模板可以是当前块的邻近样本(相邻或非相邻)。
2.多个细化过程可以被应用于一个块,不同的模板被应用于至少两个细化过程。
a)在一个示例中,第一细化过程可以利用第一模板被调用。基于第一细化过程的输出,第二模板在第二细化过程中进一步被使用。
b)在一个示例中,与第二模板相比,第一模板可以涵盖更多样本。
c)在一个示例中,第一模板和第二模板可以包含至少一个不同的样本。
d)在一个示例中,第一细化过程和第二细化过程可以使用不同的成本/误差函数。
3.是否使用多个细化过程,和/或如何选择一个或多个误差函数和/或如何定义成本函数和/或误差函数中涉及哪些样本的解码信息可以依赖于当前块和/或邻近(相邻或非相邻)块。
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.备选地,此外,最终成本可以基于每个参考图片列表的成本。
4.在一个示例中,LIC可以针对参考列表X被启用并针对参考列表Y被禁用。
a)在一个示例中,当前块的最终预测可以是来自参考列表X的LIC预测和来自参考列表Y的常规预测的加权平均。
5.上述方法可以被应用于任何编解码数据细化过程,例如,针对基于模板编解码的块,针对基于双边编解码的块(例如VVC中的DMVR)。
2.17.自适应运动候选列表
需要注意的是,以下提及的术语不限于现有标准中定义的特定术语。编解码工具的任何变化也适用。例如,术语“GPM”用于表示导出两组运动信息并使用导出的信息和划分样式来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。
需要注意的是,所提出的方法可以被应用于合并候选列表构建过程,用于帧间编解码块(例如,平移运动)、仿射编解码块、TM编解码块、或IBC编解码块;或其他运动候选列表构建过程(例如,普通AMVP列表;仿射AMVP列表;IBC AMVP列表;HMVP表)。
除了模板匹配成本之外的成本函数也适用于运动候选重排序。
W和H是当前块(例如亮度块)的宽度和高度。
1.该模板/双边匹配成本C可以在被计算为f(C)之前,被用来与另一模板匹配成本比较。
a.在一个实例中,f(C)=w*C,其中w表示为成本因子。
b.在一个示例中,f(C)=w*C+u。
c.在一个示例中,f(C)=Shift((w*C),s)。
d.在一个示例中,w和/或u和/或s是整数。
e.在一个示例中,第一运动候选的第一模板匹配成本可以在与第二运动候选的第二模板匹配成本比较之前,乘以成本因子。
f.在一个示例中,提出的用于运动候选的成本因子可以依赖于在重排序候选之前的位置。
i.在一个示例中,在第i个位置处的运动候选可以被分配给比在第j个位置处的运动候选的成本因子更小的成本因子,其中j>i,例如j=i+1。
(i)在一个示例中,在第i个位置的运动候选的成本因子为4,并且在第j个位置的运动候选的成本因子为5。
(ii)在一个示例中,第i个位置处的运动候选的成本因子为1,第j个位置处的运动候选的成本因子为5。
ii.在一个示例中,在第i个位置处的运动候选可以被分配给比在第j个位置处的运动候选的成本因子更大的成本因子,其中j>i,例如j=i+1。
iii.在一个示例中,可以为第p组中的运动候选(例如包含M个运动候选)分配给比第q组中的运动候选(例如包含N个运动候选)的成本因子小的成本因子,其中q>p,例如q=p+1。
(i)备选地,第p组中的运动候选(例如包含M个运动候选)可以被分配给比第q组中的运动候选(例如包含N个运动候选)的成本因子更大的成本因子,其中q>p,例如q=p+1。
(ii)在一个示例中,M可以等于N。例如,M=N=2。
(iii)在一个示例中,M可以不等于N。例如,M=2,N=3。
(iv)在一个示例中,第p组的运动候选的成本因子为4,第q组的运动候选的成本因子为5。
(v)在一个示例中,第p组的运动候选的成本因子为1,第q组的运动候选的成本因子为5。
iv.在一个示例中,成本因子可以不被应用于子块运动候选。
v.在一个示例中,成本因子可以不被应用于仿射运动候选。
vi.在一个示例中,成本因子可以不被应用于SbTMVP运动候选。
g.在一个示例中,在一个组/位置中的运动候选的成本因子可以是自适应的。
i.在一个示例中,在一组/一个位置中的运动候选的成本因子可以依赖于编解码块的邻居的编解码模式。
(i)在一个示例中,SbTMVP合并候选的成本因子可以依赖于邻居仿射编解码块的数目。
(ii)在一个示例中,邻居编解码块可以包含五个空域邻近块(如图4所示)和/或时域邻近块(如图7所示)中的至少一个。
(iii)在一个示例中,当空域邻居仿射编解码块(如图4所示)的数目为0时,SbTMVP合并候选的成本因子可以为0.2;当空域邻居仿射编解码块(如图4所示)的数目为1时,SbTMVP合并候选的成本因子可以为0.5;当空域邻居仿射编解码块(如图4所示)的数目为2时,SbTMVP合并候选的成本因子可以为0.8;否则,SbTMVP合并候选的成本因子可以为1(这意味着保持不变)。
(iv)在一个示例中,当空域邻居仿射编解码块(如图4所示)的数目为0时,SbTMVP合并候选的成本因子可以为0.2;当空域邻居仿射编解码块(如图4所示)的数目为1时,SbTMVP合并候选的成本因子可以为0.5;当空域邻居仿射编解码块(如图4所示)的数目大于或等于2时,SbTMVP合并候选的成本因子可以为0.8。
(v)在一个示例中,当空域邻居仿射编解码块(如图4所示)的数目为0时,SbTMVP合并候选的成本因子可以为2;当空域邻居仿射编解码块(如图4所示)的数目为1时,SbTMVP合并候选的成本因子可以为5;当空域邻居仿射编解码块(如图4所示)的数目为2时,SbTMVP合并候选的成本因子可以为8;否则,SbTMVP合并候选的成本因子可以为10(其中仿射合并候选的成本因子为10)。
(vi)在一个示例中,当空域邻居仿射编解码块(如图4所示)的数目为0时,SbTMVP合并候选的成本因子可以为2;当空域邻居仿射编解码块(如图4所示)的数目为1时,SbTMVP合并候选的成本因子可以为5;当空域邻居仿射编解码块(如图4所示)的数目大于或等于2(其中仿射合并候选的成本因子为10)时,SbTMVP合并候选的成本因子可以为8。
2.针对不同的编解码模式,子组大小可以不同。
a.编解码模式可以包含常规/子块/TM合并模式。
i.针对常规合并模式,子组大小可以是K1(例如,K1=5)。
ii.针对子块合并模式,子组大小可以是K2(例如,K2=3)。
iii.针对TM合并模式,子组大小可以是K3(例如,K3=3)。
b.子组大小可以大于或等于用于子块合并模式的sps/图片/条带头中所定义的子块合并候选的最大数目(这意味着将整个列表重排序在一起)。
c.子组大小可以大于或等于用于TM合并模式的sps/图片/条带头中所定义的TM合并候选的最大数目(这意味着将整个列表重排序在一起)。
d.用于编解码模式的子组大小可以依赖于编解码模式中的运动候选的最大数目。
e.用于子块合并模式的子组大小可以自适应地依赖于邻居仿射编解码块的数目。
i.在一个示例中,邻居编解码块可以包含五个空域邻近块(如图4所示)和/或时域邻近块(如图7所示)中的至少一个。
ii.在一个示例中,当空域邻居仿射编解码块(如图4所示)的数目为0或1时,子块合并模式的子组大小可以为3;当空域邻居仿射编解码块(如图4所示)的数目大于1时,子块合并模式的子组大小可以为5;
3.针对不同的编解码模式,模板大小可以不同。
a.编解码模式可以包含常规/子块/TM合并模式。
i.针对常规合并模式,模板大小可以是K1(例如,K1=1)。
ii.针对子块合并模式,模板大小可以是K2(例如,K2=1、2或4)。
iii.针对TM合并模式,模板大小可以是K3(例如,K3=1)。
4.是否和/或如何对运动候选重排序可以依赖于邻居编解码块的编解码模式。
a.在一个示例中,邻居编解码块可以包含五个空域邻近块(如图4所示)和/或时域邻近块(如图7所示)中的至少一个。
b.当具有常规合并模式(如图4所示)的空域邻居编解码块的数目大于或等于K(例如,K=1)时,可以重排序规则合并候选。
c.当具有子块合并模式(如图4所示)的空域邻居编解码块的数目大于或等于K(例如,K=1)时,可以重排序子块合并候选。
d.当具有仿射合并模式(如图4所示)的空域邻居编解码块的数目大于或等于K(例如,K=1)时,可以重排序仿射合并候选。
e.当具有仿射合并模式(如图4所示)的空域邻居编解码块的数目大于或等于K(例如,K=1、2或3)时,可以重排序SbTMVP合并候选。
f.当具有TM合并模式(如图4所示)的空域邻居编解码块的数目大于或等于K(例如,K=1)时,可以重排序TM合并候选。
5.可以基于模板/双边匹配等,重排序HMVP表中的HMVP运动候选。
a.在一个示例中,HMVP候选被分配给运动成本,该HMVP候选被自适应地按照HMVP候选的成本降序重排序。
i.在一个示例中,HMVP候选成本可以是模板匹配成本。
b.在一个示例中,HMVP运动候选可以在编解码块之前被重排序。
i.在一个示例中,HMVP运动候选可以在编解码帧间编解码之前被重排序。
c.在一个示例中,HMVP运动候选可以根据当前块和/或邻近块的编解码信息以不同方式重排序。
一般权利要求
6.是否和/或如何应用上面公开的方法可以在序列级别/图片组级别/图片级别/条带级别/图块组级别通过信号传输,诸如在序列头/图片头/SPS/VPS/DPS/DCI/PPS/APS/条带头/图块组头中。
7.是否和/或如何应用上面所公开的方法可以在PB/TB/CB/PU/TU/CU/VPDU/CTU/CTU行/条带/图块/子图片/其它种类的包含多于一个样本或像素的区域中信号传输。
8.是否和/或如何应用上面公开的方法可以依赖于经编解码的信息,例如编解码模式、块大小、颜色格式、单/双树划分、颜色分量、条带/图片类型。
2.18.自适应GPM候选列表
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元,块可以是矩形或非矩形。
需要注意的是,下面提到的术语并不局限于现有标准中定义的特定术语。编解码工具的任何变化也都适用。例如,术语“GPM”用于表示导出两组或多组运动信息并使用导出的运动信息和划分模式/加权掩码来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。
需要注意的是,所提出的方法可以被应用于合并候选列表构建过程,用于帧间编解码块(例如,平移运动)、仿射编解码块、TM编解码块、GPM编解码块、或IBC编解码块;或其他运动候选列表构建过程(例如,普通AMVP列表;仿射AMVP列表;IBC AMVP列表;HMVP表)。除了模板匹配成本之外的成本函数也适用于运动候选重排序。
以下,模板是一组相邻当前块或非相邻当前块的重构/预测样本。模板的参考样本(即参考模板)是模板在参考图片中的映射,依赖于当前块的运动信息。“上方模板”表示由一组相邻当前块或非相邻当前块及其参考模板的重构/预测样本构建的模板。“左侧模板”指示由一组相邻当前块或非相邻当前块及其参考模板的重构/预测样本构建的模板。“上方模板和左侧模板”包括上方模板和左侧模板。
在下面,在一个示例中,GPM候选列表被称为OGPM列表,其中GPM候选直接源自规则合并列表(在基于或不基于模板匹配的运动细化之前);细化GPM候选列表,其中GPM候选通过第一细化方法(例如使用上方模板的模板匹配)细化,被称为AGPM列表;细化GPM候选列表,其中GPM候选通过第二细化方法(例如使用左侧模板的模板匹配)细化,被称为LGPM列表;细化GPM候选列表,其中GPM候选通过第三细化方法(例如使用左侧和上方模板的模板匹配)细化,被称为LAGPM列表。
W和H是当前块(例如亮度块)的宽度和高度。
1.所提出的针对GPM编解码块,经编解码的候选索引可以对应于用于GPM编解码块的候选列表中具有不同候选索引的候选。
a.备选地,此外,针对GPM编解码块构建的候选列表可以在被使用之前被重排序,并且经编解码的索引对应于重排序的候选列表。
b.备选地,此外,针对第一类型的GPM编解码块,候选列表可以被重排序,而针对第二类型的GPM编解码块,候选列表可以不被重排序。
i.在一个示例中,第一类型基于模板GPM编解码块。
ii.在一个示例中,第二类型基于MMVD的GPM编解码块(例如,GMVD)。
c.备选地,此外,针对第一类型的GPM编解码块,候选列表可以利用第一规则重排序,并且针对第二类型的GPM编解码块,候选列表可以利用第二规则重排序。
d.GPM编解码块的重排序方法可以与非GPM编解码块相同。
i.GPM编解码块的重排序方法可以与非GPM编解码块不同。
2.所提出的针对GPM编解码块,经编解码的候选索引可以对应于来自用于GPM编解码块的细化候选列表的候选。
a.备选地,此外,针对GPM编解码块构建的候选列表可以在被使用之前首先被细化,并且经编解码的索引对应于细化的候选列表。
b.备选地,此外,针对第一类型的GPM编解码块,候选列表可以被细化,而针对第二类型的GPM编解码块,候选列表可以不被细化。
i.在一个示例中,第一类型基于模板GPM编解码块。
ii.在一个示例中,第二类型基于MMVD的GPM编解码块(例如,GMVD)。
c.备选地,此外,针对第一类型的GPM编解码块,候选列表可以利用第一规则被细化,并且针对第二类型的GPM编解码块,候选列表可以利用第二规则被细化。
d.GPM编解码块的改进方法可以与非GPM编解码块相同。
i.GPM编解码块的精制方法可以与非GPM编解码块不同。
3.在一个示例中,GPM候选可以被划分为子组。是否和/或如何对
GPM候选重排序可以依赖于GPM候选的子组。
a.在一个示例中,仅第一个子组可以被重排序。
b.在一个示例中,最终一个子组不能被重排序。
c.在一个示例中,最终一个子组不能被重排序。但如果最终一个子组也是第一个子组,则可以被重排序。
d.不同的子组可以单独被重排序。
e.不同子组中的两个候选不能被比较和/或被重排序。
f.如果第一子组在第二子组之前,则在重排序之后,必须将第一子组中的第一候选置于第二子组中的第二候选之前。
4.在一个示例中,未被包含在重排序过程中的GPM候选可以按指定方式被处理。
a.在一个示例中,针对不需要被重排序的候选,将按照初始顺序排列在合并候选列表中。
b.在一个示例中,可以将不被重排序的候选置于将被重排序的候选之后。
c.在一个示例中,可以将不被重排序的候选置于将被重排序的候选之前。
5.将被重排序的GPM候选列表可以参考
情况1:针对两个GPM划分准备的第一候选列表,用于导出每个GPM划分的单独GPM候选列表。
情况2:针对每个GPM划分的第二GPM候选列表。通常第二GPM候选来自第一候选列表。
a.在一个示例中,在情况1中,重排序方法可以与用于常规合并候选列表的方法相同。
b.在一个示例中,在情况1中,如果对应的候选是双预测的,在重排序方法中的模板匹配方法可以以双向预测的方式进行。
c.在一个示例中,在情况2中,重排序方法中的模板匹配方法不能以双向预测的方式进行。
d.在一个示例中,在情况2中,针对所有GPM划分,重排序方法可以相同。
e.在一个示例中,在情况2中,针对不同的GPM划分,重排序方法可以而不同。
6.在上述示例中,GPM编解码块可以是具有合并模式的GPM编解码块、具有AMVP模式的GPM编解码块。
a.备选地,此外,上述合并候选可以由AMVP候选代替。
一般权利要求
7.是否和/或如何应用上面公开的方法可以在序列级别/图片组级别/图片级别/条带级别/图块组级别通过信号传输,诸如在序列头/图片头/SPS/VPS/DPS/DCI/PPS/APS/条带头/图块组头中。
8.是否和/或如何应用上面所公开的方法可以在PB/TB/CB/PU/TU/CU/VPDU/CTU/CTU行/条带/图块/子图片/其它种类的包含多于一个样本或像素的区域中信号传输。
9.是否和/或如何应用上面公开的方法可以依赖于经编解码的信息,例如编解码模式、块大小、颜色格式、单/双树划分、颜色分量、条带/图片类型。
2.19.自适应GPM候选列表
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元,块可以是矩形或非矩形。
需要注意的是,下面提到的术语并不局限于现有标准中定义的特定术语。编解码工具的任何变化也都适用。例如,术语“GPM”用于表示导出两组或多组运动信息并使用导出的运动信息和划分模式/加权掩码来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。
需要注意的是,所提出的方法可以被应用于合并候选列表构建过程,用于帧间编解码块(例如,平移运动)、仿射编解码块、TM编解码块、GPM编解码块、或IBC编解码块;或其他运动候选列表构建过程(例如,普通AMVP列表;仿射AMVP列表;IBC AMVP列表;HMVP表)。除了模板匹配成本之外的成本函数也适用于运动候选重排序。
以下,模板是一组相邻当前块或非相邻当前块的重构/预测样本。模板的参考样本(即参考模板)是模板在参考图片中的映射,依赖于当前块的运动信息。“上方模板”表示由一组相邻当前块或非相邻当前块及其参考模板的重构/预测样本构建的模板。“左侧模板”指示由一组相邻当前块或非相邻当前块及其参考模板的重构/预测样本构建的模板。“上方模板和左侧模板”包括上方模板和左侧模板。
在下面,在一个示例中,GPM候选列表被称为OGPM列表,其中GPM候选直接源自规则合并列表(在基于或不基于模板匹配的运动细化之前);细化GPM候选列表,其中GPM候选通过第一细化方法(例如使用上方模板的模板匹配)细化,被称为AGPM列表;细化GPM候选列表,其中GPM候选通过第二细化方法(例如使用左侧模板的模板匹配)细化,被称为LGPM列表;细化GPM候选列表,其中GPM候选通过第三细化方法(例如使用左侧和上方模板的模板匹配)细化,被称为LAGPM列表。
关于原始GPM候选列表中的GPM候选类型,第2.29节中GPM候选列表构建过程第一步所导出的GPM候选被称为基于GPM奇偶性的候选;在第2.29节GPM候选列表构建过程的第二步中所导出的GPM候选被称为基于反奇偶性的GPM候选;在第2.29节GPM候选者列表构建过程的第三步中所导出的GPM候选被称为"填充GPM的候选。
W和H是当前块(例如亮度块)的宽度和高度。
1.在一个示例中,如果编解码模式是GPM,则合并候选可以被重排序。
a.在一个示例中,OGPM列表中的合并候选可以被重排序。
i.在一个示例中,OGPM列表中的至少两个合并候选可以被重排序。
ii.在一个示例中,至少一种类型的模板可被用于OGPM列表重排序。
iii.备选地,OGPM列表中的合并候选项不能被重排序。
iv.在一个示例中,第一类型的模板可以仅包括当前块左侧的邻近样本。
v.在一个示例中,第二类型的模板可以仅包括当前块上方的邻近样本。
vi.在一个示例中,第三类型的模板可以包括当前块左侧和上方的邻近样本。
vii.重排序过程可以在解析过程之后但在MV重构过程之前被调用。
b.在一个示例中,AGPM列表中的合并候选可以被重排序。
i.在一个示例中,AGPM列表中的至少两个合并候选可以被重排序。
ii.在一个示例中,至少一种类型的模板可被用于AGPM列表重排序。
iii.在一个示例中,第一类型的模板可以仅包括当前块上方的邻近样本。
iv.在一个示例中,第二类型的模板可以包括当前块左侧和上方的邻近样本。
c.在一个示例中,LGPM列表中的合并候选可以被重排序。
i.在一个示例中,LGPM列表中的至少两个合并候选可以被重排序。
ii.在一个示例中,至少一种类型的模板可被用于LGPM列表重排序。
iii.在一个示例中,第一类型的模板可以仅包括当前块左侧的邻近样本。
iv.在一个示例中,第二类型的模板可以包括当前块左侧和上方的邻近样本。
d.在一个示例中,LAGPM列表中的合并候选可以被重排序。
i.在一个示例中,LAGPM列表中的至少两个合并候选可以被重排序。
ii.在一个示例中,至少一种类型的模板可被用于LAGPM列表重排序。
iii.在一个示例中,第一类型的模板可以仅包括当前块左侧的邻近样本。
iv.在一个示例中,第二类型的模板可以仅包括当前块上方的邻近样本。
v.在一个示例中,第三类型的模板可以包括当前块左侧和上方的邻近样本。
e.在一个示例中,是否和/或如何对GPM列表中的合并候选重排序可以依赖于编解码信息。
i.在一个示例中,是否对GPM列表中的合并候选重排序可以依赖于基于模板匹配的运动细化是应用于GPM划分还是两个GPM划分(即经GPM编解码的CU)。
(i)例如,如果GPM划分或两个GPM划分(即经GPM编解码的CU)的运动不是基于模板匹配细化的(例如,模板匹配标志等于假),则对应的GPM列表可能不被重排序。
a)例如,如果GPM划分是使用OGPM列表中的合并候选被编解码(例如,没有应用运动细化),则OGPM列表中的合并候选可能不被重排序。
(ii)例如,如果GPM划分或两个GPM划分的运动(即经GPM编解码的CU)基于模板匹配被细化(例如,模板匹配标志等于真),则对应的GPM列表可以被重排序。
a)例如,如果GPM划分是使用AGPM列表中的合并候选被编解码(例如,应用了使用上方模板的模板匹配运动细化方法),则AGPM列表中的合并候选可以被重排序。
b)例如,如果GPM划分是使用LGPM列表中的合并候选被编解码(例如,应用了使用左侧模板的模板匹配运动细化方法),则LGPM列表中的合并候选可以被重排序。
c)例如,如果GPM划分是使用LAGPM列表中的合并候选被编解码(例如,应用了使用左侧模板和上方模板的模板匹配运动细化方法),则LAGPM列表中的合并候选可以被重排序。
ii.在一个示例中,如何重排序GPM列表中的合并候选可以依赖于GPM划分信息(例如,划分模式、划分方度、划分距离等)。
(i)例如,上方模板可以被用于在当前GPM划分被第一划分方度(或划分模式、或划分距离等)划分的情况下对合并候选重排序。
(ii)例如,左侧模板可以被用于在当前GPM划分被第二划分方度(或划分模式、或划分距离等)划分的情况下重排序合并候选。
(iii)例如,左侧模板和上方模板可以被用于在当前GPM划分被第三划分方度(或划分模式、或划分距离等)划分的情况下重排序合并候选。
(iv)例如,可以指定对应于第一划分方度/第二划分方度/第三划分方度(或划分模式、或划分距离等)的模板类型。
(v)例如,至少一个查找表(即,映射表)被用于映射哪种指定的划分方度(或划分模式、或划分距离等)对应于哪种类型的模板(例如,上方模板、左侧模板、或上方模板和左侧模板。)
f.在一个示例中,OGPM列表中的合并候选可以不被重排序,并且AGPM列表和/或LGPM列表和/或LAGPM列表中的合并候选可以被重排序。
2.合并候选可以根据一个或一些准则在最终GPM候选列表中被自适应地重排序。
a.在一个示例中,GPM候选列表可以是
i.OGPM列表,
ii.AGPM列表,
iii.LGPM列表,
iv.LAGPM列表。
b.GPM候选可分为若干子组。
i.例如,子组中的GPM候选的数目(诸如X=3或5或任何其他整数值)可以是预定的。
c.在一个示例中,当前GPM候选列表构建过程的部分或全部过程首先被调用,随后在GPM列表中的候选被重排序。
i.备选地,可以重排序第一子组中的候选,并且将其添加到第二子组中的候选之前,其中第一子组被添加到第二子组之前。
ii.构建过程可以包含修剪方法。
d.在一个示例中,可以在取回合并候选之前自适应地重排序合并候选。
i.在一个示例中,可以在获得将在运动补偿过程中使用的合并候选之前,处理自适应地排列合并候选的过程。
e.该准则可以基于模板匹配成本。
i.在一个示例中,当前模板和参考模板之间的成本函数可以是
(i)SAD/MR-SAD,
(ii)SATD/MR-SATD,
(iii)SSD/MR-SSD,
(iv)SSE/MR-SSE,
(v)加权SAD/加权MR-SAD,
(vi)加权SATD/加权MR-SATD,
(vii)加权SSD/加权MR-SSD,
(viii)加权SSE/加权MR-SSE,
(ix)梯度信息。
3.当导出针对两个几何划分的两个运动时,该过程可以是
a.在一个示例中,如果TM没有被应用于一个划分,则可以根据来自OGPM列表/重排序OGPM列表的合并索引的信号传输导出运动。
b.在一个示例中,如果TM被应用于一个划分,则可以根据来自AGPM列表/重排序AGPM列表或LGPM列表/重排序LGPM列表或LAGPM列表/重排序LAGPM列表的信号传输合并索引导出运动,这依赖于划分方度和划分索引。
i.在一个示例中,如果划分方度为X(例如,0),则针对一个划分,将使用AGPM列表/重排序AGPM列表;针对第二个划分,将使用LAGPM列表/重排序LAGPM列表。
c.在一个示例中,如果TM被应用于一个划分,则可以根据来自AGPM列表/重排序AGPM列表的合并索引的信号传输导出运动。
d.在一个示例中,如果TM被应用于一个划分,则可以根据来自LGPM列表/重排序LGPM列表的信号传输合并索引导出运动。
e.在一个示例中,如果TM被应用于一个划分,则可以根据来自LAGPM列表/重排序LAGPM列表的信号传输合并索引导出运动。
4.是否和/或如何对GPM候选重排序可以依赖于GPM候选的类别。
a.在一个示例中,仅基于GPM奇偶性的候选可以被重排序。
b.在一个示例中,仅基于GPM奇偶性和GPM反奇偶性的候选可以被重排序。
c.在一个示例中,GPM填充的候选可以不被重排序。
d.在一个示例中,不同GPM列表中的两个候选不能被比较和/或重排序。
e.在一个示例中,仅前N个GPM候选可以被重排序。
i.在一个示例中,N被设置为等于5。
5.在上述示例中,GPM编解码块可以是具有合并模式的GPM编解码块、具有AMVP模式的GPM编解码块。
a.备选地,此外,上述合并候选可以由AMVP候选代替。
一般权利要求
6.是否和/或如何应用上面公开的方法可以在序列级别/图片组级别/图片级别/条带级别/图块组级别通过信号传输,诸如在序列头/图片头/SPS/VPS/DPS/DCI/PPS/APS/条带头/图块组头中。
7.是否和/或如何应用上面所公开的方法可以在PB/TB/CB/PU/TU/CU/VPDU/CTU/CTU行/条带/图块/子图片/其它种类的包含多于一个样本或像素的区域中信号传输。
8.是否和/或如何应用上面公开的方法可以依赖于经编解码的信息,例如编解码模式、块大小、颜色格式、单/双树划分、颜色分量、条带/图片类型。
2.20.基于哈希的针对屏幕内容编解码的运动估计
VTM参考软件使用基于哈希的运动估计来处置屏幕内容中有时较大且不规则的运动。针对每个参考图片,使用如下所示自下而上的方法生成对应于4x4到64x64块大小的哈希表:
–针对每个2x2块,直接从原始样本值计算块哈希值(如果4:2:0色度格式,则使用亮度样本,如果4:4:4色度格式,则使用亮度样本值和色度样本值)。循环冗余检查(CRC)值被用作哈希值。
–针对4x4、8x8、16x16、32x32和64x64块,当前块的哈希值是根据其四个子块的CRC值计算的CRC值。
为了能够针对所匹配的块的有效搜索,使用倒排索引的结构,其中哈希值被用于索引到表中,并且表条目涵盖具有与对应表索引相同哈希值的所有块。与给定表索引对应的块被存储为链表。针对每个块计算两个CRC值,一个是16位哈希,另一个是24位哈希。这两个哈希值的计算方式类似,但使用不同的CRC截断多项式。第一个16位CRC值被用作倒排索引。第二个24位哈希值与块一起被存储,以解决在找到多个匹配块的情况下的哈希冲突。为了减少哈希表的长度,所有“简单”块(被定义为每行或每列中仅一个样本值的块)的哈希值都从哈希表中被排除。在运动估计中,如果当前块是正方形块(128x128块除外),计算其哈希值。然后,编码器查询对应的哈希表。如果哈希匹配被找到,则将所匹配的块用作参考。如果当前块是大小为NxM的矩形块(在不失一般性的前提下,假设M>N),则将其划分为大小为NxN的几个非重叠正方形子块。图27示出了显示了具有正方形子块哈希值的矩形块的运动估计的示例图2700。图27中显示示例。编码器将找到第一非简单正方形子块并计算其哈希值。编码器在对应于NxN块大小的哈希表上查询此NxN正方形子块的哈希值。一个或多个所匹配的参考块被认为是参考块候选。针对每个所匹配的参考块候选,编码器将继续检查剩余的正方形子块(即图27中描绘的第一非简单正方形子块后面的白色区域)的哈希值是否等于与该参考块候选相邻的正方形子块的哈希值,如果所有正方形子块的哈希值都匹配,则该参考块候选将被视为有效的参考块。
针对帧间编解码,在测试所有编解码模式之前执行基于哈希的运动搜索。此外,编码器将在正常的运动估计过程中重使用哈希模式的MV作为起始点候选。如果存在基于哈希的运动向量,这表明该块最有可能涵盖屏幕内容,则跳过分数运动估计。
为了加速编码器,如果满足以下所有条件,则跳过ETM_MERGE_SKIP、ETM_AFFINE和ETM_MERGE_GPM模式的跳过和合并部分以及更细颗粒度块划分之外的编解码模式:
–当前块大小为64x64、128x64或64x128。
–在参考图片中找到相同的参考块。
–参考图片的QP不大于当前图片。
2.21.色度缩放和亮度映射(LMCS)
在VVC中,在环路滤波之前添加了一个称为色度缩放和亮度映射(LMCS)的编解码工具作为新处理块。LMCS有两个主要分量:1)基于自适应分段线性模型的亮度分量的环内映射;2)针对色度分量,应用依赖于亮度的色度残差缩放。图28示出了具有色度缩放架构2800的示例亮度映射的示例图2800。图28从解码器的方度显示了LMCS架构。图28中的浅蓝色阴影块指示了在映射域中应用处理的位置;这些包含反量化、反变换、亮度帧内预测以及亮度预测与亮度残差的添加。图28中的非阴影块指示了在原始(即,非映射)域中应用处理的位置;这些包含环路滤波,例如去块、ALF和SAO,运动补偿预测,色度帧内预测,色度预测与色度残差一起添加,并将解码图片存储为参考图片。图28中的浅黄色阴影块是新LMCS功能块,包含亮度信号的正向映射和反向映射以及依赖于亮度的色度缩放过程。与VVC中的大多数其他工具一样,可以使用SPS标志在序列级别启用/禁用LMCS。
2.21.1具有分段线性模型的亮度映射
亮度分量的环内映射通过在动态范围内重新分布码字来调整输入信号的动态范围,以提高压缩效率。亮度映射使用正向映射函数FwdMap和对应的反向映射函数InvMap。FwdMap函数使用具有16个相等片段的分段线性模型信号传输。InvMap函数不需要信号传输,而是从FwdMap函数导出。
亮度映射模型在自适应参数集(APS)语法结构信号传输,aps_params_type被设置为1(LMCS_APS)。在经编解码的视频序列中最多可以使用4个LMCS APS。图片只能使用1个LMCS APS。亮度映射模型使用分段线性模型信号传输。分段线性模型将输入信号的动态范围划分为16个相等的片段,针对每个片段,它的线性映射参数使用经分配给该片段的码字数来表示。以10位输入为例。16个片段中的每一个片段都将默认分配64个码字。信号传输的码字数目被用于计算缩放因子,并针对该片段对应地调整映射函数。在条带级别,信号传输LMCS启用标志,以指示LMCS过程是否如图28所示被应用于当前条带。如果针对当前条带LMCS被启用,则在条带头中信号传输aps_id,以标识携带亮度映射参数的APS。
FwdMap分段线性模型的每个第i个片段,i=0…15,由两个输入枢轴点InputPivot[]和两个输出(映射)枢轴点MappdPivot[]定义。
InputPivot[]和MappdPivot[]的计算如下(假设10位视频):
1)OrgCW=64。
2)针对i=0:16,InputPivot[i]=i*OrgCW。
3)针对i=0:16,MappdPivot[i]的计算如下:
MappdPivot[0]=0;
针对(i=0;i<16;i++)
MappdPivot[i+1]=MappdPivot[i]+信令CW[i]
其中信令CW[i]是针对第i个片段的码字的信令数目。
如图28所示,针对帧间编解码块,在映射域中执行运动补偿预测。换句话说,在基于DPB中的参考信号计算出运动补偿预测块之后,应用FwdMap函数将原始域中的亮度预测块映射到映射域,即Y′pred=FwdMap(Ypred)。针对帧内编解码块,不应用FwdMap函数,因为帧内预测是在映射域中执行的。在计算出重构块Yr之后,应用InvMap函数将映射域中的重构亮度值转换回原始域中的重构亮度值InvMap函数被应用于帧内编解码亮度块和帧间编解码亮度块。
亮度映射过程(正向映射和/或反向映射)可以使用查找表(LUT)或使用动态计算来实现。如果使用LUT,则FwdMapLUT和InvMapLUT可以被预先计算和预先存储以在图块组级别被使用,正向映射和反向映射可以简单地分别实现为FwdMap(Ypred)=FwdMapLUT[Ypred]和InvMap(Yr)=InvMapLUT[Yr]。备选地,可以使用动态计算。以正向映射函数FwdMap为例。为了找出亮度样本所属的片段,样本值右移6位(对应于16个相等的片段)。然后,取回该片段的线性模型参数并在动态中应用以计算映射的亮度值。设i为片段索引,a1、a2分别为InputPivot[i]和InputPivot[i+1],b1、b2分别为MappdPivot[i]和MappdPivot[i+1]。FwdMap函数的计算如下:
FwdMap(Ypred)=((b2-b1)/(a2--a1))*(Ypred-a1)+b1InvMap函数可以以类似的方式即时计算。通常,映射域中的片段大小不相等,因此最直接的反向映射过程需要比较,以找出当前样本值属于哪个片段。这种比较增加了解码器的复杂性。因此,VVC对输出轴点MappdPivot[i]的值施加了如下所示的双流约束。假设映射域的范围(针对10位视频,此范围为[0,1023])被分为32个相等的片段。如果MappdPivot[i]不是32的倍数,则MappdPivot[i+1]和MappdPivot[i]不能属于32个相等大小片段中的相同片段,即:MappdPivot[i+1]>>(BitDepthY-5)不等于MappdPivot[i]>>(BitDepthY-5)。由于这种比特流约束,InvMap函数也可以使用简单的右移5位(对应32个大小相等的片段)来执行,以找出样本值所属的片段。
2.21.2依赖于亮度的色度残差缩放色度残差缩放旨在补偿亮度信号与其对应色度信号之间的相互作用。色度残差缩放是否被启用也会在条带级别通过信号传输。如果启用亮度映射,则信号传输附加标志以指示是否启用依赖于亮度的色度残差缩放。当不使用亮度映射时,禁用依赖于亮度的色度残差缩放。此外,针对面积小于或等于4的色度块,始终禁用依赖于亮度的色度残差缩放。色度残差缩放依赖于当前VPDU的顶部和/或左侧重构邻近亮度样本的均值。如果当前CU为帧间128x128、帧间128x64和帧间64x128,则针对与第一个VPDU关联的CU导出的色度残差缩放因子被用于该CU中的所有色度变换块。avgYr表示重构的邻近亮度样本的均值(见图28)。CScaleInv的值按以下步骤计算:
1)根据InvMap函数,查找avgYr所属分段线性模型的索引YIdx
2)CScaleInv=cScaleInv[YIdx],其中cScaleInv[]是基于SignalledCW[i]的值和APS中用于色度残差缩放过程的偏移值预先计算的16个片段的LUT。
与亮度映射不同,CScaleInv是整个色度块的恒定值。使用CScaleInv,色度残差缩放如下:
编码器侧:CResScale=CRes*CScale=CRes/CScaleInv
解码器侧:CRes=CResScale/CScale=CResScale*CScaleInv
2.21.3编码器侧LMCS参数估计
VTM编码器中提供了一种非规范性参考实现以估计LMCS模型参数。由于VTM锚点处理SDR、HDR PQ和HDR HLG的方式不同,因此VTM13中的参考算法针对SDR、HDR PQ和HDR HLG序列设计不同。针对SDR和HDR HLG序列,编码器算法基于本地亮度方差,并针对PSNR度量进行优化。针对HDR PQ序列,编码器算法基于亮度值,并针对wPSNR(加权PSNR)度量进行优化。
2.22.关于成对合并候选
图29示出了示例图2900,其显示合并候选重新排序ARMC-TM中的示例成对以及重新排序之后的附加成对候选。在本文中,成对候选被从常规合并候选导出中删除。当合并候选不重复时,合并候选会在使用模板匹配(ARMC-TM)对合并候选进行自适应重新排序期间被添加,如图29所示。成对是用两个最先重新排序的候选构建的。重新排序的候选数目与ECM2.0实现中的数目以及计算的模板匹配成本的数目相同。
当第一重新排序候选和第二重新排序候选的参考帧相同时,成对候选也被限制为仅使用平均候选。
此外,如果创建的成对不是重复的,则未重新排序的子组中的每个合并候选将被第一个候选和该候选之间的成对替换。
2.23.IBC运动候选
下面的详细实施示例应被视为解释一般概念的示例。这些实施例不应被狭隘地解释。此外,这些实施例可以以任何方式组合。
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元,块可以是矩形或非矩形。
对于经IBC编解码的块,块向量(BV)用于指示从当前块到参考块的位移,参考块已经在当前图片内重构。
W和H是当前块(例如,亮度块)的宽度和高度。
当前编解码块的非相邻空域候选是第i轮搜索中虚拟块的相邻空域候选(如图9所示)。用于第i轮搜索的虚拟块的宽度和高度的计算公式为:newWidth=i×2×gridX+W,newHeight=i×2×gridY+H。显然,如果搜索轮i是0,虚拟块为当前块。
下文中,BV预测子也是BV候选。跳过模式也是合并模式。BV候选可以根据某些准则分为几组。每个组称为子组。例如,我们可以将相邻的空域和时域BV候选作为第一子组,并将剩余的BV候选作为第二子组;在另一个例子中,我们还可以将前N(N≥2)个BV候选作为第一子组,将后面的M(M≥2)个BV候选作为第二子组,并将剩余的BV作为第三小组的候选。
关于BV候选的使用
1.如果BV候选(例如BV搜索点或BV预测子)无效,则该BV候选被禁止用于块的编解码过程。
a.在一个示例中,只有当BV候选有效时,它才可以在块的编码/解码过程中被使用。
i.例如,仅当BV候选有效时,它才可被用于BV搜索或BV预测。
b.在一个示例中,是否在块的编码/解码过程中使用BV候选可以取决于BV候选的有效性检查。
i.在一个示例中,在将新的BV候选插入到BV候选列表中之前,需要执行BV候选的有效性检查。
c.只有当BV候选有效时,它才可以被插入到IBC候选列表中。
i.在一个示例中,IBC候选列表可以是IBC合并候选列表。
ii.在一个示例中,IBC候选列表可以是IBC AMVP候选列表。
iii.在一个示例中,IBC候选列表可以是IBC模板匹配候选列表。
iv.在一个示例中,IBC候选列表可以是帧内模板匹配候选列表。
v.在一个示例中,IBC候选列表可以是IBC MMVD候选列表。
vi.在一个示例中,IBC候选列表可以是IBC GPM候选列表。
vii.在一个示例中,IBC候选列表可以是IBC TPM候选列表。
viii.在一个示例中,IBC候选列表可以是与经IBC编码的块相关的任何列表,即,采用相同的程序。
(i)可选地,是否允许将无效的BV候选添加到IBC候选列表中可以取决于解码信息(例如,IBC模式)。
d.仅当BV候选有效时,它才可被用于针对IBC的基于哈希的搜索。
e.仅当BV候选有效时,它才可被用于基于块匹配的IBC本地搜索。
f.只有当BV候选有效时,它才可以被用于帧内模板匹配。
g.此外,可选地,上述BV候选可以是来自特定相邻块(例如,相邻或非相邻)或HMVP表的那些BV候选,或者是从这些BV候选生成的一些虚拟候选。
h.此外,可选地,上述BV候选可能会排除一些默认候选(例如默认零向量)。
i.此外,可选地,当BV候选被标记为无效时,可以使用从无效BV候选导出的虚拟候选来替代。
i.在一个示例中,虚拟候选可以通过向无效BV候选添加偏移量来被导出。
ii.在一个示例中,虚拟候选可以通过对无效BV候选应用裁剪函数来被导出。
BV候选的验证检查
2.在一个示例中,当BV候选满足以下条件之一或至少一个条件的组合时,可以被确定为有效。
a.对应的参考块已经在当前图片内重构。
b.对应的参考块位于与当前块相同的CTU行中。
c.对应的参考块位于与当前块相同的图块/子图片中。
d.对应的参考块与当前块位于同一个条带中。
e.BV候选满足块向量约束(例如2.4.2和2.4.3中描述的)。
f.BV候选满足IBC虚拟缓冲条件(例如2.4.4中描述的)。
3.在一个示例中,当BV候选违反第2项中的条件之一或至少一个条件的组合时,可以将其确定为无效。
关于BV候选列表
4.BV候选可以从非相邻块导出/获得。
a.在一个示例中,非相邻空域候选和当前编解码块之间的距离可以基于当前编解码块的宽度和高度(例如图9或图10,gridX=W,gridY=H)。
i.备选地,非相邻空域候选和当前编解码块之间的距离可以是恒定值的倍数。
(i)例如,乘法因子依赖于搜索轮次索引(例如,第i个搜索轮的乘法因子为i),且gridX=M,gridY=N(M和N是恒定值)。
b.在一个示例中,非相邻空域候选可以在TMVP候选之后被插入。
i.备选地,非相邻空域候选可以被插入到相邻空域候选之后、TMVP候选之前。
5.BV候选可以来自空域邻近块、时域邻近块、HMVP、成对和/或STMVP候选。图30A示出了显示空域候选位置的示例图3000。图30B示出了显示时域候选位置的示例图3050。
a.在一个示例中,空域候选可以由相邻和/或非相邻空域候选组成。
i.在一个示例中,相邻空域候选可以由左侧和/或上方和/或右上方和/或左下方和/或左上方空域候选组成(示例在图30A中示出)。
b.在一个示例中,针对TMVP候选,如图30B)所示,在候选C0和C1之间选择用于时域候选的位置。如果位置C0处的CU不可用,是帧内编解码的,在CTU的当前行之外或其BV针对当前块无效,则使用位置C1。否则,位置C0被用于TMVP候选的导出。
i.备选地,针对TMVP候选,可以使用如图30B所示的候选C0和C1两者。
(i)例如,顺序是C0->C1。
(ii)备选地,顺序为C1->C0。
c.在一个示例中,针对成对候选,成对平均候选是通过对现有BV候选列表中的预定的候选对求均值来生成的,并且预定的对被定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中数目代表BV候选对BV候选列表的索引。
i.在一个示例中,成对候选的数目为P。P是从0到6的整数。
ii.在一个示例中,可以在HMVP之后插入成对候选。
d.在一个示例中,针对STMVP候选,通过对预定的E空域BV候选和预定的G时域BV候选求均值来生成。
i.在一个示例中,E小于或等于在STMVP之前被插入到当前BV候选列表中的空域候选数(F)。
ii.在一个示例中,预定的E空域BV候选可以是在STMVP之前,被插入到当前BV候选之中的在F空域候选中的第一E空域BV候选。
(i)备选地,预定的E空域BV候选可以是在STMVP之前,被插入到当前BV候选列表之中的在F空域候选中的所选择的E空域BV候选。
iii.在一个示例中,E是2,G是1。
iv.在一个示例中,STMVP可以被插入到左上方空域BV候选之前。
v.在一个示例中,STMVP可以被插入到成对候选之后。
e.在一个实例中,BV候选插入顺序为相邻空域->HMVP->成对。
f.在一个示例中,BV候选插入顺序是相邻空域->时域->HMVP->成对。
g.在一个示例中,BV候选插入顺序为相邻空域->时域->非相邻空域->HMVP->成对。
h.在一个示例中,BV候选插入顺序为相邻空域>非相邻空域>HMVP->成对。
i.在一个示例中,BV候选插入顺序是相邻空域(STMVP被插入到空域BV候选之前)->时域->非相邻空域->HMVP->成对。6.BV候选列表也可能由BV经裁剪的BV候选组成。
a.在一个示例中,如果从第3个项目符号的意义上来说BV候选是无效的,则可以按照给定规则将其转换为有效BV,然后将其插入到BV候选列表中。
i.在一个示例中,BV候选可以被转换为最接近的有效BV候选。
ii.在一个示例中,BV候选可以从预定的BV候选集转换为最接近的有效BV候选。
b.在一个示例中,如果非零BV候选无效,则可以将其裁剪到最接近的有效BV,然后插入到BV候选列表中。
c.在一个示例中,如果非零BV候选无效,则可以从预定的BV候选集裁剪到最接近的有效BV,然后将其插入到BV候选列表中。
i.在一个示例中,预定的BV候选集可以由(-m*W,0),(0,-n*H),(-m*H,0),(0,-n*W)组成。m和n均为正值
d.在一个示例中,经裁剪的BV候选可以被插入到未经裁剪的BV候选之后。
7.BV候选列表可以被用作IBC合并/AMVP候选列表。
a.备选地,BV候选列表可以被用于导出IBC合并/AMVP候选列表。
i.在一个示例中,针对IBC合并模式,BV候选列表的前R个条目将被用于构建IBC合并候选列表;针对IBC AMVP模式,BV候选列表的前S个条目将被用于构建IBC AMVP候选列表。
(i)在一个示例中,R是6,S是2。
8.在一个示例中,基于子块的时域块向量预测(SbTBVP)可以被支持作为BV候选或BV预测模式。图31示出了示例图3100,该示例图显示了通过应用空域邻居的运动偏移,从相应的拼同位子CU导出子CUbv运动场。
a.与SbTMVP类似,SbTBVP使用同位图片中的BV运动场来提高块向量预测和当前图片中的针对CU的IBC合并模式。TMVP使用相同的同位图片被用于SbTBVP。
b.在一个示例中,SbTBVP在从同位图片获取时域BV信息之前应用运动移位,其中运动移位是从当前CU的空域邻近块之一的运动向量获得的(示例在图31中示出)。
i.在一个示例中,如果A1具有使用同位图片作为其参考图片的运动向量,则选择该运动向量作为待应用的运动移位。如果这种运动没有被标识,则将运动移位被设置为(0,0)。
ii.在一个示例中,可以使用其他空域候选位置(例如A0、B0、B1、B2)来导出运动移位。
(i)在一个示例中,检查顺序可以是A1->B1->B0->A0->B2。
(ii)在一个示例中,检查顺序可以是B1->A1->B0->A0->B2。
(iii)在一个示例中,检查顺序可以是A0->A1->B0->B1->B2。
c.在一个示例中,在导出运动移位之后,针对每个子CU,同位图片中其对应块(覆盖中心样本的最小运动网格)的BV信息被用于导出子CU的BV信息(图31中的示例),假定运动移位被设置为块A1的运动。
关于BV候选列表的重排序
9.首先导出初始BV候选列表,然后进行重排序/细化过程。并且重排序/细化列表被用于块的编解码/解码过程。
a.在一个示例中,IBC候选列表可以是IBC合并候选列表。
b.在一个示例中,IBC候选列表可以是IBC AMVP候选列表。
c.在一个示例中,IBC候选列表可以是IBC模板匹配候选列表。
d.在一个示例中,IBC候选列表可以是帧内模板匹配候选列表。
e.在一个示例中,IBC候选列表可以是IBV MMVD候选列表。
f.在一个示例中,IBC候选列表可以是IBC GPM候选列表。
g.在一个示例中,IBC候选列表可以是IBC TPM候选列表。
h.备选地,重新排序/细化过程可以不被应用于IBC AMVP候选列表。
i.备选地,重新排序/细化过程可以不被应用IBC GPM候选列表。
j.备选地,重新排序/细化过程可以不被应用于IBC TPM候选列表。
k.在一个示例中,重新排序/细化过程可以被用于与所有种类的IBC编解码快,即,相同过程被应用。
i.备选地,是否应用重新排序/细化过程可以取决于解码信息(例如,IBC模式)。
(i)在一个示例中,被应用于IBC合并/跳过模式,但不应用于IBC AMVP模式。
10.BV候选可以根据一个或一些准则在最终BV候选列表中被自适应地重排序。
a.在一个示例中,当前BV候选列表构建过程的部分或全部过程首先被调用,随后是列表中候选的重排序。
i.备选地,可以重排序第一子组中的候选,并且它们应该在第二子组中的那些候选之前被添加,其中第一子组在第二子组之前被添加。
b.在一个示例中,BV候选列表中的所有BV候选可以一起重新排序(即没有子组)。
i.备选地,BV候选列表中的部分BV候选可能会重新排序在一起(即没有子组)。
(i)可以基于编解码信息或信令来选择要重新排序的BV候选。
c.在一个示例中,准则可以基于模板匹配成本。
i.在一个示例中,当前模板和参考模板之间的成本函数可以是
(i)SAD/MR-SAD,
(ii)SATD/MR-SATD,
(iii)SSD/MR-SSD,
(iv)SSE/MR-SSE,
(v)加权SAD/加权MR-SAD,
(vi)加权SATD/加权MR-SATD,
(vii)加权SSD/加权MR-SSD,
(viii)加权SSE/加权MR-SSE,
(ix)梯度信息。
ii.在一个示例中,如果LMCS被启用,则当前模板和参考模板可以由映射域中的样本组成。
(i)备选地,当前模板和参考模板可以由原始域中的样本组成。
iii.在一个示例中,每个子组中的BV候选可以根据基于模板匹配的成本值按升序重排序。
iv.在一个示例中,如果针对当前块仅上方模板可用,则模板匹配重排序只能使用上方模板。
v.在一个示例中,如果针对当前块仅左侧模板可用,则模板匹配重排序只能使用左侧模板。
vi.在一个示例中,如果针对当前块上方模板和左侧模板都可用,则模板匹配重排序可以使用左侧模板、上方模板或上方模板和左侧模板。
vii.在一个示例中,模板匹配过程可以包括一个分量,例如亮度。
(i)备选地,模板匹配程序可以包括多个分量,例如亮度和色度。
a)在一个示例中,总模板匹配成本可以被计算为不同颜色分量上的模板匹配成本的加权和。
viii.在一个示例中,左侧模板的宽度和/或上方模板的高度可以是固定的。
(i)在一个示例中,左侧模板的宽度可以是1。
(ii)在一个示例中,上方模板的高度可以是1。
ix.在一个示例中,用于定位参考模板的BV可以被裁剪。图32A示出了示出参考模板在当前图片之外的示例图3200。图32B示出了示出剪辑BV以使参考模板位于当前图片内部的示例图3250。
(i)在一个示例中,如果参考模板位于当前图片之外(如图33A所示),则可以对用于定位参考模板的BV进行剪辑,以使参考模板位于当前图片之内。剪辑操作不会改变相应BV候选的BV。图33B中示出了一个示例。
x.在一个示例中,如果参考模板在当前图片之外(如Fig.33A中所示),则对应的BV候选仍然可以被重排序。
(i)在一个示例中,如果参考模板在当前图片之外,则可以从当前图片内的最接近的样本填充。
xi.在一个示例中,参考模板应该已经在当前图片内被重构。
(i)在一个示例中,如果参考模板未被重构或在当前图片之外,则对应的BV候选可以不被重排序。
xii.在一个示例中,参考模板中包含的样本应该是可用的(例如,正在重构并且在相同的条带/图块/IBC虚拟缓冲内)。
(i)另外,如果参考模板中包含的部分或全部样本不可用,则可以采用上述处理当前图片之外的参考模板的方法。
d.在一个示例中,是否和/或如何对BV候选重排序可以依赖于BV候选的类别。
e.在一个示例中,待重排序的BV候选可以是最终BV候选列表中的BV候选。
i.备选地,待重排序的BV候选可以是部分/全部相邻空域BV候选,即使其可以不被包含在最终BV候选列表中。
ii.备选地,待重排序的BV候选可以是部分/全部非相邻空域BV候选,即使其可以不被包含在最终BV候选列表中。
iii.备选地,待重排序的BV候选可以是部分/全部HMVP BV候选,即使其可以不被包含在最终BV候选列表中。
iv.备选地,待重排序的BV候选可以是部分/全部成对平均BV候选,即使其可以不被包含在最终BV候选列表中。
v.备选地,待重排序的BV候选可以是部分/全部STMVPBV候选,即使其可以不被包含在最终BV候选列表中。
11.模板形状可以是自适应的。
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的短边执行子采样。
12.在一个示例中,可以针对第一BV候选导出在项目0中公开的成本,该第一BV候选可以被放入或可以不被放入BV候选列表中。
a.在一个示例中,是否将第一BV候选放入BV候选列表中可以取决于针对第一BV候选导出的成本。
b.在一个示例中,是否将第一BV候选放入BV候选列表中可以取决于针对第一BV候选导出的第一成本与针对第二BV候选导出的第二成本之间的比较,其可以被放入也可以不被放入入BV候选列表。
13.在一个示例中,对于帧内TMP,L形模板可以替换为排除左上部分的上左侧模板。图32示出了帧内模板匹配的示例图3200。
a.在一个示例中,如果当前块只有上方模板可用,则帧内TMP只能使用上方模板。
b.在一个示例中,如果当前块只有左侧模板可用,则帧内TMP只能使用左侧模板。
c.在一个示例中,如果上方模板和左侧模板都可用于当前块,则帧内TMP可以使用左侧模板、上方模板、或者上方模板和左侧模板两者。
2.24.基于模板匹配的合并候选列表构建(TM-MCLC)
在ECM中,非相邻和HMVP候选基于预定义的遍历顺序在相邻候选和TMVP候选之后被放入合并候选列表中。对于TM-MCLC,非相邻和HMVP候选仍然在相邻候选和TMVP候选之后被放入合并候选列表中,但是按照模板匹配成本的升序排列。
图34示出了显示所使用的非相邻位置的示例图3400。更具体地说,所有可用的非相邻MVP和HMVP都收集在一个组中。然后以与ARMC类似的方式导出与组中每个候选相关的TM成本。随后,组中的所有候选按照相应的TM成本升序排序。最后,非相邻和HMVP候选按照模板匹配成本的升序被放入合并候选列表中。
在该提案中,ECM软件中的非相邻MVP进一步扩展为更多的空域和非相邻时域位置,如图34所示。除了ECM-2.0中非相邻空域MVP的18个位置之外,还引入了额外的32个空域位置和12个非相邻时域位置,其中非相邻时域MVP位置与相邻TMVP位于相同的参考帧中。
为了降低复杂度,TM合并模式使用整数精度,而常规合并模式使用2抽头双线性滤波器生成参考模板。
2.25.IBC合并/AMVP列表构建的修改
图35示出了显示用于IBC合并/AMVP候选列表的空域候选的示例图3500。图36示出了示出模板和模板的参考样本的示例图3600。在本文中,IBC合并/AMVP列表构建进行了以下更改:
1)只有当IBC合并/AMVP候选有效时,才可以将其插入到IBC合并/AMVP候选列表中。
2)可以将右上、左下和左上空域候选(如图35所示)和一对平均候选添加到IBC合并/AMVP候选列表中。
3)ARMC-TM扩展到IBC合并列表,称为具有IBC模板匹配的合并候选的自适应重新排序(ARMC-TM-IBC)。模板和模板的参考样本如图36所示。
2.26.基于MV候选类型的ARMC
提出了基于MV候选类型的ARMC,根据TM成本值(与ECM2.0中使用的ARMCTM成本相同)对候选类型中的合并候选进行重新排序,例如TMVP、NA-MVP等。然后,在构建合并候选列表时,从候选类型中的重新排序的候选中选择M个候选,其中M根据候选类型而变化(例如,对于TMVP类型M=1,对于NA-MVP类型M=9)。某些候选类型添加更多合并候选来执行重新排序和选择。图37示出了显示TMVP使用的示例位置的示例图3700。例如,从如图37所示的不同同位位置导出的TMVP候选使各种预测参考列表能重新排序在一起。更具体地说,评估的TMVP候选如下:
·TMVP0:来自{RB,C}的列表0-MV;来自{RB,C}的列表1-MV
·TMVP1:来自{RBR,RBL}的列表0-MV;来自{RBR,RBL}的列表1-MV
·TMVP2:来自{RB,C}的列表0-MV(没有列表1的TMVP0)
·TMVP3:来自{RB,C}的列表1-MV(没有列表0的TMVP0)
·TMVP4:来自{RBR,RBL}的列表0-MV(没有列表1的TMVP1)
·TMVP5:来自{RBR,RBL}的列表1-MV(没有列表0的TMVP1)
其中{Pos1,Pos2}表示MV可用性检查的顺序,并且仅选择第一个可用的位置。最后,根据TM成本值从这些TMVP候选中选出1个TMVP候选。某些候选类型可能不会被提出的ARMC重新排序。
2.27.自适应解码器端运动向量细化(ADMVR)
在ECM-2.0中,如果选择的合并候选满足解码器端运动向量细化(DMVR)条件,则在常规合并模式中应用多遍次DMVR方法。在第一遍次中,双边匹配(BM)应用于编解码块。在第二遍次中,BM应用于编解码块内的每个16x16子块。在第三遍次中,每个8x8子块中的MV通过应用双向光流(BDOF)进行细化。
自适应解码器端运动向量细化方法由两种新的合并模式组成,仅在满足DMVR条件的合并候选的双向预测的一个方向(L0或L1)上引入细化MV。对选定的合并候选应用多遍次DMVR过程以细化运动向量,但是MVD0或MVD1在第1遍次(即PU级别)DMVR中设置为零。
与常规合并模式一样,所提出的合并模式的合并候选是从经空域邻近编码的块、TMVP、非相邻块、HMVP和成对候选导出的。不同的是,只有满足DMVR条件的才会被添加到候选列表中。两种提出的合并模式使用相同的合并候选列表(即,ADMVR合并列表),并且合并索引是与常规合并模式中一样编解码的。
2.28.基于历史参数的仿射模型继承
建立历史参数表(HPT)。HPT的一个条目存储一组仿射参数:a、b、c和d,每个都由16位有符号整数表示。HPT中的条目按参考列表和参考索引进行分类。HPT中的每个参考列表支持五个参考索引。用公式化的方式,HPT的类别(记为HPTCat)计算为
HPTCat(RefList,RefIdx)=5×RefList+min(RefIdx,4),其中RefList和RefIdx分别表示参考图片列表(0或1)和参考索引。每个类别最多可以存储两个条目,使得HPT中总共有二十个条目。在每个CTU行的开头,每个类别的条目数初始化为零。使用参考列表RefListcur和RefIdxcur对经仿射编码的CU进行解码后,仿射参数用于更新类别HPTCat(RefListcur、RefIdxcur)的条目,其方式与HMVP表更新类似。
图38示出了显示生成HAPC的示例图3800。基于历史仿射参数的候选(HAPC)是从图38中表示为A0、A1、B0、B1或B2的邻近4×4块以及存储在HPT中的相应条目中的一组仿射参数导出的。邻近4×4块的MV作为基础MV。以公式化的方式,当前块在位置(x,y)的MV计算如下:
其中(mvhbase,mvvbase)表示邻近4×4块的MV,(xbase,ybase)表示中心位置邻近4×4块的值。(x,y)可以是当前块的左上角、右上角和左下角,以获得当前块的角位置MV(CPMV),或者it可以是当前块的中心,以获得当前块的常规MV。
图38显示了如何从块A0导出HAPC的示例。仿射参数{a0,b0,c0,d0}直接从HPT中类别HPTIdx(RefListA0,refIdx0A0)的一项中获取。来自HPT的仿射参数,以A0的中心位置为基准位置,以块A0的MV为基准MV,一起用于导出针对仿射合并HAPC或仿射AMVPHAPC的CPMV。它们也可用于导出位于当前块中心的MV,作为常规合并候选。HAPC可以被放入基于子块的合并候选列表、仿射AMVP候选列表或常规合并候选列表中。作为对引入新HAPC的响应,基于子块的合并候选列表的大小从5增加到9。2.29.针对仿射合并模式的非相邻空域邻居
图39示出了显示用于导出仿射合并候选的空域邻居的示例图3900。与增强的常规合并模式类似,本文提出使用非相邻空域邻居进行仿射合并(NSAM)。获取非相邻空域邻居的模式如图39所示。与现有的非相邻常规合并候选相同,NSAM中的非相邻空域邻居与当前编解码块之间的距离也是基于当前CU的宽度和高度来定义的。
图39中的非相邻空域邻居的运动信息被用来生成额外的继承和构建的仿射合并候选。具体地,对于继承的候选,VVC中继承的仿射合并候选的相同导出过程保持不变,除了CPMV是从非相邻的空域邻居继承的之外。非相邻的空域邻居是根据它们到当前块的距离(即从近到远)来检查的。在特定距离处,仅包括当前块每一侧(例如左侧和上方)的第一个可用邻居(即采用仿射模式编解码的)用于继承候选导出。如图39(a)中的虚线箭头所示,左侧和上方邻居的检查顺序分别是从下到上和从右到左。对于构建的候选,如图39(b)所示,首先独立地确定左上一个非相邻空域邻居的位置;之后,可以相应地确定左上邻居的位置,其可以与左上非相邻邻居一起围成一个矩形虚拟块。图40示出了显示从非相邻邻居到构建的仿射合并候选的示例图4000。然后,如图40所示,使用三个非相邻邻居的运动信息来形成位于左上(A)、右上(B)和左下(C)虚拟块的CPMV,最终投影到当前CU,生成对应的构建候选。
非相邻空域合并候选按照以下顺序插入到仿射合并候选列表中:
1.SbTMVP候选(如果有效)。
2.继承自相邻邻居。
3.从非相邻邻居继承。
4.由相邻邻居构建。
5.由非相邻邻居构建。
6.零MV。
由于包含了NSAM生成的额外候选,在本文中,仿射合并候选列表的大小从5增加到15。
2.30.仿射运动补偿预测
在HEVC中,仅应用平移运动模型进行运动补偿预测(MCP)。在现实世界中,运动有很多种,例如,放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用基于块的仿射变换运动补偿预测。图41示出了示例性的基于控制点的仿射运动模型4110(4参数)和示例性的基于控制点的仿射运动模型4120(6参数)。如图41所示,块的仿射运动场由两个控制点(4参数)或三个控制点运动向量(6参数)的运动信息来描述。
对于4参数仿射运动模型,块中样本位置(x,y)处的运动向量导出为:
对于6参数仿射运动模型,块中样本位置(x,y)处的运动向量导出为:
其中(mv0x,mv0y)是左上角控制点的运动向量,(mv1x,mv1y)是运动向量右上角控制点的运动向量,(mv2x,mv2y)是左下角控制点的运动向量。
图42示出了显示每个子块的示例仿射MVF的示例图4200。为了简化运动补偿预测,应用基于块的仿射变换预测。为了导出每个4×4亮度子块的运动向量,如图42所示,根据上述方程计算每个子块中心样本的运动向量,并四舍五入到1/16分数准确度。然后应用运动补偿插值滤波器来生成具有导出的运动向量的每个子块的预测。色度分量的子块大小也设置为4×4。4×4色度子块的MV计算为同位8x8亮度区域中左上和右下亮度子块的MV的平均值。
与平移运动帧间预测一样,也有两种仿射运动帧间预测模式:仿射合并模式和仿射AMVP模式。
2.30.1仿射合并预测
AF_MERGE模式可应用于宽度和高度均大于或等于8的CU。在该模式下,当前CU的CPMV是基于空域邻近CU的运动信息生成的。最多可以有五个CPMVP候选,并且通过信号发送索引来指示要用于当前CU的候选。以下三种类型的CPVM候选用于形成仿射合并候选列表:
–从相邻CU的CPMV推断的继承仿射合并候选,
–构建仿射合并候选CPMVP,这些候选CPMVP使用邻近CU的平移MV导出,
–零MV。
在VVC中,最多有两个继承仿射候选,其由邻近块的仿射运动模型导出,一者来自左邻近CU,一者来自上邻近CU。图43示出了显示继承仿射运动预测子的示例位置的示例图4300。候选块如图43所示。对于左边的预测子,扫描顺序是A0->A1,对于上面的预测子,扫描顺序是B0->B1->B2。仅选择两侧的第一个继承候选。在两个继承的候选之间不执行修剪检查。当识别出邻近仿射CU时,其控制点运动向量用于导出当前CU的仿射合并列表中的CPMVP候选。图44示出了显示示例控制点运动向量继承的示例图4400。如图44所示,如果邻近左下块A以仿射模式编解码,则获得包含块A的CU的左上角、右上角和左下角的运动向量v2、v3和v4。当块A采用4参数仿射模型经编解码时,根据v2和v3计算当前CU的两个CPMV。如果块A是采用6参数仿射模型编解码的,则根据v2、v3和v4计算当前CU的三个CPMV。
构建仿射候选是指通过组合每个控制点的邻近平移运动信息来构建候选。图45示出了示例图4500,其显示了构建的仿射合并模式的候选位置的示例位置。控制点的运动信息是从图45所示的指定空域邻居和时域邻居导出的。CPMVk(k=1,2,3,4)表示第k个控制点。对于CPMV1,检查B2->B3->A2块并使用第一个可用块的MV。对于CPMV2,检查B1->B0块,对于CPMV3,检查A1->A0块。对于TMVP,如果有效,则用作CPMV4
获得四个控制点的MV后,基于这些运动信息构建仿射合并候选。使用以下控制点MV组合按顺序构建:
{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},{CPMV1,CPMV3,CPMV4},{CPMV2,CPMV3,CPMV4},{CPMV1,CPMV2},{CPMV1,CPMV3}3个CPMV的组合构建了6参数仿射合并候选,2个CPMV的组合构建了4参数仿射合并候选。为了避免运动缩放过程,如果控制点的参考索引不同,则丢弃控制点MV的相关组合。
在检查继承的仿射合并候选和构建的仿射合并候选之后,如果列表仍然未满,则将零MV插入到列表的末尾。
2.30.2仿射AMVP预测
仿射AMVP模式可应用于宽度和高度均大于或等于16的CU。在比特流中用信号发送CU级别中的仿射标志以指示是否使用仿射AMVP模式,然后用信号发送另一个标志以指示是4参数仿射还是6参数仿射。在此模式下,当前CU的CPMV与其预测子CPMVP的差异在比特流中用信号表示。仿射AVMP候选列表大小为2,它是按顺序使用以下四种类型的CPVM候选生成的:
–继承的从邻近CU的CPMV推断的仿射AMVP候选,
–构建仿射AMVP候选CPMVP,其使用邻近CU的平移MV导出,
–来自邻近CU的平移MV,
–零MV。
继承的仿射AMVP候选的检查顺序与继承的仿射合并候选的检查顺序相同。唯一的区别是,针对AVMP候选,仅考虑与当前块中具有相同参考图片的仿射CU。将继承的仿射运动预测子插入候选列表时,不应用修剪过程。构建的AMVP候选是从图45所示的指定空域邻居中导出的。使用与仿射合并候选构建中相同的检查顺序。此外,还检查邻近块的参考图片索引。使用检查顺序中的第一个块,即经帧间编解码的并且具有与当前CU中相同的参考图像的第一个块。只有一个当当前CU采用4参数仿射模式编解码,并且mv0和mv1都有效时,将它们作为一个候选添加到仿射AMVP列表中。当当前CU采用6参数仿射模式编解码,并且所有三个CPMV均有效时,它们将作为一个候选添加到仿射AMVP列表中。否则,构建的AMVP候选将被设置为无效。如果插入有效的继承仿射AMVP候选和构建AMVP候选后,仿射AMVP列表候选仍然小于2,则将按顺序添加mv0、mv1和mv2,作为平移MV来预测当前CU的所有控制点MV(当有效时)。最后,如果仿射AMVP列表仍未满,则使用零MV来填充该列表。
2.30.3仿射运动信息存储
在VVC中,仿射CU的CPMV被存储在单独的缓冲中。存储的CPMV仅用于为最近编解码的CU以仿射合并模式和仿射AMVP模式生成继承的CPMVP。从CPMV导出的子块MV用于运动补偿、平移MV的合并/AMVP列表的MV导出以及解块。
为了避免附加CPMV的图像行缓冲,来自以上CTU的CU的仿射运动数据继承与来自正常邻近CU的继承的处理方式不同。如果仿射运动数据继承的候选CU位于上述CTU行中,则使用缓冲行中的左下和右下子块MV而不是CPMV来进行仿射MVP导出。这样,CPMV仅存储在本地缓冲中。如果候选CU是经6参数仿射编解码的,则仿射模型退化为4参数模型。图46示出了显示所提出的组合方法的运动向量使用的示例图4600。如图46所示,沿着顶部CTU边界,CU的左下和右下子块运动向量用于底部CTU中CU的仿射继承。2.30.4针对仿射模式的光流预测细化
与基于像素的运动补偿相比,基于子块的仿射运动补偿可以节省存储器访问带宽并降低计算复杂度,代价是预测精度损失。为了实现更细粒度的运动补偿,使用光流预测细化(PROF)来细化基于子块的仿射运动补偿预测,而不增加用于运动补偿的存储器访问带宽。在VVC中,在执行基于子块的仿射运动补偿之后,通过添加由光流方程导出的差来细化亮度预测样本。PROF描述为以下四个步骤:
步骤1)执行基于子块的仿射运动补偿以生成子块预测I(i,j)。
步骤2)使用3抽头滤波器[-1,0,1]在每个样本位置计算子块预测的空域梯度gx(i,j)和gy(i,j)。梯度计算与BDOF中的梯度计算完全相同。
gx(i,j)=(I(i+1,j)>>shift1)-(I(i-1,j)>>shift1)
gy(i,j)=(I(i,j+1)>>shift1)-(I(i,j-1)>>shift1)
shift1用于控制梯度的精度。子块(即4x4)预测在每一侧扩展一个样本以进行梯度计算。为了避免额外的内存带宽和额外的插值计算,扩展边界上的那些扩展样本是从参考图片中最近的整数像素位置复制的。
步骤3)通过以下光流方程计算亮度预测细化。
ΔI(i,j)=gx(i,j)*Δux(i,j)+gy(i,j)*Δuy(i,j)
其中Δv(i,j)是为样本位置(i,j)计算的样本MV(由v(i,j)表示)与样本(i,j)所属子块的子块MV之间的差值,如图47所示。图47示出了显示示例子块MV VSB和像素Δv(i,j)(箭头)的示例图4700。Δv(i,j)以1/32亮度样本精度为单位进行量化。
由于仿射模型参数和相对于子块中心的样本位置在子块之间没有改变,因此可以为第一个子块计算Δv(i,j),并重新用于相同CU的其他子块。设dx(i,j)和dy(i,j)为从样本位置(i,j)到子块中心(xSB,ySB)的水平和垂直偏移,Δv(x,y)可以由以下等式导出,
为了保持准确性,子块(xSB,ySB)的输入计算为((WSB-1)/2,(HSB-1)/2),其中WSB和HSB分别是子块宽度和高度。
对于4参数仿射模型,
对于6参数仿射模型,
其中(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是左上、右上和左下控制点运动向量,w和h是CU的宽度和高度。
步骤4)最后,将亮度预测细化ΔI(i,j)与子块预测I(i,j)相加。最终预测I’由以下等式生成。
I′(i,j)=I(i,j)+ΔI(i,j)
对于经仿射编解码的CU,PROF不适用于以下两种情况:1)所有控制点MV都相同,这表明CU只有平移运动;2)仿射运动参数大于指定限制,因为基于子块的仿射MC被降级为基于CU的MC以避免大的存储器访问带宽要求。采用快速编码方法降低PROF仿射运动估计的编码复杂度。在以下两种情况下,在仿射运动估计阶段不应用PROF:a)如果该CU不是根块并且其父块没有选择仿射模式作为其最佳模式,则不应用PROF,因为当前CU选择仿射模式为最佳模式的可能性较低;b)如果四个仿射参数(C、D、E、F)的大小均小于预定义的阈值,并且当前图片不是低延迟图片,则不应用PROF,因为这种情况下PROF为此引入的改进很小。这样,可以加速PROF的仿射运动估计。
2.31.运动候选列表构建
下面的详细实施示例应被视为解释一般概念的示例。这些实施例不应被狭隘地解释。此外,这些实施例可以以任何方式组合。
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元,块可以是矩形或非矩形。
对于经IBC编解码的块,块向量(BV)用于指示从当前块到参考块的位移,参考块已经在当前图片内重构。
W和H是当前块(例如,亮度块)的宽度和高度。
当前编解码块的非相邻空域候选是第i搜索轮中虚拟块的相邻空域候选(如图9所示)。第i轮搜索的虚拟块的宽度和高度的计算公式为:newWidth=i×2×gridX+W,newHeight=i×2×gridY+H。显然,如果搜索轮i为0,则虚拟块就是当前块。
下文中,BV预测子也是BV候选。跳过模式也是合并模式。可以根据某些准则将运动候选分为几组。每个组称为子组。例如,我们可以将连续的空域和时域运动候选作为第一子组,并将剩余的运动候选作为第二子组;在另一个例子中,我们还可以将前N(N≥2)个候选运动作为第一子组,将后面的M(M≥2)个候选运动作为第二子组,并将剩余的运动候选作为第三子组。例如,可以根据运动候选类型将运动候选分为几个组。当BV候选满足以下条件之一或至少一个条件的组合时,可以确定它是有效的。
1)当前图片内部已经重构了相应的参考块。
2)对应的参考块与当前块位于同一CTU行。
3)对应的参考块与当前块位于同一图块/子图中。
4)对应的参考块与当前块位于同一个条带。
5)BV候选满足块向量约束(例如,在2.4.2和2.4.3中描述的)。
6)BV候选满足IBC虚拟缓冲条件(例如2.4.4中描述的)。
当BV候选违反上述条件之一或至少一个条件的组合时,可以将其确定为无效。
如果某个时域位置上的CU无效或是经帧内编解码的或位于当前CTU行之外或其BV(如果有)对于当前块无效,则该时域位置被视为无效;否则,时域位置被视为有效。
注意,所提出的方法可以应用于合并经帧间编解码的块(例如,平移运动)、经仿射编解码的块、经TM编解码的块、经GPM编解码的块的候选列表构建过程、经ADMVR编解码的块或经IBC编解码的块;或其他运动候选列表构建过程(例如,普通AMVP列表;仿射AMVP列表;TMAMVP列表;IBCAMVP列表;HMVP表)。
注意,所提出的方法可以应用于DMVR/多遍次DMVR过程之后的常规合并/AMVP候选列表。
注意,所提出的方法可以应用于DMVR/多遍次DMVR过程之后的ADMVR合并候选列表。
注意,所提出的方法可以在基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后应用于TM合并/AMVP候选列表。
在下文中,一个运动候选是另一运动候选的重复可以被定义为
1)两个候选运动在参考方向、参考图像索引、仿射模型(对于仿射运动)以及根据运动类型(帧间或IBC或仿射)的运动向量或块向量或部分或全部CPMV方面完全相同。
或者
2)两个运动候选在参考方向、参考图像索引、仿射模型(对于仿射运动)方面完全相同。但是,根据两个运动候选的运动类型(帧间或IBC或仿射)的运动向量或块向量或部分或全部CPMV的差异可在阈值内。
运动向量的差可以被定义为参考列表0和/或参考列表1中的两个运动候选的运动向量差的绝对水平和/或垂直分量。
块向量的差可以被定义为参考列表0中的两个运动候选的块矢量差的绝对水平和/或垂直分量。
一个CPMV的差可以被定义为参考列表0和/或参考列表1中的两个运动候选的该CPMV的运动向量差的绝对水平和/或垂直分量。
可以根据当前块的编解码模式(例如,TM合并、仿射合并、常规合并等)和/或当前块大小和/或候选类型(例如,相邻空域、相邻时域、非相邻空域、非相邻时域、HMVP、成对或STMVP等)和/或QP,和/或当前块的参考索引或参考POC,和/或当前块的其他编解码信息适应性设定阈值。
关于成对平均运动候选
1.在一个示例中,可以通过对现有运动候选列表中的一对预定义的重新排序的候选进行平均来生成成对平均运动候选。
a.在一个示例中,重新排序过程可以是利用模板匹配对运动候选进行自适应重新排序。
b.在一个示例中,重新排序过程可以是利用双边匹配对运动候选进行自适应重新排序。
c.在一个示例中,预定义对可以被定义为一组{(0,1)、(0,2)、(1,2)、(0,3)、
(1,3)、(2,3)},其中数字表示运动候选列表中的运动候选索引。
d.在一个示例中,在将成对平均运动候选添加到运动候选列表中之前,需要满足以下部分或全部条件。
i.成对平均运动(例如,BV)候选是有效的。
ii.成对平均运动候选不是现有运动候选列表中任何先前运动候选的重复。iii.可以应用具有自适应阈值的用于成对平均运动候选的修剪方法。
(i)在一个示例中,阈值可以基于当前块大小。
(ii)在一个示例中,阈值可以基于当前块的编解码模式。
(iii)在一个示例中,阈值可以基于QP。
(iv)在一个示例中,阈值可以基于上述条件之一或至少一个以上条件的组合。
(v)在一个示例中,阈值可以基于当前块的参考索引或参考POC。
e.在一个示例中,成对平均运动候选的数目可以是预定义的。
i.在一个示例中,成对平均运动候选的数目可以是N(例如,N=1)。
ii.在一个示例中,可以通过在从运动候选列表大小添加成对平均运动候选之前减去现有运动候选的数目来计算成对平均运动候选的数目。也就是说,对成对平均运动候选的数目没有限制,因此可以添加成对平均运动候选直到运动候选列表已满。
f.在一个示例中,部分或全部成对平均运动候选可以被重新排序。
i.可选地,成对平均运动候选可能不会被重新排序。
ii.在一个示例中,成对平均运动候选可以与同一运动候选列表中的部分或全部先前运动候选一起重新排序。
g.在一个示例中,非成对运动候选可以由来自运动候选列表导出的成对运动候选替换。
i.在一个示例中,如果部分运动候选未被重新排序(即,未重新排序子组),则未重新排序子组中的每个运动候选可以被由第一重新排序候选和该候选构建的成对运动候选替换,如果创建的成对不重复的。
ii.在一个示例中,如果部分运动候选未被重新排序(即,未重新排序子组),
则未重新排序子组中的部分运动候选可以被由第一重新排序候选和原始运动候选构建的成对运动候选替换,如果创建的成对不重复。
iii.在一个示例中,如果部分运动候选未被重新排序(即,未重新排序的子组),在最后的重新排序位置中,如果成对运动候选不是重复的和/或有效,则可以利用前两个重新排序的运动候选来构建成对运动候选,将其添加到运动候选列表中最后的重新排序位置,并且将运动候选列表中的最后一个运动候选从列表中移除。
(i)在一个示例中,成对平均运动候选可以不被重新排序。
(ii)在一个示例中,成对平均运动候选可以与重新排序的子组中的部分或全部先前运动候选一起重新排序。
h.在一个示例中,运动候选列表可以是
i.在一个示例中,运动候选列表可以是基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后的TM合并/AMVP列表。
ii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的常规合并/AMVP列表。
iii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的ADMVR合并列表。
iv.在一个示例中,运动候选列表可以是模板匹配细化处理之后的GPM合并列表(例如,AGPMList、LGPMList或LAGPMList)。
v.在一个示例中,运动候选列表可以是常规合并/AMVP列表。
vi.在一个示例中,运动候选列表可以是TM合并/AMVP列表。
vii.在一个示例中,运动候选列表可以是仿射合并/AMVP列表。
viii.在一个示例中,运动候选列表可以是IBC合并/AMVP列表。
ix.在一个示例中,运动候选列表可以是ADMVR合并列表
x.在一个示例中,运动候选列表可以是GPM合并列表。
xi.在一个示例中,运动候选列表可以是TPM合并列表。
xii.在一个示例中,运动候选列表可以是MMVD合并列表。
xiii.在一个示例中,运动候选列表可以是IBC模板匹配候选列表。
xiv.在一个示例中,运动候选列表可以是帧内模板匹配候选列表。
xv.在一个示例中,运动候选列表可以是IBC MMVD候选列表。
xvi.在一个示例中,运动候选列表可以是IBC GPM候选列表。
xvii.在一个示例中,运动候选列表可以是IBC TPM候选列表。
xviii.在一个示例中,运动候选列表可以是任何其他运动候选列表。
运动候选列表
2.运动候选列表可以由空域候选、和/或时域候选、和/或HMVP候选、和/或成对候选、和/或STMVP候选组成。
a.在一个示例中,空域候选可以由相邻和/或非相邻空域候选组成。
i.在一个示例中,相邻空域候选可以由左和/或上方和/或右上和/或左下和/或左上空域候选组成(示例如图30A所示)。
ii.在一个示例中,非相邻空域候选和当前编解码块之间的距离可以基于当前编解码块的宽度和高度(例如,图9、图10或图34,gridX=W,gridY=H)。
(i)可选地,非相邻空域候选与当前编解码块之间的距离可以是固定值的倍数。
a)例如,乘法因子取决于搜索轮索引(例如,第i搜索轮的乘法因子为i)并且gridX=M,gridY=N(M和N是常数值)。
b.在一个示例中,时域候选可以由相邻和/或非相邻时域候选组成。
i.在一个示例中,对于相邻时域候选,可以在图37中的RB和/或C和/或RBR和/或RBL之中选择用于相邻时域候选的位置。
(i)在一个示例中,可以使用四个相邻时域候选(例如,RB和C以及RBR和RBL)。
a)在一个示例中,顺序可以是RB->C->RBR->RBL。
(ii)在一个示例中,可以使用两个相邻时域候选。
a)在一个示例中,可以在RB和C之间选择一个相邻时域候选。如果RB无效,则将使用C;否则,将使用RB。并且可以在RBR和RBL之间选择其他相邻时域候选。如果RBR无效,则使用RBL;否则,将使用RBR。
(iii)在一个示例中,可以使用N个相邻时域候选。
a)在一个示例中,前N个有效位置可用于导出N个相邻时域候选。
b)在一个示例中,N可以是0至4的整数。
(iv)在一个示例中,可以在RB和C之间选择一个相邻时域候选。如果RB无效,则将使用C;否则,将使用RB。
(v)在一个示例中,可以在RBR和RBL之间选择一个相邻时域候选。如果RBR无效,则使用RBL;否则,将使用RBR。
ii.在一个示例中,非相邻时域候选和当前编解码块之间的距离可以基于当前编解码块的宽度和高度(例如,图34,gridX=W,gridY=H)。
(i)可选地,非相邻时域候选和当前编解码块之间的距离可以是固定值的倍数。
a)例如,乘法因子取决于搜索轮索引(例如,第i搜索轮的乘法因子为i)并且gridX=M,gridY=N(M和N是常数值)。
c.在一个示例中,对于成对候选,其可以通过对现有运动候选列表中的预定义候选对进行平均来生成。
i.在一个示例中,预定义对可以被定义为诸如{(0,1)、(0,2)、(1,2)、(0,3)、(1,3)、(2,3)},其中数字表示运动候选列表的运动候选索引。
ii.在一个示例中,成对平均运动候选的数目可以是预定义的。
(i)在一个示例中,成对平均运动候选的数目可以是N(例如,N=1)。
(ii)在一个示例中,可以通过在从运动候选列表大小添加成对平均运动候选之前减去现有运动候选的数目来计算成对平均运动候选的数目。也就是说,可以添加成对平均运动候选,直到运动候选列表已满。
iii.在一个示例中,成对候选可以被插入在HMVP之后。
iv.在一个示例中,对于仿射成对候选,可以对每个CPMV执行平均运算。
(i)在一个示例中,如果导出仿射成对候选的两个仿射候选具有不同的仿射模型,则可以丢弃该组合。
(ii)在一个示例中,如果导出仿射成对候选的两个仿射候选具有不同的仿射模型,则6参数仿射模型可以降级为4参数仿射模型。
d.在一个示例中,对于STMVP候选,其可以通过对预定义的E空域运动候选和预定义的G时域运动候选进行平均来生成。
i.在一个示例中,E可以小于或等于在STMVP之前插入到当前运动候选列表中的空域候选(F)的数目。
ii.在一个示例中,预定义的E空域运动候选可以是在STMVP之前插入当前运动候选列表的F空域候选中的第一个E空域运动候选。
(i)当然,预定义的E空域运动候选可以是在STMVP之前插入当前运动候选列表的F空域候选中选定的E空域运动候选。
iii.在一个示例中,E为2,G为1。
iv.在一个示例中,STMVP可以在左上空域运动候选之前被插入。
v.在一个示例中,STMVP可以在成对候选之后被插入。
vi.STMVP候选可能会参与重新排序过程。
vii.可选地,STMVP候选可能不参与重新排序过程。
e.在一个示例中,运动候选可以包括
i.在一个示例中,运动候选可以由相邻空域和/或HMVP和/或成对组成。
ii.在一个示例中,运动候选可以由相邻空域和/或相邻时域和/或HMVP和/或成对组成。
iii.在一个示例中,运动候选可以由相邻空域和/或相邻时域和/或非相邻空域和/或HMVP和/或成对组成。
iv.在一个示例中,运动候选可以由相邻空域和/或相邻时域和/或非相邻空域和/或非相邻时域和/或HMVP和/或成对组成。
v.在一个示例中,运动候选可以由相邻空域和/或非相邻空域和/或HMVP和/或成对组成。
vi.在一个示例中,运动候选可以由相邻空域(STMVP可以在左上空域运动候选之前插入)和/或相邻时域和/或非相邻空域和/或HMVP和/或成对组成。
vii.在一个示例中,运动候选可以由相邻空域(STMVP可以在左上空域运动候选之前被插入)和/或相邻时域和/或非相邻空域和/或非相邻时域和/或HMVP和/或成对。
viii.在一个示例中,可以根据运动候选类型顺序插入运动候选。
ix.在一个示例中,仅当运动候选不是现有运动候选列表中的任何先前运动候选的重复时,才可以将其插入到运动候选列表中。
(i)可选地,只有当一个运动候选不是现有运动候选列表中部分先前运动候选的重复时,它才可以被插入到运动候选列表中。
x.在一个示例中,还支持任何其他运动候选类型组合或任何其他运动候选(类型)插入顺序。
f.在一个示例中,运动候选列表可以是:
i.在一个示例中,运动候选列表可以是基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后的TM合并/AMVP列表。
ii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的常规合并/AMVP列表。
iii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的ADMVR合并列表。
iv.在一个示例中,运动候选列表可以是模板匹配细化处理之后的GPM合并列表(例如,AGPMList、LGPMList或LAGPMList)。
v.在一个示例中,运动候选列表可以是常规合并/AMVP列表。
vi.在一个示例中,运动候选列表可以是TM合并/AMVP列表。
vii.在一个示例中,运动候选列表可以是仿射合并/AMVP列表。
viii.在一个示例中,运动候选列表可以是IBC合并/AMVP列表。
ix.在一个示例中,运动候选列表可以是ADMVR合并列表
x.在一个示例中,运动候选列表可以是GPM合并列表。
xi.在一个示例中,运动候选列表可以是TPM合并列表。
xii.在一个示例中,运动候选列表可以是MMVD合并列表。
xiii.在一个示例中,运动候选列表可以是IBC模板匹配候选列表。
xiv.在一个示例中,运动候选列表可以是帧内模板匹配候选列表。
xv.在一个示例中,运动候选列表可以是IBC MMVD候选列表。
xvi.在一个示例中,运动候选列表可以是IBC GPM候选列表。
xvii.在一个示例中,运动候选列表可以是IBC TPM候选列表。
xviii.在一个示例中,运动候选列表可以是任何其他运动候选列表。
2.32.运动候选列表重新排序
下面的详细实施示例应被视为解释一般概念的示例。这些实施例不应被狭隘地解释。此外,这些实施例可以以任何方式组合。
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元,
块可以是矩形或非矩形。
对于经IBC编解码的块,块向量(BV)用于指示从当前块到参考块的位移,
参考块已经在当前图片内重构。
W和H是当前块(例如,亮度块)的宽度和高度。
当前编解码块的非相邻空域候选是第i搜索轮中虚拟块的相邻空域候选(如图9所示)。第i轮搜索的虚拟块的宽度和高度的计算公式为:newWidth=i×2×gridX+W,newHeight=i×2×gridY+H。显然,如果搜索轮为0,则虚拟块就是当前块。
下文中,BV预测子也是BV候选。跳过模式也是合并模式。
可以根据某些准则将运动候选分为几组。每个组称为子组。例如,我们可以将连续的空域和时域运动候选作为第一子组,并将剩余的运动候选作为第二子组;在另一个例子中,我们还可以将前N(N≥2)个候选运动作为第一子组,将后面的M(M≥2)个候选运动作为第二子组,并将剩余的运动候选作为第三子组的。例如,可以根据运动候选类型将运动候选分为几个组。当BV候选满足以下条件之一或至少一个条件的组合时,可以确定它是有效的。
1)在当前图片内部已经重构了相应的参考块。
2)对应的参考块与当前块位于同一CTU行。
3)对应的参考块与当前块位于同一图块/子图中。
4)对应的参考块与当前块位于同一个条带。
5)BV候选满足块向量约束(例如,在2.4.2小节和2.4.3小节中描述的)。
6)BV候选满足IBC虚拟缓冲条件(例如2.4.4小节中描述的)。
当BV候选违反上述条件之一或至少一个条件的组合时,可以将其确定为无效。
如果某个时域位置上的CU无效或是经帧内编解码的或位于当前CTU行之外或其BV(如果有)对于当前块无效,则该时域位置被视为无效;否则,时域位置被视为有效。
注意,所提出的方法可以应用于合并经帧间编解码的块(例如,平移运动)、经仿射编解码的块、经TM编解码的块、经GPM编解码的块的候选列表构建过程,经ADMVR编解码的块或经IBC编解码的块;或其他运动候选列表构建过程(例如,普通AMVP列表;仿射AMVP列表;TMAMVP列表;IBCAMVP列表;HMVP表)。
注意,所提出的方法可以应用于DMVR/多遍次DMVR过程之后的常规合并/AMVP候选列表。
注意,所提出的方法可以应用于DMVR/多遍次DMVR过程之后的ADMVR合并候选列表。
注意,所提出的方法可以在基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后应用于TM合并/AMVP候选列表。
在下文中,一个运动候选是另一运动候选的重复可以被定义为
1)两个候选运动在参考方向、参考图像索引、仿射模型(对于仿射运动)以及根据运动类型(帧间或IBC或仿射)的运动向量或块向量或部分或全部CPMV方面完全相同。
或者
2)两个候选运动在参考方向、参考图像索引、仿射模型(对于仿射运动)方面完全相同。但是,根据两个运动候选的运动类型(帧间或IBC或仿射)的运动向量或块向量或部分或全部CPMV的差异可在阈值内。
运动向量的差可以被定义为参考列表0和/或参考列表1中的两个运动候选的运动向量差的绝对水平和/或垂直分量。
块向量的差可以被定义为参考列表0中的两个运动候选的块矢量差的绝对水平和/或垂直分量。
一个CPMV的差可以被定义为参考列表0和/或参考列表1中的两个运动候选的该CPMV的运动向量差的绝对水平和/或垂直分量。
可以根据当前块的编解码模式(例如,TM合并、仿射合并、规则合并等)和/或当前块大小和/或候选类型(例如,相邻空域、相邻时域、非相邻空域、非相邻时域、HMVP、成对或STMVP等),和/或QP,和/或当前块的参考索引或参考POC,和/或其他当前块的编解码信息自适应地设定阈值。
关于运动候选列表的重新排序
1.在一个示例中,当构建运动候选列表时,可以执行重新排序/细化过程。
a.在一个示例中,基于运动候选类型的ARMC可以用于根据一个或一些准则对候选类型中的运动候选进行重新排序。
i.在一个示例中,在构建运动候选列表时,可以从该候选类型的重新排序的候选中选择具有特定候选类型的M个候选,其中M可以根据候选类型的组合和/或当前块的编解码模式而变化。
ii.在一个示例中,候选类型可以是相邻的空域候选。例如,M为4。
iii.在一个示例中,候选类型可以是相邻时域候选。例如,M为1。
iv.在一个示例中,候选类型可以是非相邻空域候选。例如,M为3。
v.在一个示例中,候选类型可以是非相邻时域候选。例如,M为1。
vi.在一个示例中,候选类型可以是HMVP候选。例如,M为2。
vii.在一个示例中,候选类型可以是成对平均候选。例如,M为2。
viii.在一个示例中,候选类型可以是STMVP候选。例如,M为1。
ix.在一个示例中,候选类型可以是相邻继承的仿射候选。
x.在一个示例中,候选类型可以是相邻构建的仿射候选。
xi.在一个示例中,候选类型可以是非相邻继承的仿射候选。
xii.在一个示例中,候选类型可以是非相邻构建的仿射候选。
xiii.在一个示例中,候选类型可以是基于历史的仿射候选。
xiv.在一个示例中,多个运动候选类型(即,候选类型组合)可以被重新排序在一起。
(i)在一个示例中,当构建运动候选列表时,可以从候选类型组合中的重新排序的候选中选择具有任何特定运动候选类型的M个候选,其中M可以根据候选类型的组合和/或当前块的编解码模式而变化。
(ii)在一个示例中,相邻空域候选和/或HMVP候选和/或成对平均候选可以被重新排序在一起。
(iii)在一个示例中,可以将相邻空域候选和相邻时域候选一起重新排序。
(iv)在一个示例中,非相邻空域候选和非相邻时域候选可以被重新排序在一起。
(v)在一个示例中,非相邻空域候选和/或非相邻时域候选和/或HMVP候选可以被重新排序在一起。
(vi)在一个示例中,非相邻空域候选和/或非相邻时域候选和/或HMVP候选和/或成对平均候选可以被重新排序在一起。
(vii)在一个示例中,相邻继承的仿射候选和相邻构建的仿射候选可以被一起重新排序。
(viii)在一个示例中,非相邻继承的仿射候选和非相邻构建的仿射候选可以被重新排序在一起。
(ix)在一个示例中,非相邻继承的仿射候选和/或非相邻构建的仿射候选和/
或HMVP仿射候选可以被重新排序在一起。
(x)在一个示例中,非相邻继承的仿射候选和/或非相邻构建的仿射候选和/或HMVP仿射候选和/或成对平均仿射候选可以被重新排序在一起。
(xi)在一个示例中,可以将相邻继承的仿射候选和非相邻继承的仿射候选一起重新排序。
(xii)在一个示例中,相邻构建的仿射候选和非相邻构建的仿射候选可以被重新排序在一起。
b.在一个示例中,运动候选列表可以是
i.在一个示例中,运动候选列表可以是基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后的TM合并/AMVP列表。
ii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的常规合并/AMVP列表。
iii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的ADMVR合并列表。
iv.在一个示例中,运动候选列表可以是模板匹配细化处理之后的GPM合并列表(例如,AGPMList、LGPMList或LAGPMList)。
v.在一个示例中,运动候选列表可以是常规合并/AMVP列表。
vi.在一个示例中,运动候选列表可以是TM合并/AMVP列表。
vii.在一个示例中,运动候选列表可以是仿射合并/AMVP列表。
viii.在一个示例中,运动候选列表可以是IBC合并/AMVP列表。
ix.在一个示例中,运动候选列表可以是ADMVR合并列表。
x.在一个示例中,运动候选列表可以是GPM合并列表。
xi.在一个示例中,运动候选列表可以是TPM合并列表。
xii.在一个示例中,运动候选列表可以是MMVD合并列表。
xiii.在一个示例中,运动候选列表可以是IBC模板匹配候选列表。
xiv.在一个示例中,运动候选列表可以是帧内模板匹配候选列表。
xv.在一个示例中,运动候选列表可以是IBC MMVD候选列表。
xvi.在一个示例中,运动候选列表可以是IBC GPM候选列表。
xvii.在一个示例中,运动候选列表可以是IBC TPM候选列表。
xviii.在一个示例中,运动候选列表可以是任何其他运动候选列表。
2.在一个示例中,可以首先导出初始运动候选列表,随后根据一个或一些准则进行重新排序/细化过程。并且重新排序/细化的列表被用在块的编码/解码过程中。
a.在一个示例中,运动候选列表可以是:
i.在一个示例中,运动候选列表可以是基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后的TM合并/AMVP列表。
ii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的常规合并/AMVP列表。
iii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的ADMVR合并列表。
iv.在一个示例中,运动候选列表可以是模板匹配细化处理之后的GPM合并列表(例如,AGPMList、LGPMList或LAGPMList)。
v.在一个示例中,运动候选列表可以是常规合并/AMVP列表。
vi.在一个示例中,运动候选列表可以是TM合并/AMVP列表。
vii.在一个示例中,运动候选列表可以是仿射合并/AMVP列表。
viii.在一个示例中,运动候选列表可以是IBC合并/AMVP列表。
ix.在一个示例中,运动候选列表可以是ADMVR合并列表
x.在一个示例中,运动候选列表可以是GPM合并列表。
xi.在一个示例中,运动候选列表可以是TPM合并列表。
xii.在一个示例中,运动候选列表可以是MMVD合并列表。
xiii.在一个示例中,运动候选列表可以是IBC模板匹配候选列表。
xiv.在一个示例中,运动候选列表可以是帧内模板匹配候选列表。
xv.在一个示例中,运动候选列表可以是IBC MMVD候选列表。
xvi.在一个示例中,运动候选列表可以是IBC GPM候选列表。
xvii.在一个示例中,运动候选列表可以是IBC TPM候选列表。
xviii.在一个示例中,运动候选列表可以是任何其他运动候选列表。
运动候选列表重新排序准则
3.在一个示例中,重新排序/细化过程可以基于模板匹配成本。
a.实际上,重新排序/细化过程可能基于双边匹配成本。
b.在一个示例中,当前模板和参考模板之间的成本函数可以是
i.SAD/MR-SAD,
ii.SATD/MR-SATD,
iii.SSD/MR-SSD,
iv.SSE/MR-SSE,
v.加权SAD/加权MR-SAD,
vi.加权SATD/加权MR-SATD,
vii.加权SSD/加权MR-SSD,
viii.加权SSE/加权MR-SSE,
ix.梯度信息。
c.在一个示例中,如果启用了LMCS,则当前模板和参考模板可以由映射域中的样本组成。
i.可选地,当前模板和参考模板可能由原始域中的样本组成。
d.在一个示例中,运动候选可以被分为几个子组,并且每个子组中的运动候选可以根据基于模板/双边匹配的成本值升序重新排序。
e.在一个示例中,可以基于规则来选择模板的样本。
i.在一个示例中,如果只有上方模板针对当前块有效,则模板匹配重排序只能使用上方模板。
ii.在一个示例中,如果只有左侧模板针对当前块有效,则模板匹配重排序只能使用左侧模板。
iii.在一个示例中,如果上方模板和左侧模板都针对当前块有效,则模板匹配重排序可以使用左侧模板、上方模板、或者上方模板和左侧模板两者。
f.在一个示例中,模板/双边匹配过程可以包括一个分量,例如亮度。
i.可选地,模板/双边匹配程序可以包括多个分量,例如亮度和色度。
(i)在一个示例中,总模板/双边匹配成本可以被计算为不同颜色分量上的模板/双边匹配成本的加权和。
g.在一个示例中,左侧模板的宽度和/或上方模板的高度可以是固定的。
i.在一个示例中,左侧模板的宽度可以是1。
ii.在一个示例中,上方模板的高度可以为1。
h.在一个示例中,对于BV候选,需要执行一些操作。
i.MV候选和BV候选的重新排序/处理方法可能不同。
ii.在一个示例中,用于定位参考模板的BV可以被裁剪。
(i)在一个示例中,如果参考模板位于当前图片之外(如图33A所示),则可以对用于定位参考模板的BV进行裁剪,以使参考模板位于当前图片之内。裁剪操作不会改变相应BV候选的BV。图33B中示出了一个示例。iii.在一个示例中,如果参考模板在当前图片之外(如图33A所示),则仍然可以对相应的BV候选进行重新排序。
(i)在一个示例中,如果参考模板在当前图片之外,则可以从当前图片内最近的样本进行填充。
iv.在一个示例中,参考模板应该已经在当前图片内重构。
(i)在一个示例中,如果参考模板没有被重构或者在当前图片之外,则对应的BV候选可以不被重新排序。
v.在一个示例中,参考模板中包含的样本应该是有效的(例如,正在重构并且在相同的条带/图块/IBC虚拟缓冲内)。
(i)另外,如果参考模板中包含的部分或全部样本不可用,则可以采用上述处理当前图片之外的参考模板的方法。
4.模板形状和/或大小可以是自适应的。
a.在一个示例中,模板可以仅包括当前块左侧的邻近样本。
b.在一个示例中,模板可以仅包括当前块上方的邻近样本。
c.在一个示例中,可以根据CU形状和/或大小来选择模板形状和/或大小。
d.在一个示例中,可以根据CU高度来选择左侧模板的宽度。
i.例如,如果H<=M,则左侧模板大小为w1xH;否则,左侧模板大小为w2xH。
(i)在一个示例中,M、w1和w2分别设置为等于8、1和2。
e.在一个示例中,上方模板的高度可以根据CU的宽度来选择。
i.例如,如果W<=N,则上方模板大小为Wxh1;否则,上方模板大小为Wxh2。
(i)在一个示例中,N、h1和h2分别设置为等于8、1和2。
f.在一个示例中,可以根据CU宽度来选择左侧模板的宽度。
i.例如,如果W<=N,则左侧模板大小为w1xH;否则,左侧模板大小为w2xH。
(i)在一个示例中,N、w1和w2分别被设置为等于8、1和2。
g.在一个示例中,上方模板的高度可以根据CU的高度来选择。
i.例如,如果H<=M,则上方模板大小为Wxh1;否则,上方模板大小为Wxh2。
(i)在一个示例中,M、h1和h2分别设置为等于8、1和2。
h.在一个示例中,模板的样本和模板样本的参考样本在用于计算成本之前可以被二次采样或下采样。
i.是否和/或如何进行子采样可能取决于CU尺寸。
ii.在一个示例中,可以不对CU的短边执行子采样。
5.在一个示例中,重新排序/细化过程可以基于块边界不连续性度量。图48示出了示出示例邻近重构块(灰色)和当前预测块(白色)的示例图4800。a.在一个示例中,边界不连续性度量(例如,disCost)可以定义为:
其中P是当前块的预测,R是邻近块中的重构样本。图48显示了一个示例。
i.在一个示例中,w1为0,w3为0。w2为1,w4为1。
ii.在一个示例中,w1=w2=w3=w4=1。
6.在一个示例中,重新排序/细化过程可以基于块边界不连续性度量(例如,disCost)和/或模板匹配成本(例如,tmCost)。
a.在一个示例中,重新排序/细化过程可以基于块边界不连续性度量(例如,disCost)和模板匹配成本(例如,tmCost)的加权平均,其可以被计算为wdis×disCostt+wtm×tmCost。
i.在一个示例中,wdis和wtm可以是预定义的、或者用信号发送的、或者根据编解码信息导出的。
ii.在一个示例中,wdis可以取决于QP。
(i)在一个示例中,对于较高的QP,wdis可以被设置为较小的值。
b.在一个示例中,可以用信号发送一个标志来指示是否使用块边界不连续性度量或模板匹配成本。
c.在一个示例中,是否使用块边界不连续性度量或模板匹配成本可以取决于编码/解码信息。
i.在一个示例中,对于大于预定义阈值的QP,可以使用模板匹配成本。
2.33.合并候选列表自适应重新排序(ARMC)的改进
本文介绍了对合并候选列表自适应重新排序(ARMC)过程的一些修改。建议的修改在第一次重新排序过程之后应用。此更改包括根据第一次排序期间计算出的失真对运动预测器列表进行重新排序,以针对更多样化的合并候选列表来生成最终列表。
2.33.1多样性重新排序
为了在合并候选列表中创建多样性,所提出的方法寻找在速率失真(RD)意义上过于冗余的候选。在所提出的算法中,如果候选与其前任之间的成本差异低于lambda值,例如|D1-D2|<λ,则该候选被视为冗余,其中D1和D2是在第一次ARMC排序期间获得的成本,λ是编码器端RD标准中使用的拉格朗日参数。
所提出的算法定义如下:
-确定列表中所有候选中候选与其前任之间的最小成本差异。
-如果最小成本差异大于或等于λ,则认为该列表足够多样化,并且重新排序停止。
-如果最小成本差异小于λ,则认为该候选是冗余的,并将其移动到列表中的另一个位置。这个进一步的位置是候选与其前任相比具有足够多样性的第一个位置。
-算法在有限次数的迭代后停止(如果最小成本差异不小于λ)。
此算法适用于ECM-5.0的常规、TM、BM和仿射合并模式。类似的算法适用于合并MMVD和符号MVD预测方法,这些方法也使用ARMC进行重新排序。
对于低延迟配置,λ的值被设置为等于用于在编码器端选择最佳合并候选的速率失真标准的λ,对于随机访问配置,被设置为等于与另一个QP相对应的值λ。对于SPS中不存在的QP偏移,在SPS或Slice Header中提供了对应于每个信号QP偏移的一组λ值。
2.33.2合并模式的修改
常规合并列表已应用以下修改:
-对时间、非相邻和其他候选使用相同的运动向量阈值。
-不对子组执行ARMC重新排序。
-在常规、TM和BM合并模式的第一次ARMC重新排序后,最多添加4个成对候选。
2.34.CIIP与TIMD和TM合并的组合
在CIIP模式下,通过对使用CIIP-TM合并候选预测的帧间预测信号和使用TIMD导出的帧内预测模式预测的帧内预测信号进行加权来生成预测样本。该方法仅适用于面积小于或等于1024的编解码块。
TIMD导出方法用于导出CIIP中的帧内预测模式。具体而言,选择TIMD模式列表中具有最小SATD值的帧内预测模式并将其映射到67种常规帧内预测模式之一。
此外,还提出,若导出的帧内预测模式为角度模式,则修改两种测试的权重(wIntra,wInter)。图49A和图49B分别示出了角度模式的划分方法。对于近水平模式(2<=角度模式索引<34),当前块4900被垂直划分,如图49A所示;对于近垂直模式(34<=角度模式索引<=66),当前块4950被水平划分,如图49B所示。
不同子块的(wIntra,wInter)如表2所示。
表2用于角度模式的修改后的权重
子块索引 (wIntra,wInter)
0 (6,2)
1 (5,3)
2 (3,5)
3 (2,6)
使用CIIP-TM,为CIIP-TM模式构建CIIP-TM合并候选列表。通过模板匹配细化合并候选。ARMC方法还将CIIP-TM合并候选重新排序为常规合并候选。CIIP-TM合并候选的最大数量等于两个。
2.35.多假设预测(MHP)
在多假设帧间预测模式中,除了传统的双向预测信号外,还会发送一个或多个额外的运动补偿预测信号。通过逐个样本加权叠加获得最终的整体预测信号。利用双向预测信号pbi和第一个额外的帧间预测信号/假设h3,可以得到最终的预测信号p3,如下所示:
p3=(1-α)Pbi+αh3
加权因子由新的语法元素add_hyp_weight_idx指定,根据以下映射:
add_hyp_weight_idx α
0 1/4
1 -1/8
与上述类似,可以使用多个附加预测信号。最终的整体预测信号与每个附加预测信号一起迭代累积。
pn+1=(1-αn+1)pnn+1n+1
最终获得的整体预测信号是最后一个pn(即具有最大索引n的pn)。在此EE中,最多可以使用两个附加预测信号(即限制n为2)。
每个附加预测假设的运动参数可以通过指定参考索引、运动向量预测器索引和运动向量差异来显式地发出信号,也可以通过指定合并索引来隐式地发出信号。单独的多假设合并标志区分这两种信号模式。
对于帧间AMVP模式,仅当在双向预测模式下选择BCW中的非等权重时,才会应用MHP。
MHP和BDOF的组合是可能的,但是BDOF仅适用于预测信号的双预测信号部分(即普通的前两个假设)。
2.36.双向匹配AMVP合并模式
双向预测器由一个方向的AMVP预测器和另一个方向的合并预测器组成。当所选合并预测器和AMVP预测器满足DMVR条件时,可以对编解码块启用该模式,其中相对于当前图片至少有一个来自过去的参考图片和一个来自未来的参考图片,并且两个参考图片到当前图片的距离相同,将对合并MV候选和AMVP MVP应用双向匹配MV细化作为起点。否则,如果启用了模板匹配功能,则将模板匹配MV细化应用于合并预测器或具有更高模板匹配成本的AMVP预测器。
模式的AMVP部分被信号化为常规单向AMVP,即参考索引和MVD被信号化,并且如果使用模板匹配,它具有派生的MVP索引,或者在禁用模板匹配时信号化MVP索引。
对于AMVP方向LX,X可以是0或1,另一个方向(1–LX)的合并部分是通过最小化AMVP预测器和合并预测器之间的双边匹配成本而隐式得出的,即对于一对AMVP和合并运动向量。对于合并候选列表中具有另一个方向(1–LX)运动向量的每个合并候选,使用合并候选MV和AMVP MV计算双边匹配成本。选择成本最小的合并候选。将双边匹配细化应用于以所选合并候选MV和AMVP MV为起点的编解码块。多通道DMVR的第三通道是多通道DMVR的8x8子PUBDOF细化,已启用到AMVP合并模式编解码块。
模式由标志指示,如果启用该模式,AMVP方向LX还由标志指示。当当前块使用双边匹配(BM)AMVP合并模式并启用模板匹配时,不会发出MVD信号。引入了一对额外的AMVP合并MVP。合并候选列表根据BM成本按升序排序。发出索引(0或1)以指示要使用排序的合并候选列表中的哪个合并候选。当合并候选列表中只有一个候选时,将填充没有双边匹配MV细化的AMVP MVP和合并MVP对。
2.37.具有合并运动向量差异(MMVD)的几何分区模式(GPM)
通过在现有GPM单向MV之上应用运动向量细化,扩展了VVC中的GPM。首先为GPM CU发出一个标志,以指定是否使用此模式。如果使用该模式,GPM CU的每个几何分区可以进一步决定是否发出MVD信号。如果为几何分区发出MVD信号,则在选择GPM合并候选后,分区的运动将通过发出信号的MVD信息进一步细化。所有其他程序与GPM相同。
MVD以距离和方向对的形式发出信号,与MMVD类似。具有MMVD的GPM(GPM-MMVD)涉及9个候选距离(1/4像素、1/2像素、1像素、2像素、3像素、4像素、6像素、8像素、16像素)和8个候选方向(4个水平/垂直方向和4个对角线方向)。另外,当pic_fpel_mmvd_enabled_flag等于1时,MVD会像MMVD一样左移2。
2.38.具有模板匹配(TM)的几何分区模式(GPM)
模板匹配应用于GPM。当为CU启用GPM模式时,将发出CU级标志以指示TM是否应用于两个几何分区。使用TM细化每个几何分区的运动信息。当选择TM时,根据分区角度使用左、上或左和上相邻样本构建模板,如表3所示。然后,通过使用与合并模式相同的搜索模式(禁用半像素插值滤波器)最小化当前模板和参考图片中的模板之间的差异来细化运动。
表3.第一和第二个几何分区的模板,其中A表示使用上方样本,L表示使用左侧样本,L+A表示同时使用左侧和上方样本
分区角度 0 2 3 4 5 8 11 12 13 14
第一分区 A A A A L+A L+A L+A L+A A A
第二分区 L+A L+A L+A L L L L L+A L+A L+A
分区角度 16 18 19 20 21 24 27 28 29 30
第一分区 A A A A L+A L+A L+A L+A A A
第二分区 L+A L+A L+A L L L L L+A L+A L+A
GPM候选列表的构建方式如下:
1.交错列表0MV候选和列表-1MV候选直接来自常规合并候选列表,其中列表0MV候选的优先级高于列表1MV候选。采用基于当前CU大小的自适应阈值修剪方法来删除冗余MV候选。
2.交错列表1MV候选和列表0MV候选进一步直接来自常规合并候选列表,其中列表1MV候选的优先级高于列表0MV候选。也采用相同的自适应阈值修剪方法来删除冗余MV候选。
3.填充零MV候选,直到GPM候选列表已满。
GPM-MMVD和GPM-TM专门用于一个GPM CU。这是通过首先发送GPM-MMVD语法来实现的。当两个GPM-MMVD控制标志都等于false(即,两个GPM分区的GPM-MMVD被禁用)时,将发出GPM-TM标志信号以指示是否将模板匹配应用于这两个GPM分区。否则(至少一个GPM-MMVD标志等于true),则推断GPM-TM标志的值是false。
2.39.具有帧间和帧内预测的GPM
在具有帧间和帧内预测的GPM中,最终预测样本是通过对每个GPM分离区域的帧间预测样本和帧内预测样本进行加权而生成的。帧间预测样本由帧间GPM得出,而帧内预测样本由帧内预测模式(IPM)候选列表和从编码器发出的索引得出。IPM候选列表大小预定义为3。图50A至图50D示出了具有帧间和帧内预测的GPM。图50A至图50C分别示出了可用IPM候选的示例图5000、5020和5040。图50D示出了具有帧内和帧内预测的GPM的示例图5060。可用的IPM候选分别是图50A至图50C所示的与GPM块边界平行的角度模式(平行模式)、与GPM块边界垂直的角度模式(垂直模式)和平面模式。此外,图50D所示的具有帧内和帧内预测的GPM受到限制,以减少IPM的信令开销并避免增加硬件解码器上的帧内预测电路的大小。此外,还引入了GPM混合区域上的直接运动向量和IPM存储,以进一步提高编码性能。
在基于DIMD和相邻模式的IPM导出中,首先注册并行模式。因此,如果列表中没有相同的IPM候选,则可以注册从解码器侧帧内模式导出(DIMD)方法和/或邻近块导出的最多两个IPM候选。至于邻近模式推导,可用的邻近块最多有5个位置,但它们受到GPM块边界角度的限制(如表4所示),这些位置已经用于带模板匹配的GPM(GPM-TM)。表4.基于GPM块边界角度的IPM候选推导可用邻近块的位置。A和L表示预测块的上方和左侧
GPM的角度 0 2 3 4 5 8 11 12 13 14
第一分区 A A A A L+A L+A L+A L+A A A
第二分区 L+A L+A L+A L L L L L+A L+A L+A
分区角度 16 18 19 20 21 24 27 28 29 30
第一分区 A A A A L+A L+A L+A L+A A A
第二分区 L+A L+A L+A L L L L L+A L+A L+A
GPM-intra可以与合并运动向量差(GPM-MMVD)的GPM相结合。TIMD用于GPM-intra的IPM候选,以进一步提高编码性能。可以先注册并行模式,然后注册TIMD、DIMD和邻近块的IPM候选。
2.40.基于模板匹配的GPM划分模式重排序
在基于模板匹配的GPM划分模式重排序中,给定当前GPM块的运动信息,计算GPM划分模式的相应TM成本值。然后,根据TM成本值按升序对所有GPM划分模式进行重排序。不发送GPM划分模式,而是使用Golomb-Rice代码发送索引,以指示GPM划分模式在重排序列表中的确切位置。
GPM划分模式重排序方法是一个两步过程,在生成编码单元中两个GPM分区的相应参考模板后执行,如下所示:
·将GPM分区边缘扩展到两个GPM分区的参考模板中,得到64个参考模板,并计算64个参考模板中每个模板的相应TM成本;
·根据GPM划分模式的TM成本值按升序对其进行重排序,并将最佳的32个标记为可用划分模式。
图51示出了显示模板上边缘的示例图5100。如图51所示,模板上的边缘从当前CU的边缘延伸,但边缘上的模板区域不使用GPM混合过程。在使用TM成本升序重新排序后,会发出索引信号。
2.41.MVD符号预测
在此方法中,根据模板匹配成本对可能的MVD符号组合进行排序,并导出与真实MVD符号对应的索引并进行上下文编码。在解码器端,MVD符号的导出方式如下:
1.解析MVD分量的大小。
2.解析上下文编码的MVD符号预测索引。
3.通过创建可能符号和绝对MVD值之间的组合来构建MV候选,并将其添加到MV预测器。
4.根据模板匹配成本为每个导出的MV导出MVD符号预测成本并进行排序。
5.使用MVD符号预测索引来选择真正的MVD符号。
MVD符号预测适用于AMVP间、仿射AMVP、MMVD和仿射MMVD模式。
3.问题
目前的运动候选列表设计还可以进一步改进。
更多的运动候选位置和/或更多的运动候选类型可以用于提高编解码效率。
4.具体方案
下面的详细实施例应被视为解释一般概念的示例。这些实施例不应被狭隘地解释。此外,这些实施例可以以任何方式组合。
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元,块可以是矩形或非矩形。
W和H是当前块(例如亮度块)的宽度和高度。
对于IBC经编解码的块,块向量(BV)用于指示从当前块到参考块的位移,参考块已经在当前图片内重构。
下文中,BV预测子也是BV候选。跳过模式也是合并模式。
当BV候选满足以下条件之一或至少一个条件的组合时,可以确定它是有效的。
1)当前图片内部已经重构了相应的参考块。
2)对应的参考块与当前块位于同一CTU行。
3)对应的参考块与当前块位于同一图块/子图中。
4)对应的参考块与当前块位于同一个条带。
5)BV候选满足块向量约束(例如,在2.4.2和2.4.3中描述的)。
6)BV候选满足IBC虚拟缓冲条件(例如,2.4.4中描述的)。
当BV候选违反上述条件之一或至少一个条件的组合时,可以将其确定为无效。
当前编解码块的非相邻空域候选是第i轮搜索中虚拟块的相邻空域候选(如图9所示)。第i轮搜索的虚拟块的宽度和高度的计算公式为:newWidth=i×2×gridX+W,newHeight=i×2×gridY+H。显然,如果搜索轮i为0,则虚拟块就是当前块。
如果某个时域位置上的CU无效或是经帧内编解码的或位于当前CTU行之外或其BV(如果有)对于当前块无效,则该时域位置被视为无效;否则,时域位置被视为有效。
可以根据某些标准将运动候选分为几组。每个组称为子组。例如,我们可以将相邻空域和时域运动候选作为第一子组,并将剩余的运动候选作为第二子组;在另一示例中,我们还可以将前N(N≥2)个候选运动作为第一子组,将后面的M(M≥2)个候选运动作为第二子组,并将剩余的候选运动作为第三子组。例如,可以根据运动候选类型将运动候选分为几个组。
注意,所提出的方法可以应用于合并经帧间编解码的块(例如,平移运动)、经仿射编解码的块、经TM编解码的块、经GPM编解码的块、经ADMVR编解码的块或经IBC编解码的块的候选列表构建过程;或其他运动候选列表构建过程(例如,普通AMVP列表;仿射AMVP列表;TMAMVP列表;IBCAMVP列表;HMVP表)。
注意,所提出的方法可以应用于DMVR/多遍次DMVR过程之后的常规合并/AMVP候选列表。
注意,所提出的方法可以应用于DMVR/多遍次DMVR过程之后的ADMVR合并候选列表。
注意,所提出的方法可以在基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后应用于TM合并/AMVP候选列表。
在下文中,一个运动候选是另一运动候选的重复可以被定义为
1)两个候选运动在参考方向、参考图像索引、仿射模型(对于仿射运动)以及根据运动类型(帧间或IBC或仿射)的运动向量或块向量或部分或全部CPMV方面完全相同。
或者
2)两个候选运动在参考方向、参考图像索引、仿射模型(对于仿射运动)方面完全相同。但是,根据两个运动候选的运动类型(帧间或IBC或仿射)的运动向量或块向量或部分或全部CPMV的差异可在阈值内。
运动向量的差可以被定义为参考列表0和/或参考列表1中的两个运动候选的运动向量差的绝对水平和/或垂直分量。
块向量的差可以被定义为参考列表0中的两个运动候选的块矢量差的绝对水平和/或垂直分量。
一个CPMV的差可以被定义为参考列表0和/或参考列表1中的两个运动候选的该CPMV的运动向量差的绝对水平和/或垂直分量。
可以根据当前块的编解码模式(例如,TM合并、仿射合并、规则合并等)和/或当前块大小和/或候选类型(例如,相邻空域、相邻时域、非相邻空域、非相邻时域、HMVP、成对或STMVP等),和/或QP,和/或当前块的参考索引或参考POC,和/或其他当前块的编解码信息自适应地设置阈值。
在本公开中,运动候选可以指MV候选或BV候选。
在本公开中,运动候选列表可以指MV候选列表或BV候选列表。
具体地,
i.在一个示例中,运动候选列表可以是基于块的双边匹配细化和/或模板匹配细化和/或基于子块的双边匹配细化之后的TM合并/AMVP列表。
ii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的常规合并/AMVP列表。
iii.在一个示例中,运动候选列表可以是DMVR/多遍次DMVR处理之后的ADMVR合并列表。
iv.在一个示例中,运动候选列表可以是模板匹配细化过程之后的GPM合并列表(例如,AGPMList、LGPMList或LAGPMList)。
v.在一个示例中,运动候选列表可以是常规合并/AMVP列表。
vi.在一个示例中,运动候选列表可以是TM合并/AMVP列表。
vii.在一个示例中,运动候选列表可以是仿射合并/AMVP列表。
viii.在一个示例中,运动候选列表可以是IBC合并/AMVP列表。
ix.在一个示例中,运动候选列表可以是ADMVR合并列表。
x.在一个示例中,运动候选列表可以是GPM合并列表。
xi.在一个示例中,运动候选列表可以是TPM合并列表。
xii.在一个示例中,运动候选列表可以是MMVD合并/候选列表。
xiii.在一个示例中,运动候选列表可以是MMVD基础候选列表。
xiv.在一个示例中,运动候选列表可以是IBC模板匹配候选列表。
xv.在一个示例中,运动候选列表可以是帧内模板匹配候选列表。
xvi.在一个示例中,运动候选列表可以是IBC MMVD/MBVD候选列表。
xvii.在一个示例中,运动候选列表可以是IBC MMVD/MBVD基础候选列表。
xviii.在一个示例中,运动候选列表可以是IBC GPM候选列表。
xix.在一个示例中,运动候选列表可以是IBC TPM候选列表。
xx.在一个示例中,运动候选列表可以是GPM MMVD基础候选列表。
xxi.在一个示例中,运动候选列表可以是仿射MMVD基础候选列表。
xxii.在一个示例中,运动候选列表可以是GPM MMVD候选列表。
xxiii.在一个示例中,运动候选列表可以是仿射MMVD候选列表。
xxiv.在一个示例中,运动候选列表可以是CIIP-TM合并候选列表。在一个示例中,运动候选列表可以是CIIP合并候选列表。
xxv.在一个示例中,运动候选列表可以参考MHP的运动候选列表。
xxvi.在一个示例中,运动候选列表可以参考双边匹配AMVP合并模式的运动候选列表。
xxvii.在一个示例中,运动候选列表可以与GPM划分模式相关联。
xxviii.在一个示例中,运动候选列表可以与针对帧间AMVP和/或仿射AMVP和/或MMVD和/或仿射MMVD模式的MVD符号预测相关联。
xxix.在一个示例中,运动候选列表可以与针对IBC AMVP和/或IBCMMVD/MBVD模式的BVD符号预测相关。
xxx.在一个示例中,运动候选列表可以是任何其他运动候选列表。
运动候选列表
1.在一个示例中,允许添加的第一类运动候选的最大数目和/或存储于/检查到候选列表的第一类运动候选的最大数目对于MV候选列表和BV候选列表可以是不同的。
a.在一个示例中,第一类运动候选可以是HMVP候选。
i.在一个示例中,可以针对MV候选列表和BV候选列表分别用信号发送或确定HMVP候选的数目。
ii.在一个示例中,MV候选列表要使用的第一HMVP表的第一大小和BV候选列表要使用的第二HMVP表的第二大小可以不同。
(i)在一个示例中,可以单独地用信号发送或确定第一大小和第二大小。
2.运动候选列表可以由空域候选、和/或时域候选、和/或HMVP候选、和/或成对候选、和/或STMVP候选组成。
a.在一个示例中,对于BV候选列表,只有当BV候选有效时,才可以将其插入到BV候选列表中。
b.在一个示例中,与当前设计相比,HMVP候选的数目和/或HMVP表大小可以增加。
c.在一个示例中,在运动候选列表中,HMVP候选的数目和/或HMVP表大小可以增加。当构建运动候选列表时,N1个相邻空域候选和/或N2个HMVP候选和/或N3个成对平均候选可以通过完全修剪来部分或全部导出,以确保列表中不存在重复或相似的候选,然后重新排序一起。重新排序后,可以选择前N个候选(例如具有最低成本的)作为列表中的最终候选。
i.在一个示例中,N可以是6和/或N1可以是5和/或N2可以是30和/或N3可以是1。
ii.在一个示例中,相邻空域候选可以由左侧和/或上方和/或右上方和/或左下和/或左上方空域候选组成(图30A中示出了示例)。
iii.在一个示例中,HMVP候选的数目和/或HMVP表大小可以增加到N2(例如,30)。
iv.在一个示例中,对于成对候选,其可以通过对运动候选列表中的预定义对的现有候选进行平均来生成。
(i)在一个示例中,预定义对可以被定义为诸如{(0,1)、(0,2)、(1,2)、(0,3)、
(1,3)、(2,3)},其中数字表示运动候选列表中的运动候选索引。
d.在一个示例中,可能对要导出的运动候选的最大数目(例如,M)存在约束,该运动候选可以是唯一的(例如,在完全修剪之后)。
i.在一个示例中,它可以为成对候选保留P个位置。
(i)在一个示例中,P可以是1。
ii.在一个示例中,可能对要导出的相邻空域候选的最大数目(例如,M1)有约束,该相邻空域候选可能是唯一的(例如,在完全修剪之后)。
(i)在一个示例中,M1可以是4。
iii.在一个示例中,对要导出的HMVP候选的最大数目(例如,M2)可能存在约束,该候选可以是唯一的(例如,在完全修剪之后)。
(i)在一个示例中,M2可以是10。
iv.在一个示例中,可能对要导出的成对平均候选的最大数目(例如,M3)有约束,该成对平均候选可能是唯一的(例如,在完全修剪之后)。
(i)在一个示例中,M3可以是1。
v.在一个示例中,M可以是15。
vi.在一个示例中,在具有约束的运动候选列表构建之后,所有候选可以被重新排序在一起。重新排序后,可以选择前N个候选(例如具有最低成本的)作为列表中的最终候选。
e.在一个示例中,基于运动候选类型的ARMC可用于根据一个货一些准则对具有一种特定候选类型或多种特定候选类型的运动候选进行重新排序。
i.在一个示例中,当构建运动候选列表时,可以从具有该候选类型的重新排序的候选中选择M个具有特定候选类型的候选(例如具有最低成本的)。
(i)M可以根据当前块的候选类型和/或编解码模式而变化。
ii.在一个示例中,候选类型可以是相邻的空域候选。例如,M为4。
iii.在一个示例中,候选类型可以是HMVP候选。例如,M为10。
iv.在一个示例中,候选类型可以是成对平均候选。例如,M为1。
v.在一个示例中,多个运动候选类型(即,候选类型组合)可以被重新排序在一起。
(i)在一个示例中,当构建运动候选列表时,可以从候选类型组合中的重新排序的候选中选择具有任何特定运动候选类型的M个候选(例如具有最低成本),其中M可以根据候选类型的组合和/或当前块的编解码模式而变化。
(ii)在一个示例中,相邻空域候选和/或HMVP候选和/或成对平均候选可以被重新排序在一起。例如,M为6。
(iii)在一个示例中,可以首先使用基于运动候选类型的ARMC对运动候选中的至少一种运动候选类型进行重新排序。
(iv)在一个示例中,可以从具有HMVP候选类型的重新排序的候选中选择N个HMVP候选(例如具有最低成本的),并且可以将所选择的N个HMVP候选与相邻空域候选和/或成对候选一起重新排序。最终可以选择M个候选(例如成本最低的)。
f.在一个示例中,如果一个候选被重新排序超过一次,则可以重新使用其重新排序标准(例如,模板匹配成本)。
g.在一个示例中,如果运动候选列表是用于导出IBC AMVP列表的IBC合并列表,则可以不执行重新排序。
运动候选列表重排序准则
3.在一个示例中,可以首先导出初始运动候选列表,随后根据一个或一些准则进行重新排序/细化过程。并且重新排序/细化的列表被用在块的编码/解码过程中。
4.在一个示例中,重新排序/细化过程可以基于模板匹配成本。
a.实际上,重新排序/细化过程可能基于双边匹配成本。
b.在一个示例中,当前模板和参考模板之间的成本函数可以是
i.SAD/MR-SAD,
ii.SATD/MR-SATD,
iii.SSD/MR-SSD,
iv.SSE/MR-SSE,
v.加权SAD/加权MR-SAD,
vi.加权SATD/加权MR-SATD,
vii.加权SSD/加权MR-SSD,
viii.加权SSE/加权MR-SSE,
ix.梯度信息。
c.在一个示例中,如果启用了LMCS,则当前模板和参考模板可以由映射域中的样本组成。
i.替代地,当前模板和参考模板可能由原始域中的样本组成。
d.在一个示例中,运动候选可以被分为几个子组,并且每个子组中的运动候选可以根据基于模板/双边匹配的成本值升序重新排序。
e.在一个示例中,可以基于规则来选择模板的样本。
i.在一个示例中,如果当前块只有上方模板可用,则模板匹配重排序只能使用上方模板。
ii.在一个示例中,如果当前块只有左侧模板可用,则模板匹配重排序只能使用左侧模板。
iii.在一个示例中,如果上方模板和左侧模板都可用于当前块,则模板匹配重排序可以使用左侧模板、上方模板、或者上方模板和左侧模板两者。
f.在一个示例中,模板/双边匹配过程可以包括一个分量,例如亮度。
i.一般来说,模板/双边匹配程序可以包括多个分量,例如亮度和色度。
(i)在一个示例中,总模板/双边匹配成本可以被计算为不同颜色分量上的模板/双边匹配成本的加权和。
g.在一个示例中,左侧模板的宽度和/或上方模板的高度可以是固定的。
i.在一个示例中,左侧模板的宽度可以是1。
ii.在一个示例中,上方模板的高度可以为1。
5.模板形状和/或大小可以是自适应的。
a.在一个示例中,模板可以仅包括当前块下方的邻近样本。
b.在一个示例中,模板可以仅包括当前块上方的邻近样本。
c.在一个示例中,可以根据CU形状和/或尺寸来选择模板形状和/或大小。
d.在一个示例中,可以根据CU高度来选择左侧模板的宽度。
i.例如,如果H<=M,则左侧模板大小为w1xH;否则,左侧模板大小为w2xH。
(i)在一个示例中,M、w1和w2分别设置为等于8、1和2。
e.在一个示例中,上方模板的高度可以根据CU的宽度来选择。
i.例如,如果W<=N,则上方模板大小为Wxh1;否则,上方模板大小为Wxh2。
(i)在一个示例中,N、h1和h2分别设置为等于8、1和2。
f.在一个示例中,可以根据CU宽度来选择左侧模板的宽度。
i.例如,如果W<=N,则左侧模板大小为w1xH;否则,左侧模板大小为w2xH。
(i)在一个示例中,N、w1和w2分别被设置为等于8、1和2。
g.在一个示例中,可以根据CU的高度来选择上方模板的高度。
i.例如,如果H<=M,则上方模板大小为Wxh1;否则,上方模板大小为Wxh2。
(i)在一个示例中,M、h1和h2分别设置为等于8、1和2。
h.在一个示例中,模板的样本和模板样本的参考样本在用于计算成本之前可以被二次采样或下采样。
i.是否进行子采样和/或如何进行子采样可能取决于CU大小。
ii.在一个示例中,可以不对CU的短边执行子采样。
6.在一个示例中,重新排序/细化过程可以基于块边界不连续性度量。
a.在一个示例中,边界不连续性度量(例如,disCost)可以定义为:
其中P是当前块的预测,R是邻近块(即当前模板)中的重构样本。图52显示了一个示例,示出了示例图5200,其中示出了相邻重构块(带有虚线阴影)和当前预测块(白色)。
i.在一个示例中,w1为0,w3为0。w2为1,w4为1。
ii.在一个示例中,w1=w2=w3=w4=1。
b.在一个示例中,边界不连续性度量(例如,disCost)可以定义为:
其中P是当前块的预测,R是邻近块中的重构样本。图52显示了一个示例。i.在一个示例中,w1为1,w2为1。
7.在一个示例中,重新排序/细化过程可以基于块边界不连续性度量(例如,disCost)和/或模板匹配成本(例如,tmCost)。
a.在一个示例中,重新排序/细化过程可以基于块边界不连续性度量(例如,disCost)和模板匹配成本(例如,tmCost)的加权平均,其可以被计算为wdis×disCost+wtm×tmCost。
i.在一个示例中,wdis和wtm可以是预定义的、或者用信号发送的、或者根据编解码信息导出的。
ii.在一个示例中,wdis可以取决于QP。
(i)在一个示例中,对于较高的QP,wdis可以被设置为较小的值。
b.在一个示例中,可以用信号发送一个标志来指示是否使用块边界不连续性度量或模板匹配成本。
c.在一个示例中,是否使用块边界不连续性度量或模板匹配成本可以取决于编码/解码信息。
i.在一个示例中,对于大于预定义阈值的QP,可以使用模板匹配成本。
8.在一个示例中,重新排序/细化过程可以基于以下至少一项或至少两项的加权平均。
a.模板匹配成本,
b.双边匹配成本,
c.块边界不连续性度量。
9.在一个示例中,多样性重新排序可应用于任何运动候选列表或帧内候选列表。
a.在一个示例中,如果候选与其前任之间的成本差异低于lambda值(例如|D1-D2|<λ),则该候选被视为冗余,其中D1和D2是在第一次ARMC排序期间获得的成本,λ是编码器端RD标准中使用的拉格朗日参数。
i.在一个示例中,在第一次ARMC排序期间获得的成本可以是以下各项中的至少一个或至少两个的加权平均。
(i)模板匹配成本,
(ii)双边匹配成本,
(iii)块边界不连续性度量。
ii.在一个示例中,在第一次ARMC排序期间获得的成本可以取决于运动候选列表的类别。
iii.或者,|D1-D2|<λ可以概括为|w1*D1-w2*D2|<wλ*λ。
(i)在一个示例中,w1和/或w2可以取决于相应的候选位置。
(ii)在一个示例中,wλ可以取决于QP。
(iii)在一个示例中,w1和/或w2和/或wλ可以取决于运动候选列表的类别。iv.在一个示例中,有几种设置λ值的方法。
(i)在一个示例中,λ的值可以取决于编码过程的配置(例如,All Intra(AI)、lowdelay_B(LB)、lowdelay_P(LP)、randomaccess(RA))。
(ii)在一个示例中,λ的值可以取决于运动候选列表的类别。
(iii)在一个示例中,λ的值可以预定义。
a)在一个示例中,λ的值可以设置为完整RDO过程中使用的lambda。
b)在一个示例中,λ的值可以设置为完整RDO过程中使用的lambda的平方根。
(iv)在一个示例中,λ的值可以取决于在第一次ARMC排序期间获得的成本。
a)在一个示例中,如果在第一次ARMC排序期间获得的成本是平方误差(例如,SSE/SSD、MR-SSE/MR-SSD、加权SSD/加权MR-SSD、加权SSE/加权MR-SSE),则λ值可以设置为完整RDO过程中使用的lambda。
b)在一个示例中,如果在第一次ARMC排序期间获得的成本是绝对误差(例如,SAD/MR-SAD、SATD/MR-SATD、加权SAD/加权MR-SAD、加权SATD/加权MR-SATD),则λ的值可以设置为完整RDO过程中使用的lambda的平方根。
(v)。在一个示例中,λ的值可以从编码器发送到解码器。
a)在一个示例中,λ的值可以在序列级别/图片组级别/图片级别/条带级别/图块级别/图块组级别上,例如在序列头/图片头/SPS/VPS/DPS/DCI/PPS/APS/条带头/图块组头中用信号发送。
b)或者,λ的值可以在PB/TB/CB/PU/TU/CU/VPDU/CTU/CTU行/切片/图块/子图片/包含多个样本或像素的其他类型的区域中用信号发送。
(vi)在一个示例中,可以根据某些时域和/或空域和/或编解码信息(例如,编解码模式)自适应地得出λ的值。
(vii)在一个示例中,λ的值可以取决于邻近块的编解码信息。
a)在一个示例中,λ的值可以取决于邻近块的编解码模式。
b)在一个示例中,邻近块可以包括五个空域邻近块(如图4所示)中的至少一个和/或时域邻近块(如图7所示)。
(viii)在一个示例中,λ的值可以取决于其他编解码参数。
a)在一个示例中,λ的值可以取决于块大小。
b)在一个示例中,λ的值可以取决于时域层。
c)在一个示例中,λ的值可以取决于QP。
d)在一个示例中,λ的值可以取决于图片分辨率。
e)在一个示例中,λ的值可以取决于条带类型。
10.在一个示例中,对于BV候选,需要执行一些操作。
a.MV候选和BV候选的重新排序/处理方法可能不同。
b.在一个示例中,当或仅当IBC参考区域满足以下条件之一或至少一个条件的组合时,IBC参考区域可被确定为有效。
i.IBC参考区域已在当前图片内重构。
ii.IBC参考区域位于与当前块相同的CTU行中。
iii.IBC参考区域位于与当前块相同的图块/子图片中。
iv.IBC参考区域与当前块位于同一条带中。
v.IBC参考区域满足IBC虚拟缓冲条件(例如,2.4.4小节中描述的)。
vi.参考区域可以指模板的参考区域,也称为参考模板。
c.在一个示例中,当或仅当BV候选满足以下条件之一或至少一个条件的组合时,BV候选可被确定为有效。
i.相应的参考块已经在当前图片内重构。
ii.相应的参考块位于与当前块相同的CTU行中。
iii.相应的参考块位于与当前块相同的图块/子图片中。
iv.对应的参考块与当前块位于同一个条带中。
v.BV候选满足块向量约束(例如,2.4.2小节和2.4.3小节中描述的)
vi.BV候选满足IBC虚拟缓冲条件(例如2.4.4小节中描述的)。
d.对于IBC,为参考模板定义的有效区域和为参考块定义的有效区域应该相同。
i.可选地,它们可能有所不同。
e.在一个示例中,用于定位参考模板的BV可以被裁剪。
i.在一个示例中,如果参考模板位于当前图片之外(如图33A所示),则可以对用于定位参考模板的BV进行裁剪,以使参考模板位于当前图片之内。裁剪操作不会改变相应BV候选的BV。图33B中显示了一个示例。
f.在一个示例中,如果参考模板在当前图片之外(如图33A所示),则仍然可以对相应的BV候选进行重新排序。
i.在一个示例中,如果参考模板在当前图片之外,则可以从当前图片内最近的样本进行填充。
g.在一个示例中,参考模板应该已经在当前图片内重构。
i.在一个示例中,如果参考模板没有被重构或者在当前图片之外,则对应的BV候选可以不被重新排序。
h.在一个示例中,要求参考模板的样本应该是可用的(例如,正在重构并且在当前块的同一条带/图块/IBC虚拟缓冲内)。
i.另外,如果参考模板中包含的部分或全部样本不可用,则可以采用上述处理当前图片之外的参考模板的方法。
ii.另外,如果参考模板中包含的部分或全部样本不可用,则将相应的BV候选设置为无效/不可用。
i.在一个示例中,用于定位参考模板的BV可以被裁剪。
i.在一个示例中,如果参考模板位于有效IBC参考区域之外,则可以对用于定位参考模板的BV进行裁剪,以使参考模板位于有效IBC参考区域内。剪辑操作不会改变相应BV候选的BV。
j.在一个示例中,如果参考模板在有效IBC参考区域之外(如图53A所示),示出了参考模板位于有效IBC参考区域之外,则可以通过相对于当前块的对应BV候选的BV而不是当前模板来定位参考模板。图53B中显示了一个示例,示出了通过相对于当前块的对应BV候选的BV而不是当前模板来定位参考模板。
k.在一个示例中,如果参考模板位于有效IBC参考区域之外(如图53A所示),则仍然可以对相应的BV候选进行重新排序。
i.在一个示例中,如果参考模板位于有效IBC参考区域之外,则可以从有效IBC参考区域内的最近样本来填充它。
l.在一个示例中,参考模板应该已经在有效的IBC参考区域内重构。
i.在一个示例中,如果参考模板未被重构或者在有效IBC参考区域之外,则对应的BV候选可以不被重新排序。
m.在一个示例中,参考模板的样本应该是可用的(例如,正在重构并且在有效的IBC参考区域内)。
i.此外,如果参考模板中包含的部分或全部样品不可用,则可以应用上述在有效IBC参考区域之外处理参考模板的方法。
ii.另外,如果参考模板中包含的部分或全部样本不可用,则将相应的BV候选设置为无效/不可用。
n.在一个示例中,TM-IBC的候选BV的搜索范围应当满足每个候选BV的参考模板应当位于有效区域中。
o.在一个示例中,可以基于规则来选择当前模板的样本。
i.在一个示例中,如果只有上方模板可用和/或位于当前块的有效IBC参考区域中,则模板匹配重新排序只能使用上方模板。
ii.在一个示例中,如果只有左侧模板可用和/或位于当前块的有效IBC参考区域中,则模板匹配重新排序只能使用左侧模板。
iii.在一个示例中,如果上方和左侧模板均可用和/或位于当前块的有效IBC参考区域中,则模板匹配重新排序可以使用左侧模板、上方模板或上方和左侧两者模板。
关于BVD符号预测
11.在一个示例中,BVD符号预测可应用于IBC AMVP和/或IBC
MMVD/MBVD模式。
a.在一个示例中,根据模板匹配成本对可能的BVD符号组合进行排序,并导出与真实BVD符号相对应的索引并进行上下文编码。在解码器端,BVD符号导出如下:
i.解析BVD分量的大小。
ii.解析上下文编码的BVD符号预测索引。
iii.通过创建可能符号和绝对BVD值之间的组合并将其添加到BV预测器来构建BV候选。
iv.根据模板匹配成本为每个导出的BV导出BVD符号预测成本并进行排序。
v.使用BVD符号预测索引来挑选真正的BVD符号。
b.在一个示例中,BVD符号预测成本可以基于以下至少一项或至少两项的加权平均
i.模板匹配成本,
ii.双边匹配成本,
iii.块边界不连续性度量。
本公开的实施例涉及运动候选列表构建。如本文所使用的,术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、编解码单元(CU)、预测单元(PU)、变换单元(TU)、预测块(PB)、变换块(TB)或包括多个样本或像素的视频处理单元。块可以是矩形的或非矩形的。
如本文所使用的,术语“运动候选”可以指运动向量(MV)候选或块向量(BV)候选。如本文所使用的,术语“运动候选列表”可以指MV候选列表或BV候选列表。
在一个示例中,运动候选列表可以是基于块的双边匹配细化、模板匹配细化或基于子块的双边匹配细化中的至少一种之后的TM合并或AMVP列表。
在一个示例中,运动候选列表可以是在DMVR或多遍DMVR过程中的至少一者之后的常规合并/AMVP列表。在一个示例中,运动候选列表可以是在DMVR或多遍DMVR过程中的至少一者之后的ADMVR合并列表。在一个示例中,运动候选列表可以是模板匹配细化过程之后的GPM合并列表(例如,AGPMList、LGPMList或LAGPMList)。在一个示例中,运动候选列表可以是常规合并/AMVP列表。在一个示例中,运动候选列表可以是TM合并列表或TM AMVP列表。在一个示例中,运动候选列表可以是仿射合并列表或仿射AMVP列表。在一个示例中,运动候选列表可以是IBC合并列表或IBC AMVP列表。在一个示例中,运动候选列表可以是ADMVR合并列表。在一个示例中,运动候选列表可以是GPM合并列表。在一个示例中,运动候选列表可以是TPM合并列表。在一个示例中,运动候选列表可以是MMVD合并或MMVD候选列表。在一个示例中,运动候选列表可以是MMVD基础候选列表。在一个示例中,运动候选列表可以是IBC模板匹配候选列表。在一个示例中,运动候选列表可以是帧内模板匹配候选列表。在一个示例中,运动候选列表可以是IBC MMVD或MBVD候选列表。在一个示例中,运动候选列表可以是IBC MMVD/MBVD基础候选列表。在一个示例中,运动候选列表可以是IBC GPM候选列表。在一个示例中,运动候选列表可以是IBC TPM候选列表。在一个示例中,运动候选列表可以是GPMMMVD基础候选列表。在一个示例中,运动候选列表可以是仿射MMVD基础候选列表。在一个示例中,运动候选列表可以是GPM MMVD候选列表。在一个示例中,运动候选列表可以是仿射MMVD候选列表。在一个示例中,运动候选列表可以是CIIP-TM合并候选列表。在一个示例中,运动候选列表可以是CIIP合并候选列表。在一个示例中,运动候选列表可以参考MHP的运动候选列表。在一个示例中,运动候选列表可以参考双边匹配AMVP合并模式的运动候选列表。
在一个示例中,运动候选列表可以与GPM划分模式相关联。在一个示例中,运动候选列表可以与针对帧间AMVP和/或仿射AMVP和/或MMVD和/或仿射MMVD模式的MVD符号预测相关联。在一个示例中,运动候选列表可以与针对IBC AMVP和/或IBC MMVD/MBVD模式的BVD符号预测相关。在一个示例中,运动候选列表可以是任何其他运动候选列表。
图54示出了根据本公开的一些实施例的用于视频处理的方法5400的流程图。方法5400针对视频的当前视频块和视频的比特流之间的转换被实现。
在块5410处,确定当前视频块的块矢量差(BVD)的符号预测。在块5420处,至少基于BVD的符号预测来确定BVD。
在块5430处,基于BVD执行转换。在一些实施例中,当前视频块与比特流之间的转换可以包括将当前视频块编码到比特流中。额外或附加地,转换可以包括从比特流解码当前视频块。
方法5400能够基于BVD的符号预测确定当前视频块的BVD。以此方式,可以有利地提高编解码有效性和编解码效率。
在一些实施例中,BVD的符号预测应用于以下至少一项:帧内块复制(IBC)高级运动向量预测(AMVP)模式、具有运动向量差异的IBC合并模式(MMVD)或具有BVD的IBC合并模式(MBVD)。
在一些实施例中,确定与BVD的多个候选符号预测相关联的多个成本。在块5410处,可以基于多个成本确定BVD的符号预测。
在一些实施例中,多个成本中的一个成本基于多个候选符号预测中的对应候选符号预测的以下度量中的至少一项:模板匹配成本、双边匹配成本或块边界不连续性度量。
在一些实施例中,成本基于以下至少两项的加权平均来确定:模板匹配成本、双边匹配成本和块边界不连续性度量。即,BVD符号预测成本可以基于模板匹配成本、双边匹配成本、块边界不连续性度量中的至少一项或基于至少两项的加权平均。
在一些实施例中,多个候选符号预测中的一个候选符号预测包括BVD的第一分量的第一符号预测分量和BVD的第二分量的第二符号预测分量的组合。例如,BVD的第一分量可以是水平分量。BVD的第二分量可以是垂直分量。第一符号预测分量可以是水平分量的符号,第二符号预测分量可以是垂直分量的符号。第一符号预测分量和第二符号预测分量的组合可以是以下之一:{+,+},{+,-},{-,+},{-,-}。
在一些实施例中,确定BVD的幅值。可以基于BVD的幅值、多个候选符号预测和当前视频块的BV预测来确定多个块向量(BV)候选。可以确定多个BV候选的多个成本。
在一些实施例中,BVD的幅值包括BVD的第一分量的第一幅值和BVD的第二分量的第二幅值。例如,BVD的幅值包括BVD的水平分量的水平幅值和BVD的垂直分量的垂直幅值。对于多个候选符号预测中的一个候选符号预测,基于第一幅值、第二幅值、候选符号预测的第一分量、候选符号预测的第二分量和BV预测来确定多个BV候选中的相应BV候选。
在一些实施例中,相应的BV候选是通过以下方式确定的:基于候选符号预测的第一分量和第一幅值确定第一BVD分量;基于候选符号预测的第二分量和第二幅值确定第二BVD分量;以及将第一BVD分量和第二BVD分量与BV预测的组合之和确定为相应的BV候选。例如,可以将BVD确定为包括水平分量和垂直分量的向量。可以通过将候选符号预测的第一分量乘以第一幅值来确定向量的水平分量。可以通过将候选符号预测的第二分量乘以第二幅值来确定向量的垂直分量。可以通过将BV预测添加到向量来确定相应的BV候选。
在一些实施例中,可以基于对多个成本的排序来确定多个候选符号预测的多个索引。举例来说,可以根据模板匹配成本、双边匹配成本或块边界不连续性度量对可能的BVD符号组合(例如{+,+}、{+,-}、{-,+}、{-,-})进行排序。可以导出与真实BVD符号相对应的索引并进行上下文编码。在解码器端,可以导出BVD符号。
在一些实施例中,可以基于真实BVD符号与多个经排序的候选符号预测之间的比较来确定多个索引中的目标索引。目标索引与真实BVD符号相关联。真实BVD符号可以基于目标索引来确定。例如,在编码器侧,可以将多个候选符号预测中最接近真实BVD候选的候选符号预测相关联的索引确定为目标索引。目标索引可以包含在比特流中。在解码器侧,解码器可以获得比特流中包含的目标索引。基于所获得的目标索引,解码器可以将与目标索引相关联的候选符号预测确定为最终符号预测(即真实BVD符号)。
根据本公开的实施例,提出了一种非暂态计算机可读记录介质。该瞬态计算机可读记录介质存储由视频处理装置执行的方法生成的视频的比特流。在该方法中,确定视频的当前视频块的块矢量差(BVD)的符号预测。至少基于BVD的符号预测来确定BVD。基于BVD生成比特流。
根据本公开的另一实施例,提出了一种用于存储视频比特流的方法。在该方法中,确定视频的当前视频块的块矢量差(BVD)的符号预测。至少基于BVD的符号预测来确定BVD。基于BVD生成比特流。比特流存储在非临时计算机可读记录介质中。
图55示出了根据本公开的一些实施例的用于视频处理的方法5500的流程图。方法5500可以针对视频的当前视频块和视频的比特流之间的转换实现。
在块5510处,基于以下至少一项来确定与当前视频块相关联的成本:与当前视频块相关联的模板匹配成本、与当前视频块相关联的双边匹配成本、或与当前视频块相关联的块边界不连续性度量。在块5520处,基于成本对当前视频块执行处理。
在框5530处,基于过程执行转换。在一些实施例中,当前视频块与比特流之间的转换可包括将当前视频块编码到比特流中。额外或附加地,转换可包括从比特流解码当前视频块。
方法5500能够基于基于各种成本度量(包括模板匹配成本、双边匹配成本或块边界不连续性度量)确定的成本对当前视频块执行处理。以此方式,可以有利地提高编码效果和编码效率。
在一些实施例中,成本包括以下至少两项的加权平均:模板匹配成本、双边匹配成本或块边界不连续性测量。
在一些实施例中,处理包括以下至少一项:重新排序过程或细化过程。也就是说,重新排序或细化过程可以基于以下至少一项或至少两项的加权平均:模板匹配成本、双边匹配成本、块边界不连续性度量。
在一些实施例中,在块5520处,可以对以下至少一项的多个候选执行重新排序过程:当前视频块的运动候选列表,或当前视频块的帧内候选列表。例如,可以将多样性重新排序应用于任何运动候选列表或帧内候选列表。
在一些实施例中,确定与当前视频块相关联的成本包括:确定以下至少一项的多个候选的多个成本:运动候选列表或帧内候选列表。可以基于多个成本执行重新排序过程。
在一些实施例中,重新排序过程包括合并候选的自适应重新排序(ARMC)过程。例如,在第一次ARMC排序期间获得的成本可以是以下各项中的至少一项或至少两项的加权平均值:模板匹配成本、双边匹配成本、块边界不连续性度量。
在一些实施例中,基于多个成本执行重新排序过程包括:确定多个候选中的第一候选的第一成本和多个候选中的第二候选的第二成本,其中第二候选在第一候选之前被确定。重新排序过程可以基于第一和第二成本执行。
在一些实施例中,如果第一和第二成本之间的成本差异小于或等于阈值差异(例如λ),则第一候选为冗余候选,成本差异表示第一和第二候选之间的差异。
在一些实施例中,阈值差异包括与速率失(RD)过程相关的拉格朗日参数,例如λ。例如,如果候选与其前任之间的成本差异低于λ值,则候选可被视为冗余,例如,|D1-D2|<λ,其中D1和D2是在第一次ARMC排序期间获得的成本,而λ是在编码器侧的RD标准中使用的拉格朗日参数。
在一些实施例中,多个候选中的一个候选的相应成本是基于以下至少一项确定的:候选的模板匹配成本、候选的双边匹配成本、或候选的块边界不连续性度量。
在一些实施例中,相应成本包括以下至少两项的加权平均:候选的模板匹配成本、候选的双边匹配成本、或候选的块边界不连续性度量。
在一些实施例中,在自适应重新排序合并候选(ARMC)过程中确定的多个成本是基于以下至少一项的类别来确定的:运动候选列表或帧内候选列表。例如,在第一次ARMC排序期间获得的成本可以是以下至少一项或至少两项的加权平均值:模板匹配成本、双边匹配成本、块边界不连续性度量。
在一些实施例中,如果第一成本与第二成本的加权成本差异小于或等于加权阈值差异,则第一候选为冗余候选。例如,|D1-D2|<λ可以概括为|w1*D1-w2*D2|<wλ*λ,其中w1、w2和wλ是权重。
在一些实施例中,第一成本的第一权重基于第一候选的第一候选位置,和/或第二成本的第二权重基于第二候选的第二候选位置。
在一些实施例中,加权阈值差异的第三权重基于量化参数(QP)。
在一些实施例中,第一成本的第一权重、第二成本的第二权重或加权阈值的第三权重中的至少一项基于以下至少一项的类别:运动候选列表或帧内候选列表。
在一些实施例中,重新排序过程的阈值差异基于转换的配置。在一些实施例中,配置包括以下至少一项:全帧内(AI)配置、低延迟B(LB)配置、低延迟P(LP)配置、随机访问(RA)配置。
在一些实施例中,重新排序过程的阈值差异基于以下至少一项的类别:运动候选列表或帧内候选列表。
在一些实施例中,预定义重新排序过程的阈值差异。在一些实施例中,预定义重新排序过程的阈值差异为与速率失真(RD)过程相关联的拉格朗日参数,或拉格朗日参数的平方根。
在一些实施例中,重新排序过程的阈值差异基于多个候选的多个成本,该多个成本是在合并候选的自适应重新排序(ARMC)过程期间确定的。
在一些实施例中,如果多个成本是基于与平方误差相关联的度量确定的,则阈值差异包括与速率失真(RD)过程相关联的拉格朗日参数,该度量包括以下至少一项:平方差和(SSD)、平方误差和(SSE)、均值去除的平方差和(MR-SSD)、均值去除的平方误差和(MR-SSE)、加权SSD、加权SSE、加权MR-SSD或加权MR-SSE。
在一些实施例中,如果多个成本是基于与绝对误差相关联的度量确定的,则阈值差异包括与速率失真(RD)过程相关联的拉格朗日参数的平方根,该度量包括以下至少一项:绝对差和(SAD)、绝对变换差和(SATD)、均值去除的绝对差和(MR-SAD)、均值去除的绝对变换差和(MR-SATD)、加权SAD、加权SATD、加权MR-SAD或加权MR-SATD。
在一些实施例中,方法5500还包括:基于以下至少一项确定重新排序过程的阈值差异:与当前视频块相关联的时域信息、与当前视频块相关联的空域信息、或与当前视频块相关联的编解码信息。
在一些实施例中,编解码信息包括编解码模式。
在一些实施例中,方法5500还包括:基于当前视频块的邻近块的编解码信息确定针对重新排序过程的阈值差异。在一些实施例中,邻近块的编解码信息包括邻近块的编解码模式。
在一些实施例中,邻近块包括以下至少一项:当前视频块的空域邻近块,或当前视频块的时域邻近块。
在一些实施例中,空域邻近块包括以下至少一项:当前视频块的左下样本左侧的左邻近块、左邻近块下方的左下邻近块、当前视频块的右上样本上方的上方邻近块、上方邻近块右侧的右上邻近块、或当前视频块的左上样本上方和左侧的左上邻近块。例如,空域邻近块的位置可在图4中示出。
在一些实施例中,时域邻近块包括以下至少一项:位于当前视频块的同位视频块的中心位置的第一时域邻近块,或位于当前视频块的同位视频块的右下方位置的第二时域邻近块。例如,时域邻近块的位置可如图7所示。
在一些实施例中,方法5500还包括:基于当前视频块的编解码参数确定针对重新排序过程的阈值差异。举例来说,编解码参数包括以下至少一项:当前视频块的块大小、当前视频块的时域层、当前视频块的量化参数(QP)、与当前视频块相关联的图片分辨率、或与当前视频块相关联的条带类型。
在一些实施例中,阈值差异包括在比特流中。举例来说,阈值差异包括在以下至少一项中:序列级别、图片组级别、图片级别、条带级别、图块级别、图块组级别。
在一些实施例中,阈值差异包含在以下至少一项中:序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码参数集(DPS)、解码能力信息(DCI)、图片参数集(PPS)、自适应参数集(APS)、条带头或图块组头。
在一些实施例中,阈值差异在包含多于一个样本或像素的区域中指示。举例来说,该区域包括以下至少一项:预测块(PB)、变换块(TB)、编解码块(CB)、预测单元(PU)、变换单元(TU)、编码单元(CU)、虚拟流水线数据单元(VPDU)、编码树单元(CTU)、CTU行、切片、图块、子图片。
根据本公开的进一步实施例,提供了一种瞬态计算机可读记录介质。该瞬态计算机可读记录介质存储由视频处理装置执行的方法生成的视频的比特流。在该方法中,基于以下至少一项确定与视频的当前视频块相关联的成本:与当前视频块相关联的模板匹配成本、与当前视频块相关联的双边匹配成本或与当前视频块相关联的块边界不连续性度量。基于该成本对当前视频块执行处理。基于该处理生成比特流。
根据本公开的进一步实施例,提供了一种用于存储视频比特流的方法。在该方法中,基于以下至少一项确定与视频的当前视频块相关联的成本:与当前视频块相关联的模板匹配成本、与当前视频块相关联的双边匹配成本或与当前视频块相关联的块边界不连续性度量。基于该成本对当前视频块执行处理。基于该处理生成比特流。该比特流存储在非临时计算机可读记录介质中。
在一些示例实施例中,运动候选列表可以包括上述任何合适的候选列表。本公开的范围在此方面不受限制。
在一个示例中,运动候选列表可以是在以下至少一项过程之后的模板匹配(TM)合并列表:基于块的双边匹配细化、模板匹配细化或基于子块的双边匹配细化。在另一个示例中,运动候选列表可以是在以下至少一项过程之后的TM高级运动向量预测(AMVP)列表:基于块的双边匹配细化、模板匹配细化或基于子块的双边匹配细化。在进一步的示例中,运动候选列表可以是以下至少一项:在以下至少一项过程之后的常规合并列表:解码器侧运动向量细化(DMVR)或多通道DMVR过程,在以下至少一项过程之后的常规AMVP列表:DMVR或多通道DMVR过程,在以下至少一项过程之后的高级DMVR(ADMVR)合并列表:DMVR或多通道DMVR过程。
在又一示例中,运动候选列表可以是模板匹配细化过程之后的几何分区模式(GPM)合并列表。例如,模板匹配细化过程之后的GPM合并列表可以是以下中的至少一个:AGPMList、LGPMList或LAGPMList。
在又一示例中,运动候选列表可以是以下至少一项:常规合并列表或常规AMVP列表、TM合并列表或TM AMVP列表、仿射合并列表或仿射AMVP列表、帧内块复制(IBC)合并列表或IBC AMVP列表、ADMVR合并列表、GPM合并列表、三角形分区模式(TPM)合并列表、具有运动向量差异的合并模式(MMVD)合并列表、MMVD候选列表、MMVD基础候选列表、IBC模板匹配候选列表、帧内模板匹配候选列表、IBC MMVD候选列表、具有块矢量差异的IBC合并模式(MBVD)候选列表、MBVD基础候选列表、IBC GPM候选列表、IBC TPM候选列表、GPM MMVD基础候选列表、仿射MMVD基础候选列表、GPM MMVD候选列表、仿射MMVD候选列表、CIIP-TM合并候选列表、CIIP合并候选列表、多假设预测(MHP)的运动候选列表、或双边匹配AMVP合并模式的运动候选列表。
在进一步的示例中,运动候选列表可以是与GPM划分模式相关的运动候选列表。在进一步的示例中,运动候选列表可以是与帧间AMVP和/或仿射AMVP和/或MMVD和/或仿射MMVD模式的运动向量差异(MVD)符号预测相关联的运动候选列表。在进一步的示例中,运动候选列表可以是与IBC AMVP和/或IBC MMVD/MBVD模式的块矢量差异(BVD)符号预测相关联的运动候选列表。
应当理解,上述方法5400和/或方法5500可以组合使用或单独使用。可以应用这些方法的任意合适组合。本公开的范围在此方面不受限制。
通过单独或组合使用这些方法5400和5500,可以改进运动候选列表。这样,可以提高编码效果和编码效率。
可以根据以下条款来描述本公开的实施方式,可以以任何合理的方式组合这些条款的特征。
条款1.一种用于视频处理的方法,包括:对于视频的当前视频块与视频的比特流之间的转换,确定当前视频块的块矢量差(BVD)的符号预测;至少基于BVD的符号预测确定BVD;以及基于BVD执行转换。
条款2.根据条款1所述的方法,其中BVD的符号预测应用于以下至少一项:帧内块复制(IBC)高级运动向量预测(AMVP)模式、具有运动向量差异的IBC合并模式(MMVD)或具有BVD的IBC合并模式(MBVD)。
条款3.根据条款1或条款2所述的方法,其中确定所述BVD的所述符号预测包括:确定与所述BVD的多个候选符号预测相关联的多个成本;以及基于所述多个成本确定所述BVD的所述符号预测。
条款4.根据条款3所述的方法,其中所述多个成本中的一个成本基于所述多个候选符号预测中的对应候选符号预测的以下度量中的至少一项:模板匹配成本,双边匹配成本,或块边界不连续性度量。
条款5.根据条款4所述的方法,其中所述成本基于以下至少两项的加权平均来确定:模板匹配成本、双边匹配成本和块边界不连续性度量。
条款6.根据条款3-5中任一项所述的方法,其中所述多个候选符号预测中的一个候选符号预测包括所述BVD的第一分量的第一符号预测分量和所述BVD的第二分量的第二符号预测分量的组合。
条款7.根据条款3-6中任一项所述的方法,其中确定与所述多个候选符号预测相关联的所述多个成本包括:确定所述BVD的幅值;基于所述BVD的所述幅值、所述多个候选符号预测和所述当前视频块的块向量(BV)预测来确定多个BV候选;以及确定所述多个BV候选的所述多个成本。
条款8.根据条款7所述的方法,其中所述BVD的所述幅值包括所述BVD的第一分量的第一幅值和所述BVD的第二分量的第二幅值,并且对于所述多个候选符号预测中的一个候选符号预测,所述多个BV候选中的相应BV候选是基于所述第一幅值、所述第二幅值、所述候选符号预测的所述第一分量、所述候选符号预测的所述第二分量和所述BV预测来确定的。
条款9.根据条款8所述的方法,其中所述相应BV候选是通过以下来确定的:基于所述候选符号预测的所述第一分量和所述第一幅值确定第一BVD分量;基于所述候选符号预测的所述第二分量和所述第二幅值确定第二BVD分量;以及将所述第一BVD分量和所述第二BVD分量与所述BV预测的组合之和确定为所述相应BV候选。
条款10.根据条款3-9中任一项所述的方法,其中基于所述多个成本确定所述BVD的所述符号预测包括:基于对所述多个成本的排序来确定所述多个候选符号预测的多个索引;基于真实BVD符号与多个经排序的所述候选符号预测之间的比较来确定所述多个索引中的目标索引,所述目标索引与所述真实BVD符号相关联;以及基于所述目标索引来确定所述真实BVD符号。
条款11.根据条款10所述的方法,其中所述目标索引通过上下文编码进行编解码。
条款12.一种用于视频处理的方法,包括:针对视频的当前视频块与所述视频的比特流之间的转换,基于以下至少一项确定与所述当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本,或与所述当前视频块相关联的块边界不连续性度量;基于所述成本对所述当前视频块执行处理;以及基于所述处理执行所述转换。
条款13.根据条款12所述的方法,其中所述成本包括以下至少两项的加权平均:所述模板匹配成本、所述双边匹配成本或所述块边界不连续性测量。
条款14.根据条款12或13所述的方法,其中所述处理包括以下至少一项:重新排序过程;或细化过程。
条款15.根据条款12-14中任一项所述的方法,其中对所述当前视频块执行所述处理包括:对以下至少一项的多个候选执行重新排序过程:所述当前视频块的运动候选列表,或所述当前视频块的帧内候选列表。
条款16.根据条款15所述的方法,其中确定与所述当前视频块相关联的所述成本包括:确定以下至少一项的所述多个候选的多个成本:运动候选列表或帧内候选列表;以及其中执行所述重新排序过程包括:基于所述多个成本执行所述重新排序过程。
条款17.根据条款15或16所述的方法,其中所述重新排序过程包括合并候选的自适应重新排序(ARMC)过程。
条款18.根据条款15-17中任一项所述的方法,其中基于所述多个成本执行所述重新排序过程包括:确定所述多个候选中的第一候选的第一成本和所述多个候选中的第二候选的第二成本;以及基于所述第一和第二成本执行所述重新排序过程。
条款19.根据条款18所述的方法,其中如果所述第一成本和所述第二成本之间的成本差异小于或等于阈值差异,则所述第一候选为冗余候选,所述成本差异表示所述第一候选和所述第二候选之间的差异。
条款20.根据条款19所述的方法,其中所述阈值差异包括与速率失真(RD)过程相关联的拉格朗日参数。
条款21.根据条款16-20中任一项所述的方法,其中所述多个候选中的一个候选的相应成本是基于以下至少一项确定的:所述候选的模板匹配成本、所述候选的双边匹配成本或所述候选的块边界不连续性度量。
条款22.根据条款21所述的方法,其中所述相应成本包括以下至少两项的加权平均:所述候选的模板匹配成本、所述候选的双边匹配成本或所述候选的块边界不连续性度量。
条款23.根据条款16-22中任一项所述的方法,其中在自适应重新排序合并候选(ARMC)过程中确定的所述多个成本是基于以下至少一项的类别来确定的:运动候选列表或帧内候选列表。
条款24.根据条款18所述的方法,其中如果所述第一成本和所述第二成本的加权成本差异小于或等于加权阈值差异,则所述第一候选为冗余候选。
条款25.根据条款24所述的方法,其中所述第一成本的第一权重基于所述第一候选的第一候选位置,和/或所述第二成本的第二权重基于所述第二候选的第二候选位置。
条款26.根据条款24或25所述的方法,其中所述加权阈值差异的第三权重基于量化参数(QP)。
条款27.根据条款24所述的方法,其中所述第一成本的第一权重、所述第二成本的第二权重或所述加权阈值的第三权重中的至少一项基于以下至少一项的类别:所述运动候选列表或所述帧内候选列表。
条款28.根据条款15-27中任一项所述的方法,其中所述重新排序过程的阈值差异基于所述转换的配置。
条款29.根据条款28所述的方法,其中所述配置包括以下至少一项:全帧内(AI)配置,低延迟B(LB)配置,低延迟P(LP)配置,随机访问(RA)配置。
条款30.根据条款15-29中任一项所述的方法,其中所述重新排序过程的阈值差异基于以下至少一项的类别:所述运动候选列表或所述帧内候选列表。
条款31.根据条款15-30中任一项所述的方法,其中所述重新排序过程的阈值差异是预定义的。
条款32.根据条款31所述的方法,其中所述重新排序过程的所述阈值差异被预定义为与速率失真(RD)过程相关联的拉格朗日参数,或所述拉格朗日参数的平方根。
条款33.根据条款15-32中任一项所述的方法,其中所述重新排序过程的所述阈值差异基于所述多个候选的多个成本,所述多个成本是在合并候选自适应重新排序(ARMC)过程期间被确定的。
条款34.根据条款33所述的方法,其中所述重新排序过程的所述阈值差异基于所述多个候选的多个成本,所述多个成本是在合并候选自适应重新排序(ARMC)过程期间被确定的:平方差和(SSD)、平方误差和(SSE)、均值去除的平方差和(MR-SSD)、均值去除的平方误差和(MR-SSE)、加权SSD、加权SSE、加权MR-SSD或加权MR-SSE。
条款35.根据条款33所述的方法,其中如果所述多个成本是基于与绝对误差相关联的度量被确定的,则所述阈值差异包括与速率失真(RD)过程相关联的拉格朗日参数的平方根,所述度量包括以下至少一项:绝对差和(SAD)、绝对变换差和(SATD)、均值去除的绝对差和(MR-SAD)、均值去除的绝对变换差和(MR-SATD)、加权SAD、加权SATD、加权MR-SAD或加权MR-SATD。
条款36.根据条款15-35中任一项所述的方法,还包括:基于以下至少一项确定所述重新排序过程的阈值差异:与所述当前视频块相关联的时域信息、与所述当前视频块相关联的空域信息或与所述当前视频块相关联的编解码信息。
条款37.根据条款36所述的方法,其中所述编解码信息包括编解码模式。
条款38.根据条款15-37中任一项所述的方法,还包括:基于所述当前视频块的邻近块的编解码信息确定针对所述所述重新排序过程的阈值差异。
条款39.根据条款38所述的方法,其中所述邻近块的所述编解码信息包括所述邻近块的编解码模式。
条款40.根据条款38或39所述的方法,其中所述邻近块包括以下至少一项:所述当前视频块的空域邻近块,或所述当前视频块的时域邻近块。
条款41.根据条款40所述的方法,其中所述空域邻近块包括以下至少一项:所述当前视频块的左下样本左侧的左邻近块,所述左邻近块下方的左下邻近块,所述当前视频块的右上样本上方的上方邻近块,所述上方邻近块右侧的右上邻近块,或所述当前视频块的左上样本上方和左侧的左上邻近块。
条款42.根据条款40或41所述的方法,其中所述时域邻近块包括以下至少一项:位于所述当前视频块的同位视频块的中心位置的第一时域邻近块,或位于所述当前视频块的同位视频块的右下方位置的第二时域邻近块。
条款43.根据条款15-42中任一项所述的方法,还包括:基于所述当前视频块的编解码参数确定针对所述重新排序过程的阈值差异。
条款44.根据条款43所述的方法,其中所述编解码参数包括以下至少一项:所述当前视频块的块大小,所述当前视频块的时域层,所述当前视频块的量化参数(QP),与所述当前视频块相关联的图片分辨率,或与所述当前视频块相关联的条带类型。
条款45.根据条款28-44中任一项所述的方法,中所述阈值差异包括在所述比特流中。
条款46.根据条款45所述的方法,其中所述阈值差异包括在以下至少一项中:序列级别、图片组级别、图片级别、条带级别、图块级别、图块组级别。
条款47.根据条款45或条款46所述的方法,其中所述阈值差异包括在以下至少一项中::序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码参数集(DPS)、解码能力信息(DCI)、图片参数集(PPS)、自适应参数集(APS)、条带头或图块组头。
条款48.根据条款45-47中任一项所述的方法,其中所述阈值差异在包含多于一个样本或像素的区域中被指示。
条款49.根据条款48所述的方法,其中所述区域包括以下至少一项:预测块(PB)、变换块(TB)、编解码块(CB)、预测单元(PU)、变换单元(TU)、编码单元(CU)、虚拟流水线数据单元(VPDU)、编码树单元(CTU)、CTU行、切片、图块、子图片。
条款50.根据条款15-49中任一项所述的方法,其中所述运动候选列表包括以下之一:在以下至少一项过程之后的模板匹配(TM)合并列表:基于块的双边匹配细化、模板匹配细化或基于子块的双边匹配细化,在以下至少一项过程之后的TM高级运动向量预测(AMVP)列表:基于块的双边匹配细化、模板匹配细化或基于子块的双边匹配细化,在以下至少一项过程之后的常规合并列表:解码器侧运动向量细化(DMVR)或多通道DMVR过程,在以下至少一项过程之后的常规AMVP列表:DMVR或多通道DMVR过程,在以下至少一项过程之后的高级DMVR(ADMVR)合并列表:DMVR或多通道DMVR过程,在模板匹配细化过程之后的几何分区模式(GPM)合并列表,常规合并列表或常规AMVP列表,TM合并列表或TM AMVP列表,仿射合并列表或仿射AMVP列表,帧内块复制(IBC)合并列表或IBC AMVP列表,ADMVR合并列表,GPM合并列表,三角形分区模式(TPM)合并列表,具有运动向量差异的合并模式(MMVD)合并列表,MMVD候选列表,MMVD基础候选列表,IBC模板匹配候选列表,帧内模板匹配候选列表,IBC MMVD候选列表,具有块矢量差异的IBC合并模式(MBVD)候选列表,MBVD基础候选列表,IBC GPM候选列表,IBC TPM候选列表,GPM MMVD基础候选列表,仿射MMVD基础候选列表,GPM MMVD候选列表,仿射MMVD候选列表,CIIP-TM合并候选列表,CIIP合并候选列表,多假设预测(MHP)的运动候选列表,双边匹配AMVP合并模式的运动候选列表,与GPM划分模式相关联的运动候选列表,与帧间AMVP和/或仿射AMVP和/或MMVD和/或仿射MMVD模式的运动向量差异(MVD)符号预测相关联的运动候选列表,或与IBC AMVP和/或IBC MMVD/MBVD模式的块矢量差异(BVD)符号预测相关联的运动候选列表。
条款51.根据条款50所述的方法,其中所述模板匹配细化过程之后的所述GPM合并列表包括以下至少一项:AGPMList、LGPMList或LAGPMList。
条款52.根据条款1-51中任一项所述的方法,其中所述转换包括将所述当前视频块编码为所述比特流。
条款53.根据条款1-51中任一项所述的方法,其中所述转换包括从所述比特流中解码所述当前视频块。
条款54.一种用于视频处理的装置,包括处理器和其上存储有指令的非瞬时存储器,其中,当所述指令由所述处理器执行时,使得所述处理器执行根据条款1至53中任一项所述的方法。
条款55.一种瞬态计算机可读存储介质,其存储指令,所述指令使处理器执行根据条款1至53中任一项所述的方法。
条款56.一种瞬态计算机可读存储介质,其存储由视频处理装置执行的方法生成的视频的比特流,其中,所述方法包括:确定视频的当前视频块的块矢量差(BVD)的符号预测;至少基于所述BVD的所述符号预测确定所述BVD;以及基于所述BVD生成比特流。
条款57.一种用于存储视频比特流的方法,包括:确定视频的当前视频块的块矢量差(BVD)的符号预测;至少基于所述BVD的所述符号预测确定所述BVD;基于所述BVD生成比特流;以及将所述比特流存储在瞬态计算机可读记录介质中。
条款58.一种瞬态计算机可读记录介质,其存储由视频处理装置执行的方法生成的视频比特流,其中所述方法包括:基于以下至少一项确定与视频的当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本或与所述当前视频块相关联的块边界不连续性度量;基于所述成本对所述当前视频块执行处理;以及基于所述处理生成所述比特流。
条款59.一种用于存储视频比特流的方法,包括:基于以下至少一项确定与视频的当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本或与所述当前视频块相关联的块边界不连续性度量;基于所述成本对所述当前视频块执行处理;基于所述处理生成所述比特流;以及将所述比特流存储在瞬态计算机可读记录介质中。
设备示例
图56示出了可以在其中实现本公开的各种实施例的计算设备5600的框图。计算设备5600可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。
应当理解的是,图56中示出的计算设备5600仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。
如图56所示,计算设备5600包括通用计算设备5600。计算设备5600可以至少包括一个或多个处理器或处理单元5610、存储器5620、存储单元5630、一个或多个通信单元5640、一个或多个输入设备5650以及一个或多个输出设备5660。
在一些实施例中,计算设备5600可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备5600可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。
处理单元5610可以是物理处理器或虚拟处理器,并且可以基于存储在存储器5620中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备5600的并行处理能力。处理单元5610也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备5600通常包括各种计算机存储介质。这样的介质可以是由计算设备5600可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器5620可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元5630可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备5600中被访问的介质。
计算设备5600还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图56中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元5640经由通信介质与另一计算设备通信。另外,计算设备5600中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备5600可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备5650可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备5660可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元5640,计算设备5600还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备5600还可以与一个或多个使用户能够与计算设备5600交互的设备通信,或任何使计算设备5600能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备5600的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
在本公开的实施例中,计算设备5600可以被用于实现视频编码/解码。存储器5620可以包括具有一个或多个程序指令的一个或多个视频编解码模块5625。这些模块能够由处理单元5610访问和执行,以执行本文描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备5650可以接收视频数据作为待编码的输入5670。视频数据可以由例如视频编码模块5625处理,以生成经编码的比特流。经编码的比特流可以经由输出设备5660作为输出5680被提供。
在执行视频解码的示例实施例中,输入设备5650可以接收经编码的比特流作为输入5670。经编码的比特流可以由例如视频编码模块5625处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备5660作为输出5680被提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。

Claims (59)

1.一种用于视频处理的方法,包括:
针对视频的当前视频块与所述视频的比特流之间的转换,确定所述当前视频块的块矢量差(BVD)的符号预测;
基于所述BVD的所述符号预测来确定所述BVD;以及
基于所述BVD执行所述转换。
2.根据权利要求1所述的方法,其中基于所述BVD的所述符号预测应用于以下至少一项:
帧内块复制(IBC)高级运动向量预测(AMVP)模式;
具有运动向量差异的IBC合并模式(MMVD);或
具有BVD的IBC合并模式(MBVD)。
3.根据权利要求1或2所述的方法,其中确定所述BVD的所述符号预测包括:
确定与所述BVD的多个候选符号预测相关联的多个成本;以及
基于所述多个成本确定所述BVD的所述符号预测。
4.根据权利要求3所述的方法,其中所述多个成本中的一个成本基于所述多个候选符号预测中的对应候选符号预测的以下度量中的至少一项:
模板匹配成本,
双边匹配成本,或
块边界不连续性度量。
5.根据权利要求4所述的方法,其中所述成本基于以下至少两项的加权平均来确定:所述模板匹配成本、所述双边匹配成本和所述块边界不连续性度量。
6.根据权利要求3-5中任一项所述的方法,其中所述多个候选符号预测中的一个候选符号预测包括所述BVD的第一分量的第一符号预测分量和所述BVD的第二分量的第二符号预测分量的组合。
7.根据权利要求3-6中任一项所述的方法,其中确定与所述多个候选符号预测相关联的所述多个成本包括:
确定所述BVD的幅值;
基于所述BVD的所述幅值、所述多个候选符号预测和所述当前视频块的块向量(BV)预测来确定多个BV候选;以及
确定所述多个BV候选的所述多个成本。
8.根据权利要求7所述的方法,其中所述BVD的所述幅值包括所述BVD的第一分量的第一幅值和所述BVD的第二分量的第二幅值,并且
对于所述多个候选符号预测中的一个候选符号预测,所述多个BV候选中的相应BV候选是基于所述第一幅值、所述第二幅值、所述候选符号预测的所述第一分量、所述候选符号预测的所述第二分量和所述BV预测来确定的。
9.根据权利要求8所述的方法,其中所述相应BV候选是通过以下来确定的:
基于所述候选符号预测的所述第一分量和所述第一幅值确定第一BVD分量;
基于所述候选符号预测的所述第二分量和所述第二幅值确定第二BVD分量;以及
将所述第一BVD分量和所述第二BVD分量与所述BV预测的组合之和确定为所述相应BV候选。
10.根据权利要求3-9中任一项所述的方法,其中基于所述多个成本确定所述BVD的所述符号预测包括:
基于对所述多个成本的排序来确定所述多个候选符号预测的多个索引;
基于真实BVD符号与多个经排序的所述候选符号预测之间的比较来确定所述多个索引中的目标索引,所述目标索引与所述真实BVD符号相关联;以及
基于所述目标索引来确定所述真实BVD符号。
11.根据权利要求10所述的方法,其中所述目标索引通过上下文编码进行编解码。
12.一种用于视频处理的方法,包括:
针对视频的当前视频块与所述视频的比特流之间的转换,基于以下至少一项确定与所述当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本,或与所述当前视频块相关联的块边界不连续性度量;
基于所述成本对所述当前视频块执行处理;以及
基于所述处理执行所述转换。
13.根据权利要求12所述的方法,其中所述成本包括以下至少两项的加权平均:所述模板匹配成本、所述双边匹配成本或所述块边界不连续性测量。
14.根据权利要求12或13所述的方法,其中所述处理包括以下至少一项:
重新排序过程,或
细化过程。
15.根据权利要求12-14中任一项所述的方法,其中对所述当前视频块执行所述处理包括:
对以下至少一项的多个候选执行重新排序过程:所述当前视频块的运动候选列表,或所述当前视频块的帧内候选列表。
16.根据权利要求15所述的方法,其中确定与所述当前视频块相关联的所述成本包括:
确定以下至少一项的所述多个候选的多个成本:运动候选列表或帧内候选列表;以及
其中执行所述重新排序过程包括:
基于所述多个成本执行所述重新排序过程。
17.根据权利要求15或16所述的方法,其中所述重新排序过程包括合并候选的自适应重新排序(ARMC)过程。
18.根据权利要求15-17中任一项所述的方法,其中基于所述多个成本执行所述重新排序过程包括:
确定所述多个候选中的第一候选的第一成本和所述多个候选中的第二候选的第二成本;以及
基于所述第一和第二成本执行所述重新排序过程。
19.根据权利要求18所述的方法,其中如果所述第一成本和所述第二成本之间的成本差异小于或等于阈值差异,则所述第一候选为冗余候选,所述成本差异表示所述第一候选和所述第二候选之间的差异。
20.根据权利要求19所述的方法,其中所述阈值差异包括与速率失真(RD)过程相关联的拉格朗日参数。
21.根据权利要求16-20中任一项所述的方法,其中所述多个候选中的一个候选的相应成本是基于以下至少一项确定的:
所述候选的模板匹配成本、所述候选的双边匹配成本或所述候选的块边界不连续性度量。
22.根据权利要求21所述的方法,其中所述相应成本包括以下至少两项的加权平均:所述候选的模板匹配成本、所述候选的双边匹配成本或所述候选的块边界不连续性度量。
23.根据权利要求16-22中任一项所述的方法,其中在自适应重新排序合并候选(ARMC)过程中确定的所述多个成本是基于以下至少一项的类别来确定的:运动候选列表或帧内候选列表。
24.根据权利要求18所述的方法,其中如果所述第一成本和所述第二成本的加权成本差异小于或等于加权阈值差异,则所述第一候选为冗余候选。
25.根据权利要求24所述的方法,其中所述第一成本的第一权重基于所述第一候选的第一候选位置,和/或
所述第二成本的第二权重基于所述第二候选的第二候选位置。
26.根据权利要求24或25所述的方法,其中所述加权阈值差异的第三权重基于量化参数(QP)。
27.根据权利要求24所述的方法,其中所述第一成本的第一权重、所述第二成本的第二权重或所述加权阈值的第三权重中的至少一项基于以下至少一项的类别:所述运动候选列表或所述帧内候选列表。
28.根据权利要求15-27中任一项所述的方法,其中所述重新排序过程的阈值差异基于所述转换的配置。
29.根据权利要求28所述的方法,其中所述配置包括以下至少一项:
全帧内(AI)配置,
低延迟B(LB)配置,
低延迟P(LP)配置,
随机访问(RA)配置。
30.根据权利要求15-29中任一项所述的方法,其中所述重新排序过程的阈值差异基于以下至少一项的类别:所述运动候选列表或所述帧内候选列表。
31.根据权利要求15-30中任一项所述的方法,其中所述重新排序过程的阈值差异是预定义的。
32.根据权利要求31所述的方法,其中所述重新排序过程的所述阈值差异被预定义为与速率失真(RD)过程相关联的拉格朗日参数,或所述拉格朗日参数的平方根。
33.根据权利要求15-32中任一项所述的方法,其中所述重新排序过程的所述阈值差异基于所述多个候选的多个成本,所述多个成本是在合并候选自适应重新排序(ARMC)过程期间被确定的。
34.根据权利要求33所述的方法,其中如果所述多个成本是基于与平方误差相关联的度量被确定的,则所述阈值差异包括与速率失真(RD)过程相关联的拉格朗日参数,所述度量包括以下至少一项:
平方差和(SSD),
平方误差和(SSE),
均值去除的平方差和(MR-SSD),
均值去除的平方误差和(MR-SSE),
加权SSD,
加权SSE,
加权MR-SSD,或
加权MR-SSE。
35.根据权利要求33所述的方法,其中如果所述多个成本是基于与绝对误差相关联的度量被确定的,则所述阈值差异包括与速率失真(RD)过程相关联的拉格朗日参数的平方根,所述度量包括以下至少一项:
绝对差和(SAD),
绝对变换差和(SATD),
均值去除的绝对差和(MR-SAD),
均值去除的绝对变换差和(MR-SATD),
加权SAD,
加权SATD,
加权MR-SAD,或
加权MR-SATD。
36.根据权利要求15-35中任一项所述的方法,还包括:
基于以下至少一项确定所述重新排序过程的阈值差异:与所述当前视频块相关联的时域信息、与所述当前视频块相关联的空域信息或与所述当前视频块相关联的编解码信息。
37.根据权利要求36所述的方法,其中所述编解码信息包括编解码模式。
38.根据权利要求15-37中任一项所述的方法,还包括:
基于所述当前视频块的邻近块的编解码信息确定针对所述所述重新排序过程的阈值差异。
39.根据权利要求38所述的方法,其中所述邻近块的所述编解码信息包括所述邻近块的编解码模式。
40.根据权利要求38或39所述的方法,其中所述邻近块包括以下至少一项:
所述当前视频块的空域邻近块,或
所述当前视频块的时域邻近块。
41.根据权利要求40所述的方法,其中所述空域邻近块包括以下至少一项:
所述当前视频块的左下样本左侧的左邻近块,
所述左邻近块下方的左下邻近块,
所述当前视频块的右上样本上方的上方邻近块,
所述上方邻近块右侧的右上邻近块,或
所述当前视频块的左上样本上方和左侧的左上邻近块。
42.根据权利要求40或41所述的方法,其中所述时域邻近块包括以下至少一项:
位于所述当前视频块的同位视频块的中心位置的第一时域邻近块,或
位于所述当前视频块的同位视频块的右下方位置的第二时域邻近块。
43.根据权利要求15-42中任一项所述的方法,还包括:
基于所述当前视频块的编解码参数确定针对所述重新排序过程的阈值差异。
44.根据权利要求43所述的方法,其中所述编解码参数包括以下至少一项:
所述当前视频块的块大小,
所述当前视频块的时域层,
所述当前视频块的量化参数(QP),
与所述当前视频块相关联的图片分辨率,或
与所述当前视频块相关联的条带类型。
45.根据权利要求28-44中任一项所述的方法,其中所述阈值差异包括在所述比特流中。
46.根据权利要求45所述的方法,其中所述阈值差异包括在以下至少一项中:
序列级别、图片组级别、图片级别、条带级别、图块级别、图块组级别。
47.根据权利要求45或46所述的方法,其中所述阈值差异包括在以下至少一项中:
序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码参数集(DPS)、解码能力信息(DCI)、图片参数集(PPS)、自适应参数集(APS)、条带头或图块组头。
48.根据权利要求45-47中任一项所述的方法,其中所述阈值差异在包含多于一个样本或像素的区域中被指示。
49.根据权利要求48所述的方法,其中所述区域包括以下至少一项:预测块(PB)、变换块(TB)、编解码块(CB)、预测单元(PU)、变换单元(TU)、编解码单元(CU)、虚拟流水线数据单元(VPDU)、编解码树单元(CTU)、CTU行、切片、图块、子图片。
50.根据权利要求15-49中任一项所述的方法,其中所述运动候选列表包括以下之一:
在以下至少一项过程之后的模板匹配(TM)合并列表:基于块的双边匹配细化、模板匹配细化或基于子块的双边匹配细化,
在以下至少一项过程之后的TM高级运动向量预测(AMVP)列表:基于块的双边匹配细化、模板匹配细化或基于子块的双边匹配细化,
在以下至少一项过程之后的常规合并列表:解码器侧运动向量细化(DMVR)或多通道DMVR过程,
在以下至少一项过程之后的常规AMVP列表:DMVR或多通道DMVR过程,
在以下至少一项过程之后的高级DMVR(ADMVR)合并列表:DMVR或多通道DMVR过程,
在模板匹配细化过程之后的几何分区模式(GPM)合并列表,
常规合并列表或常规AMVP列表,
TM合并列表或TM AMVP列表,
仿射合并列表或仿射AMVP列表,
帧内块复制(IBC)合并列表或IBC AMVP列表,
ADMVR合并列表,
GPM合并列表,
三角形分区模式(TPM)合并列表,
具有运动向量差异的合并模式(MMVD)合并列表,
MMVD候选列表,
MMVD基础候选列表,
IBC模板匹配候选列表,
帧内模板匹配候选列表,
IBC MMVD候选列表,
具有块矢量差异的IBC合并模式(MBVD)候选列表,
MBVD基础候选列表,
IBC GPM候选列表,
IBC TPM候选列表,
GPM MMVD基础候选列表,
仿射MMVD基础候选列表,
GPM MMVD候选列表,
仿射MMVD候选列表,
CIIP-TM合并候选列表,
CIIP合并候选列表,
针对多假设预测(MHP)的运动候选列表,
针对双边匹配AMVP合并模式的运动候选列表,
与GPM划分模式相关联的运动候选列表,
与针对帧间AMVP和/或仿射AMVP和/或MMVD和/或仿射MMVD模式的运动向量差异(MVD)的符号预测相关联的运动候选列表,或
与针对IBC AMVP和/或IBC MMVD/MBVD模式的块矢量差异(BVD)的符号预测相关联的运动候选列表。
51.根据权利要求50所述的方法,其中所述模板匹配细化过程之后的所述GPM合并列表包括以下至少一项:AGPMList、LGPMList或LAGPMList。
52.根据权利要求1-51中任一项所述的方法,其中所述转换包括将所述当前视频块编码到所述比特流中。
53.根据权利要求1-51中任一项所述的方法,其中所述转换包括从所述比特流中解码所述当前视频块。
54.一种用于视频处理的装置,包括处理器和其上存储有指令的非瞬时存储器,其中,当所述指令由所述处理器执行时,使所述处理器执行根据权利要求1至53中任一项所述的方法。
55.一种瞬态计算机可读存储介质,其存储指令,所述指令使处理器执行根据权利要求1至53中任一项所述的方法。
56.一种瞬态计算机可读存储介质,其存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:
确定所述视频的当前视频块的块矢量差(BVD)的符号预测;
至少基于所述BVD的所述符号预测确定所述BVD;以及
基于所述BVD生成所述比特流。
57.一种用于存储视频的比特流的方法,包括:
确定所述视频的当前视频块的块矢量差(BVD)的符号预测;
至少基于所述BVD的所述符号预测确定所述BVD;
基于所述BVD生成所述比特流;以及
将所述比特流存储在瞬态计算机可读记录介质中。
58.一种瞬态计算机可读记录介质,其存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:
基于以下至少一项确定与所述视频的当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本或与所述当前视频块相关联的块边界不连续性度量;
基于所述成本对所述当前视频块执行处理;以及
基于所述处理生成所述比特流。
59.一种用于存储视频的比特流的方法,包括:
基于以下至少一项确定与所述视频的当前视频块相关联的成本:与所述当前视频块相关联的模板匹配成本、与所述当前视频块相关联的双边匹配成本或与所述当前视频块相关联的块边界不连续性度量;
基于所述成本对所述当前视频块执行处理;
基于所述处理生成所述比特流;以及
将所述比特流存储在瞬态计算机可读记录介质中。
CN202380052728.6A 2022-07-12 2023-07-11 用于视频处理的方法、装置和介质 Pending CN119586139A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2022105264 2022-07-12
CNPCT/CN2022/105264 2022-07-12
PCT/CN2023/106836 WO2024012460A1 (en) 2022-07-12 2023-07-11 Method, apparatus, and medium for video processing

Publications (1)

Publication Number Publication Date
CN119586139A true CN119586139A (zh) 2025-03-07

Family

ID=89535501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202380052728.6A Pending CN119586139A (zh) 2022-07-12 2023-07-11 用于视频处理的方法、装置和介质

Country Status (3)

Country Link
US (1) US20250150604A1 (zh)
CN (1) CN119586139A (zh)
WO (1) WO2024012460A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023132509A1 (ko) * 2022-01-04 2023-07-13 현대자동차주식회사 공간적 상관성을 이용하는 디코더측 움직임벡터 유도를 위한 방법
US12425623B2 (en) * 2023-01-09 2025-09-23 Tencent America LLC AMVP-merge mode with SBTMVP
WO2025170292A1 (ko) * 2024-02-05 2025-08-14 엘지전자 주식회사 인코딩 방법, 디코딩 방법, 컴퓨터 판독 가능한 저장 매체 및 전송 방법
WO2025195518A1 (en) * 2024-03-21 2025-09-25 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
WO2025199773A1 (zh) * 2024-03-26 2025-10-02 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019190907A1 (en) * 2018-03-30 2019-10-03 Vid Scale, Inc Template-based inter prediction techniques based on encoding and decoding latency reduction
CN112385228B (zh) * 2018-08-03 2022-07-01 联发科技股份有限公司 用于视频编解码的增强型帧内块复制模式的方法和装置
US11115653B2 (en) * 2019-02-22 2021-09-07 Mediatek Inc. Intra block copy merge list simplification
CN113924783A (zh) * 2019-06-03 2022-01-11 北京字节跳动网络技术有限公司 用于视频编解码的组合式帧内和帧内块复制预测

Also Published As

Publication number Publication date
WO2024012460A9 (en) 2025-01-30
US20250150604A1 (en) 2025-05-08
WO2024012460A1 (en) 2024-01-18

Similar Documents

Publication Publication Date Title
CN118355659A (zh) 用于视频处理的方法、装置和介质
CN118830241A (zh) 用于视频处理的方法、装置和介质
CN118077204A (zh) 用于视频处理的方法、装置和介质
CN118285100A (zh) 用于视频处理的方法、装置和介质
CN118235389A (zh) 用于视频处理的方法、装置和介质
CN117616756A (zh) 用于视频处理的方法、设备和介质
CN118176731A (zh) 用于视频处理的方法、装置和介质
US20240283969A1 (en) Method, apparatus, and medium for video processing
CN118383028A (zh) 用于视频处理的方法、装置和介质
WO2024012460A1 (en) Method, apparatus, and medium for video processing
CN117529919A (zh) 用于视频处理的方法、设备和介质
CN117426095A (zh) 用于视频处理的方法、设备和介质
CN119032571A (zh) 用于视频处理的方法、装置和介质
CN120380755A (zh) 用于视频处理的方法、装置和介质
CN119678495A (zh) 用于视频处理的方法、装置和介质
CN119213769A (zh) 用于视频处理的方法、装置和介质
CN119769087A (zh) 用于视频处理的方法、装置和介质
CN119769086A (zh) 用于视频处理的方法、装置和介质
CN118743220A (zh) 用于视频处理的方法、装置和介质
CN119817100A (zh) 用于视频处理的方法、装置和介质
CN119137955A (zh) 用于视频处理的方法、装置和介质
CN120283404A (zh) 用于视频处理的方法、装置和介质
CN120077652A (zh) 用于视频处理的方法、装置和介质
CN119174178A (zh) 用于视频处理的方法、装置和介质
CN119032557A (zh) 用于视频处理的方法、装置和介质

Legal Events

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