CN110662030B - 一种视频处理方法和装置 - Google Patents

一种视频处理方法和装置 Download PDF

Info

Publication number
CN110662030B
CN110662030B CN201910586445.5A CN201910586445A CN110662030B CN 110662030 B CN110662030 B CN 110662030B CN 201910586445 A CN201910586445 A CN 201910586445A CN 110662030 B CN110662030 B CN 110662030B
Authority
CN
China
Prior art keywords
motion
tables
candidates
candidate
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
CN201910586445.5A
Other languages
English (en)
Other versions
CN110662030A (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 CN110662030A publication Critical patent/CN110662030A/zh
Application granted granted Critical
Publication of CN110662030B publication Critical patent/CN110662030B/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/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/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/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

提供了视频处理的方法以包括:维护表的集合,其中每个表包括运动候选,并且每个运动候选与对应的运动信息相关联;使用来自表的集合的一个或多个表更新候选列表;基于候选列表执行基于表的当前块与包括当前块的视频的比特流表示之间的转换;并且其中转换基于从候选列表中的候选继承的运动信息。

Description

一种视频处理方法和装置
相关申请的交叉引用
根据适用的专利法和/或依据巴黎公约,做出本申请以及时要求2018年6月29日提交的国际专利申请No.PCT/CN2018/093663、和2019年1月16日提交的国际专利申请No.PCT/CN2019/072058的优先权和权益。国际专利申请No.PCT/CN2018/093663和国际专利申请No.PCT/CN2019/072058的全部公开通过引用合并作为本申请的公开的一部分。
技术领域
本专利文档涉及视频编码技术、设备和系统。
背景技术
尽管视频压缩有所进步,但是数字视频仍然占互联网和其它数字通信网络上最大的带宽使用。随着能够接收并且显示视频的连接的用户设备的数量增加,预计数字视频使用所需的带宽将继续增长。
发明内容
本文档公开了用于使用运动矢量的Merge列表编码和解码数字视频的方法、系统、和设备。
在一个示例方面,提供了视频处理的方法,包括:维护表的集合,其中每个表包括运动候选并且每个运动候选与对应的运动信息相关联;使用来自表的集合的一个或多个表更新候选列表;基于候选列表执行,基于表的当前块与包括当前块的视频的比特流表示之间的转换;并且其中转换基于从候选列表中的候选继承的运动信息。
在另一示例方面,提供了用于视频处理的方法以包括:接收包括当前块的视频的比特流表示;以及基于使用一个或多个表更新的候选列表处理比特流表示,其中每个表包括运动候选并且每个运动候选与对应的运动信息相关联,并且转换基于从候选列表中的候选继承的运动信息。
在又一示例方面,公开了实施本文描述的视频编码方法的视频编码器设备。
在又一代表性方面,本文描述的各种技术可以体现为存储在非暂时性计算机可读介质上的计算机程序产品。计算机程序产品包括用于实行本文描述的方法的程序代码。
在又一代表性方面,视频解码器装置可以实施如本文描述的方法。
在随附的附件、附图、和以下描述中阐述了一个或多个实施方式的细节。从描述和附图以及从权利要求,其它特征将是显而易见的。
附图说明
图1是示出视频编码器实施方式的示例的框图
图2示出了H.264视频编码标准中的宏块分割。
图3示出了将编码块划分成预测块的示例。
图4示出了将CTB(coding tree block,编码树块)细分为CB和变换块(TransformBlock,TB)的示例实施方式。实线指示CB边界并且虚线指示TB边界,包括具有其分割的示例CTB、和对应的四叉树。
图5示出了用于分割视频数据的四叉树二叉树(Quad Tree Binary Tree,QTBT)结构的示例。
图6示出了视频块分割的示例。
图7示出了四叉树分割的示例。
图8示出了树类型信令(signaling)的示例。
图9示出了用于Merge候选列表构造的推导过程的示例。
图10示出了空间Merge候选的示例位置。
图11示出了考虑空间Merge候选的冗余检查的候选对的示例。
图12示出了Nx2N和2NxN分割的第二PU的位置的示例。
图13示出了时间Merge候选的运动矢量缩放。
图14示出了时间Merge候选的候选位置、以及它们的共位的图片。
图15示出了组合的双向预测Merge候选的示例。
图16示出了运动矢量预测候选的推导过程的示例。
图17示出了空间运动矢量候选的运动矢量缩放的示例。
图18示出了用于CU(coding unit,编码单元)的运动预测的示例可选时域运动矢量预测(Alternative Temporal Motion Vector Prediction,ATMVP)。
图19绘画地描绘了源块和源图片的识别的示例。
图20示出了具有四个子块和相邻块的一个CU的示例。
图21示出了双边匹配的示例。
图22示出了模板匹配的示例。
图23描绘了帧速率上转换(Frame Rate Up Conversion,FRUC)中的单边运动估计(Motion Estimation,ME)的示例。
图24示出了基于双边模板匹配的DMVR的示例。
图25示出了用于推导空间Merge候选的空间相邻块的示例。
图26描绘了查找表的代表性位置的选择如何更新的示例。
图27A和图27B示出了用运动信息的新集合更新查找表的示例。
图28是用于实施本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
图29是视频处理的示例方法的流程图。
图30是视频处理的另一示例方法的流程图。
图31示出了具有提出的HMVP方法的解码流程图的示例。
图32示出了使用提出的HMVP方法更新表的示例。
图33A和图33B示出了基于冗余去除的LUT(Look Up Table,查找表)更新方法(去除了一个冗余运动候选)的示例。
图34A和图34B示出了基于冗余去除的LUT更新方法(去除了多个冗余运动候选)的示例。
图35示出了类型1与类型2块之间的差别的示例。
具体实施方式
为了改进视频的压缩比,研究人员持续地寻找通过其来编码视频的新技术。
1.简介
本文档涉及视频编码技术。具体地,本文档涉及视频编码中的运动信息编码(诸如Merge模式、AMVP模式)。本文档可以应用于像HEVC的现有视频编码标准、或要最终确定的标准(多功能视频编码)。本文档也可以适用于未来视频编码标准或视频编解码器。
简要讨论
视频编码标准已经主要地通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T产生了H.261和H.263,ISO/IEC产生了MPEG-1和MPEG-4视频(Visual),并且两个组织联合地产生了H.262/MPEG-2视频和H.264/MPEG-4高级视频编码(Advanced Video Coding,AVC)以及H.265/HEVC标准。自从H.262以来,视频编码标准基于混合视频编码结构,其中利用时间预测加上变换编码。图1中描绘了典型的HEVC编码器框架的示例。
2.1分割结构
2.1.1 H.264/AVC中的分割树结构
先前标准中的编码层的核心是宏块,包含16×16的亮度样本(sample)块,并且在4:2:0颜色采样的通常情况,包含两个对应的8×8的色度样本块。
帧内编码块使用空间预测以利用像素当中的空间相关性。定义了两个分割:16x16和4x4。
帧间编码块通过估计图片当中的运动来使用时间预测而不是空间预测。可以针对16x16宏块或其任何子宏块分割:16x8、8x16、8x8、8x4、4x8、4x4(参见图2)独立地估计运动。每个子宏块分割仅允许一个运动矢量(Motion Vector,MV)。
2.1.2 HEVC中的分割树结构
在HEVC中,通过使用标示为编码树的四叉树结构将CTU划分成CU,以适应各种局部特性。是否要使用图片间(时间)或图片内(空间)预测编码图片区域的决定是在CU级别处做出的。根据PU划分类型,每个CU可以进一步划分成一个、两个或四个PU。在一个PU内部,应用相同的预测过程,并且在PU基础上将相关信息发送到解码器。在通过基于PU划分类型应用预测过程获得残差块之后,可以根据与CU的编码树类似的另一四叉树结构将CU分割为变换单元(TU)。HEVC结构的关键特征之一是它具有包括CU、PU、和TU的多个分割概念。
在下文中,如下突出使用HEVC的混合视频编码涉及的各种特征。
1)编码树单元和编码树块(CTB)结构:HEVC中的类似结构是编码树单元(CTU),编码树单元具有由编码器选择的尺寸并且可以大于传统宏块。CTU由亮度CTB和对应的色度CTB和语法元素组成。亮度CTB的尺寸L×L可以选取为L=16、32、或64个样本,更大的尺寸典型地能够更好的压缩。HEVC然后支持使用树结构和类似四叉树信令将CTB分割为更小的块。
2)编码单元(CU)和编码块(CB):CTU的四叉树语法指定其亮度和色度CB的尺寸和位置。四叉树的根与CTU相关联。因此,亮度CTB的尺寸是亮度CB的最大支持尺寸。联合地信令通知CTU到亮度和色度CB的划分。一个亮度CB和通常地两个色度CB与相关联的语法一起形成编码单元(CU)。CTB可以仅包含一个CU或者可以被划分以形成多个CU,并且每个CU具有相关联的到预测单元(PU)的分割和变换单元的树(TU)。
3)预测单元和预测块(Prediction Block,PB):是否要使用帧间或帧内预测编码图片区域的决定是在CU级别处做出的。PU分割结构在CU级别处具有其根。取决于基本预测类型决定,亮度和色度CB然后可以进一步以尺寸划分并且从亮度和色度预测块(PB)中预测。HEVC支持从64×64下到4×4样本的可变PB尺寸。图3示出了对于MxM CU允许的PB的示例。
4)TU和变换块:使用块变换编码预测残差。TU树结构在CU级别处具有其根。亮度CB残差可以与亮度变换块(TB)相同或者可以进一步被划分成更小的亮度TB。这同样适用于色度TB。与离散余弦变换(Discrete Cosine Transform,DCT)的整数基函数类似的整数基函数定义方形TB尺寸4×4、8×8、16×16、和32×32。对于亮度帧内预测残差的4×4变换,替代地指定从离散正弦变换(Discrete Sine Transform,DST)的形式推导的整数变换。
图4示出了将CTB细分为CB[和变换块(TB)]的示例。实线指示CB边界并且虚线指示TB边界。(a)CTB与其分割。(b)对应的四叉树。
2.1.2.1到变换块和单元的树结构化的分割
对于残差编码,可以将CB递归地分割为变换块(TB)。分割由残差四叉树信令通知。仅指定了方形CB和TB分割,其中块可以递归地划分到象限(quadrant),如图4中所示。对于尺寸M×M的给定亮度CB,标志信令通知是否将其划分成尺寸为M/2×M/2的四个块。如果进一步划分是可能的,如由SPS中指示的残差四叉树的最大深度信令通知的,则每个象限被指派指示是否将其划分成四个象限的标志。从残差四叉树引起的叶节点块是通过变换编码进一步处理的变换块。编码器指示它将使用的最大和最小亮度TB尺寸。当CB尺寸大于最大TB尺寸时,划分是隐含的。当划分将引起亮度TB尺寸小于指示的最小值时,不划分是隐含的。除了当亮度TB尺寸为4×4时,色度TB尺寸在每个维度中是亮度TB尺寸的一半,在这种情况下,单个4×4色度TB用于由四个4×4亮度TB覆盖的区域。在图片内预测的CU的情况下,最近的相邻TB(在CB内或外部)的解码样本用作用于帧内预测的参考数据。
与先前的标准相反,HEVC设计允许TB横跨用于图片间预测的CU的多个PB,以最大化四叉树结构化的TB分割的潜在编码效率益处。
2.1.2.2父和子节点
根据四叉树结构划分CTB,四叉树结构的节点是编码单元。四叉树结构中的多个节点包括叶节点和非叶节点。叶节点在树结构中不具有子节点(即,叶节点不进一步划分)。非叶节点包括树结构的根节点。根节点对应于视频数据的初始视频块(例如,CTB)。对于多个节点中的每个各个非根节点,各个非根节点对应于视频块,该视频块是对应于各个非根节点的树结构中的父节点的视频块的子块。多个非叶节点中的每个各个非叶节点在树结构中具有一个或多个子节点。
2.1.3在JEM中具有更大CTU的四叉树加上二叉树块结构
为了探索超越HEVC的未来视频编码技术,由VCEG和MPEG在2015年联合地成立了联合视频探索团队(Joint Video Exploration Team,JVET)。自从那时以来,许多新方法已经由JVET采用并且放入到名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。
2.1.3.1 QTBT块分割结构
不同于HEVC,QTBT结构去除多个分割类型的概念,即,它去除了CU、PU和TU概念的分离,并且对于CU分割形状支持更多的灵活性。在QTBT块结构中,CU可以具有方形或矩形形状。如图5中所示,首先由四叉树结构分割编码树单元(CTU)。四叉树叶节点进一步由二叉树结构分割。在二叉树划分中有两种划分类型,对称水平划分和对称垂直划分。二叉树叶节点被称为编码单元(CU),并且该分割用于预测和变换处理而无需任何进一步的分割。这意味着CU、PU和TU在QTBT编码块结构中具有相同块尺寸。在JEM中,CU有时由不同颜色分量的编码块(CB)组成,例如,在4:2:0色度格式的P和B条带的情况下,一个CU包含一个亮度CB和两个色度CB,并且有时由单个分量的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亮度样本。
图5(左)示出了通过使用QTBT块划分的示例,并且图5(右)示出了对应的树表示。实线指示四叉树划分并且虚线指示二叉树划分。在二叉树的每个划分(即,非叶)节点中,信令通知一个标志以指示使用哪种划分类型(即,水平或垂直),其中0指示水平划分并且1指示垂直划分。对于四叉树划分,不需要指示划分类型,因为四叉树划分总是水平地和垂直地划分块以产生具有相同尺寸的4个子块。
另外,QTBT方案支持用于亮度和色度具有分离的QTBT结构的能力。目前,对于P和B条带,一个CTU中的亮度和色度CTB共享相同的QTBT结构。然而,对于I条带,亮度CTB通过QTBT结构分割为CU,并且色度CTB通过另一QTBT结构分割为色度CU。这意味着I条带中的CU由亮度分量的编码块或两个色度分量的编码块组成,并且P或B条带中的CU由所有三个颜色分量的编码块组成。
在HEVC中,限制小块的帧间预测以减少运动补偿的存储器访问,使得对于4×8和8×4块不支持双向预测,并且对于4×4块不支持帧间预测。在JEM的QTBT中,去除了这些限制。
2.1.4用于VVC的三叉树
在一些实施例中,支持除四叉树和二叉树之外的树类型。在实施方式中,引入了另外两个三叉树(ternary tree,TT)分割,即水平和垂直中心侧三叉树,如图6中(d)和(e)所示。
图6示出:(a)四叉树分割(b)垂直二叉树分割(c)水平二叉树分割(d)垂直中心侧三叉树分割(e)水平中心侧三叉树分割。
在一些实施方式中,存在树的两个级别,区域树(四叉树)和预测树(二叉树或三叉树)。首先由区域树(Region Tree,RT)分割CTU。可以用预测树(Prediction Tree,PT)进一步分割RT叶。也可以用PT进一步划分PT叶,直到达到最大PT深度。PT叶是基本编码单元。为方便起见,它仍然被称为CU。CU不可以进一步划分。预测和变换两者都以与JEM相同的方式应用于CU。整个分割结构被称为“多类型树”。
2.1.5示例分割结构
在此响应中使用的被称为多树类型(Multi-Tree Type,MTT)的树结构是QTBT的一般化。在QTBT中,如图5中所示,首先由四叉树结构分割编码树单元(CTU)。四叉树叶节点进一步由二叉树结构分割。
MTT的基本结构由树节点的两种类型构成:区域树(RT)和预测树(PT),支持分割的九种类型,如图7中所示。
图7示出:(a)四叉树分割(b)垂直二叉树分割(c)水平二叉树分割(d)垂直三叉树分割(e)水平三叉树分割(f)水平上非对称二叉树分割(g)水平下非对称二叉树分割(h)垂直左非对称二叉树分割(i)垂直右非对称二叉树分割。
区域树可以递归地将CTU划分方形块,下至4x4尺寸的区域树叶节点。在区域树中的每个节点处,可以从三种树类型之一形成预测树:二叉树(BT)、三叉树(TT)、和非对称二叉树(Asymmetric Binary Tree,ABT)。在PT划分中,禁止在预测树的分支中具有四叉树分割。与在JEM中相同,亮度树和色度树在I条带中分离。用于RT和PT的信令方法在图8中示出。
2.2 HEVC/H.265中的帧间预测
每个帧间预测的PU具有用于一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。也可以使用inter_pred_idc来信令通知两个参考图片列表中的一个的使用。可以将运动矢量显式地编码为相对于预测值(predictor)的增量(delta),这种编码模式被称为AMVP模式。
当使用跳过模式编码CU时,一个PU与CU相关联,并且没有显著的残差系数、没有编码的运动矢量增量或参考图片索引。指定Merge模式,由此从相邻PU获得用于当前PU的运动参数,包括空间和时间候选。Merge模式可以应用于任何帧间预测的PU,不仅用于跳过模式。对于Merge模式的替代是运动参数的显式传输,其中对于每个PU,显式地信令通知运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表使用。
当信令指示要使用两个参考图片列表中的一个时,从样本的一个块产生PU。这被称为“单向预测”。单向预测可用于P条带和B条带两者。
当信令指示要使用参考图片列表中的两者时,从样本的两个块产生PU。这被称为“双向预测”。双向预测仅可用于B条带。
以下文本提供了关于HEVC中指定的帧间预测模式的细节。描述将以Merge模式开始。
2.2.1 Merge模式
2.2.1.1 Merge模式的候选的推导
当使用Merge模式预测PU时,指向Merge候选列表中的条目(entry)的索引从比特流中解析并且用于检索运动信息。该列表的构造在HEVC标准中指定并且可以根据以下步骤序列总结:
·步骤1:初始候选推导
ο步骤1.1:空间候选推导
ο步骤1.2:空间候选的冗余检查
ο步骤1.3:时间候选推导
·步骤2:额外候选插入
ο步骤2.1:双向预测候选的创建
ο步骤2.2:零运动候选的插入
这些步骤也在图9中示意性地描绘。对于空间Merge候选推导,在定位在五个不同位置中的候选当中选择最多四个Merge候选。对于时间Merge候选推导,在两个候选当中选择最多一个Merge候选。因为在解码器处假设恒定数量的候选用于每个PU,所以当候选的数量未达到在条带头中信令通知的Merge候选的最大数量(Maximum Number of MergeCandidate,MaxNumMergeCand)时,生成额外候选。因为候选的数量是恒定的,所以使用截断的一元二值化(truncated unary binarization,TU)编码最佳Merge候选的索引。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,单个Merge候选列表与2N×2N预测单元的Merge候选列表相同。
在下文中,详细说明了与前述步骤相关联的操作。
2.2.1.2空间候选推导
在空间Merge候选的推导中,在定位在图10中描绘的位置中的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU是不可用的(例如,因为它属于另一条带或片)或是帧内编码的时,才考虑位置B2。在添加位置A1处的候选之后,剩余候选的添加经受冗余检查,冗余检查确保从列表中排除具有相同运动信息的候选从而改进编码效率。为了降低计算复杂度,在提到的冗余检查中并不考虑所有可能的候选对。相反,如果用于冗余检查的对应的候选不具有相同的运动信息,则仅考虑图11中用箭头链接的对并且仅将候选添加到列表中。复制的运动信息的另一源是与不同于2Nx2N的分割相关联的“第二PU”。作为示例,图12描绘了分别用于N×2N和2N×N的情况的第二PU。当当前PU分割为N×2N时,位置A1处的候选不考虑用于列表构造。事实上,通过添加该候选将导致具有相同运动信息的两个预测单元,这对于在编码单元中仅具有一个PU是冗余的。类似地,当当前PU被分割为2N×N时,不考虑位置B1
2.2.1.3时间候选推导
在此步骤中,仅将一个候选添加到列表中。具体地,在该时间Merge候选的推导中,基于属于具有与给定参考图片列表内的当前图片的最小POC差的图片的共位的PU来推导缩放运动矢量。在条带头中显式地信令通知要用于共位的PU的推导的参考图片列表。如图13中由虚线所示获得用于时间Merge候选的缩放运动矢量,其使用POC距离tb和td从共位的PU的运动矢量缩放,其中tb定义为当前图片的参考图片与当前图片之间的POC差,td定义为共位的图片的参考图片与共位的图片之间的POC差。设置时间Merge候选的参考图片索引等于零。在HEVC说明书中描述了缩放过程的实际实现。对于B条带,获得两个运动矢量,一个用于参考图片列表0,另一个用于参考图片列表1,并且两个运动矢量组合以获得双向预测Merge候选[1]。对于时间Merge候选的运动矢量缩放的说明。
如图14中所描绘的,在属于参考帧的共位的PU(Y)中,在候选C0与C1之间选择用于时间候选的位置。如果位置C0处的PU是不可用的、是帧内编码的、或在当前CTU的外部,则使用位置C1。否则,在时间Merge候选的推导中使用位置C0
2.2.1.4额外候选插入
除了空间-时间Merge候选之外,存在Merge候选的两种额外类型:组合的双向预测Merge候选和零Merge候选。通过利用空间-时间Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一个的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组(tuple)提供不同的运动假设,它们将形成一个新的双向预测候选。作为示例,图15描绘了当(在左的)原始列表中具有mvL0和refIdxL0或mvL1和refIdxL1的两个候选用于创建添加到(在右的)最终列表的组合的双向预测Merge候选的情况。关于考虑为生成这些额外Merge候选的组合有许多规则。
插入零运动候选以填充Merge候选列表中的剩余条目并且因此碰到(hit)MaxNumMergeCand容量。这些候选具有零空间位移和参考图片索引,参考图片索引从零开始并且每次新的零运动候选添加到列表时增加。由这些候选使用的参考帧的数量对于单向预测和双向预测分别是一个和两个。最后,在这些候选上不执行冗余检查。
2.2.1.5用于并行处理的运动估计区域
为了加速编码过程,可以并行地执行运动估计,由此同时地推导用于给定区域内部的所有预测单元的运动矢量。从空间邻域(neighbourhood)推导Merge候选可能干扰并行处理,因为一个预测单元在其相关联的运动估计完成之前,不能从邻近PU推导运动参数。为了减轻编码效率与处理延迟之间的折衷,HEVC定义运动估计区域(Motion EstimationRegion,MER),运动估计区域的尺寸在图片参数集中使用“log2_parallel_merge_level_minus2”语法元素信令通知。当定义MER时,落在相同区域中的Merge候选标记为不可用并且因此在列表构造中不考虑。
7.3.2.3图片参数集RBSP语法
7.3.2.3.1一般图片参数集RBSP语法
pic_parameter_set_rbsp(){ 描述符
pps_pic_parameter_set_id ue(v)
pps_seq_parameter_set_id ue(v)
dependent_slice_segments_enabled_flag u(1)
pps_scaling_list_data_present_flag u(1)
if(pps_scaling_list_data_present_flag)
scaling_list_data()
lists_modification_present_flag u(1)
log2_parallel_merge_level_minus2 ue(v)
slice_segment_header_extension_present_flag u(1)
pps_extension_present_flag u(1)
rbsp_trailing_bits()
}
log2_parallel_merge_level_minus2加上2指定变量Log2ParMrgLevel的值,值在第8.5.3.2.2节中指定的用于Merge模式的亮度运动矢量的推导过程和第8.5.3.2.3节中指定的空间Merge候选的推导过程中使用。log2_parallel_merge_level_minus2的值应该在0到CtbLog2SizeY-2的范围中,包括0和CtbLog2SizeY-2。
变量Log2ParMrgLevel推导如下:
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2 (7-37)
注3-Log2ParMrgLevel的值指示Merge候选列表的并行推导的内置能力。例如,当Log2ParMrgLevel等于6时,可以并行地推导包含在64x64块中的所有预测单元(PU)和编码单元(CU)的Merge候选列表。
2.2.2 AMVP模式中的运动矢量预测
运动矢量预测利用运动矢量与相邻PU的空间-时间相关性,空间-时间相关性用于运动参数的显式传输。它通过首先检查左侧、上侧时间相邻的PU位置的可用性,去除冗余候选并且添加零矢量以使候选列表为恒定长度来构建运动矢量候选列表。然后,编码器可以从候选列表选择最佳预测值并且传输指示选取的候选的对应的索引。与Merge索引信令类似,使用截断的一元来编码最佳运动矢量候选的索引。在这种情况下要编码的最大值是2(例如,图2到图8)。在以下章节中,提供了关于运动矢量预测候选的推导过程的细节。
2.2.2.1运动矢量预测候选的推导
图16总结了运动矢量预测候选的推导过程。
在运动矢量预测中,考虑两种类型的运动矢量候选:空间运动矢量候选和时间运动矢量候选。对于空间运动矢量候选推导,如图11中所描绘的,最终地基于定位在五个不同位置中的每个PU的运动矢量推导两个运动矢量候选。
对于时间运动矢量候选推导,从基于两个不同的共位的位置推导的两个候选中选择一个运动矢量候选。在做出空间-时间候选的第一列表之后,去除列表中的复制的运动矢量候选。如果潜在候选的数量大于两个,则从列表去除相关联的参考图片列表内的其参考图片索引大于1的运动矢量候选。如果空间-时间运动矢量候选的数量小于两个,则将额外的零运动矢量候选添加到列表中。
2.2.2.2空间运动矢量候选
在空间运动矢量候选的推导中,在五个潜在候选当中考虑最多两个候选,其从定位在如图11中所描绘的位置中的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.2.3时间运动矢量候选
除了参考图片索引推导之外,用于时间Merge候选的推导的所有过程与用于空间运动矢量候选的推导相同(参见例如图6)。将参考图片索引信令通知给解码器。
2.2.2.4 AMVP信息的信令通知
对于AMVP模式,可以在比特流中信令通知四个部分,即,预测方向、参考索引、MVD(Motion Vector Difference,运动矢量差)和mv预测值候选索引。
语法表:
Figure GDA0002471573520000151
7.3.8.9运动矢量差语法
Figure GDA0002471573520000161
2.3JEM中的新帧间预测方法(联合探索模型)
2.3.1基于子CU的运动矢量预测
在具有QTBT的JEM中,每个CU可以具有用于每个预测方向的至多一个运动参数集。通过将大CU划分成子CU并且推导用于大CU的所有子CU的运动信息,在编码器中考虑两个子CU级别运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从小于共位的(collocated)参考图片中的当前CU的多个块提取运动信息的多个集合。在空时运动矢量预测(Spatial-Temporal Motion Vector Prediction,STMVP)方法中,通过使用时间运动矢量预测值和空间相邻运动矢量来递归地推导子CU的运动矢量。
为了保留子CU运动预测的更准确的运动场,当前地禁用对参考帧的运动压缩。
2.3.1.1可选时域运动矢量预测
在可选时域运动矢量预测(ATMVP)方法中,通过从小于当前CU的块提取运动信息(包括运动矢量和参考索引)的多个集合来修改运动矢量时间运动矢量预测(TemporalMotion Vector Prediction,TMVP)。如图18中所示,子CU是方形N×N块(默认将N设置为4)。
ATMVP以两个步骤预测CU内的子CU的运动矢量。第一步是利用所谓的时间矢量识别参考图片中的对应块。参考图片被称为运动源图片。第二步是将当前CU划分成子CU并且从对应于每个子CU的块获得运动矢量以及每个子CU的参考索引,如图18所示。
在第一步中,参考图片和对应块由当前CU的空间相邻块的运动信息确定。为了避免相邻块的重复扫描过程,使用当前CU的Merge候选列表中的第一Merge候选。第一可用运动矢量以及其相关联的参考索引设置为时间矢量和对运动源图片的索引。这样,在ATMVP中,与TMVP相比,可以更准确地识别对应的块,其中对应的块(有时被称为共位的块)总是相对于当前CU在右下或中心位置。在一个示例中,如果第一Merge候选来自左侧相邻块(即,图19中的A1),则利用相关联的MV和参考图片来识别源块和源图片。
图19示出了源块和源图片的识别的示例。
在第二步中,通过向当前CU的坐标添加时间矢量,由运动源图片中的时间矢量识别子CU的对应块。对于每个子CU,其对应块(覆盖中心样本的最小运动网格)的运动信息用于推导子CU的运动信息。在识别了对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的运动矢量和参考索引,其中运动缩放和其它过程适用。例如,解码器检查是否满足低延迟条件(即,当前图片的所有参考图片的POC小于当前图片的POC)并且可能使用运动矢量MVx(对应于参考图片列表X的运动矢量)以预测每个子CU的运动矢量MVy(其中X等于0或1,Y等于1-X)。
2.3.1.2空时运动矢量预测
在此方法中,遵循光栅扫描顺序递归地推导子CU的运动矢量。图20示出了此概念。让我们考虑包含四个4×4子CU A、B、C、和D的8×8CU。当前帧中的相邻4×4块标记为a、b、c、和d。
子CU A的运动推导通过识别其两个空间邻居(neighbour)开始。第一邻居是子CUA上侧的N×N块(块c)。如果该块c是不可用的或是帧内编码的,则检查子CU A上侧的其它N×N块(从左到右,从块c处开始)。第二邻居是对子CU A的左侧的块(块b)。如果块b是不可用的或是帧内编码的,则检查子CU A的左侧的其它块(从上到下,从块b处开始)。从每个列表的相邻块获得的运动信息缩放到给定列表的第一参考帧。接下来,通过遵循与HEVC中指定的TMVP推导的过程相同的过程来推导子块A的时间运动矢量预测值(Temporal MotionVector Predictor,TMVP)。提取位置D处的共位的块的运动信息并且对应地缩放。最后,在检索和缩放运动信息之后,分别针对每个参考列表平均所有可用的运动矢量(上至3个)。指派平均的运动矢量为当前子CU的运动矢量。
图20示出了具有四个子块(A-D)及其相邻块(a-d)的一个CU的示例。
2.3.1.3子CU运动预测模式信令
启用子CU模式作为额外Merge候选,并且不要求额外语法元素来信令通知该模式。将两个额外Merge候选添加到每个CU的Merge候选列表以表示ATMVP模式和STMVP模式。如果序列参数集指示启用了ATMVP和STMVP,则使用上至七个Merge候选。额外Merge候选的编码逻辑与用于HM中的Merge候选相同,这意味着,对于P或B条带中的每个CU,对于两个额外Merge候选需要两个更多的RD检查。
在JEM中,Merge索引的所有二进制位都由CABAC上下文编码。而在HEVC中,仅第一二进制位是上下文编码的并且剩余的二进制位是上下文旁路编码的。
2.3.2自适应运动矢量差分辨率
在HEVC中,当条带头中的use_integer_mv_flag等于0时,以四分之一亮度样本为单位信令通知(在PU的运动矢量与预测的运动矢量之间的)运动矢量差(MVD)。在JEM中,引入了局部自适应运动矢量分辨率(Locally Adaptive Motion Vector Resolution,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,当RD成本整数亮度样本MVD分辨率比四分之一亮度样本MVD的分辨率更大得多时,跳过对于CU的4亮度样本MVD分辨率的RD检查。
2.3.3模式匹配的运动矢量推导
模式匹配的运动矢量推导(Pattern Matched Motion Vector Derivation,PMMVD)模式是基于帧速率上转换(Frame-Rate Up Conversion,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×H CU的MV。在第二阶段处,CU进一步划分成M×M子CU。如(16)中计算M的值,D是预定义的划分深度,D在JEM中默认设置为3。然后推导每个子CU的MV。
Figure GDA0002471573520000201
如图21中所示,双边匹配用于通过在两个不同参考图片中沿着当前CU的运动轨迹找到两个块之间的最接近匹配来推导当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0和MV1应该与当前图片与两个参考图片之间的时间距离(即TD0和TD1)成比例。作为特殊情况,当当前图片在时间上在两个参考图片之间并且从当前图片到两个参考图片的时间距离相同时,双边匹配变为基于镜像的双向MV。
如图22中所示,模板匹配用于通过找到当前图片中的模板(当前CU的顶部和/或左侧相邻块)与参考图片中的(与模板相同尺寸的)块之间的最接近匹配来推导当前CU的运动信息。除了前述FRUC Merge模式之外,模板匹配也适用于AMVP模式。在JEM中,如在HEVC中所做的,AMVP具有两个候选。利用模板匹配方法,推导新的候选。如果通过模板匹配新推导的候选不同于第一现有AMVP候选,则其在AMVP候选列表的最开始处插入,并且然后将列表尺寸设置为2(意味着去除第二现有AMVP候选)。当应用于AMVP模式时,仅应用CU级别搜索。
2.3.3.1 CU级别MV候选集
在CU级别处的MV候选集由以下组成:
(i)如果当前CU在AMVP模式中,则原始AMVP候选
(ii)所有Merge候选,
(iii)内插的MV场中的若干MV。
(iv)顶部和左侧相邻运动矢量
当使用双边匹配时,Merge候选的每个有效MV用作输入以在双边匹配的假设下生成MV对。例如,Merge候选的一个有效MV是在参考列表A处的(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。
当FRUC应用在AMVP模式中时,原始AMVP候选也添加到CU级别MV候选集。
在CU级别处,AMVP CU的上至15个MV以及Merge CU的上至13个MV添加到候选列表。
2.3.3.2子CU级别MV候选集
在子CU级别处的MV候选集由以下组成:
(i)从CU级别搜索确定的MV,
(ii)顶部、左侧、左上和右上相邻MV,
(iii)来自参考图片的共位的MV的缩放版本,
(iv)上至4个ATMVP候选,
(v)上至4个STMVP候选
来自参考图片的缩放的MV如下推导。遍历两个列表中的所有参考图片。参考图片中的子CU的共位的位置处的MV缩放到开始CU级别MV的参考。
ATMVP和STMVP候选限制为前四个。
在子CU级别处,上至17个MV添加到候选列表中。
2.3.3.3内插的MV场的生成
在编码帧之前,基于单边ME为整个图片生成内插的运动场。然后,运动场可以稍后用作CU级别或子CU级别MV候选。
首先,两个参考列表中的每个参考图片的运动场以4×4块级别遍历。对于每个4×4块,如果与块相关联的运动穿过当前图片中的4×4块(如图23中所示)并且块还未被指派任何内插的运动,则参考块的运动根据时间距离TD0和TD1(与HEVC中的TMVP的MV缩放的方式相同的方式)缩放到当前图片,并且将缩放的运动指派给当前帧中的块。如果缩放的MV未被指派给4×4块,则在内插的运动场中将块的运动标记为不可用。
2.3.3.4内插和匹配成本
当运动矢量指向分数样本位置时,需要运动补偿的内插。为了降低复杂性,双线性内插代替常规8抽头HEVC内插用于双边匹配和模板匹配。
匹配成本的计算在不同步骤处有点不同。当从CU级别处的候选集中选择候选时,匹配成本是双边匹配或模板匹配的绝对和差(Absolute Sum Difference,SAD)。在确定开始MV之后,如下计算子CU级别搜索处的双边匹配的匹配成本C。
Figure GDA0002471573520000221
其中w是经验地设置为4的加权因子,MV和MVs分别指示当前MV和开始MV。SAD仍然用作子CU级别搜索处的模板匹配的匹配成本。
在FRUC模式中,仅通过使用亮度样本来推导MV。推导的运动将用于用于MC帧间预测的亮度和色度两者。在决定MV之后,使用用于亮度的8抽头内插滤波器和用于色度的4抽头内插滤波器来执行最终MC。
2.3.3.5 MV细化
MV细化是基于模式的MV搜索,具有双边匹配成本或模板匹配成本的标准。在JEM中,支持两种搜索模式-分别是,无限制的中心偏置菱形搜索(Unrestricted Center-Biased Diamond Search,UCBDS)和用于CU级别和子CU级别处的MV细化的自适应交叉搜索。对于CU和子CU级别MV细化两者,以四分之一亮度样本MV精度直接地搜索MV,并且接着是八分之一亮度样本MV细化。CU和子CU步骤的MV细化的搜索范围被设置为等于8亮度样本。
2.3.3.6模板匹配FRUC Merge模式中预测方向的选择
在双边匹配Merge模式中,始终应用双向预测,因为CU的运动信息是基于两个不同参考图片中的沿当前CU的运动轨迹的两个块之间的最接近匹配而推导的。对于模板匹配Merge模式没有这样的限制。在模板匹配Merge模式中,编码器可以在根据list0的单向预测、根据list1的单向预测或CU的双向预测当中选取。选择基于模板匹配成本,如下所示:
如果costBi<=factor*min(cost0,cost1)
使用双向预测;
否则,如果cost0<=cost1
使用根据list0的单向预测;
否则,
使用根据list1的单向预测;
其中,cost0是list0模板匹配的SAD,cost1是list1模板匹配的SAD,并且costBi是双向预测模板匹配的SAD。factor的值等于1.25,这意味着选择过程偏向双向预测。
帧间预测方向选择仅应用于CU级别模板匹配过程。
2.3.4解码器侧运动矢量细化
在双向预测操作中,对于一个块区域的预测,组合分别使用list0的运动矢量(MV)和list1的MV形成的两个预测块以形成单个预测信号。在解码器侧运动矢量细化(Decoder-Side Motion Vector Refinement,DMVR)方法中,通过双边模板匹配过程进一步细化双向预测的两个运动矢量。双边模板匹配在解码器中应用,以在双边模板与参考图片中的重建样本之间执行基于失真的搜索,以便在不用额外运动信息的传输的情况下获得细化的MV。
在DMVR中,如图23中所示,分别从list0的初始MV0和list1的MV1生成双边模板作为两个预测块的加权组合(即平均)。模板匹配操作由计算生成的模板与参考图片中的样本区域(初始预测块周围)之间的成本度量(cost measure)组成。对于两个参考图片中的每一个,引发最小模板成本的MV被考虑为该列表的更新的MV以替换原始MV。在JEM中,对于每个列表搜索九个MV候选。九个MV候选包括原始MV和8个环绕MV,该8个环绕MV在水平或垂直方向上、或者在两者上偏移原始MV一个亮度样本。最后,两个新的MV,即图24中所示的MV0'和MV1'用于生成最终的双向预测结果。绝对差之和(SAD)用作成本度量。
DMVR应用于双向预测的Merge模式,其中一个MV来自过去的参考图片并且另一MV来自未来的参考图片,而不用额外语法元素的传输。在JEM中,当为CU启用LIC、仿射运动、FRUC、或子CU Merge候选时,不应用DMVR。
2.3.5具有双边匹配细化的Merge/跳过模式
首先通过利用冗余检查将空间相邻和时间相邻块的运动矢量和参考索引插入到候选列表中来构造Merge候选列表,直到可用候选的数量达到最大候选尺寸19。通过根据预定义的插入顺序插入空间候选(图11)、时间候选、仿射候选、高级时间MVP(ATMVP)候选、空间时间MVP(STMVP)候选以及如HEVC中使用的额外候选(组合的候选和零候选)来构造Merge/跳过模式的候选列表:
-块1-4的空间候选。
-块1-4的推测的仿射候选。
-ATMVP。
-STMVP。
-虚拟仿射候选。
-空间候选(块5)(仅当可用候选的数量小于6时使用)。
-推测的仿射候选(块5)。
-时间候选(如在HEVC中推导的)。
-非相邻空间候选,接着是推测的仿射候选(块6至49,如图25中所描绘的)。
-组合的候选。
-零候选
注意,除了STMVP和仿射之外,IC标志也从Merge候选继承。此外,对于前四个空间候选,在具有单向预测的候选之前插入双向预测候选。
在一些实施方式中,可以访问未与当前块连接的块。如果以非帧内模式编码非邻近块,则可以添加相关联的运动信息作为额外Merge候选。
2.3.6共享的Merge列表JVET-M0170
提出对于CU划分树中的一个根节点的所有叶编码单元(CU)共享相同的Merge候选列表,以便启用小的跳过/Merge编码的CU的并行处理。根节点被命名为Merge共享节点。在Merge共享节点处生成共享的Merge候选列表,假设Merge共享节点是叶CU。
对于类型2定义,将在解码的解析阶段期间为CTU内部的每个CU决定Merge共享节点;此外,Merge共享节点是叶CU的根节点,必须符合以下2个准则:
Merge共享节点尺寸等于或大于尺寸阈值
在Merge共享节点中,子CU尺寸之一小于尺寸阈值
此外,必须保证没有Merge共享节点的样本在图片边界外部。在解析阶段期间,如果根节点符合准则(1)和(2)但是在图片边界外部具有一些样本,则此根节点将不是Merge共享节点,并且它继续为其子CU寻找Merge共享节点。
图35示出了类型1与类型2定义的差异的示例。在此示例中,父节点被三元划分(ternary-split)成3个子CU。父节点的尺寸为128。对于类型1定义,3个子CU将分别是Merge共享节点。但是对于类型2定义,父节点是Merge共享节点。
提出的共享的Merge候选列表算法支持平移Merge(包括Merge模式和三角Merge模式,也支持基于历史的候选)和基于子块的Merge模式。对于所有种类的Merge模式,共享的Merge候选列表算法的行为看起来基本相同,并且它仅在Merge共享节点处生成候选,假设Merge共享节点是叶CU。它具有两个主要的益处。第一个益处是启用Merge模式的并行处理,并且第二个益处是将所有叶CU的所有计算共享到Merge共享节点中。因此,它显著地降低了硬件编解码器的所有Merge模式的硬件成本。通过提出的共享的Merge候选列表算法,编码器和解码器能够容易地支持Merge模式的并行编码,并且它减轻了Merge模式的循环预算问题。
2.3.7片组
采用JVET-L0686,其中去除条带以有利于片组,并且HEVC语法元素slice_address由tile_group_header中的tile_group_address替换(如果图片中存在多于一个片)作为片组中第一片的地址。
3.由本文公开的实施例解决的问题的示例
当前HEVC设计可以采用当前块与其相邻块(紧接当前块)的相关性来更好地编码运动信息。然而,可能相邻块对应于具有不同运动轨迹的不同对象。在这种情况下,来自其相邻块的预测不是有效的。
来自非邻近块的运动信息的预测可以带来额外的编码增益,这具有将所有运动信息(典型地在4×4级别上)存储到高速缓存中的代价,这显著地增加了硬件实现的复杂性。
4.一些示例
目前公开的技术的实施例克服了现有实施方式的缺点,从而提供具有更高编码效率的视频编码。
为了克服现有实施方式的缺点,可以在各种实施例中实施使用具有存储的至少一个运动候选的一个或多个表(例如,查找表)来预测块的运动信息的基于LUT的运动矢量预测技术以提供具有更高编码效率的视频编码。查找表是可以用于包括运动候选以预测块的运动信息的表的示例,并且其它实施方式也是可能的。每个LUT可以包括一个或多个运动候选,每个运动候选与对应的运动信息相关联。运动候选的运动信息可以包括预测方向、参考索引/图片、运动矢量、LIC标志、仿射标志、运动矢量推导(MVD)精度、和/或MVD值中的部分或所有。运动信息还可以包括块位置信息以指示运动信息正在来自哪里。
基于公开的技术的可以增强现有和未来视频编码标准两者的基于LUT的运动矢量预测在关于各种实施方式描述的以下示例中阐明。因为LUT允许基于历史数据(例如,已经处理了的块)执行编码/解码过程,所以基于LUT的运动矢量预测也可以被称为基于历史的运动矢量预测(History based Motion Vector Prediction,HMVP)方法。在基于LUT的运动矢量预测方法中,在编码/解码过程期间维护具有来自先前编码的块的运动信息的一个或多个表。存储在LUT中的这些运动候选被命名为HMVP候选。在一个块的编码/解码期间,可以将LUT中的相关联的运动信息添加到运动候选列表(例如,Merge/AMVP候选列表),并且在编码/解码一个块之后,可以更新LUT。更新的LUT然后用于编码后续块。因此,LUT中的运动候选的更新基于块的编码/解码顺序。
以下示例应该考虑为用于解释一般概念的示例。不应该以狭隘的方式解释这些示例。此外,这些示例可以以任何方式组合。
一些实施例可以使用具有存储的至少一个运动候选的一个或多个查找表来预测块的运动信息。实施例可以使用运动候选来指示存储在查找表中的运动信息的集合。对于传统的AMVP或Merge模式,实施例可以使用AMVP或Merge候选来存储运动信息。
以下示例解释了一般概念。
查找表的示例
a.示例A1:每个查找表可以包含一个或多个运动候选,其中每个候选与其运动信息相关联。这里运动候选的运动信息可以包括预测方向、参考索引/图片、运动矢量、LIC标志、仿射标志、MVD精度、MVD值的部分或所有。
b.运动信息还可以包括用于指示运动信息正在来自其中的块位置信息和/或块形状。
LUT的选择
示例B1:为了编码块,可以按照顺序检查来自一个查找表的运动候选的部分或全部。当在编码块期间检查一个运动候选时,可以将其添加到运动候选列表(例如,AMVP、Merge候选列表)。
查找表的使用
示例C1:可以预定义查找表中要检查的运动候选的总数量。
a.它还可以取决于编码信息、块尺寸、块形状等。
a1.例如,对于AMVP模式,可以仅检查m个运动候选,而对于Merge模式,可以检查n个运动候选(例如,m=2,n=44)。
b.在一个示例中,可以在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带头、片头、编码树单元(CTU)、编码树块(CTB)、编码单元(CU)或预测单元(PU)、覆盖多个CTU/CTB/CU/PU的区域中信令通知要检查的运动候选的总数量。
示例C2:查找表中包括的(多个)运动候选可以由块直接地继承。
a.它们可以用于Merge模式编码,即,可以在Merge候选列表推导过程中检查运动候选。
b.它们可以用于仿射Merge模式编码。
i.如果其仿射标志是1,则可以将查找表中的运动候选添加为仿射Merge候选。
c.它们可以用于其它种类的Merge模式,诸如子块Merge模式、仿射Merge模式、三角Merge模式、帧间帧内Merge模式,具有MVD的Merge(merge with MVD,MMVD)模式。
d.当以下情况时,可以启用查找表中运动候选的检查:
i.插入TMVP候选之后,Merge候选列表未满;
ii.在检查用于空间Merge候选推导的某个空间相邻块之后,Merge候选列表未满;
iii.在所有空间Merge候选之后,Merge候选列表未满;
iv.在组合的双向预测Merge候选之后,Merge候选列表未满;
e.可以在检查其它Merge(或仿射Merge或其它帧间编码方法)候选之前启用查找表中的运动候选的检查,诸如从邻近/非邻近空间或时间块推导。
f.当在查找表中存在至少一个运动候选时,可以启用查找表中的运动候选的检查。
示例C3:包括在查找表中的(多个)运动候选可以用作于编码块的运动信息的预测值。
a.它们可以用于AMVP模式编码,即,可以在AMVP候选列表推导过程中检查运动候选。
示例C4:可以利用查找表中的运动候选来推导其他候选,并且可以利用推导的候选来编码块。
查找表的更新
示例D1:在用运动信息编码块(即,IntraBC模式、帧间编码模式)之后,可以更新一个或多个查找表。
示例:对于所有以上项目编号,查找表指示编码信息或以解码顺序从来自先前编码的块的编码信息中推导的信息。
a.查找表可以包括平移运动信息、或仿射运动信息、或仿射模型参数、或帧内模式信息、或照度补偿信息等。
b.替代地,查找表可以包括至少两种信息,诸如平移运动信息、或仿射运动信息、或仿射模型参数、或帧内模式信息、或照度补偿信息等。
额外示例实施例
提出了基于历史的MVP(HMVP)方法,其中HMVP候选定义为先前编码的块的运动信息。在编码/解码过程期间维护具有多个HMVP候选的表。遇到新条带时,清空表。每当存在帧间编码的块时,相关联的运动信息添加到表的最后条目作为新的HMVP候选。整个编码流程在图31中描绘。
在一个示例中,表尺寸设置为L(例如,L=16或6、或44),L指示上至L个HMVP候选可以添加到表。
在一个实施例中(对应于示例11.g.i),如果存在来自先前编码的块的多于L个HMVP候选,则应用先进先出(First-In-First-Out,FIFO)规则,使得表始终包含最近的先前编码的L个运动候选。图31描绘了应用FIFO规则以去除HMVP候选并且将新的一个添加到在提出的方法中使用的表的示例。
在另一实施例中(对应于发明11.g.iii),每当添加新的运动候选(诸如当前块是帧间编码的和非仿射模式)时,首先应用冗余检查过程来识别是否LUT中存在相同或类似的运动候选。
一些示例描绘如下:
图33A示出了当在添加新的运动候选之前LUT已满的示例。
图33B示出了当在添加新的运动候选之前LUT未满的示例。
图33A和图33B一起示出了基于冗余去除的LUT更新方法的示例(具有去除的一个冗余运动候选)。
图34A和图34B示出了用于基于冗余去除的LUT更新方法的两种情况的示例实施方式(具有去除的多个冗余运动候选,图中为2个候选)。
图34A示出了当在添加新的运动候选之前LUT已满时的示例情况。
图34B示出了当在添加新的运动候选之前LUT未满时的示例情况。
HMVP候选可以用在Merge候选列表构建过程中。在TMVP候选之后插入表中从最后条目到第一条目的所有HMVP候选(或者最后K0个HMVP,例如,K0等于16或6)。修剪应用于HMVP候选。一旦可用Merge候选的总数量达到信令通知的最大允许Merge候选,就终止Merge候选列表构建过程。替代地,一旦添加的运动候选的总数量达到给定值,就终止从LUT提取运动候选。在各种实施方式中,修剪可以包括:a)针对唯一性将运动信息与现有条目比较,或b)如果唯一,则将运动信息添加到列表,或c)如果不唯一,则c1)不添加或c2)添加运动信息并且删除匹配的现有条目。
类似地,HMVP候选也可以用在AMVP候选列表构建过程中。在TMVP候选之后插入表中的最后K1个HMVP候选的运动矢量。仅使用具有与AMVP目标参考图片相同的参考图片的HMVP候选来构建AMVP候选列表。修剪应用于HMVP候选。在一个示例中,K1设置为4。
图28是视频处理装置2800的框图。装置2800可以用于实施本文描述的方法中的一个或多个。装置2800可以体现在智能电话、平板电脑、计算机、物联网(Internet ofThings,IoT)接收器等中。装置2800可以包括一个或多个处理器2802、一个或多个存储器2804和视频处理硬件2806。(多个)处理器2802可以被配置为实施本文档中描述的一个或多个方法。存储器(多个存储器)2804可以用于存储用于实施本文描述的方法和技术的代码和数据。视频处理硬件2806可以用于以硬件电路实施本文档中描述的一些技术。
图29是用于视频处理方法2900的示例的流程图。方法2900包括在步骤2902处包括维护表的集合,其中每个表包括运动候选,并且每个运动候选与对应的运动信息相关联。方法2900还包括,在步骤2904处,使用来自表的集合的一个或多个表更新候选列表。方法2900还包括,在步骤2906处,基于候选列表执行基于表的当前块与包括当前块的视频的比特流表示之间的转换,并且其中转换基于从候选列表中的候选继承的运动信息。
图30是用于视频处理方法3000的示例的流程图。方法3000包括,在步骤3002处,接收包括当前块的视频的比特流表示。方法3000还包括,在步骤3004处,基于使用一个或多个表构造的候选列表处理比特流表示,其中每个表包括运动候选并且每个运动候选与对应的运动信息相关联,并且转换基于从候选列表中的候选继承的运动信息。
以下使用基于条款的描述格式描述了上述方法/技术的额外特征和实施例。
1.一种视频处理方法,包括:
维护表的集合,其中每个表包括运动候选并且每个运动候选与对应的运动信息相关联;使用来自表的集合的一个或多个表更新候选列表;以及基于候选列表执行基于表的当前块与包括当前块的视频的比特流表示之间的转换,其中转换基于从候选列表中的候选继承的运动信息。
2.一种视频处理方法,包括:接收包括当前块的视频的比特流表示;以及基于使用一个或多个表更新的候选列表处理比特流表示,其中每个表包括运动候选,每个运动候选与对应的运动信息相关联;并且转换基于从候选列表中的候选继承的运动信息。
3.如条款1所述的方法,其中转换的执行包括使用来自表的至少一个运动候选来执行Merge列表编码。
4.如条款2所述的方法,其中在Merge列表推导过程中检查表中的至少一个运动候选。
5.如条款1所述的方法,其中转换的执行包括基于当前块的仿射标志执行仿射编码。
6.如条款4所述的方法,其中将表中的特定运动候选添加为仿射候选。
7.如条款1所述的方法,还包括基于规则启用表中的运动候选的检查。
8.如条款7所述的方法,其中规则定义为:在Merge候选列表构造过程中,当在检查时间运动矢量预测值之后Merge候选列表未满时,启用所述检查。
9.如条款7所述的方法,其中规则定义为:当在检查用于空间Merge候选推导过程的某个空间相邻块之后Merge候选列表未满时,启用所述检查。
10.如条款7所述的方法,其中规则定义为:当在所有空间Merge候选之后Merge候选列表未满时,启用所述检查。
11.如条款7所述的方法,其中规则定义为:当在组合的双向预测Merge候选之后Merge候选列表未满时,启用所述检查。
12.如条款1所述的方法,其中来自一个或多个表的运动候选被用于子块Merge模式、仿射模式、三角Merge模式、帧间帧内Merge模式、或具有MVD的Merge模式。
13.如条款1所述的方法,还包括启用表中的运动候选的检查,其中在检查从空间或时间块推导的其它Merge候选之前启用所述检查。
14.如条款1所述的方法,还包括启用表中的运动候选的检查,其中在检查从空间或时间块推导的其它仿射候选之前启用所述检查。
15.如条款1所述的方法,还包括启用表中的运动候选的检查,其中在检查已经从空间或时间块推导的用于帧间编码的其它Merge候选之前启用所述检查。
16.如条款1所述的方法,还包括启用表中的运动候选的检查,其中当表中存在至少一个运动候选时启用所述检查。
17.如条款1所述的方法,其中表的运动候选的集合是从先前解码的视频块推导的,所述先前解码的视频块在当前块之前解码。
18.如条款1-17中任一项所述的方法,其中,转换的执行包括从视频块生成比特流表示。
19.如条款1-17中任一项所述的方法,其中,转换的执行包括从比特流表示生成视频块。
20.如条款1至19中任一项所述的方法,其中运动候选与运动信息相关联,所述运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度、或运动矢量差值。
21.如条款1-20中任一项所述的方法,还包括基于转换更新一个或多个表。
22.如条款21所述的方法,其中一个或多个表的更新包括在执行转换之后基于所述当前块的运动信息更新一个或多个表。
23.如条款22所述的方法,还包括:基于更新的表执行视频的后续视频块与视频的比特流表示之间的转换。
24.一种包括处理器和其上具有指令的非暂时性存储器的装置,其中所述指令在由所述处理器运行时使所述处理器实施如条款1至23中的一项或多项所述的方法。
25.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实行如条款1至23中的一项或多项所述的方法的程序代码。
从前述可以理解,本文已经出于说明的目的描述了本公开的技术的特定实施例,但是可以在不脱离本发明的范围情况下做出各种修改。因此,除了由所附权利要求之外,本公开的技术不受限制。
本文档中描述的公开的和其它实施例、模块和功能性操作可以在数字电子电路中实施,或者在计算机软件、固件、或硬件中实施,包括本文档中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实施。公开的和其它实施例可以实施为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备、和机器,示例地包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电信号、光信号、或电磁信号,生成信号以编码信息以便传输到合适的接收器装置。
计算机程序(也被称为程序、软件、软件应用、脚本、或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且其可以以任何形式部署,包括作为独立程序或作为适合于在计算环境中使用的模块、组件、子例程、或其它单元。计算机程序不必对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文档的部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文档中,或存储在多个协调文档(例如,存储一个或多个模块、子程序、或代码的部分的文档)中。可以部署计算机程序以在一个计算机上运行或者在定位在一个站点处或分布跨越多个站点并且通过通信网络互连的多个计算机上运行。
本文档中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据操作并且生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实施为专用逻辑电路,例如FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或ASIC(Application SpecificIntegrated Circuit,专用集成电路)。
适合于计算机程序的运行的处理器示例地包括通用和专用微处理器两者、以及任何种类的数字计算机的任何一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机也将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或向其传送数据或者进行接收数据和传送数据两者。但是,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,示例地包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但是这些细节不应该解释为对任何发明或可以要求保护的范围的限制,而是作为可以特定于具体发明的具体实施例的特征的描述。在本专利文档中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以分离地或以任何合适的子组合在多个实施例中实施。此外,尽管以上特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中切除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以具体顺序描绘了操作,但是这不应该理解为要求以所示的具体顺序或按次序顺序执行这样的操作,或者执行所有示出的操作,以达到期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中要求这样的分离。
仅描述了少数实施方式和示例,并且可以基于本专利文档中描述和示出的内容做出其它实施方式、增强和变化。

Claims (23)

1.一种视频处理方法,包括:
维护表的集合,其中所述表包括的运动候选推导自当前块之前被处理的视频块,其中所述表中的运动候选的排序是基于所述运动候选加入到所述表中的次序,并且当新的运动候选加入到所述表之前所述表是满的时,所述表中的至少一个运动候选被删除以将新的运动候选加入到所述表;
为当前块推导运动信息,所述当前块的编码模式为Merge模式,所述运动信息为从运动候选列表中的运动候选继承的运动信息;
基于所述运动信息,执行包括当前块的视频的比特流表示与所述当前块之间的转换;
其中,在运动候选列表构建过程中,一个或多个表中的一个或多个运动候选被可选择性地检查,所述运动候选列表构建过程用于为所述当前块推导运动信息。
2.一种视频处理方法,包括:
接收包括当前块的视频的比特流表示;以及
为当前块推导运动信息,所述当前块的编码模式为Merge模式,所述运动信息为从运动候选列表中的运动候选继承的运动信息;
基于所述运动信息,解码所述当前块;
其中,在运动候选列表构建过程中,一个或多个表中的一个或多个运动候选被可选择性地检查,所述运动候选列表构建过程用于为所述当前块推导运动信息,所述表包括的运动候选推导自当前块之前被处理的视频块,其中所述表中的运动候选的排序是基于所述运动候选加入到所述表中的次序,并且当新的运动候选加入到所述表之前所述表是满的时,所述表中的至少一个运动候选被删除以将新的运动候选加入到所述表。
3.如权利要求1或2所述的方法,其特征在于,在运动候选列表构建过程中,一个或多个表中的一个或多个运动候选被可选择性地检查,包括:
在所述运动候选列表构建过程中,在特定的运动候选被检查之后,所述一个或多个表中的一个或多个运动候选被可选择性地检查。
4.如权利要求1或2所述的方法,其中来自一个或多个表的运动候选被用于帧间帧内Merge模式、或具有MVD的Merge模式。
5.如权利要求3所述的方法,其中,所述特定的运动候选为时域运动矢量预测候选。
6.如权利要求3所述的方法,其中,所述特定的运动候选推导自特定空间相邻块。
7.如权利要求3所述的方法,其中,所述特定的运动候选为所有空间Merge候选。
8.如权利要求3所述的方法,其中,所述特定的运动候选为组合的双向预测Merge候选。
9.如权利要求1或2所述的方法,其中,对一个或多个表中的一个或多个运动候选被可选择性地检查在以下检查之前:对从空间或时间块推导的用于帧间编码的其它Merge候选的检查。
10.如权利要求1或2所述的方法,其中,对一个或多个表中的一个或多个运动候选被可选择性地检查在以下检查之前:对从空间或时间块推导的其它Merge候选的检查。
11.如权利要求1或2所述的方法,其中,对一个或多个表中的一个或多个运动候选被可选择性地检查在以下检查之前:对从空间或时间块推导的其它仿射候选的检查。
12.如权利要求1或2所述的方法,在满足至少一个条件时,所述一个或多个表中的一个或多个运动候选被可选择性地检查,所述至少一个条件包括以下中的至少一个:
在检查特定的运动候选之后,运动候选列表未满;
所述一个或多个表中存在至少一个运动候选。
13.如权利要求1或2所述的方法,其中转换的执行包括基于当前块的仿射标志执行仿射编/解码。
14.如权利要求11所述的方法,其中所述表中的至少一个运动候选添加为仿射候选。
15.如权利要求1或2所述的方法,其中,转换的执行包括从视频块生成比特流表示。
16.如权利要求1或2所述的方法,其中,转换的执行包括从比特流表示生成视频块。
17.如权利要求1或2所述的方法,其中运动候选与运动信息相关联,所述运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度、或运动矢量差值。
18.如权利要求1或2所述的方法,还包括:
基于转换更新一个或多个表。
19.如权利要求1或2所述的方法,其中一个或多个表的更新包括:基于所述当前块的运动信息更新一个或多个表。
20.如权利要求19所述的方法,还包括:
基于更新的表执行视频的后续视频块与视频的比特流表示之间的转换。
21.一种包括处理器和其上具有指令的非暂时性存储器的装置,其中所述指令在由所述处理器运行时使所述处理器实施如权利要求1至20中的任一项所述的方法。
22.一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,其中所述程序代码由计算机执行时,所述计算机实现根据权利要求1至20中任一项所述的方法。
23.一种存储视频的比特流的方法,所述方法包括:
维护表的集合,其中所述表包括的运动候选推导自当前块之前被处理的视频块,其中所述表中的运动候选的排序是基于所述运动候选加入到所述表中的次序,并且当新的运动候选加入到所述表之前所述表是满的时,所述表中的至少一个运动候选被删除以将新的运动候选加入到所述表;
为当前块推导运动信息,所述当前块的编码模式为Merge模式,所述运动信息为从运动候选列表中的运动候选继承的运动信息;
基于所述运动信息,生成当前块的视频的比特流;以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,在运动候选列表构建过程中,一个或多个表中的一个或多个运动候选被可选择性地检查,所述运动候选列表构建过程用于为所述当前块推导运动信息。
CN201910586445.5A 2018-06-29 2019-07-01 一种视频处理方法和装置 Active CN110662030B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/093663 2018-06-29
CN2018093663 2018-06-29
CNPCT/CN2019/072058 2019-01-16
CN2019072058 2019-01-16

Publications (2)

Publication Number Publication Date
CN110662030A CN110662030A (zh) 2020-01-07
CN110662030B true CN110662030B (zh) 2022-06-14

Family

ID=67441543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910586445.5A Active CN110662030B (zh) 2018-06-29 2019-07-01 一种视频处理方法和装置

Country Status (3)

Country Link
CN (1) CN110662030B (zh)
TW (1) TWI735900B (zh)
WO (1) WO2020003271A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709498B (zh) * 2020-05-20 2023-06-02 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN112633489B (zh) * 2020-12-30 2024-03-22 深圳大普微电子科技有限公司 一种查找表lut的合并方法、装置及设备
CN117321994A (zh) * 2021-04-09 2023-12-29 抖音视界有限公司 用于视频处理的方法、设备和介质
WO2023185935A1 (en) * 2022-03-29 2023-10-05 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2023193718A1 (en) * 2022-04-05 2023-10-12 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2488815A (en) * 2011-03-09 2012-09-12 Canon Kk Determining a temporal motion vector predictor to ensure diversity among a set of predictors
CN103891281A (zh) * 2011-10-18 2014-06-25 高通股份有限公司 检测用于视频译码的相邻视频单元的可用性
CN106851046A (zh) * 2016-12-28 2017-06-13 中国科学院自动化研究所 视频动态超分辨率处理方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2492778A (en) * 2011-07-11 2013-01-16 Canon Kk Motion compensated image coding by combining motion information predictors
US20130114717A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
US9338451B2 (en) * 2012-04-12 2016-05-10 Qualcomm Incorporated Common spatial candidate blocks for parallel motion estimation
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2488815A (en) * 2011-03-09 2012-09-12 Canon Kk Determining a temporal motion vector predictor to ensure diversity among a set of predictors
CN103891281A (zh) * 2011-10-18 2014-06-25 高通股份有限公司 检测用于视频译码的相邻视频单元的可用性
CN106851046A (zh) * 2016-12-28 2017-06-13 中国科学院自动化研究所 视频动态超分辨率处理方法及系统

Also Published As

Publication number Publication date
WO2020003271A1 (en) 2020-01-02
CN110662030A (zh) 2020-01-07
TW202025769A (zh) 2020-07-01
TWI735900B (zh) 2021-08-11

Similar Documents

Publication Publication Date Title
CN110662054B (zh) 用于视频处理的方法、装置、计算机可读存储介质
CN110662063B (zh) 视频处理方法、装置和计算机可读存储介质
CN110662064B (zh) Lut中的运动候选的检查顺序
CN110662039B (zh) 查找表的更新:fifo、约束的fifo
CN110662043B (zh) 一种用于处理视频数据的方法、装置和计算机可读介质
CN110662056B (zh) 哪个查找表需要更新或不更新
CN111064961B (zh) 视频处理方法和装置
CN113273186A (zh) Lut更新的调用
CN110662030B (zh) 一种视频处理方法和装置
CN110719464A (zh) 用时间信息扩展基于查找表的运动矢量预测
CN110719465A (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