CN110620928B - 不同精度的多个候选 - Google Patents

不同精度的多个候选 Download PDF

Info

Publication number
CN110620928B
CN110620928B CN201910533220.3A CN201910533220A CN110620928B CN 110620928 B CN110620928 B CN 110620928B CN 201910533220 A CN201910533220 A CN 201910533220A CN 110620928 B CN110620928 B CN 110620928B
Authority
CN
China
Prior art keywords
motion
candidate
motion candidate
list
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
CN201910533220.3A
Other languages
English (en)
Other versions
CN110620928A (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 CN110620928A publication Critical patent/CN110620928A/zh
Application granted granted Critical
Publication of CN110620928B publication Critical patent/CN110620928B/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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/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/523Motion estimation or motion compensation with sub-pixel accuracy

Abstract

一种处理视频比特流的方法,包括生成当前视频块的包括运动候选的运动候选列表。基于空域块或时域块构建新运动候选。基于运动候选列表中的运动候选和新运动候选的运动信息执行冗余校验,冗余校验排除具有与运动候选列表中的运动候选的运动信息相同的运动信息的附加运动候选。运动信息包括运动矢量精度。

Description

不同精度的多个候选
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请是为了及时要求2018年6月19日提交的国际专利申请PCT/CN2018/091792的优先权和权益。国际专利申请PCT/CN2018/091792的全部公开以引用方式并入本公开,作为本专利文件的公开的一部分。
技术领域
本文档涉及视频编码技术。
背景技术
数字视频在互联网和其他数字通信网络上占最大的带宽使用量。随着能够接收和显示视频的连接用户设备的数量增加,预计数字视频使用所需的带宽将继续增长。
发明内容
所公开的技术可以由视频解码器或编码器实施例使用,以允许灵活的信号通知和使用用于双向预测编码的运动矢量精度,在该双向预测编码中运动矢量使用多达两个参考帧列表。在一个示例方面,可以允许不同的参考列表具有不同的精度。用于每个参考帧的精度可以是内容相关的或由先验规则集定义。
在一个示例方面,一种处理视频比特流的方法,包括生成当前视频块的包括运动候选的运动候选列表。基于空域块或时域块构建新运动候选。基于运动候选列表中的运动候选和新运动候选的运动信息执行冗余校验,冗余校验排除具有与运动候选列表中的运动候选的运动信息相同的运动信息的附加运动候选。运动信息包括运动矢量精度。
在另一示例方面,生成当前视频块的包括运动候选的运动候选列表;基于相邻块构建新运动候选;响应于构建新运动候选,将新运动候选插入到运动候选列表中;以及基于运动候选列表执行当前视频块与当前视频块的编码表示之间的转换。
在另一示例方面,确定当前视频块的第一参考图片列表和第二参考图片列表;生成当前视频块的包括运动候选的运动候选列表;将新双向预测运动候选添加到运动候选列表中;其中,新双向预测运动候选由第一运动候选和第二运动候选形成,其中第一运动候选来自第一参考图片列表,并且第二运动候选来自第二参考图片列表;以及基于运动候选列表执行当前视频块与当前视频块的编码表示之间的转换。
在另一示例方面,上述方法可以由包括处理器的视频解码器装置实现。
在另一示例方面,上述方法可以由视频编码器装置实现,该视频编码器装置包括用于在视频编码处理期间对编码的视频进行解码的处理器。
在又一示例方面,这些方法可以以处理器可执行指令的形式体现并存储在计算机可读程序介质上。
在本文档中进一步描述了这些和其他方面。
附图说明
图1示出了用于Merge候选列表建构的推导过程的示例。
图2示出了空间Merge候选的示例位置。
图3示出了考虑空间Merge候选的冗余校验的候选对的示例。
图4A-4B示出了N×2N和2N×N个分区的第二PU的示例位置。
图5是用于时间Merge候选的运动矢量缩放的示例说明。
图6示出了时间Merge候选C0和C1的候选位置的示例。
图7示出了组合的双向预测Merge候选的示例。
图8示出了运动矢量预测候选的示例推导过程。
图9示出了用于空间运动矢量候选的运动矢量缩放的示例说明。
图10示出了用于CU的ATMVP运动预测的示例。
图11示出了具有四个子块(A-D)及其相邻块(a-d)的一个CU的示例。
图12是应用OBMC的子块的图示。
图13示出了用于推导IC参数的相邻样本的示例。
图14示出了简化的仿射运动模型的示例。
图15示出了每个子块的仿射MVF的示例。
图16示出了AF_INTER的MVP的示例。
图17A-17B示出了AF_MERGE的候选的示例。
图18示出了双边匹配的示例。
图19示出了模板匹配的示例。
图20示出了FRUC中的单边ME的示例。
图21示出了光流轨迹的示例。
图22A和22B示出了BIO w/o块扩展:图22A访问块外的位置,图22B发出填充以避免额外的存储器访问和计算。
图23示出了基于双边模板匹配的DMVR的示例。
图24示出了上下文自适应编码的示例。
图25是视频解码的示例方法的流程图。
图26是视频解码装置的框图。
图27示出了视频编码器的示例实施方式。
具体实施方式
本文档提供了可由视频比特流的解码器使用的各种技术,以改善解压缩或解码的数字视频的质量。此外,视频编码器还可在编码处理期间实施这些技术,以便重建用于进一步编码的经解码的帧。
为了便于理解,在本文档中使用章节标题,并且不将实施例和技术限制于对应部分。这样,来自一个部分的实施例可以与来自其他部分的实施例组合。
此外,虽然参考通用视频编码或其他特定视频编解码器描述了某些实施例,但是所公开的技术也适用于其他视频编码技术。此外,虽然一些实施例详细描述了视频编码步骤,但是应该理解,将由解码器实施解码撤消(undo)编码的对应步骤。此外,术语视频处理包括视频编码或压缩、视频解码或解压缩以及视频转码,其中视频像素从一种压缩格式表示为另一压缩格式或以不同的压缩比特率表示。
2.技术框架
视频编码标准主要通过开发众所周知的ITU-T和ISO/IEC标准而发展。ITU-T产生了H.261和H.263,ISO/IEC产生了MPEG-1和MPEG-4Visual,两个组织联合产生了H.262/MPEG-2视频和H.264/MPEG-4高级视频编码(Advanced Video Coding,AVC)和H.265/HEVC标准。从H.262开始,视频编码标准基于利用时间预测加变换编码的混合视频编码结构。为了探索HEVC之外的未来视频编码技术,由VCEG和MPEG于2015年联合成立了联合视频探索团队(Joint Video Exploration Team,JVET)。从那时起,许多新方法被JVET采用并被引入名为联合搜索模型(Joint Exploration Model,JEM)的参考软件中。在2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(Joint Video Expert Team,JVET)被创建用于VVC标准,目标是与HEVC相比降低50%的比特率。
2.1.HEVC/H.265中的帧间预测
每个帧间预测的PU具有用于一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。也可以使用inter_pred_idc来信号通知两个参考图片列表中的一个的使用。可以将运动矢量明确地编码为相对于预测值的增量。
当用跳过模式对CU进行编码时,一个PU与CU相关联,并且不存在显著的残差系数、没有编码的运动矢量增量或参考图片索引。指定Merge模式,从而从相邻PU获得当前PU的运动参数,包括空间和时间候选。Merge模式可以应用于任何帧间预测的PU,而不仅应用于跳过模式。Merge模式的替代是运动参数的显式传输,其中,对于每个PU,明确地用信号通知运动矢量(更准确地说,与运动矢量预测相比的运动矢量差)、每个参考图片列表的对应参考图片索引和参考图片列表使用。在本文档中,这种模式被称为高级AMVP。
当信令指示将使用两个参考图片列表中的一个时,从一个样本块产生PU。这被称为“单向预测(uni-prediction)”。单向预测可用于P条带和B条带两者。
当信令指示将使用两个参考图片列表时,从两个样本块产生PU。这被称为“双向预测(bi-prediction)”。双向预测仅适用于B条带。
以下文本提供了HEVC中指定的帧间预测模式的详细信息。描述将从Merge模式开始。
2.1.1Merge模式
2.1.1.1Merge模式的候选推导
当使用Merge模式预测PU时,从比特流解析指向Merge候选列表中的条目的索引并将其用于检索运动信息。该列表的建构(construction)在HEVC标准中指定,并且可以根据以下步骤顺序进行总结:
·步骤1:初始候选推导
○步骤1.1:空间候选推导
○步骤1.2:空间候选的冗余校验
○步骤1.3:时间候选推导
·步骤2:插入额外的候选
○步骤2.1:创建双向预测候选
○步骤2.2:插入零运动候选
这些步骤也在图1中示意性地描绘。对于空间Merge候选推导,在位于五个不同位置的候选当中选择最多四个Merge候选。对于时间Merge候选推导,在两个候选当中选择最多一个Merge候选。由于在解码器处假设恒定数量的候选用于每个PU,因此当从步骤1获得的候选的数量未达到在条带报头中用信号通知的最大Merge候选数量(MaxNumMergeCand)时,生成额外的候选。由于候选的数量是恒定的,因此使用截断的一元二值化(TruncatedUnary binarization,TU)来编码最佳Merge候选的索引。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,其与2N×2N预测单元的Merge候选列表相同。
在下文中,详细描述了与上述步骤相关的操作。
2.1.1.2空间候选推导
在空间Merge候选的推导中,在位于图2描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带或区块)或者是帧内编码时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余校验,其确保具有相同运动信息的候选被排除在列表之外,使得编码效率提高。为了降低计算复杂度,在所提到的冗余校验中并未考虑所有可能的候选对。相反,仅考虑图3中用箭头连接的对,并且仅在用于冗余校验的对应候选具有不一样的运动信息时,才将候选添加到列表。重复运动信息的另一来源是与不同于2N×2N的分区相关联的“第二PU”。作为示例,图4描绘了分别针对N×2N和2N×N的情况的第二PU。当当前PU被分区为N×2N时,位置A1处的候选不被考虑用于列表建构。实际上,通过添加该候选将导致具有相同运动信息的两个预测单元,这对于在编码单元中仅具有一个PU是多余的。类似地,当当前PU被分区为2N×N时,不考虑位置B1
2.1.1.3时间候选推导
在该步骤中,只有一个候选被添加到列表中。具体地,在该时间Merge候选的推导中,基于共同定位的PU来推导缩放的运动矢量,该共同定位的PU属于给定参考图片列表内与当前图片具有最小POC差的图片。在条带报头中明确地用信号通知要用于推导共同定位的PU的参考图片列表。如图5中的虚线所示获得用于时间Merge候选的缩放的运动矢量,其是使用POC距离tb和td从共同定位的PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为是共同定位的图片的参考图片与共同定位的图片之间的POC差。时间Merge候选的参考图片索引被设置为等于零。HEVC规范中描述了缩放过程的实际实现。对于B条带,获得两个运动矢量,一个用于参考图片列表0,另一用于参考图片列表1,并且结合该两个运动矢量以获得双向预测Merge候选。
在属于参考帧的共同定位的PU(Y)中,在候选C0和C1之间选择时间候选的位置,如图6所示。如果位置C0处的PU不可用、是帧内编码的、或者在当前CTU行之外,则使用位置C1。否则,位置C0用于时间Merge候选的推导。
2.1.1.4插入额外的候选
除了空间和时间Merge候选之外,还存在两种额外类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空间和时间Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一候选的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,它们将形成一个新的双向预测候选。作为示例,图7描绘了当原始列表(左侧)中具有mvL0和refIdxL0或mvL1和refIdxL1的两个候选被用于创建添加到最终列表(右侧)的组合的双向预测Merge候选的情况。关于被认为生成这些额外的Merge候选的组合有许多规则。
插入零运动候选以填充Merge候选列表中的剩余条目,从而达到MaxNumMergeCand容量。这些候选具有零空间位移和参考图片索引,该参考图片索引从零开始并且每当新的零运动候选被添加到列表时增加。这些候选使用的参考帧的数量是1和2,分别用于单向和双向预测。最后,不对这些候选执行冗余校验。
2.1.1.5用于并行处理的运动估计区域
为了加速编码处理,可以并行执行运动估计,从而同时推导给定区域内的所有预测单元的运动矢量。从空间邻域推导Merge候选可能干扰并行处理,因为一个预测单元直到其相关联的运动估计完成时才能从相邻PU推导运动参数。为了减轻编码效率和处理等待时间之间的折衷,HEVC定义运动估计区域(Motion Estimation Region,MER),其尺寸在图片参数集中使用“log2_parallel_merge_level_minus2”语法元素信号通知。当定义MER时,落入同一区域的Merge候选被标记为不可用,因此在列表建构中不予考虑。
2.1.2AMVP
AMVP利用运动矢量与相邻PU的时空相关性,其用于运动参数的显式传输。对于每个参考图片列表,通过首先校验在时间上相邻的PU位置的上方,左侧的可用性,移除冗余候选并添加零矢量以使候选列表为恒定长度来建构运动矢量候选列表。然后,编码器可以从候选列表中选择最佳预测值,并发送指示所选候选的对应索引。与Merge索引信令类似,使用截断的一元来编码最佳运动矢量候选的索引。在这种情况下要编码的最大值是2(参见图8)。在以下部分中,提供了关于运动矢量预测候选的推导过程的细节。
2.1.2.1AMVP候选的推导
图8总结了运动矢量预测候选的推导过程。
在运动矢量预测中,考虑两种类型的运动矢量候选:空间运动矢量候选和时间运动矢量候选。对于空间运动矢量候选推导,最终基于位于图2所示的五个不同位置的每个PU的运动矢量推导两个运动矢量候选。
对于时间运动矢量候选推导,从两个候选中选择一个运动矢量候选,其是基于两个不同的共同定位的位置推导的。在产生时空候选的第一列表之后,移除列表中的重复的运动矢量候选。如果潜在候选的数量大于2,则从列表中移除相关联的参考图片列表内的其参考图片索引大于1的运动矢量候选。如果时空运动矢量候选的数量小于2,则将额外的零运动矢量候选添加到列表中。
2.1.2.2空间运动矢量候选
在空间运动矢量候选的推导中,在五个潜在候选当中考虑最多两个候选,其从位于如图2所示的位置的PU中推导,那些位置与运动Merge的位置相同。将当前PU的左侧的推导顺序定义为A0、A1,以及缩放的A0、缩放的A1。将当前PU的上侧的推导顺序定义为B0、B1、B2,缩放的B0、缩放的B1、缩放的B2。因此,对于每一侧,存在可以用作运动矢量候选的四种情况,其中两种情况不需要使用空间缩放,两种情况使用空间缩放。四种不同的情况总结如下:
·没有空间缩放
-(1)相同的参考图片列表,以及相同的参考图片索引(相同的POC)-(2)不同的参考图片列表,但相同的参考图片(相同的POC)
·空间缩放
-(3)相同的参考图片列表,但不同的参考图片(不同的POC)
-(4)不同的参考图片列表,以及不同的参考图片(不同的POC)
首先校验无空间缩放的情况,然后校验空间缩放。当POC在相邻PU的参考图片与当前PU的参考图片之间不同而不管参考图片列表时,考虑空间缩放。如果左候选的所有PU都不可用或者是帧内编码的,则允许对上述运动矢量进行缩放以帮助左和上MV候选的并行推导。否则,不允许对上述运动矢量进行空间缩放。
在空间缩放过程中,以与时间缩放类似的方式缩放相邻PU的运动矢量,如图9所示。主要区别是将参考图片列表和当前PU的索引作为输入给出;实际缩放过程与时间缩放过程相同。
2.1.2.3时间运动矢量候选
除了参考图片索引推导之外,用于推导时间Merge候选的所有过程与用于推导空间运动矢量候选的过程相同(参见图6)。将参考图片索引用信号通知给解码器。
2.2JEM中的新的帧间预测方法
2.2.1基于子CU的运动矢量预测
在具有QTBT的JEM中,每个CU可以针对每个预测方向具有至多一组运动参数。通过将大CU划分成子CU并且推导大CU的所有子CU的运动信息,在编码器中考虑两个子CU级运动矢量预测方法。可选时间运动矢量预测(Alternative Temporal Motion VectorPrediction,ATMVP)方法允许每个CU从比并置参考图片中的当前CU小的多个块中提取多组运动信息。在时空运动矢量预测(Spatial-Temporal Motion Vector Prediction,STMVP)方法中,通过使用时间运动矢量预测和空间相邻运动矢量来递归地推导子CU的运动矢量。
为了保留用于子CU运动预测的更准确的运动场,当前禁用参考帧的运动压缩。
2.2.1.1可选时间运动矢量预测
在可选时间运动矢量预测(ATMVP)方法中,通过从小于当前CU的块中提取多组运动信息(包括运动矢量和参考索引)来修改运动矢量时间运动矢量预测(TMVP)。如图10所示,子CU是方形N×N块(默认地将N设置为4)。
ATMVP以两个步骤预测CU内的子CU的运动矢量。第一步是利用所谓的时间矢量识别参考图片中的对应块。参考图片被称为运动源图片。第二步是将当前CU划分成子CU,并从对应于每个子CU的块中获得运动矢量以及每个子CU的参考索引,如图10所示。
在第一步骤中,由当前CU的空间相邻块的运动信息确定参考图片和对应块。为了避免相邻块的重复扫描过程,使用当前CU的Merge候选列表中的第一Merge候选。第一可用运动矢量及其相关联的参考索引被设置为时间矢量和运动源图片的索引。这样,在ATMVP中,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为并置块)总是相对于当前CU位于右下或中心位置。
在第二步骤中,通过向当前CU的坐标添加时间矢量,通过运动源图片中的时间矢量来识别子CU的对应块。对于每个子CU,其对应块(覆盖中心样本的最小运动网格)的运动信息用于推导子CU的运动信息。在识别出对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的参考索引和运动矢量,其中运动缩放和其他过程也适用。例如,解码器校验是否满足低延迟条件(即,当前图片的所有参考图片的POC小于当前图片的POC)并且可能使用运动矢量MVx(对应于参考图片列表X的运动矢量)来预测每个子CU的运动矢量MVy(其中X等于0或1并且Y等于1-X)。
2.2.1.2时空运动矢量预测
在该方法中,按照光栅扫描顺序递归地推导子CU的运动矢量。图11示出了这个概念。让我们考虑包含四个4×4子CU A,B,C和D的8×8CU。当前帧中的相邻4×4块被标记为a,b,c和d。
子CU A的运动推导通过识别其两个空间邻居开始。第一邻居是子CU A上方的N×N块(块c)。如果该块c不可用或者是帧内编码,则(从块c开始,从左到右)校验子CU A上方的其他N×N个块。第二邻居是子CU A左侧的块(块b)。如果块b不可用或者是帧内编码,则(从块b开始,从上到下)校验子CU A左侧的其他块。从每个列表的相邻块获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过遵循与HEVC中指定的TMVP推导相同的过程来推导子块A的时间运动矢量预测(Temporal Motion Vector Predictor,TMVP)。提取位置D处的并置块的运动信息并对应地缩放。最后,在检索和缩放运动信息之后,对于每个参考列表,所有可用的运动矢量(最多3个)被分别平均。平均运动矢量被指定为当前子CU的运动矢量。
2.2.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中,仅第一个二进位是上下文编码的,而剩余的二进位是上下文旁路编码的。
2.2.2自适应运动矢量差分分辨率
在HEVC中,当条带报头中的use_integer_mv_flag等于0时,以四分之一亮度样本为单位信号通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(Motion VectorDifference,MVD)。在JEM中,引入了局部自适应运动矢量分辨率(Locally AdaptiveMotion Vector Resolution,LAMVR)。在JEM中,MVD可以以四分之一亮度样本、整数亮度样本或四亮度样本为单位进行编码。在编码单元(CU)级控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU有条件地信号通知MVD分辨率标志。
对于具有至少一个非零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的运动信息(整数亮度样本准确度)。存储的运动信息(在取整之后)被用作在RD校验期间针对具有整数亮度样本和4亮度样本MVD分辨率的相同CU的进一步小范围运动矢量细化的起点,使得耗时的运动估计过程不重复三次。
·有条件地调用具有4亮度样本MVD分辨率的CU的RD校验。对于CU,当RD成本整数亮度样本MVD分辨率远大于四分之一亮度样本MVD分辨率时,跳过针对CU的4亮度样本MVD分辨率的RD校验。
2.2.3更高的运动矢量存储准确度
在HEVC中,运动矢量准确度是四分之一像素(4:2:0视频的四分之一亮度样本和八分之一色度样本)。在JEM中,内部运动矢量存储和Merge候选的准确度增加到1/16像素。更高的运动矢量准确度(1/16像素)用于以跳过/Merge模式编码的CU的运动补偿帧间预测。对于使用正常AMVP模式编码的CU,使用整数像素或四分之一像素运动,如3.2.2节所述。
具有与HEVC运动补偿插值滤波器相同的滤波器长度和归一化因子的SHVC上采样插值滤波器被用作额外的分数像素位置的运动补偿插值滤波器。在JEM中色度分量运动矢量准确度是1/32样本,通过使用两个相邻的1/16像素分数位置的滤波器的平均来推导1/32像素分数位置的额外的插值滤波器。
2.2.4重叠块运动补偿
重叠块运动补偿(Overlapped Block Motion Compensation OBMC)先前已在H.263中使用。在JEM中,与H.263不同,可以使用CU级的语法来打开和关闭OBMC。当在JEM中使用OBMC时,除了CU的右边界和下边界之外,对所有运动补偿(Motion Compensation,MC)块边界执行OBMC。此外,它还应用于亮度和色度分量。在JEM中,MC块对应于编码块。当用子CU模式(包括子CU Merge、仿射和FRUC模式)编码CU时,CU的每个子块是MC块。为了以统一的方式处理CU边界,针对所有MC块边界以子块级执行OBMC,其中子块尺寸被设置为等于4×4,如图12所示。
当OBMC应用于当前子块时,除了当前运动矢量之外,四个连接的相邻子块的运动矢量(如果可用且与当前运动矢量不同)也用于推导当前子块的预测块。组合基于多个运动矢量的这些多个预测块以生成当前子块的最终预测信号。
将基于相邻子块的运动矢量的预测块表示为PN,其中N指示相邻的上、下、左和右子块的索引,并且将基于当前子块的运动矢量的预测块表示为PC。当PN是基于包含与当前子块相同的运动信息的相邻子块的运动信息时,不从PN执行OBMC。否则,将每个PN样本添加到PC中的相同样本中,即将PN的四行/列添加到PC。将加权因子{1/4,1/8,1/16,1/32}用于PN,并且将加权因子{3/4,7/8,15/16,31/32}用于PC。例外是小MC块(即,当编码块的高度或宽度等于4或用子CU模式编码CU时),对其仅将PN的两行/列添加到PC。在这种情况下,将加权因子{1/4,1/8}用于PN,并且将加权因子{3/4,7/8}用于PC。对于基于垂直(水平)相邻子块的运动矢量生成的PN,将PN的相同行(列)中的样本添加到具有相同加权因子的PC
在JEM中,对于尺寸小于或等于256个亮度样本的CU,信号通知CU级标志以指示是否对当前CU应用OBMC。对于尺寸超过256个亮度样本或未使用AMVP模式进行编码的CU,默认应用OBMC。在编码器处,当将OBMC应用于CU时,在运动估计阶段期间考虑其影响。由OBMC使用上侧相邻块和左侧相邻块的运动信息形成的预测信号用于补偿当前CU的原始信号的上边界和左边界,然后应用正常运动估计处理。
2.2.5局部光照补偿
局部光照补偿(Local Illumination Compensation,LIC)是基于用于光照变化的线性模型,使用缩放因子a和偏移b。并且针对每个帧间模式编码的编码单元(CU)自适应地启用或禁用它。
当LIC应用于CU时,采用最小平方误差方法来通过使用当前CU的相邻样本及其对应的参考样本来推导参数a和b。更具体地,如图13所示,使用CU的子采样(2:1子采样)的相邻样本和参考图片中的(由当前CU或子CU的运动信息识别的)对应样本。推导IC参数并将其分别应用于每个预测方向。
当用Merge模式编码CU时,以类似于Merge模式中的运动信息复制的方式从相邻块复制LIC标志;否则,向CU信号通知LIC标志以指示是否应用LIC。
当针对图片启用LIC时,需要额外的CU级RD校验以确定是否将LIC应用于CU。当为CU启用LIC时,分别针对整数像素运动搜索和分数像素运动搜索,使用去均值绝对差之和(Mean-Removed Sum Of Absolute Difference,MR-SAD)和去均值绝对哈达玛变换差之和(Mean-Removed Sum Of Absolute Hadamard-Transformed Difference,MR-SATD),而不是SAD和SATD。
为了降低编码复杂度,在JEM中应用以下编码方案。
当当前图片与其参考图片之间没有明显的光照变化时,对于整个图片禁用LIC。为了识别这种情况,在编码器处计算当前图片和当前图片的每个参考图片的直方图。如果当前图片与当前图片的每个参考图片之间的直方图差小于给定阈值,则对当前图片禁用LIC;否则,对当前图片启用LIC。
2.2.6仿射运动补偿预测
在HEVC中,仅将平移运动模型应用于运动补偿预测(Motion CompensationPrediction,MCP)。在现实世界中,存在多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在JEM中,应用简化的仿射变换运动补偿预测。如图14所示,块的仿射运动场由两个控制点运动矢量描述。
块的运动矢量场(Motion Vector Field,MVF)由以下等式描述:
Figure GDA0003801422920000131
其中(v0x,v0y)是左上角控制点的运动矢量,(v1x,v1y)是右上角控制点的运动矢量。
为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。子块尺寸M×N如等式2中推导,其中MvPre是运动矢量分数准确度(在JEM中是1/16),(v2x,v2y)是根据等式1计算的左下控制点的运动矢量。
Figure GDA0003801422920000141
在通过等式2推导之后,如果需要,应该向下调整M和N,以使其分别为w和h的除数。
为了推导每个M×N子块的运动矢量,根据等式1计算每个子块的中心样本的运动矢量,如图15所示,并取整到1/16分数准确度。然后,应用3.2.3节中提到的运动补偿插值滤波器,以利用所推导的运动矢量生成每个子块的预测。
在MCP之后,对每个子块的高准确度运动矢量进行取整,并将其以与正常运动矢量相同的准确度保存。
在JEM中,存在两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中用信号通知CU级的仿射标志以指示是否使用AF_INTER模式。在该模式中,使用相邻块构造具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。如图16所示,从块A、B或C的运动矢量中选择v0。根据参考列表以及用于相邻块的参考的POC、用于当前CU的参考的POC和当前CU的POC之间的关系来缩放来自相邻块的运动矢量。从相邻块D和E中选择v1的方法是类似的。如果候选列表的数量小于2,则由通过复制每个AMVP候选而组成的运动矢量对来填充列表。当候选列表大于2时,首先根据相邻运动矢量的一致性(候选对中的两个运动矢量的相似性)对候选进行排序,并且仅保留前两个候选。用RD成本校验来确定将哪个运动矢量对候选选择为当前CU的控制点运动矢量预测(Control Point Motion Vector Prediction,CPMVP)。并且在比特流中用信号通知指示候选列表中的CPMVP的位置的索引。在确定当前仿射CU的CPMVP之后,应用仿射运动估计并找到控制点运动矢量(Control Point Motion Vector,CPMV)。然后在比特流中用信号通知CPMV和CPMVP的差。
当在AF_MERGE模式中应用CU时,它从有效的相邻重建块获得用仿射模式编码的第一个块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图17A所示。如果相邻左下块A以仿射模式进行编码,如图17B所示,推导包含块A的CU的左上角、右上角和左下角的运动矢量v2、v3和v4。并且根据v2、v3和v4计算当前CU左上角的运动矢量v0。其次,计算当前CU的右上方的运动矢量。
在推导出当前CU的CPMV v0和v1之后,根据简化的仿射运动模型等式1生成当前CU的MVF。为了识别当前CU是否以AF_MERGE模式进行编码,当至少有一个相邻块以仿射模式进行编码时,在比特流中用信号通知仿射标志。
2.2.7模式匹配的运动矢量推导
模式匹配的运动矢量推导(Pattern Matched Motion Vector Derivation,PMMVD)模式是基于帧速率上转换(Frame-Rate Up Conversion,FRUC)技术的特殊Merge模式。利用该模式,在解码器侧推导块的运动信息,而不是发信号通知块的运动信息。
当CU的Merge标志为真时,向CU信号通知FRUC标志。当FRUC标志为假时,信号通知Merge索引并使用常规Merge模式。当FRUC标志为真时,信号通知额外的FRUC模式标志以指示将使用哪种方法(双边匹配或模板匹配)来推导该块的运动信息。
在编码器侧,关于是否对CU使用FRUC Merge模式的决定是基于对正常Merge候选所做的RD成本选择。即,通过使用RD成本选择来校验CU的两种匹配模式(双边匹配和模板匹配)两者。引起最小成本的匹配模式与其他CU模式进一步比较。如果FRUC匹配模式是最有效的模式,则对于CU将FRUC标志设置为真,并且使用相关的匹配模式。
FRUC Merge模式中的运动推导过程具有两个步骤:首先执行CU级运动搜索,然后进行子CU级运动细化。在CU级,基于双边匹配或模板匹配,推导整个CU的初始运动矢量。首先,生成MV候选列表,并且选择引起最小匹配成本的候选作为进一步CU级细化的起点。然后,在起点附近执行基于的双边匹配或模板匹配的局部搜索,并且将最小匹配成本的MV结果作为整个CU的MV。随后,以推导的CU运动矢量作为起点,进一步在子CU级细化运动信息。
例如,对于W×HCU运动信息推导执行以下推导过程。在第一阶段,推导整个W×HCU的MV。在第二阶段,该CU进一步被划分成M×M个子CU。M的值的计算方法如(3)所示,D是预定义的划分深度,在JEM中默认设置为3。然后推导每个子CU的MV。
Figure GDA0003801422920000161
如图18所示,通过在两个不同参考图片中沿当前CU的运动轨迹找到两个块之间的最接近匹配,使用双边匹配来推导当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0和MV1应当与当前图片和两个参考图片之间的时间距离(即TD0和TD1)成比例。作为特殊情况,当当前图片在时间上在两个参考图片之间并且从当前图片到两个参考图片的时间距离相同时,双边匹配成为基于镜像的双向MV。
如图19所示,模板匹配用于通过找到当前图片中的模板(当前CU的顶部和/或左侧相邻块)与参考图片中的块(与模板的尺寸相同)之间的最接近匹配来推导当前CU的运动信息。除了上述FRUC Merge模式之外,模板匹配也应用于AMVP模式。在JEM中,正如在HEVC中所做的那样,AMVP有两个候选。通过模板匹配方法,新的候选被推导出。如果由模板匹配新推导的候选与第一现有AMVP候选不同,则将其插入AMVP候选列表的最开始处,然后将列表尺寸设置为2(意味着移除第二现有AMVP候选)。当应用于AMVP模式时,仅应用CU级搜索。
2.2.7.1CU级MV候选集
在CU级处设置的MV候选包括:
(i)如果当前CU处于AMVP模式,则为原始AMVP候选
(ii)所有Merge候选,
(iii)在3.2.10节中介绍的插值MV场中的几个MV。
(iv)顶部和左侧相邻运动矢量
当使用双边匹配时,将Merge候选的每个有效MV用作输入,以生成假设双边匹配的情况下的MV对。例如,在参考列表A中,Merge候选的一个有效MV是(MVa,refa)。然后,在其他参考列表B中找到其配对的双边MV的参考图片refb,使得refa和refb在时间上位于当前图片的不同侧。如果这样的refb在参考列表B中不可用,则refb被确定为与refa不同的参考,并且其到当前图片的时间距离是列表B中的最小值。在确定refb之后,通过基于当前图片refa和refb之间的时间距离来缩放MVa来推导MVb。
来自插值MV场的四个MV也被添加到CU级候选列表。更具体地,添加当前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)处的插值MV。
当FRUC应用于AMVP模式时,原始AMVP候选也被添加到CU级MV候选集。
在CU级,对于AMVP CU,最多将15个MV添加到候选列表,对于MergeCU,最多将13个MV添加到候选列表。
2.2.7.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.2.7.3插值MV场的生成
在对帧进行编码之前,基于单边ME为整个图片生成插值运动场。然后,运动场可以稍后用作CU级或子CU级MV候选。
首先,两个参考列表中的每个参考图片的运动场以4×4块级遍历。对于每个4×4块,如果与块相关联的运动通过当前图片中的4×4块(如图20所示)并且块未被分配任何插值运动,则参考块的运动根据时间距离TD0和TD1(以与HEVC中的TMVP的MV缩放的方式相同的方式)被缩放到当前图片,并且将缩放的运动分配给当前帧中的块。如果没有缩放的MV被分配给4×4块,则在插值运动场中将块的运动标记为不可用。
2.2.7.4插值和匹配成本
当运动矢量指向分数样本位置时,需要运动补偿插值。为了降低复杂度,替代常规8抽头HEVC插值,将双线性插值用于双边匹配和模板匹配。
匹配成本的计算在不同步骤处有点不同。当从CU级的候选集中选择候选时,匹配成本是双边匹配或模板匹配的绝对和差(Absolute Sum Difference,SAD)。在确定起始MV之后,子CU级搜索的双边匹配的匹配成本计算如下:
Figure GDA0003801422920000181
其中w是根据经验设置为4的加权因子,MV和MVs分别指示当前MV和起始MV。SAD仍用作子CU级搜索的模板匹配的匹配成本。
在FRUC模式中,仅通过使用亮度样本来推导MV。推导的运动将用于MC帧间预测的亮度和色度两者。在确定MV之后,使用用于亮度的8抽头插值滤波器和用于色度的4抽头插值滤波器来执行最终MC。
2.2.7.5MV细化
MV细化是基于模式的MV搜索,以双边匹配成本或模板匹配成本为标准。在JEM中,支持两种搜索模式—无限制中心偏置菱形搜索(Unrestricted Center-Biased DiamondSearch,UCBDS)和自适应交叉搜索,分别在CU级和子CU级进行MV细化。对于CU和子CU级MV细化两者,以四分之一亮度样本MV精度直接搜索MV,并且接着是八分之一亮度样本MV细化。将用于CU和子CU步骤的MV细化的搜索范围设置为等于8个亮度样本。
2.2.7.6模板匹配FRUC Merge模式中预测方向的选择
在双边匹配Merge模式中,始终应用双向预测,因为CU的运动信息是基于在两个不同的参考图片中沿当前CU的运动轨迹的两个块之间的最近匹配推导的。对于模板匹配Merge模式没有这样的限制。在模板匹配Merge模式中,编码器可以从列表0中的单向预测、列表1中的单向预测或双向预测当中为CU选择。选择基于如下的模板匹配成本:
如果costBi<=factor*min(cost0,cost1)
则使用双向预测;
否则,如果cost0<=cost1
则使用列表0中的单向预测;
否则,
使用列表1中的单向预测;
其中cost0是列表0模板匹配的SAD,cost1是列表1模板匹配的SAD,costBi是双向预测模板匹配的SAD。factor的值等于1.25,这意味着选择过程偏向于双向预测。
帧间预测方向选择仅应用于CU级模板匹配过程。
2.2.14双向光流
双向光流(Bi-directional Optical flow,BIO)是样本方式的运动细化,其在用于双向预测的逐块运动补偿之上执行。样本级运动细化不使用信令。
设I(k)为块运动补偿之后参考k(k=0,1)的亮度值,并且
Figure GDA0003801422920000191
分别为I(k)梯度的水平分量和垂直分量。假设光流是有效的,则运动矢量场(vx,vy)由下式给出:
Figure GDA0003801422920000192
将此光流等式与每个样本运动轨迹的埃尔米特插值相结合,得到唯一的三阶多项式,该三阶多项式最后匹配函数值I(k)和其导数
Figure GDA0003801422920000193
两者。该三阶多项式在t=0时的值是BIO预测:
Figure GDA0003801422920000194
这里,τ0和τ1表示到参考帧的距离,如图21所示。基于Ref0和Ref1的POC计算距离τ0和τ1:τ0=POC(当前)-POC(Ref0),τ1=POC(Ref1)-POC(当前)。如果两个预测都来自相同的时间方向(两者都来自过去或都来自未来),则sign是不同的即,τ0·τ1<0。在这种情况下,仅当预测不是来自相同的时刻(即,τ0≠τ1)时才应用BIO,两个参考区域都具有非零运动(MVx 0,MVy 0,MVx 1,MVy 1≠0)并且块运动矢量与时间距离成比例(MVx 0/MVx 1=MVy 0/MVy 1=-τ01)。
通过最小化点A和B(图9中的运动轨迹和参考帧平面的交叉)中的值之间的差Δ来确定运动矢量场(vx,vy)。模型仅使用Δ的局部泰勒展开的第一线性项:
Figure GDA0003801422920000195
等式7中的所有值都取决于样本位置(i′,j′),到目前为止,符号表示中省略了该样本位置。假设运动在局部周围区域是一致的,我们在以当前预测点为中心的(2M+1)×(2M+1)的方形窗口Ω内最小化Δ,其中M等于2:
Figure GDA0003801422920000196
对于该优化问题,JEM使用简化方法,首先在垂直方向上进行最小化,然后在水平方向上进行最小化。由此产生:
Figure GDA0003801422920000197
Figure GDA0003801422920000198
其中,
Figure GDA0003801422920000201
为了避免除以零或非常小的值,在等式9和10中引入正则化参数r和m。
r=500·4d-8 (12)
m=700·4d-8 (13)
这里d是视频样本的比特深度。
为了使BIO的存储器访问与常规双向预测运动补偿保持相同,仅针对当前块内的位置计算所有预测和梯度值I(k),
Figure GDA0003801422920000202
在等式11中,以在预测块的边界上的当前预测点为中心的(2M+1)×(2M+1)方形窗口Ω需要访问块外部的位置(如图22A所示)。在JEM中,将块外部的I(k),
Figure GDA0003801422920000203
的值设置为等于块内最近的可用值。例如,这可以实施为填充,如图22B所示。
利用BIO,可以针对每个样本细化运动场。为了降低计算复杂度,在JEM中使用基于块的BIO设计。基于4×4的块计算运动细化。在基于块的BIO中,聚合4×4的块中的所有样本的等式11中的sn的值,然后将sn的聚合值用于推导4×4块的BIO运动矢量偏移。更具体地,以下公式用于基于块的BIO推导:
Figure GDA0003801422920000204
其中bk表示属于预测块的第k个4=4块的样本集。将等式9和10中的sn替换为((sn,bk)>>4),以推导相关联的运动矢量偏移。
在一些情况下,由于噪音或不规则运动,BIO的MV团(MV regiment)可能不可靠。因此,在BIO中,MV团的尺寸被阈值thBIO截顶。基于当前图片的参考图片是否都来自一个方向来确定阈值。如果当前图片的所有参考图片都来自一个方向,则将阈值的值设置为12×214 -d;否则,将其设置为12×213-d
利用使用与HEVC运动补偿过程(2D可分离FIR)一致的操作的运动补偿插值来同时计算BIO的梯度。根据块运动矢量的分数部分,该2D可分离FIR的输入是与运动补偿过程和分数位置(fracX,fracY)相同的参考帧样本。在水平梯度
Figure GDA0003801422920000211
的情况下,首先使用与具有去缩放偏移d-8的分数位置fracY相对应的BIOfilterS垂直插值信号,然后在水平方向上应用梯度滤波器BIOfilterG,该BIOfilterG与具有去缩放偏移18-d的分数位置fracX相对应。在垂直梯度
Figure GDA0003801422920000212
的情况下,首先使用与具有去缩放偏移d-8的分数位置fracY相对应的BIOfilterG垂直应用梯度滤波器,然后在水平方向上使用BIOfilterS执行信号位移,该BIOfilterS与具有去缩放偏移18-d的分数位置fracX相对应。用于梯度计算的插值滤波器BIOfilterG和用于信号位移的插值滤波器BIOfilterS的长度较短(6抽头),以保持合理的复杂度。表1示出了用于BIO中块运动矢量的不同分数位置的梯度计算的滤波器。表2示出了用于BIO中预测信号生成的插值滤波器。
表1:用于BIO中梯度计算的滤波器
分数像素位置 梯度的插值滤波器(BIOfilterG)
0 {8,-39,-3,46,-17,5}
1/16 {8,-32,-13,50,-18,5}
1/8 {7,-27,-20,54,-19,5}
3/16 {6,-21,-29,57,-18,5}
1/4 {4,-17,-36,60,-15,4}
5/16 {3,-9,-44,61,-15,4}
3/8 {1,-4,-48,61,-13,3}
7/16 {0,1,-54,60,-9,2}
1/2 {-1,4,-57,57,-4,1}
表2:用于BIO中预测信号生成的插值滤波器
分数像素位置 预测信号的插值滤波器(BIOfilterS)
0 {0,0,64,0,0,0}
1/16 {1,-3,64,4,-2,0}
1/8 {1,-6,62,9,-3,1}
3/16 {2,-8,60,14,-5,1}
1/4 {2,-9,57,19,-7,2}
5/16 {3,-10,53,24,-8,2}
3/8 {3,-11,50,29,-9,2}
7/16 {3,-11,44,35,-10,3}
1/2 {3,-10,35,44,-11,3}
在JEM中,当两个预测来自不同的参考图片时,BIO应用于所有双预测块。当为CU启用LIC时,禁用BIO。
在JEM中,OBMC在正常MC过程之后应用于块。为了降低计算复杂性,在OBMC过程中不应用BIO。这意味着BIO仅在使用其自身的MV时才应用于块的MC过程,并且在OBMC过程中使用相邻块的MV时不应用于MC过程。
2.2.9解码器侧运动矢量细化
在双向预测操作中,对于一个块区域的预测,将分别使用list0的运动矢量(MV)和list1的MV形成的两个预测块进行组合以形成单个预测信号。在解码器侧运动矢量细化(Decoder-Side Motion Vector Refinement,DMVR)方法中,通过双边模板匹配过程进一步细化双向预测的两个运动矢量。双边模板匹配应用在解码器中,以在双边模板和参考图片中的重建样本之间执行基于失真的搜索,以便获得细化的MV而无需传输附加的运动信息。
在DMVR中,分别从列表0的初始MV0和列表1的MV1,将双边模板生成为两个预测块的加权组合(即平均),如图23所示。模板匹配操作包括计算所生成的模板与参考图片中的(在初始预测块周围的)样本区域之间的成本度量。对于两个参考图片中的每个,将产生最小模板成本的MV考虑为该列表的更新MV以替换原始MV。在JEM中,对每个列表搜索九个MV候选。该九个MV候选包括原始MV和8个与原始MV在水平或垂直方向上或两个方向上具有一个亮度样本偏移的环绕的MV。最后,将两个新的MV,即如图23中所示的MV0'和MV1',用于生成最终的双向预测结果。将绝对差之和(SAD)用作成本度量。请注意,当计算由一个环绕的MV生成的预测块的成本时,实际上使用取整的MV(到整数像素)而不是真实MV来获得预测块。
将DMVR应用于双向预测的Merge模式,其中一个MV来自过去的参考图片,另一MV来自未来的参考图片,而无需传输额外的语法元素。在JEM中,当对CU启用LIC、仿射运动、FRUC或子CU Merge候选时,不应用DMVR。
2.3CABAC修改
在JEM中,与HEVC中的设计相比,CABAC包含以下三个主要变化:
用于变换系数的修改的上下文建模
具有依赖于上下文的更新速度的多假设概率估计
用于上下文模型的自适应初始化
2.3.1用于变换系数的上下文建模
在HEVC中,使用非重叠系数组(CG)对编码块的变换系数进行编码,并且每个CG包含编码块的4×4块的系数。编码块内的CG和CG内的变换系数根据预定义的扫描顺序进行编码。具有至少一个非零变换系数的CG的变换系数级的编码可以被分成多个扫描通道。在第一通道中,对第一个二级制符号(由bin0表示,也称为significant_coeff_flag,其指示系数的尺寸大于0)进行编码。接下来,可以应用用于上下文编码第二/第三二级制符号的两个扫描通道(分别由bin1和bin2表示,也称为coeff_abs_greater1_flag和coeff_abs_greater2_flag)。最后,如果需要,再调用多于两次用于编码符号信息的扫描通道以及系数级的剩余值(也称为coeff_abs_level_remaining)。只有前三个扫描通道中的二级制符号以常规模式进行编码,并且这些二级制符号在下面的描述中称为常规二级制符号。
在JEM中,改变常规二级制符号的上下文建模。当在第i扫描通道(i为0、1、2)中对二级制符号i进行编码时,上下文索引取决于由局部模板覆盖的邻域中的先前编码系数的第i个二级制符号的值。更具体地,基于相邻系数的第i个二级制符号的总和来确定上下文索引。如图23所示,局部模板包含多达五个空间相邻变换系数,其中x表示当前变换系数的位置,xi(i为0到4)指示其五个邻居。为了捕获不同频率处的变换系数的特性,可以将一个编码块划分成多达三个区域,并且无论编码块尺寸如何,划分方法都是固定的。例如,当对亮度变换系数的bin0进行编码时,如图24所示,将一个编码块划分成用不同颜色标记的三个区域,并列出分配给每个区域的上下文索引。亮度和色度分量以类似的方式处理,但具有单独的上下文模型集。此外,亮度分量的bin0(即,有效标记)的上下文模型选择还取决于变换尺寸。
2.3.3上下文模型的初始化
代替在HEVC中使用固定表用于上下文模型初始化,可以通过从先前编码的图片复制状态来初始化用于帧间编码的条带的上下文模型的初始概率状态。更具体地,在对每个图片的中心定位的CTU进行编码之后,存储所有上下文模型的概率状态以用作后续图片上的对应上下文模型的初始状态。在JEM中,从具有与当前条带相同的条带类型和相同条带级QP的先前编码图片的存储状态中复制每个帧间编码条带的初始状态集。这缺乏损耗稳健性,但在当前的JEM方案中用于编码效率实验目的。
2.4相关方法
在JVET-J0024中提出了扩展的LAMVR,其中支持的运动矢量分辨率范围从1/4像素到4像素(1/4像素、1/2像素、1-像素、2-像素和4像素)。当用信号通知MVD信息时,在CU级用信号通知关于运动矢量分辨率的信息。
取决于CU的分辨率,调整CU的运动矢量(MV)和运动矢量预测(MVP)。如果应用的运动矢量分辨率表示为R(R可以是1/4、1/2、1、2、4),则MV(MVx、MVy)和MVP(MVPx、MVPy)表示如下:
(MVx,MVy)=(Round(MVx/(R*4))*(R*4),Round(MVy/(R*4))*(R*4)) (17)
(MVPx,MVPy)=(Round(MVPx/(R*4))*(R*4),Round(MVPy/(R*4))*(R*4)) (18)
由于运动矢量预测和MV都通过自适应分辨率调整,因此MVD(MVDx、MVDy)也与分辨率对准,并且根据分辨率用信号通知如下:
(MVDx,MVDy)=((MVx–MVPx)/(R*4),(MVy–MVPy)/R*4)) (19)
在该提议中,运动矢量分辨率索引(MVR索引)指示MVP索引以及运动矢量分辨率。结果,所提出的方法没有MVP索引信令。下表显示了MVR索引的每个值所表示的内容。
表3
MVR索引 0 1 2 3 4
像素分辨率(R) 1/4 1/2 1 2 4
第N个MVP 1<sup>st</sup> MVP 2<sup>nd</sup> MVP 3<sup>rd</sup> MVP 4<sup>th</sup> MVP 5<sup>th</sup> MVP
在双向预测的情况下,AMVR针对每种分辨率具有3种模式。AMVR Bi-Index指示是否发信号通知每个参考列表(列表0或列表1)的MVDx,MVDy。本提案中的AMVR Bi-Index定义如下表。
表4
AMVR双向索引 列表0的(MVD<sub>x</sub>,MVD<sub>y</sub>) 列表1的(MVD<sub>x</sub>,MVD<sub>y</sub>)
0 信号通知 信号通知
1 没有信号通知 信号通知
2 信号通知 没有信号通知
3.问题
在LAMVR相关方法中,允许的MVD分辨率被限制为1/4像素精度的整数倍,这不是必需的。广义MVD分辨率可能会有所帮助。
另一方面,在LAMVR相关方法中,用信号通知一个索引以指示所选择的MVD分辨率,其在双预测情况下应用于两个参考列表。这可能是低效的,因为在一个参考列表中的粗略的MVD分辨率加上另一参考列表中的细化的MVD分辨率在许多情况下可能是更好的权衡。
同时,如果选择MVD精度,即使MVP具有更高的精度,MVP也被取整到相同的精度,这可能是低效的。
4.示例解决方案和实施例
为了解决这些问题,我们提出了广义MVD分辨率,并且在双向预测的情况下针对两个参考列表分离MVD分辨率控制。
以下示例解决方案应被视为解释一般概念的示例。不应以狭隘的方式解释这些解决方案。此外,这些解决方案可以以任何方式组合以产生比特流表示,并使用比特流来产生解码视频。
将prec0和prec1分别表示为参考列表0和参考列表1的MVD精度(或分辨率)。当preci等于N时,这意味着参考列表i中的MVD具有N像素精度。将MRSet0和MRSet1分别表示为参考列表0和参考列表1的候选MVD分辨率集。
1.除了MV和参考索引之外,还可以存储MV精度。在这种情况下,提议在AMVP的修剪过程或Merge候选列表构建过程期间还考虑MV精度。
a.在一个示例中,当两个Merge候选具有相同的MV、参考图片但具有不同的MV精度时,这两个Merge候选被视为不同。因此,两者都可以添加到Merge候选列表中。
b.在一个示例中,在组合的双向预测Merge候选推导过程中,当一个候选的List0MV和参考图片与另一个候选的List1 MV和参考图片相同时,它们被视为不同。因此,它们可以形成新的组合双预测Merge候选,其对于两个参考图片列表具有相同的MV和参考图片,但具有不同的MV精度。
2.提议对于Merge/跳过/AMVP模式,当一个块从相邻块继承(inherits)运动信息时,可以应用以下内容:
a.可以通过改变运动矢量精度,根据来自相邻块的运动信息推导出多个Merge/AMVP候选而不是一个。
b.可替代地,即使根据来自相邻块的运动信息仅推导出一个候选,也可以以不同的方式设置运动矢量精度。例如,当将新候选者插入到列表中时,如果在Merge/AMVP列表中已经存在1/4像素MV精度候选,则我们可以改变其MV精度(如果需要的话),以不同于1/4像素。
图25是视频比特流处理的示例方法2500的流程图。视频比特流处理可以由视频解码器执行,该视频解码器使用视频比特流来解压缩比特以创建可以为用户存储或显示的未压缩视频帧。方法2500的视频比特流处理可以由视频编码器执行,该视频编码器在编码处理期间实现解码器以重建编码视频帧,如将在解码器处完成的那样。
方法2500包括生成当前视频块的包括运动候选的运动候选列表。在2502,基于空域块或时域块构建新运动候选。在2506,基于运动候选列表中的运动候选和新运动候选的运动信息执行冗余校验,冗余校验排除具有与运动候选列表中的运动候选的运动信息相同的运动信息的附加运动候选。运动信息包括运动矢量精度。
除了上述示例1之外,方法2500还可以包括一些以下特征中。
示例1:一种视频比特流处理方法,包括:生成当前视频块的包括运动候选的运动候选列表;基于空域块或时域块构建新运动候选;基于运动候选列表中的运动候选和新运动候选的运动信息执行冗余校验,冗余校验排除具有与运动候选列表中的运动候选的运动信息相同的运动信息的附加运动候选;以及其中运动信息包括运动矢量精度。
示例2:示例1的方法,其中,具有相同运动矢量、参考图片但具有不同运动矢量精度的两个运动候选是不同的。
示例3:一种视频比特流处理方法,包括:生成当前视频块的包括运动候选的运动候选列表;基于相邻块构建新运动候选;响应于构建新运动候选,将新运动候选插入到所述运动候选列表中;以及基于运动候选列表执行当前视频块与当前视频块的编码表示之间的转换。
示例4:示例3的方法,其中,通过改变来自继承自相邻块的运动信息的运动矢量精度来构造新运动候选。
示例5:示例4的方法,其中,在将新运动候选插入到运动候选列表中之前,改变新运动候选的运动矢量精度,以不同于运动候选列表的每个运动候选。
示例6:一种视频比特流处理方法,包括:确定当前视频块的第一参考图片列表和第二参考图片列表;生成当前视频块的包括运动候选的运动候选列表;将新双向预测运动候选添加到运动候选列表中;其中,新双向预测运动候选由第一运动候选和第二运动候选形成,其中第一运动候选来自第一参考图片列表,并且第二运动候选来自第二参考图片列表;以及基于运动候选列表执行当前视频块与当前视频块的编码表示之间的转换。
示例7:示例6的方法,其中,第一运动候选和第二运动候选包括相同的运动矢量值和相同的参考图片,但是包括不同的运动矢量精度。
示例8:示例6或7的方法,其中在转换期间分别处理第一运动候选和第二运动候选。
示例9:一种视频解码装置,包括被配置为实现示例1至8中的一项或多项的方法处理器。
示例10:一种视频编码装置,包括被配置为实现示例1至8中的一个或多个的方法的处理器。
示例11:一种计算机程序产品,其上存储有计算机代码,代码在由处理器执行时使处理器实现示例1至8中的一个或多个的方法。从前述内容可以理解,本文已经出于说明的目的描述了当前所公开的技术的具体实施例,但是在不脱离本发明的范围的情况下可以做出各种修改。因此,除了所附权利要求之外,当前所公开的技术不受限制。
本文档中描述的公开的和其他解决方案、示例、实施例、模块和功能性操作可以在数字电子电路中实施,或者在计算机软件、固件或硬件中实施,包括本文档中公开的结构及其结构等同物,或者以他们的一个或多个的组合实施。所公开的和其他实施例可以被实施为一个或多个计算机程序产品,即,在计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的合成、或者它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,装置可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统及其一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点或分布在多个站点并通过通信网络互连。
本文档中描述的处理和逻辑流可以由一个或多个可编程处理器执行,该一个或多个处理器运行一个或多个计算机程序,通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适用于运行计算机程序的处理器包括通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或可操作地耦合到一个或多个大容量存储设备,以从其接收数据或向其传送数据,或两者兼有。然而,计算机不一定需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM光盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文档包含许多细节,但不应将其解释为对任何发明或要求保护的范围的限制,而应解释为特定于特定发明的特定实施例的特征的描述。本专利文档在分离的实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独地实施,或在任何合适的子组合中实施。此外,虽然特征可以被描述为在某些组合中起作用,甚至最初这样要求保护,但在某些情况下,可以从要求保护的组合中删除组合中的一个或多个特征,并且要求保护的组合可以指向子组合或子组合的变体。
同样,尽管在附图中以特定顺序描述了操作,但这不应理解为要获得期望的结果必须按照所示的特定顺序或次序顺序来执行这些操作,或执行所有示出的操作。此外,本专利文档所述实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,其他实施方式、增强和变体可以基于本专利文档中描述和说明的内容做出。

Claims (10)

1.一种视频比特流处理方法,包括:
确定当前视频块的第一参考图片列表和第二参考图片列表;
生成所述当前视频块的包括运动候选的运动候选列表;
将新双向预测运动候选添加到所述运动候选列表中;
其中,所述新双向预测运动候选由第一运动候选和第二运动候选形成,其中所述第一运动候选来自所述第一参考图片列表,并且所述第二运动候选来自所述第二参考图片列表,其中,所述第一运动候选和所述第二运动候选包括相同的运动矢量值和相同的参考图片,但是包括不同的运动矢量精度;以及
基于所述运动候选列表执行所述当前视频块与所述当前视频块的编码表示之间的转换。
2.如权利要求1所述的方法,其中在所述转换期间分别处理所述第一运动候选和所述第二运动候选。
3.如权利要求1所述的方法,还包括:
基于空域块或时域块构建新运动候选;
基于所述运动候选列表中的所述运动候选和所述新运动候选的运动信息执行冗余校验,所述冗余校验排除具有与所述运动候选列表中的所述运动候选的所述运动信息相同的运动信息的附加运动候选;以及
其中所述运动信息包括运动矢量精度。
4.如权利要求3所述的方法,其中,所述第一运动候选与所述第二运动候选不同。
5.如权利要求1所述的方法,还包括:
基于相邻块构建新运动候选;
响应于所述构建新运动候选,将所述新运动候选插入到所述运动候选列表中。
6.如权利要求3所述的方法,其中,通过改变继承自相邻块的运动信息的运动矢量精度来构造所述新运动候选。
7.如权利要求4所述的方法,其中,在将所述新运动候选插入到所述运动候选列表中之前,改变所述新运动候选的所述运动矢量精度,以不同于所述运动候选列表的每个运动候选。
8.一种视频解码装置,包括被配置为实现权利要求1至7中的任一项所述的方法的处理器。
9.一种视频编码装置,包括被配置为实现权利要求1至7中的任一项所述的方法的处理器。
10.一种计算机存储介质,其上存储有计算机代码,所述代码在由处理器执行时使所述处理器实现权利要求1至7中的任一项所述的方法。
CN201910533220.3A 2018-06-19 2019-06-19 不同精度的多个候选 Active CN110620928B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2018091792 2018-06-19
CNPCT/CN2018/091792 2018-06-19

