首页> 中国专利> 具有运动矢量差的Merge模式中的运动矢量精度

具有运动矢量差的Merge模式中的运动矢量精度

摘要

提供一种视频处理的方法,包括:执行视频的一个或多个视频块和视频的编解码表示之间的转换,其中,编解码表示中的第一字段指示分数样点精度是否在该转换期间使用的具有运动矢量差的Merge(MMVD)模式下用于指示运动距离,并且其中,MMVD模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动距离和运动方向。

著录项

说明书

相关申请的交叉引用

根据适用的专利法和/或依据巴黎公约的规则,本申请是为了及时要求于2018年12月21日提交的国际专利申请No.PCT/CN2018/122626、于2018年12月29日提交的国际专利申请No.PCT/CN2018/125417和于2019年1月23日提交的国际专利申请No.PCT/CN2019/072814的优先权和利益。出于根据相关法律的所有目的,前述申请的全部公开内容通过引用并入作为本申请公开内容的一部分。

技术领域

本文档涉及视频和图像编解码和解码。

背景技术

数字视频占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计对数字视频使用的带宽需求将继续增长。

发明内容

本文档公开了视频编解码工具,在一个示例方面,该视频编解码工具提高了与最终运动矢量表达或广义双向预测相关的当前编解码工具的编解码效率。

在一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定最终运动矢量表达(Ultimate Motion VectorExpression,UMVE)模式的操作模式;以及基于该确定执行该转换,其中,当前视频块以Merge模式和UMVE模式中的运动矢量差而编解码,其中该UMVE模式包括运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:UMVE启用字段,其值指示对当前视频块启用还是禁用UMVE模式;或者修改仿射模式启用字段,其指示对当前视频块启用还是禁用基于UMVE模式修改的仿射Merge模式。

在另一示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定最终运动矢量表达(UMVE)模式的操作模式;以及基于该确定执行该转换,其中,当前视频块以Merge模式和UMVE模式中的运动矢量差而编解码,其中该UMVE模式包括运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:列表尺寸字段,其指示由UMVE模式使用的基本候选列表的尺寸;或者表字段,其信令通知UMVE模式的距离表或方向表。

在另一示例方面,公开了一种视频处理的方法。该方法包括使用最终运动矢量表达(UMVE)编解码工具执行视频的当前视频块和视频的编解码表示之间的转换,其中,UMVE编解码工具表示运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,距离表或方向表中的至少一个取决于两个参考图片的图片顺序计数(Picture Order Count,POC)或包括当前视频块的当前图片的POC,或者用于编解码当前视频块、当前条带或当前图片的量化参数(Quantization Parameter,QP)。

在另一示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定仿射最终运动矢量表达(UMVE)模式的操作模式;以及基于该确定执行该转换,其中,当前视频块以仿射Merge模式和仿射UMVE模式中的运动矢量差而编解码,其中该仿射UMVE模式包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:列表尺寸字段,其指示由UMVE模式使用的、具有预测偏移的仿射Merge模式的基本仿射Merge候选列表的尺寸;或者表字段,其信令通知具有预测偏移的仿射Merge模式的距离表或方向表。

在另一示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定信令通知最终运动矢量表达(UMVE)编解码工具中的多个运动矢量差;以及基于该确定执行该转换,其中,使用UMVE编解码工具,包括起始点、由当前视频块的N个运动幅度和N个运动方向表示的N个运动矢量差的运动矢量表达在该转换期间被使用,N是等于或大于二的整数。

在另一示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定由于当前视频块使用当前图片参考(CurrentPicture Referencing,CPR)编解码工具和最终运动矢量表达(UMVE)编解码工具,规则适用于该转换;以及根据该规则执行该转换,其中,该规则不允许将一个或多个编解码距离用于该转换,其中,CPR编解码工具使用当前图片作为参考图片,并且其中,UMVE编解码工具使用包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达。

在另一示例方面,公开了一种视频处理的方法。该方法包括:在视频的当前视频块和视频的编解码表示之间的转换期间,在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,确定执行对当前视频块的运动矢量差(Motion Vector Difference,MVD)值的细化;以及基于该确定执行该转换。

在另一示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,确定使用来自多个UMVE参数集的第一UMVE参数集;以及基于该确定执行该转换,其中,为当前视频块信令通知或预定义了多个UMVE参数集中的至少一个的指示。

在另一示例方面,公开了一种视频处理的方法。该方法包括在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,选择UMVE参数集以用于视频的当前视频块和视频的编解码表示之间的转换,其中,所选择的UMVE参数集跨不同视频块、不同参考图片列表、不同参考图片、不同片、不同条带、不同图片或不同时域层而改变。

在另一示例方面,公开了一种视频处理的方法。该方法包括使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具来执行视频的当前视频块和视频的编解码表示之间的转换,其中,自适应运动矢量分辨率(Adaptive Motion Vector Resolution,AMVR)方案用于信令通知由UMVE编解码工具使用的距离表。

在另一示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定广义双向预测(Generalized Bi-prediction,GBi)编解码工具的操作模式,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值;以及基于该确定执行该转换,其中,编解码表示中的字段对应于操作模式,并且字段的值指示对当前视频块启用还是禁用GBI编解码工具。

在另一示例方面,公开了一种视频处理的方法。该方法包括基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定由GBi编解码工具使用的加权因子集基于:i)包括当前视频块的图片的时域层,ii)图片的图片量化参数,或者iii)当前视频块的量化参数。

在另一示例方面,公开了一种视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定使用不等于单向预测模式的权重的权重;以及基于该确定执行该转换,其中,对当前视频块的预测使用对应于通过权重缩放的预测值的最终预测值,并且其中,在块级别或编解码单元级别选择了加权因子集。

在另一示例方面,公开了一种视频处理的方法。该方法包括基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定基于当前视频块的邻近像素和由当前视频块的运动矢量或运动矢量的整数部分标识的对应参考邻近像素,选择或推导GBi编解码工具的加权因子。

在另一示例方面,公开了一种视频处理的方法。该方法包括基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定基于当前视频块的邻近像素和由当前视频块的运动矢量或运动矢量的整数部分标识的对应参考邻近像素,重新排序GBi编解码工具的加权因子。

在另一示例方面,公开了一种视频处理的方法。该方法包括基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定使用与当前视频块相关联的局部照明补偿(LocalIllumination Compensation,LIC)参数用于确定GBi编解码工具的加权因子,并且其中,LIC参数被推导以在该转换期间使用当前块中的照明变化的线性模型。

在另一示例方面,公开了一种视频处理的方法。该方法包括执行视频的一个或多个视频块和视频的编解码表示之间的转换,其中,编解码表示中的第一字段指示分数样点精度是否在该转换期间使用的具有运动矢量差的Merge(Merge With Motion VectorDifference,MMVD)模式下用于指示运动距离,并且其中,MMVD模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动距离和运动方向。

在另一示例方面,公开了一种视频处理的方法。该方法包括执行视频的当前视频块和视频的编解码表示之间的转换,其中,编解码表示包括指示是否针对在该转换期间使用的高级运动矢量预测(Advanced Motion Vector Prediction,AMVP)模式或仿射帧间模式允许分数运动矢量(MV)或运动矢量差(MVD)精度的标志。

在另一示例方面,公开了一种视频处理的方法。该方法包括根据指定视频的编解码表示的格式的规则,执行视频的当前图片的当前视频块和该编解码表示之间的转换,其中,该规则指定基于用于当前视频块的转换的所有参考块是否是从当前图片的样点获得的,编解码模式的语法元素被包括在编解码表示中。

在又一代表性方面,上述方法以处理器可执行代码的形式而体现,并且存储在计算机可读程序介质中。

在又一代表性方面,公开了一种被配置为或可操作来执行上述方法的设备。该设备可以包括被编程来实施该方法的处理器。

在另一示例方面,上述方法可以由包括处理器的视频编码器装置或视频解码器装置实施。

这些以及其他方面将在本文档中进一步描述。

附图说明

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

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

图3A和3B分别示出了4参数仿射模型和6参数仿射模型的示例。

图4示出了AF_INTER的运动矢量预测值(Motion Vector Predictor,MVP)的示例。

图5A-5B示出了AF_MERGE的候选的示例。

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

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

图8示出了最终运动矢量表达(UMVE)搜索过程的示例。

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

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

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

图12-14示出了基于所公开技术的一些实施方式的视频处理的示例方法的流程图。

图15A-15E示出了基于所公开技术的一些实施方式的视频处理的示例方法的流程图。

图16A-16C示出了基于所公开技术的一些实施方式的视频处理的示例方法的流程图。

图17A-17B示出了基于所公开技术的一些实施方式的视频处理的示例方法的流程图。

图18示出了基于所公开技术的一些实施方式的视频处理的示例方法的流程图。

具体实施方式

本文档提供了视频比特流的解码器可以用来提高解压缩或解码数字视频的质量的各种技术。此外,视频编码器还可以在编码过程期间实施这些技术,以便重建用于进一步编码的解码帧。

为了便于理解,在本文档中使用了章节标题,并且不将实施例和技术限制于对应的章节。这样,来自一个章节的实施例可以与来自其他章节的实施例相结合。

1.概述

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

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%。

VVC草案的最新版本,即多功能视频编解码(草案2),可在以下网址找到:

http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7.zip。

VVC的最新参考软件名为VTM,可在以下网址找到:

https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-2.1。

2.1仿射运动补偿预测

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

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

其中(v

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

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

为了推导每个M×N子块的运动矢量,如图2所示,根据等式1计算每个子块的中心样点的运动矢量,并取整到1/16的分数精度。

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

2.1.1 AF_INTER模式

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

图3A示出了4参数仿射模型的示例。图3B示出了6参数仿射模型的示例。

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

其中

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

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

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

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

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

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

其中

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

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

将Pic

假设

其中,

我们可以通过将误差函数的导数设置为零来推导

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

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

利用JVET-K0337,即从由mvd

2.1.3 AF_MERGE模式

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

在推导当前CU的CPMV v

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

1)插入继承的仿射候选

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

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

2)插入构建的仿射候选

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

控制点的运动信息首先从图6所示的指定的空域邻居和时域邻居中推导。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是当前块的宽度和高度。

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

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

对于CP1,检查优先级是B

对于CP2,检查优先级是B

对于CP3,检查优先级是A

对于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具有预测偏移的仿射Merge模式

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

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

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

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

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

表1-距离偏移表

方向索引可以表示如下所示的四个方向,其中只有x或y方向可能有MV差,但不是两个方向都有。

表2-偏移索引表示的方向

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

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

