首页> 中国专利> 用于帧内块复制的运动候选列表构建方法

用于帧内块复制的运动候选列表构建方法

摘要

描述了用于数字视频编解码的设备、系统和方法,其包括构建用于视频编解码的单独的运动候选列表。一种用于视频处理的示例性方法包括:使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表包括与相同的参考图片相关联的运动候选;以及根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

著录项

  • 公开/公告号CN113228635A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利号CN201980074700.6

  • 发明设计人 张莉;张凯;刘鸿彬;许继征;王悦;

    申请日2019-11-13

  • 分类号H04N19/105(20060101);H04N19/176(20060101);H04N19/52(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人张亮

  • 地址 100041 北京市石景山区实兴大街30号院3号楼2层B-0035房间

  • 入库时间 2023-06-19 12:07:15

说明书

相关申请的交叉引用

根据适用的专利法和/或依据巴黎公约的规则,本申请是旨在及时要求于2018年11月13日提交的国际专利申请No.PCT/CN2018/115176的优先权和利益。出于根据美国法律的所有目的,前述申请的全部公开通过引用而并入,作为本申请的公开的一部分。

技术领域

本专利文档涉及视频编解码(coding)技术、设备和系统。

背景技术

尽管视频压缩技术有所进步,但数字视频仍然占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的联网用户设备的数量增加,预计对数字视频使用的带宽需求将继续增长。

发明内容

描述了与数字视频编解码,特别是,与构建用于视频编解码的单独的运动候选列表相关的设备、系统和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(High Efficiency Video Coding,HEVC))和未来的视频编解码标准或视频编解码器。

第一示例性实施例描述了一种视频处理的方法,包括:使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表不包括仅从空域块推导的运动候选;以及根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在第一示例性实施例的一些实施方式中,第一运动候选列表包括仅来自时域块的运动候选。在第一示例性实施例的一些实施方式中,第一运动候选列表包括基于时域块和空域块两者的运动候选。在第一示例性实施例的一些实施方式中,运动候选用于基于子块的空时运动矢量预测(Spatial Temporal Motion Vector Prediction,STMVP)或基于非子块的STMVP。在第一示例性实施例的一些实施方式中,第一运动候选列表包括仿射Merge候选,该仿射Merge候选使用来自第一视频块的时域上邻近的视频块的信息来推导仿射模型。在第一示例性实施例的一些实施方式中,第一运动候选列表不包括仿射Merge候选,其中该仿射Merge候选使用来自第一视频块的时域上邻近的视频块的信息来推导仿射模型。

在第一示例性实施例的一些实施方式中,第一运动候选列表包括基于历史的运动矢量预测(History-based Motion Vector Prediction,HMVP)候选。在第一示例性实施例的一些实施方式中,第一运动候选列表包括从时域运动候选或基于历史的运动矢量预测(HMVP)候选推导的虚拟候选。在第一示例性实施例的一些实施方式中,第一运动候选列表仅包括运动候选,其中每个运动候选仅与被应用于第一视频块整体的单个运动信息集合相关联。

在第一示例性实施例的一些实施方式中,第一运动候选列表仅包括运动候选,其中每个运动候选仅与多个运动信息集合相关联,并且其中多个运动信息集合中的每一个被应用于第一视频块的子块。在第一示例性实施例的一些实施方式中,第一运动候选列表包括与相同参考图片的多个时域块相关联的多个运动候选。在第一示例性实施例的一些实施方式中,第一运动候选列表包括与多个时域块相关联的多个运动候选,其中该多个时域块与每个参考图片列表的一个参考图片相关联。

在第一示例性实施例的一些实施方式中,第一运动候选列表包括与位于图片中的多个时域块相关联的多个运动候选,其中图片的参考索引被预定义或者在序列参数集(Sequence Parameter Set,SPS)、图片参数集(Picture Parameter Set,PPS)、条带头、片组头、片、编解码树单元(Coding Tree Unit,CTU)、编解码单元(Coding Unit,CU)或预测单元(Prediction Unit,PU)中被信令通知。在第一示例性实施例的一些实施方式中,第一运动候选列表包括多个运动候选,其中该多个运动候选与位于包括第一视频块的并置的编解码树单元(CTU)行中的多个时域块相关联。

在第一示例性实施例的一些实施方式中,第一运动候选列表包括多个运动候选,其中该多个运动候选与当视频单元被划分成非重叠的M×N区域时位于尺寸为M×N的相同区域中的多个时域块相关联,并且其中M和N是被预定义或者在序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)中被信令通知的整数。在第一示例性实施例的一些实施方式中,对第一运动候选列表中的运动候选禁用广义双向预测(Generalized Bi-prediction,GBi),其中对于第一运动候选列表中的运动候选,GBi索引被设置为0。

在第一示例性实施例的一些实施方式中,第一运动候选列表包括可选时域运动矢量预测(Alternative Temporal Motion Vector Prediction,ATMVP)候选。在第一示例性实施例的一些实施方式中,ATMVP候选位于第一运动候选列表中的固定位置处。

第二示例性实施例描述了一种视频处理的方法,包括:为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表包括可选时域运动矢量预测(ATMVP)候选但不包括仿射候选;以及根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在第一示例性实施例和第二示例性实施例的一些实施方式中,该(多个)方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。在第一示例性实施例和第二示例性实施例的一些实施方式中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。在第一示例性实施例和第二示例性实施例的一些实施方式中,第一列表索引对应于第一视频块的邻近视频块,其中该第一列表索引用于编解码第一视频块的第二列表索引。在第一示例性实施例和第二示例性实施例的一些实施方式中,第一列表索引对应于第一视频块的邻近视频块,其中该第一列表索引用于在上下文选择中用于编解码第一视频块的第二列表索引。

在第一示例性实施例和第二示例性实施例的一些实施方式中,列表索引的相同值对应于用于视频的不同视频块的不同运动候选列表构建方法。在第一示例性实施例和第二示例性实施例的一些实施方式中,列表索引的信令通知基于编解码的模式信息,其中该编解码的模式信息包括三角形预测模式(Triangular Prediction Mode,TPM)、非仿射模式或非TPM模式。在第一示例性实施例和第二示例性实施例的一些实施方式中,该(多个)方法还包括对多个运动候选列表中的不同运动候选列表中的运动候选执行修剪操作。在第一示例性实施例和第二示例性实施例的一些实施方式中,该(多个)方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。

在第一示例性实施例和第二示例性实施例的一些实施方式中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。在第一示例性实施例和第二示例性实施例的一些实施方式中,该(多个)方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在第一示例性实施例和第二示例性实施例的一些实施方式中,该模式是Merge模式。

在第一示例性实施例和第二示例性实施例的一些实施方式中,该模式是高级运动矢量预测(Advanced Motion Vector Prediction,AMVP)模式。在第一示例性实施例和第二示例性实施例的一些实施方式中,该模式是三角形预测模式(TPM)模式。在第一示例性实施例和第二示例性实施例的一些实施方式中,该模式与块维度相关。在第一示例性实施例和第二示例性实施例的一些实施方式中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在第一示例性实施例和第二示例性实施例的一些实施方式中,阈值是64。在第一示例性实施例和第二示例性实施例的一些实施方式中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在第一示例性实施例和第二示例性实施例的一些实施方式中,第一阈值是16,并且第二阈值是16。

在第一示例性实施例和第二示例性实施例的一些实施方式中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。在第一示例性实施例和第二示例性实施例的一些实施方式中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在第一示例性实施例和第二示例性实施例的一些实施方式中,执行该转换包括从比特流表示生成第一视频块的像素值。在第一示例性实施例和第二示例性实施例的一些实施方式中,执行该转换包括从第一视频块的像素值生成比特流表示。

