CN110719476B - 用时间信息扩展基于查找表的运动矢量预测 - Google Patents

用时间信息扩展基于查找表的运动矢量预测 Download PDF

Info

Publication number
CN110719476B
CN110719476B CN201910637509.XA CN201910637509A CN110719476B CN 110719476 B CN110719476 B CN 110719476B CN 201910637509 A CN201910637509 A CN 201910637509A CN 110719476 B CN110719476 B CN 110719476B
Authority
CN
China
Prior art keywords
motion
block
video
candidate
candidates
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
CN201910637509.XA
Other languages
English (en)
Other versions
CN110719476A (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 CN110719476A publication Critical patent/CN110719476A/zh
Application granted granted Critical
Publication of CN110719476B publication Critical patent/CN110719476B/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/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/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/423Methods 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 characterised by memory arrangements
    • 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/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
    • 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/96Tree coding, e.g. quad-tree coding

Abstract

一种用于视频处理的方法,包括:通过始终使用来自当前图片中的第一视频块的多于一个空间相邻块的运动信息,并且不使用来自与当前图片不同的图片中的时间块的运动信息,来确定用于视频处理的新候选;以及通过使用所确定的新候选来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换。

Description

用时间信息扩展基于查找表的运动矢量预测
相关申请的交叉引用
根据适用的专利法和/或巴黎公约的规定,本申请及时要求于2018年7月14日提交的国际专利申请号PCT/CN2018/095716以及2018年7月15日提交的国际专利申请号PCT/CN2018/095719的优先权和利益。将国际专利申请号PCT/CN2018/095716和PCT/CN2018/095719的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本申请文件涉及视频编码技术、设备和系统。
背景技术
尽管视频压缩有所进步,数字视频在互联网和其它数字通信网络上使用的带宽仍然最大。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文件公开了用于使用运动矢量的Merge列表编码和解码数字视频的方法、系统和设备。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:通过平均两个或更多选择的运动候选,确定用于视频处理的新候选;将所述新候选增加到候选列表;通过使用所述候选列表中的确定的新候选,执行视频的第一视频块和视频的比特流表示之间的转换。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:通过使用来自一个或多个表的一个或多个运动候选来确定用于视频处理的新运动候选,其中表包括一个或多个运动候选,并且每个运动候选是关联的运动信息;基于新候选者在视频块和视频块的编码表示之间执行转换。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:通过始终使用来自当前图片中的第一视频块的多于一个空间相邻块的运动信息,并且不使用来自与当前图片不同的图片中的时间块的运动信息,来确定用于视频处理的新候选;通过使用所确定的新候选来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:通过使用来自当前图片中的第一视频块的至少一个空间非紧邻块的运动信息、以及从第一视频块的空间非紧邻块或并非从第一视频块的空间非紧邻块推导出的其他候选,来确定用于视频处理的新候选;通过使用所确定的新候选,来执行视频的第一视频块与该视频的比特流表示之间的转换。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:通过使用来自当前图片中的第一视频块的一个或多个表的运动信息和来自不同于当前图片的图片中的时间块的运动信息,来确定用于视频处理的新候选;通过使用所确定的新候选,来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:通过使用来自第一视频块的一个或多个表的运动信息和来自第一视频块的一个或多个空间相邻块的运动信息,来确定用于视频处理的新候选;通过使用所确定的新候选,来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:保持一组表,其中每个表包括运动候选,并且每个运动候选与对应的运动信息相关联;执行第一视频块与包括该第一视频块的视频的比特流表示之间的转换;以及通过基于第一视频块的编码/解码模式选择性地对一个或多个表中的现有运动候选进行修剪,来更新该一个或多个表。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:保持一组表,其中每个表包括运动候选,并且每个运动候选与对应的运动信息相关联;执行第一视频块与包括该第一视频块的视频的比特流表示之间的转换;以及更新一个或多个表,以包括来自所述第一视频块的一个或多个时间相邻块的运动信息作为新的运动候选。
在一个示例的方面,公开了一种更新运动候选表的方法。该方法包括:基于正被处理的视频块的编码/解码模式,选择性地对表中的现有运动候选进行修剪,每个运动候选与对应的运动信息相关联;以及更新所述表,以包括视频块的运动信息作为新的运动候选。
在一个示例的方面,公开了一种更新运动候选表的方法。该方法包括:保持运动候选表,每个运动候选与对应的运动信息相关联;以及更新所述表,以包括来自正被处理的视频块的一个或多个时间相邻块的运动信息作为新的运动候选。
在一个示例的方面,公开了一种视频处理方法。该视频处理方法包括:通过使用来自一个或多个表的一个或多个运动候选,来确定用于视频处理的新的运动候选,其中表包括一个或多个运动候选,并且每个运动候选与运动信息相关联;以及基于新候选,在视频块和视频块的编码表示之间执行转换。
在一个示例的方面,公开了一种视频系统中的装置。该装置包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由处理器执行时使处理器实现本文所述的各种方法。
本文所述的各种技术可以实施为存储在非暂时性计算机可读介质上的计算机程序产品。计算机程序产品包括用于执行本文所述方法的程序代码。
在附件、附图和下面的描述中阐述了一个或多个实现的细节。其它特征将从说明书和附图以及权利要求书中显而易见。
附图说明
图1是示出视频编码器实现的示例的框图。
图2图示了H.264视频编码标准中的宏块分割。
图3图示了将编码块(CB)划分成预测块(PB)的示例。
图4图示了将编码树块(CTB)细分成CB和转换块(TB)的示例实现。实线表示CB边界,且虚线表示TB边界,包括带分割的示例CTB和相应的四叉树。
图5示出了用于分割视频数据的四叉树二叉树(QTBT)结构的示例。
图6示出了视频块分割的示例。
图7示出了四叉树分割的示例。
图8示出了树型信令的示例。
图9示出了Merge候选列表构造的推导过程的示例。
图10示出了空间Merge候选的示例位置。
图11示出了考虑到空间Merge候选的冗余检查的候选对的示例。
图12示出了Nx2N和2NxN分割的第二个PU的位置的示例。
图13图示了时域Merge候选的示例运动矢量缩放。
图14示出了时域Merge候选的候选位置以及它们的并置图片。
图15示出了组合双向预测Merge候选的示例。
图16示出了运动矢量预测候选的推导过程的示例。
图17示出了空间运动矢量候选的运动矢量缩放的示例。
图18示出了编码单元(CU)的运动预测的示例可选时域运动矢量预测(ATMVP)。
图19图示地描绘了源块和源图片的识别的示例。
图20示出了具有四个子块和相邻块的一个CU的示例。
图21图示了双边匹配的示例。
图22图示了模板匹配的示例。
图23描绘了帧速率上转换(FRUC)中的单边运动估计(ME)的示例。
图24示出了基于双边模板匹配的解码器侧运动矢量细化(DMVR)的示例。
图25示出了用于推导光照补偿IC参数的空间相邻块的示例。
图26示出了用于推导空间Merge候选的空间相邻块的示例。
图27示出了使用相邻帧间预测块的示例。
图28示出了平面运动矢量预测过程的示例。
图29示出了挨着当前编码单元(CU)行的位置的示例。
图30是说明可用于实现本公开技术的各个部分的计算机系统或其它控制设备的结构的示例的框图。
图31示出了可用于实现本公开技术的各个部分的移动设备的示例实施例的框图。
图32示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图33示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图34示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图35示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图36示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图37示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图38示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图39示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
图40示出了根据当前公开的技术的用于更新运动候选表的示例方法的流程图。
图41示出了根据当前公开的技术的用于更新运动候选表的示例方法的流程图。
图42示出了根据当前公开的技术的用于视频处理的示例方法的流程图。
具体实施方式
为了提高视频的压缩比,研究人员不断寻找新的技术来编码视频。
1.介绍
本文件与视频编码技术相关。具体地,与视频编码中的运动信息编码(例如Merge模式、AMVP模式)相关。其可应用于现有的视频编码标准HEVC,或待最终确定的标准多功能视频编码(VVC)。也可能适用于未来的视频编码标准或视频编解码器。
简要讨论
视频编码标准主要是通过开发公知的ITU-T和ISO/IEC标准而发展起来的。ITU-T开发了H.261和H.263,ISO/IEC开发了MPEG-1和MPEG-4视觉,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编码(AVC)和H.265/HEVC标准。自H.262以来,视频编码标准基于混合视频编码结构,其中采用了时域预测加变换编码。典型HEVC编码器框架的示例如图1所示。
2.1分割结构
2.1.1H.264/AVC中的分割树结构
先前标准中编码层的核心是宏块,包含16×16的亮度样本块,并且在常规的4:2:0颜色采样情况下,包含两个对应的8×8的色度样本块。
内部编码块使用空间预测来探索像素之间的空间相关性。定义了两种分割:16x16和4x4。
帧间编码块通过估计图片之间的运动来使用时域预测,而不是空间预测。可以单独估计16x16宏块或其任何子宏块分割的运动:16x8、8x16、8x8、8x4、4x8、4x4(见图2)。每个子宏块分割只允许一个运动矢量(MV)。
2.1.2HEVC中的分割树结构
在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)预测单元(PU)和预测块(PB):在CU级别决定是使用帧间预测还是帧内预测对图片区域进行编码。PU分割结构的根位于CU级。取决于基本的预测类型决定,可以在尺寸上进一步划分亮度和色度CB,并从亮度和色度预测块(PB)中预测亮度和色度CB。HEVC支持从64×64到4×4个样本的可变PB尺寸。图3示出了MxM CU的允许PB示例。
4)变换单元(TU)和变换块(TB):使用块变换对预测残差进行编码。TU树结构的根位于CU级。亮度CB残差可能与亮度TB相同,或者也可能进一步划分成更小的亮度变换块TB。同样适用于色度TB。对于4×4、8×8、16×16和32×32的方形TB定义了与离散余弦变换(DCT)相似的整数基函数。对于亮度帧内预测残差的4×4变换,也可以指定从离散正弦变换(DST)形式推导的整数变换。
图4示出了将CTB细分成CB(和转换块(TB))的示例。实线指示CB边界,并且虚线指示TB边界。(a)带分割的CTB。(b)对应的四叉树。
2.1.2.1分割成变换块和单元的树形结构划分
对于残差编码,CB可以递归地分割为转换块(TB)。分割由残差四叉树发信令。只指定了方形CB和TB分割,其中块可以递归地划分为四象限,如图4所示。对于尺寸为M×M的给定的亮度CB,标志指示它是否被划分成四个尺寸为M/2×M/2的块。如果可以进一步划分,如序列参数集(SPS)中指示的残差四叉树的最大深度所指示的那样,每个象限都会分配一个标志,指示是否将其划分为四个象限。由残差四叉树生成的叶节点块是由变换编码进一步处理的变换块。编码器指示它将使用的最大和最小亮度TB尺寸。当CB尺寸大于最大TB尺寸时,则暗示划分。当划分将导致比指示的最小值更小的亮度TB尺寸时,则暗示不划分。色度TB尺寸在每个维度上是亮度TB尺寸的一半,但当亮度TB尺寸为4×4时除外,在这种情况下,被四个4×4亮度TB覆盖的区域使用单个4×4色度TB。在帧内预测的CU的情况下,最近相邻TB(CB内或CB外)的解码样本用作帧内预测的参考数据。
与以前的标准不同,对于帧间预测的CU,HEVC设计允许TB跨越多个PB,以最大化得益于四叉树结构的TB分割的潜在编码效率。
2.1.2.2父节点和子节点
根据四叉树结构对CTB进行划分,其节点为编码单元。四叉树结构中的多个节点包括叶节点和非叶节点。叶节点在树结构中没有子节点(即,叶节点不会进一步划分)。非叶节点包括树结构的根节点。根节点对应于视频数据的初始视频块(例如,CTB)。对于多个节点的每个各自的非根节点,各自的非根节点对应于视频块,该视频块是对应于各自非根节点的树结构中的父节点的视频块的子块。多个非叶节点的每个各自的非叶节点在树结构中具有一个或多个子节点。
2.1.3联合探索模型(JEM)中具有较大CTU的四叉树加二叉树块结构
为探索HEVC之外的未来视频编码技术,VCEG和MPEG于2015年共同成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。
2.1.3.1QTBT块分割结构
与HEVC不同,QTBT结构消除了多个分割类型的概念,即,其消除了CU、PU和TU概念的分离,并支持CU分割形状的更多灵活性。在QTBT块结构中,CU可以是方形或矩形。如图5所示,首先用四叉树结构对编码树单元(CTU)进行分割。四叉树叶节点进一步被二叉树结构分割。在二叉树划分中有两种分割类型:对称的水平划分和对称的垂直划分。二叉树叶节点被称为编码单元(CU),该划分用于预测和转换处理,而无需进一步分割。这意味着在QTBT编码块结构中CU、PU和TU具有相同的块尺寸。在JEM中,CU有时由不同颜色分量的编码块(CB)组成,例如,在4:2:0色度格式的P条带和B条带中,一个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,MaxBTSize被设置为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条带,用QTBT结构将亮度CTB分割为CU,用另一个QTBT结构将色度CTB分割为色度CU。这意味着I条带中的CU由亮度分量的编码块或两个色度分量的编码块组成,P条带或B条带中的CU由所有三种颜色分量的编码块组成。
在HEVC中,为了减少运动补偿的内存访问,限制小块的帧间预测,使得4×8和8×4块不支持双向预测,并且4×4块不支持帧间预测。在JEM的QTBT中,这些限制被移除。
2.1.4多功能视频编码(VVC)的三叉树
如JVET-D0117中提出的,也支持四叉树和二叉树以外的树类型。在实现中,引入了两个额外的三叉树(TT)划分,即,水平和垂直中心侧三叉树,如图6(d)和(e)所示。
图6示出了:(a)四叉树分割,(b)垂直二叉树分割(c)水平二叉树分割(d)垂直中心侧三叉树分割,和(e)水平中心侧三叉树分割。
在一些实现中,有两个层次的树:区域树(四叉树)和预测树(二叉树或三叉树)。首先用区域树(RT)对CTU进行划分。可以进一步用预测树(PT)划分RT叶。也可以用PT进一步划分PT叶,直到达到最大PT深度。PT叶是基本的编码单元。为了方便起见,它仍然被称为CU。CU不能进一步划分。预测和变换都以与JEM相同的方式应用于CU。整个分割结构被称为“多类型树”。
2.1.5JVET-J0021中的分割结构
被称为多树型(MTT)的树结构是QTBT的广义化。在QTBT中,如图5所示,首先用四叉树结构对编码树单元(CTU)进行划分。然后用二叉树结构对四叉树叶节点进行进一步划分。
MTT的基本结构由两种类型的树节点组成:区域树(RT)和预测树(PT),支持九种类型的划分,如图7所示。
图7图示了:(a)四叉树分割,(b)垂直二叉树分割,(c)水平二叉树分割,(d)垂直三叉树分割,(e)水平三叉树分割,(f)水平向上非对称二叉树分割,(g)水平向下非对称二叉树分割,(h)垂直的左非对称二叉树分割,和(i)垂直的右非对称二叉树分割。
区域树可以递归地将CTU划分为方形块,直至4x4尺寸的区域树叶节点。在区域树的每个节点上,可以从三种树类型中的一种形成预测树:二叉树(BT)、三叉树(TT)和非对称二叉树(ABT)。在PT划分中,禁止在预测树的分支中进行四叉树分割。和JEM一样,亮度树和色度树在I条带中被分开。RT和PT的信令方法如图8所示。
2.2HEVC/H.265中的帧间预测
每个帧间预测的PU具有一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。对两个参考图片列表中的一个的使用也可以使用inter_pred_idc来信令通知。运动矢量可以相对于预测器显式地编码为增量,这种编码模式称为高级运动矢量预测(AMVP)模式。
当CU采用跳跃模式编码时,一个PU与CU相关联,并且没有显著的残差系数、没有编码的运动矢量增量或参考图片索引。指定了一种Merge模式,通过该模式,可以从相邻的PU(包括空间和时域候选)中获取当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅仅是跳跃模式。Merge模式的另一种选择是运动参数的显式传输,其中运动矢量、每个参考图片列表对应的参考图片索引和参考图片列表的使用都会在每个PU中显式地用信令通知。
当信令指示要使用两个参考图片列表中的一个时,从一个样本块中生成PU。这被称为“单向预测”。单向预测对P条带和B条带都可用。
当信令指示要使用两个参考图片列表时,从两个样本块中生成PU。这被称为“双向预测”。双向预测仅对B条带可用。
下文提供HEVC中规定的帧间预测模式的细节。描述将从Merge模式开始。
2.2.1Merge模式
2.2.1.1Merge模式的候选的推导
当使用Merge模式预测PU时,从比特流分析指向Merge候选列表中条目的索引,并用于检索运动信息。该列表的结构在HEVC标准中有规定,并且可以按照以下步骤顺序进行概括:
步骤1:初始候选推导
步骤1.1:空域候选推导
步骤1.2:空域候选的冗余检查
步骤1.3:时域候选推导
步骤2:附加候选插入
步骤2.1:双向预测候选的创建
步骤2.2:零运动候选的插入
在图9中也示意性描述了这些步骤。对于空间Merge候选推导,在位于五个不同位置的候选中最多选择四个Merge候选。对于时域Merge候选推导,在两个候选中最多选择一个Merge候选。由于在解码器处假定每个PU的候选数为常量,因此当候选数未达到条带报头中发信令的最大Merge候选数(MaxNumMergeCand)时,生成附加的候选。由于候选数是恒定的,所以最佳Merge候选的索引使用截断的一元二值化(TU)进行编码。如果CU的大小等于8,则当前CU的所有PU都共享一个Merge候选列表,这与2N×2N预测单元的Merge候选列表相同。
下面详细介绍与上述步骤相关的操作。
2.2.1.2空域候选推导
在空间Merge候选的推导中,在位于图10所示位置的候选中最多选择四个Merge候选。推导顺序为A1、B1、B0、A0和B2。只有当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一个条带或片)或是内部编码时,才考虑位置B2。在增加A1位置的候选后,对其余候选的增加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而提高编码效率。为了降低计算的复杂度,在所提到的冗余检查中并不考虑所有可能的候选对。相反,只有与图11中的箭头链接的对才会被考虑,并且只有当用于冗余检查的对应候选没有相同的运动信息时,才将候选添加到列表中。复制运动信息的另一个来源是与2N×2N不同的分区相关的“第二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候选。图示用于时间Merge候选的运动矢量缩放。
在属于参考帧的并置PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图14所示。如果位置C0处的PU不可用、内部编码或在当前CTU之外,则使用位置C1。否则,位置C0被用于时域Merge候选的推导。
2.2.1.4附加候选插入
除了空时Merge候选,还有两种附加类型的Merge候选:组合双向预测Merge候选和零Merge候选。组合双向预测Merge候选是利用空时Merge候选生成的。组合双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一候选的第二参考图片列表运动参数相结合,生成组合双向预测候选。如果这两个元组提供不同的运动假设,它们将形成新的双向预测候选。图15示出了原始列表中(在左侧)的两个候选被用于创建添加到最终列表(在右侧)中的组合双向预测Merge候选的情况,其具有MvL0和refIdxL0或MvL1和refIdxL1的两个候选。有许多关于组合的规则需要考虑以生成这些附加Merge候选。
插入零运动候选以填充Merge候选列表中的其余条目,从而达到MaxNumMergeCand的容量。这些候选具有零空间位移和从零开始并且每次将新的零运动候选添加到列表中时都会增加的参考图片索引。这些候选使用的参考帧的数目对于单向预测和双向预测分别是1帧和2帧。最后,对这些候选不执行冗余检查。
2.2.1.5并行处理的运动估计区域
为了加快编码处理,可以并行执行运动估计,从而同时推导给定区域内所有预测单元的运动矢量。从空间邻域推导Merge候选可能会干扰并行处理,因为一个预测单元在完成相关运动估计之前无法从相邻的PU推导运动参数。为了缓和编码效率和处理延迟之间的平衡,HEVC定义了运动估计区域(MER)。可使用如下所述的语法元素“log2_parallel_merge_level_minus2”在图片参数集中对MER的尺寸中进行信令通知。当定义MER时,落入同一区域的Merge候选标记为不可用,并且因此在列表构建中不考虑。
图片参数设置原始字节序列有效载荷(RBSP)语法
通用图片参数集RBSP语法
Figure BDA0002130758580000131
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.2AMVP模式中的运动矢量预测
运动矢量预测利用运动矢量与相邻的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候选的平行推导。否则,不允许对上述运动矢量进行空间缩放。
在空间缩放处理中,相邻PU的运动矢量以与时域缩放相似的方式缩放,如图17所示。主要区别在于,给出了当前PU的参考图片列表和索引作为输入,实际缩放处理与时域缩放处理相同。
2.2.2.3时域运动矢量候选
除了参考图片索引的推导外,时域Merge候选的所有推导过程与空间运动矢量候选的推导过程相同(参见例如图6)。向解码器信令通知参考图片索引。
2.2.2.4AMVP信息的信令
对于AMVP模式,可以在比特流对四个部分发信令,包括预测方向、参考索引、MVD和MV预测候选索引。
语法表:
Figure BDA0002130758580000161
运动矢量差语法
Figure BDA0002130758580000171
2.3联合探索模型(JEM)中新的帧间预测方法
2.3.1基于子CU的运动矢量预测
在具有QTBT的JEM中,每个CU对于每个预测方向最多可以具有一组运动参数。通过将大的CU分割成子CU并推导该大CU的所有子CU的运动信息,编码器中考虑了两种子CU级的运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从多个小于并置参考图片中当前CU的块中获取多组运动信息。在空时运动矢量预测(STMVP)方法中,通过利用时域运动矢量预测器和空间邻接运动矢量递归地推导子CU的运动矢量。
为了为子CU运动预测的保持更精确的运动场,当前禁用参考帧的运动压缩。
2.3.1.1可选时域运动矢量预测
在可选时域运动矢量预测(ATMVP)方法中,运动矢量时域运动矢量预测(TMVP)是通过从小于当前CU的块中提取多组运动信息(包括运动矢量和参考索引)来修改的。如图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块的运动信息后,将其转换为当前子CU的运动矢量和参考索引,与HEVC的TMVP方法相同,其中应用运动缩放和其它处理。例如,解码器检查是否满足低延迟条件(即,当前图片的所有参考图片的POC都小于当前图片的POC),并可能使用运动矢量MVx(与参考图片列表X对应的运动矢量)来为每个子CU预测运动矢量MVy(X等于0或1且Y等于1-X)。
2.3.1.2空时运动矢量预测
在这种方法中,子CU的运动矢量是按照光栅扫描顺序递归推导的。图20图示了这一概念。考虑一个8×8的CU,它包含四个4×4的子CU A、B、C和D。当前帧中相邻的4×4的块标记为a、b、c和d。
子CU A的运动推导由识别其两个空间邻居开始。第一个邻居是子CU A上方的N×N块(块c)。如果该块c不可用或内部编码,则检查子CU A上方的其它N×N块(从左到右,从块c处开始)。第二个邻居是子CU A左侧的一个块(块b)。如果块b不可用或是内部编码,则检查子CU A左侧的其它块(从上到下,从块b处开始)。每个列表从相邻块获得的运动信息被缩放到给定列表的第一个参考帧。接下来,按照HEVC中规定的与TMVP相同的程序,推推导子块A的时域运动矢量预测(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索引的所有bin文件都由CABAC进行上下文编码。然而在HEVC中,只有第一个bin文件是上下文编码的,并且其余的biN文件是上下文旁路编码的。
2.3.2自适应运动矢量差分辨率
在HEVC中,当在条带报头中use_integer_mv_flag等于0时,运动矢量差(MVD)(在PU的运动矢量和预测运动矢量之间)以四分之一亮度样本为单位发信令。在JEM中,引入了局部自适应运动矢量分辨率(LAMVR)。在JEM中,MVD可以用四分之一亮度样本、整数亮度样本或四亮度样本的单位进行编码。MVD分辨率控制在编码单元(CU)级别,并且MVD分辨率标志有条件地为每个至少有一个非零MVD分量的CU发信令。
对于具有至少一个非零MVD分量的CU,第一个标志将发信令以指示CU中是否使用四分之一亮度样本MV精度。当第一个标志(等于1)指示不使用四分之一亮度样本MV精度时,另一个标志发信令以指示是使用整数亮度样本MV精度还是使用四亮度样本MV精度。
当CU的第一个MVD分辨率标志为零或没有为CU编码(意味着CU中的所有MVD都为零)时,CU使用四分之一亮度样本MV分辨率。当一个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.3模式匹配运动矢量推导
模式匹配运动矢量推导(PMMVD)模式是基于帧速率上转换(FRUC)技术的特殊Merge模式。在这种模式下,块的运动信息不会被发信令,而是在解码器侧推导。
对于CU,当其Merge标志为真时,对FRUC标志发信令。当FRUC标志为假时,对Merge索引发信令并且使用常规Merge模式。当FRUC标志为真时,对另一个FRUC模式标志发信令来指示将使用哪种模式(双边匹配或模板匹配)来推导该块的运动信息。
在编码器侧,基于对正常Merge候选所做的RD成本选择决定是否对CU使用FRUCMerge模式。即通过使用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。M的值按照(16)计算,D是预先定义的划分深度,在JEM中默认设置为3。然后推导每个子CU的MV值。
Figure BDA0002130758580000211
如图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.1CU级MV候选集
CU级的MV候选集包括:
(i)原始AMVP候选,如果当前CU处于AMVP模式,
(ii)所有Merge候选,
(iii)插值MV场中的几个MV。
(iv)顶部和左侧相邻运动矢量
当使用双边匹配时,Merge候选的每个有效MV用作输入,以生成假设为双边匹配的MV对。例如,Merge候选在参考列表A处的一个有效MV为(MVa,refa)。然后在另一个参考列表B中找到其配对的双边MV的参考图片refb,以便refa和refb在时间上位于当前图片的不同侧。如果参考列表B中的参考refb不可用,则将参考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添加到候选列表中。
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级的候选集中选择候选时,匹配成本是双边匹配或模板匹配的绝对和差(SAD)。在确定起始MV后,双边匹配在子CU级搜索的匹配成本C计算如下:
Figure BDA0002130758580000231
这里,w是权重系数,被经验地设置为4。MV和MVs分别指示当前MV和起始MV。仍然将SAD用作模式匹配在子CU级搜索的匹配成本。
在FRUC模式下,MV通过仅使用亮度样本推导。推导的运动将用于亮度和色度的MC帧间预测。确定MV后,对亮度使用8抽头(8-taps)插值滤波器并且对色度使用4抽头(4-taps)插值滤波器执行最终MC。
2.3.3.5MV细化
MV细化是基于模式的MV搜索,以双边成本或模板匹配成本为标准。在JEM中,支持两种搜索模式—无限制中心偏置菱形搜索(UCBDS)和自适应交叉搜索,分别在CU级别和子CU级别进行MV细化。对于CU级和子CU级的MV细化,都在四分之一亮度样本精度下直接搜索MV,接着是八分之一亮度样本MV细化。将CU和子CU步骤的MV细化的搜索范围设置为8个亮度样本。
2.3.3.6模板匹配FRUC Merge模式下预测方向的选择
在双边Merge模式下,总是应用双向预测,因为CU的运动信息是在两个不同的参考图片中基于当前CU运动轨迹上两个块之间的最近匹配得出的。模板匹配Merge模式没有这种限定。在模板匹配Merge模式下,编码器可以从列表0的单向预测、列表1的单向预测或者双向预测中为CU做出选择。该选择基于如下的模板匹配成本:
如果costBi<=factor*min(cost0,cost1)
则使用双向预测;
否则,如果cost0<=cost1
则使用列表0中的单向预测;
否则,
使用列表1中的单向预测;
其中cost0是列表0模板匹配的SAD,cost1是列表2模板匹配的SAD,并且costBi是双向预测模板匹配的SAD。factor的值等于1.25,意味着选择处理朝双向预测偏移。帧间预测方向选择可以仅应用于CU级模板匹配处理。
2.3.4解码器侧运动矢量细化
在双向预测操作中,对于一个块区域的预测,将两个分别由列表0的运动矢量(MV)和列表1的MV形成的预测块组合形成单个预测信号。在解码器侧运动矢量细化(DMVR)方法中,通过双边模板匹配处理进一步细化双向预测的两个运动矢量。解码器中应用的双边模板匹配用于在双边模板和参考图片中的重建样本之间执行基于失真的搜索,以便在不传输附加运动信息的情况下获得细化的MV。
在DMVR中,双边模板被生成为两个预测块的加权组合(即平均),其中两个预测块分别来自列表0的初始MV0和列表1的MV1。模板匹配操作包括计算生成的模板与参考图片中的样本区域(在初始预测块周围)之间的成本度量。对于两个参考图片中的每一个,产生最小模板成本的MV被视为该列表的更新MV,以替换原始MV。在JEM中,为每个列表搜索九个MV候选。九个MV候选包括原始MV和8个周边MV,这八个周边MV在水平或垂直方向上或两者与原始MV具有一个亮度样本的偏移。最后,使用图24所示的两个新的MV(即MV0′和MV1′)生成最终的双向预测结果。绝对差异之和(SAD)被用作成本度量。
在不传输附加语法元素的情况下,将DMVR应用于双向预测的Merge模式,其中一个MV来自过去的参考图片,并且另一个MV来自未来的参考图片。在JEM中,当为CU启用LIC、仿射运动、FRUC或子CU Merge候选时,不应用DMVR。
2.3.5局部光照补偿
局部光照补偿(IC)基于用于光照改变的线性模型,使用缩放因子a和偏移b。并且针对每个帧间模式编码的编码单元(CU)自适应地启用或禁用局部光照补偿。
当IC应用于CU时,采用最小平方误差方法通过使用当前CU的相邻样点及其对应的参考样点来推导参数a和b。更具体地,如图25所示,使用CU的子采样的(2:1子采样)相邻样点和参考图片中的(由当前CU或子CU的运动信息识别的)对应样点。IC参数被推导并分别应用于每个预测方向。
当以Merge模式对CU进行编码时,以与Merge模式中的运动信息复制类似的方式从相邻块复制IC标志;否则,对CU信令通知IC标志以指示LIC是否适用。
当针对图片启用IC时,需要附加CU级别RD检查以确定是否将LIC应用于CU。当针对CU启用IC时,对于整数像素运动搜索和分数像素运动搜索分别使用均值移除绝对和差(Mean-Removed Sum of Absolute Diffefference,MR-SAD)以及均值移除绝对Hadamard变换和差(Mean-Removed Sum of Absolute Hadamard-Transformed Difference,MR-SATD),而不是SAD和SATD。
为了降低编码复杂度,在JEM中应用以下编码方案。当当前图片与其参考图片之间没有明显的光照改变时,针对全部图片禁用IC。为了识别这种情况,在编码器处计算当前图片的直方图和当前图片的每个参考图片。如果当前图片与当前图片的每个参考图片之间的直方图差异小于给定阈值,则针对当前图片禁用IC;否则,针对当前图片启用IC。
2.3.6具有双向匹配细化的Merge/跳过模式
首先通过利用冗余检查将空间相邻和时间相邻块的运动矢量和参考索引插入候选列表中来构造Merge候选列表,直到可用候选的数量达到最大候选尺寸19。通过根据预定义的插入顺序,在插入空间候选(图26)、时间候选、仿射候选、高级时间MVP(AdvancedTemporal MVP,ATMVP)候选、时空MVP(Spatial Temporal,STMVP)候选和HEVC中使用的附加候选(组合候选和零候选)来构造Merge/跳过模式的Merge候选列表:
(1)块1-4的空间候选
(2)块1-4的外推(extrapolated)仿射候选
(3)ATMVP
(4)STMVP
(5)虚拟仿射候选
(6)空间候选(块5)(仅当可用候选的数量小于6时使用)
(7)外推仿射候选(块5)
(8)时间候选(如在HEVC中推导的)
(9)非邻近空间候选,其后是外推仿射候选(块6至49)
(10)组合候选
(11)零候选
注意到,除了STMVP和仿射之外,IC标志也从Merge候选继承。而且,对于前四个空间候选,在具有单向预测的候选之前插入双向预测候选。
2.3.7JVET-K0161
在本提议中,没有提出子块STMVP作为空间-时间Merge模式。所提出的方法使用共位块,其与HEVC/JEM(仅1个图片,此处没有时间矢量)相同。所提出的方法还检查上部和左侧空间位置,该位置在该提议中被调节。具体地,为了检查相邻的帧间预测信息,对于每个上方和左侧检查最多两个位置。确切的位置如图27所示。
Afar:(nPbW*5/2,-1),Amid(nPbW/2,-1)(注意:当前块上方的上方空间块的偏移量)
Lfar:(-1,nPbH*5/2),Lmid(-1,nPbH/2)(注意:当前块上方的左侧空间块的偏移)
上方块、左侧块和时间块的运动矢量的平均值被计算为与BMS软件实现方式相同。如果3个参考帧间预测块可用。
mvLX[0]=((mvLX_A[0]+mvLX_L[0]+mvLX_C[0])*43)/128
mvLX[1]=((mvLX_A[1]+mvLX_L[1]+mvLX_C[1])*43)/128
如果仅有两个或一个帧间预测块可用,则使用两个的平均值或者仅使用一个mv。
2.3.8JVT-K0135
为了生成平滑的细粒度运动场,图28给出了平面运动矢量预测过程的简要描述。
通过如下在4×4块的基础上对水平和垂直线性插值求平均,来实现平面运动矢量预测。
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W)
W和H表示块的宽度和高度。(x,y)是当前子块相对于左上角子块的坐标。所有距离由像素距离除以4表示。P(x,y)是当前子块的运动矢量。
位置(x,y)的水平预测Ph(x,y)和垂直预测Ph(x,y)计算如下:
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
其中L(-1,y)和R(W,y)是当前块左侧和右侧的4x4块的运动矢量。A(x,-1)和B(x,H)是当前块上方和底部的4x4块的运动矢量。
从当前块的空间相邻块推导出左侧列和上方行相邻块的参考运动信息。
右侧列和底部行相邻块的参考运动信息如下推导出。
推导右下方时间相邻4×4块的运动信息
使用推导出的右下方相邻4×4块的运动信息以及右上方相邻4×4块的运动信息,来计算右侧列相邻4×4块的运动矢量,如公式K1中所描述。
使用推导出的右下方相邻4×4块的运动信息以及左下方相邻4×4块的运动信息,来计算底部行相邻4×4块的运动矢量,如公式K2中所描述。
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H 公式K1
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W 公式K2
其中AR是右上方空间相邻4×4块的运动矢量,BR是右下方时间相邻4×4块的运动矢量,并且BL是左下方空间相邻4×4块的运动矢量。
对于每个列表从相邻块获得的运动信息被缩放到给定列表的第一参考图片。
3.通过本文公开的实施例解决的问题的示例
发明人先前已提出基于查找表的运动矢量预测技术,其使用存储有至少一个运动候选的一个或多个查找表以预测块的运动信息,其可以在各种实施例中实现以提供具有更高编码效率的视频编码。每个LUT可以包括一个或多个运动候选,每个运动候选与对应的运动信息相关联。运动候选的运动信息可包括预测方向、参考索引/图片、运动矢量、LIC标志、仿射标志、运动矢量差(MVD)精度和/或MVD值。运动信息还可以包括块位置信息,以指示运动信息来自哪里。
基于所公开的技术的基于LUT的运动矢量预测可以增强现有和未来的视频编码标准,其在以下针对各种实现方式所描述的示例中阐明。因为LUT允许基于历史数据(例如,已经被处理的块)执行编码/解码过程,所以基于LUT的运动矢量预测也可以被称为基于历史的运动矢量预测(HMVP)方法。在基于LUT的运动矢量预测方法中,在编码/解码过程期间保持具有来自先前被编码的块的运动信息的一个或多个表。存储在LUT中的这些运动候选被命名为HMVP候选。在一个块的编码/解码期间,可以将LUT中的相关联的运动信息添加到运动候选列表(例如,Merge/AMVP候选列表),并且在对一个块进行编码/解码之后,可以更新LUT。然后使用更新后的LUT来编码后续块。也就是说,LUT中的运动候选的更新基于块的编码/解码顺序。以下示例应被视为解释一般概念的示例。不应以狭窄的方式解释这些示例。此外,这些实例可以以任何方式组合。
一些实施例可以使用存储有至少一个运动候选的一个或多个查找表,以预测块的运动信息。实施例可以使用运动候选来指示存储在查找表中的一组运动信息。对于传统的AMVP或Merge模式,实施例可以使用AMVP或Merge候选来存储运动信息。
尽管当前的基于LUT的运动矢量预测技术通过使用历史数据克服了HEVC的缺点,但是,仅考虑来自空间相邻块的信息。
当将来自LUT的运动候选用于AMVP或Merge列表构建过程时,直接继承它而不做任何改变。
JVET-K0161的设计有益于编码性能。然而,它需要额外推导TMVP,这增加了计算复杂性和存储器带宽。
4.一些示例
以下示例应被视为解释一般概念的示例。不应以狭窄的方式解释这些示例。此外,这些实例可以以任何方式组合。
使用当前公开的技术的一些实施例可以联合使用来自LUT的运动候选和来自时间相邻块的运动信息。此外,还提出了JVET-K0161的复杂性降低。
利用来自LUT的运动候选
1.提出通过利用来自LUT的运动候选来构造新的AMVP/Merge候选。
a.在一个示例中,可以通过对来自LUT的运动候选的运动矢量添加/减去偏移(或多个偏移),推导出新的候选。
b.在一个示例中,可以通过对来自LUT的所选运动候选的运动矢量求平均,推导出新的候选。
i.在一个实施例中,可以在没有除法运算的情况下近似地实现平均。例如,MVa,MVb和MVc可以被平均为
Figure BDA0002130758580000283
Figure BDA0002130758580000284
例如,当N=7时,平均值是(MVa+MVb+MVc)×42/128或(MVa+MVb+MVc)×43/128。请注意,预先计算
Figure BDA0002130758580000281
Figure BDA0002130758580000282
并将其存储在查找表中。
ii.在一个示例中,仅选择具有相同参考图片(在两个预测方向上)的运动矢量。
iii.在一个示例中,预先确定每个预测方向上的参考图片,并且如果必要,将运动矢量缩放到预先确定的参考图片。
1.在一个示例中,参考图片列表X中的第一条目(X=0或1)被选择作为参考图片。
2.可替代地,对于每个预测方向,选择LUT中最频繁使用的参考图片作为参考图片。
c.在一个示例中,对于每个预测方向,首先选择具有与预先确定的参考图片相同的参考图片的运动矢量,然后选择其他运动矢量
2.提出通过来自LUT的一个或多个运动候选和来自时间相邻块的运动信息的函数来构造新的AMVP/Merge候选。
a.在一个示例中,类似于STMVP或JVET-K0161,可以通过对来自LUT和TMVP的运动候选求平均,推导出新的候选。
b.在一个示例中,上述块(例如,图27中的Amid和Afar)可以被来自LUT的一个或多个候选替换。可替代地,此外,其他过程可以保持不变,就像在JVET-K0161中已实现的那样。
3.提出通过来自LUT的一个或多个运动候选、来自空间相邻块和/或空间非紧邻的相邻块的AMVP/Merge候选、以及来自时间块的运动信息的函数,来构造新的AMVP/Merge候选。
a.在一个示例中,上述块中的一个或多个(例如,图27中的Amid和Afar)可以被来自LUT的候选替换。可替代地,此外,其他过程可以保持不变,就像在JVET-K0161中已实现的那样。
b.在一个示例中,左侧块中的一个或多个(例如,图27中的Amid和Afar)可以被来自LUT的候选替换。可替代地,此外,其他过程可以保持不变,就像在JVET-K0161中已实现的那样。
4.提出当将块的运动信息插入LUT时,是否对LUT中的现有条目进行修剪可以取决于块的编码模式。
a.在一个示例中,如果以Merge模式对块编码,则不执行修剪。
b.在一个示例中,如果以AMVP模式对块编码,则不执行修剪。
c.在一个示例中,如果以AMVP/Merge模式对块编码,则仅对LUT的最新M个条目进行修剪。
d.在一个示例中,当以子块模式(例如,仿射或ATMVP)对块编码时,始终禁用修剪。
5.提出将来自时间块的运动信息添加到LUT。
a.在一个示例中,运动信息可以来自共位的块。
b.在一个示例中,运动信息可以来自来自不同参考图片的一个或多个块。
与STMVP相关
1.提出始终使用空间Merge候选推导出新的Merge候选,而不考虑TMVP候选。
a.在一个示例中,可以利用两个运动Merge候选的平均值。
b.在一个示例中,可以联合使用空间Merge候选和来自LTU的运动候选推导出新的候选。
2.提出可以利用非紧邻块(其不是右或左相邻块)推导出STMVP候选。
a.在一个示例中,用于STMVP候选推导的上方块保持不变,而使用的左侧块从相邻块改变为非紧邻块。
b.在一个示例中,用于STMVP候选推导的左侧块保持不变,而所使用的上方块从相邻块改变为非紧邻块。
c.在一个示例中,可以联合使用非紧邻块的候选和来自LUT的运动候选推导出新的候选。
3.提出始终使用空间Merge候选推导出新的Merge候选,而不考虑TMVP候选。
a.在一个示例中,可以利用两个运动Merge候选的平均值。
b.可替代地,可以利用来自与当前块相邻或不相邻的不同位置的两个、三个或更多MV的平均值。
i.在一个实施例中,MV仅可以从当前LCU(也称为CTU)中的位置获取。
ii.在一个实施例中,MV仅可以从当前LCU行中的位置获取。
iii.在一个实施例中,MV仅可以从当前LCU行中或挨着当前LCU行的位置获取。图29中示出了示例。块A、B、C、E、E和F挨着当前LCU行。
iv.在一个实施例中,MV仅可以从当前LCU行中或挨着当前LCU行但不在左上角相邻块的左侧的位置获取。图29中示出了示例。块T是左上角相邻块。块B、C、E、E和F挨着当前LCU行,但不在左上角相邻块的左侧。
c.在一个实施例中,可以联合使用空间Merge候选和来自LTU的运动候选推导出新的候选
4.提出图28中用于平面运动预测的BR块的MV不是从时间MV预测获取的,而是从LUT的一个条目获取的。
5.提出来自LUT的运动候选可以与其他类型的Merge/AMVP候选(例如,空间Merge/AMVP候选、时间Merge/AMVP候选、默认运动候选)联合使用以推导出新的候选。
在本示例和本专利文件中公开的其他示例的各种实施方式中,修剪可以包括:a)将运动信息与现有条目进行唯一性比较,以及b)如果唯一,则将运动信息添加到列表,或者c)如果不唯一,则要么c1)不添加运动信息,要么c2)添加运动信息并删除匹配的现有条目。在一些实现方式中,当将运动候选从表添加到候选列表时,不调用修剪操作。
图30是图示可以用于实现本公开技术的各个部分的计算机系统或其它控制设备3000的结构的示例的示意图。在图30中,计算机系统3000包括通过互连3025连接的一个或多个处理器3005和存储器3010。互连3025可以表示由适当的桥、适配器或控制器连接的任何一条或多条单独的物理总线、点对点连接或两者。因此,互连3025可以包括例如系统总线、外围组件互连(PCI)总线、超传输或工业标准体系结构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线或电气与电子工程师协会(IEEE)标准674总线(有时被称为“火线”)。
处理器3005可以包括中央处理器(CPU),来控制例如主机的整体操作。在一些实施例中,处理器3005通过执行存储在存储器3010中的软件或固件来实现这一点。处理器3005可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些器件的组合。
存储器3010可以是或包括计算机系统的主存储器。存储器3010表示任何适当形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等,或这些设备的组合。在使用中,存储器3010除其它外可包含一组机器指令,当处理器3005执行该指令时,使处理器3005执行操作以实现本公开技术的实施例。
通过互连3025连接到处理器3005的还有(可选的)网络适配器3015。网络适配器3015为计算机系统3000提供与远程设备(诸如存储客户机和/或其它存储服务器)通信的能力,并且可以是例如以太网适配器或光纤通道适配器。
图31示出了可以用于实施本公开技术的各个部分的移动设备3100的示例实施例的框图。移动设备3100可以是笔记本电脑、智能手机、平板电脑、摄像机或其它能够处理视频的设备。移动设备3100包括处理器或控制器3101来处理数据,以及与处理器3101通信的存储器3102来存储和/或缓冲数据。例如,处理器3101可以包括中央处理器(CPU)或微控制器单元(MCU)。在一些实现中,处理器3101可以包括现场可编程门阵列(FPGA)。在一些实现中,移动设备3100包括或与图形处理单元(GPU)、视频处理单元(VPU)和/或无线通信单元通信,以实现智能手机设备的各种视觉和/或通信数据处理功能。例如,存储器3102可以包括并存储处理器可执行代码,当处理器3101执行该代码时,将移动设备3100配置为执行各种操作,例如接收信息、命令和/或数据、处理信息和数据,以及将处理过的信息/数据发送或提供给另一个数据设备,诸如执行器或外部显示器。为了支持移动设备3100的各种功能,存储器3102可以存储信息和数据,诸如指令、软件、值、图像以及处理器3101处理或引用的其它数据。例如,可以使用各种类型的随机存取存储器(RAM)设备、只读存储器(ROM)设备、闪存设备和其它合适的存储介质来实现存储器3102的存储功能。在一些实现中,移动设备3100包括输入/输出(I/O)单元3103,来将处理器3101和/或内存3102与其它模块、单元或设备进行接口。例如,I/O单元3103可以与处理器3101和内存3102进行接口,以利用与典型数据通信标准兼容的各种无线接口,例如,在云中的一台或多台计算机和用户设备之间。在一些实现中,移动设备3100可以通过I/O单元3103使用有线连接与其它设备进行接口。移动设备3100还可以与其它外部接口(例如数据存储器)和/或可视或音频显示设备3104连接,以检索和传输可由处理器处理、由存储器存储或由显示设备3104或外部设备的输出单元上显示的数据和信息。例如,显示设备3104可以根据所公开的技术显示包括基于该块是否是使用运动补偿算法编码的而应用帧内块复制的块(CU、PU或TU)的视频帧。
在一些实施例中,可以实现如本文所述的基于子块的预测的方法的视频解码器装置可用于视频解码。
在一些实施例中,可以使用实现在如图30和图31所述的硬件平台上的解码装置来实现视频解码方法。
在本文档中公开的各种实施例和技术可以在以下示例的列表中描述。
图32是根据当前公开的技术的用于视频处理的示例方法3200的流程图。方法3200包括,在操作3202,通过平均两个或更多选择的运动候选,确定用于视频处理的新候选。方法3200包括,在操作3204,将所述新候选增加到候选列表。方法3200包括,在操作3206,通过使用所述候选列表中的确定的新候选,执行视频的第一视频块和视频的比特流表示之间的转换。
在一些实施例中,所述候选列表是Merge候选列表,以及确定的新候选是Merge候选。
在一些实施例中,所述Merge候选列表是帧间预测Merge候选列表或帧内块复制预测Merge候选列表。
在一些实施例中,所述一个或多个表包括从视频数据中所述第一视频块之前处理的在先处理视频块推导的运动候选。
在一些实施例中,在所述候选列表中不存在可用的空间候选和时间候选。
在一些实施例中,所述选择的运动候选来自一个或多个表。
在一些实施例中,在没有除法运算的情况下实现所述平均。
在一些实施例中,通过所述选择的运动候选的运动矢量的和与缩放因子的乘法,实现所述平均。
在一些实施例中,将所述选择的运动候选的运动矢量的水平分量进行平均以推导新候选的水平分量。
在一些实施例中,将所述选择的运动候选的运动矢量的垂直分量进行平均以推导新候选的垂直分量。
在一些实施例中,所述缩放因子被预先计算并存储在查找表中。
在一些实施例中,仅选择具有相同参考图片的运动矢量。
在一些实施例中,在两个预测方向上仅选择在两个预测方向上具有相同参考图片的运动矢量。
在一些实施例中,预先确定每个预测方向上的目标参考图片,以及将所述运动矢量缩放到预先确定的参考图片。
在一些实施例中,选择参考图片列表X中的第一条目作为用于参考图片列表的目标参考图片,X为0或1。
在一些实施例中,对于每个预测方向,选择表中最常使用的参考图片作为目标参考图片。
在一些实施例中,对于每个预测方向,首先选择具有与预先确定的目标参考图片相同的参考图片的运动矢量,然后选择其他运动矢量。
在一些实施例中,来自表的运动候选与运动信息关联,所述运动信息包括以下的至少一种:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值。
在一些实施例中,方法3200还包括基于所述转换更新一个或多个表。
在一些实施例中,一个或多个表的更新包括在执行所述转换后基于视频的第一视频块的运动信息更新一个或多个表。
在一些实施例中,方法3200还包括基于更新的表,执行视频的随后视频块和视频的比特流表示之间的转换。
在一些实施例中,所述转换包括编码处理和/或解码处理。
在一些实施例中,视频编码装置可以在为后续视频重建视频期间执行本文所述的方法2900和其他方法。
在一些实施例中,视频系统中的装置可以包括被配置为执行本文描述的方法的处理器。
在一些实施例中,所描述的方法可以体现为存储在计算机可读程序介质上的计算机可执行代码。
图33是根据当前公开的技术的用于视频处理的示例方法3300的流程图。方法3300包括在操作3302,通过使用来自一个或多个表的一个或多个运动候选来确定用于视频处理的新运动候选,其中表包括一个或多个运动候选,并且每个运动候选是关联的运动信息。方法3300包括在操作3304,基于新候选者在视频块和视频块的编码表示之间执行转换。
在一些实施例中,通过对与来自所述一个或多个表的运动候选相关联的运动矢量加上或减去偏移,来推导出所述新的运动候选。
在一些实施例中,确定新的运动候选包括:作为来自一个或多个表的一个或多个运动候选和来自时间相邻块的运动信息的函数,来确定新的运动候选。
在一些实施例中,确定新运动候选包括:对来自一个或多个表的运动候选和时间运动矢量预测器进行平均。
在一些实施例中,对所选运动候选进行平均包括与所选运动候选相关联的运动矢量的加权平均或平均。
在一些实施例中,在没有除法运算的情况下实现所述平均。
在一些实施例中,通过来自所述一个或多个表的运动候选的运动矢量之和与所述时间运动矢量预测器与缩放因子的乘法运算,来实现所述平均。
在一些实施例中,对来自所述一个或多个表的运动候选的运动矢量的水平分量与时间运动矢量预测器进行平均,以推导出新的运动候选的水平分量。
在一些实施例中,对所选择的水平分量进行平均包括与所选运动候选相关联的水平分量的加权平均或平均。
在一些实施例中,对所选择的垂直分量进行平均包括与所选运动候选相关联的垂直分量的加权平均或平均。
在一些实施例中,作为来自一个或多个表的一个或多个运动候选、来自空间相邻块和/或空间非紧邻的相邻块的Merge候选、以及来自时间相邻块的运动信息的函数,来确定新的运动候选。
在一些实施例中,确定新候选者包括:作为来自一个或多个表的一个或多个运动候选、来自空间相邻块和/或空间非紧邻的相邻块的高级运动矢量预测(AMVP)候选的函数、以及来自时间相邻块的运动信息,来确定新的运动候选。
在一些实施例中,确定新候选者包括:作为来自一个或多个表的一个或多个运动候选、以及高级运动矢量预测(AMVP)候选列表中的AMVP候选或Merge候选列表中的Merge候选的函数,来确定新的运动候选。
在一些实施例中,将所述新的运动候选添加到Merge候选列表。
在一些实施例中,将所述新的运动候选添加到AMVP候选列表。
在一些实施例中,一个或多个表中的每一个包括一组运动候选,其中每个运动候选与对应的运动信息相关联。
在一些实施例中,运动候选与运动信息相关联,所述运动信息包括以下的至少一种:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值。
在一些实施例中,该方法还包括基于所述转换更新一个或多个表。
在一些实施例中,更新一个或多个表包括在执行所述转换之后基于第一视频块的运动信息来更新一个或多个表。
在一些实施例中,该方法还包括基于更新后的表,执行视频的后续视频块与视频的比特流表示之间的转换。
图34是根据当前公开的技术的用于视频处理的示例方法3400的流程图。方法3400包括在操作3402,通过始终使用来自当前图片中的第一视频块的多于一个空间相邻块的运动信息,并且不使用来自与当前图片不同的图片中的时间块的运动信息,来确定用于视频处理的新候选。方法3400包括在操作3404,通过使用所确定的新候选来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换。
在一些实施例中,所确定的新候选被添加到候选列表,所述候选列表包括Merge候选列表或高级运动矢量预测(AMVP)候选列表。
在一些实施例中,来自多于一个空间相邻块的运动信息是从相对于当前图片中的第一视频块的预定义的空间相邻块推导出的候选、或来自一个或多个表的运动候选。
在一些实施例中,所述一个或多个表包括从在视频数据中的第一视频块之前处理的先前处理过的视频块推导出的运动候选。
在一些实施例中,从相对于当前图片中的第一视频块的预定义的空间相邻块推导出的候选是空间Merge候选。
在一些实施例中,通过对至少两个空间Merge候选求平均,来推导出所述新候选。
在一些实施例中,通过联合使用空间Merge候选和来自一个或多个表的运动候选,来推导出所述新候选。
在一些实施例中,通过对与从不同位置推导出的候选相关联的至少两个运动矢量求平均,来推导出所述新候选。
在一些实施例中,所述不同位置与所述第一视频块相邻。
在一些实施例中,仅从所述第一视频块所属的当前最大编码单元中的位置获取所述运动矢量。
在一些实施例中,仅从当前最大编码单元行中的位置获取所述运动矢量。
在一些实施例中,仅从当前最大编码单元行中或挨着当前最大编码单元行的位置获取所述运动矢量。
在一些实施例中,仅从当前最大编码单元行中或挨着当前最大编码单元行但不在左上角相邻块的左侧的位置获取运动矢量。
在一些实施例中,用于平面运动预测的右下块的运动矢量不从时间运动矢量预测候选中获取,而是从所述表的一个条目获取。
在一些实施例中,通过联合使用来自一个或多个表的运动候选和其他种类的Merge/AMVP候选,来推导出所述新候选。
在一些实施例中,所述一个或多个表中的运动候选与运动信息相关联,所述运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值。
在一些实施例中,该方法还包括基于所述转换更新一个或多个表。
在一些实施例中,更新一个或多个表包括在执行转换之后基于所述第一视频块的运动信息来更新一个或多个表。
在一些实施例中,该方法还包括基于更新后的表,执行该视频的后续视频块与该视频的比特流表示之间的转换。
在一些实施例中,所述转换包括编码过程和/或解码过程。
图35是根据当前公开的技术的用于视频处理的示例方法3500的流程图。方法3500包括在操作3502,通过使用来自当前图片中的第一视频块的至少一个空间非紧邻块的运动信息、以及从第一视频块的空间非紧邻块或并非从第一视频块的空间非紧邻块推导出的其他候选,来确定用于视频处理的新候选。方法3500包括在操作3504,通过使用所确定的新候选,来执行视频的第一视频块与该视频的比特流表示之间的转换。
在一些实施例中,所确定的新候选被添加到候选列表,所述候选列表包括Merge或高级运动矢量预测(AMVP)候选列表。
在一些实施例中,来自多于一个空间非紧邻块的运动信息是从相对于当前图片中的第一视频块的预定义的空间非紧邻块推导出的候选。
在一些实施例中,从相对于当前图片中的第一视频块的预定义的空间非紧邻块推导出的候选是空间-时间运动矢量预测(STMVP)候选。
在一些实施例中,所述视频块的非紧邻块不是所述第一视频块的右相邻块或左相邻块。
在一些实施例中,所述第一视频块的用于STMVP候选推导的上方块保持不变,而所使用的左侧块从相邻块改变为非紧邻块。
在一些实施例中,所述第一视频块的用于STMVP候选推导的左侧块保持不变,而所使用的上方块从相邻块改变为非紧邻块。
图36是根据当前公开的技术的用于视频处理的示例方法3600的流程图。方法3600包括在操作3602,通过使用来自当前图片中的第一视频块的一个或多个表的运动信息和来自不同于当前图片的图片中的时间块的运动信息,来确定用于视频处理的新候选。方法3600包括在操作3604,通过使用所确定的新候选,来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换。
在一些实施例中,所确定的新候选被添加到候选列表,所述候选列表包括Merge或AMVP候选列表。
在一些实施例中,来自当前图片中的一个或多个表的运动信息与从一个或多个表中选择的一个或多个历史运动矢量预测(HMVP)候选相关联,并且来自不同于当前图片的图片中的时间块的运动信息是时间运动候选。
在一些实施例中,通过对一个或多个HMVP候选与一个或多个时间运动候选求平均,来推导出所述新候选。
在一些实施例中,所述一个或多个表包括从在视频数据中的第一视频块之前处理的先前处理过的视频块推导出的运动候选。
图37是根据当前公开的技术的用于视频处理的示例方法3700的流程图。方法3700包括在操作3702,通过使用来自第一视频块的一个或多个表的运动信息和来自第一视频块的一个或多个空间相邻块的运动信息,来确定用于视频处理的新候选。方法3700包括在操作3704,通过使用所确定的新候选,来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换。
在一些实施例中,所确定的新候选被添加到候选列表,所述候选列表包括Merge或AMVP候选列表
在一些实施例中,来自第一视频块的一个或多个表的运动信息与从一个或多个表中选择的一个或多个历史运动矢量预测(HMVP)候选相关联,并且来自第一视频块的一个或多个空间相邻块的运动信息是从相对于第一视频块的预定义的空间块推导出的候选。
在一些实施例中,从相对于第一视频块的预定义的空间块推导出的候选是空间Merge候选。
在一些实施例中,通过对一个或多个HMVP候选和一个或多个空间Merge候选求平均,来推导出所述新候选。
在一些实施例中,所述一个或多个表包括从在视频数据中的第一视频块之前处理的先前处理过的视频块推导出的运动候选。
在一些实施例中,来自表的运动候选与运动信息相关联,所述运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值。
在一些实施例中,该方法还包括还包括基于所述转换更新一个或多个表。
在一些实施例中,更新一个或多个表包括在执行所述转换之后基于当前视频块的运动信息来更新一个或多个表。
在一些实施例中,该方法还包括基于更新后的表,在所述视频数据的后续视频块与所述视频数据的比特流表示之间执行转换。
图38是根据当前公开的技术的用于视频处理的示例方法3800的流程图。方法3800包括,在操作3802,保持一组表,其中每个表包括运动候选,并且每个运动候选与对应的运动信息相关联;在操作3804,执行第一视频块与包括该第一视频块的视频的比特流表示之间的转换;以及在操作3806,通过基于第一视频块的编码/解码模式选择性地对一个或多个表中的现有运动候选进行修剪,来更新该一个或多个表。
在一些实施例中,基于该组表中的一个或多个表,执行第一视频块与包括该第一视频块的视频的比特流表示之间的转换。
在一些实施例中,在以Merge模式对第一视频块编码/解码的情况下,省略修剪。
在一些实施例中,在以高级运动矢量预测模式对第一视频块编码/解码的情况下,省略修剪。
在一些实施例中,在以Merge模式或高级运动矢量预测模式对第一视频块编码/解码的情况下,对所述表的最新M个条目进行修剪,其中M是预先指定的整数。
在一些实施例中,在以子块模式对第一视频块编码/解码的情况下,禁用修剪。
在一些实施例中,所述子块模式包括仿射模式、可选时间运动矢量预测模式。
在一些实施例中,所述修剪包括检查所述表中是否存在冗余的现有运动候选。
在一些实施例中,所述修剪还包括:如果所述表中存在冗余的现有运动候选,则将与所述第一视频块相关联的运动信息插入到所述表中,并且删除所述表中的所述冗余的现有运动候选。
在一些实施例中,如果所述表中存在冗余的现有运动候选,则不使用与所述第一视频块相关联的运动信息来更新所述表。
在一些实施例中,该方法还包括基于更新后的表,执行该视频的后续视频块与该视频的比特流表示之间的转换。
图39是根据当前公开的技术的用于视频处理的示例方法3900的流程图。方法3900包括,在操作3902,保持一组表,其中每个表包括运动候选,并且每个运动候选与对应的运动信息相关联;在操作3904,执行第一视频块与包括该第一视频块的视频的比特流表示之间的转换;以及在操作3906,更新一个或多个表,以包括来自所述第一视频块的一个或多个时间相邻块的运动信息作为新的运动候选。
在一些实施例中,基于该组表中的一个或多个表,执行第一视频块与包括该第一视频块的视频的比特流表示之间的转换。
在一些实施例中,所述一个或多个时间相邻块是共位的块。
在一些实施例中,所述一个或多个时间相邻块包括来自不同参考图片的一个或多个块。
在一些实施例中,该方法还包括基于更新后的表,执行所述视频的后续视频块与该视频的比特流表示之间的转换。
图40是根据当前公开的技术的用于更新运动候选表的示例方法4000的流程图。方法4000包括,在操作4002,基于正被处理的视频块的编码/解码模式,选择性地对表中的现有运动候选进行修剪,每个运动候选与对应的运动信息相关联;以及在操作4004,更新所述表,以包括视频块的运动信息作为新的运动候选。
在一些实施例中,在以Merge模式或高级运动矢量预测模式对所述视频块编码/解码的情况下,对所述表的最新M个条目进行修剪,其中M是预先指定的整数。
在一些实施例中,在以子块模式对所述视频块编码/解码的情况下,禁用修剪。
在一些实施例中,所述子块模式包括仿射模式、可选时间运动矢量预测模式。
在一些实施例中,所述修剪包括检查所述表中是否存在冗余的现有运动候选。
在一些实施例中,所述修剪还包括:如果所述表中存在冗余的运动候选,则将与正被处理的视频块相关联的运动信息插入到所述表中,并且删除所述表中的所述冗余的运动候选。
在一些实施例中,如果所述表中存在冗余的现有运动候选,则不使用与正被处理的视频块相关联的运动信息来更新所述表。
图41是根据当前公开的技术的用于更新运动候选表的示例方法4100的流程图。方法4100包括,在操作4102,保持运动候选表,每个运动候选与对应的运动信息相关联;以及在操作4104,更新所述表,以包括来自正被处理的视频块的一个或多个时间相邻块的运动信息作为新的运动候选。
在一些实施例中,所述一个或多个时间相邻块是共位的块。
在一些实施例中,所述一个或多个时间相邻块包括来自不同参考图片的一个或多个块。
在一些实施例中,运动候选与运动信息相关联,所述运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值。
在一些实施例中,所述运动候选对应于用于帧内模式编码的帧内预测模式的运动候选。
在一些实施例中,所述运动候选对应于包括用于IC参数编码的亮度补偿参数的运动候选。
图42是根据当前公开的技术的用于视频处理的示例方法4200的流程图。方法4200包括,在操作4202,通过使用来自一个或多个表的一个或多个运动候选,来确定用于视频处理的新的运动候选,其中表包括一个或多个运动候选,并且每个运动候选与运动信息相关联;以及在操作4104,基于新候选,在视频块和视频块的编码表示之间执行转换。
在一些实施例中,所确定的新候选被添加到候选列表,所述候选列表包括Merge或高级运动矢量预测(AMVP)候选列表。
在一些实施例中,确定所述新候选包括:作为来自一个或多个表的一个或多个运动候选、以及高级运动矢量预测(AMVP)候选列表中的AMVP候选或Merge候选列表中的Merge候选的函数,来确定所述新的运动候选。
从上述来看,应当理解的是,为了便于说明,本发明公开的技术的具体实施例已经在本文中进行了描述,但是可以在不偏离本发明范围的情况下进行各种修改。因此,除了的之外,本发明公开的技术不限于权利要求的限定。
本文中公开的和其他描述的实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文中所公开的结构及其结构等效体,或其中一个或多个的组合。公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即一个或多个编码在计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播信号是人为产生的信号,例如机器产生的电信号、光学信号或电磁信号,生成这些信号以对信息进行编码,以便传输到适当的接收装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光磁盘;以及CDROM和DVD-ROM光盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
旨在将说明书与附图一起仅视为示例性的,其中示例性意味着示例。如这里所使用的,单数形式“一”,“一个”和“所述”旨在也包括复数形式,除非上下文另有明确说明。另外,除非上下文另有明确说明,否则“或”的使用旨在包括“和/或”。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中删除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管图纸中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。