MV(v

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

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

MV

MV

2.3最终运动矢量表达

提出了最终运动矢量表达(UMVE)。UMVE利用提出的运动矢量表达方法而被用于跳过或Merge模式。UMVE也已知为具有运动矢量差的Merge(MMVD)。

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

UMVE提供了新的运动矢量差(MVD)表示方法。其中使用起始点、运动幅度和运动方向来表示MVD。

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

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

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

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

表3.基本候选IDX

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

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

表4.距离IDX

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

表5.方向IDX

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

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

在当前的通用测试条件下,可以选择Merge候选列表中的第一或第二Merge候选作为基本候选。

UMVE被称为具有MVD的Merge(MMVD)。

2.4广义双向预测

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

P

在等式(3)中,P

广义双向预测(GBI)提出允许对来自L0和L1的预测值施加不同的权重。GBI也被称为“CU级别权重双向预测(Bi-prediction with CU-level weights,BCW)”。预测值生成如等式(4)所示。

P

在等式(4)中,P

支持的权重w

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

2.5局部照明补偿

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

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

当LIC应用于CU时,采用最小平方误差法以通过使用当前CU的邻近样点及其对应的参考样点来推导参数a和b。更具体地,如图10所示,使用参考图片中的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.6当前图片参考

解码器方面:

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

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

·在编码器中搜索这种模式时,块宽度和高度两者都小于或等于16。

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

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

编码器方面:

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

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

在块匹配搜索中,搜索范围被设置为当前块左边和顶部的64个像素,并且搜索范围被限制于当前CTU之内。

3.由所公开的实施例解决的问题的示例

存在一些潜在问题:

·UMVE不能在条带级别、图片级别等打开/关闭。这是不灵活的。

·对于UMVE模式,基本候选列表尺寸、距离表尺寸和方向表尺寸是固定的,并且不能改变。

·对于UMVE模式,在双向预测的情况下,只信令通知一个MVD,并且用于两个预测方向(有或没有缩放),这可能是低效的。

·在所有情况下都使用一个固定的MVD集,这可能低效的。

·如何并置UMVE和CPR没有很好的定义。

·GBi仅适用于双向预测情况。

·对于只能使用当前图片作为参考图片的P图片,禁用如仿射、基于子块的Merge、多假设帧内/帧间预测、三角形预测和MMVD等的编解码工具。然而,对于这些编解码工具来说,标志仍然是在CU级别信令通知的,这是不合理的。

4.各种实施例实施的技术的示例

在下文中,我们将只能使用当前图片作为参考图片的帧间图片称为仅CPR帧间图片。以下列表应该被视为解释一般概念的示例。这些示例不应该被狭义地解释。此外,这些技术可以以任何方式组合。

1.提出可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中信令通知UMVE标志,以指示是否启用UMVE。

a.在一个示例中,可以信令通知另一标志以指示是否启用具有预测偏移的仿射Merge模式(即,应用于正常仿射Merge模式的UMVE)。

b.可替换地,仅信令通知一个标志以指示是否启用UMVE和具有预测偏移的仿射Merge模式(即,应用于正常仿射Merge模式的UMVE)两者。

2.提出可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中针对UMVE信令通知基本候选列表尺寸。

a.在一个示例中,基本候选列表尺寸被设置为等于1或2或3。

b.在一个示例中,基本候选列表尺寸不应大于Merge候选列表尺寸。

c.在一个示例中,不需要分开信令通知基本候选列表尺寸。相反,基本候选列表尺寸被推迟为与常规Merge列表尺寸相同。

3.提出可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中针对具有预测偏移的仿射Merge模式信令通知基本候选列表尺寸。

a.在一个示例中,基本候选列表尺寸被设置为等于1或2或3。

b.在一个示例中,基本候选列表尺寸不应大于子块Merge候选列表尺寸。

c.在一个示例中,不需要分开信令通知基本候选列表尺寸。相反,当UMVE被应用于仿射编解码块时,基本候选列表尺寸被推迟为与子块Merge列表尺寸相同。

4.提出可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中针对UMVE信令通知距离表或/和方向表。

a.在一个示例中,仅信令通知距离表尺寸或/和方向表尺寸,表示为K1和K2,并且默认距离表尺寸中的前K1个元素或/和方向表中的前K2个元素是有效的。

b.在一个示例中,仅信令通知距离表尺寸或/和方向表尺寸,表示为K1和K2,并且默认距离表尺寸中的后K1个元素或/和方向表中的后K2个元素是有效的。

5.可以信令通知一个标志以指示允许还是不允许分数距离。

a.可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中信令通知该标志。

b.可以在使用UMVE的指示指示允许UMVE的条件下信令通知该标志。

c.可以在允许使用具有MVD偏移的仿射Merge模式的指示的条件下信令通知该标志。

d.可以以两个级别信令通知标志。可以在SPS/VPS/PPS中信令通知第一标志,以指示是否将在PPS/条带头/片组头/片头中信令通知第二标志。

i.在一个示例中,如果第一标志为假(或真),分数距离总是被启用,并且第二标志可以不被信令通知。

ii.在一个示例中,如果第一标志为真(或假),分数距离可以被禁用,并且第二标志被信令通知。如果第二标志为真(或假),则对图片/条带/片组/片启用分数距离;否则,对图片/条带/片组/片禁用分数距离。

e.在一个示例中,第一标志sps_fracmmvd_disabled_flag在SPS中被信令通知,第二标志tile_group_fracmvd_disabled_flag在片组头中被信令通知。

i.当sps_fracmmvd_disabled_flag为假时,不应用禁用分数距离,并且不信令通知tile_group_fracmvd_disabled_flag,并将其推断为假。

ii.当sps_fracmmvd_disabled_flag为真时,应用禁用分数距离,并且信令通知tile_group_fracmmvd_disabled_flag。

iii.当tile_group_fracmmvd_disabled_flag为真时,对片组禁用分数距离;否则,对片组启用分数距离。

f.在一个示例中,在SPS中信令通知第一标志sps_fracmmvd_disabled_flag,并且在片组头中信令通知第二标志tile_group_fracmmvd_flag。

i.当sps_fracmmvd_disabled_flag为假时,不应用禁用分数距离,并且不信令通知tile_group_fracmmvd_flag并将其推断为真。

ii.当sps_fracmmvd_disabled_flag为真时,应用禁用分数距离,并且信令通知tile_group_fracmmvd_flag。

iii.当tile_group_fracmmvd_flag为真时,对片组启用分数距离;否则,对片组禁用分数距离。

g.此外,可替换地,当分数距离不被允许时,仅允许整数距离。

h.此外,可替换地,当分数距离不被允许时,仅允许整数距离或/和具有比整数精度更低精度的距离。

i.此外,可替换地,距离索引的截断一元可以用于编解码距离索引,并且如果标志指示分数距离不被允许,则最大允许距离索引取决于所允许的整数距离的数量。

j.可替换地,当分数距离不被允许时,默认距离表中的所有元素都乘以因子以生成整数距离。

i.例如,所有元素乘以4。

k.标志可以由UMVE(即,具有MVD偏移的常规Merge模式)和具有MVD偏移的仿射Merge模式共享。

l.可替换地,对于UMVE和具有MVD偏移的仿射Merge模式,可以分开信令通知标志。

6.可以信令通知一个标志以指示针对AMVP模式或/和仿射帧间模式允许还是不允许分数MV/MVD精度。

a.可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中信令通知该标志。

b.可以在允许使用AMVR(自适应运动矢量分辨率)的指示的条件下信令通知该标志。

c.可以在允许使用仿射帧间模式的AMVR的指示的条件下信令通知该标志。

d.可以以两个级别信令通知该标志。可以在SPS/VPS/PPS中信令通知第一标志,以指示是否将在PPS/条带头/片组头/片头中信令通知第二标志。

i.在一个示例中,如果第一标志为假(或真),分数MV/MVD总是被启用,并且第二标志可以不被信令通知。

ii.在一个示例中,如果第一标志为真(或假),分数MV/MVD可以被禁用,并且第二标志被信令通知。如果第二标志为真(或假),则对图片/条带/片组/片启用分数MV/MVD;否则,对图片/条带/片组/片禁用分数MV/MVD。

e.此外,可替换地,当分数MV/MVD不被允许时,仅允许整数精度MV/MVD。

f.此外,可替换地,当分数MV/MVD不被允许时,仅允许整数精度或/和比整数精度MV/MVD更低的精度。

g.此外,可替换地,如果标志指示分数MV/MVD不被允许,则可以使用截断一元码来编码取决于所允许的MV/MVD精度的数量的AMVR索引。

h.该标志可以由AMVR模式和仿射帧间模式的AMVR共享。

i.可替换地,可以针对AMVR模式和仿射帧间模式的AMVR分开信令通知该标志。

j.可替换地,标记可以由AMVR模式、仿射帧间模式的AMVR、UMVE模式和具有MVD偏移的仿射Merge模式共享。

7.提出可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中针对具有预测偏移的仿射Merge模式信令通知距离表或/和方向表。

a.在一个示例中,仅信令通知距离表尺寸或/和方向表尺寸,表示为K1和K2,并且默认距离表尺寸中的前K1个元素或/和方向表中的前K2个元素是有效的。

b.在一个示例中,仅信令通知距离表尺寸或/和方向表尺寸,表示为K1和K2,并且默认距离表尺寸中的后K1个元素或/和方向表中的后K2个元素是有效的。

c.在一个示例中,可以信令通知标志以指示是否使用分数距离。

8.提出可以针对用双向预测和UMVE模式编解码的块编解码两个MVD。

a.在一个示例中,针对每个预测方向编码一个MVD。

i.在UMVE中使用的MVD的数量可以从编码器信令通知到解码器。

ii.可替换地,在UMVE中使用的MVD的数量可以在解码器处推导。

b.在一个示例中,针对每个预测方向编码一个MVD,并且预测方向LX的MVD可以用于预测L(1–X)。

i.可以首先信令通知列表0的MVD,或者可以首先信令通知列表1的MVD。

(i)可以信令通知该顺序。

c.此外,可以信令通知两个预测方向的基本候选索引和/或距离索引和/或方向索引。

d.在一个示例中,可以针对UMVE模式信令通知多于两个MVD(诸如三个或四个)。

9.提出距离表或/和方向表可以取决于两个参考图片的POC以及当前图片的POC、或者当前块/条带/图片的QP。

a.在一个示例中,表可以取决于两个参考图片和当前图片的POC差。

10.可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中针对UMVE信令通知或者预定义多个UMVE参数集合(例如,多个距离表集合或/和方向表集合)的指示。

a.可替换地,可以信令通知或预定义一个距离表集合或/和方向表集合。并且诸如通过移位可用的距离值,可以从信令通知/预定义的集合中推导多个集合。

i.在一个示例中,可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中信令通知如何移位可用距离值的指示。

(i)在一个示例中,可以信令通知使用左移还是右移的指示。

(ii)在一个示例中,可以信令通知多少比特用于左移的指示。

ii.在一个示例中,在条带头/片组头/片头/图片头/PPS/SPS/VPS等中信令通知一个位标志以指示是使用现有的距离表还是每个距离值左移M(例如,M=2)。

iii.在一个示例中,可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中信令通知要左(和/或向右)移的位的指示。

b.可替换地,可以在条带头/片组头/片头/图片头/PPS/VPS/CTU行/CTU的组等中进一步信令通知多个UMVE参数集合(例如,距离表或/和方向表(例如,信令通知/预定义的多个集合的子集))的允许索引。

c.可替换地,选择多个UMVE参数(例如,距离表或/和方向表)集合中的一个可以取决于编解码模式,例如,CP或不是。

d.可替换地,选择多个UMVE参数(例如,距离表或/和方向表)集合中的一个可以取决于图片/序列分辨率。

e.可替换地,选择一个块的多个UMVE参数(例如,距离表或/和方向表)集合中的一个可以取决于所选择的基本Merge候选。

i.在一个示例中,它可以取决于运动矢量幅度/符号值。

(i)在一个示例中,如果运动矢量的幅度更大,则可以利用具有更大步长的距离表。

ii.在一个示例中,它可以取决于所选择的基本Merge候选的参考图片/POC值,例如,参考图片中的全部或至少一个是否为当前图片(即,CPR)。

iii.在一个示例中,它可以取决于所选择的基本Merge候选的运动矢量是指向整数位置还是子位置(例如,1/4,1/16,1/8,1/2像素)。

iv.选择可以取决于基本Merge候选表示的Merge候选的类别(例如,空域或时域或HMVP或其他)。

v.选择可以取决于基本Merge候选表示的Merge候选从其推导的位置(例如,左侧/上侧/)。

vi.选择可以取决于基本Merge候选表示的Merge列表中的Merge候选的索引。

f.可替换地,选择一个块的维度的多个UMVE参数(例如,距离表或/和方向表)集合中的一个。

i.在一个示例中,如果一个块具有多于MxN(例如,16x16)个样点,则可以利用一个UMVE参数集合,并且对于其他块,可以利用另一集合。

ii.在一个示例中,如果一个块的宽度具有多于M(例如,16)个样点,则可以利用一个UMVE参数集合,并且对于其他块,可以利用另一集合。

iii.在一个示例中,如果一个块的高度具有多于M(例如,16)个样点,则可以利用一个UMVE参数集合,并且对于其他块,可以利用另一集合。

g.此外,可替换地,不需要进一步信令通知所选择的距离表或/和方向表。可以在块级别/条带/片/图片级别推导对距离表或/和方向表的选择。

h.可替换地,可以以块级别/CTU级别/区域级别/CTU行级别/条带/片/图片级别进一步信令通知所选择的距离表或/和方向表的索引。

i.在一个示例中,可以定义多个距离表集合或/和方向表集合,并且它们中的每一个可以与给定的运动矢量精度(例如,整数像素、子像素;1像素,4像素,1/4像素,1/16像素)相关联。

i.在一个示例中,多个集合的数量可以取决于针对一个序列/视图/图片/条带/片/其他类型的视频数据处理单元允许多少运动矢量精度。

ii.此外,可替换地,对于从一个块推导的基本Merge候选,相关联的AMVR索引也可以被继承以决定距离表或/和方向表。

(i)在一个示例中,这样的块是空域相邻或非相邻块。此外,可替换地,这样的块是位于相同CTU/CTU行/区域/片/条带中的空域相邻或非相邻块。

(ii)在一个示例中,如果一个块是时域块,则AMVR索引不被继承。

(iii)在一个示例中,如果基本Merge候选是从虚拟Merge候选(例如,成对双向预测Merge候选、零运动矢量Merge候选)推导的,则AMVR索引不被继承。

(iv)此外,可替换地,如果AMVR索引不被继承,则反而可以利用默认距离表或/和方向表。

iii.此外,可替换地,对于每个HMVP候选,可以进一步存储AMVR索引。

11.所选择的UMVE参数(例如,距离表或/和方向表)可以自适应地从一个块改变到另一个块,从一个参考图片列表改变到另一个参考图片列表,从一个参考图片改变到另一个参考图片,从片改变到片,从条带改变到条带,从图片改变到图片,从序列改变到序列,从时域层改变到时域层。

a.在一个示例中,对UMVE参数的选择可以取决于运动矢量的分量,即水平分量和垂直分量,考虑到大多数相机捕获的序列相比于垂直方向在水平方向上具有大的运动。

12.提出当并置UMVE与CPR模式时,一些距离不被允许。

a.在一个示例中,不允许具有分数精度的距离,如1/4或1/2。

b.在一个示例中,不允许在CPR中的有效搜索范围之外的距离。

c.在一个示例中,当根据距离表,所选择的距离不被允许时,它可以被其他有效距离代替。

d.可替换地,可以定义距离索引和像素距离之间的不同映射集合,一个用于CPR模式,并且另一个用于非CPR模式。

e.在一个示例中,当UMVE被应用于块时,预定义的增量MV,即(MVx,MVy),被添加到UMVE的起始点。

f.在一个示例中,预定义的增量MV可以取决于块尺寸。

g.可替换地,预定义的增量MV可以取决于参考索引。

h.可替换地,预定义的增量MV可以取决于颜色分量。

i.可替换地,可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等信令通知添加到起始点的增量MV。

j.可替换地,可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等信令通知添加到起始点的增量MV集合。可替换地,对于不同的块尺寸、参考索引,可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等信令通知增量MV。

k.在一个示例中,当UMVE与CPR模式并置时,总是应用单向预测。

i.仅使用或信令通知一个MVD。

l.类似地,如果一个基本Merge候选具有至少一个或全部参考图片是当前图片(例如,CPR),则可以不允许一些方向索引。

i.可替换地,不允许的方向索引可以被其他有效的方向索引代替。

m.在这种情况下,对于Merge候选/AMVP候选,如果它具有全部或至少一个参考图片是当前图片,则仍然可以应用UMVE。

13.对于UMVE编解码块,可以进一步细化基于解码距离索引和方向索引的解码的MVD。

a.是否细化解码的MVD可以取决于与Merge候选列表中的Merge候选相关联的运动信息。

i.在一个示例中,如果所选择的基本候选加上解码的MVD与另一个Merge候选相同,则解码的MVD可以被进一步细化,例如通过使用不同的距离索引或方向索引。

ii.在一个示例中,如果所选择的基本候选加上解码的MVD类似于另一个Merge候选,则解码的MVD可以被进一步细化,例如通过使用不同的距离索引或方向索引。

(i)例如,当|MV1x-MV2x|+|MV1y-MV2y|

(ii)如果两个候选共享相同的参考索引,并且引用相同参考图片的MV是类似的,则这两个候选被认为是类似的。

b.可以不对UMVE编解码块允许BIO。

c.可以不对UMVE编解码块允许DMVR。

14.对于UMVE编解码块,编解码基本候选索引和Merge候选列表中的候选索引之间的映射可以从块改变到块、从片改变到片、从图片改变到图片、从序列改变到序列。

a.等于0的编解码基本候选索引总是对应于候选列表中的第一个Merge候选。然而,等于K(K>0)的编解码基本候选索引可以不对应于候选列表中的第(K+1)个候选。

b.在一个示例中,等于1的编解码基本候选索引(CBCI)可以指示Merge候选列表中与等于0的CBCI指向的第一个候选不类似的Merge候选。

i.例如,当前两个Merge候选类似时(例如,仅MV不同,但是MV的差小于或等于阈值),如果第三个Merge候选与第一个Merge候选不类似,则等于1的编解码基本候选索引可以对应于第三个Merge候选。

c.在一个示例中,从Merge候选列表中映射或选择基本Merge候选可以取决于候选列表中的第一个Merge候选。

i.例如,仅具有与第一个Merge候选相同的参考图片的Merge候选可以被视为基本Merge候选。

ii.例如,仅具有与第一个Merge候选相同的至少一个参考图片或至少一个参考索引的Merge候选可以被视为基本Merge候选。

iii.例如,仅具有与第一个Merge候选相同的至少一个运动矢量精度的Merge候选可以被视为基本Merge候选。

iv.在以上示例中,“相同”可以被“不同”代替。

d.一些Merge候选可以不被允许用作UMVE模式中的基本Merge候选。

i.在一个示例中,不允许虚拟Merge候选(例如,组合双向预测Merge候选、成对Merge候选、零运动矢量Merge候选)。

ii.在一个示例中,不允许时域Merge候选和/或HMVP候选。

iii.在一个示例中,如果一个Merge候选是从某种模式(例如,三角形预测模式、子块模式、仿射或ATMVP或STMVP)推导的,则不允许这样的候选。

iv.当一个候选不允许被用作基本Merge候选时,反而可以使用下一个或其他剩余的候选。

v.一个或多个基本Merge候选可以不来自Merge候选列表。

(i)一个或多个基于Merge候选可以从可用的Merge候选中推导(例如,缩放到不同的参考图片;仅保留LX运动信息(例如,X=0或1))。

(ii)一个或多个基于Merge候选可以从默认运动矢量候选(例如,(-W,-H),其中W和H是当前块的宽度和高度)中推导。

e.可替换地,对于上述方法,第一个候选可以被限制为第一个非CPR候选。

f.基本Merge候选可以定义为Merge列表中具有足够大差异的那些Merge候选。

i.在一个示例中,如果两个Merge候选是类似的(例如,相同的参考图片和小于阈值的MV差),则两个候选中的第二个不能是有效的基本Merge候选。

15.在以上所有示例中,距离表或/和方向表可以由表示UMVE的其他方式代替。

16.在以上所有示例中,距离表的信令通知/推导可以由AMVR精度代替。假设一个AMVR精度集合由{1/4像素,1像素,4像素}表示。

a.在一个示例中,可以在条带头/片组头/片头/图片头/PPS/SPS/VPS等中信令通知是否缩放在AMVR精度集中定义的MV精度的指示。例如,如果使用缩放,则修改后的AMVR精度集合可以被定义为{1像素,4像素,16像素},即缩放4。

b.可替换地,可以定义或信令通知多个AMVR精度集合。

c.可替换地,可以动态地信令通知或推导集合索引的指示,诸如基于块的编解码信息或先前的编解码信息。

d.被允许的AMVR精度的集合可以从一个视频单元改变到另一个视频单元(例如,块/PU/CU/CTU/CTU行/片/条带/图片/区域等)。

e.信令通知的MV精度索引和真实的MV精度之间的映射可以从一个视频单元改变到另一个视频单元(例如,块/PU/CU/CTU/CTU行/片/条带/图片/区域等)。

17.提出对于所有参考图片都是当前图片(或者所有参考块都是从当前图片的样点获得的)的情况,可以不信令通知与仿射、基于子块的Merge、多假设帧内/帧间预测、三角形预测和MMVD相关的标志。

18.提出可以在条带级别/片级别/图片级别禁用/启用GBi,并且可以在条带头/片头/PPS处信令通知一个GBi开/关标志。

a.在一个示例中,如果图片的时域层高于阈值T,例如,T=3,则可以对该图片禁用GBi。

b.在一个示例中,可以对不由其他图片参考的图片禁用GBi。

c.在一个示例中,可以对QP大于阈值QP

d.在一个示例中,可以对QP大于阈值QP

19.提出在GBi中使用的加权因子集可以取决于图片的时域层、或图片的QP、或块的QP。

a.在一个示例中,对于具有更高时域层的图片,使用更少的加权因子。

b.在一个示例中,对于用更高的QP编解码的图片/块,使用更少的加权因子。

20.提出除了默认加权因子集之外,在GBi中可以使用其他加权因子集,并且可以在条带头/片头/PPS中信令通知这些加权因子集。

a.在一个示例中,在条带头/片头/PPS中信令通知一个标志,以指示是否使用默认加权因子集,如果不使用,则进一步信令通知所使用的加权因子集。

21.提出GBi可以扩展到单向预测情况,其中,设计了加权因子集,并且在块/CU级别选择了加权因子。

a.在一个示例中,在单向预测情况下,针对AMVP模式或/和仿射帧间模式信令通知GBi索引,并且在Merge模式或UMVE模式或仿射Merge模式或具有偏移的仿射Merge模式下继承GBi索引。

b.例如,加权因子集是{10/8,9/8,1,7/8,6/8}。

22.提出可以在GBi或/和扩展的GBi中设计一个或多个偏移集(项目符号21),其中,运动补偿块可以用所选择的偏移而细化。在这种情况下,在运动补偿之后,每个预测样点可以进一步添加偏移以得到最终预测样点。

a.可以针对每个CU/块信令通知偏移索引。

b.在一个示例中,当未选择默认加权因子(例如,双向预测情况下为1/2,单向预测情况下为1)时,在AMVP模式或仿射帧间模式中进一步信令通知偏移索引。

c.在一个示例中,无论所选择的加权因子是否为默认加权因子,总是信令通知偏移索引。

d.在一个示例中,在Merge模式或UMVE模式或仿射Merge模式或具有偏移的仿射Merge模式下继承偏移索引。

23.提出当前块/CU的邻近像素和由当前块的MV(或MV的整数部分)标识的对应参考邻近像素可以用于隐式选择GBi索引。在这种情况下,没有GBi索引被信令通知,并且仅信令通知一个GBi标志以指示当前块是使用默认加权因子还是所选择的加权因子。

a.在一个示例中,对于每个加权因子,对两个方向上的参考邻近像素进行加权平均,并且计算它与邻近像素之间的差。实现最小差的加权因子被选择作为当前块的加权因子。

b.在一个示例中,可以通过例如SAD、MRSAD、SSE或MRSSE、SATD来测量差。

c.在一个示例中,可以在一些代表性邻近位置上计算差。

d.在一个示例中,在Merge模式或UMVE模式或仿射Merge模式或具有偏移的仿射Merge模式下继承这样的GBi标志。

e.在一个示例中,假设当前块的邻近样点的和(或平均值)是S0,参考块的邻近样点的和(或平均值)是S1,那么GBi加权值可以通过S0和S1而推导。

i.在一个示例中,S0/S1用于推导加权值。除法可以用乘法、移位和查找表来代替。

ii.参考块的邻近样点必须是整数样点。

24.提出当前块/CU的邻近像素和由当前块的MV(或MV的整数部分)标识的对应参考邻近像素可以用于重新排序GBi索引。

a.在一个示例中,对于每个加权因子,对两个方向上的参考邻近像素进行加权平均,并且计算它与邻近像素之间的差。然后加权因子按照差的升序重新排序。

25.提出将所推导的LIC参数用作GBi中的加权因子之一。

a.在一个示例中,当推导LIC参数时,假设偏移为零,并且仅推导加权因子,即,LIC模型被改变为y=ax。

b.在一个示例中,加权因子和在LIC中推导的偏移两者都用于GBi。

c.在一个示例中,在Merge模式或UMVE模式或仿射Merge模式或具有偏移的仿射Merge模式下,直接从邻近块继承GBi中使用的加权因子。i.可替换地,如果所继承的邻近加权因子实际上是推导的LIC参数,则推导新的LIC参数并且将其用于当前块/CU。

ii.可替换地,在Merge模式或/和UMVE模式下,如果所继承的邻近加权因子实际上是推导的LIC参数,则推导新的LIC参数并且将其用于当前块/CU。

5.示例实施例

本节示出了改进的UMVE设计的一些实施例。

5.1实施例#1

在这一实施例中,信令通知是否允许分数距离的标志。与最新VVC规范相比的变化以粗体斜体突出显示。

7.3.2.1序列参数集RBSP语法

等于0的sps_UMVE_enabled_flag指定UMVE(MMVD)被禁用。等于1的sps_UMVE_enabled_flag指定UMVE被启用。

等于0的sps_disable_fractional_distance指定UMVE(MMVD)的分数像素距离被启用。等于1的sps_disable_fractional_distance指定UMVE的分数像素距离被禁用。

可替换地,sps_disable_fractional_distance可以由sps_enable_fractional_distance代替。可替换地,sps_disable_fractional_distance可以直接编解码。

可替换地,可以在图片头/PPS/条带片头/片组头/区域/CTU行/CTU组/CTU中进一步信令通知sps_UMVE_enabled_flag、sps_disable_fractional_distance。

如等于0的sps_disable_fractional_distance的表7-7和等于1的sps_disable_fractional_distance的表7-x所指定的,mmvd_distance_idx[x0][y0]指定用于推导MmvdDistance[x0][y0]的索引。阵列索引x0,y0指定所考虑的编解码块相对于图片左上方亮度样点的左上方亮度样点的位置(x0,y0)。

表7-7–当sps_disable_fractional_distance等于0时,基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

表7-x–当sps_disable_fractional_distance等于1时,基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

表9-4–语法元素和相关联的二值化

5.2实施例#2

在这一实施例中,信令通知距离表的指示。与最新VVC规范相比的变化以粗体斜体突出显示。

7.3.2.1序列参数集RBSP语法

7.3.2.2图片参数集RBSP语法

等于0的sps_UMVE_enabled_flag指定UMVE(MMVD)被禁用。等于1的sps_UMVE_enabled_flag指定UMVE被启用。

等于L的sps_distance_tables指定UMVE(MMVD)的(L+1)个距离表被定义。

等于L的index_distance_table指定UMVE(MMVD)的第L个距离表被使用。

在一个示例中,M被设置为2。

可替换地,sps_distance_tables可以直接编解码。

可替换地,可以在图片头/PPS/条带片头/片组头/区域/CTU行/CTU组/CTU中进一步信令通知sps_UMVE_enabled_flag、sps_distance_tables、index_distance_table。

表7-7–当sps_disable_fractional_distance等于0时,基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

此外,可替换地,当一个基本Merge候选是CPR时,可以利用与如上定义的那些不同的距离表。

可替换地,可以信令通知/预定义方向表。

5.3实施例#3

在这一实施例中,信令通知是否允许分数距离的标志。与最新VVC规范相比的变化以粗体斜体突出显示。

7.3.2.1序列参数集RBSP语法

等于0的sps_UMVE_enabled_flag指定UMVE(MMVD)被禁用。等于1的sps_UMVE_enabled_flag指定UMVE被启用。

等于0的sps_disable_fractional_distance指定UMVE(MMVD)的分数像素距离被启用。等于1的sps_disable_fractional_distance指定UMVE的分数像素距离被禁用。

可替换地,sps_disable_fractional_distance可以由sps_enable_fractional_distance代替。可替换地,sps_disable_fractional_distance可以直接编解码。

可替换地,可以在图片头/PPS/条带片头/片组头/区域/CTU行/CTU组/CTU中进一步信令通知sps_UMVE_enabled_flag、sps_disable_fractional_distance。

如等于0的sps_disable_fractional_distance的表7-7和等于1的sps_disable_fractional_distance的表7-x所指定的,mmvd_distance_idx[x0][y0]指定用于推导MmvdDistance[x0][y0]的索引。阵列索引x0,y0指定所考虑的编解码块相对于图片左上方亮度样点的左上方亮度样点的位置(x0,y0)。

表7-7–当sps_disable_fractional_distance等于0时,基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

表7-x–当sps_disable_fractional_distance等于1时,基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

5.4实施例#4

7.3.3.1一般条带头语法

等于1的enable_MMVD_distance_scale_flag指示缩放应用于默认距离表。等于0的enable_MMVD_distance_scale_flag指示利用默认距离表。

表7-x–当sps_disable_fractional_distance等于1时,基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

在一个示例中,M被设置为2。可替换地,左移可以由右移代替。

5.5实施例#5

如下描述语法改变,并且新添加的部分用粗体斜体突出显示。

7.3.2.1序列参数集RBSP语法

7.3.3.1一般片组头语法

7.4.3.1序列参数集RBSP语义

等于1的sps_fracmmvd_enabled_flag指定tile_group_fracmmvd_flag存在于B图片和P图片的片组头语法表中。等于0的sps_fracmmvd_enabled_flag指定tile_group_fracmmvd_flag不存在于B图片和P图片的片组头语法表中。

7.4.4.1一般片组头语义

等于1的tile_group_fracmmvd_flag指定在当前片组中启用具有以分数像素精度的运动矢量差的Merge模式。等于0的tile_group_fracmmvd_flag指定在当前片组中禁用具有以分数像素精度的运动矢量差的Merge模式。如果不存在,则tile_group_fracmmvd_flag的值被推断为1。

7.4.5.8 Merge数据语义

如表7-9所指定的,mmvd_distance_idx[x0][y0]指定用于推导MmvdDistance[x0][y0]的索引。阵列索引x0,y0指定所考虑的编解码块相对于图片左上方亮度样点的左上方亮度样点的位置(x0,y0)。

表7-9–基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

1.1实施例#6

如下描述语法改变,并且新添加的部分用粗体斜体突出显示。

7.3.2.1序列参数集RBSP语法

7.3.3.1一般片组头语法

7.4.3.1序列参数集RBSP语义

等于1的sps_fracmmvd_disabled_flag指定禁用具有以分数像素精度的运动矢量差的Merge模式被应用。等于0的sps_fracmmvd_disabled_flag指定禁用具有以分数像素精度的运动矢量差的Merge模式不被应用。

7.4.4.1一般片组头语义

等于1的tile_group_fracmmvd_disabled_flag指定在当前片组中禁用具有以分数像素精度的运动矢量差的Merge模式。等于0的tile_group_fracmmvd_disabled_flag指定在当前片组中启用具有以分数像素精度的运动矢量差的Merge模式。如果不存在,则tile_group_fracmmvd_disabled_flag的值被推断为0。

7.4.5.8 Merge数据语义

如表7-9所指定的,mmvd_distance_idx[x0][y0]指定用于推导MmvdDistance[x0][y0]的索引。阵列索引x0,y0指定所考虑的编解码块相对于图片左上方亮度样点的左上方亮度样点的位置(x0,y0)。

表7-9–基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

1.2.实施例#7

如下描述语法改变,并且新添加的部分用粗体斜体突出显示。

7.3.2.1序列参数集RBSP语法

7.3.3.1一般片组头语法

7.4.3.1序列参数集RBSP语义

等于1的sps_fracmmvd_disabled_flag指定禁用具有以分数像素精度的运动矢量差的Merge模式被应用。等于0的sps_fracmmvd_disabled_flag指定禁用具有以分数像素精度的运动矢量差的Merge模式不被应用。

7.4.4.1一般片组头语义

等于1的tile_group_fracmmvd_flag指定在当前片组中启用具有以分数像素精度的运动矢量差的Merge模式。等于0的tile_group_fracmmvd_flag指定在当前片组中禁用具有以分数像素精度的运动矢量差的Merge模式。如果不存在,则tile_group_fracmmvd_flag的值被推断为1。

7.4.5.8Merge数据语义

如表7-9所指定的,mmvd_distance_idx[x0][y0]指定用于推导MmvdDistance[x0][y0]的索引。阵列索引x0,y0指定所考虑的编解码块相对于图片左上方亮度样点的左上方亮度样点的位置(x0,y0)。

表7-9–基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范。

应该注意,对于所有实施例,相关语法可以被置于其他视频数据单元(例如,SPS/VPS/PPS/图片头/条带头/片组头等)。

图11A是视频处理装置1100的框图。装置1100可以用来实施本文描述的方法中的一种或多种。装置1100可以体现在智能电话、平板电脑、计算机、物联网(Internet ofThings,IoT)接收器等中。装置1100可以包括一个或多个处理器1102、一个或多个存储器1104、以及视频处理硬件1106。(多个)处理器1102可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)1104可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件1106可以用来以硬件电路实施本文档中描述的一些技术,并且可以部分地或完全作为处理器1102的一部分(例如,图形处理器核心GPU或其他信号处理电路)。

