CN110740327A - 重叠块的运动补偿的改进 - Google Patents

重叠块的运动补偿的改进 Download PDF

Info

Publication number
CN110740327A
CN110740327A CN201910662916.6A CN201910662916A CN110740327A CN 110740327 A CN110740327 A CN 110740327A CN 201910662916 A CN201910662916 A CN 201910662916A CN 110740327 A CN110740327 A CN 110740327A
Authority
CN
China
Prior art keywords
block
current block
obmc
prediction
motion
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
CN201910662916.6A
Other languages
English (en)
Other versions
CN110740327B (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 CN110740327A publication Critical patent/CN110740327A/zh
Application granted granted Critical
Publication of CN110740327B publication Critical patent/CN110740327B/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/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/583Motion compensation with overlapping blocks
    • 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
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

用于处理视频数据的设备、系统和方法,包括:确定当前块和对应的相邻块;并且基于当前块的特性选择性地实施重叠块的运动补偿(OBMC),以构造当前块的最终预测块,作为从当前块的运动矢量导出的预测块和从一个或多个相邻块的运动矢量导出的预测块的加权和;以及基于当前块的最终预测块,执行当前块与包括当前块的视频数据的比特流表示之间的转换。

Description

重叠块的运动补偿的改进
相关申请的交叉引用
根据适用的专利法和/或依据巴黎公约的规则,本申请要求于2018年7月20日提交的题为“基于更新的运动矢量的运动预测”的国际专利申请第PCT/CN2018/096384号的优先权和权益。该国际专利申请第PCT/CN2018/096384号的全部公开内容通过引用并入作为本申请的公开内容的一部分。
技术领域
本文件涉及视频编码和视频解码技术、设备和系统。
背景技术
尽管视频压缩有所进步,但数字视频仍占因特网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的所连接的用户设备的数量增加,预计数字视频使用的带宽需求将继续增长。
发明内容
描述了与数字视频编码有关的设备、系统和方法,并且具体地,描述了基于更新的运动矢量的运动预测。所描述的方法可以应用于现有视频编码标准(例如,高效视频编码(HEVC))和未来视频编码标准或视频编解码器。
在一个代表性方面,所公开的技术可以用于提供视频编码的方法。该方法包括接收当前视频数据块的比特流表示,基于第一运动矢量和第一参考运动矢量和第二参考运动矢量的加权和来分别生成更新的第一参考运动矢量和更新的第二参考运动矢量,其中基于来自第一参考块的第一参考运动矢量和来自第二参考块的第二参考运动矢量导出第一运动矢量,并且其中当前块与第一参考块和第二参考块相关联,并且基于更新的第一参考运动矢量和更新的第二参考运动矢量来处理比特流表示从而生成当前块。
在另一个代表性方面,所公开的技术可以用于提供用于处理视频数据的另一种方法。该方法包括:确定当前块和对应的相邻块;并且基于当前块的特性选择性地实施重叠块的运动补偿(OBMC),以构造当前块的最终预测块,作为从当前块的运动矢量导出的预测块和从一个或多个相邻块的运动矢量导出的预测块的加权和;以及基于当前块的最终预测块,执行当前块与包括当前块的视频数据的比特流表示之间的转换。
在又一个代表性方面,上述方法以处理器可执行代码的形式实施并存储在计算机可读程序介质中。
在又一个代表性方面,公开了一种被配置或可操作以执行上述方法的设备。该设备可以包括被编程为实施该方法的处理器。
在又一个代表性方面,视频解码器装置可以实施如本文中所描述的方法。
在附图、说明书和权利要求中更详细地描述了所公开技术的上述方面和特征以及其他方面和特征。
附图说明
图1示出了构建Merge候选列表的示例。
图2示出了空间候选的位置的示例。
图3示出了经受空间Merge候选的冗余校验的候选对的示例。
图4A和图4B示出了基于当前块的尺寸和形状的第二预测单元PU的位置的示例。
图5示出了用于时间Merge候选的运动矢量缩放的示例。
图6示出了用于时间Merge候选的候选位置的示例。
图7示出了生成组合的双向预测Merge候选的示例。
图8示出了构建运动矢量预测候选的示例。
图9示出了用于空间运动矢量候选的运动矢量缩放的示例。
图10示出了使用用于编码单元(CU)的替代时间运动矢量预测(ATMVP)算法的运动预测的示例。
图11示出了具有由空时运动矢量预测(STMVP)算法使用的子块和相邻块的编码单元(CU)的示例。
图12A和图12B示出了当使用重叠块的运动补偿(OBMC)算法时子块的示例快照。
图13示出了用于导出局部亮度补偿(LIC)算法的参数的相邻样点的示例。
图14示出了简化的仿射运动模型的示例。
图15示出了每个子块的仿射运动矢量场(MVF)的示例。
图16示出了用于AF_INTER仿射运动模式的运动矢量预测(MVP)的示例。
图17A和17B示出了用于AF_MERGE仿射运动模式的示例候选。
图18示出了在模式匹配运动矢量推导(PMMVD)模式中的双边匹配的示例,模式匹配运动矢量推导(PMMVD)模式是基于帧速率上转换(FRUC)算法的特殊Merge模式。
图19示出了在FRUC算法中的模板匹配的示例。
图20示出了在FRUC算法中的单向运动估计的示例。
图21示出了由双向光流(BIO)算法使用的光流轨迹的示例。
图22A和22B示出了使用不具有块扩展的双向光流(BIO)算法的示例快照。
图23示出了基于双边模板匹配的解码器侧运动矢量细化(DMVR)算法的示例。
图24示出了在变换系数上下文建模中使用的模板定义的示例。
图25示出了在PU/CU中的内部和边界子块的示例。
图26示出了根据当前所公开的技术的用于视频编码的示例方法的流程图。
图27示出了根据当前所公开的技术的用于视频编码的另一个示例方法的流程图。
图28是用于实施本文件中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
具体实施方式
由于对更高分辨率视频的需求的增加,视频编码方法和技术在现代技术中普遍存在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断改进以提供更高的编码效率。视频编解码器将未压缩视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂度、对数据丢失和错误的敏感性、编辑的简易性,随机访问和端到端延迟(延迟)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编码(HEVC)标准(也称为H.265或MPEG-H第2部分)、要完成的通用视频编码标准、或其他当前和/或未来的视频编码标准。
所公开的技术的实施例可以应用于现有视频编码标准(例如,HEVC,H.265)和未来的标准以改进压缩性能。在本文件中使用节标题以改进描述的可读性,并且不以任何方式将讨论或实施例(和/或实现方式)限制于仅相应的节。
1.在HEVC/H.265中的帧间预测的示例
多年来,视频编码标准已经显着改进,并且现在部分地提供高编码效率和对更高分辨率的支持。诸如HEVC和H.265的最新标准基于利用时间预测加变换编码的混合视频编码结构。
1.1帧间预测的示例
每个帧间预测的PU(预测单元)具有对于一个或两个参考图像列表的运动参数。在一些实施例中,运动参数包括运动矢量和参考图像索引。在其他实施例中,也可以使用inter_pred_idc来信令通知对两个参考图像列表中一个的使用。在另外的其他实施例中,运动矢量可以明确地被编码为相对于预测器的增量。
当使用跳过(skip)模式编码CU时,一个PU与该CU相关联,并且不存在显著的残差系数,不存在编码的运动矢量增量或参考图像索引。指定Merge模式,由此从相邻PU——包括空间和时间候选——获得用于当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅适用于跳过模式。Merge模式的替代方案是运动参数的显式传输(explicittransmission),其中运动矢量、每个参考图像列表的对应参考图像索引、参考图像列表使用被每个PU地明确地信令通知。
当信令指示要使用两个参考图像列表中的一个时,PU从一个样点块产生。这被称为“单向预测”。单向预测可用于P条带和B条带。
当信令指示要使用两个参考图像列表时,PU从两个样点块产生。这被称为“双向预测”。双向预测仅可用于B条带。
1.1.1构建Merge模式的候选的实施例
当使用Merge模式预测PU时,从比特流解析出指向Merge候选列表(mergecandidates list)中的条目的索引,并且该索引被用于检索运动信息。该列表的构建可以根据以下步骤顺序进行总结:
步骤1:初始候选推导
步骤1.1:空间候选推导
步骤1.2:空间候选的冗余校验
步骤1.3:时间候选推导
步骤2:附加候选插入
步骤2.1:创建双向预测候选
步骤2.2:插入零运动候选
图1示出了基于上面总结的步骤顺序构建Merge候选列表的示例。对于空间Merge候选推导,在位于五个不同位置的候选中选择最多四个Merge候选。对于时间Merge候选推导,在两个候选中选择最多一个Merge候选。由于在解码器处假设每个PU的候选的数量为常数,因此当候选的数量未达到在条带报头中信令通知的最大Merge候选数量(MaxNumMergeCand)时,生成附加的候选。由于候选的数量是恒定的,因此使用二进制一元截断(TU)来编码最佳Merge候选的索引。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,该单个Merge候选列表与2N×2N预测单元的Merge候选列表相同。
1.1.2构建空间Merge候选
在空间Merge候选的推导中,在位于图2中描绘的位置中的候选中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用时(例如,因为该PU属于另一个条带(slice)或片(tile))或者是帧内编码时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余校验,该冗余校验确保具有相同运动信息的候选被排除在列表之外,从而改进编码效率。
为了降低计算复杂度,在所提到的冗余校验中并未考虑所有可能的候选对。相反,仅考虑与图3中的箭头链接的对,并且如果用于冗余校验的对应候选具有不同的运动信息,则该候选仅被添加到列表中。重复的运动信息的另一个来源是与不同于2Nx2N的划分相关联的“第二PU”。作为示例,图4A和4B分别描绘了针对N×2N和2N×N的情况的第二PU。当当前PU被划分为N×2N时,位置A1处的候选不被考虑用于列表构建。在一些实施例中,添加该候选可以导致具有相同运动信息的两个预测单元,这对于在编码单元中仅具有一个PU是冗余的。类似地,当当前PU被划分为2N×N时,不考虑位置B1
1.1.3构建时间Merge候选
在此步骤中,只有一个候选被添加到列表中。特别地,在该时间Merge候选的推导中,基于共位(co-located)的PU来导出缩放的运动矢量,该共位的PU属于相对于给定参考图像列表内的当前图像具有最小POC差异的图像。在条带报头中明确地信令通知用于共位的PU的推导的参考图像列表。
图5示出了用于时间Merge候选(如虚线)的缩放的运动矢量的推导的示例,该用于时间Merge候选(如虚线)的缩放的运动矢量使用POC距离tb和td从共位的PU的运动矢量缩放,其中tb被定义为当前图像的参考图像与该当前图像之间的POC差异,并且td被定义为共位图像的参考图像与该共位图像之间的POC差异。时间Merge候选的参考图像索引被设置为等于零。对于B条带,获得两个运动矢量并将其组合以产生双向预测Merge候选,该两个运动矢量中的一个用于参考图像列表0而另一个用于参考图像列表1。
如图6所示,在属于参考帧的共位的PU(Y)中,在候选C0和C1之间选择用于时间候选的位置。如果位置C0处的PU不可用、被帧内编码的或在当前CTU之外,则使用位置C1。否则,在时间Merge候选的推导中使用位置C0
1.1.4构建附加类型的Merge候选
除了空时Merge候选之外,还存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空时Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图像列表运动参数与另一个候选的第二参考图像列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,则它们将形成一个新的双向预测候选。
图7示出了该过程的示例,在该过程中原始列表(710,在左方)中具有mvL0和refIdxL0或mvL1和refIdxL1的两个候选被用于创建组合的双向预测Merge候选,该组合的双向预测Merge候选被添加到最终列表(720,在右方)。
零运动候选被插入以填充Merge候选列表中的剩余条目,并且因此达到MaxNumMergeCand容量。这些候选具有零空间位移和参考图像索引,该参考图像索引从零开始并且每当新的零运动候选被添加到列表时增加。这些候选使用的参考帧的数量是分别用于单向和双向预测的1和2。在一些实施例中,不对这些候选执行冗余校验。
1.1.5用于并行处理的运动估计区域的示例
为了加速编码过程,可以并行执行运动估计,由此同时导出给定区域内的所有预测单元的运动矢量。来自空间相邻的Merge候选的推导可能干扰并行处理,因为一个预测单元直到其相关联的运动估计完成才能从相邻PU导出运动参数。为了减轻编码效率和处理等待时间之间的折衷,可以定义运动估计区域(MER)。MER的尺寸可以在图像参数集(PPS)中使用“log2_parallel_merge_level_minus2”语法元素来信令通知。当MER被定义时,落入同一区域的Merge候选被标记为不可用,并且因此在列表构建中也不被考虑。
1.2高级运动矢量预测(AMVP)的实施例
AMVP利用运动矢量与相邻PU的空时相关性,该空时相关性用于运动参数的显式传输。通过下述操作来构建运动矢量候选列表:首先校验左方、上方在时间上相邻PU位置的可用性,移除冗余候选,并添加零矢量,以使候选列表为恒定长度。然后,编码器可以从候选列表中选择最佳预测器,并传输指示所选候选的对应索引。与Merge索引信令类似,使用一元截断来编码最佳运动矢量候选的索引。在这种情况下要编码的最大值是2(参见图8)。在以下的节中,提供了关于运动矢量预测候选的推导过程的细节。
1.2.1构建运动矢量预测候选的示例
图8总结了用于运动矢量预测候选的推导过程,并且可以针对具有refidx作为输入的每个参考图像列表来实现。
在运动矢量预测中,考虑两种类型的运动矢量候选:空间运动矢量候选和时间运动矢量候选。如图2先前示出的,对于空间运动矢量候选推导,最终基于位于五个不同位置的每个PU的运动矢量来导出两个运动矢量候选。
对于时间运动矢量候选推导,从基于两个不同的共位位置导出的两个候选中选择一个运动矢量候选。在制作空时候选的第一列表之后,移除列表中的重复的运动矢量候选。如果潜在候选的数量大于2,则从列表中移除其在相关联的参考图像列表内的参考图像索引大于1的运动矢量候选。如果空时运动矢量候选的数量小于2,则将附加的零运动矢量候选添加到列表中。
1.2.2构建空间运动矢量候选
在空间运动矢量候选的推导中,在五个潜在候选中考虑最多两个候选,该五个潜在候选来自位于如图2先前示出的位置的PU,这些位置与运动Merge的那些位置相同。当前PU的左侧的推导顺序被定义为A0、A1以及缩放的A0、缩放的A1。当前PU的上侧的推导顺序被定义为B0、B1、B2、缩放的B0、缩放的B1、缩放的B2。因此,对于每一侧,存在四种可用作运动矢量候选的情况,其中两种情况不需要使用空间缩放,并且两种情况使用空间缩放。四种不同的情况总结如下。
·无空间缩放
(1)相同的参考图像列表,以及相同的参考图像(相同的POC)
(2)不同的参考图像列表,但是相同的参考图像(相同的POC)
·空间缩放
(3)相同的参考图像列表,但不同的参考图像(不同的POC)
(4)不同的参考图像列表,以及不同的参考图像(不同的POC)
首先校验无空间缩放情况,接下来校验允许空间缩放的情况。不管参考图像列表如何,当POC在相邻PU的参考图像与当前PU的参考图像之间是不同的时,考虑空间缩放。如果左方候选的所有PU都不可用或者是被帧内编码的,则允许对上方运动矢量进行缩放,以帮助左方和上方MV候选的并行推导。否则,对上侧运动矢量不允许空间缩放。
如图9中的示例所示,对于空间缩放情况,以与时间缩放类似的方式缩放相邻PU的运动矢量。一个差异在于当前PU的参考图像列表和索引被给出以作为输入;实际缩放过程与时间缩放过程相同。
1.2.3构建时间运动矢量候选
除了参考图像索引推导之外,用于时间Merge候选的推导的所有过程与用于空间运动矢量候选的推导的过程相同(如图6中的示例所示)。在一些实施例中,将参考图像索引信令通知给解码器。
2.在联合探索模型(JEM)中的帧间预测方法的示例
在一些实施例中,使用称为联合探索模型(JEM)的参考软件来探索未来的视频编码技术。在JEM中,在数个编码工具中采用基于子块的预测,诸如仿射预测、替代时间运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、双向光流(BIO)、帧速率上转换(FRUC)、局部自适应运动矢量分辨率(LAMVR)、重叠块的运动补偿(OBMC)、局部亮度补偿(LIC)和解码器侧运动矢量细化(DMVR)。
2.1基于子CU的运动矢量预测的示例
在具有四叉树加二叉树(QTBT)的JEM中,每个CU可以具有针对每个预测方向的至多一个运动参数的集合。在一些实施例中,通过将大CU划分为子CU并且导出大CU的所有子CU的运动信息,在编码器中考虑两个子CU级别运动矢量预测方法。替代时间运动矢量预测(ATMVP)方法允许每个CU从比共位参考图像中的当前CU小的多个块中获取运动信息的多个集合。在空时运动矢量预测(STMVP)方法中,通过使用时间运动矢量预测器和空间相邻运动矢量来递归地导出子CU的运动矢量。在一些实施例中,并且为了保留用于子CU运动预测的更准确的运动场,可以禁用参考帧的运动压缩。
2.1.1替代时间运动矢量预测(ATMVP)的示例
在ATMVP方法中,通过从小于当前CU的块中获取运动信息(包括运动矢量和参考索引)的多个集合来修改时间运动矢量预测(TMVP)方法。
图10示出了CU 1000的ATMVP运动预测过程的示例。ATMVP方法以两个步骤预测CU1000内的子CU 1001的运动矢量。第一步骤是使用时间矢量识别参考图像1050中的对应块1051。参考图像1050也称为运动源图像。第二步骤是将当前CU 1000划分为子CU 1001,并从对应于每个子CU的块中获得运动矢量以及每个子CU的参考索引。
在第一步骤中,参考图像1050和对应块由当前CU 1000的空间相邻块的运动信息确定。为了避免相邻块的重复扫描过程,使用当前CU 1000的Merge候选列表中的第一Merge候选。第一可用运动矢量及其相关联的参考索引被设置为运动源图像的时间矢量和索引。这样,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为共位块)总是相对于当前CU处于右下或中心位置。
在第二步骤中,通过向当前CU的坐标添加时间矢量,由运动源图像1050中的时间矢量识别子CU 1051的对应块。对于每个子CU,其对应块的运动信息(例如,覆盖中心样点的最小运动网格)用于导出子CU的运动信息。在识别出对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的运动矢量和参考索引,在该方式中应用运动缩放和其他过程。例如,解码器校验是否满足低延迟条件(例如,当前图像的所有参考图像的POC小于当前图像的POC)并且可能使用运动矢量MVx(例如,对应于参考图像列表X的运动矢量)用于预测每个子CU的运动矢量MVy(例如,其中X等于0或1并且Y等于1-X)。
2.1.2空时运动矢量预测(STMVP)的示例
在STMVP方法中,按照光栅扫描顺序递归地导出子CU的运动矢量。图11示出了具有四个子块和相邻块的一个CU的示例。考虑包括四个4×4子CU A(1101)、B(1102)、C(1103)和D(1104)的8×8CU 1100。当前帧中的相邻4×4块标记为(1111)、b(1112)、c(1113)和d(1114)。
子CU A的运动推导通过识别其两个空间邻居开始。第一邻居是子CU A1101上方的N×N块(块c 1113)。如果该块c(1113)不可用或者是帧内编码,则校验(从左到右,从块c1113开始)子CU A(1101)上方的其他N×N块。第二邻居是子CU A 1101左侧的块(块b1112)。如果块b(1112)不可用或者是帧内编码,则校验(从上到下,从块b 1112开始)子CU A1101左侧的其他块。从每个列表的相邻块获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过遵循与HEVC中指定的TMVP推导相同的过程来导出子块A1101的时间运动矢量预测器(TMVP)。在块D 1104处的共位块的运动信息被相应地获取和缩放。最后,在检索和缩放运动信息之后,对每个参考列表分开平均所有可用运动矢量。平均运动矢量被指定为当前子CU的运动矢量。
2.1.3子CU运动预测模式信令通知的示例
在一些实施例中,子CU模式被启用作为附加的Merge候选,并且不需要附加的语法元素来信令通知模式。添加两个附加的Merge候选以合并每个CU的候选列表以表示ATMVP模式和STMVP模式。在其他实施例中,如果序列参数集指示启用了ATMVP和STMVP,则可以使用多达七个Merge候选。附加Merge候选的编码逻辑与HM中的Merege候选的编码逻辑相同,这意味着,对于P或B条带中的每个CU,两个附加Merge候选可能需要再进行两次RD校验。在一些实施例中,例如JEM,Merge索引的所有二进制位由CABAC(基于上下文的自适应二进制算术编码)进行上下文编码。在其他实施例中,例如,HEVC,仅对第一个二进制数(bin)进行上下文编码,并且对剩余的二进制数进行上下文旁路编码。
2.2自适应运动矢量差异分辨率的示例
在一些实施例中,当条带报头中的use_integer_mv_flag等于0时,以四分之一亮度样点为单位,信令通知(PU的运动矢量与预测的运动矢量之间的)运动矢量差异(MVD)。在JEM中,引入了局部自适应运动矢量分辨率(LAMVR)。在JEM中,MVD可以以四分之一亮度样点、整数亮度样点或四个亮度样点为单位进行编码。在编码单元(CU)级别控制MVD分辨率,并且向具有至少一个非零MVD分量的每个CU,有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标记,以指示是否在CU中使用四分之一亮度样点MV精度。当第一标志(等于1)指示未使用四分之一亮度样点MV精度时,信令通知另一个标志,以指示是否使用整数亮度样点MV精度或四个亮度样点MV精度。
当CU的第一MVD分辨率标志为零,或未针对CU编码(意味着CU中的所有MVD均为零)时,四分之一亮度样点MV分辨率被用于该CU。当CU使用整数亮度样点MV精度或四个亮度样点MV精度时,该CU的AMVP候选列表中的MVP被取整到对应的精度。
在编码器中,使用CU级别RD校验来确定将哪个MVD分辨率将用于CU。换言之,对于每个MVD分辨率,执行CU级RD校验三次。为了加快编码器速度,在JEM中应用以下编码方案。
·在具有正常四分之一亮度样点MVD分辨率的CU的RD校验期间,存储该当前CU的运动信息(整数亮度样点精度)。对于具有整数亮度样点和4个亮度样点MVD分辨率的相同CU,存储的运动信息(取整后)被用作RD校验期间进一步小范围运动矢量细化的起点,使得耗时的运动估计过程不重复三次。
·有条件地调用具有4个亮度样点MVD分辨率的CU的RD校验。对于CU,当整数亮度样点MVD分辨率的RD成本远大于四分之一亮度样点MVD分辨率的RD成本时,跳过该CU的4个亮度样点MVD分辨率的RD校验。
2.3较高的运动矢量存储精度的示例
在HEVC中,运动矢量精度是四分之一像素(pel)(用于4:2:0视频的四分之一亮度样点和八分之一色度样点)。在JEM中,内部运动矢量存储和Merge候选的精度增加到1/16像素。较高的运动矢量精度(1/16像素)用于以跳过模式/Merge模式编码的CU的运动补偿帧间预测。对于使用正常AMVP模式编码的CU,使用整数像素或四分之一像素运动。
具有与HEVC运动补偿插值滤波器相同的滤波器长度和归一化因子的SHVC上采样插值滤波器,被用作附加分数像素位置的运动补偿插值滤波器。在JEM中色度分量运动矢量精度是1/32样点,通过使用两个相邻1/16像素分数位置的滤波器的平均值,来导出1/32像素分数位置的附加插值滤波器。
2.4重叠块的运动补偿(OBMC)的示例
在JEM中,OBMC可以在CU级别使用语法元素进行开关。当JEM中使用OBMC时,对除去CU的右侧边界和底部边界的所有运动补偿(MC)块边界执行OBMC。此外,它应用于亮度和色度分量。JEM中,MC块对应于编码块。当CU使用子CU模式(包括子CU Merge、仿射以及FRUC模式)编码时,CU的每个子块是MC块。为了统一处理CU的边界,在子块的尺寸设置为4x4的情况下,对所有MC块边界以子块级别执行OBMC,如图12A和图12B所示。
图12A示出了CU/PU边界处的子块,阴影子块是应用OBMC的位置。类似地,图12B示出了ATMVP模式中的子PU。
当OBMC应用于当前子块时,除了当前MV之外,四个相邻子块的矢量(如果可用且与当前运动矢量不完全相同)也会被用于导出当前子块的预测块。组合这些基于多个运动矢量的多个预测块以生成当前子块的最终预测信号。
基于相邻子块的运动矢量的预测块被表示为PN,其中N指示相邻上方、下方、左侧和右侧的子块的索引,并且基于当前子块的运动矢量的预测块被表示为PC。当PN基于相邻子块的运动信息且该运动信息与当前子块的运动信息相同时,不从PN执行OBMC。否则,将PN的每个样点添加到PC中的相同样点中,即将四行/列PN添加到PC。加权因子{1/4,1/8,1/16,1/32}用于PN,并且加权因子{3/4,7/8,15/16,31/32}用于PC。例外是对于小MC块(即,当编码块的高度或宽度等于4或CU使用子CU模式编码时)仅将PN的两行/列添加到PC。在这种情况下,加权因子{1/4,1/8}用于PN,并且加权因子{3/4,7/8}用于PC。对于基于垂直(水平)相邻子块的运动矢量生成的PN,将PN的相同行(列)中的样点添加到具有相同加权因子的PC。
在JEM中,对于尺寸小于或等于256个亮度样点的CU,信令通知CU级别标志以指示是否对当前CU应用OBMC。对于尺寸大于256个亮度样点或未使用AMVP模式编码的CU,默认情况下应用OBMC。在编码器处,当OBMC应用于CU时,在运动估计阶段期间考虑其影响。由OBMC使用顶部相邻块和左相邻块的运动信息形成的预测信号用于补偿当前CU的原始信号的顶部边界和左侧边界,并且然后应用正常运动估计过程。
2.5局部亮度补偿(LIC)的示例
LIC基于用于亮度变化的线性模型,使用缩放因子a和偏移b。并且,针对每个帧间模式编码的编码单元(CU)自适应地启用或禁用LIC。
当LIC应用于CU时,采用最小平方误差方法,通过使用当前CU的相邻样点及其对应的参考样点来导出参数a和b。图13示出了用于导出IC算法的参数的相邻样点的示例。具体地,并且如图13所示,使用了该CU的子采样(2:1子采样)的相邻样点和参考图像中的对应样点(其由当前CU或子CU的运动信息识别)。IC参数被导出并被分别应用于每个预测方向。
当使用Merge模式对CU进行编码时,以类似于Merge模式中的运动信息复制的方式从相邻块复制LIC标志;否则,向该CU信令通知LIC标志以指示LIC是否适用。
当对图像启用LIC时,需要附加的CU级别RD校验以确定是否对CU应用LIC。当对CU启用LIC时,分别对整数像素运动搜索和分数像素运动搜索,使用均值移除的绝对差和(mean-removed sum of absolute diffefference,MR-SAD)以及均值移除的绝对哈达玛变换差和(mean-removed sum of absolute Hadamard-transformed difference,MR-SATD),而不是SAD和SATD。
为了降低编码复杂度,在JEM中应用以下编码方案。
当当前图像与其参考图像之间不存在明显的亮度变化时,对整个图像禁用LIC。为了识别这种情况,在编码器处,计算当前图像与该当前图像的每个参考图像的直方图。如果当前图像与该当前图像的每个参考图像之间的直方图差异小于给定阈值,则对当前图像禁用LIC;否则,对当前图像启用LIC。
2.6仿射运动补偿预测的示例
在HEVC中,仅将平移运动模型应用于运动补偿预测(MCP)。然而,相机和对象可以具有多种运动,例如放大/缩小、旋转、透视运动和其他不规则的运动。在另一方面,JEM应用简化的仿射变换运动补偿预测。图14示出了由两个控制点运动矢量V0和V1描述的块1400的仿射运动场的示例。块1400的运动矢量场(MVF)可以由以下等式描述:
Figure BDA0002139133100000141
如图14所示,(v0x,v0y)是左顶角控制点的运动矢量,(v1x,v1y)是右顶角控制点的运动矢量。为了简化运动补偿预测,可以应用基于子块的仿射变换预测。子块尺寸M×N如以下等式导出:
其中MvPre是运动矢量分数精度(例如,在JEM中为1/16),(v2x,v2y)是左下控制点的运动矢量,根据等式(1)计算。如果需要,可以向下调整M和N,以使其分别为w和h的除数。
图15示出了块1500的每个子块的仿射MVF的示例。为了导出每个M×N子块的运动矢量,可以根据等式(1)计算每个子块的中心样点的运动矢量,并将其取整为运动矢量分数精度(例如,在JEM中为1/16)。然后,可以应用运动补偿插值滤波器,以利用导出的运动矢量生成每个子块的预测。在MCP之后,每个子块的高精度运动矢量以与正常运动矢量相同的精度被取整并保存。
在JEM中,存在两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度均大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。在AF_INTER模式中,使用相邻块构建具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。
图16示出了用于在AF_INTER模式中的块1600的运动矢量预测(MVP)的示例。如图16所示,从块A、B或C的运动矢量中选择v0。来自相邻块的运动矢量可以根据参考列表来缩放。运动矢量还可以根据相邻块的参考的图像顺序计数(POC)、当前CU的参考的POC和当前CU的POC之间的关系来缩放。从相邻子块D和E中选择v1的方法是类似的。如果候选列表的数量小于2,则由通过重复每个AMVP候选而构建的运动矢量对来填充该列表。当候选列表大于2时,首先可以根据相邻运动矢量(例如,基于候选对中的两个运动矢量的相似性)对候选进行分类。在一些实现方式中,保留前两个候选。在一些实现方式中,速率失真(RD)成本校验用于确定选择哪个运动矢量对候选作为当前CU的控制点运动矢量预测(CPMVP)。可以在比特流中信令通知指示候选列表中的CPMVP的位置的索引。在确定当前仿射CU的CPMVP之后,应用仿射运动估计,并找到控制点运动矢量(CPMV)。然后在比特流中信令通知CPMV与CPMVP的差异。
当在AF_MERGE模式中应用CU时,它从有效的相邻重建块获得使用仿射模式编码的第一块。图17A示出了当前CU 1700的候选块的选择顺序的示例。如图17A所示,选择顺序可以是从当前CU 1700的左方(1701)、上方(1702)、右上方(1703)、左下方(1704)到左上方(1705)。图17B示出了在AF_MERGE模式中的当前CU 1700的候选块的另一个示例。如图17B所示,如果相邻左下块1701以仿射模式编码,则导出包含子块1701的CU的左顶角、右上角和左底角的运动矢量v2、v3和v4。基于v2、v3和v4来计算当前CU 1700的左顶角的运动矢量v0。可以相应地计算当前CU的右上方的运动矢量v1
在根据等式(1)中的仿射运动模型计算当前CU的CPMV v0和v1之后,可以生成该当前CU的MVF。为了识别当前CU是否使用AF_MERGE模式编码,当存在至少一个相邻块以仿射模式编码时,可以在比特流中信令通知仿射标志。
2.7模式匹配的运动矢量推导(PMMVD)的示例
PMMVD模式是一种基于帧速率上转换(FRUC)方法的特殊Merge模式。使用该模式,块的运动信息不被信令通知,而是在解码器侧导出。
当CU的Merge标志为真时,可以向该CU信令通知FRUC标志。当FRUC标志为假时,可以信令通知Merge索引,并使用常规Merge模式。当FRUC标志为真时,可以信令通知附加的FRUC模式标志以指示将使用哪种方法(例如,双边匹配或模板匹配)来导出该块的运动信息。
在编码器侧,关于是否对CU使用FRUC Merge模式的决定是基于如对正常Merge候选那样所做的RD成本选择。例如,通过使用RD成本选择来校验CU的多种匹配模式(例如,双边匹配和模板匹配)。导致最小成本的匹配模式与其他CU模式进一步比较。如果FRUC匹配模式是最有效的模式,则对于CU将FRUC标志设置为真,并且使用有关匹配模式。
通常,FRUC Merge模式中的运动推导过程有两个步骤。首先执行CU级别运动搜索,接下来执行子CU级别运动细化。在CU级别,基于双边匹配或模板匹配为整个CU导出初始运动矢量。首先,生成MV候选列表,并且选择导致最小匹配成本的候选作为进一步CU级别细化的起点。然后,围绕起始点执行基于双边匹配或模板匹配的局部搜索。将导致最小匹配成本的MV作为整个CU的MV。随后,运动信息在子CU级别进一步细化,其中导出的CU运动矢量作为起点。
例如,针对W×HCU运动信息推导执行以下推导处理。在第一阶段,导出整体W×HCU的MV。在第二阶段,CU进一步划分为M×M子CU。如等式(3)中计算M的值,D是预定义的划分深度,其在JEM中默认设置为3。然后导出每个子CU的MV。
Figure BDA0002139133100000161
图18示出了帧速率上转换(FRUC)方法中使用的双边匹配的示例。双边匹配用于通过在两个不同参考图像(1810,1811)中沿当前CU(1800)的运动轨迹找到两个块之间的最接近匹配,来导出当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0(1801)和MV1(1802)与在当前图像和两个参考图像之间的时间距离——例如TD0(1803)和TD1(1804)——成比例。在一些实施例中,当当前图像(1800)在时间上在两个参考图像(1810,1811)之间并且从当前图像到两个参考图像的时间距离相同时,双边匹配变为基于镜像的双向MV。
图19示出了帧速率上转换(FRUC)方法中使用的模板匹配的示例。模板匹配可以用于通过找到在当前图像中的模板(例如,当前CU的顶部相邻块和/或左方相邻块)与参考图像1910中的块(例如,具有与模板相同的尺寸)之间的最接近匹配,来导出当前CU 1900的运动信息。除了上述FRUC Merge模式之外,模板匹配也可以适用于AMVP模式。在JEM和HEVC两者中,AMVP有两个候选。使用模板匹配方法,可以导出新的候选。如果由模板匹配的新导出的候选与第一现有AMVP候选不同,则将其插入AMVP候选列表的最开始,并且然后将列表尺寸设置为2(例如,通过移除第二现有AMVP候选)。当应用于AMVP模式时,仅应用CU级别搜索。
CU级别的MV候选集合可以包括:(1)如果当前CU处于AMVP模式,则为原始AMVP候选,(2)所有Merge候选,(3)插值MV域(稍后描述)中的数个MV,以及顶部和左方相邻的运动矢量。
当使用双边匹配时,Merge候选的每个有效MV可以被用作输入,以在假设双边匹配的情况下生成MV对。例如,Merge候选的一个有效MV是在参考列表A中的(MVa,refa)。然后,在其他参考列表B中找到其配对双边MV的参考图像refb,使得refa和refb在时间上位于当前图像的不同侧。如果参考列表B中这样的refb不可用,则refb被确定为与refa不同的参考,并且refb到当前图像的时间距离是列表B中的最小值。在确定refb之后,基于当前图像与refa、refb之间的时间距离通过缩放MVa来导出MVb。
在一些实现方式中,来自插值MV域的四个MV也可以被添加到CU级别候选列表。更具体地,添加当前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)处的插值MV。当FRUC应用于AMVP模式时,原始AMVP候选也被添加到CU级别MV候选集合。在一些实现方式中,在CU级别,用于AMVP CU的15个MV、用于Merge CU的13个MV可以被添加到候选列表。
子CU级别的MV候选集合包括:(1)从CU级别搜索确定的MV,(2)顶部、左方、左顶和右顶的相邻MV,(3)来自参考图像的并列MV的缩放版本,(4)一个或多个ATMVP候选(例如,最多四个),以及(5)一个或多个STMVP候选(例如,最多四个)。来自参考图像的缩放MV如下导出。遍历两个列表中的参考图像。参考图像中的子CU的并列位置处的MV被缩放到起始CU级别MV的参考。ATMVP和STMVP候选可以是前四个候选。在子CU级别,一个或多个MV(例如,最多十七个)被添加到候选列表中。
插值MV域的生成
在对帧进行编码之前,基于单边ME为整个图像生成插值运动域。然后,运动域可以稍后用作CU级别或子CU级别MV候选。
在一些实施例中,两个参考列表中的每个参考图像的运动域以4×4块级别遍历。图20示出了在FRUC方法中的单向运动估计(ME)2000的示例。对于每个4×4块,如果与块相关联的运动通过当前图像中的4×4块并且该块尚未被分配任何插值运动,则参考块的运动根据时间距离TD0和TD1(与HEVC中的TMVP的MV缩放的方式相同的方式)缩放到当前图像,并且将缩放的运动分配给当前帧中的块。如果无缩放的MV被分配到4×4块,则在插值的运动域中将块的运动标记为不可用。
插值和匹配成本
当运动矢量指向分数样点位置时,需要运动补偿插值。为了降低复杂度,双边匹配和模板匹配两者可以使用双线性插值而不是常规的8抽头HEVC插值。
匹配成本的计算在不同的步骤有点不同。当从CU级别的候选集合中选择候选时,匹配成本可以是双边匹配或模板匹配的绝对差值和(SAD)。在确定起始MV之后,如下计算子CU级别搜索的双边匹配的匹配成本C:
Figure BDA0002139133100000181
其中w是一个加权因子。在一些实施例中,w根据经验设置为4,MV和MVs分别指示当前MV和起始MV。SAD可以仍用作子CU级别搜索的模板匹配的匹配成本。
在FRUC模式中,MV通过仅使用亮度样点导出。导出的运动将用于MC帧间预测的亮度和色度。在确定MV之后,使用用于亮度的8抽头插值滤波器和用于色度的4抽头插值滤波器来执行最终MC。
MV细化是以双边匹配成本或模板匹配成本为准则的基于模式的MV搜索。在JEM中,支持两种搜索模式——分别用于CU级别和子CU级别的MV细化的无限制的中心偏置菱形搜索(unrestricted center-biased diamond search,UCBDS)和自适应交叉搜索(adaptivecross search)。对于CU级别和子CU级别MV细化,以四分之一亮度样点MV精度直接搜索MV,并且接下来以八分之一亮度样点MV细化。对于CU步骤和子CU步骤的MV细化的搜索范围被设置为等于8个亮度样点。
在双边匹配Merge模式中,应用双向预测,因为基于在两个不同参考图像中沿当前CU的运动轨迹的两个块之间的最接近匹配来导出CU的运动信息。在模板匹配Merge模式中,编码器可以在针对CU的来自列表0的单向预测、来自列表1的单向预测或者双向预测之中进行选择。选择可以基于模板匹配成本,如下:
如果costBi<=factor*min(cost0,cost1)
使用双向预测;
否则,如果cost0<=cost1
使用来自列表0的单向预测;
否则,
使用来自列表1的单向预测;
其中cost0是列表0模板匹配的SAD,cost1是列表1模板匹配的SAD,costBi是双向预测模板匹配的SAD。例如,当factor的值等于1.25时,这意味着选择过程偏向于双向预测。帧间预测方向选择可以应用于CU级别模板匹配过程。
2.8双向光流(BIO)的示例
双向光流(BIO)方法是在用于双向预测的逐块运动补偿之上执行的逐样点运动细化。在一些实现方式中,样点级别运动细化不使用信令通知。
让I(k)是在块运动补偿之后的参考k(k=0,1)的亮度值,并且将
Figure BDA0002139133100000192
分别表示为I(k)梯度的水平分量和垂直分量。假设光流有效,则运动矢量场(vx,vy)由以下等式给出。
Figure BDA0002139133100000193
将此光流等式与Hermite插值组合,得到每个样点的运动轨迹,其结果是匹配函数值I(k)和偏导数
Figure BDA0002139133100000194
的唯一的三阶多项式。在t=0时此多项式的值是BIO预测:
Figure BDA0002139133100000195
图21示出了双向光流(BIO)方法中的光流轨迹的示例。其中,τ0和τ1表示到参考帧的距离。距离τ0和τ1基于Ref0和Ref1的POC来计算:τ0=POC(当前块)-POC(Ref0),τ1=POC(Ref1)-POC(当前块)。如果两个预测都来自相同的时间方向(既可以是来自过去的,也可以是来自未来的),则符号是不同的(例如,τ0·τ1<0)。在这种情况下,如果预测不是来自相同的时刻(例如,τ0≠τ1),则应用BIO。两个参考区域都具有非零运动(例如,MVx0,MVy0,MVx1,MVy1≠0)并且块运动矢量与时间距离(例如,MVx0/MVx1=MVy0/MVy1=-τ01)成正比。
通过最小化点A和点B中的值之间的差异Δ来确定运动矢量场(vx,vy)。图22A和图22B示出了运动轨迹和参考帧平面的交点的示例。模型仅使用对于Δ的局部泰勒展开的第一线性项:
Figure BDA0002139133100000201
上述等式中的所有值都取决于表示为(i′,j′)的样点位置。假设运动在局部周围区域是一致的,可以在以当前预测点(i,j)为中心的(2M+1)×(2M+1)方形窗口Ω内最小化Δ,其中M等于2:
Figure BDA0002139133100000202
对于此优化问题,JEM使用简化方法,首先在垂直方向上进行最小化,并且然后在水平方向上进行最小化。这导致
Figure BDA0002139133100000203
Figure BDA0002139133100000204
其中,
Figure BDA0002139133100000205
为了避免除以零或非常小的值,在等式(9)和等式(10)中引入正则化参数r和m。
r=500·4d-8 (12)
m=700·4d-8 (13)
其中d是视频样点的位深度。
为了保持BIO的存储器访问与常规双向预测运动补偿相同,针对当前块内的位置计算所有预测和梯度值I(k)
Figure BDA0002139133100000206
图22A示出了块2200外部的访问位置的示例。如图22A所示,在等式(9)中,以预测块的边界上的当前预测点为中心的(2M+1)×(2M+1)方形窗口Ω需要访问块外的位置。在JEM中,块外的I(k)
Figure BDA0002139133100000207
的值被设置为等于块内最近的可用值。例如,这可以实现为填充区域2201,如图22B所示。
使用BIO,可以针对每个样品来细化运动场是可能的。为了降低计算复杂度,可以在JEM中使用基于块的BIO设计。可以基于4×4块来计算运动细化。在基于块的BIO中,可以聚合4×4块中的所有样点在等式(9)中的sn值,并且然后将聚合的sn值用于4×4块的导出的BIO运动矢量偏移。更具体地,以下公式可以用于基于块的BIO推导:
Figure BDA0002139133100000211
其中bk表示属于预测块的第k个4×4块的样品的集合。由((sn,bk)>>4)替换等式(9)和等式(10)中的sn以导出相关联的运动矢量偏移。
在一些情况下,BIO的MV组(regiment)可能由于噪声或不规则运动而不可靠。因此,在BIO中,MV组的量级被限制为阈值。基于当前图像的参考图像是否都来自一个方向来确定阈值。例如,如果当前图像的所有参考图像都来自一个方向,则阈值被设置为12×214 -d;否则,它被设置为12×213-d
可以同时计算BIO的梯度与运动补偿插值,该运动补偿插值使用与HEVC运动补偿过程一致的操作(例如,2D可分离有限脉冲响应FIR)。在一些实施例中,根据块运动矢量的分数部分,此2D可分离FIR的输入是与运动补偿过程和分数位置(fracX,fracY)相同的参考帧样点。对于水平梯度首先对应于具有去缩放偏移d-8的分数位置fracY,使用BIOfilterS垂直插值信号,然后对应于具有去缩放偏移18-d的分数位置fracX,在水平方向上应用梯度滤波器BIOfilterG。对于垂直梯度
Figure BDA0002139133100000213
首先对应于具有去缩放偏移d-8的分数位置fracY,使用BIOfilterG垂直应用梯度滤波器,然后对应于具有去缩放偏移18-d的分数位置fracX,在水平方向上使用BIOfilterS来执行信号位移。用于梯度计算BIOfilterG和信号位移BIOfilterF的插值滤波器的长度可以较短(例如,6抽头)以维持合理的复杂度。表格1示出了可以用于BIO中块运动矢量的不同分数位置的梯度计算的示例滤波器。表格2示出了可以用于BIO中预测信号生成的示例插值滤波器。
表格1 BIO中梯度计算的示例性滤波器
Figure BDA0002139133100000221
表格2 BIO中预测信号生成的示例性插值滤波器
分数像素位置 预测信号的插值滤波器(BIOfilterS)
0 {0,0,64,0,0,0}
1/16 {1,-3,64,4,-2,0}
1/8 {1,-6,62,9,-3,1}
3/16 {2,-8,60,14,-5,1}
1/4 {2,-9,57,19,-7,2}
5/16 {3,-10,53,24,-8,2}
3/8 {3,-11,50,29,-9,2}
7/16 {3,-11,44,35,-10,3}
1/2 {3,-10,35,44,-11,3}
在JEM中,当两个预测来自不同的参考图像时,BIO可以应用于所有双向预测的块。当对CU启用局部亮度补偿(LIC)时,可以禁用BIO。
在一些实施例中,OBMC在正常MC过程之后应用于块。为了降低计算复杂度,在OBMC过程期间不可以应用BIO。这意味着当使用其自己的MV时BIO应用于块的MC过程,当在OBMC过程中使用相邻块的MV时BIO不应用于MC过程。
2.9解码器侧运动矢量细化(DMVR)的示例
在双向预测操作中,为了预测一个块区域,分别使用列表0的运动矢量(MV)和列表1的MV形成的两个预测块被组合以形成单个预测信号。在解码器侧运动矢量细化(DMVR)方法中,双向预测的两个运动矢量通过双边模板匹配过程进一步细化。双边模板匹配应用于解码器中,以在双边模板和参考图像中的重建样点之间执行基于失真的搜索,以便在不传输附加的运动信息的情况下获得细化的MV。
如图23所示,在DMVR中,分别从列表0的初始MV0和列表1的MV1生成双边模板,作为两个预测块的加权组合(即平均)。模板匹配操作包括计算生成的模板与参考图像中的样点区域(在初始预测块周围)之间的成本度量。对于两个参考图像中的每一个,产生最小模板成本的MV被视为该列表的更新MV以替换原始模板。在JEM中,对于每个列表,搜索九个MV候选。该九个MV候选包括原始MV和8个周围MV,其中一个亮度样点在水平或垂直方向上或在两个方向上偏移到原始MV。最后,如图23所示,两个新的MV,即MV0'和MV1',被用于生成最终的双向预测结果。绝对差值和(SAD)用作成本度量。
DMVR被应用于双向预测的Merge模式,在不传输附加的语法元素的情况下使用来自过去的参考图像中的一个MV和来自将来的参考图像中的另一个MV。在JEM中,当为CU启用LIC、仿射运动、FRUC或子CU Merge候选时,不应用DMVR。
3.CABAC修改的示例
在JEM中,与HEVC中的设计相比,CABAC包含以下三个主要变化:
·修改的变换系数的上下文建模
·具有依赖于上下文的更新速度的多假设概率估计
·上下文模型的自适应初始化
3.1变换系数的上下文建模的示例
在HEVC中,使用非重叠系数群组(CG)对编码块的变换系数进行编码,并且每个CG包含编码块的4×4块的系数。编码块内的CG和CG内的变换系数根据预定义的扫描顺序进行编码。具有至少一个非零变换系数的CG的变换系数级别的编码可以被分成多个扫描通道。在第一通道中,编码第一个bin(由bin0表示,也称为significant_coeff_flag,其指示系数的量级大于0)。接下来,可以应用用于上下文编码第二/第三bin(分别由bin1和bin2表示,也称为coeff_abs_greater1_flag和coeff_abs_greater2_flag)的两个扫描通道。最后,如果需要,调用用于编码符号信息和剩余值(也称为coeff_abs_level_remaining)的多于两个扫描通道。只有前三个扫描通道中的bin以常规模式编码,并且这些bin在下面的描述中称为常规bin。
在JEM中,改变常规bin的上下文建模。当在第i个扫描通道(i为0,1,2)中对bin i进行编码时,上下文索引取决于由本地模板覆盖的邻域中的先前编码系数的第i个bin的值。具体地,基于相邻系数的第i个bin的总和来确定上下文索引。
如图24所示,本地模板包含多达五个空间相邻变换系数,其中x指示当前变换系数的位置,并且xi(i为0至4)指示其五个邻居。为了捕获不同频率的变换系数的特性,可以将一个编码块划分为多达三个区域,并且无论编码块尺寸如何,划分方法都是固定的。例如,当对亮度变换系数的bin0进行编码时,将一个编码块划分为使用不同颜色标记的三个区域,并列出分配给每个区域的上下文索引。亮度和色度分量以类似的方式处理,但具有分开的上下文模型集。此外,亮度分量的bin0(即,有效标志)的上下文模型选择进一步取决于变换尺寸。
3.2多假设概率估计的示例
二进制算术编码器基于与每个上下文模型相关联的两个概率估计P0和P1应用“多假设”概率更新模型,并且以不同的自适应速率独立地更新如下:
Figure BDA0002139133100000241
其中,
Figure BDA0002139133100000243
分别表示解码bin之前和之后的概率。变量Mi(为4,5,6,7)是控制索引等于i的上下文模型的概率更新速度的参数;并且k表示概率的精度(本文等于15)。
用于二进制算术编码器中的间隔细分的概率估计P是来自两个假设的估计的平均值:
P=(P0 new+P1 new)/2 (16)
在JEM中,控制每个上下文模型的概率更新速度的等式(15)中使用的参数Mi的值被分配如下:
在编码器侧,记录与每个上下文模型相关联的编码的bin。在对一个条带进行编码之后,对于索引等于i的每个上下文模型,计算使用不同的Mi值(为4,5,6,7)的速率成本,并选择提供最小速率成本的一个Mi值。为简单起见,仅在遇到条带类型和条带级别量化参数的新组合时才执行该选择过程。
针对每个上下文模型i信令通知1比特标志以指示Mi是否不同于默认值4。当标志为1时,使用两个比特来指示Mi是否等于5、6或7。
3.3上下文模型的初始化的示例
代替在HEVC中使用用于上下文模型的初始化的固定表格,可以通过从先前编码的图像复制状态来初始化用于帧间编码的条带的上下文模型的初始概率状态。更具体地,在对每个图像的中心定位的CTU进行编码之后,存储所有上下文模型的概率状态以用作后续图像上的对应上下文模型的初始状态。在JEM中,从具有与当前条带相同的条带类型和相同的条带级别QP的先前编码的图像的存储状态中复制每个帧间编码条带的初始状态集。这缺乏损耗鲁棒性,但在当前的JEM方案中用于编码效率实验目的。
4.有关实施例和方法的示例
与所公开的技术有关的方法包括扩展的LAMVR,其中支持的运动矢量分辨率范围从1/4像素到4像素(1/4像素、1/2像素、1像素、2像素和4像素)。当信令通知MVD信息时,在CU级别信令通知关于运动矢量分辨率的信息。
取决于CU的分辨率,调整CU的运动矢量(MV)和运动矢量预测器(MVP)两者。如果应用的运动矢量分辨率表示为R(R可以是1/4、1/2、1、2、4),则MV(MVx,MVy)和MVP(MVPx,MVPy)表示如下:
(MVx,MVy)=(Round(MVx/(R*4))*(R*4),Round(MVy/(R*4))*(R*4))
(MVPx,MVPy)=(Round(MVPx/(R*4))*(R*4),Round(MVPy/(R*4))*(R*4))
因为运动矢量预测器和MV两者都由自适应分辨率调整,因此MVD(MVDx,MVDy)也与分辨率对准,并且根据分辨率信令通知如下:
(MVDx,MVDy)=((MVx–MVPx)/(R*4),(MVy–MVPy)/R*4))
在该提议中,运动矢量分辨率索引(MVR索引)指示MVP索引以及运动矢量分辨率。结果,所提议的方法没有MVP索引信令。表格示出了MVR索引的每个值所表示的内容。
表格3 MVR索引表示的示例
Figure BDA0002139133100000251
Figure BDA0002139133100000261
在双向预测的情况下,AMVR针对每种分辨率具有3种模式。AMVR双向索引指示是否信令通知每个参考列表(列表0或列表1)的MVDx、MVDy。AMVR双向索引的示例定义如下表所示。
表格4 AMVR双向索引的示例
AMVR双向索引 列表0的(MVD<sub>x</sub>,MVD<sub>y</sub>) 列表1的(MVD<sub>x</sub>,MVD<sub>y</sub>)
0 信令通知 信令通知
1 不信令通知 信令通知
2 信令通知 不信令通知
5.现有实现方式的示例
在使用BIO的一个现有实现方式中,列表0中的参考块/子块(由refblk0表示)和列表1中的参考块/子块(refblk1)之间的计算的MV——由(vx,vy)表示——仅用于当前块/子块的运动补偿,并且不用于未来编码块的运动预测、去方块、OBMC等,这可能是低效的。
在使用OBMC的另一个现有实现方式中,对于AMVP模式,在编码器处确定是否对小块(宽度*高度<=256)启用OBMC,并且信令通知解码器。这增加了编码器的复杂度。同时,对于给定的块/子块,当启用OBMC时,它总是应用于亮度和色度,这可能导致编码效率下降。
6.用于基于更新的MV的运动预测的示例方法
当前公开的技术的实施例克服了现有实现方式的缺点,从而提供具有更高编码效率的视频编码。基于所公开的技术,使用更新的运动矢量的运动预测可以增强现有和未来的视频编码标准,在以下针对各种实现方式所描述的示例中阐明。以下提供的所公开技术的示例解释了一般概念,并不意味着被解释为限制性的。在一个示例中,除非明确地相反指示,否则可以组合这些示例中描述的各种特征。
关于术语,来自列表0和列表1的当前图像的参考图像分别表示为Ref0和Ref1。取τ0=POC(当前)-POC(Ref0),τ1=POC(Ref1)-POC(当前),并分别由refblk0和refblk1表示来自Ref0和Ref1的当前块的参考块。对于当前块中的子块中,refblk0中其对应子块的指向refblk1的MV由(vx,vy)表示。Ref0和Ref1中的子块的MV分别由(mvL0x,mvL0y)和(mvL1x,mvL1y)表示。如本专利文件中所述,可以将用于运动预测的更新的基于运动矢量的方法扩展到现有和未来的视频编码标准中。
示例1。提议修改BIO编码块的运动信息(例如,与运动补偿中使用的不同),其可以在稍后使用,诸如在随后运动预测(例如,TMVP)过程中。
(a)在一个示例中,提议缩放在BIO中导出的MV(vx,vy)并将其相加到当前块/子块的原始MV(mvLXx,mvLXy)(X=0或1)。更新的MV计算如下:mvL0’x=-vx*(τ0/(τ01))+mvL0x,mvL0’y=-vy*(τ0/(τ01))+mvL0y,and mvL1’x=vx*(τ1/(τ01))+mvL1x,mvL1’y=vy*(τ1/(τ01))+mvL1y
(i)在一个示例中,更新的MV用于未来的运动预测(如在AMVP、Merge和仿射模式中)、去方块(deblocking)、OBMC等。
(ii)替代地,更新的MV仅可以用于按解码顺序对其非紧随的CU/PU的运动预测。
(iii)替代地,更新的MV仅可以在AMVP、Merge或仿射模式中用作TMVP。
示例2。提议对于BIO、DMVR、FRUC、模板匹配或需要从比特流中导出的那些更新MV(或包括MV和/或参考图像的运动信息)的其他方法,使用更新的运动信息可能受到约束。
(a)如果可以在子块级别更新运动信息,则可以存储不同子块的更新和未更新的运动信息两者。在一个示例中,可以存储一些子块的更新的运动信息,并且对于其他剩余的子块,存储未更新的运动信息。
(b)在一个示例中,如果在子块级别更新MV(或运动信息),则仅针对内部子块(即,不在PU/CU/CTU边界处的子块)存储更新的MV,并且然后将其用于运动预测、去方块、OBMC等,如图25所示。
(c)在一个示例中,更新的MV或运动信息不用于运动预测和OBMC。替代地,另外,更新的MV或运动信息不用于去方块。
(d)在一个示例中,更新的MV或运动信息仅用于运动补偿和时间运动预测,如TMVP/ATMVP。
示例3。提议取决于编码模式、运动信息、PU/CU/块的尺寸或位置隐式地启用/禁用OBMC,并且因此不信令通知OBMC标志。
(a)在一个示例中,如果满足以下条件中的一个,则对于在AMVP模式或AFFINE_INTER模式中编码的PU/CU/块禁用OBMC(其中w和h是PU/CU/块的宽度和高度)。
(i)w×h<=T
(ii)w<=T&&h<=T
(b)在一个示例中,对于在Merge模式和AFFINE_MERGE模式中编码的PU/CU/块总是启用OBMC。
(c)替代地,另外,垂直和水平OBMC分开被禁用/启用。如果PU/CU/块的高度小于T,则禁用垂直OBMC。如果PU/CU/块的宽度小于T,则禁用水平OBMC。
(d)在一个示例中,在对于顶部CTU边界处的PU/CU/块/子块的OBMC中不使用来自上方行的相邻MV。
(e)在一个示例中,在对于左侧CTU边界处的PU/CU/块/子块的OBMC中不使用来自左侧列的相邻MV。
(f)在一个示例中,仅启用对于单向预测的PU/CU/块/子块的OBMC。
(g)在一个示例中,对于其MVD分辨率大于或等于整数像素的PU/CU/块禁用OBMC。
示例4。提议OBMC是否被启用可以取决于当前PU/CU/块/子块及其相邻PU/CU/块/子块的运动信息。
(a)在一个示例中,如果相邻PU/CU/块/子块具有与当前PU/CU/块/子块相当不同(quite different)的运动信息,则其运动信息不在OBMC中使用。
(i)在一个示例中,相邻PU/CU/块/子块具有与当前PU/CU/块/子块不同的预测方向或参考图像。
(ii)在一个示例中,相邻PU/CU/块/子块具有与当前PU/CU/块/子块的相同的预测方向和参考图像,然而,在预测方向X(X=0或1)上的相邻PU/CU/块/子块和当前PU/CU/块/子块之间的绝对水平/垂直MV差异大于给定阈值MV_TH。
(b)替代地,如果相邻PU/CU/块/子块具有与当前PU/CU/块/子块类似(similar)的运动信息,则其运动信息不在OBMC中使用。
(i)在一个示例中,相邻PU/CU/块/子块具有与当前PU/CU/块/子块相同的预测方向和参考图像,并且在所有预测方向上的相邻PU/CU/块/子块和当前PU/CU/块/子块之间的绝对水平/垂直MV差异小于给定阈值MV_TH。
实施例5。提议在ATMVP/STMVP、仿射模式或PU/CU内的每个子块(尺寸为N×M)具有单独的运动信息的其他模式中,可以以与子块尺寸不同的块尺寸执行OBMC。
(a)在一个示例中,子块尺寸为4×4,并且OBMC仅在8×8块边界处执行。
示例6。提议在OBMC中处理多少行/列可以取决于PU/CU/块/子块尺寸。
(a)在一个示例中,如果PU/CU/块/子块的宽度大于N,则处理PU/CU/块/子块的4个左侧列;否则,仅处理PU/CU/块/子块的2(或1)个左侧列。
(b)在一个示例中,如果PU/CU/块/子块的高度大于N,则处理PU/CU/块/子块的4个上方行;否则,仅处理PU/CU/块/子块的2(或1)个上方行。
示例7。提议独立地启用/禁用用于亮度和色度分量的OBMC,并且示例2和3中描述的规则可以单独地应用于每个分量。
示例8。提议在使用相邻运动信息生成预测块时使用短抽头插值滤波器(如双线性、4抽头或6抽头滤波器)。
(a)在一个示例中,不对称6抽头滤波器用于亮度分量。对于子像素位置,左侧/上侧的4个像素和右侧/下侧的2个像素用于插值。
示例9。所提议的方法可以应用于某些模式、块尺寸/形状和/或某些子块尺寸。
(a)所提议的方法可以应用于某些模式,诸如传统的平移运动(即,禁用仿射模式)。
(b)所提议的方法可以应用于某些块尺寸。
(i)在一个示例中,它仅应用于具有w×h≥T的块,其中w和h是当前块的宽度和高度。
(ii)在另一个示例中,它仅应用于w≥T&&h≥T的块。
实施例10。所提议的方法可以应用于所有色度分量。替代地,它们可以仅应用于某些色度分量。例如,它们可以仅应用于亮度分量。
以上描述的示例可以并入在下面描述的方法的上下文中,例如,方法2600和2700,其可以在视频解码器处实现。
图26示出了用于视频解码的示例性方法的流程图。方法2600包括,在步骤2610,接收视频数据的当前块的比特流表示。
方法2600包括,在步骤2620,基于第一运动矢量与第一参考运动矢量和第二参考运动矢量的加权和来分别生成更新的第一参考运动矢量和更新的第二参考运动矢量。在一些实施例中,基于来自第一参考块的第一参考运动矢量和来自第二参考块的第二参考运动矢量来导出第一运动矢量,并且当前块与第一参考块和第二参考块相关联。
方法2600包括,在步骤2630,基于更新的第一参考运动矢量和更新的第二参考运动矢量来处理比特流表示从而生成当前块。
在一些实施例中,并且如在示例1的上下文中所描述的,基于使用第一参考运动矢量和第二参考运动矢量的双向光流(BIO)细化来导出第一运动矢量。在示例中,加权和包括基于当前块、第一参考块和第二参考块的图像顺序计数(POC)的权重。
在一些实施例中,该处理可以基于双向光流(BIO)细化、解码器侧运动矢量细化(DMVR)、帧速率上转换(FRUC)技术或模板匹配技术。在一个示例中,对不在当前块的边界上的内部子块生成更新的第一参考运动矢量和更新的第二参考运动矢量。在另一示例中,对当前块的子块的子集生成更新的第一参考运动矢量和更新的第二参考运动矢量。
在一些实施例中,处理不包括运动预测或重叠块运动补偿(OBMC)。
图27示出了用于视频解码的另一个示例性方法的流程图。方法2700包括,在步骤2710,确定当前块和对应的相邻块。
方法2700包括,在步骤2720,基于当前块的特性选择性地实施重叠块的运动补偿(OBMC),以构造当前块的最终预测块,作为从当前块的运动矢量导出的预测块和从一个或多个相邻块的运动矢量导出的预测块的加权和。
方法2700包括,在步骤2730,基于当前块的最终预测块,执行当前块与包括当前块的视频数据的比特流表示之间的转换。
在一些实施例中,特性包括图像中当前块的维度(dimension)或当前块的位置。在其他实施例中,特性包括当前块的运动信息。在一个示例中,如果当前块的运动信息与相邻块的运动信息不同,则可以不使用OBMC。在另一示例中,如果当前块的运动信息与相邻块的运动信息相同,则可以使用OBMC。
在一些实施例中,并且如在示例7的上下文中所描述的,OBMC可以独立地应用于亮度和色度分量。在一个示例中,OBMC被应用于当前块的色度分量,并且其中OBMC不被应用于当前块的亮度分量。在另一个示例中,OBMC被应用于当前块的亮度分量,并且其中OBMC不被应用于当前块的色度分量。
在一些实施例中,并且如在示例6的上下文中所描述的,处理比特流表示包括使用OBMC处理当前块的预定数目的行或列,并且其中预定数目基于当前块的子块的尺寸。
7.所公开的技术的示例实现方式
图28是视频处理装置2800的框图。装置2800可以用于实现本文描述的一种或多种方法。装置2800可以实施在智能手机、平板计算机、计算机、物联网(IoT)接收器等中。装置2800可以包括一个或多个处理器2802、一个或多个存储器2804和视频处理硬件2806。(一个或多个)处理器2802可以被配置为实现本文件中描述的一种或多种方法(包括但不限于方法2600和2700)。(一个或多个)存储器2804可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件2806可以用于在硬件电路中实现本文件中描述的一些技术。
在一些实施例中,视频编码方法可以使用在如关于图28所描述的硬件平台上实现的装置来实现。
可以在以下示例列表中描述本文件中公开的各种实施例和技术。
1.一种处理视频数据的方法,包括:
确定当前块和对应的相邻块;并且
基于当前块的特性选择性地实施重叠块的运动补偿(OBMC),以构造当前块的最终预测块,作为从当前块的运动矢量导出的预测块和从一个或多个相邻块的运动矢量导出的预测块的加权和;以及
基于当前块的最终预测块,执行当前块与包括当前块的视频数据的比特流表示之间的转换。
2.如示例1的方法,其中特性包括以下中的一个或多个:编码模式、运动信息、当前块的维度、或者当前块在图像中的位置。
3.如示例1或2的方法,其中以高级运动矢量预测(AMVP)模式或仿射AMVP模式对当前块进行预测,并且如果满足以下条件中的至少一个,则OBMC不应用于当前块:
(i)w×h<=S,
(ii)w<=T1&&h<=T2,
其中w和h是当前块的宽度和高度,并且S、T1、T2是给定阈值。
4.如示例1或2的方法,其中以Merge模式或仿射Merge模式对当前块进行预测,OBMC应用于当前块。
5.如示例1或2的方法,其中OBMC包括垂直OBMC和水平OBMC,并且垂直OBMC和水平OBMC分开地被选择性地应用于当前块。
6.如示例5的方法,其中在当前块的高度小于T1的情况下,垂直OBMC不应用于当前块,其中T1是给定阈值。
7.如示例5的方法,其中在当前块的宽度小于T2的情况下,水平OBMC不应用于当前块,其中T2是给定阈值。
8.如示例1或2的方法,其中当前块位于顶部编码树单元(CTU)边界,OBMC应用于当前块,并且来自上方行的相邻MV不用于OBMC。
9.如示例1或2的方法,其中当前块位于左侧CTU边界,OBMC应用于当前块,并且来自左侧列的相邻MV不用于OBMC。
10.如示例1或2的方法,其中当前块具有大于或等于整数像素的运动矢量差异(MVD)分辨率,并且OBMC不应用于当前块。
11.如示例1或2的方法,其中基于所述当前块的特性选择性地实施重叠块的运动补偿(OBMC),以构造所述当前块的最终预测块,包括:
确定当前块是否是单向预测块,以及
如果当前块是单向预测块,则执行OBMC,否则,不执行OBMC。
12.如示例1或2的方法,其中OBMC应用于当前块的色度分量,并且其中OBMC不应用于当前块的亮度分量。
13.如示例1或2的方法,其中OBMC应用于当前块的亮度分量,并且其中OBMC不应用于当前块的色度分量。
14.如示例1或2的方法,其中相邻块具有与当前块不同的预测方向或不同的参考图像,并且相邻块的运动信息不在当前块的OBMC中使用。
15.如示例1或2的方法,其中相邻块的预测方向和参考图像与当前块的预测方向和参考图像相同,在所述预测方向上所述相邻块和所述当前块之间的水平方向或垂直方向绝对运动矢量(MV)差异大于给定阈值MV_TH,并且相邻块的运动信息不在当前块的OBMC中使用。
16.如示例1或2的方法,其中相邻块的所有预测方向和参考图像与当前块的预测方向和参考图像相同,在所有预测方向上相邻块和当前块之间的水平方向或垂直方向的绝对运动矢量(MV)差异小于给定阈值MV_TL,并且相邻块的运动信息不在当前块的OBMC中使用。
17.如示例1或2的方法,其中实施当前块的预定数目的行或列的OBMC,并且其中预定数目基于当前块的子块的尺寸N*M。
18.如示例17的方法,其中如果当前块的宽度大于N,则处理当前块的四个左侧列;否则,仅处理当前块的两个或一个左侧列。
19.如示例17的方法,其中如果当前块的高度大于N,则处理当前块的四个上方行;否则,仅处理当前块的两个或一个上方行。
20.如示例1或2的方法,其中以替代时间运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)或仿射模式对当前块进行预测,其中当前块内的第一子块尺寸的每个子块具有单独的运动信息,OBMC以与第一子块尺寸不同的第二子块尺寸执行。
21.如示例20的方法,其中第一子块尺寸是4×4,并且OBMC仅在8×8块的块边界处执行。
22.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时使处理器实现示例1至21中任一项的方法。
23.一种存储在非暂时性计算机可读介质上的计算机程序产品,计算机程序产品包括用于实施如示例1至21中任一项的方法的程序代码。
从前述内容可以理解,本文已经出于说明的目的描述了本公开技术的具体实施例,但是在不脱离本发明的范围的情况下可以进行各种修改。因此,除了所附权利要求之外,本发明所公开的技术不受限制。
本专利文件描述的主题和功能操作的实现方式可以以各种系统实现,以数字电子电路实现,或者以计算机软件、固件或硬件实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。本说明书所描述的主题的实现方式可以实现为一个或多个计算机程序产品,即,在有形和非暂时性计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合、或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文件中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并由通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从该一个或多个大容量存储设备接收数据,或将数据传递到该一个或多个大容量存储设备,或者既接收又传递数据。然而,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说,包括半导体存储器设备,例如EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
旨在将说明书与附图一起仅视为示例性的,其中示例性意味着示例。如本文所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。另外,除非上下文另有明确说明,否则“或”的使用旨在包括“和/或”。
虽然本专利文件包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文件中,在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从所要求保护的组合中去除来自该组合的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这样的操作,或者执行所有示出的操作,以实现期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都要求这样的分离。
仅描述了几个实现方式和示例,并且可以基于本专利文件中描述和示出的内容来做出其他实现方式、增强和变型。

