CN117560490A - 根据参考图片类型使用工具的限制 - Google Patents

根据参考图片类型使用工具的限制 Download PDF

Info

Publication number
CN117560490A
CN117560490A CN202311524871.9A CN202311524871A CN117560490A CN 117560490 A CN117560490 A CN 117560490A CN 202311524871 A CN202311524871 A CN 202311524871A CN 117560490 A CN117560490 A CN 117560490A
Authority
CN
China
Prior art keywords
picture
reference picture
video
codec
block
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.)
Pending
Application number
CN202311524871.9A
Other languages
English (en)
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 CN117560490A publication Critical patent/CN117560490A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • 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/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/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/583Motion compensation with overlapping blocks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种视频处理方法,包括:对于视频的当前图片的当前视频块与视频的编解码表示之间的转换,基于用于转换的参考图片的类型来确定编解码工具对当前视频块的适用性;以及基于确定进行转换。该方法可以由视频解码器或视频编码器或视频代码转换器来进行。

Description

根据参考图片类型使用工具的限制
相关申请的交叉引用
本申请是于2022年01月27日提交的申请号为202080054662.0的发明专利申请的分案申请,申请号为202080054662.0的发明专利申请是于2020年07月24日提交的国际专利申请号PCT/CN2020/104087进入中国国家阶段的申请,其要求于2019年7月27日提交的第PCT/CN2019/098068号国际专利申请的优先权。
技术领域
本文档涉及视频和图像编解码和解码技术。
背景技术
数字视频导致了因特网和其它数字通信网络上的最大带宽使用。随着能够接收和显示视频的、连接的用户设备的数量的增加,预期用于数字视频用途的带宽需求将继续增长。
发明内容
所公开的技术可以被视频或图像解码器或编码器实施例使用,其中参考图片被用于视频编解码或解码。
在一个示例方面中,公开了一种视频处理方法。该方法包括:对于视频的当前图片的当前视频块与视频的编解码表示之间的转换,基于用于转换的参考图片的类型来确定编解码工具对当前视频块的适用性;以及基于确定进行转换,其中,参考图片的类型至少基于:1)参考图片是短期参考图片还是长期参考图片,2)参考图片或当前图片的分辨率,或3)参考图片相对于当前图片的图片顺序计数(POC)距离。
在另一示例方面中,公开了另一视频处理方法。该方法包括:对于视频的当前视频块与视频的编解码表示之间的转换,基于用于转换的参考图片的类型来确定双向光流(BDOF)编解码工具或解码器侧运动矢量细化(DMVR)编解码工具对当前视频块的适用性;以及基于确定进行转换,其中,使用BDOF编解码工具,基于光流计算细化一个或多个初始预测,使用DMVR编解码工具,使用当前视频块的预测块来细化当前视频块的运动信息;并且其中,参考图片的类型至少基于1)参考图片是短期参考图片还是长期参考图片,2)参考图片或当前图片的分辨率,或3)参考图片相对于当前图片的图片顺序计数(POC)距离。
在另一示例方面中,公开了另一视频处理方法。该方法包括:使用Merge模式运动矢量差(MMVD)编解码进行视频的当前图片的当前视频块与当前视频块的编解码表示之间的转换,其中,Merge候选被选择作为基础Merge候选并利用运动矢量差(MVD)信息进行细化,而不缩放MVD信息,并且其中,基础Merge候选是双向运动矢量,并且其中,基于视频的编解码条件,一个预测方向的MVD设置为等于包括在编解码表示中的MVD,以及另一预测方向的另一MVD设置为与包括在编解码表示中的MVD相等或相反。
在另一示例方面中,公开了另一视频处理方法。该方法包括:使用Merge模式运动矢量差(MMVD)编解码进行视频的当前图片的当前视频块与当前视频块的编解码表示之间的转换,其中,Merge候选被选择用作基础Merge候选并利用运动矢量差(MVD)信息进行细化,其中编解码表示符合以下规则,其中该规则规定至多用于第一预测方向的第一MVD值包括在编解码表示中。
在又一示例方面中,上述方法可以由包括处理器的视频编码器装置来实现。
在又一示例方面中,上述方法可以由包括处理器的视频解码器设备来实现。
在又一示例方面中,这些方法可以以处理器可进行指令的形式来实现,并存储在计算机可读程序介质上。
在本文件中进一步描述了这些和其它方面。
附图说明
图1示出了双边匹配的示例。
图2示出了模板匹配的示例。
图3示出了帧速率上变换(FRUC)中的单侧运动估计(ME)的示例。
图4示出了光流轨迹的示例。
图5A-图5B示出了没有块扩展的双向光流的示例。
图6示出了具有6点搜索的双边匹配的示例。
图7示出了自适应整数搜索模式(左)和半采样搜索模式(右)的示例。
图8示出将进行参数误差表面拟合的整数位置的例子。
图9示出了具有运动矢量差的Merge(MMVD)搜索点的示例。
图10示出了子块MV VSB和像素Δv(i,j)(红箭头)的示例。
图11是对称MVD模式的示例图示。
图12示出了使用混合STRP和LTRP的示例。
图13A和13B是用于实现本文档中描述的技术的硬件平台的示例的框图。
图14是基于所公开技术的一些实施的视频处理的示例方法的流程图。
图15A至图15C示出了基于所公开技术的一些实施的视频处理的示例方法的流程图。
具体实施方式
本文件提供了可由图像或视频比特流的解码器用来改善解压缩或解码的数字视频或图像的质量的各种技术。为了简洁起见,术语“视频”在本文中用于包括图片序列(传统上称为视频)和单个图像。此外,视频编码器还可在编码过程期间实现这些技术,以便重建用于进一步编码的解码帧。
在本文件中使用章节标题是为了易于理解,并且不将实施例和技术限于相应的章节。这样,一个部分的实施例可以与其他部分的实施例组合。
1.综述
该文件涉及视频编解码技术。具体地,它涉及运动矢量调色板编解码,其中在视频编解码中采用基于基色的表示。它可以应用于现有的视频编解码标准(例如HEVC),或者最终确定的标准(通用视频编解码)。它也可能适用于未来的视频编解码标准或视频编码器。
2.初步讨论
视频编解码标准主要通过公知的ITU-T和ISO/IEC标准的发展而发展。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4 Visual,这两个组织共同制作了H.262/MPEG-2视频和H.264/MPEG-4增强视频编解码(AVC)和H.265/HEVC标准。从H.262开始,视频编解码标准基于混合视频编解码结构,其中利用了时域预测和变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索小组(JVET)。此后,JVET采纳了许多新方法并将其引入到名为“联合探索模型”(JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家团队(JVET)成立,以致力于VVC标准,其目标是与HEVC相比降低50%比特率。
VVC草案的最新版本,即Versatile Video Coding(Draft 4)可以在下方地址找到:
http://phenix.it-sudparis.eu/JVET/doc_end_user/R.php?ID=5755
VVC的名为VTM的最新参考软件,可以在下方网址找到:
https://vcgit.hhi.fraunhofer.de/JVET/VVCSoftware_VTM/tag/VTM-5.0
2.1模式匹配的运动矢量推导
模式匹配的运动矢量推导(PMMVD)模式是一种基于帧速率向上转换(FRUC)技术的特殊Merge模式。利用这种模式,块的运动信息不是用信令通知的,而是在解码器侧推导出的。
当CU的Merge标志为真时,为CU用信令通知FRUC标志。当FRUC标志为假时,用信令通知Merge索引并使用常规Merge模式。当FRUC标志为真时,用信令通知附加的FRUC模式标志以指示要使用哪种方法(双边匹配或模板匹配)来推导用于块的运动信息。
在编码器侧,如对正常Merge候选所做的那样,是否对CU使用FRUCMerge模式的决定是基于RD成本选择。也就是说,使用RD成本选择来为CU检查两种匹配模式(双边匹配和模板匹配)。导致最小成本的CU模式进一步与其他CU模式进行比较。如果FRUC匹配模式是最有效的模式,则为CU将FRUC标志设置为真,并使用相关的匹配模式。
FRUC Merge模式中的运动推导过程有两个步骤。首先进行CU级运动搜索,然后进行子CU级运动细化。在CU级,基于双向匹配或模板匹配为整个CU推导初始运动矢量。首先,生成MV候选的列表,并且选择导致最小匹配成本的候选作为用于进一步CU级细化的起始点。然后,在起始点周围进行基于双向匹配或模板匹配的局部搜索,并将导致最小匹配成本的MV作为整个CU的MV。随后,用推导的CU运动矢量作为起始点,运动信息在子CU级被进一步细化。
例如,对W×H CU运动信息推导进行以下推导过程。在第一阶段,推导用于整个W×H CU的MV。在第二阶段,CU被进一步分成W×M个子CU。M的值如在(16)中那样计算,D是在JEM中默认设置为3的预定***深度。然后推导用于每个子CU的MV。
如图1所示,双边匹配用于通过在两个不同的参考图片中沿着当前CU的运动轨迹在两个块之间寻找最接近匹配来推导当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0和MV1应该与当前图片和两个参考图片之间的时域距离(即,TD0和TD1)成比例。作为特殊情况,当当前图片在时间上在两个参考图片之间并且从当前图片到两个参考图片的时域距离相同时,双边匹配变成基于镜像的双向MV。
如图2所示,模板匹配用于通过找到在当前图片中的模板(当前CU的顶部相邻块和/或左方相邻块)与参考图片中的块(具有与模板相同的尺寸)之间的最接近匹配,来导出当前CU的运动信息。除了上述FRUCMerge模式之外,模板匹配也适用于AMVP模式。在JEM中,如在HEVC中一样,AMVP有两个候选。使用模板匹配方法,导出新的候选。如果由模板匹配的新导出的候选与第一现有AMVP候选不同,则将其***AMVP候选列表的最开始,并且然后将列表尺寸设置为2(这意味着移除第二现有AMVP候选)。当应用于AMVP模式时,仅应用CU级别搜索。
CU级别MV候选集合
CU级别的MV候选集合由以下组成:
(i)如果当前CU处于AMVP模式,则为原始AMVP候选,
(ii)所有Merge候选,
(iii)内插MV域中的数个MV
(iv)顶部和左方相邻的运动矢量。
当使用双边匹配时,Merge候选的每个有效MV被用作输入,以在假设双边匹配的情况下生成MV对。例如,Merge候选的一个有效MV是在参考列表A中的(MVa,refa)。然后,在其他参考列表B中找到其配对双边MV的参考图片refb,使得refa和refb在时间上位于当前图片的不同侧。如果参考列表B中这样的refb不可用,则refb被确定为与refa不同的参考,并且refb到当前图片的时域距离是列表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候选集合由以下组成:
(i)从CU级别搜索确定的MV,
(ii)顶部、左方、左顶和右顶的相邻MV,
(iii)来自参考图片的并列MV的缩放版本,
(iv)最多4个ATMVP候选,
(v)最多4个STMVP候选。
来自参考图片的缩放MV如下导出。遍历两个列表中的所有参考图片。参考图片中的子CU的并列位置处的MV被缩放到起始CU级别MV的参考。
ATMVP和STMVP候选仅限于前四个。
在子CU级别,最多17个MV被添加到候选列表中
内插MV场的产生
在对帧进行编解码之前,基于单边ME为整个图片生成内插运动域。然后,运动域可以稍后用作CU级别或子CU级别MV候选。
首先,两个参考列表中的每个参考图片的运动域以4×4块级别遍历。对于每个4×4块,如果与块相关联的运动通过当前图片中的4×4块(如图12所示)并且该块尚未被分配任何内插运动,则参考块的运动根据时域距离TD0和TD1(与HEVC中的TMVP的MV缩放的方式相同的方式)缩放到当前图片,并且将缩放的运动分配给当前帧中的块。如果无缩放的MV被分配到4×4块,则在内插的运动域中将块的运动标记为不可用。
图3示出了FRUC中的单侧ME的示例
内插和匹配成本
当运动矢量指向分数采样位置时,需要运动补偿内插。为了降低复杂性,双边匹配和模板匹配都使用双线性内插而不是常规的8抽头HEVC内插。
匹配成本的计算在不同的步骤有点不同。当从CU级别的候选集合中选择候选时,匹配成本是双边匹配或模板匹配的绝对差和(SAD)。在确定起始MV之后,如下计算子CU级别搜索的双边匹配的匹配成本C:
其中w是一个加权因子,且根据经验设置为4,MV和MVs分别指示当前MV和起始MV。SAD仍用作子CU级别搜索的模板匹配的匹配成本。
在FRUC模式中,MV通过仅使用亮度采样导出。导出的运动将用于MC帧间预测的亮度和色度。在确定MV之后,使用用于亮度的8抽头内插滤波器和用于色度的4抽头内插滤波器来进行最终MC。
MV细化
MV细化是以双边匹配成本或模板匹配成本为准则的基于模式的MV搜索。在JEM中,支持两种搜索模式——分别用于CU级别和子CU级别的MV细化的无限制的中心偏置菱形搜索(unrestricted center-biased diamond search,UCBDS)和自适应交叉搜索(adaptivecross search)。对于CU级别和子CU级别MV细化,以四分之一亮度采样MV精度直接搜索MV,并且接下来以八分之一亮度采样MV细化。对于CU步骤和子CU步骤的MV细化的搜索范围被设置为等于8个亮度采样。
模板匹配FRUC Merge模式中预测方向的选择
在双向匹配Merge模式中,由于CU的运动信息是基于在两个不同参考图片中沿当前CU的运动轨迹的两个块之间的最接近匹配而推导的,因此总是应用双向预测。对于模板匹配Merge模式没有该限制。在模板匹配Merge模式中,编码器可以从来自list0的单向预测,来自list1的单向预测或用于CU的双向预测中选择。基于模板匹配成本进行选择,如下所示:
如果costBi<=factor*min(cost0,cost1)
使用双向预测;
否则,如果cost0<=cost1
使用来自list0的单向预测;
否则,
使用来自list1的单向预测;
其中,cost0是list0模板匹配的SAD,cost1是list1模板匹配的SAD,costB1是双向预测模板匹配的SAD。factor的值等于1.25,这意味着选择过程偏向于双向预测。
帧间预测方向选择仅应用于CU级模板匹配过程。
2.2混合帧内和帧间预测
在JVET-L0100中,提出了多假设预测,其中混合帧内和帧间预测是生成多个假设的一种方式。
当应用多假设预测来改进帧内模式时,多假设预测将一个帧内预测和一个Merge索引预测进行组合。在Merge CU中,为Merge模式用信令通知一个标志,以当标志为真时从帧内候选列表中选择帧内模式。对于亮度分量,从包括DC,平面,水平和竖直模式的4种帧内预测模式推导出帧内候选列表,并且帧内候选列表的大小可以是3或4,这取决于块形状。当CU宽度大于CU高度的两倍时,水平模式不包括帧内模式列表,并且当CU高度大于CU宽度的两倍时,从帧内模式列表中移除竖直模式。使用加权平均来组合通过帧内模式索引选择的一个帧内预测模式和通过Merge索引选择的一个Merge索引预测。对于色度分量,DM总是在没有额外信令的情况下应用。用于组合预测的权重描述如下。当选择DC或平面模式,或者CB宽度或高度小于4时,施加相等的权重。对于具有大于或等于4的CB宽度和高度的CB,当选择水平/竖直模式时,首先将一个CB竖直/水平地分成四个相等面积的区域。表示为(w_intrai,w_interi)的每个权重集,其中i是从1到4,并且(w_intra1,w_inter1)=(6,2),(w_intra2,w_inter2)=(5,3),(w_intra3,w_inter3)=(3,5),以及(w_intra4,w_inter4)=(2,6),将被应用于相应的区域。(w_intra1,w_inter1)用于最靠近参考采样的区域,(w_intra4,w_inter4)用于离参考采样最远的区域。然后,可以通过对两个加权预测行求和并右移3位来计算组合预测。此外,可以保存用于预测器的帧内假设的帧内预测模式,以用于随后的相邻CU的参考。
2.3双向光流
首先进行运动补偿以生成当前块的第一预测(在每个预测方向上)。第一预测用于推导块内每个子块/像素的空间梯度,时间梯度和光流,然后块内每个子块/像素的空间梯度,时间梯度和光流用于生成第二预测,即子块/像素的最终预测。这些细节描述如下。
双向光流(BIO,也称为BDOF)是在用于双向预测的块式运动补偿之上进行的采样式运动细化。采样级运动细化不使用信令。
图4示出了光流轨迹的示例。
假设I(k)为在块运动补偿之后来自参考k(k=0,1)的亮度值,并且 分别是I(k)梯度的水平和竖直分量。假设光流是有效的,则运动矢量场(vx,vy)由下式给出
将该光流方程与用于每个采样的运动轨迹的Hermite内插相结合,得到唯一的三阶多项式,其在端部与函数值I(k)和导数都匹配。该多项式在t=0时的值为BIO预测:
这里,如图4所示,τ0和t1表示到参考帧的距离。基于Ref0和Ref1的POC计算距离t0和t1:t0=POC(当前)-POC(Ref0),t1=POC(Ref1)-POC(当前)。如果两个预测来自相同的时间方向(都来自过去,或都来自将来),则符号是不同的(即,t0·t1<0)。在这种情况下,只有当预测不是来自相同的时刻(即,t0≠t1)时,才应用BIO,两个参考区域都具有非零运动(MVx0,MVy0,MVx1,MVy1≠0),并且块运动矢量与时间距离成比例(MVx0/MVx1=MVy0/MVy1=-τ01)。
通过最小化点A和点B(图4上的运动轨迹和参考帧平面的交点)的值之间的差Δ来确定运动矢量场(vx,vy)。模型只使用Δ的局部泰勒展开的第一个线性项:
等式5中的所有值都取决于采样位置(i′,j′),其中之前在符号中省略了采样位置(i′,j′)。假设运动在局部周围区域中是一致的,我们将Δ在以当前预测点(i,j)为中心的(2M+1)×(2M+1)的方形窗口Ω内最小化,其中M等于2:
对于该优化问题,JEM使用简化的方法,首先在竖直方向上进行最小化,然后在水平方向上进行最小化。这导致了
其中,
为了避免除以零或特别小的值,在等式7和8中引入正则化参数r和m。
r=500·4d-8 (9)
m=700·4d-8 (10)
这里d是视频采样的比特深度。
为了保持用于BIO的存储器访问与用于常规双向预测运动补偿的存储器访问相同,仅针对当前块内的位置计算所有预测和梯度值I(k)在等式8中,以预测块的边界上的当前预测点为中心的(2M+1)×(2M+1)方形窗口Ω需要访问块外部的位置(如图5A所示)。在JEM中,块外部的ΩI(k),/>的值被设置为等于块内部最近的可用值。例如,这可以被实现为填充,如图5B所示。
图5A、图5B示出了不具有BIO块扩展的示例。图5A示出了块外部的访问位置;图5B示出了为了避免额外的存储器访问和计算而使用的填充。
利用BIO,可以为每个采样细化运动场。为了降低计算复杂度,在JEM中使用了基于块的BIO设计。基于4×4块来计算运动细化。在基于块的BIO中,集合4×4块中的所有采样的等式8中的sn的值,然后使用所集合的sn的值来推导4×4块的BIO运动矢量偏移。更具体地,以下等式用于基于块的BIO推导:
其中bk表示属于预测块的第k个4×4块的采样集。等式7和8中的sn被((sn,bk)>>4)代替以推导相关联的运动矢量偏移。
在一些情况下,由于噪声或不规则运动,BIO的MV组可能是不可靠的。因此,在BIO中,MV组的大小被裁剪至阈值thBIO。基于当前图片的参考图片是否所有来自一个方向来确定阈值。如果当前图片的所有参考图片都来自一个方向,则将阈值设置为12×214-d;否则,将其设置为12×213-d
使用与HEVC运动补偿过程(2D可分离FIR)一致的操作,同时计算BIO的梯度和运动补偿内插。用于该2D可分离FIR的输入是与用于运动补偿过程和根据块运动矢量的分数部分的分数位置(fracX,fracY)的参考帧采样相同的参考帧采样。在首先使用BIOfilterS竖直地内插的水平梯度信号对应于具有去缩放偏移d-8的分数位置fracY的情况下,则在对应于具有去缩放偏移18-d的分数位置fracX的水平方向上应用梯度滤波器BIOfilterG。在竖直梯度/>的情况下,通过使用对应于具有去缩放偏移d-8的分数位置fracY的BIOfilterG,第一梯度滤波器被竖直地应用,然后通过在对应于具有去缩放偏移18-d的分数位置fracX的水平方向上使用BIOfilterS,进行信号位移。为了保持合理的复杂度,用于梯度计算的内插滤波器BIOfilterG和用于信号移位的内插滤波器BIOfilterF的长度较短(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中,在正常MC过程之后对块应用OBMC。为了降低计算复杂度,在OBMC过程中不应用BIO。这意味着BIO仅在使用其自己的MV时应用于块的MC过程中,而在OBMC过程中使用相邻块的MV时不应用于MC处理中。
使用两级早期终止方法来根据两个预测信号之间的相似性有条件地禁用BIO操作。首先在CU级应用早期终止,然后在子CU级应用早期终止。具体地,所提出的方法首先计算CU级的L0和L1预测信号之间的SAD。假设BIO仅被应用于亮度,则仅需要考虑亮度采样用于SAD计算。如果CU级SAD不大于预定阈值,则对于整个CU完全禁用BIO过程。CU级阈值被设置为每采样2(BDepth-9)。如果BIO过程在CU级没有被禁用,并且如果当前CU包含多个子CU,则将计算CU内每个子CU的SAD。然后,基于预定义子CU级SAD阈值,在子CU级做出关于是启用还是禁用BIO过程的决定,其中该预定义子CU级SAD阈值被设置为3*2(BDepth-10)每采样。
BIOF也被称为BDOF。
·BDOF应用条件
在VTM5中,可以将BDOF应用于这样的CU,其中该CU利用以下模式和特征进行了编解码:
·sps_bdof_enabled_flag等于1。
·predFlagL0[0][0]和predFlagL1[0][0]都等于1。
·DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])*DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1])小于0。
·MotionModelIdc[xCb][yCb]等于0。
·merge_subblock_flag[xCb][yCb]等于0。
·sym_mvd_flag[xCb][yCb]等于0。
·BcwIdx[xCb][yCb]等于0。
·luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]都等于0。
·cbHeight大于或等于8
·当前块的颜色分量索引等于0。
·最大BDOF处理单元
当CU的宽度和/或高度大于16亮度采样时,CU将被分成宽度和/或高度等于16亮度采样的子块,并且在BDOF过程中将子块边界作为CU边界。BDOF过程的最大单位尺寸被限制为16×16。
2.4解码器侧运动矢量细化
在双向预测操作中,对于一个块区域的预测,将分别使用list0的运动矢量(MV)和list1的MV形成的两个预测块进行组合以形成单个预测信号。在JVET-K0217中,解码器侧运动矢量细化(DMVR)方法,通过双向匹配过程进一步细化双向预测的两个运动矢量。
在所提出的方法中,如果以下条件为真,则仅在Merge模式和跳过(Skip)模式中应用DMVR:
(POC-POC0)*(POC-POC1)<0,
其中,POC-当前待编码图片的图片次序计数、POC0和POC1-用于当前图片的参考的图片次序计数。
用信令通知的Merge候选对被用作DMVR过程的输入,并且被表示为初始运动矢量(MV0,MV1)。由DMVR搜索的搜索点服从运动矢量差镜像条件。换句话说,由DMVR检查的、由候选运动矢量对(MV0',MV1')表示的任何点遵循以下两个等式:
MV0′=MV0+MVdiff
MV1′=MV1-MVdiff
其中,MVdiff表示参考图片的一个中的搜索空间中的点。
在构造搜索空间之后,使用常规的8抽头DCTIF内插滤波器构造单侧预测。通过使用两个预测(图6)之间的MRSAD(绝对差的去均值之和)来计算双边匹配成本函数,并且选择导致最小成本的搜索点作为细化的MV对。对于MRSAD计算,使用采样的16位精度(其是内插滤波的输出),并且在MRSAD计算之前不应用裁剪和取整操作。不应用取整和裁剪的原因是为了减少内部缓冲器需求。
图6示出了具有6个点搜索的双边匹配的示例
在所提出的方法中,利用自适应模式方法选择整数精度搜索点。首先计算对应于中心点(由初始运动矢量指出)的成本。其他4个成本(在符号形状中)由两个预测来计算,这两个预测通过中心点而位于彼此的相对侧。成角度的最后第6点由先前计算的成本的梯度来选择(图7,示出自适应整数搜索模式(左),半采样搜索模式(右))。
DMVR过程的输出是与最小成本相对应的、细化的运动矢量对。
如果在一次迭代之后,在搜索空间的中心点获得最小成本,即运动矢量不改变,且终止细化过程。否则,将最佳成本进一步视为中心,且该过程继续,而最小成本不对应于中心点且不超过搜索范围。
只有在应用半像素搜索不超过搜索范围的情况下才应用半采样精度搜索。在这种情况下,仅进行对应于中心点周围的附加形状点的4个MRSAD计算,其中在整数精度搜索期间中心点被选作最佳。在结束时,输出与最小成本点相对应的、细化的运动矢量对。
JVET-L0163中进一步提出了一些简化和改进。
·参考采样填充
应用参考采样填充,以扩展由初始运动矢量所指向的参考采样块。如果编解码块的大小由“w”和“h”给出,则假设从参考图片缓冲器中检索大小为w+7和h+7的块。然后,通过使用最近的采样的重复采样填充,所检索的缓冲器在每个方向上被扩展2个采样。然后,一旦获得细化的运动矢量(其可以在每个方向上偏离初始运动矢量2个采样),则使用扩展的参考采样块来产生最终预测。
注意到这种修改在没有任何编解码丢失的情况下完全消除了DMVR的外部存储器访问要求。
·双线性内插代替8抽头DCTIF
根据该建议,在DMVR搜索过程中应用双线性内插,这意味着使用双线性内插生成在MRSAD计算中使用的预测。一旦获得最终的细化的运动矢量,则应用常规的8抽头DCTIF内插滤波器来生成最终预测。
·基于Merge候选之间的MV差的早期终止
对DMVR施加附加条件以限制MV细化过程。利用该附加条件,当满足以下条件时,DMVR被有条件地禁用。
·所选择的Merge候选与同一Merge列表中的任一先前Merge候选之间的MV差小于预定阈值(即,对于具有小于64个像素、小于256个像素和至少256个像素的CU,分别为1/4像素宽,1/2像素宽和1像素宽的间距)。
·基于中心搜索坐标处SAD成本的早期终止
使用当前CU的初始运动矢量计算两个预测信号(L0和L1预测)之间的绝对差之和(SAD)。如果SAD不大于预定阈值,即每采样2(BDepth-9),则跳过DMVR;否则,仍然应用DMVR来细化当前块的两个运动矢量。
·使用每隔一行的MRSAD计算
仅针对块的奇数编号的行计算MRSAD成本,不考虑偶数编号的采样行。因此,MRSAD计算的操作次数减半。
·基于参数误差面的子像素偏移估计
在JVET-K0041中,提出了一种参数误差面,其使用整数距离位置估计成本来拟合,从而以非常小的计算复杂度来确定第1/16像素的精度子像素偏移。
该方法被采纳到VVC中并总结如下:
1.仅当整数MVD的最小匹配成本不等于0,且零MVD的匹配成本大于阈值时,才计算参数误差面拟合。
2.以最佳的整数位置为中心位置,中心位置的成本和位置(-1,0),(0,-1),(1,0)和(0,1)(以整数像素为单位)相对于中心位置的成本被用于拟合出以下形式的2-D抛物线误差面等式:
E(x,y)=A(x-x0)2+B(y-y0)2+C
其中(x0,y0)对应于具有最小成本的位置,并且C对应于最小成本值。
通过求解具有5个未知数的5个方程,(x0,y0)计算如下:
x0=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0)))
y0=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0)))
可以通过调整进行除法的精度(即,计算多少位的商),将(x0,y0)计算到任何所需的子像素精度。对于第1/16像素精度,只需要计算商的绝对值中的4位,这使得其本身能够基于快速移位的减法实现每CU所需的2个除法。
3.所计算的(x0,y0)和整数距离细化MV相加,以获得子像素精度细化ΔMV。
同时,对于5*5的搜索空间,仅当中心9位置之一是最佳整数位置时才进行参数误差面拟合,如图8所示。
·DMVR应用条件
在VTM5中,DMVR可应用于用以下模式和特征进行编解码的CU:
·sps_dmvr_enabled_flag等于1
·具有双向预测MV的CU级Merge模式
·相对于当前图片,一个参考图片在过去,另一参考图片在将来
·从两个参考图片到当前图片的距离(即POC差)相同
·CU具有超过64个亮度采样
·CU高度和CU宽度都大于或等于8亮度采样
·BCW权重索引指示相等的权重
·当前块未启用WP
·MMVD模式不用于当前块
·最大DMVR处理单元
当CU的宽度和/或高度大于16亮度采样时,它将被进一步分成宽度和/或高度等于16亮度采样的子块。用于DMVR搜索过程的最大单元尺寸被限制为16×16。
2.5具有MVD的Merge模式(MMVD)
除了将隐式推导的运动信息直接用于当前CU的预测采样生成的Merge模式之外,还将具有运动矢量差的Merge模式(MMVD)引入到VVC中。在发送跳过标志和Merge标志之后立即用信令通知MMVD标志,以指定MMVD模式是否被用于CU。
在MMVD中,在选择了Merge候选之后,通过用信令通知的MVD信息进一步细化Merge候选。进一步的信息包括Merge候选标志、用于指定运动幅度的索引、以及用于指示运动方向的索引。在MMVD模式中,用于Merge列表中的前两个候选的一个被选择作为MV基础(或基础Merge候选)。Merge候选标志被用信令通知以指定使用哪一个。
距离索引指定运动幅度信息并指示距起始点的预定偏移。如图9所示,将偏移添加到起始MV的水平分量或竖直分量。表3中规定了距离索引和预定偏移的关系。
表3:距离索引和预定偏移的关系
方向索引代表MVD相对于起始点的方向。方向索引可代表表4所示的四个方向。注意到MVD符号的含义可以根据起始MV的信息而变化。当起始MV是未预测MV或指向当前图片的同一侧的具有两个列表的双向预测MV时(即,两个参考的POC都大于当前图片的POC,或者都小于当前图片的POC),表4中的符号指定添加到起始MV的MV偏移的符号。当起始MV是具有两个MV指向当前图片的不同侧的双向预测MV时(即,一个参考的POC大于当前图片的POC,而另一个参考的POC小于当前图片的POC),表4中的符号指定添加到起始MV的list 0 MV分量的MV偏移的符号,并且用于list 1 MV的符号具有相反的值。
表4:由方向索引指定的MV偏移的符号
方向IDX 00 01 10 11
X轴方向 + - N/A N/A
Y轴方向 N/A N/A + -
2.6 VVC中MMVD的规范
MMVD的规范(在JVET-N1001-v10中)如下:
8.5.2.7用于运动矢量差Merge的推导过程
此过程的输入为:
-当前亮度编解码块的左上采样相对于当前图片的左上亮度采样的亮度位置(xCb,yCb),
-参考索引refIdxL0和refIdxL1。
-预测列表使用标志predFlagL0和predFlagL1。
该过程的输出是精度为1/16分数采样的亮度Merge运动矢量差mMvdL0和mMvdL1。
变量CurrPic指定当前图片。
亮度Merge运动矢量差mMvdL0和mMvdL1如下推导:
-如果predFlagL0和predFlagL1都等于1,则适用以下:
currPocDiffL0=DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0]) (8-349)
currPocDiffL1=DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1]) (8-350)
-如果currPocDiffL0等于currPocDiffL1,则适用以下:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-351)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-352)
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-353)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-354)
-否则,如果Abs(currPocDiffL0)大于或等于Abs(currPocDiffL1),则适用以下:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-355)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-356)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL0) (8-357)
tb=Clip3(-128,127,currPocDiffL1) (8-358)
tx=(16384+(Abs(td)>>1))/td (8-359)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-360)
-否则,适用以下内容:
mMvdL1[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[0]:-mMvdL0[0] (8-363)
mMvdL1[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[1]:-mMvdL0[1] (8-364)
-否则(Abs(currPocDiffL0)小于Abs(currPocDiffL1)),适用以下:
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-365)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-366)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且
RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL1) (8-367)
tb=Clip3(-128,127,currPocDiffL0) (8-368)
tx=(16384+(Abs(td)>>1))/td (8-369)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-370)
-否则,适用以下内容:
mMvdL10[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[0]:-mMvdL1[0] (8-373)
mMvdL0[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[1]:-mMvdL1[1] (8-374)
-否则(predFlagL0或predFlagL1等于1),以下适用于X为0和1:
mMvdLX[0]=(predFlagLX==1)?MmvdOffset[xCb][yCb][0]:0 (8-375)
mMvdLX[1]=(predFlagLX==1)?MmvdOffset[xCb][yCb][1]:0 (8-376)
2.7 JVET-O0070:用于仿射模式的具有光流的预测细化(PROF)
为了获得更精细的运动补偿粒度,本贡献提出了一种利用光流来细化基于子块的仿射运动补偿预测的方法。在进行基于子块的仿射运动补偿之后,通过添加由光流等式推导的差来细化亮度预测采样。所提出的PROF被描述为以下四个步骤。
步骤1)进行基于子块的仿射运动补偿以生成子块预测I(i,j)。
步骤2)使用3-抽头滤波器[-1,0,1]在每个采样位置计算子块预测的空间梯度gx(i,j)和gy(i,j)。
gx(i,j)=I(i+1,j)-I(i-1,j)
gy(i,j)=I(i,j+1)-I(i,j-1)
子块预测在每一侧上被扩展一个像素以用于梯度计算。为了降低存储器带宽和复杂性,从参考图片中的最近的整数像素位置复制扩展的边界上的像素。因此,避免了用于填充区域的额外内插。
步骤3)通过光流等式计算亮度预测细化。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
其中如图10所示,Δv(i,j)是为采样位置(i,j)计算的像素MV,其表示为v(i,j),与像素(i,j)所属的子块的子块MV之间的差。
图10示出了子块MV VSB和像素Δv(i,j)(红箭头)的示例。
由于仿射模型参数和相对于子块中心的像素位置不随子块而改变,所以可以为第一子块计算Δv(i,j),并且对于同一CU中的其它子块重新使用Δv(i,j)。假设x和y是从像素位置到子块的中心的水平和竖直偏移,可以通过以下等式推导Δv(x,y):
对于4参数仿射模型,
对于6参数仿射模型,
其中,(v0x,v0y),(v1x,v1y),(v2x,v2y)是左上,右上和左下控制点运动矢量,w和h是CU的宽度和高度。
步骤4)最后,将亮度预测细化添加到子块预测I(i,j)。如下式生成最终预测I'。
I′(i,j)=I(i,i)+ΔI(i,j)
2.8 VVC中用于PROF的规范
PROF的规格(在JVET-O0070-CE4.2.1a-WD-r4中)如下:
8.5.5.9从仿射控制点运动矢量推导运动矢量阵列的过程
该过程的输入为:
–当前亮度编解码块的左上采样相对于当前图片的左上亮度采样的亮度位置(xCb,yCb),
–指定亮度编解码块的宽度和高度的两个变量cbWidth和cbHeight,
–控制点运动矢量的数量,
–控制点运动矢量cpMvLX[cpIdx],其中cpIdx=0..numCpMv-1并且X为0或1,
–参考索引refIdxLX并且X是0或1,
–亮度编解码子块在水平方向上的数目numSbX和垂直方向上的数目numSbY。
该过程的输出为:
–亮度子块运动矢量阵列mvLX[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1,并且X是0或1,
–色度子块运动矢量阵列mvCLX[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1,并且X是0或1。
–预测细化利用标志cbProfFlagLX并且X是0或1。
–运动矢量差阵列diffMvLX[xIdx][yIdx],其中xIdx=0..cbWidth/numSbX-1,yIdx=0..cbHeight/numSbY–1,并且X是0或1。
对x=xCb..xCb+cbWidth-1和y=yCb..yCb+cbHeight-1进行以下分配:
CpMvLX[x][y][0]=cpMvLX[0]
(8-666)
CpMvLX[x][y][1]=cpMvLX[1]
(8-667)
CpMvLX[x][y][2]=cpMvLX[2]
(8-668)
如下推导变量log2CbW和log2CbH:
log2CbW=Log2(cbWidth)
(8-669)
log2CbH=Log2(cbHeight)
(8-670)
如下推导变量mvScaleHor,mvScaleVer,dHorX和dVerX:
mvScaleHor=cpMvLX[0][0]<<7
(8-671)
mvScaleVer=cpMvLX[0][1]<<7
(8-672)
dHorX=(cpMvLX[1][0]-cpMvLX[0][0])<<(7-log2CbW)
(8-673)
dVerX=(cpMvLX[1][1]-cpMvLX[0][1])<<(7-log2CbW)
(8-674)
如下推导变量dHorY和dvery:
–如果numCpMv等于3,则适用以下内容:
dHorY=(cpMvLX[2][0]-cpMvLX[0][0])<<(7-log2CbH)
(8-675)
dVerY=(cpMvLX[2][1]-cpMvLX[0][1])<<(7-log2CbH)
(8-676)
–否则(numCpMv等于2),适用以下内容:
dHorY=-dVerX (8-677)
dVerY=dHorX (8-678)
变量fallbackModeTriggered被设置为等于1,并修改如下:
-变量bxWX4,bxHX4,bxWXh,bxHXh,bxWXv和bxHXv推导如下:
maxW4=Max(0,Max(4*(2048+dHorX),Max(4*dHorY,4*(2048+dHorX)+4*dHorY)))(8-679)
minW4=Min(0,Min(4*(2048+dHorX),Min(4*dHorY,4*(2048+dHorX)+4*dHorY)))(8-680)
maxH4=Max(0,Max(4*dVerX,Max(4*(2048+dVerY),4*dVerX+4*(2048+dVerY))))(8-681)
minH4=Min(0,Min(4*dVerX,Min(4*(2048+dVerY),4*dVerX+4*(2048+dVerY))))(8-682)
bxWX4=((maxW4-minW4)>>11)+9
(8-683)
bxHX4=((maxH4-minH4)>>11)+9
(8-684)
bxWXh=((Max(0,4*(2048+dHorX))-Min(0,4*(2048+dHorX)))>>11)+9 (8-685)
bxHXh=((Max(0,4*dVerX)-Min(0,4*dVerX))>>11)+9
(8-686)
bxWXv=((Max(0,4*dHorY)-Min(0,4*dHorY))>>11)+9 (8-687)
bxHXv=((Max(0,4*(2048+dVerY))-Min(0,4*(2048+dVerY)))>>11)+9 (8-688)
-如果inter_pred_idc[xCb][yCb]等于PRED_BI并且bxWX4*bxHX4小于或等于225,则fallbackModeTriggered被设置为等于0。
-否则,如果bxWXh*bxHXh都小于或等于165,并且bxWXv*bxHXv小于或等于165,则fallbackModeTriggered被设置为等于0。
对于xSbIdx=0..numSbX-1和ySbIdx=0..numSbY-1,适用以下内容:
-如下推导变量xPosCb和yPosCb
-如果fallbackModeTriggered等于1,则适用以下内容:
xPosCb=(cbWidth>>1)
(8-689)
yPosCb=(cbHeight>>1)
(8-690)
-否则(fallbackModeTriggered等于0),适用以下内容:
xPosCb=2+(xSbIdx<<2)
(8-691)
yPosCb=2+(ySbIdx<<2)
(8-692)
-如下推导亮度运动矢量mvLX[xSbIdx][ySbIdx]:
mvLX[xSbIdx][ySbIdx][0]=(mvScaleHor+dHorX*xPosCb+dHorY*yPosCb) (8-693)
mvLX[xSbIdx][ySbIdx][1]=(mvScaleVer+dVerX*xPosCb+dVerY*yPosCb) (8-694)
-利用设置为等于mvLX[xSbIdx][ySbIdx]的mvX,设置为等于7的rightShift,以及设置为等于0的leftShift作为输入以及用取整的mvLX[xSbIdx][ySbIdx]作为输出来调用条款8.5.2.14中指定的用于运动矢量的取整过程。
-运动矢量mvLX[xSbIdx][ySbIdx]被裁剪如下:
-mvLX[xSbIdx][ySbIdx][0]=Clip3(-217,217-1,mvLX[xSbIdx][ySbIdx][0])(8-695)
-mvLX[xSbIdx][ySbIdx][1]=Clip3(-217,217-1,mvLX[xSbIdx][ySbIdx][1])(8-696)
对于xSbIdx=0..numSbX-1和ySbIdx=0..numSbY-1,适用以下内容:
-如下推导平均亮度运动矢量mvAvgLX:
mvAvgLX[0]=(mvAvgLX[0]+1-(mvAvgLX[0]>=0))>>1 (8-698)
mvAvgLX[1]=(mvAvgLX[1]+1-(mvAvgLX[1]>=0))>>1 (8-699)
–利用mvAvgLX和refIdxLX作为输入,色度运动矢量mvCLX[xSbIdx][ySbIdx]作为输出来调用条款8.5.2.13中色度运动矢量的推导过程。
[这样,四个2×2色度子块(4×4色度块)共用从两个4×4亮度子块运动矢量的平均值推导的相同运动矢量。在解码过程中,仍然对2×2色度块进行运动补偿,然而这是对色度4×4块进行的运动补偿,因为4×4色度块内的所有色度MV是相同的。]
–变量cbProfFlagLX推导如下:
–如果以下条件中的一个或多个为真,则将cbProfFlagLX设置为等于假。
–affine_prof_enabled_flag等于0。
–fallbackModeTriggered等于1。
–numCpMv等于2且cpMvLX[1][0]等于cpMvLX[0][0]且cpMvLX[1][1]等于cpMvLX[0][1]。
–numCpMv等于3,cpMvLX[1][0]等于cpMvLX[0][0],cpMvLX[1][1]等于cpMvLX[0][1],cpMvLX[2][0]等于cpMvLX[0][0],cpMvLX[2][1]等于cpMvLX[0][1]。
–否则,cbProfFlagLX设置为等于真。
如果cbProfFlagLx是1,则运动矢量差数组diffMv推导如下:
–变量sbWidth和sbHeight推导如下:
sbWidth=cbWidth/numSbX
sbHeight=cbHeight/numSbY
–变量shift1被设置为等于Max(6,bitDepth-6)。
–变量dmvLimit被设置为等于1<<shift1。
–变量posOffsetX和posOffsetY推导如下:
posOffsetX=6*dHorX+6*dVerX
posOffsetY=6*dHorY+6*dVerY
–对于x=0..sbWidth-1和y=0..sbHeight-1,适用以下内容:
–适用以下内容:
diffMv[x][y][0]=x*(dHorX<<2)+y*(dVerX<<2)-posOffsetX
diffMv[x][y][1]=x*(dHorY<<2)+y*(dVerY<<2)-posOffsetY
–对于i=0..1,适用以下内容:
–利用设置为等于diffMv[x][y][i]的mvX,设置为等于7的rightShift,以及设置为等于0的leftShift作为输入以及用取整的diffMv作为输出来调用条款8.5.2.14中指定的用于运动矢量的取整过程
–diffMv[x][y][i]被裁剪如下:
diffMv[x][y][i]=Clip3(-dmvLimit,dmvLimit-1,diffMv[x][y][i])
2.9对称MVD编解码
在VTM5中,除了正常的单向预测和双向预测模式MVD信令外,还应用用于双向预测MVD信令的对称MVD模式。在对称MVD模式中,包括list-0和list-1的参考图片索引以及list-1的MVD的运动信息不是用信令通知的而是推导的。
对称MVD模式的解码过程如下:
1.在条带级,变量BiDirPredFlag、RefIdxSymL0和RefIdxSymL1推导如下:
–如果mvd_l1_zero_flag是1,则BiDirPredFlag被设置为等于0。
–否则,如果list-0中的最近的参考图片和list-1中的最近的参考图片形成参考图片的前向和后向对或者参考图片的后向和前向对,则BiDirPredFlag被设置为1。否则,BiDirPredFlag被设置为0。
2.在CU级,如果CU被双向预测编解码并且BiDirPredFlag等于1,则显式地用信令通知指示是否使用对称模式的对称模式标志。
当对称模式标志为真时,仅显式地用信令通知mvp_l0_flag,mvp_l1_flag和MVD0。list-0和list-1的参考索引分别被设置为等于参考图片对。MVD1被设置为等于(-MVD0)。最终的运动矢量在下面的等式中示出。
图11是对称MVD模式的图示
在编码器中,对称MVD运动估计从初始MV估计开始。初始MV候选集包括从单向预测搜索获得的MV、从双向预测搜索获得的MV和来自AMVP列表的MV。具有最低速率失真成本的初始MV候选被选择为用于对称MVD运动搜索的初始MV。
2.10 JVET-O0414:考虑参考图片类型的对称MVD控制
参考图片类型被确定为“短期参考图片(STRP)”或“长期参考图片(LTRP)”。STRP和LTRP都可以用作当前块的参考图片。图12示出了在SMVD方案中使用混合STRP和LTRP的示例。当L0和L1的参考图片类型不同时,使用镜像的L0_MVD作为L1_MVD可能是不准确的,因为距离差(参考图片0和当前图片之间的距离以及参考图片1和当前图片之间的距离)较大,所以每个方向上的运动矢量的相关性可能较低。
图12示出了使用混合STRP和LTRP的例子。
在当前的工作草案中,sym_mvd_flag解析过程如下,即,检查了参考图片的可用性并且如果满足条件,则解析sym_mvd_flag。如果sym_mvd_flag为真,则L1的MVD(MvdL1)被推导为镜像的MvdL0。
此外,在当前方案中,如下推导X=0,1的RefIdxSymLX。RefIdxSymL0是POC小于当前图片的POC的最近的参考图片,RefIdxSymL1是POC大于当前图片的POC的最近的参考图片。
在JVET-O0414中,提出了两种考虑参考图片类型的方案,以提高使用SMVD方案时MVD的准确性。在下表中简要介绍了当前SMVD方案与两种提出的SMVD方案的比较。这里,MVD是指List 0的MVD。
表5:当前的SMVD方案和提出的方案
提出的方案I
在提出的方案I中,当当前图片具有混合参考图片类型时,限制SMVD过程。
提出的方案II
对于提出的方案II,在参考图片检查过程中排除了长期参考图片,因此,对于SMVD只能考虑短期参考图片。
3.由一些实施例解决的技术问题的示例
DMVR/BDOF/MMVD/PROF的当前设计不考虑参考图片类型,可能影响有效性。
4.示例性实现方式例
下面的描述应该被认为是解释一些概念的示例。不应以狭隘的方式解释这些描述。此外,这些技术可以以任何方式组合。
在下文中,DMVD用于表示解码器侧运动矢量推导方法,例如BDOF,DMVR,基于模板的运动估计,FRUC等。
1.是否启用或禁用编解码工具或如何对块应用编解码工具可以取决于块的参考图片类型(例如,长期或短期)和/或参考图片的分辨率和/或当前图片的分辨率。
a.在一个示例中,当由块使用的至少两个参考图片(例如,用于双向预测的两个参考图片)与不同的参考图片类型相关联时,针对块禁用编解码工具。
i.可替代性地,如果参考图片都是长期参考图片,则省略对每个参考图片相对于当前图片的POC距离的检查。也就是说,在一个示例中,可以启用编解码工具,而不考虑POC距离。
b.在一个示例中,当由块使用的至少两个参考图片(例如,用于双向预测的两个参考图片)与相同参考图片类型相关联时,可针对块启用编解码工具。
i.在一个示例中,相同参考图片类型是长期或短期参考图片类型,或者每个参考图片相对于当前图片相同的绝对POC距离。
c.在一个示例中,当由块使用的一些或所有参考图片(例如,用于双向预测的两个参考图片)与等于类型X的相同参考图片类型相关联时,可针对块启用编解码工具。
i.在一个示例中,类型X是短期参考图片类型。
ii.可替代性地,如果参考图片中没有一个与类型X相关联,则可以禁用编解码工具。
iii.可替代性地,如果参考图片中的一些与类型Y(不等于X)相关联,则可以禁用编解码工具。
iv.在一个示例中,类型X可以不是自适应分辨率图片(ARP)。例如,具有类型X的参考图片的分辨率与当前图片的分辨率相同。
v.在一个示例中,类型X可以是每个参考图片相对于当前图片相同的绝对POC距离。
d.可替代性地,当由块使用的参考图片中的一个或所有参考图片与等于类型X的相同参考图片类型相关联时,针对块禁用编解码工具。
i.在一个示例中,类型X是长期参考图片类型。
ii.在一个示例中,类型X可以是自适应分辨率图片(ARP)。例如,具有类型X的参考图片的分辨率与当前图片的分辨率不同。
e.可替代性地,编解码工具可仅应用于典型参考图片类型X的参考图片。
i.在一个示例中,类型X是短期参考图片类型。
ii.在一个示例中,类型X可以不是自适应分辨率图片(ARP)。例如,具有类型X的参考图片的分辨率与当前图片的分辨率相同。
iii.在一个示例中,类型X可以是每个参考图片相对于当前图片相同的绝对POC距离。
f.在一个示例中,编解码工具是BDOF编解码工具。
g.在一个示例中,编解码工具是DMVR编解码工具。
h.在一个示例中,编解码工具是MMVD编解码工具。
i.在一个示例中,编解码工具是PROF编解码工具。
j.在一个示例中,编解码工具是仿射编解码工具。
k.在一个示例中,编解码工具是组合帧间-帧内预测(CIIP)编解码工具。
l.在一个示例中,编解码工具是自适应运动矢量分辨率(AMVR)编解码工具。
m.在一个示例中,编解码工具是三角形分割模式(TPM)编解码工具。
n.在一个示例中,编解码工具是SMVD编解码工具。
o.在一个示例中,编解码工具是可切换内插滤波编解码工具。
p.在一个示例中,编解码工具是BCW(即,具有CU级权重的双向预测)编解码工具。
q.在一个示例中,编解码工具是基于经编解码的信息来细化块的运动信息的编解码工具,诸如DMVD(例如,包括基于模板匹配的方法)。
r.在一个示例中,编解码工具是基于经编解码的信息来细化块的预测信号的编解码工具(例如,具有光流的编解码方法)。
2.启用/禁用BDOF可以取决于参考图片类型。
a.在一个示例中,当所有参考图片具有相同参考图片类型时,可以启用BDOF。也就是说,如果参考图片中的两个具有不同的类型,则可以禁用BDOF。
i.在一个示例中,当过去的参考图片(例如,与当前图片相比具有较小的POC值)和将来的参考图片(例如,与当前图片相比具有较大的POC值)都是长期或短期参考图片,或每个参考图片相对于当前图片具有相同的绝对POC距离时,可以启用BDOF。
b.在一个示例中,当所有参考图片具有相同参考图片类型X时,可以启用BDOF。
i.在一个示例中,当过去的参考图片和将来的参考图片都是短期参考图片时,可以启用BDOF。
ii.在一个示例中,类型X是短期参考图片类型。
iii.在一个示例中,类型X可以不是自适应分辨率图片(ARP)。例如,具有类型X的参考图片的分辨率与当前图片的分辨率相同。
iv.此外,可替代地,至少一个参考图片不具有类型X,BDOF可以被禁用。
v.在一个示例中,类型X可以是每个参考图片相对于当前图片相同的绝对POC距离。
3.启用/禁用DMVR可以取决于参考图片类型。
a.在一个示例中,当所有参考图片具有相同参考图片类型时,可以启用DMVR。也就是说,如果参考图片中的两个具有不同的类型,则可以禁用DMVR。
i.在一个示例中,当过去的参考图片(例如,与当前图片相比具有较小的POC值)和将来的参考图片(例如,与当前图片相比具有较大的POC值)都是长期或短期参考图片或每个参考图片相对于当前图片相同的绝对POC距离时,可以启用DMVR。
b.在一个示例中,当所有参考图片具有相同参考图片类型X时,可以启用DMVR。
i.在一个示例中,当过去的参考图片和将来的参考图片都是短期参考图片时,可以启用DMVR。
ii.在一个示例中,类型X是短期参考图片类型。
iii.在一个示例中,类型X可以不是自适应分辨率图片(ARP)。例如,具有类型X的参考图片的分辨率与当前图片的分辨率相同。
iv.此外,可替代性地,至少一个参考图片不具有类型X,DMVR可以被禁用。
v.在一个示例中,类型X可以是每个参考图片相对于当前图片相同的绝对POC距离。
c.在一个示例中,如果所有参考图片都具有相同的参考图片类型
Y,则省略对每个参考图片相对于当前图片的POC距离的检查。也就是说,可以启用DMVR,而不考虑POC距离。
i.在一个示例中,类型Y是长期参考图片类型。
4.是否启用MMVD/BCW/PROF/TPM/SMVD/仿射或如何应用MMVD/BCW/PROF/TPM/SMVD/仿射可以取决于参考图片类型。
a.在一个示例中,如果所有参考图片具有相同参考图片类型,则MMVD/BCW/PROF/TPM/SMVD/仿射可以被启用。否则,MMVD/BCW/PROF/TPM/SMVD/仿射可以被禁用。
b.在一个示例中,如果所有参考图片都具有参考图片类型X,则可启用MMVD/BCW/PROF/TPM/SMVD/仿射。
i.在一个示例中,类型X是短期参考图片类型。
ii.在一个示例中,类型X可以是每个参考图片相对于当前图片相同的绝对POC距离。
c.在一个示例中,这种限制可应用于双向预测的块。
d.在一个示例中,这种限制可应用于单向预测的块。
e.在一个示例中,这种限制可以被应用于双向预测的块和单向预测的块。
f.在一个示例中,当MMVD/BCW/TPM/SMVD/仿射被禁用时,可以不信令通知是否应用了MMVD/BCW/TPM/SMVD/仿射的指示。
i.可替代性地,这种指示仍被用信令通知。然而,对于一致性比特流,该指示总为假,即,MMVD/BCW/TPM/SMVD/仿射被禁用。
5.文档中公开的参考图片的“参考类型”可以通过以下判断来确定:
a.参考图片是长期的或短期的。
b.参考图片的原始分辨率是否与当前图片相同。
c.参考图片和当前图片之间的POC距离在某个范围内。
d.参考图片的时域层在某个范围内。
e.是否在参考图片上应用了某个编解码工具。
简化用于MMVD的MVD推导
6.对于MMVD,可以移除MVD缩放。如果MMVD模式中所选择的MV基础(或基础Merge候选)是双向MV,则预测方向X(X=0或1)的MVD直接设置为等于用信令通知的MVD,且预测方向Y(Y=1-X)的MVD可设置为等于用信令通知的MVD或用信令通知的MVD的相反值。
a.在一个示例中,如果由MV基础识别的两个参考图片都具有比当前图片更大或更小的POC,则预测方向Y的MVD可以设置为等于用信令通知的MVD。
b.在一个示例中,如果由MV基础识别的一个参考图片具有比当前图片更大的POC,并且由MV基础识别的另一个参考图片具有比当前图片更小的POC,则预测方向Y的MVD可以设置为等于用信令通知的MVD的相反值。
7.在MMVD中,对于预测方向X(X=0或1),可以总是用信令通知MVD,并且如果必要(例如,如果MV基础是双向MV),可以为预测方向Y(Y=1-X)推导MVD。
a.在一个示例中,如果MV基础是单向MV,则X可设置为等于MV基础的预测方向。
b.在一个示例中,如果MV基础是双向MV,则X可设置为等于0或1。
c.在一个示例中,参考图片列表Y的MVD可以根据由MV基础识别的两个参考图片的参考图片类型(例如,长期参考图片或短期参考图片)来推导。
i.在一个示例中,如果两个参考图片都是短期参考图片,则预测方向Y的MVD可以通过根据两个参考图片和当前图片之间的POC距离缩放用信令通知的MVD来推导。
ii.在一个示例中,如果两个参考图片都具有比当前图片更大或更小的POC,则预测方向Y的MVD可以被设置为等于用信令通知的MVD。
(i)此外,可替代性地,这种推导方法可以仅在至少一个参考图片不是短期参考图片时应用。
iii.在一个示例中,如果一个参考图片具有比当前图片更大的POC,而另一个参考图片具有比当前图片更小的POC,
则预测方向Y的MVD可设置为等于用信令通知的MVD的相反值。
(i)此外,可替代性地,这种推导方法可以仅在至少一个参考图片不是短期参考图片时应用。
5.实施例
删除的部分用双括号标记(例如,[[a]]表示字符“a”的删除),新添加的部分用斜体和粗体突出显示。
5.1关于BDOF的实施例#1
只有在过去的参考图片和将来的参考图片都是长期或短期参考图片时,才可以启用BDOF。
8.5.6.1一般情况
当对以帧间预测模式编解码的编解码单元进行解码时,调用该过程。
该过程的输入为:
-亮度位置(xcb,ycb),其指定相对于当前图片的左上亮度采样的当前编解码块的左上采样,
-变量cbWidth,其指定亮度采样中当前编解码块的宽度,
-变量cbHeight,其指定亮度采样中当前编解码块的高度,
-变量numSbX和numSbY,其指定在水平和竖直方向上的亮度编解码子块的数目,
-运动矢量mvL0[xSbIdx][ySbIdx]和mvL1[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1,
-细化的运动矢量refMvL0[xSbIdx][ySbIdx]和refMvL1[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1,
-参考索引refIdxL0和refIdxL1。
-预测列表使用标志predFlagL0[xSbIdx][ySbIdx]和predFlagL1[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1,
-双向预测加权索引bcwIdx,
-变量cIdx,其指定当前块的颜色分量索引。
该过程的输出为:
-预测采样的阵列predSamples。
令predSamplesL0L,predSamplesL1L和predSamplesIntraL是预测亮度采样值的(cbWidth)×(cbHeight)阵列,以及predSamplesL0Cb,predSamplesL1Cb,predSamplesL0Cr和predSamplesL1Cr,predSamplesIntraCb,以及predSamplesIntraCr是预测色度采样值的(cbWidth/SubWidthC)x(cbHeight/SubHeightC)阵列。
-变量CurrPic指定当前图片,变量bdofFlag推导如下:
-如果以下所有条件都为真,则将bdofFlag设置为等于真。
-sps_bdof_enabled_flag等于1。
-predFlagL0[xSbIdx][ySbIdx]和predFlagL1[xSbIdx][ySbIdx]均等于1。
-DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])*DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1])小于0。
-MotionModelIdc[xCb][yCb]等于0。
-merge_subblock_flag[xCb][yCb]等于0。
-sym_mvd_flag[xCb][yCb]等于0。
-BcwIdx[xCb][yCb]等于0。
-luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0。
-cbHeight大于或等于8
-cIdx等于0。
-否则,将bdofFlag设置为等于假。
...
5.2关于BDOF的实施例#2
只有在过去的参考图片和将来的参考图片都是短期参考图片时,才可以启用BDOF。
8.5.6.1一般情况当对以帧间预测模式编解码的编解码单元进行解码时,调用该过程。
该过程的输入为:
-亮度位置(xCb,yCb),其指定相对于当前图片的左上亮度采样的当前编解码块的左上采样,
-变量cbWidth,其指定亮度采样中当前编解码块的宽度,
-变量cbHeight,其指定亮度采样中当前编解码块的高度,
-变量numSbX和numSbY,其指定在水平和竖直方向上的亮度编解码子块的数目,
-运动矢量mvL0[xSbIdx][ySbIdx]和mvL1[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1,
-细化的运动矢量refMvL0[xSbIdx][ySbIdx]和refMvL1[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1,
-参考索引refIdxL0和refIdxL1。
-预测列表使用标志predFlagL0[xSbIdx][ySbIdx]和predFlagL1[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1且ySbIdx=0..numSbY-1,
-双向预测加权索引bcwIdx,
-变量cIdx,用于指定当前块的颜色分量索引。
该过程的输出为:
-预测采样的阵列预测。
令predSamplesL0L,predSamplesL1L和predSamplesIntraL是预测亮度采样值的(cbWidth)×(cbHeight)阵列,以及predSamplesL0Cb,predSamplesL1Cb,predSamplesL0Cr,predSamplesL1Cr,predSamplesIntraCb以及predSamplesIntraCr是预测色度采样值的(cbWidth/SubWidthC)x(cbHeight/SubHeightC)阵列。
-变量currPic指定当前图片,变量bdofFlag推导如下:
-如果以下所有条件都为真,则将bdofFlag设置为等于真。
-sps_bdof_enabled_flag等于1。
-predFlagL0[xSbIdx][ySbIdx]和predFlagL1[xSbIdx][ySbIdx]均等于1。
-DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])*
DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1])小于0。
-MotionModelIdc[xCb][yCb]等于0。
-merge_subblock_flag[xCb][yCb]等于0。
-sym_mvd_flag[xCb][yCb]等于0。
-BcwIdx[xCb][yCb]等于0。
-luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0。
-cbHeight大于或等于8
-cIdx等于0。
-否则,将bdofFlag设置为等于假。
...
5.3关于DMVR的实施例#3
只有在过去的参考图片和将来的参考图片都是长期或短期参考图片时,才可以启用DMVR。
8.5.1用于以帧间预测模式编解码的编解码单元的通用解码过程该过程的输入为:
-亮度位置(xCb,yCb),其指定相对于当前图片的左上亮度采样的当前编解码块的左上采样,
-变量cbWidth,其指定亮度采样中当前编解码块的宽度,
-变量cbHeight,其指定亮度采样中当前编解码块的高度,-变量treeType,其指定使用了单树还是使用了双树,并且如果使用了双树,则其指定当前树是对应于亮度分量还是色度分量。
该过程的输出是在环路内滤波之前修改的重建图片。
利用亮度位置(xCb,yCb),亮度采样中当前编解码块的宽度cbWidth和亮度采样中当前编解码块的高度cbHeight以及变量treeType作为输入来调用条款8.7.1中指定的量化参数的推导过程。
用于以帧间预测模式编解码的编解码单元的解码过程包括以下按顺序的步骤:
1.变量dmvrFlag设置为等于0。
2.当前编解码单元的运动矢量分量和参考索引推导如下:
-如果MergeTriangleFlag[xCb][yCb],inter_affine_flag[xCb][yCb]和merge_subblock_flag[xCb][yCb]都等于0,则适用以下内容:
-以亮度编解码块位置(xCb,yCb),亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,以及亮度运动矢量mvL0[0][0]和mvL1[0][0],参考索引refIdxL0和refIdxL1以及预测列表使用标志predFlagL0[0][0]和predFlagL1[0][0],以及双向预测权重索引bcwIdx作为输出,调用条款8.5.2.1中指定的运动矢量分量和参考索引的推导过程。
-当以下所有条件都为真时,dmvrFlag设置为等于1:
-sps_dmvr_enabled_flag等于1
-general_merge_flag[xCb][yCb]等于1
-predFlagL0[0][0]和predFlagL1[0][0]均等于1
-mmvd_merge_flag[xCb][yCb]等于0
-DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])等于DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)
-BcwIdx[xCb][yCb]等于0
-luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0
-cbWidth大于或等于8
-bHeight大于或等于8
-cbHeight*cbWidth大于或等于128
...
5.4关于DMVR的实施例#4
只有在过去的参考图片和将来的参考图片都是短期参考图片时,才可以启用DMVR。
8.5.1用于以帧间预测模式编解码的编解码单元的通用解码过程该过程的输入为:
-亮度位置(xCb,yCb),其指定相对于当前图片的左上亮度采样的当前编解码块的左上采样,
-变量cbWidth,其指定亮度采样中当前编解码块的宽度,
-变量cbHeight,其指定亮度采样中当前编解码块的高度,-变量treeType,其指定使用了单树还是使用了双树,并且如果使用了双树,则其指定当前树是对应于亮度分量还是色度分量。
该过程的输出是在环路内滤波之前修改的重建图片。
利用亮度位置(xCb,yCb),亮度采样中当前编解码块的宽度cbWidth和亮度采样中当前编解码块的高度cbHeight以及变量treeType作为输入来调用条款8.7.1中指定的量化参数的推导过程。
用于以帧间预测模式编解码的编解码单元的解码过程包括以下按顺序的步骤:
3.变量dmvrFlag设置为等于0。
4.当前编解码单元的运动矢量分量和参考索引推导如下:
-如果MergeTriangleFlag[xCb][yCb],inter_affine_flag[xCb][yCb]和merge_subblock_flag[xCb][yCb]都等于0,则适用以下内容:
-以亮度编解码块位置(xCb,yCb),亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,以及亮度运动矢量mvL0[0][0]和mvL1[0][0],参考索引refIdxL0和refIdxL1以及预测列表使用标志predFlagL0[0][0]和predFlagL1[0][0],以及双向预测权重索引bcwIdx作为输出,调用条款8.5.2.1中指定的运动矢量分量和参考索引的推导过程。
-当以下所有条件都为真时,dmvrFlag设置为等于1:
-sps_dmvr_enabled_flag等于1
-general_merge_flag[xCb][yCb]等于1
-predFlagL0[0][0]和predFlagL1[0][0]均等于1
-mmvd_merge_flag[xCb][yCb]等于0
-DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])等于DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)
-BcwIdx[xCb][yCb]等于0
-luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0
-cbWidth大于或等于8
-bHeight大于或等于8
-cbHeight*cbWidth大于或等于128
...
5.5关于DMVR的实施例#5
对于DMVR,一个限制“从两个参考图片到当前图片的距离(即POC差)是相同的”被修改为“从两个参考图片到当前图片的距离(即POC差)是相同的或者两个参考图片是长期的”。
8.5.1用于以帧间预测模式编解码的编解码单元的通用解码过程该过程的输入为:
-亮度位置(xCb,yCb),其指定相对于当前图片的左上亮度采样的当前编解码块的左上采样,
-变量cbWidth,其指定亮度采样中当前编解码块的宽度,
-变量cbHeight,其指定亮度采样中当前编解码块的高度,
-变量treeType,指定使用了单树还是使用了双树,并且如果使用了双树,则其指定当前树是对应于亮度分量还是色度分量。
该过程的输出是在环路内滤波之前修改的重建图片。
利用亮度位置(xCb,yCb),亮度采样中当前编解码块的宽度cbWidth和亮度采样中当前编解码块的高度cbHeight以及变量treeType作为输入来调用条款8.7.1中指定的量化参数的推导过程。
用于以帧间预测模式编解码的编解码单元的解码过程包括以下按顺序的步骤:
5.变量dmvrFlag设置为等于0。
6.当前编解码单元的运动矢量分量和参考索引推导如下:
-如果MergeTriangleFlag[xCb][yCb],inter_affine_flag[xCb][yCb]和merge_subblock_flag[xCb][yCb]都等于0,则适用以下内容:
-以亮度编解码块位置(xCb,yCb),亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,以及亮度运动矢量mvL0[0][0]和mvL1[0][0],参考索引refIdxL0和refIdxL1以及预测列表使用标志predFlagL0[0][0]和predFlagL1[0][0],以及双向预测权重索引bcwIdx作为输出,调用条款8.5.2.1中指定的运动矢量分量和参考索引的推导过程。
-当以下所有条件都为真时,dmvrFlag设置为等于1:
-sps_dmvr_enabled_flag等于1
-general_merge_flag[xCb][yCb]等于1
-predFlagL0[0][0]和predFlagL1[0][0]均等于1
-mmvd_merge_flag[xCb][yCb]等于0
-DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])等于DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)
-BcwIdx[xCb][yCb]等于0
-luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0
-cbWidth大于或等于8
-bHeight大于或等于8
-cbHeight*cbWidth大于或等于128
...
5.6关于MMVD的实施例#6
对于双向预测块,只有当块的参考图片是长期参考图片或短期参考图片时,MMVD才可以被启用。
7.4.8.7 Merge数据语义
...
当mmvd_merge_flag[x0][y0]不存在时,推断如下:
-如果以下所有条件都为真,则推断mmvd_merge_flag[x0][y0]等于1:
-sps_mmvd_enabled_flag等于1。
-general_merge_flag[x0][y0]等于1。
-cbWidth*cbHeight等于32。
-regular_merge_flag[x0][y0]等于0。
-否则,推断mmvd_merge_flag[x0][y0]等于0。
...
5.7关于MMVD的实施例#7
对于双向预测块,只有当块的参考图片都是短期参考图片时,MMVD才可以被启用。
7.4.8.7Merge数据语义
...
[x0][y0]等于1指定使用具有运动矢量差的Merge模式来生成当前编解码单元的帧间预测参数。阵列索引x0,y0指定所考虑的编解码块的左上亮度采样相对于图片的左上亮度采样的位置(x0,y0)。
当mmvd_merge_flag[x0][y0]不存在时,推断如下:
-如果以下所有条件都为真,则推断mmvd_merge_flag[x0][y0]等于1:
-sps_mmvd_enabled_flag等于1。
-general_merge_flag[x0][y0]等于1。
-cbWidth*cbHeight等于32。
-regular_merge_flag[x0][y0]等于0。
-否则,推断mmvd_merge_flag[x0][y0]等于0。
...
5.8关于MMVD的实施例#8
只有当块的所有参考图片都是短期参考图片时,才可以启用MMVD。
7.4.8.7Merge数据语义
...
[x0][y0]等于1指定使用具有运动矢量差的Merge模式来生成当前编解码单元的帧间预测参数。阵列索引x0,y0指定所考虑的编解码块的左上亮度采样相对于图片的左上亮度采样的位置(x0,y0)。
当mmvd_merge_flag[x0][y0]不存在时,推断如下:
-如果以下所有条件都为真,则推断mmvd_merge_flag[x0][y0]等于1:
-sps_mmvd_enabled_flag等于1。
-general_merge_flag[x0][y0]等于1。
-cbWidth*cbHeight等于32。
-regular_merge_flag[x0][y0]等于0。
-否则,推断mmvd_merge_flag[x0][y0]等于0。
...
5.9关于PROF的实施例#9
只有当在预测方向X(X=0或1)上的参考图片是短期参考图片时,才可以在该预测方向上启用PROF。
所提出的改变在JVET-0070-CE4.2.1a-WD-r4.docx之上进行。
8.5.5.9从仿射控制点运动矢量推导运动矢量阵列的方法
该过程的输入为:
-当前亮度编解码块的左上采样相对于当前图片的左上亮度采样的亮度位置(xCb,yCb),
-两个变量cbWidth和cbHeight,其指定亮度编解码块的宽度和高度,-控制点运动矢量的数量numCpMv,
-控制点运动矢量cpMvLX[cpIdx],其中cpIdx=0..numCpMv-1并且X为0或1,
-参考索引refIdxLX且X为0或1,
-亮度编解码子块在水平方向上的数目numSbX和在竖直方向上的数目numSbY。
该过程的输出为:
-亮度子块运动矢量阵列mvLX[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1,并且X为0或1,
-色度子块运动矢量阵列mvCLX[xSbIdx][ySbIdx],其中xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1,并且X为0或1。
-预测细化使用标志cbProfFlagLX且X为0或1。
-运动矢量差阵列diffMvLX[xIdx][yIdx],其中xIdx=0..cbWidth/numSbX-1,yIdx=0..cbHeight/numSbY-1,并且X为0或1。
对x=xCb..xCb+cbWidth-1和y=yCb..yCb+cbHeight-1进行以下分配:
CpMvLX[x][y][0]=cpMvLX[0] (8-666)
CpMvLX[x][y][1]=cpMvLX[1] (8-667)
CpMvLX[x][y][2]=cpMvLX[2] (8-668)
变量log2CbW和log2CbH推导如下:
log2CbW=Log2(cbWidth) (8-669)
log2CbH=Log2(cbHeight) (8-670)
变量mvScaleHor,mvScaleVer,dHorX和dVerX推导如下:
mvScaleHor=cpMvLX[0][0]<<7 (8-671)
mvScaleVer=cpMvLX[0][1]<<7 (8-672)
dHorX=(cpMvLX[1][0]-cpMvLX[0][0])<<(7-log2CbW) (8-673)
dVerX=(cpMvLX[1][1]-cpMvLX[0][1])<<(7-log2CbW) (8-674)
变量dHorY和dvery推导如下:
-如果numCpMv等于3,则适用以下内容:
dHorY=(cpMvLX[2][0]-cpMvLX[0][0])<<(7-log2CbH) (8-675)
dVerY=(cpMvLX[2][1]-cpMvLX[0][1])<<(7-log2CbH)
(8-676)
-否则(numCpMv等于2),适用以下内容:
dHorY=-dVerX (8-677)
dVerY=dHorX (8-678)
变量fallbackModeTriggered设置为等于1,并按如下方式修改:
-变量bxWX4,bxHX4,bxWXh,bxHXh,bxWXv和bxHXv推导如下:
maxW4=Max(0,Max(4*(2048+dHorX),Max(4*dHorY,4*(2048+dHorX)+4*dHorY)))(8-679)
minW4=Min(0,Min(4*(2048+dHorX),Min(4*dHorY,4*(2048+dHorX)+4*dHorY)))(8-680)
maxH4=Max(0,Max(4*dVerX,Max(4*(2048+dVerY),4*dVerX+4*(2048+dVerY))))(8-681)
minH4=Min(0,Min(4*dVerX,Min(4*(2048+dVerY),4*dVerX+4*(2048+dVerY))))(8-682)
bxWX4=((maxW4-minW4)>>11)+9 (8-683)
bxHX4=((maxH4-minH4)>>11)+9 (8-684)
bxWXh=((Max(0,4*(2048+dHorX))-Min(0,4*(2048+dHorX)))>>11)+9 (8-685)
bxHXh=((Max(0,4*dVerX)-Min(0,4*dVerX))>>11)+9 (8-686)
bxWXv=((Max(0,4*dHorY)-Min(0,4*dHorY))>>11)+9 (8-687)
bxHXv
=((Max(0,4*(2048+dVerY))-Min(0,4*(2048+dVerY)))>>11)+9 (8-688)
-如果inter_pred_idc[xCb][yCb]等于PRED_BI并且bxWX4*bxHX4小于或等于225,则fallbackModeTriggered设置为等于0。
-否则,如果bxWXh*bxHXh都小于或等于165,并且bxWXv*bxHXv小于或等于165,则fallbackModeTriggered设置为等于0。
对于xSbIdx=0..numSbX-1和ySbIdx=0..numSbY-1,适用以下内容:
-变量xPosCb和yPosCb如下推导
-如果fallbackModeTriggered等于1,则适用以下内容:
xPosCb=(cbWidth>>1) (8-689)
yPosCb=(cbHeight>>1) (8-690)
-否则(fallbackModeTriggered等于0),适用以下内容:
xPosCb=2+(xSbIdx<<2) (8-691)
yPosCb=2+(ySbIdx<<2) (8-692)
-亮度运动矢量mvLx[xSbIdx][ySbIdx]推导如下:
mvLX[xSbIdx][ySbIdx][0]=(mvScaleHor+dHorX*xPosCb+dHorY*yPosCb) (8-693)
mvLX[xSbIdx][ySbIdx][1]=(mvScaleVer+dVerX*xPosCb+dVerY*yPosCb) (8-694)
-用设置等于mvLX[xSbIdx][ySbIdx]的MVX,设置等于7的rightShift,以及设置等于0的leftShift作为输入以及用经取整的mvLX[xSbIdx][ySbIdx]作为输出来调用条款8.5.2.14中指定的运动矢量的取整过程。
-运动矢量mvLX[xSbIdx][ySbIdx]被裁剪如下:
mvLX[xSbIdx][ySbIdx][0]=Clip3(-217,217-1,mvLX[xSbIdx][ySbIdx][0]) (8-695)
mvLX[xSbIdx][ySbIdx][1]=Clip3(-217,217-1,mvLX[xSbIdx][ySbIdx][1]) (8-696)
对于xSbIdx=0.nmSbx-1和ySbIdx=0.nmSby-1,适用以下内容:
-平均亮度运动矢量mvAvgLX推导如下:
mvAvgLX=mvLX[(xSbIdx>>1<<1)][(ySbIdx>>1<<1)]+mvLX[(xSbIdx>>1<<1)+1][(ySbIdx>>1<<1)+1] (8-697)
mvAvgLX[0]=(mvAvgLX[0]+1-(mvAvgLX[0]>=0))>>1 (8-698)
mvAvgLX[1]=(mvAvgLX[1]+1-(mvAvgLX[1]>=0))>>1 (8-699)
-以mvAvgLX和refIdxLX作为输入,以色度运动矢量mvCLX[xSbIdx][ySbIdx]作为输出,调用条款8.5.2.13中的色度运动矢量的推导过程。[Ed].(BB):这样,四个2×2色度子块(4×4色度块)共用从两个4×4亮度子块运动矢量的平均值推导的相同运动矢量。在解码过程中,仍然对2×2色度块进行运动补偿,然而该运动补偿是针对4×4色度块的运动补偿,因为4×4色度块内的所有色度MV是相同的。我更喜欢编辑改变,这使得对4×4色度块进行仿射色度MC更清楚。]
-变量cbProfFlagLX推导如下:
-如果一个或多个以下条件为真,则cbProfFlagLX设置为等于假。
-affine_prof_enabled_flag等于0。
-fallbackModeTriggered等于1。
-numCpMv等于2,cpMvLX[1][0]等于cpMvLX[0][0]且cpMvLX[1][1]等于cpMvLX[0][1]。
-numCpMv等于3,cpMvLX[1][0]等于cpMvLX[0][0]且cpMvLX[1][1]等于cpMvLX[0][1],cpMvLX[2][0]等于cpMvLX[0][0],cpMvLX[2][1]等于cpMvLX[0][1]。
-否则,cbProfFlagLX设置为等于真。
...
5.10关于MMVD的实施例#10
如果MMVD模式中所选择的MV基础(或基础Merge候选)是双向MV,则预测方向0的MVD直接设置为等于用信令通知的MVD,并且预测方向1的MVD可设置为等于用信令通知的MVD或用信令通知的MVD的相反值。
如果由MV基础识别的两个参考图片都具有比当前图片更大或更小的POC,则预测方向1的MVD可设置为等于用信令通知的MVD。
如果由MV基础识别的一个参考图片具有比当前图片更大的POC,而由MV基础识别的另一参考图片具有比当前图片更小的POC,则预测方向1的MVD可设置为等于用信令通知的MVD的相反值。
8.5.2.7 Merge运动矢量差的推导过程
该过程的输入为:
-当前亮度编解码块的左上采样相对于当前图片的左上亮度采样的亮度位置(xCb,yCb),
-参考索引refIdxL0和refIdxL1,
-预测列表使用标志predFlagL0和predFlagL1。
该过程的输出是具有1/16分数采样精度的亮度Merge运动矢量差mMvdL0和mMvdL1。
变量currPic指定当前图片。
亮度Merge运动矢量差mMvdL0和mMvdL1推导如下:
-如果predFlagL0和predFlagL1都等于1,则适用以下:
currPocDiffL0=DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0]) (8-349)
currPocDiffL1=DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1]) (8-350)
-[[如果currPocDiffL0等于currPocDiffL1,则适用以下内容:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-351)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-352)
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-353)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-354)
-否则,如果Abs(currPocDiffL0)大于或等于Abs(currPocDiffL1),则适用以下内容:]]
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-355)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-356)
-[[如果RefPicList[0][refIdxL0]不是长期参考图片,并且RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL0) (8-357)
tb=Clip3(-128,127,currPocDiffL1) (8-358)
tx=(16384+(Abs(td)>>1))/td (8-359)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-360)
-否则,适用以下内容:]]
mMvdL1[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[0]:-mMvdL0[0] (8-363)
mMvdL1[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[1]:-mMvdL0[1] (8-364)
-[[否则(Abs(currPocDiffL0)小于Abs(currPocDiffL1)),适用以下内容:
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-365)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-366)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL1) (8-367)
tb=Clip3(-128,127,currPocDiffL0) (8-368)
tx=(16384+(Abs(td)>>1))/td (8-369)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-370)
-否则,适用以下内容:
mMvdL10[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[0]:-mMvdL1[0] (8-373)
mMvdL0[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[1]:-mMvdL1[1] (8-374)]]
-否则(predFlagL0或predFlagL1等于1),对于X为0和1适用以下内容:
mMvdLX[0]=(predFlagLX==1)?MmvdOffset[xCb][yCb][0]:0 (8-375)
mMvdLX[1]=(predFlagLX==1)?MmvdOffset[xCb][yCb][1]:0 (8-376)
5.11关于MMVD的实施例#11
如果MMVD模式中所选择的MV基础(或基础Merge候选)是双向MV,则预测方向1的MVD直接设置为等于用信令通知的MVD,并且预测方向0的MVD可设置为等于用信令通知的MVD或用信令通知的MVD的相反值。
如果由MV基础识别的两个参考图片都具有比当前图片更大或更小的POC,则预测方向0的MVD可设置为等于用信令通知的MVD。
如果由MV基础识别的一个参考图片具有比当前图片更大的POC,而由MV基础识别的另一参考图片具有比当前图片更小的POC,则预测方向0的MVD可设置为等于用信令通知的MVD的相反值。
8.5.2.7 Merge运动矢量差的推导过程
该过程的输入为:
-当前亮度编解码块的左上采样相对于当前图片的左上亮度采样的亮度位置(xCb,yCb),
-参考索引refIdxL0和refIdxL1,
-预测列表使用标志predFlagL0和predFlagL1。
该过程的输出是具有1/16分数采样精度的亮度Merge运动矢量差mMvdL0和mMvdL1。
变量currPic指定当前图片。
亮度Merge运动矢量差mMvdL0和mMvdL1推导如下:
-如果predFlagL0和predFlagL1都等于1,则适用以下:
currPocDiffL0=DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0]) (8-349)
currPocDiffL1=DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1]) (8-350)
-[[如果currPocDiffL0等于currPocDiffL1,则适用以下内容:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-351)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-352)
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-353)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-354)
-否则,如果Abs(currPocDiffL0)大于或等于Abs(currPocDiffL1),则适用以下内容:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-355)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-356)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL0) (8-357)
tb=Clip3(-128,127,currPocDiffL1) (8-358)
tx=(16384+(Abs(td)>>1))/td (8-359)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-360)
-否则,适用以下内容:
mMvdL1[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[0]:-mMvdL0[0] (8-363)
mMvdL1[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[1]:-mMvdL0[1] (8-364)
-否则(Abs(currPocDiffL0)小于Abs(currPocDiffL1)),适用以下内容:
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-365)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-366)
-[[如果RefPicList[0][refIdxL0]不是长期参考图片,并且RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL1) (8-367)
tb=Clip3(-128,127,currPocDiffL0) (8-368)
tx=(16384+(Abs(td)>>1))/td (8-369)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-370)
-否则,适用以下内容:]]
mMvdL10[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[0]:-mMvdL1[0] (8-373)
mMvdL0[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[1]:-mMvdL1[1] (8-374)]]
-否则(predFlagL0或predFlagL1等于1),对于X为0和1适用以下内容:
mMvdLX[0]=(predFlagLX==1)?MmvdOffset[xCb][yCb][0]:0 (8-375)
mMvdLX[1]=(predFlagLX==1)?MmvdOffset[xCb][yCb][1]:0 (8-376)
5.12关于MMVD的实施例#12
如果MMVD模式中所选择的MV基础(或基础Merge候选)是双向MV,则预测方向0的MVD直接设置为等于用信令通知的MVD,并且预测方向1的MVD可设置为等于用信令通知的MVD或用信令通知的MVD的相反值。
如果两个参考图片都是短期参考图片,则可通过根据两个参考图片与当前图片之间的POC距离缩放用信令通知的MVD来推导预测方向1的MVD。
否则,
如果由MV基础识别的两个参考图片都具有比当前图片更大或更小的POC,则预测方向1的MVD可设置为等于用信令通知的MVD。
如果由MV基础识别的一个参考图片具有比当前图片更大的POC,而由MV基础识别的另一参考图片具有比当前图片更小的POC,则预测方向1的MVD可设置为等于用信令通知的MVD的相反值。
8.5.2.7 Merge运动矢量差的推导过程
该过程的输入为:
-当前亮度编解码块的左上采样相对于当前图片的左上亮度采样的亮度位置(xCb,yCb),
-参考索引refIdxL0和refIdxL1,
-预测列表使用标志predFlagL0和predFlagL1。
该过程的输出是具有1/16分数采样精度的亮度Merge运动矢量差mMvdL0和mMvdL1。
变量currPic指定当前图片。
亮度Merge运动矢量差mMvdL0和mMvdL1推导如下:
-如果predFlagL0和predFlagL1都等于1,则适用以下:
currPocDiffL0=DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0]) (8-349)
currPocDiffL1=DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1]) (8-350)
-如果currPocDiffL0等于currPocDiffL1,则适用以下内容:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-351)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-352)
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-353)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-354)
-否则,[[如果Abs(currPocDiffL0)大于或等于Abs(currPocDiffL1),]]则适用以下内容:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-355)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-356)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且
RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL0) (8-357)
tb=Clip3(-128,127,currPocDiffL1) (8-358)
tx=(16384+(Abs(td)>>1))/td (8-359)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-360)
-否则,适用以下内容:
mMvdL1[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[0]:-mMvdL0[0] (8-363)
mMvdL1[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[1]:-mMvdL0[1] (8-364)
-[[否则(Abs(currPocDiffL0)小于Abs(currPocDiffL1)),适用以下内容:
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-365)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-366)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL1) (8-367)
tb=Clip3(-128,127,currPocDiffL0) (8-368)
tx=(16384+(Abs(td)>>1))/td (8-369)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-370)
-否则,适用以下内容:
mMvdL10[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[0]:-mMvdL1[0] (8-373)
mMvdL0[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[1]:-mMvdL1[1] (8-374)]]
-否则(predFlagL0或predFlagL1等于1),对于X为0和1适用以下内容:
mMvdLX[0]=(predFlagLX==1)?MmvdOffset[xCb][yCb][0]:0 (8-375)
mMvdLX[1]=(predFlagLX==1)?MmvdOffset[xCb][yCb][1]:0 (8-376)
5.13关于MMVD的实施例#13
如果MMVD模式中所选择的MV基础(或基础Merge候选)是双向MV,则预测方向1的MVD直接设置为等于用信令通知的MVD,并且预测方向0的MVD可设置为等于用信令通知的MVD或用信令通知的MVD的相反值。
如果两个参考图片都是短期参考图片,则可通过根据两个参考图片与当前图片之间的POC距离缩放用信令通知的MVD来推导预测方向0的MVD。
否则,
如果由MV基础识别的两个参考图片都具有比当前图片更大或更小的POC,则预测方向1的MVD可设置为等于用信令通知的MVD。
如果由MV基础识别的一个参考图片具有比当前图片更大的POC,而由MV基础识别的另一参考图片具有比当前图片更小的POC,则预测方向0的MVD可设置为等于用信令通知的MVD的相反值。
8.5.2.7 Merge运动矢量差的推导过程
该过程的输入为:
-当前亮度编解码块的左上采样相对于当前图片的左上亮度采样的亮度位置(xCb,yCb),
-参考索引refIdxL0和refIdxL1,
-预测列表使用标志predFlagL0和predFlagL1。
该过程的输出是具有1/16分数采样精度的亮度Merge运动矢量差mMvdL0和mMvdL1。
变量currPic指定当前图片。
亮度Merge运动矢量差mMvdL0和mMvdL1推导如下:
-如果predFlagL0和predFlagL1都等于1,则适用以下:
currPocDiffL0=DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0]) (8-349)
currPocDiffL1=DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1]) (8-350)
-如果currPocDiffL0等于currPocDiffL1,则适用以下内容:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-351)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-352)
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-353)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-354)
-[[否则,如果Abs(currPocDiffL0)大于或等于Abs(currPocDiffL1),则
适用以下内容:
mMvdL0[0]=MmvdOffset[xCb][yCb][0] (8-355)
mMvdL0[1]=MmvdOffset[xCb][yCb][1] (8-356)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL0) (8-357)
tb=Clip3(-128,127,currPocDiffL1) (8-358)
tx=(16384+(Abs(td)>>1))/td (8-359)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-360)
-否则,适用以下内容:
mMvdL1[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[0]:-mMvdL0[0] (8-363)
mMvdL1[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL0[1]:-mMvdL0[1] (8-364)
-否则(Abs(currPocDiffL0)小于Abs(currPocDiffL1)),]]适用以下内容:
mMvdL1[0]=MmvdOffset[xCb][yCb][0] (8-365)
mMvdL1[1]=MmvdOffset[xCb][yCb][1] (8-366)
-如果RefPicList[0][refIdxL0]不是长期参考图片,并且
RefPicList[1][refIdxL1]不是长期参考图片,则适用以下内容:
td=Clip3(-128,127,currPocDiffL1) (8-367)
tb=Clip3(-128,127,currPocDiffL0) (8-368)
tx=(16384+(Abs(td)>>1))/td (8-369)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-370)
-否则,适用以下内容:
mMvdL10[0]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[0]:-mMvdL1[0] (8-373)
mMvdL0[1]=Sign(currPocDiffL0)==Sign(currPocDiffL1)?mMvdL1[1]:-mMvdL1[1] (8-374)]]
-否则(predFlagL0或predFlagL1等于1),对于X为0和1适用以下内容:
mMvdLX[0]=(predFlagLX==1)?MmvdOffset[xCb][yCb][0]:0 (8-375)
mMvdLX[1]=(predFlagLX==1)?MmvdOffset[xCb][yCb][1]:0 (8-376)
图13A是视频处理装置1300的框图。设备1300可以用于实施本文中描述的一个或多个方法。装置1300可实现在智能电话、平板计算机、计算机、物联网(IoT)接收器等中。装置1300可包括一个或多个处理器1302,一个或多个存储器1304和视频处理硬件1306。处理器1302可配置为实施本文档中所描述的一个或多个方法。存储器(多个存储器)1304可用于存储用于实施本文中所描述的方法和技术的数据和代码。视频处理硬件1306可用于通过硬件电路来实施本文档中描述的一些技术。在一些实施例中,视频处理硬件1306可至少部分地在处理器1302(例如,图形协处理器)的内部。
图13B是其中可实现所公开的技术的视频处理***的框图的另一示例。图13B是示出其中可实现本文所公开的各种技术的示例性视频处理***1310的框图。各种实现方式可以包括***1310的一些或所有组件。***1310可以包括用于接收视频内容的输入1312。可以以原始或未压缩格式(例如,8或10位多分量像素值)来接收视频内容,或者可以以压缩或编码格式来接收视频内容。输入1312可表示网络接口,***总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口,以及诸如Wi-Fi或蜂窝接口的无线接口。
***1310可以包括编解码组件1314,其可实现在本文档中描述的各编解码或编码方法。编解码组件1314可降低从输入1312到编解码组件1314的视频的平均位速率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频代码转换技术。编解码组件1314的输出可以被存储,或者通过连接的通信被发送,如组件1316所示。在输入1312处接收的视频的存储的或传输的比特流(或编解码的)表示可以被组件1318用于生成发送到显示接口1320的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应理解,编解码工具或操作在编码器处使用,并且将编解码结果反向的相应解码工具或操作将由解码器进行。
***总线接口或显示器接口的实例可包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示器端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。在本文档中描述的技术可以实现在各种电子设备中,例如移动电话、膝上型计算机、智能电话或能够进行数字数据处理和/或视频显示的其它设备。
在一些实施例中,可以使用在如参照图13A或13B描述的硬件平台上实施的设备来实现视频编解码方法。
图14是处理视频的方法1400的流程图。方法1400包括对于包括多个视频块的视频的当前视频块与视频的编解码表示之间的转换,根据用于该转换的参考图片的类型,确定(1402)编解码工具对当前视频块的适用性,并且基于该确定进行(1404)转换。
图15A是处理视频的方法1510的流程图。方法1510包括:在步骤1512,对于视频的当前图片的当前视频块与视频的编解码表示之间的转换,基于用于该转换的参考图片的类型,确定编解码工具对当前视频块的适用性。方法1510包括:在步骤1514,基于该确定进行转换。在一些实现方式中,参考图片的类型至少基于1)参考图片是短期参考图片还是长期参考图片,2)参考图片或当前图片的分辨率,或3)参考图片相对于当前图片的图片顺序计数(POC)距离。
图15B是处理视频的方法1520的流程图。方法1520包括:在步骤1522,对于视频的当前视频块和视频的编解码表示之间的转换,基于用于该转换的参考图片的类型,确定双向光流(BDOF)编解码工具或解码器侧运动矢量细化(DMVR)编解码工具对当前视频块的适用性。方法1520包括:在步骤1524,基于该确定进行转换。在一些实现方式中,通过使用BDOF编解码工具,基于光流计算来细化一个或多个初始预测。在一些实现方式中,通过使用DMVR编解码工具,使用当前视频块的预测块来细化当前视频块的运动信息。在一些实现方式中,参考图片的类型至少基于1)参考图片是短期参考图片还是长期参考图片,2)参考图片或当前图片的分辨率,或3)参考图片相对于当前图片的图片顺序计数(POC)距离。
图15C是处理视频的方法1530的流程图。方法1530包括:在步骤1532,使用Merge模式运动矢量差(MMVD)编解码进行视频的当前图片的当前视频块与当前视频块的编解码表示之间转换,其中在MMVD编解码中,Merge候选被选择用作基础Merge候选并利用运动矢量差(MVD)信息进行细化。在一些实现方式中,在MMVD编解码期间,Merge候选被选择作为基础Merge候选,并在不缩放MVD信息的情况下利用运动矢量差(MVD)信息进行细化。在一些实现方式中,基础Merge候选是双向运动矢量,并且其中基于视频的编解码条件,一个预测方向的MVD设置为等于包括在编解码表示中的MVD,以及另一个预测方向的另一个MVD设置为等于包括在的编解码表示中的MVD或与包括在的编解码表示中的MVD相反。在一些实现方式中,编解码表示符合这样的规则,该规则规定至多用于第一预测方向的第一MVD值包括在编解码表示中。
所公开的技术的一些实施例包括做出决定或确定以启用视频处理工具或模式。在示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但是可以不必基于工具或模式的使用来修改所得到的比特流。也就是说,从视频的块到视频的比特流表示的转换将在基于决定或确定而启用视频处理工具或模式时使用视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在已知比特流已基于视频处理工具或模式进行了修改的情况下处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来进行从视频的比特流表示到视频的块的转换。
所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在示例中,当视频处理工具或模式被禁用时,编码器将不在视频的块到视频的比特流表示的转换中使用工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在已知比特流还没有使用基于决定或确定而禁用的视频处理工具或模式来进行修改的情况下处理比特流。
在本文档中,术语“视频处理”可以指视频编码,视频解码,视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到相应的比特流表示的转换期间应用,反之亦然。如语法所定义的那样,当前视频块的比特流表示例如可对应于在比特流内的不同位置共同定位或扩展的比特。例如,可以按照变换和编解码的误差残差值,并且还可以使用比特流中的报头和其它字段中的比特来编码宏块。
使用条款列表进一步描述在本文档中描述的各种技术方案和实施例。第一组条款描述了前面部分中公开的技术的某些特征和方面。
除前面部分中第1,4和5项所述的实施方案外:
1.一种用于处理视频的方法,包括:对于包括多个视频块的视频的当前视频块与视频的编解码表示之间的转换,并且根据用于转换的参考图片的类型,确定编解码工具对当前视频块的适用性;以及基于确定进行转换。
2.如条款1所述的方法,其中,参考图片的类型是长期参考图片类型或短期参考图片类型之一。
3.如条款1-2中任一项所述的方法,其中,参考图片的特性包括参考图片的分辨率。
4.如条款1-3中任一项所述的方法,其中,确定包括:由于参考图片具有不同类型,确定特定编解码工具不用于当前视频块。
5.如条款1-3中任一项所述的方法,其中,确定包括:由于参考图片具有相同类型,确定允许特定编解码工具用于当前视频块。
6.如条款1-3中任一项所述的方法,其中,确定包括:由于所有参考图片都是给定类型,确定允许特定编解码工具用于当前视频块。
7.如条款1-3中任一项所述的方法,其中,确定包括:由于所有参考图片都是给定类型,确定特定编解码工具不用于当前视频块。
8.如条款1-3中任一项所述的方法,其中,由于特定参考图片的特性是某种类型,所以特定编解码工具被用于特定参考图片。
9.如条款1-3中任一项所述的方法,其中,由于特定参考图片的特性是某种类型,所以特定编解码工具不用于特定参考图片。
10.如条款1至9中任一项所述的方法,其中,编解码工具对应于双向光流编解码工具。
11.如条款1至9中任一项所述的方法,其中,所述编解码工具对应于具有运动矢量差的Merge模式(MMVD)工具或具有编解码单元权重的双向预测(BCW)或具有光流的预测细化(PROF)或三角形分割模式(TPM)或空间运动矢量差(SMVD)或仿射编解码工具中的一个。
12.如条款1至11中任一项所述的方法,其中,参考图片的类型取决于与当前视频块的当前图片的图片顺序计数差。
13.如条款1至12中任一项所述的方法,其中,参考图片的类型取决于参考图片的时域层。
除前面部分中第2项中描述的实施例外:
14.一种用于处理视频的方法,包括:对于包括多个视频块的视频的当前视频块与视频的编解码表示之间的转换,根据用于转换的参考图片的类型,确定双向光流(BDOF)编解码工具对当前视频块的适用性;以及基于确定进行转换。
15.如条款14所述的方法,其中,参考图片的类型是长期参考图片类型或短期参考图片类型之一。
16.如条款14-15中任一项所述的方法,其中,参考图片的属性包括参考图片的分辨率。
17.如条款14-16中任一项所述的方法,其中,确定包括:由于参考图片具有不同类型,确定BDOF编解码工具不用于当前视频块。
18.如条款14-16中任一项所述的方法,其中,确定包括:由于参考图片具有相同类型,确定BDOF编解码工具用于当前视频块。
19.如条款14-16中任一项所述的方法,由于所有参考图片都具有给定类型,所以当前视频块。
20.如条款14-16中任一项所述的方法,其中,确定包括:由于所有参考图片都具有给定类型,确定BDOF编解码工具不用于当前视频块。
21.如条款14-16中任一项所述的方法,其中,由于特定参考图片的特性是某种类型,BDOF编解码工具被用于特定参考图片。
22.如条款14-16中任一项所述的方法,其中,由于特定参考图片的特性是某种类型,BDOF编解码工具不用于特定参考图片。
除前面部分中第3项中描述的实施例外:
23.一种用于处理视频的方法,包括:对于包括多个视频块的视频的当前视频块与视频的编解码表示之间的转换,根据用于转换的参考图片的类型,确定编解码工具对当前视频块的适用性,其中编解码工具对应于解码器侧运动矢量细化(DMVR)工具;以及基于确定进行转换。
24.如条款23所述的方法,其中,参考图片的类型是长期参考图片类型或短期参考图片类型之一。
25.如条款23-24中任一项所述的方法,其中,参考图片的属性包括参考图片的分辨率。
26.如条款23-25中任一项所述的方法,其中,确定包括:由于参考图片具有不同类型,确定DMVR编解码工具不用于当前视频块。
27.如条款23-25中任一项所述的方法,其中,确定包括:由于参考图片具有相同类型,确定DMVR编解码工具用于当前视频块。
28.如条款23-25中任一项所述的方法,其中,确定包括:由于所有参考图片都具有给定类型,确定DMVR编解码工具用于当前视频块。
29.如条款23-25中任一项所述的方法,其中,确定包括:由于所有参考图片都具有给定类型,确定DMVR编解码工具不用于当前视频块。
除前面部分中第6项中描述的实施例外:
30.一种视频处理方法,包括:使用Merge模式运动矢量差(MMVD)编解码来进行视频的当前视频块与当前视频块的编解码表示之间的转换,其中,转换使用运动矢量差和Merge模式候选的组合;其中根据视频的编解码条件来确定MVD分量的缩放或预测方向中至少一个。
31.如条款30所述的方法,其中,编解码条件包括当前视频块的当前图片的图片顺序计数与具有阈值的参考图片之间的比较。
32.如条款30所述的方法,其中缩放是整体缩放。
除前面部分中第7项中描述的实施例外:
33.一种视频处理方法,包括:使用Merge模式运动矢量差(MMVD)编解码来进行视频的当前视频块与当前视频块的编解码表示之间的转换,其中,用信令通知单个方向的单个MVD值。
34.如条款33所述的方法,还包括:基于规则从第一MVD值推导另一方向的第二MVD值。
35.如条款33所述的方法,其中,单个方向对应于用于信令通知的基础运动矢量的预测方向。
36.如条款34所述的方法,其中,推导包括基于针对其推导了第二MVD的参考图片的类型来推导第二MVD。
一些实施方案采用的进一步优选的解决方案包括:
37.如条款1至36中任一项所述的方法,其中,转换包括将当前视频块编码成编解码表示或将编解码表示解码以生成当前视频块。
38.一种视频解码设备,其包括经配置为实施在条款1到37中的一个或多个中描述的方法的处理器。
39.一种视频编码设备,其包括经配置为实施在条款1到37中的一个或多个中描述的方法的处理器。
40.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时,使处理器实现如条款1到37中任一项所述的方法。
41.一种在本文档中描述的方法,装置或***。
第二组条款描述了前面部分中公开的技术的某些特征和方面,例如,示例性实现方式1至7。
1.一种用于处理视频的方法,包括:对于视频的当前图片的当前视频块与视频的编解码表示之间的转换,基于用于转换的参考图片的类型来确定编解码工具对当前视频块的适用性;以及基于确定进行转换,其中,参考图片的类型至少基于:1)参考图片是短期参考图片还是长期参考图片,2)参考图片或当前图片的分辨率,或3)参考图片相对于当前图片的图片顺序计数(POC)距离。
2.如权利要求1所述的方法,其中,确定包括:由于参考图片中的至少两个具有不同的类型,确定编解码工具不用于当前视频块。
3.如权利要求1所述的方法,其中,确定包括:由于参考图片之一或所有具有给定类型,确定编解码工具不用于当前视频块。
4.如权利要求3所述的方法,其中,给定类型指示参考图片是长期参考图片。
5.如权利要求3所述的方法,其中,具有给定类型的参考图片之一或所有中的每个对应于自适应分辨率图片(ARP),使得参考图片之一或所有中的每个都具有与当前图片的分辨率不同的分辨率。
6.如权利要求1所述的方法,其中,编解码工具仅用于与具有给定类型的一个或多个参考图片一起使用。
7.如权利要求1所述的方法,其中,编解码工具不用于不具有给定类型的一个或多个参考图片。
8.如权利要求6或7所述的方法,其中,给定类型指示参考图片是短期参考图片。
9.如权利要求6或7所述的方法,其中,具有给定类型的一个或多个参考图片不对应于自适应分辨率图片(ARP),并且具有给定类型的一个或多个参考图片具有与当前图片的分辨率相同的分辨率。
10.如权利要求6或7所述的方法,其中,具有给定类型的一个或多个参考图片相对于当前图片具有相同的图片顺序计数(POC)距离。
11.如权利要求1所述的方法,其中,确定包括:由于参考图片都是长期参考图片,省略对参考图片中的每个相对于当前图片的图片顺序计数(POC)距离的检查。
12.如权利要求1所述的方法,其中,确定包括:由于参考图片中的至少两个具有相同类型,确定允许编解码工具用于当前视频块。
13.如权利要求12所述的方法,其中,具有相同类型的参考图片中的至少两个相对于当前图片均具有相同图片顺序计数(POC)距离。
14.如权利要求1所述的方法,其中,确定包括:由于一些或所有参考图片具有给定类型,确定允许编解码工具用于当前视频块。
15.如权利要求1所述的方法,其中,确定包括:由于参考图片均不具有给定类型,确定编解码工具不用于当前视频块。
16.如权利要求14所述的方法,其中,确定包括:由于参考图片中的一些具有另一给定类型,确定编解码工具不用于当前视频块。
17.如权利要求1至16中任一项所述的方法,其中,编解码工具对应于双向光流编解码工具(BDOF),其中基于光流计算来细化一个或多个初始预测。
18.如权利要求1至16中任一项所述的方法,其中,编解码工具对应于解码器侧运动矢量细化(DMVR),其中通过使用预测块来细化当前视频块的运动信息。
19.如权利要求1至16中任一项所述的方法,其中,编解码工具对应于具有光流的细化(PROF),其中基于光流计算来细化一个或多个初始预测。
20.如权利要求19所述的方法,其中,编解码表示包括预测细化使用标志(cbProfFlagLX),其中在RprConstraintsActive[X][refIdxLX]等于1,X为0或1的情况下,预测细化使用标志被设置为假。
21.如权利要求1至16中任一项所述的方法,其中,编解码工具对应于具有运动矢量差的Merge模式(MMVD)工具、仿射编解码工具、组合帧间-帧内预测(CIIP)工具、自适应运动矢量分辨率(AMVR)工具、三角形分割模式(TPM)工具、空间运动矢量差(SMVD)、可切换内插滤波工具、BCW(具有CU级权重的双向预测)工具,或解码器侧运动矢量推导(DMVD)工具。
22.如权利要求1至16中任一项所述的方法,其中,编解码工具对应于基于当前视频块的编解码信息来细化当前视频块的运动信息或预测信号的编解码工具。
23.如权利要求17至22中任一项所述的方法,其中,确定包括:由于参考图片中的两个参考图片具有彼此不同的类型,确定编解码工具不用于当前视频块。
24.如权利要求17至22中任一项所述的方法,其中,确定包括:由于所有参考图片均具有给定类型,确定允许编解码工具用于当前视频块。
25.如权利要求23或24所述的方法,其中,该限制可应用于双向预测块和/或单向预测块。
26.如权利要求17或18所述的方法,其中,在编解码工具被禁用的情况下,不信令通知是否应用了编解码工具的指示。
27.如权利要求17或18所述的方法,其中,在编解码工具被禁用的情况下,将编解码工具是否被应用的指示信令通知为假。
28.如权利要求1至27中任一项所述的方法,其中,参考图片的类型还取决于参考图片的时域层。
29.如权利要求1至27所述的方法,其中,参考图片的类型进一步取决于特定编解码工具是否应用于参考图片。
30.一种用于处理视频的方法,包括:对于视频的当前视频块与视频的编解码表示之间的转换,基于用于转换的参考图片的类型来确定双向光流(BDOF)编解码工具或解码器侧运动矢量细化(DMVR)编解码工具对当前视频块的适用性;以及基于确定进行转换,其中,使用BDOF编解码工具,基于光流计算细化一个或多个初始预测,并且其中,使用DMVR编解码工具,使用当前视频块的预测块来细化当前视频块的运动信息;并且其中,参考图片的类型至少基于1)参考图片是短期参考图片还是长期参考图片,2)参考图片或当前图片的分辨率,或3)参考图片相对于当前图片的图片顺序计数(POC)距离。
31.如权利要求30所述的方法,其中,确定包括:由于所有参考图片均具有给定类型,确定允许编解码工具用于当前视频块。
32.如权利要求30所述的方法,其中,确定包括:由于参考图片中至少一个不具有给定类型,确定编解码工具不用于当前视频块。
33.如权利要求31或32所述的方法,其中,给定类型指示参考图片是短期参考图片。
34.如权利要求31或32所述的方法,其中,具有给定类型的参考图片不对应于自适应分辨率图片(ARP),并且具有与包括当前视频块的当前图片的分辨率相同的分辨率。
35.如权利要求31或32所述的方法,其中,具有给定类型的参考图片相对于包括当前视频块的当前图片具有相同的图片顺序计数(POC)距离。
36.如权利要求30所述的方法,其中,确定包括:由于参考图片中的两个具有彼此不同的类型,确定编解码工具不用于当前视频块。
37.如权利要求30所述的方法,其中,所有参考图片具有给定类型,并且确定包括:省略对参考图片中的每个相对于当前图片的图片顺序计数(POC)距离的检查。
38.如权利要求37所述的方法,其中,给定类型指示参考图片是长期参考图片。
39.如权利要求30至38中任一项所述的方法,其中,参考图片的类型还取决于参考图片的时域层。
40.如权利要求30至38中任一项所述的方法,其中,参考图片的类型还取决于特定编解码工具是否应用于参考图片。
41.一种视频处理方法,包括:使用Merge模式运动矢量差(MMVD)编解码进行视频的当前图片的当前视频块与当前视频块的编解码表示之间的转换,其中,Merge候选被选择作为基础Merge候选并利用运动矢量差(MVD)信息进行细化,而不缩放MVD信息;并且其中,基础Merge候选是双向运动矢量,并且其中,基于视频的编解码条件,一个预测方向的MVD设置为等于包括在编解码表示中的MVD,以及另一预测方向的另一MVD设置为与包括在编解码表示中的MVD相等或相反。
42.如权利要求41所述的方法,其中,编解码条件包括由基础Merge候选识别的参考图片的图片顺序计数(POC)与当前图片的POC之间的比较。
43.如权利要求42所述的方法,其中,参考图片都具有比当前图片的POC更大或更小的POC,另一预测方向的运动矢量差设置成等于包括在编解码表示中的MVD。
44.如权利要求42所述的方法,其中,参考图片之一具有比当前图片的POC大的POC,且参考图片中的另一参考图片具有比当前图片的POC小的POC,另一预测方向的运动矢量差设定为与编解码表示中包括的MVD相反。
45.一种视频处理方法,包括:使用Merge模式运动矢量差(MMVD)编解码进行视频的当前图片的当前视频块与当前视频块的编解码表示之间的转换,其中,Merge候选被选择用作基础Merge候选并利用运动矢量差(MVD)信息进行细化,其中编解码表示符合以下规则,其中规则规定至多用于第一预测方向的第一MVD值包括在编解码表示中。
46.如权利要求45所述的方法,其中,基础Merge候选是双向运动矢量,并且用于第二预测方向的第二MVD值是从第一MVD值推导的。
47.如权利要求45所述的方法,其中,基础Merge候选是单向运动矢量,并且第一预测方向设置成等于基础Merge候选的预测方向。
48.如权利要求45所述的方法,其中,基础Merge候选是双向运动矢量,并且第一预测方向设置成具有等于0或1的索引。
49.如权利要求46所述的方法,其中,第二MVD是基于由基础Merge候选识别的参考图片的类型而推导的。
50.如权利要求49所述的方法,其中,参考图片的类型包括:对应于长期参考图片的第一类型或对应于短期参考图片的第二类型。
51.如权利要求50所述的方法,其中,参考图片都是第二类型,以及通过基于参考图片与当前图片之间的POC距离缩放第一MVD来推导第二MVD值。
52.如权利要求49所述的方法,其中,参考图片的POC距离都大于或小于当前图片的POC距离,第二MVD设置为等于第一MVD。
53.如权利要求52所述的方法,其中,参考图片中至少一个不是第二类型。
54.如权利要求49所述的方法,其中,参考图片之一具有比当前图片的POC距离大的POC距离,且参考图片中的另一参考图片具有比当前图片的POC距离小的POC距离,第二MVD设置为与第一MVD相反。
55.如权利要求54所述的方法,其中,参考图片中至少一个不是第二类型。
56.如权利要求1至55中任一项所述的方法,其中,转换包括:将当前视频块编码为编解码表示;或将编解码表示解码以生成当前视频块。
57.一种视频***中的装置,该装置包括:处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行时,使处理器实现如权利要求1至56中的一个或多个所述的方法。
58.一种存储在非瞬态计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行如权利要求1至56中的一个或多个所述的方法的程序代码。
在本文档中描述的所公开的及其他技术方案、示例、实施例、模块和功能操作可以在数字电子电路中实施,或者在计算机软件,固件或硬件中实施,包括在本说明书中公开的结构及其等同结构,或者实施在上述的一个或多个的组合。所公开的及其他实施例可实现为一个或多个计算机程序产品,即,编码在计算机可读介质上的计算机程序指令的一个或多个模块,其用于由数据处理设备进行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备,机器可读存储基体,存储器设备,影响机器可读传播信号的物质组合物,或上述的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置,设备和机器,包括例如可编程处理器,计算机,或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建进行环境的代码,例如构成处理器固件,协议栈,数据库管理***,操作***或上述的一个或多个的组合的代码。传播的信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器设备。
计算机程序(也称为程序,软件,软件应用,脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)来编写,并且可以以任何形式来部署,包括作为独立的程序或作为模块,组件,子例程或其他适合在计算环境中使用的单元。计算机程序不必对应于文件***中的文件。程序可以存储在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分,存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块,子程序或代码部分的文件)中。计算机程序可被部署为在一个计算机上进行或在位于一个站点或分布在多个站点上并通过通信网络互连的多个计算机上进行。
本文档中描述的过程和逻辑流程可以由一个或多个可编程处理器来进行,这些可编程处理器进行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来进行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来进行,并且装置也可以实施为专用逻辑电路。
例如,适于进行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或只读存储器和随机存取存储器接收指令和数据。计算机的必要元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被可操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,上述大容量存储设备用于存储数据,例如磁盘,磁光盘或光盘。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储器设备,包括例如半导体存储器设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
虽然本专利文档包括许多细节,但这些不应被解释为对任何主题或所要求保护的范围的限制,而应被解释为对具体技术的具体实施例可能特定的特征的描述。在本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实施。此外,尽管上面可以将特征描述为在某些组合中起作用,并且甚至最初如此要求保护,但是在一些情况下,可以从组合中去除要求保护的组合中的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描述了操作,但这不应被理解为要求以所示的特定顺序或顺序进行这些操作,或者要求进行所有示出的操作以获得期望的结果。此外,在本专利文献中描述的实施例中的各种***组件的分离不应被理解为在所有实施例中需要这种分离。
仅描述了一些实施和示例,并且可以基于在本专利文档中描述和示出的内容来进行其他实施,增强和变化。

Claims (21)

1.一种处理视频数据的方法,包括:
对于视频的第一图片的第一视频块和所述视频的比特流之间的第一转换,基于用于所述第一转换的第一参考图片的类型来确定第一编解码工具对所述第一视频块的适用性,其中所述第一编解码工具被用于基于对应于所述第一视频块的参考块中的样本的至少一个梯度值细化运动矢量,或基于具有对信令通知的运动矢量的偏移的至少一个运动矢量细化信令通知的运动矢量;以及
基于所述确定进行所述第一转换,
其中所述第一参考图片的类型至少基于所述第一参考图片是否是短期参考图片。
2.如权利要求1所述的方法,其中,所述第一参考图片的类型还基于所述第一参考图片的分辨率是否与所述第一图片的分辨率不同。
3.如权利要求1所述的方法,其中,所述第一参考图片的类型还基于所述第一参考图片相对于所述第一图片的图片顺序计数距离。
4.如权利要求1所述的方法,其中,所述确定包括:由于所述第一参考图片中的至少两个具有不同类型,确定不允许所述第一编解码工具用于所述第一视频块。
5.如权利要求1所述的方法,其中,所述确定包括:在所述第一参考图片中的一个或全部不是短期参考图片的情况下,确定不允许所述第一编解码工具用于所述第一视频块。
6.如权利要求1所述的方法,其中,所述确定包括:在所述第一参考图片中的一个或全部是自适应分辨率图片使得所述第一参考图片中的一个或全部具有与所述第一图片的分辨率不同的分辨率的情况下,确定不允许所述第一编解码工具用于所述第一视频块。
7.如权利要求1所述的方法,其中,所述确定包括:基于所述第一参考图片的每一个是短期参考图片,确定允许所述第一编解码工具用于所述第一视频块。
8.如权利要求1所述的方法,其中,所述确定包括:基于所述第一参考图片中没有一个是自适应分辨率图片,并且其中所述第一参考图片的每一个具有与所述第一图片的分辨率相同的分辨率,确定允许所述第一编解码工具用于所述第一视频块。
9.如权利要求1所述的方法,其中,所述确定包括:基于所述第一参考图片具有相对于所述第一图片相同的绝对图片顺序计数(POC)距离,确定允许所述第一编解码工具用于所述第一视频块。
10.如权利要求1所述的方法,还包括:
对于作为所述视频的第二图片的仿射块的第二视频块与所述视频的比特流之间的第二转换,基于用于所述第二转换的至少一个第二参考图片是否是自适应分辨率图片确定第二编解码工具对于所述第二视频块的适用性;以及
基于所述确定进行所述第二转换,
其中所述第二编解码工具包括:
生成所述第二视频块的子块的初始预测样本;以及
应用光流操作以通过推导预测细化来生成所述子块的最终预测样本。
11.如权利要求10所述的方法,其中所述确定包括:在所述至少一个第二参考图片的一个或全部是自适应分辨率图片(ARP)使得所述至少一个第二参考图片的一个或全部具有与所述第二图片的分辨率不同的分辨率的情况下,确定不允许所述第二编解码工具用于所述第二视频块。
12.如权利要求10所述的方法,其中所述确定包括:基于所述至少一个第二参考图片中没有一个是自适应分辨率图片(ARP),并且其中所述至少一个第二参考图片的每一个具有与所述第二图片的分辨率相同的分辨率,确定允许所述第二编解码工具用于所述第二视频块。
13.如权利要求1所述的方法,其中,所述第一转换包括将所述第一视频块编码为所述比特流。
14.如权利要求1所述的方法,其中,所述第一转换包括将所述第一视频块从所述比特流解码。
15.一种处理视频数据的装置,包括处理器和其上具有指令的非瞬时性存储器,其中,所述指令当由所述处理器执行时,使得所述处理器:
对于视频的第一图片的第一视频块和所述视频的比特流之间的第一转换,基于用于所述第一转换的第一参考图片的类型来确定第一编解码工具对所述第一视频块的适用性,其中所述第一编解码工具被用于基于对应于所述第一视频块的参考块中的样本的至少一个梯度值细化运动矢量,或基于具有对信令通知的运动矢量的偏移的至少一个运动矢量细化信令通知的运动矢量;以及
基于所述确定进行所述第一转换,
其中所述第一参考图片的类型至少基于所述第一参考图片是否是短期参考图片。
16.如权利要求15所述的装置,其中所述第一参考图片的类型还基于所述第一参考图片的分辨率是否与所述第一图片的分辨率不同。
17.如权利要求15所述的装置,其中所述第一参考图片的类型还基于所述第一参考图片相对于所述第一图片的图片顺序计数距离。
18.如权利要求15所述的装置,其中所述确定包括:由于所述第一参考图片中的至少两个具有不同类型,确定不允许所述第一编解码工具用于所述第一视频块。
19.一种非瞬时性计算机可读储存介质,存储使得处理器进行以下的指令:
对于视频的第一图片的第一视频块和所述视频的比特流之间的第一转换,基于用于所述第一转换的第一参考图片的类型来确定第一编解码工具对所述第一视频块的适用性,其中所述第一编解码工具被用于基于对应于所述第一视频块的参考块中的样本的至少一个梯度值细化运动矢量,或基于具有对信令通知的运动矢量的偏移的至少一个运动矢量细化信令通知的运动矢量;以及
基于所述确定进行所述第一转换,
其中所述第一参考图片的类型至少基于所述第一参考图片是否是短期参考图片。
20.一种非瞬时性计算机可读储存介质,储存视频的比特流,所述比特流由视频处理装置进行的方法生成,其中所述方法包括:
对于视频的第一图片的第一视频块,基于用于所述第一视频块的第一参考图片的类型来确定第一编解码工具对所述第一视频块的适用性,其中所述第一编解码工具被用于基于对应于所述第一视频块的参考块中的样本的至少一个梯度值细化运动矢量,或基于具有对信令通知的运动矢量的偏移的至少一个运动矢量细化信令通知的运动矢量;以及
基于所述确定生成所述比特流,
其中所述第一参考图片的类型至少基于所述第一参考图片是否是短期参考图片。
21.一种储存视频的比特流的方法,包括:
对于视频的第一图片的第一视频块,基于用于所述第一视频块的第一参考图片的类型来确定第一编解码工具对所述第一视频块的适用性,其中所述第一编解码工具被用于基于对应于所述第一视频块的参考块中的样本的至少一个梯度值细化运动矢量,或基于具有对信令通知的运动矢量的偏移的至少一个运动矢量细化信令通知的运动矢量;
基于所述确定生成所述比特流;以及
将所述比特流存储在非瞬时性计算机可读储存介质中,
其中所述第一参考图片的类型至少基于所述第一参考图片是否是短期参考图片。
CN202311524871.9A 2019-07-27 2020-07-24 根据参考图片类型使用工具的限制 Pending CN117560490A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/098068 2019-07-27
CN2019098068 2019-07-27
PCT/CN2020/104087 WO2021018031A1 (en) 2019-07-27 2020-07-24 Restrictions of usage of tools according to reference picture types
CN202080054662.0A CN114175655B (zh) 2019-07-27 2020-07-24 根据参考图片类型使用工具的限制

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080054662.0A Division CN114175655B (zh) 2019-07-27 2020-07-24 根据参考图片类型使用工具的限制