图11B是可以在其中实施所公开技术的视频处理系统的框图的另一示例。图11B是示出可以在其中实施本文公开的各种技术的示例视频处理系统3100的框图。各种实施方式可以包括系统3100的一些或所有组件。系统3100可以包括用于接收视频内容的输入3102。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是压缩或编码格式。输入3102可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(Passive Optical Network,PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。

系统3100可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件3104。编解码组件3104可以将来自输入3102的视频的平均比特率减小到编解码组件3104的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件3104的输出可以被存储,或者经由如由组件3106表示的通信连接而发送。在输入3102处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件3108用于生成像素值或传送到显示接口3110的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。

外围总线接口或显示接口的示例可以包括通用串行总线(Universal SerialBus,USB)、或高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(Serial Advanced TechnologyAttachment,串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。

在一些实施例中,视频编解码方法可以使用如参考图11A或图11B所描述的在硬件平台上实施的装置而实施。

图12示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1200包括,在步骤1202处,对于视频的当前视频块和视频的编解码表示之间的转换,确定最终运动矢量表达(UMVE)模式的操作模式。方法1200包括,在步骤1204处,基于该确定执行该转换。在一些实施方式中,当前视频块以Merge模式和UMVE模式中的运动矢量差而编解码,其中该UMVE模式包括运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:UMVE启用字段,其值指示对当前视频块启用还是禁用UMVE模式,或者修改仿射模式启用字段,其指示对当前视频块启用还是禁用基于UMVE模式修改的仿射Merge模式。在一些实施方式中,当前视频块以Merge模式和UMVE模式中的运动矢量差而编解码,其中该UMVE模式包括运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:列表尺寸字段,其指示由UMVE模式使用的基本候选列表的尺寸;或者表字段,其信令通知UMVE模式的距离表或方向表。

图13示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1300包括,在步骤1302处,使用最终运动矢量表达(UMVE)编解码工具执行视频的当前视频块和视频的编解码表示之间的转换。在一些实施方式中,UMVE编解码工具表示运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,距离表或方向表中的至少一个取决于两个参考图片的图片顺序计数(POC)或包括当前视频块的当前图片的POC,或者用于编解码当前视频块、当前条带或当前图片的量化参数(QP)。在一些实施方式中,UMVE编解码工具表示运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,其中,自适应运动矢量分辨率(AMVR)方案用于信令通知由UMVE编解码工具使用的距离表。

图14示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1400包括,在步骤1402处,对于视频的当前视频块和视频的编解码表示之间的转换,确定仿射最终运动矢量表达(UMVE)模式的操作模式。方法1400包括,在步骤1404处,基于该确定执行该转换。

图15A示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1510包括,在步骤1512处,对于视频的当前视频块和视频的编解码表示之间的转换,确定信令通知最终运动矢量表达(UMVE)编解码工具中的多个运动矢量差。方法1510包括,在步骤1514处,基于该确定执行该转换。在一些实施方式中,使用UMVE编解码工具,包括起始点、由当前视频块的N个运动幅度和N个运动方向表示的N个运动矢量差的运动矢量表达在该转换期间被使用,N是等于或大于二的整数。

图15B示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1520包括,在步骤1522处,对于视频的当前视频块和视频的编解码表示之间的转换,确定由于当前视频块使用当前图片参考(CPR)编解码工具和最终运动矢量表达(UMVE)编解码工具,规则适用于该转换。方法1520包括,在步骤1524处,根据该规则执行该转换。在一些实施方式中,该规则不允许将一个或多个编解码距离用于该转换,其中,CPR编解码工具使用当前图片作为参考图片,并且UMVE编解码工具使用包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达。

图15C示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1530包括,在步骤1532处,在视频的当前视频块和视频的编解码表示之间的转换期间,在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,确定执行对当前视频块的运动矢量差(MVD)值的细化。方法1530包括,在步骤1534处,基于该确定执行该转换。

图15D示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1540包括,在步骤1542处,对于视频的当前视频块和视频的编解码表示之间的转换,在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,确定使用来自多个UMVE参数集的第一UMVE参数集。方法1540包括,在步骤1544处,基于该确定执行该转换。在一些实施方式中,为当前视频块信令通知或预定义了多个UMVE参数集中的至少一个的指示。

图15E示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1550包括,在步骤1552处,在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,选择UMVE参数集以用于视频的当前视频块和视频的编解码表示之间的转换。在一些实施方式中,所选择的UMVE参数集跨不同视频块、不同参考图片列表、不同参考图片、不同片、不同条带、不同图片或不同时域层而改变。

图16A示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1610包括,在步骤1612处,对于视频的当前视频块和视频的编解码表示之间的转换,确定广义双向预测(GBi)编解码工具的操作模式,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值。方法1610包括,在步骤1614处,基于该确定执行该转换。在一些实施方式中,编解码表示中的字段对应于操作模式,并且字段的值指示对当前视频块启用还是禁用GBI编解码工具。

图16B示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1620包括,在步骤1622处,基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值。在一些实施方式中,该规则指定由GBi编解码工具使用的加权因子集基于:i)包括当前视频块的图片的时域层,ii)图片的图片量化参数,或者iii)当前视频块的量化参数。在一些实施方式中,该规则指定基于当前视频块的邻近像素和由当前视频块的运动矢量或运动矢量的整数部分标识的对应参考邻近像素,选择或推导GBi编解码工具的加权因子。在一些实施方式中,该规则指定基于当前视频块的邻近像素和由当前视频块的运动矢量或运动矢量的整数部分标识的对应参考邻近像素,重新排序GBi编解码工具的加权因子。在一些实施方式中,该规则指定使用与当前视频块相关联的局部照明补偿(LIC)参数用于确定GBi编解码工具的加权因子,并且其中,LIC参数被推导以在该转换期间使用当前块中的照明变化的线性模型。