Publications (2)

Publication Number Publication Date
CN110620928A CN110620928A (zh) 2019-12-27
CN110620928B true CN110620928B (zh) 2022-12-09

Family

ID=67841116

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201910533890.5A Active CN110620923B (zh) 2018-06-19 2019-06-19 广义的运动矢量差分辨率
CN201910533257.6A Active CN110620932B (zh) 2018-06-19 2019-06-19 依赖模式的运动矢量差精度集
CN201910533888.8A Active CN110620933B (zh) 2018-06-19 2019-06-19 不同参考列表的不同精度
CN201910533220.3A Active CN110620928B (zh) 2018-06-19 2019-06-19 不同精度的多个候选
CN201910533237.9A Active CN110620929B (zh) 2018-06-19 2019-06-19 没有运动矢量预测截断的选择的运动矢量差精度
CN202310316522.1A Pending CN116347099A (zh) 2018-06-19 2019-06-19 没有运动矢量预测截断的选择的运动矢量差精度

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201910533890.5A Active CN110620923B (zh) 2018-06-19 2019-06-19 广义的运动矢量差分辨率
CN201910533257.6A Active CN110620932B (zh) 2018-06-19 2019-06-19 依赖模式的运动矢量差精度集
CN201910533888.8A Active CN110620933B (zh) 2018-06-19 2019-06-19 不同参考列表的不同精度

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201910533237.9A Active CN110620929B (zh) 2018-06-19 2019-06-19 没有运动矢量预测截断的选择的运动矢量差精度
CN202310316522.1A Pending CN116347099A (zh) 2018-06-19 2019-06-19 没有运动矢量预测截断的选择的运动矢量差精度