第三示例性实施例描述了一种视频处理的方法,包括:使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表不包括仅从空域块推导的运动候选;以及根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在第三示例性实施例的一些实施方式中,第一运动候选列表包括仅来自空域块的运动候选。在第三示例性实施例的一些实施方式中,第一运动候选列表包括基于历史的运动矢量预测(HMVP)候选。在第三示例性实施例的一些实施方式中,第一运动候选列表包括从空域运动候选或HMVP候选推导的虚拟候选。在第三示例性实施例的一些实施方式中,第一运动候选列表包括基于时域块和空域块两者的运动候选。

在第三示例性实施例的一些实施方式中,运动候选用于基于子块的空时运动矢量预测(STMVP)或基于非子块的STMVP。在第三示例性实施例的一些实施方式中,第一运动候选列表的列表尺寸是第一运动候选列表中的允许的运动候选的预定义最大数量。在第三示例性实施例的一些实施方式中,列表尺寸是5或6。在第三示例性实施例的一些实施方式中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被分开信令通知。

在第三示例性实施例的一些实施方式中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被一次信令通知,并且被应用于包括第一运动候选列表和至少再一个运动候选列表的多种类型的运动候选列表。在第三示例性实施例的一些实施方式中,使用序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)来信令通知使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸。

在第三示例性实施例的一些实施方式中,至少再一个运动候选列表是时域候选列表或空域候选列表或基于历史的运动矢量预测(HMVP)候选列表。在第三示例性实施例的一些实施方式中,该方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。

在第三示例性实施例的一些实施方式中,第二运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从空域或时域邻近块推导的运动候选的基于历史的运动矢量预测(HMVP)候选列表。在第三示例性实施例的一些实施方式中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。

在第三示例性实施例的一些实施方式中,该方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。在第三示例性实施例的一些实施方式中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。

在第三示例性实施例的一些实施方式中,该方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在第三示例性实施例的一些实施方式中,该模式是Merge模式。在第三示例性实施例的一些实施方式中,该模式是高级运动矢量预测(AMVP)模式。在第三示例性实施例的一些实施方式中,该模式是三角形预测模式(TPM)模式。在第三示例性实施例的一些实施方式中,该模式与块维度相关。

在第三示例性实施例的一些实施方式中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在第三示例性实施例的一些实施方式中,阈值是64。在第三示例性实施例的一些实施方式中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在第三示例性实施例的一些实施方式中,第一阈值是16,并且第二阈值是16。在第三示例性实施例的一些实施方式中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。

在第三示例性实施例的一些实施方式中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在第三示例性实施例的一些实施方式中,执行该转换包括从比特流表示生成第一视频块的像素值。在第三示例性实施例的一些实施方式中,执行该转换包括从第一视频块的像素值生成比特流表示。

第四示例性实施例描述了一种视频处理的方法,包括:使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表不包括仅从空域块推导的运动候选;以及根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在第四示例性实施例的一些实施方式中,第一运动候选列表是帧内块复制(IntraBlock Copy,IBC)列表。在第四示例性实施例的一些实施方式中,相同的参考图片是当前图片、或当前片、或当前条带,其中第一视频块属于当前图片、当前片或当前条带。在第四示例性实施例的一些实施方式中,运动候选中的每一个是单向预测候选。在第四示例性实施例的一些实施方式中,运动候选包括单向预测候选和双向预测候选,并且其中单向预测候选和双向预测候选针对两个参考图片列表使用相同的参考图片。

在第四示例性实施例的一些实施方式中,第一运动候选列表包括具有来自空域块的运动信息的运动候选。在第四示例性实施例的一些实施方式中,空域块与第一视频块相邻或不相邻。在第四示例性实施例的一些实施方式中,运动候选包括基于历史的运动矢量预测(HMVP)候选。在第四示例性实施例的一些实施方式中,第一运动候选列表包括具有预定义或计算的运动矢量的至少一个默认运动候选。在第四示例性实施例的一些实施方式中,预定义或计算的运动矢量基于以下中的任何一个或多个:(1)第一视频块的位置,(2)帧内块复制(IBC)模式的允许的搜索范围,以及(3)运动补偿块的最大允许单元尺寸。

在第四示例性实施例的一些实施方式中,运动补偿块的最大允许单元尺寸是64×64个像素。在第四示例性实施例的一些实施方式中,第一运动候选列表的列表尺寸是第一运动候选列表中的允许的运动候选的预定义最大数量。在第四示例性实施例的一些实施方式中,列表尺寸是5或6。在第四示例性实施例的一些实施方式中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被分开信令通知。

在第四示例性实施例的一些实施方式中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被一次信令通知,并且被应用于包括第一运动候选列表和至少再一个运动候选列表的多种类型的运动候选列表。在第四示例性实施例的一些实施方式中,使用序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)来信令通知使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸。

在第四示例性实施例的一些实施方式中,至少再一个运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从时域邻近块推导的运动候选的空域候选列表、或者不包括仅从时域或空域邻近块推导的运动候选而包括基于历史的运动矢量预测(HMVP)候选的HMVP候选列表。在第四示例性实施例的一些实施方式中,该方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。在第四示例性实施例的一些实施方式中,第二运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从空域或时域邻近块推导的运动候选的HMVP候选列表。

在第四示例性实施例的一些实施方式中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。在第四示例性实施例的一些实施方式中,该方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。

在第四示例性实施例的一些实施方式中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。在第四示例性实施例的一些实施方式中,该方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在第四示例性实施例的一些实施方式中,该模式是Merge模式。在第四示例性实施例的一些实施方式中,该模式是高级运动矢量预测(AMVP)模式。在第四示例性实施例的一些实施方式中,该模式是三角形预测模式(TPM)模式。

在第四示例性实施例的一些实施方式中,该模式与块维度相关。在第四示例性实施例的一些实施方式中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在第四示例性实施例的一些实施方式中,阈值是64。在第四示例性实施例的一些实施方式中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在第四示例性实施例的一些实施方式中,第一阈值是16,并且第二阈值是16。

在第四示例性实施例的一些实施方式中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。在第四示例性实施例的一些实施方式中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在第四示例性实施例的一些实施方式中,执行该转换包括从比特流表示生成第一视频块的像素值。在第四示例性实施例的一些实施方式中,执行该转换包括从第一视频块的像素值生成比特流表示。

第五示例性实施例描述了一种视频处理的方法,包括:使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表包括仅与基于历史的运动矢量预测(HMVP)候选相关的运动候选;以及根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在第五示例性实施例的一些实施方式中,第一运动候选列表包括默认运动矢量候选。在第五示例性实施例的一些实施方式中,默认运动矢量候选包括零运动矢量候选。在第五示例性实施例的一些实施方式中,第一运动候选列表包括从现有HMVP候选推导的候选。在第五示例性实施例的一些实施方式中,第一运动候选列表的列表尺寸是第一运动候选列表中的允许的运动候选的预定义最大数量。在第五示例性实施例的一些实施方式中,列表尺寸是5或6。在第五示例性实施例的一些实施方式中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被分开信令通知。

在第五示例性实施例的一些实施方式中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被一次信令通知,并且被应用于包括第一运动候选列表和至少再一个运动候选列表的多种类型的运动候选列表。在第五示例性实施例的一些实施方式中,使用序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)来信令通知使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸。

在第五示例性实施例的一些实施方式中,至少再一个运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从时域邻近块推导的运动候选的空域候选列表、或者不包括仅从时域或空域邻近块推导的运动候选而包括基于历史的运动矢量预测(HMVP)候选的HMVP候选列表。在第五示例性实施例的一些实施方式中,该方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。

在第五示例性实施例的一些实施方式中,第二运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从空域或时域邻近块推导的运动候选的HMVP候选列表。在第五示例性实施例的一些实施方式中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。在第五示例性实施例的一些实施方式中,该方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。在第五示例性实施例的一些实施方式中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。

在第五示例性实施例的一些实施方式中,该方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在第五示例性实施例的一些实施方式中,该模式是Merge模式。在第五示例性实施例的一些实施方式中,该模式是高级运动矢量预测(AMVP)模式。在第五示例性实施例的一些实施方式中,该模式是三角形预测模式(TPM)模式。

在第五示例性实施例的一些实施方式中,基于帧内块复制(IBC)模式,生成第一视频块的运动矢量,其中IBC模式使用包括第一视频块的当前图片、或当前片、或当前条带作为参考图片。在第五示例性实施例的一些实施方式中,该模式与块维度相关。在第五示例性实施例的一些实施方式中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在第五示例性实施例的一些实施方式中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积小于阈值。在第五示例性实施例的一些实施方式中,阈值是16或64。

在第五示例性实施例的一些实施方式中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在第五示例性实施例的一些实施方式中,第一阈值是16,并且第二阈值是16。在第五示例性实施例的一些实施方式中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。在第五示例性实施例的一些实施方式中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在第五示例性实施例的一些实施方式中,执行该转换包括从比特流表示生成第一视频块的像素值。在第五示例性实施例的一些实施方式中,执行该转换包括从第一视频块的像素值生成比特流表示。

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

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

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

在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其它方面以及特征。

附图说明

图1示出了构造Merge候选列表的示例。

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

图3示出了对其进行空域Merge候选的冗余检查的候选对的示例。

图4A和图4B示出了基于当前块的尺寸和形状的第二预测单元(PU)的位置的示例。

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

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

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

图8示出了构造运动矢量预测候选的示例。

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

图10示出了用于编解码单元(CU)的使用可选时域运动矢量预测(ATMVP)算法的运动预测的示例。

图11示出了由空时运动矢量预测(STMVP)算法使用的具有子块和邻近块的编解码单元(CU)的示例。

图12示出了用于以不同的MV精度进行编码(encoding)的示例流程图。

图13A和图13B示出了将编解码单元(CU)划分成两个三角形预测单元(PU)的示例。

图14示出了邻近块的位置的示例。

图15示出了用于三角形预测模式(TPM)标志编解码中的上下文选择的邻近块的示例。

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

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

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

图19示出了继承的仿射候选的AF_INTER的运动矢量预测的示例。

图20示出了构建的仿射候选的AF_INTER的运动矢量预测的示例。

图21A和图21B示出了AF_MERGE仿射运动模式的示例候选。

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

图23示出了帧内图片块复制的示例。

图24示出了基于历史的运动矢量预测(HMVP)候选的编解码流程的示例。

图25示出了修改后的Merge列表构建过程的示例。

图26A至图26E示出了用于视频编解码的示例方法的流程图。

图27是用于实施在本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。

图28是可以在其中实施所公开的技术的示例视频处理系统的框图。

具体实施方式

由于对更高分辨率视频的日益增长的需求,视频编解码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断被改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的简易性、随机访问和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编解码(HEVC)标准(也已知为H.265或MPEG-H部分2)、即将完成的通用视频编解码标准、或其他当前和/或未来视频编解码标准。

所公开的技术的实施例可以应用于现有视频编解码标准(例如,HEVC、H.265)和未来标准以改进压缩性能。在本文档中使用章节标题以提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实现方式)限制于仅相应的章节。

1HEVC/H.265中的帧间预测的示例

多年来,视频编解码标准已经显着改进,并且现在部分地提供高编解码效率和对更高分辨率的支持。诸如HEVC和H.265的最新标准基于其中利用时域预测加变换编解码的混合视频编码结构。

1.1预测模式的示例

每个帧间预测的PU(预测单元)具有针对一个或两个参考图片列表的运动参数。在一些实施例中,运动参数包括运动矢量和参考图片索引。在其他实施例中,也可以使用inter_pred_idc信令通知对两个参考图片列表之一的使用。在另外的其他实施例中,运动矢量可以被显式地编解码为相对于预测值的增量。

当用跳过模式对CU进行编解码时,一个PU与该CU相关联,并且不存在显著的残差系数、没有编解码的运动矢量增量或参考图片索引。规定Merge模式,由此从包括空域和时域候选的邻近PU获得当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅仅对于跳跃模式。Merge模式的可选方案是运动参数的显式传输,其中每一PU显式地信令通知运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表的使用。

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

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

在HEVC中,术语帧间预测用于表示从除当前解码图片之外的参考图片的数据元素(例如,样点值或运动矢量)推导的预测。像在H.264/AVC中一样,可以从多个参考图片中预测图片。用于帧间预测的参考图片被组织在一个或多个参考图片列表中。参考索引识别列表中哪个参考图片应该用于创建预测信号。

单个参考图片列表(列表0)用于P条带,并且两个参考图片列表(列表0和列表1)用于B条带。应当注意,就捕获/显示顺序而言,列表0/1中包括的参考图片可以是来自过去和未来的图片。

1.1.1构建Merge模式的候选的实施例

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

·步骤1:初始候选推导

ο步骤1.1:空域候选推导

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

ο步骤1.3:时域候选推导

·步骤2:附加候选插入

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

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

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

1.1.2构建空域Merge候选

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

为了降低计算复杂度,在所提到的冗余检查中不考虑所有可能的候选对。相反,只考虑与图3中的箭头链接的对,并且如果用于冗余检查的对应候选没有相同的运动信息,则候选仅被添加到列表中。重复运动信息的另一源是与不同于2N×2N的分割相关联的“第二PU”。作为示例,图4A和图4B分别描绘了N×2N和2N×N的情况下的第二PU。当当前PU被分割为N×2N时,位置A

1.1.3构建时域Merge候选

在该步骤中,仅一个候选被添加到列表。具体地,在该时域Merge候选的推导中,基于属于与给定参考图片列表内的当前图片具有最小POC(Picture Order Count,图片顺序计数)差的图片的并置(co-located)PU来推导缩放运动矢量。在条带头中显式地信令通知要用于推导并置PU的参考图片列表。

图5示出了推导时域Merge候选的缩放运动矢量的示例(如虚线),该缩放运动矢量是使用POC距离tb和td从并置PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,并且td被定义为并置图片的参考图片与并置图片之间的POC差。时域Merge候选的参考图片索引被设置为等于零。对于B条带,两个运动矢量(一个用于参考图片列表0,并且另一个用于参考图片列表1)被获得并组合,以生成双向预测Merge候选。

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

1.1.4构建附加类型的Merge候选

除了空时Merge候选之外,存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空时Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一初始候选的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,则它们将形成新的双向预测候选。

图7示出了该过程的示例,其中原始列表(710,在左边)中的两个候选(其具有mvL0和refIdxL0或mvL1和refIdxL1)用于创建被添加到最终列表(720,在右边)的组合的双向预测Merge候选。

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

1.1.5用于并行处理的运动估计区域的示例

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

1.2高级运动矢量预测(AMVP)的实施例

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

1.2.1推导AMVP候选的示例

图8概述了运动矢量预测候选的推导过程,并且可以用refidx作为输入针对每个参考图片列表来实施。

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

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

1.2.2构建空域运动矢量候选

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

--没有空域缩放

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

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

--空域缩放

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

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

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

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

1.2.3构建时域运动矢量候选

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

2.联合探索模型(Joint Exploration Model,JEM)中的帧间预测方法的示例

在一些实施例中,使用已知为联合探索模型(JEM)的参考软件来探索未来视频编解码技术。在JEM中,在若干编解码工具中采用基于子块的预测,诸如仿射预测、可选时域运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、双向光流(Bi-directional Opticalflow,BIO)、帧速率上转换(Frame-Rate Up Conversion,FRUC)、局部自适应运动矢量分辨率(Locally Adaptive Motion Vector Resolution,LAMVR)、重叠块运动补偿(OverlappedBlock Motion Compensation,OBMC)、局部光照补偿(Local Illumination Compensation,LIC)和解码器侧运动矢量细化(Decoder-side Motion Vector Refinement,DMVR)。

