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

视频编解码中的加权预测

文献发布时间:2023-06-19 12:19:35


视频编解码中的加权预测

相关申请的交叉引用

根据适用的专利法和/或巴黎公约的规则,本申请旨在及时要求2019年1月15日提交的国际专利No.PCT/CN2019/071759的优先权和利益。为了相关法律下的所有目的,前述申请的全部公开通过引用并入作为本申请的公开的一部分。

技术领域

本专利文档涉及视频编解码(coding)领域。

背景技术

目前,正在努力提高当前视频编解码器技术的性能,以提供更好的压缩率或提供允许更低复杂性或并行实施的视频编码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定它们的有效性。

发明内容

本文档提供了用于在视频编码器或解码器的实施例中结合局部照明补偿的技术。

在一个示例方面,公开了一种视频处理的方法。该方法包括:为视频的当前块和视频的比特流表示之间的转换生成当前块的运动矢量;以互斥的方式调用加权预测处理工具或第二处理工具;以及根据该调用来执行该转换。调用第二处理工具包括细化运动矢量。

在另一示例方面,公开了一种视频处理的方法。该方法包括:在视频块和视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(CTU)的边界块,并且因此对于视频块启用局部照明补偿(local illumination compensation,LIC)编解码工具;基于确定对于视频块启用LIC编解码工具来推导视频块的局部照明补偿(LIC)的参数;以及通过使用LIC调整视频块的像素值来执行该转换。

在另一示例方面,公开了一种视频处理的方法。该方法包括:在视频块和视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(CTU)的内部块,并且因此对于视频块禁用局部照明补偿(LIC)编解码工具;继承视频块的LIC参数;以及通过使用LIC调整视频块的像素值来执行该转换。

在又一示例方面,公开了另一种视频处理的方法。该方法包括:在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿和帧内块复制编解码工具均被启用以供当前块使用;以及通过对视频块执行局部照明补偿(LIC)和帧内块复制操作来执行该转换。

在又一示例方面,公开了另一种视频处理的方法。该方法包括:通过对视频块执行局部照明补偿(LIC)和帧内块复制操作来执行该转换;以及执行当前块和当前块的对应比特流表示之间的转换。

在又一示例方面,公开了另一种视频处理的方法。该方法包括:在视频的视频块和视频的比特流表示之间的转换期间,使用视频块的临近块的至少一些样点来确定视频块的局部照明补偿(LIC)参数;以及通过使用确定的参数执行LIC来执行视频块和比特流表示之间的转换。

在又一示例方面,公开了另一种视频处理的方法。该方法包括:执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且仅对使用包括三角形预测模式的几何预测结构的视频块启用局部照明补偿(LIC)。

在又一示例方面,公开了另一种视频处理的方法。该方法包括:执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且在转换为其对应比特流表示的转换中,对于当前块的少于所有像素,实施局部照明补偿(LIC)。

在又一示例方面,公开了另一种视频处理的方法。该方法包括:在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和广义双向预测(GBi)或多假设帧间预测编解码工具均被启用以供当前块使用;以及通过对视频块执行LIC和GBi或多假设帧间预测操作来执行该转换。

在又一示例方面,公开了另一种视频处理方法。该方法包括:在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和组合帧间-帧内预测(combinedinter-intra prediction,CIIP)编解码工具均被启用以供当前块使用;以及通过对视频块执行LIC和CIIP操作来执行该转换。

在又一代表性方面,本文描述的各种技术可以体现为存储在非暂时性计算机可读介质上的计算机程序产品。该计算机程序产品包括用于执行本文描述的方法的程序代码。

在又一代表性方面,视频解码器装置可以实施本文描述的方法。

一个或多个实施方式的细节在下面的附件、附图和描述中阐述。从说明书和附图以及从权利要求书中,其他特征将是显而易见的。

附图说明

图1示出了用于Merge候选列表构造的推导过程的示例。

图2示出了空域Merge候选的示例位置。

图3示出了考虑用于空域Merge候选的冗余检查的候选对的示例。

图4示出了N×2N和2N×N分割的第二PU(Prediction Unit,预测单元)的示例位置。

图5是时域Merge候选的运动矢量缩放的图示。

图6示出了时域Merge候选C0和C1的候选位置的示例。

图7示出了组合的双向预测Merge候选的示例。

图8示出了运动矢量预测候选的推导过程的示例。

图9是空域运动矢量候选的运动矢量缩放的示例图示。

图10示出了用于编解码单元(Coding Unit,CU)的高级时域运动矢量预测值(advanced temporal motion vector predictor,ATMVP)的示例。

图11示出了具有四个子块(A-D)及其临近块(a-d)的一个CU的示例。

图12示出了平面运动矢量预测过程的示例。

图13是用不同的运动矢量(motion vector,MV)精度进行编码的示例的流程图。

图14是其中应用OBMC的子块的示例图示。

图15示出了用于推导IC参数的临近样点的示例。

图16是将编解码单元(CU)划分成两个三角形预测单元的图示。

图17示出了临近块的位置的示例。

图18示出了CU应用第一加权因子组的示例。

图19示出了运动矢量存储实施方式的示例。

图20示出了简化仿射运动模型的示例。

图21示出了每一子块的仿射MVF(Motion Vector Field,运动矢量场)的示例。

图22示出了(a)4参数仿射模型和(b)6参数仿射模型的示例。

图23示出了AF_INTER模式的运动矢量预测值(MV)的示例。

图24A-图24B示出了AF_MERGE模式的候选的示例。

图25示出了仿射Merge模式的候选位置。

图26示出了双边匹配的示例过程。

图27示出了模板匹配的示例过程。

图28示出了帧速率上转换(frame rate upconversion,FRUC)中的单边运动估计(unilateral motion estimation,ME)的实施方式。

图29示出了最终运动矢量表达(Ultimate Motion Vector Expression,UMVE)搜索过程的实施例。

图30示出了UMVE搜索点的示例。

图31示出了距离索引和距离偏移映射的示例。

图32示出了光流轨迹的示例。

图33A-图33B示出了不具有块扩展的双向光流(Bi-directional Optical flow,BIO)的示例:a)块的外部的访问位置;b)使用填充以避免额外的存储器访问和计算。

图34示出了基于双边模板匹配使用解码器侧运动矢量细化(Decoder-sidemotion vector refinement,DMVR)的示例。

图35示出了在双边滤波器中使用的临近样点的示例。

图36示出了覆盖在加权计算中使用的两个样点的窗口的示例。

图37示出了利用提出的基于历史的运动矢量预测(history based motionvector prediction,HMVP)方法的解码流程的示例。

图38示出了在提出的HMVP方法中更新表的示例。

图39是用于实施本文档中描述的视频编码或解码技术的硬件平台的框图。

图40示出了用于实施本文档中描述的方法和技术的硬件平台的示例。

图41是视频处理的示例方法的流程图。

图42是根据本公开的视频处理的示例方法的流程图。

具体实施方式

本文档提供了可以体现在数字视频编码器和解码器中的几种技术。为了清楚理解,在本文档中使用章节标题,并且不将每个章节中公开的技术和实施例的范围仅限于该章节。

1.概述

本专利文档涉及视频编解码技术。具体地,它涉及视频编解码中局部照明补偿(LIC)。它可以应用于现有的视频编解码标准,如HEVC,或即将要定案的标准(例如,多功能视频编解码(VVC))。它也可以应用于未来的视频编解码标准或视频编解码器。

2.视频编码/解码技术的示例

视频编解码标准主要是通过熟知的ITU-T和ISO/IEC标准的发展而演变的。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4可视化,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用时域预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索组(Joint Video Exploration Team,JVET)。此后,JVET采用了许多新方法,并将其放入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(JVET)成立,以致力于VVC标准,目标是与HEVC相比比特率降低50%。

2.1HEVC/H.265的帧间预测

每个帧间预测的PU具有针对一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。也可以使用inter_pred_idc来信令通知对两个参考图片列表之一的使用。运动矢量可以被显式地编解码为相对于预测值的增量。

当用跳过模式来编解码CU时,一个PU与该CU相关联,并且不存在显著的残差系数、没有编解码的运动矢量增量或参考图片索引。规定Merge模式,由此从包括空域和时域候选的临近PU获得当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅仅对于跳跃模式。Merge模式的可选方案是运动参数的显式传输,其中每一PU显式地信令通知运动矢量(更准确地,与运动矢量预测量相比的运动矢量差)、每个参考图片列表的对应参考图片索引和参考图片列表的使用。在本公开中,这种模式被称为高级运动矢量预测(AdvancedMotion Vector Prediction,AMVP)。

当信令指示要使用两个参考图片列表之一时,从一个样点块中产生PU。这被称为“单向预测”。单向预测可用于P条带和B条带。

当信令指示要使用两个参考图片列表两者时,从两个样点块中产生PU。这被称为“双向预测”。双向预测仅可用于B条带。

以下文本提供了关于HEVC中规定的帧间预测模式的详细信息。描述将从Merge模式开始。

2.1.1Merge模式

2.1.1.1Merge模式的候选的推导

当使用Merge模式预测PU时,从比特流中解析指向Merge候选列表中的条目的索引并将其用于检索运动信息。在HEVC标准中规定了该列表的构建,并且可以按照以下步骤的序列进行概述:

·步骤1:初始候选推导

ο步骤1.1:空域候选推导

ο步骤1.2:空域候选的冗余检查

ο步骤1.3:时域候选推导

·步骤2:附加候选插入

ο步骤2.1:创建双向预测候选

ο步骤2.2:插入零运动候选

这些步骤也示意性地描绘在图1中。对于空域Merge候选推导,在位于五个不同位置的候选当中选择最多四个Merge候选。对于时域Merge候选推导,在两个候选当中选择最多一个Merge候选。由于在解码器处假设每个PU的恒定数量的候选,因此当从步骤1获得的候选的数量未达到在条带头中信令通知的Merge候选的最大数量(MaxNumMergeCand)时,生成附加候选。由于候选的数量是恒定的,因此使用截断一元二值化(Truncated Unarybinarization,TU)对最佳Merge候选的索引进行编码。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,其与2N×2N预测单元的Merge候选列表相同。

在下文中,将详细描述与上述步骤相关联的操作。

2.1.1.2空域候选推导

在空域Merge候选的推导中,在位于图2中描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A

2.1.1.3时域候选推导

在该步骤中,仅一个候选被添加到列表。具体地,在该时域Merge候选的推导中,基于属于与给定参考图片列表内的当前图片具有最小POC(Picture Order Count,图片顺序计数)差的图片的并置(co-located)PU来推导缩放运动矢量。在条带头中显式地信令通知要用于推导并置PU的参考图片列表。图5是时域Merge候选的运动矢量缩放的图示。如在图5中由虚线所示的,获得了对时域Merge候选的缩放运动矢量,该缩放运动矢量是使用POC距离tb和td从并置PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,并且td被定义为并置图片的参考图片与并置图片之间的POC差。时域Merge候选的参考图片索引被设置为等于零。HEVC规范中描述了缩放过程的实际实现。对于B条带,两个运动矢量(一个用于参考图片列表0,并且另一个用于参考图片列表1)被获得并组合,以生成双向预测Merge候选。

在属于参考帧的并置PU(Y)中,在候选C

2.1.1.4附加候选插入

除了空域和时域的Merge候选之外,存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空域和时域的Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一初始候选的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,则它们将形成新的双向预测候选。作为示例,图7示出了当原始列表(在左边)中的两个候选(其具有mvL0和refIdxL0或mvL1和refIdxL1)用于创建被添加到最终列表(在右边)的组合的双向预测Merge候选。存在许多关于组合的规则,这些规则被考虑以生成这些附加Merge候选。

插入零运动候选以填充Merge候选列表中的剩余条目,并因此达到MaxNumMergeCand容量。这些候选具有零空域位移和参考图片索引,该索引从零开始并且每次向列表中添加新的零运动候选时增加。这些候选使用的参考帧的数量对于单向预测和双向预测分别是1和2。最后,不对这些候选执行冗余检查。

2.1.1.5用于并行处理的运动估计区域

为了加速编码过程,可以并行执行运动估计,由此同时推导给定区域内部的所有预测单元的运动矢量。从空域邻域推导Merge候选可能干扰并行处理,因为一个预测单元不能从临近PU推导运动参数,直到其相关联的运动估计完成。为了缓和编解码效率和处理时延之间的折衷(trade-off),HEVC定义了运动估计区域(Motion Estimation Region,MER),使用“log2_parallel_merge_level_minus2”语法元素在图片参数集中信令通知MER的尺寸。当定义MER时,落入相同区域的Merge候选被标记为不可用,并且因此在列表构建中不被考虑。

2.1.2AMVP

AMVP利用运动矢量与临近PU的时空相关性,该时空相关性用于运动参数的显式传输。对于每个参考图片列表,通过首先检查左边、上边的时域临近的PU位置的可用性,移除冗余候选并添加零矢量以使候选列表为恒定长度,来构建运动矢量候选列表。然后,编码器可以从候选列表中选择最佳预测量,并发送指示所选候选的对应索引。与Merge索引信令类似,使用截断一元对最佳运动矢量候选的索引进行编码。在这种情况下,要编码的最大值是2(见图8)。在接下来的章节中,将提供关于运动矢量预测候选的推导过程的细节。

2.1.2.1AMVP候选的推导

在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导,最终基于位于如图8所描绘的五个不同位置的每个PU的运动矢量来推导两个运动矢量候选。

对于时域运动矢量候选推导,从基于两个不同并置位置而推导的两个候选中选择一个运动矢量候选。在产生第一时空候选列表之后,移除列表中的重复运动矢量候选。如果潜在候选的数量大于二,则从列表中移除相关联的参考图片列表内其参考图片索引大于1的运动矢量候选。如果时空运动矢量候选的数量小于二,则将附加的零运动矢量候选添加到列表。

2.1.2.2空域运动矢量候选

在空域运动矢量候选的推导中,在从位于如图2所描绘的位置的PU中推导的五个潜在候选当中考虑最多两个候选,那些位置与运动Merge的位置相同。当前PU的左侧的推导顺序被定义为A

·没有空域缩放

-(1)相同的参考图片列表,以及相同的参考图片索引(相同的POC)

-(2)不同的参考图片列表,但是相同的参考图片(相同的POC)

·空域缩放

-(3)相同的参考图片列表,但是不同的参考图片(不同的POC)

-(4)不同的参考图片列表,以及不同的参考图片(不同的POC)

首先检查非空域缩放情况,然后是空域缩放。当不管参考图片列表如何POC在临近PU的参考图片与当前PU的参考图片之间都不同时,考虑空域缩放。如果左边候选的所有PU都不可用或者都是帧内编解码的,则允许针对上边运动矢量的缩放以帮助对左边和上边MV候选的并行推导。否则,针对上边运动矢量不允许空域缩放。

如图9所描绘的,在空域缩放过程中,以与时域缩放类似的方式来缩放临近PU的运动矢量。主要差异在于参考图片列表和当前PU的索引被给定作为输入;实际缩放过程与时域缩放的过程相同。

2.1.2.3时域运动矢量候选

除了参考图片索引推导之外,用于推导时域Merge候选的所有过程与用于推导空域运动矢量候选的过程相同(参见图6)。参考图片索引被信令通知给解码器。

2.2JEM中的新的帧间预测方法

2.2.1基于子CU的运动矢量预测

在具有QTBT(QuadTrees plus Binary Trees,四叉树加二叉树)的JEM中,每个CU对于每个预测方向最多可以有一个运动参数集。通过将大CU划分成子CU并且推导大CU的所有子CU的运动信息,在编码器中考虑两个子CU级别运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从比并置参考图片中的当前CU小的多个块中提取运动信息的多个集合。在时空运动矢量预测(Spatial-Temporal Motion Vector Prediction,STMVP)方法中,通过使用时域运动矢量预测量和空域临近运动矢量来递归地推导子CU的运动矢量。

为了保持对于子CU运动预测的更准确的运动场,当前禁用参考帧的运动压缩。

2.2.1.1可选时域运动矢量预测

在可选时域运动矢量预测(ATMVP)方法中,通过从比当前CU小的块提取运动信息(包括运动矢量和参考索引)的多个集合来修改时域运动矢量预测(Temporal MotionVector Prediction,TMVP)。如图10所示,子CU是正方形的N×N块(N默认被设置为4)。

ATMVP分两个步骤来预测CU内的子CU的运动矢量。第一步骤是用所谓的时域矢量来识别参考图片中的对应块。参考图片也称为运动源图片。第二步骤是将当前CU划分成子CU,并从与每个子CU相对应的块中获得运动矢量以及每个子CU的参考索引,如图10所示。

在第一步骤中,参考图片和对应块由当前CU的空域临近块的运动信息确定。为了避免临近块的反复的扫描过程,使用当前CU的Merge候选列表中的第一Merge候选。第一可用运动矢量以及其相关联的参考索引被设置为时域矢量和运动源图片的索引。这样,在ATMVP中,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为并置块)总是相对于当前CU处于右下或中心位置。

在第二步骤中,通过向当前CU的坐标添加时域矢量,通过运动源图片中的时域矢量来识别子CU的对应块。对于每个子CU,其对应块的运动信息(覆盖中心样点的最小运动网格)用于推导子CU的运动信息。在识别对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换成当前子CU的运动矢量和参考索引,其中运动缩放和其它过程适用。例如,解码器检查是否满足低延迟条件(即当前图片的所有参考图片的POC小于当前图片的POC),并且可能使用运动矢量MV

2.2.1.2时空运动矢量预测(STMVP)

在该方法中,按照光栅扫描顺序递归地推导子CU的运动矢量。图11示出了这个概念。让我们考虑8×8的CU,它包含4个4×4的子CU:A、B、C和D。当前帧中的临近的4×4块被标记为a、b、c和d。

子CU A的运动推导通过识别其两个空域邻居(neighbour)开始。第一邻居是子CUA上边的N×N块(块c)。如果这个块c不可用或是帧内编解码的,则检查子CU A上边的其它N×N块(从左到右,从块c开始)。第二邻居是子CU A左边的块(块b)。如果块b不可用或是帧内编解码的,则检查子CU A左边的其它块(从上到下,从块b开始)。从每个列表的临近块中获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过遵循如HEVC规定的TMVP推导的相同过程来推导子块A的时域运动矢量预测量(TMVP)。在位置D处的并置块的运动信息被相应地提取和缩放。最后,在检索和缩放运动信息之后,对每个参考列表单独地平均所有可用的运动矢量(最多3个)。平均运动矢量被分配为当前子CU的运动矢量。

2.2.1.3子CU运动预测模式信令

子CU模式被启用作为附加Merge候选,并且不需要附加语法元素来信令通知这些模式。两个附加Merge候选被添加到每个CU的Merge候选列表以表示ATMVP模式和STMVP模式。如果序列参数集指示启用了ATMVP和STMVP,则可以使用多达七个Merge候选。附加Merge候选的编码逻辑与HM中的Merge候选的编码逻辑相同,这意味着,对于P条带或B条带中的每个CU,针对两个附加Merge候选可能还需要两次RD检查。

在JEM中,Merge索引的所有二进制数(bin)都由CABAC进行上下文编解码。而在HEVC中,仅对第一二进制数进行上下文编解码,并且对其余二进制数进行上下文旁路编解码。

2.2.2成对平均候选

成对平均候选(pairwise average candidate)是通过对当前Merge候选列表中的预定义候选对进行平均而生成的,并且预定义的对被定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中这些数字表示Merge候选列表的Merge索引。为每个参考列表单独计算平均运动矢量。如果两个运动矢量在一个列表中可用,则即使这两个运动矢量指向不同的参考图片,也会对它们进行平均;如果只有一个运动矢量可用,则直接使用该运动矢量;如果没有运动矢量可用,则保持该列表无效。成对平均候选代替了HEVC标准中的组合的候选。

表1中总结了成对平均候选的复杂度分析。对于用于求平均值的附加计算(表1中的最后一列)、每对需要4个加法和4个移位(L0和L1中的MVx和MVy)、以及每对需要4个参考索引比较(在L0和L1中refIdx0有效,并且refIdx1有效)的最差情况。共有6对,进行24个加法,24个移位和24个参考索引比较。HEVC标准中的组合候选对每对使用2个参考索引比较(refIdx0在L0中有效,而refIdx1在L1中有效),并且共有12对,进行24个参考索引比较。

表1:成对平均候选的操作分析

2.2.3.平面运动矢量预测

在JVET-K0135中,提出了平面运动矢量预测。

为了生成平滑的细粒度运动场,图12给出了平面运动矢量预测过程的简要描述。

平面运动矢量预测通过在4×4块的基础上对水平和垂直线性插值求平均而实现,如下所示。

P(x,y)=(H×P

W和H表示块的宽度和高度。(x,y)是当前子块相对于左上角子块的坐标。所有距离都用像素距离除以4来表示。P(x,y)是当前子块的运动矢量。

位置(x,y)的水平预测P

P

P

其中L(-1,y)和R(W,y)是当前块左边和右边的4×4块的运动矢量。A(x,-1)和B(x,H)是4×4块到当前块的上边和下边的运动矢量。

左列和上行临近块的参考运动信息是从当前块的空域临近块推导的。

右列和底行临近块的参考运动信息推导如下。

(1)推导右下角时域临近4×4块的运动信息

(2)使用右下临近4×4块的推导出的运动信息以及右上临近4×4块的运动信息,计算右列临近4×4块的运动矢量,如等式(4)中所述。

(3)使用右下临近4×4块的推导出的运动信息以及左下临近4×4块的运动信息,计算底行临近4×4块的运动矢量,如等式(5)中所述。

R(W,y)=((H-y-1)×AR+(y+1)×BR)/H 等式(4)

B(x,H)=((W-x-1)×BL+(x+1)×BR)/W 等式(5)

其中AR是右上空域临近4×4块的运动矢量,BR是右下时域临近4×4块的运动矢量,并且BL是左下空域临近4×4块的运动矢量。

从每个列表的临近块获得的运动信息被缩放到给定列表的第一参考图片。

2.2.4自适应运动矢量差分辨率

在HEVC中,当在条带头中的use_integer_mv_flag等于0时,以四分之一(quarter)亮度样点为单位信令通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(MotionVector Difference,MVD)。在JEM中,引入了局部自适应运动矢量分辨率(LocallyAdaptive Motion Vector Resolution,LAMVR)。在JEM中,可以以四分之一亮度样点、整数亮度样点或四亮度样点为单位对MVD进行编解码。以编解码单元(CU)级别控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU,有条件地信令通知MVD分辨率标志。

对于具有至少一个非零MVD分量的CU,信令通知第一标志以指示在CU中是否使用四分之一亮度样点MV精度。当第一标志(等于1)指示未使用四分之一亮度样点MV精度时,信令通知另一个标志以指示使用整数亮度样点MV精度还是四亮度样点MV精度。

当CU的第一MVD分辨率标志为零或未针对CU进行编解码(意味着CU中的所有MVD均为零)时,四分之一亮度样点MV分辨率用于CU。当CU使用整数亮度样点MV精度或四亮度样点MV精度时,CU的AMVP候选列表中的MVP被取整到对应精度。

在编码器中,CU级别的RD检查用于确定哪个MVD分辨率要用于CU。也就是说,对于每个MVD分辨率,执行三次CU级别的RD检查。为了加快编码器速度,在JEM中应用以下编码方案:

·在具有正常四分之一亮度样点MVD分辨率的CU的RD检查期间,存储当前CU(整数亮度样点准度)的运动信息。存储的运动信息(取整之后)被用作在针对具有整数亮度样点和4亮度样点MVD分辨率的相同CU的RD检查期间的进一步的小范围运动矢量细化的起始点,使得耗时的运动估计过程不会重复三次。

·有条件地调用具有4亮度样点MVD分辨率的CU的RD检查。对于CU,当整数亮度样点MVD分辨率的RD代价远大于四分之一亮度样点MVD分辨率的RD代价时,跳过对于CU的4亮度样点MVD分辨率的RD检查。

编码过程如图13所示。首先,测试1/4像素MV,计算RD代价并表示为RDCost0,然后测试整数MV,并且RD代价表示为RDCost1。如果RDCost1

2.2.5.更高的运动矢量存储精度

在HEVC中,运动矢量精度是四分之一像素(对于4:2:0视频,四分之一亮度样点和八分之一色度样点)。在JEM中,内部运动矢量存储和Merge候选的精度增加到1/16像素。较高的运动矢量精度(1/16像素)被用于用跳跃/Merge模式编解码的CU的运动补偿帧间预测。如第2.2.2章节所述,对于用正常AMVP模式编解码的CU,使用整数像素或四分之一像素运动。

具有与HEVC运动补偿插值滤波器相同的滤波器长度和归一化因子的SHVC上采样插值滤波器被用作附加分数像素位置的运动补偿插值滤波器。色度分量运动矢量精度在JEM中是1/32样点,通过使用两个临近的1/16像素分数位置的滤波器的平均来推导1/32像素分数位置的附加插值滤波器。

2.2.6.重叠块运动补偿

重叠块运动补偿(OBMC)先前在H.263中使用过。在JEM中,与H.263不同,可以使用CU级别的语法来打开和关闭OBMC。当在JEM中使用OBMC时,除了CU的右边界和下边界之外,对于所有运动补偿(Motion Compensation,MC)块边界都执行OBMC。此外,它被应用于亮度和色度分量。在JEM中,MC块对应于编解码块。当用子CU模式(包括子CU Merge、仿射和FRUC(Frame Rate Up Conversion,帧速率上转换)模式)对CU进行编解码时,CU的每个子块是MC块。为了以统一的方式处理CU边界,在子块级别对于所有MC块边界执行OBMC,其中子块尺寸被设置为等于4×4,如图14所示。

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

基于临近子块的运动矢量的预测块被表示为P

在JEM中,对于尺寸小于或等于256个亮度样点的CU,信令通知CU级别标志,以指示对于当前CU是否应用了OBMC。对于尺寸大于256个亮度样点或未用AMVP模式编解码的CU,默认应用OBMC。在编码器处,当OBMC应用于CU时,其影响在运动估计阶段期间被考虑在内。使用上临近块和左临近块的运动信息由OBMC形成的预测信号用于补偿当前CU的原始信号的上边界和左边界,然后应用正常运动估计过程。

2.2.7.局部照明补偿

局部照明补偿(LIC)基于照明变化的线性模型,使用缩放因子a和偏移b。并且对于每个帧间模式编解码的编解码单元(CU)自适应地启用或禁用它。

当LIC应用于CU时,采用最小平方误差法以通过使用当前CU的临近样点及其对应的参考样点来推导参数a和b。更具体地,如图19所示,使用参考图片中的CU的子采样(2:1子采样)临近样点和对应的样点(由当前CU或子CU的运动信息识别)。IC参数被单独地推导并应用于每个预测方向。

当用Merge模式对CU进行编解码时,以类似于Merge模式下的运动信息复制的方式,从临近块复制LIC标志;否则,为CU信令通知LIC标志,指示LIC是否适用。

当对于图片启用LIC时,需要附加的CU级别RD检查来确定是否将LIC应用于CU。当对于CU启用LIC时,绝对差的均值移除和(Mean-Removed Sum of Absolute Difference,MR-SAD)和绝对哈达玛(Hadamard)变换差的均值移除和(Mean-Removed Sum of AbsoluteHadamard-Transformed Difference,MR-SATD)(而不是SAD和SATD)分别用于整数像素运动搜索和分数像素运动搜索。

为了降低编码复杂度,在JEM中应用以下编码方案。当当前图片及其参考图片之间没有明显的照明变化时,对于整个图片禁用LIC。为了识别这种情况,在编码器处计算当前图片和当前图片的每个参考图片的直方图。如果当前图片和当前图片的每个参考图片之间的直方图差小于给定阈值,则对于当前图片禁用LIC;否则,对于当前图片启用LIC。

2.2.8.混合帧内和帧间预测

在JVET-L0100中,提出了多假设预测,其中混合帧内和帧间预测是生成多假设的一种方式。

当多假设预测被应用于改进帧内模式时,多假设预测结合一个帧内预测和一个Merge索引预测。在Merge CU中,为Merge模式信令通知一个标志,以当标志为真时从帧内候选列表中选择帧内模式。对于亮度分量,帧内候选列表从包括DC模式、平面模式、水平模式和垂直模式的4种帧内预测模式中推导,并且帧内候选列表的尺寸可以是3或4,这取决于块形状。当CU宽度大于CU高度的两倍时,水平模式不包括帧内模式列表,并且当CU高度大于CU宽度的两倍时,垂直模式从帧内模式列表中移除。使用加权平均来组合由帧内模式索引选择的一个帧内预测模式和由Merge索引选择的一个Merge索引预测。对于色度分量,DM总是在没有额外信令的情况下应用。用于组合预测的权重描述如下。当选择DC模式或平面模式,或CB宽度或高度小于4时,施加相等的权重。对于CB宽度和高度大于或等于4的那些CB,当选择水平/垂直模式时,一个CB首先被垂直/水平划分成四个等面积区域。每个权重集,表示为(w_intra

2.2.9.三角形预测单元模式

三角形预测单元模式的概念是为运动补偿预测引入一种新的三角形分割。如图16所示,它沿对角线或相反的对角线方向将CU划分成两个三角形预测单元(PU)。CU中的每个三角形预测单元使用其自己的单向预测运动矢量和参考帧索引而被帧间预测,该单向预测运动矢量和参考帧索引从单个单向预测候选列表中推导。在预测三角形预测单元之后,对对角线边缘执行自适应加权过程。然后,将变换和量化过程应用于整个CU。注意,该模式仅适用于跳过模式和Merge模式。

单向预测候选列表

单向预测候选列表包括五个单向预测运动矢量候选。如图17所示,它是从CU的七个临近块推导的,包括五个空域临近块(1到5)和两个时域并置块(6到7)。收集七个临近块的运动矢量并按照单向预测运动矢量、双向预测运动矢量的L0运动矢量、双向预测运动矢量的L1运动矢量以及双向预测运动矢量的L0运动矢量和L1运动矢量的平均运动矢量的顺序,将其放入单向预测候选列表。如果候选的数量少于五个,则零运动矢量被添加到列表中。

自适应加权过程

在预测每个三角形预测单元之后,将自适应加权过程应用于两个三角形预测单元之间的对角线边缘,以推导整个CU的最终预测。两个加权因子组如下所列:

·第一加权因子组:{7/8,6/8,4/8,2/8,1/8}和{7/8,4/8,1/8}分别用于亮度和色度样点;

·第二加权因子组:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}和{6/8,4/8,2/8}分别用于亮度和色度样点。

基于两个三角形预测单元的运动矢量的比较来选择一个加权因子组。当两个三角形预测单元的参考图片彼此不同或者它们的运动矢量差大于16像素时,使用第二加权因子组。否则,使用第一加权因子组。示例如图18所示。

运动矢量存储

三角形预测单元的运动矢量(图19中的Mv1和Mv2)存储在4×4网格中。对于每个4×4网格,取决于4×4网格在CU中的位置,存储单向预测运动矢量或双向预测运动矢量。如图19所示,为位于非加权区域的4×4网格存储单向预测运动矢量Mv1或Mv2。另一方面,为位于加权区域的4×4网格存储双向预测运动矢量。双向预测运动矢量根据以下规则从Mv1和Mv2中推导:

1.在Mv1和Mv2具有来自不同方向(L0或L1)的运动矢量的情况下,Mv1和Mv2被简单地组合以形成双向预测运动矢量。

2.在Mv1和Mv2都来自相同的L0(或L1)方向的情况下,

2.a.如果Mv2的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv2被缩放到该图片。Mv1和缩放的Mv2被组合以形成双向预测运动矢量。

2.b.如果Mv1的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv1被缩放到该图片。缩放的Mv1和Mv2被组合以形成双向预测运动矢量。

2.c.否则,对于加权区域只存储Mv1。

2.2.10.仿射运动补偿预测

在HEVC中,只有平移运动模型被应用于运动补偿预测(Motion CompensationPrediction,MCP)。而在现实世界中,存在许多种运动,例如,放大/缩小、旋转、透视运动和其它不规则运动。在JEM中,应用简化的仿射变换运动补偿预测。如图20所示,块的仿射运动场由两个控制点运动矢量来描述。

块的运动矢量场(Motion Vector Field,MVF)由以下等式描述:

其中(v

为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。子块尺寸M×N由等式(7)推导,其中MvPre是运动矢量分数精度(在JEM中为1/16),(v

在由等式(7)推导出之后,如果需要,应该向下调整M和N,使其分别为w和h的因数(divisor)。

为了推导每个M×N子块的运动矢量,如图21所示,根据等式1计算每个子块的中心样点的运动矢量,并取整到1/16的分数精度。然后,应用2.2.5章节中提到的运动补偿插值滤波器来用推导出的运动矢量生成每个子块的预测。

在MCP之后,每个子块的高精度运动矢量被取整并保存为与正常运动矢量相同的精度。

2.2.10.1.AF_INTER模式

在JEM中,有两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。在这种模式下,使用临近块构建具有运动矢量对{(v

在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,并且因此需要为这些控制点编解码2/3个MVD,如图22所示。在JVET-K0337中,提出按如下方式来推导MV,即从mvd

其中

2.2.10.2.AF_INTER模式下的快速仿射ME算法

在仿射模式下,需要联合确定2或3个控制点的MV。直接联合搜索多个MV在计算上很复杂。提出了一种快速仿射ME算法,并将其应用于VTM/BMS。

针对4参数仿射模型描述了快速仿射ME算法,并且该思想可以扩展到6参数仿射模型。

将(a-1)替换为a’,则运动矢量可以重写为:

假设两个控制点(0,0)和(0,w)的运动矢量是已知的,从等式(13)中我们可以推导仿射参数,

运动矢量可以以矢量形式重写为:

其中

P=(x,y)是像素位置。

在编码器处,迭代地推导AF_INTER的MVD。将MV

将Pic

假设

其中,

来计算控制点(0,0)和(0,w)的增量MV。

假定这样的MVD推导过程被迭代n次,则最终MVD计算如下:

利用JVET-K0337,即从由mvd

2.2.10.3.AF_MERGE模式

在AF_MERGE模式下应用CU时,它从有效的临近重构块中获得用仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图24A所示,推导包含块A的CU的左上角、右上角和左下角的运动矢量v

在推导出当前CU的CPMV v

图24A和图24B示出了AF_MERGE候选的示例

在计划被采用到VTM 3.0中的JVET-L0366中,仿射Merge候选列表由以下步骤构建:

(1)插入继承的仿射候选

继承的仿射候选是指候选是从其有效临近仿射编解码块的仿射运动模型中推导的。在公共基础中,如图25所示,候选位置的扫描顺序是:A1、B1、B0、A0和B2。

在推导出候选之后,执行完全修剪过程,以检查是否已将相同候选插入列表。如果存在相同候选,则丢弃推导出的候选。

(2)插入构建的仿射候选

如果仿射Merge候选列表中的候选的数量小于MaxNumAffineCand(在此稿中设置为5),则将构建的仿射候选插入候选列表中。构建的仿射候选是指通过组合每个控制点的临近运动信息来构建候选。

控制点的运动信息首先从图25所示的指定的空域邻居和时域邻居中推导。CPk(k=1,2,3,4)代表第k个控制点。A0、A1、A2、B0、B1、B2和B3是预测CPk(k=1,2,3)的空域位置;T是预测CP4的时域位置。

CP1、CP2、CP3和CP4的坐标分别是(0,0)、(W,0)、(H,0)和(W,H),其中W和H是当前块的宽度和高度。

根据以下优先级顺序获得每个控制点的运动信息:

对于CP1,检查优先级是B2->B3->A2。如果B2可用,则使用B2。否则,如果B2可用,则使用B3。如果B2和B3都不可用,则使用A2。如果三个候选全部都不可用,则无法获得CP1的运动信息。

对于CP2,检查优先级是B1->B0。

对于CP3,检查优先级是A1->A0。

对于CP4,使用T。

其次,使用控制点的组合来构建仿射Merge候选。

构建6参数仿射候选需要三个控制点的运动信息。三个控制点可以从以下四个组合中选择一个({CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4})。组合{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4}将转换为由左上、右上和左下控制点表示的6参数运动模型。

构建4参数仿射候选需要两个控制点的运动信息。这两个控制点可以从以下六个组合中选择一个({CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4})。组合{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4}将被转换为由左上和右上控制点表示的4参数运动模型。

构建的仿射候选的组合按以下顺序插入候选列表:{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4}、{CP1,CP2}、{CP1,CP3}、{CP2,CP3}、{CP1,CP4}、{CP2,CP4}、{CP3,CP4}。

对于组合的参考列表X(X为0或1),在控制点中具有最高使用率的参考索引被选择作为列表X的参考索引,并且指向差异参考图片的运动矢量将被缩放。

在推导出候选之后,执行完全修剪过程,以检查是否已将相同候选插入列表。如果存在相同候选,则推导出的候选将被丢弃。

(3)用零运动矢量进行填充

如果仿射Merge候选列表中的候选的数量少于5,则具有零参考索引的零运动矢量被插入到候选列表中,直到列表满为止。

2.2.11.模式匹配运动矢量推导

模式匹配的运动矢量推导(Pattern Matched Motion Vector Derivation,PMMVD)模式是基于帧速率上转换(FRUC)技术的特殊Merge模式。利用该模式,在解码器侧推导块的运动信息,而不是信令通知块的运动信息。

当CU的Merge标志为真时,向CU信号通知FRUC标志。当FRUC标志为假时,信号通知Merge索引并使用常规Merge模式。当FRUC标志为真时,信号通知的额外的FRUC模式标志以指示将使用哪种方法(双边匹配或模板匹配)来推导该块的运动信息。

在编码器侧,关于是否对CU使用FRUC Merge模式的决定是基于对正常Merge候选所做的RD成本选择。即,通过使用RD成本选择来校验CU的两种匹配模式(双边匹配和模板匹配)两者。引起最小成本的匹配模式与其他CU模式进一步比较。如果FRUC匹配模式是最有效的模式,则对于CU将FRUC标志设置为真,并且使用相关的匹配模式。

FRUC Merge模式中的运动推导过程具有两个步骤:首先执行CU级别运动搜索,然后进行子CU级别运动细化。在CU级别,基于双边匹配或模板匹配,推导整个CU的初始运动矢量。首先,生成MV候选列表,并且选择引起最小匹配成本的候选作为进一步CU级别细化的起点。然后,在起点附近执行基于的双边匹配或模板匹配的局部搜索,并且将最小匹配成本的MV结果作为整个CU的MV。随后,以推导出的CU运动矢量作为起点,进一步在子CU级别细化运动信息。

例如,对于W×H CU运动信息推导执行以下推导过程。在第一阶段,推导整个W×HCU的MV。在第二阶段,该CU进一步被划分成M×M个子CU。M的值的计算方法如(16)所示,D是预定义的划分深度,在JEM中默认设置为3。然后推导每个子CU的MV。

如图26所示,通过在两个不同参考图片中沿当前CU的运动轨迹找到两个块之间的最接近匹配,使用双边匹配来推导当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0和MV1应当与当前图片和两个参考图片之间的时间距离(即TD0和TD1)成比例。作为特殊情况,当当前图片在时间上在两个参考图片之间并且从当前图片到两个参考图片的时间距离相同时,双边匹配成为基于镜像的双向MV。

如图27所示,模板匹配用于通过找到当前图片中的模板(当前CU的顶部和/或左侧临近块)与参考图片中的块(与模板的尺寸相同)之间的最接近匹配来推导当前CU的运动信息。除了上述FRUC Merge模式之外,模板匹配也应用于AMVP模式。在JEM中,正如在HEVC中所做的那样,AMVP有两个候选。通过模板匹配方法,新的候选被推导出。如果由模板匹配新推导的候选与第一现有AMVP候选不同,则将其插入AMVP候选列表的最开始处,然后将列表尺寸设置为2(意味着移除第二现有AMVP候选)。当应用于AMVP模式时,仅应用CU级别搜索。

2.2.11.1.CU级别MV候选集

在CU级别处设置的MV候选包括:

(i)如果当前CU处于AMVP模式,则为原始AMVP候选,

(ii)所有Merge候选,

(iii)在2.2.11.3章节中介绍的插值MV场中的几个MV。

(iv)顶部和左边临近运动矢量

当使用双边匹配时,将Merge候选的每个有效MV用作输入,以生成假设双边匹配的情况下的MV对。例如,在参考列表A中,Merge候选的一个有效MV是(MVa,refa)。然后,在其他参考列表B中找到其配对的双边MV的参考图片refb,使得refa和refb在时间上位于当前图片的不同侧。如果这样的refb在参考列表B中不可用,则refb被确定为与refa不同的参考,并且其到当前图片的时间距离是列表B中的最小值。在确定refb之后,通过基于当前图片refa和refb之间的时间距离来缩放MVa来推导MVb。

来自插值MV场的四个MV也被添加到CU级别候选列表。更具体地,添加当前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)处的插值MV。

当FRUC应用于AMVP模式时,原始AMVP候选也被添加到CU级别MV候选集。

在CU级别,对于AMVP CU,最多将15个MV添加到候选列表,对于Merge CU,最多将13个MV添加到候选列表。

2.2.11.2.子CU级别MV候选集

在子CU级别处设置的MV候选包括:

(i)从CU级别搜索确定的MV,

(ii)顶部、左边、左上角和右上角的临近MV,

(iii)来自参考图片的并置MV的缩放版本,

(iv)最多4个ATMVP候选,

(v)最多4个STMVP候选。

来自参考图片的缩放MV如下推导。遍历两个列表中的所有参考图片。参考图片中的子CU的并置位置处的MV被缩放到起始CU级别MV的参考。

ATMVP和STMVP候选仅限于前四个。

在子CU级别,最多将17个MV添加到候选列表中。

2.2.11.3.插值MV场的生成

在对帧进行编解码之前,基于单边ME为整个图片生成插值运动场。然后,运动场可以稍后用作CU级别或子CU级别MV候选。

首先,两个参考列表中的每个参考图片的运动场以4×4块级遍历。对于每个4×4块,如果与块相关联的运动通过当前图片中的4×4块(如图28所示)并且块未被分配任何插值运动,则参考块的运动根据时间距离TD0和TD1(以与HEVC中的TMVP的MV缩放的方式相同的方式)被缩放到当前图片,并且将缩放的运动分配给当前帧中的块。如果没有缩放的MV被分配给4×4块,则在插值运动场中将块的运动标记为不可用。

2.2.11.4.插值和匹配成本

当运动矢量指向分数样本位置时,需要运动补偿插值。为了降低复杂度,替代常规8抽头HEVC插值,将双线性插值用于双边匹配和模板匹配。

匹配成本的计算在不同步骤处有点不同。当从CU级别的候选集中选择候选时,匹配成本是双边匹配或模板匹配的绝对和差(Absolute Sum Difference,SAD)。在确定起始MV之后,子CU级别搜索的双边匹配的匹配成本C计算如下:

其中w是根据经验设置为4的加权因子,MV和MV

在FRUC模式中,仅通过使用亮度样本来推导MV。推导的运动将用于MC帧间预测的亮度和色度两者。在确定MV之后,使用用于亮度的8抽头插值滤波器和用于色度的4抽头插值滤波器来执行最终MC。

2.2.11.5.MV细化

MV细化是基于模式的MV搜索,以双边匹配成本或模板匹配成本为标准。在JEM中,支持两种搜索模式—无限制中心偏置菱形搜索(Unrestricted Center-Biased DiamondSearch,UCBDS)和自适应交叉搜索,分别在CU级别和子CU级别进行MV细化。对于CU和子CU级别MV细化两者,以四分之一亮度样本MV精度直接搜索MV,并且接着是八分之一亮度样本MV细化。将用于CU和子CU步骤的MV细化的搜索范围设置为等于8个亮度样本。

2.2.11.6.模板匹配FRUC Merge模式中预测方向的选择

在双边匹配Merge模式中,始终应用双向预测,因为CU的运动信息是基于在两个不同的参考图片中沿当前CU的运动轨迹的两个块之间的最近匹配推导的。对于模板匹配Merge模式没有这样的限制。在模板匹配Merge模式中,编码器可以从列表0中的单向预测、列表1中的单向预测或双向预测当中为CU选择。选择基于如下的模板匹配成本:

如果costBi<=factor*min(cost0,cost1)

则使用双向预测;

否则,如果cost0<=cost1

则使用列表0中的单向预测;

否则,

使用列表1中的单向预测;

其中cost0是列表0模板匹配的SAD,cost1是列表1模板匹配的SAD,costBi是双向预测模板匹配的SAD。factor的值等于1.25,这意味着选择过程偏向于双向预测。

帧间预测方向选择仅应用于CU级别模板匹配过程。

2.2.12.广义双向预测

在传统的双向预测中,来自L0和L1的预测值被平均,以使用相等的权重0.5生成最终预测值。预测值生成公式如等式(32)所示。

P

在等式(32)中,传统双向预测的最终预测值是P

提出广义双向预测(Generalized Bi-prediction,GBI)以允许对来自L0和L1的预测值施加不同的权重。预测值的生成如等式(33)所示。

P

在等式(33)中,P

w

对于高级运动矢量预测(AMVP)模式,如果该CU被双向预测编解码,则GBI中的权重选择在CU级别显式地信令通知。对于Merge模式,权重选择从Merge候选继承。在该提出方案中,GBI支持DMVR生成模板的加权平均以及BMS-1.0的最终预测值。

2.2.13.多假设帧间预测

在多假设帧间预测模式中,除了传统的单/双向预测信号之外,还信令通知一个或多个附加预测信号。产生的整体预测信号通过按样点加权叠加获得。通过单/双向预测信号p

p

预测单元语法结构的改变在下表中以粗体显示:

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

注意,对于附加预测信号,预测列表0/列表1的概念被废除,转而使用一个组合列表。该组合列表通过以增加的参考索引交替插入来自列表0和列表1的参考帧、省略已经插入的参考帧而生成,从而避免了双重条目。

类似于上面,可以使用一个以上附加预测信号。产生的整体预测信号与每个附加预测信号迭代累积。

p

获得产生的整体预测信号作为最后一个p

注意,同样对于使用MERGE模式(而不是跳过模式)的帧间预测块,可以指定附加帧间预测信号。另外还注意,在MERGE的情况下,不仅单/双向预测参数,还有所选择的Merge候选的附加预测参数都可以被用于当前块。

2.2.14.AMVP模式的单向预测的多假设预测

当多假设预测被应用于改进AMVP模式的单向预测时,信令通知一个标志来启用或禁用对于inter_dir等于1或2的多假设预测,其中1、2和3分别表示列表0、列表1和双向预测。此外,当标志为真时,信令通知一个Merge索引。这样,多假设预测将单向预测变为双向预测,其中一个运动是使用AMVP模式下的原始语法元素获取的,而另一个运动是使用Merge方案获取的。最终预测使用1:1权重将这两个预测组合为双向预测。首先从Merge模式推导Merge候选列表,不包括子CU候选(例如,仿射、可选时域运动矢量预测(alternativetemporal motion vector prediction,ATMVP))。接下来,它被分离成两个单独的列表,一个用于包含来自候选的所有L0运动的列表0(L0),并且另一个用于包含所有L1运动的列表1(L1)。在移除冗余和填充空缺之后,分别为L0和L1生成两个Merge列表。在应用多假设预测来改进AMVP模式时,有两个约束条件。第一,对于亮度编解码块(CB)面积大于或等于64的那些CU,启用该多假设预测。第二,该多假设预测仅适用于在低延迟B图片中时的L1。

2.2.15.跳过/Merge模式的多假设预测

当多假设预测被应用于跳过或Merge模式时,是否启用多假设预测被显式地信令通知。除了原始预测之外,还会选择额外的Merge索引预测。因此,多假设预测的每个候选隐含Merge候选对,其中一个Merge候选用于第一Merge索引预测,而另一个Merge候选用于第二Merge索引预测。然而,在每个对中,第二Merge索引预测的Merge候选被隐式地推导为后续的Merge候选(即已经信令通知的Merge索引加1),而不信令通知任何附加Merge索引。在通过排除那些包含相似Merge候选和填充空缺的对来移除冗余之后,形成用于多假设预测的候选列表。然后,获取来自两个Merge候选的对的运动以生成最终预测,其中5:3权重分别施加到第一Merge索引预测和第二Merge索引预测。此外,启用多假设预测的Merge或跳过CU可以保存除了现有假设的运动信息之外的附加假设的运动信息,以供后面的临近CU参考。注意,从候选列表中排除子CU候选(例如,仿射、ATMVP),并且对于低延迟的B图片,多假设预测不适用于跳过模式。此外,当多假设预测被应用于Merge或跳过模式时,对于那些CU宽度或CU高度小于16的CU,或者那些CU宽度和CU高度都等于16的CU,双线性插值滤波器被用于多假设的运动补偿。因此,表1中计算了启用多假设预测的每个Merge或跳过CU的最坏情况带宽(每一样点所需的访问样点),并且每个数字小于禁用多假设预测的每个4×4CU的最坏情况带宽的一半。

2.2.16.最终运动矢量表达

提出了最终运动矢量表达(UMVE)。UMVE利用提出的运动矢量表达式方法而被用于跳过或Merge模式。

UMVE重用与VVC中相同的Merge候选。在Merge候选当中,可以选择候选,并通过所提出的运动矢量表达方法进一步扩展。

UMVE提供了具有简化信令的新的运动矢量表达。表达方法包括起点、运动幅度和运动方向。

图29示出了UMVE搜索过程的示例。

图30示出了UMVE搜索点的示例。

所提出的技术按原样使用Merge候选列表。但是对于UMVE的扩展,仅考虑默认Merge类型(MRG_TYPE_DEFAULT_N)的候选。

基本候选索引定义了起点。基本候选索引指示表2中的候选当中的最佳候选,如下所示。

表2.示例基本候选IDX

如果基本候选的数量等于1,则不信令通知基本候选IDX。

距离索引是运动幅度信息。距离索引指示距起点信息的预定义距离。示例预定义距离如表3所示如下:

表3.示例距离IDX

方向索引表示MVD相对于起点的方向。方向索引可以表示如下表4中所示的四个方向。

表4.示例方向IDX

UMVE标志在发送跳过标志和Merge标志之后立即被信令通知。如果跳过和Merge标志为真,则解析UMVE标志。如果UMVE标志等于1,则解析UMVE语法。但是,如果不是1,则解析AFFINE标志。如果AFFINE标志等于1,这就是AFFINE模式,但是,如果不是1,则解析跳过/Merge索引以用于VTM的跳过/Merge模式。

不需要由于UMVE候选的附加行缓冲。因为软件的跳过/Merge候选直接用作基本候选。使用输入的UMVE索引,在运动补偿之前就决定MV的补充。不需要为此保留长行缓冲区。

2.2.17.具有预测偏移的仿射Merge模式

UMVE被扩展到仿射Merge模式,此后将也被称为UMVE仿射模式。所提出的方法选择第一可用仿射Merge候选作为基本预测值。然后,它将运动矢量偏移应用于来自基本预测值的每个控制点的运动矢量值。如果没有可用的仿射Merge候选,则不使用该提出的方法。

所选择的基本预测值的帧间预测方向和每个方向的参考索引被不加改变地使用。

在当前实施方式中,当前块的仿射模型被假定为4参数模型,只需要推导2个控制点。因此,仅基本预测值的前2个控制点将被用作控制点预测值。

对于每个控制点,zero_MVD标志被用于指示当前块的控制点是否具有与对应控制点预测值相同的MV值。如果zero_MVD标志为真,则控制点不需要其他信令。否则,对控制点信令通知距离索引和偏移方向索引。

使用尺寸为5的距离偏移表,如下表中所示。信令通知距离索引,以指示使用哪个距离偏移。距离索引和距离偏移值的映射如标5中所示。

表5-示例距离偏移

图31示出了距离索引和距离偏移映射的示例。

方向索引可以表示如下所示的四个方向,其中只有x或y方向可能有

MV差,但不是两个方向都有。

如果帧间预测是单向的,则信令通知的距离偏移被应用于每个控制点预测值的偏移方向。结果将是每个控制点的MV值。

例如,当基本预测值是单向的时,并且控制点的运动矢量值是MVP(v

MV(v

如果帧间预测是双向的,则信令通知的距离偏移被应用在控制点预测值的L0运动矢量的所信令通知的偏移方向上;并且具有相反方向的相同距离偏移被应用于控制点预测值的L1运动矢量。结果将是每个控制点在每个帧间预测方向上的MV值。

例如,当基本预测值是单向的时,并且L0上的控制点的运动矢量值是MVP

MV

MV

2.2.18.双向光流

双向光流(Bi-directional Optical flow,BIO)是按样点的运动细化,其在用于双向预测的按块的运动补偿的基础上进行。样点级别运动细化不使用信令。

假设I

将该光流等式与Hermite插值相结合以获得每个样点的运动轨迹,最终得到与函数值I

这里,τ

通过最小化点A和点B(图32上运动轨迹和参考帧平面的交点)的值之间的差Δ来确定运动矢量场(v

等式(41)中的所有值都取决于样点位置(i′,j′),到目前为止从符号中忽略该位置。假设运动在局部周围区域中是一致的,我们最小化以当前预测点(i,j)为中心的(2M+1)×(2M+1)正方形窗口Ω内的Δ,其中M等于2:

对于这个优化问题,JEM使用简化的方法,首先在垂直方向最小化,然后在水平方向最小化。这得到:

其中,

为了避免除以零或非常小的值,正则化参数r和m被引入等式(43)和(44)中。

r=500·4

m=700·4

这里d是视频样点的比特深度。

为了保持BIO的存储器访问与规则双向预测运动补偿的相同,所有预测和梯度值

利用BIO,有可能针对每个样点细化运动场。为了降低计算复杂度,在JEM中使用基于块的BIO设计。基于4×4块来计算运动细化。在基于块的BIO中,聚合4×4块中所有样点的等式30中的s

其中b

在某些情况下,由于噪音或不规则的运动,BIO的MV细化可能不可靠。因此,在BIO中,MV细化的幅度被限幅到阈值thBIO。阈值基于当前图片的参考图片是否都来自一个方向来确定。如果当前图片的所有参考图片都来自一个方向,则阈值被设置为12×2

使用与HEVC运动补偿过程(2D可分离FIR)一致的操作,与运动补偿插值同时计算BIO的梯度。该2D可分离FIR的输入是与运动补偿过程和根据块运动矢量的分数部分的分数位置(fracX,fracY)相同的参考帧样点。在水平梯度

表6:用于BIO中梯度计算的示例滤波器

表7:用于BIO中预测信号生成的示例插值滤波器

在JEM中,当两个预测来自不同的参考图片时,BIO被应用于所有双向预测块。当对于CU启用LIC时,BIO被禁用。

在JEM中,OBMC被应用于正常MC过程之后的块。为了降低计算复杂性,BIO没有在OBMC过程期间被应用。这意味着当使用自己的MV时,BIO仅应用于块的MC过程,而当在OBMC过程期间使用临近块的MV时,BIO不应用于MC过程。

2.2.19.解码器侧运动矢量细化

在双向预测操作中,对于一个块区域的预测,分别使用列表0的运动矢量(MV)和列表1的MV形成的两个预测块被组合以形成单个预测信号。在解码器侧运动矢量细化(DMVR)方法中,双向预测的两个运动矢量通过双边模板匹配过程进一步细化。双边模板匹配应用于解码器中,以在双边模板和参考图片中的重构样点之间执行基于失真的搜索,以便在不发送附加运动信息的情况下获得细化的MV。

在DMVR中,从列表0的初始MV0和列表1的MV1分别生成双边模板作为两个预测块的加权组合(即平均值),如图34所示。模板匹配操作包括计算生成的模板和参考图片中的(初始预测块周围的)样点区域之间的成本度量。对于两个参考图片中的每一个,产生最小模板成本的MV被认为是该列表中用以替换原始MV的更新后的MV。在JEM中,对于每个列表搜索9个MV候选。9个候选MV包括原始MV和8个周围MV,其中一个亮度样点在水平或垂直方向或两者上相对于原始MV偏移的亮度样点。最后,两个新的MV(即如图33所示的MV0′和MV1′)用于生成最终的双向预测结果。绝对差之和(sum of absolute differences,SAD)被用作成本度量。请注意,当计算由一个周围MV生成的预测块的成本时,取整的MV(取整到整数像素)实际上用于获得预测块,而不是实际的MV。

DMVR应用于双向预测的Merge模式,其中一个MV来自过去的参考图片,并且另一个来自未来的参考图片,而无需传输附加语法元素。在JEM中,当对于CU启用LIC、仿射运动、FRUC或子CU Merge候选时,不应用DMVR。

3.相关工具

3.1.1.扩散滤波器

在JVET-L0157中,提出了扩散滤波器,其中CU的帧内/帧间预测信号可以通过扩散滤波器来进一步修改。

3.1.1.1均匀扩散滤波器

均匀扩散滤波器是通过将预测信号与给定为h

除了预测信号本身,块的左边和上边的一行重构样点被用作滤波信号的输入,其中可以避免在帧间块使用这些重构样点。

令pred为通过帧内或运动补偿预测获得的给定块上的预测信号。为了处理滤波器的边界点,预测信号需要扩展到预测信号pred

如果要使用滤波器h

使用前述边界扩展。这里,滤波器掩模h

如果要使用滤波器h

这里,滤波器h

h

3.1.1.2.方向扩散滤波器

代替使用信号自适应扩散滤波器,而使用方向滤波器、水平滤波器h

应用于预测信号来实现,并且水平滤波器通过使用转置掩模

3.1.2.双边滤波器

在JVET-L0406中提出了双边滤波器,并且它总是应用于具有非零变换系数且条带量化参数大于17的亮度块。因此,不需要信令通知双边滤波器的使用。双边滤波,如果被应用,则在逆变换后立即对解码样点执行双边滤波。另外,滤波器参数(即权重)是从编解码信息中显式地推导的。

滤波过程定义为:

其中P

更具体地,与第k个临近样点相关联的权重W

W

其中

σ

为了更好地捕获视频信号的统计特性,并提高滤波器的性能,由等式(52)产生的权重函数正由表8中列出的参数σ

表8对于不同的块尺寸和编解码模式的σ

为了进一步提高编解码性能,对于未分割TU时的帧间编解码块,当前样点与其临近样点之一之间的强度差被覆盖当前样点和临近样点的两个窗口之间的代表性强度差所替换。因此,滤波过程等式被修改为:

其中P

3.1.3.帧内块复制

解码器方面:

在一些情况下,当前(部分)解码的图片被认为是参考图片。当前图片放在参考图片列表0的最后位置。因此,对于使用当前图片作为唯一参考图片的条带,其条带类型被认为是P条带。这种方法中的比特流语法遵循用于帧间编解码的相同语法结构,而解码过程与帧间编解码是统一的。唯一突出的区别是块矢量(其是指向当前图片的运动矢量)总是使用整数像素分辨率。

与块级别CPR_flag方法的变化是:

1.在编码器中搜索此模式时,块宽度和高度都小于或等于16。

2.当亮度块矢量为奇数时,启用色度插值。

3.当SPS标志开启时,启用CPR模式的自适应运动矢量分辨率(AMVP)。在这种情况下,当使用AMVR时,块矢量可以在块级别在1像素整数分辨率和4像素整数分辨率之间切换。

编码器方面:

编码器对宽度或高度不大于16的块执行RD检查。对于非Merge模式,首先使用基于哈希的搜索来执行块矢量搜索。如果哈希搜索中没有找到有效的候选,则将执行基于块匹配的本地搜索。

在基于哈希的搜索中,当前块和参考块之间的哈希键匹配(32位CRC)被扩展到所有允许的块尺寸。当前图片中每个位置的哈希键计算基于4×4块。对于较大尺寸的当前块,当它的所有4×4块与对应参考位置中的哈希键匹配时,出现与参考块匹配的哈希键。如果发现多个参考块与具有相同哈希键的当前块匹配,则计算每个候选的块矢量成本,并选择成本最小的一个。

在块匹配搜索中,搜索范围被设置为当前块左边和顶部的64个像素。

3.1.4.基于历史的运动矢量预测

2018年7月2日提交的标题为“MOTION VECTOR PREDICTION BASED ON LOOK-UPTABLES(基于查找表的运动矢量预测)”的PCT申请No.PCT/CN2018/093987(其内容通过引用并入本文)描述了其中存储了至少一个运动候选以预测块的运动信息的一个或多个查找表。

提出了一种基于历史的MVP(HMVP)方法,其中HMVP候选被定义为先前编解码块的运动信息。在编码/解码过程期间,维护具有多个HMVP候选的表。当遇到新的条带时,表被清空。每当有帧间编解码块时,相关联的运动信息被添加到表的最后一个条目中作为新的HMVP候选。整个编解码流程如图37所示。在一个示例中,表尺寸被设置为1(例如,L=16或6,或44),这表明可以向表中添加多达L个HMVP候选。

(1)在一个实施例中,如果从先前编解码块中有L个以上HMVP候选,则应用先进先出(First-In-First-Out,FIFO)规则,使得该表总是包含最新的先前编解码的L个运动候选。图38描绘了应用FIFO规则来移除HMVP候选,并且向所提出的方法中使用的表添加新的候选的示例。

(2)在另一实施例中,每当添加新的运动候选(诸如当前块是帧间编解码和非仿射模式)时,首先应用冗余校验过程来识别LUT中是否存在相同或相似的运动候选。

3.2.JVET-M0101

3.2.1.添加HEVC式加权预测

下表示出了语法元素的示例。为了实施HEVC式的加权预测,可以对PPS和条带头进行如下以粗体显示的语法改变:

3.2.2.以互斥方式调用(利用加权平均的双向预测双向预测(bi-predictionwith weighted averaging,BWA),又名GBI)和WP

尽管BWA和WP都将权重施加于运动补偿预测信号,但是具体操作是不同的。在双向预测情况下,取决于与用于生成预测信号的ref_idx相关联的(权重、偏移)参数,WP将线性权重和恒定偏移施加于每个预测信号。尽管对这些(权重、偏移)值有一些范围限制,但允许的范围相对较大,并且对参数值没有归一化限制。WP参数在图片级别(在条带头中)信令通知。已经显示出WP为衰落序列提供了非常大的编解码增益,并且通常期望对于这种内容启用WP。

BWA使用CU级别索引来指示在双向预测的情况下如何组合两个预测信号。BWA采用加权平均,即两个权重加起来等于1。BWA为CTC RA配置提供了约0.66%的编解码增益,但对于衰落内容,其效率远低于WP(JVET-L0201)。

检查PPS语法元素weight_bipred_flag,以确定gbi_idx是否在当前CU处信令通知。语法信令以粗体修改如下:

如果当前条带参考weight_bipred_flag设置为1的PPS,则第一种选择将禁用当前条带的所有参考图片的BWA。

仅当双向预测中使用的两个参考图片都已开启加权预测,即这些参考图片的(权重、偏移)参数具有非默认值时,BWA才被禁用。这允许使用具有默认WP参数的参考图片的双向预测CU(即WP不被调用用于这些CU)仍然能够使用BWA。语法信令以粗体修改如下:

4.问题

在LIC中,包括缩放参数a和偏移b的两个参数需要通过使用临近的重构像素来推导,这可能导致时延问题。

混合帧内和帧间预测、扩散滤波器、双边滤波器、OBMC和LIC需要以不同的方式进一步修改帧间预测信号,它们都存在时延问题。

5.一些示例实施例和技术

以下详细的发明应被认为是用以解释一般概念的示例。这些发明不应狭义地解释。此外,这些发明可以以任何方式组合。

在一些实施例中,仅对位于CTU边界的块(称为边界块)执行LIC,并且可以使用当前CTU的临近重构样点来推导LIC参数。在这种情况下,对于那些不位于CTU边界的块(称为内部块),LIC总是被禁用而不被信令通知。

在一些实施例中,当前CTU之外的临近重构样点的选择可以取决于块相对于覆盖当前块的CTU的位置。

在一些实施例中,对于在CTU左边边界处的块,可以仅使用CU的左边的重构临近样点来推导LIC参数。

在一些实施例中,对于在CTU顶部边界处的块,可以仅使用块的上边的重构临近样点来推导LIC参数。

在一些实施例中,对于在CTU左上角处的块,可以使用块的左边和/或上边的重构临近样点来推导LIC参数。

在一些实施例中,对于在CTU右上角处的块,使用块的右上和/或上边的重构临近样点来推导LIC参数。

在一些实施例中,对于在CTU左下角处的块,使用块的左下和/或左边的重构临近样点来推导LIC参数。

在一些实施例中,可以仅为位于CTU边界的块推导LIC参数集,并且CTU的内部块可以从这些LIC参数集的一个或多个集继承。

在一些实施例中,为每个CTU维护一个LIC参数查找表,并且将每个推导出的LIC参数集插入到LIC参数表中。可以使用2018年7月2日提交的标题为“MOTION VECTORPREDICTION BASED ON LOOK-UP TABLES(基于查找表的运动矢量预测)”的PCT申请No.PCT/CN2018/093987(其内容通过引用并入本文)中描述的方法来维护LIC参数查找表。

在一些实施例中,为每个参考图片维护这样的查找表,并且在推导LIC参数时,为所有参考图片推导LIC参数。

在一些实施例中,这样的查找表在每个CTU或CTU行或条带或片或片组或图片的开头被清空。

在一些实施例中,对于用AMVP模式或仿射帧间模式编解码的内部块,如果LIC标志为真,则所使用的LIC参数集被显式地信令通知。例如,索引被信令通知,以指示查找表的哪个条目用于每个参考图片。在一些实施例中,对于单向预测块,如果在查找表中没有参考图片的有效条目,则LIC标志将为假。在一些实施例中,对于双向预测块,如果在查找表中没有任何参考图片的有效条目,则LIC标志将为假。在一些实施例中,对于双向预测块,如果在查找表中存在至少一个参考图片的有效条目,则LIC标志可以为真。对于具有有效LIC参数的每个参考图片,信令通知一个LIC参数索引。

在一些实施例中,维护一个以上查找表。在一些实施例中,当编码/解码当前CTU时,它仅使用来自由一些先前编码/解码的CTU生成的查找表的参数,并且由当前CTU生成的查找表被用于一些后面的CTU。在一些实施例中,每个查找表可以对应于一个参考图片/一个参考图片列表/特定范围的块尺寸/特定编解码模式/特定块形状等。

在一些实施例中,如果内部块是用Merge或仿射Merge模式进行编解码的,则对于空域或/和时域Merge候选,LIC标志和LIC参数都从对应的临近块继承。

在一些实施例中,LIC标志被继承,并且LIC参数可以被显式地信令通知。在一些实施例中,LIC标志被显式地信令通知,并且LIC参数可以被继承。在一些实施例中,LIC标志和LIC参数都被显式地信令通知。在一些实施例中,块的LIP参数和继承的参数之间的差被信令通知。

在一些实施例中,对于用AMVP模式或仿射帧间模式编解码的边界块,如果LIC标志为真,则使用与2.2.7中相同的方法隐式地推导所使用的LIC参数。

在一些实施例中,如果边界块是用Merge或仿射Merge模式进行编解码的,则对于空域或/和时域Merge候选,LIC标志和LIC参数都从对应的临近块继承。

在一些实施例中,LIC标志被继承,并且LIC参数可以被显式地信令通知。在一些实施例中,LIC标志被显式地信令通知,并且LIC参数可以被继承。在一些实施例中,LIC标志和LIC参数都被显式地信令通知。

在一些实施例中,如果块是用Merge模式进行编解码的,则对于组合的Merge候选或平均Merge候选,LIC总是被禁用。

在一些实施例中,如果用于生成组合Merge候选或平均Merge候选的两个Merge候选中的任何一个的LIC标志为真,则LIC标志被设置为真。在一些实施例中,对于内部块,如果用于生成组合Merge候选或平均Merge候选的两个Merge候选都使用LIC,则它可以从其中任何一个中继承LIC参数。在一些实施例中,LIC标志被继承,并且LIC参数可以被显式地信令通知。在一些实施例中,LIC标志被显式地信令通知,并且LIC参数可以被继承。在一些实施例中,LIC标志和LIC参数都被显式地信令通知。

在一些实施例中,如果块是用来自HMVP Merge候选的Merge模式编解码的,则LIC总是被禁用。在一些实施例中,如果块是用来自HMVP Merge候选的Merge模式编解码的,则LIC总是被启用。在一些实施例中,如果HMVP Merge候选的LIC标志为真,则LIC标志被设置为真。例如,LIC标志可以被显式地信令通知。在一些实施例中,如果HMVP Merge候选的LIC标志为真,则LIC标志被设置为真,并且LIP参数从HMVP Merge候选继承。在一些实施例中,LIC参数被显式地信令通知。在一些实施例中,隐式地推导LIC参数。

LIC可以与帧内块复制(IBC,或当前图片参考)模式一起使用。

在一些实施例中,如果以帧内块复制模式来编解码块,则可以进一步信令通知通知LIC使用的指示(例如,LIC标志)。在一些实施例中,在Merge模式下,如果IBC编解码的块从临近块继承运动信息,则它也可以继承LIC标志。在一些实施例中,它也可以继承LIC参数。

在一些实施例中,如果LIC标志为真,则使用与2.2.7相同的方法隐式地推导LIC参数。在一些实施例中,可以使用示例1和/或示例2中描述的方法。在一些实施例中,如果启用LIC来编解码块,则可以进一步信令通知IBC使用的指示。

在一些实施例中,排他地使用混合帧内和帧间预测、扩散滤波器、双边滤波器、OBMC、LIC或修改帧间预测信号或从运动补偿修改重构块(例如,引起时延问题)的任何其他工具。

在一些实施例中,如果启用LIC,则隐式地禁用所有其他工具。如果LIC标志为真(显式地信令通知或隐式地推导),则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。

在一些实施例中,如果启用混合帧内和帧间预测,则隐式地禁用所有其他工具。如果混合帧内和帧间预测标志为真(显式地信令通知或隐式地推导),则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。

在一些实施例中,如果启用扩散滤波器,则隐式地禁用所有其他工具。如果扩散滤波器标志为真(显式地信令通知或隐式地推导),则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。

在一些实施例中,如果启用OBMC,则隐式地禁用所有其他工具。如果OBMC标志为真(显式地信令通知或隐式地推导),则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。

在一些实施例中,如果启用双边滤波器,则隐式地禁用所有其他工具。如果双边滤波器标志为真(显式地信令通知或隐式地推导),则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。

在一些实施例中,可以按顺序检查不同的工具。此外,当决定启用上述工具之一时,这种检查过程终止。在一些实施例中,检查顺序是LIC→扩散滤波器→混合帧内和帧间预测→OBMC→双边滤波器。在一些实施例中,检查顺序是LIC→扩散滤波器→双边滤波器→混合帧内和帧间预测→OBMC。

在一些实施例中,检查顺序是LIC→OBMC→扩散滤波器→双边滤波器→混合帧内和帧间预测。在一些实施例中,检查顺序是LIC→OBMC→扩散滤波器→混合帧内和帧间预测→双边滤波器。在一些实施例中,顺序可以基于先前编解码的信息和/或基于当前块的编解码信息(例如,块尺寸/参考图片/MV信息/低延迟检查标志/片/图片/条带类型),诸如基于临近块的模式,而自适应地改变。

在一些实施例中,LIC与GBI或多假设帧间预测排他地使用。

在一些实施例中,可以在LIC信息之后信令通知GBI信息。在一些实施例中,是否信令通知GBI信息可以取决于信令通知/推断的LIC信息。此外,是否信令通知GBI信息可以取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的LIC信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中被信令通知。

在一些实施例中,可以在GBI信息之后信令通知LIC信息。在一些实施例中,是否信令通知LIC信息可以取决于信令通知/推断的GBI信息。此外,是否信令通知LIC信息可以取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的GBI信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中被信令通知。

在一些实施例中,如果LIC标志为真,则GBI或多假设帧间预测所需的语法元素不被信令通知。

在一些实施例中,如果GBI标志为真(例如,将不相等的权重应用于两个或多个参考图片),则LIC或多假设帧间预测所需的语法元素不被信令通知。

在一些实施例中,如果对于两个或多极参考图片的具有不相等权重的块启用GBI,则LIC或多假设帧间预测所需的语法元素不被信令通知。

在一些实施例中,LIC与子块技术(例如,仿射模式)排他地使用使用。在一些实施例中,LIC与三角形预测模式排他地使用使用。在一些实施例中,当对于一个块启用三角形预测模式时,总是禁用LIC。在一些实施例中,一个TPM Merge候选的LIC标志可以从空域或时域块或其他种类的运动候选(例如,HMVP候选)继承。在一些实施例中,一个TPM Merge候选的LIC标志可以从一些空域或时域块(例如,仅A1、B1)继承。在一些实施例中,一个TPMMerge候选的LIC标志可以总是被设置为假。

在一些实施例中,如果启用多假设帧间预测,则LIC或GBI所需的语法元素不被信令通知。

在一些实施例中,可以按一定顺序检查不同的工具。此外,当确定启用上述工具之一时,这种检查过程终止。在一些实施例中,检查顺序是LIC->GBI->多假设帧间预测。在一些实施例中,检查顺序是LIC->多假设帧间预测->GBI。在一些实施例中,检查顺序是GBI->LIC->多假设帧间预测。

在一些实施例中,检查顺序是GBI->多假设帧间预测->LIC。在一些实施例中,可以基于先前编解码的信息和/或基于当前块的编解码的信息(例如,块尺寸/参考图/MV信息/低延迟检查标志/片/图片/条带类型)(诸如基于临近块的模式)来自适应地改变顺序。

在一些实施例中,仅当当前块是单预测时才可以应用以上方法。

在一些实施例中,LIC与组合帧间帧内预测(CIIP)排他地使用。在一些实施例中,可以在LIC信息之后信令通知CIIP信息。在一些实施例中,是否信令通知CIIP信息可以取决于信令通知/推断的LIC信息。此外,是否信令通知CIIP信息可取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的LIC信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中被信令通知。

在一些实施例中,可以在CIIP信息之后信令通知LIC信息。

在一些实施例中,是否信令通知LIC信息可以取决于信令通知/推断的CIIP信息。此外,是否信令通知LIC信息可以取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的CIIP信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中被信令通知。

在一些实施例中,如果LIC标志为真,则CIIP所需的语法元素不被信令通知。在一些实施例中,如果CIIP标志为真,则LIC所需的语法元素不被信令通知。在一些实施例中,如果启用CIIP,则LIC所需的语法元素不被信令通知。

在一些实施例中,当应用下面的一个或一些编解码工具时(加权预测除外),不能应用加权预测:

a.BIO(又称BDOF)

b.CIIP

c.仿射预测

d.重叠块运动补偿(OBMC)

e.解码器侧向运动矢量细化(DMVR)

在一些实施例中,由于加权预测被启用/禁用,因此一些编解码工具被相应地禁用/启用。在一些实施例中,由于一些编解码工具被启用/禁用,因此加权预测被相应地禁用/启用。

在一些实施例中,如果编解码工具和加权预测是互斥的,则当应用加权预测时,指示是否使用编解码工具的信息(例如,标志)不被信令通知。这样的信息(例如,标志)可以被推断为零。在一些实施例中,该信息仍可以在SPS/PPS/条带头/片组头/片/CTU/CU中显式地信令通知。

在一些实施例中,LIC可以在块级别下与加权预测排他地使用。

在一些实施例中,当当前块是双向预测时,LIC信息的信令通知可以取决于weighted_bipred_flag。

在一些实施例中,当当前块是单向预测时,LIC信息的信令通知可以取决于weighted_pred_flag。

在一些实施例中,LIC信息的信令通知可以取决于与和当前块相关联的一个或所有参考图片相关联的加权预测参数。

在一些实施例中,如果对于块的一些参考图片或所有参考图片启用加权预测,则可以对于该块禁用LIC,并且与LIC相关的语法元素不被信令通知。

在一些实施例中,即使对于块的一些参考图片或所有参考图片启用加权预测,仍可以应用LIC,并且可以对于该块禁用加权预测。在一些实施例中,可以将LIC应用于未应用加权预测的参考图片,并且可以在应用加权预测的参考图片上禁用LIC。

在一些实施例中,LIC可以与加权预测一起用于一个块。

在一些实施例中,LIC可以在图片级别/条带级别/片组级别/CTU组级别下与加权预测排他地使用。

在一些实施例中,如果对于图片/条带/片组/CTU组的一些参考图片或所有参考图片启用加权预测,则禁用LIC,并且所有相关的语法元素不被信令通知。

在一些实施例中,如果对于图片/条带/片组/CTU组启用LIC,则对其所有参考图片禁用加权预测,并且所有相关的语法元素不被信令通知。

在一些实施例中,LIC可以与加权预测一起使用。

在一些实施例中,LIC可以与CPR模式排他地使用。在一些实施例中,当对于块启用CPR模式时,可以跳过对LIC使用和/或边信息的指示的信令通知。在一些实施例中,当对于块启用LIC模式时,可以跳过CPR使用和/或边信息的指示的信令通知。

在一些实施例中,LIC可以与多假设预测一起使用(如2.2.13、2.2.14、2.2.15中所述)。

在一些实施例中,为多假设AMVP和Merge模式显式地信令通知LIC标志(例如,如2.2.14中所述)。在一些实施例中,显式信令通知的LIC标志被应用于AMVP模式和Merge模式。在一些实施例中,显式信令通知的LIC标志仅应用于AMVP模式,而用于Merge模式的LIC标志是从对应的Merge候选继承的。不同的LIC标志可以被用于AMVP模式和Merge模式。同时,不同的LIC参数可以被推导/继承用于AMVP模式和Merge模式。在一些实施例中,Merge模式始终禁用LIC。在一些实施例中,不信令通知LIC标志,并且LIC对于AMVP模式总是禁用。然而,对于Merge模式,可以继承或推导LIC标志或/和LIC参数。

在一些实施例中,LIC标志是从多假设Merge模式的对应Merge候选中继承的(例如,如2.2.15中所述)。在一些实施例中,LIC标志被继承用于两个选择的Merge候选中的每一个,因此,不同的LIC标志可以被继承用于两个选择的Merge候选。同时,不同的LIC参数可以被推导/继承用于两个选择的Merge候选。在一些实施例中,LIC标志仅被继承用于第一个选择的Merge候选,而LIC总是对于第二个选择的Merge候选禁用。

在一些实施例中,为多假设帧间预测模式(例如,如2.2.13中所述),显式地信令通知LIC标志。在一些实施例中,如果用Merge模式(或UMVE模式)和附加运动信息来预测块,则显式地信令通知的LIC标志可以应用于Merge模式(或UMVE模式)和附加运动信息。在一些实施例中,如果用Merge模式(或UMVE模式)和附加运动信息来预测块,则显式地信令通知的LIC标志可以应用于附加运动信息。而对于Merge模式,可以继承或推导LIC标志或/和LIC参数。在一些实施例中,对于Merge模式总是禁用LIC。

在一些实施例中,如果用Merge模式(或UMVE模式)和附加运动信息来预测块,则不信令通知LIC标志并对于附加运动信息禁用LIC标志。而对于Merge模式,可以继承或推导LIC标志或/和LIC参数。在一些实施例中,如果用AMVP模式和附加运动信息来预测块,则显式地信令通知的LIC标志可以应用于AMVP模式和附加运动信息。在一些实施例中,对于附加的运动信息总是禁用LIC。在一些实施例中,不同的LIC参数可以被推导/继承用于Merge模式(或UMVE模式)/AMVP模式和附加运动信息。

在一些实施例中,当多假设被应用于块时,照明补偿可以被应用于某些预测信号,而不是所有预测信号。在一些实施例中,当多假设被应用于块时,可以信令通知/推导一个以上的标志来指示对预测信号的照明补偿的使用。

在一些实施例中,LIC标志可以在UMVE模式下从基本Merge候选继承。在一些实施例中,如2.2.7中所述隐式地推导LIC参数。在一些实施例中,对于以UMVE模式编解码的边界块,如2.2.7中所述隐式地推导LIC参数。在一些实施例中,对于以UMVE模式编解码的内部块,LIC参数从基本Merge候选继承。在一些实施例中,LIC标志可以在UMVE模式下显式地信令通知。

以上提出的方法或LIC可以在某些条件下应用,诸如块尺寸、条带/图片/片类型或运动信息。

在一些实施例中,当块尺寸包含小于M*H个样点,例如,16或32或64个亮度样点时,提出的方法或LIC不被允许。

在一些实施例中,当块的宽度或/和高度的最小尺寸小于或不大于X时,提出的方法或LIC不被允许。在一个示例中,X被设置为8。

在一些实施例中,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,提出的方法或LIC不被允许。在一个示例中,th1和/或th2被设置为8。

在一些实施例中,当块的宽度

在一些实施例中,对于仿射帧间模式或/和仿射Merge模式禁用LIC。

在一些实施例中,对于子块编解码工具(如ATMVP或/和STMVP或/和平面运动矢量预测模式)禁用LIC。

在一些实施例中,LIC仅应用于某些分量。例如,LIC被应用于亮度分量。可替换地,LIC被应用于色度分量。

在一些实施例中,如果LIC标志为真,则禁用BIO或/和DMVR。

在一些实施例中,对于双向预测块禁用LIC。

在一些实施例中,对于用AMVP模式编解码的内部块禁用LIC。

在一些实施例中,LIC仅允许用于单向预测块。

在一些实施例中,对用于推导LIC参数的临近样点的选择可以取决于编解码信息、块形状等。

在一些实施例中,如果宽度>=高度或宽度>高度,则仅上边临近的像素被用于推导LIC参数。

在一些实施例中,如果宽度<高度,则仅左边临近的像素被用于推导LIC参数。

在一些实施例中,仅为具有几何分割结构(诸如三角形预测模式)的块信令通知一个LIC标志。在这种情况下,块的所有分区(所有PU)共享LIC启用标志的相同值。

在一些实施例中,对于一些PU,LIC可能总是禁用,而不管是否信令通知LIC标志。

在一些实施例中,如果将块从右上角到左下角进行划分,则推导一个LIC参数集并将其用于两个PU。在一些实施例中,LIC总是对于底部PU禁用。在一些实施例中,如果顶部PU以Merge模式编码,则不信令通知LIC标志。

在一些实施例中,如果块从左上角到右下角进行划分,则为每个PU推导LIC参数。在一些实施例中,块的上边临近样点被用于推导顶部PU的LIC参数,并且块的左边临近样点被用于推导左边PU的LIC参数。在一些实施例中,推导一个LIC参数集并将其用于两个PU。

在一些实施例中,如果两个PU都以Merge模式编解码,则不信令通知LIC标志,并且可以从Merge候选继承该标志。可以推导或继承LIC参数。

在一些实施例中,如果一个PU以AMVP模式编解码,而另一个PU以Merge模式编解码,则信令通知的LIC标志可以仅应用于以AMVP模式编解码的PU。对于以Merge模式编解码的PU,继承LIC标志或/和LIC参数。在一些实施例中,不信令通知LIC标志,并且对于以AMVP模式编解码的PU禁用该标志。而对于以Merge模式编解码的PU,继承LIC标志或/和LIC参数。在一些实施例中,对于以Merge模式编解码的PU禁用LIC。

在一些实施例中,如果两个PU都以AMVP模式编解码,则可以为每个PU信令通知一个LIC标志。

在一些实施例中,一个PU可以利用来自当前块内的另一个PU的、已经被重构以推导LIC参数的重构样点。

在一些实施例中,可以对部分像素而不是整个块执行LIC。

在一些实施例中,可以仅对块边界周围的像素执行LIC,而对块内的其他像素不执行LIC。

在一些实施例中,对顶部W×N行或N×H列执行LIC,其中N是整数,W和H表示块的宽度和高度。例如,N等于4。

在一些实施例中,对左上(W-m)×(H-n)区域执行LIC,其中m和n是整数,W和H表示块的宽度和高度。例如,m和n等于4。

在一些实施例中,LIC标志可以用来更新HMVP表。

在一些实施例中,除了运动矢量和其他信息之外,HMVP候选还可以包括LIC标志。

在一些实施例中,LIC标志不被用来更新HMVP表。例如,为每个HMVP候选设置默认的LIC标志值。

在一些实施例中,如果用LIC来编解码一个块,则可以跳过HMVP表的更新。在一些实施例中,LIC编解码块也可以用于更新HMVP表。

在一些实施例中,可以根据LIC标志对候选运动进行重新排序。

在一些实施例中,在Merge/AMVP或其他运动候选列表中,启用LIC的候选可以被放在禁用LIC的候选的所有或部分之前。

在一些实施例中,在Merge/AMVP或其他运动候选列表中,禁用LIC的候选被放在启用LIC的候选的所有或部分之前。

在一些实施例中,对于LIC编解码块和非LIC编解码块,Merge/AMVP或其他运动候选列表构造过程可以不同。

在一些实施例中,对于LIC编解码块,Merge/AMVP或其他运动候选列表可能不包含从非LIC编解码的空域/时域临近块或非相邻块或LIC标志等于假的HMVP候选推导出的运动候选。

在一些实施例中,对于非LIC编解码块,Merge/AMVP或其他运动候选列表可能不包含从LIC编解码的空域/时域临近块或非相邻块或LIC标志等于真的HMVP候选推导出的运动候选。

在一些实施例中,可以以SPS/PPS/VPS/序列头/图片头/条带头/片组头/CTU组等信令通知是否启用或禁用上述方法。在一些实施例中,可以以SPS/PPS/VPS/序列头/图片头/条带头/片组头/CTU组等信令通知要使用哪种方法。在一些实施例中,是否启用或禁用上述方法和/或应用哪种方法可以取决于块维度、视频处理数据单元(video processingdata unit,VPDU)、图片类型、低延迟检查标志、当前块(诸如参考图片、单向预测或双向预测)或先前编解码的块的编解码信息。

6.附加实施例

检查PPS语法元素weight_bipred_flag,以确定LIC_enabled_flag是否在当前CU处信令通知。语法信令以粗体修改如下:

第一种选择可以对于当前条带/片/片组的所有参考图片禁用LIC,例如,1.如果当前条带引用weighted_bipred_flag被设置为1的PPS并且对当前块进行双向预测;

2.如果当前条带引用weighted_pred_flag被设置为1的PPS并且对当前块进行单向预测。

对于双向预测情况:

仅当双向预测中使用的两个参考图片都已开启加权预测,即这些参考图片的(权重、偏移)参数具有非默认值时,才禁用LIC。这允许使用具有默认WP参数的参考图片的双向预测CU(即WP不被调用用于这些CU)仍然能够使用LIC。

对于单向预测情况:

仅当单向预测中使用的参考图片已经开启加权预测,即这些参考图片的(权重、偏移)参数具有非默认值时,才禁用LIC。这允许使用具有默认WP参数的参考图片的单向预测CU(即WP不被调用用于这些CU)仍然能够使用LIC。语法信令以粗体修改如下:

在上表中,X表示参考图片列表(X为0或1)。

对于以上示例,以下内容可能适用:

1.控制每一序列中LIC的使用的sps_LIC_enabled_flag可以由每一图片/视图/条带/片/片组/CTU行/区域/多个CTU/CTU的LIC的使用的指示来代替。

2.对LIC_enabled_flag的信令的控制还可以取决于块维度。

3.对LIC_enabled_flag的信令的控制可以另外取决于GBI索引。

4.对GBI索引的信令的控制还可以取决于LIC_enabled_flag。

图39是示出可以用于实施当前公开的技术的各个部分的计算机系统或其他控制设备2600的架构的示例的框图。在图39中,计算机系统2600包括经由互连2625连接的一个或多个处理器2605和存储器2610。互连2625可以代表通过适当的桥、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者。因此,互连2625可以包括例如系统总线、外围组件互连(Peripheral Component Interconnect,PCI)总线、超传输或工业标准架构(industry standard architecture,ISA)总线、小型计算机系统接口(smallcomputer system interface,SCSI)总线、通用串行总线(universal serial bus,USB)、IIC(I2C)总线或电气和电子工程师协会(Electrical and Electronics Engineers,IEEE)标准674总线,有时称为“火线”。

(多个)处理器2605可以包括中央处理单元(central processing unit,CPU),以控制例如主计算机的整体操作。在某些实施例中,(多个)处理器2605通过执行存储在存储器2610中的软件或固件来实现这一点。(多个)处理器2605可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(digital signal processor,DSP)、可编程控制器、专用集成电路(application specific integrated circuit,ASIC)、可编程逻辑设备(programmable logic devices,PLD)等,或者这些设备的组合。

存储器2610可以是或包括计算机系统的主存储器。存储器2610代表任何合适形式的随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存等,或者这些设备的组合。在使用时,存储器2610尤其可以包含机器指令集,当该机器指令集由处理器1405运行时,使得处理器2605执行操作以实施本公开的技术的实施例。

并且,(可选的)网络适配器2615也通过互连2625连接到(多个)处理器2605。网络适配器2615向计算机系统2600提供与远程设备(诸如存储客户端和/或其他存储服务器)通信的能力,并且可以是例如以太网适配器或光纤通道适配器。

图40示出了可以用于实施本公开的技术的各个部分的设备2700的示例性实施例的框图。移动设备2700可以是膝上型电脑、智能手机、平板电脑、便携式摄像机或能够处理视频的其他类型的设备。移动设备2700包括处理数据的处理器或控制器2701,以及与处理器2701通信以存储和/或缓冲数据的存储器2702。例如,处理器2701可以包括中央处理单元(CPU)或微控制器单元(MicroController Unit,MCU)。在一些实施方式中,处理器2701可以包括现场可编程门阵列(Field-Programmable Gate-Array,FPGA)。在一些实施方式中,移动设备2700包括图形处理单元(Graphics Processing Unit,GPU)、视频处理单元(VideoProcessing Unit,VPU)和/或无线通信单元,或者与GPU、VPU和/或无线通信单元通信,以用于智能手机设备的各种可视和/或通信数据处理功能。例如,存储器2702可以包括并存储处理器可运行代码,当处理器可运行代码由处理器2701运行时,将移动设备2700配置为执行各种操作,例如,诸如接收信息、命令和/或数据,处理信息和数据,以及将处理后的信息/数据发送或提供给另一设备,诸如致动器或外部显示器。为了支持移动设备2700的各种功能,存储器2702可以存储信息和数据,诸如由处理器2701处理或引用的指令、软件、值、图像和其他数据。例如,各种类型的随机存取存储器(RAM)设备、只读存储器(RAM)设备、闪存设备和其他合适的存储介质可以用于实施存储器2702的存储功能。在一些实施方式中,移动设备2700包括输入/输出(I/O)单元2703,以将处理器2701和/或存储器2702接合到其他模块、单元或设备。例如,I/O单元1503可以接合处理器2701和存储器2702,以利用与典型数据通信标准兼容的各种类型的无线接口,例如,诸如在云中的一个或多个计算机和用户设备之间。在一些实施方式中,移动设备2700可以经由I/O单元2703使用有线连接与其他设备接合。移动设备2700还可以与诸如数据存储和/或可视或音频显示设备2704的其他外部接口接合,以检索和传输可以由处理器处理、存储在存储器中或展现在显示设备2704或外部设备的输出单元上的数据和信息。例如,显示设备2704可以根据公开的技术显示视频帧。

图41是视频处理的方法4100的流程图表示。方法4100包括在视频块与视频块的比特流表示之间的转换中,确定(4102)视频块是视频块位于其中的编解码树单元(CTU)的边界块,并且因此对于视频块启用局部照明补偿(LIC)编解码工具,基于确定对于视频块启用LIC编解码工具来推导(4104)视频块的局部照明补偿(LIC)的参数,以及通过使用LIC调整视频块的像素值来执行(4106)该转换。例如,第5节的项目1公开了方法4100的一些示例变型和实施例。

以下基于条款的列表描述了第5节中列出的公开技术的某些特征和方面。

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

在视频块与视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(CTU)的边界块,并且因此对于视频块启用局部照明补偿(LIC)编解码工具;

基于确定对于视频块启用LIC编解码工具来推导视频块的局部照明补偿(LIC)的参数;以及

通过使用LIC调整视频块的像素值来执行该转换。

2.根据条款1所述的方法,其中,该转换从比特流表示生成视频块。

3.根据条款1所述的方法,其中,该转换从视频块生成比特流表示。

4.根据条款1至3中任一项所述的方法,其中,该推导取决于当前块在CTU内的位置而使用临近块的样点。

5.根据条款4所述的方法,其中,(1)在当前块的位置位于CTU的左边界的情况下,该推导仅使用左边的重构临近样点,或者(2)在当前块的位置位于CTU的上边界的情况下,该推导仅使用上边的重构临近样点,或者(3)在当前块的位置位于CTU的左上角的情况下,该推导使用左边和/或上边的重构临近样点,或者(4)在当前块的位置位于CTU的右上角的情况下,该推导使用右边和/或上边的重构临近样点,或者(5)在当前块的位置位于CTU的左下角的情况下,该推导使用左边和/或下边的重构临近样点。

6.一种视频处理方法,包括:

在视频块和视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(CTU)的内部块,并且因此对于视频块禁用局部照明补偿(LIC)编解码工具;

继承视频块的LIC的参数;以及

通过使用LIC调整视频块的像素值来执行该转换。

7.根据条款6所述的方法,其中,该继承包括:

维护先前用于其他块的LIC参数的查找表(LUT);以及

基于来自查找表的一个或多个LIC参数来推导视频块的LIC参数。

8.根据条款7所述的方法,其中,其他块包括来自CTU的块或来自用于当前块的参考图片的块。

9.根据条款7至9中任一项所述的方法,其中,查找表被清空并且对于视频块的每个CTU或一行CTU或条带或片或片组或图片重建查找表。

10.根据条款7所述的方法,其中,当前块使用高级运动矢量预测(AMVP)模式或仿射帧间模式,然后,该比特流表示被配置为包括指示哪些LIC参数被用于当前块的标志。

11.根据条款10所述的方法,其中,该标志指示对LUT中的条目的索引。

12.根据条款7至11中任一项所述的方法,其中,多个LUT被用于CTU。

13.根据条款12所述的方法,其中,为在当前块的转换中使用的每个参考图片或每个参考图片列表维护至少一个LUT。

14.根据条款7所述的方法,其中,当前块对空域或时域Merge候选运动矢量使用Merge模式或仿射Merge模式,并且其中,该继承包括继承临近块的LIC标志和LIC参数中的一个或两个。

15.根据条款7所述的方法,其中,当前块对空域或时域Merge候选运动矢量使用Merge模式或仿射Merge模式,并且其中,该继承包括为比特流配置有一个或多个差值,并且基于一个或多个差值以及临近块的LIC标志和LIC参数之一或两者来计算LIC标志或LIC参数。

16.根据条款1所述的方法,其中,使用高级运动矢量预测(AMVP)或仿射帧间模式来编码当前块,并且其中,使用最小二乘误差最小化来推导参数,在其中临近样点的子样点集被用于误差最小化。

17.一种视频处理方法,包括:

在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿和内部块复制编解码工具均被启用以供当前块使用;以及

通过对视频块执行局部照明补偿(LIC)和帧内块复制操作来执行该转换。

18.根据条款17所述的方法,其中,比特流中的LIC标志被配置为指示对于当前块启用LIC。

19.根据条款18所述的方法,其中,该转换从比特流表示生成视频块。

20.根据条款18所述的方法,其中,该转换从视频块生成比特流表示。

21.根据条款17所述的方法,其中,当前块使用Merge模式,并且其中当前块继承临近块的LIC标志值。

22.根据条款17所述的方法,其中,当前块使用Merge模式,并且其中当前块继承临近块的LIC参数。

23.一种视频处理方法,包括:

在包括具有多个块的多个图片的视频的比特流之间的转换期间,基于LIC模式规则来确定视频的当前块的局部照明补偿(LIC)模式;以及执行当前块和当前块的对应比特流表示之间的转换。

24.根据条款23所述的方法,其中,LIC模式规则指定使用LIC模式,不包括帧间预测、扩散滤波器、双边滤波器、重叠块运动补偿或修改当前块的帧间预测信号的工具。

25.根据条款24所述的方法,其中,LIC模式规则是在比特流中显式地信令通知的。

26.根据条款23所述的方法,其中,LIC模式规则指定仅在当前块不使用广义双向预测(GBI)编解码模式时才使用LIC模式。

27.根据条款23或26中任一项所述的方法,其中,LIC模式规则是在比特流中显式地信令通知的,并且GBI指示从比特流中省略。

28.根据条款23所述的方法,其中,LIC模式规则指定仅在当前块不使用多假设编解码模式时才使用LIC模式。

29.根据条款23或28中任一项所述的方法,其中,LIC模式规则是在比特流中地信令通知的,并且多假设编解码模式被隐式地禁用。

30.根据条款28至29中任一项所述的方法,其中,LIC模式规则指定将LIC应用于多假设模式的预测信号的所选择的子集。

31.根据条款23所述的方法,其中,LIC模式规则指定从当前块的基本Merge候选继承LIC标志,该基本Merge候选也使用最终运动矢量表达(UMVE)模式。

32.根据条款31所述的方法,其中,当前块从UMVE模式的基本Merge候选继承其LIC标志。

33.根据条款32所述的方法,其中,当前块使用第2.2.7节中的计算来继承。

34.根据条款1至33中任一项所述的方法,其中,仅当当前块满足与当前块的尺寸或条带类型或片类型或图片类型或与当前块相关联的运动信息的类型相关的条件时,才使用LIC工具。

35.根据条款24所述的方法,其中,该条件不包括小于M*H个样点的块尺寸,其中M和H是预先指定的整数值。

36.根据条款35所述的方法,其中,M*H等于16或32或64。

37.根据条款34所述的方法,其中,该条件指定当前块的宽度或高度小于或不大于X,其中X是整数。

38.根据条款37所述的方法,其中,X=8。

39.根据条款34所述的方法,其中,该条件指定当前块对应于亮度样点。

40.根据条款34所述的方法,其中,该条件指定当前块对应于色度样点。

41.一种视频处理方法,包括:

在视频的视频块与视频的比特流表示之间的转换期间,使用视频块的临近块的至少一些样点来确定视频块的局部照明补偿(LIC)参数;以及

通过使用确定的参数执行LIC来执行视频块和比特流表示之间的转换。

42.根据条款41所述的方法,其中,该转换从比特流表示生成视频块。

43.根据条款41所述的方法,其中,该转换从视频块生成比特流表示。

44.根据条款41至43中任一项所述的方法,其中,识别临近块的至少一些样点取决于当前块的编解码信息或当前块的形状。

45.根据条款44所述的方法,其中,当前块的宽度大于或等于当前块的高度,并且因此仅上边临近的像素被用于推导LIC参数。

46.一种视频处理方法,包括:

执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且仅对使用包括三角形预测模式的几何预测结构的视频块启用局部照明补偿(LIC)。

47.根据条款46所述的方法,其中,该转换从比特流表示生成视频块。

48.根据条款46所述的方法,其中,该转换从视频块生成比特流表示。

49.根据条款46至48中任一项所述的方法,其中,对于启用LIC的当前块,所有预测单元分区共享相同的LIC标志值。

50.根据条款46至48中任一项所述的方法,其中,对于从右上角到左下角分割的当前块,单个LIC参数集被用于当前块的两个分区。

51.根据条款46至48中任一项所述的方法,其中,对于从左上角到右下角分割的当前块,单个LIC参数集被用于当前块的每个分区。

52.一种视频处理方法,包括:

执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且在转换为其对应比特流表示的转换中,对于少于当前块的所有像素,实施局部照明补偿(LIC)。

53.根据条款52所述的方法,其中,该转换从比特流表示生成视频块。

54.根据条款52所述的方法,其中,该转换从视频块生成比特流表示。

55.根据条款52至54中任一项所述的方法,其中,仅对当前块的边界上的像素执行LIC。

56.根据条款52至54中任一项所述的方法,其中,仅对当前块的顶部部分中的像素执行LIC。

57.根据条款52至54中任一项所述的方法,其中,仅对当前块的右侧部分中的像素执行LIC。

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

在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和广义双向预测(GBi)或多假设帧间预测编解码工具均被启用以供当前块使用;以及

通过对视频块执行LIC和GBi或多假设帧间预测操作来执行该转换。

59.根据条款58所述的方法,其中,在与LIC编解码工具相关联的信息之后,信令通知与GBi编解码工具相关联的信息。

60.根据条款58所述的方法,其中,在与GBi编解码工具相关联的信息之后,信令通知与LIC编解码工具相关联的信息。

61.根据条款59或60所述的方法,其中,该信息是在序列参数集(SPS)、图片参数集(PPS)、条带头,片组头、片、编解码单元(CU)或编解码树单元(CTU)中被信令通知的。

62.根据条款58所述的方法,其中,LIC标志为真,并且其中,比特流表示不包括与GBi或多假设帧间预测编解码工具相关联的一个或多个语法元素。

63.根据条款58所述的方法,其中,GBi标志为真,并且其中,比特流表示不包括与LIC或多假设帧间预测编解码工具相关联的一个或多个语法元素。

64.根据条款58所述的方法,其中,多假设帧间预测LIC标志为真,并且其中,比特流表示不包括与LIC或GBi编解码工具相关联的一个或多个语法元素。

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

在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和组合帧间-帧内预测(CIIP)编解码工具均被启用以供当前块使用;以及

通过对视频块执行LIC和CIIP操作来执行该转换。

66.根据条款65所述的方法,其中,在与LIC编解码工具相关联的信息之后,信令通知与CIIP编解码工具相关联的信息。

67.根据条款65所述的方法,其中,在与CIIP编解码工具相关联的信息之后,信令通知与LIC编解码工具相关联的信息。

68.根据条款66或67所述的方法,其中,该信息在序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码单元(CU)或编解码树单元(CTU)中被信令通知。

69.根据条款65所述的方法,其中,LIC标志为真,并且其中,比特流表示不包括与CIIP编解码工具相关联的一个或多个语法元素。

70.根据条款65所述的方法,其中,CIIP标志为真,并且其中,比特流表示不包括与LIC编解码工具相关联的一个或多个语法元素。

71.根据条款1至70中任一项的方法,其中,比特流被配置有控制该转换操作的比特字段。

72.根据条款71所述的方法,其中,该比特字段包括在序列级别、图片级别、视频级别、序列头级别、图片头级别、条带头级别、片级别或编解码树单元组级别。

73.一种视频编码装置,包括处理器,该处理器被配置为实施根据条款1至72中任何一项或多项所述的方法。

74.一种视频解码装置,包括处理器,该处理器被配置为实施根据条款1至72中任何一项或多项所述的方法。

75.一种其上存储有代码的计算机可读介质,该代码在被执行时使处理器执行根据条款1至72中任何一项或多项所述的方法。

图42是视频处理的方法4200的流程图表示。方法4200包括为视频的当前块和视频的比特流表示之间的转换,生成(4210)当前块的运动矢量。方法4200包括以互斥的方式调用(4220)加权预测处理工具或第二处理工具。这里,调用第二处理工具包括细化运动矢量。方法4200还包括根据该调用来执行(4230)该转换。

在一些实施例中,该转换从比特流表示生成当前块。在一些实施例中,其中,该转换从当前块生成比特流表示。

在一些实施例中,调用加权预测处理工具包括应用线性加权和偏移来推导最终预测。

在一些实施例中,该调用包括在对于当前块禁用加权预测处理工具的情况下,确定对于当前块启用第二处理工具。在一些实施例中,该调用包括在对于当前块启用加权预测处理工具的情况下,确定对于当前块禁用第二处理工具。在一些实施例中,该调用包括在对于当前块禁用第二处理工具的情况下,确定对于当前块启用加权预测处理工具。在一些实施例中,该调用包括在对于当前块启用第二处理工具的情况下,确定对于当前块禁用加权预测处理工具。

在一些实施例中,细化运动矢量包括应用运动矢量偏移来细化运动矢量。运动矢量偏移是基于从当前块的不同的参考列表推导出的绝对差之和来确定的。在一些实施例中,基于从当前块的不同的参考列表推导处的部分位置来计算绝对差之和。在一些实施例中,第二处理工具包括解码器侧运动矢量细化(DMVR)过程。

在一些实施例中,该调用还包括以互斥的方式调用加权预测处理工具或第三处理工具。第三处理工具应用预测偏移来细化最终预测。基于从当前块的不同的参考列表推导出的水平或垂直梯度中的至少一个来确定预测偏移。在一些实施例中,第三处理工具包括双向光流预测(BDOF)过程。

在一些实施例中,该调用还包括以互斥的方式调用加权预测处理工具或第四处理工具。第四处理工具包括以下之一:基于帧间预测和帧内预测生成最终预测的组合帧间-帧内预测(CIIP)处理工具、基于控制点运动矢量生成最终预测的仿射处理工具、或者基于子块和空域临近子块的运动矢量生成最终预测的重叠块运动补偿(OBMC)处理工具。

在一些实施例中,在加权预测处理工具被应用于当前块的情况下,指示第二处理工具是否被应用的信息被默认为具有零值。在一些实施例中,在加权预测处理工具被应用于当前块的情况下,指示第二处理工具是否被应用的信息以序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码单元(CU)或编解码树单元(CTU)被信令通知。

本文档中描述的所公开的和其它实施例、模块和功能操作可以在数字电子电路中实施,或者在计算机软件、固件或硬件中实施,包括本文档中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实施。所公开的和其它实施例可以实施为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电信号、光信号或电磁信号,其被生成来编码信息以传输到合适的接收器装置。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上执行。

本文中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者被可操作地耦合以从一个或多个大容量存储设备接收数据或向其传送数据或两者兼有。然而,计算机不需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如,包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。

虽然本专利文档包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样来保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。

类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中都需要这种分离。

仅描述了几个实施方式和示例,并且可以基于本专利文件中描述和图示的内容进行其它实施、增强和变化。

相关技术
  • 视频编解码中的加权预测
  • 具有利用局部亮度变化的加权预测的视频编解码器
技术分类

06120113250082