Country Status (5)

Country Link
US (2) US11477458B2 (zh)
CN (6) CN110620923B (zh)
GB (1) GB2589221B (zh)
TW (5) TWI731345B (zh)
WO (5) WO2019244051A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019234607A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and affine
TWI739120B (zh) 2018-06-21 2021-09-11 大陸商北京字節跳動網絡技術有限公司 合併仿射模式與非合併仿射模式的統一拘束
EP3788782A1 (en) 2018-06-21 2021-03-10 Beijing Bytedance Network Technology Co. Ltd. Sub-block mv inheritance between color components
CN116033150A (zh) 2018-09-08 2023-04-28 北京字节跳动网络技术有限公司 不同视频块尺寸的仿射模式计算
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
CN110944205A (zh) 2018-09-23 2020-03-31 北京字节跳动网络技术有限公司 8参数仿射模式
WO2020058957A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. General applications related to affine motion
CN110944207B (zh) 2018-09-23 2023-12-08 北京字节跳动网络技术有限公司 仿射模型的表示
TWI818086B (zh) 2018-09-24 2023-10-11 大陸商北京字節跳動網絡技術有限公司 擴展Merge預測
WO2020084470A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Storage of motion parameters with clipping for affine mode
CN112997480B (zh) 2018-11-10 2023-08-22 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
EP3868107A4 (en) 2018-12-21 2021-12-15 Beijing Bytedance Network Technology Co. Ltd. MOTION VECTOR ACCURACY IN INTERACTING WITH MOTION VECTOR DIFFERENCE MODE
CN113412623A (zh) 2019-01-31 2021-09-17 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
CN113826394A (zh) * 2019-02-27 2021-12-21 北京字节跳动网络技术有限公司 帧内块复制模式下自适应运动矢量差分辨率的改进
WO2020200277A1 (en) 2019-04-02 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Adaptive loop filtering in video processing
CN113728626B (zh) 2019-04-19 2023-05-30 北京字节跳动网络技术有限公司 不同运动矢量细化中的基于区域的梯度计算
CN113711608B (zh) 2019-04-19 2023-09-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程的适用性
WO2020211867A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Delta motion vector in prediction refinement with optical flow process
CN117676134A (zh) 2019-04-25 2024-03-08 北京字节跳动网络技术有限公司 对运动矢量差的约束
JP7303330B2 (ja) 2019-04-28 2023-07-04 北京字節跳動網絡技術有限公司 対称動きベクトル差分符号化
JP7436527B2 (ja) 2019-06-25 2024-02-21 北京字節跳動網絡技術有限公司 動きベクトルの差に関する制限
WO2020263038A1 (ko) * 2019-06-27 2020-12-30 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN114365490A (zh) 2019-09-09 2022-04-15 北京字节跳动网络技术有限公司 高精度图像和视频编解码的系数缩放
EP4018648A4 (en) 2019-09-21 2022-11-23 Beijing Bytedance Network Technology Co., Ltd. HIGH PRECISION TRANSFORMATION AND QUANTIZATION FOR IMAGE AND VIDEO CODING
WO2021056215A1 (zh) * 2019-09-24 2021-04-01 深圳市大疆创新科技有限公司 运动估计方法、系统和存储介质
US20230128502A1 (en) * 2021-10-21 2023-04-27 Tencent America LLC Schemes for Adjusting Adaptive Resolution for Motion Vector Difference
WO2023118301A1 (en) * 2021-12-21 2023-06-29 Interdigital Vc Holdings France, Sas Adaptive motion vector resolution (amvr) using depth map or motion map
US20240031596A1 (en) * 2022-07-19 2024-01-25 Tencent America LLC Adaptive motion vector for warped motion mode of video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1469682A1 (en) * 2002-01-24 2004-10-20 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
WO2013168407A1 (en) * 2012-05-09 2013-11-14 Panasonic Corporation Method of performing motion vector prediction, encoding and decoding methods, and apparatuses thereof
CN103797799A (zh) * 2011-09-17 2014-05-14 高通股份有限公司 用于视频译码的运动向量确定
CN106471806A (zh) * 2014-06-16 2017-03-01 高通股份有限公司 3d‑hevc中的简化移位合并候选者及合并列表导出
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法