2.1基于子CU的运动矢量预测的示例

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

2.1.1可选时域运动矢量预测(ATMVP)的示例

在ATMVP方法中,通过从比当前CU小的块提取多个运动信息(包括运动矢量和参考索引)集来修改时域运动矢量预测(Temporal Motion Vector Prediction,TMVP)方法。

图10示出了对于CU 1000的ATMVP运动预测过程的示例。ATMVP方法分两个步骤来预测CU 1000内的子CU 1001的运动矢量。第一步骤是用时域矢量来识别参考图片1050中的对应块1051。参考图片1050也称为运动源图片。第二步骤是将当前CU 1000划分成子CU1001,并从与每个子CU相对应的块中获得运动矢量以及每个子CU的参考索引。

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

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

2.1.2空时运动矢量预测(STMVP)的示例

在STMVP方法中,按照光栅扫描顺序递归地推导子CU的运动矢量。图11示出了具有四个子块的一个CU和邻近块的示例。考虑8×8的CU 1100,它包括4个4×4的子CU:A(1101)、B(1102)、C(1103)和D(1104)。当前帧中的邻近的4×4块被标记为a(1111)、b(1112)、c(1113)和d(1114)。

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

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.2VVC中的帧间预测方法的示例

有几种用于帧间预测改进的新的编解码工具,诸如用于信令通知MVD的自适应运动矢量差分辨率(Adaptive motion vector difference resolution,AMVR)、仿射预测模式、三角形预测模式(TPM)、ATMVP、广义双向预测(GBI)、双向光流(BIO)。

2.2.1自适应运动矢量差分辨率示例

在一些实施例中,当在条带头中的use_integer_mv_flag等于0时,以四分之一(quarter)亮度样点为单位来信令通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(MVD)。在JEM中,引入了局部自适应运动矢量分辨率(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检查。

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

2.2.2三角形预测单元模式的示例

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

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

更具体地,涉及以下步骤:

1)从A

2)设置变量numCurrMergeCand=0。

3)对于从A

应用

4)对于从A

应用

5)对于从A

应用

6)对于从A

–如果列表0参考图片的条带QP小于列表1参考图片的条带QP,则首先将列表1的运动信息缩放到列表0参考图片,并将两个MV(一个来自原始列表0,并且另一个是来自列表1的缩放的MV)的平均添加到TPM Merge列表中,这样的候选称为来自列表0的平均单向预测运动候选(averaged uni-prediction from List 0motion candidate),并且numCurrMergeCand增加1。

–否则,首先将列表0的运动信息缩放到列表1参考图片,并将两个MV(一个来自原始列表1,并且另一个是来自列表0的缩放的MV)的平均添加到TPM Merge列表中,这样的TPM候选被称为来自列表1的平均单向预测运动候选(averaged uni-prediction from List1motion candidate),并且numCurrMergeCand增加1。

应用

7)如果numCurrMergeCand小于5,则添加零运动矢量候选。

将候选插入列表时,如果必须与先前添加的所有候选进行比较,以查看其是否与其中一个相同,这种过程称为完全修剪。

在预测每个三角形预测单元之后,将自适应加权过程应用于两个三角形预测单元之间的对角线边缘,以推导整个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像素时,使用第二加权因子组。否则,使用第一加权因子组。

可以首先信令通知指示是否使用TPM的一个比特标志。此后,进一步信令通知两种划分模式(如图13A和图13B所描绘的)的指示,以及为两个分区中的每一个选择的Merge索引。

分别用W和H来表示一个亮度块的宽度和高度。如果W*H<64,则禁用三角形预测模式。

当一个块用仿射模式进行编解码时,也禁用三角形预测模式。

当一个块用Merge模式进行编解码时,可以信令通知一个比特标志来指示对于该块是启用还是禁用三角形预测模式。

基于图15并且基于以下等式,该标志用3个上下文进行编解码。

Ctx索引=((左边的块L可用&&L是用TPM进行编解码的?)1:0)+((上边的块A可用&&A是用TPM进行编解码的?)1:0);

注意,划分模式(如图13A和图13B所示)、两个分区的Merge索引是联合编解码的。在现有实施方式中,限制是两个分区不能使用相同的参考索引。因此,存在2(划分模式)*N(最大Merge候选数量)*(N-1)种可能性,其中N被设置为5。一个指示被编解码,并且划分模式、两个Merge索引和编解码指示之间的映射从下面定义的数组中推导:

const uint8_t g_TriangleCombination[TRIANGLE_MAX_NUM_CANDS][3]={{0,1,0},{1,0,1},{1,0,2},{0,0,1},{0,2,0},{1,0,3},{1,0,4},{1,1,0},{0,3,0},{0,4,0},{0,0,2},{0,1,2},{1,1,2},{0,0,4},{0,0,3},{0,1,3},{0,1,4},{1,1,4},{1,1,3},{1,2,1},{1,2,0},{0,2,1},{0,4,3},{1,3,0},{1,3,2},{1,3,4},{1,4,0},{1,3,1},{1,2,3},{1,4,1},{0,4,1},{0,2,3},{1,4,2},{0,3,2},{1,4,3},{0,3,1},{0,2,4},{1,2,4},{0,4,2},{0,3,4}};

划分模式(45度或135度)=g_TriangleCombination[信令通知的指示][0];

候选A的Merge索引=g_TriangleCombination[信令通知的指示][1];

候选B的Merge索引=g_TriangleCombination[信令通知的指示][2];

一旦推导出了两个运动候选A和B,就可以根据A或B设置两个分区(PU1和PU2)的运动信息。PU1是否使用Merge候选A或B的运动信息取决于两个运动候选的预测方向。表1示出了两个推导出的运动候选A和B与两个分区之间的关系。

表1:从推导出的两个Merge候选(A、B)中推导分区的运动信息

为了用更少的比特来编码更大的数字(以用更多的比特来编码更小的数字为代价),这可以使用非负整数参数k来概括。为了用k阶指数哥伦布码对非负整数x进行编码:

(1)使用上述0阶指数哥伦布码对

(2)用二进制对x mod 2

表2:指数哥伦布-k编码示例

2.2.3仿射运动补偿预测的示例

在HEVC中,只有平移运动模型被应用于运动补偿预测(motion compensationprediction,MCP)。然而,相机和物体可以具有许多种运动,例如,放大/缩小、旋转、透视运动和/或其它不规则运动。在VVC中,用4参数仿射模型和6参数仿射模型应用简化的仿射变换运动补偿预测。如图16A和图16B所示,块的仿射运动场分别由两个控制点运动矢量(在使用变量a、b、e和f的4参数仿射模型中)和三个控制点运动矢量(在使用变量a、b、c、d、e和f的6参数仿射模型中)来描述。

块的运动矢量场(Motion Vector Field,MVF)由以下等式分别通过4参数仿射模型和6参数仿射模型来描述:

本文中,(mv

图17示出了块1700的每一子块的仿射MVF的示例,其中为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。为了推导每个M×N子块的运动矢量,可以根据等式(1)和(2)计算每个子块的中心样点的运动矢量,并取整到运动矢量分数精度(例如,在JEM中为1/16)。然后,可以应用运动补偿插值滤波器来生成具有推导出的运动矢量的每个子块的预测。仿射模式引入了1/16像素的插值滤波器。在MCP之后,每个子块的高精度运动矢量被取整并保存为与正常运动矢量相同的精度。

2.2.4用于仿射预测的信令通知的示例

类似于平移运动模型,也有两种模式用于信令通知由于仿射预测的边信息。它们是AFFINE_INTER和AFFINE_MERGE模式。

2.2.5AF_INTER模式的示例

对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。

在这种模式下,对于每个参考图片列表(列表0或列表1),仿射AMVP候选列表以以下顺序用三种类型的仿射运动预测值构建,其中每个候选包括当前块的估计的CPMV。在编码器侧(诸如图20中的mv

1)继承的仿射运动预测值

检查顺序类似于HEVC AMVP列表构建中的空域MVP的顺序。首先,从{A1,A0}中的被仿射编解码并且具有与当前块中相同的参考图片的第一块中推导左边继承的仿射运动预测值。第二,从{B1,B0,B2}中的被仿射编解码并且具有与当前块中相同的参考图片的第一块推导上边继承的仿射运动预测值。图19中描绘了五个块A1、A0、B1、B0、B2。

一旦发现邻近块被用仿射模式编解码,则覆盖邻近块的编解码单元的CPMV被用于推导当前块的CPMV的预测值。例如,如果A1用非仿射模式编解码,而A0用4参数仿射模式编解码,则左边继承的仿射MV预测值将从A0中推导出。在这种情况下,覆盖A0的CU的CPMV,如图21B中的左上角CPMV的

2)构建的仿射运动预测值

如图20所示,构建的仿射运动预测值包括从具有相同参考图片的邻近帧间编解码块中推导的控制点运动矢量(CPMV)。如果当前仿射运动模型是4参数仿射,则CPMV的数量是2,否则如果当前仿射运动模型是6参数仿射,则CPMV的数量是3。左上方的CPMV

-如果当前仿射运动模型是4参数仿射,则只有当

-如果当前仿射运动模型是6参数仿射,则只有当

位置的估计的CPMV,构建的仿射运动预测值才被插入候选列表。

当将构建的仿射运动预测值插入候选列表时,不应用修剪过程。

3)正常AMVP运动预测值

以下条件适用,直到仿射运动预测值的数量达到最大值为止。

1)通过将所有CPMV设置为等于

2)通过将所有CPMV设置为等于

3)通过将所有CPMV设置为等于

4)通过将所有CPMV设置为等于HEVC TMVP(如果可用的话),推导仿射运动预测值。

5)通过将所有CPMV设置为零MV,推导仿射运动预测值。

注意,

在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,并且因此需要为这些控制点编解码2/3个MVD,如图18A和图18B所示。在现有实施方式中,可以按如下方式来推导MV,例如,它从mvd

本文中,

2.2.6AF_MERGE模式的示例

当在AF_MERGE模式下应用CU时,它从有效的邻近重建块中获得用仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图21A所示(依次由A、B、C、D、E表示)。例如,如果邻近的左下块以仿射模式编解码,如图21B中的A0所表示,则提取包含块A的邻近CU/PU的左上角、右上角和左下角的控制点(CP)运动矢量mv

在根据等式(1)和(2)中的仿射运动模型计算出当前CU的CPMVv0和v1之后,可以生成当前CU的MVF。为了识别当前CU是否用AF_MERGE模式编解码,当存在至少一个邻近块以仿射模式编解码时,可以在比特流中信令通知仿射标志。

在一些实施例(例如,JVET-L0142和JVET-L0632)中,仿射Merge候选列表可以由以下步骤构建:

1)插入继承的仿射候选

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

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

2)插入构建的仿射候选

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

控制点的运动信息首先从图24所示的指定的空域邻居和时域邻居中推导。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,检查优先级是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.3当前图片参考(Current Picture Referencing,CPR)的示例

在HEVC屏幕内容编解码扩展(screen content coding,SCC)中采用了帧内块复制(IBC(Intra block copy),或帧内图片块补偿),也称为当前图片参考(CPR)。该工具对于屏幕内容视频的编解码非常有效,因为文本和图形丰富的内容中的重复模式经常出现在同一图片中。将先前重建的具有相同或类似模式的块作为预测值可以有效地减少预测误差,从而提高编解码效率。图23示出了帧内块补偿的示例。

类似于HEVC SCC中的CRP设计,在VVC中,IBC模式的使用在序列和图片级别上都被信令通知。当在序列参数集(SPS)下启用IBC模式时,它可以在图片级别下启用。当在图片级别下启用IBC模式时,当前重建的图片被视为参考图片。因此,在现有的VVC帧间模式的基础上,不需要在块级别上进行语法改变来信令通知IBC模式的使用。

CPR的一些特征包括:

ο它被视为正常帧间模式。因此,Merge和跳过模式也适用于IBC模式。Merge候选列表构建是统一的,包含来自邻近位置的、以IBC模式编解码或以HEVC帧间模式编解码的Merge候选。根据选择的Merge索引,Merge或跳过模式下的当前块可以合并到IBC模式编解码的邻居中,或者以其它方式合并到用不同图片作为参考图片的正常帧间模式编解码的邻居中。

ο用于IBC模式的块矢量预测和编解码方案重用用于HEVC帧间模式(AMVP和MVD编解码)下的运动矢量预测和编解码的方案。

ο对于IBC模式的运动矢量,也称为块矢量,以整数像素精度编解码,但解码后以1/16像素精度存储在存储器中,因为插值和去块阶段需要四分之一像素精度。当用于IBC模式的运动矢量预测时,存储的矢量预测值将右移4。

ο搜索范围:限于当前CTU内。

ο启用仿射模式/三角形模式/GBI/加权预测时,不允许CPR。

2.4VVC中的Merge列表设计的示例

VVC中支持三种不同的Merge列表构建过程:

(1)子块Merge候选列表:它包括ATMVP和仿射Merge候选。仿射模式和ATMVP模式共享一个Merge列表构建过程。这里,ATMVP和仿射Merge候选可以按顺序添加。子块Merge列表尺寸在条带头中信令通知,并且最大值为5。

(2)单向预测TPM Merge列表:对于三角形预测模式,两个分区共享一个Merge列表构建过程,即使两个分区可以选择它们自己的Merge候选索引。当构建该Merge列表时,检查块的空域邻近块和两个时域块。从空域邻近块和时域块中推导出的运动信息在我们的IDF中被称为规则运动候选。这些规则运动候选被进一步用于推导多个TPM候选。请注意,变换在整个块级别下执行,即使两个分区也可以使用不同的运动矢量来生成它们自己的预测块。在一些实施例中,单向预测TPM Merge列表尺寸被固定为5。

(3)规则Merge列表:对于剩余的编解码块,共享一个Merge列表构建过程。这里,可以按顺序插入空域/时域/HMVP、成对组合的双向预测Merge候选和零运动候选。规则Merge列表尺寸在条带头中信令通知,并且最大值为6。

建议将除了用于非子块Merge候选的规则Merge列表之外的所有子块相关的运动候选放入单独的Merge列表中。

子块相关的运动候选被放入单独的Merge列表中,该列表被命名为“子块Merge候选列表”。

在一个示例中,子块Merge候选列表包括仿射Merge候选、和ATMVP候选和/或基于子块的STMVP候选。

在此稿中,正常Merge列表中的ATMVP Merge候选被移动到仿射Merge列表的第一位置。使得新列表(即基于子块的Merge候选列表)中的所有Merge候选都基于子块编解码工具。

与Merge列表设计不同,在VVC中,采用基于历史的运动矢量预测(history-basedmotion vector prediction,HMVP)方法。

在HMVP中,存储先前编解码的运动信息。先前编解码块的运动信息被定义为HMVP候选。多个HMVP候选被存储在名为HMVP表的表中,并且该表在编码/解码过程中实时维护。当开始编码/解码新条带时,HMVP表被清空。每当有帧间编解码块时,相关联的运动信息被添加到表的最后一个条目中作为新的HMVP候选。整个编解码流程如图24所示。