Claims (23)

1.一种处理视频数据的方法,包括:
确定当前块和对应的相邻块;并且
基于所述当前块的特性选择性地实施重叠块的运动补偿(OBMC),以构造所述当前块的最终预测块,作为从所述当前块的运动矢量导出的预测块和从一个或多个相邻块的运动矢量导出的预测块的加权和;以及
基于所述当前块的最终预测块,执行所述当前块与包括所述当前块的视频数据的比特流表示之间的转换。
2.如权利要求1所述的方法,其中所述特性包括以下中的一个或多个:编码模式、运动信息、所述当前块的维度、或者所述当前块在图像中的位置。
3.如权利要求1或2所述的方法,其中以高级运动矢量预测(AMVP)模式或仿射AMVP模式对所述当前块进行预测,并且如果满足以下条件中的至少一个,则所述OBMC不应用于所述当前块:
(i)w×h<=S,
(ii)w<=T1&&h<=T2,
其中w和h是所述当前块的宽度和高度,并且S、T1、T2是给定阈值。
4.如权利要求1或2所述的方法,其中以Merge模式或仿射Merge模式对所述当前块进行预测,所述OBMC应用于所述当前块。
5.如权利要求1或2所述的方法,其中所述OBMC包括垂直OBMC和水平OBMC,并且所述垂直OBMC和所述水平OBMC分开地被选择性地应用于所述当前块。
6.如权利要求5所述的方法,其中在所述当前块的高度小于T1的情况下,所述垂直OBMC不应用于所述当前块,其中T1是给定阈值。
7.如权利要求5所述的方法,其中在所述当前块的宽度小于T2的情况下,所述水平OBMC不应用于所述当前块,其中T2是给定阈值。
8.如权利要求1或2所述的方法,其中所述当前块位于顶部编码树单元(CTU)边界,所述OBMC应用于所述当前块,并且来自上方行的相邻MV不用于OBMC。
9.如权利要求1或2所述的方法,其中所述当前块位于左侧CTU边界,所述OBMC应用于所述当前块,并且来自左侧列的相邻MV不用于OBMC。
10.如权利要求1或2所述的方法,其中所述当前块具有大于或等于整数像素的运动矢量差异(MVD)分辨率,并且所述OBMC不应用于所述当前块。
11.如权利要求1或2所述的方法,其中基于所述当前块的特性选择性地实施重叠块的运动补偿(OBMC),以构造所述当前块的最终预测块,包括:
确定所述当前块是否是单向预测块,以及
如果所述当前块是单向预测块,则执行所述OBMC,否则,不执行OBMC。
12.如权利要求1或2所述的方法,其中所述OBMC应用于所述当前块的色度分量,并且其中所述OBMC不应用于所述当前块的亮度分量。
13.如权利要求1或2所述的方法,其中所述OBMC应用于所述当前块的亮度分量,并且其中所述OBMC不应用于所述当前块的色度分量。
14.如权利要求1或2所述的方法,其中所述相邻块具有与所述当前块不同的预测方向或不同的参考图像,并且所述相邻块的运动信息不在所述当前块的OBMC中使用。
15.如权利要求1或2所述的方法,其中所述相邻块的预测方向和参考图像与所述当前块的预测方向和参考图像相同,在所述预测方向上所述相邻块和所述当前块之间的水平方向或垂直方向的绝对运动矢量(MV)差异大于给定阈值MV_TH,并且所述相邻块的运动信息不在所述当前块的OBMC中使用。
16.如权利要求1或2所述的方法,其中所述相邻块的所有预测方向和参考图像与所述当前块的预测方向和参考图像相同,在所有预测方向上所述相邻块和所述当前块之间的水平方向或垂直方向的绝对运动矢量(MV)差异小于给定阈值MV_TL,并且所述相邻块的运动信息不在所述当前块的OBMC中使用。
17.如权利要求1或2所述的方法,其中实施所述当前块的预定数目的行或列的OBMC,并且其中所述预定数目基于所述当前块的子块的尺寸N*M。
18.如权利要求17所述的方法,其中如果所述当前块的宽度大于N,则处理所述当前块的四个左侧列;否则,仅处理所述当前块的两个或一个左侧列。
19.如权利要求17所述的方法,其中如果所述当前块的高度大于N,则处理所述当前块的四个上方行;否则,仅处理所述当前块的两个或一个上方行。
20.如权利要求1或2所述的方法,其中以可选时间运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)或仿射模式对所述当前块进行预测,其中所述当前块内的第一子块尺寸的每个子块具有单独的运动信息,所述OBMC以与所述第一子块尺寸不同的第二块尺寸执行。
21.如权利要求20所述的方法,其中所述第一子块尺寸是4×4,并且所述OBMC仅在8×8块的块边界处执行。
22.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器实施权利要求1至21中任一项所述的方法。
23.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实施如权利要求1至21中任一项所述的方法的程序代码。
CN201910662916.6A 2018-07-20 2019-07-22 一种处理视频数据的方法、装置和可读介质 Active CN110740327B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/096384 2018-07-20
CN2018096384 2018-07-20

