CN110662052B - 更新查找表(lut)的条件 - Google Patents

更新查找表(lut)的条件 Download PDF

Info

Publication number
CN110662052B
CN110662052B CN201910586572.5A CN201910586572A CN110662052B CN 110662052 B CN110662052 B CN 110662052B CN 201910586572 A CN201910586572 A CN 201910586572A CN 110662052 B CN110662052 B CN 110662052B
Authority
CN
China
Prior art keywords
motion
candidates
video block
block
current video
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
CN201910586572.5A
Other languages
English (en)
Other versions
CN110662052A (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
Priority to CN202210690814.7A priority Critical patent/CN115134599A/zh
Publication of CN110662052A publication Critical patent/CN110662052A/zh
Application granted granted Critical
Publication of CN110662052B publication Critical patent/CN110662052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/94Vector quantisation
    • 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

更新查找表(LUT)的条件
相关申请的交叉引用
根据适用的专利法和/或依据巴黎公约的规则,本申请是为了及时要求于2018年6月29日提交的国际专利申请No.PCT/CN2018/093663,于2018年7月7日提交的国际专利申请No.PCT/CN2018/094929,于2018年8月18日提交的国际专利申请No.PCT/CN2018/101220,以及于2018年7月2日提交的国际专利申请No.PCT/CN2018/093987的优先权和权益。为了根据美国法律的所有目的,国际专利申请No.PCT/CN2018/093663、国际专利申请No.PCT/CN2018/094929、国际专利申请No.PCT/CN2018/101220、以及国际专利申请No.PCT/CN2018/093987的全部公开通过引用并入,作为本申请的公开的一部分。
技术领域
本专利文献涉及视频编码和解码技术、设备和系统
背景技术
尽管视频压缩有所进步,但数字视频仍占互联网和其他数字通信网络上的最大的带宽使用。随着能够接收和显示视频的连接用户设备的数量增加,预计数字视频使用的带宽需求将继续增长。
发明内容
描述了与使用包含编码候选的表的集合来编码和解码数字视频有关的设备、系统和方法。所描述的方法可以应用于现有视频编码标准(例如,高效视频编码(HighEfficiency Video Coding,HEVC))和未来视频编码标准或视频编解码器两者。
在一个代表性方面,所公开的技术可以用于提供一种视频处理方法,该方法包括:维护表,其中每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联;基于表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换;以及在执行转换之后,基于更新规则来更新零个或多个表。
在另一代表性方面,维护表,其中每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联;基于表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换;以及在执行转换之后,基于视频中的一个或多个视频区域来更新一个或多个表,直到满足更新终止准则。
在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法,该方法包括:维护包括运动候选的一个或多个表,每个运动候选与对应的运动信息相关联;对一个或多个表中的至少一个表中的运动候选进行重新排序;以及基于至少一个表中的重新排序的运动候选来执行第一视频块与包括第一视频块的视频的比特流表示之间的转换。
在又一代表性方面,所公开的技术可以用于提供另一种视频处理方法,该方法包括:维护包括运动候选的一个或多个表,每个运动候选与对应的运动信息相关联;基于一个或多个表,使用一个或多个表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换;以及通过基于第一视频块的转换将附加运动候选添加到表中并重新排序表中的运动候选来更新一个或多个表。
在又一代表性方面,上述方法以处理器可执行代码的形式实施并存储在计算机可读程序介质中。
在又一代表性方面,公开了一种被配置为或可操作来执行上述方法的设备。该设备可以包括被编程以实现该方法的处理器。
在又一代表性方面,视频解码器装置可以实现如本文所描述的方法。
在附图、说明书和权利要求中更详细地描述了所公开的技术的以上及其他方面和特征。
附图说明
图1示出了典型的高效视频编码(HEVC)视频编码器和解码器的示例框图。
图2示出了H.264/AVC中的宏块(MacroBlock,MB)分割的示例。
图3示出了将编码块(Coding Block,CB)划分为预测块(Prediction Block,PB)的示例。
图4A和图4B分别示出了将编码树块(Coding Tree Block,CTB)细分为CB和变换块(Transform Block,TB)、以及对应的四叉树的示例。
图5A和图5B示出了用于最大编码单元(Largest Coding Unit,LCU)的细分和对应的QTBT(QuadTree plus Binary Tree,四叉树加二叉树)的示例。
图6A-图6E示出了分割编码块的示例。
图7示出了基于QTBT的CB的示例细分。
图8A-图8I示出了支持作为QTBT的一般化的多树类型(Multi-Tree Type,MTT)的CB的分割的示例。
图9A示出了树型信令的示例。
图9B示出了构造Merge候选列表的示例。
图10示出了空间候选的位置的示例。
图11示出了对其进行空间Merge候选的冗余检查的候选对的示例。
图12A和图12B示出了基于当前块的尺寸和形状的第二预测单元(PredictionUnit,PU)的位置的示例。
图13示出了用于时间Merge候选的运动矢量缩放的示例。
图14示出了时间Merge候选的候选位置的示例。
图15示出了生成组合的双向预测Merge候选的示例。
图16A和图16B示出了用于运动矢量预测候选的推导过程的示例。
图17示出了用于空间运动矢量候选的运动矢量缩放的示例。
图18A和图18B示出了使用用于编码单元(Coding Unit,CU)的可选时域运动矢量预测(Alternative Temporal Motion Vector Prediction,ATMVP)算法的运动预测的示例。
图19示出了识别源块和源图片的示例。
图20示出了由时空运动矢量预测(Spatial-Temporal Motion VectorPrediction,STMVP)算法使用的具有子块和相邻块的编码单元(CU)的示例。
图21示出了作为基于帧速率上转换(Frame-Rate Up Conversion,FRUC)算法的特殊Merge模式的模式匹配的运动矢量推导(Pattern Matched Motion Vector Derivation,PMMVD)模式中的双向匹配的示例。
图22示出了FRUC算法中的模板匹配的示例。
图23示出了FRUC算法中的单向运动估计的示例。
图24示出了基于双向模板匹配的解码器侧运动矢量细化(Decoder-side MotionVector Refinement,DMVR)算法的示例。
图25示出了用于推导光照补偿(Illumination Compensation,IC)参数的相邻样点的示例。
图26示出了用于推导空间Merge候选的相邻块的示例。
图27示出了所提出的67个帧内预测模式的示例。
图28示出了用于最可能模式推导的相邻块的示例。
图29A和图29B示出了具有QTBT结构的I条带中的对应的亮度和色度子块。
图30描绘了如何选择用于查找表更新的代表性位置的示例。
图31A和图31B示出了用新的运动信息集合来更新查找表的示例。
图32示出了用所提出的HMVP方法的解码流程图的示例。
图33示出了使用所提出的HMVP方法更新表的示例。
图34A-图34B示出了基于冗余移除的LUT更新方法的示例(其中一个冗余运动候选被移除)。
图35A-图35B示出了基于冗余移除的LUT更新方法的示例(其中多个冗余运动候选被移除)。
图36示出了在一个块之后更新的基于LUT的MVP/帧内模式预测/IC参数的示例的编码流程。
图37示出了在一个区域之后更新的基于LUT的MVP/帧内模式预测/IC参数的示例的编码流程。
图38A-图38D示出了根据本公开技术的用于视频处理的示例方法的流程图。
图39是用于实现本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。
具体实施方式
由于对更高分辨率视频的日益增长的需求,视频编码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断被改进以提供更高的编码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的简易性、随机访问和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编码(HEVC)标准(也已知为H.265或MPEG-H部分2)、即将完成的通用视频编码标准、或其他当前和/或未来视频编码标准。
所公开的技术的实施例可以应用于现有视频编码标准(例如,HEVC、H.265)和未来标准以改进压缩性能。在本文档中使用章节标题以提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实现方式)限制于仅相应的章节。
1.视频编码的示例实施例
图1示出了典型HEVC视频编码器和解码器的示例框图(参考文件[1])。产生符合HEVC的比特流的编码算法通常如下进行。每个图片被划分为块状区域,其中精确的块分割被传递到解码器。视频序列的第一图片(以及到视频序列中的每个完全随机访问点(cleanrandom access point)处的第一图片)仅使用(在相同图片内从区域到区域空间地使用一些数据预测,但不取决于其他图片的)帧内预测而编码。对于序列的或随机访问点之间的所有剩余图片,帧间时间预测编码模式通常用于大多数块。用于帧间预测的编码过程包括选择包括所选择的参考图片和要应用于预测每个块的样点的运动矢量(Motion Vector,MV)的运动数据。编码器和解码器通过应用使用MV和模式判定数据的运动补偿(MotionCompensation,MC)来生成相同的帧间预测信令,其作为边信息(side information)被发送。
通过线性空间变换来变换帧内预测或帧间预测的残差信号,其是原始块与其预测之间的差异。变换系数然后被缩放、量化、熵编码,并与预测信息一起被发送。
编码器复制解码器处理环路(参见图1中的灰色阴影框),使得两者都将生成对后续数据的相同预测。因此,量化的变换系数通过逆缩放而构造并且然后被逆变换以复制残差信号的解码的近似。残差然后被添加到预测,添加的结果然后可以被馈送到一个或两个环路滤波器中以平滑由分块处理和量化引起的伪影。最终图片表示(即解码器的输出的副本)存储在解码图片缓冲器中以用于后续图片的预测。通常,图片的编码或解码处理的顺序通常不同于它们从源到达的顺序;需要区分解码器的解码顺序(即比特流顺序)和输出顺序(即显示顺序)。
通常期望通过HEVC编码的视频材料作为逐行扫描影像而输入(由于源视频源自该格式或者由编码之前的去交错产生)。HEVC设计中不存在显式的编码特征以支持交错扫描的使用,因为交错扫描不再用于显示器并且对于分发而言变得基本上不常见。然而,在HEVC中已经提供了元数据语法(syntax),以允许编码器指示已经通过将交错视频的每个场(即每个视频帧的偶数或奇数行)编码为单独的图片来传送交错扫描视频或已经通过将每个交错帧编码为HEVC编码图片来传送交错扫描视频。这提供了一种对交错视频进行编码而无需使解码器需要支持针对其的特殊解码过程的有效方法。
1.1.H.264/AVC中的分割树结构的示例
先前标准中的编码层的核心是宏块,其包含16×16亮度样点块,并且在4:2:0颜色采样的通常情况下,包含两个对应的8×8色度样点块。
帧内编码块使用空间预测来利用像素当中的空间相关性。定义了两个分割:16×16和4×4。
帧间编码块通过估计图片当中的运动来使用时间预测而不是空间预测。可以针对16×16宏块或其任何子宏块分割(16×8、8×16、8×8、8×4、4×8、4×4)独立地估计运动,如图2所示(参考文件[2])。仅允许每一子宏块分割一个运动矢量(MV)。
1.2.HEVC中分割树结构的示例
在HEVC中,通过使用表示为编码树的四叉树结构将编码树单元(Coding TreeUnit,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定义类似于离散余弦变换(Discrete Cosine Transform,DCT)的函数的整数基函数。对于亮度帧内预测残差的4×4变换,交替地指定从离散正弦变换(Discrete Sine Transform,DST)的形式推导的整数变换。
1.2.1.树结构分割为TB和TU的示例
对于残差编码,CB可以被递归地分割为变换块(TB)。分割由残差四叉树信令通知。仅指定了正方形CB和TB分割,其中块可以被递归地划分为象限,如图4A和图4B所示。对于尺寸为M×M的给定亮度CB,标志信令通知其是否被划分为四个尺寸为M/2×M/2的块。如果进一步划分是有可能的,如通过序列参数集(Sequence Parameter Set,SPS)中指示的残差四叉树的最大深度信令通知的,则为每个象限分配指示其是否被划分为四个象限的标志。由残差四叉树产生的叶节点块是通过变换编码进一步处理的变换块。编码器指示其将使用的最大和最小亮度TB尺寸。当CB尺寸大于最大TB尺寸时,划分是隐式的。当划分将导致亮度TB尺寸小于指示的最小值时,不划分是隐式的。除了当亮度TB尺寸为4×4时(在这种情况下,单个4×4色度TB用于由四个4×4亮度TB覆盖的区域),色度TB尺寸在每个维度中是亮度TB尺寸的一半。在帧内预测的CU的情况下,(在CB内或外部的)最近的相邻TB的解码样点被用作用于帧内预测的参考数据。
与先前标准相反,HEVC设计允许TB跨越帧间预测的CU的多个PB,以最大化四叉树结构的TB分割的潜在编码效率益处。
1.2.2.父节点和子节点
根据四叉树结构划分CTB,四叉树结构的节点是编码单元。四叉树结构中的多个节点包括叶节点和非叶节点。叶节点在树结构中没有子节点(即叶节点不被进一步划分)。非叶节点包括树结构的根节点。根节点对应于视频数据的初始视频块(例如,CTB)。对于多个节点中的每个相应的非根节点,相应的非根节点对应于视频块,该视频块是与相应的非根节点的树结构中的父节点相对应的视频块的子块。多个非叶节点中的每个相应的非叶节点在树结构中具有一个或多个子节点。
1.3.在JEM中的具有更大CTU的四叉树加二叉树块结构的示例
在一些实施例中,使用已知为联合探索模型(Joint Exploration Model,JEM)的参考软件来探索未来视频编码技术。除二叉树结构外,JEM还描述了四叉树加二叉树(QTBT)和三叉树(Ternary Tree,TT)结构。
1.3.1.QTBT块分割结构的示例
与HEVC相反,QTBT结构移除了多个分割类型的概念,即它移除了CU、PU和TU概念的分离,并且支持CU分割形状的更多灵活性。在QTBT块结构中,CU可以具有正方形或矩形形状。如图5A所示,首先通过四叉树结构分割编码树单元(CTU)。通过二叉树结构进一步分割四叉树叶节点。在二叉树划分中有两种划分类型,对称水平划分和对称垂直划分。二叉树叶节点被称为编码单元(CU),并且该分段用于预测和变换处理而无需任何进一步的分割。这意味着CU、PU和TU在QTBT编码块结构中具有相同的块尺寸。在JEM中,CU有时由不同颜色分量的编码块(CB)组成,例如,一个CU在4:2:0色度格式的P条带和B条带的情况下包含一个亮度CB和两个色度CB,并且有时由单个分量的CB组成,例如,一个CU在I条带的情况下仅包含一个亮度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.可选视频编码技术中的分割结构的示例
在一些实施例中,支持作为QTBT的一般化的称为多树类型(MTT)的树结构。在QTBT中,如图7所示,首先通过四叉树结构分割编码树单元(CTU)。通过二叉树结构进一步分割四叉树叶节点。
MTT的结构由两种类型的树节点构成:区域树(RT)和预测树(PT),支持九种类型的分割,如图8A-图8I所示。区域树可以递归地将CTU划分为方块,直到4×4尺寸的区域树叶节点。在区域树中的每个节点处,可以从三种树类型(二叉树、三叉树和非对称二叉树)中的一种形成预测树。在PT划分中,禁止在预测树的分支中具有四叉树分割。如在JEM中,亮度树和色度树在I条带中被分离。在图9A中示出了RT和PT的信令方法。
2HEVC/H.265中的帧间预测的示例
多年来,视频编码标准已经显着改进,并且现在部分地提供高编码效率和对更高分辨率的支持。诸如HEVC和H.265的最新标准基于其中利用时间预测加变换编码的混合视频编码结构。
2.1预测模式的示例
每个帧间预测的PU(预测单元)具有针对一个或两个参考图片列表的运动参数。在一些实施例中,运动参数包括运动矢量和参考图片索引。在其他实施例中,还可以使用inter_pred_idc信令通知两个参考图片列表中的一个的使用。在其他实施例中,运动矢量可以被显式地编码为相对于预测器的增量。
当用跳过模式对CU进行编码时,一个PU与CU相关联,并且不存在显著的残差系数、没有编码的运动矢量增量或参考图片索引。指定Merge模式,由此从相邻PU获得当前PU的运动参数,包括空间和时间候选。Merge模式可以应用于任何帧间预测的PU,不仅应用于跳过模式。Merge模式的可选方案是运动参数的显式传输,其中每一PU显式地信令通知运动矢量、每个参考图片列表的对应参考图片索引、以及参考图片列表使用。
当信令指示要使用两个参考图片列表中的一个时,从一个样点块产生PU。这被称为“单向预测”。单向预测可用于P条带和B条带两者。
当信令指示要使用参考图片列表中的两者时,从两个样点块产生PU。这被称为“双向预测”。双向预测仅可用于B条带。
2.1.1构造Merge模式的候选的实施例
当使用Merge模式预测PU时,从比特流解析指向Merge候选列表中的条目的索引并将其用于检索运动信息。可以根据以下步骤的序列概述该列表的构造:
步骤1:初始候选推导
步骤1.1:空间候选推导
步骤1.2:空间候选的冗余检查
步骤1.3:时间候选推导
步骤2:附加候选插入
步骤2.1:创建双向预测候选
步骤2.2:插入零运动候选
图9B示出了基于上面概述的步骤的序列构造Merge候选列表的示例。对于空间Merge候选推导,在位于五个不同位置的候选当中选择最多四个Merge候选。对于时间Merge候选推导,在两个候选当中选择最多一个Merge候选。由于在解码器处假设每个PU的恒定数量的候选,因此当候选的数量未达到在条带头中信令通知的Merge候选的最大数量(MaxNumMergeCand)时,生成附加候选。由于候选的数量是恒定的,因此使用舍位一元二值化(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候选的推导中。
2.1.4构造附加类型的Merge候选
除了时空Merge候选之外,存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用时空Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一个初始候选的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,它们将形成新的双向预测候选。
图15示出了该过程的示例,其中具有mvL0和refIdxL0或mvL1和refIdxL1的原始列表(左边的1510)中的两个候选用于创建被添加到最终列表(右边的1520)的组合的双向预测Merge候选。
插入零运动候选以填充Merge候选列表中的剩余条目,并因此达到MaxNumMergeCand容量。这些候选具有零空间位移和参考图片索引,其从零开始并且每当新的零运动候选被添加到列表时增加。由这些候选使用的参考帧的数量对于单向预测和双向预测分别是1和2。在一些实施例中,不对这些候选执行冗余检查。
2.1.5用于并行处理的运动估计区域的示例
为了加速编码过程,可以并行执行运动估计,由此同时推导给定区域内部的所有预测单元的运动矢量。从空间邻域推导Merge候选可能干扰并行处理,因为一个预测单元不能从邻近PU推导运动参数,直到其相关联的运动估计被完成。为了缓和编码效率和处理时延之间的折衷,可以定义运动估计区域(Motion Estimation Region,MER)。可以使用“log2_parallel_merge_level_minus2”语法元素在图片参数集(PPS)中信令通知MER的尺寸。当定义MER时,落入相同区域的Merge候选被标记为不可用,并且因此在列表构造中不考虑。
表1中示出了图片参数集(PPS)原始字节序列有效载荷(Raw Byte SequencePayload 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 BDA0002114669070000141
2.2AMVP模式中的运动矢量预测的实施例
运动矢量预测利用运动矢量与相邻PU的时空相关性,其用于运动参数的显式传输。它通过首先检查左边、上面时间上相邻的PU位置的可用性,移除冗余候选并添加零矢量以使候选列表为恒定长度来构造运动矢量候选列表。然后,编码器可以从候选列表选择最佳预测器,并发送指示所选择的候选的对应索引。与Merge索引信令类似,使用舍位一元来编码最佳运动矢量候选的索引。
2.2.1构造运动矢量预测候选的示例
图16A和图16B概述了运动矢量预测候选的推导过程,并且可以针对以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.4Merge/AMVP信息的信令
对于AMVP模式,可以在比特流中信令通知四个部分,例如,预测方向、参考索引、MVD和mv预测器候选索引,其在表2-4中所示的语法的上下文中描述。而对于Merge模式,可能只需要信令通知Merge索引。
表2:一般条带分段标头语法
Figure BDA0002114669070000161
表3:预测单元语法
Figure BDA0002114669070000171
表4:运动矢量差语法
Figure BDA0002114669070000181
对应语义包括:
five_minus_max_num_merge_cand指定从5减去的条带中支持的Merge MVP候选的最大数量。Merge MVP候选的最大数量MaxNumMergeCand如下推导:
MaxNumMergeCand=5-five_minus_max_num_merge_cand
MaxNumMergeCand的值必须在1至5的范围内,包括1和5。
merge_flag[x0][y0]指定是否从相邻的帧间预测分割推断出当前预测单元的帧间预测参数。阵列索引x0、y0指定所考虑的预测块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
当merge_flag[x0][y0]不存在时,推断如下:
--如果CuPredMode[x0][y0]等于MODE_SKIP,则merge_flag[x0][y0]被推断为等于1。
--否则,merge_flag[x0][y0]被推断为等于0。
merge_idx[x0][y0]指定Merge候选列表的Merge候选索引,其中x0、y0指定所考虑的预测块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
3.联合探索模型(JEM)中的帧间预测方法的示例
在一些实施例中,使用已知为联合探索模型(JEM)的参考软件来探索未来视频编码技术。在JEM中,在若干编码工具中采用基于子块的预测,诸如仿射预测、可选时域运动矢量预测(ATMVP)、时空运动矢量预测(STMVP)、双向光流(bi-directional optical flow,BIO)、帧速率上转换(FRUC)、局部自适应运动矢量分辨率(Locally Adaptive MotionVector Resolution,LAMVR)、重叠块运动补偿(Overlapped Block Motion Compensation,OBMC)、局部光照补偿(Local Illumination Compensation,LIC)和解码器侧运动矢量细化(DMVR)。
3.1基于子CU的运动矢量预测的示例
在具有四叉树加二叉树(QTBT)的JEM中,每个CU可以具有每个预测方向的运动参数的至多一个集合。在一些实施例中,通过将大CU划分为子CU并且推导大CU的所有子CU的运动信息,在编码器中考虑两个子CU级别运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从比并置参考图片中的当前CU小的多个块提取运动信息的多个集合。在时空运动矢量预测(STMVP)方法中,通过使用时间运动矢量预测器和空间相邻运动矢量来递归地推导子CU的运动矢量。在一些实施例中,并且为了保留子CU运动预测的更准确的运动场,可以禁用参考帧的运动压缩。
3.1.1可选时域运动矢量预测(ATMVP)的示例
在ATMVP方法中,通过从比当前CU小的块提取运动信息(包括运动矢量和参考索引)的多个集合来修改时间运动矢量预测(TMVP)方法。
图18A和图18B示出了用于CU 1800的ATMVP运动预测过程的示例。ATMVP方法以两个步骤预测CU 1800内的子CU 1801的运动矢量。第一步骤是用时间矢量识别参考图片1850中的对应块1851。参考图片1850也称为运动源图片。第二步骤是将当前CU 1800划分为子CU1801,并从对应于每个子CU的块获得运动矢量以及每个子CU的参考索引。
在第一步骤中,参考图片1850和对应块由当前CU 1800的空间相邻块的运动信息确定。为了避免相邻块的重复扫描过程,使用当前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的示例。考虑包括四个4×4子CU A(2001)、子CU B(2002)、子CUC(2003)和子CU D(2004)的8×8CU 2000。当前帧中的相邻4×4块标记为a(2011)、b(2012)、c(2013)和d(2014)。
子CU A的运动推导通过识别其两个空间邻域开始。第一邻域是子CU A2001上面的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推导相同过程来推导子块A 2001的时间运动矢量预测器(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,通过CABAC(Context-based Adaptive Binary ArithmeticCoding,基于上下文的自适应二进制算术编码)对Merge索引的所有二进制位进行上下文编码。在其他实施例中,例如,HEVC,仅对第一二进制位进行上下文编码,并且对剩余的二进制位进行上下文旁路编码。
3.2自适应运动矢量差分辨率的示例
在一些实施例中,当条带头中的use_integer_mv_flag等于0时,以四分之一(quarter)亮度样点为单位信令通知(在PU的运动矢量和预测运动矢量之间的)运动矢量差(MVD)。在JEM中,引入了局部自适应运动矢量分辨率(LAMVR)。在JEM中,可以以四分之一亮度样点、整数亮度样点或四亮度样点为单位编码MVD。以编码单元(CU)级别控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU,有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标志以指示在CU中是否使用四分之一亮度样点MV精度。当第一标志(等于1)指示未使用四分之一亮度样点MV精度时,信令通知另一个标志以指示使用整数亮度样点MV精度还是四亮度样点MV精度。
当CU的第一MVD分辨率标志为零或未针对CU编码(意味着CU中的所有MVD均为零)时,四分之一亮度样点MV分辨率用于CU。当CU使用整数亮度样点MV精度或四亮度样点MV精度时,CU的AMVP候选列表中的MVP被取整为对应精度。
在编码器中,CU级别RD检查用于确定哪个MVD分辨率要被用于CU。也就是说,对于每个MVD分辨率,执行CU级别RD检查三次。为了加快编码器速度,在JEM中应用以下编码方案:
--在具有正常四分之一亮度样点MVD分辨率的CU的RD检查期间,存储当前CU(整数亮度样点准度)的运动信息。存储的运动信息(取整之后)被用作在针对具有整数亮度样点和4亮度样点MVD分辨率的相同CU的RD检查期间的进一步小范围运动矢量细化的起始点,使得耗时的运动估计过程不会重复三次。
--有条件地调用具有4亮度样点MVD分辨率的CU的RD检查。对于CU,当整数亮度样点MVD分辨率的RD成本远大于四分之一亮度样点MVD分辨率的RD成本时,跳过对于CU的4亮度样点MVD分辨率的RD检查。
3.2.1AMVP候选列表构造的示例
在JEM中,该过程类似于HEVC设计。然而,当当前块选择更低精度的MV(例如,整数精度)时,可以应用取整操作。在当前实现方式中,在从空间位置选择2个候选之后,如果两者都可用,则将这两个候选取整,然后进行修剪。
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 BDA0002114669070000231
图21示出了在帧速率上转换(FRUC)方法中使用的双向匹配的示例。双向匹配用于通过沿着两个不同参考图片(2110、2111)中的当前CU(2100)的运动轨迹找到两个块之间的最接近匹配来推导当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量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候选列表的最开端,然后(例如,通过移除第二现有AMVP候选)将列表尺寸设置为二。当应用于AMVP模式时,仅应用CU级别搜索。
在CU级别的MV候选集可以包括以下:(1)如果当前CU处于AMVP模式的原始AMVP候选,(2)所有Merge候选,(3)内插MV场中的若干MV(稍后描述),以及上边和左边相邻运动矢量。
当使用双向匹配时,Merge候选的每个有效MV可以用作输入以在假设双向匹配的情况下生成MV对。例如,Merge候选的一个有效MV是(MVa、refa)在参考列表A处。然后,在其他参考列表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添加到候选列表。
在子CU级别的MV候选集包括从CU级别搜索确定的MV,(2)上边、左边、左上和右上相邻MV,(3)来自参考图片的并置MV的缩放版本,(4)一个或多个ATMVP候选(例如,多达四个),以及(5)一个或多个STMVP候选(例如,多达四个)。来自参考图片的缩放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级别的候选集选择候选时,匹配成本可以是双向匹配或模板匹配的绝对和差(Absolute Sum Difference,SAD)。在确定起始MV之后,子CU级别搜索的双向匹配的匹配成本C计算如下:
Figure BDA0002114669070000241
这里,w是加权因子。在一些实施例中,w可以根据经验设置为4。MV和MVs分别指示当前MV和起始MV。SAD仍然可以用作子CU级别搜索的模板匹配的匹配成本。
在FRUC模式中,通过仅使用亮度样点来推导MV。推导的运动将用于MC帧间预测的亮度和色度两者。在决定MV之后,使用用于亮度的8抽头内插滤波器和用于色度的4抽头内插滤波器来执行最终MC。
MV细化是基于模式的MV搜索,其具有双向匹配成本或模板匹配成本的准则。在JEM中,支持两个搜索模式—无限制的中心偏置菱形搜索(Unrestricted Center-BiasedDiamond Search,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
使用来自list0的单向预测;
否则,
使用来自list1的单向预测;
这里,cost0是list0模板匹配的SAD,cost1是list1模板匹配的SAD,并且costBi是双向预测模板匹配的SAD。例如,当因子的值等于1.25时,这意味着选择过程偏向于双向预测。帧间预测方向选择可以应用于CU级别模板匹配过程。
3.4解码器侧运动矢量细化(DMVR)的示例
在双向预测操作中,为了预测一个块区域,分别使用list0的运动矢量(MV)和list1的MV形成的两个预测块被组合以形成单个预测信令。在解码器侧运动矢量细化(DMVR)方法中,通过双向模板匹配过程进一步细化双向预测的两个运动矢量。双向模板匹配在解码器中应用,以在双向模板和参考图片中的重建样点之间执行基于失真的搜索,以便获得细化的MV而不发送附加运动信息。
在DMVR中,分别从list0的初始MV0和list1的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局部光照补偿
局部光照补偿(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。
3.6具有双向匹配细化的Merge/跳过模式的示例
首先通过利用冗余检查将空间相邻和时间相邻块的运动矢量和参考索引插入候选列表中来构造Merge候选列表,直到可用候选的数量达到最大候选尺寸19。通过根据预定义的插入顺序,在插入空间候选、时间候选、仿射候选、高级时间MVP(Advanced TemporalMVP,ATMVP)候选、时空MVP(Spatial Temporal,STMVP)候选和HEVC中使用的附加候选(组合候选和零候选)来构造Merge/跳过模式的Merge候选列表,并且在图25中所示的编号块的上下文中:
(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候选继承。而且,对于前四个空间候选,在具有单向预测的候选之前插入双向预测候选。
4.二值化方法和Merge索引编码的示例
在一些实施例中,可以选择若干二值化方法。对于一个语法元素,应该首先基于分布将相关值二值化为二进制串。对于每个二进制位,可以用上下文或旁路编码方法对其进行编码。
4.1示例性一元和舍位一元(TU)二值化过程
对于每个无符号整数值符号x≥0,CABAC中的一元码字由x个“1”比特加上终止“0”比特组成。仅针对0≤x≤S的x定义舍位一元(TU)码,其中对于x<S,该码由一元码给出,而对于x=S,终止“0”比特被忽略,使得x=S的TU码仅由x个“1”比特组成的码字给出。
表5:一元二值化的二进制串
Figure BDA0002114669070000281
表6:舍位一元二值化的二进制串
Figure BDA0002114669070000282
4.2示例性K阶Exp-Golomb(K-th order Exp-Golomb,EGk)二值化过程
对于EGk二值化,具有相同码长k+2·l(x)+1的符号的数量在几何上增长。通过反转理想码长与符号概率之间的香农关系,我们可以例如容易推断出EG0是概率分布函数(pdf)p(x)=1/2·(x+1)-2(其中x≥0)的最优码。这意味着对于适当选择的参数k,EGk码表示通常观察到的概率分布函数的尾部的理想无前缀码的相当好的一阶近似。
表7:EG0二值化的二进制串
Figure BDA0002114669070000291
4.3示例性舍位Rice(Truncated Rice,TR)二值化过程
该过程的输入是对TR二值化、cMax和cRiceParam的请求。
该过程的输出是将每个值symbolVal与对应的二进制串相关联的TR二值化。
TR二进制串是前缀二进制串和后缀二进制串(当存在时)的串联。
为了推导前缀二进制串,以下适用:
--symbolVal的前缀值prefixVal如下推导:
prefixVal=symbolVal>>cRiceParam
--TR二进制串的前缀指定如下:
如果prefixVal小于cMax>>cRiceParam,则前缀二进制串是由binIdx索引的长度为prefixVal+1的比特串。小于prefixVal的binIdx的二进制位等于1。binIdx等于prefixVal的二进制位等于0。
当cMax大于symbolVal且cRiceParam大于0时,存在TR二进制串的后缀,并且如下推导:
--后缀值suffixVal如下推导:
suffixVal=symbolVal-((prefixVal)<<cRiceParam)
--通过以等于(1<<cRiceParam)-1的cMax值调用suffixVal的固定长度(Fixed-Length,FL)二值化过程来指定TR二进制串的后缀。
注意,对于输入参数cRiceParam=0,TR二值化恰好是舍位一元二值化,并且其总是以等于被解码的语法元素的最大可能值的cMax值而调用。
4.4示例性固定长度(FL)二值化过程
该过程的输入是对FL二值化和cMax的请求。
该过程的输出是将每个值symbolVal与对应的二进制串相关联的FL二值化。
通过使用符号值symbolVal的fixedLength比特无符号整数二进制串来构造FL二值化,其中fixedLength=Ceil(Log2(cMax+1))。FL二值化的二进制位的索引使得binIdx=0与最高有效位相关,其中binIdx的值向最低有效位增加。
表8:FL二值化的二进制串(cMax=7)
Figure BDA0002114669070000301
4.5merge_idx的示例性编码
如HEVC规范中所指定的,如果允许的Merge候选的总数大于1,则首先将Merge索引二值化为二进制串。
表9:二值化和编码merge_idx的二进制位的方式
Figure BDA0002114669070000302
使用cRiceParam等于0的TR,即TU。merge_idx的第一二进制位用一个上下文编码,并且剩余的二进制位(如果存在)用旁路编码。
5.JEM中的帧内预测的示例实施例
5.1具有67个帧内预测模式的帧内模式编码的示例
为了捕获在自然视频中呈现的任意边缘方向,定向帧内模式的数量从如在HEVC中使用的33扩展到65。附加定向模式在图27中被描绘为浅灰色虚线箭头,并且平面和DC模式保持不变。这些更密集的定向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。
5.2亮度帧内模式编码的示例
在JEM中,帧内预测模式的总数已经从HEVC中的35增加到67。图27描绘了67个帧内预测模式的示例。
为了适应增加数量的定向帧内模式,使用具有6个最可能模式(Most ProbableMode,MPM)的帧内模式编码方法。涉及两个主要技术方面:1)对6个MPM的推导,以及2)6个MPM和非MPM模式的熵编码。
在JEM中,被包括在MPM列表中的模式被分类为三组:
--邻域帧内模式
--推导的帧内模式
--默认帧内模式
使用五个相邻帧内预测模式来形成MPM列表。5个相邻块的那些位置与Merge模式中使用的那些位置相同,即如图28所示的左边(L)、上面(A)、左下(BL)、右上(AR)和左上(AL)。通过将5个邻域帧内模式以及平面和DC模式插入MPM列表来形成初始MPM列表。修剪过程用于移除重复模式,以便只有唯一模式可以被包括在MPM列表中。初始模式被包括的顺序是:左边、上面、平面、DC、左下、右上、并且然后左上。
如果MPM列表未满(即列表中少于6个MPM候选),则添加推导模式;通过将-1或+1添加到已被包括在MPM列表中的角度模式(angular mode)来获得这些帧内模式。这样的附加推导模式不是从非角度模式(DC或平面)生成的。
最后,如果MPM列表仍未完成,则按以下顺序添加默认模式:垂直、水平、模式2和对角线模式。作为该过程的结果,生成6个MPM模式的唯一列表。
对于使用6个MPM对所选择的模式进行熵编码,使用舍位一元二值化。前三个二进制位用上下文编码,该上下文取决于与当前信令通知的二进制位相关的MPM模式。MPM模式分类为以下三类中的一类:(a)主要为水平的模式(即MPM模式数量小于或等于对角线方向的模式数量),(b)主要为垂直的模式(即MPM模式大于对角线方向的模式数量,以及(c)非角度(DC和平面)类。因此,基于该分类,三个上下文用于信令通知MPM索引。
用于选择剩余的61个非MPM的编码如下进行。61个非MPM首先划分为两个集合:所选择的模式集和非选择模式集。所选择的模式集包含16个模式,其余模式(45个模式)分配给未选择模式集。当前模式所属的模式集在具有标志的比特流中指示。如果要指示的模式在所选择的模式集内,则用4比特固定长度码信令通知所选择的模式,并且如果要指示的模式来自未选择模式集,则用舍位二进制码信令通知所选择的模式。所选择的模式集是通过如下所示对61个非MPM模式进行子采样而生成的:
--所选择的模式集={0,4,8,12,16,20…60}
--未选择模式集={1,2,3,5,6,7,9,10…59}
在编码器侧,使用HM的类似的两阶段帧内模式判定过程。在第一阶段(即帧内模式预选阶段)中,使用更低复杂度的绝对变换差和(Sum of Absolute TransformDifference,SATD)成本来从所有可用帧内模式预选N个帧内预测模式。在第二阶段中,进一步应用更高复杂度的R-D成本选择以从N个候选选择一个帧内预测模式。然而,当应用67个帧内预测模式时,由于可用模式的总数大致加倍,所以如果直接使用HM的相同的编码器模式判定过程,则帧内模式预选阶段的复杂度也将增加。为了最小化编码器复杂度增加,执行两步帧内模式预选过程。在第一步,基于绝对变换差和(SATD)度量,从(图27中由黑色实线箭头指示的)原始的35个帧内预测模式选择N(N取决于帧内预测块尺寸)个模式;在第二步,通过SATD进一步检查所选择的N个模式的直接邻域(如图27中由浅灰色虚线箭头指示的附加帧内预测方向),并且更新所选择的N个模式的列表。最后,如果尚未包括MPM,则将前M个MPM添加到N个模式,并且针对第二阶段R-D成本检查生成候选帧内预测模式的最终列表,其以与HM相同的方式完成。基于HM中的原始设置,M的值增加1,并且N稍微减小,如下表10所示。
表10:帧内模式预选步骤中的模式候选的数量
帧内预测块尺寸 4×4 8×8 16×16 32×32 64×64 >64×64
HM 8 8 3 3 3 3
具有67个帧内预测模式的JEM 7 7 2 2 2 2
5.3色度帧内模式编码的示例
在JEM中,允许总共11个帧内模式用于色度CB编码。这些模式包括5个传统帧内模式和6个跨分量线性模型模式。色度模式候选的列表包括以下三个部分:
●CCLM模式
●DM模式,从覆盖当前色度块的并置的五个位置的亮度CB推导的帧内预测模式
○按顺序检查的五个位置是:I条带的当前色度块的对应亮度块内的中心(CR)、左上(TL)、右上(TR)、左下(BL)和右下(BR)4×4块。对于P条带和B条带,仅检查这五个子块中的一个,因为它们具有相同的模式索引。图29A和图29B中示出了五个并置的亮度位置的示例。
●根据空间相邻块的色度预测模式:
○5个色度预测模式:根据左边、上面、左下、右上和左上空间上相邻的块
○平面和DC模式
○添加推导的模式,通过将-1或+1添加到已被包括在列表中的角度模式来获得这些帧内模式。
○垂直、水平、模式2
每当将新的色度帧内模式添加到候选列表时,应用修剪过程。然后将非CCLM色度帧内模式候选列表尺寸修整为5。对于模式信令,首先信令通知标志以指示使用CCLM模式中的一个还是传统色度帧内预测模式中的一个。然后可以跟随几个更多的标志以指定用于当前色度CB的精确色度预测模式。
6.现有实现方式的示例
当前HEVC设计可以采用当前块与其相邻块(紧邻当前块)的相关性来更好地编码运动信息。然而,相邻块有可能对应于具有不同运动轨迹的不同对象。在这种情况下,根据其相邻块的预测效率不高。
根据非邻近块的运动信息的预测可以带来附加编码增益,其存在将所有运动信息(通常在4×4级别上)存储到高速缓存中的成本,这显着增加了硬件实现方式的复杂性。
一元二值化方法适用于较少数量的允许的Merge候选。然而,当允许的候选的总数变得更大时,一元二值化可能是次优的。
AMVP候选列表构造过程的HEVC设计仅调用两个空间AMVP候选当中的修剪。没有利用完全修剪(可用候选中的每一个与所有其他候选相比),因为由于有限的修剪而编码损失可忽略不计。然而,如果有更多的AMVP候选可用,修剪变得重要。此外,当启用LAMVR时,应该研究如何构造AVMP候选列表。
7.基于LUT的运动矢量预测的示例方法
本公开技术的实施例克服了现有实现方式的缺点,从而为视频编码提供更高的编码效率。为了克服现有实现方式的缺点,可以在各种实施例中实现使用具有被存储以预测块的运动信息的至少一个运动候选的一个或多个表(例如,查找表)的基于LUT的运动矢量预测技术,以为视频编码提供更高的编码效率。查找表是可以用于包括用于预测块的运动信息的运动候选的表的示例,并且其他实现方式也是可能的。每个LUT可以包括一个或多个运动候选,每个运动候选与对应的运动信息相关联。运动候选的运动信息可包括预测方向、参考索引/图片图片、运动矢量、LIC标志、仿射标志、运动矢量推导(MVD)精度和/或MVD值的部分或全部。运动信息可以进一步包括块位置信息,以指示运动信息来自哪里。
可以增强现有和未来视频编码标准的、基于所公开的技术的基于LUT的运动矢量预测在针对各种实现方式描述的以下示例中阐明。因为LUT允许基于历史数据(例如,已经被处理的块)执行编码/解码过程,所以基于LUT的运动矢量预测也可以被称为基于历史的运动矢量预测(History-based Motion Vector Prediction,HMVP)方法。在基于LUT的运动矢量预测方法中,在编码/解码过程期间维护具有来自先前编码的块的运动信息的一个或多个表。存储在LUT中的这些运动候选被命名为HMVP候选。在一个块的编码/解码期间,可以将LUT中的相关联的运动信息添加到运动候选列表(例如,Merge/AMVP候选列表),并且在对一个块进行编码/解码之后,可以更新LUT。然后使用更新的LUT对后续块进行编码。因此,LUT中的运动候选的更新基于块的编码/解码顺序。
可以增强现有和未来视频编码标准的、基于所公开的技术的基于LUT的运动矢量预测在针对各种实现方式描述的以下示例中阐明。以下提供的所公开的技术的示例解释了一般概念,并且不意味着被解释为限制。在一个示例中,除非明确地相反指示,否则可以组合这些示例中描述的各种特征。
关于术语,LUT的条目的以下示例是运动候选。术语运动候选用于指示存储在查找表中的运动信息的集合。对于传统AMVP或Merge模式,AMVP或Merge候选用于存储运动信息。如下面将描述的,并且在非限制性示例中,具有用于运动矢量预测的运动候选的LUT的概念被扩展到具有用于帧内模式编码的帧内预测模式的LUT,或者扩展到具有用于IC参数编码的光照补偿参数的LUT或扩展到具有滤波器参数的LUT。用于运动候选的基于LUT的方法可以扩展到其他类型的编码信息,如本专利文献中所述的,现有和未来视频编码标准。
查找表的示例
示例A:每个查找表可以包含一个或多个运动候选,其中每个候选与其运动信息相关联。
在一个示例中,表尺寸(例如,运动候选的最大允许条目的数量)和/或表的数量可以取决于序列分辨率、最大编码单元尺寸、Merge候选列表的尺寸。
查找表的更新
示例B1:在用运动信息(即IntraBC模式、帧间编码模式)对块进行编码之后,可以更新一个或多个查找表。
a.在一个示例中,是否更新查找表可以重用用于选择查找表的规则,例如,当可以选择查找表用于对当前块进行编码时,在对块进行编码/解码之后,所选择的查找表可以进一步被更新。
b.可以基于编码信息、和/或块/LCU的位置来选择要更新的查找表。
c.如果用直接信令通知的运动信息对块进行编码(诸如AMVP模式、用于正常/仿射帧间模式的MMVD模式、用于正常/仿射帧间模式的AMVR模式),则可以将块的运动信息添加到查找表。
i.可替换地,如果用直接从空间相邻块继承而没有进行任何细化的运动信息(例如,没有进行细化的空间Merge候选)对块进行编码,则不应将块的运动信息添加到查找表。
ii.可替换地,如果用直接从空间相邻块继承且进行细化的运动信息(诸如DMVR、FRUC)对块进行编码,则不应将块的运动信息添加到任何查找表。
iii.可替换地,如果用直接从存储在查找表中的运动候选继承的运动信息对块进行编码,则不应将块的运动信息添加到任何查找表。
iv.在一个示例中,可以将这样的运动信息直接添加到查找表,诸如添加到表的最后一个条目或用于存储下一个可用运动候选的条目。
v.可替换地,可以将这样的运动信息直接添加到查找表而不进行修剪,例如,不进行任何修剪。
vi.可替换地,可以使用这样的运动信息来对查找表进行重新排序。
vii.可替换地,可以以(例如,与查找表中的最新一个相比)有限的修剪使用这样的运动信息来更新查找表。
d.选择块内的M(M>=1)个代表性位置,并且与代表相关联的运动信息被用来更新查找表。
i.在一个示例中,代表性位置被定义为块内的四个角位置(例如,图30中的C0-C3)中的一个。
ii.在一个示例中,代表性位置被定义为块内的中心位置(例如,图30中的Ca-Cd)。
iii.当对于块不允许子块预测时,M被设置为1。
iv.当对于块允许子块预测时,M可以被设置为1、或子块的总数、或[1,子块的数量]之间的任何其他值(不包括1和子块的数量)。
v.可替换地,当对于块允许子块预测时,M可以被设置为1并且对代表性子块的选择基于以下:
1.利用的运动信息的频率,
2.它是否是双向预测块
3.基于参考图片索引/参考图片
4.与其他运动矢量相比的运动矢量差(例如,选择最大MV差)
5.其他编码信息。
e.当选择M(M>=1)个代表性位置集合以更新查找表时,可以在将它们作为附加运动候选添加到查找表之前检查其他条件。
i.可以将修剪应用于查找表中的现有运动候选的新的运动信息集合。
ii.在一个示例中,新的运动信息集合不应与查找表中的现有运动候选中任何一个或部分相同。
iii.可替换地,对于新的运动信息集合和一个现有运动候选的相同参考图片,MV差应该不小于一个/多个阈值。例如,MV差的水平和/或垂直分量应该大于1像素距离。
iv.可替换地,当K>L时,新的运动信息集合仅与最后K个候选或第一K%L个现有运动候选修剪,以允许重新激活旧的运动候选。
v.可替换地,不应用修剪。
f.如果M个运动信息集合用来更新查找表,则对应的计数器应该增加M。
g.假定在对当前块进行编码之前,由K表示要更新的查找表的计数器,则在对块进行编码之后,对于一个所选择的运动信息集合(利用上述方法),将其作为索引等于K%L的附加运动候选来添加(其中L为查找表尺寸)。示例在图31A和图31B中示出。
i.可替换地,将其作为索引等于min(K+1,L-1)的附加运动候选来添加。可替换地,此外,如果K>=L,则从查找表移除第一个运动候选(索引等于0),并且将后面的K个候选索引减小1。
ii.对于上面两种方法(将新运动候选添加到索引等于K%L的条目或添加为索引等于min(K+1,L-1)的条目),他们试图保留来自先前编码的块的最新的几个运动信息集合,无论是否存在相同/类似的运动候选。
iii.可替换地,当将新的运动信息集合作为运动候选添加到LUT时,首先应用冗余检查。在这种情况下,LUT将保留来自先前编码的块的最新的几个运动信息集合,然而,可以从LUT移除冗余的运动信息集合。这样的方法称为基于冗余移除的LUT更新方法。
1.如果LUT中存在冗余运动候选,则与LUT相关联的计数器可以不增加或不减小。
2.冗余检查可以被定义为Merge候选列表构造过程中的修剪过程,例如,检查参考图片/参考图片索引是否相同,并且运动矢量差是否在范围内或相同。
3.如果在LUT中找到冗余运动候选,则冗余运动候选从其当前位置移动到LUT的最后一个位置。
a.类似地,如果在LUT中找到冗余运动候选,则从LUT移除该冗余运动候选。另外,在冗余运动候选之后插入到LUT的所有运动候选向前移动以重新填充冗余运动候选的移除的条目。在移位之后,新的运动候选被添加到LUT。
b.在这种情况下,计数器保持不变。
c.一旦在LUT中识别出冗余运动候选,就终止冗余检查过程。
4.可以识别多个冗余运动候选。在这种情况下,所有冗余运动候选都从LUT移除。另外,所有剩余的运动候选可以按顺序向前移动。
a.在这种情况下,计数器减小(冗余运动候选的数量减1)。
b.在识别maxR个冗余运动候选(maxR是正整数变量)之后终止冗余检查过程。
5.冗余检查过程可以从第一个运动候选开始到最后一个运动候选(即按照添加到LUT的顺序、按照运动信息所来自的块的解码过程的顺序)。
6.可替换地,当在LUT中存在冗余运动候选时,不从LUT移除冗余运动候选中的一个或多个,而可以从冗余运动候选推导虚拟运动候选,并且虚拟运动候选可以用来替换冗余运动候选。
a.可以通过将(多个)偏移添加到一个或多个运动矢量的水平和/或垂直分量来从冗余运动候选推导虚拟运动候选;如果指向相同的参考图片,则平均两个运动矢量。可替换地,可以从查找表中的运动矢量作为输入的任何函数推导虚拟运动候选。示例性函数是:一起添加两个或更多个运动矢量;平均两个或更多个运动矢量。运动矢量可以在输入到函数之前被缩放。
b.可以将虚拟运动候选添加到与冗余运动候选相同的位置。
c.可以在所有其他运动候选之前添加虚拟运动候选(例如,从最小的条目索引开始,如零)。
d.在一个示例中,仅在某些条件(诸如当前LUT未满时)下应用它。
7.可以在某些条件下调用基于冗余移除的LUT更新方法,诸如:
a.当前块是用Merge模式来编码的,
b.当前块是用AMVP模式来编码的,但MV差的至少一个分量是非零的;
c.当前块是用或不用基于子块的运动预测/运动补偿方法来编码的(例如,不用仿射模式来编码)
d.当前块是用Merge模式来编码的,并且运动信息与某种类型相关联(例如,来自空间相邻块,来自左边相邻块,来自时间块)
h.在对一个块进行编码/解码之后,可以通过只将M个运动信息集合插入到表的末端(即在所有现有候选之后)来更新一个或多个查找表。
i.可替换地,此外,可以移除表中的一些现有运动候选。
1.在一个示例中,如果在插入M个运动信息集合之后表已满,则可以从表移除运动候选的前几个条目。
2.在一个示例中,如果在插入M个运动信息集合之前表已满,则可以从表移除运动候选的前几个条目。
ii.可替换地,此外,如果块是用来自表的运动候选来编码的,则可以对表中的运动候选进行重新排序,以便将所选择的运动候选放到表的最后一个条目中。
i.在一个示例中,在对块进行编码/解码之前,查找表可以包括由HMVP0、HMVP1、HMVP2、……、HMVPK-1、HMVPK、HMVPK+1、……、HMVPL-1表示的运动候选,其中HMVPi表示查找表中的第i个条目。如果从HMVPK(K在[0,L-1]范围内,包括0和L-1)来预测块,则在对该块进行编码/解码之后,将查找表重新排序为:HMVP0、HMVP1、HMVP2、……、HMVPK-1、HMVPK、HMVPK+1、……、HMVPL-1、HMVPK
j.在对一个帧内约束块进行编码之后,可以清空查找表。
k.如果将运动信息的条目添加到查找表中,则还可以通过从运动信息的推导将运动信息的更多条目添加到表中。在这种情况下,与查找表相关联的计数器可以增加多于1。
i.在一个示例中,运动信息的条目的MV被缩放并被放到表中;
ii.在一个示例中,运动信息的条目的MV被添加(dx,dy)并被放到表中;
iii.在一个示例中,计算运动信息的两个或更多个条目的MV的平均值并将其放到表中。
示例B2:如果一个块位于图片/条带/片边界处,则可以始终不允许更新查找表。
示例B3:可以禁用上面LCU行的运动信息以对当前LCU行进行编码。
a.在这种情况下,在新条带/片/LCU行的开始处,可用运动候选的数量可以被重置为0。
示例B4:在对具有新的时间层索引的条带/片进行编码的开始处,可用运动候选的数量可以被重置为0。
示例B5:可以用具有相同的时间层索引的一个条带/片/LCU行/多个条带来连续更新查找表。
a.可替换地,可以仅在对每S(S>=1)个CTU/CTB/CU/CB进行编码/解码之后或者在对某个区域(例如,尺寸等于8×8或16×16)进行编码/解码之后更新查找表。
b.可替换地,可以仅在用某些模式对每S(S>=1)个块(例如,CU/CB)进行编码/解码(例如,S个帧间编码块)之后更新查找表。可替换地,可以仅在对不用基于子块的运动预测/运动补偿方法而进行编码(例如,不用仿射和/或ATMVP模式而进行编码)的每S(S>=1)个帧间编码块(例如,CU/CB)进行编码/解码之后更新查找表。
c.可替换地,可以仅在编码/解码块的左上坐标满足一些条件时更新查找表。例如,仅当(x&M==0)&&(y&M==0)时更新查找表,其中(x,y)是编码/解码块的左上坐标。M是整数,诸如2、4、8、16、32或64。
d.可替换地,一旦一个查找表达到最大允许计数器,其就可以停止更新。
e.在一个示例中,可以预定义计数器。可替换地,其可以在视频参数集(VideoParameter Set,VPS)、序列参数集(Sequence Parameter Set,SPS)、图片参数集(PictureParameter Set,PPS)、条带头、片头、编码树单元(CTU)、编码树块(CTB)、编码单元(CU)或预测单元(PU)、覆盖多个CTU/CTB/CU/PU的区域中信令通知。
示例B6:当用Merge或AMVP模式对块进行编码时,可以用与块相关联的运动信息来更新LUT。
示例B7:在通过添加从编码块获得的运动候选来更新LUT之前,可以应用修剪。
示例B8:可以周期性地更新LUT。
示例C:可以应用对LUT中的运动候选的重新排序。
(a)在一个示例中,在对一个块进行编码之后,可以从该块获得新的运动候选。可以首先将其添加到LUT,然后可以应用重新排序。在这种情况下,对于后续块,它将利用重新排序的LUT。例如,在完成对某个单元(例如,一个LCU、一个LCU行、多个LCU等)进行编码之后发生重新排序。
(b)在一个示例中,LUT中的运动候选不被重新排序。然而,当对块进行编码时,可以首先应用对运动候选的重新排序,然后被检查并被插入到Merge/AMVP/或其他种类的运动信息候选列表。
示例D:类似于对具有用于运动矢量预测的运动候选的LUT的使用,提出了可以构造和/或更新一个或多个LUT以存储来自先前编码的块的帧内预测模式,并且LUT可以用于对帧内编码块进行编码/解码。
8.基于LUT的运动矢量预测的附加实施例
提出了基于历史的MVP(HMVP)方法,其中HMVP候选被定义为先前编码的块的运动信息。在编码/解码过程期间维护具有多个HMVP候选的表。当遇到新条带时,表被清空。每当存在帧间编码块时,将相关联的运动信息添加到表的最后一个条目作为新的HMVP候选。整个编码流程在图32中描绘。
在一个示例中,将表尺寸设置为L(例如,L=16或6或44),其指示可以将多达L个HMVP候选添加到表中。
在一个实施例(对应于示例B1.g.i)中,如果存在来自先前编码的块的多于L个HMVP候选,则应用先进先出(First-In-First-Out,FIFO)规则,以便表始终包含最新的先前编码的L个运动候选。图33描绘了在所提出的方法中使用的其中应用FIFO规则以移除HMVP候选并将新的HMVP候选添加到表中的示例。
在另一实施例中(对应于发明B1.g.iii),每当添加新的运动候选(诸如当前块是帧间编码的并且非仿射模式)时,首先应用冗余检查过程来识别在LUT中是否存在相同或相似的运动候选。
一些示例描绘如下:
图34A示出了当在添加新的运动候选之前LUT已满时的示例。
图34B示出了当在添加新的运动候选之前LUT未满时的示例。
图34A和图34B一起示出了基于冗余移除的LUT更新方法的示例(其中一个冗余运动候选被移除)。
图35A和35B示出了基于冗余移除的LUT更新方法的两种情况的示例实现(其中多个冗余运动候选(图中的2个候选)被移除)
图35A示出了当在添加新的运动候选之前LUT已满时的示例情况。
图35B示出了当在添加新的运动候选之前LUT未满时的示例情况。
HMVP候选可以用于Merge候选列表构造过程中。在TMVP候选之后插入表中的从最后一个条目到第一个条目(或最后K0个HMVP,例如,K0等于16或6)的所有HMVP候选。修剪应用于HMVP候选。一旦可用Merge候选的总数达到信令通知的最大允许Merge候选,则终止Merge候选列表构造过程。可替换地,一旦添加的运动候选的总数达到给定值,则终止从LUT提取运动候选。
类似地,HMVP候选也可以用于AMVP候选列表构造过程中。在TMVP候选之后插入表中的最后K1个HMVP候选的运动矢量。仅使用具有与AMVP目标参考图片相同的参考图片的HMVP候选来构造AMVP候选列表。修剪应用于HMVP候选。在一个示例中,K1被设置为4。图36中描绘了基于LUT的预测方法的编码流程的示例。在周期更新的上下文中,更新过程在对区域进行解码之后完成。避免频繁更新LUT的示例在图37中描绘。
上述示例可以并入在下面描述的方法(例如,可以在视频解码器和/或视频编码器处实现的方法3810、3820、3830、3840)的上下文中。
图38A示出了用于视频处理的示例性方法的流程图。方法3810包括:在步骤3812处:维护表,其中每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联。方法3810进一步包括:在步骤3814处,基于表来执行第一视频块与包括第一视频块的视频的比特流表示之间的转换。方法3810进一步包括:在步骤3816处,在执行转换之后,基于更新规则来更新零个或多个表。
图38B示出了用于视频处理的示例性方法的另一流程图。方法3820包括:在步骤3822处,维护表,其中每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联。方法3820进一步包括:在步骤3824处,基于表来执行第一视频块与包括第一视频块的视频的比特流表示之间的转换。方法3820进一步包括:在步骤3826处,在执行转换之后,基于视频中的一个或多个视频区域来更新一个或多个表,直到满足更新终止准则。
图38C示出了用于视频处理的示例性方法的另一流程图。方法3830包括:在步骤3832处,维护包括运动候选的一个或多个表,每个运动候选与对应的运动信息相关联。方法3830进一步包括:在步骤3834处,对一个或多个表中的至少一个表中的运动候选进行重新排序。方法3830进一步包括:在步骤3836处,基于重新排序的表中的一个或多个,使用一个或多个表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换。
图38D示出了用于视频处理的示例性方法的另一流程图。方法3840包括:在步骤3842处,维护包括运动候选的一个或多个表,每个运动候选与对应的运动信息相关联。方法3840进一步包括:在步骤3844处,基于重新排序的表中的一个或多个,使用一个或多个表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换。方法3840进一步包括,在步骤3846处,通过基于第一视频块的转换将附加运动候选添加到表中并重新排序表中的运动候选来更新一个或多个表。
9.所公开的技术的示例实现
图39是视频处理装置3900的框图。装置3900可以用于实现本文描述的一个或多个方法。装置3900可以实施在智能手机、平板电脑、计算机、物联网(Internet of Things,IoT)接收器等中。装置3900可以包括一个或多个处理器3902、一个或多个存储器3904和视频处理硬件3906。(多个)处理器3902可以被配置为实现本文档中描述的一个或多个方法(包括但不限于方法3810-3840)。存储器3904可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件3906可以用于在硬件电路中实现本文档中描述的一些技术。
在一些实施例中,视频编码和解码方法可以使用在如关于图38A-图38D所描述的硬件平台上实现的装置而实现。
下面使用基于条款的描述格式描述上述方法/技术的附加特征和实施例。
1.一种视频处理方法,包括:维护表,其中每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联;基于表来执行第一视频块与包括第一视频块的视频的比特流表示之间的转换;以及在执行转换之后,基于更新规则来更新零个或多个表。
2.根据条款1所述的方法,其中,更新规则不允许更新位于视频的图片或条带或片边界处的视频块的表。
3.一种视频处理方法,包括:维护表,其中,每个表包括运动候选的集合,并且每个运动候选与对应的运动信息相关联;基于表来执行第一视频块与包括第一视频块的视频的比特流表示之间的转换;以及在执行转换之后,基于视频中的一个或多个视频区域来更新一个或多个表,直到满足更新终止准则。
4.根据条款1或3所述的方法,其中,表仅在条带、片、最大编码单元(LCU)行或具有相同时间层索引的条带内更新。
5.根据条款1或3所述的方法,其中,在对S个视频区域执行转换之后或在对具有某个尺寸的视频区域执行转换之后,表被更新,其中,S是整数。
6.根据条款3所述的方法,其中,当与正在被更新的表相关联的计数器达到最大允许数量时,满足更新终止准则。
7.根据条款3所述的方法,其中,当与正在被更新的表相关联的计数器达到预定值时,满足更新终止准则。
8.根据条款7所述的方法,其中,预定值是在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带头、片头、编码树单元(CTU)、编码树块(CTB)、编码单元(CU)或预测单元(PU)、或覆盖多个CTU、多个CTB、多个CU或多个PU的视频区域中信令通知的。
9.根据条款1或3所述的方法,其中,当第一视频块的左上坐标(x,y)满足更新规则中定义的某个条件时,更新规则更新表。
10.根据条款9所述的方法,其中,当(x&M==0)&&(y&M==0)时,表被更新,其中,M为2、4、8、16、32或64。
11.根据条款1或3所述的方法,其中,在对S个视频块执行转换之后,更新规则更新表,其中,S是不小于1的整数。
12.根据条款11所述的方法,其中,S个视频块是帧间编码块。
13.根据条款11所述的方法,其中,S个视频块不是用基于子块的运动预测或基于子块的运动补偿方法来编码的。
14.根据条款11所述的方法,其中,S个视频块不是用仿射模式或可选时域运动矢量预测(ATMVP)模式来编码的。
15.一种视频处理方法,包括:维护包括运动候选的一个或多个表,每个运动候选与对应的运动信息相关联;对一个或多个表中的至少一个表中的运动候选进行重新排序;以及基于至少一个表中的重新排序的运动候选来执行第一视频块与包括第一视频块的视频的比特流表示之间的转换。
16.根据条款15所述的方法,进一步包括:基于转换来更新一个或多个表。
17.一种视频处理方法,包括:维护包括运动候选的一个或多个表,每个运动候选与对应的运动信息相关联;基于表中的一个或多个表,使用一个或多个表执行第一视频块与包括第一视频块的视频的比特流表示之间的转换;以及通过基于第一视频块的转换将附加运动候选添加到表中并重新排序表中的运动候选来更新一个或多个表。
18.根据条款15或17所述的方法,进一步包括:基于重新排序的表来执行视频的后续视频块与视频的比特流表示之间的转换。
19.根据条款17所述的方法,其中,在对包括最大编码单元(LCU)、LCU行、多个LCU中的至少一个的视频单元执行转换之后,执行重新排序。
20.根据条款1-19中任一项所述的方法,其中,执行转换包括从第一视频块生成比特流表示。
21.根据条款1-19中任一项所述的方法,其中,执行转换包括从比特流表示生成第一视频块。
22.根据条款1-21中任一项所述的方法,其中,运动候选与运动信息相关联,其中该运动信息包括以下中的至少一个:预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值。
23.根据条款1-14和16-22中任一项所述的方法,其中,更新一个或多个表包括在执行转换之后基于第一视频块的运动信息来更新一个或多个表。
24.根据条款23所述的方法,进一步包括:基于更新的表来执行视频的后续视频块与视频的比特流表示之间的转换。
25.一种装置,包括处理器和其上具有指令的非暂时性存储器,其中,该指令在由处理器运行时使得处理器实现根据条款1至24中任一项所述的方法。
26.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至24中任一项所述的方法的程序代码。
根据前述内容,可以理解本文已经出于说明的目的描述了本公开技术的具体实施方案,但是在不脱离本发明范围的情况下可以进行各种修改。因此,本公开技术不受除了所附权利要求之外的限制。
本专利文档中描述的主题和功能操作的实现方式可以在各种系统、数字电子电路或计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物、或者它们中的一个或多个的组合)中实现。本说明书中描述的主题的实现方式可以实现为一个或多个计算机程序产品,即编码在有形和非暂时性计算机可读介质上的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组成、或它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署以在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上运行。
本说明书中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如,FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或ASIC(Application SpecificIntegrated Circuit,专用集成电路)。
适合于运行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如,EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
说明书与附图一起旨在被视为是示例性的,其中示例性意味着示例。如本文所使用的,除非上下文另有清楚说明,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。另外,除非上下文另有清楚说明,否则使用“或”旨在包括“和/或”。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何发明或可能要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中在本专利文档中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合实现。而且,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实现方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实现、增强和变化。

Claims (32)

1.一种用于处理视频数据的方法,包括:
维护一个或多个表,其中,每个表包括从已经编解码的一个或多个视频块导出的一个或多个运动候选,并且每个所述表中的运动候选的排列基于所述运动候选添加到所述表中的序列;
对于当前视频块构造运动候选列表;
使用所述运动候选列表确定所述当前视频块的运动信息;以及
基于确定的运动信息,执行所述当前视频块与包括所述当前视频块的视频的比特流之间的转换;
其中,所述确定的运动信息是否用于更新所述一个或多个表中的表是基于所述当前视频块的编解码信息,其中在更新后,所述表用于构造随后视频块的运动候选列表,并且
其中,使用所述表构造所述运动候选列表包括检查所述表的至少一个运动候选,以确定是否将检查的运动候选从所述表添加到所述随后视频块的运动候选列表,并且所述编解码信息包括所述当前视频块的编解码模式。
2.根据权利要求1所述的方法,其中,所述编解码信息还包括所述当前视频块的位置或所述当前视频块的尺寸的至少一个。
3.根据权利要求1所述的方法,其中,如果满足至少一个条件,则所述确定的运动信息用于更新所述一个或多个表中的表,其中,所述至少一个条件基于所述编解码信息得到。
4.根据权利要求3所述的方法,其中,所述至少一个条件包括:
所述当前视频块的编解码模式属于至少一个特定模式。
5.根据权利要求4所述的方法,其中,所述至少一个特定模式包括帧内块复制IBC模式或帧间编解码模式的至少一个。
6.根据权利要求5所述的方法,其中,所述至少一个特定模式不包括基于子块的帧间编解码模式。
7.根据权利要求6所述的方法,其中,所述基于子块的帧间编解码模式包括仿射模式或可选时域运动矢量预测ATMVP模式。
8.根据权利要求3所述的方法,其中,所述至少一个条件包括:
所述当前视频块的尺寸满足尺寸要求。
9.根据权利要求2所述的方法,其中,所述当前视频块的位置包括所述当前视频块的左上坐标(x,y)。
10.根据权利要求1所述的方法,其中,如果所述确定的运动信息用于更新所述一个或多个表中的表,则基于以下的至少一个选择要更新的所述表:编码信息、所述当前视频块的位置、所述当前视频块的最大编码单元LCU的位置。
11.根据权利要求1所述的方法,其中,如果所述确定的运动信息用于更新所述一个或多个表中的表,则要更新的所述表与用于构造所述当前视频块的所述运动候选列表的表相同。
12.根据权利要求1所述的方法,其中,如果所述确定的运动信息用于更新所述一个或多个表中的表,则通过添加从所述当前视频块导出的运动信息到所述表来更新所述表。
13.根据权利要求1所述的方法,其中,所述表中的运动候选与运动信息相关联,所述运动信息包括以下的至少一个:指示运动信息的源的块位置信息、预测方向、参考图片索引、运动矢量值、强度补偿标志、仿射标志、运动矢量差精度或运动矢量差值、在滤波处理中使用的滤波器参数。
14.根据权利要求3所述的方法,其中,所述至少一个条件包括:所述当前视频块不位于视频的图片或条带或片边界处。
15.根据权利要求1所述的方法,还包括:
基于视频中的一个或多个视频块来更新所述一个或多个表,直到满足更新终止准则。
16.根据权利要求15所述的方法,其中,所述表仅在条带、片、最大编码单元LCU行或具有相同时间层索引的条带内更新。
17.根据权利要求15所述的方法,其中,在对S个视频块执行转换之后或在对具有某个尺寸的视频块执行转换之后,所述表被更新,其中,S是整数。
18.根据权利要求15所述的方法,其中,当与正在被更新的表相关联的计数器达到最大允许数量时,满足更新终止准则。
19.根据权利要求15所述的方法,其中,当与正在被更新的表相关联的计数器达到预定值时,满足更新终止准则。
20.根据权利要求19所述的方法,其中,所述预定值是在视频参数集VPS、序列参数集SPS、图片参数集PPS、条带头、片头、编码树单元CTU、编码树块CTB、编码单元CU或预测单元PU、或覆盖多个CTU、多个CTB、多个CU或多个PU的视频区域中信令通知的。
21.根据权利要求15所述的方法,其中,当(x&M==0)&&(y&M==0)时,表被更新,其中,M为2、4、8、16、32或64,其中(x,y)是所述当前视频块的左上坐标。
22.根据权利要求1所述的方法,还包括:
对所述一个或多个表中的至少一个表中的运动候选进行重新排序;以及
基于至少一个表中的重新排序的运动候选来执行所述转换。
23.根据权利要求1所述的方法,还包括:
通过基于所述当前视频块的转换将附加运动候选添加到表中并重新排序表中的运动候选,来更新所述一个或多个表。
24.根据权利要求23所述的方法,进一步包括:
基于重新排序的表来执行所述视频的后续视频块与所述视频的比特流之间的转换。
25.根据权利要求23所述的方法,其中,在对包括最大编码单元LCU、LCU行、多个LCU中的至少一个的视频单元执行转换之后,执行重新排序。
26.根据权利要求1-25中任一项所述的方法,其中,执行转换包括从所述当前视频块生成比特流。
27.根据权利要求1-25中任一项所述的方法,其中,执行转换包括从比特流生成所述当前视频块。
28.一种用于处理视频数据的装置,包括处理器和其上有指令的非暂时性存储器,其中所述指令由所述处理器执行时,使得所述处理器:
维护一个或多个表,其中,每个表包括从已经编解码的一个或多个视频块导出的一个或多个运动候选,并且每个所述表中的运动候选的排列基于所述运动候选添加到所述表中的序列;
对于当前视频块构造运动候选列表;
使用所述运动候选列表确定所述当前视频块的运动信息;以及
基于确定的运动信息,执行所述当前视频块与包括所述当前视频块的视频的比特流之间的转换;
其中,所述确定的运动信息是否用于更新所述一个或多个表中的表是基于所述当前视频块的编解码信息,其中在更新后,所述表用于构造随后视频块的运动候选列表,并且
其中,使用所述表构造所述运动候选列表包括检查所述表的至少一个运动候选,以确定是否将检查的运动候选从所述表添加到所述随后视频块的运动候选列表,并且所述编解码信息包括所述当前视频块的编解码模式。
29.一种用于处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器运行时使得处理器实现根据权利要求2至27中的任一项所述的方法。
30.一种存储指令的非暂时性计算机可读介质,其上存储有指令,所述指令使得处理器:
维护一个或多个表,其中,每个表包括从已经编解码的一个或多个视频块导出的一个或多个运动候选,并且每个所述表中的运动候选的排列基于所述运动候选添加到所述表中的序列;
对于当前视频块构造运动候选列表;
使用所述运动候选列表确定所述当前视频块的运动信息;以及
基于确定的运动信息,执行所述当前视频块与包括所述当前视频块的视频的比特流之间的转换;
其中,所述确定的运动信息是否用于更新所述一个或多个表中的表是基于所述当前视频块的编解码信息,其中在更新后,所述表用于构造随后视频块的运动候选列表,并且
其中,使用所述表构造所述运动候选列表包括检查所述表的至少一个运动候选,以确定是否将检查的运动候选从所述表添加到所述随后视频块的运动候选列表,并且所述编解码信息包括所述当前视频块的编解码模式。
31.一种存储指令的非暂时性计算机可读存储介质,所述指令使得处理器实现根据权利要求2至27中任一项所述的方法。
32.一种用于存储视频的比特流的方法,包括:
维护一个或多个表,其中,每个表包括从已经编解码的一个或多个视频块导出的一个或多个运动候选,并且每个所述表中的运动候选的排列基于所述运动候选添加到所述表中的序列;
对于当前视频块构造运动候选列表;
使用所述运动候选列表确定所述当前视频块的运动信息;
基于确定的运动信息,生成所述当前视频块的比特流;以及
将所述比特流存储在非暂时性计算机可读存储介质中;
其中,所述确定的运动信息是否用于更新所述一个或多个表中的表是基于所述当前视频块的编解码信息,其中在更新后,所述表用于构造随后视频块的运动候选列表,并且
其中,使用所述表构造所述运动候选列表包括检查所述表的至少一个运动候选,以确定是否将检查的运动候选从所述表添加到所述随后视频块的运动候选列表,并且所述编解码信息包括所述当前视频块的编解码模式。
CN201910586572.5A 2018-06-29 2019-07-01 更新查找表(lut)的条件 Active CN110662052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210690814.7A CN115134599A (zh) 2018-06-29 2019-07-01 更新查找表(lut)的条件

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/093663 2018-06-29
CN2018093663 2018-06-29
CN2018093987 2018-07-02
CNPCT/CN2018/093987 2018-07-02
CNPCT/CN2018/094929 2018-07-07
CN2018094929 2018-07-07
CNPCT/CN2018/101220 2018-08-18
CN2018101220 2018-08-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210690814.7A Division CN115134599A (zh) 2018-06-29 2019-07-01 更新查找表(lut)的条件

Publications (2)

Publication Number Publication Date
CN110662052A CN110662052A (zh) 2020-01-07
CN110662052B true CN110662052B (zh) 2022-07-08

Family

ID=67303487

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910586572.5A Active CN110662052B (zh) 2018-06-29 2019-07-01 更新查找表(lut)的条件
CN202210690814.7A Pending CN115134599A (zh) 2018-06-29 2019-07-01 更新查找表(lut)的条件

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210690814.7A Pending CN115134599A (zh) 2018-06-29 2019-07-01 更新查找表(lut)的条件

Country Status (6)

Country Link
US (1) US11159817B2 (zh)
EP (1) EP3794824A1 (zh)
JP (1) JP7460617B2 (zh)
CN (2) CN110662052B (zh)
TW (1) TWI744662B (zh)
WO (1) WO2020003283A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
MX2020013829A (es) 2018-06-29 2022-05-18 Beijing Bytedance Network Tech Co Ltd Poda parcial/total cuando se añade un candidato a hmvp para fusión/amvp.
CN110662058B (zh) 2018-06-29 2023-06-30 北京字节跳动网络技术有限公司 查找表的使用条件
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
KR20240007299A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
KR20240007298A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
CN110677648B (zh) 2018-07-02 2022-06-07 北京字节跳动网络技术有限公司 处理视频数据的方法、装置及非暂时性存储介质
TWI703861B (zh) * 2018-07-06 2020-09-01 聯發科技股份有限公司 解碼器的視訊解碼方法及裝置
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
US11178396B2 (en) 2018-11-14 2021-11-16 Tencent America LLC Constrained intra prediction and unified most probable mode list generation
WO2020112620A2 (en) * 2018-11-29 2020-06-04 Interdigital Vc Holdings, Inc. Motion vector predictor candidates ordering in merge list
CN113170150B (zh) 2018-12-03 2024-02-27 北京字节跳动网络技术有限公司 基于历史的运动矢量预测(hmvp)模式的部分修剪方法
GB2580084B (en) * 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
JP2021513795A (ja) * 2019-01-01 2021-05-27 エルジー エレクトロニクス インコーポレイティド 履歴ベース動きベクトル予測に基づいてビデオ信号を処理するための方法及び装置
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
CN111698506B (zh) * 2019-03-11 2022-04-26 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法、三角预测解码方法及装置
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN117255200A (zh) 2019-04-24 2023-12-19 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示
CN117857783A (zh) * 2019-05-01 2024-04-09 字节跳动有限公司 使用量化残差差分脉冲码调制编解码的帧内编解码视频
EP3948663A4 (en) 2019-05-02 2022-06-08 ByteDance Inc. CODING MODE BASED ON A CODING TREE STRUCTURE TYPE
CN113365077B (zh) * 2020-03-04 2023-02-21 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器、计算机可读存储介质
US11595694B2 (en) * 2020-04-01 2023-02-28 Tencent America LLC Method and apparatus for video coding
CN117597921A (zh) * 2021-04-10 2024-02-23 抖音视界有限公司 用于视频处理的方法、装置和介质
WO2023072283A1 (en) * 2021-10-29 2023-05-04 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
CN102474619A (zh) * 2009-07-20 2012-05-23 三星电子株式会社 运动矢量预测方法以及使用该方法对图像编码和解码的设备和方法
CN102860006A (zh) * 2010-02-05 2013-01-02 瑞典爱立信有限公司 管理预测运动向量候选
CN104079944A (zh) * 2014-06-30 2014-10-01 华为技术有限公司 视频编码的运动矢量列表构建方法和系统

Family Cites Families (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100545892C (zh) 2003-12-18 2009-09-30 汤姆森特许公司 生成视频图像场中的查找表的方法和装置
US20070025444A1 (en) 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
CN100539693C (zh) 2005-08-30 2009-09-09 深圳清华大学研究院 快速运动估计方法
KR100856411B1 (ko) 2006-12-01 2008-09-04 삼성전자주식회사 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
US8228990B2 (en) 2008-01-16 2012-07-24 Sony Corporation Template matching scheme using multiple predictors as candidates for intra-prediction
US8855196B2 (en) 2008-01-22 2014-10-07 Dolby Laboratories Licensing Corporation Adaptive motion information cost estimation with dynamic look-up table updating
ES2850074T3 (es) 2009-06-18 2021-08-25 Toshiba Kk Aparato de decodificación de vídeo y procedimiento de decodificación de vídeo
CN105049865B (zh) 2009-10-01 2018-01-05 Sk电信有限公司 视频解码装置
KR101600818B1 (ko) 2009-11-06 2016-03-09 삼성디스플레이 주식회사 3차원 광학 모듈 및 이를 포함하는 디스플레이 장치
US9510009B2 (en) 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
KR20120016991A (ko) 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
WO2012074344A2 (ko) 2010-12-03 2012-06-07 엘지전자 주식회사 움직임 정보 리스트 인덱싱 방법 및 이러한 방법을 사용하는 장치
KR101269116B1 (ko) 2010-12-14 2013-05-29 엠앤케이홀딩스 주식회사 인터 예측 부호화된 동영상 복호화 방법
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
GB2492778A (en) 2011-07-11 2013-01-16 Canon Kk Motion compensated image coding by combining motion information predictors
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
KR20230165392A (ko) 2011-02-09 2023-12-05 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
EP2490448A1 (de) 2011-02-18 2012-08-22 Siemens Aktiengesellschaft Kodierverfahren und Bildkodiervorrichtung zur Kompression einer Bildsequenz
US9066110B2 (en) 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
GB2501836B (en) 2011-03-09 2014-08-06 Canon Kk Video encoding
US9143795B2 (en) 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US9247266B2 (en) 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
PL3751854T3 (pl) 2011-05-24 2023-08-28 Sun Patent Trust Sposób kodowania obrazu, urządzenie do kodowania obrazu, sposób dekodowania obrazu, urządzenie do dekodowania obrazu oraz urządzenie do kodowania/dekodowania obrazu
CN105187838A (zh) 2011-05-31 2015-12-23 Jvc建伍株式会社 动图像解码装置、动图像解码方法、接收装置及接收方法
MX2013012209A (es) * 2011-05-31 2013-11-01 Panasonic Corp Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video.
US9866859B2 (en) 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
JP5786478B2 (ja) 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
US9762900B2 (en) 2011-06-17 2017-09-12 Lg Electronics Inc. Method and apparatus for encoding/decoding video in intra prediction mode
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
KR20150088909A (ko) 2011-06-30 2015-08-03 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
HUE052633T2 (hu) 2011-06-30 2021-05-28 Jvc Kenwood Corp Képdekódoló készülék, képdekódoló eljárás és képdekódoló program
MY181718A (en) 2011-06-30 2021-01-05 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
IN2014CN00729A (zh) 2011-08-03 2015-04-03 Panasonic Corp
GB2493755B (en) 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
KR20140057683A (ko) 2011-08-29 2014-05-13 주식회사 아이벡스피티홀딩스 머지 모드에서 영상 부호화 방법
KR102379457B1 (ko) 2011-09-09 2022-03-28 엘지전자 주식회사 인터 예측 방법 및 그 장치
US20130070855A1 (en) 2011-09-17 2013-03-21 Qualcomm Incorporated Hybrid motion vector coding modes for video coding
EP3754982B1 (en) 2011-09-29 2024-05-01 SHARP Kabushiki Kaisha Image decoding device, image decoding method, image encoding method and image encoding device for performing bi-prediction to uni-prediction conversion
WO2013053309A1 (en) 2011-10-11 2013-04-18 Mediatek Inc. Method and apparatus of motion and disparity vector derivation for 3d video coding and hevc
RU2719302C2 (ru) 2011-10-18 2020-04-17 Кт Корпорейшен Способ декодирования видеосигнала
US9838692B2 (en) 2011-10-18 2017-12-05 Qualcomm Incorporated Detecting availabilities of neighboring video units for video coding
EP2716047A4 (en) 2011-10-19 2015-03-18 Mediatek Inc METHOD AND DEVICE FOR DERIVING MOTION VECTOR PREVIEW CANDIDATE SETS
US9462298B2 (en) 2011-10-21 2016-10-04 Qualcomm Incorporated Loop filtering around slice boundaries or tile boundaries in video coding
JP5379933B2 (ja) 2011-10-28 2013-12-25 パナソニック株式会社 動きベクトル導出方法および動きベクトル導出装置
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
KR20130050407A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
US20130114717A1 (en) 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
KR20130050406A (ko) 2011-11-07 2013-05-16 오수미 머지 모드에서의 움직임 정보 생성 방법
EP2777267B1 (en) 2011-11-11 2019-09-04 GE Video Compression, LLC Efficient multi-view coding using depth-map estimate and update
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
BR122020008353B1 (pt) 2011-12-28 2022-05-10 JVC Kenwood Corporation Dispositivo de codificação de foto em movimento e método de codificação de foto em movimento
US20130188715A1 (en) 2012-01-09 2013-07-25 Qualcomm Incorporated Device and methods for merge list reordering in video coding
RS62603B1 (sr) 2012-01-19 2021-12-31 Electronics & Telecommunications Res Inst Uređaj za kodiranje/dekodiranje slike
CN109194961B (zh) 2012-01-20 2022-05-17 杜比实验室特许公司 解码方法、视频解码设备及编码方法
IL310411A (en) 2012-01-20 2024-03-01 Ge Video Compression Llc A coding concept that enables parallel processing, takes multiplexing and video bitstreaming
US9544592B2 (en) 2012-02-10 2017-01-10 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
US9445076B2 (en) 2012-03-14 2016-09-13 Qualcomm Incorporated Disparity vector construction method for 3D-HEVC
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
WO2013140807A1 (ja) 2012-03-23 2013-09-26 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
US9264706B2 (en) 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
US9325991B2 (en) 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
US9338451B2 (en) 2012-04-12 2016-05-10 Qualcomm Incorporated Common spatial candidate blocks for parallel motion estimation
US20130272412A1 (en) 2012-04-12 2013-10-17 Qualcomm Incorporated Common motion information candidate list construction process
SI3833022T1 (sl) 2012-04-12 2022-06-30 Jvckenwood Corporation Konstruiranje seznama kandidatov za spajanje
JP6039793B2 (ja) 2012-05-10 2016-12-07 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
US11317101B2 (en) * 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9258562B2 (en) 2012-06-13 2016-02-09 Qualcomm Incorporated Derivation of depth map estimate
US20130336406A1 (en) 2012-06-14 2013-12-19 Qualcomm Incorporated Redundancy removal for merge/skip mode motion information candidate list construction
US20130343459A1 (en) 2012-06-22 2013-12-26 Nokia Corporation Method and apparatus for video coding
CN104488272B (zh) 2012-07-02 2018-03-16 三星电子株式会社 用于预测用于对视频进行编码或用于对视频进行解码的运动矢量的方法和设备
US9319657B2 (en) 2012-09-19 2016-04-19 Qualcomm Incorporated Selection of pictures for disparity vector derivation
WO2014049196A1 (en) 2012-09-27 2014-04-03 Nokia Corporation Method and techniqal equipment for scalable video coding
WO2014053085A1 (en) 2012-10-03 2014-04-10 Mediatek Inc. Method and apparatus of motion information management in video coding
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9854234B2 (en) 2012-10-25 2017-12-26 Qualcomm Incorporated Reference picture status for video coding
US9357214B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US9350970B2 (en) 2012-12-14 2016-05-24 Qualcomm Incorporated Disparity vector derivation
US10021414B2 (en) 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
JP6149151B2 (ja) 2013-04-02 2017-06-14 ヴィド スケール インコーポレイテッド スケーラブルビデオコーディングのための拡張時間的動きベクトル予測
CN104125463A (zh) 2013-04-26 2014-10-29 华为技术有限公司 一种图像预测编码方法及图像编码器
US9667990B2 (en) 2013-05-31 2017-05-30 Qualcomm Incorporated Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation
WO2015006920A1 (en) 2013-07-16 2015-01-22 Mediatek Singapore Pte. Ltd. An adaptive disparity vector derivation method
CN105556943B (zh) 2013-09-20 2019-03-29 Vid拓展公司 提供3d查找表编码以用于色域可伸缩性的系统和方法
GB2519514A (en) 2013-10-11 2015-04-29 Canon Kk Method and apparatus for displacement vector component prediction in video coding and decoding
WO2015057039A1 (ko) 2013-10-18 2015-04-23 엘지전자 주식회사 멀티-뷰 비디오 코딩에 있어서, 뷰 합성 예측 방법 및 이를 이용한 머지 후보 리스트 구성 방법
RU2669005C2 (ru) * 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
WO2015122549A1 (ko) 2014-02-12 2015-08-20 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
KR102329126B1 (ko) 2014-03-14 2021-11-19 삼성전자주식회사 인터 레이어 비디오의 복호화 및 부호화를 위한 머지 후보 리스트 구성 방법 및 장치
US10554967B2 (en) 2014-03-21 2020-02-04 Futurewei Technologies, Inc. Illumination compensation (IC) refinement based on positional pairings among pixels
KR101863487B1 (ko) 2014-05-06 2018-05-31 에이치에프아이 이노베이션 인크. 인트라 블록 카피 모드 부호화를 위한 블록 벡터 예측 방법
US10382749B2 (en) 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding
EP3158744A4 (en) 2014-06-19 2017-07-26 HFI Innovation Inc. Method and apparatus of candidate generation for single sample mode in video coding
WO2015196322A1 (en) 2014-06-23 2015-12-30 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
WO2016008157A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
WO2016008161A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Temporal derived bi-directional motion vector predictor
KR102276854B1 (ko) 2014-07-31 2021-07-13 삼성전자주식회사 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2016034058A1 (en) 2014-09-01 2016-03-10 Mediatek Inc. Method of intra picture block copy for screen content and video coding
KR102008592B1 (ko) 2014-09-15 2019-08-07 에이치에프아이 이노베이션 인크. 비디오 코딩에서의 인트라 블록 복사를 위한 디블로킹 방법
KR20170041220A (ko) 2014-10-09 2017-04-14 에이치에프아이 이노베이션 인크. 뷰 합성 예측을 포함하는 3d 또는 다중뷰 비디오 코딩 방법
CN111741308B (zh) 2014-10-31 2024-03-19 三星电子株式会社 用于对运动矢量进行编码/解码的方法和装置
SG11201703454XA (en) 2014-11-18 2017-06-29 Mediatek Inc Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
US20170310988A1 (en) 2014-12-09 2017-10-26 Mediatek Inc. Method of Motion Vector Predictor or Merge Candidate Derivation in Video Coding
WO2016090568A1 (en) 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US11477477B2 (en) 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10070130B2 (en) 2015-01-30 2018-09-04 Qualcomm Incorporated Flexible partitioning of prediction units
CN104915966B (zh) 2015-05-08 2018-02-09 上海交通大学 基于卡尔曼滤波的帧率上变换运动估计方法及系统
US10200713B2 (en) 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US10887597B2 (en) 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
US10356416B2 (en) 2015-06-09 2019-07-16 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding
US10271064B2 (en) 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
US9918102B1 (en) 2015-06-22 2018-03-13 Ambarella, Inc. Inter-prediction candidate selection in a mode decision
WO2017043734A1 (ko) 2015-09-07 2017-03-16 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10812822B2 (en) 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
KR20170058871A (ko) 2015-11-19 2017-05-29 한국전자통신연구원 화면내 예측 모드 부호화/복호화 방법 및 장치
JP6495835B2 (ja) * 2016-01-06 2019-04-03 日本電信電話株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化プログラム及び映像復号プログラム
CN105681807B (zh) 2016-01-06 2018-11-02 福州瑞芯微电子股份有限公司 一种基于h264协议的分像素运动矢量计算方法和装置
JP6379186B2 (ja) 2016-02-17 2018-08-22 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオピクチャを符号化および復号する方法および装置
ES2711189R1 (es) 2016-04-06 2020-02-04 Kt Corp Metodo y aparato para procesar senales de video
CN109314785B (zh) 2016-04-08 2023-06-30 韩国电子通信研究院 用于导出运动预测信息的方法和装置
WO2017188652A1 (ko) 2016-04-26 2017-11-02 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
US10142652B2 (en) 2016-05-05 2018-11-27 Google Llc Entropy coding motion vector residuals obtained using reference motion vectors
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10547854B2 (en) 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
US10419755B2 (en) 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
CN109196864B (zh) 2016-05-24 2023-07-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
CN116708785A (zh) 2016-07-12 2023-09-05 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
CN116614639A (zh) 2016-07-12 2023-08-18 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
US11638027B2 (en) 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US10721489B2 (en) 2016-09-06 2020-07-21 Qualcomm Incorporated Geometry-based priority for the construction of candidate lists
JP7048503B2 (ja) * 2016-09-27 2022-04-05 シャープ株式会社 復号装置、符号化装置、復号方法、および、符号化方法
JP6881788B2 (ja) 2016-09-30 2021-06-02 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 映像符号化方法、映像復号方法、および端末
MY194555A (en) 2016-09-30 2022-12-01 Huawei Tech Co Ltd Method and Apparatus for Image Coding and Decoding Through Inter Prediction
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
KR102283517B1 (ko) 2016-11-28 2021-07-29 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018105757A1 (ko) 2016-12-05 2018-06-14 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
CN110100444A (zh) 2016-12-22 2019-08-06 株式会社Kt 视频信号处理方法和装置
KR20180074000A (ko) 2016-12-23 2018-07-03 삼성전자주식회사 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더
CN106851046A (zh) 2016-12-28 2017-06-13 中国科学院自动化研究所 视频动态超分辨率处理方法及系统
US10681370B2 (en) 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US20180192071A1 (en) 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
US10595035B2 (en) 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
CN117395404A (zh) 2017-04-28 2024-01-12 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
US20180332312A1 (en) 2017-05-09 2018-11-15 Futurewei Technologies, Inc. Devices And Methods For Video Processing
US10742975B2 (en) 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
EP3410717A1 (en) 2017-05-31 2018-12-05 Thomson Licensing Methods and apparatus for candidate list pruning
US10523934B2 (en) 2017-05-31 2019-12-31 Mediatek Inc. Split based motion vector operation reduction
EP4351139A2 (en) 2017-06-09 2024-04-10 Electronics and Telecommunications Research Institute Video encoding/decoding method and device, and recording medium storing bit stream
US10602180B2 (en) * 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
CN109089119B (zh) 2017-06-13 2021-08-13 浙江大学 一种运动矢量预测的方法及设备
US10911769B2 (en) 2017-06-23 2021-02-02 Qualcomm Incorporated Motion-based priority for the construction of candidate lists in video coding
US10757420B2 (en) 2017-06-23 2020-08-25 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
US10687077B2 (en) 2017-06-26 2020-06-16 Qualcomm Incorporated Motion information propagation in video coding
EP3422716A1 (en) 2017-06-26 2019-01-02 Thomson Licensing Method and apparatus for most probable mode (mpm) sorting and signaling in video encoding and decoding
CN107295348A (zh) 2017-07-31 2017-10-24 南通海鑫信息科技有限公司 一种图像编码方法
US10284869B2 (en) * 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
KR102427789B1 (ko) 2017-10-10 2022-08-02 한국전자통신연구원 인터 예측 정보를 사용하는 방법 및 장치
CN111279695B (zh) 2017-10-26 2024-03-29 韩国电子通信研究院 用于基于非对称子块的图像编码/解码的方法及装置
WO2019107916A1 (ko) 2017-11-30 2019-06-06 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
US10652571B2 (en) 2018-01-25 2020-05-12 Qualcomm Incorporated Advanced motion vector prediction speedups for video coding
WO2019194440A1 (ko) 2018-04-02 2019-10-10 엘지전자 주식회사 인트라 예측 모드에 대한 룩업 테이블을 이용한 영상 코딩 방법 및 그 장치
US10986343B2 (en) * 2018-04-15 2021-04-20 Arris Enterprises Llc Reducing overhead for multiple-hypothesis temporal prediction
CN116800981A (zh) 2018-05-23 2023-09-22 寰发股份有限公司 使用双向编码单元加权的视频编码方法和装置
EP3791587A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Resetting of look up table per slice/tile/lcu row
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
MX2020013829A (es) 2018-06-29 2022-05-18 Beijing Bytedance Network Tech Co Ltd Poda parcial/total cuando se añade un candidato a hmvp para fusión/amvp.
CN110662058B (zh) 2018-06-29 2023-06-30 北京字节跳动网络技术有限公司 查找表的使用条件
KR20240007298A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
KR20240007299A (ko) 2018-06-29 2024-01-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 룩업 테이블의 업데이트: fifo, 제약된 fifo
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
CN110677648B (zh) 2018-07-02 2022-06-07 北京字节跳动网络技术有限公司 处理视频数据的方法、装置及非暂时性存储介质
TWI703861B (zh) 2018-07-06 2020-09-01 聯發科技股份有限公司 解碼器的視訊解碼方法及裝置
US10491902B1 (en) 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
US10440378B1 (en) 2018-07-17 2019-10-08 Tencent America LLC Method and apparatus for history-based motion vector prediction with parallel processing
US11381833B2 (en) 2018-07-19 2022-07-05 Tencent America LLC Method and apparatus for video coding
US10958934B2 (en) 2018-07-27 2021-03-23 Tencent America LLC History-based affine merge and motion vector prediction
US10362330B1 (en) 2018-07-30 2019-07-23 Tencent America LLC Combining history-based motion vector prediction and non-adjacent merge prediction
CN112806003B (zh) 2018-09-06 2024-02-13 Lg 电子株式会社 使用mpm列表的基于帧内预测的图像编码方法及其装置
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
US11212550B2 (en) 2018-09-21 2021-12-28 Qualcomm Incorporated History-based motion vector prediction for affine mode
US20200112715A1 (en) * 2018-10-05 2020-04-09 Qualcomm Incorporated History-based motion vector prediction for inter prediction coding
US11051034B2 (en) 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
US11284066B2 (en) 2018-10-10 2022-03-22 Tencent America LLC Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode
US11184633B2 (en) * 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102474619A (zh) * 2009-07-20 2012-05-23 三星电子株式会社 运动矢量预测方法以及使用该方法对图像编码和解码的设备和方法
CN102860006A (zh) * 2010-02-05 2013-01-02 瑞典爱立信有限公司 管理预测运动向量候选
CN104079944A (zh) * 2014-06-30 2014-10-01 华为技术有限公司 视频编码的运动矢量列表构建方法和系统

Also Published As

Publication number Publication date
CN115134599A (zh) 2022-09-30
US11159817B2 (en) 2021-10-26
CN110662052A (zh) 2020-01-07
TWI744662B (zh) 2021-11-01
KR20210025536A (ko) 2021-03-09
WO2020003283A1 (en) 2020-01-02
JP7460617B2 (ja) 2024-04-02
JP2021530939A (ja) 2021-11-11
US20210360278A1 (en) 2021-11-18
TW202015420A (zh) 2020-04-16
EP3794824A1 (en) 2021-03-24
US20210014520A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
CN110662052B (zh) 更新查找表(lut)的条件
CN110662059B (zh) 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
CN110662053B (zh) 使用查找表的视频处理方法、装置和存储介质
CN110677661B (zh) 用于视频处理的方法、装置和存储介质
CN110677650B (zh) 降低非相邻Merge设计的复杂度
US11973971B2 (en) Conditions for updating LUTs
KR102660666B1 (ko) Lut들을 업데이트하기 위한 조건들

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