HMVP候选可以用于AMVP和Merge候选列表构建过程。图25描绘了修改的Merge候选列表构建过程(以灰色突出显示)。当Merge候选列表在TMVP候选插入后未满时,存储在HMVP表中的HMVP候选可以用来填充Merge候选列表。考虑到一个块通常与最近的邻近块在运动信息方面具有更高的相关性,表中的HMVP候选以索引的降序插入。表中的最后一个条目首先被添加到列表中,而第一个条目被最后添加。类似地,冗余消除也适用于HMVP候选。一旦可用的Merge候选的总数达到允许信令通知的Merge候选的最大数量,Merge候选列表构建过程就终止。

3现有实施方式的缺点

在现有的VVC实施方式中,以不同的过程利用三个不同的Merge列表,这增加了硬件实施成本。

ο对于所有三个Merge列表,它们都需要访问空域块和时域块,例如,从空域块和时域块加载运动信息。然而,从时域块加载运动信息通常需要更长的时间,这增加了关键路径。

4用于视频编解码的单独的运动候选列表的示例方法

目前公开的技术的实施例克服了现有实施方式的缺点,从而提供了编码效率更高的视频编解码。基于所公开的技术,构建用于视频编解码的单独的运动候选列表可以增强现有视频编解码标准和未来视频编解码标准,在针对各种实施方式描述的以下示例中被阐述。下面提供的所公开技术的示例解释了一般概念,并且不意味着被解释为限制。在示例中,除非明确相反指示,否则这些示例中描述的各种特征可以被组合。应当注意,所提出的技术中的一些可以被应用于现有的候选列表构建过程。

(a)在一个示例中,构建时域候选列表,其中仅考虑来自时域块的运动信息(这样的运动信息被添加作为时域候选)。

(b)在一个示例中,时域候选列表还可以包括需要访问时域块和空域块两者的候选,诸如基于子块的STMVP或基于非子块的STMVP。

(c)在一个示例中,时域Merge候选列表可以包括仿射Merge候选,其使用时域邻近块信息来推导仿射模型。

(i)可选地,使用时域邻近块信息来推导仿射模型的仿射Merge候选在分开的Merge候选列表中。

(d)在一个示例中,时域候选列表还可以包括HMVP候选。

(e)在一个示例中,时域候选列表还可以包括从时域候选和/或HMVP候选推导的虚拟候选。

(f)在一个示例中,时域候选列表可以仅包括这样的候选:其中一个候选仅与应用于整个块的一个运动信息集合相关联,诸如TMVP。

(g)在一个示例中,时域候选列表可以仅包括这样的候选:其中一个候选仅与多个运动信息集合相关联,并且每个运动信息集合被应用于整个块内的子块,诸如ATMVP。

(h)在一个示例中,对于需要访问时域块的所有运动候选,所有时域块来自相同的参考图片。可选地,对于需要访问时域块的所有运动候选,所有时域块来自每个参考图片列表的一个参考图片。

(i)在一个示例中,对于需要访问时域块的所有运动候选,这些时域块所在的图片可以被预定义(例如,参考索引等于0)或者在SPS/PPS/条带头/片组头/片/CTU/CU/PU中被信令通知。

(j)在一个示例中,对于需要访问时域块的所有运动候选,所有时域块都位于与当前块并置或相同的CTU(编解码树单元)行中。

(k)在一个示例中,对于需要访问时域块的所有运动候选,当视频单元被划分成非重叠的M×N区域时,所有时域块都位于相同区域(尺寸等于M×N,例如,M=N=64),其中M和N可以被预定义或者在SPS/PPS/条带头/片组头/片/CTU/CU/PU中被信令通知。

(l)此外,可选地,对该列表中的运动候选禁用广义双向预测(GBi),其中对于运动候选列表中的运动候选,GBi索引被设置为0。GBi也已知为CU级别权重的双向预测(Bi-prediction with CU-level Weights,BCW)

(a)在一个示例中,构建空域候选列表,其中仅考虑来自空域块的运动信息(这样的运动信息被添加作为空域候选)。

(b)在一个示例中,空域候选列表还可以包括HMVP候选。

(c)在一个示例中,空域候选列表还可以包括从空域候选和/或HMVP候选推导的虚拟候选。

在一些实施例中,运动候选列表包括基于时域块和空域块两者的运动候选。在一些实施例中,运动候选用于基于子块的空时运动矢量预测(STMVP)或基于非子块的STMVP。

(a)在一个示例中,相同的参考图片被定义为当前图片/片/条带。

(b)在一个示例中,所有候选都是单向预测候选。可选地,允许包括单向预测候选和双向预测候选两者,然而,对于两个参考图片列表,参考图片仍然是相同的。

(c)这样的候选列表可以包括来自空域块(相邻或非相邻)的运动信息。

(d)这样的候选列表可以包括一些默认运动候选,其具有预定义或基于当前块的位置和/或基于CPR模式(或IBC模式)的允许的搜索范围和/或基于运动补偿块的最大允许单元尺寸(例如,64×64)而计算的运动矢量。

(a)可选地,它在时域Merge候选列表中,但总是保持固定的位置,

诸如第一个位置。

在一些实施例中,构建视频的视频块的运动候选列表,其中运动候选列表包括ATMVP候选但不包括仿射候选。

(a)可选地,可以使用候选列表尺寸的单独信令通知。

(b)可选地,候选列表尺寸可以被一次信令通知,并且被应用于所有种类的候选列表。

(c)可以在SPS/PPS/条带头/片组头/片/CTU/CU/PU中完成从编码器到解码器的信令通知。

(a)此外,可选地,也可以包括一些默认运动矢量候选(例如,零运动矢量候选)。

(b)可选地,还可以包括从现有的HMVP候选推导的一些候选。

(a)在一个示例中,邻近块的列表索引可以用于编解码当前块的列表索引,诸如用于上下文。

(b)信令通知的列表索引的相同值可以对应于不同块的不同Merge列表。

(c)列表索引的信令通知可以取决于编解码的模式信息,诸如TPM、非仿射模式和非TPM模式。

在一些实施例中,基于模式,可以使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表。在一些实施例中,基于模式,在视频块和包括视频块的视频的比特流表示之间的转换期间,可以确定对第一视频块启用第一运动候选列表构建方法。

(a)如果一个候选与另一候选列表中的候选相同或类似,则它可能不被插入到一个候选列表中。

(a)当对模式禁用它时,不信令通知Merge列表索引。

(b)在一个示例中,单独的候选列表可以用于Merge模式,但不用于AMVP模式。

(c)在一个示例中,可以对TPM模式禁用单独的候选列表。也就是说,仅为TPM编解码块构建一个列表。

(d)以上方法可能适用于某些块尺寸。假设W和H分别是块的宽

度和高度,在以下情况下可以应用以上方法:

(i)W*H等于和/或大于阈值(例如,64)。

(ii)W>=T0和/或H>=T1,例如,T0和T1都被设置为16。

上述示例可以并入在下面描述的可以在视频解码器或视频编码器处实施的方法(例如,(多个)方法2600A至2600E)的上下文中。

图26A示出了用于视频处理的示例性方法2600A的第一流程图。在操作2610处,使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表不包括仅从空域块推导的运动候选。在操作2615处,根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在方法2600A的一些实施例中,第一运动候选列表包括仅来自时域块的运动候选。在方法2600A的一些实施例中,第一运动候选列表包括基于时域块和空域块两者的运动候选。在方法2600A的一些实施例中,运动候选用于基于子块的空时运动矢量预测(STMVP)或基于非子块的STMVP。在方法2600A的一些实施例中,第一运动候选列表包括仿射Merge候选,其中该仿射Merge候选使用来自第一视频块的时域上邻近的视频块的信息来推导仿射模型。