Claims (32)

1.一种用于视频处理的方法,包括:
通过始终使用来自当前图片中的第一视频块的多于一个空间相邻块的运动信息,并且不使用来自与当前图片不同的图片中的时间块的运动信息,来确定用于视频处理的新候选;以及
通过使用所确定的新候选来执行视频的当前图片中的第一视频块与该视频的比特流表示之间的转换,
其中,通过对与从不同位置推导出的候选相关联的至少两个运动矢量求平均,来推导出所述新候选,并且其中,用于平面运动预测的右下块的运动矢量不从时间运动矢量预测候选中获取,而是从一个或多个表中的表的一个条目获取,
其中,所述不同位置与所述第一视频块相邻,并且其中,仅从所述第一视频块所属的当前最大编码单元中的位置获取所述运动矢量,或者仅从当前最大编码单元行中的位置获取所述运动矢量,或者仅从当前最大编码单元行中或挨着当前最大编码单元行的位置获取所述运动矢量,或者仅从当前最大编码单元行中或挨着当前最大编码单元行但不在左上角相邻块的左侧的位置获取所述运动矢量。
2.如权利要求1所述的方法,其中,所确定的新候选被添加到候选列表,所述候选列表包括Merge候选列表或高级运动矢量预测AMVP候选列表。
3.如权利要求1所述的方法,其中来自多于一个空间相邻块的运动信息是从相对于当前图片中的第一视频块的预定义的空间相邻块推导出的候选、或来自所述一个或多个表的运动候选。
4.如权利要求3所述的方法,其中,所述一个或多个表包括从在视频数据中的第一视频块之前处理的先前处理过的视频块推导出的运动候选。
5.如权利要求3所述的方法,其中,从相对于当前图片中的第一视频块的预定义的空间相邻块推导出的候选是空间Merge候选。
6.如权利要求1至5中任一项所述的方法,其中,所述新候选还通过对至少两个空间Merge候选求平均来推导出。
7.如权利要求1至5中任一项所述的方法,其中,所述新候选还通过联合使用空间Merge候选和来自所述一个或多个表的运动候选来推导出。
8.如权利要求1至5中任一项 所述的方法,其中,通过联合使用来自所述一个或多个表的运动候选和其他种类的Merge/AMVP候选,来推导出所述新候选。
9.如权利要求3至5中任一项所述的方法,其中,所述一个或多个表中的运动候选与运动信息相关联,所述运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值。
10.如权利要求3至5中任一项所述的方法,还包括基于所述转换更新所述一个或多个表。
11.如权利要求10所述的方法,其中,更新所述一个或多个表包括在执行转换之后基于所述第一视频块的运动信息来更新所述一个或多个表。
12.如权利要求11所述的方法,还包括:
基于更新后的表,执行该视频的后续视频块与该视频的比特流表示之间的转换。
13.如权利要求1-5、11-12中任一项所述的方法,其中,所述转换包括编码过程和/或解码过程。
14.如权利要求1所述的方法,还包括:
通过使用来自当前图片中的第二视频块的至少一个空间非紧邻块的运动信息、以及从第二视频块的空间非紧邻块或并非从第二视频块的空间非紧邻块推导出的其他候选,来确定用于视频处理的新候选。
15.如权利要求14所述的方法,其中,来自多于一个空间非紧邻块的运动信息是从相对于当前图片中的第二视频块的预定义的空间非紧邻块推导出的候选。
16.如权利要求15所述的方法,其中,从相对于当前图片中的第二视频块的预定义的空间非紧邻块推导出的候选是空间-时间运动矢量预测STMVP候选。
17.如权利要求14-16中任一项所述的方法,其中,所述视频块的非紧邻块不是所述第二视频块的右相邻块或左相邻块。
18.如权利要求17所述的方法,其中,所述第二视频块的用于STMVP候选推导的上方块保持不变,而所使用的左侧块从相邻块改变为非紧邻块。
19.如权利要求17所述的方法,其中,所述第二视频块的用于STMVP候选推导的左侧块保持不变,而所使用的上方块从相邻块改变为非紧邻块。
20.如权利要求1所述的方法,还包括:
通过使用来自当前图片中的第三视频块的一个或多个表的运动信息和来自不同于当前图片的图片中的时间块的运动信息,来确定用于视频处理的新候选。
21.如权利要求20所述的方法,其中,来自当前图片中的一个或多个表的运动信息与从所述一个或多个表中选择的一个或多个历史运动矢量预测HMVP候选相关联,并且来自不同于当前图片的图片中的时间块的运动信息是时间运动候选。
22.如权利要求21所述的方法,其中,通过对一个或多个HMVP候选与一个或多个时间运动候选求平均,来推导出所述新候选。
23.如权利要求20至22中任一项所述的方法,其中,所述一个或多个表包括从在视频数据中的第三视频块之前处理的先前处理过的视频块推导出的运动候选。
24.如权利要求1所述的方法,还包括:
通过使用来自第四视频块的一个或多个表的运动信息和来自第四视频块的一个或多个空间相邻块的运动信息,来确定用于视频处理的新候选;以及
通过使用所确定的新候选,来执行视频的当前图片中的第四视频块与该视频的比特流表示之间的转换。
25.如权利要求24所述的方法,其中,来自第四视频块的一个或多个表的运动信息与从所述一个或多个表中选择的一个或多个历史运动矢量预测HMVP候选相关联,并且来自第四视频块的一个或多个空间相邻块的运动信息是从相对于第四视频块的预定义的空间块推导出的候选。
26.如权利要求25所述的方法,其中,从相对于第四视频块的预定义的空间块推导出的候选是空间Merge候选。
27.如权利要求24至26中任一项所述的方法,其中,通过对一个或多个HMVP候选和一个或多个空间Merge候选求平均,来推导出所述新候选。
28.如权利要求24至26中任一项所述的方法,其中,所述一个或多个表包括从在视频数据中的第四视频块之前处理的先前处理过的视频块推导出的运动候选。
29.如权利要求1所述的方法,还包括:
通过使用来自所述一个或多个表的一个或多个运动候选,来确定用于视频处理的新的运动候选,其中表包括一个或多个运动候选,并且每个运动候选与运动信息相关联。
30.如权利要求29所述的方法,其中确定所述新候选包括:
作为来自所述一个或多个表的一个或多个运动候选、以及高级运动矢量预测AMVP候选列表中的AMVP候选或Merge候选列表中的Merge候选的函数,来确定所述新的运动候选。
31.一种视频系统中的装置,所述装置包括处理器,该处理器被配置为实现如权利要求1至30中任一项所述的方法。
32.一种非暂时性计算机可读记录介质,其上存储有代码,所述代码包括指令,当处理器执行所述指令时,使所述处理器实现权利要求1至30中任一项所述的方法。
CN201910637509.XA 2018-07-14 2019-07-15 用时间信息扩展基于查找表的运动矢量预测 Active CN110719476B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2018095716 2018-07-14
CNPCT/CN2018/095716 2018-07-14
CNPCT/CN2018/095719 2018-07-15
CN2018095719 2018-07-15

