CN117337564A - 用于视频处理的方法、装置和介质 - Google Patents
用于视频处理的方法、装置和介质 Download PDFInfo
- Publication number
- CN117337564A CN117337564A CN202280025268.3A CN202280025268A CN117337564A CN 117337564 A CN117337564 A CN 117337564A CN 202280025268 A CN202280025268 A CN 202280025268A CN 117337564 A CN117337564 A CN 117337564A
- Authority
- CN
- China
- Prior art keywords
- motion
- list
- candidates
- motion candidates
- candidate
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 190
- 238000012545 processing Methods 0.000 title claims abstract description 35
- 230000033001 locomotion Effects 0.000 claims abstract description 985
- 230000007704 transition Effects 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 124
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 108
- 230000002123 temporal effect Effects 0.000 claims description 55
- 230000011664 signaling Effects 0.000 claims description 14
- 238000000638 solvent extraction Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 66
- 238000010586 diagram Methods 0.000 description 52
- 239000000523 sample Substances 0.000 description 34
- 238000005192 partition Methods 0.000 description 33
- 241000723655 Cowpea mosaic virus Species 0.000 description 30
- 238000010276 construction Methods 0.000 description 25
- 239000013074 reference sample Substances 0.000 description 19
- 230000003044 adaptive effect Effects 0.000 description 16
- 238000009795 derivation Methods 0.000 description 16
- 241000023320 Luma <angiosperm> Species 0.000 description 11
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 11
- 239000000872 buffer Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000002156 mixing Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 238000012935 Averaging Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000005286 illumination Methods 0.000 description 7
- 230000001174 ascending effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000013138 pruning Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000386 athletic effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 241000342334 Human metapneumovirus Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000012723 sample buffer Substances 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开的实施例提供了一种用于视频处理的方案。提出了一种用于视频处理的方法。该方法包括:在视频的目标块与视频的码流之间的转换期间,构建针对目标块的运动信息的运动候选的列表;至少部分地基于编解码信息来确定重排序方案,重排序方案指示运动候选的列表中的至少一个运动候选是否要被重排序和/或如何被重排序;根据重排序方案,从运动候选的列表生成运动候选的目标列表;以及从运动候选的目标列表导出目标块的运动信息。与传统方案相比,所提出的方法可以有利地提高编解码有效性和编解码效率。
Description
技术领域
本公开的实施例总体上涉及视频编解码技术,并且更具体地,涉及视频编解码中的运动候选的自适应重排序。
技术背景
如今,数字视频功能正被应用于人们生活的各个方面。针对视频编码/解码,已经提出了多种类型的视频压缩技术,诸如MPEG-2、MPEG-4、ITU-TH263、ITU-TH-264/MPEG-4第10部分高级视频编解码(AVC)、ITU-T H.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准。然而,常规视频编解码技术的编解码效率通常非常低,这是不希望的。
发明内容
本公开的实施例提供了一种用于视频处理的方案。
在第一方面中,提出了一种用于视频处理的方法。该方法包括:在视频的目标块与视频的码流之间的转换期间,为目标块的运动信息构建运动候选的列表;至少部分地基于编解码信息来确定重排序方案,所述重排序方案指示是否和/或如何对所述运动候选的列表中的至少一个运动候选进行重排序;根据所述重排序方案从所述运动候选的列表生成运动候选的目标列表;以及从运动候选的目标列表导出目标块的运动信息。与传统的方案相比,该方法可以有利地提高编解码有效性和编解码效率。
在第二方面中,提出了一种电子设备。所述电子设备包括处理单元和存储器,所述存储器耦合到所述处理单元并且具有存储在其上的指令,所述指令在由所述处理单位执行时使得所述电子装置执行根据本公开的第一方面的方法。
在第三方面中,提出了一种非瞬态计算机可读存储介质。该非暂态计算机可读存储介质存储指令,该指令使得处理器执行根据本公开的第一方面的方法。
在第四方面中,提出了一种非瞬态计算机可读记录介质。该非暂态计算机可读记录介质存储由根据本公开第一方面的方法生成的视频的码流,其中该方法由视频处理装置执行。
在第五方面中,提出了一种用于存储视频的码流的方法。该方法包括在视频的目标块和视频的码流之间的转换期间,构建用于目标块的运动信息的运动候选的列表;至少部分地基于编解码信息来确定重排序方案,所述重排序方案指示是否和/或如何对所述运动候选的列表中的至少一个运动候选进行重排序;根据所述重排序方案从所述运动候选的列表生成运动候选的目标列表;从运动候选的目标列表导出目标块的运动信息;基于所述运动信息生成所述码流;以及将码流存储在非暂态计算机可读记录介质中。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过以下参考附图的详细描述,本公开的示例实施例的上述和其他的目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。
图1示出了根据本公开的一些实施例的示例视频编解码系统的框图;
图2示出了根据本公开的一些实施例的第一示例视频编码器的框图;
图3示出了根据本公开的一些实施例的示例视频解码器的框图;
图4示出了空间合并候选的位置的示意图;
图5示出了用于空间合并候选的冗余检查的候选对的示意图;
图6示出了时域合并候选的运动矢量缩放的示意图;
图7示出了时域合并候选C0和C1的候选位置的示意图;
图8示出了当前块的VVC空间相邻块的示意图;
图9示出了第i轮搜索中的虚拟块的示意图;
图10是MMVD搜索点的示意图;
图11示出了在CIIP权重导出中使用的顶部和左侧相邻块的示意图;
图12示出了按相同角度分组的GPM分割的示例;
图13示出了用于几何划分模式的单向预测MV选择的示意图;
图14示出了使用几何划分模式的混合权重w0的示例生成的示意图;
图15示出了基于三角划分的帧间预测的示意图;
图16示出了用于三角划分模式的单向预测MV选择的示意图;
图17示出了混合过程中使用的权重示意图;
图18示出了用于计算SAD的相邻样本的示意图;
图19示出了用于计算子CU级运动信息的SAD的相邻样本的示意图;
图20示出了分拣过程的示意图;
图21示出了局部光照补偿的示意图;
图22示出了短边无二次采样的示意图;
图23A示出了SbTMVP使用的空间相邻块的示意图;
图23B示出了通过应用来自空间邻居的运动偏移并缩放来自相应并置子CU的运动信息来导出子CU运动场的示意图;
图24示出了基于控制点的仿射运动模型的示意图;
图25示出了每个子块的仿射MVF的示意图;
图26示出了继承仿射运动预测器的位置的示意图;
图27为控制点运动矢量继承示意图;
图28示出了所构建的仿射合并模式的候选位置的位置的示意图;
图29示出了在初始MV周围的搜索区域上执行的模板匹配的示意图;
图30示出了OBMC应用的子块的示意图;
图31示出了编码器中的重排序过程的流程图;
图32示出了解码器中的重排序过程的流程图;
图33示出了搜索区域中的菱形区域的示意图;
图34示出了解码侧运动矢量细化的示意图;
图35示出了模板和模板的参考样品的示意图;
图36示出了参考列表0和参考列表1中的模板和模板的参考样本的示意图;
图37示出了编码器中的重排序过程的流程图;
图38示出了解码器中的重排序过程的流程图;
图39示出了根据本公开的一些实施例的用于视频处理的方法的流程图;和
图40示出了其中可以实现本公开的各种实施例的计算设备的框图。
在所有附图中,相同或相似的附图标记通常指代相同或相似的元素。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。
在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科学术语和技术术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。
本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包含”和/或“具有”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图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可以使用由视频编码器20在视频块的编码期间使用的插值滤波器来计算用于参考块的亚整数像素的内插值。运动补偿单元302可以根据接收到的语法信息来确定由视频编码器200使用的插值滤波器,并且运动补偿单元302可以使用插值滤波器来产生预测块。
运动补偿单元302可以使用至少部分语法信息来确定用于编码经编码视频序列的(多个)帧和/或(多个)条带的块的大小、描述经编码视频序列的图片的每个宏块如何被划分的划分信息、指示每个划分如何被编码的模式、针对每个帧间编解码块的一个或多个参考帧(和参考帧列表)、以及对经编码视频序列进行解码的其他信息。如本文中所使用的,在一些方面,“条带”(slice)可以是指在熵编码、信号预测和残差信号重建方面可以独立于同一图片的其他条带而被解码的数据结构。条带可以是整个图片,或者也可以是图片的区域。
帧内预测单元303可以使用例如在码流中接收的帧内预测模式,以从空间相邻块形成预测块。反量化单元303反量化(即,去量化)在码流中提供的、并且由熵解码单元301解码的量化视频块系数。反变换单元303应用反变换。
重建单元306可以例如通过将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加来获得经解码的块。如果需要的话,还可以应用去块效应滤波器以对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块随后被存储在缓冲307中,缓冲307为后续运动补偿/帧内预测提供参考块,并且缓冲307还产生经解码的视频以供在显示设备上呈现。
下文将详细描述本公开的一些示例性实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考通用视频编解码或其他特定视频编解码器描述了一些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,尽管一些实施例详细描述了视频编码步骤,但是应当理解的是取消编码的相应解码步骤将由解码器实现。此外,术语视频处理包括视频编码或压缩、视频解码或解压缩以及视频转码,在该视频转码中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩码率表示。
1.概述
本公开涉及视频编解码技术。具体地,本公开与视频编解码中的帧间预测有关。本公开可以应用于已有的视频编解码标准,如HEVC,或待最终确定的标准通用视频编解码(VVC)。本公开也可以适用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要是通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4Visual,并且这两个组织联合制作了H.264/MPEG-2Video和H.264/MPEG 4高级视频编解码(AVC)以及H.265/HEVC标准(参见ITU-T和ISO/IEC,“High efficiency video coding”,Rec.ITU-T H.265|ISO/IEC 23008-2(生效版))。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JVET)。自那以后,JVET采用了许多新的方法,并将这些方法放入名为联合探索模型(JEM)的参考软件中(参见J.Chen,E.Alshina,G.J.Sullivan,J.-R.Ohm,J.Boyce,“Algorithm description of Joint Exploration Test Model 7(JEM7)”,JVET-G1001,2017年8月;JEM-7.0:https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-7.0)。在2018年4月,VCEG(Q6/16)和ISO/IEC JTC1SC29/WG11(MPEG)成立了联合视频专家组(JVET),致力于制定VVC标准,目标是与HEVC相比降低50%的码率。
2.1扩展合并预测
在VVC中,合并候选列表是通过按顺序包括以下五类型的候选来构建的:
1)来自空间相邻编解码单元(CU)的空间运动矢量预测(MVP)
2)来自并置CU的时域MVP
3)来自先进先出(FIFO)表中基于历史的MVP
4)成对平均MVP
5)零MV。
合并列表的大小在序列参数集报头中用信号发送,并且合并列表的最大允许大小是6。对于合并模式中的每个CU码,最佳的合并候选的索引是使用截断的一元二进制化(truncated unary binarization,TU)进行编码。该合并索引的第一个二值(bin)是利用上下文被编解码,而旁路编解码被用于其他二值。
在本节中提供了每个类别的合并候选的导出过程。正如在HEVC中所做的那样,VVC还支持在一定大小的区域内对所有CU的合并候选列表的并行导出。
空间候选导出
VVC中的空间合并候选的导出与HEVC中的导出相同,只是前两个合并候选的位置被交换。图4示出了示意图400,其示出空间合并候选的位置。位于图4所示的位置的候选之中,最多选择四个合并候选。导出顺序为B0、A0、B1、A1和B2。只有当位置B0、A0、B1和A1的一个CU或多于一个CU不可用时(例如,因为它属于另一个条带或图块)或被帧内编解码时,位置B2才被考虑。在添加了位置A1处的候选之后,对剩余候选的添加要经受冗余检查,该冗余检查确保具有相同运动信息的候选被从列表中排除,从而提高了编解码效率。为了降低计算复杂度,并非所有可能的候选对都在提到的冗余检查中被考虑。图5示出了示意图500,示出了空间合并候选的冗余检查中被考虑的候选对。相反,只考虑图5中有箭头链接的候选对,并且一个候选只有当被用于冗余检查的对应候选不具有相同的运动信息时,才会被添加到列表中。
时域候选导出
在这个步骤中,只有一个候选被添加到列表中。特别地,在该时域合并候选的导出中,基于属于并置参考图片的并置CU来导出缩放运动矢量。要被用于导出并置CU的参考图片列表在条带头部中被明确地用信号发送。图6示出了时域合并候选的运动矢量缩放的示意图600。如图6中的虚线所示,获得了针对时域合并候选的缩放运动矢量,该矢量是使用图片顺序计数(POC)距离,tb和td,从位于并置CU的运动矢量缩放而来,其中tb被定义为当前图片的参考图片与当前图片之间的POC差异,td被定义为并置图片的参考图片与并置图片之间的POC差异。时域合并候选的参考图片索引被设置为等于零。
如图7中的示意图700所示,针对时域候选的位置在候选C0和C1之间被选择。如果位置C0处的CU不可用、被帧内编解码或在编码树单元(CTU)的当前行之外,则位置C1被使用。否则,在时域合并候选的导出中位置C0被使用。
基于历史的合并候选导出
基于历史的MVP(HMVP)合并候选被添加到空间MVP和TMVP之后的合并列表中。在该方法中,将先前已编解码块的运动信息被存储在表中,并被用作针对当前CU的MVP。在编码/解码过程期间,具有多个HMVP候选的表被维护。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块的帧间编解码CU时,相关联的运动信息作为新的HMVP候选被添加到表的最后一个条目。
HMVP表大小S被设置为6,这指示可以向该表添加多达6个基于历史的MVP(HMVP)候选。当将新的运动候选插入到表中时,使用受约束的先进先出(FIFO)规则,其中首先应用冗余检查来发现该表中是否存在相同的HMVP。如果找到,则从该表中移除相同的HMVP,并且其后的所有HMVP候选向前移动。
HMVP候选可以被用于合并候选列表构建过程。按顺序检查表中最近的几个HMVP候选,并将这些HMVP候选在候选列表中插入在TMVP候选之后。对HMVP候选应用冗余检查以进行空间或时域合并候选。
为了减少冗余检查操作的数目,以下简化被引入:
1.被用于合并列表生成的HMPV候选数目被设置为(N<=4)?
M:(8-N),其中N指示合并列表中已有的候选的数目,并且
M指示表中可用HMVP候选的数目。
2.一旦可用合并候选的总数目达到最大允许的合并候选减1,则来自HMVP的合并候选列表构建过程被终止。
成对平均合并候选导出
成对平均候选是通过对已有合并候选列表中的预定义候选对进行平均来生成的,并且预定义对被定义为{(0,1)、(0,2)、(1,2),(0,3)、(3,1),(2,3)},其中数字表示对合并候选列表的合并索引。对于每个参考列表,单独计算平均运动矢量。如果两个运动矢量在一个列表中都可用,则即使这两个运动矢量指向不同的参考图片,也会对这两个运动矢量进行平均;如果只有一个运动矢量可用,则直接使用该运动矢量;如果没有可用的运动矢量,则保持此列表无效。
当添加成对平均合并候选后合并列表未满时,在最后插入零MVP,直到达到最大合并候选数目。
合并估计区域
合并估计区域(MER)允许针对同一合并估计区域(MER)中CU的合并候选列表的独立导出。在对当前CU的同一MER内的候选块不被包括用于当前CU的合并候选列表的生成。此外,仅当(xCb+cbWidth)>>Log2ParMrgLevel大于xCb>>Log2ParMrgLevel并且(yCb+cbHeight)>>Log2ParMrgLevel大于(yCb>>Log2ParMrgLevel)并且其中(xCb,yCb)时,针对基于历史的运动矢量预测器候选的更新过程被更新,其中(xCb,yCb)是图片的当前CU的左上亮度(luma)样本位置,并且(cbWidth,cbHeight)是CU大小。MER大小是在编码器侧被选择并在序列参数集中以log2_parallel_merge_level_minus2的形式被用信号发出。
2.2新的合并候选
非相邻合并候选导出
图8示出了当前块的VVC空间相邻块的示意图800。在VVC中,图8所示的五个空间相邻块以及一个时域相邻块被用于导出合并候选。
提出了使用与VVC中的模式相同的模式,从与当前块不相邻的位置导出附加合并候选。为了实现这一点,对于每个搜索轮次i,按如下来基于当前块来生成虚拟块:
首先,虚拟块与当前块的相对位置通过以下公式计算:
Offsetx=-i×gridX,Offsety=-i×gridY
其中Offsetx和Offsetty表示虚拟块的左上角相对于当前块的左下角的偏移,gridX和gridY是搜索网格的宽度和高度。
其次,虚拟块的宽度和高度通过以下来计算:newWidth=i×2×gridX+currWidth;
newHeight=i×2×gridY+currHeight。
其中currWidth和currHeight是当前块的宽度和高度。newWidth和newHeight是新虚拟块的宽度和高度。
gridX和gridY当前分别被设置为currWidth和currHeight。
图9示出了在第i轮搜索中的虚拟块的示意图,其示出了虚拟块和当前块之间的关系。
在生成虚拟块之后,块Ai、Bi、Ci、Di和Ei可以被视为虚拟块的VVC空间相邻块,并且它们的位置是以与VVC中相同的模式获得的。显然,如果搜索轮次i为0,则虚拟块是当前块。在这种情况下,块Ai、Bi、Ci、Di和Ei是在VVC合并模式中使用的空间相邻块。
在构建合并候选列表时,执行修剪以保证合并候选列表中的每个元素是唯一的。最大搜索轮次被设置为1,这意味着使用了五个非相邻空间相邻块。
非相邻空间合并候选按B1->A1->C1->D1->E1的顺序被插入到合并列表中,在时域合并候选之后。
STMVP
提出使用三个空间合并候选和一个时域合并候选来导出平均候选作为STMVP候选。
STMVP被插入在左上方的空间合并候选之前。
STMVP候选与合并列表中所有先前的合并候选一起被修剪。
对于空间候选,使用当前合并候选列表中的前三个候选。
对于时域候选,使用与VTM/HEVC并置位置相同的位置。
对于空间候选,在STMVP之前在当前合并候选列表中被插入的第一个、第二个和第三个候选被表示为F、S和T。
具有与TMVP中使用的VTM/HEVC并置位置相同的位置的时域候选表示为Col。
STMVP候选在预测方向X上的运动矢量(表示为mvLX)如下导出:
1)如果四个合并候选的参考索引都是有效的并且在预测方向X(X=0或1)上都等于零,
mvLX=(mvLX_F+mvLX_S+mvLX_T+mvLX_Col)>>2
2)如果四个合并候选中的三个合并候选的参考索引是有效的并且在预测方向X(X=0或1)上等于零,
mvLX=(mvLX_F×3+mvLX_S×3+mvLX_Col×2)>>3或
mvLX=(mvLX_F×3+mvLX_T×3+mvLX_Col×2)>>3或
mvLX=(mvLX_S×3+mvLX_T×3+mvLX_Col×2)>>3
3)如果四个合并候选中的两个合并候选的参考索引是有效的并且在预测方向X(X=0或1)上等于零,
mvLX=(mvLX_F+mvLX_Col)>>1或
mvLX=(mvLX_S+mvLX_Col)>>1或
mvLX=(mvLX_T+mvLX_Col)>>1
注意:如果时域候选不可用,则STMVP模式将关闭。
合并列表大小
如果同时考虑非相邻合并候选和STMVP合并候选,则合并列表的大小在序列参数集报头中被用信号发送,并且合并列表的最大允许大小为8。
2.3具有MVD的合并模式(Merge mode with MVD,MMVD)
除了将隐式导出的运动信息直接用于当前CU的预测样本生成的合并模式之外,在VVC中引入了具有运动矢量差异的合并模式(MMVD),也称为终极运动矢量表达。紧随发送跳过标志和合并标志之后MMVD标志被用信号发送,以指定哪个MMVD模式被用于一个CU。
在MMVD中,合并候选(称为基础合并候选)被选择,通过用信号发送的MVD信息对该合并候选进行进一步细化。相关语法元素包括用于指定MVD距离的索引(由mmvd_distance_idx表示)和用于指示运动方向的索引(由mmvd_direction_idx表示)。在MMVD模式中,对于合并列表中的前两个候选,选择一个作为MV基础(或基础合并候选)。合并候选标志被用信号发送以指定哪个候选被使用。
距离索引指定运动幅度信息,并指示距起点的预定义偏移。图10示出了MMVD搜索点的示意图。如图10所示,偏移量被添加到起始MV的水平分量或垂直分量。距离索引和预定义偏移量的关系如表1所示。
表1:距离索引与预定义偏移的关系
方向索引表示MVD相对于起点的方向。方向索引可以表示四个方向,如表2所示。注意,MVD符号的含义可以根据起始MV的信息而变化。当起始MV是单向预测MV或双向预测MV且两个列表都指向当前图片的同一侧(即,两个参考的POC都大于当前图片的POC或者都小于当前图片的POC)时,表2中的符号指定了MV偏移量加在起始MV上的符号。当起始MV是双向预测MV且两个MV指向当前图片的不同侧(即,一个参考的POC大于当前图片的POC,另一个参考的POC小于当前图片的POC)时,表2中的符号指定MV偏移被加到起始MV的list0MV分量的符号,并且list1MV的符号具有相反的值。
表2:由方向索引指定的MV偏移的符号
方向索引 | 00 | 01 | 10 | 11 |
X轴 | + | – | N/A | N/A |
Y轴 | N/A | N/A | + | – |
针对每个参考图片列表的MVD的导出
根据解码后的MVD距离(用mmvd_distance_idx表示)和运动方向(用mmvd_direction_idx表示,首先导出一个内部MVD(用MmvdOffset表示)。
然后,如果内部MVD被确定,则根据参考图片相对于当前图片的POC距离以及参考图片类型(长期或短期),进一步导出要被添加到针对每个参考图片列表的基础合并候选的最终MVD。更具体地说,按顺序执行以下步骤:
-如果基础合并候选是双向预测,则计算列表0(list 0)中的当前图片和参考图片之间的POC距离,以及列表1(list 1)中的当前图片和参考图片间的POC距离,分别用POCDiffL0和POCDiffL1表示。
-如果POCDiffL0等于POCDiffL1,则针对两个参考图片列表的最终MVD都被设置为内部MVD。
-否则,如果Abs(POCDiffL0)大于或等于Abs(POCDiffL1),则针对参考图片列表0的最终MVD被设置为内部MVD,并且针对参考图片列表1的最终MVD被设置为使用两个参考图片的内部MVD参考图片类型(两者都不是长期参考图片)或内部MVD或(零MV减去内部MVD)的缩放MVD,这取决于POC距离。
-否则,如果Abs(POCDiffL0)小于Abs(POCDiffL1),则针对参考图片列表1的最终MVD被设置为内部MVD,并且针对参考图片列表0的最终MVD被设置为使用两个参考图片的内部MVD参考图片类型(两者都不是长期参考图片)或内部MVD或(零MV减去内部MVD)的缩放MVD,这取决于POC距离。
-如果基础合并候选是来自参考图片列表X的单向预测,则针对参考图片列表X的最终MVD被设置为内部MVD,并且针对参考图片列表Y的最终MVD(Y=1-X)被设置为0。
MMVD也称为终极运动矢量表达(Ultimate Motion Vector Expression,UMVE)。
2.4组合帧间和帧内预测(Combined inter and intra prediction,CIIP)
在VVC中,当以合并模式对CU进行编解码时,如果CU包含至少64个亮度样本(即,CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度都小于128个亮度样本,则用信号发送附加标志,以指示组合帧间/帧内预测(CIIP)模式是否被应用于当前CU。如其名称所示,CIIP预测将帧间预测信号与帧内预测信号进行组合。CIIP模式中的帧间预测信号Pinter是使用被应用于常规合并模式的相同帧间预测过程来导出的;并且帧内预测信号Pintra是遵循具有平面模式的常规帧内预测过程来导出的。然后,使用加权平均来组合帧内和帧间预测信号,其中取决于顶部和左侧相邻块的编解码模式,权重值被如下计算(如图11的示意图1100所示):
-如果顶部邻居可用且已进行帧内编解码,则将isIntraTop被设置为1,否则将isIntra top设置为0;
-如果左侧邻居可用且已进行帧内编解码,则将isIntraLeft被设置为1,否则将isIntralLeft设置成0;
-如果(isIntraLeft+isIntraTop)等于2,则wt被设置为3;
-否则,如果(isIntraLeft+isIntraTop)等于1,则wt被设置为2;
-否则,将wt设置为1。
CIIP预测如下所示:
PCIIP=((4-wt)*Pinter+wt*Pintra+2)>>2
2.5几何划分模式(geometric partitioning mode,GPM)
在VVC中,几何划分模式被支持用于帧间预测。几何划分模式使用CU级标志被用信号发送作为一种合并模式,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。对于每个可能的CU大小w×h=2m×2n,其中m,n∈{3…6}、排除8x64和64x8,几何划分模式总共支持64个划分。
当该模式被使用时,CU通过几何定位的直线被分割为两个部分(如图12所示)。分割线的位置在数学上是从特定划分的角度和偏移参数导出的。CU中的几何划分的每个部分使用其自身的运动进行帧间预测;每个划分只允许单向预测,即每个部分都有一个运动矢量和一个参考索引。单向预测运动约束被应用以确保与传统的双向预测相同,每个CU需要只两个运动补偿预测。使用在第2.5.1节中描述的过程导出每个划分的单向预测运动。
如果几何划分模式被用于当前CU,则指示几何划分的划分模式(角度和偏移)的几何划分索引和两个合并索引(每个划分一个)被进一步用信号发送。最大GPM候选大小的数目在SPS中被明确地用信号发送,并且指定用于GPM合并索引的语法二进制化。在预测了几何划分的每个部分之后,使用第2.5.2节中的具有自适应权重的混合处理来调整沿着几何划分边缘的采样值。这是整个CU的预测信号,并且将像在其他预测模式中一样对整个CU应用变换和量化处理。最后,使用几何划分模式预测的CU的运动场如2.5.3所示存储。
2.5.1单向预测候选列表构建
单向预测候选列表直接从根据第2.1节中的扩展合并预测过程构建的合并候选列表中导出。图13示出了针对几何划分模式的单向预测MV选择的示意图。将n表示为几何单向预测候选列表1310中的单向预测运动的索引。第n个扩展合并候选的LX运动矢量,其中X等于n的奇偶性,被用作针对几何划分模式的第n个单向预测运动矢量。这些运动矢量在图13中用“x”标记。如果第n个扩展合并候选的对应LX运动矢量不存在,则使用相同候选的L(1-X)运动矢量作为几何划分模式的单向预测运动矢量。
2.5.2沿几何划分边缘的混合
在使用其自身的运动来预测几何划分的每个部分之后,混合被应用于两个预测信号,以导出几何划分边缘周围的样本。CU的每个位置的混合权重是基于各个位置与划分边缘之间的距离导出的。
一个位置(x,y)到划分边缘的距离被导出为:
其中i,j是几何划分的角度和偏移的索引,其取决于用信号发送的几何划分索引。ρx,j和ρy,j的符号取决于角度索引i.。
针对几何划分的每个部分的权重如下被导出:
wIdxL(x,y)=partIdx?32+d(x,y):32-d(x,y) (2-5)
w1(x,y)=1-w0(x,y) (2-7)
partIdx取决于角度索引。图14示出了使用几何划分模式的混合重量w0的示例生成的示意图1400。权重w0的一个示例被示出在图14中。
2.5.3针对几何划分模式的运动场存储
来自几何划分的第一部分的Mv1、来自几何发起的第二部分的Mv2以及Mv1和Mv2的组合Mv被存储在几何划分模式编码CU的运动场中。
在该运动场中针对每个个体位置所存储的运动矢量类型被确定为:
sType=abs(motionIdx)<32?2:(motionIdx≤0?(1-partIdx):partIdx) (2-8)
其中motionIdx等于d(4x+2,4y+2),这是根据公式(2-1)重新计算的。partIdx取决于角度索引i。
如果sType等于0或1,则Mv0或Mv1被存储在对应的运动场中,否则,如果sTType等于2,则来自Mv0和Mv2的组合Mv被存储。组合Mv使用以下过程生成:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2被简单地组合以形成双向预测运动矢量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.6用于帧间预测的三角划分
在VVC中,三角划分模式(TPM)被支持用于帧间预测。三角划分模式仅适用于8x8或更大的CU。三角划分模式是使用CU级别标志作为一种合并模式来用信号发送的,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。
当该模式被使用时,使用对角线分割(图15中所示的CU 1510)或反对角线分割(图15中示出的CU 1520),将CU均匀分割为两个三角形状划分。CU中的每个三角形状划分使用其自身的运动来进行帧间预测;每个划分只允许单向预测,即每个划分有一个运动矢量和一个参考索引。单向预测运动约束被应用以确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。针对每个划分的单向预测运动使用第2.6.1节中描述的过程被导出。
如果三角划分模式被用于当前CU,则指示三角划分的方向(对角线或反对角线)的标志和两个合并索引(每个划分一个)进一步被用信号发送。最大TPM候选大小的数目在条带级别被显式地发信号发送,并且指定TMP合并索引的语法二值化。在预测每个三角划分之后,使用具有自适应权重的混合处理来调整沿对角线或反对角线边缘的样本值。这是针对整个CU的预测信号,并且变换和量化处理将像在其他预测模式中一样被应用于整个CU。最后,使用三角划分模式预测的CU的运动场如第2.6.3节所描述的存储。
三角划分模式不与SBT结合使用,即,当被信号发送的三角模式等于1时,在没有信号发送的情况下cu_SBT_flag被推断为0。
2.6.1单向预测候选列表构建
单向预测候选列表直接从根据第2.1节中的扩展合并预测过程构建的合并候选列表中导出。图16示出了针对几何划分模式的单向预测MV选择的示意图。将n表示为三角单向预测候选列表1610中的单向预测运动的索引。第n个扩展合并候选的LX运动矢量,权重X等于n的奇偶性,被用作针对三角划分模式的第n个单向预测运动矢量。这些运动矢量在图16中用“x”标记。如果第n个扩展合并候选的对应LX运动矢量不存在,则使用相同候选的L(1-X)运动矢量作为三角划分模式的单向预测运动矢量。
2.6.2沿三角划分边缘的混合
在使用其自身的运动来预测每个三角划分之后,混合被应用于两个预测信号,以导出对角线或反对角线边缘周围的样本。在混合过程中使用以下权重:
针对亮度,{7/8、6/8、5/8、4/8、3/8、2/8、1/8},以及针对色度,{6/8、4/8和2/8},分别如图17的权重图1710和权重图1720所示。
2.6.3运动场存储
使用以下过程来生成以三角划分模式编码的CU的运动矢量:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2被简单地组合以形成双向预测运动矢量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.7 JVET-K0143:基于模板匹配的自适应合并候选排序
为了提高编解码效率,在构建合并候选列表后,根据模板匹配成本调整每个合并候选的顺序。合并候选根据升序的模板匹配成本排列在列表中。它以子组的形式运作。
图18示出了用于计算SAD(绝对差之和)的相邻样本的示意图1800。模板匹配成本通过当前图片1810中当前CU的相邻样本与其相应参考样本之间的SAD来测量。如果合并候选包括双向预测运动信息,则对应的参考样本是参考列表0 1820中的对应参考样本和参考列表1 1830中的对应参考样本的平均值,如图18所示。如果合并候选包含子CU级别运动信息,针对当前图片1910中的当前CU的对应参考样本由参考图片1920中的对应参考子块的相邻样本组成,如图19所示。
排序过程以子组的形式进行操作,如图20所示。前三个合并候选被排序在一起。后续的三个合并候选被排序在一起。如图20所示,原始合并候选列表2010被排序,得到更新后的合并候选列表2020。在本例中,模板大小(左模板的宽度或上模板的高度)为1,子组大小为3。
2.8局部光照补偿(LIC)
局部光照补偿(LIC)是一种解决当前图片与其时域参考图片之间局部光照变化问题的编解码工具。LIC基于线性模型,其中缩放因子和偏移被应用于参考样本以获得当前块的预测样本。具体而言,LIC可以通过以下公式进行数学建模:
P(x,y)=α·Pr(x+vx,y+vy)+β
其中,P(x,y)是当前块在坐标(x,y)处的预测信号;Pr(x+vx,y+vy)是由运动矢量(vx,vy)指向的参考块;并且α和β是应用于参考块的对应缩放因子和偏移。图21示出了LIC过程2100。在图21中,当对一个块应用LIC时,采用最小均方误差(LMSE)方法,通过最小化当前块的相邻样本(即图21中的模板T)与其在时域参考图片中对应的参考样本(即,图21中T0或T1)之间的差异,来导出LIC参数的值(即,α和β)。此外,为了降低计算复杂度,对模板样本和参考模板样本二者进行二次采样(自适应二次采样)以导出LIC参数,即仅图21中的阴影样本被用于导出α和β。
为了提高编码性能,对短边不执行二次采样,如图22的图2200所示。
2.9具有CU级别权重(BCW)的双向预测
在HEVC中,通过对从两个不同的参考图片获得的两个预测信号进行平均和/或使用两个不同运动矢量来生成双向预测信号。在VVC中,双向预测模式被扩展到简单平均之外,以允许对两个预测信号进行加权平均。
Pbi-pred=((8-w)*P0+w*P1+4)>>3
在加权平均双向预测中允许五个权重,w∈{-2,3,4,5,10}。对于每个双向预测CU,以两种方式之一确定权重w:1)对于非合并CU,在运动矢量差异之后用信号发送权重索引;2)对于合并CU,基于合并候选索引从相邻块推断权重索引。BCW仅应用于具有256个或更多亮度样本的CU(即,CU宽度乘以CU高度大于或等于256)。对于低延迟图片,将使用所有5个权重。对于非低延迟图片,仅使用3个权重(w∈{3,4,5})。
–在编码器处,在不显著增加编码器复杂度的情况下,应用快速搜索算法来找到权重索引。这些算法总结如下。可以参考VTM软件和文档JVET-L0646以获得进一步的细节。当与AMVR组合时,如果当前图片是低延迟图片,则针对1-像素和4-像素运动矢量精度,仅有条件地检查不相等的权重。
–当与仿射组合时,当且仅当仿射模式被选择为当前最佳模式时,将针对不相等的权重执行仿射ME。
–当双向预测中的两个参考图片相同时,仅有条件地检查不相等的权重。
–当满足某些条件时,不搜索不相等的权重,这取决于当前图片与其参考图片之间的POC距离、编码QP和时域级别。
BCW权重索引是使用一个上下文编码二值、然后是旁路编码二值来编码的。第一上下文编码的二值指示是否使用相等的权重;并且如果使用不相等的权重,则使用旁路编码用信号发送附加二值,以指示使用哪个不相等的权值。
加权预测(WP)是H.264/AVC和HEVC标准支持的一种编解码工具,用于在衰落的情况下对视频内容进行有效编码。VVC标准中还增加了对WP的支持。WP允许为每个参考图片列表L0和L1中的每个参考图片用信号发送加权参数(权重和偏移)。然后,在运动补偿期间,应用相应参考图片的权重和偏移。WP和BCW是为不同类型的视频内容而设计的。为了避免WP和BCW之间的交互(这将使VVC解码器设计复杂化),如果CU使用WP,则BCW权重索引不被用信号发送,并且w被推断为4(即应用相等的权重)。对于合并CU,权重索引是基于合并候选索引从相邻块推断的。这可以应用于常规合并模式和继承仿射合并模式。对于构建的仿射合并模式,基于多达3个块的运动信息来构建仿射运动信息。使用构建的仿射合并模式的CU的BCW索引被简单地设置为等于第一控制点MV的BCW索引。
在VVC中,CIIP和BCW不能被联合应用于CU。当使用CIIP模式对CU进行编码时,当前CU的BCW索引设置为2,例如相等的权重。
2.10基于子块的时域运动矢量预测(SbTMVP)
VVC支持基于子块的时域运动矢量预测(SbTMVP)方法。类似于HEVC中的时域运动矢量预测(TMVP),SbTMVP使用并置图片中的运动场来改进当前图片中CU的运动矢量预测和合并模式。TMVP使用的同一并置图片被用于SbTMVP。SbTMVP与TMVP的区别主要有以下两个方面:
–TMVP预测CU级别的运动,但SbTMVP预测子CU级别的运动;
–而TMVP从并置图片中的并置块获取时域运动矢量(并置块是相对于当前CU的右下或中心块),SbTMVP在从并置图片获取时域运动信息之前应用运动偏移,其中运动偏移是从来自当前CU的空间相邻块之一的运动矢量获得的。
SbTMVP过程如图23A和图23B所示。图23A示出了SbTMVP使用的空间相邻块的示意图2310。SbTMVP分两步预测当前CU内的子CU的运动矢量。在第一步中,检查图23A中的空间邻居A1。如果A1具有使用并置图片作为其参考图片的运动矢量,则该运动矢量被选择为要被应用的运动偏移。如果没有识别出这样的运动,则运动偏移被设置为(0,0)。
图23B示出了通过应用来自空间邻居的运动偏移并缩放来自相应并置子CU的运动信息来导出子CU运动场的示意图。在第二步中,应用步骤1中识别的运动偏移(即,被添加到当前图片2320中当前块的坐标),以从并置图片2322获得子CU级运动信息(运动矢量和参考索引),如图23B所示。图23B中的示例假设运动偏移被设置为块A1的运动。然后,对于每个子CU,使用并置图片2322中其对应块(覆盖中心样本的最小运动网格)的运动信息来导出子CU的运动信息,以与HEVC的TMVP过程类似的方式将其转换为当前子CU的运动矢量和参考索引,其中应用时域运动缩放以将时域运动矢量的参考图片与当前CU的参考图片对准。
在VVC中,包含SbTMVP候选和仿射合并候选的组合的基于子块的合并列表被用于基于子块合并模式的信令。SbTMVP模式由序列参数集(SPS)标志启用/禁用。如果SbTMVP模式被启用,则SbTMVP预测器被添加为基于子块的合并候选的列表的第一条目,随后是仿射合并候选。在SPS中用信号发送基于子块的合并列表的大小,并且在VVC中基于子块合并列表的最大允许大小是5。
SbTMVP中使用的子CU大小固定为8x8,并且与仿射合并模式一样,SbTMVP-模式仅适用于宽度和高度都大于或等于8的CU。
附加SbTMVP合并候选的编码逻辑与其他合并候选的相同,即,对于P或B条带中的每个CU,执行附加RD检查以决定是否使用SbTMVP-候选。
2.11仿射运动补偿预测
在HEVC中,只有平移运动模型被应用于运动补偿预测(MCP)。而在现实世界中,有很多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用了基于块的仿射变换运动补偿预测。图24示出了基于控制点的仿射运动模型的示意图。如图24所示,块的仿射运动场由两个控制点(4参数)或三个控制点运动矢量(6参数)的运动信息描述。
对于图24中的4参数仿射运动模型2410,块中采样位置(x,y)处的运动矢量被导出为:
对于图24中的6参数仿射运动模型2420,块中采样位置(x,y)处的运动矢量被导出为:
其中,(mv0x,mv0y)是左上角控制点的运动矢量,(mv1x,mv1y)是右上角控制点的运动矢量,并且(mv2x,mv2y)是左下角控制点的运动矢量。
为了简化运动补偿预测,应用了基于块的仿射变换预测。图25示出了按子块的仿射MVF的示意图2500。为了导出每个4×4亮度子块的运动矢量,根据上述公式计算每个子块的中心样本的运动矢量(如图25所示),并取整到1/16分数准确度。然后应用运动补偿插值滤波器来生成具有导出的运动矢量的每个子块的预测。色度分量的子块大小也被设置为4×4。4×4色度子块的MV被计算为并置的8x8亮度区域中的左上和右下亮度子块的MV的平均值。
与平移运动帧间预测一样,还有两种仿射运动帧间预测模式:仿射合并模式和仿射AMVP模式。
仿射合并预测
AF_MERGE模式可应用于宽度和高度均大于或等于8的CU。在该模式中,基于空间相邻CU的运动信息来生成当前CU的CPMV。最多可以有五个CPMVP候选,并用信号发送索引来指示要用于当前CU的一个。以下三类型的CPVM候选用于形成仿射合并候选列表:
–从相邻CU的CPMV推断的继承仿射合并候选
–使用相邻CU的平移MV导出的构建仿射合并候选CPMVP
–零MV
在VVC中,最多有两个继承的仿射候选,它们是从相邻块的仿射运动模型导出的,一个来自左相邻CU,一个从上相邻CU。图26示出了继承的仿射运动预测器的位置的示意图2600。候选块如图26所示。对于左边的预测器,扫描顺序为A0->A1,对于上方的预测器,扫描顺序为B0->B1->B2。只选择从每一侧继承的第一个候选。在两个继承的候选之间不执行修剪检查。当识别出相邻的仿射CU时,其控制点运动矢量被用于导出当前CU的仿射合并列表中的CPMVP候选。图27示出了控制点运动矢量继承的示意图。如图27所示,如果以仿射模式对相邻的左下块A2710进行编解码,则获得包含块A2710的CU 2720的左上角、右上角和左下角的运动矢量v2、v3和v4。当块A 2710用4参数仿射模型编解码时,根据v2和v3,计算当前CU的两个CPMV。当块A用6参数仿射模型进行编解码时,根据v2、v3和v4来计算当前CU的三个CPMV。
构建的仿射候选是指候选是通过组合每个控制点的相邻平移运动信息来构建的。控制点的运动信息是从图28中所示的指定空间邻居和时域邻居导出的,图28示出了所构建的仿射合并模式的候选位置的位置的示意图2800。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插入到列表的末尾。
仿射AMVP预测
仿射AMVP模式可被应用于宽度和高度均大于或等于16的CU。在码流中用信号发送CU级别的仿射标志以指示是否使用仿射AMVP模式,然后用信号发送另一个标志以指示是4参数仿射还是6参数仿射。在该模式中,在码流中用信号发送当前CU的CPMV与其预测CPMVP的差。仿射AVMP候选列表大小为2,并且通过按顺序使用CPVM候选的以下四类型来生成:
–从相邻CU的CPMV推断的继承仿射AMVP候选
–使用相邻CU的平移MV导出的构建仿射AMVP候选CPMVP
–来自相邻CU的平移MV
–零MV
继承的仿射AMVP候选的检查顺序与继承的仿射合并候选的检查顺序相同。唯一的区别在于,对于AVMP候选,仅考虑具有与当前块中相同的参考图片的仿射CU。当将继承的仿射运动预测器插入候选列表时,不应用修剪过程。
构建的AMVP候选是从图28所示的指定空间邻居中导出的。使用与仿射合并候选构建中相同的检查顺序。此外,还检查相邻块的参考图片索引。使用检查顺序中的第一个块,该块被帧间编解码并且具有与当前CU中相同的参考图片。只有一个。当当前CU是用4参数仿射模式编解码的,并且mv0和mv1都可用时,它们被添加为仿射AMVP列表中的一个候选。当用6参数仿射模式对当前CU进行编解码,并且所有三个CPMV都可用时,它们被添加为仿射AMVP列表中的一个候选。否则,构建的AMVP候选将被设置为不可用。
如果在有效的继承仿射AMVP候选和构建的AMVP候选被插入之后仿射AMVP列表候选的数目仍然小于2,mv0,mv1和mv2将被按顺序添加为平移MV,以在可用时预测当前CU的所有控制点MV。最后,如果仿射AMVP列表仍然未满,则使用零MV来填充该列表。
2.12模板匹配(TM)
模板匹配(TM)是解码器侧MV导出方法,用于通过找到当前图片中的模板(即,当前CU的顶部和/或左侧相邻块)与参考图片中的块(即,与模板大小相同)之间的最接近匹配来细化当前CU的运动信息。图29示出了在初始MV周围的搜索区域上执行的模板匹配的示意图2900。如图29所示,在[-8,+8]-像素搜索范围内,在当前CU的初始运动周围搜索更好的MV。在本公开中采用了JVET-J0021中先前提出的模板匹配,并进行了两次修改:基于AMVR模式确定搜索步长,在合并模式下TM可以级联双向匹配过程。
在AMVP模式中,基于模板匹配误差来确定MVP候选,以选取达到当前块模板和参考块模板之间的最小差的MVP,然后TM仅对该特定MVP候选执行MV细化。TM通过使用迭代菱形搜索,从[-8,+8]-像素搜索范围内的全像素MVD精度(或4像素AMVR模式的4像素)开始,对该MVP候选进行细化。AMVP候选可以通过使用具有全像素MVD精度的交叉搜索(或对于4像素AMVR模式为4像素)来进一步细化,然后根据表3中规定的AMVR模式依次使用半像素和四分之一像素。该搜索过程确保MVP候选在TM过程之后仍然保持如AMVR模式所指示的相同MV精度。
表3.AMVR的搜索模式以及具有AMVR的合并模式
在合并模式中,类似的搜索方法被应用于由合并索引指示的合并候选。如表3所示,TM可以一直执行到1/8像素MVD精度,或者跳过超过半像素MVD的精度,这取决于是否根据合并的运动信息使用替代插值滤波器(当AMVR为半像素模式时使用)。此外,当TM模式启用时,模板匹配可以作为基于块和基于子块的双向匹配(BM)方法之间的独立过程或附加的MV细化过程来工作,这取决于BM是否可以根据其启用条件检查来启用。
在编码器端,TM合并模式将对每个合并候选进行MV细化。
2.13多假设预测(MHP,JVET-U0100)
本贡献采用了先前在JVET-M0425中提出的多假设预测。在帧间AMVP模式、常规合并模式和MMVD模式之上用信号发送最多两个附加预测器。所得到的总体预测信号与每个附加预测信号迭代地累积。
pn+1=(1-αn+1)pn+αn+1hn+1
加权系数α根据下表指定:
add_hyp_weight_idx | α |
0 | 1/4 |
1 | -1/8 |
对于帧间AMVP模式,只有在双向预测模式中选择BCW中的非相等权重时,才应用MHP。
2.14 JVET-M0425:多假设帧间预测
在多假设帧间预测模式中,除了传统的单向/双向预测信号之外,还用信号发送一个或多个附加预测信号。所得到的总体预测信号是通过逐样本加权叠加来获得的。利用单向/双向预测信号puni/bi和第一附加帧间预测信号/假设h3,得到的预测信号p3如下:
p3=(1-α)puni/bi+αh3
加权因子α由新的语法元素add_hyp_weight_idx根据以下映射指定:
add_hyp_weight_idx | α |
0 | 1/4 |
1 | -1/8 |
注意,对于附加预测信号,在测试CE10.1.2.a、CE10.1.2.b和CE10.1.2.d中,取消了预测列表0/列表1的概念,而是使用一个组合列表。该组合列表是通过从列表0和列表1交替插入参考帧来生成的,其中增加了参考索引,省略了已经插入的参考帧,从而避免了重复条目。在测试CE10.1.2.c中,每个PU内只能使用2个不同的参考图片,因此使用哪个参考帧由一个标志指示。
类似于上述,可以使用多于一个的附加预测信号。所得到的总体预测信号与每个附加预测信号迭代地累积。
pn+1=(1-αn+1)pn+αn+1hn+1
所得到的总体预测信号被获得作为最后一个pn(即,具有最大索引n的pn)。在该CE内,最多可以使用两个附加预测信号(即,n被限制为2个)。注意,由于迭代累积方法,用于存储中间预测信号的所需PU样本缓冲的数目相对于双向预测没有增加(即,两个缓冲就足够了)。
2.14.1多假设运动估计
首先,测试不具有明确地用信号发送的附加帧间预测参数的帧间模式。对于这些模式中最好的两个(即,具有最低的阿达玛RD成本),搜索附加的帧间预测假设。为此,对于以下参数的所有组合,执行具有16的受限搜索范围的运动估计:
●加权因子
●附加预测假设的参考框架
为了确定这两个参数的最佳组合,使用了使用阿达玛(Hadamard)失真测量和近似码率的简化RD成本。然后,使用前向变换和量化,将所选择的参数组合用于计算更准确的RD成本,该RD成本与当前块的迄今为止找到的最佳编解码模式进行比较。
2.14.2与其他编解码工具的交互
常规合并模式(非MMVD、非子块)
●可以显式地用信号发送附加预测信号,但不能在SKIP模式中
●作为合并候选的一部分,还可以从空间相邻块继承附加预测信号,
但这限于:
○当前CTU内的相邻块,或者
○CTU左边的相邻街区
●附加的预测信号不能从顶部CTU或从时域上并置的块继承。
●所有明确用信号发送的附加预测信号都使用相同的AMVP候选列表,该列表是为第一个明确用信号发送的附加预测信息生成的,因此必须这样做
○一个合并候选列表构建过程
○一个AMVP候选列表构建过程
●显式发信号和继承(合并)的附加预测信号的总和被限制为小于或等于2。
MMVD
●可以明确地用信号发送附加预测信号,但不能在MMVD SKIP模式中
●没有来自合并候选的附加预测信号的继承/合并
●所有明确用信号发送的附加预测信号都使用相同的AMVP候选列表,该列表是为第一个明确用信号发送的附加预测信息生成的,因此必须这样做
○一个MMVD列表构建过程
○一个AMVP候选列表构建过程
子块合并模式
●附加的预测信号可以被明确地用信号发送,但不在SKIP模式中。
○不存在来自合并候选的附加预测信号的继承/合并。
●所有明确用信号发送的附加预测信号都使用相同的AMVP候选列表,该列表是为第一个明确用信号发送的附加预测信息生成的,因此必须这样做
○一个子块合并候选列表构建过程,
○一个AMVP候选列表构建过程。
非仿射AMVP模式
●在双向预测的情况下,可以明确地用信号发送附加预测信号。
●只需要构建两个AMVP候选列表(对于前两个,即非附加预测信号)。
●对于附加预测信号,使用两个AMVP候选列表中的一个:
○如果附加预测信号的参考图片的POC等于所使用的列表1参考图片的POC,列表1AMVP候选列表被使用,
○否则,列表0AMVP候选列表被使用。
仿射AMVP模式
●在双向预测的情况下,可以显式地用信号发送附加(平移)预测信号。
●必须构建两个仿射AMVP候选列表(对于前两个,即非附加预测信号)。
●对于附加预测信号,使用两个AMVP候选列表中的一个:
○如果附加预测信号的参考图片的POC等于所使用的列表1参考图片的POC,则使用列表1AMVP候选列表。
○否则,将使用列表0AMVP候选列表。
●仿射LT mv预测器被用作附加预测信号的mv预测器。
BIO
多假设帧间预测不能与一个PU内的BIO一起使用:
●如果存在附加的预测信号,则针对当前PU,BIO被禁用。
组合帧内/帧间
多假设帧间预测不能与一个PU内的组合帧内/帧间一起使用:
●如果组合的帧内/帧间与具有附加预测信号的合并候选一起被选择,则这些附加预测信号不被继承/合并。
●附加预测信号不能在组合帧内/帧间模式中被明确地用信号发送。
三角模式
多假设帧间预测不能与一个PU内的三角模式一起使用:
●如果三角模式与具有附加预测信号的合并候选一起被选择,则这些附加预测信号不被继承/合并。
●附加的预测信号不能在三角模式中被明确地用信号发送。
重叠块运动补偿
重叠块运动补偿(OBMC)以前已在H.263中使用。在JEM中,与H.263不同,OBMC可以使用CU级别的语法来被打开和关闭。当在JEM中使用OBMC时,除了CU的右边界和下边界之外,对所有运动补偿(MC)块边界执行OBMC。此外,它还适用于亮度和色度分量。在JEM中,MC块对应于编码块。当用子CU模式(包括子CU合并、仿射和FRUC模式)对CU进行编码时,CU的每个子块都是MC块。图30示出了OBMC应用的子块的示意图3000。为了以统一的方式处理CU边界,在子块级别对所有MC块边界执行OBMC,其中子块大小设置为等于4×4,如图30所示。
当OBMC应用于当前子块时,除了当前运动矢量之外,如果可用并且与当前运动矢量不相同的四个连接的相邻子块的运动矢量也用于导出当前子块的预测块。这些基于多个运动矢量的多个预测块被组合以生成当前子块的最终预测信号。
将基于相邻子块的运动矢量的预测块表示为PN,其中N指示相邻的上、下、左和右子块的索引,并且将基于当前子块的运动矢量的预测区块表示为PC,OBMC不是从PN执行的。否则,PN的每个样本都被添加到PC中的同一样本,即,PN的四个行/列被添加到PC。加权因子{1/4,1/8,1/16,1/32}被用于PN,并且加权因子{3/4,7/8,15/16,31/32}被用于PC。小的MC块除外,(即,当编码块的高度或宽度等于4时,或者用CU模式对CU进行编解码时),其中只有两个行/列PN被添加到PC。在这种情况下,加权因子{1/4,1/8}被用于PN,而加权因子{3/4,7/8}被用于PC。对于基于垂直(水平)相邻子块的运动矢量生成的PN,PN的同一行(列)中的样本被添加到具有相同加权因子的PC。
在JEM中,对于大小小于或等于256个亮度样本的CU,会用信号发送CU级别标志,以指示当前CU是否应用OBMC。对于大小大于256个亮度采样或未使用AMVP模式编码的CU,默认情况下应用OBMC。在编码器处,当OBMC被应用于CU时,其影响在运动估计阶段被考虑在内。OBMC使用顶部相邻块和左侧相邻块的运动信息形成的预测信号用于补偿当前CU的原始信号的顶部和左侧边界,然后应用常规的运动估计过程。
2.16自适应合并候选列表
假设合并候选的数目为8。将前5个合并候选作为第一子组,并将随后的3个合并候选用作第二子组(即最后一个子组)。
图31示出了在编码器中的重排序过程3100的流程图。对于编码器,在框3102构建合并候选列表后,一些合并候选按合并候选成本的升序自适应地重排序,如图31所示。
更具体地,在框3104,计算针对除了最后一个子组之外的所有子组中的合并候选的模板匹配成本;然后在框3106,除最后一个子组之外,对它们自己的子组中的合并候选进行重排序;最后,在框3108,将获得最终合并候选列表。
对于解码器,在构建合并候选列表后,按照合并候选成本的升序,自适应地对一些合并候选进行重排序或没有合并候选被重排序,如图32所示,图32示出了解码器中重排序过程3200的流程图。在图32中,选定的(信号)合并候选所在的子组称为选定子组。
更具体地,在框3202,确定选定的合并候选是否位于最后一个子组中。如果所选合并候选位于最后一个子组中,则在框3204,在选定的合并候选被导出之后,终止合并候选列表构建过程,并且在框3206,不执行重排序并且不改变合并候选列表;否则,执行如下过程:
在框3208,在选定子组中的所有合并候选被导出之后,终止合并候选列表构建过程;在框3210,计算选定子组中的合并候选的模板匹配成本;在框3212,对选定子组中的合并候选执行重排序;最后,在框3214,将获得新的合并候选列表。
对于编码器和解码器两者,
模板匹配成本是根据T和RT的函数导出的,其中T是模板中的一组样本,RT是模板的一组参考样本。
当导出合并候选的模板的参考样本时,合并候选的运动矢量被取整到整数像素精度。
针对双向预测的模板的参考样本(RT)是通过如下对参考列表0(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)标志为真(true),则使用LIC方法导出模板的参考样本。
模板匹配成本是基于T和RT的绝对差之和(SAD)来计算的。
模板大小为1。这意味着左模板的宽度和/或上模板的高度是1。
如果编解码模式是MMVD,则用于导出基础合并候选的合并候选不被重排序。
如果编解码模式是GPM,则用于导出单向预测候选列表的合并候选不被重排序。
2.17 GMVD
在具有运动矢量差分的几何预测模式下,GPM中的每个几何划分都可以决定是否使用GMVD。如果为几何区域选择GMVD,则将该区域的MV计算为合并候选的MV和MVD的总和。所有其他处理都与GPM中保持相同。
对于GMVD,MVD是作为一对方向和距离用信号发送的。有九个候选距离(1/4-像素、1/2-像素、1-像素、2-像素、3-像素、4-像素、6-像素、8-像素、16像素)和八个候选方向(四个水平/垂直方向和四个对角线方向)。此外,当pic_fpel_MVD_enabled_flag等于1时,GMVD中的MVD也像在MMVD中一样左移2。
2.18仿射MMVD
在仿射MMVD中,选择仿射合并候选(称为基础仿射合并候选),通过用信号发送的MVD信息进一步细化控制点的MV。
所有控制点的MV的MVD信息在一个预测方向上是相同的。
当起始MV是双向预测MV,其中两个MV指向当前图片的不同侧(即,一个参考的POC大于当前图片的POC,而另一个参考的POC小于当前图片的POC)时,添加到起始MV的列表0MV分量的MV偏移和列表1MV的MV偏移具有相反的值;否则,当起始MV是两个列表都指向当前图片的同一侧的双向预测MV时(即,两个参考的POC都大于当前图片的POC,或者都小于当前图片的POC),添加到起始MV的列表0MV分量的MV偏移和list1MV的MV偏移是相同的。
2.19多通路解码器侧运动矢量细化
在这一贡献中,应用了多通路解码器侧的运动矢量细化。在第一个通路中,双向匹配(bilateral matching,BM)被应用于编码块。在第二个通路中,BM被应用于编码块内的每个16x16子块。在第三遍中,通过应用双向光流(BDOF)来细化每个8x8子块中的MV。经细化的MV被存储用于空间和时域运动矢量预测。
■第一通路-基于块的双向匹配MV细化
在第一通路中,通过将BM应用于编码块来导出细化的MV。类似于解码器侧运动矢量细化(DMVR),在双向预测操作中,在参考图片列表L0和L1中的两个初始MV(MV0和MV1)周围搜索细化的MV。基于L0和L1中的两个参考块之间的最小双向匹配成本,围绕发起MV导出细化的MV(MV0_pass1和MV1_pass1)。
BM执行局部搜索以导出整数样本精度intDeltaMV。局部搜索采用3×3平方搜索模式,在水平方向的搜索范围[–sHor,sHor]和垂直方向的搜索区域[–sVer,sVer]中循环,其中,sHor和sVer的值由块维度确定,sHor和sVer的最大值为8。
双向匹配成本计算为:bilCost=mvDistanceCost+sadCost。当块大小cbW*cbH大于64时,应用MRSAD成本函数来去除参考块之间失真的DC效应。当3×3搜索模式中心点的bilCost具有最小成本时,intDeltaMV局部搜索终止。否则,当前最小成本搜索点成为3×3搜索模式的新中心点,并继续搜索最小成本,直到它到达搜索范围的末尾。
进一步应用已有的分数样本细化来导出最终的deltaMV。然后,第一通路后的细化MV被导出为:
●MV0_pass1=MV0+deltaMV
●MV1_pass1=MV1–deltaMV
■第二通路-基于子块的双向匹配MV细化
在第二遍中,通过将BM应用于16×16网格子块来导出细化的MV。对于每个子块,在参考图片列表L0和L1中的第一次通过获得的两个MV(MV0_pass1和MV1_pass1)周围搜索细化的MV。基于L0和L1中的两个参考子块之间的最小双向匹配成本来导出细化的MV(MV0_pass2(sbIdx2)和MV1_pass2(sbIdx2))。
对于每个子块,BM执行完全搜索以导出整数样本精度intDeltaMV。全搜索在水平方向上具有搜索范围[–sHor,sHor],在垂直方向上具有[–sVer,sVer],其中,sHor和sVer的值由块维度确定,并且sHor和sVert的最大值为8。
双向匹配成本是通过将成本因子应用于两个参考子块之间的SATD成本来计算的,如:bilCost=satdCost*costFactor。搜索区域(2*sHor+1)*(2*sVer+1)被划分为5个菱形搜索区域,如图33的图3300所示。搜索区域中的菱形区域。每个搜索区域都被分配了一个costFactor,该costFactor由每个搜索点和起始MV之间的距离(intDeltaMV)确定,并且每个菱形区域从搜索区域中心开始的按顺序进行处理。在每个区域中,搜索点按光栅扫描顺序进行处理,从区域的左上角开始,一直到右下角。当当前搜索区域内的最小bilCost小于等于sbW*sbH的阈值时,终止整数像素完全搜索,否则,整数像素完全搜索继续到下一个搜索区域,直到检查完所有搜索点。
进一步应用已有的VVC DMVR分数样本细化来导出最终的deltaMV(sbIdx2)。然后,第二通路时的细化MV被导出为:
●MV0_pass2(sbIdx2)=MV0_pass1+deltaMV(sbIdx2)
●MV1_pass2(sbIdx2)=MV1_pass1–deltaMV(sbIdx2)
■第三通路-基于子块的双向光流MV细化
在第三通路中,通过将BDOF应用于8×8网格子块来导出细化的MV。对于每个8×8的子块,应用BDOF细化来导出缩放的Vx和Vy,而不从第二遍的父子块的细化MV开始进行剪裁。导出的bioMv(Vx,Vy)被取整到1/16样本精度,并在-32和32之间进行剪裁。
第三通路的细化MV(MV0_pass3(sbIdx3)和MV1_pass3(sbIdx3))导出为:
●MV0_pass3(sbIdx3)=MV0_pass2(sbIdx2)+bioMv
●MV1_pass3(sbIdx3)=MV0_pass2(sbIdx2)–bioMv
2.20解码器侧运动矢量细化(DMVR)
为了提高合并模式MV的精度,在VVC中应用了基于双向匹配(BM)的解码器侧运动矢量细化。在双向预测操作中,在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化的MV。BM方法计算参考图片列表LO和列表L1中两个候选块之间的失真。如图34所示,基于初始MV周围的每个MV候选,计算块3410和3412之间的SAD,其中,对于当前图片3402,块3410在列表L0中的参考图片3401中,块3412在列表L1中的参考图片3403中。具有最低SAD的MV候选成为细化MV,并用于生成双向预测信号。
在VVC中,DMVR的应用受到限制,仅适用于具有以下模式和功能的CU:
-具有双向预测MV的CU级别合并模式
-相对于当前图片,一张参考图片在过去,另一张参考图片在未来
-从两个参考图片到当前图片的距离(即POC差)相同
-两张参考图片均为短期参考图片
-CU有超过64个亮度样本
-CU高度和CU宽度均大于或等于8个亮度样本
-BCW权重索引表示相等的权重
-当前块未启用WP
-CIIP模式未用于当前块
-DMVR过程导出的细化MV用于生成帧间预测样本,并且还用于未来图片编解码的时域运动矢量预测。而原始MV被用于去块过程,并且还被用于未来CU编解码的空间运动矢量预测。
-DMVR的附加功能在以下子条款中有所提及。
■搜索方案
在DVMR中,搜索点围绕初始MV,并且MV偏移服从MV差镜像规则。换句话说,由候选MV对(MV0,MV1)表示的DMVR检查的任何点遵循以下两个公式:
MV0′=MV0+MV_offset
MV1′=MV1-MV_offset
其中,MV_offset表示参考图片之一中的初始MV和细化MV之间的细化偏移。细化搜索范围是从初始MV开始的两个整数亮度样本。搜索包括整数样本偏移搜索阶段和分数样本细化阶段。
整数样本偏移搜索采用25点全搜索。首先计算初始MV对的SAD。如果初始MV对的SAD小于阈值,则DMVR的整数采样级终止。否则,剩余24个点的SAD按光栅扫描顺序进行计算和检查。选择SAD最小的点作为整数样本偏移搜索阶段的输出。为了减少DMVR细化不确定性的影响,建议在DMVR过程中支持原始MV。由初始MV候选参考的参考块之间的SAD减少了SAD值的1/4。
整数样本搜索之后是分数样本细化。为了节省计算复杂度,利用参数误差曲面公式导出了分数样本细化,而不是使用SAD比较进行附加搜索。分数样本细化是基于整数样本搜索阶段的输出有条件地调用的。当整数样本搜索阶段在第一次迭代或第二次迭代搜索中以具有最小SAD的中心结束时,进一步应用分数样本细化。
在基于参数误差表面的亚像素偏移估计中,中心位置成本和距中心四个相邻位置的成本用于拟合以下形式的2D抛物型误差表面公式:
E(x,y)=A(x-xmin)2+B(y-ymin)2+C
其中(xmin,ymin)对应于具有最小成本的分数位置,C对应于最小成本值。通过使用五个搜索点的成本值求解上述公式,(xmin,ymin)被计算为:
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0)))
ymin=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0)))
xmin和ymin的值被自动限制在-8和8之间,因为所有成本值都为正,最小值为E(0,0)。这对应于VVC中具有1/16像素MV精度的半像素偏移。所计算的分数(xmin,ymin)被添加到整数距离细化MV以获得亚像素精确的细化增量MV。
双线性插值和样本填充
在VVC中,MV的分辨率是1/16亮度样本。使用8抽头插值滤波器对分数位置处的样本进行插值。在DMVR中,搜索点围绕具有整数样本偏移的初始分数像素MV,因此需要对这些分数位置的样本进行插值以进行DMVR搜索过程。为了降低计算复杂度,双线性插值滤波器用于生成DMVR中搜索过程的分数样本。另一个重要的效果是,通过使用双线性滤波器,在2样本搜索范围内,与常规的运动补偿过程相比,DVMR不会访问更多的参考样本。在通过DMVR搜索过程获得细化的MV之后,应用普通的8抽头插值滤波器来生成最终预测。为了不访问常规MC过程的更多参考样本,将从那些可用样本中填充样本,这些样本对于基于原始MV的插值过程是不需要的,但是对于基于精细MV的插值处理是需要的。
最大DMVR处理单元
当CU的宽度和/或高度大于16个亮度样本时,它要被进一步划分为宽度和/或者高度等于16个亮度采样的子块。DMVR搜索过程的最大单元大小限制为16x16。
2.21在美国专利申请(申请号17/161,335)中提出的自适应合并候选列表(其全部内容被并入本文)
在下文中,模板是与当前块相邻或不相邻的重构样本集。根据当前块的相同运动信息导出模板的参考样本。例如,模板的参考样本是取决于运动信息的模板的映射。在这种情况下,模板的参考样本由运动信息的参考索引所指示的参考图片中的运动信息的运动矢量来定位。图35示出了模板和模板的参考样本的示例的示意图3500,其中参考图片3520中的RT表示当前图片3510中模板T的参考样本。
当合并候选利用双向预测时,合并候选的模板的参考样本由RT表示,并且可以从RT0和RT1生成RT,RT0是从参考图片列表0中的参考图片导出,RT1是从参考图片列表1中的参考图片导出。在一个示例中,RT0包括由合并候选的、指向参考列表0中的参考图片的参考索引所指示的当前块的参考图片上的参考样本集,其中合并候选的MV指向参考列表0。在一个示例中,RT1包括合并候选的、指向参考列表1中的参考图片的参考索引所指示的当前块的参考图片上的参考样本集,其中合并候选的MV指向参考列表1。一个示例如图36所示,它示出了当前图片3610中的模板以及该模板在参考列表0中的参考图片3620和参考列表1中的参考图片3630中的参考样本的示意图3600。
在一个示例中,用于双向预测的模板的参考样本(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。
在一个示例中,参考列表0中的参考模板的权重,诸如(8-w),和参考列表1中的参考模板的权重,诸如(w),可以由合并候选的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)例如,在由合并候选的参考索引指示的当前块的参考图片上获得合并候选的模板的参考样本,合并候选具有合并候选的MV或修改的MV(例如,根据第a)-b)点),如图35所示。
e)例如,当合并候选利用双向预测时,合并候选的模板的参考样本由RT表示,并且RT可以从RT0和RT1生成,RT0从参考图片列表0中的参考图片导出的并且RT1是从参考图片表1中的参考图片导出的。
[1]在一个示例中,RT0包括由合并候选的、指向参考列表0中的参考图片的参考索引所指示的当前块的参考图片上的参考样本集,其中合并候选的MV指向参考列表0,
[2]在一个示例中,RT1包括由合并候选的、指向参考列表1中的参考图片的合并候选的参考索引所指示的当前块的参考图片上的参考样本集,其中合并候选的MV指向参考列表1。
[3]一个示例如图36所示。
f)在一个示例中,用于双向预测的模板(RT)的参考样本是通过对参考列表0(RT0)中的模板的参考样本和参考列表1(RT1)中模板的参考样本进行相等加权平均而导出的。一个示例如下:
RT=(RT0+RT1+1)>>1
g)在一个示例中,用于双向预测的模板(RTbi-pred)的参考样本是通过对参考列表0(RTbi-pred)中的模板的参考样本和参考列表1(RT1)中模板的参考样本进行加权平均而导出的。一个示例如下:
RT=((2N-w)*RT0+w*RT1+2N-1)>>N,例如,N=3。
h)在一个示例中,参考列表0中的参考模板的权重,诸如(8-w)和参考列表1中的参考模板的权重,诸如(w),可以由合并候选的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)标志为真(true),则使用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.备选地,重排序方法对于基于子块的合并模式和其他合并模式可以不同
g.在一个示例中,基于单向预测子块的合并候选不被重排序。
h.在一个示例中,SbTMVP候选不被重排序。
i.在一个示例中,构建的仿射候选不被重排序。
j.在一个示例中,零填充仿射候选不被重排序。
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.在一个示例中,根据相邻空间和/或STMVP和/或时域合并候选的可用数目来决定子组大小,被表示为N。
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的组,并且针对每个组,一个标志被编码以指示合并候选列表重排序是否被应用。
3.问题
合并模式的当前设计可以进一步改进。
固定合并候选顺序可能不是最佳的。自适应合并候选列表生成过程可以被用来提高合并模式的有效性。此外,编解码效率可以被提高。
4.发明内容
下面的详细发明内容应当被认为是解释一般概念的示例。这些发明内容不应被狭隘地解释。此外,这些发明内容可以以任何方式组合。
要注意的是,以下提及的术语不限于已有标准中定义的特定术语。编解码工具的任何变化也适用。例如,术语“GPM”被用于表示导出两组运动信息并使用导出的信息和分割模式来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。
注意,所提出的方法可以被应用于针对帧间编解码块(例如,平移运动)、仿射编解码块或IBC编解码块的合并候选列表构建过程;或者其他运动候选的列表构建过程(例如常规AMVP列表、仿射AMVP列表和IBC AMVP列表)。
W和H是当前块(例如亮度块)的宽度和高度。
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运动来生成新的单向预测合并候选。
4.是否和/或如何重排序运动候选可以取决于运动候选的类别。
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。
5.在一个示例中,运动候选可以被划分为多个子组。是否和/或如何对运动候选进行重排序可以取决于运动候选的子组。
a.在一个示例中,只有第一个子组可以被重排序。
b.在一个示例中,最后一个子组不能被重排序。
c.在一个示例中,最后一个子组不能被重排序。但如果最后一个子组也是第一个子组,则该子组可以被重排序。
d.不同的子组可以单独被重排序。
e.不同子组中的两个候选不能进行比较和/或重排序。
f.如果第一子组在第二子组之前,则在重排序之后,第一子组中的第一候选必须被放在第二子组中的第二候选之前。
6.在一个示例中,可以以指定的方式处理未被包括在重排序过程中的运动候选。
a.在一个示例中,对于不被重排序的候选,它们将根据初始顺序被排列在合并候选列表中。
b.在一个示例中,未被重排序的候选可以被置于要被重排序的候选之后。
c.在一个示例中,未被重排序的候选可以被置于要被重排序的候选项之前。
7.是否应用自适应合并候选列表重排序可以取决于在VPS/SPS/PPS/序列报头/图片报头/条带报头/CTU/CU中用信号发送的消息。它也可以是基于信令的区域。例如,图片被均匀地或不均匀地划分为CTU/CU的组,并且针对每个组,一个标志被编码以指示合并候选列表重排序是否被应用。
5.实施例
5.1实施例#1
可以假设合并候选的数目是8。将前5个合并候选作为第一子组,并将随后的3个合并候选作为第二子组(即最后一个子组)。
图37示出了在编码器中的重排序过程3700的流程图。对于编码器,在框3702构建合并候选列表后,一些合并候选按合并候选成本的升序自被适应地重排序,如图37所示。
更具体地,在框3704,计算针对除了最后一个子组之外的所有子组中的合并候选的模板匹配成本;然后在框3706,除最后一个子组之外,对它们自己的子组中的合并候选进行重排序;最后,在框3708,将获得最终合并候选列表。
对于解码器,在合并候选列表被构建后,按照合并候选成本的升序,自适应地对一些合并候选进行重排序或没有合并候选被重排序,如图38所示,图38示出了在解码器中的重排序过程3800的流程图。在图38中,所选择的(被用信号发送的)合并候选所在的子组被称为选定子组。
更具体地,在框3802,确定选定的合并候选是否位于最后一个子组中。如果选定的合并候选位于最后一个子组中,则在框3804,在选定的合并候选被导出之后,终止合并候选列表构建过程,并且在框3806,不执行重排序并且不改变合并候选列表;否则,执行如下过程:
在框3808,在选定子组中的所有合并候选被导出之后,终止合并候选列表构建过程;在框3810,计算选定子组中的合并候选的模板匹配成本;在框3812,对选定子组中的合并候选执行重排序;最后,在框3814,将获得新的合并候选列表。
对于编码器和解码器两者,应用以下操作:
–模板匹配成本是根据T和RT的函数被导出的,其中T是模板中的一组样本,并且RT是针对该模板的一组参考样本。
–当导出针对合并候选的模板的参考样本时,使用双线性插值滤波。
–针对双向预测的模板的参考样本(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)标志为真(true),则利用LIC方法导出模板的参考样本。
模板匹配成本是基于T和RT的绝对差之和(SAD)来计算的。
模板大小为1。这意味着左模板的宽度和/或上模板的高度是1。
如果编解码模式是MMVD,则用于导出基础合并候选的合并候选不被重排序。
如果编解码模式是GPM,则用于导出单向预测候选列表的合并候选不被重排序。
如果编解码模式是TM合并,则所有原始TM合并候选被重排序。
如果编解码模式是基于子块的合并模式,则所有基于子块合并候选被重排序。
本公开的实施例涉及针对帧间编解码块(例如,平移运动)、仿射编解码块或IBC编解码块的合并候选列表构建过程;或者其他运动候选的列表构建过程(例如常规AMVP列表、仿射AMVP列表和IBC AMVP列表)。
如本文所使用的,术语“块”可以表示编码块(CB)、编解码单元(CU)、预测单元(PU)、变换单元(TU)、预测块(PB)、变换块(TB)。
图39示出了根据本公开的一些实施例的用于视频处理的方法3900的流程图。方法3900可以在视频的目标块与视频的码流之间的转换期间被实现。在一些实施例中,计算设备3900可以被实现为或被包括在源设备110(或视频编码器114或200)或目的地设备120(或视频解码器124或300)中。
在3902,在视频的目标块与视频的码流之间的转换期间,构建针对目标块的运动信息的运动候选的列表。
目标块可以被包括在视频的目标图片中。目标块有时可以被称为当前块或当前视频块,其可以具有各种大小。在合并模式中,可以构建运动候选的列表,该列表可以包括一定数目的运动候选(也称为“合并候选”,在本文中“合并候选”与术语“运动候选”可互换地使用)。运动候选的列表可以被称为“运动候选列表”或“合并候选列表”。该列表中的每个运动候选可以包括根据特定方法确定的运动信息(例如,运动矢量)。
此外,可以从所构建的运动候选列表中选择针对目标块的最佳候选,并且可以将该列表中的最佳候选的索引(也称为合并索引)编码到码流中。在本文中,索引可以指示所选择的候选在运动候选的列表中的位置。然而,在一些传统的合并模式中,运动候选列表中的运动候选的顺序是固定的。在这种情况下,如果所选择的最佳运动候选位于列表的后部分,则索引将具有更大的值,然后可能需要更多的比特来进行编码。
根据本公开的实施例,提出了可以根据一个或一些准则来自适应地对块的运动候选列表中的运动候选进行重排序或重新排列,以导出经重排序的运动候选列表,并且根据经重排序的运动候选列表对块进行编码/解码。传统的固定合并候选顺序可能不是最优的。自适应合并候选列表生成过程可以用于提高合并模式的有效性,从而提高编解码效率。
具体地,在框3904,至少部分地基于编解码信息来确定重排序方案,该重排序方案指示运动候选的列表中的至少一个运动候选是否要被重排序和/或如何被重排序。在框3906,根据重排序方案,从运动候选的列表生成运动候选的目标列表。
在本公开的实施例中,与视频相关的编解码信息用于确定重排序方案,以指示是否要对运动候选的列表中的至少一个运动候选进行重排序和/或在要执行重排序的情况下如何对(多个)运动候选进行重排序。不同的编解码信息可能导致不同的重排序方案。
在一些实施例中,编解码信息可以包括针对视频的编解码模式。也就是说,是否对运动候选进行重排序和/或如何对其进行重排序可能取决于视频的编解码模式。在一些实施例中,视频的编解码模式可以是常规高级运动矢量预测(AMVP)模式、常规合并模式、仿射合并模式、基于子块的合并模式、仿射AMVP模式、几何划分模式(GPM)、三角划分模式(TPM)、模板匹配(TM)合并模式、具有运动矢量差的合并模式(MMVD),组合帧间/帧内预测(CIIP)模式、具有运动矢量差的几何预测模式(GMVD)、仿射MMVD模式、或解码器侧运动矢量细化(DMVR)。在一些示例中,一些编解码模式可能取决于视频的编解码工具。
在一些实施例中,如果确定编解码模式是常规合并模式,则可以对运动候选的列表进行重排序。这里,在常规合并模式中构建的运动候选的列表可以被称为“常规合并候选列表”或简称为“合并候选列表”。
在一些实施例中,可以根据一个或一些准则,对运动候选列表中不是在常规合并模式中构建的运动候选进行自适应地重排序,以导出经重排序的运动候选的列表。也就是说,如果确定编解码模式不是常规合并模式,则运动候选的列表也可以被重排序。
在一个示例中,如果确定编解码模式是AMVP模式(在这种情况下,运动候选的列表被称为AMVP候选列表),则运动候选的列表可以被重排序。
在一个示例中,如果确定编解码模式是仿射合并模式(在这种情况下,运动候选的列表被称为仿射合并候选列表),则运动候选的列表可以被重排序。
在一个示例中,如果确定编解码模式是基于子块的合并模式(在这种情况下,运动候选的列表被称为基于子块的合并候选列表),则运动候选的列表可以被重排序。
在一个示例中,如果确定编解码模式是GPM模式(在这种情况下,运动候选的列表被称为GPM合并候选列表),则运动候选的列表可以被重排序。
在一个示例中,如果确定编解码模式是TPM模式(在这种情况下,运动候选的列表被称为TPM合并候选列表),则运动候选的列表可以被重排序。
在一个示例中,如果确定编解码模式是TM模式(在这种情况下,运动候选的列表被称为TM合并候选列表),则运动候选的列表可以被重排序。
在一个示例中,如果确定编解码模式是MMVD模式(在这种情况下,运动候选的列表被称为针对MMVD编解码块的候选列表),则运动候选的列表可以被重排序。
在一个示例中,如果确定编解码模式是DMVR模式(在这种情况下,运动候选的列表被称为针对DMVR编码块的候选列表),则运动候选的列表可以被重排序。
在一些实施例中,备选地或附加地,编解码信息可以包括运动候选的列表中的至少一个运动候选的类别(或类型)或运动候选的列表的类别。也就是说,是否对运动候选重排序和/或如何对运动候选进行重排序可以取决于运动候选的类别。在一些实施例中,运动候选的列表可以包括属于一个或多于一个类别的运动候选,并且每个类别可以包括至少一个运动候选。对于运动候选的每个类别,可以自适应地确定至少一个运动候选是否要被重排序和/或至少一个运动候选要如何被重排序。
在一些实施例中,运动候选的列表中的运动候选的类别可以包括以下中的一个或多个:空间运动候选的类别(其可以进一步划分为相邻空间运动候选的类别和非相邻空间运动候选项类的别)、时域运动候选类别,空间-时域运动矢量预测(STMVP)运动候选的类别、基于历史的运动矢量预测(HMVP)运动候选类别、或成对平均运动候选的类别。备选地或附加地,在一些实施例中,运动候选的列表中的运动候选的一个或多个类别可以包括以下中的一个或多个:基于单向预测子块的运动候选的类别、基于子块的时域运动矢量预测(SbTMVP)运动候选的类别、继承的仿射运动候选的类别、构建的仿射运动候选的类别,或者零填充仿射运动候选的类别。
在一些实施例中,如果确定运动候选的列表中的至少一个运动候选属于以下类别中的至少一个类别,则重排序方案可以被确定为指示整个运动候选的列表或列表中的至少一个运动候选要被重排序:相邻空间运动候选的类别,时域运动候选的类别、STMVP运动候选的类型、非相邻空间运动候选的类别、HMVP运动候选的类别、或成对平均运动候选的类别。
在一个示例中,仅相邻空间和时域运动候选的类别可以被重排序。
在一个示例中,仅相邻空间运动候选的类别、STMVP运动候选的类别和时域运动候选的类别可以被重排序。
在一个示例中,仅相邻空间运动候选的类别、STMVP运动候选的类别、时域运动候选的类别和非相邻空间运动候选的类别可以被重排序。
在一个示例中,仅相邻空间运动候选的类别、STMVP运动候选的类别、时域运动候选的类别、非相邻空间运动候选的类别和HMVP运动候选的类别可以被重排序。
在一个示例中,仅相邻空间运动候选的类别、STMVP运动候选的类别、时域运动候选的类别、非相邻空间运动候选的类别、HMVP运动候选的类别和成对平均运动候选的类别可以被重排序。
在一个示例中,仅相邻空间运动候选的类别、时域运动候选的类别、HMVP运动候选的类别和成对平均运动候选的类别可以被重排序。
在一个示例中,仅相邻空间运动候选的类别、时域运动候选的类别和HMVP运动候选的类别可以被重排序。
在一个示例中,仅相邻空间运动候选的类别可以被重排序。
在一个示例中,基于单向预测子块的运动候选的类别可以不被重排序。在一个示例中,SbTMVP候选的类别可以不被重排序。
在一个示例中,继承的仿射运动候选的类别可以不被重排序。
在一个示例中,构建的仿射运动候选的类别可以不被重排序。
在一个示例中,零填充仿射运动候选的类别可以不被重排序。
在一些实施例中,对于允许重排序的运动候选的一个或多个编解码模式和/或一个或多个类别,可以确定运动候选的列表的重排序方案以指示运动候选的列表要被重排序。在一些实施例中,在重排序方案指示运动候选的列表或列表中的至少一个运动候选要被重排序的情况下,重排序方案可以进一步指示(多个)运动候选如何被重排序。对于不同的编解码模式和/或不同类别的运动候选,可以应用不同的重排序方案来对(多个)运动候选进行重排序。
在一些实施例中,重排序方案可以被确定为指示从运动候选的列表的开头开始的一定数目的运动候选要被重排序。例如,重排序方案可以指示只有前N个运动候选可以被重排序,其中N被设置为小于或等于列表中运动候选的总数的整数。在一个示例中,N可以被设置为等于5,或者任何其他值,并且本公开的范围在这方面不受限制。
在一些实施例中,备选地或附加地,重排序方案可以进一步指示用于选择要对运动候选的列表执行的细化的模板的方案。也就是说,重排序方案可以指示如何选择模板。在一些示例中,重排序方案可以指示在细化过程中使用的模板可以被重新用于重排序过程,或者可以指示在重排序过程中使用的模板可以被重新确定。
在一些实施例中,备选地或附加地,重排序方案可以进一步指示用于计算要应用于运动候选的列表的细化的模板匹配成本的方案。也就是说,重排序方案可以指示如何计算模板匹配成本。在一些示例中,重排序方案可以指示在细化过程中确定的模板匹配成本可以被重新用于重排序过程,或者可以指示模板匹配成本在重排序过程中可以被重新计算。
在一些实施例中,备选地或附加地,重排序方案可以进一步指示在运动候选的列表中要被重排序的运动候选的数目,和/或在运动候选的列表中要被重排序的运动候选的子组的数目。也就是说,重排序方案可以指示列表中有多少运动候选和/或有多少个子组需要被重排序。
在一些实施例中,运动候选的列表可以被划分为运动候选的至少一个子组。在这种情况下,当确定重排序方案时,可以基于运动候选的至少一个子组来确定该重排序方案。更具体地,是否和/或如何对运动候选进行重排序可以取决于运动候选的子组。
在一些实施例中,重排序方案可以被确定为指示仅运动候选的第一个子组要被重排序。子组的排序可以取决于在运动候选的列表中排列的运动候选。
在一些实施例中,备选地或附加地,重排序方案可以被确定为指示运动候选的最后一个子组不被重排序。
在一些实施例中,如果最后一个子组也是第一个组,则重排序方案可以被确定为指示要对运动候选的最后一个子组进行重排序。也就是说,运动候选的列表仅被划分为一个子组,使得最后一个子组也是第一个子组。在这种情况下,可以对该子组进行重排序。
在一些实施例中,备选地或附加地,重排序方案可以被确定为指示不同的子组要被单独地重排序。在一些实施例中,备选地或附加地,重排序方案可以被确定为指示不同子组中的两个运动候选不在一起被重排序或者不被彼此比较。因此,运动候选的重排序是在子组内执行。
在一些实施例中,备选地或附加地,如果第一子组在第二子组之前,则重排序方案可以被确定为指示在重排序之后第一子组中的第一运动候选将被置于第二子组中的第二运动候选之前。因此,多个子组的顺序被维持,并且每个子组内的运动候选可以被自适应地重排序。
在确定了重排序方案的情况下,可以根据重排序方案从运动候选的列表生成运动候选的目标列表。取决于重排序方案,运动候选的列表可以不被重排序,可以被部分重排序(例如,一个或多个运动候选被重排序),或者可以被完全重排序,以获得运动候选的目标列表。
在一些实施例中,在重排序方案指示运动候选的列表要被部分重排序的情况下,例如,仅对运动候选的列表中的运动候选中的一些而不是全部进行重排序,并且不对运动候选列表中的至少一个运动候选进行重排序,则可以根据运动候选的列表内的至少一个第一运动候选的原始顺序来确定不在运动候选的目标列表内对至少一个运动候选进行重排序的顺序。也就是说,对于不被重排序的运动候选,可以根据它们的初始顺序将它们排列在运动候选的目标列表中。
在一些实施例中,如果重排序方案指示运动候选的列表要被部分重排序,则不被重排序的一个或多个运动候选可以被置于要被重排序的另一个或更多个运动候选之后。更具体地,如果运动候选的列表中的至少一个第一运动候选不被重排序并且运动候选的列表中的至少一个第二运动候选要被重排序,则在运动候选的目标列表中,至少一个第一运动候选可以被排列在要被重排序的至少一个第二运动候选之后。
在一些实施例中,如果重排序方案指示运动候选的列表要被部分重排序,则不被重排序的一个或多个运动候选可以被置于要被重排序一个或更多个运动候选之前。更具体地,如果运动候选的列表中的至少一个第一运动候选不被重排序并且运动候选的列表中将至少一个第二运动候选要被重排序,则在运动候选的目标列表内,至少一个第一运动候选可以被排列在要被重排序的至少一个第二运动候选之前。
在一些实施例中,当生成运动候选的目标列表时,可以基于候选重排序来生成一个或多个新的运动候选(例如,合并候选或AMVP候选),以构建运动候选的目标列表的至少一部分。具体地,当生成运动候选的目标列表时,如果重排序方案指示运动候选的列表中的至少一个运动候选要被重排序,则运动候选的列表中的至少一个运动候选被排序以获得(部分或完全)重排序的运动候选的列表。然后,可以基于重排序的运动候选的列表来生成至少一个另外的运动候选。运动候选的目标列表可以至少部分地基于至少一个另外的运动候选来构建。在一些示例中,一个或多个新的运动候选可以用作运动候选的目标列表中的填充运动候选(例如,在运动候选的目标列表被指定为具有预定数目的运动候选的情况下),而不是使用零填充运动候选。在一些示例中,可以使用一个或多个新的运动候选来构建新模式下的运动候选的列表,以导出运动候选的最终目标列表。
在一些实施例中,运动候选的列表可以包括从针对目标块的第一参考图片列表获得的第一组运动候选和从针对目标块的第二参考图片列表获得的第二组运动候选。例如,运动候选的列表可以包括来自参考图片列表0(L0)的参考图片的一个或多个运动候选,并且这样的(多个)运动候选可以被称为L0运动候选。运动候选的列表可以包括来自参考图片列表1(L1)的参考图片的一个或多个运动候选,并且这样的(多个)运动候选可以被称为L1运动候选。
在一些示例中,可以基于重排序方案来分别自适应地重排序第一参考集和第二参考集,以分别生成运动候选的第一目标集和运动候选的第二目标集。运动候选的第一目标集和第二目标集可以用于构建运动候选的目标列表。例如,L0运动候选和L1运动候选可以被单独地重排序,并且重排序的运动候选可以用于构建运动候选的最终目标列表。
在一些实施例中,当构建运动候选的目标列表时,可以根据在重排序之后获得的运动候选的第一目标集和第二目标集来构建一个或多个新的双向预测运动候选。每个双向预测运动候选可以通过组合来自运动候选的第一目标集中的一个运动候选和来自运动候选的第二目标集中的另一运动候选来构建。例如,一个或多个新的双向预测运动候选可以通过组合来自重排序的L0运动候选中的一个运动候选和来自重排序L1运动候选的另一个运动候选来构建。
在一些实施例中,当构建运动候选的目标列表时,可以根据在重排序之后获得的运动候选的第一目标集和第二目标集中的至少一个目标集来构建一个或多个新的单向预测运动候选。例如,可以选择一个或多个重排序的运动候选以形成新的单向预测运动候选。在一个示例中,可以从经重排序的L0或L1运动候选生成一个或多个新的单向预测运动候选。
返回参考图39,在框3908,从运动候选的目标列表导出目标块的运动信息。
在一些实施例中,根据一些特定准则从运动候选的目标列表中选择运动信息。例如,在视频编码器侧,视频编码器可以考虑索引的编码成本和用于确定运动信息的模板匹配成本之间的平衡。应当理解,视频编码器可以利用任何适当的方法来确定一个或多个最佳候选,并且本公开的目的不在此方面进行限制。在一些实施例中,视频编码器可以将运动信息的至少一个索引编码到码流中。至少一个索引可以基于所选择的运动信息在候选的目标列表中的至少一个位置来确定。
在一些实施例中,视频解码器可以从视频的码流中解码针对目标块的运动信息的至少一个索引。在确定了运动候选的目标列表的情况下,视频解码器可以取得由至少一个索引所索引的至少一个运动候选,并且基于至少一个运动候选导出要用于目标块的最终动作信息。
在一些实施例中,在视频解码器侧,可以首先自适应地对运动候选的列表中的运动候选进行重排序,以构建运动候选的完全重排序列表或运动候选的部分重排序列表,从而获得运动候选的目标列表。备选地,在一些情况下,取决于重排序方案,运动候选的列表可以不被重排序。视频解码器可以从视频的码流导出目标块的运动信息的至少一个索引。在确定了运动候选的目标列表的情况下,视频解码器可以从运动候选的目标列表中取得由该至少一个索引所索引的至少一个运动候选,并且基于该至少一个运动候选来导出要被用于目标块的最终运动信息。
在一些情况下,细化可以应用于一个或多个运动候选。细化操作例如可以取决于编解码模式。在一些示例中,细化可以包括对TM编解码块使用TM、对MMVD编码块添加MVD等等。应当理解,具体的细化操作在本公开中不受限制。
在一些实施例中,提出了在细化之前执行自适应运动候选重排序(如上所述)。具体地,如果重排序方案指示一个或多个运动候选或整个运动候选的列表要被重排序,则对这些运动候选或运动候选的列表重排序以获得运动候选的目标列表。如果重排序方案指示运动候选的列表不被重排序,则可以不执行重排序。然后,可以从运动候选的目标列表中取得至少一个运动候选的至少一个索引。可以对由取得的至少一个索引所索引的至少一个运动候选应用细化,以获得至少一个细化的运动候选。可以基于至少一个细化的运动候选来导出运动信息。在这种情况下,由于对取得的至少一个运动候选而不是对运动候选的整个列表执行细化,这可以提高编解码效率。
在一些实施例中,日出了在前文讨论的自适应运动候选重排序之前执行细化。具体地,可以对运动候选的列表应用细化以获得运动候选的细化列表。一个或多个运动候选可以在运动候选的细化列表中被细化。如果重排序方案指示一个或多个运动候选或整个运动候选的列表要被重排序,则对运动候选的细化列表中对应的细化的运动候选进行重排序以获得运动候选的目标列表。如果重排序方案指示运动候选的列表不被重排序,则可以将运动候选的细化列表确定为运动候选的目标列表。在这种情况下,对运动候选的列表执行细化,以提高编解码性能。在导出运动信息时,可以从运动候选的目标列表中取得至少一个运动候选的至少一个索引,并且基于由至少一个索引所索引的至少一个细化的运动候选来取得运动信息。
在一些实施例中,上文所讨论的自适应运动候选重排序是否被应用可以在码流中被指示。在一些实施例中,码流可以包括指示在运动候选的列表上应用的重排序方案的信令。在一些实施例中,信令可以包括在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、序列报头、图片报头、条带报头或CTU/CU/TU/PU中用信号发送的消息。在一些实施例中,信号发送可以按区域被包括在码流中;也就是说,可以是基于区域的信号发送。例如,可以将图片被均匀地或不均匀地划分为CTU或CU的多个组,并且可以对每个组编码一个标志,以指示是否应用上文所讨论的自适应运动候选重排序。
尽管上面的描述可以集中在HEVC和/或VVC标准上,但是应当理解,这里描述的概念可以应用于其他编码标准或视频编解码器。
可以根据以下条款来描述本公开的实施方式,这些条款的特征可以以任何合理的方式进行组合。
条款1.一种用于视频处理的方法,包括:在视频的目标块与视频的码流之间的转换期间,构建针对所述目标块的运动信息的运动候选的列表;至少部分地基于编解码信息来确定重排序方案,所述重排序方案指示所述运动候选的列表中的至少一个运动候选是否要被重排序和/或如何被重排序;根据所述重排序方案,从所述运动候选的列表生成运动候选的目标列表;以及从所述运动候选的目标列表导出目标块的所述运动信息。
条款2.根据条款1所述的方法,其中所述编解码信息包括以下至少一项:针对所述视频的编解码模式,或所述运动候选的列表中的至少一个运动候选的类别。
条款3.根据条款2所述的方法,其中确定重排序方案包括:如果确定所述编解码模式是以下模式之一,确定重排序方案以指示所述运动候选的列表要被重排序:常规高级运动矢量预测(AMVP)模式,常规合并模式,仿射合并模式,基于子块的合并模式,几何划分模式(GPM),三角划分模式(TPM),模板匹配(TM)合并模式,具有运动矢量差的合并模式(MMVD),或解码器侧运动矢量细化(DMVR)。
条款4.根据条款2所述的方法,其中确定重排序方案包括:如果确定所述至少一个运动候选属于以下类别中的至少一个类别,确定重排序方案以指示所述运动候选的列表或所述运动候选的列表中的至少一个运动候选要被重排序:相邻空间运动候选的类别,时域运动候选的类别,空间-时域运动矢量预测(STMVP)运动候选的类别,非相邻空间运动候选的类别,基于历史的运动矢量预测(HMVP)运动候选的类别,或者成对平均运动候选的类别。
条款5.根据条款2所述的方法,其中确定重排序方案包括:如果确定所述至少一个运动候选属于以下类别中的至少一个类别,确定重排序方案以指示所述运动候选的列表中的至少一个运动候选不被重排序:基于单向预测子块的运动候选的类别,基于子块的时域运动矢量预测(SbTMVP)运动候选的类别,继承的仿射运动候选的类别,构建的仿射运动候选的类别,或者零填充仿射运动候选的类别。
条款6.根据条款1-5中任一项所述的方法,其中在所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序的情况下,所述重新排列方案还指示以下中的至少一项:用于选择要对所述运动候选的列表执行细化的模板的方案,用于计算要应用于所述运动候选的列表的细化的模板匹配成本的方案,在所述运动候选的列表中要被重排序的运动候选的数目,或者在运动候选的列表中要被重排序的运动候选的子组的数目。
条款7.根据条款1-6中任一项所述的方法,其中生成所述运动候选的目标列表包括:如果确定所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序,对所述运动候选的列表中的所述至少一个运动候选进行重排序,以获得所述运动候选的目标列表,如果确定所述重排序方案指示所述运动候选的列表不被重排序,将所述运动候选的列表确定为所述运动候选的目标列表。
条款8.根据条款7所述的方法,其中导出所述运动信息包括:从所述运动候选的目标列表中取得至少一个运动候选的至少一个索引;对由取得所述至少一个索引所索引的至少一个运动候选应用细化,以获得至少一个细化的运动候选;以及基于所述至少一个细化的运动候选来导出所述运动信息。
条款9.根据条款7所述的方法,其中导出所述运动信息包括:从所述码流导出至少一个索引;从所述运动候选的目标列表中取得由所述至少一个索引所索引的至少一个运动候选;以及基于所述至少一个运动候选来导出所述运动信息。
条款10.根据条款1-6中任一项所述的方法,其中生成所述运动候选的目标列表包括:对所述运动候选的列表应用细化,以获得运动候选的细化列表;如果确定所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序,对所述运动候选的细化列表中的至少一个细化的运动候选进行重排序,以获得所述运动候选的目标列表,所述至少一个细化的运动候选对应于所述至少一个运动候选;以及如果确定所述重排序方案指示运动候选的列表不被重排序,将所述运动候选的细化列表确定为所述运动候选的目标列表。
条款11.根据条款10所述的方法,其中导出所述运动信息包括:从所述运动候选的目标列表取得至少一个运动候选的至少一个索引;以及基于由所述至少一个索引所索引的所述至少一个细化的运动候选来导出所述运动信息。
条款12.根据条款1-11中任一项所述的方法,其中生成所述运动候选的目标列表包括:如果确定所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序,对所述运动候选的列表中的所述至少一个运动候选进行重排序,以获得运动候选的重排序列表;基于所述运动候选的重排序列表生成至少一个另外的运动候选;以及至少部分地基于所述至少一个另外的运动候选来构建所述运动候选的目标列表。
条款13.根据条款12所述的方法,其中所述运动候选的列表包括从所述目标块的第一参考图片列表获得的第一运动候选集和从所述目标块的第二参考图片列表获取的第二运动候选集,并且其中生成所述运动候选的目标列表包括:基于所述重排序方案,从所述第一运动候选集生成运动候选的第一目标集;基于所述重排序方案,从所述第二运动候选集生成运动候选的第二目标集;以及基于所述运动候选的第一目标集和所述运动候选的第二集来构建所述运动候选的目标列表。
条款14.根据条款13所述的方法,其中基于所述运动候选的第一目标集和所述运动候选的第二集来构建所述运动候选的目标列表包括:为所述运动候选的目标列表构建至少一个双向预测运动候选,所述至少一个双向预测运动候选中的每一个是通过组合来自所述运动候选的第一目标集的一个运动候选和来自所述运动候选的第二目标集的另一运动候选来构建的。
条款15.根据条款13或14所述的方法,其中基于所述运动候选的第一目标集和所述运动候选的第二集来构建所述运动候选的目标列表包括:从所述运动候选的第一目标集和所述运动候选的第二集中的至少一个集,为所述运动候选的目标列表构建至少一个单向预测运动候选。
条款16.根据条款1-13中任一项所述的方法,其中确定重排序方案包括:确定所述重排序方案以指示从所述运动候选的列表的开头开始的一定数目的运动候选要被重排序。
条款17.根据条款1所述的方法,其中所述运动候选的列表被划分为运动候选的至少一个子组,并且其中确定重排序方案包括:基于运动候选的所述至少一个子组来确定所述重排序方案。
条款18.根据条款17所述的方法,其中所述重排序方案指示以下中的至少一个:仅运动候选的第一个子组要被重排序,运动候选的最后一个子组不被重排序,如果所述最后一个子组也是第一个组,则要对运动候选的所述最后一个子组进行重排序,不同的子组要被单独地重排序,不同子组中的两个运动候选不在一起被重排序,或如果第一子组在第二子组之前,则在重排序之后所述第一子组中的第一运动候选将被置于所述第二子组中的第二运动候选之前。
条款19.根据条款1-18中任一项所述的方法,其中生成所述运动候选的目标列表包括:如果确定所述重排序方案指示所述运动候选的列表中的至少一个第一运动候选不被重排序,根据所述至少一个第一运动候选在所述运动候选的列表内的原始顺序,确定所述至少一个第一运动候选在所述运动候选的目标列表内的顺序。
条款20.根据条款1-19中任一项所述的方法,其中生成所述运动候选的目标列表包括:如果确定所述重排序方案指示所述运动候选的列表中的至少一个第一运动候选不被重排序并且所述运动候选的列表中的至少一个第二运动候选要被重排序,在所述运动候选的目标列表内,将所述至少一个第一运动候选排列在要被重排序的所述至少一个第二运动候选之前,或者在所述运动候选的目标列表内,将所述至少一个第一运动候选排列在要被重排序的至少一个第二运动候选之后。
条款21.根据条款1-20中任一项所述的方法,其中所述码流包括指示应用于所述运动候选的列表的所述重排序方案的信令。
条款22.一种电子设备,包括:处理单元;以及存储器,耦合到所述处理单元并且具有存储在其上的指令,所述指令在由所述处理单位执行时使所述电子设备执行根据条款1-21中任一项所述的方法。
条款23.一种非暂态计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令使处理器执行根据条款1-21中任一项所述的方法。
条款24.一种非暂态计算机可读记录介质,存储由根据条款1-21中任一项所述的方法生成的视频的码流,其中所述方法由视频处理装置执行。
条款25.一种用于存储视频的码流的方法,包括:在视频的目标块与视频的码流之间的转换期间,构建针对所述目标块的运动信息的运动候选的列表;至少部分地基于编解码信息来确定重排序方案,所述重排序方案指示所述运动候选的列表中的至少一个运动候选是否要被重排序和/或如何被重排序;根据所述重排序方案,从所述运动候选的列表生成运动候选的目标列表;从所述运动候选的目标列表导出针对所述目标块的运动信息;基于所述运动信息生成所述码流;以及将所述码流存储在非暂态计算机可读记录介质中。
示例设备
图40示出了可以在其中实现本公开的各种实施例的计算设备4000的框图。计算设备4000可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。
应当理解的是,图40中示出的计算设备4000仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。
如图40所示,计算设备4000包括通用计算设备4000。计算设备4000可以至少包括一个或多个处理器或处理单元4010、存储器4020、存储单元4030、一个或多个通信单元4040、一个或多个输入设备4050以及一个或多个输出设备4060。
在一些实施例中,计算设备4000可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备4000可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。
处理单元4010可以是物理处理器或虚拟处理器,并且可以基于存储在存储器4020中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备4000的并行处理能力。处理单元4010也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备4000通常包括各种计算机存储介质。这样的介质可以是由计算设备4000可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器4020可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元4030可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备4000中被访问的介质。
计算设备4000还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图40中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元4040经由通信介质与另一计算设备通信。另外,计算设备4000中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备4000可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备4050可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备4060可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元4040,计算设备4000还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备4000还可以与一个或多个使用户能够与计算设备4000交互的设备通信,或任何使计算设备4000能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备4000的一些或所有组件也可以被排列在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
在本公开的实施例中,计算设备4000可以被用于实现视频编码/解码。存储器4020可以包括具有一个或多个程序指令的一个或多个视频编解码模块4025。这些模块能够由处理单元4010访问和执行,以执行本文描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备4050可以接收视频数据作为待编码的输入4070。视频数据可以由例如视频编解码模块4025处理,以生成经编码的码流。经编码的码流可以经由输出设备4060作为输出4080被提供。
在执行视频解码的示例实施例中,输入设备4050可以接收经编码的码流作为输入4070。经编码的码流可以由例如视频编解码模块4025处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备4060作为输出4080被提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。
Claims (25)
1.一种用于视频处理的方法,包括:
在视频的目标块与视频的码流之间的转换期间,构建针对所述目标块的运动信息的运动候选的列表;
至少部分地基于编解码信息来确定重排序方案,所述重排序方案指示所述运动候选的列表中的至少一个运动候选是否要被重排序和/或如何被重排序;
根据所述重排序方案,从所述运动候选的列表生成运动候选的目标列表;以及
从所述运动候选的目标列表导出目标块的所述运动信息。
2.根据权利要求1所述的方法,其中所述编解码信息包括以下至少一项:
针对所述视频的编解码模式,或
所述运动候选的列表中的至少一个运动候选的类别。
3.根据权利要求2所述的方法,其中确定重排序方案包括:
如果确定所述编解码模式是以下模式之一,确定重排序方案以指示所述运动候选的列表要被重排序:
常规高级运动矢量预测(AMVP)模式,
常规合并模式,
仿射合并模式,
基于子块的合并模式,
几何划分模式(GPM),
三角划分模式(TPM),
模板匹配(TM)合并模式,
具有运动矢量差的合并模式(MMVD),或
解码器侧运动矢量细化(DMVR)。
4.根据权利要求2所述的方法,其中确定重排序方案包括:
如果确定所述至少一个运动候选属于以下类别中的至少一个类别,确定重排序方案以指示所述运动候选的列表或所述运动候选的列表中的至少一个运动候选要被重排序:
相邻空间运动候选的类别,
时域运动候选的类别,
空间-时域运动矢量预测(STMVP)运动候选的类别,
非相邻空间运动候选的类别,
基于历史的运动矢量预测(HMVP)运动候选的类别,或者
成对平均运动候选的类别。
5.根据权利要求2所述的方法,其中确定重排序方案包括:
如果确定所述至少一个运动候选属于以下类别中的至少一个类别,确定重排序方案以指示所述运动候选的列表中的至少一个运动候选不被重排序:
基于单向预测子块的运动候选的类别,
基于子块的时域运动矢量预测(SbTMVP)运动候选的类别,
继承的仿射运动候选的类别,
构建的仿射运动候选的类别,或者
零填充仿射运动候选的类别。
6.根据权利要求1-5中任一项所述的方法,其中在所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序的情况下,所述重新排列方案还指示以下中的至少一项:
用于选择要对所述运动候选的列表执行细化的模板的方案,
用于计算要应用于所述运动候选的列表的细化的模板匹配成本的方案,
在所述运动候选的列表中要被重排序的运动候选的数目,或者
在运动候选的列表中要被重排序的运动候选的子组的数目。
7.根据权利要求1-6中任一项所述的方法,其中生成所述运动候选的目标列表包括:
如果确定所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序,
对所述运动候选的列表中的所述至少一个运动候选进行重排序,以获得所述运动候选的目标列表,
如果确定所述重排序方案指示所述运动候选的列表不被重排序,
将所述运动候选的列表确定为所述运动候选的目标列表。
8.根据权利要求7所述的方法,其中导出所述运动信息包括:
从所述运动候选的目标列表中取得至少一个运动候选的至少一个索引;
对由取得所述至少一个索引所索引的至少一个运动候选应用细化,以获得至少一个细化的运动候选;以及
基于所述至少一个细化的运动候选来导出所述运动信息。
9.根据权利要求7所述的方法,其中导出所述运动信息包括:
从所述码流导出至少一个索引;
从所述运动候选的目标列表中取得由所述至少一个索引所索引的至少一个运动候选;以及
基于所述至少一个运动候选来导出所述运动信息。
10.根据权利要求1-6中任一项所述的方法,其中生成所述运动候选的目标列表包括:
对所述运动候选的列表应用细化,以获得运动候选的细化列表;
如果确定所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序,
对所述运动候选的细化列表中的至少一个细化的运动候选进行重排序,以获得所述运动候选的目标列表,所述至少一个细化的运动候选对应于所述至少一个运动候选;以及
如果确定所述重排序方案指示运动候选的列表不被重排序,
将所述运动候选的细化列表确定为所述运动候选的目标列表。
11.根据权利要求10所述的方法,其中导出所述运动信息包括:
从所述运动候选的目标列表取得至少一个运动候选的至少一个索引;以及
基于由所述至少一个索引所索引的所述至少一个细化的运动候选来导出所述运动信息。
12.根据权利要求1-11中任一项所述的方法,其中生成所述运动候选的目标列表包括:
如果确定所述重排序方案指示所述运动候选的列表中的至少一个运动候选要被重排序,
对所述运动候选的列表中的所述至少一个运动候选进行重排序,以获得运动候选的重排序列表;
基于所述运动候选的重排序列表生成至少一个另外的运动候选;以及
至少部分地基于所述至少一个另外的运动候选来构建所述运动候选的目标列表。
13.根据权利要求12所述的方法,其中所述运动候选的列表包括从所述目标块的第一参考图片列表获得的第一运动候选集和从所述目标块的第二参考图片列表获取的第二运动候选集,并且
其中生成所述运动候选的目标列表包括:
基于所述重排序方案,从所述第一运动候选集生成运动候选的第一目标集;
基于所述重排序方案,从所述第二运动候选集生成运动候选的第二目标集;以及
基于所述运动候选的第一目标集和所述运动候选的第二集来构建所述运动候选的目标列表。
14.根据权利要求13所述的方法,其中基于所述运动候选的第一目标集和所述运动候选的第二集来构建所述运动候选的目标列表包括:
为所述运动候选的目标列表构建至少一个双向预测运动候选,所述至少一个双向预测运动候选中的每一个是通过组合来自所述运动候选的第一目标集的一个运动候选和来自所述运动候选的第二目标集的另一运动候选来构建的。
15.根据权利要求13或14所述的方法,其中基于所述运动候选的第一目标集和所述运动候选的第二集来构建所述运动候选的目标列表包括:
从所述运动候选的第一目标集和所述运动候选的第二集中的至少一个集,为所述运动候选的目标列表构建至少一个单向预测运动候选。
16.根据权利要求1-13中任一项所述的方法,其中确定重排序方案包括:
确定所述重排序方案以指示从所述运动候选的列表的开头开始的一定数目的运动候选要被重排序。
17.根据权利要求1所述的方法,其中所述运动候选的列表被划分为运动候选的至少一个子组,并且其中确定重排序方案包括:
基于运动候选的所述至少一个子组来确定所述重排序方案。
18.根据权利要求17所述的方法,其中所述重排序方案指示以下中的至少一个:
仅运动候选的第一个子组要被重排序,
运动候选的最后一个子组不被重排序,
如果所述最后一个子组也是第一个组,则要对运动候选的所述最后一个子组进行重排序,
不同的子组要被单独地重排序,
不同子组中的两个运动候选不在一起被重排序,或
如果第一子组在第二子组之前,则在重排序之后所述第一子组中的第一运动候选将被置于所述第二子组中的第二运动候选之前。
19.根据权利要求1-18中任一项所述的方法,其中生成所述运动候选的目标列表包括:
如果确定所述重排序方案指示所述运动候选的列表中的至少一个第一运动候选不被重排序,
根据所述至少一个第一运动候选在所述运动候选的列表内的原始顺序,确定所述至少一个第一运动候选在所述运动候选的目标列表内的顺序。
20.根据权利要求1-19中任一项所述的方法,其中生成所述运动候选的目标列表包括:
如果确定所述重排序方案指示所述运动候选的列表中的至少一个第一运动候选不被重排序并且所述运动候选的列表中的至少一个第二运动候选要被重排序,
在所述运动候选的目标列表内,将所述至少一个第一运动候选排列在要被重排序的所述至少一个第二运动候选之前,或者
在所述运动候选的目标列表内,将所述至少一个第一运动候选排列在要被重排序的至少一个第二运动候选之后。
21.根据权利要求1-20中任一项所述的方法,其中所述码流包括指示应用于所述运动候选的列表的所述重排序方案的信令。
22.一种电子设备,包括:
处理单元;以及
存储器,耦合到所述处理单元并且具有存储在其上的指令,所述指令在由所述处理单位执行时使所述电子设备执行根据权利要求1-21中任一项所述的方法。
23.一种非暂态计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令使处理器执行根据权利要求1-21中任一项所述的方法。
24.一种非暂态计算机可读记录介质,存储由根据权利要求1-21中任一项所述的方法生成的视频的码流,其中所述方法由视频处理装置执行。
25.一种用于存储视频的码流的方法,包括:
在视频的目标块与视频的码流之间的转换期间,构建针对所述目标块的运动信息的运动候选的列表;
至少部分地基于编解码信息来确定重排序方案,所述重排序方案指示所述运动候选的列表中的至少一个运动候选是否要被重排序和/或如何被重排序;
根据所述重排序方案,从所述运动候选的列表生成运动候选的目标列表;
从所述运动候选的目标列表导出针对所述目标块的运动信息;基于所述运动信息生成所述码流;以及
将所述码流存储在非暂态计算机可读记录介质中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2021/086213 | 2021-04-09 | ||
CN2021086213 | 2021-04-09 | ||
PCT/CN2022/085917 WO2022214087A1 (en) | 2021-04-09 | 2022-04-08 | Method, device, and medium for video processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117337564A true CN117337564A (zh) | 2024-01-02 |
Family
ID=83545176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280025268.3A Pending CN117337564A (zh) | 2021-04-09 | 2022-04-08 | 用于视频处理的方法、装置和介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117337564A (zh) |
WO (1) | WO2022214087A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024091492A1 (en) * | 2022-10-25 | 2024-05-02 | Iinnopeak Technology, Inc. | Spatial geometric partitioning mode improvement for video coding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130188715A1 (en) * | 2012-01-09 | 2013-07-25 | Qualcomm Incorporated | Device and methods for merge list reordering in video coding |
CN112042196A (zh) * | 2018-04-18 | 2020-12-04 | 联发科技股份有限公司 | 在视频编解码中具有高级控制的候选重组 |
WO2020005002A1 (ko) * | 2018-06-28 | 2020-01-02 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측에 따른 템플릿 영역 도출 방법 및 장치 |
WO2020009427A1 (ko) * | 2018-07-02 | 2020-01-09 | 엘지전자 주식회사 | 영상 코딩 시스템의 인터 예측에서 템플릿 기반의 후보 리스트 재정렬 방법 및 장치 |
-
2022
- 2022-04-08 WO PCT/CN2022/085917 patent/WO2022214087A1/en active Application Filing
- 2022-04-08 CN CN202280025268.3A patent/CN117337564A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022214087A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115086675A (zh) | 运动候选推导 | |
US20240155149A1 (en) | Method, apparatus, and medium for video processing | |
CN117337564A (zh) | 用于视频处理的方法、装置和介质 | |
WO2022253319A1 (en) | Method, device, and medium for video processing | |
WO2022222988A1 (en) | Method, device, and medium for video processing | |
WO2023060912A1 (en) | Method, apparatus, and medium for video processing | |
WO2022214098A1 (en) | Method, device, and medium for video processing | |
WO2022214100A1 (en) | Adaptive motion candidate list | |
WO2022228430A1 (en) | Method, device, and medium for video processing | |
WO2022242645A1 (en) | Method, device, and medium for video processing | |
US20240187636A1 (en) | Method, device, and medium for video processing | |
WO2023116778A1 (en) | Method, apparatus, and medium for video processing | |
WO2023284819A1 (en) | Method, apparatus, and medium for video processing | |
WO2024002185A1 (en) | Method, apparatus, and medium for video processing | |
US20240146908A1 (en) | Method, apparatus, and medium for video processing | |
WO2023185933A1 (en) | Method, apparatus, and medium for video processing | |
CN117616756A (zh) | 用于视频处理的方法、设备和介质 | |
CN117426095A (zh) | 用于视频处理的方法、设备和介质 | |
CN117426096A (zh) | 用于视频处理的方法、设备和介质 | |
CN117678220A (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 |