在方法2600A的一些实施例中,第一运动候选列表不包括仿射Merge候选,其中该仿射Merge候选使用来自第一视频块的时域上邻近的视频块的信息来推导仿射模型。在方法2600A的一些实施例中,第一运动候选列表包括基于历史的运动矢量预测(HMVP)候选。在方法2600A的一些实施例中,第一运动候选列表包括从时域运动候选或基于历史的运动矢量预测(HMVP)候选推导的虚拟候选。在方法2600A的一些实施例中,第一运动候选列表仅包括运动候选,其中每个运动候选仅与被应用于第一视频块整体的单个运动信息集合相关联。

在方法2600A的一些实施例中,第一运动候选列表仅包括运动候选,其中每个运动候选仅与多个运动信息集合相关联,并且其中多个运动信息集合中的每一个被应用于第一视频块的子块。在方法2600A的一些实施例中,第一运动候选列表包括与相同参考图片的多个时域块相关联的多个运动候选。在方法2600A的一些实施例中,第一运动候选列表包括与多个时域块相关联的多个运动候选,其中该多个时域块与每个参考图片列表的一个参考图片相关联。

在方法2600A的一些实施例中,第一运动候选列表包括与位于图片中的多个时域块相关联的多个运动候选,其中图片的参考索引被预定义或者在序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)中被信令通知。在方法2600A的一些实施例中,第一运动候选列表包括多个运动候选,其中该多个运动候选与位于包括第一视频块的并置的编解码树单元(CTU)行中的多个时域块相关联。

在方法2600A的一些实施例中,第一运动候选列表包括多个运动候选,其中该多个运动候选与当视频单元被划分成非重叠的M×N区域时位于尺寸为M×N的相同区域中的多个时域块相关联,并且其中M和N是被预定义或者在序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)中被信令通知的整数。在方法2600A的一些实施例中,对第一运动候选列表中的运动候选禁用广义双向预测(GBi),其中对于第一运动候选列表中的运动候选,GBi索引被设置为0。在方法2600A的一些实施例中,第一运动候选列表包括可选时域运动矢量预测(ATMVP)候选。在方法2600A的一些实施例中,ATMVP候选位于第一运动候选列表中的固定位置。

图26B示出了用于视频处理的示例性方法2600B的第二流程图。在操作2630处,为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表包括可选时域运动矢量预测(ATMVP)候选但不包括仿射候选。在操作2635处,根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在方法2600A和/或2600B的一些实施例中,该方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。在方法2600A和/或2600B的一些实施例中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。在方法2600A和/或2600B的一些实施例中,第一列表索引对应于第一视频块的邻近视频块,该第一列表索引用于编解码第一视频块的第二列表索引。

在方法2600A和/或2600B的一些实施例中,第一列表索引对应于用于上下文选择的第一视频块的邻近视频块,该第一列表索引用于在上下文选择中用于编解码第一视频块的第二列表索引。在方法2600A和/或2600B的一些实施例中,列表索引的相同值对应于用于视频的不同视频块的不同运动候选列表构建方法。

在方法2600A和/或2600B的一些实施例中,列表索引的信令通知基于编解码的模式信息,其中该编解码的模式信息包括三角形预测模式(TPM)、非仿射模式或非TPM模式。在方法2600A和/或2600B的一些实施例中,该方法还包括对多个运动候选列表中的不同运动候选列表中的运动候选执行修剪操作。在方法2600A和/或2600B的一些实施例中,该方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。

在方法2600A和/或2600B的一些实施例中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。在方法2600A和/或2600B的一些实施例中,该方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在方法2600A和/或2600B的一些实施例中,该模式是Merge模式。在方法2600A和/或2600B的一些实施例中,该模式是高级运动矢量预测(AMVP)模式。在方法2600A和/或2600B的一些实施例中,该模式是三角形预测模式(TPM)模式。在方法2600A和/或2600B的一些实施例中,该模式与块维度相关。在方法2600A和/或2600B的一些实施例中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在方法2600A和/或2600B的一些实施例中,阈值是64。

在方法2600A和/或2600B的一些实施例中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在方法2600A和/或2600B的一些实施例中,第一阈值是16,并且第二阈值是16。在方法2600A和/或2600B的一些实施例中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。在方法2600A和/或2600B的一些实施例中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在方法2600A和/或2600B的一些实施例中,执行该转换包括从比特流表示生成第一视频块的像素值。在方法2600A和/或2600B的一些实施例中,执行该转换包括从第一视频块的像素值生成比特流表示。

图26C示出了用于视频处理的示例性方法2600C的第三流程图。在操作2640处,使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表不包括仅从时域块推导的运动候选。在操作2645处,根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在方法2600C的一些实施例中,第一运动候选列表包括仅来自空域块的运动候选。在方法2600C的一些实施例中,第一运动候选列表包括基于历史的运动矢量预测(HMVP)候选。在方法2600C的一些实施例中,第一运动候选列表包括从空域运动候选或HMVP候选推导的虚拟候选。在方法2600C的一些实施例中,第一运动候选列表包括基于时域块和空域块两者的运动候选。

在方法2600C的一些实施例中,运动候选用于基于子块的空时运动矢量预测(STMVP)或基于非子块的STMVP。在方法2600C的一些实施例中,第一运动候选列表的列表尺寸是第一运动候选列表中的允许的运动候选的预定义最大数量。在方法2600C的一些实施例中,列表尺寸是5或6。在方法2600C的一些实施例中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被分开信令通知。

在方法2600C的一些实施例中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被一次信令通知,并且被应用于包括第一运动候选列表和至少再一个运动候选列表的多种类型的运动候选列表。在方法2600C的一些实施例中,使用序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)来信令通知使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸。

在方法2600C的一些实施例中,至少再一个运动候选列表是时域候选列表或空域候选列表或基于历史的运动矢量预测(HMVP)候选列表。在方法2600C的一些实施例中,该方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。

在方法2600C的一些实施例中,第二运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从空域或时域邻近块推导的运动候选的基于历史的运动矢量预测(HMVP)候选列表。在方法2600C的一些实施例中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。

在方法2600C的一些实施例中,该方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。在方法2600C的一些实施例中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。

在方法2600C的一些实施例中,该方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在方法2600C的一些实施例中,该模式是Merge模式。在方法2600C的一些实施例中,该模式是高级运动矢量预测(AMVP)模式。在方法2600C的一些实施例中,该模式是三角形预测模式(TPM)模式。在方法2600C的一些实施例中,该模式与块维度相关。

在方法2600C的一些实施例中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在方法2600C的一些实施例中,阈值是64。在方法2600C的一些实施例中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在方法2600C的一些实施例中,第一阈值是16,并且第二阈值是16。在方法2600C的一些实施例中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。

在方法2600C的一些实施例中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在方法2600C的一些实施例中,执行该转换包括从比特流表示生成第一视频块的像素值。在方法2600C的一些实施例中,执行该转换包括从第一视频块的像素值生成比特流表示。

图26D示出了用于视频处理的示例性方法2600D的第四流程图。在操作2650处,使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表包括与相同的参考图片相关联的运动候选。在操作2655处,根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在方法2600D的一些实施例中,第一运动候选列表是帧内块复制(IBC)列表。在方法2600D的一些实施例中,相同的参考图片是当前图片、或当前片、或当前条带,其中第一视频块属于当前图片、当前片或当前条带。在方法2600D的一些实施例中,运动候选中的每一个是单向预测候选。在方法2600D的一些实施例中,运动候选包括单向预测候选和双向预测候选,并且其中单向预测候选和双向预测候选针对两个参考图片列表使用相同的参考图片。

在方法2600D的一些实施例中,第一运动候选列表包括具有来自空域块的运动信息的运动候选。在方法2600D的一些实施例中,空域块与第一视频块相邻或不相邻。在方法2600D的一些实施例中,运动候选包括基于历史的运动矢量预测(HMVP)候选。在方法2600D的一些实施例中,第一运动候选列表包括具有预定义或计算的运动矢量的至少一个默认运动候选。在方法2600D的一些实施例中,预定义或计算的运动矢量基于以下中的任何一个或多个:(1)第一视频块的位置,(2)帧内块复制(IBC)模式的允许的搜索范围,以及(3)运动补偿块的最大允许单元尺寸。

在方法2600D的一些实施例中,运动补偿块的最大允许单元尺寸是64×64个像素。在方法2600D的一些实施例中,第一运动候选列表的列表尺寸是第一运动候选列表中的允许的运动候选的预定义最大数量。在方法2600D的一些实施例中,列表尺寸是5或6。在方法2600D的一些实施例中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被分开信令通知。

在方法2600D的一些实施例中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被一次信令通知,并且被应用于包括第一运动候选列表和至少再一个运动候选列表的多种类型的运动候选列表。在方法2600D的一些实施例中,使用序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)来信令通知使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸。

在方法2600D的一些实施例中,至少再一个运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从时域邻近块推导的运动候选的空域候选列表、或者不包括仅从时域或空域邻近块推导的运动候选而包括基于历史的运动矢量预测(HMVP)候选的HMVP候选列表。在方法2600D的一些实施例中,该方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。在方法2600D的一些实施例中,第二运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从空域或时域邻近块推导的运动候选的HMVP候选列表。

在方法2600D的一些实施例中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。在方法2600D的一些实施例中,该方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。

在方法2600D的一些实施例中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。在方法2600D的一些实施例中,该方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在方法2600D的一些实施例中,该模式是Merge模式。在方法2600D的一些实施例中,该模式是高级运动矢量预测(AMVP)模式。在方法2600D的一些实施例中,该模式是三角形预测模式(TPM)模式。

在方法2600D的一些实施例中,该模式与块维度相关。在方法2600D的一些实施例中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在方法2600D的一些实施例中,阈值是64。在方法2600D的一些实施例中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在方法2600D的一些实施例中,第一阈值是16,并且第二阈值是16。

在方法2600D的一些实施例中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。在方法2600D的一些实施例中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在方法2600D的一些实施例中,执行该转换包括从比特流表示生成第一视频块的像素值。在方法2600D的一些实施例中,执行该转换包括从第一视频块的像素值生成比特流表示。

图26E示出了用于视频处理的示例性方法2600E的第五流程图。在操作2660处,使用第一运动候选列表构建方法为视频的第一视频块构建第一运动候选列表,其中该第一运动候选列表包括仅与基于历史的运动矢量预测(HMVP)候选相关的运动候选。在操作2665处,根据所构建的第一运动候选列表,执行第一视频块和包括第一视频块的视频的比特流表示之间的转换。

在方法2600E的一些实施例中,第一运动候选列表包括默认运动矢量候选。在方法2600E的一些实施例中,默认运动矢量候选包括零运动矢量候选。在方法2600E的一些实施例中,第一运动候选列表包括从现有HMVP候选推导的候选。在方法2600E的一些实施例中,第一运动候选列表的列表尺寸是第一运动候选列表中的允许的运动候选的预定义最大数量。在方法2600E的一些实施例中,列表尺寸是5或6。在方法2600E的一些实施例中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被分开信令通知。

在方法2600E的一些实施例中,使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸被一次信令通知,并且被应用于包括第一运动候选列表和至少再一个运动候选列表的多种类型的运动候选列表。在方法2600E的一些实施例中,使用序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码树单元(CTU)、编解码单元(CU)或预测单元(PU)来信令通知使用第一运动候选列表构建方法的第一运动候选列表的第一列表尺寸或者使用第二运动候选列表构建方法的至少再一个运动候选列表的第二列表尺寸。

在方法2600E的一些实施例中,至少再一个运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从时域邻近块推导的运动候选的空域候选列表、或者不包括仅从时域或空域邻近块推导的运动候选而包括基于历史的运动矢量预测(HMVP)候选的HMVP候选列表。在方法2600E的一些实施例中,该方法还包括使用不同于用于第一视频块的第一运动候选列表构建方法的第二运动候选列表构建方法来构建第二运动候选列表。

在方法2600E的一些实施例中,第二运动候选列表是不包括仅从空域邻近块推导的运动候选的时域候选列表、或者不包括仅从空域或时域邻近块推导的运动候选的HMVP候选列表。在方法2600E的一些实施例中,比特流表示包括列表索引,其中该列表索引标识与包括第一运动候选列表构建方法和第二运动候选列表构建方法的多个运动候选列表构建方法相对应的多个运动候选列表的集合内的列表。在方法2600E的一些实施例中,该方法还包括基于模式,使用多个运动候选列表构建方法确定多个运动候选列表的使用,或者使用一个运动候选列表构建方法仅确定一个运动候选列表的使用。在方法2600E的一些实施例中,当使用多个运动候选列表构建方法的多个运动候选列表的使用被禁用时,对一模式禁用第一运动候选列表的列表索引并且不信令通知该列表索引。

在方法2600E的一些实施例中,该方法还包括基于模式来确定用于第一视频块的第一运动候选列表构建方法被启用。在方法2600E的一些实施例中,该模式是Merge模式。

在方法2600E的一些实施例中,该模式是高级运动矢量预测(AMVP)模式。在方法2600E的一些实施例中,该模式是三角形预测模式(TPM)模式。在方法2600E的一些实施例中,基于帧内块复制(IBC)模式,生成第一视频块的运动矢量,其中IBC模式使用包括第一视频块的当前图片、或当前片、或当前条带作为参考图片。在方法2600E的一些实施例中,该模式与块维度相关。在方法2600E的一些实施例中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积大于或等于阈值。在方法2600E的一些实施例中,块维度包括第一视频块的高度和宽度的乘积,其中该乘积小于阈值。在方法2600E的一些实施例中,阈值是16或64。

在方法2600E的一些实施例中,第一视频块的高度大于或等于第一阈值,并且其中第一视频块的宽度大于或等于第二阈值。在方法2600E的一些实施例中,第一阈值是16,并且第二阈值是16。在方法2600E的一些实施例中,第一运动候选列表包括以该模式编解码的视频块的单个运动候选列表。在方法2600E的一些实施例中,第一运动候选列表包括未以该模式编解码的视频块的单个运动候选列表。在方法2600E的一些实施例中,执行该转换包括从比特流表示生成第一视频块的像素值。在方法2600E的一些实施例中,执行该转换包括从第一视频块的像素值生成比特流表示。

5所公开技术的示例实施方式

图27是视频处理装置2700的框图。装置2700可以用于实施本文描述的一个或多个方法。装置2700可以包含在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2700可以包括一个或多个处理器2702、一个或多个存储器2704和视频处理硬件2706。(多个)处理器2702可以被配置为实施本文档中描述的一个或多个方法(包括但不限于(多个)方法2600A至2600E)。存储器(多个存储器)2704可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件2706可以用于在硬件电路中实施本文档中描述的一些技术。

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

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

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

外围总线接口或显示接口的示例可以包括通用串行总线(universal serialbus,USB)或高清多媒体接口(high definition multimedia interface,HDMI)或显示端口等。存储接口的示例包括SATA(serial advanced technology attachmen,串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。

所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但是不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当基于决定或确定来启用视频处理工具或模式时,从视频的块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频的块的转换。

所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在一个示例中,当视频处理工具或模式被禁用时,编码器将不使用该工具或模式将视频的块转换成视频的比特流表示。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道比特流还没有使用基于决定或确定而启用的视频处理工具或模式被修改的情况下处理比特流。

根据前述内容可以理解,本文已经出于说明的目的描述了本公开技术的具体实施例,但是在不脱离本发明范围的情况下可以进行各种修改。因此,本公开技术不受除了所附权利要求之外的限制。

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

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

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

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

旨在将说明书与附图一起视为是示例性的,其中示例性意味着示例。如本文所使用的,使用“或”旨在包括“和/或”,除非上下文另有清楚指示。

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

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

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号