CN118355659A - 用于视频处理的方法、装置和介质 - Google Patents
用于视频处理的方法、装置和介质 Download PDFInfo
- Publication number
- CN118355659A CN118355659A CN202280064551.7A CN202280064551A CN118355659A CN 118355659 A CN118355659 A CN 118355659A CN 202280064551 A CN202280064551 A CN 202280064551A CN 118355659 A CN118355659 A CN 118355659A
- Authority
- CN
- China
- Prior art keywords
- ibc
- mode
- block
- motion
- merge
- 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 583
- 238000012545 processing Methods 0.000 title claims abstract description 42
- 230000033001 locomotion Effects 0.000 claims abstract description 688
- 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 abstract description 311
- 239000013598 vector Substances 0.000 claims abstract description 225
- 238000005192 partition Methods 0.000 claims abstract description 185
- 230000007704 transition Effects 0.000 claims abstract description 9
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 125
- 238000000638 solvent extraction Methods 0.000 claims description 36
- 230000003287 optical effect Effects 0.000 claims description 18
- 238000005259 measurement Methods 0.000 claims description 17
- 238000013138 pruning Methods 0.000 claims description 17
- 238000013519 translation Methods 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims description 9
- 230000006872 improvement Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 74
- 239000000523 sample Substances 0.000 description 71
- 238000010586 diagram Methods 0.000 description 63
- 230000002146 bilateral effect Effects 0.000 description 60
- 230000002123 temporal effect Effects 0.000 description 48
- 238000009795 derivation Methods 0.000 description 38
- 238000010276 construction Methods 0.000 description 35
- 238000013403 standard screening design Methods 0.000 description 30
- 238000013507 mapping Methods 0.000 description 28
- 241000023320 Luma <angiosperm> Species 0.000 description 27
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 27
- 239000013074 reference sample Substances 0.000 description 25
- 230000003044 adaptive effect Effects 0.000 description 23
- 230000011664 signaling Effects 0.000 description 19
- 241000723655 Cowpea mosaic virus Species 0.000 description 17
- 229910052739 hydrogen Inorganic materials 0.000 description 16
- 239000000872 buffer Substances 0.000 description 15
- 238000012935 Averaging Methods 0.000 description 12
- 238000002156 mixing Methods 0.000 description 12
- 238000013459 approach Methods 0.000 description 10
- 238000001914 filtration Methods 0.000 description 9
- 238000013139 quantization Methods 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000001174 ascending effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 239000012634 fragment Substances 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000008054 signal transmission Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 101001036283 Xenopus laevis DNA-binding protein inhibitor ID-3-A Proteins 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 229910003460 diamond Inorganic materials 0.000 description 5
- 239000010432 diamond Substances 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012886 linear function Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 229910052757 nitrogen Inorganic materials 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007670 refining Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 240000008064 Dendrobium affine Species 0.000 description 1
- 241000342334 Human metapneumovirus Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 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
- 230000009977 dual effect Effects 0.000 description 1
- 238000009713 electroplating Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000012723 sample buffer Substances 0.000 description 1
- 229910052717 sulfur Inorganic materials 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
本公开的实施例提供了一种视频处理的解决方案。提出一种用于视频处理的方法。该方法包括:在视频的目标视频块和视频的比特流之间的转换期间,确定将被应用于目标视频块的基于帧内块复制(IBC)的模式,基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式,仿射IBC利用块向量差异的合并模式(MBVD),针对IBC模式的帧内模板匹配(TM_IBC),其中通过TM_IBC的被导出的块向量(BV)被用作针对MBVD的基本候选,针对IBC模式的帧内模板匹配(TM_IBC),其中通过TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于重叠的块运动补偿(OBMC)的IBC模式,利用MBVD的基于几何分区的IBC模式,或利用模板匹配(TM)基于的几何分区的IBC模式;以及基于该基于IBC的模式来执行转换。根据本公开的第一方面的方法提供了对IBC的改进。可以支持更多基于IBC的模式,以提高基于IBC模式的编解码效率。
Description
技术领域
本公开的实施例总体涉及视频编解码技术,并且更具体地,涉及帧内块复制(IBC)扩展。
背景技术
如今,数字视频能力正被应用于人们生活的各个方面。多种视频压缩技术,如MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4Part 10高级视频编解码(AVC)、ITU-TH.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准已被提出用于视频编码/解码。然而,传统视频编解码技术的编解码效率通常很低,这是不理想的。
发明内容
本公开的实施例提供了一种视频处理的解决方案。
在第一方面,提出了一种用于视频处理的方法。该方法包括:在视频的目标视频块和视频的比特流之间的转换期间,确定将被应用于所标视频块的基于帧内块复制(IBC)的模式,基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式,利用块向量差异的仿射IBC合并模式(MBVD),针对IBC模式的帧内模板匹配(TM_IBC),其中通过TM_IBC的被导出的块向量(BV)被用作针对MBVD的基本候选,针对IBC模式的帧内模板匹配(TM_IBC),其中通过TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于重叠的块运动补偿(OBMC)的IBC模式,利用MBVD的基于几何分区的IBC模式,或利用模板匹配(TM)的基于几何分区的IBC模式;以及基于该基于IBC的模式来执行转换。根据本公开的第一方面的方法提供了对IBC的改进。可以支持更多基于IBC的模式,以提高基于IBC模式的编解码效率。
在第二方面,提出了一种用于处理视频数据的装置。用于处理视频数据的装置包括处理器和其上具有指令的非暂态存储器,其中指令在由处理器执行时使得处理器执行根据第一方面的方法。
在第三方面,提出了一种用于处理视频数据的装置。非暂态计算机可读存储介质存储使处理器执行根据第一方面的方法的指令。
在第四方面,提出了一种非暂态计算机可读记录介质。该非暂态计算机可读记录介质存储由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:在视频的目标视频块和视频的比特流之间的转换期间,确定将被应用于目标视频块的基于IBC的模式,基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式,仿射IBC MBVD,TM_IBC,其中通过TM_IBC的被导出的BV被用作针对MBVD的基本候选,TM_IBC,其中通过TM_IBC的被导出的BV被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于OBMC的IBC模式,利用MBVD的基于几何分区的IBC模式,或利用TM的基于几何分区的IBC模式;以及基于该基于IBC的模式来生成比特流。
在第五方面,提出了另一种用于视频处理的方法。一种用于存储视频的比特流的方法,包括:确定将被应用于目标视频块的基于IBC的模式,基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式,仿射IBC MBVD,TM_IBC,其中通过TM_IBC的被导出的BV被用作针对MBVD的基本候选,TM_IBC,其中通过TM_IBC的被导出的BV被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于OBMC的IBC模式,利用MBVD的基于几何分区的IBC模式,或利用TM的基于几何分区的IBC模式;以及基于该基于IBC的模式来生成比特流;将比特流存储在非暂态计算机可读记录介质中。
提供本发明内容是为了以简化的形式介绍以下在具体实施例中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护主题的范围。
附图说明
通过参考附图的以下详细描述,本公开的示例实施例的上述和其它目标、特征和优点将变得更加清楚,在本公开的示例实施例中,相同的附图标记通常指相同的部件。
图1示出了用于示出根据本公开一些实施例的示例视频编解码系统的框图;
图2示出了用于示出根据本公开一些实施例的第一示例视频编码器的框图;
图3示出了用于示出根据本公开一些实施例的示例视频解码器的框图;
图4示出了用于显示空间合并候选的示例位置的示例图;
图5示出了用于显示被考虑用于空间合并候选的冗余校验的候选对的示例图;
图6示出了用于显示针对时域合并候选的示例运动向量缩放的示例图;
图7示出了用于显示针对时域合并候选C0和C1的候选位置的示例图;
图8示出了用于显示当前块的VVC空间邻近块的示例图;
图9示出了用于显示虚拟块和当前块之间的关系的示例图;
图10示出了显示用于导出空间合并候选的空间邻近块的示例图;
图11A和图11B示出了VVC中的SbTMVP过程;
图12A-12D示出了当前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示出了显示MMVD搜索点的示例图;
图30示出了显示基于三角划分的帧间预测的示例的示例图;
图31示出了针对三角划分模式的单向预测MV选择的示例;
图32示出了混合处理中使用的示例权重;
图33A-33C示出了triangleDir等于0的三个MV存储区域;
图34示出了按相同角度分组的GPM分割的示例;
图35示出了针对几何分区模式的单向预测MV选择的示例;
图36示出了使用几何分区模式示例性生成弯曲权重w_0的示例;
图37示出了在CIIP权重导出中使用的顶部和左侧邻近块的示例;
图38A-38B示出了空间候选和时域候选的候选位置的示例;
图39示出了通过应用来自空间邻居的运动移位从对应的同位子CU导出子CU bv运动场的示例;
图40示出了帧内模板匹配的示例;
图41示出了应用OBMC的子块的示例;
图42A-42B分别示出了用于基于控制点的仿射运动模型的4参数仿射模型和6参数仿射模型;
图43示出了每个子块的仿射MVF的示例;
图44示出了继承仿射运动预测器的位置的示例;
图45示出了控制点运动向量继承的示例;
图46示出了构造仿射合并模式的候选位置的位置的示例;
图47示出了所提出的组合方法的运动向量使用的示例;
图48示出了子块MV VSB和像素Δv(i,j)的示例(用箭头4810);
图49示出了根据本公开的一些实施例中使用的相邻空间邻近块的示例;
图50示出了根据本公开的一些实施例的在CIIP_N1和CIIP_N2权重导出中使用的顶部和左侧邻近块的示例;
图51示出了根据本公开的一些实施例的基于三角划分的IBC预测的示例;
图52A-图52B示出了根据本公开的一些实施例的两个示例搜索模式;
图53示出了根据本公开的一些实施例的用于视频处理的方法的流程图;
图54示出了其中可以实现本公开的各种实施例的计算设备的框图。
贯穿附图,相同或相似的附图标记通常指代相同或相似的元素。
具体实施方式
现在结合一些实施例来描述本公开的原理。应当理解,描述这些实施例只是为了说明的目的,帮助本领域技术人员理解并实施本公开,而不对本公开的范围构成任何限制。这里描述的公开可以以除了下面描述的方式之外的各种方式来实现。
在以下描述和权利要求书中,除非另有定义,本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的相同含义。
本公开中对“一个实施例”、“一个实施例”、“一个示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但这不是必须的每个实施例都包含特定的特征、结构或特性。此外,这些短语不一定指同一个实施例。此外,当结合示例实施例描述特定特征、结构或特性时,认为影响该特征在本领域技术人员的知识范围内,与其他实施例相关的结构或特征,无论是否明确描述。
应当理解,虽然本文中可以使用术语“第一”和“第二”等来描述各种元素,但是这些元素不应受这些术语限制。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文所使用的,术语“和/或”包括一个或多个所列出的术语的任何和所有组合。
本文使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文所用,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文清楚地另有说明。还应当理解,术语“包括”、“包含”、“具有”、“具有”、“包括”和/或“包括”,当在本文中使用时,指定所陈述的特征、元素和/或的存在。组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图1是示出可以利用本公开的技术的示例视频编解码系统100的框图。如所示出的,视频编解码系统100可以包括源设备110和目的设备120。源设备110也可以称为视频编码设备,并且目的设备120也可以称为视频解码设备。在操作中,源设备110可以被配置为生成经编码的视频数据,并且目的设备120可以被配置为对由源设备110生成的经编码的视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备之类的源。视频捕获设备的示例包括但不限于从视频内容提供商接收视频数据的接口、用于生成视频数据的计算机图形系统和/或其组合。
视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的位序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器和/或发送器。经编码的视频数据可以通过网络130A经由I/O接口116直接传输至目的设备120。经编码的视频数据也可以存储在存储介质/服务器130B上,以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130B获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,该目的设备120被配置为与外部显示设备接口连接。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准和其他现有和/或将来的标准。
图2是示出根据本公开的一些实施例的视频编码器200的示例的方框图,视频编码器200可以是图1所示的系统100中的视频编码器114的示例。
视频编码器200可以被配置为实现本公开的任何或所有技术。在图2的示例中,视频编码器200包括多个功能分量。本公开中描述的技术可以在视频编码器200的各个分量之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在一些实施例中,视频编码器200可以包括划分单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211、重建单元212、缓冲213和熵编码单元214,该预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能分量。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式中执行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,尽管一些分量(诸如运动估计单元204和运动补偿单元205)可以被集成,但是为了解释的目的,这些分量在图2的示例中被分离地示出。
划分单元201可以将图片划分成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
模式选择单元203可以例如基于误差结果来选择多种编解码模式(帧内(INTRA)编解码或帧间(INTER)编解码)中的一种编解码模式,并且将所产生的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,并且提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择针对运动向量的分辨率(例如,亚像素精度或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲213的一个或多个参考帧与当前视频块进行比较来生成针对当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲213的除了与当前视频块相关联的图片之外的图片的经解码样本,来确定针对当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。如本文中使用的,“I条带”可以是指由宏块构成的图片的一部分,所有宏块均基于相同图片内的宏块。此外,如本文中使用的,在一些方面中,“P条带”和“B条带”可以是指由独立于相同图片中的宏块的宏块构成的图片的部分。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索列表0或列表1的参考图片,以寻找针对当前视频块的参考视频块。运动估计单元204然后可以生成参考索引和运动向量,该参考索引指示列表0或列表1中的包含参考视频块的参考图片,并且该运动向量指示当前视频块与参考视频块之间的空间位移。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
备选地,在其他示例中,运动估计单元204可以对当前视频块执行双向预测。运动估计单元204可以搜索列表0中的参考图片以寻找针对当前视频块的参考视频块,并且还可以搜索列表1中的参考图片以寻找针对当前视频块的另一参考视频块。运动估计单元204然后可以生成多个参考索引和多个运动向量,该多个参考索引指示列表0和列表1中的包含多个参考视频块的多个参考图片,并且该多个运动向量指示在多个参考视频块与当前视频块之间的多个空间位移。运动估计单元204可以输出当前视频块的多个参考索引和多个运动向量以作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的多个参考视频块来生成针对当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。备选地,在一些实施例中,运动估计单元204可以参考另一视频块的运动信息来通过信号传输当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中向视频解码器300指示一值,该值指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动向量差异(MVD)。运动向量差异指示在当前视频块的运动向量与所指示的视频块的运动向量之间的差异。视频解码器300可以使用所指示的视频块的运动向量以及运动向量差异来确定当前视频块的运动向量。
如上所讨论的,视频编码器200可以以预测性的方式通过信号传输运动向量。可以由视频编码器200实现的预测信号传送技术的两个示例包括高级运动向量预测(AMVP)和合并模式信号传送。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的经解码样本来生成针对当前视频块的预测数据。针对当前视频块的预测数据可以包括预测视频块和各个语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成针对当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样本的不同样本部分的残差视频块。
在其他示例中,例如在跳过模式中,针对当前视频块可以不存在针对当前视频块的残差数据,并且残差生成单元207可以不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来生成针对当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以从变换系数视频块重建残差视频块。重建单元212可以将经重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样本,以产生与当前视频块相关联的重建视频块,以供存储在缓冲213中。
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪像。
熵编码单元214可以从视频编码器200的其他功能分量接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据并且输出包括该熵编码数据的比特流。
图3是示出根据本公开的一些实施例的视频解码器300的示例的方框图,视频解码器300可以是图1所示的系统100中的视频解码器124的示例。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图3的示例中,视频解码器300包括多个功能分量。本公开中描述的技术可以在视频解码器300的各个分量之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图3的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、以及重建单元306和缓冲307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200所描述的编码过程相对的解码过程。
熵解码单元301可以取回经编码的比特流。经编码的比特流可以包括经熵编解码的视频数据(例如,经编码的视频数据块)。熵解码单元301可以对经熵编解码的视频数据进行解码,并且运动补偿单元302可以从经熵解码的视频数据中确定运动信息,该运动信息包括运动向量、运动向量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和合并模式来确定该信息。AMVP被使用,包括基于相邻PB的数据和参考图片得出数个最可以的候选项。运动信息通常包括水平和竖直运动向量位移值、一个或两个参考图片索引,并且在B条带中的预测区域的情况下,还包括哪个参考图片列表与每个索引相关联的标识。如本文所使用的,在一些方面中,“合并模式”可以是指从空间或时域上相邻的块中导出运动信息。
运动补偿单元302可以产生运动补偿块,可以地基于插值滤波来执行内插。针对以亚像素精度被使用的插值滤波的标识符可以被包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在视频块的编码期间使用的插值滤波来计算用于参考块的亚整数像素的内插值。运动补偿单元302可以根据接收到的语法信息来确定由视频编码器200使用的插值滤波,并且运动补偿单元302可以使用插值滤波来产生预测块。
运动补偿单元302可以使用至少部分语法信息来确定用于编码经编码视频序列的(多个)帧和/或(多个)条带的块的大小、描述经编码视频序列的图片的每个宏块如何被划分的划分信息、指示每个划分如何被编码的模式、针对每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及对经编码视频序列进行解码的其他信息。如本文中所使用的,在一些方面,“条带”可以是指在熵编解码、信号预测和残差信号重建方面可以独立于相同图片的其他条带而被解码的数据结构。条带可以是全部图片,或者也可以是图片的区域。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式,以从空间相邻块形成预测块。反量化单元303反量化(即,去量化)在比特流中提供的、并且由熵解码单元301解码的量化视频块系数。反变换单元303应用反变换。
重建单元306可以例如通过将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加来获得经解码的块。如果需要的话,还可以应用去块效应滤波以对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块随后被存储在缓冲307中,缓冲307为后续运动补偿/帧内预测提供参考块,并且缓冲307还产生经解码的视频以供在显示设备上呈现。
下文将详细描述本公开的一些示例性实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考通用视频编解码或其他特定视频编解码器描述了一些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,尽管一些实施例详细描述了视频编解码步骤,但是应当理解的是取消编解码的相应解码步骤将由解码器实现。此外,术语视频处理包括视频编解码或压缩、视频解码或解压缩以及视频转码,在该视频转码中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩码率表示。
1.概述
本公开涉及视频编解码技术,具体而言,涉及视频编解码中的IBC预测及相关技术,可以被应用于现有的HEVC、VVC等视频编解码标准,也可以被应用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要是通过著名的ITU-T和ISO/IEC标准的发展而演变的。ITU-T生产了H.261和H.263,ISO/IEC生产了MPEG-1和MPEG-4Visual,两个组织联合生产了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为了探索超越HEVC的未来视频编解码技术,联合视频探索团队(JVET)由VCEG和MPEG于2015年联合成立。JJVET会议每季度同时举行一次,新的视频编解码标准正式命名为多功能视频编解码(VVC)。在2018年4月的JVET会议上,VVC测试模型(VTM)的第一个版本(VTM)当时发布。VVC工作草案和测试模型VTM随后在每次会议后更新。VVC项目在2020年7月的会议上实现了技术完成(FDIS)。
2.1扩展合并预测
在VVC中,合并候选名单按顺序包括以下五类候选:
1)来自空间相邻CU的空间MVP
2)来自同位CU的时域MVP
3)FIFO表中基于历史的MVP
4)成对平均MVP
5)零MV。
合并列表的大小在序列参数集头部信号传送,合并列表的最大允许大小为6。对于合并模式下的每个CU代码,使用截断一元二元化(TU)编码最佳合并候选索引。合并索引的第一个仓使用上下文编解码,其他仓使用旁路编解码。
本章节提供了各类合并候选的导出过程。如HEVC所做,VVC还支持并行导出一定大小区域内所有CU的合并候选列表。
2.1.1空间候选导出
图4示出了空间合并候选的示例位置的示例图400。VVC中空间合并候选的导出与HEVC中相同,除了前两个合并候选的位置被交换。在位于图4所示位置的候选中,最多选择四个合并候选。导出的顺序是B1、A1、B0、A0、和B2。位置B2仅在位置B0、A0、B1、A1的一个或多个CU不可用(例如,因为它属于另一切片或图块)或在帧内编解码时才被考虑。添加位置A1的候选后,剩余候选的添加将受到冗余检查,该检查确保具有相同运动信息的候选被排除在列表之外,以便编解码效率提高。为了降低计算复杂性,并非所有可以的候选对都被考虑在所述冗余检查中。图5示出了考虑用于空间合并候选的冗余检查的候选对的示例图500。相反,仅考虑图5中的箭头链接的对,并且仅当用于冗余检查的相应候选不具有相同的运动信息时,才将候选添加到列表中。
2.1.2时域候选导出
在该步骤中,仅将一个候选添加到列表中。特别地,在该时域合并候选的导出中,基于属于同位参考图片的同位CU导出缩放的运动向量。用于导出同位CU的参考图片列表在切片标题中显式地信号传送。图6示出了针对时域合并候选的示例运动向量缩放600。时域合并候选的缩放运动向量如图6中的虚线所示获得,该缩放运动向量使用POC距离tb和td从同位CU的运动向量缩放,其中tb定义为当前图片的参考图片与当前图片之间的POC差,td定义为同位图片的参考图片与同位图片之间的POC差。时域合并候选的参考图片索引被设置为零。
图7示出了时域合并候选C0和C1的候选位置的示例图700。时域候选的位置在候选C0和C1之间选择,如图7所示。如果位置C0的CU不可用,是帧内编解码的,或者在当前CTU行之外,则使用位置C1。否则,在时域合并候选的导出中使用位置C0。
2.1.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),(1,3),(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+currWidth
newHeight=i×2×gridY+currHeight。
其中currWidth和currHeight是当前块的宽度和高度。newWidth和newHeight是新虚拟块的宽度和高度。
gridX和gridY当前分别设置为currWidth和currHeight。
图9示出了用于显示虚拟块与当前块之间的关系示意图900。图9还示出了第i个搜索轮次中的虚拟块。
在生成虚拟块之后,块Ai、Bi、Ci、Di和Ei可以被视为虚拟块的VVC空间邻近块,并且它们的位置是利用VVC中相同的样式获得的。显然,如果搜索轮次i为0,则虚拟块是当前块。在这种情况下,块Ai、Bi、Ci、Di和Ei是在VVC合并模式中使用的空间邻近块。
在构建合并候选列表时,进行修剪以保证合并候选列表中的每个元素是唯一的。最大搜索轮次被设置为1,这意味着使用了五个不相邻的空间邻近块。
非相邻的空间合并候选按的顺序B1->A1->C1->D1->E1插入到时域合并候选之后的合并列表中。
2.2.2非相邻空间候选
图10示出了示例图1000,其示出了用于导出空间合并候选的空间邻近块。非相邻空间合并候选被插入到常规合并候选列表中、在TMVP之后。空间合并候选的模式如图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的空间邻近块之一的运动向量获得的。
图11A和图11B示出了VVC中的SbTMVP过程。图11A示出了用于示出SbTMVP使用的空间邻近块的示例图1110。SbTMVP分两步预测当前CU内的子CU的运动向量。在第一步中,检查图11A中的空间邻居A1。如果A1具有使用同位图片作为其参考图片的运动向量,则该运动向量被选择为要应用的运动偏移。如果没有标标识出这样的运动,则运动移位被设置为(0,0)。
图11B示出了通过应用来自空间邻居的运动移位并缩放来自同位图片1122的对应同位子CU的运动信息来导出当前图片1120的子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)是SCC上HEVC扩展中采用的一种工具。众所周知,它显著提高了屏幕内容材料的编码效率。由于IBC模式被实现为块级编码模式,因此在编码器处执行块匹配(BM),以找到每个CU的最佳块向量(或运动向量)。这里,块向量用于指示从当前块到参考块的位移,该参考块已经在当前图片内重建。IBC编码的CU的亮度块向量具有整数精度。色度块向量也舍入到整数精度。当与AMVR结合使用时,IBC模式可以在1个像素和4个像素运动向量精度之间切换。IBC编码的CU被视为除了帧内或帧间预测模式之外的第三预测模式。IBC模式适用于宽度和高度均小于或等于64个亮度样本的CU。
在编码器侧,对IBC执行基于哈希的运动估计。编码器对宽度或高度不大于16个亮度样本的块执行RD检查。对于非合并模式,首先使用基于哈希的搜索来执行块向量搜索。如果哈希搜索没有返回有效的候选,则将执行基于块匹配的本地搜索。
在基于哈希的搜索中,当前块和参考块之间的哈希键匹配(32位CRC)被扩展到所有允许的块大小。当前图片中每个位置的哈希键计算基于4×4个子块。对于大小较大的当前块,在所有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中的可用样本的示例图。例如,图12A-12D示出了IBC模式的参考区,其中每个块代表64x64亮度样本单元。
根据当前CTU内当前编解码CU位置的位置,以下内容适用:
-如图12A的图1210所示,如果当前块落入当前CTU的左上方的64×64块中,则除了当前CTU中已经重建的样本之外,还可以使用CPR模式、参考左侧CTU的右下方64x64块中的参考样本。当前块还可以使用CPR模式、参考左侧CTU的左下方64×64块中的参考样本和左侧CTU的右上方64×64块中的参考样本。
-如图12B的图1230所示,如果当前块落入当前CTU的右上方的64×64块中,则除了当前CTU中已经重建的样本之外,如果亮度位置(0,64)相对于当前CTU尚未被重建,则当前块还可以使用CPR模式、参考左侧CTU的左下方64×64块和右下方64×64块中的参考样本;否则,当前块还可以参考左侧CTU的右下方64×64块中的参考样本。
-如图12C的图1250所示,如果当前块落入当前CTU的左下方的64×64块中,则除了当前CTU中已经重建的样本之外,如果亮度位置(64,0)相对于当前CTU尚未被重建,则当前块还可以使用CPR模式、参考左侧CTU的右上方64×64块和右下方64×64块中的参考样本。否则,当前块还可以使用CPR模式、参考左侧CTU右下方64×64块中的参考样本。
-如图12D的图1270所示,如果当前块落入当前CTU的右下方的64×64块中,则只能使用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模式无效。
-单独的HMVP缓冲(各5个候选)用于传统MV和IBC。
-块向量约束以比特流一致性约束的形式实现,编码器需要确保比特流中不存在无效向量,并且如果合并候选无效(超出范围或0)则不应使用合并。这种比特流一致性约束用虚拟缓冲来表示,如下所述。
-对于解块,IBC作为帧间模式被处理。
-如果当前块是使用IBC预测模式编解码的,则AMVR不使用四分之一像素;相反,发信号指示AMVR以仅指示MV是帧间像素还是4整数像素。
-IBC合并候选的数目可以在条带头中、以与常规、子块和几何合并候选的数目分开地方式发信号传输。
虚拟缓冲概念用于描述IBC预测模式和有效块向量的可允许参考区域。将CTU大小表示为ctbSize,虚拟缓冲ibcBuf的宽度为wIbcBuf=128x128/ctbSize,高度hIbcBuf=ctbSize。例如,对于128×128的CTU大小,ibcBuf的大小也是128×128;对于大小为64×64的CTU,ibcBuf的大小为256×64;CTU大小为32×32,ibcBuf的大小为512×32。
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。
-在解码后,CU包含相对于图片左上角的(x,y),设置
–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。
-对于x=xCb..xCb+cbWidth-1且y=yCb..yCb+cbHeight-1,为-1,IbcVir-Buf[0][(x+(bvL[0]>>4))&(IbcBufWidthY-1)][(y+(bvL[1]>>4))&(CtbSizeY-1)]不得相等。
否则,bvL被视为无效bv。
样本以CTB为单位进行处理。每个亮度CTB的宽度和高度的数组大小均为CtbSizeY(以样本为单位)。
-(xCb,yCb)是当前亮度编码解码块的左上方样本相对于当前图片的左上亮度样本的亮度位置,
-cbWidth指定亮度样本中当前编解码块的宽度,
-cbHeight指定亮度样本中当前编解码块的高度。
2.5基于模板匹配的自适应合并候选排序
为了提高编解码效率,在构建合并候选列表后,根据模板匹配成本调整每个合并候选的顺序。合并候选根据升序的模板匹配成本排列在列表中。它以子组的形式操作。
图13示出了用于计算SAD的邻近样本的示例图1300。模板匹配成本通过当前图片1810中当前CU的邻近样本与其对应参考样本之间的SAD(绝对差总和)来测量。如果合并候选包括双向预测运动信息,则对应的参考样本是参考列表0 1320中的对应参考样本和参考列表1 1330中的对应参考样本的平均值,如图13所示。图14示出了用于显示计算子CU级运动信息的邻近样本的示例图1400。如果合并候选包含当前图片1410的子CU级运动信息,对应参考样本由参考图片1420中的对应参考子块的邻近样本组成,如图14所示。
图15示出了对原始合并候选列表1510进行排序得到更新后的合并候选列表1520排序过程。该排序过程以子组的形式进行操作,如图15所示。前三个合并候选在一起被排序。后三个合并候选在一起被排序。
模板大小(左侧模板的宽度或上方模板的高度)为1。子组大小为3。
2.6自适应合并候选列表
假设合并候选的数目为8。将前5个合并候选作为第一子组,并将随后的3个合并候选用作第二子组(即最后的子组)。
图16示出了用于示出编码器中的重排序过程的示例图。对于编码器,在框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个像素)来进一步细化,然后根据表1中指定的AMVR模式依次使用半像素和四分之一像素。该搜索过程确保MVP候选在TM过程之后仍然保持如AMVR模式所指示的相同MV精度。
表1.AMVR的搜索模式以及与AMVR的合并模式
在合并模式中,类似的搜索方法被应用于由合并索引指示的合并候选。如表1所示,TM可以一直执行到1/8个像素MVD精度,或者跳过超过半像素MVD精度的精度,这取决于是否根据合并的运动信息使用替代插值滤波器(当AMVR为半像素模式时使用)。此外,当启用TM模式时,模板匹配可以作为基于块和基于子块的双边匹配(BM)方法之间的独立过程或附加的MV细化过程来工作,这取决于BM是否可以根据其启用条件检查来启用。
在编码器端,TM合并模式将对每个合并候选进行MV细化。
2.8针对IBC的帧内模板匹配(TM_IBC)
模板匹配预测(TMP)是一种特殊的帧内预测模式,其从当前帧的重建部分复制最佳预测块,其L形模板与当前模板匹配。图19示出了用于示出模板匹配预测的示例图1900。对于预定义的搜索范围,编码器在当前帧的重建部分中搜索与当前模板最相似的模板,并将相应的块作为预测块。然后编码器发出使用该模式的信号,并在解码器侧进行逆操作。
模板匹配预测是一种编解码工具,主要适用于屏幕内容编解码。通过将当前块的L形因果邻近与预定义搜索区域中的另一块进行匹配,在解码器侧生成预测信号。这在图20中示出。图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进行基于模板的帧内模式推导
使用邻近模板从MPM导出TIMD模式。TIMD模式用作CU的附加帧内预测方法。图21示出了用于显示TIMD中使用的模板及其参考样本的示例图2100。如图21所示,使用针对每个候选模式的模板的参考样本来生成模板的预测样本。成本计算为模板的预测样本和重建样本之间的绝对变换差总和(SATD)。选择成本最小的帧内预测模式作为TIMD模式,并将其用于CU的帧内预测。
2.9.1TIMD模式导出
针对MPM中的每种帧内预测模式,计算模板的预测与重建样本之间的SATD。选择SATD最小的帧内预测模式作为TIMD模式,用于当前CU的帧内预测。TIMD模式的导出中支持位置相关的帧内预测组合(PDPC)以及梯度PDPC。
2.9.2TIMD信令
在序列参数集(SPS)中以信号发出标志以启用/禁用TIMD。当标志为真时,发出CU级别标志以指示是否TIMD是否用于CU。TIMD标志紧跟在MIP标志之后发信号传输。如果TIMD标志等于真,则跳过与亮度帧内预测模式相关的其余语法元素都。
2.9.3与ECM-1.0中新编解码工具的交互
当DIMD标志或MIP标志等于true时,TIMD标志不会用信号发出并设置为等于false。
允许将TIMD与ISP和MRL组合。当TIMD与ISP或MRL组合且TIMD标志等于true时,导出的TIMD模式用作ISP或MRL的帧内预测模式。
当启用辅助MPM时,主MPM和辅助MPM都用于导出TIMD模式。
TIMD模式的导出中不使用6抽头插值滤波器。
2.9.4TIMD模式导出中MPM表构造的修改
MPM列表的构造过程中,当邻近块被互编解码时,其帧内预测模式被导出为平面。为了提高MPM列表的准确性,当邻近块被互编解码时,利用运动向量和参考图片导出传播的帧内预测模式,并用于MPM列表的构造。
2.10自适应合并候选列表
在下文中,模板是与当前块相邻或不相邻的重建样本的集合。根据当前块的相同运动信息导出模板的参考样本。例如,模板的参考样本是取决于运动信息的模板的映射。在这种情况下,模板的参考样本由运动信息的参考索引所指示的参考图片中的运动信息的运动向量来定位。图22示出了用于显示模板和模板的参考样本的示例图2200,其中RT表示当前图片2210中的模板T的参考图片2220中的参考样本。
当合并候选利用双向预测时,合并候选的模板的参考样本由RT表示,并且RT可以根据从参考图片列表0中的参考图片导出的RT0和从参考图片列表1中的参考图片导出的RT1而生成。在一个示例中,RT0包括由参考了参考列表0中的参考图片的合并候选的参考索引所指示的当前块的参考图片上的参考样本集合,其中合并候选的MV参考了参考列表0)。在一个示例中,RT1包括由参考了参考列表1中的参考图片的合并候选的参考索引所指示的当前块的参考图片上的参考样本集合,其中合并候选的MV参考了参考列表1)。图23示出了用于示出当前图片2310中的模板和参考列表0 2320和参考列表1 2330中的模板的参考样本的示意图。
在一个示例中,用于双向预测的模板的参考样本(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和Bound ary_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和图25所示。图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合并候选。
g.在一个例子中,该方案可以应用于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。
注意,所提出的方法可以应用于帧间编解码块(例如,平移运动)、仿射编解码块或TM编解码块的合并候选列表构建过程;或者其他运动候选列表构建过程(例如正常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的块的样本和所述样本的参考样本。
b.在一个示例中,为了导出左侧模板的参考样本,使用当前块第一列中的子块及其左侧相邻的邻近子块的运动信息。并且所有子模板的参考样本构成左测模板的参考样本。一个示例如图26所示。
c.在一个示例中,子块尺寸为4×4。
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合并、TM AMVP、TM GPM、TM CIIP、TM仿射(Affine)、MMVD、GMVD、仿射MMVD、BDOF等被细化。
在本公开中,短语“编解码数据细化”可以表示一种细化过程,其用于导出或细化针对块的通过信号传输的/经解码的/被导出的预测模式、预测方向、或通过信号传输的/经解码的/被导出的运动信息、预测和/或重建样本。在一个示例中,细化过程可以包括运动候选重新排序。
在下面的讨论中,“基于模板编解码的”块可以指代在编解码/解码过程中使用基于模板匹配的方法以导出或细化编解码信息的块,基于模板匹配的方法诸如基于模板匹配的运动导出、基于模板匹配的运动列表重建、LIC、符号预测、(例如,在IBC模式中使用的)基于模板匹配的块向量导出、DIMD、基于模板匹配的非帧间(例如,帧内)预测等。基于模板匹配的方法可以与任何其他编解码工具相结合,诸如MMVD、CIIP、GMP、FRUC、仿射、BDOF、DMVR、OBMC等。在另一示例中,“基于模板编解码的”块也可以指代基于某个规则使用(相邻或非相邻的)邻近重建样本导出或者细化其解码信息的块,诸如2.27中的DIMD方法以及2.29中的TIMD方法。
在下文的讨论中,“基于双边编解码的”块可以指代在编解码/解码过程中使用基于双边匹配的方法导出或者细化编解码信息的块,基于双边匹配的方法诸如基于双边匹配的运动导出、基于双边匹配的运动列表重建等。基于双边编解码的方法可以与任何其他编解码工具相结合,诸如MMVD、CIIP、GPM、FRUC、仿射、DMVR等。
W和H是当前块(例如,亮度块)的宽度和高度。W*H是当前块(例如,亮度块)的大小。
1.成本定义可以依赖于关于在当前块的一个编解码数据细化过程中待评估的两个样本/块的误差/差异的多个误差函数(例如,失真测量方法)的输出。
a)在一个示例中,误差函数可以是:
i.SAD
ii.SATD
iii.MR-SAD
iv.MR-SATD
v.梯度信息
vi.SSE/SSD
vii.MR-SSE/MR-SSD
viii.加权SAD/加权MR-SAD
ix.加权SATD/加权MR-SATD
x.加权SSD/加权MR-SSD
xi.加权SSE/加权MR-SSE
b)在一个示例中,误差函数可以在块级别或子块级别被执行。
i.备选地,此外,对于两个子块,误差函数可以不同。
ii.备选地,此外,块的评估误差的最终输出可以基于子块的输出,例如,应用于每个子块的误差函数的输出之和。
2.当成本定义依赖于多个函数的输出时,以下项可以进一步适用:
a)在一个示例中,成本函数可以依赖于多个误差函数的线性加权和。
b)在一个示例中,成本函数可以依赖于多个误差函数的非线性加权和。
c)在一个示例中,成本函数可以进一步依赖于针对边信息的估计比特。
d)在一个示例中,成本函数可以被定义为:
其中R表示针对边信息的估计比特,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合并、TM AMVP、TM GPM、TM CIIP、TM仿射(Affine)、MMVD、GMVD、仿射MMVD、BDOF等被细化。
在本公开中,短语“编解码数据细化”可以表示一种细化过程,其用于导出或细化针对块的通过信号传输的/经解码的/被导出的预测模式、预测方向、或通过信号传输的/经解码的/被导出的运动信息、预测和/或重建样本。在一个示例中,细化过程可以包括运动候选重新排序。
在下面的讨论中,“基于模板编解码的”块可以指代在编解码/解码过程中使用基于模板匹配的方法以导出或细化编解码信息的块,基于模板匹配的方法诸如基于模板匹配的运动导出、基于模板匹配的运动列表重建、LIC、符号预测、(例如,在IBC模式中使用的)基于模板匹配的块向量导出、DIMD、基于模板匹配的非帧间(例如,帧内)预测等。基于模板匹配的方法可以与任何其他编解码工具相结合,诸如MMVD、CIIP、GMP、FRUC、仿射、BDOF、DMVR、OBMC等。在另一示例中,“基于模板编解码的”块也可以指代基于某个规则使用(相邻或非相邻的)邻近重建样本导出或者细化其解码信息的块,诸如2.27中的DIMD方法以及2.29中的TIMD方法。
在下文的讨论中,“基于双边编解码的”块可以指代在编解码/解码过程中使用基于双边匹配的方法导出或者细化编解码信息的块,基于双边匹配的方法诸如基于双边匹配的运动导出、基于双边匹配的运动列表重建等。基于双边编解码的方法可以与任何其他编解码工具相结合,诸如MMVD、CIIP、GPM、FRUC、仿射、DMVR等。
W和H是当前块(例如,亮度块)的宽度和高度。W*H是当前块(例如,亮度块)的大小。
1.编解码数据细化过程中的错误/成本评估可以取决于与当前块对应的参考样本(例如,双边匹配中使用的参考块)和与当前块的模板对应的参考样本。
a)备选地,其可以既依赖于当前块对应的参考样本,也依赖于当前块的模板中的样本。
b)在一个示例中,模板可以是当前块的邻近样本(相邻或非相邻的)。
2.多个细化过程可以应用于一个块,并且不同的模板被应用于至少两个细化过程。
a)在一个示例中,可以利用第一模板来调用第一细化过程。基于第一细化过程的输出,第二模板被进一步应用于第二细化过程。
b)在一个示例中,与第二模板相比,第一模板可以包含更多样本。
c)在一个示例中,第一和第二模板可以包含至少一个不同的样本。
d)在一个示例中,第一细化过程和第二细化过程可以使用不同的成本/误差函数。
3.是否使用多个细化过程,和/或如何选择一个或多个误差函数和/或如何定义成本函数和/或误差函数中涉及哪些样本可以取决于当前块的编解码信息和/或邻近(相邻或非相邻)块。
a)在一个示例中,如何选择一个或多个误差函数和/或如何定义成本函数可以取决于应用于当前块和/或邻近块的编解码工具。
i.在一个示例中,编解码工具是LIC。
(i)在一个示例中,可以根据当前块的LIC标志选择性地使用SSD和平均移除SSD(MR-SSD)。
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.在一个示例中,可以对参考列表X启用LIC,而对参考列表Y禁用LIC。
a)在一个示例中,当前块的最终预测可以是根据参考列表X的LIC预测和根据参考列表Y的常规预测的加权平均。
5.上述方法可以应用于任何编解码数据细化过程,例如,对于基于模板的编解码块、对于基于双边的编解码块(例如,DMVR在VVC中)。
2.17自适应运动候选列表
需要注意的是,以下提及的术语不限于现有标准中定义的特定术语。编解码工具的任何变化也适用。例如,术语“GPM”用于表示导出两组运动信息并使用导出的信息和划分样式来获得最终预测的任何编解码工具,例如,TPM也被视为GPM。
注意,所提出的方法可以应用于帧间编解码块(例如,平移运动)、仿射编解码块、TM编解码块或IBC编解码块的合并候选列表构建过程;或者其他运动候选列表构建过程(例如正常AMVP列表、仿射AMVP列表和IBC AMVP列表)。
除模板匹配成本之外的成本函数也适用于运动候选重新排序。
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时,SbTMVP合并候选的成本因子可以为8(其中仿射合并候选的成本因子为10)。
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列表)。
除模板匹配成本之外的成本函数也适用于运动候选重新排序。
在下文中,模板是与当前块相邻或非相邻的邻近的一组重建/预测样本。模板的参考样本(即参考模板)是模板根据当前块的运动信息在参考图片中的映射。“模板上方”指示由与当前块及其参考模板相邻或不相邻地邻近的上方的一组重建/预测样本构造的模板。“左侧模板”指示由与当前块及其参考模板相邻或不相邻地邻近的一组重建/预测样本构造的模板。“左上方模板”包括上方模板和左侧模板。
下面,在一个示例中,将其中GPM候选直接从常规合并列表导出(其在基于模板匹配的运动细化之前或没有基于模板匹配的运动细化的情况下)的GPM候选列表称为OGPMList;将其中GPM候选是通过诸如使用上方模板的模板匹配的第一细化方法来细化的GPM候选列表称为AGPMList;将其中GPM候选是通过诸如使用左侧模板的模板匹配的第二细化方法来细化的GPM候选列表称为LGPMList;将其中GPM候选是通过诸如使用左侧和上方模板的模板匹配的第三细化方法来细化的GPM候选列表称为LAGPMList。
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列表)。
除模板匹配成本之外的成本函数也适用于运动候选重新排序。
在下文中,模板是与当前块相邻或非相邻的邻近的一组重建/预测样本。模板的参考样本(即参考模板)是模板根据当前块的运动信息在参考图片中的映射。“模板上方”指示由与当前块及其参考模板相邻或不相邻地邻近的上方的一组重建/预测样本构造的模板。“左侧模板”指示由与当前块及其参考模板相邻或不相邻地邻近的一组重建/预测样本构造的模板。“左上方模板”包括上方模板和左侧模板。
下面,在一个示例中,将其中GPM候选直接从常规合并列表导出(其在基于模板匹配的运动细化之前或没有基于模板匹配的运动细化的情况下)的GPM候选列表称为OGPMList;将其中GPM候选是通过诸如使用上方模板的模板匹配的第一细化方法来细化的GPM候选列表称为AGPMList;将其中GPM候选是通过诸如使用左侧模板的模板匹配的第二细化方法来细化的GPM候选列表称为LGPMList;将其中GPM候选是通过诸如使用左侧和上方模板的模板匹配的第三细化方法来细化的GPM候选列表称为LAGPMList。
关于原始GPM候选列表中的GPM候选类型,在2.29节的GPM候选列表构建过程的第一步中导出的GPM候选被称为基于GPM奇偶校验的候选;在第2.29节的GPM候选列表构建过程的第二步中导出的GPM候选被称为基于GPM反奇偶校验的候选;在第2.29节的GPM候选列表构建过程的第三步中导出的GPM候选被称为GPM填充的候选。
W和H是当前块(例如,亮度块)的宽度和高度。
1.在一个示例中,如果编解码模式是GPM,则合并候选可以被重新排序。
a.在一个示例中,OGPMList中的合并候选可以被重新排序。
i.在一个示例中,OGPMList中的至少两个合并候选可以被重新排序。
ii.在一个示例中,至少一种类型的模板可以用于OGPMList重新排序。
iii.备选地,OGPMList中的合并候选可能不会被重新排序。
iv.在一个示例中,第一类型的模板可以仅包括当前块左侧的邻近样本。
v.在一个示例中,第二类型的模板可以仅包括当前块上方的邻近样本。
vi.在一个示例中,第三类型的模板可以包括当前块左侧和上方的邻近样本。
vii.可以在解析过程之后但在MV重建过程之前调用重新排序过程。
b.在一个示例中,AGPMList中的合并候选可以被重新排序。
i.在一个示例中,AGPMList中的至少两个合并候选可以被重新排序。
ii.在一个示例中,至少一种类型的模板可以用于AGPMList重新排序。
iii.在一个示例中,第一类型的模板可以仅包括当前块上方的邻近样本。
iv.在一个示例中,第二类型的模板可以包括当前块左侧和上方的邻近样本。
c.在一个示例中,LGPMList中的合并候选可以被重新排序。
i.在一个示例中,LGPMList中的至少两个合并候选可以被重新排序。
ii.在一个示例中,至少一种类型的模板可以用于LGPMList重新排序。
iii.在一个示例中,第一类型的模板可以仅包括当前块左侧的邻近样本。
iv.在一个示例中,第二类型的模板可以包括当前块左侧和上方的邻近样本。
d.在一个示例中,LAGPMList中的合并候选可以被重新排序。
i.在一个示例中,LAGPMList中的至少两个合并候选可以被重新排序。
ii.在一个示例中,至少一种类型的模板可以用于LAGPMList重新排序。
iii.在一个示例中,第一类型的模板可以仅包括当前块左侧的邻近样本。
iv.在一个示例中,第二类型的模板可以仅包括当前块上方的邻近样本。
v.在一个示例中,第三类型的模板可以包括当前块左侧和上方的邻近样本。
e.在一个示例中,是否和/或如何对GPM列表中的合并候选进行重新排序可以取决于编解码信息。
i.在一个示例中,是否对GPM列表中的合并候选进行重新排序可以取决于是否将基于模板匹配的运动细化应用于GPM划分或两个GPM划分(即,GPM编解码CU)。
(i)例如,如果一个GPM划分或两个GPM划分(即GPM编解码CU)的运动没有基于模板匹配被细化(例如,模板匹配标志等于false),则相应的GPM列表可能不会被重新排序。
a)例如,如果GPM划分是使用OGPMList中的合并候选编解码的(例如,不应用运动细化),则OGPMList中的合并候选可能不会被重新排序。
(ii)例如,如果一个GPM划分或两个GPM划分(即,GPM编解码CU)的运动是基于模板匹配被细化的(例如,模板匹配标志等于真),则对应的GPM列表可以被重新排序。
a)例如,如果GPM划分是使用AGPMList中的合并候选编解码的(例如,应用了使用上方模板的模板匹配运动细化方法),则AGPMList中的合并候选可以被重新排序。
b)例如,如果GPM划分是使用LGPMList中的合并候选来编解码的(例如,应用了使用左侧模板的模板匹配运动细化方法),则LGPMList中的合并候选可以被重新排序。
c)例如,如果GPM划分是使用LAGPMList中的合并候选来编解码的(例如,应用了使用左侧和上方模板的模板匹配运动细化方法),则LAGPMList中的合并候选可以被重新排序。
ii.在一个示例中,如何对GPM列表中的合并候选重新排序可以取决于GPM划分信息(例如,划分模式、划分角度、划分距离等)。
(i)例如,在当前GPM划分被第一划分角度(或划分模式、或划分距离等)分割的情况下,上方模板可以用于合并候选重新排序。
(ii)例如,在当前GPM划分被第二划分角度(或划分模式、或划分距离等)分割的情况下,左侧模板可以用于合并候选重新排序。
(iii)例如,在当前GPM划分被第三划分角度(或划分模式、或划分距离等)分割的情况下,左侧和上方模板可以用于合并候选重新排序。
(iv)例如,可以对应于第一/第二/第三划分角度(或划分模式、或划分距离等)指定模板的类型。
(v)例如,至少一个查找表(即映射表)用于映射哪个指定的划分角度(或划分方式、或划分距离等)对应于哪个类型的模板(例如上方模板、左侧模板,或左上方模板)。
f.在一个示例中,OGPMList中的合并候选可以不被重新排序,而AGPMList和/或LGPMList和/或LAGPMList中的合并候选可以被重新排序。
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没有被应用于一个划分,则可以根据来自OGPMList/重新排序的OGPMList的发信号传输的合并索引来导出运动。
b.在一个示例中,如果将TM应用于一个划分,则可以根据来自AGPMList/重新排序的AGPMList或者LGPMList/重新排序的LGPMLIst或者LAGPMList/重新排序的LAGPMLIst的发信号传输的合并索引来导出运动,这取决于划分角度和划分索引。
i.在一个示例中,如果划分角度为X(例如,0),则对于第一划分,将使用AGPMList/重新排序的AGPMList;对于第二划分,将使用LAGPMList/重新排序的LAGPMLIst。
c.在一个示例中,如果TM被应用于一个划分,则可以根据来自AGPMList/重新排序的AGPMList的发信号传输的合并索引来导出运动。
d.在一个示例中,如果TM被应用于一个划分,则可以根据来自LGPMList/重新排序的LGPMLIst的发信号传输的合并索引来导出运动。
e.在一个示例中,如果TM应用于一个划分,则可以根据来自LAGPMList/重新排序的LAGPMLIst的发信号传输的合并索引来导出运动。
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参考软件使用基于哈希的运动估计来处理画面内容中有时较大且不规则的运动。对于每个参考图片,使用自下而上的方法生成对应于4×4到64×64块大小的哈希表,如下所示:
-对于每个2×2的块,直接根据原始样本值计算块哈希值(对于4:2:0色度格式使用亮度样本;对于4:4:4色度格式,使用亮度样本值)。循环冗余校验(CRC)值用作哈希值。
-对于4×4、8×8、16×16、32×32和64×64的块,当前块的哈希值是根据其四个子块的CRC值计算出的CRC值。
为了能够有效地搜索匹配的块,使用倒排索引的结构,其中使用哈希值作为表的索引,并且表条目包含与对应的表索引具有相同哈希值的所有块。对应于给定表索引的块被存储为链表。针对每个块计算两个CRC值,一个16位哈希值,另一个24位哈希值。这两个哈希值的计算方式类似,但使用不同的CRC截断多项式。第一个16位CRC值用作倒排索引。第二个24位哈希值与块存储在一起,以解决在找到多个匹配块的情况下的哈希冲突。为了减少哈希表的长度,所有“简单”块(定义为每行或每列中只有一个样本值的块)的哈希值都被排除在哈希表之外。
在运动估计中,如果当前块是正方形块(128×128块除外),则计算其哈希值。然后,编码器查询对应的哈希表。如果找到哈希匹配,则使用所匹配的块作为参考。如果当前块是大小为N×M的矩形块(并且不失一般性地假设M>N),则它将被分成几个大小为N×N的不重叠的正方形子块。图27示出了示例图2700,其示出了针对具有方形子块的哈希值的矩形块的运动估计。编码器将找到第一个非简单方形子块并计算其哈希值。编码器在N×N块大小对应的哈希表上查询这个N×N方形子块的哈希值。一个或多个匹配的参考块被认为是参考块候选。对于每个匹配的参考块候选,编码器将继续检查剩余方形子块(即图27中描绘的第一个非简单方形子块之后的白色区域)的哈哈希值是否等于与该参考块候选相邻的方形子块的哈希值。如果所有方形子块的哈希值都匹配,则参考块候选将被视为有效参考块。
对于帧间编解码,在测试所有编解码模式之前执行基于哈希的运动搜索。此外,编码器将重新使用哈希模式的MV作为正常运动估计过程中的起始点候选。如果基于哈希的运动向量存在,这表明该块最有可能包含画面内容,则跳过分数运动估计。
为了加速编码器,如果满足以下所有条件,则跳过除了ETM_MERGE_SKIP、ETM_AFFINE和ETM_MERGE_GPM模式的跳过和合并部分以及更细粒度的块分割以外的编解码模式:
-当前块大小为64×64、128×64或64×128。
-在参考图片中找到了相同的参考块。
-参考图片的QP不大于当前图片的QP。
2.21带色度缩放的亮度映射(LMCS)
在VVC中,在环路滤波器之前添加了一个称为“2.21带色度缩放的亮度映射(lumamapping with chroma scaling,LMCS)”的编解码工具作为新的处理块。LMCS有两个主要组件:1)基于自适应分段线性模型的亮度分量的环内映射;2)对于色度分量,应用亮度相关的色度残差缩放。图28示出了示例亮度映射与色度缩放架构2800。图28显示了从解码器角度来看的LMCS架构。图28中的浅蓝色阴影块表示在映射域中应用处理的位置;这些包括逆量化、逆变换、亮度帧内预测以及将亮度预测与亮度残差相加。图28中的无阴影块指示在原始(即,未映射)域中应用处理的位置;这些包括环路滤波(例如去块、ALF和SAO)、运动补偿预测、色度帧内预测、将色度预测与色度残差相加、以及将解码图像存储为参考图像。图28中的浅黄色阴影块是新的LMCS功能块,包括亮度信号的正向和反向映射以及依赖于亮度的色度缩放过程。与VVC中的大多数其他工具一样,可以使用SPS标志在序列级别启用/禁用LMCS。
2.21.1利用分段线性模型的亮度映射
亮度组件的环内映射通过在动态范围内重新分配码字来调整输入信号的动态范围,以提高压缩效率。亮度映射使用正向映射函数FwdMap和相应的逆向映射函数InvMap。使用具有16个相等片段的分段线性模型来用信号发出FwdMap函数。不需要用信号发出InvMap函数,而是根据FwdMap函数派生导出InvMap函数。
通过将aps_params_type设置为1(LMCS_APS),亮度映射模型在自适应参数集(APS)语法结构中用信号发出。经编解码的视频序列中最多可以使用4个LMCS APS。一张图片只能使用1个LMCS APS。使用分段线性模型来用信号发出亮度映射模型。分段线性模型将输入信号的动态范围划分为16个相等的片段,对于每个片段,其线性映射参数使用分配给该片段的码字数目来表达。以10位输入为例。默认情况下,这16个片段中的每个片段都会分配有64个码字。发信号传输的码字数目用于计算缩放因子并相应地调整该片段的映射函数。在条带级别,发信号传输LMCS启用标志以指示如图28所示的LMCS过程是否应用于当前条带。如果针对当前条带启用了LMCS,则会在条带头中发出aps_id信号,以识别携带亮度映射参数的APS。
FwdMap分段线性模型的每个第i部分,i=0…15由两个输入枢轴点InputPivot[]和两个输出(映射)枢轴点MappedPivot[]定义。
InputPivot[]和MappedPivot[]被如下计算(假设10位视频):
1)组织CW=64
2)对于i=0:16,InputPivot[i]=i*OrgCW
3)对于i=0:16,MappedPivot[i]计算如下:
MappedPivot[0]=0;
for(i=0;i<16;i++)
MappedPivot[i+1]=MappedPivot[i]+SignalledCW[i]
其中SignalledCW[i]是第i个片段的用信号发出的码字数目。
如图28所示,对于帧间编解码块,在映射域中执行运动补偿预测。换句话说,根据DPB中的参考信号计算出运动补偿预测块Ypred后,应用FwdMap函数将原始域中的亮度预测块映射到映射域Y′pred=FwdMap(Ypred)。对于帧内编解码块,不应用FwdMap函数,因为帧内预测是在映射域中执行的。在计算出重建块Yr后,应用InvMap函数将映射域中的重建亮度值转换回原始域中的重建亮度值 InvMap函数适用于帧内编解码亮度块和帧间编解码亮度块。
亮度映射过程(正向和/或反向映射)可以使用查找表(LUT)或使用即时计算来实现。如果使用LUT,那么可以预先计算并预先存储PwdMapLUT和InvMapLUT以在图块组级别使用,且正向和反向映射可以简单地分别实现为FwdMap(Ypred)=FwdMapLUT[Ypred]和InvMap(Yr)=InvMapLUT[Yr]。备选地,可以使用即时计算。以前向映射函数FwdMap为例。为了找出亮度样本所属的部分,样本值右移6位(相当于16个相等的部分)。然后,检索该部分的线性模型参数并将其即时应用以计算映射的亮度值。设i为部分索引,a1、a2分别为InputPivot[i]和InputPivot[i+1],b1、b2分别为MappedPivot[i]和MappedPivot[i+1]。FwdMap函数被评估如下:
FwdMap(Ypred)=((b2-b1)/(a2-a1))*(Ypred-a1)+b1
InvMap函数可以以类似的方式即时计算。通常,映射域中的片段大小不相等,因此最直接的逆映射过程将需要比较,以便找出当前样本值属于哪个片段。这种比较增加了解码器的复杂性。因此,VVC对输出枢轴点MappedPivot[i]的值施加比特流约束,如下所示。假设映射域的范围(对于10位视频,该范围是[0,1023])被分为32个相等的片段。如果MappedPivot[i]不是32的倍数,则MappedPiv-ot[i+1]和MappedPivot[i]不能属于32个相同大小的片段中的同一片段,即MappedPivot[i+1]>>(BitDepthY-5)不得等于MappedPivot[i]>>(BitDepthY-5)。由于这种比特流约束,InvMap函数还可以使用简单的右移5位(对应32个相同大小的块)来执行,以便找出样本值所属的片段。
2.21.2亮度相关色度残差缩放
色度残差缩放旨在补偿亮度信号与其相应色度信号之间的相互作用。色度残差缩放是否启用也在条带级别上用信号发出。如果启用亮度映射,则会用信号发出附加标志以指示是否启用亮度相关色度残差缩放。当不使用亮度映射时,禁用亮度相关的色度残余差。此外,对于面积小于或等于4的色度块,始终禁用亮度相关的色度残差缩放。
色度残差缩放取决于当前VPDU的顶部和/或左侧重建的邻近亮度样本的平均值。如果当前CU是帧间128×128、帧间128×64和帧间64×128,则针对与第一VPDU相关联的CU导出的色度残余缩放因子被用于该CU中的所有色度变换块。将avgYr表示为重建的邻近亮度样本的平均值(见图28)。CScaleInv的值按以下步骤计算:
1)根据InvMap函数找到avgYr所属分段线性模型的索引YIdx。
2)CScaleInv=cScaleInv[YIdx],其中cScaleInv[]是根据Sig-nalledCW[i]的值和针对色度残差缩放过程在APS中发信号传输的偏移值而预先计算的16片段LUT。
与基于样本执行的亮度映射不同,CScaleInv是整个色度块的恒定值。对于CScaleInv,色度残差缩放按照如下方式应用:
编码器侧:CResScale=CRes*CScale=CRes/CScaleInv
解码器端:CRes=CResScale/CScale=CResScale*CSccaleInv
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具有MVD的合并模式(MMVD)
除了将隐式导出的运动信息直接用于当前CU的预测样本生成的合并模式之外,在VVC中引入了具有运动向量差的合并模式(MMVD)。在发送常规合并标志后立即发信号传输MMVD标志,以指定MMVD模式是否用于CU。
在MMVD中,在选择合并候选后,通过发信号传输的MVD信息对其进行进一步细化。进一步的信息包括合并候选标志、用于指示运动幅度的索引、以及用于指示运动方向的索引。在MMVD模式中,选择合并列表中前两个候选中的一个作为MV基础。MMVD候选标志被发信号传输以指定在第一和第二合并候选之间使用哪一个。
距离索引指定运动幅度信息,并指示距起点的预定义偏移。图29示出了MMVD搜索点的示例的图2900。如图29所示,偏移被添加到起始MV的水平分量或垂直分量。距离索引和预定义偏移的关系如表2所示。
表2.距离索引与预定义偏移量的关系
方向索引表示MVD相对于起点的方向。方向索引可以表示四个方向,如表3所示。注意,MVD符号的含义可以根据起始MV的信息而变化。当起始MV是单向预测MV或双向预测MV时,其中两个列表都指向当前图片的同一侧(即两个参考的POC都大于当前图片的POC或者都小于当前图片的POC),表3中的符号指定了MV偏移加在起始MV上的符号。当起始MV是双向预测MV时,其中两个MV指向当前图片的不同侧(即一个参考的POC大于当前图片的POC,另一个参考的POC小于当前图片的POC),并且列表0中POC的差值大于等于表1中的,表3中的符号指定添加到起始MV的列表0MV分量的MV偏移的符号,并且列表1MV的符号具有相反的值。否则,如果列表1中的POC差值大于列表0中的,则表3中的符号指定添加到起始MV的列表1MV分量的MV偏移量的符号,并且列表0MV的符号具有相反的值。
MVD根据每个方向上POC的差值进行缩放。如果两个列表中的POC差值相同,则不需要缩放。否则,如果列表0中的POC差值大于列表1中的POC差值,则通过将L0的POC差值定义为td,将L1的POC差值定义为tb,对列表1的MVD进行缩放,如图6所示。如果L1的POC差值大于L0,则列表0的MVD以相同的方式缩放。如果起始MV是单向预测的,则MVD将被添加到可用MV中。
MMVD也称为终极运动向量表达(UMVE)。
表3.由方向索引指定的MV偏移的符号
方向索引 | 00 | 01 | 10 | 11 |
x轴 | + | – | N/A | N/A |
y轴 | N/A | N/A | + | – |
2.23用于帧间预测的三角划分
在VVC中,支持三角划分模式(TPM)用于帧间预测。三角划分模式仅适用于8×8或更大的CU。三角划分模式是使用CU级别标志作为一种合并模式来通过信号传输的,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。
当使用该模式时,使用对角线分割或反对角线分割,将CU均匀分割为两个三角形划分(图30)。在图30示出的基于三角划分的帧间预测中,在triangleDir被设置为等于0的情况下,使用对角线分割对CU 3010进行分割,在triangleDir被设置为等于1的情况下,使用反对角线分割对CU 3020进行分割。CU中的每个三角划分使用其自身的运动来进行帧间预测;每个划分只允许单向预测,即每个划分有一个运动向量和一个参考索引。应用单向预测运动约束以确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。使用第2.23.1节中描述的过程导出每个划分的单向预测运动。
如果三角划分模式用于当前CU,则进一步通过信号传输指示三角划分的方向(对角线或反对角线)的标志和两个合并索引(每个划分一个)。最大TPM候选大小的数目在条带级别被显式地通过信号传输,并且指定TMP合并索引的语法二值化。在预测每个三角划分之后,使用具有自适应权重的混合处理来调整沿对角线或反对角线边缘的样本值。这是整个CU的预测信号,并且变换和量化处理将像在其他预测模式中一样应用于整个CU。最后,使用三角划分模式预测的CU的运动场如2.23.3中那样存储。
三角划分模式不与SBT结合使用,即,当通过信号传输的三角模式等于1时,在没有通过信号传输的情况下推断cu_SBT_flag为0。
2.23.1单向预测候选列表构建
单向预测候选列表直接从根据第2.1节中的扩展合并预测过程构建的合并候选列表中导出。将n表示为三角单向预测候选列表中的单向预测运动的索引。第n个扩展合并候选的LX运动向量,X等于n的奇偶性,被用作三角划分模式的第n个单向预测运动向量。图31示出了用于三角划分模式的单向预测MV选择的图3100。这些运动向量在图31中用“x”标记。如果不存在第n个扩展合并候选的对应LX运动向量,则使用相同候选的L(1-x)运动向量作为三角划分模式的单向预测运动向量。
2.23.2沿三角划分边缘混合
在使用其自身的运动预测每个三角划分之后,将混合应用于两个预测信号,以导出对角线或反对角线边缘周围的样本。图32示出了在混合过程中使用的权重的图3200。混合过程中使用以下权重:
·针对亮度的{7/8、6/8、5/8、4/8、3/8、2/8、1/8},针对色度的{6/8、4/8和2/8},如图32所示。
2.23.3运动场存储
图33A-33C示出了triangleDir等于0的三个示例MV存储区域,其中图33A示出了32×16块3310,图33B示出了16×32块3320,并且图33C示出了32×32块3330。三角预测单元的运动向量(图33A-33C中的Mv1和Mv2)被存储在4×4网格中。对于每个4×4网格,根据CU中4×4网格的位置存储单向预测或双向预测运动向量。如图33A-33C所示,单向预测运动向量Mv1或Mv2被存储用于位于非加权区域(即,不位于对角线边缘)中的4×4网格。另一方面,针对位于加权区域中的4×4网格存储了双向预测运动向量。双向预测运动向量是根据以下规则从Mv1和Mv2导出的:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2被简单地组合形成便携式预测运动向量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.23.4三角合并模式的运动向量存储过程(替代描述)
指定当前编解码块中水平和垂直方向的4x4块数目的变量numSbX和numSbY被设置为等于numSbX=cbWidth>>2和numSbY=cbHeight>>2。
其中cbWidth和cbHeight指定了亮度样本中当前编解码块的宽度和高度,
变量minSb被设置为等于min(numSbX,numSbY)-1。
变量cbRatio按如下方式导出:
cbRatio=(cbWidth>cbHeight)?(cbWidth/cbHeight):(cbHeight/cbWidth)
对于子块索引(xSbIdx,ySbIdx)处的每个4x4子块,其中xSbIdx=0..numSbX-1,且ySbIdx=0..numSbY-1,以下规则适用:
-变量xIdx和yIdx的导出如下:
-xIdx=(cbWidth>cbHeight)?(xSbIdx/cbRatio):xSbIdx
-yIdx=(cbWidth>cbHeight)?ySbIdx:(ySbIdx/cbRatio)变量sType的导出如下:
-如果triangleDir等于0,则以下情况适用:
sType=(xIdx==yIdx)?2:((xIdx>yIdx)?0:1)
-否则(triangleDir等于1),则适用以下规则:
sType=(xIdx+yIdx==minSb)?2:((xIdx+yIdx<minSb)?0:1)
其中triangleDir指定划分方向。
如图33A-33C所示,sType等于0对应P1区域;sType等于1对应P2区域;sType等于2对应于加权面积。
P1区域的运动信息被表示为(Mv1,refIdx1);P2区域的运动信息被表示为(Mv2,refIdx2)。
-根据sType的值,进行以下分配:
-如果sType等于0,则4×4子块的运动信息为(Mv1,refIdx1)。
-如果sType等于1,则4×4子块的运动信息为(Mv2,refIdx2)。
-否则(sType等于2),则适用以下规则:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2简单地组合形成双向预测运动向量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.24几何分区模式(GPM)
在VVC中,几何分区模式被支持用于帧间预测。使用CU级别标志作为一种合并模式来通过信号发送几何分区模式,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。对于每个可能的CU大小w×h=2m×2n(m,n∈{3…6}),几何分区模式总共支持64个划分,不包括8x64和64x8。
图34示出了按相同角度分组的GPM分割的示例的图3400。当使用该模式时,CU通过几何定位的直线分为两部分(图34)。分割线的位置在数学上是从特定划分的角度和偏移参数导出的。CU中的几何分区的每个部分使用其自身的运动进行帧间预测;每个划分只允许单向预测,即每个部分都有一个运动向量和一个参考索引。应用单向预测运动约束以确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。使用第2.24.1节中描述的过程导出每个划分的单向预测运动。
如果几何分区模式用于当前CU,则指示几何分区的划分模式(角度和偏移)的几何分区索引和两个合并索引(每个划分一个)被进一步通过信号传输。最大GPM候选大小的数目在SPS中被显式地通过信号传输,并且指定用于GPM合并索引的语法二进制化。在预测了几何分区的每个部分之后,使用2.24.2中的具有自适应权重的混合处理来调整沿着几何分区边缘的样本值。这是整个CU的预测信号,并且将像在其他预测模式中一样对整个CU应用变换和量化过程。最后,使用几何分区模式预测的CU的运动场如第2.24.3节所示存储。
2.24.1单向预测候选列表构建
单向预测候选列表直接从根据3.4.1中的扩展合并预测过程构建的合并候选列表中导出。将n表示为几何单向预测候选列表中的单向预测运动的索引。第n个扩展合并候选的LX运动向量,X等于n的奇偶性,被用作几何分区模式的第n个单向预测运动向量。图35示出针对几何分区模式的单向MV选择的图3500。这些运动向量在图35中用“x”标记。如果第n个扩展合并候选的对应LX运动向量不存在,则使用相同候选的L(1-X)运动向量作为几何分区模式的单向预测运动向量。
2.24.2沿几何分区边缘的混合
在使用其自身的运动来预测几何分区的每个部分之后,将混合应用于两个预测信号以导出几何分区边缘周围的样本。CU的每个位置的混合权重是基于个体位置和划分边缘之间的距离导出的。
一个位置到划分边缘的距离导出为:
其中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取决于角度索引i。图36示出了使用几何分区模式的弯曲权重w0的示例生成的图3600。权重w0的一个示例在图36中示出。
2.24.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,则Mv1或Mv2被存储在对应运动场中,否则,如果sTType等于2,则存储来自Mv1和Mv2的组合Mv。组合Mv使用以下过程生成:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,另一个来自L1),则Mv1和Mv2被简单地组合以形成双向预测运动向量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.25帧间和帧内组合预测(CIIP)
在VVC中,当以合并模式对CU进行编码时,如果CU包含至少64个亮度样本(即,CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度都小于128个亮度样本,则通过信号传输附加标志,以指示组合帧间/帧内预测(CIIP)模式是否应用于当前CU。如其名称所示,CIIP预测将帧间预测信号与帧内预测信号进行组合。CIIP模式中的帧间预测信号Pinter是使用应用于常规合并模式的相同帧间预测过程来导出的;并且在平面模式的常规帧内预测过程之后导出帧内预测信号Pintra。然后,使用加权平均来组合帧内和帧间预测信号,其中取决于顶部和左侧邻近块的编解码模式来如下计算权重值(如图37中的图3700所示):
-如果顶部邻居可用且已进行帧内编解码,则将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.26解码器侧帧内模式导出(DIMD)
当应用DIMD时,从重建的邻近样本中导出两个帧内模式,并且将这两个预测器与具有从梯度导出的权重的平面模式预测器组合。
导出的帧内模式被包含在帧内最可能模式(MPM)的主列表中,因此DIMD过程在构造MPM列表之前执行。DIMD块的主要导出的帧内模式与块一起存储并且用于邻近块的MPM列表构造。
2.27IBC运动候选
术语“块”可以表示编解码树块(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预测器)无效,则不允许在块的编解码/解码过程中使用它。
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候选列表可以是帧内模板匹配候选列表。
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候选可以从非邻近块导出/获得。
b.在一个示例中,非相邻空间候选和当前编解码块之间的距离可以基于当前编解码块的宽度和高度(例如图9或图10,gridX=W,gridY=H)。
i.备选地,非相邻空间候选与当前编解码块之间的距离可以是恒定值的倍数。
(i)例如,乘法因子取决于搜索轮索引(例如,第i个搜索轮的乘法因子为i)并且gridX=M,gridY=N(M和N是常数值)。
c.在一个示例中,非相邻空间候选可以被插入在TMVP候选之后。
i.可替换地,非相邻空间候选可以被插入在相邻空间候选之后和TMVP候选之前。
5.BV候选可以来自空间邻近块、时域邻近块、HMVP、成对和/或STMVP候选。图38A-38B示出了针对空间候选和时域候选的示例候选位置。
a.在一个示例中,空间候选可以由相邻和/或非相邻空间候选组成。
i.在一个示例中,相邻空间候选可以由左侧和/或上方和/或右上方和/或左下方和/或左上方空间候选组成(用于空间候选的候选位置的示例在图38A的图3800中示出)。
b.在一个示例中,针对TMVP候选,在候选C0和C1之间选择时域候选的位置,如图38B的图3810中所描绘的。如果位置C0处的CU不可用、是经帧内编解码的、位于CTU当前行之外或其BV对于当前块无效,则使用位置C1。否则,位置C0用于导出TMVP候选。
i.备选地,对于TMVP候选,候选C0和C1都可以使用,如图38B所示。
(i)例如,顺序是C0->C1。
(ii)备选地,顺序是C1->C0。
d.在一个示例中,对于成对候选,通过对现有BV候选列表中的预定义候选对进行平均来生成成对平均候选,并且该预定义对被定义为{(0,1)、(0,2)、(1,2)、(0,3)、(1,3)、(2,3)},其中数字表示BV候选列表中的BV候选索引。
i.在一个示例中,成对候选的数目是P。P是从0到6的整数。
ii.在一个示例中,成对候选可以被插入在HMVP之后。
e.在一个示例中,对于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可以被插入到成对候选之后。
f.在一个示例中,BV候选插入顺序是相邻空间->HMVP->成对。
g.在一个示例中,BV候选插入顺序是相邻空间->时域->HMVP->成对。
h.在一个示例中,BV候选插入顺序是相邻空间->时域->非相邻空间->HMVP->成对。
i.在一个示例中,BV候选插入顺序是相邻空间->非相邻空间->HMVP->成对。
j.在一个示例中,BV候选插入顺序是相邻空间(STMVP插入到左上方空间BV候选之前)->时域->非相邻空间->HMVP->成对。
6.BV候选列表还可以由剪裁的BV候选组成。
a.在一个示例中,如果BV候选从第3项的意义上来说是无效的,则可以按照给定规则将其转换为有效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合并候选列表;对于IBCAMVP模式,BV候选列表的前S个条目将用于构造IBC AMVP候选列表。
(i)在一个实例中,R是6,S是2。
8.在一个示例中,可以支持基于子块的时域块向量预测(SbTBVP)作为BV候选或BV预测模式。
a.与SbTMVP类似,SbTBVP利用同位图片中的BV运动场来改进当前图片中CU的块向量预测和IBC合并模式。针对SbTBVP使用TMVP所使用的同位图片。
b.在一个示例中,SbTBVP在从同位图片中获取时域BV信息之前应用运动平移,其中运动平移是从当前CU的空间邻近块之一的运动向量获得的(示例如图39所示)。图39示出了通过应用来自空间邻居的运动移位从对应的同位子CU导出子CU bv运动场的图391400。
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信息(图39中的示例)假设运动移位设置为阻止A1的运动)。
关于BV候选名单的重新排序
9.可以首先导出初始BV候选列表,然后进行重新排序/细化过程。并且重新排序/细化的列表被用在块的编解码/解码过程中。
10.可以根据一个或一些准则在最终BV候选列表中自适应地重新排列BV候选。
a.在一个示例中,首先调用当前BV候选列表构建过程的部分或全部过程,随后对列表中的候选进行重新排序。
i.备选地,第一子组中的候选可以被重新排序,并且它们应该被添加到第二子组中的那些候选之前,其中第一子组被添加在第二子组之前。
b.在一个示例中,该准则可以基于模板匹配成本。
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.在一个示例中,如果参考模板在当前图片之外,则仍然可以对相应的BV候选进行重新排序。
(i)在一个示例中,如果参考模板在当前图片之外,则可以从当前图片内的最接近样本进行填充。
viii.在一个示例中,参考模板应该已经在当前图片内重建。
(i)在一个示例中,如果参考模板没有被重建或者在当前图片之外,则对应的BV候选可以不被重新排序。
c.在一个示例中,是否和/或如何对BV候选重新排序可以取决于BV候选的类别。
d.在一个示例中,要重新排序的BV候选可以是最终BV候选列表中的BV候选。
i.备选地,要重新排序的BV候选可以是部分/全部相邻的空间BV候选,即使它可能不包括在最终的BV候选列表中。
ii.备选地,要重新排序的BV候选可以是部分/全部非相邻空间BV候选,即使它可能不包含在最终BV候选列表中。
iii.备选地,重新排序的BV候选可以是部分/全部HMVP BV候选,即使它可能不包含在最终的BV候选列表中。
iv.备选地,要重新排序的BV候选可以是部分/全部成对平均BV候选,即使它可能不包含在最终BV候选列表中。
v.备选地,要重新排序的BV候选可以是部分/全部STMVP BV候选,即使它可能不包含在最终的BV候选列表中。
11.在一个示例中,可以针对第一BV候选导出在第10项中公开的成本,该第一BV候选可以被放入也可以不被放入BV候选列表中。
a.在一个示例中,是否将第一BV候选放入BV候选列表中可以取决于针对第一BV候选导出的成本。
b.在一个示例中,是否将第一BV候选放入BV候选列表中可以取决于针对第一BV候选导出的第一成本与针对第二BV候选导出的第二成本之间的比较,其可以被放入也可以不被放入BV候选名单。
12.在一个示例中,对于帧内TMP,L形模板可以替换为排除左侧和上方模板(如图40所示的示例)。图40示出了帧内模板匹配的图4000。
a.在一个示例中,如果仅上方模板可用于当前块,则帧内TMP只能使用上方模板。
b.在一个示例中,如果仅左侧模板可用于当前块,则帧内TMP只能使用左侧模板。
c.在一个示例中,如果上方模板和左侧模板都可用于当前块,则帧内TMP可以使用左侧模板、上方模板、或者上方模板和左侧模板两者。
2.28多假设预测(MHP)
在多假设帧间预测模式(JVET-M0425)中,除了传统的双向预测信号之外,还发信号传输一个或多个附加运动补偿预测信号。通过逐样本加权叠加获得得到的整体预测信号。利用双向预测信号pbi和第一附加帧间预测信号/假设h3,得到的预测信号p3如下:
p3=(1-α)pbi+αh3
根据以下映射,权重因子α由新的语法元素add_hyp_weight_idx指定:
add_hyp_weight_idx | α |
0 | 1/4 |
1 | -1/8 |
1 | -1/8 |
与上文类似,可以使用多于一个的附加预测信号。得到的整体预测信号与每个附加预测信号迭代地累积。
pn+1=(1-αn+1)pn+αn+1hn+1
获得得到的整体预测信号作为最后的pn(即,具有最大索引n的pn)。在此EE内,最多可以使用两个附加预测信号(即,n限制为2)。
每个附加预测假设的运动参数可以通过指定参考索引、运动向量预测器索引和运动向量差异来显式地发信号传输,或者通过指定合并索引来隐式地发信号传输。单独的多假设合并标志区分这两种信令模式。
对于帧间AMVP模式,仅当在二元预测模式中选择BCW中的非等权重时才应用MHP。
MHP和BDOF的组合是可能的,但是BDOF仅应用于预测信号的双向预测信号部分(即,普通的前两个假设)。
2.29JVET-M0425:多假设帧间预测
在多假设帧间预测模式中,除了传统的单/双向预测信号之外,还发信号传输一个或多个附加预测信号。通过逐样本加权叠加获得得到的整体预测信号。利用uni/bi预测信号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.29.1多假设运动估计
首先,测试没有显式发信号传输的附加帧间预测参数的帧间模式。对于这些模式中最好的两种(即,具有最低的Hadamard RD成本),搜索附加的帧间预测假设。为此,对于以下参数的所有组合,执行受限搜索范围为16的运动估计:
·加权因子α
·附加预测假设的参考框架
为了确定这两个参数的最佳组合,使用了Hadamard失真测量和近似比特率的简化RD成本。然后,使用正向变换和量化,使用所选择的参数组合来计算更准确的RD成本,并将其与当前块迄今为止找到的最佳编解码模式进行比较。
2.29.2与其他编解码工具的交互
2.29.2.1普通合并模式(非MMVD、非子块)
·可以显式地发信号传输附加预测信号,但不能在跳过模式下。
·附加的预测信号也可以从空间相邻的块继承,作为合并候选的一部分,但这仅限于
о当前CTU内的相邻块,或
о左侧CTU的相邻块
·附加预测信号不能从顶部CTU或时间同位块继承。
·所有显式发信号传输的附加预测信号使用针对第一个显式发信号传输的附加预测信号生成的相同AMVP候选列表,因此必须这样做。
о一个合并候选列表构建流程
о一个AMVP候选名单构建流程
·显式发信号传输和继承(合并)的附加预测信号的总数被限制为小于或等于2。
2.29.2.2MMVD
·可以显式地发信号传输附加预测信号,但不能在MMVD SKIP模式中。
·不存在来自合并候选的附加预测信号的继承/合并。
·所有显式发信号传输的附加预测信号使用为第一个显式发信号传输的附加预测信号生成的相同AMVP候选列表,因此必须这样做
о一个MMVD列表构建流程
о一个AMVP候选名单构建流程
2.29.2.3子块合并模式
·可以显式地发信号传输附加预测信号,但不能在跳过模式下。
·不存在来自合并候选的附加预测信号的继承/合并。
·所有显式发信号传输的附加预测信号使用为第一个显式发信号传输的附加预测信号生成的相同AMVP候选列表,因此必须这样做
о一个子块合并候选列表构建过程
о一个AMVP候选名单构建流程
2.29.2.4非仿射AMVP模式
·在用户预测的情况下,可以显式地发信号传输附加预测信号。
·只需构建两个AMVP候选列表(对于前两个,即非附加预测信号)。
·对于附加预测信号,使用两个AMVP候选列表之一:
о如果附加预测信号的参考图像的POC等于所使用的列表1参考图像的POC,则使用列表1AMVP候选列表。
о否则使用列表0AMVP候选列表。
2.29.2.5仿射AMVP模式
·在用户预测的情况下,可以显式地发信号传输附加(平移)预测信号。
·必须构建两个仿射AMVP候选列表(对于前两个,即非附加预测信号)。
·对于附加预测信号,使用两个AMVP候选列表之一:
о如果附加预测信号的参考图像的POC等于所使用的列表1参考图像的POC,则使用列表1AMVP候选列表。
о否则使用列表0AMVP候选列表。
·仿射LT mv预测器用作附加预测信号的mv预测器。
2.29.2.6BIO
多假设帧间预测不能与一个PU内的BIO一起使用:
·如果有附加的预测信号,则当前PU的BIO被禁用。
2.29.2.7组合帧内/帧间
多假设帧间预测不能与一个PU内的组合帧内/帧间一起使用:
·如果与具有附加预测信号的合并候选一起选择组合的帧内/帧间,则不继承/合并那些附加预测信号。
·附加的预测信号不能在组合的帧内/帧间模式中显式地发信号传输。
2.29.2.8三角模式
多假设帧间预测不能与一个PU内的三角模式一起使用:
·如果使用具有附加预测信号的合并候选来选择三角模式,则不继承/合并那些附加预测信号。
·附加的预测信号不能以三角模式显式地发信号传输。
2.30重叠块运动补偿
重叠块运动补偿(OBMC)先前已在H.263中使用。在JEM中,与H.263不同,可以使用CU级别的语法打开和关闭OBMC。当在JEM中使用OBMC时,对除了CU的右边界和下边界之外的所有运动补偿(MC)块边界执行OBMC。此外,它适用于亮度和色度分量。在JEM中,MC块对应于编解码块。当CU采用子CU模式(包括子CU合并、仿射和FRUC模式)经编解码时,CU的每个子块都是一个MC块。为了以统一的方式处理CU边界,对于所有MC块边界在子块级别执行OBMC,其中子块大小设置为等于4×4,如图41所示,其中图41示出了应用OBMC的子块的图4100。
当OBMC应用于当前子块时,除了当前运动向量之外,还使用四个相连的相邻子块的运动向量(如果可用并且与当前运动向量不相同)来导出当前子块的预测块。这些基于多个运动向量的多个预测块被组合以生成当前子块的最终预测信号。
基于相邻子块的运动向量的预测块被表示为PN,其中N指示上方的邻近的上方、下方、左侧和右侧的索引,和基于当前子块的运动向量的预测块被表示为PC。当PN基于包含与当前子块相同的运动信息的相邻子块的运动信息时,不从PN执行OBMC。否则,将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.31利用MMVD的GPM
为了进一步提高VVC中GPM模式的编解码效率,提出了一种带有MMVD的几何分区模式(GPM)(称为GPM_MMVD)。具体来说,在这些方案中,在现有的GPM合并候选之上进一步应用附加的MV差异(MVD),以提高两个GPM分区使用的MV的精度。此外,为了减少信令开销,以与VVC中的MVD合并模式(MMVD)相同的方式发信号传输MVD。
具体地,发信号传输两个标志以分别指示是否将附加MVD应用于每个GPM分区。当一个GPM分区的标志为真时,其对应的MVD以与MMVD相同的方式发信号传输,即,一个距离索引加一个方向索引。为了实现更多MV组合,当应用于两个GPM分区的MVD不相同时,允许两个GPM分区的合并索引相同。另外,当应用具有MMVD的GPM时,引入MV修剪过程来构建GPM合并候选列表。
另外,GPM支持两组不同的MVD,根据图片头的一个指示标志来选择它们。当标志等于0时,MMVD使用现有的MVD集合,包括8个距离{1/4像素、1/2像素、1像素、2像素、4像素、8像素、16个像素、32个像素和4个水平/垂直方向针对当前图片的GPM CU被支持;否则,另一个MVD集合被应用,包括9个距离{1/4像素、1/2像素、1像素、2像素、3像素、4像素、6像素、8像素、16像素}和8个方向(4个水平/垂直方向加上4个对角线方向)。
2.32几何分区模式(GPM)与模板匹配(TM)
模板匹配应用于GPM。该方法称为GPM_TM。当为CU启用GPM模式时,会发出CU级别标志信号以指示TM是否应用于两个几何分区。使用TM细化每个几何分区的运动信息。当选择TM时,根据分割角度使用左、上或左和上邻近样本构建模板,如表4所示。然后,使用禁用半像素插值滤波器的合并模式的相同搜索模式,通过最小化当前模板与参考图片中的模板之间的差异来细化运动。
表4.第一和第二几何分区的模板,其中A代表使用上方样本,L代表使用左边样本,并且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控制标志都等于假时(即,对于两个GPM分区禁用GPM-MMVD),发信号传输GPM-TM标志以指示是否将模板匹配应用于两个GPM分区。否则(至少一个GPM-MMVD标志等于真),GPM-TM标志的值被推断为假。
2.33仿射运动补偿预测
在HEVC中,仅应用平移运动模型进行运动补偿预测(MCP)。在现实世界中,运动有很多种,例如,放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用基于块的仿射变换运动补偿预测。如图所示参照图42A和图42B,其示出了基于控制点的仿射运动模型的示例4210和4220,块的仿射运动场通过两个控制点(4参数)或三个控制点运动向量(6参数)的运动信息来描述。
对于4参数仿射运动模型,块中样本位置(x,y)处的运动向量导出为:
对于6参数仿射运动模型,块中样本位置(x,y)处的运动向量导出为:
其中(mv0x,mv0y)是左上角控制点的运动向量,(mv1x,mv1y)是运动向量右上角控制点的运动向量,(mv2x,mv2y)是左下角控制点的运动向量。
为了简化运动补偿预测,应用基于块的仿射变换预测。为了导出每个4×4亮度子块的运动向量,根据上述等式计算每个子块的中心样本的运动向量,如图43所示(示出了每个子块的仿射MVF的图4300),并且舍入到1/16分数精度。然后应用运动补偿插值滤波器来生成具有导出的运动向量的每个子块的预测。色度分量的子块大小也设置为4×4。4×4色度子块的MV计算为同位8x8亮度区域中左上和右下亮度子块的MV的平均值。
与平移运动帧间预测一样,也有两种仿射运动帧间预测模式:仿射合并模式和仿射AMVP模式。
2.33.1仿射合并预测
AF_MERGE模式适用于宽度和高度均大于或等于8的CU。在该模式下,当前CU的CPMV是基于空间邻近CU的运动信息生成的。最多可以有五个CPMVP候选,并且发信号传输索引来指示要用于当前CU的候选。以下三种类型的CPVM候选用于形成仿射合并候选列表:
–从相邻CU的CPMV推断的继承仿射合并候选
–使用相邻CU的平移MV导出的构造仿射合并候选CPMVP
–零MV
在VVC中,最多有两个继承仿射候选,其源自邻近块的仿射运动模型,一者来自左邻近CU,一者来自上邻近CU。候选块在图44中示出,其示出了继承的仿射运动预测器的位置的图4400。对于左边的预测器,扫描顺序是A0->A1,对于上面的预测器,扫描顺序是B0->B1->B2。仅选择双方的第一个继承候选人。在两个继承的候选之间不执行修剪检查。当识别出邻近仿射CU时,其控制点运动向量用于导出当前CU的仿射合并列表中的CPMVP候选。如图45所示(其示出了控制点运动向量继承的图4500),如果相邻左下块A以仿射模式经编解码,则运动向量v2、v3和v4。当块A采用4参数仿射模型经编解码时,根据v2和v3计算当前CU的两个CPMV。如果块A是采用6参数仿射模型经编解码的,则根据v2、v3和v4计算当前CU的三个CPMV。
构造仿射候选是指通过组合每个控制点的邻近平移运动信息来构造候选。控制点的运动信息是从图46中所示的指定的空间邻居和时间邻居导出的,图46示出了用于构造的仿射合并模式的候选位置的地点的图4600。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.33.2仿射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候选是从图46所示的指定空间邻居中导出的。使用与仿射合并候选构造中相同的检查顺序。另外,还检查邻近块的参考图片索引。使用检查顺序中的第一个块,即帧间经编解码的并且具有与当前CU中相同的参考图像。只有一个当当前CU采用4参数仿射模式经编解码,并且mv0和mv1都可用时,将它们作为一个候选添加到仿射AMVP列表中。当当前CU采用6参数仿射模式经编解码,并且所有三个CPMV均可用时,它们将作为一个候选添加到仿射AMVP列表中。否则,构建的AMVP候选将被设置为不可用。
如果插入有效的继承仿射AMVP候选和构造AMVP候选后,仿射AMVP列表候选仍然小于2,则将按顺序添加mv0、mv1和mv2,作为平移MV来预测当前CU的所有控制点MV(如果可用)。最后,如果仿射AMVP列表仍未满,则使用零个MV来填充该列表。
2.33.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参数模型。如图47所示(示出了所提出的组合方法的运动向量使用的图4700),沿着顶部CTU边界,CU的左下和右下子块运动向量被用于CU中的仿射继承。底部CTU。
2.33.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)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
其中Δv(i,j)是为样本位置(i,j)计算的样本MV(由v(i,j)表示)与样本(i,j)所在子块的子块MV之间的差值属于,如图48所示(其示出了具有箭头4810的子块MV VSB和像素Δv(i,j)的图4800)。Δv(i,j)以1/32luam样本精度为单位进行量化。
由于仿射模型参数和相对于子块中心的样本位置在子块与子块之间没有改变,因此可以针对第一个子块计算Δ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.34仿射MMVD
在仿射MMVD中,选择仿射合并候选(称为基础仿射合并候选),通过发信号传输的MVD信息进一步细化控制点的MV。
所有控制点的MV的MVD信息在一个预测方向上是相同的。
当起始MV为双向预测MV且两个MV指向当前图片的不同侧时(即一个参考的POC大于当前图片的POC,而另一个参考的POC则大于当前图片的POC)参考小于当前图片的POC),添加到起始MV的列表0MV分量的MV偏移量与列表1MV的MV偏移量具有相反的值;否则,当起始MV为全体预测时,两个列表的MV都指向当前图片的同一侧(即两个参考的POC都大于当前图片的POC,或者都小于当前图片的POC)),添加到起始MV的列表0MV组件的MV偏移量与列表1MV的MV偏移量相同。
2.35IBC模式扩展
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或包括多个样本/像素的视频处理单元。块可以是矩形的或非矩形的。
对于IBC编解码块,块向量(BV)用于指示从当前块到参考块的位移,该块已经在当前图片内重建。
W和H是当前块(例如,亮度块)的宽度和高度。
需要说明的是,下述术语并不限于现有标准中定义的具体术语。编解码工具的任何变体也适用。例如,术语“GPM”用于表示导出两组或更多组运动信息并使用导出的运动信息和分割模式/加权掩模来获得最终预测的任何编解码工具,例如,TPM也可以被视为GPM。
下面,Mv1和Mv2是来自三角或几何分区的第一部分和第二部分的运动向量。
1.在一个示例中,可以使用具有块向量差异(MBVD)的IBC合并模式。
a.在MBVD中,可以基于IBC合并候选来导出BV,该IBC合并候选可以通过发信号传输的BVD信息来进一步细化。
b.在一个示例中,BVD信息可以包括一个或多个IBC合并候选索引、用于指定(一个或多个)运动幅度的一个或多个指示(例如多个索引)、以及用于指示运动方向的一个或多个指示(例如多个索引)。
i.在MBVD模式中,从IBC合并列表中的候选中选择至少一个作为BV基础。至少一个MBVD候选索引被发信号传输以指定使用IBC合并候选中的哪一个或哪些候选。
(i)在一个示例中,发信号传输MBVD候选索引以指定使用前N个IBC合并候选中的哪一个。
a)在一个示例中,N被设置为2。
b)在一个示例中,候选索引可以被二值化为最大值等于N-1的截断码。
(ii)在一个示例中,IBC合并候选可以在使用之前被重新排序。
ii在一个示例中,距离索引指定运动幅度信息并指示从起始点开始的预定义偏移。
(i)可以将偏移添加到起始BV的水平分量或垂直分量。
(ii)可以将偏移添加到起始BV的水平分量和垂直分量两者。
(iii)在一个示例中,距离集合可以是{1个像素、2个像素、4个像素、8个像素、16个像素、32个像素}。
(iv)在一个示例中,距离集合可以是{1个像素、2个像素、4个像素、8个像素、16个像素、32个像素、64个像素、128个像素}。
(v)在一个示例中,距离集合可以是{1个像素、2个像素、3个像素、4个像素、6个像素、8个像素、16个像素}。
(vi)在一个示例中,距离集合可以是{1个像素、2个像素、3个像素、4个像素、6个像素、8个像素、16个像素、32个像素、64个像素}。
(vii)在一个示例中,距离索引与预定义偏移的关系在表5中被指定。
(viii)在一个示例中,距离索引与预定义偏移的关系在表6中指定。
(ix)在一个示例中,距离索引与预定义偏移的关系在表7中指定。
(x)在一个示例中,距离索引与预定义偏移的关系在表8中被指定。
(xi)在一个示例中,可以在序列/图片/条带/CTU/CU级别、从编码器向解码器发信号传输距离索引和预定义偏移的关系。
(xii)索引可以用一元编解码、截断一元编解码、指数哥伦布码、截断指数哥伦布码、固定长度代码或任何其他二值化方法来二值化。
iii在一个示例中,方向索引表示BVD相对于起始点的方向。方向索引可以表示M个BVD方向。
(i)在一个示例中,M被设置为4。
(a)在一个示例中,可以使用4个水平/垂直方向。
(b)在一个示例中,可以使用4个对角线方向。
(c)在一个示例中,方向索引和预定义方向的关系在表9中指定。对于方向索引0,(offset,0)是BVD;对于方向索引1,(-offset,0)是BVD;对于方向索引2,(0,offset)是BVD;对于方向索引3,(0,-offset)是BVD。
(d)在一个示例中,方向索引与预定义方向的关系在表10中指定。对于方向索引0,(offset,offset)是BVD;对于方向索引1,(offset,-offset)是BVD;对于方向索引2,(-offset,offset)是BVD;对于方向索引3,(-offset,-offset)是BVD。
(ii)在一个示例中,M被设置为8。
a)在一个示例中,可以使用4个水平/垂直方向加上4个对角线方向。
b)在一个示例中,方向索引和预定义方向的关系在表11中指定。
(iii)索引可以用一元编解码、截断一元编解码、指数哥伦布码、截断指数哥伦布码、定长码或任何其他二值化方法来二值化。
iv.在一个示例中,块的MBVD的距离和/或方向的数目可以由以下决定:
(i)图片的分辨率。
(ii)编解码过程的配置。
(iii)该块的邻近块的BVD。
a)在一个示例中,可以使用上方和左边的邻近块(如图49所描绘地,其示出了所使用的相邻空间邻近块的图4900)。
b)在一个示例中,可以使用包括左侧和/或上方和/或右上方和/或左下方和/或左上方空间邻近块的相邻的空间邻近块(图49示出了示例)。
(iv)可替换地,可以在序列/图片/条带/CTU/CU级别,将MBVD的距离和/或方向的数目从编码器发送到解码器。
c.在一个示例中,可能产生在BV的有效范围之外的BV的MBVD中的候选/方向/幅度可以从要选择或发信号传输的候选/方向/幅度集合中排除。
i可替换地,MBVD中生成的BV可能会被限制在有效范围内。
ii可替换地,MBVD中生成的BV必须在一致性比特流的有效范围内。
表5–距离索引与预定义偏移的关系
表6–距离索引与预定义偏移的关系
表7–距离索引与预定义偏移的关系
表8–距离索引与预定义偏移的关系
表9–由方向索引指定的MV偏移的符号
方向IDX | 00 | 01 | 10 | 11 |
x轴 | + | - | N/A | N/A |
y轴 | N/A | N/A | + | - |
表10–由方向索引指定的BV偏移的符号
方向IDX | 00 | 01 | 10 | 11 |
x轴 | + | + | - | - |
y轴 | + | - | + | - |
表11–由方向索引指定的BV偏移的符号
2.在一个示例中,新的CIIP预测模式(称为CIIP_N)组合了至少一个IBC预测信号和由第二预测方法生成的至少一个预测信号。
a.第二预测方法可以是帧内预测或帧间预测。
b.第二预测信号和IBC预测信号可以通过加权平均来组合。
i.CIIP_N预测的形式为
PCIIP_N=((2N-wt)*PIBC+wt*Psec+offset)>>N
ii.在一个示例中,offset是一个整数,例如2N>>1。
iii.在一个示例中,N=2。
iv.在一个示例中,权重值可以是预定义的。
(i)在一个示例中,wt被设置为2。
v.在一个示例中,对于每个样本权重值可以是位置相关的。
(i)例如,对于某些位置wt=2N。
(ii)例如,对于某些位置,wt=0。
vi在一个示例中,可以用信号从编码器向解码器发送权重值。
c.CIIP_N模式中的IBC预测信号PIBC可以使用应用于常规IBC合并模式的相同IBC预测过程来导出。
d.第二预测信号Psec可以按照常规帧内预测过程导出,并且组合模式被命名为CIIP_N1。
i.在一个示例中,帧内预测模式可以是平面模式。
ii.在一个示例中,帧内预测模式可以是通过DIMD方法隐式导出的帧内预测模式。
iii.在一个示例中,帧内预测模式可以是通过TIMD方法隐式导出的帧内预测模式。
iv.在一个示例中,可以根据邻近块的编解码模式来计算权重值。
(i)在一个示例中,可以根据顶部和左侧邻近块的编解码模式来计算权重值(如图50所示,其示出了在CIIP_N1和CIIP_N2权重导出中使用的顶部和左侧邻近块的图5000)如下:
·如果顶部邻居可用并且是被帧内编解码,则将isIntraTop设置为1,否则将isIntraTop设置为0;
·如果左侧邻居可用且是被帧内编解码,则将isIntraLeft设置为1,否则将isIntraLeft设置为0;
·如果(isIntraLeft+isIntraTop)等于2,则将wt设置为3;
·否则,如果(isIntraLeft+isIntraTop)等于1,则将wt设置为2;
·否则,将wt设置为1。
e.第二预测信号Psec可以使用应用于常规合并模式的相同帧间预测过程来导出,并且组合模式被命名为CIIP_N2。
i.在一个示例中,可以根据邻近块的编解码模式来计算权重值。
(ii)在一个示例中,可以根据顶部和左侧邻近块(如图50所示)的编解码模式来计算权重值,如下所示:
·如果顶部邻居可用且被IBC编解码,则将isIBCTop设置为1,否则将isIBCTop设置为0;
·如果左部邻居可用且被IBC编解码的,则将isIBCLeft设置为1,否则将isIBCLeft设置为0;
·如果(isIBCLeft+isIBCTop)等于2,则将wt设置为1;
·否则,如果(isIBCLeft+isIBCTop)等于1,则将wt设置为2;
·否则,将wt设置为3。
f.在CIIP_N模式下,从IBC合并列表中的候选中选择一个用于IBC预测。可以发信号传输IBC候选索引指定使用IBC合并候选中的哪一个。
i.在一个示例中,发信号传输IBC候选索引以指定使用前N个IBC合并候选中的哪一个。
(i)在一个示例中,N被设置为4。
(ii)在一个示例中,N被设置为IBC合并列表中的IBC合并候选的有效数目。
(iii)在一个示例中,可以从编码器用信号向解码器通知N。
(iv)在一个示例中,N被设置为针对IBC合并的完整RD的数目。
(v)在一个示例中,N被设置为针对IBC合并的完整RD的数目加上一个整数。
(vi)在一个示例中,IBC合并候选可以在使用之前被重新排序。
ii.在一个示例中,IBC候选索引被发信号传输以按照SATD成本值的升序指定在前N个IBC合并候选中使用哪一个。
(i)在一个示例中,N被设置为4。
(ii)在一个示例中,N被设置为IBC合并列表中的IBC合并候选的有效数目。
(iii)在一个示例中,可以从编码器用信号向解码器通知N。
(iv)在一个示例中,N被设置为针对IBC合并的完全RD的数目。
(v)在一个示例中,N被设置为用于IBC合并的完全RD的数目加上整数。
(vi)在一个示例中,可以在计算SATD成本之前对IBC合并候选重新排序。
g.在CIIP_N2模式下,从常规合并列表中的候选中选择一个用于帧间预测。可以发信号传输合并候选索引以指定使用常规合并候选之中的哪一个。
i.在一个示例中,发信号传输合并候选索引以指定使用前N个常规合并候选中的哪一个。
(i)在一个示例中,N被设置为4。
(ii)在一个示例中,N被设置为常规合并列表中的常规合并候选的有效数目。
(iii)在一个示例中,可以从编码器用信号向解码器通知N。
(iv)在一个示例中,N被设置为针对帧合并的完全RD的数目。
(v)在一个示例中,N被设置为针对帧合并的完全RD的数目加上整数。
(vi)在一个示例中,常规合并候选可以在使用之前被重新排序。
ii在一个示例中,发信号传输合并候选索引以按照SATD成本值的升序指定使用前N个常规合并候选中的哪一个。
(i)在一个示例中,N被设置为4。
(ii)在一个示例中,N被设置为常规合并列表中的常规合并候选的有效数目。
(iii)在一个示例中,可以从编码器用信号向解码器通知N。
(iv)在一个示例中,N被设置为针对帧间合并的完全RD的数目。
(v)在一个示例中,N被设置为针对帧间合并的完全RD的数目加上整数。
(vi)在一个示例中,常规合并候选可以在计算SATD成本之前被重新排序。
h.在一个示例中,是否和/或如何使用CIIP_N模式可以取决于诸如块尺寸/QP/邻近块模式等的编解码信息。
i.在一个示例中,当在IBC合并模式下对块进行编解码时,如果该块包含至少P个亮度样本(即,块宽度乘以块高度等于或大于P),则发信号传输附加标志以指示CIIP_N模式是否被应用于当前块。
(i)在一个示例中,P被设置为64。
ii.在一个示例中,当块在IBC合并模式下被编解码时,如果块宽度和块高度都小于Q个样本,则发信号传输附加标志以指示CIIP_N模式是否被应用于当前块。
(i)在一个示例中,Q被设置为128。
(ii)在一个示例中,Q被设置为64。
iii.在一个示例中,上述两个条件可以一起使用。
i.在一个示例中,是否和/或如何使用CIIP_N2模式可以取决于编解码信息,例如块尺寸/QP/邻近块模式等。
i.在一个示例中,当在常规合并模式下对块进行编解码时,如果该块包含至少P个亮度样本(即,块宽度乘以块高度等于或大于P),则发信号传输附加标志以指示CIIP_N2模式是否被应用于当前块。
(i)在一个示例中,P被设置为64。
ii.在一个示例中,当在常规合并模式下对块进行编解码时,如果块宽度和块高度都小于Q个亮度样本,则发信号传输附加标志以指示CIIP_N2模式是否被应用于当前块。
(i)在一个示例中,Q被设置为128。
(ii)在一个示例中,Q被设置为64。
iii.在一个示例中,上述两个条件可以一起使用。
3.在一个示例中,可以支持三角划分模式用于IBC预测(称为TPM_IBC)。
a.当使用此模式时,使用对角线分割或反对角线分割将块均匀地分割成两个三角形形状的划分(例如,图51示出了基于IBC预测的三角划分的示例)。在图51中,使用对角线分割来分割块5110,并且使用反对角线分割来分割块5220。
b.块中的每个三角划分都是使用其自己的运动进行IBC预测的。
c.每个划分的单向预测运动是从单向预测IBC候选列表中导出的。
i.在一个示例中,单向预测IBC候选列表是直接从部分或全部IBC合并候选列表中导出的。
ii.在一个示例中,单向预测IBC候选列表可以在使用之前被重新排序。
d.在预测每个三角划分之后,可以使用具有自适应权重的混合处理来调整沿对角线或反对角线边缘的样本值。
i.在一个示例中,可以根据样本和分割线之间的距离来自适应地确定权重。
(i)第2.23.2节显示了一个示例。
ii.可替换地,沿对角线或反对角线边缘的样本值可能无法使用混合处理进行调整。相反,沿对角线或反对角线边缘的样本只能通过两个预测之一来预测。
e.对于TPM_IBC的运动场存储,如果sType等于0或1,则在对应的运动场中存储Mv1或Mv2,否则如果sType等于2,则存储Mv2。
i.在一个示例中,sType计算与针对帧间TPM的计算相同。
f.对于TPM_IBC信令,以下内容适用:
i.使用CU级别标志来发信号传输TPM_IBC模式,作为一种IBC合并模式。
ii.如果TPM_IBC模式被用于当前CU,则进一步发信号传输指示三角划分的方向(对角线或反对角线)的标志,以及两个合并索引(每个划分一个索引)。
iii如果TPM_IBC模式被用于当前CU,则进一步发信号传输指示三角划分的划分模式的三角划分索引以及两个合并索引(每个划分一个索引)。
4.在一个示例中,可以支持针对IBC预测的几何分区模式(称为GPM_IBC)。
a.当使用这种模式时,块被一条几何定位的直线分割成两部分(例如图34)。分割线的位置是以数学方式根据特定划分的角度和偏移参数得出的。
b.块中几何分区的每个部分都是使用其自身的运动进行IBC预测的。
c.每个分区的单向预测运动是从单向预测IBC候选列表中导出的。
i.在一个示例中,单向预测IBC候选列表直接从部分或全部IBC合并候选列表中导出。
ii.在一个示例中,单向预测IBC候选列表可以在使用之前被重新排序。
d.在预测几何分区的每个部分之后,可以使用具有自适应权重的混合处理来调整沿着几何分区边缘的样本值。
i.在一个示例中,可以根据样本和分割线之间的距离来自适应地决定权重。
(i)第2.24.2节示出了一个示例。
ii.可替换地,沿几何分区边缘的样本值可能无法使用混合处理来调整。相反,沿几何分区边缘的样本只能通过两个预测之一来预测。
e.针对GPM_IBC的字段存储,如果sType等于0或1,则在对应的运动场中存储Mv1或Mv2,否则如果sType等于2,则存储Mv2。
i.在一个示例中,sType计算与针对帧间GPM的计算相同。
f.针对GPM_IBC信令,以下内容适用:
i.使用CU级别标志来发信号传输GPM_IBC模式,作为一种IBC合并模式。
ii.如果GPM_IBC模式用于当前CU,则进一步用信号通知指示几何分区的分区模式(角度和偏移)的几何分区索引以及两个合并索引(每个划分一个)。
5.在一个示例中,支持用于IBC的TM_AMVP(称为TM_AMVP_IBC)。
a.在TM_AMVP_IBC模式下,基于模板匹配确定K个IBC MVP候选,以从IBC AMVP列表中选取达到当前块模板与参考块模板之间的前K个最小差的候选。
i.所选择的起始点候选集合由K个IBC MVP候选组成。
b.可以仅针对所选择的起始点候选集合执行TM用于MV细化。
i.TM从全像素MVD精度(或针对4像素AMVR模式的4像素)开始细化搜索范围内的起始点候选。
(i)在一个示例中,通过使用迭代菱形搜索将其细化在[–8,+8]像素搜索范围内。将使用M轮搜索,直到中心搜索点具有如图52A所示的菱形搜索模式的最小匹配成本。图52A示出了搜索模式的示例5200。
a)在一个示例中,M是MAX_UINT。
b)在一个示例中,M是375。
ii可以通过使用具有全像素MVD精度(或针对4像素AMVR模式的4像素)的交叉搜索来进一步细化所选择的起使点候选。
(i)在一个示例中,一轮搜索用于交叉搜索模式,如图52B所示。图52B示出了搜索模式的示例5210。
c.在一个示例中,TM_AMVP_IBC可以生成K个经细化的IBC AMVP候选,并且可以选择其中之一且可以从编码器向解码器发信号传输该选择。
i在一个示例中,K=1,并且没有发信号传输选择信息。
ii在一个示例中,如果至少一个通过模板匹配获得的经细化的IBC AMVP候选可用,则将它们用作TM_AMVP_IBC候选。否则,使用前K个已有的未细化的IBC AMVP候选。
iii.在一个示例中,所选择的经细化IBC AMVP候选被用作基于块匹配的IBC模式的局部搜索的起始点。
d.可替换地,TM_IBC导出的BV被用作IBC模式基于块匹配的本地搜索的起始点。
e.例如,当启用IBC AMVR时,MVD精度中的经细化的IBC AMVP候选可以在另一MVD精度下被重新使用。
i.在一个示例中,全像素MVD精度下的经细化的IBCAMVP候选可以在4个像素MVD精度下被重新使用。
6.在一个示例中,支持针对IBC的TM_merge(称为TM_merge_IBC)。
a.在TM_merge_IBC模式下,基于模板匹配确定K个IBC合并候选,以从IBC合并列表中选取达到当前块模板与参考块模板之间的前K个最小差的候选。
i.所选择的起始点候选集合由K个IBC合并候选组成。
b.可以仅针对所选择的起始点候选集合执行TM用于MV细化。
i.TM从全像素MVD精度(或针对4像素AMVR模式的4个像素)开始细化搜索范围内的起始点候选。
(i)在一个示例中,通过使用迭代菱形搜索将其细化在[–8,+8]像素搜索范围内。将使用M轮搜索,直到中心搜索点具有如图44A所示的菱形搜索模式的最小匹配成本。
a)在一个示例中,M是MAX_UINT。
b)在一个示例中,M是375。
ii.可以通过使用具有全像素MVD精度(或针对4像素AMVR模式的4像素)的交叉搜索来进一步细化所选择的起使点候选。
(i)在一个示例中,一轮搜索用于交叉搜索模式,如图52B所示。
c.在一个示例中,TM_merge_IBC可以生成K个经细化的IBC合并候选,并且可以选择其中之一且可以从编码器向解码器发信号传输该选择。
i在一个示例中,K=1,并且没有发信号传输选择信息。
ii在一个示例中,如果至少一个通过模板匹配获得的经细化的IBC合并候选可用,则将它们用作TM_merge_IBC候选。否则,M_merge_IBC无效。
iii.在一个示例中,通过准则来选择最佳的经TM细化的IBC合并候选。
(i)在一个示例中,准则是RD决策。
d.可替换地,针对每个IBC合并候选执行TM用于MV。然后根据准则选择最佳的经TM细化的IBC合并候选。
i.在一个示例中,准则是RD决策。
3问题
目前IBC模式的设计还可以进一步完善。
可以支持更多基于IBC的模式,提高IBC模式的编解码效率。
4具体描述
下面详细的发明应被视为解释一般概念的示例。这些发明不应被狭义地解释。此外,这些发明可以以任何方式组合。
术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB或视频包含多个样本/像素的处理单元。块可以是矩形的或非矩形的。
对于经IBC编解码的块,块向量(BV)用于指示从当前块到参考块的位移,参考块已经在当前图片内重建。
W和H是当前块(例如,亮度块)的宽度和高度。
需要说明的是,下述术语并不限于现有标准中定义的具体术语。编解码工具的任何变体也适用。例如,术语“GPM”用于表示导出两组或更多组运动信息并使用导出的运动信息和分割模式/加权掩模来获得最终预测的任何编解码工具,例如,TPM也可以是视为GPM。
下面,Mv1和Mv2是来自三角形或几何分区的第一部分和第二部分的运动向量。
非-平移IBC模式
建议利用仿射运动模型从同一图片内的重建样本/像素来预测当前块。
1.在一个示例中,IBC模式支持仿射运动补偿预测(称为仿射
_IBC)。
a.块的仿射运动场可以通过两个控制点(4参数仿射模型)或三个控制点(6参数仿射模型)的运动信息来描述。
b.可以存在两种仿射运动IBC预测模式:仿射IBC合并模式和仿射IBC AMVP模式。
i.在一个示例中,可以与仿射合并模式类似地执行仿射IBC合并模式。
ii.在一个示例中,可以与仿射AMVP模式类似地执行仿射IBC AMVP模式。
c.在一个示例中,从仿射模型导出的像素或子块的BV可以被舍入或裁剪为整数精度。
d.在一个示例中,从相邻块继承的或从仿射模型导出的控制点的BV预测可以被舍入或裁剪为整数精度。
e.还可以支持仿射_IBC模式的光流预测细化。
i.在一个示例中,用于仿射_IBC模式的利用光流的预测细化可以类似于针对仿射模式的利用光流的预测细化来执行。
f.所提出的仿射_IBC模式可以是合并模式,其中没有BV差异(BVD)是经编解码的。
i.首先,它可以是帧间模式,其中BVD的指示可以是经编解码的。
ii.首先,它可以是合并模式,其中仿射BVD候选列表内的BVD的指示可以是经编解码的/导出的,例如BVD的索引是经编解码的。
2.可以根据从仿射BV候选列表导出的BV和从给定仿射BVD候选列表选择的BVD来导出在仿射_IBC模式中使用的控制点的块向量。
a.在一个示例中,可以支持具有MBVD的仿射_IBC(称为仿射_IBC_MBVD)。
b.在仿射_IBC_MBVD中,选择仿射IBC合并候选(称为基础仿射IBC合并候选),可以通过BVD信息的指示进一步细化控制点的BV。
c.所有控制点的BV的BVD信息可以相同。
i.然而,至少两个控制点的BV的BVD信息可能不同。
d.在一个示例中,从仿射模型导出的像素或子块的BV可以被舍入或裁剪为整数精度。
e.在一个示例中,从相邻块继承的或从仿射模型导出的控制点的BV预测可以被舍入或裁剪为整数精度。
f.仿射_IBC_MBVD模式中控制点的BV的BVD信息可能与用于平移MBVD方法的信息不同。
g.仿射BVD候选列表可以仅包括整数BVD候选。
关于模板匹配和IBC的联合使用
3.在一个示例中,由TM_IBC导出的BV被用作MBVD的基本候选(称为TM_IBC_MBVD)。
a.在TM_IBC_MBVD中,可以基于TM_IBC导出BV,该BV可以通过发信号传输的BVD信息进一步细化。
b.在一个示例中,可以以与MBVD相同的方式发信号传输BVD。
c.在一个示例中,可以以与非合并IBC模式相同的方式发信号传输BVD。
d.在一个示例中,可以发信号传输语法元素以指示是否通过MBVD进一步细化通过TM_IBC导出的BV。
i.例如,仅当应用TM_IBC模式时,语法元素才会发信号传输。
4.在一个示例中,通过TM_IBC导出的BV可以用作非合并IBC模式(也称为IBC AMVP模式)的BV预测候选。
a.在一个示例中,当TM_IBC可用时,由TM_IBC导出的BV可以是非合并IBC模式的唯一候选。
b.在一个示例中,当可用时,由TM_IBC导出的BV可以是非合并IBC模式的第k个(例如,第一个)候选。
c.在一个示例中,语法元素可以被发信号传输以指示通过TM_IBC导出的BV是否可以用作非合并IBC模式的BV预测候选。
i.例如,仅当应用TM_IBC模式时,语法元素才会发信号传输。
关于多重-假设IBC
5.在一个示例中,支持多假设IBC预测模式(称为MHP_IBC),其中发信号传输/导出一个或多个附加运动补偿预测信号,这与仅使用单向预测信号的传统方式不同。
a.通过逐样本加权叠加获得得到的整体预测信号。
i.所得到的整体预测信号与每个附加预测信号迭代累积,如下所示:
pn+1=(1-αn+1)pn+αn+1hn+1
ii.获得所得的整体预测信号作为最后的pn(即,具有最大索引n的pn)。
(i)在一个示例中,可以使用两个附加预测信号(即,n是2)
(ii)在一个示例中,可以使用一个附加预测信号(即,n是1)
iii.在一个示例中,权重因子α可以是预定义的。
(i)在一个示例中,α被设置为1/2。
iv.在一个示例中,权重因子α可以从预定义的集合中选择。
(i)在一个示例中,预定义的集合是{1/2,1/4}。
(ii)在一个示例中,预定义的集合是{1/4,-1/8}。
(iii)在一个示例中,预定义集合是{1/2,1/4,-1/8}。
(iv)在一个示例中,权重因子α由索引指定。
(v)在一个示例中,为了确定最佳加权因子α,使用了使用Hadamard失真测量和近似比特率的简化RD成本。
v.在一个示例中,加权因子α对于每个样本可以是位置相关的。
(i)例如,对于某些位置,α=1。
(ii)例如,对于某些位置,α=0。
(iii)例如,对于某些位置,α=1/2。
vi.在一个示例中,可以从编码器向解码器发信号传输加权因子α。
b.每个附加预测假设的运动参数可以通过指定块向量预测器索引和块向量差异来显式地发信号传输,或者通过指定合并索引来隐式地发信号传输。
i.在一个示例中,单独的多假设IBC合并标志区分这两种信令模式。
ii.对于显式发信号的方法,执行多假设运动估计。
(i)对于最好的两个IBC模式(即具有最低的Hadamard RD成本),搜索附加的IBC预测假设。为此,对于每个加权因子,执行具有受限搜索范围R的运动估计。
a)在一个示例中,R设置为16。
(ii)为了确定最佳权重因子,使用了Hadamard失真测量和近似比特率的简化RD成本。
c.对于正常的IBC合并模式(非MBVD、非子块IBC合并),可以显式地发信号传输附加的预测信号或者隐式地继承。
i.在一个示例中,所有显式发信号传输的附加预测信号可以使用针对第一显式发信号传输的附加预测信号生成的相同IBC AMVP候选列表。
ii.在一个示例中,可以显式地发信号传输附加预测信号,但不在IBC SKIP模式中。
iii.在一个示例中,附加预测信号可以被隐式继承,但不是在IBC SKIP模式中。
d.对于MBVD模式,可以显式地发信号传输或隐式地继承附加的预测信号。
i.在一个示例中,可以显式地发信号传输附加预测信号,但不在MBVD SKIP模式中。
ii.在一个示例中,可以隐式继承附加预测信号,但在MBVD SKIP模式下则不然。
(i)实际上,没有来自合并候选的附加预测信号的继承/合并。
iii.在一个示例中,所有显式发信号传输的附加预测信号可以使用针对第一显式发信号传输的附加预测信号生成的相同AMVP候选列表。
e.对于子块IBC合并模式,可以显式地发信号传输或隐式地继承附加的预测信号。
i.在一个示例中,可以显式地发信号传输附加预测信号,但不在子块IBC SKIP模式中。
ii.在一个示例中,可以隐式继承附加预测信号,但在子块IBC SKIP模式中则不然。
(i)实际上,没有来自合并候选的附加预测信号的继承/合并。
iii.在一个示例中,所有显式发信号传输的附加预测信号可以使用针对第一显式发信号传输的附加预测信号生成的相同AMVP候选列表。
f.对于非仿射IBC AMVP模式,可以显式地发信号传输或隐式地继承附加的预测信号。
i.在一个示例中,可以显式地发信号传输附加预测信号。
ii.在一个示例中,可能必须构造仅一个IBC AMVP候选列表(对于第一个,即非附加预测信号)。
iii.在一个示例中,对于附加预测信号,可以重新使用以上IBC AMVP候选列表。
g.对于仿射IBC AMVP模式,可以显式地发信号传输或隐式地继承附加的预测信号。
i.在一个示例中,可以显式地发信号传输附加预测信号。
ii.在一个示例中,附加的预测信号可以仅支持平移预测信号。
iii.在一个示例中,必须构造一个仿射IBC AMVP候选列表(对于第一个,即非附加预测信号)。
iv.在一个示例中,对于附加预测信号,可以重新使用以上仿射IBC AMVP候选列表。
v.在一个示例中,仿射IBC左上mv预测器可以用作附加平移预测信号的mv预测器。
(i)实际上,仿射IBC右上角或左下角的mv预测器可以用作附加平移预测信号的mv预测器。
h.多假设IBC预测不能与一个PU内组合的IBC和帧间模式或者组合的帧内和IBC模式一起使用。
i.在一个示例中,如果选择组合的IBC和帧间模式以及具有附加预测信号的IBC合并候选,则那些附加预测信号可以不被继承/合并。
ii.在一个示例中,如果与具有附加预测信号的IBC合并候选一起选择组合的帧内和IBC模式,则那些附加预测信号可以不被继承/合并。
iii.在一个示例中,附加的预测信号可以不在组合的IBC和帧间模式中显式地发信号传输。
iv.在一个示例中,可以不在组合帧内和IBC模式中显式地发信号传输附加预测信号。
i.多假设IBC预测不得与一个PU内的TPM_IBC或GPM_IBC一起使用。
i.在一个示例中,如果利用具有附加预测信号的IBC合并候选来选择TPM_IBC模式,则那些附加预测信号可以不被继承/合并。
ii.在一个示例中,如果利用具有附加预测信号的IBC合并候选来选择GPM_IBC模式,则那些附加预测信号可以不被继承/合并。
iii.在一个示例中,可以不在TPM_IBC模式中显式地发信号传输附加预测信号。
iv.在一个示例中,可以不在GPM_IBC模式中显式地发信号传输附加预测信号。
浅谈OBMC与IBC的联合使用
6.在一个示例中,OBMC可以应用于IBC模式。
a.在一个示例中,对于CU边界OBMC和/或子块边界OBMC,当前块和用于OBMC的邻近块的运动类型可以是相同的。
i.在一个示例中,运动类型可以是IBC。
ii.在一个示例中,运动类型可以是规则帧间。
b.在一示例中,对于CU边界OBMC和/或子块边界OBMC,当前块和用于OBMC的邻近块的运动类型可以不同。
i.在一个示例中,一种运动类型可以是IBC,而另一种运动类型可以是常规帧间。
c.此外,经IBC编解码的块何时和/或如何应用OBMC可能与非经IBC编解码的块不同。
i.在一个示例中,权重的设置可以不同。
关于GPM_IBC的扩展
建议从具有几何/三角形分区的经IBC编解码块的候选列表导出的BV可以在用于导出预测信号之前进一步细化。
7.在一个示例中,IBC模式支持具有MBVD的GPM_IBC(称为GPM_IBC_MBVD)。
a.在一个示例中,可以在现有GPM_IBC合并候选之上进一步应用附加的BV差异(BVD)。
b.在一个示例中,可以以与MBVD相同的方式发信号传输BVD。
c.在一个示例中,可以发信号传输两个标志以分别指示附加BVD是否被应用到每个GPM_IBC分区。
i.在电镀地中,可以发信号传输一个单独的标志来共同控制是否将附加的BVD应用于每个GPM_IBC分区。
ii.当一个GPM_IBC分区的标志为真时,可以以与MBVD相同的方式发信号传输其对应的BVD,即,一个距离索引加一个方向索引。
d.在一个示例中,当应用于两个GPM_IBC分区的BVD不相同时,可以允许两个分区的合并索引相同。
e.在一个示例中,当应用具有MBVD的GPM_IBC时,可以引入BV修剪过程来构建GPM_IBC合并候选列表。
i.在一个示例中,修剪过程可以基于阈值。
(i)在一个示例中,如果两个BV的水平分量和垂直分量的差值都小于阈值,则可以从GPM_IBC列表中去除其中之一。
a)因此,如果两个BV的水平分量和垂直分量都相同,则可以将其中之一从GPM_IBC列表中删除。
(ii)在一示例中,阈值可以由当前块大小决定。
a)当然,阈值可以是预定义的。
f.在一个示例中,距离索引指定运动幅度信息并指示距起始点的预定义偏移。
i.可以将偏移量添加到起始MV的水平分量或垂直分量。
ii.可以将偏移添加到起始MV的水平分量和垂直分量两者。
iii.在一个示例中,距离集合可以是{1像素、2像素、4像素、8像素、16像素、32像素}。
iv.在一个示例中,距离集合可以是{1像素、2像素、4像素、8像素、16像素、32像素、64像素、128像素}。
v.在一个示例中,距离集合可以是{1像素、2像素、3像素、4像素、6像素、8像素、16像素}。
vi.在一个示例中,距离集合可以是{1像素、2像素、3像素、4像素、6像素、8像素、16像素、32像素、64像素}。
g.在一个示例中,方向索引表示BVD相对于起始点的方向。方向索引可以表示M个BVD方向。
i.在一个示例中,M设置为4。
(i)在一个示例中,可以使用4个水平/垂直方向。
(ii)在一个示例中,可以使用4个对角线方向。
ii.在一个示例中,M设置为8。
(i)在一个示例中,可以使用4个水平/垂直方向加上4个对角线方向。
8.在一个示例中,IBC模式支持具有模板匹配(TM)的GPM_IBC(称为GPM_IBC_TM)。
a.在一个示例中,当针对CU启用GPM_IBC模式时,可以发信号传输CU级别标志以指示TM是否被应用于两个几何分区。
i.在表面上,当为CU启用GPM_IBC模式时,可以发信号传输两个CU级别标志以指示TM是否应用于每个几何分区。
b.在一个示例中,可以使用TM来细化几何分区的运动信息。
i.在一示例中,如果当前块只有上方模板可用,则GPM_IBC_TM模式只能使用上方模板。
ii.在一示例中,如果当前块只有左侧模板可用,则GPM_IBC_TM模式只能使用左侧模板。
iii.在一个示例中,如果上方模版和左侧模板都可用于当前块,则GPM_IBC_TM模式可以使用左侧模板、上方模版、或者上方模版和左侧模板两者。
iv.当选择TM时,可以根据分区角度使用左、上或左和上相邻样本来构建模板。
(i)表4显示了一个示例。
v.在一个示例中,可以通过使用TM合并模式的相同搜索模式最小化当前模板与当前图片中的参考模板之间的差异来细化运动。
c.在一个示例中,GPM_IBC_MBVD和GPM_IBC_TM可以被独占地启用到一个GPM_IBC块。
本公开的实施例涉及IBC模式扩展。如本文所使用的,术语“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、编解码单元(CU)、预测单元(PU)、变换单元(TU)、预测块(PB)、变换块(TB)或包括多个样本或像素的视频处理单元。块可以是矩形的或非矩形的。
对于帧内块复制(IBC)编解码块,可以使用块向量(BV)来指示从当前块和参考块的位移,参考块是在当前图像内重建的。
W和H是当前块(例如,亮度块)的宽度和高度。
需要说明的是,下述术语并不限于现有标准中定义的具体术语。编解码工具的任何变体也适用。例如,术语“GPM”用于表示导出两组或更多组运动信息并使用导出的运动信息和分割模式/加权掩模来获得最终预测的任何编解码工具,例如,TPM也可以被视为GPM。
下面,Mv1和Mv2是来自三角或几何分区的第一部分和第二部分的运动向量。
图53示出了根据本公开的一些实施例的用于视频处理的方法5300的流程图。方法5300可以在视频的目标视频块与视频的比特流之间的转换期间实现。
如图53所示,在框5302,在视频的目标视频块与视频的比特流之间的转换期间,确定针对目标视频块要应用的基于帧内块复制(IBC)的模式。目标视频块可以包括在视频的目标图片中。目标视频块有时可以指当前块或当前视频块,其可以具有各种大小。如本文所使用地,“运动信息”也可以被称为运动数据。在本公开的实施例中,基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式,仿射IBC MBVD,TM_IBC,其中通过TM_IBC的被导出的BV被用作针对MBVD的基本候选,TM_IBC,其中通过TM_IBC的被导出的BV被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于OBMC的IBC模式,利用MBVD的基于几何分区的IBC模式,或利用TM的基于几何分区的IBC模式;以及基于该基于IBC的模式来生成比特流。
在框5304,根据基于IBC的模式来执行转换。
在基于IBC的模式中,至少可以执行与IBC相关的操作。在一些实施例中,在基于IBC的模式中,预测样本可以至少从由块向量确定的相同视频区域的样本值的块导出。另外,其他原理、操作和/或实现还可以应用在本公开中提出的每个基于IBC的模式中。下面将进一步讨论与各个基于IBC的模式相关的一些实现。
在一些实施例中,转换包括将目标视频块编码为比特流。在这样的实施例中,本公开的方法可以在编码器处实现。在一些实施例中,转换包括从比特流中解码目标视频块。在这样的实施例中,本公开的方法可以在解码器处实现。在一些实施例中,视频的比特流是基于多重假设预测过程的结果生成的。比特流可以存储在非暂态计算机可读记录介质中。
根据本公开的实施例,提出支持更多的基于IBC的模式,并提供了各个基于IBC的模式下的相应实现。这样,可以进一步提高IBC编解码的性能,从而可以提高IBC模式的编解码效率。
可以根据以下条款来描述本公开的实施方式,可以以任何合理的方式组合这些条款的特征。
例如,基于IBC的模式可以指非平移IBC模式。建议利用仿射运动模型从同一图片内的重建样本或像素来预测当前块。
在一些实施例中,如果应用基于仿射运动补偿预测的IBC模式,也可以称为仿射_IBC,则目标视频块的仿射运动场由两个控制点的运动信息来描述,例如,4参数仿射模型或三个控制点,例如6参数仿射模型。
在一些实施例中,可能存在两种仿射运动IBC预测模式,即仿射IBC合并模式和仿射IBC AMVP模式。在一些实施例中,仿射IBC合并模式可以与仿射合并模式类似地执行。在一些其他实施例中,仿射IBC AMVP模式可以与仿射AMVP模式类似地执行。
在一些实施例中,从仿射模型导出的像素或子块的BV可以被舍入或裁剪为整数精度。在一些实施例中,从相邻块继承或从仿射模型导出的控制点的BV预测可以被舍入或裁剪为整数精度。
在某些实施例中,仿射_IBC模式也可能支持光流预测细化。在一些实施例中,仿射_IBC模式的光流预测细化可以与仿射模式的光流预测细化类似地执行。
在一些实施例中,所提出的仿射_IBC模式可以是合并模式,其中没有BVD是经编解码的。一般来说,仿射_IBC模式可以是间帧模式,其中BVD的指示可以是经编解码的。一般来说,仿射_IBC模式可以是合并模式,其中仿射BVD候选列表内的BVD的指示可以是经编解码的或导出的,例如BVD的索引是经编解码的。
在一些实施例中,仿射_IBC模式中使用的控制点的BV可以根据从仿射BV候选列表导出的BV和从给定仿射BVD候选列表选择的BVD导出。
在一些实施例中,如果要应用利用MBVD的仿射IBC,也可以称为仿射_IBC_MBVD,则选择仿射IBC合并候选,可以通过BVD信息的指示进一步细化控制点的BV。仿射IBC合并候选也可以被称为基本仿射IBC合并候选。
在某些实施例中,所有控制点的BV的BVD信息可能相同。在一些其他实施例中,至少两个控制点的BV的BVD信息可以不同。
在一些实施例中,从仿射模型导出的像素或子块的BV可以被舍入或裁剪为整数精度。
在一些实施例中,从相邻块继承或从仿射模型导出的控制点的BV预测可以被舍入或裁剪为整数精度。
在一些实施例中,仿射_IBC_MBVD模式中控制点的BV的BVD信息可能与用于平移MBVD方法的信息不同。
在一些实施例中,仿射BVD候选列表可以仅包括整数BVD候选。
关于模板匹配和IBC的联合使用,在某些实施例中,如果将TM_IBC导出的BV用作MBVD的基本候选,也可以称为TM_IBC_MBVD,则BV可以基于TM_IBC导出,TM_IBC可以通过发信号传输的BVD信息进一步细化。在一些实施例中,BVD可以以与MBVD相同的方式指示。在一些其他实施例中,可以以与非合并IBC模式相同的方式发信号传输BVD。
在一些实施例中,可以发信号传输语法元素来指示是否通过MBVD进一步细化通过TM_IBC的被导出的BV。例如,仅当应用TM_IBC模式时,语法元素才会发信号传输。
在一些实施例中,通过TM_IBC导出的BV可以用作非合并IBC模式(也可以称为IBCAMVP模式)的BV预测候选。在一些示例中,当可用时,通过TM_IBC的被导出的BV可以是非合并IBC模式的唯一候选。在一些其他示例中,当可用时,通过TM_IBC的被导出的BV可以是非合并IBC模式的第k候选(例如,第一候选)。
在一些实施例中,语法元素可以被发信号传输以指示通过TM_IBC的被导出的BV是否可以用作非合并IBC模式的BV预测候选。例如,仅当应用TM_IBC模式时,语法元素才会发信号传输。
在多-假设IBC上,在某些实施例中,如果要应用多假设IBC预测模式(也可以称为MHP_IBC),则一个或多个附加运动-补偿预测信号与仅使用单向预测信号的传统方式不同,被发信号传输/导出。
在一些实施例中,得到的整体预测信号是通过逐样本加权叠加获得的。在一些实施例中,得到的整体预测信号与每个附加预测信号迭代累积,如下所示:
pn+1=(1-αn+1)pn+αn+1hn+1
在一些实施例中,得到的整体预测信号作为最后一个pn。即,pn具有最大索引n。在一些实施例中,可以使用两个附加的预测信号,即n是2。在另一些实施例中,可以使用一个附加的预测信号,即n为1。
在一些实施例中,逐样本加权叠加的加权因子α可以是预定义的。例如,将α设置为1/2。
在一些实施例中,权重因子α可以从预定义的集合中选择。在一些实施例中,预定义集合可以是{1/2,1/4}、{1/4,-1/8}或{1/2,1/4,-1/8}。
在一些实施例中,权重因子α可以由索引指定。
在一些实施例中,为了确定最佳权重因子α,使用了使用Hadamard失真测量和近似比特率的简化RD成本。
在一些实施例中,权重因子α对于每个样本可能是位置相关的。例如,对于某些位置,α可能等于1。作为另一种选择,对于某些位置,α可能等于0。当然,对于某些位置,α可能等于1/2。
在一些实施例中,如果要应用MHP_IBC,则可以通过指定块向量预测器索引和块向量差异来显式指示每个附加预测假设的运动参数,这也可以称为第一指示模式,或者通过指定合并索引隐式地指示,也可以称为第二指示模式。
在一些实施例中,第一指示模式和第二指示模式通过单独的多假设IBC合并标志来彼此区分。在一些实施例中,多假设运动估计是在第一指示模式下执行的。
在一些实施例中,针对预定义数目的IBC模式,附加的IBC预测假设被搜索,即具有低于阈值Hadamard RD成本的Hadamard RD成本的IBC模式。例如,可以搜索两个最好的IBC模式,即具有最低的Hadamard RD成本。为此,对于每个加权因子,执行具有受限搜索范围R的运动估计。例如,R设置为16。
在一些实施例中,为了确定最佳权重因子,使用了使用Hadamard失真测量和近似比特率的简化RD成本。
在一些实施例中,如果要应用MHP_IBC,则可以针对正常IBC合并模式显式地发信号传输或隐式地继承附加的预测信号,这可以被称为非MBVD或非子块IBC合并。在一些实施例中,所有显式发信号传输的附加预测信号可以使用相同的IBC AMVP候选列表,该IBCAMVP候选列表针对第一显式发信号传输的附加预测信号被生成。在一些实施例中,可以显式地发信号传输附加预测信号,但不在IBC SKIP模式中。在一些其他实施例中,附加预测信号可能被隐式继承,但不在IBC SKIP模式中。
在一些实施例中,如果要应用MHP_IBC,则可以针对MBVD模式显式地发信号传输或隐式地继承附加的预测信号。在一些实施例中,可以显式地发信号传输附加预测信号,但不在MBVD SKIP模式中。在其他一些实施例中,附加预测信号可以隐式继承,但不在MBVD SKIP模式下。实际上,没有来自合并候选的附加预测信号的继承/合并。在一些实施例中,所有显式发信号传输的附加预测信号可以使用相同的AMVP候选列表,所述AMVP候选列表针对第一显式发信号传输的附加预测信号被生成。
在一些实施例中,如果要应用MHP_IBC,则对于子块IBC合并模式可以显式地发信号传输或隐式地继承附加的预测信号。在一些实施例中,可以显式地发信号传输附加预测信号,但不能在子块IBC SKIP模式中。在一些其他实施例中,附加预测信号可以隐式继承,但不在子块IBC SKIP模式中。实际上,没有来自合并候选的附加预测信号的继承/合并。在一些实施例中,所有显式发信号传输的附加预测信号可以使用相同的AMVP候选列表,该AMVP候选列表针对第一显式发信号传输的附加预测信号被生成。
在一些实施例中,如果要应用MHP_IBC,则对于非仿射IBC AMVP模式可以显式地发信号传输或隐式地继承附加预测信号。在一些实施例中,可以显式地发信号传输附加的预测信号。在一些实施例中,例如,对于第一附加预测信号,即非附加预测信号,可能只需要构建一个IBC AMVP候选列表。在一些实施例中,对于附加的预测信号,可以重用上述IBC AMVP候选列表。
在一些实施例中,如果要应用MHP_IBC,则对于仿射IBC AMVP模式可以显式地发信号传输或隐式地继承附加预测信号。例如,可以显式地发信号传输附加预测信号。在一些实施例中,附加预测信号可能仅支持平移预测信号。
在这种情况下,例如,可能必须针对第一附加预测信号(即,非附加预测信号)构造一个仿射IBC AMVP候选列表。对于附加预测信号,可以重新使用上方的仿射IBC AMVP候选列表。在一些实施例中,仿射IBC左上mv预测器可以用作附加平移预测信号的mv预测器。实际上,仿射IBC右上角或左下角的mv预测器可以用作附加平移预测信号的mv预测器。
在一些实施例中,如果要应用MHP_IBC,则多假设IBC预测在一个预测单元(PU)内不能与组合的IBC和帧间模式或者组合的帧内和IBC模式一起使用。
在一些实施例中,如果利用具有附加预测信号的IBC合并候选选择组合的IBC和帧间模式,则那些附加预测信号可能不会被继承/合并。在一些实施例中,如果利用具有附加预测信号的IBC合并候选选择组合的帧内和IBC模式,则那些附加预测信号可以不被继承/合并。
在一些实施例中,附加的预测信号可能不会在组合的IBC和帧间模式中显式地发信号传输。在一些实施例中,附加的预测信号可能不会在组合的帧内和IBC模式中显式地发信号传输。
在一些实施例中,如果要应用MHP_IBC,则多假设IBC预测不能在一个PU内与TPM_IBC或GPM_IBC一起使用。
在一些实施例中,如果利用具有附加预测信号的IBC合并候选选择TPM_IBC模式,则那些附加预测信号可能不会被继承/合并。在一些实施例中,如果利用具有附加预测信号的IBC合并候选来选择GPM_IBC模式,则那些附加预测信号可能不会被继承/合并。
在一些实施例中,附加的预测信号可能不会在TPM_IBC模式中显式地发信号传输。在一些实施例中,附加预测信号可能不会在GPM_IBC模式中显式地发信号传输。
关于OBMC和IBC的联合使用,在某些实施例中,如果要应用基于OBMC的IBC模式,则用于OBMC的当前块和邻近块的运动类型可以对于CU边界OBMC或子块边界OBMC中的至少一个是相同的。在某些实施例中,运动类型可能是IBC。在一些其他实施例中,运动类型可以是规则帧间。
在一些实施例中,如果要应用基于OBMC的IBC模式,则用于OBMC的当前块和邻近块的运动类型对于CU边界OBMC或子块边界OBMC中的至少一个可以是不同的。在一些实施例中,一种运动类型可以是IBC,另一种运动类型可以是规则帧间。
此外,在一些实施例中,何时和/或如何将OBMC应用于经IBC编解码的块可能与非经IBC编解码的块不同。例如,权重的设置可能不同。
在GPM_IBC的扩展上,建议从利用几何/三角形分区的IBC经编解码块的候选列表导出的BV在用于导出预测信号之前被进一步细化。
在一些实施例中,如果要应用基于MBVD的几何分区的IBC模式(也可以称为GPM_IBC_MBVD),则可以在现有GPM_IBC合并候选顶部进一步应用附加的BV差异(BVD)。
在一些实施例中,BVD可以以与MBVD相同的方式来发信号传输。在一些实施例中,可以发信号传输两个标志来分别指示是否将附加的BVD应用于每个GPM_IBC分区。替选地,可以发信号传输一个单独的标志来共同控制是否将附加的BVD应用于每个GPM_IBC分区。在这种情况下,当一个GPM_IBC分区的标志为真时,可以以与MBVD相同的方式发信号传输其对应的BVD,即,一个距离索引加一个方向索引。
在一些实施例中,当应用于两个分区的BVD不相同时,可以允许两个GPM_IBC分区的合并索引相同。
在一些实施例中,如果要应用GPM_IBC_MBVD,则当应用利用MBVD的GPM_IBC时,可以引入BV修剪过程来构造GPM_IBC合并候选列表。
在一些实施例中,修剪过程可以基于阈值。例如,如果两个BV的水平分量和垂直分量的差值均小于阈值,则可以将其中之一从GPM_IBC列表中移除。因此,如果两个BV的水平分量和垂直分量都相同,则可以将其中之一从GPM_IBC列表中移除。
在一些实施例中,阈值可以由当前块大小决定。替选地,阈值可以是预定义的。
在一些实施例中,如果要应用GPM_IBC_MBVD,则距离索引可以指定运动幅度信息并指示距起始点的预定义偏移。在某些实施例中,可以将偏移量添加到起始MV的水平分量或垂直分量。在一些其他实施例中,可以将偏移量添加到起始MV的水平分量和垂直分量。
在一些实施例中,距离集合可以是{1像素,2像素,4像素,8像素,16像素,32像素}。在一些其他实施例中,距离集合可以是{1像素,2像素,4像素,8像素,16像素,32像素,64像素,128像素}。在一些其他实施例中,距离集合可以是{1像素,2像素,3像素,4像素,6像素,8像素,16像素}。在一些其他实施例中,距离集合可以是{1像素、2像素、3像素、4像素、6像素、8像素、16像素、32像素、64像素}。
在一些实施例中,如果要应用GPM_IBC_MBVD,则方向索引表示BVD相对于起始点的方向。例如,方向索引可以表示M个BVD方向。
例如,M设置为4。在这种情况下,可以使用4个水平方向或4个垂直方向。替选地,可以使用4个对角线方向。
作为另一个例子,M设置为8。在这种情况下,可以使用4个水平方向加上4个对角方向。替选地,可以使用4个垂直方向加4个对角线方向。
在一些实施例中,如果要应用基于具有模板匹配(TM)的几何分区的IBC模式(也可以称为GPM_IBC_TM),则当针对CU启用GPM_IBC模式时,可以发信号传输CU级别标志指示TM是否应用于两个几何分区。在表面上,当为CU启用GPM_IBC模式时,可以发信号传输两个CU级别标志以指示TM是否应用于每个几何分区。
在一些实施例中,如果要应用GPM_IBC_TM,则可以使用TM来细化几何分区的运动信息。作为一个选项,如果当前块只有上方模板可用,则GPM_IBC_TM模式只能使用上方模板。作为另一种选择,如果当前块只有左侧模板可用,则GPM_IBC_TM模式只能使用左侧模板。替选地,如果当前块的上方模版和左侧模板都可用,则GPM_IBC_TM模式可以使用左侧模板、上方模版或上方模版和左侧模板两者。
在一些实施例中,当选择TM时,可以根据分区角度使用左侧、上方或左侧和上方相邻样本来构造模板。例如,表4中显示了一个示例。
在一些实施例中,可以通过使用TM合并模式的相同搜索模式最小化当前模板和当前图片中的参考模板之间的差异来细化运动。
在一些实施例中,GPM_IBC_MBVD和GPM_IBC_TM可以独占地启用到一个GPM_IBC块。
根据本公开的实施例,提出支持更多的基于IBC的模式,并在相应基于IBC的模式下提供相应的实现。这样,可以进一步提高IBC编解码的性能,从而可以提高IBC模式的编解码效率。
可以根据以下条款来描述本公开的实施方式,可以以任何合理的方式组合这些条款的特征。
条款1.一种用于视频处理的方法,包括:在视频的目标视频块和所述视频的比特流之间的转换期间,确定将被应用于所述目标视频块的基于帧内块复制(IBC)的模式,所述基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式(仿射_IBC),利用块向量差异的仿射IBC合并模式(MBVD),针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对所述MBVD的基本候选,针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于重叠的块运动补偿(OBMC)的IBC模式,利用所述MBVD的基于几何分区的IBC模式,或利用模板匹配(TM)的基于几何分区的IBC模式;以及基于所述基于IBC的模式来执行所述转换。
条款2.根据条款1所述的方法,其中仿射运动模型被利用以从同一图片内的重建样本或像素预测所述目标视频块。
条款3.根据条款1或条款2所述的方法,其中所述仿射_IBC模式将被应用,并且其中所述目标视频块的仿射运动场由两个控制点或三个控制点的运动信息来描述。
条款4.根据条款3所述的方法,其中所述目标视频块的所述仿射运动场由4参数仿射模型或6参数仿射模型来描述。
条款5.根据条款1-4中任一项所述的方法,其中c包括仿射IBC合并模式和仿射IBC高级运动向量预测(AMVP)模式。
条款6.根据条款5所述的方法,其中所述仿射IBC合并模式被与仿射合并模式类似地执行。
条款7.根据条款6所述的方法,其中所述仿射IBC AMVP模式被与仿射AMVP模式类似地执行。
条款8.根据条款1所述的方法,其中针对所述目标视频块的像素的、或针对从仿射模型导出的所述目标视频块的子块的BV被舍入或裁剪为整数精度。
条款9.根据条款1所述的方法,其中从所述目标视频块的邻近视频块继承的、或从仿射模型导出的控制点的BV预测被舍入或裁剪为整数精度。
条款10.根据条款1所述的方法,其中利用光流的预测细化基于仿射运动补偿预测被用于所述IBC模式。
条款11.根据条款10所述的方法,其中基于仿射运动补偿预测的、针对所述IBC模式的利用光流的所述预测细化被与针对仿射模式的利用光流的预测细化类似地执行。
条款12.根据条款1所述的方法,其中所述仿射_IBC模式是合并模式,其中没有BV差异(BVD)是经编解码的。
条款13.根据条款1所述的方法,其中所述仿射_IBC模式是帧间模式,其中BV差异(BVD)的指示是经编解码的。
条款14.根据条款1所述的方法,其中所述仿射_IBC模式是合并模式,其中仿射BVD候选列表内的BV差异(BVD)的指示是经编解码或被导出的。
条款15.根据条款14所述的方法,其中BVD的索引是经编解码的。
条款16.根据条款1所述的方法,其中所述仿射_IBC模式中使用的控制点的块向量可以根据从仿射BV候选列表导出的一个或多个BV以及从给定仿射BVD候选列表中选择的一个或多个BV差异(BVD)来被导出。
条款17.根据条款16所述的方法,其中所述仿射IBC MBVD模式将被应用,并且其中仿射IBC合并候选被选择,并且控制点的BV通过BVD信息的指示被进一步细化。
条款18.根据条款17所述的方法,其中针对所有控制点的所述BV的所述BVD信息是相同的。
条款19.根据条款17所述的方法,其中至少两个控制点的所述BV的所述BVD信息是不同的。
条款20.根据条款17所述的方法,其中针对所述目标视频块的像素、或针对从仿射模型导出的所述目标视频块的子块的BV被舍入或裁剪为整数精度。
条款21.根据条款17所述的方法,其中从所述目标视频块的邻近块继承的、或从仿射模型导出的控制点的BV预测被舍入或裁剪为整数精度。
条款22.根据条款17所述的方法,其中在所述仿射_IBC_MBVD模式中的针对控制点的所述BV的所述BVD信息不同于针对平移MBVD方法被利用的BVD信息。
条款23.根据条款17所述的方法,其中所述仿射BVD候选列表仅包括整数BVD候选。
条款24.根据条款1所述的方法,其中如果通过所述TM_IBC的所述被导出的BV被用作针对所述MBVD的所述基本候选,所述BV通过被指示的块向量差异(BVD)信息被进一步细化。
条款25.根据条款24所述的方法,其中BVD以与MBVD相同的方式被指示。
条款26.根据条款24所述的方法,其中所述BVD以与所述IBC非合并模式相同的方式被通过信号传输。
条款27.根据条款24所述的方法,其中语法元素指示通过所述TM_IBC的所述被导出的BV是否通过所述MBVD被进一步细化。
条款28.根据条款27所述的方法,其中所述语法元素仅在所述TM_IBC模式被应用时才被指示。
条款29.根据条款1所述的方法,其中通过所述TM_IBC的所述被导出的BV在所述被导出的BV可用的情况下,是针对所述IBC非合并模式的唯一候选。
条款30.根据条款1所述的方法,其中通过所述TM_IBC的所述被导出的BV在所述被导出的BV可用的情况下,是针对所述IBC非合并模式的第k候选。
条款31.根据条款30所述的方法,其中所述第k候选是第一候选。
条款32.根据条款1所述的方法,其中语法元素指示通过所述TM_IBC的所述被导出的BV是否被用作针对所述IBC非合并模式的BV预测候选。
条款33.根据条款32所述的方法,其中所述语法元素仅在所述TM_IBC模式被应用时才被指示。
条款34.根据条款1所述的方法,其中基于多假设的所述IBC预测模式将被应用,并且其中除了传统的单向预测信号之外,针对运动补偿的一个或多个附加预测信号进一步被指示或被导出。
条款35.根据条款1所述的方法,其中用于运动补偿的所述一个或多个附加预测信号被指示或被导出,并且与仅单向预测信号被使用的情况不同。
条款36.根据条款34所述的方法,其中得到的整体预测信号通过逐样本加权叠加被导出。
条款37.根据条款36所述的方法,其中所述得到的整体预测信号被与每个附加预测信号迭代累加为:pn+1=(1-αn+1)pn+αn+1hn+1
条款38.根据条款36所述的方法,其中得到的整体预测信号被导出为具有最大索引(n+1)的最后一个加权预测信号。
条款39.根据条款38所述的方法,其中一个或两个附加预测信号被使用。
条款40.根据条款36所述的方法,其中逐样本加权叠加的加权因子被预定义。
条款41.根据条款40所述的方法,其中所述加权因子被设置为1/2。
条款42.根据条款36所述的方法,其中所述逐样本加权叠加的加权因子从预定义集合中被选择。
条款43.根据条款42所述的方法,其中所述预定义集合包括以下中的一项:{1/2,1/4},{1/4、-1/8},或{1/2、1/4、-1/8}。
条款44.根据条款42所述的方法,其中所述加权因子被索引指定。
条款45.根据条款42所述的方法,其中使用Hadamard失真测量和近似比特率的简化率失真(RD)成本被用于确定最佳加权因子。
条款46.根据条款36所述的方法,其中逐样本加权叠加的加权因子对于每个样本来说是位置相关的。
条款47.根据条款46所述的方法,其中所述加权因子被设置为1、0或1/2。
条款48.根据条款36所述的方法,其中针对所述逐样本加权叠加的加权因子被从编码器指示到解码器。
条款49.根据条款34所述的方法,其中每个附加预测假设的运动参数由以下指示:第一指示模式,在所述第一指示模式中,每个附加预测假设的所述运动参数通过指定块向量预测器索引和块向量差异被显式指示,或第二指示模式,在所述第二指示模式中,每个附加预测假设的所述运动参数通过指定合并索引被隐式指示。
条款50.根据条款49所述的方法,其中所述第一指示模式和所述第二指示模式通过单独的多假设IBC合并标志被彼此区分。
条款51.根据条款49所述的方法,其中多假设运动估计在所述第一指示模式下被执行。
条款52.根据条款51所述的方法,其中针对具有前N个最低Hadamard率失真(RD)成本的预定义数目(N)的IBC模式,附加IBC预测假设被搜索。
条款53.根据条款51所述的方法,其中针对具有前两个最低Hadamard RD成本的IBC模式中的两个IBC模式,所述附加IBC预测假设被搜索。
条款54.根据条款51所述的方法,其中具有受限搜索范围的运动估计被执行以用于所述搜索。
条款55.根据条款54所述的方法,其中受限搜索范围被设置为16。
条款56.根据条款51所述的方法,其中使用Hadamard失真测量和近似比特率的简化率失真(RD)成本被用于确定最佳加权因子。
条款57.根据条款34所述的方法,其中所述附加预测信号针对正常IBC合并模式被显式指示或隐式继承。
条款58.根据条款57所述的方法,其中被显式指示的所述附加预测信号使用相同的IBC高级运动向量预测(AMVP)候选列表,所述IBC高级运动向量预测(AMVP)候选列表针对第一显式指示的附加预测信号被生成。
条款59.根据条款57所述的方法,其中除了IBC SKIP模式之外,附加预测信号被显式指示或隐式继承。
条款60.根据条款34所述的方法,其中所述附加预测信号针对所述MBVD模式被显式指示或隐式继承。
条款61.根据条款60所述的方法,其中除了MBVD SKIP模式之外,所述附加预测信号被显式指示或隐式继承。
条款62.根据条款61所述的方法,其中不存在来自合并候选的所述附加预测信号的继承或合并。
条款63.根据条款60所述的方法,其中所有显式指示的附加预测信号使用相同的高级运动向量预测(AMVP)候选列表,所述高级运动向量预测(AMVP)候选列表针对第一显式通过信号传输的附加预测信号被生成。
条款64.根据条款34所述的方法,其中对于子块IBC合并模式,所述附加预测信号被显式指示或隐式继承。
条款65.根据条款64所述的方法,其中除了子块IBC SKIP模式之外,所述附加预测信号被显式指示或隐式继承。
条款66.根据条款65所述的方法,其中不存在来自合并候选的所述附加预测信号的继承或合并。
条款67.根据条款64所述的方法,其中所有显式指示的附加预测信号使用相同的高级运动向量预测(AMVP)候选列表,所述高级运动向量预测(AMVP)候选列表针对第一显式通过信号传输的附加预测信号被生成。
条款68.根据条款34所述的方法,其中对于非仿射IBC AMVP模式,所述附加预测信号被显式指示或隐式继承。
条款69.根据条款68所述的方法,其中仅一个IBC AMVP候选列表将被构建。
条款70.根据条款69所述的方法,其中针对非附加预测信号,所述仅一个IBC AMVP候选列表将被构建。
条款71.根据条款69所述的方法,其中所述IBC AMVP候选列表被重新用于所述附加预测信号。
条款72.根据条款34所述的方法,其中针对仿射IBC AMVP模式,所述附加预测信号被显式指示或隐式继承。
条款73.根据条款72所述的方法,其中所述附加预测信号仅支持平移预测信号。
条款74.根据条款72所述的方法,其中IBC AMVP候选列表将被构建。
条款75.根据条款74所述的方法,其中针对非附加预测信号,所述IBC AMVP候选列表将被构建。
条款76.根据条款74所述的方法,其中所述IBC AMVP候选列表被重新用于所述附加预测信号。
条款77.根据条款74-76中任一项所述的方法,其中仿射IBC左上控制点运动向量(MV)预测器被用作针对所述附加平移预测信号的MV预测器。
条款78.根据条款74-76中任一项所述的方法,其中仿射IBC右上或左下控制点运动向量(MV)预测器被用作针对所述附加平移预测信号的MV预测器。
条款79.根据条款34所述的方法,其中具有所述多重假设的所述IBC预测模式不在预测单元(PU)内与以下至少一项一起使用:组合的IBC和帧间模式,或组合的帧内和IBC组合。
条款80.根据条款79所述的方法,其中如果所述组合的IBC和帧间模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
条款81.根据条款79所述的方法,其中如果所述组合的帧内和IBC模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
条款82.根据条款79或条款80所述的方法,其中所述附加预测信号不在所述组合的IBC和帧间模式中被显式指示。
条款83.根据条款79或条款81所述的方法,其中所述附加预测信号在所述组合的帧内和IBC模式中被显式指示。
条款84.根据条款34所述的方法,其中具有所述多重假设的所述IBC预测模式在预测单元(PU)内与以下中的至少一项一起被使用:基于三角形分区的IBC模式(TPM_IBC),或基于几何分区的IBC模式(GPM_IBC)。
条款85.根据条款84所述的方法,其中如果所述TPM_IBC模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
条款86.根据条款84所述的方法,其中如果所述GPM_IBC模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
条款87.根据条款84或条款85所述的方法,其中所述附加预测信号不在所述TPM_IBC模式中被显式指示。
条款88.根据条款84或条款86所述的方法,其中所述附加预测信号不在所述GPM_IBC模式中被显式指示。
条款89.根据条款1所述的方法,其中基于所述OBMC的所述IBC模式将被应用,并且其中所述目标视频块和用于所述OBMC的邻近视频块的运动类型对于以下至少一项是相同的:编解码单元(CU)边界OBMC,或子块边界OBMC。
条款90.根据条款89所述的方法,其中所述运动类型是IBC或常规帧间。
条款91.根据条款1所述的方法,其中基于所述OBMC的所述IBC模式将被应用,并且其中所述目标视频块和用于所述OBMC的邻近视频块的运动类型针对以下至少一项是不同的:编解码单元(CU)边界OBMC,或子块边界OBMC。
条款92.根据条款91所述的方法,其中一种运动类型是IBC,并且另一种运动类型是常规帧间。
条款93.根据条款1所述的方法,其中何时和/或如何针对经IBC编解码的块应用所述OBMC与针对非经IBC编解码的块不同。
条款94.根据条款93所述的方法,其中针对所述经IBC编解码的块的所述OBMC的权重设置与针对所述非经IBC编解码的块的OBMC的权重设置不同。
条款95.根据条款1所述的方法,其中利用几何或三角形分区从针对经IBC编解码块的候选列表导出的所述BV在被用于导出所述预测信号之前被进一步细化。
条款96.根据条款1所述的方法,其中所述基于利用MBVD的几何分区的IBC模式(GPM_IBC)将被应用,并且其中附加块向量差异(BVD)在现有GPM_IBC合并候选之上被进一步应用。
条款97.根据条款94所述的方法,其中所述附加BVD以与所述MBVD相同的方式被指示。
条款98.根据条款96或97所述的方法,其中两个标志单独指示附加BVD是否被应用到每个GPM_IBC分区。
条款99.根据条款98所述的方法,其中一个单个标志被指示以共同控制所述附加BVD是否被应用到每个GPM_IBC分区。
条款100.根据条款98所述的方法,其中如果一个GPM_IBC分区的标志为真,与所述GPM_IBC分区相对应的BVD以与所述MBVD相同的方式被指示。
条款101.根据条款100所述的方法,其中所述BVD通过一距离索引加上一方向索引被指示。
条款102.根据条款1所述的方法,其中基于利用MBVD的几何分区的IBC模式(GPM_IBC),并且其中两个GPM_IBC分区的合并索引在将被应用于所述两个分区的块向量差异(BVD)不相同的情况下,被允许是相同的。
条款103.根据条款1所述的方法,其中所述基于利用MBVD的几何分区(GPM_IBC)的IBC模式将被应用,并且其中如果利用MBVD的所述GPM_IBC被应用,则BV修剪过程被引入以构造GPM_IBC合并候选列表。
条款104.根据条款103所述的方法,其中所述BV修剪过程可以是基于阈值的。
条款105.根据条款104所述的方法,其中如果针对两个BV的水平分量和垂直分量的差异均小于阈值,所述两个BV中的一个被从所述GPM_IBC合并候选列表中移除。
条款106.根据条款104所述的方法,其中如果针对两个BV的水平分量和垂直分量两者是相同的,所述两个BV中的一个被从所述GPM_IBC合并候选列表中移除。
条款107.根据条款104-106中任一项所述的方法,其中所述阈值由所述目标视频块的尺寸决定。
条款108.根据条款104-106中任一项所述的方法,其中所述阈值被预定义。
条款109.根据条款1所述的方法,其中所述基于利用MBVD的几何分区(GPM_IBC)的IBC模式将被应用,并且其中距离索引指定运动幅度信息并指示距起始点的预定义偏移。
条款110.根据条款109所述的方法,其中所述预定义偏移包括添加到以下至少一项的偏移:起始BV的水平分量,或所述起始BV的垂直分量。
条款111.根据条款109或条款110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、4个像素、8个像素、16个像素或32个像素。
条款112.根据条款109或条款110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、4个像素、8个像素、16个像素、32个像素、64个像素或128个像素。
条款113.根据条款109或条款110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、3个像素、4个像素、6个像素、8个像素或16个像素。
条款114.根据条款109或条款110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、3个像素、4个像素、6个像素、8个像素、16个像素、32个像素或64个像素。
条款115.根据条款1所述的方法,其中所述基于利用MBVD的几何分区(GPM_IBC)的IBC模式将被应用,并且其中方向索引表示所述块向量差异(BVD)相对于起始点的方向。
条款116.根据条款115所述的方法,其中所述方向索引表示预定义数目的BVD方向。
条款117.根据条款116所述的方法,其中所述预定义数目被设置为4。
条款118.根据条款116所述的方法,其中2个水平方向和2个垂直方向被用于所述BVD方向。
条款119.根据条款116所述的方法,其中4个对角线方向被用于所述BVD方向。
条款120.根据条款116所述的方法,其中所述预定义数目被设置为8。
条款121.根据条款116所述的方法,其中4个对角线方向加上2个水平方向和2个垂直方向被用于所述BVD方向。
条款122.根据条款1所述的方法,其中所述利用TM的基于几何分区的IBC模式(GPM_IBC)将被应用,并且其中如果所述GPM_IBC模式针对编解码单元(CU)被启用,CU级别标志指示TM是否被应用于两个几何分区。
条款123.根据条款1所述的方法,其中所述利用TM的基于几何分区的所述IBC模式(GPM_IBC)将被应用,并且其中如果所述GPM_IBC模式针对编解码单元(CU)被启用,两个CU级别标志指示TM是否被应用于每个几何分区。
条款124.根据条款1所述的方法,其中所述利用TM的基于几何分区的所述IBC模式(GPM_IBC)将被应用,并且其中针对至少一个几何分区的运动信息使用所述TM被细化。
条款125.根据条款124所述的方法,其中如果仅上方模板针对所述目标视频块可用,所述GPM_IBC_TM模式使用所述上方模板。
条款126.根据条款124所述的方法,其中如果仅左侧模板针对所述目标视频块可用,所述GPM_IBC_TM模式使用所述左侧模板。
条款127.根据条款124所述的方法,其中如果所述上方模板和所述左侧模板两者可用于所述目标视频块,所述GPM_IBC_TM模式使用以下至少一项:所述左侧模板,所述上方模板,或所述上方模板和所述左侧模板。
条款128.根据条款124所述的方法,其中如果所述TM被选取,模板使用以下至少一项被构建:根据分区角度的左侧邻近样本,或根据所述分区角度的上方邻近样本。
条款129.根据条款124所述的方法,其中通过使用TM合并模式的相同搜索模式来最小化与所述目标视频块相关联的目标图片中的当前模板和参考模板之间的差异,运动被细化。
条款130.根据条款1所述的方法,其中所述基于利用所述MBVD的几何分区的IBC模式和所述利用所述TM的基于几何分区的IBC模式被独占启用给一个GPM_IBC块。
条款131.根据条款1-130中任一项所述的方法,其中在基于IBC的预测模式中,预测样本从由所述BV确定的相同视频区域的样本值的块被导出。
条款132.根据条款1-131中任一项所述的方法,其中所述转换包括将所述目标视频块编码为所述比特流。
条款133.根据条款1-131中任一项所述的方法,其中所述转换包括从所述比特流解码所述目标视频块。
条款134.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时,使得所述处理器执行根据条款1-133中任一项所述的方法。
条款135.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储指令,所述指令使得处理器执行根据条款1-133中任一项所述的方法。
条款136.一种非暂态计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:在视频的目标视频块和所述视频的比特流之间的转换期间,确定将被应用于所述目标视频块的基于帧内块复制(IBC)的模式,所述基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式,仿射IBC利用块向量差异的合并模式(MBVD),针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对所述MBVD的基本候选,针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于重叠的块运动补偿(OBMC)的IBC模式,利用所述MBVD的基于几何分区的IBC模式,或利用模板匹配(TM)的基于几何分区的IBC模式;以及基于所述基于IBC的模式来生成所述比特流。
条款137.一种用于存储视频的比特流的方法,包括:确定将被应用于目标视频块的基于帧内块复制(IBC)的模式,所述基于IBC的模式基于以下至少一项:基于仿射运动补偿预测的IBC模式,仿射IBC利用块向量差异的合并模式(MBVD),针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对所述MBVD的基本候选,针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,基于多假设的IBC预测模式,基于重叠的块运动补偿(OBMC)的IBC模式,利用所述MBVD的基于几何分区的IBC模式,或利用模板匹配(TM)的基于几何分区的IBC模式;以及基于所述基于IBC的模式来生成所述比特流;以及将所述比特流存储在非暂态计算机可读记录介质中。
设备示例
图54示出了可以在其中实现本公开的各种实施例的计算设备5400的框图。计算设备5400可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。
应当理解的是,图54中示出的计算设备5400仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制如图54所示,计算设备5400包括通用计算设备5400。计算设备5400可以至少包括一个或多个处理器或处理单元5410、存储器5420、存储单元5430、一个或多个通信单元5440、一个或多个输入设备5450以及一个或多个输出设备5460。
在一些实施例中,计算设备5400可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备5400可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。
处理单元5410可以是物理处理器或虚拟处理器,并且可以基于存储在存储器5420中的程序实现各种处理。在多处理器系统中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备5400的并行处理能力。处理单元5410也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备5400通常包括各种计算机存储介质。这样的介质可以是由计算设备5400可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器5420可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元5430可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备5400中被访问的介质。
计算设备5400还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图54中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元5440经由通信介质与另一计算设备通信。另外,计算设备5400中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备5400可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备5450可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备5460可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元5440,计算设备5400还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备5400还可以与一个或多个使用户能够与计算设备5400交互的设备通信,或任何使计算设备5400能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备5400的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
在本公开的实施例中,计算设备5400可以被用于实现视频编码/解码。存储器5420可以包括具有一个或多个程序指令的一个或多个视频编解码模块5425。这些模块能够由处理单元5410访问和执行,以执行本文描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备5450可以接收视频数据作为待编码的输入5470。视频数据可以由例如视频编解码模块5425处理,以生成经编码的码流。经编码的码流可以经由输出设备5460作为输出5480被提供。
在执行视频解码的示例实施例中,输入设备5450可以接收经编码的码流作为输入5470。经编码的码流可以由例如视频编解码模块5425处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备5460作为输出5480被提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。
Claims (137)
1.一种用于视频处理的方法,包括:
在视频的目标视频块和所述视频的比特流之间的转换期间,确定将被应用于所述目标视频块的基于帧内块复制(IBC)的模式,所述基于IBC的模式基于以下至少一项:
基于仿射运动补偿预测的IBC模式(仿射_IBC),
利用块向量差异的仿射IBC合并模式(MBVD),
针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对所述MBVD的基本候选,
针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,
基于多假设的IBC预测模式,
基于重叠的块运动补偿(OBMC)的IBC模式,
利用所述MBVD的基于几何分区的IBC模式,或
利用模板匹配(TM)的基于几何分区的IBC模式;以及
基于所述基于IBC的模式来执行所述转换。
2.根据权利要求1所述的方法,其中仿射运动模型被利用以从同一图片内的重建样本或像素预测所述目标视频块。
3.根据权利要求1或权利要求2所述的方法,其中所述仿射_IBC模式将被应用,并且其中所述目标视频块的仿射运动场由两个控制点或三个控制点的运动信息来描述。
4.根据权利要求3所述的方法,其中所述目标视频块的所述仿射运动场由4参数仿射模型或6参数仿射模型来描述。
5.根据权利要求书1-4中任一项所述的方法,其中c包括仿射IBC合并模式和仿射IBC高级运动向量预测(AMVP)模式。
6.根据权利要求5所述的方法,其中所述仿射IBC合并模式被与仿射合并模式类似地执行。
7.根据权利要求6所述的方法,其中所述仿射IBC AMVP模式被与仿射AMVP模式类似地执行。
8.根据权利要求1所述的方法,其中针对所述目标视频块的像素的、或针对从仿射模型导出的所述目标视频块的子块的BV被舍入或裁剪为整数精度。
9.根据权利要求1所述的方法,其中从所述目标视频块的邻近视频块继承的、或从仿射模型导出的控制点的BV预测被舍入或裁剪为整数精度。
10.根据权利要求1所述的方法,其中利用光流的预测细化基于仿射运动补偿预测被用于所述IBC模式。
11.根据权利要求10所述的方法,其中基于仿射运动补偿预测的、针对所述IBC模式的利用光流的所述预测细化被与针对仿射模式的利用光流的预测细化类似地执行。
12.根据权利要求1所述的方法,其中所述仿射_IBC模式是合并模式,其中没有BV差异(BVD)是经编解码的。
13.根据权利要求1所述的方法,其中所述仿射_IBC模式是帧间模式,其中BV差异(BVD)的指示是经编解码的。
14.根据权利要求1所述的方法,其中所述仿射_IBC模式是合并模式,其中仿射BVD候选列表内的BV差异(BVD)的指示是经编解码或被导出的。
15.根据权利要求14所述的方法,其中BVD的索引是经编解码的。
16.根据权利要求1所述的方法,其中所述仿射_IBC模式中使用的控制点的块向量可以根据从仿射BV候选列表导出的一个或多个BV以及从给定仿射BVD候选列表中选择的一个或多个BV差异(BVD)来被导出。
17.根据权利要求16所述的方法,其中所述仿射IBC MBVD模式将被应用,并且其中仿射IBC合并候选被选择,并且控制点的BV通过BVD信息的指示被进一步细化。
18.根据权利要求17所述的方法,其中针对所有控制点的所述BV的所述BVD信息是相同的。
19.根据权利要求17所述的方法,其中至少两个控制点的所述BV的所述BVD信息是不同的。
20.根据权利要求17所述的方法,其中针对所述目标视频块的像素、或针对从仿射模型导出的所述目标视频块的子块的BV被舍入或裁剪为整数精度。
21.根据权利要求17所述的方法,其中从所述目标视频块的邻近块继承的、或从仿射模型导出的控制点的BV预测被舍入或裁剪为整数精度。
22.根据权利要求17所述的方法,其中在所述仿射_IBC_MBVD模式中的针对控制点的所述BV的所述BVD信息不同于针对平移MBVD方法被利用的BVD信息。
23.根据权利要求17所述的方法,其中所述仿射BVD候选列表仅包括整数BVD候选。
24.根据权利要求1所述的方法,其中如果通过所述TM_IBC的所述被导出的BV被用作针对所述MBVD的所述基本候选,所述BV通过被指示的块向量差异(BVD)信息被进一步细化。
25.根据权利要求24所述的方法,其中BVD以与MBVD相同的方式被指示。
26.根据权利要求24所述的方法,其中所述BVD以与所述IBC非合并模式相同的方式被通过信号传输。
27.根据权利要求24所述的方法,其中语法元素指示通过所述TM_IBC的所述被导出的BV是否通过所述MBVD被进一步细化。
28.根据权利要求27所述的方法,其中所述语法元素仅在所述TM_IBC模式被应用时才被指示。
29.根据权利要求1所述的方法,其中通过所述TM_IBC的所述被导出的BV在所述被导出的BV可用的情况下,是针对所述IBC非合并模式的唯一候选。
30.根据权利要求1所述的方法,其中通过所述TM_IBC的所述被导出的BV在所述被导出的BV可用的情况下,是针对所述IBC非合并模式的第k候选。
31.根据权利要求30所述的方法,其中所述第k候选是第一候选。
32.根据权利要求1所述的方法,其中语法元素指示通过所述TM_IBC的所述被导出的BV是否被用作针对所述IBC非合并模式的BV预测候选。
33.根据权利要求32所述的方法,其中所述语法元素仅在所述TM_IBC模式被应用时才被指示。
34.根据权利要求1所述的方法,其中基于多假设的所述IBC预测模式将被应用,并且其中除了传统的单向预测信号之外,针对运动补偿的一个或多个附加预测信号进一步被指示或被导出。
35.根据权利要求1所述的方法,其中用于运动补偿的所述一个或多个附加预测信号被指示或被导出,并且与仅单向预测信号被使用的情况不同。
36.根据权利要求34所述的方法,其中得到的整体预测信号通过逐样本加权叠加被导出。
37.根据权利要求36所述的方法,其中所述得到的整体预测信号被与每个附加预测信号迭代累加为:
pn+1=(1-αn+1)pn+αn+1hn+1
38.根据权利要求36所述的方法,其中得到的整体预测信号被导出为具有最大索引(n+1)的最后一个加权预测信号。
39.根据权利要求38所述的方法,其中一个或两个附加预测信号被使用。
40.根据权利要求36所述的方法,其中逐样本加权叠加的加权因子被预定义。
41.根据权利要求40所述的方法,其中所述加权因子被设置为1/2。
42.根据权利要求36所述的方法,其中所述逐样本加权叠加的加权因子从预定义集合中被选择。
43.根据权利要求42所述的方法,其中所述预定义集合包括以下中的一项:
{1/2,1/4},
{1/4、-1/8},或
{1/2、1/4、-1/8}。
44.根据权利要求42所述的方法,其中所述加权因子被索引指定。
45.根据权利要求42所述的方法,其中使用Hadamard失真测量和近似比特率的简化率失真(RD)成本被用于确定最佳加权因子。
46.根据权利要求36所述的方法,其中逐样本加权叠加的加权因子对于每个样本来说是位置相关的。
47.根据权利要求46所述的方法,其中所述加权因子被设置为1、0或1/2。
48.根据权利要求36所述的方法,其中针对所述逐样本加权叠加的加权因子被从编码器指示到解码器。
49.根据权利要求34所述的方法,其中每个附加预测假设的运动参数由以下指示:
第一指示模式,在所述第一指示模式中,每个附加预测假设的所述运动参数通过指定块向量预测器索引和块向量差异被显式指示,或
第二指示模式,在所述第二指示模式中,每个附加预测假设的所述运动参数通过指定合并索引被隐式指示。
50.根据权利要求49所述的方法,其中所述第一指示模式和所述第二指示模式通过单独的多假设IBC合并标志被彼此区分。
51.根据权利要求49所述的方法,其中多假设运动估计在所述第一指示模式下被执行。
52.根据权利要求51所述的方法,其中针对具有前N个最低Hadamard率失真(RD)成本的预定义数目(N)的IBC模式,附加IBC预测假设被搜索。
53.根据权利要求51所述的方法,其中针对具有前两个最低Hadamard RD成本的IBC模式中的两个IBC模式,所述附加IBC预测假设被搜索。
54.根据权利要求51所述的方法,其中具有受限搜索范围的运动估计被执行以用于所述搜索。
55.根据权利要求54所述的方法,其中受限搜索范围被设置为16。
56.根据权利要求51所述的方法,其中使用Hadamard失真测量和近似比特率的简化率失真(RD)成本被用于确定最佳加权因子。
57.根据权利要求34所述的方法,其中所述附加预测信号针对正常IBC合并模式被显式指示或隐式继承。
58.根据权利要求57所述的方法,其中被显式指示的所述附加预测信号使用相同的IBC高级运动向量预测(AMVP)候选列表,所述IBC高级运动向量预测(AMVP)候选列表针对第一显式指示的附加预测信号被生成。
59.根据权利要求57所述的方法,其中除了IBC SKIP模式之外,附加预测信号被显式指示或隐式继承。
60.根据权利要求34所述的方法,其中所述附加预测信号针对所述MBVD模式被显式指示或隐式继承。
61.根据权利要求60所述的方法,其中除了MBVD SKIP模式之外,所述附加预测信号被显式指示或隐式继承。
62.根据权利要求61所述的方法,其中不存在来自合并候选的所述附加预测信号的继承或合并。
63.根据权利要求60所述的方法,其中所有显式指示的附加预测信号使用相同的高级运动向量预测(AMVP)候选列表,所述高级运动向量预测(AMVP)候选列表针对第一显式通过信号传输的附加预测信号被生成。
64.根据权利要求34所述的方法,其中对于子块IBC合并模式,所述附加预测信号被显式指示或隐式继承。
65.根据权利要求64所述的方法,其中除了子块IBC SKIP模式之外,所述附加预测信号被显式指示或隐式继承。
66.根据权利要求65所述的方法,其中不存在来自合并候选的所述附加预测信号的继承或合并。
67.根据权利要求64所述的方法,其中所有显式指示的附加预测信号使用相同的高级运动向量预测(AMVP)候选列表,所述高级运动向量预测(AMVP)候选列表针对第一显式通过信号传输的附加预测信号被生成。
68.根据权利要求34所述的方法,其中对于非仿射IBC AMVP模式,所述附加预测信号被显式指示或隐式继承。
69.根据权利要求68所述的方法,其中仅一个IBC AMVP候选列表将被构建。
70.根据权利要求69所述的方法,其中针对非附加预测信号,所述仅一个IBC AMVP候选列表将被构建。
71.根据权利要求69所述的方法,其中所述IBC AMVP候选列表被重新用于所述附加预测信号。
72.根据权利要求34所述的方法,其中针对仿射IBC AMVP模式,所述附加预测信号被显式指示或隐式继承。
73.根据权利要求72所述的方法,其中所述附加预测信号仅支持平移预测信号。
74.根据权利要求72所述的方法,其中IBC AMVP候选列表将被构建。
75.根据权利要求74所述的方法,其中针对非附加预测信号,所述IBC AMVP候选列表将被构建。
76.根据权利要求74所述的方法,其中所述IBC AMVP候选列表被重新用于所述附加预测信号。
77.根据权利要求书74-76中任一项所述的方法,其中仿射IBC左上控制点运动向量(MV)预测器被用作针对所述附加平移预测信号的MV预测器。
78.根据权利要求书74-76中任一项所述的方法,其中仿射IBC右上或左下控制点运动向量(MV)预测器被用作针对所述附加平移预测信号的MV预测器。
79.根据权利要求34所述的方法,其中具有所述多重假设的所述IBC预测模式不在预测单元(PU)内与以下至少一项一起使用:
组合的IBC和帧间模式,或
组合的帧内和IBC组合。
80.根据权利要求79所述的方法,其中如果所述组合的IBC和帧间模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
81.根据权利要求79所述的方法,其中如果所述组合的帧内和IBC模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
82.根据权利要求79或权利要求80所述的方法,其中所述附加预测信号不在所述组合的IBC和帧间模式中被显式指示。
83.根据权利要求79或权利要求81所述的方法,其中所述附加预测信号在所述组合的帧内和IBC模式中被显式指示。
84.根据权利要求34所述的方法,其中具有所述多重假设的所述IBC预测模式在预测单元(PU)内与以下中的至少一项一起被使用:
基于三角形分区的IBC模式(TPM_IBC),或
基于几何分区的IBC模式(GPM_IBC)。
85.根据权利要求84所述的方法,其中如果所述TPM_IBC模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
86.根据权利要求84所述的方法,其中如果所述GPM_IBC模式利用具有所述附加预测信号的IBC合并候选被选择,所述附加预测信号不被继承或合并。
87.根据权利要求84或权利要求85所述的方法,其中所述附加预测信号不在所述TPM_IBC模式中被显式指示。
88.根据权利要求84或权利要求86所述的方法,其中所述附加预测信号不在所述GPM_IBC模式中被显式指示。
89.根据权利要求1所述的方法,其中基于所述OBMC的所述IBC模式将被应用,并且其中所述目标视频块和用于所述OBMC的邻近视频块的运动类型对于以下至少一项是相同的:
编解码单元(CU)边界OBMC,或
子块边界OBMC。
90.根据权利要求89所述的方法,其中所述运动类型是IBC或常规帧间。
91.根据权利要求1所述的方法,其中基于所述OBMC的所述IBC模式将被应用,并且其中所述目标视频块和用于所述OBMC的邻近视频块的运动类型针对以下至少一项是不同的:
编解码单元(CU)边界OBMC,或
子块边界OBMC。
92.根据权利要求91所述的方法,其中一种运动类型是IBC,并且另一种运动类型是常规帧间。
93.根据权利要求1所述的方法,其中何时和/或如何针对经IBC编解码的块应用所述OBMC与针对非经IBC编解码的块不同。
94.根据权利要求93所述的方法,其中针对所述经IBC编解码的块的所述OBMC的权重设置与针对所述非经IBC编解码的块的OBMC的权重设置不同。
95.根据权利要求1所述的方法,其中利用几何或三角形分区从针对经IBC编解码块的候选列表导出的所述BV在被用于导出所述预测信号之前被进一步细化。
96.根据权利要求1所述的方法,其中所述基于利用MBVD的几何分区的IBC模式(GPM_IBC)将被应用,并且其中附加块向量差异(BVD)在现有GPM_IBC合并候选之上被进一步应用。
97.根据权利要求94所述的方法,其中所述附加BVD以与所述MBVD相同的方式被指示。
98.根据权利要求96或97所述的方法,其中两个标志单独指示附加BVD是否被应用到每个GPM_IBC分区。
99.根据权利要求98所述的方法,其中一个单个标志被指示以共同控制所述附加BVD是否被应用到每个GPM_IBC分区。
100.根据权利要求98所述的方法,其中如果一个GPM_IBC分区的标志为真,与所述GPM_IBC分区相对应的BVD以与所述MBVD相同的方式被指示。
101.根据权利要求100所述的方法,其中所述BVD通过一距离索引加上一方向索引被指示。
102.根据权利要求1所述的方法,其中基于利用MBVD的几何分区的IBC模式(GPM_IBC),并且其中两个GPM_IBC分区的合并索引在将被应用于所述两个分区的块向量差异(BVD)不相同的情况下,被允许是相同的。
103.根据权利要求1所述的方法,其中所述基于利用MBVD的几何分区(GPM_IBC)的IBC模式将被应用,并且其中如果利用MBVD的所述GPM_IBC被应用,则BV修剪过程被引入以构造GPM_IBC合并候选列表。
104.根据权利要求103所述的方法,其中所述BV修剪过程可以是基于阈值的。
105.根据权利要求104所述的方法,其中如果针对两个BV的水平分量和垂直分量的差异均小于阈值,所述两个BV中的一个被从所述GPM_IBC合并候选列表中移除。
106.根据权利要求104所述的方法,其中如果针对两个BV的水平分量和垂直分量两者是相同的,所述两个BV中的一个被从所述GPM_IBC合并候选列表中移除。
107.根据权利要求104-106中任一项所述的方法,其中所述阈值由所述目标视频块的尺寸决定。
108.根据权利要求104-106中任一项所述的方法,其中所述阈值被预定义。
109.根据权利要求1所述的方法,其中所述基于利用MBVD的几何分区(GPM_IBC)的IBC模式将被应用,并且其中距离索引指定运动幅度信息并指示距起始点的预定义偏移。
110.根据权利要求109所述的方法,其中所述预定义偏移包括添加到以下至少一项的偏移:
起始BV的水平分量,或
所述起始BV的垂直分量。
111.根据权利要求109或权利要求110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、4个像素、8个像素、16个像素或32个像素。
112.根据权利要求109或权利要求110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、4个像素、8个像素、16个像素、32个像素、64个像素或128个像素。
113.根据权利要求109或权利要求110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、3个像素、4个像素、6个像素、8个像素或16个像素。
114.根据权利要求109或权利要求110所述的方法,其中所述预定义偏移是以下中的一项:1个像素、2个像素、3个像素、4个像素、6个像素、8个像素、16个像素、32个像素或64个像素。
115.根据权利要求1所述的方法,其中所述基于利用MBVD的几何分区(GPM_IBC)的IBC模式将被应用,并且其中方向索引表示所述块向量差异(BVD)相对于起始点的方向。
116.根据权利要求115所述的方法,其中所述方向索引表示预定义数目的BVD方向。
117.根据权利要求116所述的方法,其中所述预定义数目被设置为4。
118.根据权利要求116所述的方法,其中2个水平方向和2个垂直方向被用于所述BVD方向。
119.根据权利要求116所述的方法,其中4个对角线方向被用于所述BVD方向。
120.根据权利要求116所述的方法,其中所述预定义数目被设置为8。
121.根据权利要求116所述的方法,其中4个对角线方向加上2个水平方向和2个垂直方向被用于所述BVD方向。
122.根据权利要求1所述的方法,其中所述利用TM的基于几何分区的IBC模式(GPM_IBC)将被应用,并且其中如果所述GPM_IBC模式针对编解码单元(CU)被启用,CU级别标志指示TM是否被应用于两个几何分区。
123.根据权利要求1所述的方法,其中所述利用TM的基于几何分区的所述IBC模式(GPM_IBC)将被应用,并且其中如果所述GPM_IBC模式针对编解码单元(CU)被启用,两个CU级别标志指示TM是否被应用于每个几何分区。
124.根据权利要求1所述的方法,其中所述利用TM的基于几何分区的所述IBC模式(GPM_IBC)将被应用,并且其中针对至少一个几何分区的运动信息使用所述TM被细化。
125.根据权利要求124所述的方法,其中如果仅上方模板针对所述目标视频块可用,所述GPM_IBC_TM模式使用所述上方模板。
126.根据权利要求124所述的方法,其中如果仅左侧模板针对所述目标视频块可用,所述GPM_IBC_TM模式使用所述左侧模板。
127.根据权利要求124所述的方法,其中如果所述上方模板和所述左侧模板两者可用于所述目标视频块,所述GPM_IBC_TM模式使用以下至少一项:
所述左侧模板,
所述上方模板,或
所述上方模板和所述左侧模板。
128.根据权利要求124所述的方法,其中如果所述TM被选取,模板使用以下至少一项被构建:
根据分区角度的左侧邻近样本,或
根据所述分区角度的上方邻近样本。
129.根据权利要求124所述的方法,其中通过使用TM合并模式的相同搜索模式来最小化与所述目标视频块相关联的目标图片中的当前模板和参考模板之间的差异,运动被细化。
130.根据权利要求1所述的方法,其中所述基于利用所述MBVD的几何分区的IBC模式和所述利用所述TM的基于几何分区的IBC模式被独占启用给一个GPM_IBC块。
131.根据权利要求1-130中任一项所述的方法,其中在基于IBC的预测模式中,预测样本从由所述BV确定的相同视频区域的样本值的块被导出。
132.根据权利要求1-131中任一项所述的方法,其中所述转换包括将所述目标视频块编码为所述比特流。
133.根据权利要求1-131中任一项所述的方法,其中所述转换包括从所述比特流解码所述目标视频块。
134.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂态存储器,其中所述指令在由所述处理器执行时,使得所述处理器执行根据权利要求1-133中任一项所述的方法。
135.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储指令,所述指令使得处理器执行根据权利要求1-133中任一项所述的方法。
136.一种非暂态计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:
在视频的目标视频块和所述视频的比特流之间的转换期间,确定将被应用于所述目标视频块的基于帧内块复制(IBC)的模式,所述基于IBC的模式基于以下至少一项:
基于仿射运动补偿预测的IBC模式,
仿射IBC利用块向量差异的合并模式(MBVD),
针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对所述MBVD的基本候选,
针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,
基于多假设的IBC预测模式,
基于重叠的块运动补偿(OBMC)的IBC模式,
利用所述MBVD的基于几何分区的IBC模式,或
利用模板匹配(TM)的基于几何分区的IBC模式;以及
基于所述基于IBC的模式来生成所述比特流。
137.一种用于存储视频的比特流的方法,包括:
确定将被应用于目标视频块的基于帧内块复制(IBC)的模式,所述基于IBC的模式基于以下至少一项:
基于仿射运动补偿预测的IBC模式,
仿射IBC利用块向量差异的合并模式(MBVD),
针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对所述MBVD的基本候选,
针对IBC模式的帧内模板匹配(TM_IBC),其中通过所述TM_IBC的被导出的块向量(BV)被用作针对IBC非合并模式的BV预测候选,
基于多假设的IBC预测模式,
基于重叠的块运动补偿(OBMC)的IBC模式,
利用所述MBVD的基于几何分区的IBC模式,或
利用模板匹配(TM)的基于几何分区的IBC模式;以及
基于所述基于IBC的模式来生成所述比特流;以及
将所述比特流存储在非暂态计算机可读记录介质中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2021/120511 | 2021-09-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118355659A true CN118355659A (zh) | 2024-07-16 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112868240B (zh) | 并置的局部照明补偿和修改的帧间预测编解码 | |
CN110944170B (zh) | 扩展Merge预测 | |
CN112868238B (zh) | 局部照明补偿和帧间预测编解码之间的并置 | |
CN113383554A (zh) | LUT和共享Merge列表之间的交互 | |
WO2023198131A1 (en) | Method, apparatus, and medium for video processing | |
CN118285100A (zh) | 用于视频处理的方法、装置和介质 | |
CN117529919A (zh) | 用于视频处理的方法、设备和介质 | |
CN117813820A (zh) | 用于视频处理的方法、装置和介质 | |
CN117426095A (zh) | 用于视频处理的方法、设备和介质 | |
CN117337564A (zh) | 用于视频处理的方法、装置和介质 | |
CN117957837A (zh) | 用于视频处理的方法、装置和介质 | |
CN117561711A (zh) | 用于视频处理的方法、装置和介质 | |
CN118355659A (zh) | 用于视频处理的方法、装置和介质 | |
WO2024012460A1 (en) | Method, apparatus, and medium for video processing | |
WO2023098829A1 (en) | Method, apparatus, and medium for video processing | |
WO2023179783A1 (en) | Method, apparatus, and medium for video processing | |
WO2023061306A1 (en) | Method, apparatus, and medium for video processing | |
WO2023051652A1 (en) | Method, apparatus, and medium for video processing | |
WO2023198135A1 (en) | Method, apparatus, and medium for video processing | |
US20240214586A1 (en) | Method, apparatus, and medium for video processing | |
CN118235389A (zh) | 用于视频处理的方法、装置和介质 | |
WO2024046479A1 (en) | Method, apparatus, and medium for video processing | |
WO2023078430A1 (en) | Method, apparatus, and medium for video processing | |
WO2023131047A1 (en) | Method, apparatus, and medium for video processing | |
WO2024083197A1 (en) | Method, apparatus, and medium for video processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |