CN115428452A - 具有几何分割的块的运动矢量差 - Google Patents

具有几何分割的块的运动矢量差 Download PDF

Info

Publication number
CN115428452A
CN115428452A CN202180026287.3A CN202180026287A CN115428452A CN 115428452 A CN115428452 A CN 115428452A CN 202180026287 A CN202180026287 A CN 202180026287A CN 115428452 A CN115428452 A CN 115428452A
Authority
CN
China
Prior art keywords
motion vector
geometric
video block
current video
video
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
CN202180026287.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 Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision 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 Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN115428452A publication Critical patent/CN115428452A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • 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

Landscapes

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

Abstract

描述了具有几何分割的块的运动矢量差。视频处理方法的一种示例包括:对于视频的当前视频块与所述视频的比特流之间的转换,确定所述当前视频块采用几何分割模式进行编解码;通过将为所述当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与所述当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出所述当前视频块的至少一个细化MV,所述MV与偏移距离和/或偏移方向相关;以及根据所述细化MV执行所述转换。

Description

具有几何分割的块的运动矢量差
相关申请的交叉引用
根据适用的《专利法》和/或依据《巴黎公约》的规定,本申请及时要求于2020年4月9日提交的国际专利申请No.PCT/CN2020/083916的优先权和利益。国际专利申请No.PCT/CN2020/083916的全部公开内容以引用方式并入本文,作为本申请公开的一部分。
技术领域
本专利文件涉及图像和视频的编码和解码。
背景技术
数字视频在互联网和其他数字通信网络上的带宽使用量最大。随着能够接收和显示视频的连接用户设备数量的增加,预期数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可用于视频编码器和解码器在视频编码或解码期间执行跨分量自适应环路滤波的技术。
在一个示例方面,公开了一种视频处理方法。该方法包括:对于视频的视频单元和该视频的编解码表示之间的转换,将该视频分割成多个分割,并且对于该多个分割中的至少一些分割,使用具有运动矢量差的Merge模式,基于该多个分割执行该转换。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的视频单元和该视频的编解码表示之间的转换,将该视频分割成多个分割,并且基于该多个分割执行该转换,其中,该编解码表示包括指示运动矢量差值的字段,该指示运动矢量差值的字段使用对应于该运动矢量差值的方向和幅度的两个变量中的一个或多个。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的视频单元和该视频的编解码表示之间的转换,将该视频分割成多个分割,并且基于该多个分割执行该转换,其中,该编解码表示包含按顺序排列的字段。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的当前视频块与该当前视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出该当前视频块的至少一个细化MV;以及根据该细化MV执行该转换。
在另一个示例方面,公开了一种存储视频的比特流的方法。该方法包括:对于视频的当前视频块与该当前视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出该当前视频块的至少一个细化MV;根据该细化MV,从该当前视频块生成该比特流;以及将该比特流存储在非暂时性计算机可读记录介质中。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的当前视频块与该视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出该当前视频块的至少一个细化MV,该MV与偏移距离和/或偏移方向相关;以及根据该细化MV执行该转换。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的当前视频块与该视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;确定几何运动矢量差分编解码方法是启用还是禁用,其中,该几何运动矢量差分编解码方法通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出该当前视频块的至少一个细化MV;以及根据该细化MV执行该转换。
在另一个示例方面,公开了一种存储视频的比特流的方法。该方法包括:对于视频的当前视频块与该视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;确定几何运动矢量差分编解码方法是启用还是禁用,其中,该几何运动矢量差分编解码方法通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出该当前视频块的至少一个细化MV;根据该细化MV,从该当前视频块生成该比特流;以及将该比特流存储在非暂时性计算机可读记录介质中。
在另一个示例方面,公开了一种视频编码装置。该视频编码装置包括处理器,该处理器被配置为实现如上所述的方法。
在另一个示例方面,公开了一种视频解码装置,该视频解码装置包括处理器,该处理器被配置为实现如上所述的方法。
在另一个示例方面,公开了一种计算机可读介质,该计算机可读介质存储有代码。该代码以处理器可执行代码的形式体现了本文所述的方法之一。
本文通篇描述了上述及其他特征。
附图说明
图1示出了空域Merge候选的位置的示例。
图2示出了被考虑用于空域Merge候选的冗余检查的候选对的示例。
图3是用于时域Merge候选的运动矢量缩放的图示。
图4示出了时域Merge候选C0和C1的候选位置的示例。
图5示出了基于三角分割的帧间预测的示例。
图6示出了用于三角分割模式的单向预测MV选择的示例。
图7示出了在混合处理中使用的权重的示例。
图8说明了VTM-6.0中的建议和TPM设计。
图9示出了GEO划分边界描述的示例。
图10A示出了GEO中支持的边缘。
图10B示出了给定样点位置(x,y)和两个边缘之间的几何关系。
图11示出了UMVE搜索处理的示例。
图12示出了UMVE搜索点的示例。
图13是视频处理系统的示例的框图。
图14是用于视频处理的硬件平台的示例的框图。
图15是视频处理方法的示例的流程图。
图16是用于说明根据本公开的一些实施例的视频编解码系统的框图。
图17是用于说明根据本公开的一些实施例的编码器的框图。
图18是用于说明根据本公开的一些实施例的解码器的框图。
图19是视频处理方法的示例的流程图。
图20是存储视频的比特流的方法的示例的流程图。
图21是视频处理方法的示例的流程图。
图22是视频处理方法的示例的流程图。
图23是存储视频的比特流的方法的示例的流程图。
具体实施方式
在本文档中,使用章节标题是为了便于理解,章节标题不将每个章节中公开的技术和实施例的适用仅限于该章节。此外,在一些描述中使用H.266术语只是为了便于理解而不用于限制所公开技术的范围。因此,这里描述的技术也适用于其他视频编解码器协议和设计。
1概述
本文档涉及视频编解码技术。具体地,是关于视频编解码中的帧间预测及相关技术。该技术可以应用于现有的视频编解码标准,例如HEVC,或即将要定案的(通用视频编解码)标准。该技术也可以适用于未来的视频编解码标准或视频编解码器。
2背景
视频编解码标准主要是通过开发众所周知的ITU-T和ISO/IEC标准而发展起来的。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4视频,并且两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索小组(Joint Video Exploration Team,JVET)。此后,JVET采用了许多新的方法,并将其应用于名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。JVET会议每季度同时召开一次,新的编解码标准的目标是与HEVC相比码率降低50%。新的视频编解码标准在2018年4月的JVET会议上正式命名为Versatile Video Coding(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代码,最佳Merge候选的索引使用截断的一元二值化(TU)进行编码。Merge索引的第一个bin使用上下文进行编解码,而旁路编解码用于其他bin。
本节提供了每个类别的Merge候选的生成过程。
2.1.1空域候选推导
VVC中空域Merge候选的推导与HEVC中的推导相同。在位于图1所示的位置的候选中最多选择四个Merge候选。推导顺序为A0、B0、B1、A1和B2。仅当位置A0、B0、B1、A1处的任何CU都不可用(例如,因为其属于另一个条带或片)或是帧内编解码时,才考虑位置B2。在添加了位置A1处的候选之后,对剩余的候选的添加进行冗余检查,以确保将具有相同运动信息的候选从列表中排除,从而提高编解码效率。为了降低计算复杂度,不是所有可能的候选对都在所提到的冗余检查中被考虑。相反,仅考虑图2中箭头连接的对,并且仅当用于冗余检查的相应候选不具有相同运动信息时,才将候选添加到列表中。
图1示出了空域Merge候选的位置的示例。
图2示出了被考虑用于空域Merge候选的冗余检查的候选对的示例。
2.1.2时域候选推导
在此步骤中,只有一个候选被添加到列表中。具体地,在该时域Merge候选的推导中,基于属于并置参考图片的并置CU来推导缩放后的运动矢量。在条带标头中明确信令通知用于推导并置CU的参考图片列表。获得用于时域Merge候选的缩放后的运动矢量,如图3中的虚线所示,该缩放后的运动矢量是使用POC距离tb和td从并置CU的运动矢量缩放得到的,其中tb被定义为当前图片的参考图片和当前图片之间的POC差异,td被定义为并置图片的参考图片和并置图片之间的POC差异。将时域Merge候选的参考图片索引设置为零。
图3是用于时域Merge候选的运动矢量缩放的图示。
在候选C0和C1之间选择时域候选的位置,如图4所示。如果位置C0处的CU不可用、是帧内编解码的、或在当前CTU行的外部,则使用位置C1。否则,在时域Merge候选的推导中使用位置C0
2.1.3基于历史的Merge候选推导
基于历史的MVP(HMVP)Merge候选在空域MVP和TMVP之后被添加到Merge列表中。在本方法中,先前编解码块的运动信息被存储在一个表中,并用作当前CU的MVP。在编码/解码过程中维护具有多个HMVP候选的表。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块帧间编解码的CU时,将相关联的运动信息添加到该表的最后一个条目作为新的HMVP候选。
在VTM中,HMVP表的尺寸S设置为6,其表示最多可以将6个基于历史的MVP(HMVP)候选添加到该表中。当向该表中插入新的运动候选时,采用受限的先进先出(FIFO)规则,其中,先应用冗余检查以查找该表中是否存在相同的HMVP。如果存在,则从该表中删除相同的HMVP,然后将其后边的所有HMVP候选都向前移动。
HMVP候选可以用在Merge候选列表构建过程中。依次检查表中最新的几个HMVP候选,并且该最新的几个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个样点或更大并且以跳过或Merge模式编解码而非以常规Merge模式、MMVD模式、CIIP模式或子块Merge模式编解码的CU。CU级别标志用于指示是否应用三角分割模式。
当使用此模式时,使用对角线划分或反对角线划分(图5)将CU均分为两个三角形分割。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所示。对于列表中的一个候选,其X等于Merge候选索引值的奇偶校验的LX运动矢量被用作三角分割模式的单向预测运动矢量。这些运动矢量在图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所示。
图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来自同一个列表,并且不失一般性,假设Mv1和Mv2都来自L0。在这种情况下,
2.a)如果Mv2(或Mv1)的参考图片出现在L1中,则使用L1中的参考图片将该Mv2(或Mv1)转换为L1运动矢量。然后将该两个运动矢量组合起来,以形成双向预测运动矢量;
否则,代替双向预测运动,仅存储单向预测运动Mv1。
2.3用于帧间预测的几何分割(GEO)
在第15界哥德堡JVET会议中提出几何Merge模式(GEO)作为现有三角预测模式(TPM)的扩展。在第16届日内瓦JVET会议上,选择了一种设计更简单的GEO模式作为CE锚点进行进一步研究。如今,正在研究GEO模式以作为VVC中现有TPM的替代品。
图8说明了VTM-6.0中的TPM和针对非矩形帧间块提出的附加形状。
几何Merge模式的划分边界由角度
Figure BDA0003872665740000091
和距离偏移ρi来描述,如图9所示。角度
Figure BDA0003872665740000092
表示0到360度之间的量化角度,距离偏移ρi表示最大距离ρmax的量化偏移。此外,与二叉树划分和TPM划分重叠的划分方向被排除在外。
GEO应用于尺寸不小于8×8的块,对于每种块尺寸,有82种不同的分割方式,以相对于CU的中心的24个角度和4条边进行区分。图10A显示从穿过CU中心的Edge0开始,4个边缘沿法向量方向均匀分布在CU内。GEO中的每个分割模式(即,一对角度索引和边缘索引)都分配有一个样点自适应权重表,以混合两个分割部分的样点,其中采样的权重值范围为0到8并且由样点的中心位置到边缘的距离L2决定。基本上,在分配权重值时遵循单位增益约束,即当一个小的权重值分配给一个GEO分割时,一个大的互补值分配给另一个分割,总和为8。
每个样点的权重值的计算分为两部分:(a)计算从样点位置到给定边缘的位移,以及(c)通过预定义的查找表,将计算出的位移映射到权重值。计算从样点位置(x,y)到给定边缘Edgei的位移的方法实际上与计算从(x,y)到Edge0的位移并将该位移减去Edge0和Edgei之间的距离ρ的方法相同。图10B说明了(x,y)和边缘之间的几何关系。具体来说,从(x,y)到Edgei的位移可以表述如下:
Figure BDA0003872665740000093
图10A示出了GEO中支持的边缘。图10B示出了给定样点位置(x,y)和两个边缘之间的几何关系。
ρ的值是关于法线向量的最大长度(用ρmax表示)和边缘索引i的函数,即:
Figure BDA0003872665740000094
其中,N是GEO支持的边缘的数量,“1”是为了防止最后一个边缘EdgeN-1对于某些角度索引来说太靠近CU角。将公式(8)代入公式(6),可以计算从每个样点(x,y)到给定Edgei的位移。简而言之,将
Figure BDA0003872665740000101
表示为wIdx(x,y)。每个CU需要计算一次ρ,每个样点需要计算一次wIdx(x,y),其中涉及乘法。
2.4具有运动矢量差的Merge(MMVD)
MMVD也称为最终运动矢量表达(UMVE)。
提出了UMVE。UMVE可通过提出的运动矢量表达方法用于跳过或Merge模式。
UMVE重复使用与VVC中的常规Merge候选列表中包含的Merge候选相同的Merge候选。在Merge候选中,可以选择基础候选,并通过提出的运动矢量表达方法进一步扩展。
UMVE提供了一种新的运动矢量差(MVD)表示方法,其中,使用起点、运动幅度和运动方向来表示MVD。
图11示出了UMVE搜索处理的示例。
图12示出了UMVE搜索点的示例。
该提出的技术照原样使用Merge候选列表。但是,只考虑将默认Merge类型(MRG_TYPE_DEFAULT_N)的候选用于UMVE的扩展。
基础候选索引定义了起点。基础候选索引指示列表中的候选中的最佳候选,如下所示。
表2.4.1基础候选IDX
基础候选IDX 0 1 2 3
第N个MVP 第1个MVP 第2个MVP 第3个MVP 第4个MVP
如果基础候选的数量等于1,则不信令通知基础候选IDX。
距离索引是运动幅度信息。距离索引表示距起点信息的预定义距离。预定义距离如下所示:
表2.4.2a距离IDX
距离IDX 0 1 2 3 4 5 6 7
样点距离 1/4像素 1/2像素 1像素 2像素 4像素 8像素 16像素 32像素
在熵编解码过程中使用截断的一元码将距离IDX在bin中二值化为:
表2.4.2b距离IDX二值化
距离IDX 0 1 2 3 4 5 6 7
二值化 0 10 110 1110 11110 111110 1111110 1111111
在算术编解码中,第一个bin使用概率上下文编解码,后面的bin用等概率模型编解码,也就是旁路编解码。
方向索引表示MVD相对于起点的方向。方向索引可以代表四个方向,如下所示。
表2.4.3方向IDX
方向IDX 00 01 10 11
X轴 + N/A N/A
Y轴 N/A N/A +
在发送跳过标志或Merge标志之后立即信令通知UMVE标志。如果跳过标志或Merge标志为真,则解析UMVE标志。如果UMVE标志等于1,则解析UMVE语法。但是,如果UMVE标志不是1,则解析AFFINE标志。如果AFFINE标志等于1,即为AFFINE模式。但是,如果AFFINE标志不等于1,则为VTM的跳过/Merge模式解析跳过/Merge索引。
不需要由于UMVE候选而产生的额外的行缓冲区。因为软件的跳过/Merge候选直接用作基础候选,使用输入的UMVE索引,可以在运动补偿之前确定MV的补充。无需为此保留长的行缓冲区。
在VVC中,可以将Merge候选列表中的第一或第二Merge候选选择为基础候选。
图11和图12示出了UMVE的MVD搜索处理和搜索点。
3本文公开的技术方案解决的技术问题
在当前的TPM/GEO设计中,分割的MV直接从Merge候选继承而没有任何细化,这可能是不准确的。
4解决方案示例
下面的详细项目应被视为解释一般概念的示例。不应狭隘地解释这些项目。此外,这些项目可以以任何方式组合。
术语“GEO”可以表示将一个块划分为两个或更多个子区域的编解码方法,这是通过分割类型(例如,QT/BT/TT)无法实现的。术语“GEO”也可以称为“GPM”。术语“GPM”可以表示三角预测模式(TPM),和/或几何Merge模式(GEO),和/或楔形预测模式。
术语“块”可以表示CU和/或PU和/或TU的编解码块。
提出了一种名为“GMVD”的编解码方法。在GMVD中,可以为一个块信令通知或者推导出多于一个的运动矢量差(MVD),其中将多个MVD中的至少一个MVD添加到从Merge候选推导出的MV中,以获得细化MV,该细化MV用于块内的至少一个样点的运动补偿中和/或被存储以用于后续处理。需要注意的是,下面的项目符号可以适用于GMVD或传统的MMVD方法。
本文档中的向量运算以数学中的通用方式完成。例如,(a,b)*c等于(a*c,b*c)。
1.一个GMVD编解码块可以分割为一个以上的分割。
a.在一个示例中,至少一个分割是非矩形的。
b.在一个示例中,通过TPM将块分割为两个分割,并且Merge候选可以是TPM Merge候选。
c.在一个示例中,通过GEO将块分割为两个分割,并且Merge候选可以是GEO Merge候选。
2.当一个GMVD编解码块被划分为N个分割时,为这些分割信令通知或推导出最多N个MVD,其中N>=2。在一个示例中,N等于2。
a.在一个示例中,信令通知或推导出N个MVD,并且每个MVD对应于特定分割。
i.或者,进一步地,将一个分割对应的MVD与该分割的MV相加,以得到该分割的细化MV,该细化MV用于该分割的运动补偿。
b.在一个示例中,信令通知或推导出K(K<N)个MVD,并且一个MVD可以对应于多于一个的分割。
c.在一个示例中,信令通知多少MVD可能取决于解码信息,例如与N个分割相关联的块尺寸、低延迟校验标志、预测方向或参考图片列表。
d.在一个示例中,信令通知MVD的数量。
e.在一个示例中,一个分割可以使用多个MVD。
i.例如,可以将多个MVD添加到分割的MV以获得分割的细化MV。
3.建议信令通知第一消息(例如标志)以指示多个MVD中的至少一个是否不等于0。
a.在一个示例中,第一消息在算术编解码中通过上下文编解码或旁路编解码。
i.可选地,进一步地,使用至少一个与语法元素相同的上下文对第一消息进行编解码以指示是否应用MMVD。
b.或者,进一步地,仅当第一消息指示多个MVD中的至少一个不等于0时,才信令通知与多个MVD相关的信息。
4.建议信令通知多个MVD中的至少一个的非零消息以指示MVD是否等于零。
a.在一个示例中,在算术编解码中,消息的至少一个二值化bin通过上下文编解码。
i.或者,在算术编解码中,消息的至少一个二值化bin通过旁路编解码。
b.在一个示例中,使用至少一个与语法元素相同的上下文对消息进行编解码以指示是否应用MMVD。
c.或者,进一步地,仅当非零消息指示MVD不等于0时,才信令通知与MVD相关联的信息(例如方向和/或绝对值)。
d.或者,进一步地,如果第一消息指示多个MVD中的至少一个不等于0并且最后一个MVD之前的所有MVD为零,则不信令通知最后MVD的非零消息并且最后MVD被推断为非零。
5.建议用表征MVD的水平分量的语法元素来信令通知多个MVD中的至少一个。
6.建议用表征MVD的垂直分量的语法元素来信令通知多个MVD中的至少一个。
7.建议用表征MVD的水平分量和/或垂直分量的绝对值的语法元素来信令通知多个MVD中的至少一个。
8.建议根据第一MVD推导出第二MVD,在信令通知或者推导出第二MVD之前信令通知或推导出该第一MVD。
9.与MMVD设计类似,GMVD中使用的MVD可以用两个变量来表示:方向和由D表示的幅度(或距离)。此外,以下可能适用:
a.用表征MVD的方向(例如,水平或垂直)的语法元素来信令通知多个MVD中的至少一个。
i.在一个示例中,方向可以包括但不限于:
1)MVD的形式为(1,0)*D,其中D不小于0;
2)MVD的形式为(-1,0)*D,其中D不小于0;
3)MVD的形式为(0,1)*D,其中D不小于0;
4)MVD的形式为(0,-1)*D,其中D不小于0;
5)MVD的形式为(1,1)*D,其中D不小于0;
6)MVD的形式为(-1,1)*D,其中D不小于0;
7)MVD的形式为(1,-1)*D,其中D不小于0;
8)MVD的形式为(-1,-1)*D,其中D不小于0。
ii.在一个示例中,仅使用了9.a.i.1)到9.a.i.4)中提到的四个方向。
iii.在一个示例中,可以利用固定长度编解码、或一元编解码、或指数哥伦布编解码对方向进行二值化。
b.在一个示例中,D大于0。
c.对于GMVD编解码块,可以用信令通知或推导出的D来表示MVD幅度(或距离)的指示。
i.在一个示例中,D被限制在候选集中。
1)在一个示例中,候选集可以包括零。
2)在一个示例中,候选集可以包括1/4-样点、1/2-样点或其他分数样点。
3)在一个示例中,候选集可以包括1-样点、2-样点、4-样点、8-样点、16-样点、32-样点、64-样点、128-样点或其他2N-样点。
4)在一个示例中,候选集可以包括3-样点、6-样点、12-样点、24-样点或其他整数样点。
5)在一个示例中,候选集可以是{1/4-样点,1/2-样点,1-样点,2-样点,4-样点,8-样点,16-样点,32-样点}。
6)在一个示例中,候选集可以是{1/4-样点、1/2-样点、1-样点、2-样点、3-样点、4-样点、6-样点、8-样点、16-样点}。
7)在一个示例中,可以将候选集设置为与用于同一视频处理单元(例如,条带/片/子图片/图片/序列)中的MMVD编解码块的候选集相等。
a.可选地,候选集可以包括除了用于同一视频处理单元中的MMVD编解码块的候选之外的更多候选。
b.可选地,候选集中的至少一个候选可以不同于用于同一视频处理单元中的MMVD编解码块的候选。
c.可选地,候选集中的至少一个候选可以与用于同一视频处理单元中的MMVD编解码块的候选之一相等。
8)在一个示例中,信令通知候选集中所选MVD幅度的索引,而不是直接信令通知D。
ii.在一个示例中,可以预定义MVD的多个候选集,并且可以选择其中之一来对当前GMVD编解码块进行编码/解码。
1)在一个示例中,该选择取决于在条带/图片/序列级别信令通知的消息,例如条带标头/图片标头/PPS/SPS。
2)在一个示例中,该选择取决于用于MMVD编解码块的相同消息,例如sps_fpel_mmvd_enabled_flag。
iii.在一个示例中,D被二值化为固定长度编解码,或一元编解码,或指数哥伦布编解码。
iv.在一个示例中,D的至少一个二值化bin在算术编解码中被上下文编解码。
v.或者,消息的至少一个二值化bin在算术编解码中被旁路编解码。
vi.在一个示例中,D的第一个bin在算术编解码中被上下文编解码。
1)可选地,进一步地,D的其他bin被旁路编解码。
d.例如,从D推导出的MVD可以在被用于推导出分割的最终MVD之前被进一步修改。
i.在一个示例中,可以将D修改为D=D<<S,S是整数,例如2。
ii.可以隐式推断是否应用该修改。
1)例如,如果当前图片的宽度和/或高度大于阈值,则可以应用该修改。
iii.是否应用该修改可以取决于信令通知的消息,该消息可以处于序列级别(例如,在SPS和/或序列标头中)、图片级别(例如,在PPS和/或图片标头中)、条带级别(例如,在条带标头)、子图片级别、片级别、CTU行级别、CTU级别。
1)例如,VVC中的相同消息,sps_fpel_mmvd_enabled_flag和/或pic_fpel_mmvd_enabled_flag可用于控制MMVD和GMVD。
2)或者,可以信令通知单独的消息以分别控制MMVD和GMVD。
10.在上述示例中,可以通过TPM或GEO将块分割为两个分割,并且可以为这两个分割信令通知或推导出两个MVD。
a.可选地,进一步地,将通过TPM或GEO为分割推导出的MV和分割的MVD的总和计算为分割的MV。
b.可选地,进一步地,以与TPM或GEO相同的方式执行该两个分割的两个运动补偿与两个MV的加权求和过程。
c.可选地,进一步地,以与TPM或GEO相同的方式执行该两个分割的两个MV的MV存储过程。
11.在上述示例中,是否信令通知或推导出建议的多个MVD可以是有条件的。
a.在一个示例中,是否信令通知或推导出建议的多个MVD可以取决于是否为当前块启用了GEO。
b.在一个示例中,如果没有信令通知或推导出建议的多个MVD,则该建议的多个MVD被推断为零。
c.在一个示例中,可以在序列级别(例如在SPS和/或序列标头中)、在图片级别(例如在PPS和/或图片标头中)、在条带级别(例如在条带标头中)、在子图片级别、在片级别、在CTU行级别、在CTU级别信令通知是否信令通知或推导出建议的GMVD。
i.可选地,进一步地,可以有条件地信令通知是否启用GMVD,例如在启用TPM/GEO的条件下。
d.在一个示例中,是否信令通知或推导出所建议的多个MVD可以取决于块宽度(W)和/或块高度(H)。例如,如果满足以下条件的至少一个或任何组合,则可以不信令通知或推导出所建议的多个MVD。
i.W>=T1,例如,T1=64;
ii.H>=T2,例如,T2=64;
iii.W>=T3*H,例如,T3=4;
iv.H>=T4*H,例如,T4=8;
v.W<=T5,例如,T5=8;
vi.H<=T6,例如,T6=8;
vii.W*H>=T7,例如,T7=2048;
viii.W*H<=T8,例如,T8=64;
ix.W==T9或者H==T10(例如,T9=T10=4);
x.W/H>T11或者max(W,H)/min(W,H)>=T11;
xi.W/H<T11或者max(W,H)/min(W,H)<T11。
e.是否信令通知或推导出建议的多个MVD可能取决于Merge候选索引。
i.在一个示例中,Merge候选索引大于值。
12.对于GMVD编解码块,可以在Merge候选索引之前信令通知MVD。
a.可选地,进一步地,可以根据是否信令通知或者推导出所建议的多个MVD来信令通知Merge候选索引。
b.可选地,进一步地,如何信令通知GMVD编解码块的Merge候选索引(例如,二值化处理)可能取决于GMVD的使用。
i.在一个示例中,如果建议的多个MVD被信令通知或者被推导出,则可以被信令通知的最大Merge候选索引可以被减少。
5实施例
5.1草案变更示例
■Merge数据语法
Figure BDA0003872665740000181
Figure BDA0003872665740000191
■Merge数据语义
tmvd_flag[x0][y0]指示是否对当前编解码单元应用具有运动矢量差的三角预测。数组索引x0,y0指示所考虑的编解码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。当tmvd_flag[x0][y0]不存在时,推断为tmvd_flag[x0][y0]等于0。
tmvd_part_flag[x0][y0][partIdx]指示是否对当前编解码单元中索引等于partIdx的分割应用具有运动矢量差的三角预测。数组索引x0,y0指示所考虑的编解码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。当tmvd_part_flag[x0][y0][partIdx]不存在时,如果tmvd_flag[x0][y0]等于1并且partIdx等于1,则推断tmvd_part_flag[x0][y0][partIdx]等于1。否则,推断为等于0。
tmvd_distance_idx[x0][y0][partIdx]指示用于导出TmvdDistance[x0][y0][partIdx]的索引。数组索引x0,y0指示所考虑的编解码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
TmvdDistanceArray[]设置为等于{4,8,16,32,48,64,96,128,256}并且TmvdDistance[x0][y0][partIdx]设置为等于TmvdDistanceArray[tmvd_distance_idx[x0][y0][partIdx]]。
mmvd_direction_idx[x0][y0]指示用于导出具有compIdx=0..1的TmvdBaseMv[x0][y0][partIdx][compIdx]的索引。数组索引x0,y0指示所考虑的编解码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
TmvdBaseArray[][]设置为等于{{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}。
对于compIdx=0..1,TmvdBase[x0][y0][partIdx][compIdx]设置为等于TmvdBaseArray[mmvd_direction_idx[x0][y0]][compIdx]。
当tmvd_part_flag[x0][y0][partIdx]等于0时,对于compIdx=0..1,TmvdOffset[x0][y0][partIdx][compIdx]设置为零。否则,对于compIdx=0..1,TmvdOffset[x0][y0][partIdx][compIdx]设置为等于TmvdBaseMv[x0][y0][partIdx][compIdx]*TmvdDistance[x0][y0][partIdx]*(pic_fpel_mmvd_enabled_flag==1?4:1)。
■Merge三角模式的亮度运动矢量的推导处理
仅在MergeTriangleFlag[xCb][yCb]等于1时调用该处理,其中(xCb,yCb)指示当前亮度编解码块的左上样点相对于当前图片的左上亮度样点的位置。
该处理的输入为:
–当前亮度编解码块的左上样点相对于当前图片的左上亮度样点的亮度位置(xCb,yCb),
–变量cbWidth,指示在亮度样点中当前编解码块的宽度,
–变量cbHeight,指示在亮度样点中当前编解码块的高度。
该处理的输出为:
–具有1/16分数样点精度的亮度运动矢量mvA和mvB,
–参考索引refIdxA和refIdxB,
–预测列表标志predListFlagA和predListFlagB。
运动矢量mvA和mvB,参考索引refIdxA和refIdxB,以及预测列表标志predListFlagA和predListFlagB通过以下有序步骤推导:
1.调用第8.5.2.2节中规定的Merge模式的亮度运动矢量的推导过程,将亮度位置(xCb,yCb)、变量cbWidth和cbHeight作为输入,而输出为:亮度运动矢量mvL0[0][0]、mvL1[0][0]、参考索引refIdxL0、refIdxL1、预测列表使用标志predFlagL0[0][0]和predFlagL1[0][0],双向预测权重指数bcwIdx和Merge候选列表mergeCandList。
2.分别为三角分割0和1的Merge索引的变量m和n,使用merge_triangle_idx0[xCb][yCb]和merge_triangle_idx1[xCb][yCb]通过下式导出:
m=merge_triangle_idx0[xCb][yCb] (657)
n=merge_triangle_idx1[xCb][yCb]+(merge_triangle_idx1[xCb][yCb]>=m)?1:0 (658)
3.设refIdxL0M和refIdxL1M,predFlagL0M和predFlagL1M,mvL0M和mvL1M为Merge候选列表mergeCandList中位置m处的Merge候选M(M=mergeCandList[m])的参考索引、预测列表使用标志和运动矢量。
4.变量X设置为等于(m&0x01)。
5.当predFlagLXM等于0时,X被设置为等于(1-X)。
6.应用下式:
mvA[0]=mvLXM[0]+TmvdOffset[x0][y0][0][0] (659)
mvA[1]=mvLXM[1]+TmvdOffset[x0][y0][0][1] (660)
refIdxA=refIdxLXM (661)
predListFlagA=X (662)
7.设refIdxL0N和refIdxL1N、predFlagL0N和predFlagL1N、mvL0N和mvL1N为Merge候选列表mergeCandList中位置m处的Merge候选N(N=mergeCandList[n])的参考索引、预测列表使用标志和运动矢量。
8.变量X设置为等于(n&0x01)。
9.当predFlagLXN等于0时,X被设置为等于(1-X)。
10.应用下式:
mvB[0]=mvLXN[0]+TmvdOffset[x0][y0][1][0] (663)
mvB[1]=mvLXN[1]+TmvdOffset[x0][y0][1][1] (664)
refIdxB=refIdxLXN (665)
predListFlagB=X (666)
表123语法元素和相关的二值化
Figure BDA0003872665740000221
表128将ctxInc分配给具有上下文编解码bin的语法元素
Figure BDA0003872665740000222
Figure BDA0003872665740000231
图13示出了视频处理系统1900的示例的框图,该视频处理系统1900可以实现本文公开的各种技术。各种实现可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩格式接收,例如,8比特或10比特多分量像素值,或者可以以压缩或编码格式接收。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可包括编解码组件1904,其可实现本文档中所描述的各种编解码或编码方法。编解码组件1904可以降低从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,也可以通过连接的通信进行传输,如组件1906所示。输入1902处接收的视频的存储或通信比特流(或编解码)表示可由组件1908用于生成像素值或发送到显示接口1910的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但应当理解的是,编解码工具或操作被用于编码器处,并且逆向编码结果的相应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文中所描述的技术可实施在各种电子设备中,例如移动电话、笔记本电脑、智能手机或其他能够执行数字数据处理和/或视频显示的设备。
图14是视频处理装置3600的框图。装置3600可以用于实现本文描述的一种或多种方法。装置3600可以被实施在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。处理器3602可以被配置为实现本文中描述的一种或多种方法。存储器(一个或多个)3604可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件3606可用于在硬件电路中实现本文中描述的一些技术。
图16是用于说明可应用本公开技术的视频编解码系统100的示例的框图。
如图16所示,视频编解码系统100可以包括源设备110和目的设备120。源设备110生成编码视频数据,可以被称为视频编码设备。目的设备120可对源设备110生成的编码视频数据进行解码,可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕捉设备的源、从视频内容提供者接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。关联数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络130a经由I/O接口116直接发送到目的设备120。编码的视频数据也可以存储在存储介质/服务器130b上以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可解码该编码视频数据。显示设备122可以向用户展示解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目标设备120的外部,目标设备120被配置为与外部显示设备连接。
视频编码器114和视频解码器124可以根据视频压缩标准操作,例如高效视频编解码(HEVC)标准、通用视频编解码(VVM)标准和其他当前和/或进一步的标准。
图17是说明视频编码器200的示例的框图,该视频编码器200可以是图16中说明的系统100中的视频编码器114。
视频编码器200可被配置为执行本公开的任何或全部技术。在图17的示例中,视频编码器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之类的一些组件可以高度集成,但是为了解释的目的,在图17的示例中被分开表示。
分割单元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可执行一个或多个熵编码操作以产生熵编码数据并输出包括熵编码数据的比特流。
图18是说明视频解码器300的示例的框图,视频解码器300可以是图16中说明的系统100中的视频解码器114。
视频解码器300可被配置为以执行本公开的任何或全部技术。在图17的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或全部技术。
在图18的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200(图17)描述的编码路径相反的解码路径。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编码的视频数据(例如,视频数据的编码块)。熵解码单元301可以解码熵编码的视频数据,并且根据熵解码的视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。例如,运动补偿单元302可以通过执行AMVP和Merge模式来确定这些信息。
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。与子像素精度一起使用的插值滤波器的标识符可以包含在语法元素中。
运动补偿单元302可使用视频编码器200在对视频块进行编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元302可根据接收的语法信息来确定视频编码器200所使用的内插滤波器,并使用内插滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的帧和/或条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何分割的分割信息、指示每个分割如何编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)和用于解码该编码的视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化视频块系数进行逆量化,即去量化。逆变换单元303应用逆变换。
重构单元306可将残差块与由运动补偿单元202或帧内预测单元303产生的对应预测块相加以形成解码块。如果需要,还可以应用去块滤波器来过滤解码块,以便去除块状伪影。然后将解码的视频块存储在缓冲器307中,该缓冲器为随后的运动补偿/帧内预测提供参考块并且还产生用于在显示设备上呈现的解码视频。
接下来提供一些实施例优选的解决方案的列表。
以下方案显示了前面部分(例如,第1项)中讨论的技术的示例实施例。
1、一种视频处理方法(例如,图15中所示的方法1500),包括:对于视频的视频单元和该视频的编解码表示之间的转换,将该视频分割成多个分割,并且使用具有运动矢量差的Merge模式并基于该多个分割对该多个分割中的至少一些分割执行该转换。
2、如方案1所述的方法,其中,该多个分割中的至少一个分割为非矩形分割。
3、如方案1-2中任一项所述的方法,其中,该分割使用三角分割模式,其中,具有运动矢量差的Merge模式使用三角分割模式Merge候选作为Merge候选。
以下方案显示了前面部分(例如,第2项)中讨论的技术的示例实施例。
4、如方案1-3中任一项所述的方法,其中,该多个分割包括N个分割,其中N为大于或等于2的整数,其中该编解码表示最多包括N个运动矢量差值,或者,转换使用最多N个运动矢量差值。
5、如方案4所述的方法,其中,该编解码表示包括指示K个分割的字段,其中K<N,其中一个运动矢量差值由该多个分割中的一个以上的分割共享。
以下方案显示了前面部分(例如,第3项)中讨论的技术的示例实施例。
6、如方案4-5所述的方法,其中,该编解码表示中的字段指示该N个运动矢量差值中的至少一个是否为非零值。
7、如方案6所述的方法,其中,该字段在该编解码表示中通过上下文编解码。
以下方案显示了前面部分(例如,第5、6、7项)中讨论的技术的示例实施例。
8、如方案4-7中任一项所述的方法,其中,该N个运动矢量差中的至少一个被信令通知为指示该运动矢量差的水平分量的语法元素。
9、如方案4-7中任一项所述的方法,其中,该N个运动矢量差中的至少一个被信令通知为指示该运动矢量差的垂直分量的语法元素。
10、如方案4-7中任一项所述的方法,其中,该N个运动矢量差中的至少一个被信令通知为指示该运动矢量差的水平或垂直分量的绝对值的语法元素。
以下方案显示了前面部分(例如,第8项)中讨论的技术的示例实施例。
11、如方案4-7中任一项所述的方法,其中,该N个运动矢量差中的至少一个为从另一个运动矢量差推导出。
以下方案显示了前面部分(例如,第9项)中讨论的技术的示例实施例。
12、一种视频处理方法,包括:对于视频的视频单元和该视频的编解码表示之间的转换,将该视频分割成多个分割,并且基于该多个分割执行该转换,其中,该编解码表示包括指示运动矢量差值的字段,该指示运动矢量差值的字段使用对应于该运动矢量差值的方向和幅度的两个变量中的一个或多个。
13、如方案12所述的方法,其中,该两个变量之一是方向变量。
14、如方案12-13所述的方法,其中,允许该幅度具有属于集合的值。
以下方案显示了前面部分(例如,第12项)中讨论的技术的示例实施例。
15、一种视频处理方法,包括:对于视频的视频单元和该视频的编解码表示之间的转换,将该视频分割成多个分割,并且基于该多个分割执行该转换,其中,该编解码表示包含按顺序排列的字段。
16、如方案15所述的方法,其中,该顺序包括在该编解码表示中在Merge候选索引之前出现的运动矢量差。
17、如方案15所述的方法,其中,该顺序取决于该视频单元的特性。
18、如上述方案中的任一项所述的方法,其中,该视频单元包括编解码单元。
19、如上述方案中的任一项所述的方法,其中,该视频单元包括视频块。
20、如方案1至19中任一项所述的方法,其中,该转换包括将该视频编码为该编解码表示。
21、如方案1至19中任一项所述的方法,其中,该转换包括对该编解码表示进行解码以生成该视频的像素值。
22、一种视频解码装置,包括处理器,该处理器被配置为实现方案1至21中的一个或多个所述的方法。
23、一种视频编码装置,包括处理器,该处理器被配置为实现方案1至21中的一个或多个所述的方法。
24、一种计算机程序产品,其上存储有计算机代码,该代码在被处理器执行时使该处理器实现方案1至21中的任一个所述的方法。
25、一种在本文中描述的方法、装置或系统。
图19示出了视频处理方法的示例的流程图。该方法包括:对于视频的当前视频块与该当前视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码(1902);通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV(1904);根据该细化MV执行该转换(1906)。
在一些示例中,该当前视频块是几何运动矢量差分(GMVD)编解码块或者具有运动矢量差的Merge(MMVD)编解码块。
在一些示例中,该几何分割模式包括多种分割方案,至少一种分割方案将该当前视频块分为两个或更多个分割,该两个或更多个分割中的至少一个是非正方形和非矩形的。
在一些示例中,该几何分割模式包括三角分割模式。
在一些示例中,该几何分割模式包括几何Merge模式。
在一些示例中,该当前视频块被划分为N个分割,对于该当前视频块的分割,最多信令通知或推导出N个MVD,其中N>=2。
在一些示例中,N=2。
在一些示例中,针对该当前视频块的分割,信令通知或推导出N个MVD,并且每个MVD对应于特定分割。
在一些示例中,将一个分割对应的MVD添加到该分割的MV以获得该分割的细化MV,从而用于该分割的运动补偿。
在一些示例中,信令通知或推导出K个MVD,并且至少一个MVD对应于一个以上的分割,其中K<N。
在一些示例中,信令通知的MVD的数量取决于解码信息,解码信息包括与N个分割相关联的块尺寸、低延迟校验标志、预测方向或参考图片列表中的至少一项。
在一些示例中,MVD的数量包含在该比特流中。
在一些示例中,一个分割使用多个MVD。
在一些示例中,将多个MVD添加到分割的MV以获得该分割的细化MV。
在一些示例中,第一消息包含在该比特流中,以指示该多个MVD中的至少一个是否不等于0。
在一些示例中,该第一消息为标志。
在一些示例中,该第一消息在算术编解码中通过上下文编解码或旁路编解码。
在一些示例中,该第一消息用与语法元素相同的至少一个上下文来编解码以指示是否应用MMVD。
在一些示例中,仅当该第一消息指示多个MVD中的至少一个不等于0时,与该多个MVD相关的信息才包含在该比特流中。
在一些示例中,用于该多个MVD中的至少一个的第二消息包含在比特流中,以指示MVD是否等于零,其中第二消息是非零消息。
在一些示例中,该第二消息的至少一个二值化bin在算术编解码中通过上下文编解码。
在一些示例中,该第二消息的至少一个二值化bin在算术编解码中通过旁路编解码。
在一些示例中,该第二消息用与语法元素相同的至少一个上下文来编解码以指示是否应用MMVD。
在一些示例中,仅当该第二消息指示MVD不等于0时,与该MVD相关联的信息才包含在该比特流中。
在一些示例中,该多个MVD中的至少一个包含在具有指示MVD的水平分量的语法元素的比特流中,或者该多个MVD中的至少一个包含在具有指示MVD的垂直分量的语法元素的比特流中。
在一些示例中,该多个MVD中的至少一个包含在比特流中,该比特流具有指示MVD的水平分量和/或垂直分量的绝对值的语法元素。
在一些示例中,根据第一MVD推导出第二MVD,在信令通知或者推导出该第二MVD之前信令通知或推导出该第一MVD。
在一些示例中,GMVD中使用的MVD可以用两个变量来表示,第一个变量是方向,第二个变量是用D表示的幅度。
在一些示例中,该多个MVD中的至少一个包含在具有指示MVD的方向的语法元素的比特流中。
在一些示例中,方向可以包括以下中的至少一个:
1)MVD的形式为(1,0)*D,其中D不小于0;
2)MVD的形式为(-1,0)*D,其中D不小于0;
3)MVD的形式为(0,1)*D,其中D不小于0;
4)MVD的形式为(0,-1)*D,其中D不小于0;
5)MVD的形式为(1,1)*D,其中D不小于0;
6)MVD的形式为(-1,1)*D,其中D不小于0;
7)MVD的形式为(1,-1)*D,其中D不小于0;以及
8)MVD的形式为(-1,-1)*D,其中D不小于0。
在一些示例中,方向可以包括以下中的至少一个:
1)MVD的形式为(1,0)*D,其中D不小于0;
2)MVD的形式为(-1,0)*D,其中D不小于0;
3)MVD的形式为(0,1)*D,其中D不小于0;以及
4)MVD的形式为(0,-1)*D,其中D不小于0。
在一些示例中,可以利用固定长度编解码、或一元编解码、或指数哥伦布编解码对方向进行二值化。
在一些示例中,D大于0。
在一些示例中,对于GMVD编解码块,可以用信令通知或推导出的D来表示MVD幅度的指示。
在一些示例中,D被限制在候选集中。
在一些示例中,该候选集可以包括零。
在一些示例中,该候选集可以包括1/4-样点、1/2-样点或其他分数样点。
在一些示例中,该候选集可以包括1-样点、2-样点、4-样点、8-样点、16-样点、32-样点、64-样点、128-样点或其他2N样点。
在一些示例中,该候选集可以包括3-样点、6-样点、12-样点、24-样点或其他整数样点。
在一些示例中,该候选集可以是{1/4-样点,1/2-样点,1-样点,2-样点,4-样点,8-样点,16-样点,32-样点}。
在一些示例中,该候选集可以是{1/4-样点、1/2-样点、1-样点、2-样点、3-样点、4-样点、6-样点、8-样点、16-样点}。
在一些示例中,可以将该候选集设置为与用于同一视频处理单元中的MMVD编解码块的候选集相等,其中,该视频处理单元包括条带、片、子图片、图片或序列中的至少一个。
在一些示例中,该候选集可以包括除了用于同一视频处理单元中的MMVD编解码块的候选之外的更多候选,其中,该视频处理单元包括条带、片、子图片、图片或序列中的至少一个。
在一些示例中,该候选集中的至少一个候选不同于用于同一视频处理单元中的MMVD编解码块的候选,其中,该视频处理单元包括条带、片、子图片、图片或序列中的至少一个。
在一些示例中,该候选集中的至少一个候选与用于同一视频处理单元中的MMVD编解码块的候选之一相等,其中,该视频处理单元包括条带、片、子图片、图片或序列中的至少一个。
在一些示例中,信令通知该候选集中所选MVD幅度的索引,而不是直接信令通知D。
在一些示例中,预定义多个候选MVD集,并且选择其中之一来对当前GMVD编解码块进行编码/解码。
在一些示例中,该选择取决于在条带级别、图片级别或序列级别中的至少一者中信令通知的消息。
在一些示例中,在条带标头、图片标头、图片参数集(PPS)或序列参数集(SPS)中的至少一者中信令通知该消息。
在一些示例中,该选择取决于用于MMVD编解码块的相同消息,该相同消息为sps_fpel_mmvd_enabled_flag。
在一些示例中,D被二值化为固定长度编解码,或一元编解码,或指数哥伦布编解码。
在一些示例中,D的至少一个二值化bin在算术编解码中通过上下文编解码。
在一些示例中,D的至少一个二值化bin在算术编解码中通过旁路编解码。
在一些示例中,D的第一个bin在算术编解码中通过上下文编解码。
在一些示例中,D的其他bin在算术编解码中通过旁路编解码。
在一些示例中,从D推导出的MVD可以在被用于推导出分割的最终MVD之前被进一步修改。
在一些示例中,可以将D修改为D=D<<S,S是整数。
在一些示例中,S=2。
在一些示例中,隐式推断是否应用该修改。
在一些示例中,如果当前图片的宽度和/或高度大于阈值,则应用该修改。
在一些示例中,是否应用该修改取决于信令通知的消息,该消息处于序列级别、图片级别、条带级别、子图片级别、片级别、CTU行级别、CTU级别中的至少之一。
在一些示例中,在SPS和/或序列标头、在PPS和/或图片标头、或者条带标头中信令通知该消息。
在一些示例中,包括sps_fpel_mmvd_enabled_flag和/或pic_fpel_mmvd_enabled_flag的同一消息可用于控制MMVD和GMVD。
在一些示例中,可以信令通知单独的消息以分别控制MMVD和GMVD。
在一些示例中,可以通过三角分割模式或几何Merge模式将当前视频块分割为两个分割,并且为该两个分割信令通知或推导出两个MVD。
在一些示例中,将通过三角分割模式或几何Merge模式为分割推导出的MV和分割的MVD的总和计算为分割的MV。
在一些示例中,以与三角分割模式或几何Merge模式相同的方式,执行该两个分割的两个运动补偿与两个MV的加权求和过程。
在一些示例中,以与三角分割模式或几何Merge模式相同的方式,执行该两个分割的两个MV的MV存储过程。
在一些示例中,是否信令通知或推导出该多个MVD取决于一个或多个条件。
在一些示例中,是否信令通知或推导出所建议的多个MVD取决于是否为当前视频块启用几何Merge模式。
在一些示例中,如果没有信令通知或推导出该多个MVD,则该多个MVD被推断为零。
在一些示例中,可以在序列级别、图片级别、条带级别、子图片级别、片级别、CTU行级别或CTU级别中的至少之一信令通知是否启用GMVD。
在一些示例中,在SPS和/或序列标头中、PPS和/或图片标头中、或者条带标头中信令通知是否启用GMVD。
在一些示例中,在启用三角分割模式或几何Merge模式的条件下,信令通知是否启用GMVD。
在一些示例中,是否信令通知或推导出所建议的多个MVD可以取决于当前视频块的块宽度(W)和/或块高度(H)。
在一些示例中,如果满足以下条件的至少一个或任何组合,则不信令通知或推导出该多个MVD:
i.W>=T1,T1=64;
ii.H>=T2,T2=64;
iii.W>=T3*H,T3=4;
iv.H>=T4*H,T4=8;
v.W<=T5,T5=8;
vi.H<=T6,T6=8;
vii.W*H>=T7,T7=2048;
viii.W*H<=T8,T8=64;
ix.W==T9或者H==T10,T9=T10=4;
x.W/H>T11或者max(W,H)/min(W,H)>=T11;
xi.W/H<T11或者max(W,H)/min(W,H)<T11。
在一些示例中,是否信令通知或推导出该多个MVD取决于Merge候选的索引。
在一些示例中,Merge候选的索引大于预定值。
在一些示例中,对于GMVD编解码块,在Merge候选的索引之前信令通知MVD。
在一些示例中,根据是否信令通知或者推导出该多个MVD,来信令通知Merge候选的索引。
在一些示例中,如何信令通知GMVD编解码块的Merge候选的索引取决于GMVD的使用。
在一些示例中,如果该多个MVD被信令通知或者被推导出,则可以被信令通知的Merge候选的最大索引可以被减少。
在一些示例中,该转换包括将该当前视频块编码到该比特流中。
在一些示例中,该转换包括从该比特流解码该当前视频块。
在一些示例中,该转换包括从该当前块生成该比特流;该方法进一步包括:将该比特流存储在非暂时性计算机可读记录介质中。
在一些示例中,用于处理视频数据的装置包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时使处理器:对于视频的当前视频块与该当前视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV;以及根据该细化MV执行该转换。
在一些示例中,非暂时性计算机可读介质存储有指令,该指令使处理器:对于视频的当前视频块与该当前视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV;以及根据该细化MV执行该转换。
在一些示例中,非暂时性计算机可读介质存储有由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:对于视频的当前视频块与该当前视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码;通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV;以及基于细化MV从当前视频块生成比特流。
图20示出了存储视频的比特流的方法的示例的流程图。该方法包括:对于视频的当前视频块与该当前视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码(2002);通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV(2004);根据该细化MV,从该当前视频块生成该比特流(2006);以及将该比特流存储在非暂时性计算机可读记录介质中(2008)。
图21示出了视频处理方法的示例的流程图。该方法包括:对于视频的当前视频块与该视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码(2102);通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV,该MV与偏移距离和/或偏移方向相关(21904);以及根据该细化MV执行该转换(2206)。
在一些示例中,该当前视频块是几何运动矢量差分编解码块或者具有运动矢量差的Merge编解码块。
在一些示例中,该几何分割模式包括多种分割方案,在至少一种分割方案中,该当前视频块包括两个或更多个分割。
在一些示例中,该两个或更多个分割中的至少一个是非正方形和非矩形的。
在一些示例中,该几何分割模式包括三角分割模式。
在一些示例中,该几何分割模式包括几何Merge模式。
在一些示例中,使用相同的查找表,从用于几何运动矢量差的距离索引和具有运动矢量差的Merge推导出该偏移距离。
在一些示例中,使用相同的查找表,从用于几何运动矢量差的方向索引和具有运动矢量差的Merge推导出该偏移方向。
图22示出了视频处理方法的示例的流程图。该方法包括:对于视频的当前视频块与该视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码(2202);确定几何运动矢量差分编解码方法是启用还是禁用,其中,该几何运动矢量差分编解码方法通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV(2204);以及根据该细化MV执行该转换(1906)。
在一些示例中,该几何分割模式包括多种分割方案,在至少一种分割方案中,该当前视频块包括两个或更多个分割。
在一些示例中,该两个或更多个分割中的至少一个是非正方形和非矩形的。
在一些示例中,对于该当前视频块中的不同分割,该几何运动矢量差分编解码方法是启用还是禁用是通过显式方式或隐式方式确定的。
在一些示例中,有条件地信令通知第一语法元素,以指示该几何运动矢量差分编解码方法是否应用于该当前视频块或者该当前视频块的分割的该多个MVD中的至少一个MVD是否是非零MVD。
在一些示例中,当该第一语法元素指示应用该几何运动矢量差分编解码方法时,如何信令通知与该MVD相关联的信息和/或几何运动矢量差分编解码方法开/关控制信息取决于分割索引或取决于相对于该当前视频块的分割位置。
在一些示例中,对于编解码顺序中的第一个分割,信令通知该几何运动矢量差分编解码方法开/关控制信息或者对于水平分量和垂直分量该MVD是否均为零。
在一些示例中,如果几何运动矢量差分编解码方法对该第一个分割关闭,则对于编解码顺序中的第二个分割,不信令通知该几何运动矢量差分编解码方法开/关控制信息或者对于水平分量和垂直分量该MVD是否均为零。
在一些示例中,推断该几何运动矢量差分编解码方法应用于该第二个分区。
在一些示例中,在包括序列级别的高级别和/或包括图片级别、条带级别的低级别中,信令通知启用/禁用该几何运动矢量差分编解码方法的指示符。
在一些示例中,在序列参数集(SPS)、图片参数集(PPS)、图片标头或条带标头中的至少一个中,信令通知启用/禁用该几何运动矢量差分编解码方法的指示符。
在一些示例中,根据是否启用几何Merge模式、和/或条带类型或图片类型是B类型、和/或该序列是否允许至少一个B条带/图片,有条件地信令通知该指示符。
在一些示例中,在没有信令通知的情况下,启用/禁用该几何运动矢量差分编解码方法的指示符是隐式推导出来的。
在一些示例中,启用/禁用该几何运动矢量差分编解码方法的指示符是根据是否启用了具有运动矢量差的Merge编解码方法和/或几何Merge模式而推导出的。
在一些示例中,如果启用了该具有运动矢量差的Merge编解码方法和/或该几何Merge模式,则启用该几何运动矢量差分编解码方法。
在一些示例中,如果禁用该具有运动矢量差的Merge编解码方法,则禁用该几何运动矢量差分编解码方法。
在一些示例中,如果禁用该几何Merge模式,则禁用该几何运动矢量差分编解码方法。
在一些示例中,该转换包括将该当前视频块编码到该比特流中。
在一些示例中,该转换包括从该比特流中解码该当前视频块。
在一些示例中,该转换包括从该当前块生成该比特流;该方法还包括:将该比特流存储在非暂时性计算机可读记录介质中。
在一些示例中,提供了一种非暂时性计算机可读介质,该非暂时性计算机可读介质存储有指令,该指令使处理器实现上述方法。
在一些示例中,提供了一种非暂时性计算机可读介质,该非暂时性计算机可读介质存储有由上述方法生成的视频的比特流。
图23示出了存储视频的比特流的方法的示例的流程图。该方法包括:对于视频的当前视频块与该视频的比特流之间的转换,确定该当前视频块采用几何分割模式进行编解码(2302);确定几何运动矢量差分编解码方法是启用还是禁用,其中,该几何运动矢量差分编解码方法通过将为该当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与该当前视频块相关联的Merge候选推导出的运动矢量(MV)中,推导出该当前视频块的至少一个细化MV(2304);根据该细化MV,从该当前视频块生成该比特流(2306);以及将该比特流存储在非暂时性计算机可读记录介质中(2308)。
在本文中,术语“视频处理”可以指视频编码、视频解码、视频压缩、或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换过程中,可以应用视频压缩算法,反之亦然。如语法元素所定义的,例如,当前视频块的比特流表示可以对应于在比特流内并置的或分布在比特流中不同位置的比特。例如,可以根据变换的和编解码的误差残差值并且还使用比特流中的标头和其他字段来对宏块进行编码。
本文中公开的和其他描述的解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文中所公开的结构及其等效结构,或其中一个或多个的组合。公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即一个或多个编码在计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播信号是人为产生的信号,例如机器产生的电信号、光学信号或电磁信号,生成这些信号以对信息进行编码,以便传输到适当的接收装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序以通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光磁盘;以及CDROM和DVD-ROM光盘。处理器和存储器可以由专用逻辑电路来补充,或集成到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何实现或权利要求范围的限制,而应解释为对特定技术的特定实施例特有的特征的描述。本专利文件在单独实施例的上下文描述的一些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可能被描述为在一些组合中起作用,甚至最初要求是这样,但在一些情况下,可以从组合中移除要求保护的组合中的一个或多个特征,并且要求保护的组合可以指向子组合或子组合的变体。
同样,尽管在附图中以特定顺序描述了操作,但这不应理解为要求必须按照所示的特定顺序或按顺序执行这些操作,或执行所有示出的操作,以要获得想要的结果。此外,本专利文件描述的实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,其他实施方式、增强和变体可以基于本专利文件中描述和说明的内容做出。