Family Cites Families (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3651941B2 (ja) 1994-11-28 2005-05-25 キヤノン株式会社 画像再生装置
WO2007003340A2 (en) * 2005-07-01 2007-01-11 Nero Ag Video encoder and video decoder
US20070025442A1 (en) 2005-07-28 2007-02-01 Sanyo Electric Co., Ltd. Coding method for coding moving images
JP2009089332A (ja) * 2007-10-03 2009-04-23 Sony Corp 動き予測方法及び動き予測装置
US8542727B2 (en) 2007-12-31 2013-09-24 Intel Corporation Systems and apparatuses for performing CABAC parallel encoding and decoding
KR101441874B1 (ko) * 2009-08-21 2014-09-25 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
US20110176611A1 (en) 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
JP2012060208A (ja) 2010-09-06 2012-03-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法,動画像符号化装置,動画像復号方法,動画像復号装置およびそれらのプログラム
KR102034004B1 (ko) 2010-10-08 2019-10-18 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US10123053B2 (en) 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
EP2723076A4 (en) * 2011-06-14 2015-03-04 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ENCODING MOVEMENT INFORMATION, AND METHOD AND APPARATUS FOR DECODING THE SAME
MX351933B (es) * 2011-08-29 2017-11-01 Ibex Pt Holdings Co Ltd Método para generar un bloque de predicción en modo de predicción de vector de movimiento avanzada (amvp).
CN102291581B (zh) 2011-09-09 2013-09-25 西安电子科技大学 支持帧场自适应运动估计的实现方法
US9088796B2 (en) 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
US20130170553A1 (en) * 2012-01-04 2013-07-04 Qualcomm Incorporated Coding motion vector difference
US20130177084A1 (en) 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
US9538172B2 (en) 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
US9325991B2 (en) * 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
US9942571B2 (en) 2012-05-29 2018-04-10 Hfi Innovations Inc. Method and apparatus for coding of sample adaptive offset information
US9635356B2 (en) * 2012-08-07 2017-04-25 Qualcomm Incorporated Multi-hypothesis motion compensation for scalable video coding and 3D video coding
US9319684B2 (en) 2012-08-21 2016-04-19 Qualcomm Incorporated Alternative transform in scalable video coding
US9313500B2 (en) * 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
WO2014120368A1 (en) * 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
WO2015069734A1 (en) 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics
CN103561263B (zh) * 2013-11-06 2016-08-24 北京牡丹电子集团有限责任公司数字电视技术中心 基于运动矢量约束和加权运动矢量的运动补偿预测方法
US20150189321A1 (en) 2014-01-02 2015-07-02 Mediatek Inc. Method of Binarization and Context Adaptive Binary Arithmetic Coding of Depth Coding Syntax
US9749642B2 (en) * 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US10531116B2 (en) 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
EP3085085A4 (en) * 2014-01-29 2017-11-08 MediaTek Inc. Method and apparatus for adaptive motion vector precision
US9756354B2 (en) * 2014-03-17 2017-09-05 Qualcomm Incorporated Block vector predictor for intra block copying
US10327002B2 (en) 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy
US9854253B2 (en) * 2014-06-30 2017-12-26 Qualcomm Incorporated Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data
WO2016050219A1 (en) 2014-09-30 2016-04-07 Mediatek Inc. Method of adaptive motion vetor resolution for video coding
US9918105B2 (en) 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
CN104363451B (zh) 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
CN111741310B (zh) * 2014-10-31 2024-03-19 三星电子株式会社 用于对运动矢量进行编码/解码的方法和装置
KR102128216B1 (ko) * 2014-11-20 2020-06-30 에이치에프아이 이노베이션 인크. 모션 벡터 및 블록 벡터 해상도 제어의 방법
CN107809642B (zh) 2015-02-16 2020-06-16 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
US20160323600A1 (en) 2015-04-30 2016-11-03 Zhan Ma Methods and Apparatus for Use of Adaptive Prediction Resolution in Video Coding
CN109005407B (zh) 2015-05-15 2023-09-01 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
US10148961B2 (en) 2015-05-29 2018-12-04 Qualcomm Incorporated Arithmetic coder with multiple window sizes
GB2539212A (en) 2015-06-08 2016-12-14 Canon Kk Handling of non-correct block vectors generated for intra block copy coding mode
WO2016200984A1 (en) 2015-06-08 2016-12-15 Vid Scale, Inc. Intra block copy mode for screen content coding
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
CN105163116B (zh) 2015-08-29 2018-07-31 华为技术有限公司 图像预测的方法及设备
KR20180059443A (ko) 2015-09-24 2018-06-04 엘지전자 주식회사 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
WO2017082443A1 (ko) * 2015-11-13 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
US20190028731A1 (en) 2016-01-07 2019-01-24 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system
WO2017134957A1 (ja) 2016-02-03 2017-08-10 シャープ株式会社 動画像復号装置、動画像符号化装置、および予測画像生成装置
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
WO2017156705A1 (en) 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
CN113612994B (zh) 2016-03-15 2023-10-27 寰发股份有限公司 具有仿射运动补偿的视频编解码的方法
KR102480088B1 (ko) 2016-03-17 2022-12-23 삼성디스플레이 주식회사 양자점 발광 소자
WO2017164297A1 (ja) 2016-03-25 2017-09-28 パナソニックIpマネジメント株式会社 信号依存型適応量子化を用いて動画像を符号化及び復号するための方法及び装置
US10911773B2 (en) * 2016-05-13 2021-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Motion vector difference coding and decoding
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
CN115150630B (zh) 2016-05-27 2024-02-20 松下电器(美国)知识产权公司 编码装置及解码装置
EP3264768A1 (en) 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
CN109691107A (zh) * 2016-09-12 2019-04-26 索尼公司 图像处理装置和图像处理方法
WO2018049594A1 (en) 2016-09-14 2018-03-22 Mediatek Inc. Methods of encoder decision for quad-tree plus binary tree structure
US11356693B2 (en) * 2016-09-29 2022-06-07 Qualcomm Incorporated Motion vector coding for video coding
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10778999B2 (en) 2016-09-30 2020-09-15 Qualcomm Incorporated Frame rate up-conversion coding mode with affine motion model
EP3301918A1 (en) 2016-10-03 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
CN109964484B (zh) * 2016-11-22 2021-11-09 联发科技股份有限公司 视频编码中用于运动向量符号预测的方法及装置
US10694202B2 (en) 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
CN108235007B (zh) 2016-12-12 2023-06-27 上海天荷电子信息有限公司 各模式使用不同精度同种编码参数的数据压缩方法和装置
US20200021837A1 (en) 2016-12-16 2020-01-16 Sharp Kabushiki Kaisha Video decoding apparatus and video coding apparatus
CN116320476A (zh) 2016-12-22 2023-06-23 株式会社Kt 对视频进行解码或编码的方法和发送视频数据的方法
US10757412B2 (en) 2017-01-03 2020-08-25 Avago Technologies International Sales Pte. Limited Architecture flexible binary arithmetic coding system
US10523964B2 (en) 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
US10595035B2 (en) 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US10609414B2 (en) 2017-05-08 2020-03-31 Qualcomm Incorporated Context modeling for transform coefficient coding
US11272207B2 (en) 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
CN110870314B (zh) * 2017-06-26 2024-04-02 交互数字Vc控股公司 用于运动补偿的多个预测器候选
KR20200015885A (ko) 2017-07-04 2020-02-13 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
WO2019011292A1 (en) 2017-07-14 2019-01-17 Mediatek Inc. METHOD AND APPARATUS FOR RANGE CALCULATION IN CONTEXT-ADAPTIVE BITARY ARITHMETIC ENCODING SYSTEM
CN109391814B (zh) 2017-08-11 2023-06-06 华为技术有限公司 视频图像编码和解码的方法、装置及设备
US10609384B2 (en) 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
CN111543055A (zh) 2017-10-03 2020-08-14 日本电气株式会社 视频编码设备、视频解码设备、视频编码方法、视频解码方法、程序和视频系统
US11172201B2 (en) 2017-12-18 2021-11-09 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11172229B2 (en) 2018-01-12 2021-11-09 Qualcomm Incorporated Affine motion compensation with low bandwidth
US10757417B2 (en) 2018-01-20 2020-08-25 Qualcomm Incorporated Affine motion compensation in video coding
US11012715B2 (en) * 2018-02-08 2021-05-18 Qualcomm Incorporated Intra block copy for video coding
CN111919447A (zh) * 2018-03-14 2020-11-10 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
US10873748B2 (en) 2018-05-12 2020-12-22 Qualcomm Incorporated Storage of high precision motion vectors in video coding
US11509924B2 (en) * 2018-06-01 2022-11-22 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
WO2019234607A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and affine
KR102493418B1 (ko) 2018-06-07 2023-01-31 주식회사 윌러스표준기술연구소 적응적 모션 벡터 레졸루션을 이용하는 비디오 신호 처리 방법 및 장치
US11303923B2 (en) 2018-06-15 2022-04-12 Intel Corporation Affine motion compensation for current picture referencing
US20190387247A1 (en) * 2018-06-19 2019-12-19 Qualcomm Incorporated Signaling sub-prediction unit motion vector predictor
US20190045193A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Region-based motion estimation and modeling for accurate region-based motion compensation for efficient video processing or coding
WO2020031061A2 (en) * 2018-08-04 2020-02-13 Beijing Bytedance Network Technology Co., Ltd. Mvd precision for affine
WO2020047132A1 (en) 2018-08-29 2020-03-05 Vid Scale, Inc. Adaptive motion vector precision for affine motion model based video coding
CN116033150A (zh) * 2018-09-08 2023-04-28 北京字节跳动网络技术有限公司 不同视频块尺寸的仿射模式计算
CN116193141A (zh) 2018-09-10 2023-05-30 Lg电子株式会社 视频编码和解码设备、以及发送图像数据的设备
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
US11297330B2 (en) 2018-09-22 2022-04-05 Lg Electronics Inc. Method and apparatus for processing video signal based on inter prediction
WO2020058961A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Modification of motion vector with adaptive motion vector resolution
CN111357294B (zh) 2018-10-23 2022-12-30 北京字节跳动网络技术有限公司 基于子块的运动信息列表的简化熵编解码
EP3861731A4 (en) 2018-11-05 2021-11-24 Beijing Bytedance Network Technology Co. Ltd. INTERPOLATION TO INTERPRDICTION WITH REFINEMENT
CN114128260A (zh) * 2019-04-25 2022-03-01 Op方案有限责任公司 全局运动矢量的高效编码
CN111050182B (zh) * 2019-12-27 2022-02-18 浙江大华技术股份有限公司 运动矢量的预测方法、视频编码方法及相关设备、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1469682A1 (en) * 2002-01-24 2004-10-20 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
CN103797799A (zh) * 2011-09-17 2014-05-14 高通股份有限公司 用于视频译码的运动向量确定
WO2013168407A1 (en) * 2012-05-09 2013-11-14 Panasonic Corporation Method of performing motion vector prediction, encoding and decoding methods, and apparatuses thereof
CN106471806A (zh) * 2014-06-16 2017-03-01 高通股份有限公司 3d‑hevc中的简化移位合并候选者及合并列表导出
CN107113424A (zh) * 2014-11-18 2017-08-29 联发科技股份有限公司 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Description of SDR, HDR and 360° video coding technology proposal considering mobile application scenario by Samsung, Huawei, GoPro, and HiSilicon;Sri Nitchith Akula et al.;《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20180414;摘要以及第3.1.4.2、3.1.4.3节 *
High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved Encoder Description Update 9;C. Rosewarne;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11》;20170721;第4.4.1、4.4.2节 *
Sri Nitchith Akula et al..Description of SDR, HDR and 360° video coding technology proposal considering mobile application scenario by Samsung, Huawei, GoPro, and HiSilicon.《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》.2018, *

Also Published As

Publication number Publication date
TWI706670B (zh) 2020-10-01
TWI723430B (zh) 2021-04-01
TWI731345B (zh) 2021-06-21
CN110620932A (zh) 2019-12-27
CN110620929A (zh) 2019-12-27
TW202025776A (zh) 2020-07-01
WO2019244052A1 (en) 2019-12-26
GB202018864D0 (en) 2021-01-13
TW202025748A (zh) 2020-07-01
TWI746994B (zh) 2021-11-21
TW202025745A (zh) 2020-07-01
CN116347099A (zh) 2023-06-27
WO2019244055A1 (en) 2019-12-26
WO2019244054A1 (en) 2019-12-26
US20220021885A1 (en) 2022-01-20
CN110620923A (zh) 2019-12-27
GB2589221A (en) 2021-05-26
GB2589221B (en) 2023-03-22
US11477458B2 (en) 2022-10-18
CN110620929B (zh) 2023-04-18
CN110620923B (zh) 2022-07-12
CN110620932B (zh) 2022-11-08
TW202002646A (zh) 2020-01-01
CN110620928A (zh) 2019-12-27
TW202002649A (zh) 2020-01-01
CN110620933A (zh) 2019-12-27
CN110620933B (zh) 2022-05-31
WO2019244051A1 (en) 2019-12-26
US20200359029A1 (en) 2020-11-12
WO2019244056A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
CN110620928B (zh) 不同精度的多个候选
CN110581998B (zh) 视频处理方法、装置和计算机可读记录介质
CN110809156B (zh) 不同解码器侧运动矢量推导模式之间的交互
CN111010569B (zh) Bio中的时间梯度计算的改善
CN110662055B (zh) 扩展Merge模式
CN110891174B (zh) 不同视频块尺寸的仿射模式计算
CN110740327B (zh) 一种处理视频数据的方法、装置和可读介质
CN111010570B (zh) 基于仿射运动信息的尺寸限制
CN110881124A (zh) 两步帧间预测
CN110809164B (zh) Bio中的mv精度

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