图16C示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1630包括,在步骤1632处,对于视频的当前视频块和视频的编解码表示之间的转换,确定使用不等于单向预测模式的权重的权重。方法1630包括,在步骤1634处,基于该确定执行该转换。在一些实施方式中,对当前视频块的预测使用对应于通过权重缩放的预测值的最终预测值,并且其中,在块级别或编解码单元级别选择了加权因子集。

图17A示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1710包括,在步骤1712处,执行视频的一个或多个视频块和视频的编解码表示之间的转换。在一些实施方式中,编解码表示中的第一字段指示分数样点精度是否在该转换期间使用的具有运动矢量差的Merge(MMVD)模式下用于指示运动距离,并且MMVD模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动距离和运动方向。

图17B示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1720包括,在步骤1722处,执行视频的当前视频块和视频的编解码表示之间的转换,其中,编解码表示包括指示是否针对在该转换期间使用的高级运动矢量预测(AMVP)模式或仿射帧间模式允许分数运动矢量(MV)或运动矢量差(MVD)精度的标志。

图18示出了基于所公开技术的一些实施方式的用于视频处理的示例方法的流程图。方法1800包括,在步骤1810处,根据指定视频的编解码表示的格式的规则,执行视频的当前图片的当前视频块和该编解码表示之间的转换,其中,该规则指定基于用于当前视频块的转换的所有参考块是否是从当前图片的样点获得的,编解码模式的语法元素被包括在编解码表示中。

在本文档中,术语“视频处理”可以指代视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应比特流表示的转换期间应用视频压缩算法,反之亦然。当前视频块的比特流表示可以,例如对应于并置或分散在比特流内的不同位置的比特,如语法所定义的。例如,宏块可以按照变换和编解码误差残差值并且还使用头和比特流中的其他字段中的比特而编码。

应当理解,已经公开了几种技术,其中该几种技术将通过允许使用基于本文档中公开的各种规则而构建的虚拟运动候选,有益于合并在视频处理设备(诸如智能手机、膝上型电脑、台式机和类似设备)内的视频编码器和解码器实施例。

可以使用以下基于条款的格式来描述各种技术和实施例。

第一条款集合描述了在包括例如项1的先前章节中列出的所公开技术的某些特征和方面。

1.一种视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定最终运动矢量表达(UMVE)模式的操作模式;以及基于该确定执行该转换,其中,当前视频块以Merge模式和UMVE模式中的运动矢量差而编解码,其中该UMVE模式包括运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:UMVE启用字段,其值指示对当前视频块启用还是禁用UMVE模式,或者修改仿射模式启用字段,其指示对当前视频块启用还是禁用基于UMVE模式修改的仿射Merge模式。

2.根据条款1所述的方法,其中,起始点由基本Merge候选列表的索引指示,并且当前视频块的最终运动信息取决于由运动方向和运动幅度表示的运动矢量差。

3.根据条款1所述的方法,其中,一个或多个字段被包括在条带头级别。

4.根据条款1所述的方法,其中,一个或多个字段被包括在片组头级别。

5.根据条款1所述的方法,其中,一个或多个字段被包括在片头级别。

6.根据条款1所述的方法,其中,一个或多个字段被包括在图片头级别。

7.根据条款1所述的方法,其中,一个或多个字段被包括在图片参数集级别。

8.根据条款1所述的方法,其中,一个或多个字段被包括在序列参数集级别。

9.根据条款1所述的方法,其中,一个或多个字段被包括在视频参数集级别。

10.根据条款1-9中任一项所述的方法,其中,执行该转换包括从当前块生成编解码表示。

11.根据条款1-9中任一项所述的方法,其中,执行该转换包括从编解码表示生成当前块。