Publications (2)

Publication Number Publication Date
CN110740327A true CN110740327A (zh) 2020-01-31
CN110740327B CN110740327B (zh) 2022-05-31

Family

ID=68051836

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201910662916.6A Active CN110740327B (zh) 2018-07-20 2019-07-22 一种处理视频数据的方法、装置和可读介质
CN201910663403.7A Active CN110740321B (zh) 2018-07-20 2019-07-22 基于更新的运动矢量的运动预测
CN201910663422.XA Active CN110740332B (zh) 2018-07-20 2019-07-22 基于更新的运动矢量的运动预测

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201910663403.7A Active CN110740321B (zh) 2018-07-20 2019-07-22 基于更新的运动矢量的运动预测
CN201910663422.XA Active CN110740332B (zh) 2018-07-20 2019-07-22 基于更新的运动矢量的运动预测

Country Status (3)

Country Link
CN (3) CN110740327B (zh)
TW (3) TWI734147B (zh)
WO (3) WO2020016858A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220264146A1 (en) * 2019-07-01 2022-08-18 Interdigital Vc Holdings France, Sas Bi-prediction refinement in affine with optical flow
CN111654708B (zh) * 2020-06-07 2022-08-23 咪咕文化科技有限公司 一种运动矢量获取方法、装置及电子设备
CN111901590B (zh) * 2020-06-29 2023-04-18 北京大学 一种用于帧间预测的细化运动矢量存储方法及装置
CN112004097B (zh) * 2020-07-30 2021-09-14 浙江大华技术股份有限公司 帧间预测方法、图像处理装置以及计算机可读存储介质
AU2021409970A1 (en) * 2020-12-22 2023-05-25 Qualcomm Incorporated Overlapped block motion compensation
US20220201282A1 (en) * 2020-12-22 2022-06-23 Qualcomm Incorporated Overlapped block motion compensation
EP4309366A1 (en) * 2021-03-18 2024-01-24 Vid Scale, Inc. Temporal structure-based conditional convolutional neural networks for video compression
US20240155148A1 (en) * 2021-03-18 2024-05-09 Vid Scale, Inc. Motion flow coding for deep learning based yuv video compression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103999465A (zh) * 2011-11-18 2014-08-20 高通股份有限公司 自适应性重叠块运动补偿
CN107211157A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于视频译码的重叠运动补偿
WO2018056602A1 (ko) * 2016-09-22 2018-03-29 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465922B (zh) * 2011-11-08 2020-10-09 株式会社Kt 利用解码装置对视频信号进行解码的方法
WO2016165069A1 (en) * 2015-04-14 2016-10-20 Mediatek Singapore Pte. Ltd. Advanced temporal motion vector prediction in video coding
CN105578195B (zh) * 2015-12-24 2019-03-12 福州瑞芯微电子股份有限公司 一种h.264帧间预测系统
KR20180129860A (ko) * 2016-04-25 2018-12-05 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103999465A (zh) * 2011-11-18 2014-08-20 高通股份有限公司 自适应性重叠块运动补偿
CN107211157A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于视频译码的重叠运动补偿
WO2018056602A1 (ko) * 2016-09-22 2018-03-29 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. ROBERT等: "CE10.2.3 Generalized OBMC from J0022(JVET-K0213-v2)", 《JOINT VIDEO EXPERTS TEAM (JVET)11TH MEETING: LJUBLJANA, SI, 10–18 JULY 2018》 *

Also Published As

Publication number Publication date
WO2020016858A1 (en) 2020-01-23
TW202008786A (zh) 2020-02-16
WO2020016857A1 (en) 2020-01-23
WO2020016859A2 (en) 2020-01-23
CN110740321A (zh) 2020-01-31
TW202008787A (zh) 2020-02-16
TWI734147B (zh) 2021-07-21
CN110740321B (zh) 2022-03-25
CN110740327B (zh) 2022-05-31
CN110740332A (zh) 2020-01-31
CN110740332B (zh) 2022-09-13
WO2020016859A3 (en) 2020-03-05
TW202023283A (zh) 2020-06-16
TWI723472B (zh) 2021-04-01
TWI709332B (zh) 2020-11-01

Similar Documents

Publication Publication Date Title
CN110809156B (zh) 不同解码器侧运动矢量推导模式之间的交互
CN110620923B (zh) 广义的运动矢量差分辨率
CN111010569B (zh) Bio中的时间梯度计算的改善
CN110740321B (zh) 基于更新的运动矢量的运动预测
CN112956197A (zh) 基于编解码信息的解码器侧运动矢量推导的限制
CN111010570B (zh) 基于仿射运动信息的尺寸限制
CN110881124B (zh) 两步帧间预测
CN110809164B (zh) Bio中的mv精度
CN110876064B (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