CN113796084A - 运动矢量和预测样点细化 - Google Patents

运动矢量和预测样点细化 Download PDF

Info

Publication number
CN113796084A
CN113796084A CN202080028662.3A CN202080028662A CN113796084A CN 113796084 A CN113796084 A CN 113796084A CN 202080028662 A CN202080028662 A CN 202080028662A CN 113796084 A CN113796084 A CN 113796084A
Authority
CN
China
Prior art keywords
block
mvd
picture
dmvr
bdof
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.)
Granted
Application number
CN202080028662.3A
Other languages
English (en)
Other versions
CN113796084B (zh
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.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of CN113796084A publication Critical patent/CN113796084A/zh
Application granted granted Critical
Publication of CN113796084B publication Critical patent/CN113796084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

公开了运动矢量和预测样点细化。在视频处理的一个示例方法中,对于第一视频块和所述第一块的比特流表示之间的转换,通过联合使用多个解码器运动矢量推导(DMVD)过程中的第一过程和第二过程推导与所述第一块关联的MVD(MVDb)和与所述第一块内的子块关联的MVD(MVDsb)中的至少一个运动矢量差(MVD),至少使用所述第一过程推导所述MVDb,并且至少使用所述第二过程推导所述MVDsb;使用所述至少一个MVD细化所述第一块的运动矢量(MV)(MVb);以及基于所述第一块的细化运动矢量执行转换。

Description

运动矢量和预测样点细化
相关申请的交叉引用
根据适用的专利法和/或巴黎公约的规定,提出本申请是为了及时要求2019年4月14日提交的国际专利申请No.PCT/CN2019/082589的优先权和利益。通过引用将国际专利申请No.PCT/CN2019/082589的全部公开内容并入作为本申请的公开内容的一部分。
技术领域
该专利文件涉及视频编解码技术、装置和系统。
背景技术
当前,正在努力改善当前视频编解码器技术的性能以提供更好的压缩率或提供允许较低复杂度或并行化实现的视频编码和解码方案。行业专家最近提出了几种新的视频编码工具,目前正在进行测试以确定其有效性。
发明内容
描述了与数字视频编码有关的,具体地与运动矢量的管理有关的装置,系统和方法。所述的方法可以应用于现有的视频编码标准(例如,高效视频编码(HEVC)或通用视频编码)和未来的视频编码标准或视频编解码器。
在一个代表性方面,公开的技术可以用于执行一种视觉媒体处理的方法。该方法包括在当前视频块和当前视频块的比特流表示之间执行转换,其中所述转换包括用于细化在比特流表示中信令通知的运动矢量信息的一个或多个解码器运动矢量推导(DMVD)步骤的共存,其中,在所述一个或多个DMVD步骤的共存期间,联合推导当前视频块的运动矢量信息和当前视频块的子块的运动矢量信息,其中所述一个或多个DMVD步骤的共存包括以下的一个或多个的使用:解码器运动矢量细化(DMVR)步骤,双向光流(BDOF)步骤或帧速率上转换(FRUC)步骤。
在另一个代表性方面,公开的技术可以用于执行另一种视觉媒体处理的方法。该方法包括在当前视频块和当前视频块的比特流表示之间执行转换,其中所述转换包括用于细化在比特流表示中信令通知的运动矢量信息的一个或多个解码器运动矢量推导(DMVD)步骤的共存,其中,在所述一个或多个DMVD步骤的共存期间,联合推导当前视频块的运动矢量信息和当前视频块的子块的运动矢量信息,其中所述一个或多个DMVD步骤的共存包括以下的一个或多个的使用:解码器运动矢量细化(DMVR)步骤,双向光流(BDOF)步骤或帧速率上转换(FRUC)步骤;以及针对当前视频块和/或当前视频块的子块选择性地启用所述一个或多个DMVD步骤的共存。
在一个代表性方面,公开的技术可以用于执行一种用于处理视频的方法。该方法包括,对于第一视频块和所述第一块的比特流表示之间的转换,通过联合使用多个解码器运动矢量推导(DMVD)过程中的第一过程和第二过程推导与所述第一块关联的MVD(MVDb)和与所述第一块内的子块关联的MVD(MVDsb)中的至少一个运动矢量差(MVD),至少使用所述第一过程推导所述MVDb,并且至少使用所述第二过程推导所述MVDsb;使用所述至少一个MVD细化所述第一块的运动矢量(MV)(MVb);以及基于所述第一块的细化运动矢量执行转换。
此外,在一个代表性方面,公开了一种视频系统中的装置,其包括处理器和在其上具有指令的非暂时性存储器。指令在由处理器执行时使处理器实施公开的方法中的任何一个或多个。
此外,公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,计算机程序产品包括用于执行公开的方法中的任何一个或多个的程序代码。
在附图,说明书和权利要求书中更详细地描述了公开技术的上述和其他方面以及特征。
附图说明
图1示出了构造merge候选列表的示例。
图2示出了空域候选的位置的示例。
图3示出受到空域merge候选的冗余校验的候选对的示例。
图4A和4B示出基于当前块的尺寸和形状的第二预测单元(PU)的位置的示例。
图5示出了用于时域merge候选的运动矢量缩放的示例。
图6示出了用于时域merge候选的候选位置的示例。
图7示出了生成组合双向预测merge候选的示例。
图8示出了构造运动矢量预测候选的示例。
图9示出了用于空域运动矢量候选的运动矢量缩放的示例。
图10示出了JEM7中的解码器侧运动视频细化(DMVR)的示例。
图11示出了与DMVR有关的运动矢量差(MVD)的示例。
图12示出了例示对运动矢量的校验的示例。
图13示出了基于双向光流的运动建模的示例。
图14是用于实现本文件中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
图15示出了用于视频编码的示例方法的流程图。
图16示出了用于视频编码的示例方法的流程图。
具体实施方式
1.HEVC/H.265中的视频编码
视频编码标准主要是通过开发著名的ITU-T和ISO/IEC标准而发展起来的。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4Visual,这两个组织共同制作了H.262/MPEG-2视频和H.264/MPEG-4高级视频编码(AVC)和H.265/HEVC标准。从H.262开始,视频编码标准基于混合视频编码结构,其中利用了时域预测和变换编码。为了探索HEVC以外的未来视频编码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JVET)。此后,JVET采纳了许多新方法并将其引入到名为“联合探索模型”(JEM)的参考软件中。2018年4月,VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家团队(JVET)成立以致力于VVC标准,与HEVC相比,其比特率降低50%。
2.1.HEVC/H.265中的帧间预测
每个帧间预测的PU具有用于一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。两个参考图片列表之一的使用也可以使用inter_pred_idc来信令通知。运动矢量可以显式地编解码为相对于预测量的增量。
当CU以跳过模式编解码时,一个PU与CU关联,并且不存在显著残差系数,编解码运动矢量增量或参考图片索引。指定merge模式,由此从包括空域和时域候选的相邻PU获得当前PU的运动参数。merge模式可以应用于任何帧间预测的PU,不仅用于跳过模式。merge模式的替代是运动参数的显式传输,其中运动矢量(更准确地说,与运动矢量预测量相比的运动矢量差(MVD)),每个参考图片列表的对应参考图片索引以及参考图片列表使用针对每个PU显式地信令通知。在本公开中这样的模式称为高级运动矢量预测(AMVP)。
当信令指示将使用两个参考图片列表中的一个时,从一个样点块产生PU。这称为‘单向预测’。单向预测可用于P条带和B条带两者。
当信令指示将使用两个参考图片列表时,PU由两个样点块产生。这称为‘双向预测’。双向预测仅可用于B条带。
以下文字提供了HEVC中指定的帧间预测模式的详细介绍。描述将从merge模式开始。
2.1.1.参考图片列表
在HEVC中,术语帧间预测用于表示从当前解码图片以外的参考图片的数据元素(例如,样点值或运动矢量)推导的预测。像在H.264/AVC中一样,可以从多个参考图片预测图片。用于帧间预测的参考图片被组织在一个或多个参考图片列表中。参考索引标识应使用列表中的哪些参考图片来产生预测信号。
单个参考图片列表列表(列表0)用于P条带,两个参考图片列表(列表0和列表1)用于B条带。应当注意,就捕获/显示顺序而言,列表0/1中包括的参考图片可以来自过去和将来的图片。
2.1.2.Merge模式
2.1.2.1.merge模式的候选的推导
当使用merge模式预测PU时,指向merge候选列表中的条目的索引从比特流解析并用于检索运动信息。该列表的构造在HEVC标准中指定并且可以根据以下步骤序列进行总结:
·步骤1:初始候选推导
ο步骤1.1:空域候选推导
ο步骤1.2:空域候选的冗余校验
ο步骤1.3:时域候选推导
·步骤2:附加候选插入
ο步骤2.1:创建双向预测候选
ο步骤2.2:插入零运动候选
在图1中也示意性地描绘了这些步骤。对于空域merge候选推导,在位于五个不同位置的候选中最多选择四个merge候选。对于时域merge候选推导,在两个候选中最多选择一个merge候选。由于在解码器处假定每个PU的候选数量恒定,因此当从步骤1获得的候选数量未达到条带标头中信令通知的最大merge候选数量(MaxNumMergeCand)时会生成附加候选。由于候选的数量是恒定的,因此最佳merge候选的索引使用截断一元二值化(TU)进行编码。如果CU的尺寸等于8,则当前CU的所有PU共享单个merge候选列表,其与2N×2N预测单元的merge候选列表相同。
在下面,详细描述与前述步骤相关的操作。
2.1.2.2.空域候选推导
在空域merge候选的推导中,在位于图2中所示的位置的候选中最多选择四个merge候选。推导顺序为A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,由于其属于另一条带或片)或未进行帧内编解码时才考虑位置B2。在加入位置A1处的候选之后,对其余候选的加入进行冗余校验以确保将具有相同运动信息的候选从列表排除,从而提高编码效率。为了降低计算复杂度,在提到的冗余校验中并未考虑所有可能的候选对。而是仅考虑在图3中用箭头链接的对,并且仅在用于冗余校验的对应候选不具有相同运动信息时才将候选加入列表。重复运动信息的另一来源是与不同于2N*2N的分区关联的“第二PU”。作为示例,图4分别描绘了在N×2N和2N×N的情况下的第二PU。当当前PU被分割为N×2N时,不考虑位置A1处的候选用于列表构造。实际上,通过加入该候选将导致具有相同运动信息的两个预测单元,这对于在编码单元中仅具有一个PU是冗余的。类似地,当当前PU被分割为2N×N时,不考虑位置B1
2.1.2.3.时域候选推导
在该步骤中,仅将一个候选加入列表。特别地,在该时域merge候选的推导中,基于属于与给定参考图片列表内的当前图片具有最小图片序数(POC)差的图片的共位PU来推导缩放运动矢量。在条带标头中显式地信令通知要用于推导共位PU的参考图片列表。如图5中的虚线所示,获得用于时域merge候选的缩放运动矢量,其使用POC距离tb和td从位于共位PU的运动矢量缩放,其中tb被定义为当前图片的参考图片和当前图片之间的POC差,并且td被定义为共位图片的参考图片和共位图片之间的POC差。将时域merge候选的参考图片索引设置为等于零。在HEVC规范中描述了缩放过程的实际实现。对于B条带,获得两个运动矢量,一个运动矢量用于参考图片列表0并且另一运动矢量用于参考图片列表1,并将其组合以产生双向预测merge候选。
在属于参考帧的共位PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图6中所示。如果位置C0处的PU不可用,未进行帧内编解码或在当前编码树单元(CTU,又称LCU,最大编码单元)行的外部,则使用位置C1。否则,在时域merge候选的推导中使用位置C0
2.1.2.4.附加候选插入
除了空域和时域merge候选外,还有两种附加类型的merge候选:组合双向预测merge候选和零merge候选。通过利用空域和时域merge候选来生成组合双向预测merge候选。组合双向预测merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一个候选的第二参考图片列表运动参数组合来生成组合双向预测候选。如果这两个元组提供不同的运动假设,则它们将形成新的双向预测候选。例如,图7描绘了原始列表(左侧)中具有mvL0和refIdxL0或mvL1和refIdxL1的两个候选用于产生加入最终列表(右侧)的组合双向预测merge候选的情况。关于组合有许多规则,这些规则被认为可以生成这些附加的merge候选。
插入零运动候选以填充merge候选列表中的其余条目并因此达到Ma*NumMergeCand容量。这些候选具有零空间位移和参考图片索引,所述参考图片索引从零开始并且每当新的零运动候选加入列表时会增加。最后,不对这些候选执行冗余校验。
2.1.3.AMVP
AMVP利用运动矢量与相邻PU的空时相关性,其用于运动参数的显式传输。对于每个参考图片列表,通过首先校验左上时域相邻PU位置的可用性,去除冗余候选并加入零矢量以使候选列表为恒定长度,从而构造运动矢量候选列表。然后,编码器可以从候选列表选择最佳预测量并传输指示所选候选的相应索引。与merge索引信令类似,最佳运动矢量候选的索引使用截断一元码进行编码。在该情况下待编码的最大值是2(参见图8)。在以下小节中,提供了关于运动矢量预测候选的推导过程的细节。
2.1.3.1.AMVP候选的推导
图8总结了运动矢量预测候选的推导过程。
在运动矢量预测中,考虑了两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导,最终基于位于如图2中所示的五个不同位置的每个PU的运动矢量推导两个运动矢量候选。
对于时域运动矢量候选推导,从基于两个不同的共位位置推导的两个候选中选择一个运动矢量候选。在制作空时候选的第1列表之后,去除该列表中的重复运动矢量候选。如果潜在候选的数量大于二,则从列表去除其相关参考图片列表内的参考图片索引大于1的运动矢量候选。如果空时运动矢量候选的数量小于二,则将附加的零运动矢量候选加入列表。
2.1.3.2.空域运动矢量候选
在空域运动矢量候选的推导中,在位于如图2中所示的位置的PU推导的五个潜在候选中考虑最多两个候选,那些位置与运动merge的位置相同。当前PU的左侧的推导顺序被定义为A0、A1以及缩放A0、缩放A1。当前PU的上侧的推导顺序被定义为B0、B1、B2、缩放B0、缩放B1、缩放B2。对于每一侧,因此存在可以用作运动矢量候选的四种情况,其中两种情况不需要使用空域缩放,而两种情况则使用空域缩放。四种不同的情况总结如下。
·无空域缩放
–(1)相同参考图片列表和相同参考图片索引(相同POC)
–(2)不同参考图片列表,但相同参考图片(相同POC)
·空域缩放
–(3)相同参考图片列表,但不同参考图片(不同POC)
–(4)不同参考图片列表和不同参考图片(不同POC)
首先校验无空域缩放的情况,然后校验空域缩放。当相邻PU的参考图片和当前PU的参考图片之间的POC不同时,不管参考图片列表如何,都考虑空域缩放。如果左候选的所有PU都不可用或未被帧内编码,则允许对以上运动矢量进行缩放以帮助并行推导左和上MV候选。否则,不允许对以上运动矢量进行空域缩放。
在空域缩放过程中,以与时域缩放类似的方式缩放相邻PU的运动矢量,如图9中所示。主要区别在于给出了当前PU的参考图片列表和索引作为输入;实际缩放过程与时域缩放过程相同。
2.1.3.3.时域运动矢量候选
除了参考图片索引推导之外,用于推导时域merge候选的所有过程与推导空域运动矢量候选的过程相同(参见图6)。向解码器信令通知参考图片索引。
2.2.VVC中的帧间预测方法
有几种用于帧间预测改进的新编码工具,例如用于信令通知MVD的自适应运动矢量差分辨(AMVR),用于常规帧间模式和仿射帧间模式,仿射预测模式,三角预测模式(TPM),高级TMVP(ATMVP,又名SbTMVP),广义双向预测(GBI),双向光流(BDOF,又称BDOF),解码器运动矢量推导(DMVR),与MVD的merge模式(MMVD)。
2.2.1 VVC中的编码块结构
在VVC中,采用QuadTree/BinaryTree/MulitpleTree(QT/BT/TT)结构将图片划分为正方形或矩形块。
除了QT/BT/TT,在VVC中还针对I帧采用单独的树(又称为双编码树)。对于单独的树,针对亮度和色度分量单独地信令通知编码块结构。
2.2.2解码器侧运动矢量细化(DMVR)
在双向预测操作中,为了预测一个块区域,将分别使用列表0的运动矢量(MV)和列表1的MV形成的两个预测块组合以形成单个预测信号。在解码器侧运动矢量细化(DMVR)方法中,进一步对双向预测的两个运动矢量进行细化。
2.2.2.1 JEM中的DMVR
在JEM设计中,运动矢量通过双边模板匹配过程进行细化。双边模板匹配在解码器中应用以在双边模板和参考图片中的重建样点之间执行基于失真的搜索,以便在不传输附加运动信息的情况下获得细化MV。在图10中描绘了示例。如图11中所示,分别从列表0的初始MV0和列表1的MV1,生成双边模板作为两个预测块的加权组合(即,平均值)。模板匹配操作包括计算生成的模板和参考图片中(初始预测块周围)的样点区域之间的成本度量。对于两个参考图片中的每个图片,将产生最小模板成本的MV视为该列表的更新MV以替换原始MV。在JEM中,为每个列表搜索九个MV候选。九个MV候选包括原始MV和8个周围MV,其中一个亮度样点在水平或竖直方向上或在这两个方向上偏移到原始MV。最后,两个新的MV,即,如图12中所示的MV0'和MV1',用于生成最终的双向预测结果。绝对差之和(SAD)用作成本度量。请注意,在计算由一个周围MV生成的预测块的成本时,取整的MV(至整数像素)实际上用于获取预测块而不是实际的MV。
2.2.2.2 VVC中的DMVR
对于VVC中的DMVR,如图11中所示,假定列表0和列表1之间的MVD镜像,并且执行双边匹配以细化MV,即在几个MVD候选中找到最佳MVD。用MVL0(L0X,L0Y)和MVL1(L1X,L1Y)表示两个参考图片列表的MV。将可以使成本函数(例如SAD)最小化的列表0的(MvdX,MvdY)表示的MVD定义为最佳MVD。对于SAD函数,其定义为用列表0参考图片中的运动矢量(L0X+MvdX,L0Y+MvdY)推导的列表0的参考块和用列表1参考图片中的运动矢量(L1X-MvdX,L1Y-MvdY)推导的列表1的参考块之间的SAD。
在本公开中,将用于L0和L1的一对相关MVD(例如,用于L0的(MvdX,MvdY)和用于L1的(-MvdX,-MvdY))表示为MVD对。
运动矢量细化过程可以迭代两次。在每次迭代中,可以在两个步骤中校验最多6个MVD(具有整数像素精度),如图12中所示。在第一步骤中,校验MVD(0,0)、(-1,0)、(1,0)、(0,-1)、(0,1)。在第二步骤中,可以选择并进一步校验MVD(-1,-1)、(-1,1)、(1,-1)或(1,1)中的一个。假设函数Sad(x,y)返回MVD(x,y)的SAD值。在第二步骤中校验的由(MvdX,MvdY)表示的MVD如下确定:
MvdX=-1;
MvdY=-1;
如果(Sad(1,0)<Sad(-1,0))
MvdX=1;
如果(Sad(0,1)<Sad(0,-1))
MvdY=1;
在第一迭代中,起点是信令MV,在第二迭代中,起点是信令MV加上在第一迭代中推导的所选最佳MVD。DMVR仅在一个参考图片为前一图片并且另一参考图片为后一图片且两个参考图片与当前图片的图片序数距离相同时才适用。
为了进一步简化DMVR的过程,JVET-M0147建议对设计进行一些更改。更具体地,VTM-4.0(即将发布)采用的DMVR设计具有以下主要特征:
·当列表0和列表1之间的(0,0)位置SAD小于阈值时提前终止。
·对于一些位置,当列表0和列表1之间的SAD为零时提前终止。
·DMVR的块大小:W*H>=64&&H>=8,其中W和H是块的宽度和高度。
·对于CU尺寸>16*16的DMVR,将CU划分成16x16多个子块。如果仅CU的宽度或高度大于16,则其仅在竖直或水平方向上划分。
·参考块尺寸(W+7)*(H+7)(用于亮度)。
·25点基于SAD的整数像素搜索(即(+-)2细化搜索范围,单级)
·基于双线性插值的DMVR。
·基于“参数误差表面方程”的子像素细化。仅当最小SAD成本不等于零且最佳MVD在上一次MV细化迭代中为(0,0)时才执行该过程。
·带参考块填充的亮度/色度MC(如果需要)。
·仅用于MC和TMVP的细化MV。
2.2.2.2.1 DMVR的使用
当以下条件全部为真时,可以启用DMVR:
–SPS中的DMVR启用标志(即sps_dmvr_enabled_flag)等于1
–TPM标志,帧间仿射标志和子块merge标志(ATMVP或仿射merge),MMVD标志全部等于0
–merge标志等于1
–当前块是双向预测的,并且列表1中的当前图片和参考图片之间的POC距离等于列表0中的参考图片与当前图片之间的POC距离
–当前CU的高度大于或等于8
–亮度样点的数量(CU宽度*高度)大于或等于64
2.2.2.2.2基于“参数误差表面方程”的子像素细化
该方法总结如下:
1.仅当中心位置是给定迭代中的最佳成本位置时才计算参数误差表面拟合。
2.中心位置成本和从中心开始的(-1,0)、(0,-1)、(1,0)和(0,1)位置的成本用于拟合以下形式的2D抛物线误差面方程
E(x,y)=A(x-x0)2+B(y-y0)2+C
其中(x0,y0)对应于成本最低的位置并且C对应于最小成本值。通过求解5个未知数中的5个方程,可以将(x0,y0)计算为:
x0=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0)))
y0=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0)))
(x0,y0)可以通过调整执行除法的精度(即计算商的多少位)来计算为任何所需的子像素精度。对于1/16像素精度,仅需计算商的绝对值的4位,这使其自身可以基于快速移位的减法实现每个CU所需的2个除法。
3.将计算出的(x0,y0)加到整数距离细化MV上以获得子像素精确细化增量MV。
2.2.3双向光流(BDOF)
在又名BIO的BDOF中,首先执行运动补偿以生成当前块的第一预测(在每个预测方向上)。第一预测用于推导块内每个子块/像素的空间梯度,时间梯度和光流,然后将其用于生成第二预测,即子块/像素的最终预测。细节描述如下。
BDOF是逐样点的运动细化,其是在用于双向预测的逐块运动补偿的基础上执行的。样点级运动细化不使用信令。
设I(k)是在块运动补偿后来自参考k(k=0,1)的亮度值,并且
Figure BDA0003302484550000111
分别是梯度的水平和竖直分量。假设光流有效,则运动矢量场(vx,vy)由以下方程给出
Figure BDA0003302484550000112
将该光流方程与Hermite插值组合以获得每个样点的运动轨迹将得出唯一的三阶多项式,其在两端与函数值I(k)和导数
Figure BDA0003302484550000113
匹配。该多项式在t=0处的值是BDOF预测:
Figure BDA0003302484550000114
这里,τ0和τ1表示到参考帧的距离,如图13中所示。距离τ0和τ1基于Ref0和Ref1的POC计算:τ0=POC(current)-POC(Ref0),τ1=POC(Ref1)-POC(current)。如果两个预测都来自相同的时间方向(或者都来自过去,或者都来自未来),则符号不同(即τ0·τ1<0)。在该情况下,仅当预测不是来自相同时间矩(即τ0≠τ1),两个参考区域具有非零运动(MVx0,MVy0,MVx1,MVy1≠0)且块运动矢量与时间距离成正比(MVx0/MVx1=MVy0/MVy1=-τ01)时才应用BDOF。
通过最小化点A和点B(图9中运动轨迹与参考帧平面的交点)之间的值差Δ来确定运动矢量场(vx,vy)。模型仅使用Δ的局部泰勒展开式的第一线性项:
Figure BDA0003302484550000121
为简单起见,τ0和τ1都设置为等于1。方程3中的所有值都取决于样点位置(i′,j′),到目前为止已将其从注释省略。假设运动在局部周围区域中是一致的,我们将以当前预测点(i,j)为中心的(2M+1)×(2M+1)方窗Ω内的Δ最小化,其中M等于2:
Figure BDA0003302484550000122
对于该优化问题,使用一种简化的方法,该方法首先在竖直方向上进行最小化,然后在水平方向上进行最小化。这导致
Figure BDA0003302484550000123
Figure BDA0003302484550000124
其中,
Figure BDA0003302484550000125
使用BDOF,可以为每个样点细化运动场。为了降低计算复杂度,使用BDOF的基于块的设计。基于4×4块计算运动细化。在基于块的BDOF中,对4×4块中所有样点的方程7中的sn值进行聚合,然后将sn的聚合值用于4×4块的推导BDOF运动矢量偏移。为了数值鲁棒性,使用4×4子块位于其中心的6×6子块区域来推导4×4子块的运动矢量。更具体地,以下公式用于基于子块的BDOF推导:
Figure BDA0003302484550000131
其中bk表示属于预测块的第k个6×6块的样点集。
在一些情况下,由于噪音或不规则运动,BDOF的MV团可能不可靠。因此,在BDOF中,MV团的大小被限制为阈值thBDOF。thBDOF设置为max(2,213-),其中d是输入样点的位深度。
在DMVR和BDOF中,当块的宽度(或高度)大于16时,将竖直(或水平)划分块,在16×16(或N×16/16×N,其中N=4或8)级中执行DMVR和BDOF。
当块同时允许DMVR和BDOF时,首先执行DMVR以找到整个块(或上述整个16×16/N×16/16×N块)的最佳MVD。此后,执行BDOF以找到块内(或16×16/N×16/16×N块内)的每个4×4块的最佳MVD。
3.现有实现方式的缺点
当块同时允许DMVR和BDOF时,首先执行DMVR,然后执行BDOF。首先,针对整个块(或上述整个16×16/N×16/16×N块)推导最佳MV偏移(或称为MV差(MVD)),然后针对块内的每个4×4推导最佳MV偏移。
DMVR和BDOF独立工作并且它们无法共同优化。同时,由于两级优化,复杂度相对较高。
4.示例实施例和技术
下面详述的发明应被认为是解释一般概念的示例。这些发明不应狭义地解释。此外,这些发明可以以任何方式组合。
解码器运动矢量推导(DMVD)用于表示DMVR或BDOF或FRUC等,其在解码器侧推导MV或/和MVD。
在下面的描述中,MVDb和MVDsb用于分别表示块(或处理单元,例如16x16)和子块的推导MVD。
将块的宽度和高度分别表示为W和H。将MVb[0]和MVb[1]分别表示为预测方向0和1上的块的MV。POC距离用于表示两个图片之间的绝对POC差。
在本公开中,“单元”可以指代“块”,并且“子单元”可以指代“子块”。
在该技术中,可以联合确定一个单元和一个子单元的运动矢量偏移/差,其中单元可以是块/固定尺寸并且一个子单元可以是与单元相比的更小区域。
1.可以联合推导块的MVD(例如,表示为MVDb[i],对于预测方向0或1,i=0或1)和该块内的子块的MVD(例如,表示为MVDsb[i])。
a.在一个示例中,对于在DMVR过程中校验的给定MVD对候选,在一个或两个预测方向上与候选关联的对应预测块可以在用于决定DMVR过程中的最佳MVD对之前被进一步修改。
b.在一个示例中,可以将BDOF应用于在DMVR过程中校验的给定MVD对候选。
c.在一个示例中,假设总共有K个MVD对候选,第j个(1=<j<=K)MVD对候选表示为MVDb j[i],其中i=0和1,使用MVDb j[i]可以首先识别两个参考块,然后可以应用BDOF来推导每个子块的细化MVD(表示为MVDsb j[i],其中i=0和1)。
i.在一个示例中,当用建议的MV细化方法对参考块进行插值时,插值滤波器可以与用于没有MV细化的常规帧间预测的插值滤波器不同。例如,在建议的方法中可以使用双线性滤波器,4抽头滤波器或6抽头滤波器。
ii.在一个示例中,当对参考块进行插值时,可以使用在常规帧间模式下使用的插值滤波器。
iii.在一个示例中,MVb[i]+MVDb j[i]的整数像素部分可以用于识别参考块,并且因此不需要样点插值。
1)在一个示例中,MVb[i]+MVDb j[i]可以向零或去零取整为整数精度。
iv.在一个示例中,MVDb j[i]可以具有N像素精度,其中N可以是1/16、1/4、1/2、1、2等。
1)在一个示例中,MVb[i]+MVDb j[i]可以向零或去零取整为目标精度。
v.在一个示例中,MVDb[i]的允许MVD对候选的集合可以与在DMVR过程中使用的相同。
d.在一个示例中,可以定义成本函数,并且可以使用每个子块的关联MVDsb j[i]和基于MVDb j[i]的相应参考块的梯度信息针对每个MVDb j[i]在块级计算成本。实现最小成本的MVDb j[i]及其关联的MVDsb j[i]可以用作块和子块的最终MVD。将最佳MVDsb i和MVDsb j[i]的索引表示为ibest。
i.在一个示例中,成本函数可以定义为
Figure BDA0003302484550000151
其中在方程(7)中定义Δ。方程(7)中的vx和vy分别是覆盖对应样点的子块的MVDsb j[0]的水平和竖直分量,并且通过使用MVb[i]和MVDb j[i]生成I(0)和I(1),其中i=0或1,并且Ω表示将计算Δ的样点位置。
1)在一个示例中,成本函数可以定义为
Figure BDA0003302484550000152
ii.可以对块/子块中的所有样点计算成本函数。
1)替代地,可以对块/子块中的部分样点计算成本。
a.部分样点可以是块/子块的偶数(或奇数)行。
b.部分样点可以是块/子块的偶数(或奇数)列。
c.部分样点可以包括块/子块的每N行(或列)中的第1行(或列)。
d.部分样点可以包括块/子块的每N2行(或列)中的前N1行(或列)。
i.例如,N1=4和N2=8。
e.部分样点可以取决于块/子块的宽度或/和高度。
i.在一个示例中,如果高度大于阈值T,则部分样点可以包括每N1行中的第1行;否则,部分样点可以包括每N2行中的第1行。这里,N1>N2。
iii.在一个示例中,如果使用不同的插值滤波器和/或不同的运动精度来搜索最佳细化MVD,则可以使用具有常规插值滤波器和/或常规运动精度的MVb[i]+MVDb ibest[i]对块执行最终运动补偿。
iv.在一个示例中,MVDsb ibest[i]可以进一步用于生成细化预测样点,例如根据方程(6)。方程(6)中的vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
1)替代地,当在项目符号1.a中使用短抽头滤波器或整数像素MV时,可以执行BDOF以推导每个子块的MVD和每个像素的细化预测样点(例如,根据方程(6))。
e.在一个示例中,可以使用关联MVDsb j[i]和基于MVDb j[i]的对应参考块的梯度信息针对每个MVDb j[i]在子块级计算这样的成本函数。在最终预测样点生成过程中使用实现最小成本的MVDb j[i]和MVDsb j[i]。将最佳MVDb j和MVDsb i的索引表示为子块的ibest。
i.在一个示例中,如果使用不同的插值滤波器和/或不同的运动精度来搜索最佳细化MVD,则可以使用具有常规插值滤波器和/或常规运动精度的MVb[i]+MVDb ibest[i]对子块执行最终运动补偿。
ii.在一个示例中,MVDsb ibest[i]可以进一步用于生成细化预测样点,例如根据方程(6)。方程(6)中的vx和vy分别是覆盖子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
1)替代地,当在项目1.a中使用短抽头滤波器或整数像素MV时,可以针对子块执行BDOF以推导其MVD并生成细化预测样点(例如,根据方程(6))。
f.在一个示例中,方程(6)中的样点细化过程可以仅应用于一些颜色分量。
i.例如,其可以仅应用于亮度分量。
ii.例如,其可以应用于所有颜色分量。
g.在一个示例中,K可以等于2、3、4、5等。
2.在一个示例中,可以使用DMVR或其他DMVD方法从用于块的M(M>K)个MVD候选中选择K个最佳MVD对候选,然后可以将项目1与所选的K个最佳MVD候选一起应用。
a.在一个示例中,K可以等于1、2、3等。
3.DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法可以应用于某些图片/片/条带等。
a.是否应用DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法可以在VPS/SPS/PPS/条带标头/片组标头等中信令通知。
b.DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法可以仅应用于可以由其他图片参考的图片。
c.当当前图片和块的两个参考图片之间的POC距离都小于(或大于)阈值时,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于块。
i.替代地,当当前图片和块的两个参考图片中的一个之间的POC距离小于(或大于)阈值时,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于块。
d.当当前图片和块的两个参考图片之间的POC距离都在范围[T1,T2]内时,其中T2>=T1>=0,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于块。
i.替代地,当当前图片和块的两个参考图片中的一个之间的POC距离在范围[T1,T2]内时,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于块。
e.当图片和其在两个参考图片列表中的两个最接近参考图片之间的POC距离都小于(或大于)阈值时,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于图片。
i.当图片和其在参考图片列表X(X=0或1)中的最接近参考图片之间的POC距离小于(或大于)阈值时,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于图片。
f.当图片和其在两个参考图片列表中的两个最接近参考图片之间的POC距离都在范围[T1,T2]内时,其中T2>=T1>=0,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于图片。
i.当图片和其在参考图片列表X(X=0或1)中的最接近参考图片之间的POC距离在范围[T1,T2]内时,可以将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于图片。
4.是否将DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法应用于单元(例如,块)可以取决于单元的编码信息。
a.在一个示例中,编码信息可以包括单元的运动信息,残差信息,变换信息,模式信息,维度等。
b.在一个示例中,如果在对块的残差进行编码时应用附加变换,则可以不允许DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法。
i.例如,附加变换可以是二次变换或缩减二次变换或旋转变换或KLT(Karhunan-Loeve变换)或任何其他变换。
ii.替代地,此外,如果应用附加变换并且块的宽度或/和高度具有特定尺寸,则可以不允许DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法。
1)例如,块的尺寸为4*4/4*8/8*4/8*8/4*16/16*4等。
2)例如,宽度或/和高度类似于项目5中所述。
c.替代地,对于其中应用DMVR或/和BDOF或/和其他DMVD方法或/和建议的方法的块,可以不允许附加变换。
i.在一个示例中,可以针对这些块信令通知附加变换的指示,但是在一致性比特流中将其约束为假(即,附加变换不适用)。
5.可以根据块维度规则启用/禁用建议的方法。
a.在一个示例中,当W*H>=T1&&H>=T2时,可以启用建议的方法。例如T1=64且T2=8。
b.在一个示例中,当H>=T1&&!(W==T2&&H==T1)时,可以启用建议的方法。例如,T1=8且T2=4。
c.在一个示例中,当块尺寸包含少于M*H个样点,例如16或32或64个亮度样点时,不允许建议的方法。
d.在一个示例中,当块尺寸包含多于M*H个样点,例如16或32或64个亮度样点时,不允许建议的方法。
e.替代地,当块的宽度或/和高度的最小尺寸小于或不大于X时,不允许建议的方法。在一个示例中,X设置为8。
f.替代地,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,不允许建议的方法。在一个示例中,X设置为64。
i.例如,针对M*M(例如,128x128)块禁用建议的方法。
ii.例如,针对N*M/M*N块禁用建议的方法,例如,其中N>=64,M=128。
iii.例如,针对N*M/M*N块禁用建议的方法,例如,其中N>=4,M=128。
g.替代地,当块的宽度<th1或<=th1和/或块的高度<th2或<=th2时,不允许建议的方法。在一个示例中,将th1和/或th2设置为8。
6.可以在子块级执行建议的方法。
a.在一个示例中,当块的宽度>=LW或高度>=LH或宽度>=LW且高度>=LH时,可以将块划分为多个子块。以与尺寸等于子块尺寸的普通编码块相同的方式处理每个子块。
i.在一个示例中,L为64,将64*128/128*64块划分为两个64*64子块,并且将128x128块划分为四个64*64子块。然而,未将其中N<64的N*128/128*N块划分为子块。
ii.在一个示例中,L为64,将64*128/128*64块划分为两个64*64子块,并且将128x128块划分为四个64*64子块。同时,将其中N<64的N*128/128*N块划分为两个N*64/64*N子块。
iii.在一个示例中,当宽度(或高度)大于L时,将其竖直(或水平)划分,并且子块的宽度或/和高度不大于L。
b.在一个示例中,当块的尺寸(即,宽度*高度)大于阈值L1时,可以将其划分为多个子块。以与尺寸等于子块尺寸的普通编码块相同的方式处理每个子块。
i.在一个示例中,将块划分为具有不大于L1的相同尺寸的子块。
ii.在一个示例中,如果块的宽度(或高度)不大于阈值L2,则不将其竖直(或水平)划分。
iii.在一个示例中,L1为1024,且L2为32。例如,将16x128块划分为两个16*64子块。
c.阈值L可以在SPS/PPS/图片/条带/片组/片级别中预定义或信令通知。
d.替代地,阈值可以取决于某些编码信息,例如块尺寸,图片类型,时域层索引等。
5.公开技术的示例实施方式
图14是视频处理装置1400的框图。装置1400可以用于实现本文描述的一种或多种方法。装置1400可以体现在智能手机,平板电脑,计算机,物联网(IoT)接收器等中。装置1400可以包括一个或多个处理器1402,一个或多个存储器1404和视频处理硬件1406。(一个或多个)处理器1402可以配置成实现本文件中描述的一种或多种方法。存储器(多个存储器)1404可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件1406可以用于在硬件电路中实现本文件中描述的一些技术,并且可以部分地或完全地是处理器1402(例如,图形处理器核心GPU或其他信号处理电路)的一部分。
在本文件中,术语“视频处理”可以指视频编码,视频解码,视频压缩或视频解压缩。例如,可以在从视频的像素表示到相应的比特流表示的转换期间应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以例如对应于在比特流内共位或在不同位置扩展的比特。例如,可以根据变换和编码的误差残差值并且还使用标头中的比特和比特流中的其他字段来对宏块进行编码。
应当理解,公开的方法和技术将通过允许使用本文件中公开的技术而有益于结合在诸如智能手机,膝上型计算机,台式机和类似装置的视频处理装置内的视频编码器和/或解码器实施例。
图15是用于视频处理的示例方法1500的流程图。方法1500包括在1510处,在当前视频块和当前视频块的比特流表示之间执行转换,其中所述转换包括用于细化在比特流表示中信令通知的运动矢量信息的一个或多个解码器运动矢量推导(DMVD)步骤的共存,其中,在所述一个或多个DMVD步骤的共存期间,联合推导当前视频块的运动矢量信息和当前视频块的子块的运动矢量信息,其中所述一个或多个DMVD步骤的共存包括以下的一个或多个的使用:解码器运动矢量细化(DMVR)步骤,双向光流(BDOF)步骤或帧速率上转换(FRUC)步骤。
可以使用以下基于子句的格式来描述一些实施例。
1.一种视觉媒体处理的方法,其包括:
在当前视频块和当前视频块的比特流表示之间执行转换,其中所述转换包括用于细化在比特流表示中信令通知的运动矢量信息的一个或多个解码器运动矢量推导(DMVD)步骤的共存,其中,在所述一个或多个DMVD步骤的共存期间,联合推导当前视频块的运动矢量信息和当前视频块的子块的运动矢量信息,其中所述一个或多个DMVD步骤的共存包括以下的一个或多个的使用:解码器运动矢量细化(DMVR)步骤,双向光流(BDOF)步骤或帧速率上转换(FRUC)步骤。
2.根据根据子句1所述的方法,其中从其他视频块的运动矢量信息预测当前视频块的运动矢量信息,其中其他视频块的运动矢量信息包括在与其他视频块关联的候选集中。
3.根据根据子句2所述的方法,其中当前视频块的运动矢量信息的预测至少部分地基于所述候选集中的最佳运动矢量信息候选对。
4.根据子句2所述的方法,其中在所述DMVR步骤期间从两个其他视频块的运动矢量信息推导当前视频块的运动矢量信息,并且随后使用所述BDOF步骤细化从所述DMVR步骤推导的运动矢量信息。
5.根据子句4所述的方法,其中所述推导的运动矢量信息包括插值滤波器的使用。
6.根据子句5所述的方法,其中所述插值滤波器是双线性滤波器,4抽头滤波器或6抽头滤波器。
7.根据子句4所述的方法,其中当前视频块的运动矢量信息从两个其他视频块的运动矢量信息的整数像素部分推导。
8.根据子句7所述的方法,其中所述推导的运动矢量信息包括向零或去零取整。
9.根据子句1所述的方法,其中使用N像素精度来表示所述推导的运动矢量信息,其中N可以是整数或分数。
10.根据子句2所述的方法,当前视频块的运动矢量信息从两个其他视频块的运动矢量信息推导,并且细化所述推导的运动矢量信息在所述DMVR步骤期间发生。
11.根据子句2所述的方法,其中当前视频块的运动矢量信息的预测包括将成本函数应用于所述候选集中的其他块以及其他视频块的关联子块的运动矢量信息。
12.根据子句11所述的方法,其中所述预测包括:
针对当前视频块,计算与所述候选集中的其他块中包括的块的运动矢量信息对应的块级运动矢量;以及
针对当前视频块的子块,计算与所述候选集中的其他块中包括的块的关联子块对应的子块级运动矢量。
13.根据子句11-12中的任一项或多项所述的方法,其中所述成本函数至少部分地基于所述块或所述块的子块的一个或多个样点值。
14.根据子句13所述的方法,其中根据当前视频块的维度或当前视频块的子块的维度选择所述块或所述块的子块的一个或多个样点值。
15.根据子句3所述的方法,其中细化运动矢量信息包括使用多个插值滤波器。
16.根据子句3所述的方法,其中细化运动矢量信息应用于当前视频块的亮度分量或色度分量。
17.根据子句2所述的方法,其中当前视频块的运动矢量信息的预测至少部分地基于从所述候选集中的M个候选中选择的K个最佳运动矢量信息对(M>K)。
18.一种视觉媒体处理的方法,其包括:
在当前视频块和当前视频块的比特流表示之间执行转换,其中所述转换包括用于细化在比特流表示中信令通知的运动矢量信息的一个或多个解码器运动矢量推导(DMVD)步骤的共存,其中,在所述一个或多个DMVD步骤的共存期间,联合推导当前视频块的运动矢量信息和当前视频块的子块的运动矢量信息,其中所述一个或多个DMVD步骤的共存包括以下的一个或多个的使用:解码器运动矢量细化(DMVR)步骤,双向光流(BDOF)步骤或帧速率上转换(FRUC)步骤;以及
针对当前视频块和/或当前视频块的子块选择性地启用所述一个或多个DMVD步骤的共存。
19.根据子句18所述的方法,其中与选择性地启用所述一个或多个DMVD步骤的共存相关的信息被指示为VPS,SPS,PPS,条带标头,片组标头的一部分。
20.根据子句18所述的方法,其中选择性地启用所述一个或多个DMVD步骤的共存基于当前视频块的POC相对于其他视频块的POC之间的关系。
21.根据子句18所述的方法,其中所述关系满足一个或多个阈值条件。
22.根据子句18所述的方法,其中选择性地启用所述一个或多个DMVD步骤的共存基于在比特流表示中信令通知的当前视频块或当前视频块的子块的附加编码信息。
23.根据子句22所述的方法,其中当前视频块或当前视频块的子块的附加编码信息包括以下的一个或多个:运动信息,残差信息,变换信息,模式信息或维度信息。
24.根据子句23所述的方法,其中所述变换信息对应于旋转变换或Karhunan-Loeve变换(KLT)。
25.根据子句23所述的方法,其中如果缺少运动信息,残差信息,变换信息,模式信息或维度信息中的相应一个,则所述附加编码信息对应于布尔假。
26.根据子句1-25中的任一项或多项所述的方法,其还包括:
响应于确定当前视频块的维度或当前视频块的子块的维度满足一个或多个规则,使得能够联合推导当前视频块的运动矢量信息和当前视频块的子块的运动矢量信息。
27.根据子句26所述的方法,其中当前视频块的维度或当前视频块的子块的维度包括对应的宽度和对应的高度,并且其中满足一个或多个规则包括对应的宽度或对应的高度达到阈值条件。
28.根据子句27所述的方法,其中所述阈值条件包括作为当前视频块的SPS,PPS,图片,条带,片组,片级的一部分。
29.根据子句1-28中的任一项或多项所述的方法,其中所述运动矢量信息包括运动矢量差信息。
30.根据子句1-29中的任一项或多项所述的方法,其中所述视觉媒体处理是编码器侧实现。
31.根据子句1-29中的任一项或多项所述的方法,其中所述视觉媒体处理是解码器侧实现。
32.一种视频系统中的装置,其包括处理器和在其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器实施子句1至31中的任一项所述的方法。
33.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于执行子句1至31中的任一项所述的方法的程序代码。
图16是用于视频处理的示例方法1600的流程图。方法1600包括在1602处,对于第一视频块和所述第一块的比特流表示之间的转换,通过联合使用多个解码器运动矢量推导(DMVD)过程中的第一过程和第二过程推导与所述第一块关联的MVD(MVDb)和与所述第一块内的子块关联的MVD(MVDsb)中的至少一个运动矢量差(MVD),至少使用所述第一过程推导所述MVDb,并且至少使用所述第二过程推导所述MVDsb;在1604处,使用所述至少一个MVD细化所述第一块的运动矢量(MV)(MVb);以及在1606处,基于所述第一块的细化运动矢量执行转换。
在一些示例中,所述多个DMVD过程包括以下的一个或多个:解码器运动矢量细化(DMVR)过程,双向光流(BDOF)过程和帧速率上转换(FRUC)过程。
在一些示例中,所述第一过程是DMVR过程并且所述第二过程是BDOF过程。
在一些示例中,所述MVb包括MVb[i],其中对于预测方向0或1,i=0或1,所述MVDb包括MVDb[i],其中对于预测方向0或1,i=0或1,并且所述MVDsb包括MVDsb[i],其中对于每个子块,i=0或1。
在一些示例中,对于在DMVR过程中校验的给定MVD对候选,在一个或两个预测方向上与给定MVD对候选关联的对应参考块在用于决定DMVR过程中的最佳MVD对之前被进一步修改。
在一些示例中,对应参考块通过BDOF过程被进一步修改。
在一些示例中,在DMVR过程中校验总共K个MVD对候选,并且对于K个MVD对候选中的第j个MVD对候选(MVDb j[i]),首先识别与MVDb j[i]关联的两个参考块,然后应用BDOF过程以推导每个子块的细化MVD(MVDsb j[i]),其中i=0和1,j是整数,K是等于2、3、4或5的整数,1=<j<=K。
在一些示例中,通过使用与在常规帧间模式下使用的常规插值滤波器不同的插值滤波器对所述两个参考块进行插值,其中所述插值滤波器选自双线性滤波器,4抽头滤波器或6抽头滤波器,并且所述常规插值滤波器是8抽头滤波器。
在一些示例中,通过使用在常规帧间模式下使用的常规插值滤波器对所述两个参考块进行插值,其中所述常规插值滤波器是8抽头滤波器。
在一些示例中,通过使用MVb[i]+MVDb j[i]的整数像素部分来识别参考块而无需样点插值。
在一些示例中,将MVb[i]+MVDb j[i]向零或去零取整为整数精度。
在一些示例中,MVDb j[i]是N像素精度,其中N是1/16、1/4、1/2、1和2中的一个。
在一些示例中,将MVb[i]+MVDb j[i]向零或去零取整为目标精度。
在一些示例中,MVDb[i]的允许MVD对候选集与在DMVR过程中使用的候选集相同。
在一些示例中,成本函数被定义用于搜索所述第一块和/或子块的最佳MVD。
在一些示例中,使用每个子块的关联MVDsb j[i]和基于MVDb j[i]的对应参考块的梯度信息,针对每个MVDb j[i]在块级计算所述成本函数的成本。
在一些示例中,将实现最小成本的MVDb j[i]及其关联的MVDsb j[i]用作所述第一块和子块的最佳MVD,并且所述最佳MVDb j[i]和MVDsb j[i]的索引表示为ibest。
在一些示例中,所述成本函数定义为
Figure BDA0003302484550000251
其中Δ定义为
Figure BDA0003302484550000252
(i′,j′)是样点位置,Ω代表当前视频块中的样点位置,τ0是从当前图片到参考列表0中的参考图片的图片序数(POC)距离,并且τ1是从参考列表1中的参考图片到当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb j[0]的水平和竖直分量,并且通过使用MVb[i]和MVDb j[i]生成I(0)和I(1),其中i=0或1。
在一些示例中,所述成本函数定义为
Figure BDA0003302484550000253
其中Δ定义为
Figure BDA0003302484550000254
(i′,j′)是样点位置,Ω代表当前视频块中的样点位置,τ0是从当前图片到参考列表0中的参考图片的图片序数(POC)距离,并且τ1是从参考列表1中的参考图片到当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb j[0]的水平和竖直分量,并且通过使用MVb[i]和MVDb j[i]生成I(0)和I(1),其中i=0或1。
在一些示例中,在所述第一块和/或所述子块中的所有样点上计算所述成本函数。
在一些示例中,在所述第一块和/或所述子块中的部分样点上计算所述成本函数。
在一些示例中,所述部分样点是所述第一块和/或所述子块的偶数或奇数行。
在一些示例中,所述部分样点是所述第一块和/或所述子块的偶数或奇数列。
在一些示例中,所述部分样点包括所述第一块和/或所述子块的每N行中的第1行和/或所述第一块和/或所述子块的每N列中的第1列。
在一些示例中,所述部分样点包括所述第一块和/或所述子块的每N2行中的前N1行和/或所述第一块和/或所述子块的每N2列中的前N1列,其中N1和N2是整数。
在一些示例中,N1=4并且N2=8。
在一些示例中,所述部分样点取决于所述第一块和/或所述子块的宽度或/和高度。
在一些示例中,如果所述高度大于阈值T,则所述部分样点包括每N1行中的第1行;否则,所述部分样点包括每N2行中的第1行,其中N1>N2。
在一些示例中,如果使用不同的插值滤波器和/或不同的运动精度来搜索最佳细化MVD,则使用具有常规插值滤波器和/或常规运动精度的MVb[i]+MVDb ibest[i]对所述第一块执行最终运动补偿。
在一些示例中,进一步使用MVDsb ibest[i]以根据以下样点细化过程生成细化预测样点:
Figure BDA0003302484550000261
其中τ0是从当前图片到参考列表0中的参考图片的图片序数(POC)距离,并且τ1是从参考列表1中的参考图片到当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
在一些示例中,当使用短抽头滤波器或整数像素MV时,执行BDOF以推导每个子块的MVD并且根据以下样点细化过程生成每个像素的细化预测样点:
Figure BDA0003302484550000262
其中τ0是从当前图片到参考列表0中的参考图片的图片序数(POC)距离,并且τ1是从参考列表1中的参考图片到当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
在一些示例中,使用每个子块的关联MVDsb j[i]和基于MVDb j[i]的对应参考块的梯度信息,针对每个MVDb j[i]在子块级计算所述成本函数的成本。
在一些示例中,在最终预测样点生成过程中使用实现最小成本的MVDb j[i]和MVDsb j[i],并且所述最佳MVDb j[i]和MVDsb j[i]的索引表示为子块的ibest。
在一些示例中,如果使用不同的插值滤波器和/或不同的运动精度来搜索最佳细化MVD,则使用具有常规插值滤波器和/或常规运动精度的MVb[i]+MVDb ibest[i]对所述子块执行最终运动补偿。
在一些示例中,进一步使用MVDsb ibest[i]以根据以下样点细化过程生成细化预测样点:
Figure BDA0003302484550000271
其中τ0是从当前图片到参考列表0中的参考图片的图片序数(POC)距离,并且τ1是从参考列表1中的参考图片到当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
在一些示例中,当使用短抽头滤波器或整数像素MV时,针对所述子块执行BDOF以推导其MVD并且根据以下样点细化过程生成细化预测样点:
Figure BDA0003302484550000272
其中τ0是从当前图片到参考列表0中的参考图片的图片序数(POC)距离,并且τ1是从参考列表1中的参考图片到当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
在一些示例中,所述样点细化过程仅应用于亮度分量。
在一些示例中,所述样点细化过程应用于所有颜色分量。
在一些示例中,对于所述第一块,使用DMVR过程或其他DMVD过程从M个MVD对候选中选择K个MVD对候选,其中M、K为整数且M>K。
在一些示例中,K等于2、3、4或5。
在一些示例中,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于某些图片,片和条带中的至少一个。
在一些示例中,在视频参数集(VPS),序列参数集(SPS),图片参数集(PPS),序列标头,图片标头,条带标头,片组标头,片标头中的至少一个中信令通知是否应用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程。
在一些示例中,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程仅应用于由其他图片参考的图片。
在一些示例中,当当前图片和块的两个参考图片之间的图片序数(POC)距离都小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于块。
在一些示例中,当当前图片和块的两个参考图片之间的图片序数(POC)距离都大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于块。
在一些示例中,当当前图片和块的两个参考图片中的一个之间的图片序数(POC)距离小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于块。
在一些示例中,当当前图片和块的两个参考图片中的一个之间的图片序数(POC)距离大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于块。
在一些示例中,当当前图片和块的两个参考图片之间的图片序数(POC)距离都在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于块。
在一些示例中,当当前图片和块的两个参考图片中的一个之间的图片序数(POC)距离在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于块。
在一些示例中,当图片和其在两个参考图片列表中的两个最接近参考图片之间的图片序数(POC)距离都小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于图片。
在一些示例中,当图片和其在两个参考图片列表中的两个最接近参考图片之间的图片序数(POC)距离都大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于图片。
在一些示例中,当图片和其在参考图片列表0或1中的两个最接近参考图片之间的图片序数(POC)距离小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于图片。
在一些示例中,当图片和其在参考图片列表0或1中的两个最接近参考图片之间的图片序数(POC)距离大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于图片。
在一些示例中,当图片和其在两个参考图片列表中的两个最接近参考图片之间的图片序数(POC)距离都在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于图片。
在一些示例中,当图片和其在参考图片列表0或1中的两个最接近参考图片之间的图片序数(POC)距离在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于图片。
在一些示例中,是否将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于单元取决于所述单元的编码信息。
在一些示例中,所述单元是块。
在一些示例中,所述编码信息包括运动信息,残差信息,变换信息,模式信息,单元的维度中的至少一个。
在一些示例中,当对所述第一块的残差进行编码时,如果应用附加变换,则禁用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程。
在一些示例中,所述附加变换包括二次变换或缩减二次变换或旋转变换或Karhunan-Loeve变换(KLT)或任何其他变换中的至少一个。
在一些示例中,如果应用附加变换并且所述块的宽度或/和高度具有特定尺寸,则禁用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程。
在一些示例中,所述块的特定尺寸包括4*4、4*8、8*4、8*8、4*16和16*4中的至少一个。
在一些示例中,对于其中应用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程的块,禁用附加变换。
在一些示例中,针对这些块信令通知附加变换的指示,但是在一致性比特流中将其约束为假。
在一些示例中,启用或禁用联合使用的第一过程和第二过程取决于块的维度,包括块的宽度(W)和/或高度(H),其中W和H是整数。
在一些示例中,当W*H>=T1&&H>=T2时,启用联合使用的第一过程和第二过程,其中T1和T2是整数。
在一些示例中,T1=64且T2=8。
在一些示例中,当H>=T1&&!(W==T2&&H==T1)时,启用联合使用的第一过程和第二过程,其中T1和T2是整数。
在一些示例中,T1=8且T2=4。
在一些示例中,当块尺寸包含少于M*H个样点时,禁用联合使用的第一过程和第二过程,其中M是整数。
在一些示例中,当块尺寸包含多于M*H个样点时,禁用联合使用的第一过程和第二过程,其中M是整数。
在一些示例中,M*H个样点是16或32或64个亮度样点。
在一些示例中,当块的宽度或/和高度的最小尺寸小于或不大于X时,禁用联合使用的第一过程和第二过程,其中X是整数。
在一些示例中,X=8。
在一些示例中,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,禁用联合使用的第一过程和第二过程,其中th1和th2是整数。
在一些示例中,当块的宽度<th1或<=th1和/或块的高度<th2或<=th2时,禁用联合使用的第一过程和第二过程,其中th1和th2是整数。
在一些示例中,将th1和/或th2设置为8。
在一些示例中,针对M*M块禁用联合使用的第一过程和第二过程,其中M是整数。
在一些示例中,M=128。
在一些示例中,针对N*M或M*N块禁用联合使用的第一过程和第二过程,其中M和N是整数。
在一些示例中,N>=64且M=128,或N>=4,M=128。
在一些示例中,在子块级执行联合使用的第一过程和第二过程。
在一些示例中,当块的宽度>=L或高度>=L或宽度>=L且高度>=L时,将块划分为多个子块,并且每个子块用作尺寸等于子块尺寸的第一块,其中L是整数。
在一些示例中,L=64。
在一些示例中,当块是64*128或128*64块时,将块划分为两个64*64子块,并且将28x128块划分为四个64*64子块。
在一些示例中,当块是N*128或128*N块时,其中N<64,不将块划分为子块。
在一些示例中,当块是N*128或128*N块时,其中N<64,将块划分为两个N*64或64*N个子块。
在一些示例中,当块的宽度或高度大于L时,竖直或水平划分块,使得子块的宽度或/和高度不大于L。
在一些示例中,当作为块的宽度*高度的块的尺寸大于阈值L1时,将块划分为多个子块,并且将每个子块用作尺寸等于子块尺寸的第一块。
在一些示例中,将块划分为具有不大于L1的相同尺寸的子块,其中L1是整数。
在一些示例中,如果块的宽度或高度不大于阈值L2,则不分别竖直或水平划分块。
在一些示例中,L1是1024,并且L2是32。
在一些示例中,阈值L在SPS,PPS,图片,条带,片组和片级别中的至少一个中预定义或信令通知。
在一些示例中,阈值L、L1和L2取决于某些编码信息,包括块尺寸,图片类型,时域层索引。
在一些示例中,所述转换从比特流表示生成第一视频块。
在一些示例中,所述转换从第一视频块生成比特流表示。
本文件中描述的公开的和其他解决方案,示例,实施例,模块和功能操作可以在数字电子电路或计算机软件,固件或硬件中实现,包括本文件中公开的结构及其结构等效物,或其中一个或多个的组合。公开的和其他实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备,机器可读存储基板,存储设备,影响机器可读传播信号的物质组成或其中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置,设备和机器,例如包括可编程处理器,计算机或多个处理器或计算机。除硬件外,装置还可以包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件的代码,协议栈,数据库管理系统,操作系统或其中的一个或多个的组合。传播信号是人工生成的信号,例如机器生成的电,光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置。
计算机程序(也称为程序,软件,软件应用,脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块,组件,子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分(例如,存储在标记语言文档中的一个或多个脚本)中,专用于所述程序的单个文件中,或多个协调文件(例如,存储一个或多个模块,子程序或部分代码的文件)中。计算机程序可以部署成在一个或多个计算机上执行,所述计算机位于一个站点上或分布在多个站点上并通过通信网络互连。
本文件中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,所述处理器执行一个或多个计算机程序以通过对输入数据操作并生成输出来执行功能。处理和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作联接到一个或多个大容量存储设备来从其接收数据或向其传送数据,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储器设备,包括例如半导体存储器设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
尽管本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求的范围的限制,而应解释为针对特定技术的特定实施例的特征的描述。本专利文件在单独实施例的上下文中描述的一些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实施,或在任何合适的子组合中实施。而且,尽管特征可以在上面描述为在一些组合中起作用,甚至最初要求是这样,但在一些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以涉及子组合或子组合的变型。
类似地,尽管图纸中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现方式和示例,并且基于该专利文件中描述和示出的内容可以做出其他实现方式,增强和变型。

Claims (98)

1.一种用于处理视频的方法,其包括:
对于视频的第一块和所述第一块的比特流表示之间的转换,通过联合使用多个解码器运动矢量推导(DMVD)过程中的第一过程和第二过程,推导与所述第一块关联的运动矢量差MVD(MVDb)和与所述第一块内的子块关联的MVD(MVDsb)中的至少一个MVD,至少使用所述第一过程推导所述MVDb,并且至少使用所述第二过程推导所述MVDsb;
使用所述至少一个MVD细化所述第一块的运动矢量MV(MVb);以及
基于所述第一块的细化的运动矢量执行所述转换。
2.根据权利要求1所述的方法,其中,所述多个DMVD过程包括以下的一个或多个:解码器运动矢量细化(DMVR)过程、双向光流(BDOF)过程和帧速率上转换(FRUC)过程。
3.根据权利要求2所述的方法,其中,所述第一过程是所述DMVR过程并且所述第二过程是所述BDOF过程。
4.根据权利要求3所述的方法,其中
所述MVb包括MVb[i],其中对于预测方向0或1,i=0或1,
所述MVDb包括MVDb[i],其中对于预测方向0或1,i=0或1,并且
所述MVDsb包括MVDsb[i],其中对于每个所述子块,i=0或1。
5.根据权利要求4所述的方法,其中,对于在所述DMVR过程中校验的给定MVD对候选,在一个或两个预测方向上与所述给定MVD对候选关联的对应参考块在用于决定所述DMVR过程中的最佳MVD对之前被进一步修改。
6.根据权利要求5所述的方法,其中,所述对应参考块通过所述BDOF过程被进一步修改。
7.根据权利要求4所述的方法,其中,在所述DMVR过程中校验总共K个MVD对候选,并且对于所述K个MVD对候选中的第j个MVD对候选(MVDb j[i]),首先识别与MVDb j[i]关联的两个参考块,然后应用所述BDOF过程以推导每个子块的细化的MVD(MVDsb j[i]),其中i=0和1,j是整数,K是等于2、3、4或5的整数,1=<j<=K。
8.根据权利要求7所述的方法,其中,通过使用与在常规帧间模式下使用的常规插值滤波器不同的插值滤波器对所述两个参考块进行插值,其中所述插值滤波器选自双线性滤波器、4抽头滤波器或6抽头滤波器,并且所述常规插值滤波器是8抽头滤波器。
9.根据权利要求7所述的方法,其中,通过使用在常规帧间模式下使用的常规插值滤波器对所述两个参考块进行插值,其中所述常规插值滤波器是8抽头滤波器。
10.根据权利要求7所述的方法,其中,通过使用MVb[i]+MVDb j[i]的整数像素部分来识别所述参考块而无需样点插值。
11.根据权利要求10所述的方法,其中,将MVb[i]+MVDb j[i]向零或去零取整为整数精度。
12.根据权利要求7-11中的任一项所述的方法,其中,MVDb j[i]是N像素精度,其中N是1/16、1/4、1/2、1和2中的一个。
13.根据权利要求12所述的方法,其中,将MVb[i]+MVDb j[i]向零或去零取整为目标精度。
14.根据权利要求7-11中的任一项所述的方法,其中,MVDb[i]的允许MVD对候选集与在所述DMVR过程中使用的候选集相同。
15.根据权利要求7-14中的任一项所述的方法,其中,成本函数被定义用于搜索所述第一块和/或子块的最佳MVD。
16.根据权利要求15所述的方法,其中,使用每个子块的关联MVDsb j[i]和基于MVDb j[i]的对应参考块的梯度信息,针对每个MVDb j[i]在块级计算所述成本函数的成本。
17.根据权利要求16所述的方法,其中,将实现最小成本的MVDb j[i]及其关联的MVDsb j[i]用作所述第一块和子块的最佳MVD,并且将最佳MVDb j[i]和MVDsb j[i]的索引表示为ibest。
18.根据权利要求17所述的方法,其中,所述成本函数被定义为
Figure FDA0003302484540000021
其中Δ被定义为
Figure FDA0003302484540000022
(i′,j′)是样点位置,Ω代表当前视频块中的样点位置,τ0是从当前图片到参考列表0中的参考图片的图片顺序计数(POC)距离,并且τ1是从参考列表1中的参考图片到所述当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb j[0]的水平和竖直分量,并且通过使用MVb[i]和MVDb j[i]生成I(0)和I(1),其中i=0或1。
19.根据权利要求17所述的方法,其中,所述成本函数被定义为
Figure FDA0003302484540000031
其中Δ被定义为
Figure FDA0003302484540000032
(i′,j′)是样点位置,Ω代表当前视频块中的样点位置,τ0是从当前图片到参考列表0中的参考图片的图片顺序计数(POC)距离,并且τ1是从参考列表1中的参考图片到所述当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb j[0]的水平和竖直分量,并且通过使用MVb[i]和MVDb j[i]生成I(0)和I(1),其中i=0或1。
20.根据权利要求18或19所述的方法,其中,在所述第一块和/或所述子块中的所有样点上计算所述成本函数。
21.根据权利要求18或19所述的方法,其中,在所述第一块和/或所述子块中的部分样点上计算所述成本函数。
22.根据权利要求21所述的方法,其中,所述部分样点是所述第一块和/或所述子块的偶数或奇数行。
23.根据权利要求21所述的方法,其中,所述部分样点是所述第一块和/或所述子块的偶数或奇数列。
24.根据权利要求21所述的方法,其中,所述部分样点包括所述第一块和/或所述子块的每N行中的第1行,和/或所述第一块和/或所述子块的每N列中的第1列。
25.根据权利要求21所述的方法,其中,所述部分样点包括所述第一块和/或所述子块的每N2行中的前N1行,和/或所述第一块和/或所述子块的每N2列中的前N1列,其中N1和N2是整数。
26.根据权利要求25所述的方法,其中,N1=4并且N2=8。
27.根据权利要求21所述的方法,其中,所述部分样点取决于所述第一块和/或所述子块的宽度或/和高度。
28.根据权利要求27所述的方法,其中,如果所述高度大于阈值T,则所述部分样点包括每N1行中的第1行;否则,所述部分样点包括每N2行中的第1行,其中N1>N2。
29.根据权利要求15-28中的任一项所述的方法,其中,如果使用不同的插值滤波器和/或不同的运动精度来搜索最佳细化MVD,则使用具有常规插值滤波器和/或常规运动精度的MVb[i]+MVDb ibest[i]对所述第一块执行最终运动补偿。
30.根据权利要求15-28中的任一项所述的方法,其中,MVDsb ibest[i]还用于根据以下样点细化过程生成细化的预测样点:
Figure FDA0003302484540000041
其中τ0是从当前图片到参考列表0中的参考图片的图片顺序计数(POC)距离,并且τ1是从参考列表1中的参考图片到所述当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
31.根据权利要求15-28中的任一项所述的方法,其中,当使用短抽头滤波器或整数像素MV时,执行BDOF以推导每个子块的MVD并且根据以下样点细化过程生成每个像素的细化的预测样点:
Figure FDA0003302484540000042
其中τ0是从当前图片到参考列表0中的参考图片的图片顺序计数(POC)距离,并且τ1是从参考列表1中的参考图片到所述当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
32.根据权利要求15所述的方法,其中,使用每个子块的关联MVDsb j[i]和基于MVDb j[i]的对应参考块的梯度信息,针对每个MVDb j[i]在子块级计算所述成本函数的成本。
33.根据权利要求32所述的方法,其中在最终预测样点生成过程中使用实现最小成本的MVDb j[i]和MVDsb j[i],并且对于子块将最佳MVDb j[i]和MVDsb j[i]的索引表示为ibest。
34.根据权利要求33所述的方法,其中,如果使用不同的插值滤波器和/或不同的运动精度来搜索最佳细化MVD,则使用具有常规插值滤波器和/或常规运动精度的MVb[i]+MVDb ibest[i]对所述子块执行最终运动补偿。
35.根据权利要求33所述的方法,其中,MVDsb ibest[i]还用于根据以下样点细化过程生成细化的预测样点:
Figure FDA0003302484540000043
其中τ0是从当前图片到参考列表0中的参考图片的图片顺序计数(POC)距离,并且τ1是从参考列表1中的参考图片到所述当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
36.根据权利要求33所述的方法,其中,当使用短抽头滤波器或整数像素MV时,针对所述子块执行BDOF以推导其MVD并且根据以下样点细化过程生成细化的预测样点:
Figure FDA0003302484540000051
其中τ0是从当前图片到参考列表0中的参考图片的图片顺序计数(POC)距离,并且τ1是从参考列表1中的参考图片到所述当前图片的POC距离,vx和vy分别是覆盖对应样点的子块的MVDsb ibest[0]的水平和竖直分量,并且在最终运动补偿中生成I(0)和I(1)
37.根据权利要求30、31、35和36中的任一项所述的方法,其中,所述样点细化过程仅被应用于亮度分量。
38.根据权利要求30、31、35和36中的任一项所述的方法,其中,所述样点细化过程被应用于所有颜色分量。
39.根据权利要求7-38中的任一项所述的方法,其中,对于所述第一块,使用DMVR过程或其他DMVD过程从M个MVD对候选中选择所述K个MVD对候选,其中M、K为整数且M>K。
40.根据权利要求25所述的方法,其中,K等于2、3、4或5。
41.根据权利要求1-40中的任一项所述的方法,其中,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于某些图片、片和条带中的至少一个。
42.根据权利要求41所述的方法,其中,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、序列标头、图片标头、条带标头、片组标头、片标头中的至少一个中信令通知是否应用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程。
43.根据权利要求41或42所述的方法,其中,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于仅由其他图片参考的图片。
44.根据权利要求41或42所述的方法,其中,当当前图片和块的两个参考图片之间的图片顺序计数(POC)距离都小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述块。
45.根据权利要求41或42所述的方法,其中,当当前图片和块的两个参考图片之间的图片顺序计数(POC)距离都大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述块。
46.根据权利要求41或42所述的方法,其中,当当前图片和块的两个参考图片中的一个参考图片之间的图片顺序计数(POC)距离小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述块。
47.根据权利要求41或42所述的方法,其中,当当前图片和块的两个参考图片中的一个参考图片之间的图片顺序计数(POC)距离大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述块。
48.根据权利要求41或42所述的方法,其中,当当前图片和块的两个参考图片之间的图片顺序计数(POC)距离都在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述块。
49.根据权利要求41或42所述的方法,其中,当当前图片和块的两个参考图片中的一个参考图片之间的图片顺序计数(POC)距离在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述块。
50.根据权利要求41或42所述的方法,其中,当图片和其在两个参考图片列表中的两个最接近参考图片之间的图片顺序计数(POC)距离都小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述图片。
51.根据权利要求41或42所述的方法,其中,当图片和其在两个参考图片列表中的两个最接近参考图片之间的图片顺序计数(POC)距离都大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述图片。
52.根据权利要求41或42所述的方法,其中,当图片和其在参考图片列表0或1中的两个最接近参考图片之间的图片顺序计数(POC)距离小于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述图片。
53.根据权利要求41或42所述的方法,其中,当图片和其在参考图片列表0或1中的两个最接近参考图片之间的图片顺序计数(POC)距离大于阈值时,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述图片。
54.根据权利要求41或42所述的方法,其中,当图片和其在两个参考图片列表中的两个最接近参考图片之间的图片顺序计数(POC)距离都在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述图片。
55.根据权利要求41或42所述的方法,其中,当图片和其在参考图片列表0或1中的两个最接近参考图片之间的图片顺序计数(POC)距离在范围[T1,T2]内时,其中T2>=T1>=0,将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于所述图片。
56.根据权利要求1-40中的任一项所述的方法,其中,是否将DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程应用于单元取决于所述单元的编解码信息。
57.根据权利要求56所述的方法,其中,所述单元是块。
58.根据权利要求56或57所述的方法,其中,所述编解码信息包括运动信息、残差信息、变换信息、模式信息、所述单元的维度中的至少一个。
59.根据权利要求58所述的方法,其中,当对所述第一块的残差进行编码时,如果应用附加变换,则禁用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程。
60.根据权利要求59所述的方法,其中,所述附加变换包括二次变换或缩减二次变换或旋转变换或Karhunan-Loeve变换(KLT)或任何其他变换中的至少一个。
61.根据权利要求60所述的方法,其中,如果应用附加变换并且所述块的宽度或/和高度具有特定尺寸,则禁用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程。
62.根据权利要求61所述的方法,其中,所述块的特定尺寸包括4×4、4×8、8×4、8×8、4×16和16×4中的至少一个。
63.根据权利要求60所述的方法,其中,对于其中应用DMVR过程和/或BDOF过程和/或其他DMVD过程和/或联合使用的DMVR过程和BDOF过程的块,禁用所述附加变换。
64.根据权利要求63所述的方法,其中,针对这些块信令通知附加变换的指示,但是在一致性比特流中将所述指示约束为假。
65.根据权利要求1-40中的任一项所述的方法,其中,启用或禁用联合使用的第一过程和第二过程取决于块的维度,所述块的维度包括所述块的宽度(W)和/或高度(H),其中W和H是整数。
66.根据权利要求65所述的方法,其中,当W×H>=T1&&H>=T2时,启用所述联合使用的第一过程和第二过程,其中T1和T2是整数。
67.根据权利要求66所述的方法,其中,T1=64且T2=8。
68.根据权利要求65所述的方法,其中,当H>=T1&&!(W==T2&&H==T1)时,启用所述联合使用的第一过程和第二过程,其中T1和T2是整数。
69.根据权利要求68所述的方法,其中,T1=8且T2=4。
70.根据权利要求65所述的方法,其中,当块尺寸包含少于M×H个样点时,禁用所述联合使用的第一过程和第二过程,其中M是整数。
71.根据权利要求65所述的方法,其中,当块尺寸包含多于M×H个样点时,禁用所述联合使用的第一过程和第二过程,其中M是整数。
72.根据权利要求70或71所述的方法,其中,M×H个样点是16或32或64个亮度样点。
73.根据权利要求65所述的方法,其中,当块的宽度或/和高度的最小尺寸小于或不大于X时,禁用所述联合使用的第一过程和第二过程,其中X是整数。
74.根据权利要求73所述的方法,其中,X=8。
75.根据权利要求65所述的方法,其中,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,禁用所述联合使用的第一过程和第二过程,其中th1和th2是整数。
76.根据权利要求65所述的方法,其中,当块的宽度<th1或<=th1和/或块的高度<th2或<=th2时,禁用所述联合使用的第一过程和第二过程,其中th1和th2是整数。
77.根据权利要求75或76所述的方法,其中,将th1和/或th2设置为8。
78.根据权利要求65所述的方法,其中,针对M×M块禁用所述联合使用的第一过程和第二过程,其中M是整数。
79.根据权利要求78所述的方法,其中,M=128。
80.根据权利要求65所述的方法,其中,针对N×M或M×N块禁用所述联合使用的第一过程和第二过程,其中M和N是整数。
81.根据权利要求80所述的方法,其中,N>=64且M=128,或者N>=4,M=128。
82.根据权利要求1-40中的任一项所述的方法,其中,在子块级执行联合使用的第一过程和第二过程。
83.根据权利要求82所述的方法,其中,当块的宽度>=L或高度>=L,或者宽度>=L且高度>=L时,将所述块划分为多个子块,并且每个子块用作尺寸等于子块尺寸的第一块,其中L是整数。
84.根据权利要求83所述的方法,其中,L=64。
85.根据权利要求84所述的方法,其中,当所述块是64×128或128×64块时,将所述块划分为两个64×64子块,并且将128×128块划分为四个64×64子块。
86.根据权利要求84所述的方法,其中,当所述块是N×128或128×N块,其中N<64时,不将所述块划分为子块。
87.根据权利要求84所述的方法,其中,当所述块是N×128或128×N块,其中N<64时,将所述块划分为两个N×64或64×N个子块。
88.根据权利要求83或84所述的方法,其中,当所述块的宽度或高度大于L时,竖直或水平划分所述块,使得所述子块的宽度或/和高度不大于L。
89.根据权利要求82所述的方法,其中,当作为块的宽度×高度的块的尺寸大于阈值L1时,将所述块划分为多个子块,并且将每个子块用作尺寸等于子块尺寸的第一块。
90.根据权利要求89所述的方法,其中,将所述块划分为具有不大于L1的相同尺寸的子块,其中L1是整数。
91.根据权利要求89所述的方法,其中,如果所述块的宽度或高度不大于阈值L2,则不分别竖直或水平划分所述块。
92.根据权利要求89-91中的任一项所述的方法,其中,L1是1024,并且L2是32。
93.根据权利要求83-92中的任一项所述的方法,其中,阈值L是在SPS、PPS、图片、条带、片组和片级别中的至少一个中预定义的或信令通知的。
94.根据权利要求83-92中的任一项所述的方法,其中,阈值L、L1和L2取决于某些编解码信息,所述编解码信息包括块尺寸、图片类型、时域层索引。
95.根据权利要求1-94中的任一项所述的方法,其中所述转换从比特流表示生成第一视频块。
96.根据权利要求1-94中的任一项所述的方法,其中所述转换从第一视频块生成比特流表示。
97.一种视频系统中的装置,其包括处理器和在其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器实施根据权利要求1至96中的任一项所述的方法。
98.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于执行根据权利要求1至96中的任一项所述的方法的程序代码。
CN202080028662.3A 2019-04-14 2020-04-14 运动矢量和预测样点细化 Active CN113796084B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019082589 2019-04-14
CNPCT/CN2019/082589 2019-04-14
PCT/CN2020/084726 WO2020211755A1 (en) 2019-04-14 2020-04-14 Motion vector and prediction sample refinement

Publications (2)

Publication Number Publication Date
CN113796084A true CN113796084A (zh) 2021-12-14
CN113796084B CN113796084B (zh) 2023-09-15

Family

ID=72838017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080028662.3A Active CN113796084B (zh) 2019-04-14 2020-04-14 运动矢量和预测样点细化

Country Status (2)

Country Link
CN (1) CN113796084B (zh)
WO (1) WO2020211755A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818046B (zh) * 2021-01-25 2022-09-30 同济大学 一种基于轨交云控的非时空数据变换归集处理系统及方法
CN117616754A (zh) * 2021-06-15 2024-02-27 抖音视界有限公司 用于视频处理的方法、设备和介质
WO2023277755A1 (en) * 2021-06-30 2023-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Selective subblock-based motion refinement
CN117546466A (zh) * 2021-06-30 2024-02-09 瑞典爱立信有限公司 重叠解码器侧运动细化
US12120290B2 (en) * 2021-09-17 2024-10-15 Tencent America LLC Method and apparatus for intra block copy mode coding with search range switching
US11943448B2 (en) * 2021-11-22 2024-03-26 Tencent America LLC Joint coding of motion vector difference

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223540A (zh) * 2011-07-01 2011-10-19 宁波大学 一种面向h.264/avc视频的信息隐藏方法
WO2018065296A1 (en) * 2016-10-03 2018-04-12 Thomson Licensing Method and apparatus for encoding and decoding motion information
US20180184117A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and Apparatus of Adaptive Bi-Prediction for Video Coding
WO2018175720A1 (en) * 2017-03-22 2018-09-27 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
WO2018193967A1 (ja) * 2017-04-19 2018-10-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109417631A (zh) * 2016-06-30 2019-03-01 交互数字Vc控股公司 利用自适应运动信息细化的视频编码
US20190104319A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Coding affine prediction motion information for video coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131091B (zh) * 2010-01-15 2013-01-23 联发科技股份有限公司 解码端运动向量导出方法
WO2012083487A1 (en) * 2010-12-21 2012-06-28 Intel Corporation System and method for enhanced dmvd processing
US20120294370A1 (en) * 2010-10-06 2012-11-22 Yi-Jen Chiu System and method for low complexity motion vector derivation
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10701366B2 (en) * 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223540A (zh) * 2011-07-01 2011-10-19 宁波大学 一种面向h.264/avc视频的信息隐藏方法
CN109417631A (zh) * 2016-06-30 2019-03-01 交互数字Vc控股公司 利用自适应运动信息细化的视频编码
WO2018065296A1 (en) * 2016-10-03 2018-04-12 Thomson Licensing Method and apparatus for encoding and decoding motion information
US20180184117A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and Apparatus of Adaptive Bi-Prediction for Video Coding
WO2018175720A1 (en) * 2017-03-22 2018-09-27 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
WO2018193967A1 (ja) * 2017-04-19 2018-10-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US20190104319A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Coding affine prediction motion information for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SRIRAM SETHURAMAN, 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH, MA, 9–18 JAN. 2019》 *

Also Published As

Publication number Publication date
CN113796084B (zh) 2023-09-15
WO2020211755A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
TWI727338B (zh) 用信號通知的運動向量精度
CN111357294B (zh) 基于子块的运动信息列表的简化熵编解码
CN113170099B (zh) 块内拷贝模式和帧间预测工具之间的交互
JP7556090B2 (ja) デコーダ側精緻化ツールのサイズ選択アプリケーション
WO2020098808A1 (en) Construction of merge with motion vector difference candidates
US11729377B2 (en) Affine mode in video coding and decoding
WO2020125750A1 (en) Motion vector precision in merge with motion vector difference mode
CN113796084B (zh) 运动矢量和预测样点细化
CN110740321B (zh) 基于更新的运动矢量的运动预测
JP2024008948A (ja) 動き候補リスト構築プロセスの条件付き実行
CN114009037A (zh) 帧内块复制模式的运动候选列表构建
CN113853793A (zh) 基于光流的帧间编码的语法信令
CN113545085A (zh) 基于图片头中的信息启用dmvr
CN114175636A (zh) 自适应参数集中的自适应环路滤波的指示
CN113940082A (zh) 基于子块的帧内块复制和不同编解码工具之间的交互
CN113383548A (zh) Mv精度和mv差编解码之间的相互作用
CN113597759B (zh) 视频编解码中的运动矢量细化
CN110876064A (zh) 部分交织的预测
CN113557720B (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
GR01 Patent grant
GR01 Patent grant