12.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器执行时使得处理器实施条款1至11中任一项所述的方法。

13.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至11中任一项所述的方法的程序代码。

第二条款集合描述了在包括例如项2、4和9的先前章节中列出的公开技术的某些特征和方面。

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

对于视频的当前视频块和视频的编解码表示之间的转换,确定最终运动矢量表达(UMVE)模式的操作模式;以及基于该确定执行该转换,其中,当前视频块以Merge模式和UMVE模式中的运动矢量差而编解码,其中该UMVE模式包括运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:列表尺寸字段,其指示由UMVE模式使用的基本候选列表的尺寸;或者表字段,其信令通知UMVE模式的距离表或方向表。

2.根据条款1所述的方法,其中,起始点由基本Merge候选列表的索引指示,并且当前块的最终运动信息取决于运动矢量差。

3.根据条款1所述的方法,其中,一个或多个字段被包括在条带头级别、片组头级别、片头级别、图片头级别、图片参数集级别、序列参数集级别或视频参数集级别。

4.根据条款1所述的方法,其中,基本候选列表的尺寸被设置为1、2或3。

5.根据条款1所述的方法,其中,一个或多个字段还包括Merge模式列表尺寸字段,其中该Merge模式列表尺寸字段的值指示Merge模式的候选列表的尺寸。

6.根据条款5所述的方法,其中,由UMVE模式使用的基本候选列表的尺寸小于或等于Merge模式的候选列表的尺寸。

7.根据条款5所述的方法,其中,列表尺寸字段从编解码表示中省略。

8.根据条款7所述的方法,其中,由UMVE模式使用的基本候选列表的尺寸等于Merge模式的候选列表的尺寸。

9.根据条款1所述的方法,其中,表字段信令通知距离表的尺寸K1和方向表的尺寸K2。

10.根据条款9所述的方法,其中,距离表的前K1个元素或方向表的前K2个元素是有效的。

11.根据条款9所述的方法,其中,距离表的后K1个元素或方向表的后K2个元素是有效的。

12.一种视频处理的方法,包括:使用最终运动矢量表达(UMVE)编解码工具执行视频的当前视频块和视频的编解码表示之间的转换,其中,UMVE编解码工具表示运动矢量表达,其中该运动矢量表达包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,距离表或方向表中的至少一个取决于两个参考图片的图片顺序计数(POC)或包括当前视频块的当前图片的POC,或者用于编解码当前视频块、当前条带或当前图片的量化参数(QP)。

13.根据条款12所述的方法,其中,距离表和方向表取决于两个参考图片的POC和当前图片的POC之间的差。

14.根据条款1-13中任一项所述的方法,其中,执行该转换包括从当前块生成编解码表示。

15.根据条款1-13中任一项所述的方法,其中,执行该转换包括从编解码表示生成当前块。

16.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器执行时使得处理器实施条款1至15中任一项所述的方法。

17.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至15中任一项所述的方法的程序代码。

第三条款集合描述了在包括例如项3和7的先前章节中列出的公开技术的某些特征和方面。

1.一种视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定仿射最终运动矢量表达(UMVE)模式的操作模式;以及基于该确定执行该转换,其中,当前视频块以仿射Merge模式和仿射UMVE模式中的运动矢量差而编解码,其中该仿射UMVE模式包括运动信息的起始点、当前视频块的运动幅度和运动方向,并且其中,编解码表示中的一个或多个字段对应于操作模式,并且其中,一个或多个字段包括:列表尺寸字段,其指示由UMVE模式使用的、具有预测偏移的仿射Merge模式的基本仿射Merge候选列表的尺寸;或者表字段,其信令通知具有预测偏移的仿射Merge模式的距离表或方向表。

2.根据条款1所述的方法,其中,起始点由基本仿射Merge候选列表的索引指示,并且最终运动信息取决于由运动方向和运动幅度表示的运动矢量差。

3.根据条款1所述的方法,其中,一个或多个字段被包括在条带头级别、片组头级别、片头级别、图片头级别、图片参数集级别、序列参数集级别或视频参数集级别。

4.根据条款1所述的方法,其中,基本仿射Merge候选列表的尺寸被设置为1、2或3。

5.根据条款1所述的方法,其中,一个或多个字段还包括子块Merge列表尺寸字段,其中该子块Merge列表尺寸字段的值指示子块Merge模式的候选列表的尺寸。

6.根据条款5所述的方法,其中,仿射UMVE模式的基本仿射Merge候选列表的尺寸小于或等于子块Merge模式的候选列表的尺寸。

7.根据条款5所述的方法,其中,列表尺寸字段从编解码表示中省略。

8.根据条款7所述的方法,其中,仿射UMVE模式的基本仿射Merge候选列表的尺寸等于子块Merge模式的候选列表的尺寸。

9.根据条款1所述的方法,其中,仿射UMVE模式对应于基于UMVE模式修改的仿射Merge模式。

10.根据条款1中任一项所述的方法,其中,表字段信令通知距离表的尺寸K1和方向表的尺寸K2。

11.根据条款10所述的方法,其中,距离表的前K1个元素或方向表的前K2个元素是有效的。

12.根据条款10所述的方法,其中,距离表的后K1个元素或方向表的后K2个元素是有效的。

13.根据条款1-12中任一项所述的方法,其中,执行该转换包括从当前块生成编解码表示。

14.根据条款1-12中任一项所述的方法,其中,执行该转换包括从编解码表示生成当前块。

15.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器执行时使得处理器实施条款1至14中任一项所述的方法。

16.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至14中任一项所述的方法的程序代码。

第四条款集合描述了在包括例如项8、10、11、12、13、14、15和16的先前章节中列出的公开技术的某些特征和方面。

1.一种视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定信令通知最终运动矢量表达(UMVE)编解码工具中的多个运动矢量差;以及基于该确定执行该转换,其中,使用UMVE编解码工具,包括起始点、由当前视频块的N个运动幅度和N个运动方向表示的N个运动矢量差的运动矢量表达在该转换期间被使用,N是等于或大于二的整数。

2.根据条款1所述的方法,其中,N是二,并且两个运动矢量差对应于双向预测中的两个预测方向。

3.根据条款2所述的方法,其中,信令通知了在UMVE编解码工具中使用的MVD的数量。

4.根据条款2所述的方法,其中,推导了在UMVE编解码工具中使用的MVD的数量。

5.根据条款1所述的方法,其中,针对每个预测方向编码了一个MVD,并且第一方向的第一MVD用于预测第二方向的第二MVD。

6.根据条款5所述的方法,其中,相比其他MVD,更早地信令通知了第一预测方向的MVD。

7.根据条款6所述的方法,其中,相比其他MVD,更早地信令通知了第二预测方向的MVD。

8.根据条款1所述的方法,其中,信令通知了信令通知N个运动矢量差的顺序。

9.根据条款1所述的方法,其中,针对每个预测方向信令通知了基本候选索引、距离索引或方向索引中的至少一个。

10.一种视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定由于当前视频块使用当前图片参考(CPR)编解码工具和最终运动矢量表达(UMVE)编解码工具,规则适用于该转换;以及根据该规则执行该转换,其中,该规则不允许将一个或多个编解码距离用于该转换,其中,CPR编解码工具使用当前图片作为参考图片,并且其中,UMVE编解码工具使用包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达。

11.根据条款10所述的方法,其中,规则指定不允许具有包括1/2像素分辨率或1/4像素分辨率的分数像素精度的距离。

12.根据条款10所述的方法,其中,规则指定不允许在CPR模式中的有效搜索范围之外的距离。

13.根据条款10所述的方法,其中,某个距离被有效距离代替。

14.根据条款10所述的方法,其中,针对CPR模式和非CPR模式定义了距离索引和像素距离之间的不同映射集合。

15.根据条款14所述的方法,其中,预定义的增量运动矢量被添加到UMVE编解码工具的起始点。

16.根据条款15所述的方法,其中,预定义的增量运动矢量取决于块尺寸、参考索引或颜色分量中的至少一个。

17.根据条款15所述的方法,其中,预定义的增量运动矢量是在条带头级别、片组头级别、片头级别、图片头级别、图片参数集级别、序列参数集级别、视频参数集级别或编解码单元级别信令通知的。

18.根据条款10所述的方法,其中,当UMVE编解码工具与CPR编解码工具一起被使用时,单向预测总是被应用。

19.根据条款18所述的方法,其中,仅使用或信令通知了一个MVD。

20.根据条款10所述的方法,其中,基本Merge候选具有作为当前图片的至少一个参考图片,某个方向索引不被允许。

21.根据条款10所述的方法,其中,在Merge候选或AMVP候选具有作为当前图片的至少一个参考图片的情况下,UMVE编解码工具被应用。

22.一种视频处理的方法,包括:在视频的当前视频块和视频的编解码表示之间的转换期间,在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,确定执行对当前视频块的运动矢量差(MVD)值的细化;以及基于该确定执行该转换。

23.根据条款22所述的方法,其中,该细化是使用当前视频块的解码距离索引和/或解码方向索引而执行的。

24.根据条款22所述的方法,其中,细化操作基于与当前视频块的Merge候选列表中的一个或多个Merge候选相关联的运动信息。

25.根据条款18所述的方法,其中,所选择的基本候选加上解码的MVD与另一Merge候选相同,解码的MVD被进一步细化。

26.根据条款18所述的方法,其中,在基于规则确定所选择的基本候选加上解码的MVD与另一Merge候选类似的情况下,解码的MVD被进一步细化。

27.根据条款20所述的方法,其中,在[MV1x-MV2x|+|MV1y-MV2y|

28.根据条款26所述的方法,其中,在两个候选共享相同的参考索引并且引用相同参考图片的两个运动矢量类似的情况下,规则确定两个候选类似。

29.根据条款24所述的方法,其中,解码的距离索引和解码的方向索引从当前视频块改变到下一个视频块。

30.根据条款22所述的方法,其中,在用UMVE编解码工具编解码的当前视频块中不允许双向光流(bi-directional optical flow,BIO)。

31.根据条款22所述的方法,其中,在用UMVE编解码工具编解码的当前视频块中不允许解码器侧运动矢量细化(Decoder-side Motion Vector Refinement,DMVR)。

32.根据条款1-31中任一项所述的方法,其中,UMVE编解码工具包括编解码基本候选索引和当前视频块的Merge候选列表中的候选索引之间的映射,并且该映射跨不同视频块、不同片、或不同视频序列的不同图片而改变。

33.根据条款32所述的方法,其中,等于0的第一个编解码基本候选索引总是对应于Merge候选列表中的第一个Merge候选。

34.根据条款33所述的方法,其中,等于K的第K个编解码基本候选索引不对应于Merge候选列表中的第(K+1)个Merge候选,K是大于0的整数。

35.根据条款33所述的方法,其中,等于1的第二个编解码基本候选索引指示Merge候选列表中的Merge候选,并且该Merge候选与第一个编解码基本候选索引指向的第一个Merge候选不类似。

36.根据条款32所述的方法,其中,从Merge候选列表映射或选择基本Merge候选取决于Merge候选列表中的第一个Merge候选。

37.根据条款32所述的方法,其中,不允许某些Merge候选作为当前视频块的基本Merge候选。

38.根据条款37所述的方法,其中,某些Merge候选包括以下中的至少一个:i)虚拟Merge候选,包括组合双向预测Merge候选、成对Merge候选、零运动矢量Merge候选),ii)时域Merge候选,iii)HMVP候选,或iv)从某种模式(包括三角形预测模式、子块模式、仿射模式、ATMVP或STMVP)推导的Merge候选。

39.根据条款32所述的方法,其中,由UMVE编解码工具使用的至少一个基本Merge候选不来自Merge候选列表。

40.根据条款32所述的方法,其中,Merge候选列表中的第一个Merge候选被限制于作为参考非当前图片的候选的第一个候选。

41.根据条款32所述的方法,其中,Merge候选列表中的基本Merge候选,Merge候选彼此相差一阈值。

42.一种视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,确定使用来自多个UMVE参数集的第一UMVE参数集;以及基于该确定执行该转换,其中,为当前视频块信令通知或预定义了多个UMVE参数集中的至少一个的指示。

43.根据条款42所述的方法,其中,该指示是在条带头级别、片组头级别、片头级别、图片头级别、图片参数集级别、序列参数集级别、视频参数集级别或编解码单元级别信令通知或预定义的。

44.根据条款42所述的方法,其中,编解码表示包括多个UMVE参数集中的每一个。

45.根据条款42所述的方法,其中,编解码表示包括一个距离表集合和/或方向表集合。

46.根据条款45所述的方法,其中,编解码表示包括如何在条带头级别、片组头级别、片头级别、图片头级别、图片参数集级别、序列参数集级别或视频参数集级别移位可用距离值的指示。

47.根据条款46所述的方法,其中,该指示指示是否使用信令通知的距离表,是否将距离值左移整数M,或者是否将距离值右移整数N。

48.根据条款42所述的方法,其中,基于当前视频块的尺寸选择了UMVE编解码工具的参数。

49.根据条款48所述的方法,其中,尺寸对应于以下中的至少一个:i)当前视频块的宽度,ii)当前视频块的高度,或iii)当前视频块的像素位置的总数。

50.根据条款42所述的方法,其中,第一UMVE参数集是基于当前视频块的编解码模式而选择的。

51.根据条款42所述的方法,其中,第一UMVE参数集是基于包括当前视频块的当前图片或当前序列的分辨率而选择的。

52.根据条款42所述的方法,其中,第一UMVE参数集是基于所选择的基本Merge候选而选择的。

53.根据条款52所述的方法,其中,第一UMVE参数集是基于运动矢量幅度或符号值中的至少一个而选择的。

54.根据条款52所述的方法,其中,第一UMVE参数集是基于参考图片、所选择的基本Merge候选的参考图片的POC值而选择的。

55.根据条款52所述的方法,其中,第一UMVE参数集是基于所选择的基本Merge候选的运动矢量指向整数位置还是子位置而选择的。

56.根据条款52所述的方法,其中,第一UMVE参数集是基于由所选择的基本Merge候选表示的Merge候选的类别而选择的,该类别是空域、时域或HMVP(基于历史的MVP)之一。

57.根据条款52所述的方法,其中,第一UMVE参数集是基于从其推导由所选择的基本Merge候选表示的Merge候选的位置而选择的。

58.根据条款52所述的方法,其中,第一UMVE参数集是基于由所选择的基本Merge候选表示的Merge候选的索引而选择的。

59.根据条款42所述的方法,其中,多个UMVE参数集中的每一个与预定的运动矢量精度相关联。

60.根据条款59所述的方法,其中,多个UMVE参数集的数量取决于针对一个序列、视图、图片、条带、片或视频数据处理单元允许多少运动矢量精度。

61.根据条款59所述的方法,其中,对于从当前视频块推导的基本Merge候选,相关联的AMVR(自适应运动矢量分辨率)索引被继承以决定第一UMVE参数集。

62.一种视频处理的方法,包括:在确定当前视频块使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具时,选择UMVE参数集以用于视频的当前视频块和视频的编解码表示之间的转换,其中,所选择的UMVE参数集跨不同视频块、不同参考图片列表、不同参考图片、不同片、不同条带、不同图片或不同时域层而改变。

63.根据条款62所述的方法,其中,选择UMVE参数集取决于基本运动矢量的水平分量或垂直分量。

64.根据条款42-63中任一项所述的方法,其中,每个UMVE参数集或所选择的UMVE参数集包括距离表、方向表、或UMVE编解码工具的其他表示中的至少一个。

65.一种视频处理的方法,包括:使用表示包括起始点、当前视频块的运动幅度和运动方向的运动矢量表达的最终运动矢量表达(UMVE)编解码工具来执行视频的当前视频块和视频的编解码表示之间的转换,其中,自适应运动矢量分辨率(AMVR)方案用于信令通知由UMVE编解码工具使用的距离表。

66.根据条款65所述的方法,其中,在条带头级别、片组头级别、片头级别、图片头级别、图片参数集级别、序列参数集级别、视频参数集级别或编解码单元级别信令通知了是否缩放在AMVR精度集中定义的MV精度的指示。

67.根据条款65所述的方法,其中,定义或信令通知了多个AMVR精度集合。

68.根据条款65所述的方法,其中,使用当前视频块或先前视频块的编解码信息信令通知或推导了集合索引的指示。

69.根据条款65所述的方法,其中,允许的AMVR精度集在不同的视频单元之间被改变。

70.根据条款65所述的方法,其中,信令通知的MV精度索引和使用的实际MV精度之间的映射在不同的视频单元之间被改变。

71.根据条款1-70中任一项所述的方法,其中,执行该转换包括从当前块生成编解码表示。

72.根据条款1-70中任一项所述的方法,其中,执行该转换包括从编解码表示生成当前块。

73.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器执行时使得处理器实施条款1至72中任一项所述的方法。

74.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至72中任一项所述的方法的程序代码。

第五条款集合描述了在包括例如项18-25的先前章节中列出的公开技术的某些特征和方面。

1.一种视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定广义双向预测(GBi)编解码工具的操作模式,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值;以及基于该确定执行该转换,其中,编解码表示中的字段对应于操作模式,并且字段的值指示对当前视频块启用还是禁用GBI编解码工具。

2.根据条款1所述的方法,其中,字段指示GBI编解码工具在条带级别、片级别或图片级别被启用或禁用。

3.根据条款1所述的方法,其中,字段被包括被包括在条带头、片头或图片参数集中。

4.根据条款1-3中任一项所述的方法,其中,在当前视频块的图片对应于具有大于阈值的值的时域层的情况下,字段指示对当前视频块禁用了GBi编解码工具。

5.根据条款4所述的方法,其中,阈值是3。

6.根据条款1-5中任一项所述的方法,其中,对第一图片中的当前视频块禁用了GBi编解码工具,其中该第一图片不由不同于第一图片的第二图片参考。

7.根据条款1所述的方法,其中,对使用大于阈值的量化参数的当前视频块禁用了GBi编解码工具。

8.一种视频处理的方法,包括:基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定由GBi编解码工具使用的加权因子集基于:i)包括当前视频块的图片的时域层,ii)图片的图片量化参数,或者iii)当前视频块的量化参数。

9.根据条款8所述的方法,其中,规则指定在更高时域层视频图片中使用更少的加权因子。

10.根据条款8所述的方法,其中,规则指定针对更高量化参数值使用更少的加权因子。

11.根据条款8所述的方法,其中,编解码表示还包括至少一个附加加权因子集,以由GBi编解码工具使用。

12.根据条款11所述的方法,其中,附加加权因子集是在条带头级别、片组头级别、片头级别、图片头级别、图片参数集级别、序列参数集级别或视频参数集级别指示的。

13.一种视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定使用不等于单向预测模式的权重的权重;以及基于该确定执行该转换,其中,对当前视频块的预测使用对应于通过权重缩放的预测值的最终预测值,并且其中,在块级别或编解码单元级别选择了加权因子集。

14.根据条款13所述的方法,其中,针对AMVP(高级运动矢量预测)模式或仿射帧间模式中的至少一种信令通知了权重索引,并且在Merge模式、UMVE(最终运动矢量表达)模式、仿射Merge模式或具有偏移的仿射Merge模式中的至少一种中继承了权重索引,并且其中,UMVE模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动幅度和运动方向。

15.根据条款1-14中任一项所述的方法,其中,执行该转换包括使用来自多个偏移集中的一个的偏移值来细化在该转换期间计算的运动补偿块。

16.根据条款15所述的方法,其中,在块级别或编解码单元级别信令通知了偏移索引。

17.根据条款15所述的方法,其中,在Merge模式、UMVE(最终运动矢量表达)模式、仿射Merge模式或具有偏移的仿射Merge模式中的至少一种中继承了偏移索引,并且其中,UMVE模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动幅度和运动方向。

18.一种视频处理的方法,包括:基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定基于当前视频块的邻近像素和由当前视频块的运动矢量或运动矢量的整数部分标识的对应参考邻近像素,选择或推导GBi编解码工具的加权因子。

19.根据条款18所述的方法,其中,省略了GBi索引的信令通知。

20.根据条款18所述的方法,其中,编解码表示中的字段指示使用默认相等加权因子还是所选择的或所推导的加权因子。

21.根据条款18所述的方法,其中,从预定义的加权因子集选择了当前视频块的加权因子,以在使用加权因子对来自两个参考列表的参考邻近像素进行平均的结果和当前视频块的邻近像素之间具有最小差。

22.根据条款18所述的方法,其中,GBi加权值通过S0和S1而推导,S0指示当前视频块的邻近像素的和或平均值,并且S1指示参考块的邻近像素的和或平均值。

23.一种视频处理的方法,包括:基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定基于当前视频块的邻近像素和由当前视频块的运动矢量或运动矢量的整数部分标识的对应参考邻近像素,重新排序GBi编解码工具的加权因子。

24.根据条款23所述的方法,其中,基于使用加权因子对来自两个参考列表的参考邻近像素进行平均的结果和当前视频块的邻近像素之间的差,对当前视频块的加权因子进行了重新排序。

25.一种视频处理的方法,包括:基于控制GBi编解码工具的参数的规则,执行视频的当前视频块和视频的编解码表示之间的转换,其中在该GBi编解码工具中,对当前视频块的预测使用对应于来自两个参考列表的预测值的非均匀加权和的最终预测值,其中,该规则指定使用与当前视频块相关联的局部照明补偿(LIC)参数用于确定GBi编解码工具的加权因子,并且其中,LIC参数被推导以在该转换期间使用当前块中的照明变化的线性模型。

26.根据条款25所述的方法,其中,推导LIC参数的偏移为零,并且仅加权因子用于GBi编解码工具。

27.根据条款25所述的方法,其中,偏移和LIC参数的加权因子两者都用于GBi编解码工具。