Publications (1)

Publication Number Publication Date
CN117560490A true CN117560490A (zh) 2024-02-13

Family

ID=74229466

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311524871.9A Pending CN117560490A (zh) 2019-07-27 2020-07-24 根据参考图片类型使用工具的限制
CN202080054662.0A Active CN114175655B (zh) 2019-07-27 2020-07-24 根据参考图片类型使用工具的限制

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080054662.0A Active CN114175655B (zh) 2019-07-27 2020-07-24 根据参考图片类型使用工具的限制

Country Status (6)

Country Link
US (3) US11323698B2 (zh)
EP (1) EP3984227A4 (zh)
JP (2) JP7322277B2 (zh)
KR (1) KR20220038060A (zh)
CN (2) CN117560490A (zh)
WO (1) WO2021018031A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117560490A (zh) 2019-07-27 2024-02-13 北京字节跳动网络技术有限公司 根据参考图片类型使用工具的限制
WO2023191404A1 (ko) * 2022-03-27 2023-10-05 엘지전자 주식회사 적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
JP2024002460A (ja) * 2022-06-24 2024-01-11 シャープ株式会社 動画像復号装置および動画像符号化装置
WO2024086568A1 (en) * 2022-10-17 2024-04-25 Bytedance Inc. Method, apparatus, and medium for video processing

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008181B2 (en) * 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
US20130070855A1 (en) 2011-09-17 2013-03-21 Qualcomm Incorporated Hybrid motion vector coding modes for video coding
US9525861B2 (en) 2012-03-14 2016-12-20 Qualcomm Incorporated Disparity vector prediction in video coding
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
US9479776B2 (en) * 2012-07-02 2016-10-25 Qualcomm Incorporated Signaling of long-term reference pictures for video coding
US9674542B2 (en) * 2013-01-02 2017-06-06 Qualcomm Incorporated Motion vector prediction for video coding
WO2014166119A1 (en) 2013-04-12 2014-10-16 Mediatek Inc. Stereo compatibility high level syntax
WO2015006967A1 (en) 2013-07-19 2015-01-22 Mediatek Singapore Pte. Ltd. Simplified view synthesis prediction for 3d video coding
CN105453561B (zh) 2013-08-13 2018-10-26 寰发股份有限公司 三维以及多视图视频编码中导出默认视差向量的方法
EP3058733B1 (en) * 2013-10-14 2017-01-04 Telefonaktiebolaget LM Ericsson (publ) Picture order count alignment in scalble video
US20150160390A1 (en) 2013-12-10 2015-06-11 Apple Inc. Display Having Polarizer with Unpolarized Strip
WO2015100710A1 (en) 2014-01-02 2015-07-09 Mediatek Singapore Pte. Ltd. Existence of inter-view reference picture and availability of 3dvc coding tools
US10158884B2 (en) 2014-03-19 2018-12-18 Qualcomm Incorporated Simplified merge list construction process for 3D-HEVC
CN107079157B (zh) 2014-09-12 2020-12-22 Vid拓展公司 用于视频编码的分量间去相关
CN106416254B (zh) 2015-02-06 2019-08-02 微软技术许可有限责任公司 在媒体编码期间跳过评估阶段
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
CN108293131B (zh) 2015-11-20 2021-08-31 联发科技股份有限公司 基于优先级运动矢量预测子推导的方法及装置
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US10542280B2 (en) 2017-01-09 2020-01-21 QUALCOMM Incorpated Encoding optimization with illumination compensation and integer motion vector restriction
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US10491917B2 (en) * 2017-03-22 2019-11-26 Qualcomm Incorporated Decoder-side motion vector derivation
US10595035B2 (en) 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US11265551B2 (en) 2018-01-18 2022-03-01 Qualcomm Incorporated Decoder-side motion vector derivation
CN117294837A (zh) * 2018-04-02 2023-12-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
WO2019234578A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Asymmetric weighted bi-predictive merges
EP3834418A1 (en) 2018-09-23 2021-06-16 Beijing Bytedance Network Technology Co. Ltd. Modification of motion vector with adaptive motion vector resolution
TW202029755A (zh) 2018-09-26 2020-08-01 美商Vid衡器股份有限公司 視訊編碼雙預測
WO2020084461A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Restrictions on decoder side motion vector derivation based on coding information
CN112913240A (zh) 2018-10-22 2021-06-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导和其他编解码工具之间的并置
WO2020084507A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
JP7231727B2 (ja) 2018-11-05 2023-03-01 北京字節跳動網絡技術有限公司 精緻化を伴うインター予測のための補間
KR102670878B1 (ko) 2018-11-07 2024-05-29 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코더, 비디오 디코더 및 대응 방법
CN112997487A (zh) 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
CN113170099B (zh) 2018-11-29 2024-03-29 北京字节跳动网络技术有限公司 块内拷贝模式和帧间预测工具之间的交互
CN116915983B (zh) * 2019-02-20 2024-04-16 北京达佳互联信息技术有限公司 用于视频解码的方法、计算设备、存储介质和程序产品
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
WO2020228673A1 (en) 2019-05-10 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Conditional use of reduced secondary transform for video processing
CN117560490A (zh) 2019-07-27 2024-02-13 北京字节跳动网络技术有限公司 根据参考图片类型使用工具的限制
US20210092404A1 (en) * 2019-09-20 2021-03-25 Qualcomm Incorporated Reference picture constraint for decoder side motion refinement and bi-directional optical flow

