CN117729330A - 使用几何分割的简化的帧间预测 - Google Patents

使用几何分割的简化的帧间预测 Download PDF

Info

Publication number
CN117729330A
CN117729330A CN202311780032.3A CN202311780032A CN117729330A CN 117729330 A CN117729330 A CN 117729330A CN 202311780032 A CN202311780032 A CN 202311780032A CN 117729330 A CN117729330 A CN 117729330A
Authority
CN
China
Prior art keywords
block
equal
geometric
mode
geo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311780032.3A
Other languages
English (en)
Inventor
邓智玭
张莉
刘鸿彬
张凯
许继征
王洋
王悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Beijing Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Beijing Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Beijing Co Ltd, ByteDance Inc filed Critical Douyin Vision Beijing Co Ltd
Publication of CN117729330A publication Critical patent/CN117729330A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

提供了使用几何分割的简化的帧间预测,具体提供了一种视频处理的方法,该视频处理的方法包括:执行视频的当前视频块与所述视频的比特流表示之间的转换,其中,在所述转换期间,对于所述当前视频块允许使用几何分割模式,并且,使用一组角度和/或一组距离计算所述几何分割模式的参数,该一组角度包括小于第一阈值的第一数量的角度,该一组距离包括小于第二阈值的第二数量的距离。

Description