Publications (2)

Publication Number Publication Date
CN110719476A CN110719476A (zh) 2020-01-21
CN110719476B true CN110719476B (zh) 2023-01-20

Family

ID=67989034

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910637483.9A Active CN110719463B (zh) 2018-07-14 2019-07-15 用时间信息扩展基于查找表的运动矢量预测
CN201910637509.XA Active CN110719476B (zh) 2018-07-14 2019-07-15 用时间信息扩展基于查找表的运动矢量预测

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910637483.9A Active CN110719463B (zh) 2018-07-14 2019-07-15 用时间信息扩展基于查找表的运动矢量预测

Country Status (3)

Country Link
CN (2) CN110719463B (zh)
TW (2) TWI820169B (zh)
WO (2) WO2020016745A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021155834A1 (en) 2020-02-05 2021-08-12 Beijing Bytedance Network Technology Co., Ltd. Deblocking parameters for chroma component
CN117376567A (zh) 2020-02-05 2024-01-09 抖音视界有限公司 局部双树的调色板模式
KR20220134561A (ko) 2020-02-14 2022-10-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 참조 픽처 리샘플링 (reference picture resampling) 활성화
CN117581539A (zh) * 2021-04-10 2024-02-20 抖音视界有限公司 Gpm运动细化

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104429079A (zh) * 2012-07-09 2015-03-18 三菱电机株式会社 利用运动矢量预测列表处理用于视图合成的多视图视频的方法和系统
CN106797476A (zh) * 2014-10-07 2017-05-31 高通股份有限公司 帧内bc及帧间统一
CN107113440A (zh) * 2014-10-31 2017-08-29 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
WO2018052986A1 (en) * 2016-09-16 2018-03-22 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685479A (zh) * 2011-03-11 2012-09-19 华为技术有限公司 视频编解码处理方法和装置
US20130329007A1 (en) * 2012-06-06 2013-12-12 Qualcomm Incorporated Redundancy removal for advanced motion vector prediction (amvp) in three-dimensional (3d) video coding
CN107079161B (zh) * 2014-09-01 2020-11-20 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
CN108353184B (zh) * 2015-11-05 2022-02-01 联发科技股份有限公司 一种视频编解码的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104429079A (zh) * 2012-07-09 2015-03-18 三菱电机株式会社 利用运动矢量预测列表处理用于视图合成的多视图视频的方法和系统
CN106797476A (zh) * 2014-10-07 2017-05-31 高通股份有限公司 帧内bc及帧间统一
CN107113440A (zh) * 2014-10-31 2017-08-29 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
WO2018052986A1 (en) * 2016-09-16 2018-03-22 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
CN109691106A (zh) * 2016-09-16 2019-04-26 高通股份有限公司 时间运动向量预测符的偏移向量识别

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JVET-J1040,Description Oof CE4:inter prediction and motion vector coding;YANG,Haitao 等;《JVET提案》;20180420;全文 *
JVET-K0104,CE4-Ralated:History-Based Motion Vector Prediction;Zhang,LI 等;《JVET提案》;20180711;第1,2,4节 *

Also Published As

Publication number Publication date
TW202032991A (zh) 2020-09-01
WO2020016745A3 (en) 2020-04-16
CN110719476A (zh) 2020-01-21
WO2020016744A1 (en) 2020-01-23
CN110719463A (zh) 2020-01-21
WO2020016745A2 (en) 2020-01-23
TWI820169B (zh) 2023-11-01
CN110719463B (zh) 2022-11-22
TWI826486B (zh) 2023-12-21
TW202021360A (zh) 2020-06-01

Similar Documents

Publication Publication Date Title
CN110662056B (zh) 哪个查找表需要更新或不更新
CN111064961B (zh) 视频处理方法和装置
CN110662037B (zh) 运动信息共享的限制
CN113383554B (zh) LUT和共享Merge列表之间的交互
CN110662054B (zh) 用于视频处理的方法、装置、计算机可读存储介质
CN110662043B (zh) 一种用于处理视频数据的方法、装置和计算机可读介质
CN110944170A (zh) 扩展Merge预测
CN110662063A (zh) 每条带/片/lcu行的查找表的重置
CN110662039A (zh) 查找表的更新:fifo、约束的fifo
CN113273186A (zh) Lut更新的调用
CN110719476B (zh) 用时间信息扩展基于查找表的运动矢量预测
CN110662030B (zh) 一种视频处理方法和装置
CN110719464B (zh) 用时间信息扩展基于查找表的运动矢量预测
CN110719465B (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