Claims (32)

1.一种视频处理方法,包括:
对于视频的当前视频块与所述视频的比特流之间的转换,确定所述当前视频块采用几何分割模式进行编解码;
通过将为所述当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与所述当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出所述当前视频块的至少一个细化MV,所述MV与偏移距离和/或偏移方向相关;以及
根据所述细化MV执行所述转换。
2.根据权利要求1所述的方法,其中,
所述当前视频块是几何运动矢量差分编解码块或者具有运动矢量差的Merge编解码块。
3.根据权利要求1或2所述的方法,其中,
所述几何分割模式包括多种分割方案,在至少一种分割方案中,所述当前视频块包括两个或多个分割。
4.根据权利要求3所述的方法,其中,
所述两个或多个分割中的至少一个是非正方形和非矩形的。
5.根据权利要求1~4任一项所述的方法,其中,所述几何分割模式包括三角分割模式。
6.根据权利要求1~4任一项所述的方法,其中,所述几何分割模式包括几何Merge模式。
7.根据权利要求2~6任一项所述的方法,其中,
使用相同的查找表从用于几何运动矢量差的距离索引和具有运动矢量差的Merge推导出所述偏移距离。
8.根据权利要求2~6任一项所述的方法,其中,
使用相同的查找表从用于几何运动矢量差的方向索引和具有运动矢量差的Merge推导出所述偏移方向。
9.一种视频处理方法,包括:
对于视频的当前视频块与所述视频的比特流之间的转换,确定所述当前视频块采用几何分割模式进行编解码;
确定几何运动矢量差分编解码方法是启用还是禁用,其中,所述几何运动矢量差分编解码方法通过将为所述当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与所述当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出所述当前视频块的至少一个细化MV;以及
根据所述细化MV执行所述转换。
10.根据权利要求9所述的方法,其中,
所述几何分割模式包括多种分割方案,在至少一种分割方案中,所述当前视频块包括两个或多个分割。
11.根据权利要求10所述的方法,其中,
所述两个或多个分割中的至少一个是非正方形和非矩形的。
12.根据权利要求11所述的方法,其中,
对于所述当前视频块中的不同分割,所述几何运动矢量差分编解码方法是启用还是禁用是通过显式方式或隐式方式确定的。
13.根据权利要求9~12任一项所述的方法,其中,
有条件地信令通知第一语法元素,以指示所述几何运动矢量差分编解码方法是否应用于所述当前视频块或者所述当前视频块的分割的所述多个运动矢量差(MVD)中的至少一个MVD是否是非零MVD。
14.根据权利要求13所述的方法,其中,
当所述第一语法元素指示应用所述几何运动矢量差分编解码方法时,如何信令通知与所述MVD相关联的信息和/或几何运动矢量差分编解码方法开/关控制信息取决于分割索引或取决于相对于所述当前视频块的分割位置。
15.根据权利要求14所述的方法,其中,
对于编解码顺序中的第一个分割,信令通知所述几何运动矢量差分编解码方法开/关控制信息或者对于水平分量和垂直分量,所述MVD是否均为零。
16.根据权利要求15所述的方法,其中,
如果所述几何运动矢量差分编解码方法对所述第一个分割关闭,则对于所述编解码顺序中的第二个分割,不信令通知所述几何运动矢量差分编解码方法开/关控制信息或者对于水平分量和垂直分量,所述MVD是否均为零。
17.根据权利要求16所述的方法,其中,
推断所述几何运动矢量差分编解码方法应用于所述第二个分割。
18.根据权利要求9~17任一项所述的方法,其中,
在包括序列级别的高级别和/或包括图片级别、条带级别的低级别中,信令通知启用/禁用所述几何运动矢量差分编解码方法的指示符。
19.根据权利要求18所述的方法,其中,
在序列参数集(SPS)、图片参数集(PPS)、图片标头或条带标头中的至少一个中,信令通知启用/禁用所述几何运动矢量差分编解码方法的指示符。
20.根据权利要求19所述的方法,其中,根据是否启用几何Merge模式,和/或条带类型或图片类型是B类型,和/或所述序列是否允许至少一个B条带/图片,有条件地信令通知所述指示符。
21.根据权利要求9~20任一项所述的方法,其中,
在没有信令通知的情况下,启用/禁用所述几何运动矢量差分编解码方法的指示符是隐式推导出来的。
22.根据权利要求21所述的方法,其中,
启用/禁用所述几何运动矢量差分编解码方法的指示符是根据是否启用了具有运动矢量差的Merge编解码方法和/或几何Merge模式而推导出的。
23.根据权利要求22所述的方法,其中,
如果启用了所述具有运动矢量差的Merge编解码方法和/或所述几何Merge模式,则启用所述几何运动矢量差分编解码方法。
24.根据权利要求22所述的方法,其中,
如果禁用所述具有运动矢量差的Merge编解码方法,则禁用所述几何运动矢量差分编解码方法。
25.根据权利要求22所述的方法,其中,如果禁用所述几何Merge模式,则禁用所述几何运动矢量差分编解码方法。
26.根据权利要求1~25任一项所述的方法,其中,
所述转换包括将所述当前视频块编码到所述比特流中。
27.根据权利要求1~25任一项所述的方法,其中,
所述转换包括从所述比特流中解码所述当前视频块。
28.根据权利要求1~25任一项所述的方法,其中,
所述转换包括从所述当前块生成所述比特流;
该方法还包括:
将所述比特流存储在非暂时性计算机可读记录介质中。
29.一种用于处理视频数据的设备,包括处理器和其上具有指令的非暂时性存储器,其中,在所述指令由所述处理器执行时,使所述处理器实现如权利要求1~28中的任一项或多项所述的方法。
30.一种非暂时性计算机可读介质,存储有指令,所述指令使处理器实现如权利要求1~28中任一项或多项所述的方法。
31.一种非暂时性计算机可读介质,存储有由权利要求1~28中任一项或多项所述的方法生成的视频的比特流。
32.一种存储视频的比特流的方法,包括:
对于视频的当前视频块与所述视频的比特流之间的转换,确定所述当前视频块采用几何分割模式进行编解码;
确定几何运动矢量差分编解码方法是启用还是禁用,其中,所述几何运动矢量差分编解码方法通过将为所述当前视频块信令通知或推导出的多个运动矢量差(MVD)中的至少一个MVD添加到从与所述当前视频块相关联的Merge候选推导出的运动矢量(MV),推导出所述当前视频块的至少一个细化MV;
根据所述细化MV,从所述当前视频块生成所述比特流;以及
将所述比特流存储在非暂时性计算机可读记录介质中。
CN202180026287.3A 2020-04-09 2021-04-08 具有几何分割的块的运动矢量差 Pending CN115428452A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2020/083916 2020-04-09
CN2020083916 2020-04-09
PCT/CN2021/085914 WO2021204190A1 (en) 2020-04-09 2021-04-08 Motion vector difference for block with geometric partition

Publications (1)

Publication Number Publication Date
CN115428452A true CN115428452A (zh) 2022-12-02

Family

ID=78022753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180026287.3A Pending CN115428452A (zh) 2020-04-09 2021-04-08 具有几何分割的块的运动矢量差

Country Status (3)

Country Link
US (1) US20230051108A1 (zh)
CN (1) CN115428452A (zh)
WO (1) WO2021204190A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220353500A1 (en) * 2021-04-26 2022-11-03 Tencent America LLC Geometry partition mode and merge mode with motion vector difference signaling
WO2023197966A1 (en) * 2022-04-12 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2023239879A1 (en) * 2022-06-09 2023-12-14 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for geometric partitioning mode with adaptive blending

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111771377A (zh) * 2018-01-30 2020-10-13 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
WO2020139059A1 (ko) * 2018-12-28 2020-07-02 삼성전자 주식회사 움직임 벡터 차분의 부호화 방법 및 부호화 장치, 및 움직임 벡터 차분의 복호화 방법 및 복호화 장치
CN113382261B (zh) * 2019-06-21 2022-05-20 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
US11563980B2 (en) * 2020-04-02 2023-01-24 Qualcomm Incorporated General constraint information syntax in video coding

Also Published As

Publication number Publication date
US20230051108A1 (en) 2023-02-16
WO2021204190A1 (en) 2021-10-14

Similar Documents

Publication Publication Date Title
US11805269B2 (en) Pruning in multi-motion model based skip and direct mode coded video blocks
US11558612B2 (en) Coefficient dependent coding of transform matrix selection
CN113424525B (zh) 解码器侧细化工具的尺寸选择性应用
CN113261293B (zh) 用于帧内块复制的基于历史的运动候选列表构建
US11700378B2 (en) High level syntax for inter prediction with geometric partitioning
CN115428452A (zh) 具有几何分割的块的运动矢量差
CN114556915B (zh) 几何分割模式中被编解码的块的去块
CN115104309A (zh) 对merge模式的改进
US20230247199A1 (en) Simplified Inter Prediction With Geometric Partitioning
US20220337867A1 (en) Motion vector difference for block with geometric partition
CN115715465A (zh) 使用非紧邻临近块的帧内块复制
CN116195253A (zh) 帧内块复制编解码中的块矢量处理
CN115812306A (zh) 使用非紧邻临近块的帧内块复制的约束
CN116711311A (zh) 帧内编解码中的样点字符串处理

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