使用几何分割的简化的帧间预测
相关申请的交叉引用
本申请是申请日为2020年11月27日、申请号为202080082769.6、发明名称为“使用几何分割的简化的帧间预测”的发明专利申请的分案申请。
技术领域
本专利文档涉及视频编码和解码技术、装置和系统。
背景技术
当前,正致力于改善当前视频编解码器技术的性能以提供更好的压缩比或提供允许较低的复杂度或并行化实现方式的视频编码和解码方案。行业专家最近已经提出若干新的视频编码工具且当前正在进行测试以确定它们的有效性。
发明内容
描述了与数字视频编码相关的且特别是与运动矢量的管理相关的装置、系统和方法。所描述的方法可以应用于现有视频编码标准(例如,高效视频编码(HEVC)或多功能视频编码)和未来的视频编码标准或视频编解码器。
在一个代表性方面中,所公开的技术可以用于提供一种视频处理的方法。该方法包括:执行视频的当前视频块与视频的比特流表示之间的转换,其中,在转换期间,对当前视频块允许使用几何分割模式,并且其中使用一组角度和/或一组距离计算几何分割模式的参数,一组角度包括小于第一阈值的第一数量的角度,一组距离包括小于第二阈值的第二数量的距离。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:对于视频的当前视频块与视频的比特流表示之间的转换,基于规则确定几何分割模式的应用,该规则取决于当前视频块的一个或多个维度和/或当前视频的一个或多个维度的数学函数;以及基于确定执行转换。
在又一代表性方面中,所公开的技术可以用于提供又一种视频处理的方法。该方法包括:对于视频的当前视频块与视频的比特流表示之间的转换,根据规则确定几何分割模式的应用,该规则取决于当前视频块的编解码特性;以及基于确定执行转换。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:确定排除规则适用于视频的当前视频块与视频的比特流表示之间的转换,其中,该排除规则规定该转换不允许将几何分割模式和编解码工具一起用于当前视频块;以及基于确定执行转换。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:对于视频与视频的比特流表示之间的转换,根据规则为视频的不同的颜色分量确定不同的几何分割模式索引;以及基于确定执行转换。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:对于视频的当前图片的当前视频块与视频的比特流表示之间的转换,根据规则确定几何分割模式的应用;以及基于确定执行转换,其中,几何分割模式包括将当前视频块划分为两个或更多个预测子区域,并且其中,该规则取决于与两个或更多个预测子区域相关联的一个或多个参考图片的分辨率。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:执行视频的当前视频块与视频的比特流表示之间的转换,其中,比特流表示符合格式规则,其中,格式规则规定在对当前视频块禁用几何分割模式的情况下,比特流表示省略关于几何分割模式的语法元素。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:对于包括视频的一个或多个视频块的视频单元与视频的比特流表示之间的转换,根据规则确定允许多组几何分割模式对视频单元的一个或多个视频块进行编解码;以及基于确定执行转换。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:执行包含视频块的视频与视频的比特流表示之间的转换,其中,在转换期间,几何分割模式的第一计数可用于计算分割角度索引和/或分割距离索引,几何分割模式的第二计数可用于比特流表示中的编解码,几何分割模式的第三计数可用于比特流表示中的信令通知,其中,第一计数和/或第二计数和/或第三计数至少基于视频块的对应的维度。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:根据规则执行视频的当前视频块与视频的比特流表示之间的转换,其中,该规则规定第一几何分割模式索引值在当前视频块的比特流表示中被信令通知,并且第二几何分割模式索引值被用于计算当前视频块的分割角度索引和/或分割距离索引,并且其中,第一几何分割模式索引值不同于第二几何分割模式索引值。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:执行视频的当前视频块与视频的比特流表示之间的转换,其中,当前视频块的几何分割模式索引被编码在比特流中,使得根据规则执行几何分割模式索引的二值化。
在另一代表性方面中,所公开的技术可以用于提供另一种视频处理的方法。该方法包括:对于视频的视频单元的色度块与视频的比特流表示之间的转换,根据规则确定色度块的混合权重和/或运动存储权重;以及基于确定执行转换,其中,几何分割模式被应用于色度块,并且其中,该规则取决于色度样点位置类型,色度样点位置类型指示色度块中的某一色度样点关于对应的亮度样点的相对位置。
另外,在一个代表性方面中,公开了一种视频系统中的设备,该设备包括处理器和其上具有指令的非瞬态存储器。指令由处理器执行时,使处理器实现所公开的方法中的任意一个或多个。
此外,公开了存储在非瞬态计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行所公开的方法中的任意一个或多个的程序代码。
在附图、说明书和权利要求中更详细地描述了所公开的技术的以上和其他方面和特征。
附图说明
图1示出了空域merge候选的示例位置。
图2示出了考虑进行空域merge候选的冗余校验的候选对的示例。
图3示出了用于时域merge候选的运动矢量缩放的示例。
图4示出了用于时域merge候选的示例候选位置。
图5示出了基于三角分割的帧间预测模式的示例。
图6示出了用于三角分割模式的单向预测运动矢量选择的示例。
图7示出了在混合过程中分别用于亮度块和色度块的权重的示例。
图8示出了与三角预测模式有关的现有的形状和提议的形状的示例。
图9示出了几何merge模式(GEO)划分边界描述的示例。
图10A示出了在GEO中支持的边缘的示例图示。
图10B示出了给定像素位置与两个边缘之间的几何关系的示例。
图11示出了为GEO提出的角度及其对应的宽高比的示例。
图12示出了作为ChromaLocType变量的函数的左上色度样点的示例位置。
图13A是本文档中所描述的用于实现视觉媒体解码或视觉媒体编码技术的硬件平台的框图的示例。
图13B是本文档中所描述的用于实现视觉媒体解码或视觉媒体编码技术的硬件平台的框图的另一示例。
图14示出了用于视频处理的示例方法的流程图。
图15是图示根据本公开的一些实施例的视频编码系统的框图。
图16是图示根据本公开的一些实施例的编码器的框图。
图17是图示根据本公开的一些实施例的解码器的框图。
图18A至图18H是基于所公开的技术的一些实现方式的用于视频处理的示例方法的框图。
图19示出了指示angleIdx值和distanceIdx值的规范的表。
图20A示出了旧版的表36,其指示基于merge_geo_partition_idx值的angleIdx值和distanceIdx值的规范,merge_geo_partition_idx值现已从相关工作草案中删除。
图20B至图20G示出了表36的示例,其指示基于merge_geo_partition_idx值的angleIdx值和distanceIdx值的规范。
图21示出了对应于示例实施例No.3并且指示基于wedge_partition_idx’值的angleIdx值和distanceIdx值的规范的表8-10。
图22示出了对应于示例实施例No.4并且指示基于wedge_partition_idx’值的angleIdx值和distanceIdx值的规范的表8-10。
图23A示出了旧版的表8-10,其现已从相关工作草案中删除。
图23B示出了表8-10的示例,其指示基于wedge_partition_idx值的angleIdx值和distanceIdx值的规范。
图24A示出了指示基于geo_partition_idx值的geo_partition_idx’值的映射表的表。
图24B示出了旧版的表36,其指示基于geo_partition_idx值的angleIdx值和distanceIdx值的规范,geo_partition_idx值现已从相关工作草案中删除。
图24C至图24E示出了表36,其指示基于geo_partition_idx值的angleIdx值和distanceIdx值的规范。
具体实施方式
HEVC/H.265中的视频编码
视频编码标准主要是通过开发著名的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)的参考软件。目前,JVET会议每季度举办一次,并且与HEVC相比,新的编码标准的目标是降低50%的比特率。新的视频编码标准在2018年4月的JVET会议上正式命名为多功能视频编码(Versatile VideoCoding,VVC),并且第一版VVC测试模型(VTM)在该时间公布。随着不断努力对VVC标准化做出贡献,在每次JVET会议中,新的编码技术都将被用于VVC标准中。然后,在每次会议后都会更新VVC工作草案和测试模型VTM。VVC项目现在的目标是在2020年7月的会议上技术完成(FDIS)。
2.1.扩展merge预测
在VTM中,merge候选列表是通过按顺序包含以下五个类型的候选构建的:
1)来自空域相邻CU的空域MVP
2)来自并置CU的时域MVP
3)来自FIFO表的基于历史的MVP
4)成对平均MVP
5)零MV。
merge列表的尺寸在条带标头中被信令通知,并且merge列表的最大允许尺寸在VTM中为6。对于merge模式中的每个CU代码,使用截断一元二值化(TU)对最佳merge候选的索引进行编码。merge索引的第一二进制数使用上下文进行编码,并且旁路编码被用于其他二进制数。
在本小节中提供了每个类别的merge候选的生成过程。
2.1.1.空域候选推导
VVC中的空域merge候选的推导与其在HEVC中相同。在位于图1所示的位置的候选之中最多选择四个merge候选。推导顺序为A0、B0、B1、A1和B2。仅当位置A0、B0、B1、A1的任意CU不可用(例如,因为其属于另一条带或片)或是帧内编码的时,才考虑位置B2。在添加位置A1上的候选之后,其余候选的添加需要进行冗余校验,以确保将具有相同运动信息的候选从列表中排除,从而提高编解码效率。为了降低计算的复杂度,在所提到的冗余校验中并不考虑所有可能的候选对。相反,仅与图2中的箭头关联的对才会被考虑,并且只有当用于冗余校验的对应候选没有相同的运动信息时,才将候选添加到列表中。
2.1.2.时域候选推导
在该步骤中,只有一个候选添加到列表中。特别地,在推导该时域merge候选的过程中,基于属于并置参考图片的并置CU而推导缩放运动矢量。用于推导并置CU的参考图片列表在条带标头中被显式地信令通知。图3中的虚线示出了获取时域merge候选的缩放运动矢量,其使用POC距离tb和td从并置CU的运动矢量进行缩放,其中,tb被定义为当前图片的参考图片与当前图片之间的POC差值,td被定义为并置图片的参考图片与并置图片之间的POC差值。时域merge候选的参考图片索引被设置为等于零。
在候选C0和候选C1之间选择时域候选的位置,如图4所示。如果在位置C0处的CU不可用、是帧内编码的或位于CTU的当前行之外,则使用位置C1。否则,在推导时域merge候选的过程中使用位置C0
2.1.3.基于历史的merge候选推导
在空域MVP和TMVP之后,基于历史的MVP(HMVP)merge候选被添加到merge列表。在该方法中,先前编码的块的运动信息存储在一个表中并被用作当前CU的MVP。在编码/解码过程中,维护具有多个HMVP候选的表。当开始对新的CTU行进行编码/解码时,该表将被重置(清空)。只要存在非子块帧间编码的CU时,将相关联的运动信息作为新的HMVP候选添加到该表的最后一项中。
在VTM中,HMVP表的尺寸S被设置为6,这指示最多6个基于历史的MVP(HMVP)候选可以被添加到表中。当将新的运动候选插入到表中时,使用约束的先入先出(FIFO)规则,其中,首先应用冗余校验以寻找表中是否存在相同的HMVP。如果找到,从该表中移除相同的HMVP,并且后面的所有HMVP候选被向前移动。
HMVP候选可以被用于merge候选列表构建过程中。表中的最新的几个HMVP候选被依次检查并在TMVP候选之后被插入到候选列表中。冗余校验在HMVP候选上被应用于空域或时域merge候选。
为了减少冗余校验操作的数量,引入了以下简化:
1.被用于merge列表生成的HMPV候选的数量被设置为(N<=4)?M:(8–N),其中,N指示merge列表中的现有候选的数量,并且M指示表中的可用HMVP候选的数量。
2.一旦可用merge候选的总数达到最大允许merge候选减1,根据HMVP的merge候选列表构建过程被终止。
2.1.4.成对平均merge候选推导
通过对现有merge候选列表中的候选的预定义对进行平均来生成成对平均候选,并且预定义对被定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中,数字表示merge候选列表的merge索引。为每个参考列表单独计算平均运动矢量。如果两个运动矢量在一个列表中都可用,则即使当这两个运动矢量指向不同的参考图片时,这两个运动矢量也会被平均;如果仅一个运动矢量可用,则直接使用该一个运动矢量;如果没有运动矢量可用,则保持该列表不可用。
当添加成对平均merge候选之后该merge列表仍未满,则零MVP被插入在末尾,直到达到最大merge候选数。
2.2.用于帧间预测的三角分割
在VTM中,对帧间预测支持三角分割模式(TPM)。三角分割模式仅应用于64个或更多样点且以跳过(skip)或merge模式而不是常规merge模式或MMVD模式或CIIP模式或子块merge模式编码的CU。CU级别标志用于指示是否应用三角分割模式。
当使用该模式时,使用对角线划分或反对角线划分均匀地划分一个CU为两个三角形分割(图5)。CU中的每个三角分割是使用其自身的运动进行帧间预测的;对于每个分割仅允许进行单向预测,即,每个分割具有一个运动矢量和一个参考索引。应用单向预测运动约束以确保与常规的双向预测相同,对每个CU仅需要两个运动补偿预测。直接从2.1中为扩展merge预测构建的merge候选列表推导每个分割的单向预测运动,并且根据2.2.1中的过程,从列表中的给定merge候选中选择单向预测运动。
如果三角分割模式被用于当前CU,则进一步信令通知表示三角分割的方向(对角线或反对角线)的标志和两个merge索引(每个分割一个merge索引)。在预测每个三角分割之后,使用具有自适应权重的混合处理来调整沿着对角线或反对角线边缘的样点值。这是整个CU的预测信号,并且与在其他预测模式中一样,变换和量化过程将被应用于整个CU。最终,使用三角分割模式预测的CU的运动场被存储在4×4单元中,如在2.2.3中一样。
2.2.1.单向预测候选列表构建
给定一个merge候选索引,从使用2.1中的过程为扩展merge预测构建的merge候选列表中推导单向预测运动矢量,如图6所举例的。对于列表中的候选,它的LX运动矢量(其中X等于merge候选索引值的奇偶性(parity))被用作三角分割模式的单向预测运动矢量。这些运动矢量在图6中被标记有“x”。在对应的LX运动矢量不存在的情况下,扩展merge预测候选列表中的相同候选的L(1-X)运动矢量被用作三角分割模式的单向预测运动矢量。
2.2.2.沿着三角分割边缘的混合
在使用其自身的运动预测每个三角分割之后,混合被应用于两个预测信号以推导对角线或反对角线边缘周围的样点。以下权重被用于混合过程中:
{7/8,6/8,5/8,4/8,3/8,2/8,1/8}用于亮度且{6/8,4/8,2/8}用于色度,如图7中所示。
2.2.3.运动场存储
以三角分割模式编码的CU的运动矢量存储在4×4单元中。取决于每个4×4单元的位置,存储单向预测或双向预测运动矢量。将Mv1和Mv2分别表示为分割1的单向预测运动矢量和分割2的单向预测运动矢量。如果4×4单元位于图7的示例中所示的非加权区域中,则为该4×4单元存储Mv1或Mv2。否则,如果4×4单元位于加权区域中,则存储双向预测运动矢量。根据以下规则,从Mv1和Mv2推导双向预测运动矢量:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0而另一个来自L1),则Mv1和Mv2被简单地组合以形成双向预测运动矢量。
2)否则,如果Mv1和Mv2来自相同的列表,并且没有丧失一般性的情况下,假设它们都来自L0。在此情况下,
2.a)如果Mv2(或Mv1)的参考图片出现在L1中,则使用L1中的该参考图片将该Mv2(或Mv1)转换为L1运动矢量。然后将两个运动矢量组合以形成双向预测运动矢量;
否则,不存储双向预测运动,仅存储单向预测运动Mv1。
2.3.用于帧间预测的几何分割(GEO)
以下描述摘自JVET-P0884、JVET-P0107、JVET-P0304和JVET-P0264。
几何merge模式(GEO)在第15届哥德堡JVET会议中被提出作为现有三角预测模式(TPM)的扩展。在第16届日内瓦JVET会议中,JVET-P0884中的简单更设计的GEO模式已经被选择作为CE锚点以进行进一步研究。如今,GEO模式正作为VVC中的现有TPM的替代而被研究。
图8图示了VTM-6.0中的TPM和为非矩形帧间块提出的附加形状。
如图9所示,几何merge模式的划分边界由角度和距离偏移ρi描述。角度/>表示0与360度之间的量化角度,并且距离偏移ρi表示最大距离ρmax的量化偏移。此外,与二叉树划分和TPM划分重叠的划分方向被排除。
在JVET-P0884中,GEO被应用于不小于8×8的块尺寸,并且对于每个块尺寸,存在82个不同的分割方式,其由相对于CU的中心的24个角度和4个边缘区分。图10A示出了4个边缘沿着CU内的法向量的方向均匀地分布,从穿过CU中心的Edge0开始。GEO中的每个分割模式(即,一对角度索引和边缘索引)都被分配有像素自适应权重表以混合两个分割的部分上的样点,其中,采样的权重值的范围为从0至8且由像素的中心位置到边缘的L2距离确定。基本上,当分配权重值时遵循单元增益约束,即,当一个小的权重值被分配给一个GEO分割时,一个大的互补权重值被分配到另一分割,该两个权重值加起来为8。
每个像素的权重值的计算分为两部分:(a)计算从像素位置到给定边缘的位移,并且(c)通过预定义的查找表将计算的位移映射为权重值。计算从像素位置(x,y)到给定边缘Edgei的位移的方式实际上与计算从(x,y)到Edge0的位移的方式相同,并且用该位移减去Edge0与Edgei之间的距离ρ。图10B图示了(x,y)与边缘之间的几何关系。具体地,从(x,y)到Edgei的位移可以用以下公式表示:
ρ的值是法向量的最大长度(由ρmax表示)和边缘索引i的函数,即:
其中,N是GEO所支持的边缘的数量,并且“1”是为防止最后的边缘EdgeN-1,对于一些角度索引来说,落于过于接近CU角部。等式(8)代入等式(6)中,我们可以计算从每个像素(x,y)到给定Edgei的位移。简言之,我们将表示为wIdx(x,y)。每个CU仅需要计算ρ一次,并且每个样点需要计算wIdx(x,y)一次,其中涉及乘法。
2.3.1.JVET-P0884
JVET-P0884联合了结合了JVET-P0107基于斜率的版本2的被提议的简化的提案,JVET-P0304和在第16届日内瓦JVET会议的CE4-1.14之上的JVET-P0264测试1。
a)在联合投稿中,几何角度定义为斜率(纠缠度(tangle power)2),其与JVET-P0107和JVET-P0264中相同。该提案中所用的斜率是(1,1/2,1/4,4,2)。在此情况下,如果实时地计算混合掩码,则乘法被移位运算替代。
b)rho计算被偏移X和偏移Y替代,如JVET-P304中所描述。
在此情况下,在不实时地计算混合掩码的情况下,仅需要存储24个混合掩码。
2.3.2.JVET-P0107基于斜率的版本2
以基于斜率的GEO版本2为基础,Dis[.]查找表如表1所示。
表1基于斜率的GEO的2比特Dis[.]查找表
idx 0 1 2 4 6 7 8 9 10 12 14 15
Dis[idx] 4 4 4 4 2 1 0 -1 -2 -4 -4 -4
idx 16 17 18 20 22 23 24 25 26 28 30 31
Dis[idx] -4 -4 -4 -4 -2 -1 0 1 2 4 4 4
在基于斜率的GEO版本2的情况下,几何混合掩码推导的计算复杂度被视为乘法(最多2比特移位)和加法。与TPM相比不存在不同的分割。另外,distFromLine的取整运算被去除,以便更简化混合掩码的存储。该错误修复确保样点权重以移位方式在每一行或每一列中重复。
例如:
TPM:
GEO
角度idx为0:((x<<1)+1)*(4<<1)-((y<<1)+1))*(1<<1)-rho
角度idx为4:((x<<1)+1)*(4<<1)-((y<<1)+1))*(4<<1)-rho
角度idx为6:((x<<1)+1)*(2<<1)-((y<<1)+1))*(4<<1)-rho
2.3.3.JVET-P0264测试1
在JVET-P0264中,GEO中的角度被替换为以2的幂作为正切的角度。由于提出的角度的正切是2的幂数,大部分乘法可以被比特移位替代。另外,这些角度的权重值可以通过逐行或逐列重复相移实现。使用提出的角度,每个块尺寸和每个分割模式需要一行或一列来存储。图11示出了为GEO提出的角度以及它们的对应的宽度:高度比值。
2.3.4.JVET-P0304
在JVET-P0304中,提出从两组预定义的掩码中推导出全部块和分割模式的权重和用于运动场存储的掩码,一组预定义的掩码用于混合权重推导且另一组预定义的掩码用于运动场存储的掩码。每组中总共存在16个掩码。每个角度的每个掩码使用GEO中的相同的方程式计算的,其中,块宽度和块高度设置为256且位移设置为0。对于尺寸为W×H且具有角度和距离ρ的块,亮度样点的混合权重直接从预定义的掩码中裁切,掩码的偏移计算如下:
-变量offsetX和offsetY计算如下:
-
其中,g_sampleWeightL[]是混合权重的预定义的掩码。
2.4.JVET-P0884中的GEO的规范
以下规范摘自基于JVET-O2001-vE的JVET-P0884中提供的工作草案。在以下规范中,GEO也称为merge楔形模式。
·Merge数据语法
/>
变量wedge_merge_mode[x0][y0]规定当解码B条带时基于非矩形的运动补偿是否被用于生成当前编码单元的预测样点,且变量wedge_merge_mode[x0][y0]被推导如下:
–如果以下所有条件都为真,则wedge_merge_mode[x0][y0]被设置为等于1:
–sps_wedge_enabled_flag等于1。
–slice_type等于B。
–general_merge_flag[x0][y0]等于1。
–MaxNumWedgeMergeCand大于或等于2。
–cbWidth大于8且cbHeight大于8。
–regular_merge_flag[x0][y0]等于0。
–merge_subblock_flag[x0][y0]等于0。
–ciip_flag[x0][y0]等于0。
–否则,wedge_merge_mode[x0][y0]被设置为等于0。
wedge_partition_idx[x0][y0]表示merge几何模式的几何划分类型。阵列索引x0、y0表示所考虑的编码块的左上亮度样点相对于图片的左上亮度样点的相对位置(x0,y0)。
merge_merge_wedge_idx0[x0][y0]表示基于非矩形形状的运动补偿候选列表的第一merging候选索引,其中,x0、y0表示所考虑的编码块的左上亮度样点相对于图片的左上亮度样点的相对位置(x0,y0)。
当wedge_partition_idx0[x0][y0]不存在时,其被推断为等于0。
merge_wedge_idx1[x0][y0]表示基于楔形形状的运动补偿候选列表的第二merging候选索引,其中,x0、y0表示所考虑的编码块的左上亮度样点相对于图片的左上亮度样点的相对位置(x0,y0)。
当merge_wedge_idx1[x0][y0]不存在时,其被推断为等于0。
楔形帧间块的解码过程
总体当解码wedge_merge_mode[xCb][yCb]等于1的编码单元时调用该过程。该过程的输入为:
–亮度位置(xCb,yCb),指示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,指示亮度样点中的当前编码块的宽度,
–变量cbHeight,指示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列predSamplesL,–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且使predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL、predSamplesCb和predSamplesCr通过以下有序的步骤推导:
1.对于N为A和B中的每一个,以下适用:
–包含亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr的参考图片通过调用第8.5.6.2节中规定的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3节中规定的分数样点内插过程推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag以及设置为等于0的变量cIdx作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3节中规定的分数样点内插过程推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX、设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag以及设置为等于1的变量cIdx作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3节中规定的分数样点内插过程推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX、设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、以及设置为等于2的变量cIdx作为输入。
2.楔形merge模式的分割角度和距离angleIdx和distanceIdex根据wedge_partition_idx[xCb][yCb]的值设置,如表8-10中所规定的。
3.当前亮度编码块内的预测样点predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
4.当前色度分量Cb编码块内的预测样点predSamplesCb[xC][yC],其中xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
5.当前色度分量Cr编码块内的预测样点predSamplesCr[xC][yC],其中xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、以及等于2的变量angleIdx、distanceIdx和cIdx作为输入。
6.调用第8.5.7.3节中规定的用于merge楔形模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志
predListFlagA和predListFlagB作为输入。angleIdx和distanceIdx值的规范如图19中的表8-10所示。
楔形merge模式的加权样点预测过程
该过程的输入为:
–两个变量nCbW和nCbH,分别表示当前编码块的宽度和高度,
–两个尺寸为(nCbW)×(nCbH)的阵列predSamplesLA和predSamplesLB,
–变量angleIdx,表示楔形分割的角度索引,
–变量distanceIdx,表示楔形分割的距离idx,
–变量cIdx,表示颜色分量索引。
该过程的输出为预测样点值的尺寸为(nCbW)×(nCbH)的阵列pbSamples。变量bitDepth的推导过程如下:
–如果cIdx等于0,则bitDepth被设置为等于BitDepthY
–如果cIdx等于0,则nW和nH分别被设置为等于nCbW和nCbH,否则(cIdx不等于0)nW和nH分别被设置为等于nCbW×SubWidthC和nCbH×SubHeightC。
–如果cIdx等于0,则subW和subH都设置为1,否则(cIdx不等于0)subW和subH分别被设置为等于SubWidthC和SubHeightC。
–否则,bitDepth被设置为等于BitDepthC
变量shift1和offset1的推导过程如下:
–变量shift1被设置为等于Max(5,17-bitDepth)。
–变量offset1被设置为等于1<<(shift1-1)。
以下变量的值被设置为:
–hwRatio被设置为nH/nW
–displacementX被设置为angleIdx
–displacementY被设置为(displacementX+6)%24
–如果angleIdx>=10&&angleIdx<=20,则PART1和PART2分别被设置为等于A和B,否则PART1和PART2分别被设置为等于B和A。
–利用在表8-12中规定的表示为Dis的查找表,rho被设置为以下值:
rho=(Dis[displacementX]<<8)+(Dis[displacementY]<<8)
如果以下条件之一为真,变量shiftHor被设置为等于0:
angleIdx%12等于6
angleIdx%12不等于0且hwRatio≥1
否则,shiftHor被设置为等于1。
如果shiftHor等于0,则offsetX和offsetY的推导过程如下:
offsetX=(256-nW)>>1
offsetY=(256-nH)>>1+angleIdx<12?(distanceIdx*nH)>>3:-((distanceIdx*nH)>>3)
否则,如果shiftHor等于1,则offsetX和offsetY的推导过程如下:
offsetX=(256-nW)>>1+angleIdx<12?(distanceIdx*nW)>>3:-((distanceIdx*nW)>>3)
offsetY=(256-nH)>>1
预测样点值pbSamples[x][y],其中x=0..nCbW-1且y=0..nCbH–1,并且根据以下有序步骤设置:
-变量weightIdx和weightIdxAbs使用查找表8-12计算如下:
weightIdx=(((x*subW+offsetX)<<1)+1)*Dis[displacementX]+(((y*subH+offsetY)<<1)+1))*Dis[displacementY]-rho。weightIdxAbs=Clip3(0,26,abs(weightIdx))。
-sampleWeight的值根据表8-13推导如下:
sampleWeight=weightIdx<=0?WedgeFilter[weightIdxAbs]:8
-WedgeFilter[weightIdxAbs]
注释–样点的值sampleWeightL[x][y]也可以从sampleWeightL[x-shiftX][y-shiftY]推导出来。如果angleIdx大于4且小于12,或angleIdx大于20且小于24,则shiftX为划分角度的正切且shiftY为1,否则shiftX为1且shiftY为划分角度的余切。如果正切(resp.cotangent)值为无穷,则shiftX为1(resp.0)或shift Y为0(reps.1)。
-预测样点值pbSamples[x][y]的推导过程如下:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesLPART1[x][y]*(8–sampleWeight)+
predSamplesLPART2[x][y]*sampleWeight+offset1)>>shift1)表8-12-用于推导楔形分割距离的查找表Dis。
idx 0 1 2 3 4 5 6 7 8 9 10 11
Dis[idx] 8 8 8 8 4 2 0 -2 -4 -8 -8 -8
idx 12 13 14 15 16 17 18 19 20 21 22 23
Dis[idx] -8 -8 -8 -8 -4 -2 0 2 4 8 8 8
表8-13–用于推导楔形分割滤波器权重的滤波器权重查找表WedgeFilter。
用于楔形merge模式的运动矢量存储过程
当解码具有MergeWedgeFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–1/16分数样点精度的亮度运动矢量mvA和mvB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
变量numSbX和numSbY表示,在水平和垂直方向上,当前编码块中的4×4块的数量被设置为等于numSbX=cbWidth>>2和numSbY=cbHeight>>2。
以下变量的值被设置为:
–displacementX被设置为angleIdx,displacementY被设置为
(displacementX+6)%24
–hwRatio被设置为等于nCbH/nCbW
如果以下条件之一为真,则变量shiftHor被设置为等于0:
angleIdx%12等于8
angleIdx%12不等于0且hwRatio≥1
否则,shiftHor被设置为等于1。
partIdx被设置为angleIdx>=10&&angleIdx<=20?1:0。
如果shiftHor等于0,则offsetX和offsetY的推导过程如下:
–offsetX=(64–numSbX)>>1
–offsetY=(64-numSbY)>>1+angleIdx<12?(distanceIdx*nCbH)>>5:-((distanceIdx*nCbH)>>5)
否则,如果shiftHor等于1,则offsetX和offsetY的推导过程如下:
–offsetX=(64–numSbX)>>1+angleIdx<12?(distanceIdx*nCbW)>>5:-((distanceIdx*nCbW)>>5)
–offsetY=(64–numSbY)>>1
根据以下等式且根据在表8-12中指定的Dis查找表推导变量rho的值:
–rho=(Dis[displacementX]<<8)+(Dis[displacementY]<<8)。
使用在表8-11和表8-12中指定的表示为Dis的查找表,motionOffset被设置为等于以下值:
–motionOffset=3*Dis[displacementX]+3*Dis[displacementY]。
对于在子块索引(xSbIdx,ySbIdx)处的每个4×4子块,其中,xSbIdx=0..numSbX-1,且ySbIdx=0..numSbY-1,以下适用:
使用查找表8-12,变量motionIdx被计算如下:
–motionIdx=(((xSbIdx+offsetX)<<3)+1)*Dis[displacementX]+(((xSbIdx+offsetY<<3)+1))*Dis[displacementY]–rho+motionOffset
变量sType推导如下:
–sType=abs(motionIdx)<32?2:motionIdx<=0?partIdx:1-partIdx
–取决于sType的值,进行以下分配:
–如果sType等于0,则以下适用:
predFlagL0=(predListFlagA==0)?1:0(8-853)
predFlagL1=(predListFlagA==0)?0:1(8-854)
refIdxL0=(predListFlagA==0)?refIdxA:-1 (8-855)
refIdxL1=(predListFlagA==0)?-1:refIdxA (8-856)
mvL0[0]=(predListFlagA==0)?mvA[0]:0 (8-857)
mvL0[1]=(predListFlagA==0)?mvA[1]:0 (8-858)
mvL1[0]=(predListFlagA==0)?0:mvA[0] (8-859)
mvL1[1]=(predListFlagA==0)?0:mvA[1] (8-860)
–否则,如果sType等于1或(sType等于2且predListFlagA+predListFlagB不等于1),则以下适用:
predFlagL0=(predListFlagB==0)?1:0(8-861)
predFlagL1=(predListFlagB==0)?0:1(8-862)
refIdxL0=(predListFlagB==0)?refIdxB:-1 (8-863)
refIdxL1=(predListFlagB==0)?-1:refIdxB (8-864)
mvL0[0]=(predListFlagB==0)?mvB[0]:0 (8-865)
mvL0[1]=(predListFlagB==0)?mvB[1]:0 (8-866)
mvL1[0]=(predListFlagB==0)?0:mvB[0] (8-867)
mvL1[1]=(predListFlagB==0)?0:mvB[1] (8-868)
–否则(sType等于2且predListFlagA+predListFlagB等于1),以下适用:
predFlagL0=1 (8-869)
predFlagL1=1 (8-870)
refIdxL0=(predListFlagA==0)?refIdxA:refIdxB (8-871)
refIdxL1=(predListFlagA==0)?refIdxB:refIdxA (8-872)
mvL0[0]=(predListFlagA==0)?mvA[0]:mvB[0] (8-873)
mvL0[1]=(predListFlagA==0)?mvA[1]:mvB[1] (8-874)
mvL1[0]=(predListFlagA==0)?mvB[0]:mvA[0] (8-875)
mvL1[1]=(predListFlagA==0)?mvB[1]:mvA[1] (8-876)
–对于x=0..3且y=0..3进行以下分配:
MvL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL0 (8-877)
MvL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL1 (8-878)
RefIdxL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL0 (8-879)
RedIdxL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL1 (8-880)
PredFlagL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL0 (8-881)
PredFlagL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL1 (8-882)
帧间预测模式编码的编码块的残差信号的解码过程
该过程的输入为:
–样点位置(xTb0,yTb0),表示当前变换块的左上样点相对于当前图片的左上样点的相对位置,
–变量nTbW,表示当前变换块的宽度,
–变量nTbH,表示当前变换块的高度,
–变量cIdx,表示当前块的颜色分量。
该过程的输出为尺寸为(nTbW)×(nTbH)的阵列resSamples。
最大变换块宽度maxTbWidth和高度maxTbHeight推导如下:
maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC(8-883)
maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC(8-884)
亮度样点位置推导如下:
(xTbY,yTbY)=(cIdx==0)?(xTb0,yTb0):(xTb0*SubWidthC,yTb0*SubHeightC)(8-885)
取决于maxTbSize,以下适用:
–如果nTbW大于maxTbWidth或nTbH大于maxTbHeight,则应用以下有序步骤。
1.变量newTbW和newTbH推导如下:
newTbW=(nTbW>maxTbWidth)?(nTbW/2):nTbW (8-886)
newTbH=(nTbH>maxTbHeight)?(nTbH/2):nTbH (8-887)
2.调用本节中所规定的以帧间预测模式编码的编码单元的残差信号的解码处理过程,其中,位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的变换块高度nTbH以及变量cIdx作为输入,并且输出是环路滤波前的修改重构图片。
3.当nTbW大于maxTbWidth时,调用本节中所规定的以帧间预测模式编码的编码单元的残差信号的解码处理过程,其中,设置为等于(xTb0+newTbW,yTb0)的位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的变换块高度nTbH以及变量cIdx作为输入,并且输出是修改重构图片。
4.当nTbH大于maxTbHeight时,调用本节中所规定的以帧间预测模式编码的编码单元的残差信号的解码处理过程,其中,设置为等于(xTb0,yTb0+newTbH)的位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的变换块高度nTbH以及变量cIdx作为输入,并且输出是环路滤波前的修改重构图片。
5.当nTbW大于maxTbWidth且nTbH大于maxTbHeight时,调用本节中所规定的以帧间预测模式编码的编码单元的残差信号的解码处理过程,其中,设置为等于(xTb0+newTbW,yTb0+newTbH)的位置(xTb0,yTb0)、设置为等于newTbW的变换块宽度nTbW和设置为等于newTbH的变换块高度nTbH以及变量cIdx作为输入,并且输出是环路滤波前的修改重构图片。
–否则,如果cu_sbt_flag等于1,则以下适用:
–变量sbtMinNumFourths、wPartIdx和hPartIdx推导如下:
sbtMinNumFourths=cu_sbt_quad_flag?1:2 (8-888)
wPartIdx=cu_sbt_horizontal_flag?4:sbtMinNumFourths (8-889)
hPartIdx=!cu_sbt_horizontal_flag?4:sbtMinNumFourths (8-890)
–变量xPartIdx和yPartIdx推导如下:
–如果cu_sbt_pos_flag等于0,则xPartIdx和yPartIdx被设置为等于0。
–否则(cu_sbt_pos_flag等于1),变量xPartIdx和yPartIdx推导如下:
xPartIdx=cu_sbt_horizontal_flag?0:(4-sbtMinNumFourths) (8-891)
yPartIdx=!cu_sbt_horizontal_flag?0:(4-sbtMinNumFourths) (8-892)
–变量xTbYSub、yTbYSub、xTb0Sub、yTb0Sub、nTbWSub和nTbHSub推导如下:
xTbYSub=xTbY+((nTbW*((cIdx==0)?1:SubWidthC)*xPartIdx/4) (8-893)
yTbYSub=yTbY+((nTbH*((cIdx==0)?1:SubHeightC)*yPartIdx/4) (8-894)
xTb0Sub=xTb0+(nTbW*xPartIdx/4) (8-895)
yTb0Sub=yTb0+(nTbH*yPartIdx/4) (8-896)
nTbWSub=nTbW*wPartIdx/4 (8-897)
nTbHSub=nTbH*hPartIdx/4 (8-898)
–调用第8.7.2节中规定的缩放和变换过程,以亮度位置(xTbYSub,yTbYSub)、变量cIdx、nTbWSub和nTbHSub作为输入,并且输出为尺寸为(nTbWSub)×(nTbHSub)的阵列resSamplesTb。
–残差样本resSamples[x][y]被设置为等于0,其中,x=0..nTbW-1,y=0..nTbH–1。
–残差样本resSamples[x][y]推导如下,其中
x=xTb0Sub..xTb0Sub+nTbWSub–1,
y=yTb0Sub..yTb0Sub+nTbHSub–1:
resSamples[x][y]=resSamplesTb[x–xTb0Sub][y–yTb0Sub](8-899)
–否则,调用第8.7.2节中规定的缩放和变换过程,以亮度位置(xTbY,yTbY)、变量cIdx、变换宽度nTbW和变换高度nTbH作为输入,并且输出为尺寸为(nTbW)×(nTbH)的阵列resSamples.
表9-77–语法元素和相关联的二值化
/>
2.5.色度样点位置类型
本段色度样点位置类型的定义选取自JVET-P2007-v3。
图12图示了当chroma_format_idc等于1(4:2:0色度格式)且chroma_sample_loc_type_top_field或chroma_sample_loc_type_bottom_field等于变量ChromaLocType的值时的左上色度样点的所表示的相对位置。由左上4:2:0色度样点表示的区域(绘示为大的红色正方形,其中心具有大红点)相对于由左上亮度样点表示的区域(绘示为小黑色正方形,其中心具有小黑点)示出。由相邻亮度样点表示的区域被绘示为小的灰色正方形,它们的中心具有小灰点。
现有实现方式的缺陷
目前的GEO设计中存在几个潜在问题,如下所述。
(1)在JVET-P0884的CE锚点中,用于硬件验证的GEO模式的总数为1558,这是由将19个PU形状乘以82个GEO模式计算得到的。专家明确表示,对于GEO编码工具来说,1558个验证实例太多了。期望减少GEO的总实例数。
(2)在JVET-P0884的CE锚点中,GEO模式被应用于不小于8×8的块尺寸,即W>=8且H>=8。
a)GEO模式对于大的块尺寸可能不是那么必要。通过减小GEO的可允许块尺寸,可以考虑编码增益与复杂度之间的更好的权衡。
b)4×N和N×4块尺寸可能有利于编码增益。
示例技术和实施例
以下描述的详细实施例应被视为解释总体概念的示例。这些实施例不应被狭义地理解。另外,这些实施例可以以任意方式组合。
术语‘GEO’可以表示将一个块划分为两个或更多个子区域的编码方法,其中,至少一个子区域无法由任何现有分割结构(例如,QT/BT/TT)生成。术语‘GEO’可以指示三角预测模式(TPM)和/或几何merge模式(GEO)和/或楔形预测模式。
术语‘块’可以表示CU和/或PU和/或TU的编码块。
在一些实施例中,‘GEO模式索引(或GEO模式)’可以是在编码的比特流中所信令通知的GEO模式索引。在一些实施例中,在楔形帧间块的解码过程中,GEO模式索引(或GEO模式)被用于推导GEO角度索引和GEO距离索引。在一些实施例中,在解码过程中用于推导角度/距离索引的GEO模式索引(或GEO模式)也可以通过表映射获得。如果未指定,则GEO模式索引可以表示在解码过程中被用于推导角度/距离索引的wedge_partition_idx,诸如在JVET-P0884-v8的工作草案中的表8-10所定义的。
GEO模式的块尺寸限制
将块宽度表示为W并将块高度表示为H。
1.是否允许GEO可以取决于块宽度和/或块高度。
a)是否允许GEO可以取决于块的块尺寸(诸如W*H)和/或宽高比。
i.例如,对于W×H块,仅如果W>=T1和/或H>=T2和/或W*H<T3和/或W*H>T4时才可以启用GEO,其中,T1、T2、T3和T4是常数值。
ii.又例如,对于W×H块,仅如果W>=T1和/或H>=T2和/或W*H<=T3和/或W*H>=T4时才可以启用GEO,其中,T1、T2、T3和T4是常数值。
iii.在一个示例中,对于W×H块,仅如果W*H<T1||(W*H<=T2&&W/H<=T3&&H/W<=T4)时才可以启用GEO。
1)在一个示例中,T1、T2、T3和T4可以表示亮度块。
2)在一个示例中,T1=512,T2=2048,T3=2,T4=2。
iv.在一个示例中,对于W×H块,仅如果W*H<T1||(W*H<=T2&&abs(logW-logH)<=T3)时才可以启用GEO。
1)在一个示例中,T1、T2、T3和T4可以表示亮度块。
2)在一个示例中,T1=512,T2=2048,T3=1。
v.在一个示例中,对于W×H块,仅如果W*H<=T1&&W/H<=T2&&H/W<=T3时才可以启用GEO。
1)在一个示例中,T1、T2、T3和T4可以表示亮度块。
2)在一个示例中,T1=2048,T2=2,T3=4。
vi.在一个示例中,对于W×H块,仅如果W>=Tx且H>=Ty和/或满足以上1.a.i至1.a.v之一时,才可以启用GEO。
1)在一个示例中,Tx和Ty可以表示亮度块。
2)在一个示例中,Tx=8,Ty=8。
vii.对于块宽度大于N或/和块高度大于M的块可能不允许启用GEO。
1)在一个示例中,N和M可以表示亮度块。
2)在一个示例中,N=M=64。
3)在一个示例中,N=M=32。
viii.对于块宽度等于N或/和块高度等于M的块可能不允许启用GEO。
1)在一个示例中,N=M=4。
ix.例如,对于W×H块,如果满足以下条件(1.a)至(1.f)中的一个和/或多个,则可能不允许启用GEO,其中,Ti(i=1…
17)是常数值。
1)条件(1.a)至(1.f)可以如下所述。
a)W<T1和/或W>T2和/或W=T3
b)H<T4和/或H>T5和/或H=T6
c)W*H<T7和/或W*H>T8和/或W*H=T8
d)W/H<T9和/或W/H>T10和/或W/H=T11
e)H/W<T12和/或H/W>T13和/或H/W=T14
f)Abs(logW–logH)>T15和/或Abs(logW–logH)<T16和/或Abs(logW–logH)=T17
2)替代地,仅如果满足以上条件(1.a)至(1.f)中的一个或多个时,才可以允许启用GEO。
3)例如,对于W×H块,如果W<T1或H<T2或W*H>T3或(W*H>=T4且Abs(logW–logH)>T5),则可能不允许启用GEO。
a)替代地,对于W×H块,仅如果W>=T1且H>=T2且(W*H<T4或(W*H<=T3且Abs(logW–logH)<=T5))时才可以允许启用GEO。
b)在一个示例中,Ti(i=1…5)可以表示亮度块。
c)在一个示例中,T1=8,T2=8,T3=2048,T4=512,T5=1。
4)例如,对于W×H块,如果W<T1或H<T2或W*H>T3或(W*H>=T4且(W/H>T5或H/W>T5)),则可能不允许启用GEO。
a)替代地,对于W×H块,仅如果W>=T1且H>=T2且(W*H<T4或(W*H<=T3且W/H<=T5且H/W<=T5))时才可以允许启用GEO。
b)在一个示例中,Ti(i=1…5)可以表示亮度块。
c)在一个示例中,T1=8,T2=8,T3=2048,T4=512,T5=2。
5)例如,对于W×H块,如果W<T1或H<T2或W*H>T3或H/W>T4或W/H>T5,则可能不允许启用GEO。
a)替代地,对于W×H块,仅如果W>=T1且H>=T2且W*H<=T3且H/W<=T4且W/H<=T5时才可以允许启用GEO。
b)在一个示例中,Ti(i=1…5)可以表示亮度块。
c)在一个示例中,T1=8,T2=8,T3=2048,T4=4,T5=2。
b)启用还是禁用GEO可以取决于块宽度和高度的函数。
i.例如,函数可以取决于块宽度和/或高度的比值。例如,函数可以为max(H,W)/min(H,W)。
ii.例如,函数可以为块宽度和高度之间的差值和/或比值,例如,Abs(Log2(cbWidth)-Log2(cbHeight)),其中,Abs(x)返回x的绝对值,并且Log2(x)返回数字x的以2为底的对数。
iii.例如,函数可以为块宽度和块高度的和或差,例如,cbWdith+cbHeight,和/或cbWidth–cbHeight,和/或cbHeight-cbWidth。
1)在一个示例中,当cbWdith+cbHeight等于(或小于,或大于)数字X时可以禁用GEO。
2)在一个示例中,当cbWdith-cbHeight等于(或小于,或大于)数字X时可以禁用GEO。
3)在一个示例中,当cbHeight-cbWidth等于(或小于,或大于)数字X时可以禁用GEO。
4)函数可以为块宽度与块高度之差的绝对值。
iv.例如,函数可以表示如下,其中,A,B,…F表示常数。
1)A*cbWidth<cbHeight,和/或B*cbHeight<cbWidth和/或C*cbWidth>cbHeight,和/或D*cbHeight>cbWidth,和/或log2(cbWidth)–log2(cbHeight)<E,和/或log2(cbWidth)–log2(cbHeight)<F,和/或(cbWidth<<S)<cbHeight,和/或(cbHeight<<S)<cbWidth和/或(cbWidth<<S)>cbHeight,和/或(cbHeight<<S)>cbWidth和/或abs(log2(cbWidth)–log2(cbHeight))<F。
a)在一个示例中,A/B/C/D等于8。
b)在一个示例中,E等于4。
c)S可以等于2,或3,或4。
d)以上的“>”可以由“>=”替代。
e)以上的“<”可以由“<=”替代。
c)对于宽高比或高宽比大于(另一示例,小于)X(例如,X=2)的块可能不允许启用GEO。
i.在一个示例中,对于W×H块,如果W/H>X(例如,X=2)则可以禁用GEO。
ii.在一个示例中,对于W×H块,如果H/W>X(例如,X=2)则可以禁用GEO。
d)在一个示例中,GEO可以对相同编码单元/预测单元/块中的一个颜色分量(例如,亮度块)启用但对于另一颜色分量(例如,色度块)禁用。
e)在一个示例中,对于一个编码单元/预测单元/块,是否允许/禁用
GEO可以取决于亮度块的维度。
i.在一个示例中,当对于亮度块不允许启用GEO时,对色度块也禁用GEO。
ii.在一个示例中,当对于亮度块允许启用GEO时,对于色度块也允许启用GEO。
f)是否启用GEO可以取决于块宽度和/或块高度和/或块宽高比和/或块高宽比。
i.例如,对于W×H块,仅当W>=T1且H>=T2且W<=T3且H<=T4且W/H<=T5且H/W<=T6时才可以允许启用GEO。
1)在一个示例中,T1=T2=8,T3=T4=64,T5=2,T6=4。
2)在一个示例中,T1=T2=8,T3=T4=64,T5=T6=4。
3)在一个示例中,T1=T2=8,T3=T4=32,T5=2,T6=4。
4)在一个示例中,T1=T2=8,T3=T4=32,T5=T6=4。
ii.例如,对于W×H块,仅当W>=T1且H>=T2且W<=T3且H<=T4时才可以允许启用GEO。
1)在一个示例中,T1=T2=8,T3=T4=64。
2)在一个示例中,T1=T2=8,T3=T4=32。
iii.替代地,对于W×H块,当W<T1或H<T2或W>T3或H>
T4或W/H>T5或H/W>T6时可以禁用GEO。
1)在一个示例中,T1=T2=8,T3=T4=64,T5=2,T6=4。
2)在一个示例中,T1=T2=8,T3=T4=64,T5=T6=4。
3)在一个示例中,T1=T2=8,T3=T4=32,T5=2,T6=4。
4)在一个示例中,T1=T2=8,T3=T4=32,T5=T6=4。
iv.替代地,对于W×H块,当W<T1或H<T2或W>T3或H>
T4时可以禁用GEO。
1)在一个示例中,T1=T2=8,T3=T4=64。
2)在一个示例中,T1=T2=8,T3=T4=32。
2.对于块是否允许启用GEO可以取决于最大变换尺寸。
a)在一个示例中,对于宽度或/和高度大于最大变换尺寸的块可能不允许启用GEO。
3.对于块是否允许启用GEO可以取决于最大允许CU尺寸。
a)在一个示例中,对于块宽度或/和高度等于最大CU尺寸的块可能不允许启用GEO。
4.对于某一色度格式可能不允许启用GEO。
a)在一个示例中,GEO可能不允许用于4:0:0色度格式。
b)在一个示例中,GEO可能不允许用于4:4:4色度格式。
c)在一个示例中,GEO可能不允许用于4:2:2色度格式。
d)在一个示例中,对于具有某一色度格式的某一颜色分量(诸如Cb或Cr)可能不允许启用GEO。
5.GEO和编码工具X可以是互斥的。
a)在一个示例中,如果GEO被应用于一个块,则编码工具X被禁用。i.替代地,另外,当应用GEO时,编码工具X的使用的指示和/或编码工具X的边信息的信令通知被跳过。
ii.替代地,当编码工具X被应用于一个块时,不应用GEO。
1)替代地,另外,当应用编码工具X时,GEO的使用的指示和/或GEO的边信息的信令通知被跳过。
b)在一个示例中,X可以称为自适应颜色变换。
c)在一个示例中,X可以称为双树编码模式。
d)在一个示例中,X可以称为变换跳过模式。
e)在一个示例中,X可以称为BDPCM编码模式。
f)在一个示例中,X可以是子块变换(SBT)。
i.在一个示例中,是否禁用SBT可以取决于GEO角度索引和/或GEO距离索引和/或GEO模式索引和/或由于GEO而生成的子分割。
1)在一个示例中,如果由于GEO而生成的子分割的边缘和由于SBT而生成的子分割的边缘交叉,则可以针对GEO编码的块禁用SBT。
2)替代地,如果由于GEO而生成的子分割的边缘和由于SBT而生成的子分割的边缘不交叉,则可以针对GEO编码的块启用SBT。
ii.在一个示例中,哪种SBT(例如,水平SBT、垂直SBT等等)被用于GEO编码的块可以取决于GEO角度索引和/或GEO距离索引和/或GEO模式索引和/或由于GEO而生成的子分割。
1)在一个示例中,如果由于GEO而生成的子分割的边缘和由于SBT而生成的子分割的边缘交叉,则可以针对GEO编码的块禁用水平SBT和/或垂直SBT。
2)替代地,如果由于GEO而生成的子分割的边缘和由于SBT而生成的子分割的边缘不交叉,则可以针对GEO编码的块启用水平SBT和/或垂直SBT。
6.不同颜色分量可以具有不同的GEO模式索引。
a)在一个示例中,色度分量可以具有与亮度分量不同的GEO索引。
b)在一个示例中,GEO可以不被应用于色度分量。
c)替代地,另外,可以针对不同颜色分量信令通知不同的GEO模式索引。
i.例如,可以针对亮度分量信令通知一个模式索引,并且可以针对色度分量信令通知一个模式索引。
ii.替代地,另外,可以从第二颜色分量的模式索引预测第一颜色分量的模式索引。
7.如果与GEO中的不同的子区域相关联的参考图片的分辨率不同,则可能不允许启用GEO。
a)替代地,如果GEO中使用的一个参考图片的分辨率不同于当前图片的分辨率,则可能不允许启用GEO。
b)替代地,即使当参考图片的分辨率与当前图片的分辨率不同时也可以允许启用GEO。
c)图片的分辨率可以指图片的宽度/高度,或其可以指图片中的窗口,诸如图片中的一致性窗口或缩放窗口。
8.当GEO被禁用或不被允许时,GEO语法元素(诸如merge数据信令通知的语法表中的wedge_partition_idx、merge_wedge_idx0和merge_wedge_idx1)可以不被信令通知。
a)当语法元素不被信令通知时,可以推断该语法元素为默认值,诸如0。
b)当GEO被禁用或不被允许时,可以推断GEO相关的语义变量(诸如wedge_merge_mode)为默认值,诸如0。
块尺寸相关的GEO模式选择
9.一个或多个语法元素(例如,标志)可以在序列/图片/条带/片/砖/子图片/其他视频处理单元(例如,VPDU)级别中被信令通知,以指定允许多少种GEO模式用于视频单元(例如,序列/图片组/图片/子图片/条带/片/VPDU/CTU行/CTU/CU/PU/TU)。
a)在一个示例中,它们可以在SPS/VPS/APS/PPS/PH/SH/图片/子图片/条带/片级别中被信令通知。
i.替代地,另外,语法元素可以有条件地被信令通知,诸如对于视频处理单元是否启用GEO模式(诸如sps_geo_enabled_flag是否等于1);和/或当前图片类型是非帧内还是B图片;和/或当前条带类型是否是B条带。
b)在一个示例中,语法元素可以指示视频处理单元中的允许的GEO模式的数量是否等于X(诸如X=16或32或30)。
i.在一个示例中,一个语法元素(例如,一个SPS标志,或一个PPS标志,或图片标头中的一个标志)可以被信令通知,以用于指示X个(诸如X=16或32或30)GEO模式是否允许用于视频单元中的全部块。
1)替代地,一个标志可以被信令通知,以用于指示X个(诸如X=16或32或30)GEO模式是否允许用于被选择的块,诸如对于满足条件C的那些块。
i.C可以表示为:H/W<=T(例如,T=1或2或4或8)的块。
ii.C可以表示为:H/W>T(例如,T=1或2或4或8)的块。
ii.在一个示例中,多个语法元素(例如,两个SPS标志)可以被信令通知以指示每个类别的块的允许的GEO模式,其中,块根据例如块维度被分类为多个类别。
1)在一个示例中,一个是用于指示X个(诸如X=16或32或30)GEO模式是否允许用于具有条件C的块。另一个是用于指示Y个(诸如Y=16或32或30)GEO模式是否允许用于具有条件D的块。
i.替代地,另外,C可以是H/W<=T(例如,T=1或2或4或8)的块,而D可以是H/W>T(例如,T=1或2或4或8)的块。
c)在一个示例中,如何信令通知块的GEO模式索引可以取决于前述语法元素(例如,标志)。
i.在一个示例中,块的GEO模式索引的二值化和/或熵编码可以取决于语法元素和/或块维度。
1)在一个示例中,如果由语法元素推导的块的允许的GEO模式的数量等于X(诸如X=16或32或30),则用于GEO模式索引编码的cMax的值可以等于X。
2)在一个示例中,如果由语法元素推导的块的允许的GEO模式的数量等于X(诸如X=16或32或30),且块维度满足条件C,则用于GEO模式索引编码的cMax的值可以等于X。
i.C可以表示为:H/W<=T(例如,T=1或2或4或8)的块。
ii.C可以表示为:H/W>T(例如,T=1或2或4或8)的块。
ii.在一个示例中,根据块维度和/或语法元素,用于GEO模式索引编码的二值化方法可以不同。
d)在一个示例中,merge_geo_partition_idx(例如,wedge_partition_idx)的最大值的值可以取决于前述语法元素(例如,标志)和/或块维度。
i.在一个示例中,可以添加比特流约束以约束merge_geo_partition_idx(例如,wedge_partition_idx)的值,其应小于比特流中的最大允许GEO模式。
ii.在一个示例中,可以添加比特流约束以约束merge_geo_partition_idx(例如,wedge_partition_idx)的值,其应小于块维度满足条件C的块的最大允许GEO模式。
i.C可以表示为:H/W<=T(例如,T=1或2或4或8)的块。
ii.C可以表示为:H/W>T(例如,T=1或2或4或8)的块。
e)在一个示例中,一个或多个约束标志可以在视频处理单元级别中被信令通知,以指定是否对视频单元约束X个(诸如X=16或32或30)模式GEO方法的使用。
1)在一个示例中,可以信令通知约束标志以约束X个模式GEO方法是否被用于序列中的全部块。
2)在一个示例中,如何约束X个模式GEO方法可以取决于块维度。
1)在一个示例中,约束标志可以在SPS级别中被信令通知以约束X个模式GEO方法是否被用于满足条件C的块。
i.C可以表示为:H/W<=T(例如,T=1或2或4或8)的块。
ii.C可以表示为:H/W>T(例如,T=1或2或4或8)的块。
2)在一个示例中,两个约束标志可以在SPS级别中被信令通知。两个约束标志中的一个是用于约束X个模式GEO方法是否被用于满足条件C的块。两个约束标志中的另一个是用于约束Y个模式GEO方法是否被用于满足条件D的块。
i.C可以是H/W<=T(例如,T=1或2或4或8)的块,而D可以是H/W>T(例如,T=1或2或4或8)的块。
f)在一个示例中,允许哪些GEO模式用于块可以取决于前述语法元素(例如,标志)。
i.在一个示例中,允许GEO模式的子组还是一组完整的GEO模式用于块可以取决于前述语法元素(例如,标志)。
ii.在一个示例中,允许GEO角度的子组还是一组完整的GEO角度用于块可以取决于前述语法元素(例如,标志)。
iii.在一个示例中,允许GEO位移的子组还是一组完整的GEO位移用于块可以取决于前述语法元素(例如,标志)。
1)在一个示例中,是否使用具有非零位移索引的GEO模式可以取决于前述语法元素(例如,标志)。
10.多组允许的GEO模式可以被用于处理视频单元(例如,图片/条带/片/
砖/CTU行/CTU)。
a)在一个示例中,从多组选择一组可以取决于解码的信息(例如,块的块维度/块形状)。
b)在一个示例中,多组中的至少两组具有不同数量的允许的GEO模式。
c)在一个示例中,多组中的T(诸如T=2)组可以具有相同数量的允许的GEO模式,然而,包含在一组中的至少一个GEO模式在另一组中被排除。
d)在一个示例中,多组中的T(诸如T=2)组可以具有相同的GEO模式,然而,对于T组中的任意两组,至少一个GEO模式被布置在不同的位置。
e)在一个示例中,如何信令通知GEO模式索引可以取决于对应的一组的允许的GEO模式,诸如该组中允许的GEO模式的数量。
f)在一个示例中,解码的GEO模式索引可以对应于不同的GEO模式(例如,不同的角度或不同的距离)。
i.在一个示例中,如何将解码的GEO模式索引映射到GEO模式可以取决于块的对应组。
g)在一个示例中,可以用于比特流中的块的GEO模式的数量可以定义为一个数(表示为B),该数可以小于A(例如,A=81,如在JVET-P0884-v8的工作草案的解码过程中)。
a.例如,对于任意GEO块,B可以是常数值,而与块维度无关。
b.例如,B可以是能够根据块维度针对不同的块而改变的变量。
h)在一个示例中,可以对比特流中的一个块信令通知的GEO模式的数量可以定义为一个可以小于A的数(表示为C)。
c.例如,对于任意GEO块,C可以是常数值,而与块维度无关。
d.例如,C可以是能够根据块维度针对不同的块而改变的变量。
e.例如,B可以等于C。
f.例如,B或C可以等于30或40或45或50。
i)在一个示例中,B或C可以从编码器被信令通知到解码器。
j)在一个示例中,可以定义两组(例如,组A和组B)允许的GEO模式来处理GEO编码的块。
i.在一个示例中,可以在组B中排除包含在组A中的至少一个GEO模式。
1)在一个示例中,可以在从组B中的GEO模式推导的GEO角度中排除从组A中的GEO模式推导的至少一个GEO角度。
ii.在一个示例中,组A和组B可以具有相同数量的允许的GEO模式,例如,X个(诸如X=16或32或30)模式被用于任一组。
1)在一个示例中,组A和组B可以具有相同数量的允许的GEO角度,例如,Y个(诸如Y<24)角度被用于任一组。
1)在一个示例中,组A和组B可以具有不同数量的允许的GEO模式,例如,X1(诸如X1=16)个模式用于组A,而X2(诸如X2=32)个模式用于组B。在一个示例中,组A和组B可以具有不同数量的允许的GEO角度,例如,Y1个角度用于组A,而Y2个角度用于组B,诸如Y1≠Y2,Y1<24,Y2<24。iii.在一个示例中,一个块使用来自组A还是组B的GEO模式/角度/距离可以取决于块维度,诸如取决于块维度是否满足条件C。
1)C可以表示为:H/W<=T(例如,T=1或2或4或8)的块。
2)C可以表示为:H/W>T(例如,T=1或2或4或8)的块。iv.在一个示例中,如何信令通知块的GEO模式索引可以取决于块维度。
1)在一个示例中,GEO模式索引的TR编码的cMax值可以等于X(诸如X=16或32或30),假设H/W<=T(例如,T=1或2或4或8)。
v.假设I表示GEO模式组的总数,Seti(i=0…I-1)表示用于块的GEO模式组,Li(i=0…I-1)表示Seti的长度。在一个示例中,根据解码的信息(例如,相关的语法元素、块维度),GEO编码块可以被分类为多个块类别。
1)在一个示例中,哪个GEO模式组被用于块可以取决于块类别,和/或语法元素(诸如项目符号9中描述的标志)。
2)在一个示例中,一个块允许有多少GEO模式可以取决于块类别和/或语法元素(诸如项目符号9中描述的标志)。
3)假设块的对应的GEO模式组表示为GEO模式组i(例如,Seti)
a)在一个示例中,对于该块,允许的GEO模式的数量可以小于Seti的长度,即,小于Li
b)在一个示例中,对于该块,允许的GEO模式的数量可以等于Seti的长度,即,等于Li
c)在一个示例中,对于该块,所有允许的GEO模式可以来自对应的GEO模式组i(例如,Seti)。
d)在一个示例中,对于该块,允许的GEO模式的一部分可以来自对应的GEO模式组i(例如,Seti)。
e)在一个示例中,对于该块,允许的GEO模式可以包括对应的GEO模式组(例如,Seti)中的至少N个(诸如N<Li)模式。
i.在一个示例中,可以使用对应的GEO模式组中的前N个(诸如N=16或14)模式。
ii.在一个示例中,可以使用对应的GEO模式组中的最后N个(诸如N=16或14)模式。
iii.在一个示例中,可以使用对应的GEO模式组中的每M个(诸如M=2)模式中的一个。
f)在一个示例中,对于该块,允许的GEO模式可以由对应的GEO模式组中的一些模式和一些其他预定义的GEO模式(诸如具有零位移的GEO模式,例如,距离索引等于0)构成。
11.如何将GEO模式索引映射到角度/距离索引可以取决于解码的信息(例如,相关语法元素、块维度)。
a)在一个示例中,如何将GEO模式索引映射到角度/距离索引可以取决于块维度是否满足条件C。
i.C可以表示为:H/W<=T(例如,T=1或2或4或8)的块。
ii.C可以表示为:H/W>T(例如,T=1或2或4或8)的块。
b)假设I表示对于一个块允许的GEO模式的总数,J表示对于一个块允许的GEO角度的总数,K表示对于一个块允许的GEO距离的总数,Mi(i=0…I-1)表示块的编码的/信令通知的GEO模式索引,Aj(j=0…J-1)表示块的映射的角度索引,Dk(k=0…K-1)表示块的距离索引。
i.在一个示例中,映射的角度索引Aj可能不会随着GEO模式索引Mi的值而增加。
1)在一个示例中,对于多个连续的编码的/信令通知的GEO模式索引Mi,对应的多个角度索引Aj可以不是连续的数字,和/或不是降序,和/或不是升序,和/或是乱序。
2)替代地,对于多个连续的编码的/信令通知的GEO模式索引,对应的多个角度索引Aj可以是连续的数字,和/或为降序,和/或为升序。
ii.在一个示例中,映射的距离索引Dk可以不随着GEO模式索引Mi的值而增加。
1)在一个示例中,对于多个连续的编码的/信令通知的GEO模式索引Mi,对应的多个距离索引Dk可以不是连续的数字,和/或不是降序,和/或不是升序,和/或是乱序。
2)替代地,对于多个连续的编码的/信令通知的GEO模式索引,对应的多个距离索引Dk可以是连续的数字,和/或为降序,和/或为升序。
iii.在一个示例中,如果编码的/信令通知的GEO模式索引被映射到另一组映射的GEO模式索引,则映射的GEO模式索引可以不随着编码的/信令通知的GEO模式索引而增加。
1)在一个示例中,对于多个连续的编码的/信令通知的GEO模式索引,对应的映射的GEO模式索引可以不是连续的数字,和/或不是降序,和/或不是升序,和/或是乱序。
2)替代地,对于多个连续的编码的/信令通知的GEO模式索引,对应的映射的GEO模式索引可以是连续的数字,和/或为降序,和/或为升序。
12.对于GEO块,允许的模式/角度/距离的数量可以不同于视频单元的可能的GEO模式/角度/距离的数量。
a)在一个示例中,对于块,信令通知的最大GEO模式索引可以小于对于一个序列的允许的GEO模式的总数。
b)在一个示例中,对于块,允许的GEO角度的数量可以小于为一个序列定义的允许的GEO角度的总数。
c)在一个示例中,一个块允许有多少数量的GEO模式/角度/距离可以取决于块维度(诸如W或H或W/H或H/W)。
13.可以在比特流中信令通知或使用的不同的块维度(诸如块高度和/或块宽度)的GEO模式的数量可以是不同的。在解码过程中可以用于推导JVET-P0884-v8中所定义的角度/距离索引的GEO模式的总数表示为A。可以用于比特流中的块的GEO模式的数量可以定义为一个数字,且其表示为B。可以为比特流中的块信令通知的GEO模式的数量可以定义为一个数字,且其表示为C。
a)在一个示例中,B或C可以不同于A。
i.例如,B可以等于C。
ii.例如,B和C可以小于A。
b)在一个示例中,对于不同的块类别,可以定义不同的B或C。
1)在一个示例中,块类别可以按照块宽度和高度的比值进行分类。
a.在一个示例中,对于W×H块,如果W/H=1和/或2和/或3和/或4和/或8,则B或C可以小于A。
b.在一个示例中,对于W×H块,如果H/W=1和/或2和/或3和/或4和/或8,则B或C可以小于A。
2)在一个示例中,块类别可以根据块宽度和高度的函数(诸如块尺寸,其等于W*H)进行分类。
a.在一个示例中,对于W×H块,如果W*H>T(诸如T=512/1024/2048/4096),则B或C可以小于A。
b.在一个示例中,对于W×H块,如果W*H<=T(诸如T=512/1024/2048/4096),则B或C可以小于A。
3)在一个示例中,块类别可以根据块维度,例如,W和/或H,进行分类。
a.在一个示例中,对于W×H块,如果W=T1和/或H=T2(其中,T1和T2是常数值),则B或C可以小于A。
b.在一个示例中,对于W×H块,如果W>T1和/或H>T2(其中,T1和T2是常数值),则B或C可以小于A。
c.在一个示例中,对于W×H块,如果W<T1和/或H<T2(其中,T1和T2是常数值),则B或C可以小于A。
4)在一个示例中,对于块类别i,可以为B或C定义一组固定数字Bi(i=0…N-1,其中,N表示如以上项目符号中所定义的块类别的数量)。
a.在一个示例中,对于块宽度小于32且块高度小于32的块类别0,B0等于40或45或50。对于块宽度等于32且块高度等于32的块类别1,B1等于20或30或40。对于块宽度大于32且块高度大于32的块类别2,B2等于20或30。
5)每个块类别的B或C可以从编码器被信令通知到解码器。
a.替代地,可以为编码器和解码器预定义每个块类别的B或C。
6)在一个示例中,亮度块的宽度和高度可以用于推导B或/和C。
14.在比特流中信令通知的GEO模式索引的值可以不同于在解码过程中被用于推导角度/距离索引的GEO模式索引的值。
a)在一个示例中,关于一组完整的GEO模式/角度/距离(例如,一组完整的GEO模式被定义在JVET-P0884的工作草案中的表8-10中)中的GEO模式/角度/距离的子组可以被用于某个块类别,其中,如以上项目符号中详述的,块类别可以按照块宽度和/或块高度进行分类。
b)在一个示例中,映射表(例如查找表)可以被用于定义信令通知的GEO模式索引与映射的GEO模式索引之间的对应关系(例如,映射的GEO模式可以被用于推导角度索引和距离索引,诸如由JVET-P0884的工作草案提供的解码过程的表8-10中的wedge_partition_idx)。
c)在一个示例中,可以根据GEO块类别定义N个映射表(N>1)。例如,N是常数,其可以小于19。
a.在一个示例中,映射表的数量可以取决于块类别的数量。
b.对于不同的块类别,那些映射表的长度可以根据对于不同的块类别所允许的GEO模式的数量而有所不同。
d)以上定义的一个或多个映射表可以从编码器被信令通知到解码器。
a.替代地,可以为编码器和解码器预定义映射表。
15.信令通知的GEO模式索引的二值化可以取决于解码的信息(例如,块维度/类别)。
a)在一个示例中,信令通知的楔形模式索引的二值化期间的最大值的值(表示为cMax)可以取决于块维度(诸如块宽度和/或块高度),或块类别(如以上项目符号中详述的)。
b)在一个示例中,如果块尺寸满足条件C,则用于GEO模式索引编码的cMax的值可以等于X(诸如X=16或32或30)。
i.C可以表示为:H/W<=T(例如,T=1或2或4或8)的块。
ii.C可以表示为:H/W>T(例如,T=1或2或4或8)的块。
16.GEO模式索引可以用以下方式进行编解码:截断莱斯(truncated rice),或截断二元码(truncated binary),或截断一元码(truncated unary),或定长编码,或k阶指数哥伦布(k-th order Exp-Goblomb,Kth-EG)二元化,或受限的k阶指数哥伦布(limited k-thorder exp-golomb)二元化。
a)截断二元码可以被用于针对信令通知的GEO模式索引的二值化。
i.在一个示例中,比特流中的信令通知的GEO模式索引可以不同于在解码过程中被用于推导如JVET-P0884-v8中所指定的角度/距离索的推导的GEO模式索引。
b)Kth-EG编码可以被用于针对信令通知的GEO模式索引的二值化。
i.在一个示例中,K=0或1或2或3。
17.上下文编码可以用于对GEO模式索引进行编码。
a)在一个示例中,GEO模式索引的前X个(诸如X=1)二进制数可以由上下文编解码来进行编解码。并且其他二进制数可以由没有上下文建模的旁路编解码来编解码。
混合权重和运动存储权重生成
18.TPM和/或GEO模式中的色度分量的混合权重和/或运动存储权重可以取决于色度样点位置类型(例如,图12中的ChromaLocType)。
a)用于色度样点的混合权重推导的下采样滤波器的类型可以在视频单元级别(诸如SPS/VPS/PPS/图片标头/子图片/条带/条带标头/片/砖/CTU/VPDU级别)被信令通知。
a.在一个示例中,高级别标志可以被信令通知以在内容的不同的色度位置类型之间切换。
i.在一个示例中,高级别标志可以被信令通知以在色度位置类型0与色度位置类型2之间切换。
ii.在一个示例中,标志可以被信令通知以规定TPM/GEO预测模式中的左上下采样的亮度权重是否与左上亮度权重(即,色度样点位置类型0)并置。
iii.在一个示例中,标志可以被信令通知以规定TPM/GEO预测模式中的左上下采样亮度样点是否与左上亮度样点在水平方向同址但相对于左上亮度样点(即,色度样点位置类型2)在垂直方向上偏移0.5单位的亮度样点。
b.在一个示例中,对于4:2:0色度格式和/或4:2:2色度格式,下采样滤波器的类型可以被信令通知。
c.在一个示例中,标志可以被信令通知以规定用于TPM/GEO预测的色度下采样滤波器的类型。
i.在一个示例中,标志可以被信令通知以确定将下采样滤波器A还是下采样滤波器B用于TPM/GEO预测模式中的色度权重推导。
b)用于色度样点的混合权重推导的下采样滤波器的类型可以在视频单元级别(诸如SPS/VPS/PPS/图片标头/子图片/条带/条带标头/片/砖/CTU/VPDU级别)被推导。
a.在一个示例中,查找表可以被定义以规定色度子采样滤波器类型与内容的色度格式类型之间的对应关系。
c)在不同的色度位置类型的情况下,指定的下采样滤波器可以被用于TPM/GEO预测模式。
a.在一个示例中,在某一色度样点位置类型(例如,色度样点位置类型0)的情况下,TPM/GEO的色度权重可以从并置的左上亮度权重被子采样。
b.在一个示例中,在某一色度样点位置类型(例如,色度样点位置类型0或2)的情况下,指定X抽头滤波器(X是常数,例如,X=6或5)可以被用于TPM/GEO预测模式中的色度权重子采样。
简化的GEO角度/距离
19.对于块,允许的GEO模式/角度/位移/分割/划分模式的数量和/或候选可以取决于解码的信息(例如,块维度和/或语法元素等等)和/或推导的信息(例如,GEO角度)。
a)在一个示例中,块可以被分类为块类型(类别)。对于块,允许的GEO模式/角度/位移/分割/划分模式的数量和/或候选可以取决于块的类型。块的类型可以取决于块的维度。
b)在一个示例中,对于块,允许的位移的数量和/或候选可以取决于块维度。
i.在一个示例中,对于块宽度等于X(诸如X=128或64)和/或块高度等于Y(诸如Y=128或64)的块,对于一种类型的块,允许的位移的数量可以等于N(诸如N=1或2或3)。
ii.在一个示例中,对于块宽度和高度的比值等于T(诸如T=1/8,和/或8,和/或1/4,和/或4)或在一个范围(诸如T<=1/4,T>=4,T<=1/8,T>=8)内的块,对于一种类型的块,允许的位移的数量可以等于N(诸如N=1或2或3)。
c)在一个示例中,对于块,允许的位移的数量和/或候选可以取决于推导的GEO角度。
i.在一个示例中,允许的位移的数量对于不同的GEO角度而言可以是不同的。
1)例如,假设在GEO模式中支持存在角度的N(诸如N>1)个子组,则对于角度的一个子组,允许的位移的数量可以等于X(诸如X=1或2或3),而对于角度的另一子组,允许的位移的数量可以等于Y(诸如Y=4)。
d)在一个示例中,对于块,GEO模式的数量X可以由语法元素(例如,语法标志和/或语法参数等等)推导得到。
i.(多个)语法元素中可以在VPS/DPS/SPS/PPS/序列标头/图片标头/条带标头/CTU/CU中被信令通知。
ii.使用X还是Y数量的GEO模式可以取决于语法标志。
1)例如,数字X可以小于数字Y。
2)例如,X=2或4或6或8或12或14或16。
3)例如,Y=16或32或48或54或64或82。
iii.使用X0还是X1还是X2数量的GEO模式可以取决于语法元素。
1)例如,X0可以小于X1,和/或X1可以小于X2。
2)例如,X0=2或4或5或8或12或14。
3)例如,X1=8或12或14或16。
4)例如,X2=32或64或82。
20.允许哪些GEO模式/角度/位移用于块可以取决于语法元素(例如,语法标志或语法参数)和/或块维度。
a)语法元素可以在VPS/DPS/SPS/PPS/序列标头/图片标头/条带标头/CTU/CU中被信令通知。
b)在一个示例中,对于块,是否允许非对角线角度可以取决于语法元素(例如,语法标志)和/或块维度。
i.例如,对于块,允许第一组A的GEO模式还是第二组B的GEO模式可以取决于语法元素。例如组A可以具有比组B更少的元素。
1)在一个示例中,A可以表示投射到对角线且位移等于0的角度的GEO模式。
2)在一个示例中,A可以表示投射到对角线且具有所有位移的角度的GEO模式。
3)在一个示例中,B可以表示投射到对角线角度和非对角线角度两者的GEO模式。
c)在一个示例中,对于块,是否允许非零位移可以取决于语法元素(例如,语法标志)和/或块维度。
i.例如,在GEO模式映射表(例如,JVET-Q0160_CE4_1_CommonBaseWD_w_fixes中的表36)中选择的X个GEO模式可以具有零位移(诸如distanceIdx=0)。例如,选择的X个模式可以是GEO模式映射表中的前X个模式。
1)在一个示例中,X=2或4或6或8或12或14或16或20或24或32。
2)例如,如果由语法元素推导的块的允许的GEO模式的数量等于X,则GEO映射表中的前X个GEO模式被使用,且该前X个GEO模式的对应的位移可以等于零。
3)在一个示例中,对应于零位移(诸如distanceIdx=0)的GEO模式可以置于GEO模式映射表的第一个。
4)在一个示例中,对应于非零位移(诸如distanceIdx=1或2或3)的GEO模式可以置于对应于零位移(诸如distanceIdx=0)的GEO模式之后。
d)在一个示例中,允许的GEO模式/角度/位移对于不同的块类别可以是不同的。假设GEO模式/角度/位移Si(i=0…N-1,其中,N是块类别的总数)的子组对来自块类别Ci的块被允许。
i.在一个示例中,子组Si(i=0…N-1)还是子组Sj(j=0…N-1)被用于块可以取决于块宽度和高度的比值(诸如宽度/高度)。
ii.在一个示例中,子组Si(i=0…N-1)还是子组Sj(j=0…N-1)被用于块可以取决于块类别,其中,块类别可以按照块宽度和高度之间的关系(诸如宽度>高度,和/或宽度<高度,和/或宽度=高度)进行分类。
iii.在一个示例中,Si(i=0…N-1)中的至少一个元素可以不被包含在Sj(j=0…N-1)中。
e)基于JVET-Q0160_CE4_1_CommonBaseWD_w_fixes的示例性规范变化如下,新添加的部分用下划线粗体突出显示,并且从VVC工作草案删除的部分被标记有双括号(例如,[[a]]表示删除字符“a”)。
7.3.2.3序列参数集RBSP语法
7.4.10.7Merge数据语义
merge_geo_partition_idx[x0][y0]规定merge几何模式的几何划分方向。阵列索引x0、y0规定所考虑的编码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
当merge_geo_partition_idx[x0][y0]不存在时,其被推断为等于0。
f)基于JVET-Q0160_CE4_1_CommonBaseWD_w_fixes的另一示例性规范变化如下:
8.5.7geo帧间块的解码过程
8.5.7.1总体
当解码MergeGeoFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列predSamplesL,–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且使predSamplesLACb,predSamplesLBCb,predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL,predSamplesCb和predSamplesCr通过以下有序的步骤推导:
7.对于N为A和B中的每一个,以下适用:
–包含亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr的参考图片通过调用第8.5.6.2节中规定的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag、设置为等于0的变量cIdx以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag、设置为等于1的变量cIdx以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、设置为等于2的变量cIdx以及RefPicScale[predListFlagN][refIdxN]作为输入。
8.merge geo模式的分割角度和距离变量angleIdx和distanceIdx根据表36设置,其中,merge_geo_partition_idx[xCb][yCb]的值和设置为等于cbHeight>cbWidth的变量isNarrowBlk作为输入。
9.merge geo模式的分割角度和距离变量angleIdx和distanceIdx根据表36中规定的[[merge_geo_partition_idx[xCb][yCb]的值]]设置,其中,
10.当前亮度编码块内的预测样点predSamplesL[xL][yL],其中xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程而推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
11.当前色度分量Cb编码块内的预测样点predSamplesCb[xC][yC],其中xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程而推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
12.当前色度分量Cr编码块内的预测样点predSamplesCr[xC][yC],其中xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程而推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
13.调用第8.5.7.3节中规定的用于merge geo模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB,参考索引refIdxA和refIdxB以及预测列表标志predListFlagA和predListFlagB作为输入。
图20A示出了表36,其已经从相关工作草案中被删除。
图20B示出了表36的一个示例,其指示基于merge_geo_partition_idx值的angleIdx和distanceIdx值的规范。在图20B所示的示例中,
图20C示出了表36的另一个示例,其指示基于merge_geo_partition_idx值的angleIdx和distanceIdx值的规范。在图20C所示的示例中, 图20D示出了表36的另一个示例,其指示基于merge_geo_partition_idx值的angleIdx和distanceIdx值的规范。在图20D所示的示例中,/> 图20E示出了表36的另一个示例,其指示基于merge_geo_partition_idx值的angleIdx和distanceIdx值的规范。在图20E所示的示例中,/>
图20F示出了表36的另一个示例,其指示基于merge_geo_partition_idx值的angleIdx和distanceIdx值的规范。在图20F所示的示例中,
图20G示出了表36的另一个示例,其指示基于merge_geo_partition_idx值的angleIdx和distanceIdx值的规范。在图20G所示的示例中,
21.在一个示例中,X(诸如X<N)个元素可以被包含在Si(i=0…N-1)和Sj(j=0…N-1)两者中。
22.对于GEO块,角度的数量可以小于T1(诸如T1=24)。假设解码过程中使用的角度的数量表示为NUM_ANGLE。
a)替代地,GEO模式的数量可以小于T2(诸如T2=82)。
i.在一个示例中,从wedge_partition_idx到angleIdx和distanceIdx的映射可以取决于GEO模式支持多少个角度和/或每个角度支持多少个距离。
b)替代地,对于GEO块,距离的数量可以小于T3(诸如T3=4或3)。
i.在一个示例中,用于一个或多个角度的距离的数量可以小于T3。
1)例如,用于垂直角度和水平角度的距离的数量可以等于X(诸如X=2)。
c)在一个示例中,在解码过程中使用的角度的数量NUM_ANGLE可以等于最大angleIdx加1。
i.例如,NUM_ANGLE=24,例如,在JVET-P0884的工作草案中的表8-10中定义的最大angleIdx等于23。
ii.对于另一示例,NUM_ANGLE<T1(诸如T1=24)。
d)在一个示例中,displacementY(其用于针对GEO模式编码块的加权样点预测和/或运动矢量存储的过程)的计算可以取决于解码过程中使用的角度的总数。
i.在一个示例中,displacementY可以被设定为(displacementX+(NUM_ANGLE>>2))%NUM_ANGLE。
e)在一个示例中,shiftHor(其用于针对GEO模式编码块的加权样点预测和/或运动矢量存储的过程)的计算可以取决于解码过程中使用的角度的总数。
i.在一个示例中,如果以下条件之一为真,则shiftHor可以被设置为0。否则,shiftHor被设置为等于1。
1)angleIdx%(NUM_ANGLE/2)等于(NUM_ANGLE>>2)
2)angleIdx%(NUM_ANGLE/2)不等于0且hwRatio≥1,其中,hwRatio被设置为H/W。
f)在一个示例中,用于推导GEO块的混合权重索引的offsetX和/或offsetY的推导可以取决于角度的数量和/或shiftHor的值。
i.在一个示例中,如果shiftHor等于0,则用于推导GEO块的混合权重索引的offsetY可以被推导如下:
1)offsetY=(256-nH)>>1+angleIdx<(NUM_ANGLE/2)?(distanceIdx*nH)>>3:-((distanceIdx*nH)>>3)
ii.在一个示例中,如果shiftHor等于1,则用于推导GEO块的混合权重索引的offsetX可以被推导如下:
1)offsetX=(256-nW)>>1+angleIdx<(NUM_ANGLE/2)?(distanceIdx*nW)>>3:-((distanceIdx*nW)>>3)
g)在一个示例中,用于推导GEO块的运动索引的offsetX和/或offsetY的推导可以取决于角度的数量和/或shiftHor的值。
i.在一个示例中,如果shiftHor等于0,则用于推导GEO块的运动索引的offsetY可以被推导如下:
1)offsetY=(64-numSbY)>>1+angleIdx<(NUM_ANGLE/2)?(distanceIdx*nCbH)>>5:-((distanceIdx*nCbH)>>5)
ii.在一个示例中,如果shiftHor等于1,则用于推导GEO块的运动索引的offsetX可以被推导如下:
1)offsetX=(64–numSbX)>>1+angleIdx<(NUM_ANGLE/2)?(distanceIdx*nCbW)>>5:-((distanceIdx*nCbW)>>5)
h)在一个示例中,用于GEO分割距离的推导的查找表的长度可以取决于在GEO块的解码过程中使用的角度的数量。
i.在一个示例中,用于推导GEO分割距离的查找表的长度,如JVET-P0884的工作草案中的表8-12所示,可以等于NUM_ANGLE。1)在一个示例中,NUM_ANGLE<24。
i)在一个示例中,用于GEO分割距离的推导的查找表的值可以重新设计且查找表的长度等于NUM_ANGLE。
1)在一个示例中,重新设计的查找表可以是JVET-P0884的工作草案中的表8-12的子组。
2)在一个示例中,在NUM_ANGLE=20的情况下,表可以被设计如下。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Dis[idx] 8 8 8 4 2 -2 -4 -8 -8 -8 -8 -8 -8 -4 -2 2 4 8 8 8
3)在一个示例中,在NUM_ANGLE=20的情况下,表可以被设计如下。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Dis[idx] 8 8 8 4 2 0 -2 -4 -8 -8 -8 -8 -8 -4 -2 0 2 4 8 8
4)在一个示例中,在NUM_ANGLE=20的情况下,表可以被设计如下。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Dis[idx] 8 8 8 8 2 0 -2 -8 -8 -8 -8 -8 -8 -8 -2 0 2 8 8 8
5)在一个示例中,在NUM_ANGLE=20的情况下,表可以被设计如下。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Dis[idx] 8 8 8 8 4 0 -4 -8 -8 -8 -8 -8 -8 -8 -4 0 4 8 8 8
6)在一个示例中,在NUM_ANGLE=16的情况下,表可以被设计如下。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Dis[idx] 8 8 4 2 0 -2 -4 -8 -8 -8 -4 -2 0 2 4 8
j)在一个示例中,用于GEO模式的加权样点预测过程的PART1和PART2是否等于A或B可以取决于角度索引T1和角度索引T2,其中,A和B表示GEO模式的加权样点预测过程中的两个输入阵列predSamplesLA和predSamplesLB,并且PART1和PART2是用于GEO预测块的输出加权预测样点值的推导的A和B的表示。
i.在一个示例中,如果angleIdx>=T1&&angleIdx<=T2,则PART1和PART2可以分别被设置为等于A和B,否则PART1和PART2可以分别被设置为等于B和A。
ii.在一个示例中,T1和T2可以是常数值,且T1<NUM_ANGLE且T2<=NUM_ANGLE。
1)在一个示例中,在NUM_ANGLE=24的情况下,T1=10且T2=20。
2)在一个示例中,在NUM_ANGLE=20的情况下,T1=8且T2=16。
3)在一个示例中,在NUM_ANGLE=20的情况下,T1=8且T2=17。
4)在一个示例中,在NUM_ANGLE=20的情况下,T1=9且T2=16。
5)在一个示例中,在NUM_ANGLE=16的情况下,T1=7且T2=13。
iii.在一个示例中,T1和T2可以基于角度的数量计算。
k)在一个示例中,用于GEO模式的运动矢量存储过程中的partIdx被设置为0还是1可以取决于角度索引T1和角度索引T2,其中,partIdx被用于推导用于为GEO运动存储分配运动矢量的变量sType。
i.在一个示例中,如果angleIdx>=T1&&angleIdx<=T2,则partIdx可以被设置为1,否则partIdx可以被设置为0。sType=abs(motionIdx)<32?2:motionIdx<=0?partIdx:1-partIdx,其中,使用用于推导GEO分割距离的查找表(例如,JVET-P0884的工作草案中的表8-12)来计算变量motionIdx。
ii.在一个示例中,T1和T2可以是常数值,并且T1<NUM_ANGLE且T2<=NUM_ANGLE。
1)在一个示例中,在NUM_ANGLE=24的情况下,T1=10且T2=20。
2)在一个示例中,在NUM_ANGLE=20的情况下,T1=8且T2=16。
3)在一个示例中,在NUM_ANGLE=20的情况下,T1=8且T2=17。
4)在一个示例中,在NUM_ANGLE=20的情况下,T1=9且T2=16。
5)在一个示例中,在NUM_ANGLE=16的情况下,T1=7且T2=13。
iii.在一个示例中,T1和T2可以基于角度的数量计算。
l)在一个示例中,用于推导GEO/楔形分割距离的查找表的值(诸如Dis[i],i=0…NUM_ANGLE-1)可以设置为如下表所示。
1)替代地,用于推导GEO/楔形分割距离的查找表的值(诸如Dis[i],i=0…NUM_ANGLE-1)可以设置为下表的子组。
2)在一个示例中,对于角度索引等于3和/或21的GEO/楔形分割距离可以等于4。
3)在一个示例中,对于角度索引等于9和/或15的GEO/楔形分割距离可以等于-4。
/>
GEO角度推导
23.GEO模式索引和/或GEO角度索引和/或GEO距离索引和/或GEO位移和/或GEO混合权重/GEO运动权重的推导可以取决于块维度(诸如具有块宽度和/或高度的函数)。
a)在一个示例中,GEO模式索引和/或角度索引和/或距离索引的推导可以取决于值X。
i.在一个示例中,X可以取决于log2(高度)和/或log2(宽度)。
ii.在一个示例中,X可以为log2(高度)–log2(宽度)。
iii.在一个示例中,X可以为log2(高度)+log2(宽度)。
iv.在一个示例中,X可以为log2(宽度)-log2(高度)。
v.在一个示例中,X可以为abs(log2(宽度)-log2(高度))。
vi.在一个示例中,X可以为Clip3(M,N,log2(高度)–log2(宽度)),其中,M和N为常数,诸如M=-2,N=2。
vii.在一个示例中,X可以为Clip3(M,N,log2(宽度)–log2(高度)),其中,M和N为常数,诸如M=-2,N=2。
viii.在一个示例中,X可以为Clip3(M,N,log2(高度)+log2(宽度)),其中,M和N为常数,诸如M=-2,N=2。
ix.在一个示例中,X可以为Clip3(M,N,abs(log2(高度)-log2(宽度))),其中,M和N为常数,诸如M=-2,N=2。
b)基于JVET-Q0268的示例性规范变化如下,新添加的部分用下划线粗体突出显示,并且从VVC工作草案删除的部分被标记有双括号(例如,[[a]]表示删除字符“a”)。
8.5.7.2.用于geo merge模式的加权样点预测过程
该过程的输入为:
–两个变量nCbW和nCbH,表示当前编码块的宽度和高度,
–尺寸为(nCbW)×(nCbH)的两个阵列predSamplesLA和predSamplesLB,
–变量angleSquareIdx,表示正方形块的geo分割的角度索引,
–变量distanceIdx,表示geo分割的距离索引,
–变量cIdx,表示颜色分量索引。
该过程的输出为预测样点值的尺寸为(nCbW)×(nCbH)的阵列pbSamples。变量nW、nH和nCbR被推导如下:
nCbWY=(cIdx==0)?nCbW:nCbW*SubWidthC(1027)
nCbHY=(cIdx==0)?nCbH:nCbH*SubHeightC(1028)
变量shift1和offset1被推导如下:
–变量shift1被设置为等于Max(5,17-BitDepth)。
–变量offset1被设置为等于1<<(shift1-1)。
以下变量的值被设置为:
–hwRatio被设置为nH/nW
–hwRatioLog2被设置为Clip3(-2,2,[[log2(hwRatio)]]
–angleIdx被设置为angleSquareIdx
如果angleSquareIdx%6不等于0,则
angleIdx+=(angleSquareIdx%12<6)?-hwRatioLog2:hwRatioLog2
angleIdx=(angleIdx%6==0)?((angleSquareIdx%12<6)?angleSquareIdx+(hwRatioLog2>>1):angleSquareIdx-(hwRatioLog2>>1)):angleIdx
否则(如果angleSquareIdx%6等于0),并且如果hwRatioLog2小于0,则angleIdx+=(angleSquareIdx%12<6)?6:-6–displacementX被设置为angleIdx
–displacementY被设置为(displacementX+6)%24
–如果angleIdx>=10&&angleIdx<=20,PART1和PART2被分别设置为等于A和B,否则PART1和PART2被分别设置为等于B和A。
如果以下条件之一为真,则变量shiftHor被设置为等于0:
angleIdx%12等于6
angleIdx%12不等于0且hwRatio≥1
否则,shiftHor被设置为等于1。
如果shiftHor等于0,则offsetX和offsetY被推导如下:
offsetX=(-nW)>>1
offsetY=((-nH)>>1)+(angleIdx<12?(distanceIdx*nH)>>3:-((distanceIdx*nH)>>3))
否则,如果shiftHor等于1,则offsetX和offsetY被推导如下:
offsetX=((-nW)>>1)+(angleIdx<12?(distanceIdx*nW)>>3:-((distanceIdx*nW)>>3))
offsetY=(-nH)>>1
–变量xL和yL被推导如下:
xL=(cIdx==0)?x:x*SubWidthC
yL=(cIdx==0)?y:y*SubHeightC
–表示预测样点的权重的变量weightIdx和weightIdxAbs被推导如下:
–变量weightIdx和weightIdxAbs使用查找表37计算如下:
weightIdx=(((xL+offsetX)<<1)+1)*Dis[displacementX]+(((yL+offsetY)<<1)+1))*Dis[displacementY]。weightIdxAbs=Clip3(0,26,abs(weightIdx))。
–wValue的值根据表38推导如下:
wValue=weightIdx<=0?GeoFilter[weightIdxAbs]:8-GeoFilter[weightIdxAbs]
注–位于(x,y)的样点的wValue的值也可以从位于(x-shiftX,y-shiftY)的样点的wValue推导出来。如果angleIdx大于4且小于12,或angleIdx大于20且小于24,则shiftX为划分角度的正切且shiftY为1,否则shiftX为划分角度的1且shiftY为划分角度的余切。如果正切(resp.cotangent)值为无穷,则shiftX为1(resp.0)或shift Y为0(reps.1)。
–预测样点值推导如下:
pbSamples[x][y]=Clip3(0,(1<<BitDepth)-1,
(predSamplesLPART1[x][y]*wValue+predSamplesLPART2[x][y]*(8-wValue)+offset1)>>shift1 (1032)
表37–用于推导geo分割距离的查找表Dis。
表38–用于推导geo分割滤波器权重的滤波器权重查找表GeoFilter。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13
GeoFilter[idx] 4 4 4 4 5 5 5 5 5 5 5 6 6 6
idx 14 15 16 17 18 19 20 21 22 23 24 25 26
GeoFilter[idx] 6 6 6 6 7 7 7 7 7 7 7 7 8
c)基于JVET-Q0268的示例性规范改变如下:
8.5.7.2.用于geo merge模式的加权样点预测过程
该过程的输入为:
–两个变量nCbW和nCbH,表示当前编码块的宽度和高度,
–尺寸为(nCbW)×(nCbH)的两个阵列predSamplesLA和predSamplesLB,
–变量angleSquareIdx,表示正方形块的geo分割的角度索引,
–变量distanceIdx,表示geo分割的距离索引,
–变量cIdx,表示颜色分量索引。
该过程的输出为预测样点值的尺寸为(nCbW)×(nCbH)的阵列pbSamples。变量nW、nH和nCbR被推导如下:
nCbWY=(cIdx==0)?nCbW:nCbW*SubWidthC(1027)
nCbHY=(cIdx==0)?nCbH:nCbH*SubHeightC(1028)
变量shift1和offset1被推导如下:
–变量shift1被设置为等于Max(5,17-BitDepth)。
–变量offset1被设置为等于1<<(shift1-1)。
以下变量的值被设置为:
–hwRatio被设置为nH/nW
–hwRatioLog2被设置为[[log2(hwRatio)]]
–angleIdx被设置为angleSquareIdx
如果angleSquareIdx%8不等于0,则
angleIdx+=(angleSquareIdx%16<8)?–hwRatioLog2:hwRatioLog2
angleIdx=(angleIdx%8==0)?angleSquareIdx:angleIdx
否则(如果angleSquareIdx%8等于0),并且如果hwRatioLog2小于0,则angleIdx+=(angleSquareIdx%16<8)?8:–8–displacementX被设置为angleIdx
–displacementY被设置为(displacementX+6)%24
–如果angleIdx>=10&&angleIdx<=20,PART1和PART2被分别设置为等于A和B,否则PART1和PART2被分别设置为等于B和A。
如果以下条件之一为真,则变量shiftHor被设置为等于0:
angleIdx%12等于6
angleIdx%12不等于0且hwRatio≥1
否则,shiftHor被设置为等于1。
如果shiftHor等于0,则offsetX和offsetY被推导如下:
offsetX=(-nW)>>1
offsetY=((-nH)>>1)+(angleIdx<12?(distanceIdx*nH)>>3:-((distanceIdx*nH)>>3))
否则,如果shiftHor等于1,则offsetX和offsetY被推导如下:
offsetX=((-nW)>>1)+(angleIdx<12?(distanceIdx*nW)>>3:-((distanceIdx*nW)>>3))
offsetY=(-nH)>>1
–变量xL和yL被推导如下:
xL=(cIdx==0)?x:x*SubWidthC
yL=(cIdx==0)?y:y*SubHeightC
–表示预测样点的权重的变量weightIdx和weightIdxAbs被推导如下:
–变量weightIdx和weightIdxAbs使用查找表37计算如下:
weightIdx=(((xL+offsetX)<<1)+1)*Dis[displacementX]+(((yL+offsetY)<<1)+1))*Dis[displacementY]。
weightIdxAbs=Clip3(0,26,abs(weightIdx))。
–wValue的值根据表38被推导如下:
wValue=weightIdx<=0?GeoFilter[weightIdxAbs]:8-GeoFilter[weightIdxAbs]
注–位于(x,y)的样点的wValue的值也可以从位于(x-shiftX,y-shiftY)的样点的wValue推导出来。如果angleIdx大于4且小于12,或angleIdx大于20且小于24,则shiftX为划分角度的正切且shiftY为1,否则shiftX为划分角度的1且shiftY为划分角度的余切。如果正切(resp.cotangent)值为无穷,则shiftX为1(resp.0)或shift Y为0(reps.1)。
–预测样点值推导如下:
pbSamples[x][y]=Clip3(0,(1<<BitDepth)-1,(predSamplesLPART1[x][y]*wValue+predSamplesLPART2[x][y]*(8-wValue)+offset1)>>shift1) (1032)
表37–用于推导geo分割距离的查找表Dis。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Dis[idx] 8 8 8 8 4 4 2 1 0 -1 -2 -4 -4 -8 -8 -8
idx 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Dis[idx] -8 -8 -8 -8 -4 -4 -2 -1 0 1 2 4 4 8 8 8
表38–用于推导geo分割滤波器权重的滤波器权重查找表GeoFilter。
idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13
GeoFilter[idx] 4 4 4 4 5 5 5 5 5 5 5 6 6 6
idx 14 15 16 17 18 19 20 21 22 23 24 25 26
GeoFilter[idx] 6 6 6 6 7 7 7 7 7 7 7 7 8
与其他编码工具组合的GEO
24.编码工具X可以用于GEO编码的块。在此情况下,X和GEO的使用/边信息的指示可以都被信令通知。
a)在一个示例中,X可以是SBT。
b)在一个示例中,X可以是CIIP。
c)在一个示例中,X可以是MMVD。
d)当使用或不使用编码工具X时,GEO过程可以是不同的。例如,当使用编码工具X时可以使用的GEO方向/距离可以是当不使用编码工具X时可以使用的GEO方向/距离的子组。
25.是否/如何应用滤波过程可以取决于GEO的使用。
a)在一个示例中,在去方块过程中,边界滤波强度的值(例如,bS)可以取决于块是否使用GEO编码。
b)在一个示例中,如果块边缘是变换块边缘和样点p0或q0在MergeGeoFlag等于1的编码块中,则bS的值可以被设置为等于T(诸如T=2)。
c)在一个示例中,GEO块内的去方块边缘(例如,edgeFlags)的值可以总是不等于2。
i.在一个示例中,GEO块内的去方块边缘(例如,edgeFlags)的值可以等于2。
ii.在一个示例中,给定块边缘,如果样点p0或q0在MergeGeoFlag等于1的编码块中,则bS的值可以取决于运动矢量和/或参考图片。
附加实施例以下是可以应用于VVC规范的示例实施例。修改是基于GEO工作草案(JVET-P0884_P0885_WD(on_top_of_JVET-O2001-vE)_r2)的CE锚。新添加的部分以粗体下划线文本突出显示,并且从VVC工作草案中删除的部分用双括号标记(例如,[[a]]表示删除字符“a”)。
5.1.示例实施例#1:GEO模式约束1
7.3.8.7Merge数据语法
/>
/>
5.2.示例实施例#2:GEO模式约束2
7.3.8.7Merge数据语法
/>
/>
5.3.示例实施例#3:块尺寸取决于GEO模式选择1
8.5.7楔形帧间块的解码过程
8.5.7.1总体
当解码编码单元时调用该过程,其中,在编码单元中,wedge_merge_mode[xCb][yCb]等于1。
该过程的输入为:
亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列predSamplesL
–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL、predSamplesCb和predSamplesCr通过以下有序的步骤推导:
1.对于N为A和B中的每一个,以下适用:
–参考图片,包含亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr,通过调用第8.5.6.2节中规定的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag,以及设置为等于0的变量cIdx作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX、设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag,以及设置为等于1的变量cIdx作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设定为等于mvCN的运动矢量mvLX、设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、以及设置为等于2的变量cIdx作为输入。
3.楔形merge模式的分割角度和距离angleIdx和distanceIdex根据wedge_partition_idx[xCb][yCb]的值设置,如表8-10中所规定的。
4.当前亮度编码块内的预测样点predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
5.当前色度分量Cb编码块内的预测样点predSamplesCb[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
6.当前色度分量Cr编码块内的预测样点predSamplesCr[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
7.调用第8.5.7.3节中规定的用于merge楔形模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志predListFlagA和predListFlagB作为输入。
图21示出了对应的表8-10,其指示基于wedge_partition_idx’值的angleIdx和distanceIdx值的规范。
表9-77–语法元素和相关联的二值化
5.4.示例实施例#4:块尺寸取决于GEO模式选择2
8.5.7楔形帧间块的解码过程
8.5.7.1总体
当解码编码单元时调用该过程,其中,在编码单元中,wedge_merge_mode[xCb][yCb]等于1。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列predSamplesL
–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL、predSamplesCb和predSamplesCr通过以下有序的步骤推导:
8.对于N为A和B中的每一个,以下适用:
–参考图片,包含亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr,通过调用第8.5.6.2节中规定的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag、以及设置为等于0的变量cIdx作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX、设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag、以及设置为等于1的变量cIdx作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设定为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX、设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、以及设置为等于2的变量cIdx作为输入。
10.楔形merge模式的分割角度和距离angleIdx和distanceIdex根据wedge_partition_idx[xCb][yCb]的值设置,如表8-10中所规定的。
11.当前亮度编码块内的预测样点predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
12.当前色度分量Cb编码块内的预测样点predSamplesCb[xC][yC],其中xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
13.当前色度分量Cr编码块内的预测样点predSamplesCr[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于楔形merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
14.调用第8.5.7.3节中规定的用于merge楔形模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB以及预测列表标志predListFlagA和predListFlagB作为输入。
图22示出了对应的表8-10,其指示基于wedge_partition_idx’值的angleIdx和distanceIdx值的规范。
表9-77–语法元素和相关联的二值化
5.5.示例实施例#5:具有支持的20个角度的64个GEO模式
图23A示出了旧版的表8-10,其指示基于现在已经从相关工作草案删去的wedge_partition_idx值的angleIdx和distanceIdx值的规范。图23B示出了表8-10的示例,其指示基于wedge_partition_idx值的angleIdx和distanceIdx值的规范。图23B中所示的表8-10是64个模式的示例,该示例是在NUM_ANGLE=20且对于angleIdx=0/5/10/15允许仅2个距离的情况下的示例。
在以下描述中,新添加的部分以粗体下划线文本突出显示,并且从相关工作草案删除的部分用双括号标记(例如,[[a]]表示删除字符“a”)。
8.5.7.2楔形merge模式的加权样点预测过程
该过程的输入为:
–两个变量nCbW和nCbH,表示当前编码块的宽度和高度,
–尺寸为(nCbW)×(nCbH)的两个阵列predSamplesLA和predSamplesLB,
–变量angleIdx,表示楔形分割的角度索引,
–变量distanceIdx,表示楔形分割的距离idx,
–变量cIdx,表示颜色分量索引。
该过程的输出为预测样点值的尺寸为(nCbW)×(nCbH)的阵列pbSamples。
变量bitDepth推导如下:
–如果cIdx等于0,则bitDepth被设置为等于BitDepthY
–如果cIdx等于0,则nW和nH被分别设置为等于nCbW和nCbH,否则(cIdx不等于0)nW和nH被分别设置为等于nCbW×SubWidthC和nCbH×SubHeightC。
–如果cIdx等于0,则subW和subH都设置为1,否则(cIdx不等于0)
subW和subH分别被设置为等于SubWidthC和SubHeightC。
–否则,bitDepth被设置为等于BitDepthC
变量shift1和offset1推导如下:
–变量shift1被设置为等于Max(5,17-bitDepth)。
–变量offset1被设置为等于1<<(shift1-1)。
以下变量的值被设置为:
–hwRatio被设置为nH/nW
–displacementX被设置为angleIdx
–displacementY被设置为(displacementX+[[6]] )%[[
–如果angleIdx>[[=10]]&&angleIdx<[[=20]]/>则PART1和PART2被分别设置为等于A和B,否则PART1和PART2被分别设置为等于B和A。
–使用表示为Dis的查找表将rho设置为以下值,如在表8-12中所规定:
rho=(Dis[displacementX]<<8)+(Dis[displacementY]<<8)
如果以下条件之一为真,则变量shiftHor被设置为等于0:
angleIdx%[[12]]等于[[6]]/>
angleIdx%[[12]]不等于0且hwRatio≥1
否则,shiftHor被设置为等于1。
如果shiftHor等于0,则offsetX和offsetY被推导如下:
offsetX=(256-nW)>>1
offsetY=(256-nH)>>1+angleIdx<[[12]]
?(distanceIdx*nH)>>3:-((distanceIdx*nH)>>3)
否则,如果shiftHor等于1,则offsetX和offsetY被推导如下:
offsetX=(256-nW)>>1+angleIdx<[[12]]
?(distanceIdx*nW)>>3:-((distanceIdx*nW)>>3)
offsetY=(256-nH)>>1
预测样点值pbSamples[x][y],其中,x=0..nCbW-1且y=0..nCbH–1,根据以下有序步骤设置:
-变量weightIdx和weightIdxAbs使用查找表8-12计算如下:
weightIdx=(((x*subW+offsetX)<<1)+1)*Dis[displacementX]+(((y*subH+offsetY)<<1)+1))*Dis[displacementY]-rho。
weightIdxAbs=Clip3(0,26,abs(weightIdx))。
-sampleWeight的值根据表8-13推导如下:
sampleWeight=weightIdx<=0?WedgeFilter[weightIdxAbs]:8
-WedgeFilter[weightIdxAbs]
注–样点sampleWeightL[x][y]的值也可以从sampleWeightL[x-shiftX][y-shiftY]推导出来。如果angleIdx大于4且小于12,或angleIdx大于20且小于24,则shiftX为划分角度的正切且shiftY为1,否则shiftX为划分角度的1且shiftY为划分角度的余切。如果正切(resp.cotangent)值为无穷,则shiftX为1(resp.0)或shift Y为0(reps.1)。
-预测样点值pbSamples[x][y]推导如下:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesLPART1[x][y]*(8–sampleWeight)+
predSamplesLPART2[x][y]*sampleWeight+offset1)>>shift1)
表8-12–用于推导楔形分割距离的查找表Dis。
下表现已从相关工作草案中删除。
在相关工作草案中改变的表的示例示出如下。
·
·
·
/>
·
·
表8-13–用于推导楔形分割滤波器权重的滤波器权重查找表WedgeFilter。
8.5.7.3用于楔形merge模式的运动矢量存储过程
当解码具有MergeWedgeFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
变量numSbX和numSbY表示当前编码块中在水平和垂直方向上的4×4块的数量且被设置为等于numSbX=cbWidth>>2和numSbY=cbHeight>>2。
以下变量的值被设置为:
–displacementX被设置为angleIdx,displacementY被设置为(displacementX+[[6]])%[[24]]/>–hwRatio被设置为等于nCbH/nCbW
如果以下条件之一为真,则变量shiftHor被设置为等于0:angleIdx%[[12]]等于[[8]]/>angleIdx%[[12]]/>不等于0且hwRatio≥1否则,shiftHor被设置为等于1。
partIdx被设置为angleIdx>[[=&&angleIdx<[[=/>?1:0。
如果shiftHor等于0,则offsetX和offsetY被推导如下:
–offsetX=(64–numSbX)>>1
–offsetY=(64-numSbY)>>1+angleIdx<[[12]]
(distanceIdx*nCbH)>>5:-((distanceIdx*nCbH)>>5)
否则,如果shiftHor等于1,则offsetX和offsetY被推导如下:
–offsetX=(64–numSbX)>>1+angleIdx<[[12]]
?(distanceIdx*nCbW)>>5:-((distanceIdx*nCbW)>>5)
–offsetY=(64–numSbY)>>1
根据以下等式且根据在表8-12中规定的Dis查找表推导变量rho的值:
–rho=(Dis[displacementX]<<8)+(Dis[displacementY]<<8)。
使用在表8-11和表8-12中规定的表示为Dis的查找表将motionOffset设置为等于以下值:
–motionOffset=3*Dis[displacementX]+3*Dis[displacementY]。
对于子块索引(xSbIdx,ySbIdx)处的每个4×4子块,其中,xSbIdx=0..numSbX-1,且ySbIdx=0..numSbY-1,以下适用:
变量motionIdx使用查找表8-12计算如下:
–motionIdx=(((xSbIdx+offsetX)<<3)+1)*Dis[displacementX]+(((xSbIdx+offsetY<<3)+1))*Dis[displacementY]–rho+motionOffset变量sType推导如下:
–sType=abs(motionIdx)<32?2:motionIdx<=0?partIdx:1-partIdx
以下是示例实施例,其可以应用于VVC规范。修改是基于GEO工作草案(JVET-P0884_P0885_WD(on_top_of_JVET-O2001-vE)_r2)的CE锚。新添加的部分以粗体下划线文本突出显示,并且从VVC工作草案中删除的部分用双括号标记(例如,[[a]]表示删除字符“a”)。
示例实施例:GEO模式约束
7.3.9.7Merge数据语法
示例实施例:GEO模式约束
7.3.9.7Merge数据语法
示例实施例:GEO模式约束
7.3.9.7Merge数据语法
示例实施例:GEO模式约束
7.3.9.7Merge合数据语法
示例实施例:块尺寸取决于GEO模式选择
8.5.7geo帧间块的解码过程
8.5.7.1总体
当解码MergeGeoFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列predSamplesL,–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL、predSamplesCb和predSamplesCr通过以下有序的步骤推导:
1.对于N为A和B中的每一个,以下适用:
–由亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr构成的参考图片通过调用第8.5.6.2节中规定的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL通过调用第8.5.6.3节中规定的分数样点内插过程来推导,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag、设置为等于0的变量cIdx,以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCb通过调用第8.5.6.3节中规定的分数样点内插过程来推导,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag、设置为等于1的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCr通过调用第8.5.6.3节中规定的分数样点内插过程来推导,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、设置为等于2的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
2.
3.merge geo模式的分割角度和距离变量angleIdx和distanceIdx根据merge_geo_parition_idx[xCb][yCb]的值设置,如表36中所规定的。
4.当前亮度编码块内的预测样点,predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
5.当前色度分量Cb编码块内的预测样点,predSamplesCb[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
6.当前色度分量Cr编码块内的预测样点,predSamplesCr[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
7.调用第8.5.7.3节中规定的用于merge geo模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志predListFlagA和predListFlagB作为输入。
图24A示出了指示基于geo_partition_idx值的geo_partition_idx’值的映射表的表。图24B示出了旧版的表36,其现在已经从相关工作草案中删去。图24C示出了表36,其指示基于geo_partition_idx值的angleIdx和distanceIdx值的规范。
表123–语法元素和相关联的二值化
示例实施例:块尺寸取决于GEO模式选择
8.5.7geo帧间块的解码过程
8.5.7.1总体
当解码MergeGeoFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列
predSamplesL,
–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL、predSamplesCb和predSamplesCr通过以下有序的步骤推导:
1.对于N为A和B中的每一个,以下适用:
–由亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr构成的参考图片通过调用第8.5.6.2中规定的过程来推导的,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight,设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag、设置为等于0的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag、设置为等于1的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、设置为等于2的变量cIdx,以及RefPicScale[predListFlagN][refIdxN]作为输入。
2.merge geo模式的分割角度和距离变量angleIdx和distanceIdx根据如表36中所规定的merge_geo_parition_idx[xCb][yCb]的值设置。
3.当前亮度编码块内的预测样点,predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
4.当前色度分量Cb编码块内的预测样点,predSamplesCb[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
5.当前色度分量Cr编码块内的预测样点,predSamplesCr[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
6.调用第8.5.7.3节中规定的用于merge geo模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志predListFlagA和predListFlagB作为输入。
旧版的表36指示基于geo_partition_idx值的angleIdx和distanceIdx值的规范,geo_partition_idx值在图24B中示出,且现已经从相关工作草案中删除。图24D示出了表36,其指示基于geo_partition_idx值的angleIdx和distanceIdx值的规范。
表123–语法元素和相关联的二值化
示例实施例:块尺寸取决于GEO模式选择
7.3.2.3序列参数集RBSP语法
7.4.10.7Merge数据语义
merge_geo_partition_idx[x0][y0]规定merge几何模式的几何划分方向。阵列索引x0、y0规定所考虑的编码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
当merge_geo_partition_idx[x0][y0]不存在时,其被推断为等于0。
8.5.7geo帧间块的解码过程
8.5.7.1总体
当解码MergeGeoFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列predSamplesL,
–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL、predSamplesCb和predSamplesCr通过以下有序的步骤推导:
1.对于N为A和B中的每一个,以下适用:
–由亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr构成的参考图片通过调用第8.5.6.2节中规定的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag、设置为等于0的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag、设置为等于1的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、设置为等于2的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
2.
3.merge geo模式的分割角度和距离变量angleIdx和distanceIdx根据如表36中所规定的merge_geo_parition_idx’[xCb][yCb]的值设置。
4.当前亮度编码块内的预测样点,predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
5.当前色度分量Cb编码块内的预测样点,predSamplesCb[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
6.当前色度分量Cr编码块内的预测样点,predSamplesCr[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
7.调用第8.5.7.3节中规定的用于merge geo模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志predListFlagA和predListFlagB作为输入。
在该示例中,使用如图24A所描述的基于geo_partition_idx值的geo_partition_idx’值的映射表。旧版的表36指示基于现在已经从工作草案中删除的geo_partition_idx值的angleIdx和distanceIdx值的规范,旧版的表36如图24B所示。图24E示出了表36,其指示基于geo_partition_idx值的angleIdx和distanceIdx值的规范。
表123–语法元素和相关联的二值化
示例实施例:块尺寸取决于GEO模式选择
7.3.2.3序列参数集RBSP语法
7.4.10.7Merge数据语义
merge_geo_partition_idx[x0][y0]规定merge几何模式的几何划分方向。阵列索引x0、y0规定所考虑的编码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
当merge_geo_partition_idx[x0][y0]不存在时,其被推断为等于0。
8.5.7geo帧间块的解码过程
8.5.7.1总体
当解码MergeGeoFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列
predSamplesL,
–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且predSamplesLACb、predSamplesLBCb、predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL、predSamplesCb和predSamplesCr通过以下有序的步骤推导:
1.对于N为A和B中的每一个,以下适用:
–由亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr构成的参考图片通过调用第8.5.6.2节中规定的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag、设置为等于0的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设定为等于mvCN的运动矢量mvLX和设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag、设置为等于1的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、设置为等于2的变量cIdx,以及RefPicScale[predListFlagN][refIdxN]作为输入。
3.merge geo模式的分割角度和距离变量angleIdx和distanceIdx根据merge_geo_parition_idx’[xCb][yCb]的值设置,如表36中所规定的。
4.当前亮度编码块内的预测样点,predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
5.当前色度分量Cb编码块内的预测样点,predSamplesCb[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
6.当前色度分量Cr编码块内的预测样点,predSamplesCr[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
7.调用第8.5.7.3节中规定的用于merge geo模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志predListFlagA和predListFlagB作为输入。
在该示例中,使用如图24A所描述的基于geo_partition_idx值的geo_partition_idx’值的映射表。旧版的表36指示基于现在已经从工作草案中删除的geo_partition_idx值的angleIdx和distanceIdx值的规范,且旧版的表36如图24B所示。指示基于geo_partition_idx值的angleIdx和distanceIdx值的规范的表36如图24E所示。
表123–语法元素和相关联的二值化
示例实施例:块尺寸取决于GEO模式选择
7.3.2.3序列参数集RBSP语法
/>
7.4.10.7Merge数据语义
merge_geo_partition_idx[x0][y0]规定merge几何模式的几何划分方向。阵列索引x0、y0指定所考虑的编码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
当merge_geo_partition_idx[x0][y0]不存在时,其被推断为等于0。
8.5.7geo帧间块的解码过程
8.5.7.1总体
当解码MergeGeoFlag[xCb][yCb]等于1的编码单元时调用该过程。
该过程的输入为:
–亮度位置(xCb,yCb),表示当前编码块的左上样点相对于当前图片的左上亮度样点的相对位置,
–变量cbWidth,表示亮度样点中的当前编码块的宽度,
–变量cbHeight,表示亮度样点中的当前编码块的高度,
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–色度运动矢量mvCA和mvCB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
该过程的输出为:
–亮度预测样点的尺寸为(cbWidth)×(cbHeight)的阵列
predSamplesL,
–分量Cb的色度预测样点的尺寸为(cbWidth/SubWidthC)×
(cbHeight/SubHeightC)的阵列predSamplesCb
–分量Cr的色度预测样点的尺寸为(cbWidth/SubWidthC)×
(cbHeight/SubHeightC)的阵列predSamplesCr
使predSamplesLAL和predSamplesLBL表示预测的亮度样点值的尺寸为(cbWidth)×(cbHeight)的阵列,并且,predSamplesLACb、predSamplesLBCb,predSamplesLACr和predSamplesLBCr表示预测的色度样点值的尺寸为(cbWidth/SubWidthC)×(cbHeight/SubHeightC)的阵列。
predSamplesL,predSamplesCb和predSamplesCr通过以下有序的步骤推导:
8.对于N为A和B中的每一个,以下适用:
–由亮度样点的有序二维阵列refPicLNL和色度样点的两个有序二维阵列refPicLNCb和refPicLNCr构成的参考图片通过调用第8.5.6.2节中规定的的过程来推导,其中,设置为等于predListFlagN的X和设置为等于refIdxN的refIdxX作为输入。
–阵列predSamplesLNL是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth的亮度编码块宽度sbWidth、设置为等于cbHeight的亮度编码块高度sbHeight,设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvN的运动矢量mvLX和设置为等于refPicLNL的参考阵列refPicLXL、设置为等于FALSE的变量bdofFlag、设置定为等于0的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCb是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCb的参考阵列refPicLXCb、设置为等于FALSE的变量bdofFlag、设置为等于1的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
–阵列predSamplesLNCr是通过调用第8.5.6.3节中规定的分数样点内插过程来推导的,其中,亮度位置(xCb,yCb)、设置为等于cbWidth/SubWidthC的编码块宽度sbWidth、设置为等于cbHeight/SubHeightC的编码块高度sbHeight、设置为等于(0,0)的运动矢量偏移mvOffset、设置为等于mvCN的运动矢量mvLX和设置为等于refPicLNCr的参考阵列refPicLXCr、设置为等于FALSE的变量bdofFlag、设置为等于2的变量cIdx、以及RefPicScale[predListFlagN][refIdxN]作为输入。
10.merge geo模式的分割角度和距离变量angleIdx和distanceIdx根据merge_geo_parition_idx’[xCb][yCb]的值设置,如表36中所规定的。
11.当前亮度编码块内的预测样点,predSamplesL[xL][yL],其中,xL=0..cbWidth-1且yL=0..cbHeight-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth的编码块宽度nCbW、设置为等于cbHeight的编码块高度nCbH、样点阵列predSamplesLAL和predSamplesLBL、变量angleIdx和distanceIdx以及等于0的cIdx作为输入。
12.当前色度分量Cb编码块内的预测样点,predSamplesCb[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACb和predSamplesLBCb、变量angleIdx和distanceIdx以及等于1的cIdx作为输入。
13.当前色度分量Cr编码块内的预测样点,predSamplesCr[xC][yC],其中,xC=0..cbWidth/SubWidthC-1且yC=0..cbHeight/SubHeightC-1,是通过调用第8.5.7.2节中规定的用于geo merge模式的加权样点预测过程来推导的,其中,设置为等于cbWidth/SubWidthC的编码块宽度nCbW、设置为等于cbHeight/SubHeightC的编码块高度nCbH、样点阵列predSamplesLACr和predSamplesLBCr、变量angleIdx和distanceIdx以及等于2的cIdx作为输入。
14.调用第8.5.7.3节中规定的用于merge geo模式的运动矢量存储过程,其中,亮度编码块位置(xCb,yCb)、亮度编码块宽度cbWidth、亮度编码块高度cbHeight、分割方向angleIdx和distanceIdx、亮度运动矢量mvA和mvB、参考索引refIdxA和refIdxB、以及预测列表标志predListFlagA和predListFlagB作为输入。
在该示例中,使用如图24A所描述的基于geo_partition_idx值的geo_partition_idx’值的映射表。旧版的表36指示基于现在已经从工作草案中删除的geo_partition_idx值的angleIdx和distanceIdx值的规范,旧版的表36如图24B所示。指示基于geo_partition_idx值的angleIdx和distanceIdx值的规范的表36如图24E所示。
表123–语法元素和相关联的二值化
/>
所公开的技术的示例实现方式
图13A是视频处理设备1300的框图。设备1300可以用于实现本文中描述的一种或多种方法。设备1300可以实现在智能手机、平板计算机、计算机、物联网(IoT)接收器等等中。设备1300可以包括一个或多个处理器1302、一个或多个存储器1304和视频处理硬件1306。(多个)处理器1302可以被配置为实现本文档中所描述的一种或多种方法。存储器(多个存储器)1304可以被用于存储用于实现本文中描述的方法和技术的数据和代码。视频处理硬件1306可以用于在硬件电路中实现本文档中所描述的一些技术,并且可以部分地或完全地是处理器1302的一部分(例如,图形处理器核心GPU或其他信号处理电路)。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。当前视频块的比特流表示可以例如对应于并置的或分布在比特流内不同位置的比特,如语法所定义。例如,宏块可以依据变换并编码的错误残差值被编码,并且也使用比特流中的标头和其他字段中的比特。
应理解,通过允许使用本文档中所公开的技术,所公开的方法和技术将有益于整合在视频处理装置(诸如智能手机、膝上式计算机、桌面式计算机和类似装置)中的视频编码器和/或解码器实施例。
图13B是示出示例视频处理系统1310的框图,在该视频处理系统1310中可以实现本文中所公开的各种技术。各种实现方式可以包括系统1310的一些或全部组件。系统1310可以包括输入1312以接收视频内容。视频内容可以被以原始或未压缩格式接收,例如,8或10比特多分量像素值,或可以被以压缩或编码格式接收。输入1312可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如Ethernet、无源光纤网络(PON)等)和无线接口,诸如Wi-Fi或蜂窝接口。
系统1310可以包含编码组件1314,其可以实现本文档中所描述的各种编解码或编码方法。编码组件1314可以减小从输入1312到编码组件1314的输出的视频的平均比特率,以产生视频的编码表示。编码技术因此有时被称为视频压缩或视频转码技术。编码组件1314的输出可以被存储或经由连接的通信传输,如组件1316所表示。在输入1312处接收的视频的存储或通信的比特流(或编码)表示可以由组件1318用于生成被发送到显示接口1320的像素值或可显示视频。从比特流表示生成用户可观看视频的过程有时被称为视频解压缩。另外,虽然某些视频处理操作被称为“编码”操作或工具,但应理解,编码工具或操作被用于编码器,并且逆转编码的结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高分辨率多媒体接口(HDMI)或Displayport等等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等等。本文档中所描述的技术可以实施在各种电子装置中,诸如移动电话、膝上式计算机、智能手机或能够执行数字数据处理和/或视频显示的其他装置。
所公开的技术的一些实施例包括进行决策或确定以启用视频处理工具或模式。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现工具或模式,但不一定会基于工具或模式的使用而修改所得比特流。即,当基于决策或确定启用视频处理工具或模式时,从视频块转换为视频的比特流表示将使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在了解到比特流已经基于视频处理工具或模式被修改的情况下处理比特流。即,从视频的比特流表示转换为视频块将使用基于决策或确定而启用的视频处理工具或模式进行。
所公开的技术的一些实施例包括进行决策或确定以禁用视频处理工具或模式。在一个示例中,当视频处理工具或模式被禁用时,在视频块转换为视频的比特流表示时编码器将不使用工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在了解到比特流未使用基于决策或确定启用的视频处理工具或模式修改的情况下处理比特流。
图14是视频处理的示例方法1400的流程图。方法1400包括,在1402,执行视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,其中,在转换期间,至少部分地基于确定当前视频块的一个或多个维度和/或当前视频块的一个或多个维度的数学函数达到至少一个阈值条件而选择性地启用或禁用使用几何分割模式。
图15是图示示例视频编码系统100的框图,该视频编码系统100可以利用本公开的技术。
如图15所示,视频编码系统100可以包括源装置110和目的地装置120。源装置110生成编码视频数据,其可以被称为视频编码装置。目的地装置120可以解码由源装置110生成的编码视频数据,其可以被称为视频解码装置。
源装置110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括源,诸如视频捕捉装置、从视频内容提供者接收视频数据的接口,和/或用于生成视频数据的计算机图形系统,或这样的源的组合。视频数据可以包括一个或多个图片。视频编码器114编码来自视频源112的视频数据以生成比特流。比特流可以包括比特的序列,其形成视频数据的编码表示。比特流可以包括编码图片和相关联的数据。编码图片是图片的编码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码视频数据可以经由I/O接口116通过网络130a直接传输到目的地装置120。编码视频数据也可以存储到存储介质/服务器130b上以由目的地装置120访问。
目的地装置120可以包括I/O接口126、视频解码器124以及显示装置122。
I/O接口126可以包含接收器和/或调制解调器。I/O接口126可以从源装置110或存储介质/服务器130b获取编码视频数据。视频解码器124可以解码编码视频数据。显示装置122可以向用户显示解码的视频数据。显示装置122可以与目的地装置120集成在一起,或可以在配置为与外部显示装置相接的目的地装置120的外部。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编码(HEVC)标准、多功能视频编码(VVM)标准和其他当前和/或未来的标准。
图16是图示视频编码器200的示例的框图,视频编码器200可以是图15中所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任意或全部技术。在图16的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任意或全部技术。
视频编码器200的功能组件可以包括含分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213,以及熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式中下执行预测,在IBC模式中,至少一个参考图片是当前视频块所处的图片。
另外,一些组件,诸如运动估计单元204和运动补偿单元205可以高度集成,但在图16的示例中出于解释目的分开地表示。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于误差结果选择编码模式(帧内或帧间)之一,并且将所得帧内或帧间编码的块提供到残差生成单元207以生成残差块数据和提供到重构单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较而生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片的运动信息和解码的样点而非与当前视频块相关联的图片来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索列表0或列表1的参考图片以寻找当前视频块的参考视频块。运动估计单元204然后可以生成参考索引,其指示包含参考视频块和指示当前视频块与参考视频块之间的空域位移的运动矢量的列表0或列表1中的参考图片。运动估计单元204可以输出参考索引、预测方向指示符以及运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204然后可以生成参考索引,其指示包括参考视频块和指示参考视频块与当前视频块之间的空域位移的运动矢量的列表0和列表1中的参考图片。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出解码器的解码过程的一整组的运动信息。
在一些示例中,运动估计单元204可以不输出当前视频的一整组的运动信息。反之,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息充分类似于相邻视频块的运动信息。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差表示当前视频块的运动矢量与所指示的视频块的运动矢量之间的差值。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差异以确定当前视频块的运动矢量。
如以上所讨论,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的解码的样点而生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块减去(例如,由减号指示)当前视频块的(多个)预测视频块而生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同的样点分量的残差视频块。
在其他示例中,对于当前视频块,可以不存在当前视频块的残差数据,例如在跳过模式中,并且残差生成单元207可以不进行减法操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值而量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别向变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重构单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应的样点,以产生与当前块相关联的重建视频块,以存储在缓冲器213中。
在重构单元212重建视频块之后,可以进行环路滤波操作以减少视频块中的视频块伪影。
熵编码单元214可以接收来自视频编码器200的其他功能组件的数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码的数据,并输出包含熵编码的数据的比特流。
图17是图示视频解码器300的示例的框图,该视频解码器300可以是图15中所示的系统100中的视频解码器124。
视频解码器300可以被配置为执行本公开的任意或全部技术。在图17的示例中,视频解码器300包含多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任意或全部技术。
在图17的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305,以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行总体上与关于视频编码器200(图16)描述的编码过程相反的解码过程。
熵解码单元301可以检索编码的比特流。编码的比特流可以包括熵编码的视频数据(例如,视频数据的编码块)。熵解码单元301可以解码熵编码的视频数据,并且根据熵解码的视频数据,运动补偿单元302可以确定运动信息,运动信息包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和merge模式确定这样的信息。
运动补偿单元302可以产生运动补偿的块,可能基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以被包含在语法元素中。
运动补偿单元302可以使用如由视频编码器20在视频块的编码期间使用的插值滤波器,以计算参考块的子整数像素的插值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200使用的插值滤波器,并且使用插值滤波器以产生预测块。
运动补偿单元302可以使用语法信息中的一些信息以确定用于编码编码视频序列的(多个)帧和/或(多个)条带的块的尺寸,描述如何分割编码视频序列的图片的每个宏块的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及用于解码编码视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式以从空域相邻块形成预测块。逆量化单元303逆量化(即,去量化)在比特流中提供并由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块加和,以形成解码的块。如果期望,还可以应用去方块滤波以滤波解码的块,以便去除块状伪影。解码的视频块然后被存储在缓冲器307中,其提供参考块以用于后续运动补偿/帧内预测,并且还产生解码的视频以呈现在显示装置上。
以下提供一些实施例优选的条款的列表。
第一组条款示出之前章节所讨论的技术的示例实施例。
1.一种视频处理的方法,包括:执行视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,其中,在转换期间,至少部分地基于确定当前视频块的一个或多个维度和/或当前视频块的一个或多个维度的数学函数达到至少一个阈值条件而选择性地启用或禁用几何分割模式的使用。
2.根据条款1所述的方法,其中,几何分割模式包括以下中的至少一个:三角预测模式(TPM)、几何merge模式(GEO)和/或楔形预测模式。
3.根据条款1-2中的一项或多项所述的方法,其中,几何分割模式包括将视频块划分为两个或更多个子区域,其中,至少一个子区域不包括QT、BT和/或分割。
4.根据条款1-3中的一项或多项所述的方法,其中,当前视频块的一个或多个维度包括当前视频块的块宽度、块高度和/或纵横比。
5.根据条款1-4中的一项或多项所述的方法,其中,实现至少一个阈值条件包括当前视频块的一个或多个维度或其数学函数大于和/或小于对应的阈值。
6.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为T1,T2,T3,T4,并且,如果W>=T1和/或H>=T2和/或W*H<T3和/或W*H>T4,则几何分割模式被启用。
7.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为T1,T2,T3,T4,并且,如果W>=T1和/或H>=T2和/或W*H<=T3和/或W*H>=T4,则几何分割模式被启用。
8.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为T1,T2,T3,T4,并且,如果W*H<T1||(W*H<=T2&&W/H<=T3&&H/W<=T4),则几何分割模式被启用。
9.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为T1,T2,T3,T4,并且,如果W*H<T1||(W*H<=T2&&abs(logW-logH)<=T3),则几何分割模式被启用。
10.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为T1,T2,T3,T4,并且,如果W*H<=T1&&W/H<=T2&&H/W<=T3,则几何分割模式被启用。
11.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为Tx、Ty,并且,如果W>=Tx且H>=Ty,则几何分割模式被启用。
12.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为N,M,并且,如果W>N和/或H>M,则几何分割模式被禁用。
13.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为Ti(i=1…17),并且,如果实现一个或多个以下规定的阈值条件,则几何分割模式被禁用:
W<T1和/或W>T2和/或W=T3
H<T4和/或H>T5和/或H=T6
W*H<T7和/或W*H>T8和/或W*H=T8
W/H>T9和/或W/H>T10和/或W/H=T11
H/W>T12和/或H/W>T13和/或H/W=T14
Abs(logW–logH)>T15和/或Abs(logW–logH)<T16和/或Abs(logW–logH)=T17。
14.根据条款5所述的方法,其中,块宽度表示为W,块高度表示为H,其中,阈值表示为Ti(i=1…17),并且,如果实现一个或多个以下规定的阈值条件,则几何分割模式被启用:
W<T1和/或W>T2和/或W=T3
H<T4和/或H>T5和/或H=T6
W*H<T7和/或W*H>T8和/或W*H=T8
W/H>T9和/或W/H>T10和/或W/H=T11
H/W>T12和/或H/W>T13和/或H/W=T14
Abs(logW–logH)>T15和/或Abs(logW–logH)<T16和/或Abs(logW–logH)=T17。
15.根据条款5-14中的一项或多项所述的方法,其中,当前视频块是亮度块。
16.根据条款5-14中的一项或多项所述的方法,其中,当前视频块是色度块。
17.根据条款5-14中的一项或多项所述的方法,其中,当前视频块包括亮度分量和色度分量,并且其中,在从至少一个阈值条件确定几何分割模式对于亮度分量被禁用时,几何分割模式对于色度分量也被禁用。
18.根据条款5-14中的一项或多项所述的方法,其中,当前视频块包括亮度分量和色度分量,并且其中,在从至少一个阈值条件确定几何分割模式对亮度分量被启用时,几何分割模式对色度分量也被启用。
19.根据条款5-14中的一项或多项所述的方法,其中,当前视频块包括亮度分量和色度分量,并且,至少一个阈值条件对于亮度分量实现且对于色度分量不实现。
20.一种视频处理的方法,包括:执行视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,其中,在转换期间,允许对当前视频块使用多组几何分割模式,其中,至少部分地基于当前视频块的尺寸选择多组几何分割模式。
21.根据条款20所述的方法,其中,比特流表示中包括允许多组几何分割模式的指示。
22.根据条款20所述的方法,其中,多组几何分割模式中的至少两组包括不同数量的几何分割模式。
23.根据条款20所述的方法,其中,多组几何分割模式中的至少两组包括相同数量的几何分割模式,其中,包含在一组几何分割模式中的至少一个几何分割模式在另一组几何分割模式中被排除。
24.根据条款20所述的方法,其中,比特流表示中包括选择的多组几何分割模式的总数的指示。
25.根据条款25所述的方法,其中,选择的多组几何分割模式的总数小于阈值。
26.根据条款20-26中的一项或多项所述的方法,其中,与被允许的多组几何分割模式相关联的几何分割模式由几何分割模式索引标识,并且,几何分割模式索引包括与当前视频块有关的楔形的对应的分割角度索引和/或对应的分割距离索引。
27.根据条款26所述的方法,其中,几何分割模式索引到第一几何分割模式的映射是基于确定多组几何分割模式中的哪一组与第一几何分割模式相关联。
28.一种视频处理的方法,包括:执行视觉媒体数据的视频块与视觉媒体数据的比特流表示之间的转换,其中,在转换期间,几何分割模式的第一计数被用于计算第一视频块的分割角度索引和/或分割距离索引,几何分割模式的第二计数被用于第二视频块的比特流表示,并且几何分割模式的第三计数在第三视频块的比特流表示中被信令通知,其中,第一计数和/或第二计数和/或第三计数至少基于第一、第二和第三视频块的对应的维度。
29.根据条款28所述的方法,其中,第二计数和/或第三计数不同于第一计数。
30.根据条款28所述的方法,其中,第二计数等于第三计数。
31.根据条款28所述的方法,其中,第二计数和/或第三计数小于第一计数。
32.根据条款28所述的方法,其中,第一、第二和第三视频块与第一、第二和第三类别的视频块相关联。
33.根据条款32所述的方法,其中,第一、第二和第三类别的视频块是不同的,并且,第一、第二和第三类别的视频块与不同的维度相关联。
34.根据条款28所述的方法,其中,当第一块的维度满足一个或多个阈值条件时,第二计数和/或第三计数小于第一计数。
35.一种视频处理的方法,包括:执行视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,其中,在转换期间,第一几何分割模式索引值在当前视频块的比特流表示中被信令通知,并且第二几何分割模式索引值被用于计算当前视频块的分割角度索引和/或分割距离索引,并且,第一几何分割模式索引值不同于第二几何分割模式索引值。
36.根据条款35所述的方法,其中,至少一个映射表定义第一几何分割模式索引值与第二几何分割模式索引值之间的关系。
37.根据条款36所述的方法,其中,至少一个映射表包括第一映射表和第二映射表,并且,第一映射表与第一类型的视频块相关联,第二映射表与第二类型的视频块相关联。
38.一种视频处理的方法,包括:执行视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,其中,在转换期间,对于当前视频块允许使用几何分割模式,并且,几何分割模式的参数是使用简化的角度组和/或简化的距离组计算的。
39.根据条款38所述的方法,其中,简化的角度组的数量小于阈值,并且,阈值为24。
40.根据条款38所述的方法,其中,简化的距离组的数量小于阈值,并且,阈值为82。
41.根据条款38所述的方法,其中,查找表被用于计算简化的距离组,并且,查找表的尺寸至少部分地基于简化的角度组。
42.一种视频解码设备,包括处理器,该处理器配置为实现条款1至41中的一项或多项中所述的方法。
43.一种视频编码设备,包括处理器,该处理器配置为实现条款1至41中的一项或多项中所述的方法。
44.一种计算机程序产品,其上存储有计算机代码,当由处理器执行所述代码时,使处理器实现条款1至44中任一项所述的方法。
45.本文档中所描述的一种方法、设备或系统。
第二组条款描述了所公开的技术的之前章节中的某些特征和方面。
1.一种视频处理的方法(例如,图18A中所示的方法1810),包括:执行1812视频的当前视频块与视频的比特流表示之间的转换,其中,在转换期间,允许对当前视频块使用几何分割模式,并且,使用一组角度和/或一组距离计算几何分割模式的参数,一组角度包括小于第一阈值的第一数量的角度,一组距离包括小于第二阈值的第二数量的距离。
2.根据条款1所述的方法,其中,第一阈值为24。
3.根据条款1所述的方法,其中,几何分割模式选自一组几何分割模式,并且,该组几何分割模式包括的模式的数量小于第三阈值。
4.根据条款3所述的方法,其中,第三阈值为82。
5.根据条款1所述的方法,其中,第二阈值为3或4。
6.根据条款1所述的方法,其中,用于一个或多个角度的距离的数量小于第二阈值。
7.根据条款1所述的方法,其中,用于垂直角度和水平角度的距离的数量等于X,其中,X为正整数。
8.根据条款1所述的方法,其中,X为2。
9.根据条款1所述的方法,其中,在当前视频块的解码过程中所使用的角度的数量等于1与变量angleIdx的最大值之和,其中,变量angleIdx指定几何分割模式的角度索引。
10.根据条款1所述的方法,其中,用于当前视频块的加权样点预测过程和/或运动矢量存储过程中的变量displacemenY的计算取决于解码过程中所使用的角度的总数,其中,displacementY被设置为(displacementX+(NUM_ANGLE>>2)))%NUM_ANGLE,displacementX被设置为angleIdx,angleIdx指定几何分割模式的角度索引,并且NUM_ANGLE指定在当前视频块的解码过程中所使用的角度的数量。
11.根据条款1所述的方法,其中,在当前视频块的加权样点预测过程和/或运动矢量存储过程中所使用的变量shiftHor的计算取决于解码过程中所使用的角度的总数,其中,shiftHor被设置为0或1。
12.根据条款11所述的方法,其中,在满足以下条件中的至少一个的情况下,shiftHor被设置为0:
1)angleIdx%(NUM_ANGLE/2)等于(NUM_ANGLE>>2)
2)angleIdx%(NUM_ANGLE/2)不等于0且hwRatio≥1,其中,hwRatio被设置为H/W,
其中,angleIdx指定几何分割模式的角度索引,并且NUM_ANGLE指定当前视频块的解码过程中所使用的角度的数量,并且H和W分别表示当前视频块的高度和宽度。
13.根据条款11所述的方法,其中,用于推导当前视频块的混合权重索引的偏移值的推导过程取决于角度的数量和/或shiftHor的值。
14.根据条款11所述的方法,其中,用于推导当前视频块的运动索引的偏移值的推导过程取决于角度的数量和/或shiftHor的值。
15.根据条款11所述的方法,其中,查找表被用于计算该组距离,并且,查找表的尺寸至少部分地基于该组角度。
16.根据条款15所述的方法,其中,基于查找表的尺寸而确定查找表的值。
17.根据条款1所述的方法,其中,在A和B指示用于几何分割模式的加权样点预测过程的两个输入阵列predSamplesLA和predSamplesLB且PART1和PART2是用于推导当前视频块的预测块的输出加权预测样点值的A和B的表示的情况下,PART1和PART2等于A或B取决于角度索引T1和T2。
18.根据条款1所述的方法,其中,在几何分割模式的运动矢量存储过程中使用的变量partIdx基于角度索引T1和T2而被设置为0或1,其中,partIdx被用于推导另一变量sType,该另一变量sType用于分配用于运动存储的运动矢量。
19.一种视频处理的方法(例如,图18B中所示的方法1820),包括:对视频的当前视频块与视频的比特流表示之间的转换,基于取决于当前视频块的一个或多个维度和/或当前视频的一个或多个维度的数学函数的规则,确定1822几何分割模式的应用;以及基于所述确定执行1824转换。
20.根据条款19所述的方法,其中,几何分割模式包括以下中的至少一个:三角预测模式(TPM)、几何merge模式(GEO)和/或楔形预测模式。
21.根据条款19或20所述的方法,其中,几何分割模式包括将当前视频块划分为两个或更多个子区域,其中,至少一个子区域不包括QT、BT和/或分割。
22.根据条款19至21中的一项或多项所述的方法,其中,规则取决于当前视频块的块宽度、块高度和/或纵横比。
23.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W>=T1和/或H>=T2和/或W*H<T3和/或W*H>T4的情况下应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且T1、T2、T3和T4是常数值。
24.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W>=T1和/或H>=T2和/或W*H<=T3和/或W*H>=T4的情况下应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且T1、T2、T3和T4是常数值。
25.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W*H<T1||(W*H<=T2&&W/H<=T3&&H/W<=T4)的情况下应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且T1、T2、T3和T4是常数值。
26.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W*H<T1||(W*H<=T2&&abs(logW-logH)<=T3)的情况下应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且T1、T2和T3是常数值。
27.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W*H<=T1&&W/H<=T2&&H/W<=T3的情况下应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且T1、T2和T3是常数值。
28.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W>=Tx和H>=Ty的情况下应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且Tx、Ty是常数值。
29.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W>N和/或H>M的情况下不应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且N、M是常数值。
30.根据条款19至22中的一项或多项所述的方法,其中,规则规定在W=N和/或H=M的情况下不应用几何分割模式,其中,当前视频块的宽度和高度分别表示为W和H,并且N、M是常数值。
31.根据条款19至22中的一项或多项所述的方法,其中,规则规定在满足以下条件中的一个或多个的情况下不应用几何分割模式,其中,块的宽度和高度分别表示为W和H,并且Ti(i=1…17)是常数值:
a)W<T1和/或W>T2和/或W=T3
b)H<T4和/或H>T5和/或H=T6
c)W*H<T7和/或W*H>T8和/或W*H=T8
d)W/H>T9和/或W/H>T10和/或W/H=T11
e)H/W>T12和/或H/W>T13和/或H/W=T14
f)Abs(logW–logH)>T15和/或Abs(logW–logH)<T16和/或Abs(logW–logH)=T17。
32.根据条款19至22中的一项或多项所述的方法,其中,规则规定在满足以下条件中的一个或多个的情况下应用几何分割模式,其中,块的宽度和高度分别表示为W和H,并且Ti(i=1…17)是常数值:
a)W<T1和/或W>T2和/或W=T3
b)H<T4和/或H>T5和/或H=T6
c)W*H<T7和/或W*H>T8和/或W*H=T8
d)W/H>T9和/或W/H>T10和/或W/H=T11
e)H/W>T12和/或H/W>T13和/或H/W=T14
f)Abs(logW–logH)>T15和/或Abs(logW–logH)<T16和/或Abs(logW–logH)=T17。
33.根据条款19至22中的一项或多项所述的方法,其中,规则取决于数学函数,数学函数取决于当前视频块的宽度(W)和/或高度(H)的比值。
34.根据条款33所述的方法,其中,数学函数是max(H,W)/min(H,W)。
35.根据条款19至22中的一项或多项所述的方法,其中,数学函数涉及当前视频块的宽度(W)和高度(H)之间的差值和/或比值。
36.根据条款19至22中的一项或多项所述的方法,其中,规则规定,对于具有宽度(W)和高度(H)的当前视频块,在宽高比(W/H)或高宽比(H/W)大于或不小于X的情况下,对当前视频块不应用几何分割模式,其中,X是常数值。
37.根据条款19至22中的一项或多项所述的方法,其中,当前视频块是亮度块或色度块。
38.根据条款19至22中的一项或多项所述的方法,其中,当前视频块包括亮度分量和色度分量,并且,规则规定几何分割模式被应用于亮度分量但不被应用于色度块。
39.根据条款19至22中的一项或多项所述的方法,其中,当前视频块对应于视频区域中的亮度块,并且几何分割模式对视频区域中的色度块的应用取决于当前视频块的一个或多个维度。
40.一种视频处理的方法(例如,如图18C中所描述的方法1830),包括:对于视频的当前视频块与视频的比特流表示之间的转换,根据规则确定1832几何分割模式的应用,其中,规则取决于当前视频块的编解码特性;以及基于所述确定执行1834转换。
41.根据条款40所述的方法,其中,编解码特性包括最大变换尺寸、最大允许编解码单元(CU)尺寸或色度格式中的至少一个。
42.根据条款41所述的方法,其中,规则规定对于宽度和/或高度大于最大变换尺寸的当前视频块不应用几何分割模式。
43.根据条款41所述的方法,其中,规则规定对于宽度和/或高度等于最大允许CU尺寸的当前视频块不应用几何分割模式。
44.根据条款41所述的方法,其中,规则规定对于具有4:0:0色度格式、4:4:4色度格式或4:2:2色度格式的当前视频块不应用几何分割模式。
45.根据条款41所述的方法,其中,规则规定对于具有某一色度格式的某一颜色分量的当前视频块不应用几何分割模式。
46.一种视频处理的方法(例如,如图18D中所描述的方法1840),包括:确定排除规则适用于视频的当前视频块与视频的比特流表示之间的转换,其中,排除规则规定该转换不允许将几何分割模式和编解码工具一起用于当前视频块;以及基于确定执行转换。
47.根据条款46所述的方法,其中,在几何分割模式被应用于当前视频块的情况下,比特流表示省略编解码工具的使用指示和/或编解码工具的信息。
48.根据条款46所述的方法,其中,在编解码工具被应用于当前视频块的情况下,比特流表示省略几何分割模式的使用指示和/或几何分割模式的信息。
49.根据条款46至48中任一项所述的方法,其中,编解码工具包括自适应颜色变换、双树编解码模式、变换跳过模式、块差分脉冲编解码调制(BDPCM)编解码模式,或子块变换(SBT)。
50.一种视频处理的方法(例如,如图18E中所描述的方法1850),包括:对于视频与视频的比特流表示之间的转换,根据规则为视频的不同的颜色分量确定1852不同的几何分割模式索引;以及基于所述确定执行1854转换。
51.根据条款50所述的方法,其中,规则规定视频的色度分量具有与视频的亮度分量不同的几何分割模式索引。
52.根据条款50所述的方法,其中,几何分割模式不被应用于视频的色度分量。
53.根据条款50所述的方法,其中,比特流表示包括不同的几何分割模式索引。
54.根据条款53所述的方法,其中,不同的几何分割模式索引包括视频的亮度分量的模式索引和视频的色度分量的模式索引。
55.根据条款50所述的方法,其中,比特流表示包括第二颜色分量的几何分割模式索引,并且,从第二颜色分量的模式索引预测第一颜色分量的几何分割模式索引。
56.一种视频处理的方法(例如,图18F中所描述的方法1860),包括:对于视频的当前图片的当前视频块与视频的比特流表示之间的转换,根据规则确定1862几何分割模式的应用;以及基于所述确定执行1864转换,其中,几何分割模式包括将当前视频块划分为两个或更多个预测子区域,并且,规则取决于与两个或更多个预测子区域相关联的一个或多个参考图片的分辨率。
57.根据条款56所述的方法,其中,规则规定在与两个或更多个预测子区域相关联的多个参考图片的分辨率彼此不同的情况下,不应用几何分割模式。
58.根据条款56所述的方法,其中,规则规定在与预测子区域相关联的参考图片的分辨率不同于当前图片的分辨率的情况下,不应用几何分割模式。
59.根据条款56所述的方法,其中,规则规定在与预测子区域相关联的参考图片的分辨率不同于当前图片的分辨率的情况下,应用几何分割模式。
60.根据条款56至59中任一项所述的方法,其中,当前图片的分辨率是指当前图片的宽度或高度,或者是指图片中的窗口。
61.一种视频处理的方法,包括:执行视频的当前视频块与视频的比特流表示之间的转换,其中,比特流表示符合格式规则,其中,格式规则规定在对当前视频块禁用几何分割模式的情况下比特流表示省略关于几何分割模式的语法元素。
62.根据条款61所述的方法,其中,语法元素包括wedge_partition_idx、merge_wedge_idx0或merge_wedge_idx1中的至少一个。
63.根据条款61所述的方法,其中,未被包含在比特流表示中的语法元素被推断为默认值。
64.根据条款61所述的方法,其中,在几何分割模式被禁用或不被允许的情况下,与几何分割模式相关的语义变量被推断为默认值。
65.一种视频处理的方法(例如,如图18G中所描述的方法1870),包括:对于包括视频的一个或多个视频块的视频单元与视频的比特流表示之间的转换,根据规则确定1872允许多组几何分割模式对视频单元的一个或多个视频块进行编解码;以及基于所述确定执行1874转换。
66.根据条款65所述的方法,其中,规则规定从多组几何分割模式选择一组几何分割模式取决于解码的信息。
67.根据条款66所述的方法,其中,解码的信息包括视频块的维度和/或形状。
68.根据条款65所述的方法,其中,规则规定多组几何分割模式中的至少两组几何分割模式具有不同数量的允许的几何分割模式。
69.根据条款65所述的方法,其中,规则规定多组几何分割模式中的T组几何分割模式具有相同数量的允许的几何分割模式,但包含在T组几何分割模式中的一组几何分割模式中的至少一个几何分割模式在T组几何分割模式中的另一组几何分割模式中被排除。
70.根据条款65所述的方法,其中,规则规定多组几何分割模式中的T组几何分割模式具有相同几何分割模式,但是对于T组几何分割模式中的任意两组几何分割模式,至少一个几何分割模式被布置在不同的位置。
71.根据条款65所述的方法,其中,如何信令通知几何分割模式索引取决于对应的一组允许的几何分割模式。
72.根据条款65所述的方法,其中,解码的几何分割模式索引取决于对应的几何分割模式。
73.根据条款65所述的方法,其中,要用于比特流表示中的视频块的几何分割模式的总数被定义为小于一常数值的数。
74.根据条款65所述的方法,其中,要为比特流表示中的视频块信令通知的几何分割模式的总数被定义为小于一常数值的数。
75.根据条款73或74所述的方法,其中,该数被信令通知。
76.一种视频处理的方法,包括:执行包含视频块的视频与视频的比特流表示之间的转换,其中,在转换期间,几何分割模式的第一计数可用于计算分割角度索引和/或分割距离索引,几何分割模式的第二计数可用于比特流表示中的编解码,几何分割模式的第三计数可用于比特流表示的信令通知,其中,第一计数和/或第二计数和/或第三计数至少基于视频块的对应的维度。
77.根据条款76所述的方法,其中,第二计数和/或第三计数不同于第一计数。
78.根据条款76所述的方法,其中,第二计数等于第三计数。
79.根据条款76所述的方法,其中,第二计数和/或第三计数小于第一计数。
80.根据条款76所述的方法,其中,第二计数和/或第三计数对于不同块类别的视频块被不同地定义。
81.根据条款80所述的方法,其中,视频块的类别是基于视频块的宽度和高度的比值、视频块的宽度和高度的数学函数或视频块的维度。
82.根据条款81所述的方法,其中,当第一块的维度满足一个或多个阈值条件时,第二计数和/或第三计数小于第一计数。
83.根据条款80所述的方法,其中,针对每个类别的视频块的第二计数和/或第三计数定义一组固定数量。
84.根据条款80所述的方法,其中,每个类别的视频块的第二计数和/或第三计数被包含在比特流表示中。
85.根据条款80所述的方法,其中,每个类别的视频块的第二计数和/或第三计数是预定义的。
86.根据条款80所述的方法,其中,亮度块的宽度和/或高度被用于推导第二计数和/或第三计数。
87.一种视频处理的方法,包括:根据规则执行视频的当前视频块与视频的比特流表示之间的转换,其中,规则规定第一几何分割模式索引值在当前视频块的比特流表示中被信令通知且第二几何分割模式索引值被用于计算当前视频块的分割角度索引和/或分割距离索引,其中,第一几何分割模式索引值不同于第二几何分割模式索引值。
88.根据条款87所述的方法,其中,当前视频块基于当前视频块的宽度和/或高度而与某一类别相关联,其中,一组完整的几何分割模式、分割角度和/或分割距离中的子组被用于该某一类别。
89.根据条款87所述的方法,其中,至少一个映射表定义第一几何分割模式索引值与第二几何分割模式索引值之间的关系。
90.根据条款89所述的方法,其中,至少一个映射表被包含在比特流表示。
91.根据条款89所述的方法,其中,至少一个映射表是预定义的。
92.根据条款87所述的方法,其中,N个映射表被用于转换,其中,N是取决于视频块的块类别的数量的常数值。
93.根据条款92所述的方法,其中,N个映射表的长度取决于视频块的块类别。
94.一种视频处理的方法,包括:执行视频的当前视频块与视频的比特流表示之间的转换,其中,当前视频块的几何分割模式索引被编码在比特流中,使得根据规则执行几何分割模式索引的二值化。
95.根据条款94所述的方法,其中,规则规定二值化取决于当前视频块的解码的信息。
96.根据条款95所述的方法,其中,解码的信息包括当前视频块的维度和/或当前视频块的类别。
97.根据条款94所述的方法,其中,规则规定截断二元码被用于二值化。
98.根据条款97所述的方法,其中,包含在比特流表示中的几何分割模式索引不同于被用于推导分割角度索引和/或分割距离索引的推导的几何分割模式索引。
99.根据条款94所述的方法,其中,规则规定K阶Exp-Golomb(EG)编解码被用于二值化,其中,K为整数。
100.根据条款94所述的方法,其中,规则规定上下文编解码被用于编解码几何分割模式索引。
101.根据条款94所述的方法,其中,规则规定几何分割模式索引的前X个二进制数由上下文编解码来编解码,且其余二进制数由没有上下文建模的旁路编解码来编解码。
102.一种视频处理的方法(例如,图18H中所描述的方法1880),包括:对于视频的视频单元的色度块与视频的比特流表示之间的转换,根据规则确定1882色度块的混合权重和/或运动存储权重;以及基于所述确定执行1884转换,其中,几何分割模式被应用于色度块,并且其中,规则取决于色度样点位置类型,色度样点位置类型指示色度块中的某一色度样点关于对应的亮度样点的的相对位置。
103.根据条款102所述的方法,其中,视频单元包括序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片标头、子图片、条带(slice)、条带标头、片(tile)、砖、编解码树单元或虚拟管道数据单元(VPDU)。
104.根据条款102所述的方法,其中,用于色度样点的混合权重推导的下采样滤波器的类型在视频单元级别被信令通知。
105.根据条款104所述的方法,其中,比特流表示包括在不同的色度位置类型之间切换的标志。
106.根据条款105所述的方法,其中,标志规定几何分割模式中的左上下采样亮度样点是否与左上亮度样点并置,或标志规定左上下采样亮度样点是否与左上亮度样点在水平方向同址但相对于左上亮度样点在垂直方向上偏移。
107.根据条款104所述的方法,其中,对于具有4:2:0色度格式或4:2:2色度格式的色度块,下采样滤波器的类型被信令通知。
108.根据条款104所述的方法,其中,比特流表示包括用于指定用于几何分割预测的色度下采样滤波器的类型的标志。
109.根据条款102所述的方法,其中,用于色度样点的混合权重推导的下采样滤波器的类型在视频单元级别被信令通知。
110.根据条款109所述的方法,其中,查找表被定义以规定色度子采样滤波器类型与色度格式类型之间的对应的关系。
111.根据条款102所述的方法,其中,用于色度块的几何分割预测的下采样滤波器取决于色度样点位置类型。
112.根据条款111所述的方法,其中,在色度块具有某一色度样点位置类型的情况下,色度块的色度权重是从并置的左上亮度权重中被子采样的。
113.根据条款111所述的方法,其中,在色度块具有某一色度样点位置类型的情况下,指定X抽头滤波器被用于色度权重子采样。
114.根据条款1至113中任一项所述的方法,其中,几何分割模式选自一组几何分割模式,其中,该组几何分割模式包括将块划分为两个分割的一个或多个几何分割模式,两个分割中的至少一个是非正方形且非矩形的。
115.根据条款1至114中任一项所述的方法,其中,转换包括将视频编码为比特流表示。
116.根据条款1至114中任一项所述的方法,其中,转换包括从比特流表示中解码视频。
117.一种视频处理设备,包括处理器,该处理器配置为实现条款1至116中的任意一项或多项所述的方法。
118.一种计算机可读介质,存储程序代码,当执行所述程序代码时,使处理器实现条款1至116中的任意一项或多项所述的方法。
119.一种计算机可读介质,存储根据上述方法中的任意方法生成的编码表示或比特流表示。
本文档中描述的公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文档中公开的结构及其结构等效物,或其中一种或多种的组合。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即,计算机程序指令的一个或多个模块,计算机程序指令被编码在计算机可读介质上,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储装置、影响机器可读传播信号的物质组合,或者它们中的一种或多种的组合。术语“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一种或多种的组合的代码。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,生成该信号以对信息进行编码以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为一个独立的程序或作为一个模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在包括其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。可以部署计算机程序以在一台计算机或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
本文档中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且设备也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和一个或多个用于存储指令和数据的存储装置。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储装置(例如,磁、磁光盘或光盘)接收数据或向其传输数据或两者。然而,计算机不需要有这样的装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,例如包括半导体存储器装置,例如EPROM、EEPROM和闪存装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
尽管本专利文件包含许多细节,但这些不应被解释为对任何主题或可要求保护的内容的范围的限制,而是对可能特定于特定技术的特定实施例的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管特征可能在某些组合中被描述为在某些组合中起作用,并且甚至最初如此要求保护,但在某些情况下,来自要求保护的组合的一个或多个特征可以从组合中删除,并且要求保护的组合可以针对子组合或变体的一个子组合。
类似地,虽然在附图中以特定顺序描述了操作,但这不应被理解为要求这些操作以所示的特定顺序或按顺序执行,或者要求执行所有所示的操作,以实现期望的结果。此外,本专利文献中描述的实施例中各种系统组件的分离不应理解为在所有实施例中都需要这种分离。
仅描述了几个实施方式和示例,并且可以基于本专利文件中描述和说明的内容进行其他实施方式、改善和变化。

Claims (21)

1.一种处理视频数据的方法,包括:
执行视频的当前视频块与所述视频的比特流之间的转换,
其中,在所述转换期间,对于所述当前视频块允许使用几何分割模式,所述几何分割模式包括多种分割方案,
其中,使用一组角度和用于所述一组角度的一组距离计算所述几何分割模式的多种分割方案的参数,所述一组角度包括小于第一阈值的第一数量的角度,所述一组距离包括小于第二阈值的第二数量的距离;
用于垂直角度和水平角度的距离的数量等于X,其中,X等于2。
2.根据权利要求1所述的方法,其中,所述第一阈值等于24。
3.根据权利要求1所述的方法,其中,所述第一数量等于20。
4.根据权利要求1所述的方法,其中,所述多种分割方案的数量小于第三阈值,其中,所述第三阈值等于82。
5.根据权利要求1所述的方法,还包括为所述当前视频块确定第一运动信息和第二运动信息,
其中,所述转换基于所述第一运动信息和所述第二运动信息,所述转换包括应用加权过程以基于从所述第一运动信息和所述第二运动信息导出的多个预测样点的加权和生成所述当前视频块的最终预测,以及
其中,在所述当前视频块的所述加权过程中使用的第一变量的计算取决于所述几何分割模式中使用的360度中最小角度单元的总数。
6.根据权利要求5所述的方法,其中,所述第一变量表示为displacementY,所述第一变量被设置为(displacementX+(所述最小角度单元的总数>>2)))%所述最小角度单元的总数,其中,所述displacementX被设置为angleIdx,angleIdx表示所述几何分割模式的分割方案的角度索引。
7.根据权利要求5所述的方法,其中,在所述加权过程中使用的第二变量shiftHor的计算取决于所述最小角度单元的总数,所述shiftHor被设置为0或1。
8.根据权利要求7所述的方法,其中,在满足以下条件中的至少一个的情况下,所述shiftHor被设置为0:
1)angleIdx%(所述最小角度单元的总数/2)等于(所述最小角度单元的总数>>2);或者
2)angleIdx%(所述最小角度单元的总数/2)不等于0且hwRatio≥1,其中,hwRatio被设置为H/W,
其中,所述angleIdx表示所述几何分割模式的分割方案的角度索引,H和W分别表示所述当前视频块的高度和宽度。
9.根据权利要求1所述的方法,其中,响应于所述当前视频块的宽高比或高宽比大于第四阈值,或响应于所述当前视频块的宽度或高度小于第五阈值,所述当前视频块不允许使用所述几何分割模式。
10.根据权利要求1所述的方法,其中,当用于所述几何分割模式的语法元素不存在于所述比特流中时,所述语法元素的值被推断为等于默认值0,其中,所述语法元素包括指定所述几何分割模式的分割方案的第一语法元素、指定所述几何分割模式的第一merging候选索引的第二语法元素或指定所述几何分割模式的第二merging候选索引的第三语法元素中的至少一个。
11.根据权利要求1-10任一项所述的方法,其中,所述转换包括将所述视频编码到所述比特流中。
12.根据权利要求1-10任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。
13.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂态存储器,其中,所述指令在由所述处理器执行时使所述处理器:
执行视频的当前视频块与所述视频的比特流之间的转换,
其中,在所述转换期间,对于所述当前视频块允许使用几何分割模式,所述几何分割模式包括多种分割方案,
其中,使用一组角度和用于所述一组角度的一组距离计算所述几何分割模式的多种分割方案的参数,所述一组角度包括小于第一阈值的第一数量的角度,所述一组距离包括小于第二阈值的第二数量的距离;
用于垂直角度和水平角度的距离的数量等于X,其中,X等于2。
14.根据权利要求13所述的装置,其中,所述第一阈值等于24;
所述第一数量等于20;
所述多种分割方案的数量小于第三阈值,其中,所述第三阈值等于82;
响应于所述当前视频块的宽高比或高宽比大于第四阈值,或响应于所述当前视频块的宽度或高度小于第五阈值,所述当前视频块不允许使用所述几何分割模式;
当用于所述几何分割模式的语法元素不存在于所述比特流中时,所述语法元素的值被推断为等于默认值0,其中,所述语法元素包括指定所述几何分割模式的分割方案的第一语法元素、指定所述几何分割模式的第一merging候选索引的第二语法元素或指定所述几何分割模式的第二merging候选索引的第三语法元素中的至少一个。
15.根据权利要求13或14所述的装置,其中,还使所述处理器为所述当前视频块确定第一运动信息和第二运动信息,
其中,所述转换基于所述第一运动信息和所述第二运动信息,所述转换包括应用加权过程以基于从所述第一运动信息和所述第二运动信息导出的多个预测样点的加权和生成所述当前视频块的最终预测,
其中,在所述当前视频块的所述加权过程中使用的第一变量的计算取决于所述几何分割模式中使用的360度中最小角度单元的总数;
所述第一变量表示为displacementY,所述第一变量被设置为(displacementX+(所述最小角度单元的总数>>2)))%所述最小角度单元的总数,其中,所述displacementX被设置为angleIdx,angleIdx表示所述几何分割模式的分割方案的角度索引;
在所述加权过程中使用的第二变量shiftHor的计算取决于所述最小角度单元的总数,所述shiftHor被设置为0或1;
在满足以下条件中的至少一个的情况下,所述shiftHor被设置为0:
1)angleIdx%(所述最小角度单元的总数/2)等于(所述最小角度单元的总数>>2);或者
2)angleIdx%(所述最小角度单元的总数/2)不等于0且hwRatio≥1,其中,hwRatio被设置为H/W,
其中,所述angleIdx表示所述几何分割模式的分割方案的角度索引,H和W分别表示所述当前视频块的高度和宽度。
16.一种非暂时性计算机可读存储介质,存储有指令,所述指令使处理器:
执行视频的当前视频块与所述视频的比特流之间的转换,
其中,在所述转换期间,对于所述当前视频块允许使用几何分割模式,所述几何分割模式包括多种分割方案,
其中,使用一组角度和用于所述一组角度的一组距离计算所述几何分割模式的多种分割方案的参数,所述一组角度包括小于第一阈值的第一数量的角度,所述一组距离包括小于第二阈值的第二数量的距离;
用于垂直角度和水平角度的距离的数量等于X,其中,X等于2。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述第一阈值等于24;
所述第一数量等于20;
所述多种分割方案的数量小于第三阈值,其中,所述第三阈值等于82;
响应于所述当前视频块的宽高比或高宽比大于第四阈值,或响应于所述当前视频块的宽度或高度小于第五阈值,所述当前视频块不允许使用所述几何分割模式;
当用于所述几何分割模式的语法元素不存在于所述比特流中时,所述语法元素的值被推断为等于默认值0,其中,所述语法元素包括指定所述几何分割模式的分割方案的第一语法元素、指定所述几何分割模式的第一merging候选索引的第二语法元素或指定所述几何分割模式的第二merging候选索引的第三语法元素中的至少一个。
18.根据权利要求16或17所述的非暂时性计算机可读存储介质,其中,还使所述处理器为所述当前视频块确定第一运动信息和第二运动信息,
其中,所述转换基于所述第一运动信息和所述第二运动信息,所述转换包括应用加权过程以基于从所述第一运动信息和所述第二运动信息导出的多个预测样点的加权和生成所述当前视频块的最终预测,
其中,在所述当前视频块的所述加权过程中使用的第一变量的计算取决于所述几何分割模式中使用的360度中最小角度单元的总数;
所述第一变量表示为displacementY,所述第一变量被设置为(displacementX+(所述最小角度单元的总数>>2)))%所述最小角度单元的总数,其中,所述displacementX被设置为angleIdx,angleIdx表示所述几何分割模式的分割方案的角度索引;
在所述加权过程中使用的第二变量shiftHor的计算取决于所述最小角度单元的总数,所述shiftHor被设置为0或1;
在满足以下条件中的至少一个的情况下,所述shiftHor被设置为0:
1)angleIdx%(所述最小角度单元的总数/2)等于(所述最小角度单元的总数>>2);或者
2)angleIdx%(所述最小角度单元的总数/2)不等于0且hwRatio≥1,其中,hwRatio被设置为H/W,
其中,所述angleIdx表示所述几何分割模式的分割方案的角度索引,H和W分别表示所述当前视频块的高度和宽度。
19.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中,所述方法包括:
为所述视频的当前视频块生成比特流,
其中,在所述生成期间,对于所述当前视频块允许使用几何分割模式,所述几何分割模式包括多种分割方案,
其中,使用一组角度和用于所述一组角度的一组距离计算所述几何分割模式的多种分割方案的参数,所述一组角度包括小于第一阈值的第一数量的角度,所述一组距离包括小于第二阈值的第二数量的距离;
用于垂直角度和水平角度的距离的数量等于X,其中,X等于2。
20.根据权利要求19所述的非暂时性计算机可读记录介质,其中,所述第一阈值等于24;
所述第一数量等于20;
所述多种分割方案的数量小于第三阈值,其中,所述第三阈值等于82;
响应于所述当前视频块的宽高比或高宽比大于第四阈值,或响应于所述当前视频块的宽度或高度小于第五阈值,所述当前视频块不允许使用所述几何分割模式;
当用于所述几何分割模式的语法元素不存在于所述比特流中时,所述语法元素的值被推断为等于默认值0,其中,所述语法元素包括指定所述几何分割模式的分割方案的第一语法元素、指定所述几何分割模式的第一merging候选索引的第二语法元素或指定所述几何分割模式的第二merging候选索引的第三语法元素中的至少一个;
其中,所述方法还包括为所述当前视频块确定第一运动信息和第二运动信息,
其中,所述生成基于所述第一运动信息和所述第二运动信息,所述生成包括应用加权过程以基于从所述第一运动信息和所述第二运动信息导出的多个预测样点的加权和生成所述当前视频块的最终预测,
其中,在所述当前视频块的所述加权过程中使用的第一变量的计算取决于所述几何分割模式中使用的360度中最小角度单元的总数;
所述第一变量表示为displacementY,所述第一变量被设置为(displacementX+(所述最小角度单元的总数>>2)))%所述最小角度单元的总数,其中,所述displacementX被设置为angleIdx,angleIdx表示所述几何分割模式的分割方案的角度索引;
在所述加权过程中使用的第二变量shiftHor的计算取决于所述最小角度单元的总数,所述shiftHor被设置为0或1;
在满足以下条件中的至少一个的情况下,所述shiftHor被设置为0:
1)angleIdx%(所述最小角度单元的总数/2)等于(所述最小角度单元的总数>>2);或者
2)angleIdx%(所述最小角度单元的总数/2)不等于0且hwRatio≥1,其中,hwRatio被设置为H/W,
其中,所述angleIdx表示所述几何分割模式的分割方案的角度索引,H和W分别表示所述当前视频块的高度和宽度。
21.一种存储视频的比特流的方法,包括:
为所述视频的当前视频块生成比特流,
将所述比特流存储在非暂时性计算机可读记录介质中;
其中,在所述生成期间,对于所述当前视频块允许使用几何分割模式,所述几何分割模式包括多种分割方案,
其中,使用一组角度和用于所述一组角度的一组距离计算所述几何分割模式的多种分割方案的参数,所述一组角度包括小于第一阈值的第一数量的角度,所述一组距离包括小于第二阈值的第二数量的距离;
用于垂直角度和水平角度的距离的数量等于X,其中,X等于2。
CN202311780032.3A 2019-11-30 2020-11-27 使用几何分割的简化的帧间预测 Pending CN117729330A (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/122256 2019-11-30
CN2019122256 2019-11-30
CN2020071032 2020-01-08
CNPCT/CN2020/071032 2020-01-08
CN2020071552 2020-01-10
CNPCT/CN2020/071552 2020-01-10
PCT/CN2020/132162 WO2021104433A1 (en) 2019-11-30 2020-11-27 Simplified inter prediction with geometric partitioning
CN202080082769.6A CN114902675A (zh) 2019-11-30 2020-11-27 使用几何分割的简化的帧间预测

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080082769.6A Division CN114902675A (zh) 2019-11-30 2020-11-27 使用几何分割的简化的帧间预测

Publications (1)

Publication Number Publication Date
CN117729330A true CN117729330A (zh) 2024-03-19

Family

ID=76129175

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311780032.3A Pending CN117729330A (zh) 2019-11-30 2020-11-27 使用几何分割的简化的帧间预测
CN202080082769.6A Pending CN114902675A (zh) 2019-11-30 2020-11-27 使用几何分割的简化的帧间预测

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080082769.6A Pending CN114902675A (zh) 2019-11-30 2020-11-27 使用几何分割的简化的帧间预测

Country Status (7)

Country Link
US (2) US11659180B2 (zh)
EP (1) EP4049451A4 (zh)
JP (2) JP7453374B2 (zh)
KR (1) KR20220101638A (zh)
CN (2) CN117729330A (zh)
BR (1) BR112022010230A2 (zh)
WO (1) WO2021104433A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114902663A (zh) * 2019-12-30 2022-08-12 鸿颖创新有限公司 用于编码视频数据的设备和方法
US20230156181A1 (en) * 2021-11-17 2023-05-18 Mediatek Inc. Methods and Apparatuses for a High-throughput Video Encoder or Decoder

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010151334A1 (en) * 2009-06-26 2010-12-29 Thomson Licensing Methods and apparatus for video encoding and decoding using adaptive geometric partitioning
CN102611884B (zh) 2011-01-19 2014-07-09 华为技术有限公司 图像编解码方法及编解码设备
CN103561276B (zh) 2013-11-07 2017-01-04 北京大学 一种图像视频编解码方法
US20160277751A1 (en) * 2015-03-19 2016-09-22 Patrick J. Sweeney Packaging/mux and unpackaging/demux of geometric data together with video data
CN115134609A (zh) 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
EP3357227A1 (en) 2015-10-02 2018-08-08 VID SCALE, Inc. Color correction with a lookup table
KR20180136967A (ko) 2016-04-22 2018-12-26 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
JP2019519972A (ja) 2016-05-05 2019-07-11 ヴィド スケール インコーポレイテッド イントラコーディングのための制御点ベースのイントラ方向表現
US11095922B2 (en) 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
CN109644279B (zh) 2016-09-02 2023-09-22 Vid拓展公司 用于用信号通知360度视频信息的方法和系统
WO2018067952A1 (en) 2016-10-07 2018-04-12 Vid Scale, Inc. Geometry conversion and frame packing associated with 360-degree videos
WO2018093184A1 (ko) 2016-11-18 2018-05-24 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR20200022013A (ko) 2017-06-30 2020-03-02 샤프 가부시키가이샤 비디오 코딩을 위한 비디오 블록들로 픽처의 기하학적 적응성 블록 분할을 위한 시스템들 및 방법들
WO2019083334A1 (ko) 2017-10-26 2019-05-02 한국전자통신연구원 비대칭 서브 블록 기반 영상 부호화/복호화 방법 및 장치
CN111771377A (zh) 2018-01-30 2020-10-13 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
BR112021007863A2 (pt) 2018-11-02 2021-07-27 Beijing Bytedance Network Technology Co., Ltd. método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
CN111418207B (zh) 2018-11-06 2024-04-19 北京字节跳动网络技术有限公司 依赖块尺寸的对运动信息的存储
CN109327703A (zh) * 2018-11-13 2019-02-12 长春理工大学 一种基于不同采样块的深度图编解码方法
CN113170170A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 用于具有几何分割的帧间预测的混合方法
CN109299060A (zh) * 2018-11-22 2019-02-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于影像矩形分块的分布式文件方法及系统
WO2020253816A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for sub-block partitioning mode
KR20220024773A (ko) * 2019-06-24 2022-03-03 알리바바 그룹 홀딩 리미티드 동영상 코딩시 모션 필드 저장 방법 및 장치
CN114868395A (zh) 2019-12-24 2022-08-05 抖音视界(北京)有限公司 采用几何分割进行帧间预测的高级语法

Also Published As

Publication number Publication date
EP4049451A1 (en) 2022-08-31
US20230247199A1 (en) 2023-08-03
US20220303533A1 (en) 2022-09-22
CN114902675A (zh) 2022-08-12
WO2021104433A1 (en) 2021-06-03
KR20220101638A (ko) 2022-07-19
US11659180B2 (en) 2023-05-23
EP4049451A4 (en) 2022-12-28
JP2024012506A (ja) 2024-01-30
JP7453374B2 (ja) 2024-03-19
BR112022010230A2 (pt) 2023-03-14
JP2023503683A (ja) 2023-01-31

Similar Documents

Publication Publication Date Title
CN113424525B (zh) 解码器侧细化工具的尺寸选择性应用
CN113853783B (zh) 对帧内块复制编解码的块的块矢量的编解码
WO2021129694A1 (en) High level syntax for inter prediction with geometric partitioning
CN114303370B (zh) 视频编解码中预测权重的对准
CN114450959A (zh) 视频编解码中的几何分割模式
CN114556915B (zh) 几何分割模式中被编解码的块的去块
WO2021204190A1 (en) Motion vector difference for block with geometric partition
US20230247199A1 (en) Simplified Inter Prediction With Geometric Partitioning
WO2021129682A1 (en) Improvements on merge mode
CN117956146A (zh) 自适应环路滤波中不可用样点位置处的填充处理
US20230097850A1 (en) Intra block copy using non-adjacent neighboring blocks
US20220337867A1 (en) Motion vector difference for block with geometric partition
WO2022037628A1 (en) Block vector processing in intra block copy coding
CN115136601A (zh) 几何分割模式
US20230262226A1 (en) Sample string processing in intra coding
WO2021249363A1 (en) Constraints on intra block copy using non-adjacent neighboring blocks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination