CN110677650B - 降低非相邻Merge设计的复杂度 - Google Patents

降低非相邻Merge设计的复杂度 Download PDF

Info

Publication number
CN110677650B
CN110677650B CN201910586397.XA CN201910586397A CN110677650B CN 110677650 B CN110677650 B CN 110677650B CN 201910586397 A CN201910586397 A CN 201910586397A CN 110677650 B CN110677650 B CN 110677650B
Authority
CN
China
Prior art keywords
merge candidate
block
nax
nay
merge
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.)
Active
Application number
CN201910586397.XA
Other languages
English (en)
Other versions
CN110677650A (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 CN110677650A publication Critical patent/CN110677650A/zh
Application granted granted Critical
Publication of CN110677650B publication Critical patent/CN110677650B/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/124Quantisation
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

描述了用于降低非相邻Merge设计的复杂度的装置、系统和方法。在代表性方面,一种视频处理方法包括接收视频数据的当前块,基于规则选择与当前块不相邻的第一非相邻块,构建包括第一Merge候选的Merge候选列表,第一Merge候选包括基于第一非相邻块的运动信息,以及基于Merge候选列表处理当前块。

Description

降低非相邻Merge设计的复杂度
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2018年7月1日提交的国际专利申请号PCT/CN2018/093944、以及2018年9月11日提交的国际专利申请号PCT/CN2018/104982的优先权和利益。国际专利申请号PCT/CN2018/093944和国际专利申请号PCT/CN2018/104982的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本申请文件总体直接涉及图像和视频编码与解码技术。
背景技术
数字视频在因特网和其他数字通信网络上占了最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
描述了用于降低非相邻Merge设计的复杂度的装置、系统和方法。例如,当前公开的技术公开了用于选择非相邻Merge候选以将行缓冲器的尺寸保持在阈值之下的规则。所描述的方法可以应用于现有的视频编码标准(例如,高效视频编码(HEVC))和未来的视频编码标准或视频编解码器。
在一个代表性方面,所公开的技术可以用于提供用于视频处理的方法。该方法包括接收视频数据的当前块,基于规则选择与当前块不相邻的第一非相邻块,构建包括第一Merge候选的Merge候选列表,第一Merge候选包括基于第一非相邻块的运动信息,以及基于Merge候选列表处理当前块。
在又一代表性方面,上述方法以处理器可执行代码的形式体现并存储在计算机可读程序介质中。
在又一代表性方面,公开了一种配置或可操作以执行上述方法的设备。该设备可以包括被编程为实现该方法的处理器。
在又一代表性方面,视频解码器装置可实现如本文中所描述的方法。
在附图、说明书和权利要求中更详细地描述了所公开技术的上述和其他方面和特征。
附图说明
图1示出了典型高效视频编码(HEVC)视频编码器和解码器的示例框图。
图2示出了H.264/AVC中的宏块(MB)划分的示例。
图3示出了将编码块(CB)划分为预测块(PB)的示例。
图4A和4B分别示出了将编码树块(CTB)细分为CB和转换块(TB)以及各个相应的四叉树的示例。
图5A和5B示出了用于最大编码单元(LCU)的细分和对应的QTBT(四叉树加二叉树)的示例。
图6A-6E示出了划分编码块的示例。
图7示出了基于QTBT的CB的示例细分。
图8A-8I示出了支持多树类型(MTT)的CB的划分的示例,其是QTBT的概括。
图9示出了构建Merge候选列表的示例。
图10示出了空间候选的位置的示例。
图11示出了经受空间Merge候选的冗余检查的候选对的示例。
图12A和12B示出了基于当前块的尺寸和形状的第二预测单元(PU)的位置的示例。
图13示出了用于时间Merge候选的运动矢量缩放的示例。
图14示出了时间Merge候选的候选位置的示例。
图15示出了生成组合的双向预测Merge候选的示例。
图16示出了构建运动矢量预测候选的示例。
图17示出了用于空间运动矢量候选的运动矢量缩放的示例。
图18示出了使用可选时间运动矢量预测(ATMVP)算法用于编码单元(CU)的运动预测的示例。
图19示出了源块和源图片的识别的示例。
图20示出了具有由空时运动矢量预测(STMVP)算法使用的子块和相邻块的编码单元(CU)的示例。
图21示出了模式匹配运动矢量推导(PMMVD)模式中的双边匹配的示例,其是基于帧速率上转换(FRUC)算法的特殊Merge模式。
图22示出了FRUC算法中的模板匹配的示例。
图23示出了FRUC算法中的单边运动估计的示例。
图24示出了基于双边模板匹配的解码器侧运动矢量细化(DMVR)算法的示例。
图25示出了用于推导空间Merge候选的空间相邻块的示例。
图26示出了用于添加非相邻Merge候选的示例性伪代码。
图27示出了非相邻块的受限区域的示例。
图28示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图29是用于实现本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
具体实施方式
由于对更高分辨率视频的日益增长的需求,视频编码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断被改进以提供更高的编码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的简易性、随机访问和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编码(HEVC)标准(也称为H.265或MPEG-H部分2)、即将完成的通用视频编码标准、或其他当前和/或未来视频编码标准。
所公开的技术的实施例可以应用于现有视频编码标准(例如,HEVC、H.265)和未来标准以改进压缩性能。在本文档中使用章节标题以提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实现方式)限制于仅相应的章节。
1.视频编码的示例实施例
图1示出了典型HEVC视频编码器和解码器的示例框图。产生符合HEVC的比特流的编码算法通常如下进行。每个图片被划分为块状区域,其中精确的块分割被传递到解码器。视频序列的第一图片(以及到视频序列中的每个干净随机访问点(clean random accesspoint)处的第一图片)仅使用(在同一图片内使用区域到区域的空间上数据的一些预测,但不依赖于其他图片)帧内预测而编码。对于序列的所有其余图片或随机访问点之间的图片,帧间时间预测编码模式通常用于大多数块。用于帧间预测的编码过程包括选择包含选定的参考图片和运动矢量(MV)的运动数据,该参考图片和运动矢量(MV)将被应用于预测每个块的样本。编码器和解码器通过应用使用MV和模式判定数据的运动补偿(MC)来生成相同的帧间预测信令,其作为辅助被发送。
通过线性空间变换来变换帧内预测或帧间预测的残差信号,其是初始块与其预测之间的差异。变换系数然后被缩放、量化、熵编码,并与预测信息一起被发送。
编码器复制解码器处理环路(参见图1中的灰色阴影框),使得两者都将为后续数据生成相同的预测。因此,量化的变换系数通过逆缩放而构造并且然后被逆变换以复制残差信号的解码的近似。然后将残差添加到预测中,然后可以将该添加的结果馈送到一个或两个环路滤波器中以平滑由逐块处理和量化引起的伪像。最终图片表示(即解码器的输出的副本)存储在解码图片缓冲器中以用于后续图片的预测。通常,图片的编码或解码处理的顺序通常不同于它们从源到达的顺序;需要区分解码器的解码顺序(即比特流顺序)和输出顺序(即显示顺序)。
通常期望通过HEVC编码的视频材料作为逐行扫描图像而输入(由于源视频源自该格式或者由编码之前的去交错产生)。HEVC设计中不存在明确的编码特征以支持隔行扫描的使用,因为隔行扫描不再用于显示器并且对于分发而言变得基本上不常见。然而,在HEVC中已经提供了元数据语法,以允许编码器指示已经通过将隔行的视频的每个场(即每个视频帧的偶数或奇数行)编码为单独的图片传送了隔行扫描视频,或已经通过将每个隔行的帧编码为HEVC编码图片传送了隔行扫描视频。这提供了一种对隔行的视频进行编码的有效方法,其无需使解码器需要支持针对其的特殊解码过程。
1.1 H.264/AVC中的划分树结构的示例
先前标准中的编码层的核心是宏块,其包含16×16的亮度(luma)样本块、以及在4:2:0颜色采样的通常情况下的两个对应的8×8的色度(chroma)样本块。
帧内编码块使用空间预测来利用像素之间的空间相关性。两种划分被定义为:16x16和4x4。
帧间编码块通过估计图片之间的运动来使用时间预测而不是空间预测。可以对于16x16宏块或其如下任何子宏块划分独立地估计运动:16x8、8x16、8x8、8x4、4x8、4x4(如图2所示)。每子宏块划分仅允许一个运动矢量(MV)。
1.2 HEVC中的划分树结构的示例
在HEVC中,通过使用表示为编码树的四叉树结构将编码树单元(CTU)划分成编码单元(CU),以适应各种局部特性。使用图片间(时间)预测还是图片内(空间)预测来对图片区域编码的决策是在CU级进行的。根据预测单元(PU)划分类型,每个CU可以进一步划分成一个、两个或四个PU。在一个PU内部,应用相同的预测过程,并且在PU的基础上将相关信息发送到解码器。在通过基于PU划分类型应用预测过程而获得了残差块之后,可以根据类似于CU的编码树的另一个四叉树结构将CU划分为变换单元(TU)。HEVC结构的关键特征之一是它具有多个划分概念,包括CU、PU和TU。
使用HEVC的混合视频编码中涉及的一些特征包括:
(1)编码树单元(CTU)和编码树块(CTB)结构:HEVC中的类似结构是编码树单元(CTU),其具有由编码器选择的尺寸并且可以大于传统宏块。CTU由亮度CTB和相应的色度CTB以及语法元素组成。亮度CTB的尺寸L×L可以被选择为L=16、32或64个样本,较大的尺寸通常能够实现更好的压缩。然后,HEVC支持使用树结构和类似四叉树的信令来将CTB划分为更小的块。
(2)编码单元(CU)和编码块(CB):CTU的四叉树语法指定其亮度CB和色度CB的尺寸和位置。四叉树的根与CTU相关联。因此,亮度CTB的尺寸是亮度CB的最大支持尺寸。将CTU划分成亮度CB和色度CB是信令联合的。一个亮度CB和通常两个色度CB以及相关联的语法一起形成编码单元(CU)。CTB可以仅包含一个CU或者可以被划分以形成多个CU,并且每个CU具有相关联的、向预测单元(PU)以及变换单元(TU)的树的划分。
(3)预测单元和预测块(PB):使用帧间图片预测还是帧内图片预测来对图片区域编码的决策是在CU级进行的。PU划分结构的根在CU级。取决于基本预测类型决策,然后可以在尺寸上进一步划分亮度CB和色度CB,并根据亮度和色度预测块(PB)对其进行预测。HEVC支持从64×64到4×4样本的可变PB尺寸。图3示出了对于M×M CU所允许的PB的示例。
(4)TU和变换块:使用块变换对预测残差进行编码。TU树结构的根在CU级。亮度CB残差可以与亮度变换块(TB)相同,或者可以被进一步划分成更小的亮度TB。这同样适用于色度TB。对于正方形TB尺寸4×4、8×8、16×16和32×32,定义类似于离散余弦变换(DCT)的整数基函数。对于亮度帧内图片预测残差的4×4变换,可以替代地指定从离散正弦变换(DST)的形式导出的整数变换。
1.2.1树结构划分为TB和TU的示例
对于残差编码,可以将CB递归地划分为变换块(TB)。由残差四叉树信令通知划分。仅指定正方形CB和TB划分,其中块可以被递归地划分到象限(quadrant),如图4A和4B所示。对于尺寸为M×M的给定亮度CB,标志(flag)表明是否将该CB划分成四个尺寸为M/2×M/2的块。如果如序列参数集(SPS)中指示的残差四叉树的最大深度所信令通知的,每个象限能够进一步划分,则为每个象限分配标志,该标志指示是否将其划分成四个象限。由残差四叉树产生的叶节点块是变换块,通过变换编码对其进一步处理。编码器指示它将使用的最大和最小亮度TB尺寸。当CB尺寸大于最大TB尺寸时,划分是隐含的。当划分将导致亮度TB尺寸小于所指示的最小值时,不划分是隐含的。除了当亮度TB尺寸为4×4时,色度TB尺寸在每个维度上是亮度TB尺寸的一半,在亮度TB尺寸为4×4的情况下,单个4×4色度TB被用于由四个4×4亮度TB覆盖的区域。在帧内预测的CU的情况下,最近邻的TB(在CB内或在CB外)的解码后样本被用作用于帧内预测的参考数据。
与先前的标准相反,HEVC设计允许TB跨越多个PB以用于帧间预测的CU,以使四叉树结构的TB划分的潜在编码效率益处最大化。
1.2.2父节点和子节点
根据四叉树结构对CTB进行划分,其节点为编码单元。四叉树结构中的多个节点包括叶节点和非叶节点。叶节点在树结构中没有子节点(即,叶节点不会进一步划分)。非叶节点包括树结构的根节点。根节点对应于视频数据的初始视频块(例如,CTB)。对于多个节点的每个各自的非根节点,各自的非根节点对应于视频块,该视频块是对应于各自非根节点的树结构中的父节点的视频块的子块。多个非叶节点的每个各自的非叶节点在树结构中具有一个或多个子节点。
1.3 JEM中具有较大CTU的四叉树加二叉树块结构的示例
在一些实施例中,使用称为联合探索模型(JEM)的参考软件来探索未来的视频编码技术。除二叉树结构外,JEM还描述了四叉树加二叉树(QTBT)和三叉树(TT)结构。
1.3.1 QTBT块划分结构的示例
与HEVC不同,QTBT结构去除了多种划分类型的概念,即,它去除了CU、PU和TU概念的分离,并且支持CU划分形状的更大灵活性。在QTBT块结构中,CU可以具有正方形或矩形形状。如图5A中所示,编码树单元(CTU)首先被四叉树结构划分。四叉树叶节点被二叉树结构进一步划分。在二叉树划分中有两种划分类型:对称水平划分和对称垂直划分。二叉树叶节点被称为编码单元(CU),并且该划分被用于预测和变换处理而无需任何进一步的划分。这意味着CU、PU和TU在QTBT编码块结构中具有相同的块尺寸。在JEM中,CU有时由不同颜色分量的编码块(CB)组成,例如,在4:2:0色度格式的P和B条带(slice)的情况下,一个CU包含一个亮度CB和两个色度CB;并且CU有时由单个分量的CB组成,例如,在I条带的情况下,一个CU仅包含一个亮度CB或仅包含两个色度CB。
为QTBT划分方案定义以下参数。
--CTU尺寸:四叉树的根节点尺寸,与HEVC中的概念相同
--MinQTSize:最小允许的四叉树叶节点尺寸
--MaxBTSize:最大允许的二叉树根节点尺寸
--MaxBTDepth:最大允许的二叉树深度
--MinBTSize:最小允许的二叉树叶节点尺寸
在QTBT划分结构的一个示例中,CTU尺寸被设置为具有两个对应的64×64色度样本块的128×128亮度样本,MinQTSize被设置为16×16,MaxBTSize被设置为64×64,MinBTSize(宽度和高度)被设置为4×4,并且MaxBTDepth被设置为4。首先将四叉树划分应用于CTU以生成四叉树叶节点。四叉树叶节点可以具有从16×16(即,MinQTSize)到128×128(即,CTU尺寸)的尺寸。如果叶四叉树节点是128×128,则由于该尺寸超过MaxBTSize(即,64×64),所以它不会被二叉树进一步划分。否则,叶四叉树节点可以被二叉树进一步划分。因此,四叉树叶节点也是二叉树的根节点,并且二叉树深度为0。当二叉树深度达到MaxBTDepth(即,4)时,不考虑进一步的划分。当二叉树节点的宽度等于MinBTSize(即,4)时,不考虑进一步的水平划分。类似地,当二叉树节点的高度等于MinBTSize时,不考虑进一步的垂直划分。通过预测和变换处理进一步处理二叉树的叶节点,而无需任何进一步的划分。在JEM中,最大CTU尺寸为256×256亮度样本。
图5A示出了通过使用QTBT进行块划分的示例,图5B示出了对应的树表示。实线表示四叉树划分,虚线表示二叉树划分。在二叉树的每个划分(即,非叶)节点中,信令通知一个标志以指示使用哪种划分类型(即,水平或垂直),其中0表示水平划分并且1表示垂直划分。对于四叉树划分,不需要指示划分类型,因为四叉树划分总是水平地且垂直地划分块以产生具有相等尺寸的4个子块。
另外,QTBT方案支持使亮度和色度具有单独的QTBT结构的能力。目前,对于P和B条带,一个CTU中的亮度CTB和色度CTB共享相同的QTBT结构。然而,对于I条带,通过QTBT结构将亮度CTB划分为CU,并且通过另一QTBT结构将色度CTB划分为色度CU。这意味着I条带中的CU由亮度分量的编码块或两个色度分量的编码块组成,并且P条带或B条带中的CU由所有三个颜色分量的编码块组成。
在HEVC中,小块的帧间预测受限于减少运动补偿的存储器访问,使得对于4×8和8×4块不支持双向预测,并且对于4×4块不支持帧间预测。在JEM的QTBT中,这些限制被去除。
1.4多功能视频编码(VVC)的三叉树(TT)
图6A示出了四叉树(QT)划分的示例,并且图6B和6C分别示出了垂直和水平二叉树(BT)划分的示例。在一些实施例中,除了四叉树和二叉树之外,还支持三叉树(TT)划分,例如水平和垂直中心侧三叉树(如图6D和6E所示)。
在一些实现中,支持两个层次的树:区域树(四叉树)和预测树(二叉树或三叉树)。首先用区域树(RT)对CTU进行划分。可以进一步用预测树(PT)划分RT叶。也可以用PT进一步划分PT叶,直到达到最大PT深度。PT叶是基本的编码单元。为了方便起见,它仍然被称为CU。CU不能进一步划分。预测和变换都以与JEM相同的方式应用于CU。整个划分结构被称为“多类型树”。
1.5可选视频编码技术中的划分结构的示例
在一些实施例中,支持被称为多树型(MTT)的树结构,其是QTBT的广义化。在QTBT中,如图7所示,首先用四叉树结构对编码树单元(CTU)进行划分。然后用二叉树结构对四叉树叶节点进行进一步划分。
MTT的结构由两种类型的树节点组成:区域树(RT)和预测树(PT),支持九种类型的划分,如图8A-8I所示。区域树可以递归地将CTU划分为方形块,直至4x4尺寸的区域树叶节点。在区域树的每个节点上,可以从三种树类型中的一种形成预测树:二叉树、三叉树和非对称二叉树。在PT划分中,禁止在预测树的分支中进行四叉树划分。和JEM一样,亮度树和色度树在I条带中被分开。
2.HEVC/H.265中的帧间预测的示例
多年来,视频编码标准已经显著改进,并且现在部分地提供高编码效率和对更高分辨率的支持。诸如HEVC和H.265的最近的标准基于混合视频编码结构,其中利用时间预测加变换编码。
2.1预测模式的示例
每个帧间预测PU(预测单元)具有一个或两个参考图片列表的运动参数。在一些实施例中,运动参数包括运动矢量和参考图片索引。在其他实施例中,还可以使用inter_pred_idc来信令通知两个参考图片列表中的一个的使用。在又一其他实施例中,可以将运动矢量明确地编码为相对于预测器的增量。
当用跳过(skip)模式对编码单元进行编码时,一个PU与CU相关联,并且不存在显著的残差系数、没有编码的运动矢量增量或参考图片索引。指定Merge模式,从而从相邻PU获得当前PU的运动参数,包括空间和时间候选。Merge模式可以应用于任何帧间预测的PU,而不仅应用于跳过模式。Merge模式的替代是运动参数的显式传输,其中,对于每个PU,明确地用信令通知运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表使用。
当信令指示将使用两个参考图片列表中的一个时,从一个样本块产生PU。这被称为“单向预测(uni-prediction)”。单向预测可用于P条带和B条带两者。
当信令指示将使用两个参考图片列表时,从两个样本块产生PU。这被称为“双向预测(bi-prediction)”。双向预测仅适用于B条带。
2.1.1构建Merge模式的候选的实施例
当使用Merge模式预测PU时,从比特流解析指向Merge候选列表中的条目的索引并将其用于检索运动信息。该列表的构建可以根据以下步骤顺序进行概述:
步骤1:初始候选推导
步骤1.1:空间候选推导
步骤1.2:空间候选的冗余检查
步骤1.3:时间候选推导
步骤2:插入额外的候选
步骤2.1:双向预测候选的创建
步骤2.2:零运动候选的插入
图9示出了基于上面概述的步骤序列构建Merge候选列表的示例。对于空间Merge候选推导,在位于五个不同位置的候选中最多选择四个Merge候选。对于时间Merge候选推导,在两个候选中最多选择一个Merge候选。由于在解码器处假设恒定数量的候选用于每个PU,因此当候选的数量未达到在条带报头中用信令通知的最大Merge候选数量(MaxNumMergeCand)时,生成额外的候选。由于候选的数量是恒定的,因此使用截断的一元二值化(Truncated Unary binarization,TU)来编码最佳Merge候选的索引。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,其与2N×2N预测单元的Merge候选列表相同。
2.1.2构建空间Merge候选
在空间Merge候选的推导中,在位于图10描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带或区块)或者是帧内编码时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,使得编码效率提高。
为了降低计算复杂度,在所提到的冗余检查中并未考虑所有可能的候选对。相反,仅考虑图11中用箭头连接的对,并且仅在用于冗余检查的对应候选具有不一样的运动信息时,才将候选添加到列表。重复运动信息的另一来源是与不同于2N×2N的分区相关联的“第二PU”。作为示例,图12A和图12B分别描绘了针对N×2N和2N×N的情况的第二PU。当当前PU被分区为N×2N时,位置A1处的候选不被考虑用于列表建构。在一些实施例中,通过添加该候选可能导致具有相同运动信息的两个预测单元,这对于在编码单元中仅具有一个PU是多余的。类似地,当当前PU被分区为2N×N时,不考虑位置B1
2.1.3构建时间Merge候选
在此步骤中,只有一个候选添加到列表中。特别地,在这个时间Merge候选的推导中,基于与给定参考图片列表中当前图片具有最小POC差异的共位的PU推导了缩放运动矢量。用于推导共位的PU的参考图片列表在条带报头中显式地发信令。
图13示出了针对时间Merge候选(如虚线)的缩放运动矢量的推导的示例,时间,其使用POC距离tb和td从共位的PU的运动矢量进行缩放,其中tb定义为当前图片的参考图片和当前图片之间的POC差异,并且td定义为共位的图片的参考图片与共位的图片之间的POC差异。时间Merge候选的参考图片索引设置为零。对于B条带,得到两个运动矢量(一个是对于参考图片列表0,另一个是对于参考图片列表1)并将其组合使其成为双向预测Merge候选。
在属于参考帧的共位的PU(Y)中,在候选C0和C1之间选择时间候选的位置,如图14所示。如果位置C0处的PU不可用、内部编码或在当前CTU之外,则使用位置C1。否则,位置C0被用于时间Merge候选的推导。
在该步骤中,只有一个候选被添加到列表中。具体地,在该时间Merge候选的推导中,基于共位的PU来推导缩放的运动矢量,该共位的PU属于给定参考图片列表内与当前图片具有最小POC差的图片。在条带报头中明确地用信令通知要用于推导共位的PU的参考图片列表。
图13示出了针对时间Merge候选推导缩放运动矢量的示例(如虚线所示),其是使用POC距离tb和td从共位的PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为是共位的图片的参考图片与共位的图片之间的POC差。时间Merge候选的参考图片索引被设置为等于零。对于B条带,获得两个运动矢量,一个用于参考图片列表0,另一个用于参考图片列表1,并且结合该两个运动矢量以获得双向预测Merge候选。
在属于参考帧的共位的PU(Y)中,在候选C0和C1之间选择时间候选的位置,如图14所示。如果位置C0处的PU不可用、是帧内编码的、或者在当前CTU之外,则使用位置C1。否则,位置C0用于时间Merge候选的推导。
2.1.4构建Merge候选的额外类型
除了空时Merge候选之外,还存在两种额外类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空时Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一候选的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,它们将形成一个新的双向预测候选。
图15示出了该处理的示例,其中初始列表(710,左侧)中具有mvL0和refIdxL0或mvL1和refIdxL1的两个候选被用于创建添加到最终列表(720,右侧)的组合的双向预测Merge候选。
插入零运动候选以填充Merge候选列表中的剩余条目,从而达到MaxNumMergeCand容量。这些候选具有零空间位移和参考图片索引,该参考图片索引从零开始并且每当新的零运动候选被添加到列表时增加。这些候选使用的参考帧的数量是1和2,分别用于单向和双向预测。在一些实施例中,不对这些候选执行冗余检查。
2.1.5并行处理的运动估计区域的示例
为了加速编码处理,可以并行执行运动估计,从而同时推导给定区域内的所有预测单元的运动矢量。从空间邻域推导Merge候选可能干扰并行处理,因为一个预测单元直到其相关联的运动估计完成时才能从相邻PU推导运动参数。为了减轻编码效率和处理等待时间之间的折衷,可以定义运动估计区域(MER)。MER的尺寸可以在图片参数集(PPS)中使用“log2_parallel_merge_level_minus2”语法元素信令通知。当定义了MER时,落入同一区域的Merge候选被标记为不可用,因此在列表建构中不予考虑。
表1中示出了图片参数集(PPS)初始字节序列有效载荷(RBSP)语法,其中log2_parallel_merge_level_minus2加2指定变量Log2ParMrgLevel的值,该变量用于如现有视频编码标准中规定的Merge模式亮度运动矢量的推导过程以及空间Merge候选的推导过程。log2_parallel_merge_level_minus2的值应在0到CtbLog2SizeY-2的范围内,包括0和CtbLog2SizeY-2。
变量Log2ParMrgLevel推导如下:
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2
注意Log2ParMrgLevel的值表示Merge候选列表的并行推导的内置能力。例如,当Log2ParMrgLevel等于6时,可以并行推导64×64块中包含的所有预测单元(PU)和编码单元(CU)的Merge候选列表。
表1:通用图片参数集RBSP语法
Figure GDA0003258792540000131
Figure GDA0003258792540000141
2.2运动矢量预测的实施例
运动矢量预测利用运动矢量与相邻的PU的空时相关性,其用于运动参数的显式传输。通过首先检查左上方的时间相邻的PU位置的可用性、移除冗余的候选位置并且加上零矢量以使候选列表长度恒定来构建运动矢量候选列表。然后,编码器可以从候选列表中选择最佳的预测器,并发送指示所选候选的对应索引。与Merge索引信令类似,最佳运动矢量候选的索引使用截断的一元进行编码。
2.2.1构建运动矢量预测候选的示例
图16概括了运动矢量预测候选的推导过程,并且可以针对每个参考图片列表以refidx作为输入实现。
在运动矢量预测中,考虑了两种类型的运动矢量候选:空间运动矢量候选和时间运动矢量候选。对于空间运动矢量候选的推导,基于位于图10先前所示的五个不同位置的每个PU的运动矢量最终推导两个运动矢量候选。
对于时间运动矢量候选的推导,从两个候选中选择一个运动矢量候选,这两个候选是基于两个不同的共位位置推导的。在作出第一个空时候选列表后,移除列表中重复的运动矢量候选。如果潜在候选的数量大于二,则从列表中移除在相关联的参考图片列表中参考图片索引大于1的运动矢量候选。如果空时运动矢量候选数小于二,则会在列表中添加额外的零运动矢量候选。
2.2.2构建空间运动矢量候选
在推导空间运动矢量候选时,在五个潜在候选中最多考虑两个候选,这五个候选来自图10先前所示位置上的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候选的并行推导。否则,不允许对上述运动矢量进行空间缩放。
如在图17中的示例所示,对于空间缩放情况,相邻PU的运动矢量以与时间缩放相似的方式缩放。一个区别在于,给出了当前PU的参考图片列表和索引作为输入,实际缩放处理与时间缩放处理相同。
2.2.3构建时间运动矢量候选
除了参考图片索引的推导外,时间Merge候选的所有推导过程与空间运动矢量候选的推导过程相同(如图14中的示例所示)。在一些实施例中,将参考图片索引用信令通知给解码器。
2.2.4 AMVP信息的信令
对于AMVP模式,在比特流中可以信令通知四个部分,例如预测方向、参考索引、MVD和MV预测候选索引,其在表2和表3中所示的语法的上下文中描述。
表2:运动矢量差语法
Figure GDA0003258792540000161
表3:运动矢量差语义
Figure GDA0003258792540000171
3联合探索模型(JEM)中帧间预测方法的示例
在一些实施例中,使用称为联合探索模型(JEM)的参考软件来探索未来视频编码技术。在JEM中,在若干编码工具中采用基于子块的预测,诸如仿射预测、可选时间运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、双向光流(BIO)、帧速率上转换(FRUC)、局部自适应运动矢量分辨率(LAMVR)、重叠块运动补偿(OBMC)、局部照明补偿(LIC)和解码器侧运动矢量细化(DMVR)。
3.1基于子CU的运动矢量预测的示例
在具有四叉树加二叉树(QTBT)的JEM中,每个CU可以针对每个预测方向具有至多一组运动参数。在一些实施例中,通过将大CU划分成子CU并且推导大CU的所有子CU的运动信息,在编码器中考虑两个子CU级运动矢量预测方法。可选时间运动矢量预测(ATMVP)方法允许每个CU从比共位的参考图片中的当前CU小的多个块中提取多组运动信息。在空时运动矢量预测(STMVP)方法中,通过使用时间运动矢量预测器和空间相邻运动矢量来递归地推导子CU的运动矢量。在一些实施例中,为了保留用于子CU运动预测的更准确的运动场,可以禁用参考帧的运动压缩。
3.1.1可选时间运动矢量预测(ATMVP)的示例时间
在ATMVP方法中,时间运动矢量预测(TMVP)方法通过从小于当前CU的块中提取多组运动信息(包括运动矢量和参考索引)来修改。
图18示出了CU 1800的ATMVP运动预测处理的示例。ATMVP方法分两步预测CU 1800内的子CU 1801的运动矢量。第一步是用时间矢量识别参考图片1850中的对应块1851。参考图片1850还被称为运动源图片。第二步是将当前CU 1800划分成子CU1801,并从与每个子CU对应的块中获取运动矢量以及每个子CU的参考索引。
在第一步中,由当前CU 1800的空间相邻块的运动信息确定参考图片1850和对应块。为了避免相邻块的重复扫描过程,使用当前CU 1800的Merge候选列表中的第一Merge候选。第一可用运动矢量及其相关联的参考索引被设置为时间矢量和运动源图片的索引。这样,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为共位块)总是相对于当前CU位于右下或中心位置。
在一个示例中,如果第一Merge候选来自左相邻块(即,图19中的A1),则使用相关的MV和参考图片来识别源块和源图片。
在第二步中,通过向当前CU的坐标添加时间矢量,通过运动源图片1850中的时间矢量来识别子CU 1851的对应块。对于每个子CU,其对应块(例如,覆盖中心样本的最小运动网格)的运动信息用于推导子CU的运动信息。在识别出对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的参考索引和运动矢量,其中运动缩放和其他过程也适用。例如,解码器检查是否满足低延迟条件(例如,当前图片的所有参考图片的POC小于当前图片的POC)并且可能使用运动矢量MVx(例如,对应于参考图片列表X的运动矢量)来预测每个子CU的运动矢量MVy(例如,其中X等于0或1并且Y等于1-X)。
3.1.2空时运动矢量预测(STMVP)的示例
在STMVP方法中,子CU的运动矢量是按照光栅扫描顺序递归推导的。图20示出了一个具有四个子块及相邻块的CU的示例。考虑一个8×8的CU 2000,它包含四个4×4的子CU A(2001)、B(2002)、C(2003)和D(2004)。当前帧中相邻的4×4的块标记为a(2011)、b(2012)、c(2013)和d(2014)。
子CU A的运动推导由识别其两个空间邻居开始。第一个邻居是子CU A 1101上方的N×N块(块c 2013)。如果该块c 2013不可用或者是帧内编码的,则检查子CU A(2001)上方的其它N×N块(从左到右,从块c 2013处开始)。第二个邻居是子CU A 2001左侧的块(块b2012)。如果块b(2012)不可用或者是帧内编码的,则检查子CU A 2001左侧的其它块(从上到下,从块b2012处开始)。每个列表从相邻块获得的运动信息被缩放到给定列表的第一个参考帧。接下来,按照与HEVC中规定的TMVP相同的程序,推导子块A2001的时间运动矢量预测(TMVP)。提取块D 2004处的共位块的运动信息并进行相应的缩放。最后,在检索和缩放运动信息后,对每个参考列表分别平均所有可用的运动矢量。将平均的运动矢量指定为当前子CU的运动矢量。
3.1.3子CU运动预测模式信令的示例
在一些实施例中,子CU模式作为额外的Merge候选模式启用,并且不需要额外的语法元素来信令通知该模式。将另外两个Merge候选添加到每个CU的Merge候选列表中,以表示ATMVP模式和STMVP模式。在其他实施例中,如果序列参数集指示启用了ATMVP和STMVP,则最多可以使用七个Merge候选。额外Merge候选的编码逻辑与HM中的Merge候选的编码逻辑相同,这意味着对于P条带或B条带中的每个CU,可能需要对两个额外Merge候选进行两次额外的RD检查。在一些实施例中,例如JEM,Merge索引的所有二进制位(bin)都由CABAC(基于上下文的自适应二进制算数编码)进行上下文编码。在其他实施例中,例如HEVC,只有第一个二进制位是上下文编码的,并且其余的二进制位是上下文旁路编码的。
3.2自适应运动矢量差分辨率的示例
在一些实施例中,当条带报头中的use_integer_mv_flag等于0时,以四分之一亮度样本为单位信令通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(MVD)。在JEM中,引入了局部自适应运动矢量分辨率(LAMVR)。在JEM中,MVD可以以四分之一亮度样本、整数亮度样本或4亮度样本为单位进行编码。在编码单元(CU)级控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标志以指示在CU中是否使用四分之一亮度样本MV精度。当第一标志(等于1)指示不使用四分之一亮度样本MV精度时,信令通知另一标志以指示是使用整数亮度样本MV精度还是4亮度样本MV精度。
当CU的第一MVD分辨率标志为零或未针对CU编码(意味着CU中的所有MVD均为零)时,对于CU使用四分之一亮度样本MV分辨率。当CU使用整数亮度样本MV精度或4亮度样本MV精度时,CU的AMVP候选列表中的MVP被取整到对应的精度。
在编码器中,CU级RD检查用于确定将哪个MVD分辨率用于CU。即,对于每个MVD分辨率,执行三次CU级RD检查。为了加快编码器速度,在JEM中应用以下编码方案。
--在具有正常四分之一亮度样本MVD分辨率的CU的RD检查期间,存储当前CU的运动信息(整数亮度样本准确度)。存储的运动信息(在取整之后)被用作在RD检查期间针对具有整数亮度样本和4亮度样本MVD分辨率的相同CU的进一步小范围运动矢量细化的起点,使得耗时的运动估计过程不重复三次。
--有条件地调用具有4亮度样本MVD分辨率的CU的RD检查。对于CU,当RD成本整数亮度样本MVD分辨率远大于四分之一亮度样本MVD分辨率时,跳过针对CU的4亮度样本MVD分辨率的RD检查。
3.3模式匹配运动矢量推导(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×H CU运动信息推导执行以下推导过程。在第一阶段,推导整个W×HCU的MV。在第二阶段,该CU进一步被划分成M×M个子CU。M的值的计算方法如等式(3)所示,D是预定义的划分深度,在JEM中默认设置为3。然后推导每个子CU的MV。
Figure GDA0003258792540000211
图21示出了在帧速率上转换(FRUC)方法中使用的双边匹配的示例。通过沿当前CU的运动轨迹在两个不同的参考图片(2110、2111)中找到两个块之间最接近的匹配,使用双边匹配来推导当前CU(2100)的运动信息。在连续运动轨迹假设下,指向两个参考块的运动矢量MV0(2101)和MV1(2102)与当前图片和两个参考图片之间的时间距离(例如,TD0(2103)和TD1(2104)成正比。在一些实施例中,当当前图片2100暂时位于两个参考图片(2110、2111)之间并且当前图片到两个参考图片的时间距离相同时,双边匹配成为基于镜像的双向MV。
图22示出了在帧速率上转换(FRUC)方法中使用的模板匹配的示例。通过在当前图片中的模板(例如,当前CU的顶部和/或左侧相邻块)和参考图片2210中的块(例如,与模板尺寸相同)之间找到最接近的匹配,使用模板匹配来推导当前CU 2200的运动信息。除了上述的FRUC Merge模式外,模板匹配也可以应用于AMVP模式。在JEM和HEVC两者中,AMVP有两个候选。利用模板匹配方法,可以推导新的候选。如果由模板匹配新推导的候选与第一个现有AMVP候选不同,则将其插入AMVP候选列表的最开始处,并且然后将列表尺寸设置为2(例如,通过移除第二个现有AMVP候选)。当应用于AMVP模式时,仅应用CU级搜索。
CU级的MV候选集可以包括以下:(1)初始AMVP候选,如果当前CU处于AMVP模式,(2)所有Merge候选,(3)插值MV场(稍后描述)中的几个MV,以及顶部和左侧相邻运动矢量。
当使用双边匹配时,Merge候选的每个有效MV可以用作输入,以生成假设双边匹配的情况下的MV对。例如,在参考列表A中,Merge候选的一个有效MV是(MVa,refa)。然后,在其他参考列表B中找到其配对的双边MV的参考图片refb,使得refa和refb在时间上位于当前图片的不同侧。如果这样的refb在参考列表B中不可用,则refb被确定为与refa不同的参考,并且其到当前图片的时间距离是列表B中的最小值。在确定refb之后,通过基于当前图片refa和refb之间的时间距离缩放MVa来推导MVb。
在一些实现中,还将来自插值MV场中的四个MV添加到CU级候选列表中。更具体地,添加当前CU的位置(0,0),(W/2,0),(0,H/2)和(W/2,H/2)处插值的MV。当在AMVP模式下应用FRUC时,初始的AMVP候选也添加到CU级的MV候选集。在一些实现中,在CU级,可以将AMVP CU的15个MV和Merge CU的13个MV添加到候选列表中。
子CU级设置的MV候选包括:(1)从CU级搜索确定的MV,(2)顶部、左侧、左上方和右上方相邻的MV,(3)来自参考图片的共位的MV的缩放版本,(4)一个或多个ATMVP候选(例如,最多4个),以及(5)一个或多个STMVP候选(例如,最多4个)。来自参考图片的缩放MV推导如下。两个列表中的参考图片被遍历。参考图片中子CU的共位位置处的MV被缩放为起始CU级MV的参考。ATMVP和STMVP候选可以为前四个。在子CU级,一个或多个MV(最多17个)被添加到候选列表中。
插值MV场的生成。在对帧进行编码之前,基于单向ME生成整个图片的内插运动场。然后,该运动场可以随后用作CU级或子CU级的MV候选。
在一些实施例中,两个参考列表中每个参考图片的运动场在4×4的块级别上被遍历。图23示出了FRUC方法中的单边运动估计(ME)2300的示例。对于每个4×4块,如果与块相关联的运动通过当前图片中的4×4块并且块未被分配任何插值运动,则参考块的运动根据时间距离TD0和TD1(以与HEVC中的TMVP的MV缩放的方式相同的方式)被缩放到当前图片,并且将缩放的运动分配给当前帧中的块。如果没有缩放的MV被分配给4×4块,则在插值运动场中将块的运动标记为不可用。
插值和匹配成本。当运动矢量指向分数样本位置时,需要运动补偿插值。为了降低复杂度,替代常规8抽头HEVC插值,可以将双线性插值用于双边匹配和模板匹配。
匹配成本的计算在不同步骤处有点不同。当从CU级的候选集中选择候选时,匹配成本可以是双边匹配或模板匹配的绝对和差(SAD)。在确定起始MV之后,子CU级搜索的双边匹配的匹配成本C计算如下:
Figure GDA0003258792540000231
这里,w是权重系数。在一些实施例中,w被经验地设置为4。MV和MVs分别指示当前MV和起始MV。仍然可以将SAD用作子CU级搜索的模式匹配的匹配成本。
在FRUC模式中,仅通过使用亮度样本来推导MV。推导的运动将用于MC帧间预测的亮度和色度两者。在确定MV之后,使用用于亮度的8抽头插值滤波器和用于色度的4抽头插值滤波器来执行最终MC。
MV细化是基于模式的MV搜索,以双边匹配成本或模板匹配成本为标准。在JEM中,支持两种搜索模式—无限制中心偏置菱形搜索(UCBDS)和自适应交叉搜索,分别在CU级和子CU级进行MV细化。对于CU和子CU级MV细化两者,以四分之一亮度样本MV精度直接搜索MV,并且接着是八分之一亮度样本MV细化。将用于CU和子CU步骤的MV细化的搜索范围设置为等于8个亮度样本。
在双边匹配Merge模式中,应用双向预测,因为CU的运动信息是基于在两个不同的参考图片中沿当前CU的运动轨迹的两个块之间的最近匹配推导的。在模板匹配Merge模式中,编码器可以从列表0中的单向预测、列表1中的单向预测或双向预测当中为CU选择。选择可以基于如下的模板匹配成本:
如果costBi<=factor*min(cost0,cost1)
则使用双向预测;
否则,如果cost0<=cost1
则使用列表0中的单向预测;
否则,
使用列表1中的单向预测;
这里,cost0是列表0模板匹配的SAD,cost1是列表1模板匹配的SAD,并且costBi是双向预测模板匹配的SAD。例如,当factor的值等于1.25,意味着选择处理偏向于双向预测。帧间预测方向选择可以应用于CU级模板匹配处理。
3.4解码器侧运动矢量细化(DMVR)的示例
在双向预测操作中,对于一个块区域的预测,将分别使用list0的运动矢量(MV)和list1的MV形成的两个预测块进行组合以形成单个预测信号。在解码器侧运动矢量细化(DMVR)方法中,通过双边模板匹配处理进一步细化双向预测的两个运动矢量。双边模板匹配应用在解码器中,以在双边模板和参考图片中的重建样本之间执行基于失真的搜索,以便获得细化的MV而无需传输附加的运动信息。
在DMVR中,分别从列表0的初始MV0和列表1的MV1,将双边模板生成为两个预测块的加权组合(即平均),如图24所示。模板匹配操作包括计算所生成的模板与参考图片中的(在初始预测块周围的)样本区域之间的成本度量。对于两个参考图片中的每个,将产生最小模板成本的MV考虑为该列表的更新MV以替换初始MV。在JEM中,对每个列表搜索九个MV候选。该九个MV候选包括初始MV和8个与初始MV在水平或垂直方向上或两个方向上具有一个亮度样本偏移的环绕的MV。最后,将两个新的MV,即如图24中所示的MV0’和MV1’,用于生成最终的双向预测结果。将绝对差之和(SAD)用作成本度量。
将DMVR应用于双向预测的Merge模式,其中一个MV来自过去的参考图片,另一MV来自未来的参考图片,而无需传输额外的语法元素。在JEM中,当对CU启用LIC、仿射运动、FRUC或子CU Merge候选时,不应用DMVR。
3.5具有双边匹配细化的合并/跳过模式的示例
首先如下构建Merge候选列表:利用冗余检查将空间相邻和时间相邻块的运动矢量和参考索引插入候选列表,直到可用候选的数量达到最大候选尺寸19。如HEVC(组合候选和零候选)中使用的,根据预定的插入顺序,通过插入空间候选、时间候选、仿射候选、高级时间MVP(ATMVP)候选、空时MVP(STMVP)候选和额外的候选来构建Merge/跳过模式的Merge候选列表,并且在图25中所示的编号的块的上下文中:
(1)块1-4的空间候选
(2)块1-4的外插仿射候选
(3)ATMVP
(4)STMVP
(5)虚拟仿射候选
(6)空间候选(块5)(仅在可用候选数小于6时使用)
(7)外插仿射候选(块5)
(8)时间候选(如在HEVC中推导的)
(9)非相邻空间候选,随后是外插仿射候选(块6至49)
(10)组合候选
(11)零候选
可以注意到,除了STMVP和仿射之外,IC标志也从Merge候选继承。此外,对于前四个空间候选,在单预测的候选之前插入双预测候选。
3.5.1非相邻Merge候选
如果可用Merge候选的总数尚未达到最大允许Merge候选,则可以将非相邻Merge候选添加到Merge候选列表。在现有实现中,可以将非相邻Merge候选插入到Merge候选列表中TMVP Merge候选之后。添加非相邻Merge候选的处理可以通过图26所示的伪代码来执行。
4现有实现的示例
在现有实现中,使用从非相邻块获得运动信息的非相邻Merge候选可能导致次优的性能。
在一个示例中,根据位于CTU行上方的非相邻块的运动信息的预测可能显著增加行缓冲器尺寸。
在另一示例中,根据非相邻块的运动信息的预测可以以将所有运动信息(通常在4×4级上)存储到高速缓存中为成本(其显著增加了硬件实现的复杂性)带来额外的编码增益。
5用于构建非相邻Merge候选的方法的示例
当前公开的技术的实施例克服了现有实现方式的缺点,从而提供具有较低存储器和复杂度要求以及较高编码效率的视频编码。基于所公开的技术选择非相邻Merge候选可以增强现有和未来的视频编码标准,其在以下针对各种实现方式所描述的示例中阐明。以下提供的所公开技术的示例解释了一般概念,并不意味着被解释为限制。在示例中,除非明确地相反指示,否则可以组合这些示例中描述的各种特征。
所公开的技术的实施例减少了非相邻Merge候选以及用于进一步改进非相邻Merge候选的编码性能的方法所需的高速缓存/行缓冲器尺寸。
对于下面讨论的示例,假设当前块的左上样本坐标为(Cx,Cy),并且一个非相邻块中的左上样本的坐标为(NAx,NAy),原点(0,0)是图片/条带/片/LCU行/LCU的左上角的点。坐标差(即,从当前块的偏移)由(offsetX,offsetY)表示,其中offsetX=Cx-NAx并且offsetY=Cy-NAy。
示例1有利地至少提供了存储器和缓冲器的减少。
示例1.在一个示例中,在构建Merge候选时,仅访问位于特定位置的非相邻块。
(a)在一个示例中,x和y应该满足NAx%M=0且NAy%N=0,其中M和N是两个非零整数,诸如M=N=8或16。
(b)在一个示例中,如果一个非相邻块中的左上样本不满足给定条件,则跳过与该块相关联的运动信息的检查。因此,相关联的运动信息不能添加到Merge候选列表。
(c)可替代地,如果一个非相邻块中的左上样本不满足给定条件,则可以移位、截断或取整该块的位置以确保满足条件。例如,(NAx,NAy)可以被修改为((NAx/M)*M,(NAy/N)*N),其中“/”是整数除法。
(d)可以预定义/用信令通知覆盖所有非相邻块的受限区域尺寸。在这种情况下,当由给定偏移(OffsetX,OffsetY)计算的非相邻块在该区域之外时,它被标记为不可用或被视为帧内编码模式。可以将相应的运动信息添加到候选列表中作为候选。图27中描绘了一个示例。
(i)在一个示例中,区域尺寸被定义为一个或多个CTB。
(ii)在一个示例中,区域尺寸定义为W*H(例如,W=64且H=64)。
可替代地,此外,具有坐标(NAx,NAy)的所有非相邻块应当满足以下条件中的至少一个:
NAx>=((Cx/W)*W)
NAx<=((Cx/W)*W)+W.
NAy>=((Cy/H)*H)
NAy<=((Cy/H)*H)+H.
其中,上述函数中的“>=”和/或“<=”可以用“>”和/或“<”代替,函数“/”表示整数除法运算,其中除法结果的小数部分被丢弃。
(iii)可替代地,覆盖当前块的LCU行上方的所有块被标记为不可用或被视为帧内码模式。可以将相应的运动信息添加到候选列表中作为候选。
(iv)可替代地,假设覆盖当前块的LCU的左上样本坐标为(LX,LY)。(LX-NAx)、和/或abs(LX-NAx)、和/或(LY-NAy)、和/或abs(LY-NAy)应该在阈值内。
(v)可以预定义一个或多个阈值。它们可以进一步取决于CU高度的最小尺寸/宽度的最小尺寸/LCU尺寸等。例如,(LY-NAy)应当小于CU高度的最小尺寸,或(LY-NAy)应当小于CU高度的最小尺寸的两倍。
(vi)可以在序列参数集(SPS)、图片参数集(PPS)、视频参数集(VPS)、条带报头、片报头等中用信令通知区域尺寸或阈值。
(vii)在一个示例中,用于并行编码的当前条带/片/其他种类的单元之外的所有非相邻块被标记为不可用,并且对应的运动信息不应当添加到候选列表作为候选。
示例2有利地至少提供了降低的计算复杂度。
示例2.当插入新的非相邻Merge候选时,可以对部分可用Merge候选应用修剪(pruning)。
(a)在一个示例中,新的非相邻Merge候选不与其他插入的非相邻Merge候选进行修剪。
(b)在一个示例中,新的非相邻Merge候选不与诸如TMVP或ATMVP的时间Merge候选进行修剪。
(c)在一个示例中,新的非相邻Merge候选与来自某些特定相邻块的一些Merge候选进行修剪,但不与来自某些其它特定相邻块的一些其他Merge候选进行修剪。
以上描述的示例可以并入下面描述的方法(例如,方法2800)的上下文中,该方法可以在视频解码器和/或视频编码器处实现。
图28示出了用于视频编码的示例性方法的流程图,其可在视频编码器中实施。方法2800包括,在步骤2810,接收视频数据的当前块。
方法2800包括,在步骤2820,基于规则选择与当前块不相邻的第一非相邻块。
在一些实施例中,并且如在示例1的上下文中所描述的,第一非相邻块是从多个非相邻块中选择的,并且其中受限区域包括多个非相邻块中的每一个。在示例中,受限区域对应于当前块旁边的一个或多个编码树块(CTB)。
在一些实施例中,图片片段的左上样本坐标是(0,0),其中第一非相邻块的左上样本坐标是(NAx,NAy)。在第一示例中,规则指定(NAx%M=0)且(NAy%N=0),其中%表示取模函数,并且M和N是整数。在第二示例中,规则指定(NAx,NAy)可以被修改为((NAx/M)×M)和((NAx/N)×N),其中/表示整数除法。在第三示例中,覆盖当前块的最大编码单元(LCU)的左上样本是(Lx,Ly),并且(Lx-NAx)、abs(Lx-NAx)、(Ly-NAy)和abs(Ly-NAy)中的至少一个小于预定阈值,其中abs()表示绝对值函数。
方法2800包括,在步骤2830,构建包括第一Merge候选的Merge候选列表,第一Merge候选包括基于第一非相邻块的运动信息。
在一些实施例中,方法2800还包括将第一Merge候选插入到Merge候选列表中,并且如在示例3的上下文中所描述的,其可以与特定类型的Merge候选进行修剪或不进行修剪。在第一示例中,第一Merge候选不与从Merge候选列表中的其他非相邻块构建的其他Merge候选进行修剪。在第二示例中,第一Merge候选不与Merge候选列表中的时间Merge候选进行修剪。在第三示例中,第一Merge候选与来自第一组相邻块的其他候选进行修剪,并且第一Merge候选不与来自与第一组相邻块不同的第二组相邻块的候选进行修剪。
在一些实施例中,并且如在示例4的上下文中所描述的,第一非相邻块可以限于或可以不限于某些类型的编码。例如,第一非相邻块是高级运动矢量预测(AMVP)编码的非相邻块。例如,未利用空间Merge候选对第一非相邻块进行编码。例如,利用Merge模式和运动细化过程对第一非相邻块进行编码。例如,未利用解码器侧运动矢量细化(DMVR)对第一非相邻块进行编码。
在一些实施例中,方法2800还包括选择第二非相邻块。在示例中,第一非相邻块和第二非相邻块是当前块的空间邻居,第一非相邻块利用第一模式进行编码,第二非相邻块利用第二模式进行编码,并且在选择第二非相邻块之前选择第一非相邻块。
在一些实施例中,非相邻块的运动信息用作高级运动矢量预测(AMVP)模式中的预测器。
方法2800包括,在步骤2840,基于Merge候选列表处理当前块。在一些实现中,通过修剪Merge候选列表并使用修剪之后的Merge候选列表来对当前块进行解码。
6所公开的技术的示例实现
图29是视频处理装置2900的框图。装置2900可用于实施本文所述的一种或多种方法。装置2900可以在智能手机、平板电脑、计算机、物联网(IoT)接收器等中实施。装置2900可包括一个或多个处理器2902、一个或多个存储器2904和视频处理硬件2906。处理器2902可以配置为实现本文中描述的一个或多个方法(包括但不限于方法2800)。一个或多个存储器2904可用于存储用于实现本文所述方法和技术的数据和代码。视频处理硬件2906可用于在硬件电路中实现本文中描述的一些技术。
在一些实施例中,视频解码器装置可实现使用如本文中所描述的零单元的方法,以用于视频解码。该方法的各种特征可以类似于上述方法2800。
在一些实施例中,视频解码方法可以使用在硬件平台上实现的解码装置来实现,如关于图29所描述的。
下面使用基于条款的描述格式来描述上述方法/技术的附加特征和实施例。
1.一种视频处理方法,包括:接收视频数据的当前块;基于规则选择与所述当前块不相邻的第一非相邻块;构建包括第一Merge候选的Merge候选列表,所述第一Merge候选包括基于所述第一非相邻块的运动信息;以及基于所述Merge候选列表处理所述当前块。
2.根据条款1所述的方法,其中,通过修剪所述Merge候选列表并使用所述修剪后的Merge候选列表来处理所述当前块。
3.根据条款1所述的方法,其中图片片段的左上样本坐标是(0,0),其中所述第一非相邻块的左上样本坐标是(NAx,NAy),并且所述规则指定(NAx%M=0)且(NAy%N=0),其中%是取模函数,并且其中M和N是整数。
4.根据条款1所述的方法,还包括确定所述第一非相邻块的左上样本是否满足所述规则,所述第一Merge候选包括与满足所述规则的所述第一非相邻块相关联的运动信息。
5.根据条款3所述的方法,其中,所述规则指定将左上样本坐标(NAx,NAy)修改为((NAx/M)×M)和((NAx/N)×N),其中/是整数除法,其中M和N是整数。
6.根据条款1所述的方法,其中,所述规则指定从多个非相邻块中选择所述第一非相邻块,并且其中受限区域包括所述多个非相邻块中的每一个。
7.根据条款1所述的方法,其中,受限区域的尺寸是预定义的或用信令通知的。
8.根据条款5所述的方法,其中,所述受限区域对应于与所述当前块相邻的一个或多个编码树块(CTB)。
9.根据条款5所述的方法,其中,所述受限区域包括W样本乘H样本的矩形区域,或者其中具有坐标(NAx,NAy)的非相邻块满足以下条件之一:NAx>=((Cx/W)*W),或NAx<=((Cx/W)*W)+W,或NAy>=((Cy/H)*H),或NAy<=((Cy/H)*H)+H。
10.根据条款5所述的方法,其中,所述受限区域包括W样本乘H样本的矩形区域,或者其中具有坐标(NAx,NAy)的非相邻块满足以下条件之一:NAx>((Cx/W)*W),或NAx<((Cx/W)*W)+W,或NAy>((Cy/H)*H),或NAy<((Cy/H)*H)+H。
11.根据条款9或10所述的方法,其中操作“/”指示整数除法运算,其中丢弃结果的小数部分。
12.根据条款6所述的方法,其中覆盖所述当前块的最大编码单元(LCU)的左上样本是(Lx,Ly),并且其中(Lx-NAx)、abs(Lx-NAx)、(Ly-NAy)和abs(Ly-NAy)中的至少一个小于一个或多个阈值。
13.根据条款12所述的方法,其中,所述一个或多个阈值基于编码单元(CU)或LCU的高度的最小尺寸,或者CU或LCU的宽度的最小尺寸。
14.根据条款12所述的方法,其中,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带报头、片报头、编码树单元(CTU)或CU中用信令通知所述受限区域的尺寸或所述一个或多个阈值。
15.根据条款1所述的方法,还包括:将所述第一Merge候选插入Merge候选列表。
16.根据条款12所述的方法,其中,第一Merge候选不与Merge候选列表中从其他非相邻块构建的其他Merge候选进行修剪。
17.根据条款15所述的方法,其中,第一Merge候选不与Merge候选列表中的时间Merge候选进行修剪,并且其中所述时间Merge候选包括时间运动矢量预测(TMVP)或可选时间运动矢量预测(ATMVP)。
18.根据条款15所述的方法,其中,第一Merge候选与来自于第一组相邻块的候选进行修剪,并且其中所述第一Merge候选不与来自与所述第一组相邻块不同的第二组相邻块的候选进行修剪。
19.一种装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器实现条款1至18中任一项所述的方法。
20.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于执行条款1至18中的任一项所述的方法的程序代码。
从前述内容可以理解,本文已经出于说明的目的描述了本公开技术的具体实施例,但是可以在不脱离本发明范围的情况下进行各种修改。因此,本公开的技术除了所附权利要求外不受限制。
本专利文件中描述的主题和功能操作的实现可以在各种系统、数字电子电路、或计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。本说明书中描述的主题的实现可以实现为一个或多个计算机程序产品,即,在有形和非瞬时计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合、或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序并不必需对应于文件系统中的文件。程序可以存储在文件的保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从该一个或多个大容量存储设备接收数据,或将数据传输到该一个或多个大容量存储设备,或者既接收又传递数据。然而,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
旨在将说明书与附图一起仅视为示例性的,其中示例性意味着示例。如这里所使用的,除非上下文另有明确说明,单数形式“一”、“一个”和“该”旨在也包括复数形式。另外,除非上下文另有明确说明,否则“或”的使用旨在包括“和/或”。
虽然本专利文件包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文件中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求权利保护,但是在某些情况下,可以从所要求保护的组合中去除来自该组合的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这样的操作,或者执行所有示出的操作,以实现期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都要求这种分离。
仅描述了几个实现方式和示例,并且可以基于本专利文件中描述和示出的内容来做出其他实现方式、增强和变型。

Claims (16)

1.一种视频数据处理方法,包括:
接收视频数据的当前块;
基于规则选择与所述当前块不相邻的第一非相邻块;
构建包括第一Merge候选的Merge候选列表,所述第一Merge候选包括基于所述第一非相邻块的运动信息;
基于所述Merge候选列表处理所述当前块;以及
将所述第一Merge候选插入Merge候选列表,
其中所述第一Merge候选不与所述Merge候选列表中的时间Merge候选进行修剪,并且其中所述时间Merge候选包括时间运动矢量预测(TMVP)或可选时间运动矢量预测(ATMVP),
其中图片片段的左上样本坐标是(0,0),其中所述第一非相邻块的左上样本坐标是(NAx,NAy),并且所述规则指定(NAx%M = 0)且(NAy%N = 0),其中%是取模函数,并且其中M和N是整数;
其中,所述规则指定将左上样本坐标(NAx,NAy)修改为((NAx / M)×M)和((NAx / N)×N),其中/是整数除法,其中M=N=16。
2.根据权利要求1所述的方法,其中,通过修剪所述Merge候选列表并使用所述修剪后的Merge候选列表来处理所述当前块。
3.根据权利要求1所述的方法,还包括确定所述第一非相邻块的左上样本是否满足所述规则,所述第一Merge候选包括与满足所述规则的所述第一非相邻块相关联的运动信息。
4.根据权利要求1所述的方法,其中,所述规则指定从多个非相邻块中选择所述第一非相邻块,并且其中受限区域包括所述多个非相邻块中的每一个。
5.根据权利要求4所述的方法,其中,所述受限区域的尺寸是预定义的或用信令通知的。
6.根据权利要求4所述的方法,其中,所述受限区域对应于与所述当前块相邻的一个或多个编码树块(CTB)。
7. 根据权利要求4所述的方法,其中,所述当前块的左上样本坐标是(Cx,Cy),其中,所述受限区域包括W样本乘H样本的矩形区域,或者其中具有坐标(NAx,NAy)的非相邻块满足以下条件之一:NAx> =((Cx / W)* W),或NAx <=((Cx / W)* W)+ W,或NAy> =((Cy / H)*H),或NAy <=((Cy / H)* H)+ H。
8. 根据权利要求4所述的方法,其中,所述当前块的左上样本坐标是(Cx,Cy),其中,所述受限区域包括W样本乘H样本的矩形区域,或者其中具有坐标(NAx,NAy)的非相邻块满足以下条件之一:NAx>((Cx / W )* W),或NAx <((Cx / W)* W)+ W,或NAy>((Cy / H)* H),或NAy <((Cy / H)* H)+ H。
9.根据权利要求7或8所述的方法,其中操作“/”指示整数除法运算,其中丢弃结果的小数部分。
10.根据权利要求4所述的方法,其中覆盖所述当前块的最大编码单元(LCU)的左上样本是(Lx,Ly),并且其中(Lx-NAx)、abs(Lx-NAx)、(Ly-NAy)和abs(Ly-NAy)中的至少一个小于一个或多个阈值。
11.根据权利要求10所述的方法,其中,所述一个或多个阈值基于编码单元(CU)或LCU的高度的最小尺寸,或者CU或LCU的宽度的最小尺寸。
12.根据权利要求10所述的方法,其中,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带报头、片报头、编码树单元(CTU)或CU中用信令通知所述受限区域的尺寸或所述一个或多个阈值。
13.一种视频数据处理方法,包括:
接收视频数据的当前块;
基于规则选择与所述当前块不相邻的第一非相邻块;
构建包括第一Merge候选的Merge候选列表,所述第一Merge候选包括基于所述第一非相邻块的运动信息;
基于所述Merge候选列表处理所述当前块;以及
将所述第一Merge候选插入Merge候选列表,
其中所述第一Merge候选不与所述Merge候选列表中的时间Merge候选进行修剪,并且其中所述时间Merge候选包括时间运动矢量预测(TMVP)或可选时间运动矢量预测(ATMVP),其中覆盖所述当前块的最大编码单元(LCU)的左上样本是(Lx,Ly),其中所述第一非相邻块的左上样本坐标是(NAx,NAy),并且其中(Lx-NAx)、abs(Lx-NAx)、(Ly-NAy)和abs(Ly-NAy)中的至少一个小于一个或多个阈值;其中,所述一个或多个阈值基于编码单元(CU)或LCU的高度的最小尺寸,或者CU或LCU的宽度的最小尺寸。
14.根据权利要求13所述的方法,其中,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带报头、片报头、编码树单元(CTU)或CU中用信令通知受限区域的尺寸或所述一个或多个阈值,其中所述规则指定从多个非相邻块中选择所述第一非相邻块,并且其中所述受限区域包括所述多个非相邻块中的每一个。
15.一种装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器实现权利要求1至14中的任一项所述的方法。
16.一种存储指令的非暂时性计算机可读介质,所述指令使得处理器执行权利要求1至14中的任一项所述的方法。
CN201910586397.XA 2018-07-01 2019-07-01 降低非相邻Merge设计的复杂度 Active CN110677650B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2018093944 2018-07-01
CNPCT/CN2018/093944 2018-07-01
CNPCT/CN2018/104982 2018-09-11
CN2018104982 2018-09-11

Publications (2)

Publication Number Publication Date
CN110677650A CN110677650A (zh) 2020-01-10
CN110677650B true CN110677650B (zh) 2023-06-09

Family

ID=67226319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910586397.XA Active CN110677650B (zh) 2018-07-01 2019-07-01 降低非相邻Merge设计的复杂度

Country Status (3)

Country Link
CN (1) CN110677650B (zh)
TW (1) TWI719524B (zh)
WO (1) WO2020008322A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021249363A1 (en) * 2020-06-08 2021-12-16 Beijing Bytedance Network Technology Co., Ltd. Constraints on intra block copy using non-adjacent neighboring blocks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103460695A (zh) * 2011-03-21 2013-12-18 高通股份有限公司 视频译码中基于单预测相邻者的双预测合并模式
CN107071438A (zh) * 2010-10-08 2017-08-18 Ge视频压缩有限责任公司 编码器和编码方法与解码器和解码方法
CN108141589A (zh) * 2015-09-29 2018-06-08 Lg 电子株式会社 图像编译系统中对图像进行滤波的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210894B1 (ko) * 2011-08-29 2012-12-11 주식회사 아이벡스피티홀딩스 머지 모드 움직임 정보 복호화 장치
US10602180B2 (en) * 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071438A (zh) * 2010-10-08 2017-08-18 Ge视频压缩有限责任公司 编码器和编码方法与解码器和解码方法
CN103460695A (zh) * 2011-03-21 2013-12-18 高通股份有限公司 视频译码中基于单预测相邻者的双预测合并模式
CN108141589A (zh) * 2015-09-29 2018-06-08 Lg 电子株式会社 图像编译系统中对图像进行滤波的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Description of CE4: Inter prediction and motion vector coding;Haitao Yang;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US》;20180528;第1-52页 *
Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor – low and high complexity versions;Y. Chen等;《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US》;20180414;第1-48页 *

Also Published As

Publication number Publication date
TW202007146A (zh) 2020-02-01
TWI719524B (zh) 2021-02-21
CN110677650A (zh) 2020-01-10
WO2020008322A1 (en) 2020-01-09

Similar Documents

Publication Publication Date Title
CN110662059B (zh) 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
CN110944196B (zh) 简化的基于历史的运动矢量预测
CN110662052B (zh) 更新查找表(lut)的条件
CN110662053B (zh) 使用查找表的视频处理方法、装置和存储介质
CN110677661B (zh) 用于视频处理的方法、装置和存储介质
CN111064961B (zh) 视频处理方法和装置
CN113383554A (zh) LUT和共享Merge列表之间的交互
CN110662063A (zh) 每条带/片/lcu行的查找表的重置
JP2020523853A (ja) 動きベクトル予測
CN110677668B (zh) 空间运动压缩
CN110677650B (zh) 降低非相邻Merge设计的复杂度
CN113170112A (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