28.根据条款25所述的方法,其中,规则指定在当前视频块还使用Merge模式、UMVE模式、仿射Merge模式或具有偏移的仿射Merge模式中的至少一种的情况下,从邻近视频块的GBi索引继承当前视频块的GBi索引,并且其中,UMVE模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动幅度和运动方向。

29.根据条款25所述的方法,其中,规则指定在所继承的邻近加权因子与LIC参数相同的情况下,推导用于当前视频块的该转换的附加LIC参数。

30.根据条款1-29中任一项所述的方法,其中,执行该转换包括从当前块生成编解码表示。

31.根据条款1-29中任一项所述的方法,其中,执行该转换包括从编解码表示生成当前块。

32.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器执行时使得处理器实施条款1至31中任一项所述的方法。

33.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至31中任一项所述的方法的程序代码。

第六条款集合描述了在包括例如项5、6和7的先前章节中列出的公开技术的某些特征和方面。

1.一种视频处理的方法,包括:执行视频的一个或多个视频块和视频的编解码表示之间的转换,其中,编解码表示中的第一字段指示分数样点精度是否在该转换期间使用的具有运动矢量差的Merge(MMVD)模式下用于指示运动距离,并且其中,MMVD模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动距离和运动方向。

2.根据条款1所述的方法,其中,第一个字段是标志。

3.根据条款2所述的方法,其中,标志是在条带级别、片组级别、片级别、图片级别、序列级别、视频级别或编解码单元级别中信令通知的。

4.根据条款3所述的方法,其中,标志是在条带头、片组头、片头、图片头、图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)或编解码单元中信令通知的。

5.根据条款1所述的方法,其中,标志是在MMVD启用字段指示MMVD模式被启用的情况下信令通知的。

6.根据条款1所述的方法,还包括:执行该转换包括基于与当前视频块相关联的运动距离,使用MMVD模式执行视频的当前视频块和视频的编解码表示之间的转换。

7.根据条款1至6中任一项所述的方法,其中,标志指示不使用分数样点精度,并且其中,该转换使用用于该转换的整数样点精度。

8.根据条款6所述的方法,其中,与当前视频块相关联的运动距离由运动距离索引表示,该转换包括使用运动距离索引的截断一元来编码运动距离索引,所允许的运动距离索引的最大值取决于所允许的整数运动距离的数量,并且标志指示不使用分数样点精度。

9.根据条款6所述的方法,其中,与当前视频块相关联的运动距离由运动距离索引表示,该转换包括使用运动距离索引的截断一元来解码运动距离索引,所允许的运动距离索引的最大值取决于所允许的整数运动距离的数量,并且标志指示不使用分数样点精度。

10.根据条款1至6中任一项所述的方法,其中,默认运动距离表中的多个元素中的每一个乘以因子,以生成整数样点精度的整数运动距离。

11.根据条款1至6中任一项所述的方法,其中,对于被包括在视频单元中的、其中该第一字段指示不使用分数样点精度的第一视频块,以及对于被包括在视频单元中的、其中该第一字段指示使用分数样点精度的第二视频块,如果相同的运动距离索引用于第一视频块和第二视频块,则第一块的对应运动距离通过将第二视频块的运动距离乘以因子而生成。

12.根据条款10所述的方法,其中,所述因子是4。

13.根据条款1所述的方法,其中,对于具有预测偏移的仿射Merge模式,第一字段是在条带头、片组头、片头、图片头、图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)或编解码单元中信令通知的。

14.根据条款1所述的方法,其中,第一字段是基于对其中运动矢量差(MVD)偏移被使用的仿射Merge模式的使用而信令通知的。

15.根据条款1所述的方法,其中,第一字段包括第一标志和第二标志,第一标志是在图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)中信令通知的,并且指示第二标志是在PPS、条带头、片组头或片头中信令通知的。

16.根据条款15所述的方法,其中,第一标志指示假,分数运动距离被启用,并且不信令通知第二标志。

17.根据条款15所述的方法,其中,第一标志指示真,分数运动距离被启用,并且不信令通知第二标志。

18.根据条款15所述的方法,其中,第一标志指示真,并且分数运动距离被禁用,并且信令通知了第二标志。

19.根据条款15所述的方法,其中,第一标志指示假,并且分数运动距离被禁用,并且信令通知了第二标志。

20.根据条款18或19所述的方法,其中,第二标志指示真,并且针对图片、条带、片组或片启用了分数运动距离。

21.根据条款18或19所述的方法,其中,第二标志指示假,并且针对图片、条带、片组或片启用了分数运动距离。

22.根据条款18或19所述的方法,其中,第二标志指示真,并且针对图片、条带、片组或片禁用了分数运动距离。

23.根据条款18或19所述的方法,其中,第二标志指示假,并且针对图片、条带、片组或片禁用了分数运动距离。

24.根据条款1所述的方法,其中,该转换基于第一字段指示不使用分数运动距离来使用整数运动距离或具有比整数精度低的精度的运动距离中的一种或两种。

25.根据条款1所述的方法,其中,第一字段由具有运动矢量差的Merge(MMVD)模式或具有运动矢量差(MVD)偏移的仿射Merge模式中的一种或两种共享。

26.根据条款1所述的方法,其中,第一字段分开信令通知对具有运动矢量差的Merge(MMVD)模式和具有运动矢量差(MVD)偏移的仿射Merge模式的使用。

27.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中,编解码表示包括指示是否针对在该转换期间使用的高级运动矢量预测(AMVP)模式或仿射帧间模式允许分数运动矢量(MV)或运动矢量差(MVD)精度的标志。

28.根据条款27所述的方法,其中,标志是在条带头、片组头、图片头、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)中信令通知的。

29.根据条款27所述的方法,其中,标志是基于对被允许的自适应运动矢量分辨率(AMVR)的使用而信令通知的。

30.根据条款27所述的方法,其中,标志是基于对被允许的仿射帧间模式的自适应运动矢量分辨率(AMVR)的使用而信令通知的。

31.根据条款27所述的方法,其中,标志包括第一标志和第二标志,第一标志是在图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)中信令通知的,并且指示第二标志是在PPS、条带头、片组头或片头中信令通知的。

32.根据条款31所述的方法,其中,第一标志为假,分数运动矢量(MV)或运动矢量差(MVD)被启用,并且不信令通知第二标志。

33.根据条款31所述的方法,其中,第一标志为真,分数运动矢量(MV)或运动矢量差(MVD)被启用,并且不信令通知第二标志。

34.根据条款31所述的方法,其中,第一标志为真,分数运动矢量(MV)或运动矢量差(MVD)能够被禁用,并且信令通知了第二标志。

35.根据条款31所述的方法,其中,第一标志为假,分数运动矢量(MV)或运动矢量差(MVD)能够被禁用,并且信令通知了第二标志。

36.根据条款31所述的方法,其中,第二标志为真,并且针对图片、条带、片组或片启用了分数运动矢量(MV)或运动矢量差(MVD)。

37.根据条款31所述的方法,其中,第二标志为假,并且针对图片、条带、片组或片启用了分数运动矢量(MV)或运动矢量差(MVD)。

38.根据条款31所述的方法,其中,第二标志为真,并且针对图片、条带、片组或片禁用了分数运动矢量(MV)或运动矢量差(MVD)。

39.根据条款31所述的方法,其中,第二标志为假,并且针对图片、条带、片组或片禁用了分数运动矢量(MV)或运动矢量差(MVD)。

40.根据条款27所述的方法,其中,分数运动矢量(MV)或运动矢量差(MVD)不被允许,并且整数预测MV或MVD被允许。

41.根据条款27所述的方法,其中,分数运动矢量(MV)或运动矢量差(MVD)不被允许,并且MV或MVD的整数精度或比整数精度低的精度中的一个或两个被允许。

42.根据条款27所述的方法,其中,该转换包括基于MV或MVD精度的数量而使用截断一元码来编码自适应运动矢量分辨率(AMVR)索引,并且标志指示分数MV或MVD不被允许。

43.根据条款27所述的方法,其中,标志是针对自适应运动矢量分辨率(AMVR)模式和仿射帧间模式的AMVR而分开信令通知的。

44.根据条款27所述的方法,其中,标志是针对自适应运动矢量分辨率(AMVR)模式和仿射帧间模式的AMVR两者而信令通知和共享的。

45.根据条款27所述的方法,其中,标志是针对自适应运动矢量分辨率(AMVR)模式、仿射帧间模式的AMVR、最终运动矢量表达(UMVE)模式或具有MVD偏移的仿射Merge模式中的两个或更多个而信令通知和共享的。

46.根据条款1-45中任一项所述的方法,其中,执行该转换包括从当前块生成编解码表示。

47.根据条款1-45中任一项所述的方法,其中,执行该转换包括从编解码表示生成当前块。

48.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器执行时使得处理器实施条款1至47中任一项所述的方法。

49.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至47中任一项所述的方法的程序代码。

第七条款集合描述了在包括例如项17的先前章节中列出的公开技术的某些特征和方面。

1.一种视频处理的方法,包括:根据指定视频的编解码表示的格式的规则,执行视频的当前图片的当前视频块和该编解码表示之间的转换,其中,该规则指定基于用于当前视频块的转换的所有参考块是否是从当前图片的样点获得的,编解码模式的语法元素被包括在编解码表示中。

2.根据条款1所述的方法,其中,在用于当前视频块的转换的所有参考块是从当前图片的样点获得的情况下,仿射模式的语法元素不被包括在编解码表示中。

3.根据条款1所述的方法,其中,在用于当前视频块的转换的所有参考块是从当前图片的样点获得的情况下,基于子块的Merge模式的语法元素不被包括在编解码表示中。

4.根据条款1所述的方法,其中,在用于当前视频块的转换的所有参考块是从当前图片的样点获得的情况下,多假设帧内和帧间预测模式的语法元素不被包括在编解码表示中。

5.根据条款1所述的方法,其中,在用于当前视频块的转换的所有参考块是从当前图片的样点获得的情况下,三角形预测模式的语法元素不被包括在编解码表示中。

6.根据条款1所述的方法,其中,在用于当前视频块的转换的所有参考块是从当前图片的样点获得的情况下,具有运动矢量差的Merge(MMVD)模式的语法元素不被包括在编解码表示中,该MMVD模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动距离或运动方向中的至少一个。

7.根据条款1所述的方法,其中,编解码模式是仿射模式、基于子块的Merge模式、多假设帧内或帧间预测模式、三角形预测模式或MMVD模式,该MMVD模式包括运动矢量表达,其中该运动矢量表达包括起始点、当前视频块的运动距离或运动方向中的至少一个。

8.根据条款1-7中任一项所述的方法,其中,执行该转换包括从当前块生成编解码表示。

9.根据条款1-7中任一项所述的方法,其中,执行该转换包括从编解码表示生成当前块。

10.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器执行时使得处理器实施条款1至9中任一项所述的方法。

11.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至9中任一项所述的方法的程序代码。

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

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

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

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

虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为特定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。

仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号