Also Published As

Publication number Publication date
WO2021018031A1 (en) 2021-02-04
JP7322277B2 (ja) 2023-08-07
JP2022540942A (ja) 2022-09-20
EP3984227A4 (en) 2022-08-17
US11323698B2 (en) 2022-05-03
CN114175655A (zh) 2022-03-11
US20220109827A1 (en) 2022-04-07
US20220217334A1 (en) 2022-07-07
US11589039B2 (en) 2023-02-21
JP2023153885A (ja) 2023-10-18
CN114175655B (zh) 2024-01-02
EP3984227A1 (en) 2022-04-20
US20230239465A1 (en) 2023-07-27
KR20220038060A (ko) 2022-03-25

Similar Documents

Publication Publication Date Title
CN113170097B (zh) 视频编解码模式的编解码和解码
CN113647099B (zh) 解码器侧运动矢量推导
CN112913249B (zh) 广义双向预测索引的简化编解码
CN113574869B (zh) 基于光流的预测细化
CN114175655B (zh) 根据参考图片类型使用工具的限制
CN113728644B (zh) 基于子区域的运动信息细化确定
JP2024069472A (ja) 変換された片予測候補の利用
CN113678444A (zh) 具有自适应运动矢量分辨率的仿射模式的熵编解码
JP7192145B2 (ja) サイズに依存したインターコーディング
CN113767634B (zh) 利用细化的帧间预测的统一计算方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination