CN117596389A - 视频编解码中的几何分割模式 - Google Patents

视频编解码中的几何分割模式 Download PDF

Info

Publication number
CN117596389A
CN117596389A CN202311555604.8A CN202311555604A CN117596389A CN 117596389 A CN117596389 A CN 117596389A CN 202311555604 A CN202311555604 A CN 202311555604A CN 117596389 A CN117596389 A CN 117596389A
Authority
CN
China
Prior art keywords
block
equal
current video
merge
prediction
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
CN202311555604.8A
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 CN117596389A publication Critical patent/CN117596389A/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

公开了视频编解码中的几何分割模式,具体公开了视觉媒体处理的方法,包括:为视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,基于规则确定分割模式编解码工具对转换被禁用,规则取决于当前视频块的维度;以及基于确定进行转换。

Description

视频编解码中的几何分割模式
本申请是申请日为2020年9月28日、申请号为202080068176.4、发明名称为“视频编解码中的几何分割模式”的发明专利申请的分案申请。
技术领域
本文档涉及视频和图像编码和解码技术。
背景技术
数字视频占据互联网和其他数字通信网络上的最大带宽使用。随着连接的能够接收和显示视频的用户装置的数目增大,预期数字视频使用的带宽需求将持续增长。
发明内容
所公开技术可以由视频或图像解码器或编码器实施例用于使用诸如三角形分割模式的非矩形分割来进行视频比特流的编码或解码。
在一个示例性方面中,公开了视频处理的方法。方法包含,为视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,基于规则确定分割模式编解码工具对转换被禁用,规则取决于当前视频块的维度;以及基于确定进行转换。
在另一示例性方面中,公开了视频处理的方法。方法包含,为视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,基于规则确定使用光细化的预测(PROF)编解码工具的可应用性,在使用光细化的预测编解码工具中,当前视频块的预测被使用光流模型细化;以及根据确定进行转换,其中规则基于至少三个因素,包含:(1)当前视频块位于其中的条带的条带类型,(2)解码器侧运动矢量细化(DMVR)编解码工具是否对当前视频块启用,和/或(3)双向光流(BDOF)编解码工具是否对当前视频块启用。
在另一示例性方面中,公开了视频处理的方法。方法包含:进行视觉媒体数据的第一视频单元与视觉媒体数据的比特流表示之间的转换,其中根据格式规则配置比特流表示,格式规则指定,对第一视频单元在比特流表示中在指示组合帧间帧内预测(CIIP)编解码工具的使用的第二语法元素之前信令通知指示分割模式编解码工具的使用的第一语法元素,并且其中,在组合帧间帧内预测(CIIP)模式中,视频单元的最终预测基于视频单元的帧间预测和视频单元的帧内预测的加权和。
在另一示例性方面中,上述方法可以由包括处理器的视频解码器设备实现。
在另一示例性方面中,上述方法可以由包括处理器的视频编码器设备实现。
在又一示例性方面中,这些方法可以实施为处理器可执行指令的形式并储存在计算机可读程序介质上。
在又一示例性方面中,这些方法可以实施为储存在计算机可读储存介质中的比特流表示的形式。
本文档中进一步描述了这些和其他方面。
附图说明
图1示出了Merge候选列表构建的推导过程。
图2示出了空域Merge候选的位置的示例。
图3示出了对空域Merge候选的冗余检查考虑的候选对的示例。
图4示出了N×2N和2N×N分割的第二PU的示例性位置。
图5示出了时域Merge候选的运动矢量缩放的图示的示例。
图6示出了时域Merge候选的候选位置的示例,C0和C1。
图7示出了组合双向预测Merge候选的示例。
图8示出了运动矢量预测候选的推导过程的示例。
图9示出了空域运动矢量候选的运动矢量缩放的示例性图示。
图10示出了4参数仿射模式(左)和6参数仿射模型(右)的示例性简化仿射运动模型。
图11示出了每个子块的仿射运动矢量场的示例。
图12示出了仿射Merge模式的示例性候选位置。
图13示出了修改Merge列表构建过程的示例。
图14示出了基于三角分割的帧间预测的示例。
图15示出了应用第1加权因数组的CU的示例。
图16示出了运动矢量储存的示例。
图17示出了最终运动矢量表达(UMVE)搜索过程的示例。
图18示出了UMVE搜索点的示例。
图19示出了在DMVR中的列表0与列表1之间镜像的MVD(0,1)的示例。
图20示出了可以在一次迭代中检查的MV。
图21是帧内块复制的示例。
图22是视频处理设备的示例的框图。
图23是视频处理方法的示例的流程图。
图24示出了共享Merge区域(SMR,具有16x4尺寸)和SMR下的3个CU的示例。
图25是可以实现所公开技术的示例性视频处理系统的框图。
图26示出了光流轨迹的示例。
图27A-27B示出了没有块扩展的BIO的示例。
图28示出了BIO中所使用的插值样点的示例。
图29示出了子块MV VSB和像素Δv(i,j)的示例。
图30示出了JVET-P0068中的提案和VTM-6.0中的TPM设计的示例。
图31示出了GEO划分边界描述。
图32示出了几何Merge模式的角度量化的示例。
图33示出了VTM-5.0中的Merge模式的信令通知。
图34示出了提议的Merge模式的信令通知方法的示例。
图35是可以实现所公开技术的示例性视频处理系统的框图。
图36是图示了示例性视频编解码系统的框图。
图37是图示了根据本公开的一些实施例的编码器的框图。
图38是图示了根据本公开的一些实施例的解码器的框图。
图39是视觉媒体处理方法的示例的流程图。
图40是视觉媒体处理方法的示例的流程图。
图41是视觉媒体处理方法的示例的流程图。
具体实施方式
本文档提供可以由图像或视频比特流的解码器使用的各种技术,以改善压缩或编码的数字视频或图像的质量。出于简要,本文中使用术语“视频”来包含图片的序列(传统地称为视频)和单独的图像两者。另外,视频编码器还可以在编码的过程期间实现这些技术,以便重构用于进一步编码的解码帧。
在本文档中使用章节标题以易于理解,并且不将实施例和技术限制到对应的章节。因此,来自一个章节的实施例可以与来自其他章节的实施例组合。
1.简要概括
本文档涉及视频编解码技术。具体地,其涉及包含三角形预测模式的Merge编解码。其可以应用于如HEVC的现有视频编解码标准,或待定案的标准(多功能视频编解码)。其还可以应用于未来的视频编解码标准或视频编解码器。
2.初始讨论
视频编解码标准已经主要通过熟知的ITU-T和ISO/IEC标准的发展而演进。ITU-T产生了H.261和H.263,ISO/IEC产生了MPEG-1和MPEG-4视觉,并且两个组织联合地产生了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自从H.262,视频编解码标准基于混合视频编解码结构,其中采用时域预测加上变换编解码。为了探索HEVC以外的未来视频编解码技术,联合视频探索小组(JVET)由VCEG和MPEG在2015年联合成立。从此,许多新方法已经被JVET采用并放到名为联合探索模型(JEM)的参考软件中。在2018年4月,创建了VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家小组(JVET)以研究VVC标准,目标是与HEVC相比50%比特率减少。
最新版本的VVC草案,即,多功能视频编解码(草案5)可以在以下找到:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v7.zip VVC的最新参考软件(名为VTM)可以在以下找到:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0
2.1HEVC/H.265中的帧间预测
对于帧间编解码的编解码单元(CU),根据分割模式,其可以用一个预测单元(PU)、2个PU编解码。每个帧间预测PU具有一个或两个参考图片列表的运动参数。运动参数包含运动矢量和参考图片索引。两个参考图片列表之一的使用还可以使用inter_pred_idc信令通知。运动矢量可以显式地编解码为相对于预测符的增量。
当CU用跳过模式编解码时,一个PU与CU相关联,并且不存在显著残差系数,不存在编解码运动矢量增量或参考图片索引。指定Merge模式,由Merge模式从邻接PU获得当前PU的运动参数,包含空域和时域候选。Merge模式可以被应用于任意帧间预测PU,不仅是跳过模式。作为Merge模式的替代是运动参数的显式发送,其中运动矢量(更准确地,与运动矢量预测符相比的运动矢量差异(MVD))、每个参考图片列表的对应的参考图片索引和参考图片列表使用对每个PU被显式地信令通知。这样的模式在本公开中称为高级运动矢量预测(AMVP)。
当信令通知指示两个参考图片列表之一要被使用时,从样点的一个块产生PU。这称为‘单向预测’。单向预测对P条带和B条带两者都可用。
当信令通知指示要使用参考图片列表两者时,从样点的两个块产生PU。这称为‘双向预测’。双向预测仅对于B条带可用。
以下文本提供关于HEVC中指定的帧间预测模式的细节。描述将开始于Merge模式。
2.1.1参考图片列表
在HEVC中,术语帧间预测被用于指代从参考图片而非当前解码图片的数据元素(例如,样点值或运动矢量)推导的预测。如在H.264/AVC中一样,图片可以被从多个参考图片预测。用于帧间预测的参考图片被组织为一个或多个参考图片列表。参考索引标识列表中的参考图片中的哪个应被用于创建预测信令通知。
单个参考图片列表(列表0)被用于P条带,并且两个参考图片列表(列表0和列表1)被用于B条带。应注意,就捕获/显示顺序而言,包含在列表0/1中的参考图片可以是来自过去和未来的图片。
2.1.2Merge模式
2.1.2.1Merge模式的候选的推导
当PU是使用Merge模式预测时,指向Merge候选列表中的条目的索引被从比特流解析并被用于检索运动信息。在HEVC标准中指定该列表的构建,并且可以根据以下步骤的序列概括:
·步骤1:初始候选推导
ο步骤1.1:空域候选推导
ο步骤1.2:空域候选的冗余检查
ο步骤1.3:时域候选推导
·步骤2:附加候选插入
ο步骤2.1:双向预测候选的创建
ο步骤2.2:零运动候选的插入
这些步骤还在图1中示意性绘示。对于空域Merge候选推导,在位于五个不同位置中的候选之中选择最多四个Merge候选。对于时域Merge候选推导,在两个候选之中选择最多一个Merge候选。由于在解码器处假设每个PU恒定数目的候选,当从步骤1获得的候选的数目达不到在条带头中信令通知的Merge候选的最大数目(MaxNumMergeCand)时,生成附加候选。由于候选的数目是恒定的,使用截断一元二值化(TU)编码最佳Merge候选的索引。如果CU的尺寸等于8,则当前CU的全部PU共享单个Merge候选列表,其与2N×2N预测单元的Merge候选列表相同。
在以下,与前述步骤相关联的操作被详述。
2.1.2.2空域候选推导
在空域Merge候选的推导中,在位于图2中绘示的位置中的候选之中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任意PU不可用(例如因为其属于另一条带或片)或是帧内编解码的时才考虑位置B2。在在位置A1处添加候选之后,其余候选的添加经受冗余检查,其确保具有相同运动信息的候选被从列表排除,使得编解码效率改善。为降低计算复杂度,不是全部可能的候选对都在提到的冗余检查被考虑。反之,仅与图3中的箭头链接的对被考虑,并且仅如果用于冗余检查的对应的候选不具有相同运动信息才将候选添加到列表。重复的运动信息的另一来源是与不同于Nx2N的分割相关联的“第二PU”。作为示例,图4分别绘示了N×2N和2N×N的情况的第二PU。当当前PU被分割为N×2N时,对列表构建不考虑位置A1处的候选。事实上,通过添加此候选将导致两个预测单元具有相同的运动信息,这对于在编解码单元中仅具有一个PU是冗余的。相似地,当当前PU分割为2N×N时,不考虑位置B1
2.1.2.3时域候选推导
在该步骤中,仅一个候选被添加到列表。特别地,在推导该时域Merge候选时,基于共位图片中的共位PU推导缩放运动矢量。时域Merge候选的缩放运动矢量如图5中虚线所示获得,其从共位PU的运动矢量使用POC距离(tb和td)缩放,其中tb被定义为当前图片的参考图片与当前图片之间的POC差异,并且td被定义为共位图片的参考图片与共位图片之间的POC差异。时域Merge候选的参考图片索引被设定为等于零。在HEVC规范[1]中描述了缩放过程的实际实现。对于B条带,两个运动矢量被获得并组合以进行双向预测Merge候选,一个用于参考图片列表0且另一个用于参考图片列表1。
2.1.2.4共位图片和共位PU
当启用TMVP(即,slice_temporal_mvp_enabled_flag等于1)时,表示共位图片的变量ColPic被推导如下:
–如果当前条带是B条带且信令通知的collocated_from_l0_flag等于0,则ColPic被设定为等于RefPicList1[collocated_ref_idx]。
–否则(slice_type等于B且collocated_from_l0_flag等于1,或slice_type等于P),ColPic被设定为等于RefPicList0[collocated_ref_idx]。
其中collocated_ref_idx和collocated_from_l0_flag是可以在条带头中被信令通知的两个语法元素。
在属于参考帧的共位PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图6中所示。如果位置C0处的PU不可用、是帧内编解码的或在当前编解码树单元(CTU,又称为LCU,最大编解码单元)行之外,则使用位置C1。否则,在推导时域Merge候选中使用位置C0
相关语法元素描述如下:
7.3.6.1一般条带段头语法
2.1.2.5TMVP候选的MV的推导
更具体地,进行以下步骤以便推导TMVP候选:
1)设定参考图片列表X=0,目标参考图片为列表X中的具有等于0的索引的参考图片(即,curr_ref)。调用共位运动矢量的推导过程以得到指向curr_ref的列表X的MV。
2)如果当前条带是B条带,则设定参考图片列表X=1,目标参考图片为在列表X中具有等于0的索引的参考图片(即,curr_ref)。调用共位运动矢量的推导过程以得到指向curr_ref的列表X的MV。
接下来的子章节2.1.2.5.1中描述了共位运动矢量的推导过程。
2.1.2.5.1共位运动矢量的推导过程
对于共位块,其可以是使用单向预测或双向预测来帧内或帧间编解码的。如果其是帧内编解码的,则TMVP候选被设定为不可用。
如果其是来自列表A的单向预测,则列表A的运动矢量被缩放到目标参考图片列表X。
如果其是双向预测且目标参考图片列表是X,则列表A的运动矢量被缩放到目标参考图片列表X,并且根据以下规则确定A:
–如果没有参考图片具有与当前图片相比的更大POC值,则A被设定为等于X。
–否则,A被设定为等于collocated_from_l0_flag。
JCTVC-W1005-v4中的相关工作草案描述如下:
8.5.3.2.9共位运动矢量的推导过程
对该过程的输入是:
–变量currPb,指定当前预测块,
–变量colPb,指定由ColPic指定的共位图片之内的共位预测块,
–亮度位置(xColPb,yColPb),相对于由ColPic指定的共位图片的左顶亮度样点指定由colPb指定的共位亮度预测块的左顶样点,
–参考索引refIdxLX,其中X为0或1。
该过程的输出是:
–运动矢量预测mvLXCol,
–可用性标志availableFlagLXCol。
变量currPic指定当前图片。
阵列predFlagL0Col[x][y]、mvL0Col[x][y]和refIdxL0Col[x][y]被分别设定为等于由ColPic指定的共位图片的PredFlagL0[x][y]、MvL0[x][y]和RefIdxL0[x][y],并且阵列predFlagL1Col[x][y]、mvL1Col[x][y]和refIdxL1Col[x][y]被分别设定为等于由ColPic指定的共位图片的PredFlagL1[x][y]、MvL1[x][y]和RefIdxL1[x][y]。
变量mvLXCol和availableFlagLXCol推导如下:
–如果colPb是以帧内预测模式编解码的,则mvLXCol的两个分量都被设定为等于0,并且availableFlagLXCol被设定为等于0。
–否则,运动矢量mvCol、参考索引refIdxCol和参考列表标识符listCol推导如下:
–如果predFlagL0Col[xColPb][yColPb]等于0,则mvCol、refIdxCol和listCol分别被设定为等于mvL1Col[xColPb][yColPb]、refIdxL1Col[xColPb][yColPb]和L1。
–否则,如果predFlagL0Col[xColPb][yColPb]等于1且predFlagL1Col[xColPb][yColPb]等于0,则mvCol、refIdxCol和listCol分别被设定为等于mvL0Col[xColPb][yColPb]、refIdxL0Col[xColPb][yColPb]和L0。
–否则(predFlagL0Col[xColPb][yColPb]等于1且predFlagL1Col[xColPb][yColPb]等于1),进行以下分配:
–如果NoBackwardPredFlag等于1,则mvCol、refIdxCol和listCol分别被设定为等于mvLXCol[xColPb][yColPb]、refIdxLXCol[xColPb][yColPb]和LX。
–否则,mvCol、refIdxCol和listCol分别被设定为等于mvLNCol[xColPb][yColPb]、refIdxLNCol[xColPb][yColPb]和LN,且N为collocated_from_l0_flag的值。
并且mvLXCol和availableFlagLXCol推导如下:
–如果LongTermRefPic(currPic、currPb、refIdxLX、LX)不等于LongTermRefPic(ColPic、colPb、refIdxCol、listCol),则mvLXCol的两个分量都被设定为等于0且availableFlagLXCol被设定为等于0。
–否则,变量availableFlagLXCol被设定为等于1,refPicListCol[refIdxCol]被设定为在由ColPic指定的共位图片中的含有预测块colPb的条带的参考图片列表listCol中的具有参考索引refIdxCol的图片,并且以下适用:
colPocDiff=DiffPicOrderCnt(ColPic,refPicListCol[refIdxCol])(2-1)
currPocDiff=DiffPicOrderCnt(currPic,RefPicListX[refIdxLX])(2-2)
–如果RefPicListX[refIdxLX]是长期参考图片,或colPocDiff等于currPocDiff,则mvLXCol被推导如下:
mvLXCol=mvCol(2-3)
–否则,mvLXCol被推导为运动矢量mvCol的缩放版本如下:
tx=(16384+(Abs(td)>>1))/td(2-4)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)(2-5)
mvLXCol=Clip3(-32768,32767,Sign(distScaleFactor*mvCol)*((Abs(distScaleFactor*mvCol)+127)>>8))(2-6)其中td和tb推导如下:
td=Clip3(-128,127,colPocDiff)(2-7)
tb=Clip3(-128,127,currPocDiff)(2-8)
NoBackwardPredFlag的定义是:
变量NoBackwardPredFlag被推导如下:
–如果DiffPicOrderCnt(aPic,CurrPic)对于当前条带的RefPicList0或RefPicList1中的每个图片aPic小于或等于0,则NoBackwardPredFlag被设定为等于1。
–否则,NoBackwardPredFlag被设定为等于0。
2.1.2.6附加候选插入
除空域和时域Merge候选之外,存在两种附加类型的Merge候选:组合双向预测Merge候选和零Merge候选。组合双向预测Merge候选通过利用空域和时域Merge候选而生成。组合双向预测Merge候选仅被用于B条带。组合双向预测候选通过将初始候选的第一参考图片列表运动参数与另一个候选的第二参考图片列表运动参数组合而生成。如果这两个元组(tuple)提供不同的运动假设,则它们将形成新的双向预测候选。作为示例,图7绘示了在原始列表(左侧)中的两个候选(具有mvL0和refIdxL0,或mvL1和refIdxL1)被用于创建被添加到最终列表(右侧)中的组合双向预测Merge候选时的情况。存在关于被考虑以生成这些附加Merge候选的组合的许多规则,在[1]中限定。
零运动候选被插入以填充Merge候选列表中的其余条目,并且因此达到MaxNumMergeCand容量。这些候选具有零空域移位和参考图片索引,所述参考图片索引始自零且每次新的零运动候选被添加到列表时增大。最终,不在这些候选上进行冗余检查。
2.1.3AMVP
AMVP利用运动矢量与邻接PU的空时域关联,其被用于运动参数的显式发送。对于每个参考图片列表,通过以下来构建运动矢量候选列表:首先检查左、上时域上邻接PU位置的可用性,移除冗余候选,以及添加零矢量以使候选列表为恒定长度。然后,编码器可以从候选列表选择最佳预测符并传输指示所选候选的对应的索引。与Merge索引信令通知相似,使用截断一元编码最佳运动矢量候选的索引。在此情况下编码的最大值是2(见图8)。在以下章节中,提供了关于运动矢量预测候选的推导过程的细节。
2.1.3.1AMVP候选的推导
图8概括了运动矢量预测候选的推导过程。
在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导,基于如图2所示的位于五个不同位置中的每个PU的运动矢量,最终推导两个运动矢量候选。
对于时域运动矢量候选推导,从两个候选中选择一个运动矢量候选,所述两个候选是基于两个不同共位位置推导的。在产生空时域候选的第一列表之后,列表中的重复的运动矢量候选被移除。如果潜在候选的数目大于二,则相关联的参考图片列表内的参考图片索引大于1的运动矢量候选被从列表移除。如果空时域运动矢量候选的数目小于二,则附加零运动矢量候选被添加到列表。
2.1.3.2空域运动矢量候选
在空域运动矢量候选的推导,在五个潜在候选之中考虑最多两个候选,所述五个潜在候选是从位于图2中所示的位置的PU推导的,所示位置与运动Merge的那些位置相同。当前PU的左侧的推导的顺序定义为A0、A1,以及缩放的A0、缩放的A1。当前PU的上侧的推导的顺序定义为B0、B1、B2、缩放的B0、缩放的B1、缩放的B2。因此对于每侧存在可以用作运动矢量候选的四种情况,其中两种情况不要求使用空域缩放,并且两种情况使用空域缩放。四种不同情况概括如下。
·无空域缩放
–(1)相同参考图片列表,并且相同参考图片索引(相同POC)
–(2)不同参考图片列表,但相同参考图片(相同POC)
·空域缩放
–(3)相同参考图片列表,但不同参考图片(不同POC)
–(4)不同参考图片列表,且不同参考图片(不同POC)
首先检查无空域缩放情况,之后检查空域缩放。在邻接PU的参考图片与当前PU的参考图片之间的POC不同时考虑空域缩放,而无论参考图片列表。如果左侧候选的全部PU都不可用或是帧内编解码的,则允许对上方运动矢量的缩放,以帮助左侧和上方MV候选的并行推导。否则,对于上方运动矢量不允许空域缩放。
在空域缩放过程中,邻接PU的运动矢量以与时域缩放相似方式缩放,如图9所示。主要差异是,当前PU的参考图片列表和索引被给定作为输入;实际缩放过程与时域缩放的缩放过程相同。
2.1.3.3时域运动矢量候选
除参考图片索引推导之外,推导时域Merge候选的全部过程与推导空域运动矢量候选的过程(见图6)相同。参考图片索引被信令通知到解码器。
2.2VVC中的帧间预测方法
存在用于帧间预测改善的若干新的编解码工具,诸如用于信令通知MVD的自适应运动矢量差异分辨率(AMVR)、具有运动矢量差异的Merge(MMVD)、三角形预测模式(TPM)、组合帧内帧间预测(CIIP)、高级TMVP(ATMVP,又称为SbTMVP)、仿射预测模式、广义双向预测(GBI)、解码器侧运动矢量细化(DMVR)和双向光流(BIO,又称为BDOF)。
存在VVC中支持的三种不同Merge列表构建过程:
1)子块Merge候选列表:其包含ATMVP和仿射Merge候选。一种Merge列表构建过程被两种仿射模式和ATMVP模式共享。此处,ATMVP和仿射Merge候选可以按顺序添加。子块Merge列表尺寸被在条带头中信令通知,且最大值为5。
2)常规Merge列表:对于帧间编解码块,一个Merge列表构建过程被共享。此处,空域/时域Merge候选、HMVP、成对Merge候选和零运动候选可以被按顺序插入。常规Merge列表尺寸被在条带头中信令通知,且最大值为6。MMVD、TPM、CIIP依赖常规Merge列表。
3)IBCMerge列表:以与常规Merge列表相似方式进行。
相似地,存在VVC中支持的三种AMVP列表:
1)仿射AMVP候选列表
2)常规AMVP候选列表
3)IBC AMVP候选列表:由于采用JVET-N0843,与IBC Merge
列表相同构建过程
2.2.1VVC中的编解码块结构
在VVC中,采用四叉树/二叉树/三叉树(QT/BT/TT)结构,以将图片分为正方形或矩形块。
除QT/BT/TT之外,在VVC中还对I帧采用分离树(又称为双编解码树)。在分离树的情况下,编解码块结构对于亮度和色度分量被分开地信令通知。
此外,CU被设定为等于PU和TU,除了用几个特定编解码方法(诸如帧内子分割预测,其中PU等于TU,但小于CU;以及帧间编解码块的子块变换,其中PU等于CU,但TU小于PU)编解码的块之外。
2.2.2仿射预测模式
在HEVC中,仅对运动补偿预测(MCP)应用平移运动模型。而在真实世界中,存在许多种类的运动,例如拉近/推远、旋转、透视运动和其他非常规运动。在VVC中,以4参数仿射模型和6参数仿射模型应用简化仿射变换运动补偿预测。如图10所示,块的仿射运动场对于4参数仿射模型由两个控制点运动矢量(CPMV)描述,并且对于6参数仿射模型由3个CPMV描述。
块的运动矢量场(MVF)由以下等式描述,分别在4参数仿射模型(其中4参数定义为变量a、b、e和f)的情况下由等式(1)描述,并且在6参数仿射模型(其中4参数定义为变量a、b、c、d、e和f)的情况下以等式(2)描述:
其中(mvh 0,mvh 0)是左顶角控制点的运动矢量,并且(mvh 1,mvh 1)是右顶角控制点的运动矢量,并且(mvh 2,mvh 2)是左底角控制点的运动矢量,全部三个运动矢量称为控制点运动矢量(CPMV),(x,y)表示相对于当前块内的左顶样点的代表性点的坐标,并且(mvh(x,y),mvv(x,y))是对位于(x,y)处的样点推导的运动矢量。CP运动矢量可以被信令通知(如在仿射AMVP模式中)或被实时推导(如在仿射Merge模式中)。W和h是当前块的宽度和高度。实践中,通过右移与取整操作来实现除法。在VTM中,代表性点被定义为子块的中央位置,例如,当相对于当前块内的左顶样点的子块的左顶角的坐标是(xs,ys)时,代表性点的坐标被定义为(xs+2,ys+2)。对于每个子块(即,在VTM中的4x4),代表性点被用于推导整个子块的运动矢量。
为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。为了推导每个M×N(在当前VVC中,M和N都被设定为4)子块的运动矢量,根据等式(1)和(2)计算如图11所示的每个子块的中央样点的运动矢量,并且取整到1/16分数准确度。然后1/16像素的运动补偿插值滤波被用于以推导的运动矢量生成每个子块的预测。1/16像素的插值滤波由仿射模式引入。
在MCP之后,每个子块的高准确度运动矢量被取整并保存为与普通运动矢量相同的准确度。
2.2.3整个块的MERGE
2.2.3.1平移常规Merge模式的Merge列表构建
2.2.3.1.1基于历史的运动矢量预测(HMVP)
不同于Merge列表设计,在VVC中,采用基于历史的运动矢量预测(HMVP)方法。
在HMVP中,储存之前编解码的运动信息。之前编解码的块的运动信息定义为HMVP候选。多个HMVP候选储存在表中,名为HMVP表,并且该表在编码/解码过程期间实时维护。当开始编码/解码新的片/LCU行/条带时,将HMVP表清空。只要存在帧间编解码块和非子块、非TPM模式,相关联的运动信息被添加到表的最后条目作为新的HMVP候选。总体编解码流程在图12中绘示。
2.2.3.1.2.常规Merge列表构建过程
常规Merge列表(用于平移运动)的构建可以根据以下步骤的序列概括:
·步骤1:推导空域候选
·步骤2:插入HMVP候选
·步骤3:插入成对平均候选
·步骤4:默认运动候选
HMVP候选可以在AMVP和Merge候选列表构建过程两者中被使用。图13绘示了修改的Merge候选列表构建过程(在灰方框中高亮)。当Merge候选列表在TMVP候选插入之后未满时,储存在HMVP表中的HMVP候选可以被用于填充在Merge候选列表中。考虑到一个块通常与最近的邻接块就运动信息而言具有较高关联,表中的HMVP候选以索引的降序插入。表中的最后的条目首先被添加到列表,而第一条目最后被添加。相似地,在HMVP候选上应用冗余移除。一旦可用Merge候选的总数达到允许信令通知的Merge候选的最大数目,Merge候选列表构建过程终止。
注意到,全部空域/时域/HMVP候选应以非IBC模式编解码。否则,其不允许被添加到常规Merge候选列表。
HMVP表含有至多5个常规运动候选,并且它们中的每一个是唯一的。
2.2.3.1.2.1修剪过程
仅如果用于冗余检查的对应的候选不具有相同的运动信息,才将候选添加到列表。这样的比较过程称为修剪过程。
空域候选之中的修剪过程取决于对当前块的TPM的使用。
当当前块在不是TPM模式(例如,常规Merge、MMVD、CIIP)的情况下编解码时,对空域Merge候选采用HEVC修剪过程(即,五修剪)。
2.2.4三角形预测模式(TPM)
在VVC中,对帧间预测支持三角分割模式。三角分割模式仅应用于8x8或更大的且以Merge模式但不以MMVD或CIIP模式编解码的CU。对于满足这些条件的CU,信令通知CU级别标志以指示是否应用三角分割模式。
当使用该模式时,CU被均匀划分为两个三角形分割,使用对角划分或反对角划分,如图14所示。CU中的每个三角分割是使用其自身运动的帧间预测的;对每个分割仅允许单向预测,即,每个分割具有一个运动矢量和一个参考索引。应用单向预测运动约束以确保与常规双向预测相同,每个CU需要仅两个运动补偿的预测。
如果CU级别标志指示当前CU是使用三角分割模式编解码的,则指示三角分割的方向(对角或反对角)的标志,以及两个Merge索引(每个分割一个)被进一步信令通知。在预测三角分割中的每一个之后,使用具有自适应权重的混合处理调整沿着对角或反对角边缘的样点值。这是整个CU的预测信令通知,并且变换和量化过程将应用于整个CU,如在其他预测模式中一样。最终,使用三角分割模式预测的CU的运动场储存在4x4单元中。
常规Merge候选列表被重复用于三角分割Merge预测,而没有额外运动矢量修剪。对于常规Merge候选列表中的每个Merge候选,其L0或L1运动矢量中的一个且仅一个被用于三角预测。此外,选择L0对L1运动矢量的顺序基于其Merge索引奇偶性。在此方案的情况下,常规Merge列表可以直接使用。
2.2.4.1TPM的Merge列表构建过程
基本上,常规Merge列表构建过程如JVET-N0340中所提议应用。然而,添加了一些修改。
具体地,以下适用:
1)如何进行修剪过程取决于对当前块的TPM的使用
–如果当前块不是以TPM编解码的,则调用应用于空域Merge候选的HEVC 5修剪
–否则(如果当前块是以TPM编解码的),当添加新的空域Merge候选时,应用完整修剪。即,B1与A1比较;B0与A1和B1比较;A0与A1、B1和B0比较;B2与A1、B1、A0和B0比较。
2)是否检查来自B2的运动信息的条件取决于对当前块的TPM的使用
–如果当前块不是以TPM编解码的,则仅当在检查B2之前存在小于4个空域Merge候选时访问并检查B2。
–否则(如果当前块是以TPM编解码的),则总是访问并检查B2,无论在添加B2之前有多少可用空域Merge候选。
2.2.4.2自适应加权过程
在预测每个三角形预测单元之后,自适应加权过程被应用于两个三角形预测单元之间的对角边缘,以推导整个CU的最终预测。两个加权因数组定义如下:
·第1加权因数组:{7/8,6/8,4/8,2/8,1/8}和{7/8,4/8,1/8}
分别被用于亮度和色度样点;
·第2加权因数组:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}和{6/8,
4/8,2/8}分别被用于亮度和色度样点。
加权因数组是基于两个三角形预测单元的运动矢量的比较而选择的。当以下条件中的任一个为真时,使用第2加权因数组:
–两个三角形预测单元的参考图片彼此不同
–两个运动矢量的水平值的差的绝对值大于16像素。
–两个运动矢量的垂直值的差的绝对值大于16像素。
否则,使用第1加权因数组。图15中示出了示例。
2.2.4.3运动矢量储存
三角形预测单元的运动矢量(图16中的Mv1和Mv2)储存在4×4网格中。对于每个4×4网格,储存单向预测或双向预测运动矢量,取决于4×4网格在CU中的位置。如图16所示,对位于非加权区域(即,不是位于对角边缘处)中的4×4网格储存单向预测运动矢量(Mv1或Mv2)。另一方面,对位于加权区域中的4×4网格储存双向预测运动矢量。根据以下规则从Mv1和Mv2推导双向预测运动矢量:
1)在Mv1和Mv2具有来自不同方向(L0或L1)的运动矢量的情况下,Mv1和Mv2被简单地组合以形成双向预测运动矢量。
2)在Mv1和Mv2两者来自相同L0(或L1)方向的情况下,
–如果Mv2的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv2被缩放到该图片。Mv1和缩放的Mv2被组合以形成双向预测运动矢量。
–如果Mv1的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv1被缩放到该图片。缩放的Mv1和Mv2被组合以形成双向预测运动矢量。
–否则,对加权区域仅储存Mv1。
2.2.4.4Merge模式的语法表、语义和解码过程
7.3.5.1一般条带头语法
/>
7.3.7.5编解码单元语法
/>
7.3.7.7Merge数据语法
/>
7.4.6.1一般条带头语义
six_minus_max_num_merge_cand指定6减去条带中支持的Merge运动矢量预测(MVP)候选的最大数目。Merge MVP候选的最大数目,MaxNumMergeCand被推导如下:
MaxNumMergeCand=6-six_minus_max_num_merge_cand(7-57)
MaxNumMergeCand的值应在1至6的范围内(含端值)。
five_minus_max_num_subblock_merge_cand指定5减去条带中支持的基于子块的Merge运动矢量预测(MVP)候选的最大数目。当five_minus_max_num_subblock_merge_cand不存在时,其被推断为等于5-sps_sbtmvp_enabled_flag。基于子块的Merge MVP候选的最大数目,MaxNumSubblockMergeCand被推导如下:
MaxNumSubblockMergeCand=5-five_minus_max_num_subblock_merge_cand(7-58)
MaxNumSubblockMergeCand的值应在0至5的范围内(含端值)。
7.4.8.5编解码单元语义
pred_mode_flag等于0指定,当前编解码单元是以帧间预测模式编解码的。pred_mode_flag等于1指定,当前编解码单元是以帧内预测模式编解码的。
当pred_mode_flag不存在时,其被推断如下:
–如果cbWidth等于4且cbHeight等于4,则pred_mode_flag被推断为等于1。
–否则,pred_mode_flag分别在解码I条带时被推断为等于1和在解码P或B条带时被推断为等于0。
对于x=x0..x0+cbWidth–1且y=y0..y0+cbHeight–1,变量CuPredMode[x][y]被推导如下:
–如果pred_mode_flag等于0,则CuPredMode[x][y]被设定为等于MODE_INTER。
–否则(pred_mode_flag等于1),则CuPredMode[x][y]被设定为等于MODE_INTRA。
pred_mode_ibc_flag等于1指定,当前编解码单元是以IBC预测模式编解码的。pred_mode_ibc_flag等于0指定,当前编解码单元不是以IBC预测模式编解码的。
当pred_mode_ibc_flag不存在时,其被推断如下:
–如果cu_skip_flag[x0][y0]等于1,且cbWidth等于4,且cbHeight等于4,则pred_mode_ibc_flag被推断为等于1。
–否则,如果cbWidth和cbHeight两者都等于128,则pred_mode_ibc_flag被推断为等于0。
–否则,pred_mode_ibc_flag分别在解码I条带时被推断为等于sps_ibc_enabled_flag的值和在解码P或B条带时被推断为等于0。
当pred_mode_ibc_flag等于1时,对于x=x0..x0+cbWidth–1且y=y0..y0+cbHeight–1,变量CuPredMode[x][y]被设定为等于MODE_IBC。
general_merge_flag[x0][y0]指定当前编解码单元的帧间预测参数是否是从邻接帧间预测分割推断的。阵列索引x0、y0指定相对于图片的左顶亮度样点所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当general_merge_flag[x0][y0]不存在时,其被推断如下:
–如果cu_skip_flag[x0][y0]等于1,则general_merge_flag[x0][y0]
被推断为等于1。
–否则,general_merge_flag[x0][y0]被推断为等于0。
mvp_l0_flag[x0][y0]指定列表0的运动矢量预测符索引,x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当mvp_l0_flag[x0][y0]不存在时,其被推断为等于0。
mvp_l1_flag[x0][y0]具有与mvp_l0_flag相同的语义,其中l0和列表0分别被l1和列表1替换。
inter_pred_idc[x0][y0]指定列表0、列表1或双向预测是否被用于当前编解码单元,根据表7-10。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
表7-10–对帧间预测模式的名称关联
当inter_pred_idc[x0][y0]不存在时,其被推断为等于PRED_L0。
7.4.8.7Merge数据语义
regular_merge_flag[x0][y0]等于1指定,常规Merge模式被用于生成当前编解码单元的帧间预测参数。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当regular_merge_flag[x0][y0]不存在时,其被推断如下:
–如果全部以下条件为真,则regular_merge_flag[x0][y0]被推断为等于1:
–sps_mmvd_enabled_flag等于0。
–general_merge_flag[x0][y0]等于1。
–cbWidth*cbHeight等于32。
–否则,regular_merge_flag[x0][y0]被推断为等于0。
mmvd_merge_flag[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。
mmvd_cand_flag[x0][y0]指定Merge候选列表中的第一(0)还是第二(1)候选与从mmvd_distance_idx[x0][y0]和mmvd_direction_idx[x0][y0]推导的运动矢量差异一起使用。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当mmvd_cand_flag[x0][y0]不存在时,其被推断为等于0。
mmvd_distance_idx[x0][y0]指定用于推导MmvdDistance[x0][y0]的索引,如表7-12中所指定。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
表7-12–基于mmvd_distance_idx[x0][y0]的MmvdDistance[x0][y0]的规范
mmvd_direction_idx[x0][y0]指定用于推导MmvdSign[x0][y0]的索引,如表7-13中所指定。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
表7-13–基于mmvd_direction_idx[x0][y0]的MmvdSign[x0][y0]的规范
Merge加上MVD偏移MmvdOffset[x0][y0]的两个分量推导如下:
MmvdOffset[x0][y0][0]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][0]
(7-124)
MmvdOffset[x0][y0][1]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][1]
(7-125)
merge_subblock_flag[x0][y0]指定当前编解码单元的基于子块的帧间预测参数是否从邻接块推断。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。当merge_subblock_flag[x0][y0]不存在时,其被推断为等于0。
merge_subblock_idx[x0][y0]指定基于子块的Merge候选列表的Merge候选索引,其中x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当merge_subblock_idx[x0][y0]不存在时,其被推断为等于0。
ciip_flag[x0][y0]指定是否对当前编解码单元应用组合的帧间图片Merge和帧内图片预测。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当ciip_flag[x0][y0]不存在时,其被推断为等于0。
当ciip_flag[x0][y0]等于1时,变量IntraPredModeY[x][y],其中x=xCb..xCb+cbWidth–1且y=yCb..yCb+cbHeight–1,被设定为等于INTRA_PLANAR。
变量MergeTriangleFlag[x0][y0](其指定当解码B条带时基于三角形的运动补偿是否被用于生成当前编解码单元的预测样点)被推导如下:
–如果全部以下条件为真,则MergeTriangleFlag[x0][y0]被设定为等于1:
–sps_triangle_enabled_flag等于1。
–slice_type等于B。
–general_merge_flag[x0][y0]等于1。
–MaxNumTriangleMergeCand大于或等于2。
–cbWidth*cbHeight大于或等于64。
–regular_merge_flag[x0][y0]等于0。
–mmvd_merge_flag[x0][y0]等于0。
–merge_subblock_flag[x0][y0]等于0。
–ciip_flag[x0][y0]等于0。
–否则,MergeTriangleFlag[x0][y0]被设定为等于0。
merge_triangle_split_dir[x0][y0]指定Merge三角模式的划分方向。阵列索引x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当merge_triangle_split_dir[x0][y0]不存在时,其被推断为等于0。
merge_triangle_idx0[x0][y0]指定基于三角形的运动补偿候选列表的第一Merge候选索引,其中x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当merge_triangle_idx0[x0][y0]不存在时,其被推断为等于0。
merge_triangle_idx1[x0][y0]指定基于三角形的运动补偿候选列表的第二Merge候选索引,其中x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当merge_triangle_idx1[x0][y0]不存在时,其被推断为等于0。
merge_idx[x0][y0]指定Merge候选列表的Merge候选索引,其中x0、y0指定相对于图片的左顶亮度样点的所考虑编解码块的左顶亮度样点的位置(x0,y0)。
当merge_idx[x0][y0]不存在时,其被推断如下:
–如果mmvd_merge_flag[x0][y0]等于1,则merge_idx[x0][y0]
被推断为等于mmvd_cand_flag[x0][y0]。
–否则(mmvd_merge_flag[x0][y0]等于0),merge_idx[x0][y0]被推断为等于0。
2.2.4.4.1解码过程
如JVET-N0340中所提供的解码过程定义如下:
8.5.2.2Merge模式的亮度运动矢量的推导过程
仅当general_merge_flag[xCb][yCb]等于1时调用该过程,其中(xCb,yCb)指定相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点。
该过程的输入是:
–相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(xCb,yCb),
–变量cbWidth,指定亮度样点中的当前编解码块的宽度,
–变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出是:
–1/16分数样点准确度的亮度运动矢量mvL0[0][0]和mvL1[0][0],
–参考索引refIdxL0和refIdxL1,
–预测列表利用标志predFlagL0[0][0]和predFlagL1[0][0],
–双向预测权重索引bcwIdx。
–Merge候选列表mergeCandList。
双向预测权重索引bcwIdx被设定为等于0。
运动矢量mvL0[0][0]和mvL1[0][0],参考索引refIdxL0和refIdxL1以及预测利用标志predFlagL0[0][0]和predFlagL1[0][0]被通过以下顺序步骤推导:
1.调用如条款8.5.2.3中所指定的从邻接编解码单元对空域Merge候选的推导过程,以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,并且输出为可用性标志availableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1和availableFlagB2,参考索引refIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1和refIdxLXB2,预测列表利用标志predFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1和predFlagLXB2,和运动矢量mvLXA0、mvLXA1、mvLXB0、mvLXB1和mvLXB2,其中X为0或1,以及双向预测权重索引bcwIdxA0、bcwIdxA1、bcwIdxB0、bcwIdxB1、bcwIdxB2
2.参考索引refIdxLXCol,其中X为0或1,以及时域Merge候选Col的双向预测权重索引bcwIdxCol被设定为等于0。
3.调用如条款8.5.2.11中所指定时域亮度运动矢量预测的推导过程,以亮度位置(xCb,yCb)、亮度编解码块宽度cbWidth、亮度编解码块高度cbHeight和变量refIdxL0Col作为输入,并且输出为可用性标志availableFlagL0Col和时域运动矢量mvL0Col。变量availableFlagCol、predFlagL0Col和predFlagL1Col推导如下:
availableFlagCol=availableFlagL0Col(8-263)
predFlagL0Col=availableFlagL0Col(8-264)
predFlagL1Col=0(8-265)
4.当slice_type等于B时,调用如条款8.5.2.11中所指定的时域亮度运动矢量预测的推导过程,以亮度位置(xCb,yCb)、亮度编解码块宽度cbWidth、亮度编解码块高度cbHeight和变量refIdxL1Col作为输入,并且输出为可用性标志availableFlagL1Col和时域运动矢量mvL1Col。变量availableFlagCol和predFlagL1Col推导如下:
availableFlagCol=availableFlagL0Col||availableFlagL1Col(8-266)
predFlagL1Col=availableFlagL1Col(8-267)
5.Merge候选列表mergeCandList被构建如下:
6.变量numCurrMergeCand和numOrigMergeCand被设定为等于mergeCandList中的Merge候选的数目。
7.当numCurrMergeCand小于(MaxNumMergeCand-1)且NumHmvpCand大于0时,以下适用:
–调用如条款8.5.2.6中所指定的基于历史的Merge候选的推导过程,以mergeCandList和numCurrMergeCand作为输入,并且修改的mergeCandList和numCurrMergeCand作为输出。
–numOrigMergeCand被设定为等于numCurrMergeCand。
8.当numCurrMergeCand小于MaxNumMergeCand且大于1时,以下适用:
–调用条款8.5.2.4中指定的成对平均Merge候选的推导过程,以mergeCandList、参考索引refIdxL0N和refIdxL1N、预测列表利用标志predFlagL0N和predFlagL1N、mergeCandList中的每候选N的运动矢量mvL0N和mvL1N以及numCurrMergeCand作为输入,并且输出分配到mergeCandList、numCurrMergeCand、参考索引refIdxL0avgCand和refIdxL1avgCand、预测列表利用标志predFlagL0avgCand和predFlagL1avgCand以及被添加到mergeCandList的候选avgCand的运动矢量mvL0avgCand和mvL1avgCand。被添加到mergeCandList的候选avgCand的双向预测权重索引bcwIdx被设定为等于0。
–numOrigMergeCand被设定为等于numCurrMergeCand。
9.调用条款8.5.2.5中指定的零运动矢量Merge候选的推导过程,以mergeCandList、参考索引refIdxL0N和refIdxL1N、预测列表利用标志predFlagL0N和predFlagL1N、mergeCandList中的每个候选N的运动矢量mvL0N和mvL1N以及numCurrMergeCand作为输入,并且输出分配到mergeCandList、numCurrMergeCand、参考索引refIdxL0zeroCandm和refIdxL1zeroCandm、预测列表利用标志predFlagL0zeroCandm和predFlagL1zeroCandm以及被添加到mergeCandList的每个新的候选zeroCandm的运动矢量mvL0zeroCandm和mvL1zeroCandm。被添加到mergeCandList的每个新的候选zeroCandm的双向预测权重索引bcwIdx被设定为等于0。添加的候选的数目numZeroMergeCand被设定为等于(numCurrMergeCand-numOrigMergeCand)。当numZeroMergeCand大于0时,m范围为从0至numZeroMergeCand-1(含端值)。
10.进行以下分配,其中N是在Merge候选列表mergeCandList中的位置merge_idx[xCb][yCb]的候选(N=mergeCandList[merge_idx[xCb][yCb]]),并且X被0或1替换:
refIdxLX=refIdxLXN(8-269)
predFlagLX[0][0]=predFlagLXN(8-270)
mvLX[0][0][0]=mvLXN[0](8-271)
mvLX[0][0][1]=mvLXN[1](8-272)
bcwIdx=bcwIdxN(8-273)
11.当mmvd_merge_flag[xCb][yCb]等于1时,以下适用:
–调用如条款8.5.2.7中所指定的Merge运动矢量差异的推导过程,以亮度位置(xCb,yCb)、参考索引refIdxL0、refIdxL1和预测列表利用标志predFlagL0[0][0]和predFlagL1[0][0]作为输入,并且运动矢量差异mMvdL0和mMvdL1作为输出。
–对于X为0和1,运动矢量差异mMvdLX被添加到Merge运动矢量mvLX如下:
mvLX[0][0][0]+=mMvdLX[0](8-274)
mvLX[0][0][1]+=mMvdLX[1](8-275)
mvLX[0][0][0]=Clip3(-217,217-1,mvLX[0][0][0])(8-276)
mvLX[0][0][1]=Clip3(-217,217-1,mvLX[0][0][1])(8-277)
8.5.2.3空域Merge候选的推导过程
该过程的输入是:
–相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(xCb,yCb),
–变量cbWidth,指定亮度样点中的当前编解码块的宽度,
–变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出如下,其中X为0或1:
–邻接编解码单元的可用性标志availableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1和availableFlagB2
–邻接编解码单元的参考索引refIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1和refIdxLXB2
–邻接编解码单元的预测列表利用标志predFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1和predFlagLXB2
–邻接编解码单元的1/16分数样点准确度的运动矢量mvLXA0、mvLXA1、mvLXB0、mvLXB1和mvLXB2
–双向预测权重索引gbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1和gbiIdxB2
对于推导availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA1,yNbA1)被设定为等于(xCb-1,yCb+cbHeight-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA1,yNbA1)作为输入,并且输出分配到块可用性标志availableA1
–变量availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1推导如下:
–如果availableA1等于假(FALSE),则availableFlagA1被设定为等于0,mvLXA1的两个分量被设定为等于0,refIdxLXA1被设定为等于-1且predFlagLXA1被设定为等于0,其中X为0或1,并且gbiIdxA1被设定为等于0。
–否则,availableFlagA1被设定为等于1且进行以下分配:
mvLXA1=MvLX[xNbA1][yNbA1](8-294)
refIdxLXA1=RefIdxLX[xNbA1][yNbA1](8-295)
predFlagLXA1=PredFlagLX[xNbA1][yNbA1](8-296)
gbiIdxA1=GbiIdx[xNbA1][yNbA1](8-297)
对于推导availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB1、yNbB1)被设定为等于(xCb+cbWidth-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB1,yNbB1)作为输入,并且输出分配到块可用性标志availableB1
–变量availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB1被设定为等于0,mvLXB1的两个分量被设定为等于0,refIdxLXB1被设定为等于-1且predFlagLXB1被设定为等于0,其中X为0或1,并且gbiIdxB1被设定为等于0:
–availableB1等于FALSE。
–availableA1等于真(TRUE),并且亮度位置(xNbA1,yNbA1)
和(xNbB1,yNbB1)具有相同运动矢量和相同参考索引。
–否则,availableFlagB1被设定为等于1且进行以下分配:
mvLXB1=MvLX[xNbB1][yNbB1](8-298)
refIdxLXB1=RefIdxLX[xNbB1][yNbB1](8-299)
predFlagLXB1=PredFlagLX[xNbB1][yNbB1](8-300)
gbiIdxB1=GbiIdx[xNbB1][yNbB1](8-301)
对于推导availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB0,yNbB0)被设定为等于(xCb+cbWidth,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB0,yNbB0)作为输入,并且输出分配到块可用性标志availableB0
–变量availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB0被设定为等于0,mvLXB0的两个分量被设定为等于0,refIdxLXB0被设定为等于-1且predFlagLXB0被设定为等于0,其中X为0或1,并且gbiIdxB0被设定为等于0:
–availableB0等于假。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB0,yNbB0)具有相同运动矢量和相同参考索引。
–availableA1等于真,亮度位置(xNbA1,yNbA1)和(xNbB0,yNbB0)具有相同运动矢量和相同参考索引,并且merge_triangle_flag[xCb][yCb]等于1。
–否则,availableFlagB0被设定为等于1,并且进行以下分配:
mvLXB0=MvLX[xNbB0][yNbB0] (8-302)
refIdxLXB0=RefIdxLX[xNbB0][yNbB0] (8-303)
predFlagLXB0=PredFlagLX[xNbB0][yNbB0] (8-304)
gbiIdxB0=GbiIdx[xNbB0][yNbB0] (8-305)
对于推导availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA0,yNbA0)被设定为等于(xCb-1,yCb+cbWidth)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA0,yNbA0)作为输入,并且输出分配到块可用性标志availableA0
–变量availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0推导如下:
–如果以下条件中的一个或多个为真,则availableFlagA0被设定为等于0,mvLXA0的两个分量被设定为等于0,refIdxLXA0被设定为等于-1且predFlagLXA0被设定为等于0,其中X为0或1,并且gbiIdxA0被设定为等于0:
–availableA0等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbA0,yNbA0)具有相同运动矢量和相同参考索引。
–availableB1等于真,亮度位置(xNbB1,yNbB1)和(xNbA0,yNbA0)具有相同运动矢量和相同参考索引,并且merge_triangle_flag[xCb][yCb]等于1。
–availableB0等于真,亮度位置(xNbB0,yNbB0)和(xNbA0,yNbA0)具有相同运动矢量和相同参考索引,并且merge_triangle_flag[xCb][yCb]等于1。
–否则,availableFlagA0被设定为等于1,并且进行以下分配:
mvLXA0=MvLX[xNbA0][yNbA0](8-306)
refIdxLXA0=RefIdxLX[xNbA0][yNbA0](8-307)
predFlagLXA0=PredFlagLX[xNbA0][yNbA0](8-308)
gbiIdxA0=GbiIdx[xNbA0][yNbA0](8-309)
对于推导availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB2,yNbB2)被设定为等于(xCb-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB2,yNbB2)作为输入,并且输出分配到块可用性标志availableB2
–变量availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB2被设定为等于0,mvLXB2的两个分量被设定为等于0,refIdxLXB2被设定为等于-1且predFlagLXB2被设定为等于0,其中X为0或1,并且
gbiIdxB2被设定为等于0:
–availableB2等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB0等于真,亮度位置(xNbB0,yNbB0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引,并且merge_triangle_flag[xCb][yCb]等于1。
–availableA0等于真,亮度位置(xNbA0,yNbA0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引,并且merge_triangle_flag[xCb][yCb]等于1。
–availableFlagA0+availableFlagA1+availableFlagB0+availa
bleFlagB1等于4,并且merge_triangle_flag[xCb][yCb]等于0。
–否则,availableFlagB2被设定为等于1,并且进行以下分配:
mvLXB2=MvLX[xNbB2][yNbB2](8-310)
refIdxLXB2=RefIdxLX[xNbB2][yNbB2](8-311)
predFlagLXB2=PredFlagLX[xNbB2][yNbB2](8-312)
gbiIdxB2=GbiIdx[xNbB2][yNbB2](8-313)
2.2.5MMVD
在JVET-L0054中,呈现了最终运动矢量表达(UMVE,又已知为MMVD)。UMVE被以提出的运动矢量表达方法用于跳过或Merge模式。
UMVE重复使用与包含在VVC中的常规Merge候选列表中相同的Merge候选。在Merge候选之中,可以选择基础候选,并且通过提出的运动矢量表达方法进一步扩展。
UMVE提供了新的运动矢量差异(MVD)表示方法,其中起点、运动幅度和运动方向被用于表示MVD。
该提出的技术使用原本的Merge候选列表。但对于UMVE的扩展仅考虑默认Merge类型(MRG_TYPE_DEFAULT_N)的候选。
基础候选索引定义起点。基础候选索引指示如下列表中的候选之中的最佳候选。
表4.基础候选IDX
基础候选IDX 0 1 2 3
第N MVP 第1MVP 第2MVP 第3MVP 第4MVP
如果基础候选的数目等于1,则基础候选IDX不被信令通知。
距离索引是运动幅度信息。距离索引指示距起点信息预定的距离。预定的距离如下:
表5.距离IDX
距离IDX 0 1 2 3 4 5 6 7
像素距离 1/4像素 1/2像素 1像素 2像素 4像素 8像素 16像素 32像素
方向索引表示MVD相对于起点的方向。方向索引可以表示四个方向,如下所示。
表6.方向IDX
方向IDX 00 01 10 11
x轴 + N/A N/A
y轴 N/A N/A +
在发送跳过标志或Merge标志之后立即信令通知UMVE标志。如果跳过或Merge标志为真,则解析UMVE标志。如果UMVE标志等于1,则解析UMVE语法。但如果不是1,则解析仿射标志。如果仿射标志等于1,即仿射模式,但如果不是1,则对于VTM的跳过/Merge模式解析跳过/Merge索引。
不需要由于UMVE候选的附加线缓冲器。因为软件的跳过/Merge候选直接用作基础候选。使用输入UMVE索引,刚好在运动补偿之前确定MV的补充。不需要为此保留长线缓冲器。
在当前普通测试条件中,Merge候选列表中的第一或第二Merge候选可以被选择为基础候选。
UMVE又已知为具有MV差异的Merge(MMVD)。
2.2.6组合帧内帧间预测(CIIP)
在JVET-L0100中,提出了多假设预测,其中组合的帧内和帧间预测是生成多个假设的一种方式。
当多假设预测被应用于改善帧内模式时,多假设预测组合一个帧内预测和一个Merge索引的预测。在Merge CU中,对Merge模式信令通知一个标志以在标志为真时从帧内候选列表中选择帧内模式。对于亮度分量,仅从一个帧内预测模式(即,平面模式)推导帧内候选列表。应用于来自帧内和帧间预测的预测块的权重由两个邻接块(A1和B1)的编解码模式(帧内或非帧内)确定。
2.2.7基于子块的技术的Merge
建议将与运动候选有关的全部子块放入除用于非子块Merge候选的常规Merge列表之外的分开的Merge列表。
与运动候选有关的子块被放入名为“子块Merge候选列表”的分开的Merge列表中。
在一个示例中,子块Merge候选列表包含ATMVP候选和仿射Merge候选。
子块Merge候选列表按以下顺序填充有候选:
a.ATMVP候选(可能可用或不可用);
b.仿射Merge列表(包含继承的仿射候选;和构建的仿射候选)
c.填充为零MV 4参数仿射模型
2.2.7.1ATMVP(又称为子块时域运动矢量预测符,SbTMVP)
ATMVP的基本思想是对一个块推导多组时域运动矢量预测符。每个子块分配有一组运动信息。当生成ATMVP Merge候选时,在8x8级别而非整个块级别进行运动补偿。
在当前设计中,ATMVP在两个步骤中预测CU内的子CU的运动矢量,该两个步骤分别在以下两个子章节2.2.7.1.1和2.2.7.1.2中描述。
2.2.7.1.1初始化运动矢量的推导
由tempMv指代初始化运动矢量。当块A1可用且非帧内编解码(即,用帧间或IBC模式编解码)时,以下被应用于推导初始化运动矢量。
–如果全部以下条件为真,则tempMv被设定为等于来自列表1的块A1的运动矢量,由mvL1A1指代:
–列表1的参考图片索引可用(不等于-1),并且其具有与共位图片相同的POC值(即,DiffPicOrderCnt(ColPic,
RefPicList[1][refIdxL1A1])等于0),
–全部参考图片具有与当前图片相比不更大的POC(即,
DiffPicOrderCnt(aPic,currPic)对于当前条带的每个参考图片列表中的每个图片aPic小于或等于0),
–当前条带等于B条带,
–collocated_from_l0_flag等于0。
–否则,如果全部以下条件为真,则tempMv被设定为等于来自列表0的块A1的运动矢量,由mvL0A1指代:
–列表0的参考图片索引可用(不等于-1),
–其具有与共位图片相同的POC值(即,DiffPicOrderCnt
(ColPic,RefPicList[0][refIdxL0A1])等于0)。
–否则,零运动矢量被用作初始化MV。
对应的块(当前块的中央位置加上取整MV,必要时裁剪到特定范围内)于在具有初始化运动矢量的条带头中信令通知的共位图片中被标识。
如果块是帧间编解码的,则去往第2步骤。否则,ATMVP候选被设定为不可用。
2.2.7.1.2子CU运动推导
第二步骤是将当前CU划分为子CU,并且从对应于共位图片中的每个子CU的块获取每个子CU的运动信息。
如果子CU的对应的块是以帧间模式编解码的,则通过调用用于共位MV的推导过程来将运动信息用于推导当前子CU的最终运动信息,该用于共位MV的推导过程与常规TMVP过程没有区别。基本上,如果对应的块对于单向预测或双向预测是从目标列表X预测的,则采用运动矢量;否则,如果其对于单向或双向预测是从列表Y(Y=1-X)预测的且NoBackwardPredFlag等于1,则采用列表Y的MV。否则,无法找到运动候选。
如果由初始化MV和当前子CU的位置标识的共位图片中的块是帧内或IBC编解码的,或如前所述无法找到运动候选,则进一步应用以下:
将用于取回共位图片Rcol中的运动场的运动矢量指代为MVcol。为了最小化由于MV缩放造成的影响,以以下方式选择用于推导MVcol的空域候选列表中的MV:如果候选MV的参考图片是共位图片,则该MV被选择并被用作MVcol而不进行任何缩放。否则,具有最接近共位图片的参考图片的MV被选择以在缩放的情况下推导MVcol
JVET-N1001中的共位运动矢量推导过程的相关解码过程描述如下,与ATMVP有关的部分以粗体大写字体强调:
8.5.2.12共位运动矢量的推导过程
该过程的输入是:
–变量currCb,指定当前编解码块,
–变量colCb,指定由ColPic指定的共位图片之内的共位编解码块,
–亮度位置(xColCb,yColCb),指定相对于由ColPic指定的共位图片的左顶亮度样点的由colCb指定的共位亮度编解码块的左顶样点,
–参考索引refIdxLX,其中X为0或1,
–标志,指示子块时域Merge候选sbFlag。
该过程的输出是:
–1/16分数样点准确度的运动矢量预测mvLXCol,
–可用性标志availableFlagLXCol。
变量currPic指定当前图片。
阵列predFlagL0Col[x][y]、mvL0Col[x][y]和refIdxL0Col[x][y]被分别设定为等于由ColPic指定的共位图片的PredFlagL0[x][y]、MvDmvrL0[x][y]和RefIdxL0[x][y],并且阵列predFlagL1Col[x][y]、mvL1Col[x][y]和refIdxL1Col[x][y]被分别设定为等于由ColPic指定的共位图片的PredFlagL1[x][y]、MvDmvrL1[x][y]和RefIdxL1[x][y]。
变量mvLXCol和availableFlagLXCol推导如下:
–如果colCb是以帧内或IBC预测模式编解码的,则mvLXCol的两个分量都被设定为等于0且availableFlagLXCol被设定为等于0。
–否则,运动矢量mvCol、参考索引refIdxCol和参考列表标识符listCol推导如下:
–如果sbFlag等于0,则availableFlagLXCol被设定为1,并且以下适用:
–如果predFlagL0Col[xColCb][yColCb]等于0,则mvCol、refIdxCol和listCol被分别设定为等于mvL1Col[xColCb][yColCb]、refIdxL1Col[xColCb][yColCb]和L1。
–否则,如果predFlagL0Col[xColCb][yColCb]等于1且predFlagL1Col[xColCb][yColCb]等于0,则mvCol、refIdxCol和listCol被分别设定为等于mvL0Col[xColCb][yColCb]、refIdxL0Col[xColCb][yColCb]和L0。
–否则(predFlagL0Col[xColCb][yColCb]等于1且predFlagL1Col[xColCb][yColCb]等于1),进行以下分配:
–如果NoBackwardPredFlag等于1,则mvCol、refIdxCol和listCol被分别设定为等于mvLXCol[xColCb][yColCb],refIdxLXCol[xColCb][yColCb]和LX。
–否则,mvCol、refIdxCol和listCol被分别设定为等于mvLNCol[xColCb][yColCb]、refIdxLNCol[xColCb][yColCb]
和LN,且N为collocated_from_l0_flag的值。
–当availableFlagLXCol等于真时,mvLXCol和availableFlagLXCol推导如下:
–如果LongTermRefPic(currPic、currCb、refIdxLX、LX)不等于LongTermRefPic(ColPic、colCb、refIdxCol、listCol),则mvLXCol的两个分量都被设定为等于0且availableFlagLXCol被设定为等于0。
–否则,变量availableFlagLXCol被设定为等于1,refPicList[listCol][refIdxCol]被设定为由ColPic指定的共位图片中含有编解码块colCb的条带的参考图片列表listCol中具有参考索引refIdxCol的图片,并且以下适用:
colPocDiff=DiffPicOrderCnt(ColPic,refPicList[listCol][refIdxCol])(8-402)
currPocDiff=DiffPicOrderCnt(currPic,RefPicList[X][refIdxLX])(8-403)
–调用如条款8.5.2.15中所指定的共位运动矢量的时域运动缓冲器压缩过程,以mvCol作为输入,并且modified mvCol作为输出。
–如果RefPicList[X][refIdxLX]是长期参考图片,或colPocDiff等于currPocDiff,则mvLXCol被推导如下:
mvLXCol=mvCol(8-404)
–否则,mvLXCol被推导为运动矢量mvCol的缩放版本如下:
tx=(16384+(Abs(td)>>1))/td(8-405)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)(8-406)
mvLXCol=Clip3(-131072,131071,(distScaleFactor*mvCol+
128-(distScaleFactor*mvCol>=0))>>8))(8-407)
其中td和tb推导如下:
td=Clip3(-128,127,colPocDiff)(8-408)
tb=Clip3(-128,127,currPocDiff)(8-409)
2.2.8常规帧间模式(AMVP)
2.2.8.1AMVP运动候选列表
相似于HEVC中的AMVP设计,可以推导至多2个AMVP候选。然而,还可以在TMVP候选之后添加HMVP候选。以索引的升序(即,从等于0的索引,最旧一个)遍历HMVP表中的HMVP候选。可以检查至多4个HMVP候选以寻找其参考图片是否与目标参考图片相同(即,相同POC值)。
2.2.8.2AMVR
在HEVC中,当条带头中的use_integer_mv_flag等于0时,(PU的运动矢量与预测运动矢量之间的)运动矢量差异(MVD)被以四分之一亮度样点的单位信令通知。在VVC中,引入了局域自适应运动矢量分辨率(AMVR)。在VVC中,MVD可以以四分之一亮度样点、整数亮度样点或四个亮度样点(即,1/4像素、1像素、4像素)为单位编解码。MVD分辨率被在编解码单元(CU)级别控制,并且对于具有至少一个非零MVD分量的每个CU有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标志,以指示是否在CU中使用四分之一亮度样点MV精度。当第一标志(等于1)指示不使用四分之一亮度样点MV精度时,信令通知另一标志以指示使用整数亮度样点MV精度还是四个亮度样点MV精度。
当CU的第一MVD分辨率标志为零,或对于CU未被编解码(意味着CU中的全部MVD为零)时,四分之一亮度样点MV分辨率被用于CU。当CU使用整数亮度样点MV精度或四亮度样点MV精度时,CU的AMVP候选列表中的MVP被取整到对应的精度。
2.2.8.3JVET-N1001-v2中的对称运动矢量差异
在JVET-N1001-v2中,对称运动矢量差异(SMVD)应用于双向预测中的运动信息编解码。
首先,在条带级别中,分别指示SMVD模式中使用的列表0/1的参考图片索引的变量RefIdxSymL0和RefIdxSymL1被用如N1001-v2中所指定的以下步骤推导。当两个变量中的至少一个等于-1时,SMVD模式应被禁用。
2.2.9运动信息的细化
2.2.9.1解码器侧运动矢量细化(DMVR)
在双向预测操作中,对于一个块区域的预测,分别使用list0的运动矢量(MV)和list1的MV形成的两个预测块被组合以形成单个预测信令通知。在解码器侧运动矢量细化(DMVR)方法中,双向预测的两个运动矢量被进一步细化。
对于VVC中的DMVR,在列表0和列表1之间镜像的MVD被如图19所示假设,并且进行双边匹配以细化MV,即,寻找若干MVD候选之中的最佳MVD。由MVL0(L0X,L0Y)和MVL1(L1X,L1Y)指代两个参考图片列表的MV。由能够最小化成本函数(例如,SAD)的列表0的(MvdX,MvdY)指代的MVD被定义为最佳MVD。对于SAD函数,其定义为用列表0参考图片中的运动矢量(L0X+MvdX,L0Y+MvdY)推导的列表0的参考块与用列表1参考图片中的运动矢量(L1X-MvdX,L1Y-MvdY)推导的列表1的参考块之间的SAD。
运动矢量细化过程可以迭代两次。在每次迭代中,可以在两个步骤中检查最多6个MVD(具有整数像素精度),如图20所示。在第一步骤中,MVD(0,0)、(-1,0)、(1,0)、(0,-1)、(0,1)被检查。在第二步骤中,MVD(-1,-1)、(-1,1)、(1,-1)或(1,1)之一可以被选择并被进一步检查。假设函数Sad(x,y)返回MVD(x,y)的SAD值。在第二步骤中检查的由(MvdX,MvdY)指代的MVD被决定如下:
MvdX=-1;
MvdY=-1;
如果(Sad(1,0)<Sad(-1,0))
MvdX=1;
如果(Sad(0,1)<Sad(0,-1))
MvdY=1;
在第一迭代中,起点是信令通知的MV,并且在第二迭代中,起点是信令通知的MV加上在第一迭代中所选择的最佳MVD。仅当一个参考图片是前面的图片并且另一参考图片是后面的图片并且两个参考图片具有距当前图片相同的图片顺序计数距离时,应用DMVR。
为了进一步简化DMVR的过程,JVET-M0147对JEM中的设计提出了若干改变。更具体地,对VTM-4.0(即将发布)所采用的DMVR设计具有以下主要特征:
·当列表0与列表1之间的(0,0)位置SAD小于阈值时早期终止。
·当列表0与列表1之间的SAD对于一些位置为零时早期终止。
·DMVR的块尺寸:W*H>=64&&H>=8,其中W和H是块的宽度和高度。
·对于CU尺寸>16*16的DMVR将CU划分为多个16x16子块。如果仅CU的宽度或高度大于16,则其仅在垂直或水平方向上划分。
·参考块尺寸(W+7)*(H+7)(对于亮度)。
·25点基于SAD的整数像素搜索(即(+-)2细化搜索范围,单阶段)
·基于双线性插值的DMVR。
·基于“参数误差表面等式”的子像素细化。仅当最小SAD成本不等于零且最佳MVD在最后的MV细化迭代中是(0,0)时,进行该过程。
·具有参考块填充(如果需要)的亮度/色度MC。
·仅用于MC和TMVP的细化MV。
2.2.9.1.1DMVR的使用
当以下条件全部为真时,可以启用DMVR:
–SPS中的DMVR启用标志(即,sps_dmvr_enabled_flag)等于1
–TPM标志、帧间仿射标志和子块Merge标志(ATMVP或仿射Merge)、MMVD标志全部等于0
–Merge标志等于1
–当前块是双向预测的,并且当前图片与列表1中的参考图片之间的POC距离等于列表0中的参考图片与当前图片之间的POC距离
–当前CU高度大于或等于8
–亮度样点的数目(CU宽度*高度)大于或等于64
2.2.9.1.2基于“参数误差表面等式”的子像素细化
方法概括如下:
1.仅如果中央位置是给定迭代中的最佳成本位置,才计算参数误差表面拟合。
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。
2.2.9.2双向光流(BDOF,又称为BIO)
2.2.9.2.1理论分析
在BIO中,首先进行运动补偿以生成当前块的第一预测(在每个预测方向上)。第一预测被用于推导空域梯度、时域梯度和每个块内的子块/像素的光流,其然后被用于生成第二预测,即,子块/像素的最终预测。细节描述如下。
双向光流(BIO)是在双向预测的块方面运动补偿上进行的样点方面的运动细化。样点级别运动细化不使用信令通知
使I(k)为来自块运动补偿之后的参考k(k=0,1)的亮度值,并且 分别是I(k)梯度的水平和垂直分量。假设光流有效,运动矢量场(vx,vy)由以下等式给出
对于每个样点的运动轨迹将该光流等式与埃尔米特(Hermite)插值组合导致唯一三次多项式,该三次多项式在最后匹配两个函数值I(k)和导数 在t=0处的该多项式的值是BIO预测:
此处,τ0和τ1指代距参考帧的距离,如图26所示。基于Ref0和Ref1的POC计算距离τ0和τ1:τ0=POC(当前)-POC(Ref0),τ1=POC(Ref1)-POC(当前)。如果两个预测来自相同时间方向(都来自过去或都来自未来),则符号是不同的(即,τ0·τ1<0)。在此情况下,仅如果预测不是来自相同时刻(即,τ0≠τ1)、两个参考区域具有非零运动(MVx0,MVy0,MVx1,MVy1≠0)且块运动矢量与时间距离成正比(MVx0/MVx1=MVy0/MVy1=-τ01),才应用BIO。
通过最小化点A和B中的值的差异Δ确定运动矢量场(vx,vy)(图26中的运动轨迹和参考帧平面的交叉)。模型仅使用Δ的局部泰勒展开的第一线性项:
等式(9)中的全部值取决于样点位置(i′,j′),其目前被从注释省略。假设运动在局部周围区域中是一致的,我们将居中在当前预测点(i,j)上的(2M+1)×(2M+1)正方形窗Ω之内的Δ最小化,其中M等于2:
对于该最优化问题,JEM使用简化方案,首先在垂直方向上并然后在水平方向上最小化。这得到
其中,
为了避免除以零或很小的值,正则化参数r和m被引入等式(11)和(12)。
r=500·4d-8 (14)
m=700·4d-8 (15)
此处d是视频样点的比特深度。
图27A示出了块之外的访问位置。图27B示出了使用填充以避免额外存储器访问和计算。为了保持BIO的存储器访问与常规双向预测运动补偿相同,全部预测和梯度值I(k)仅对当前块之内的位置计算。在等式(13)中,在预测块的边界上的当前预测点居中的(2M+1)×(2M+1)正方形窗Ω需要访问块之外的位置(如图27A所示)。在JEM中,块之外的I(k)、/>的值被设定为等于块之内的最近的可用值。例如,这可以实现为填充,如图27B所示。
在BIO的情况下,运动场可能可以对每个样点被细化。为了降低计算复杂度,BIO的基于块的设计被用于JEM中。基于4×4块计算运动细化。在基于块的BIO中,4×4块中的全部样点的等式(13)中的sn的值被聚合,并且然后sn的聚合值被用于推导4×4块的BIO运动矢量偏移。更具体地,以下公式被用于基于块的BIO推导:
其中bk指代属于预测块的第k个4x4块的该组样点。等式(11)和(12)中的sn被((sn,bk)>>4)替换,以推导相关联的运动矢量偏移。
在一些情况下,由于噪声或非常规运动,BIO的MV团(regiment)可能是不可靠的。因此,在BIO中,MV团的幅度被裁剪到阈值thBIO。基于当前图片的参考图片是否全部来自一个方向而确定阈值。如果全部当前图片的参考图片来自一个方向,阈值被设定为12×214-d;否则,其被设定为12×213-d
在与运动补偿插值相同时间使用与HEVC运动补偿过程一致的操作计算BIO的梯度(2D可分离FIR)。该2D可分离FIR的输入是与运动补偿过程和根据块运动矢量的分数部分的分数位置(fracX,fracY)相同的参考帧样点。在水平梯度的情况下,首先使用BIOfilterS垂直插值信令通知,对应于去缩放偏移d-8的分数位置fracY,然后在水平方向上应用梯度滤波BIOfilterG,对应于去缩放偏移18-d的分数位置fracX。在垂直梯度/>的情况下,首先使用BIOfilterG垂直地应用梯度滤波,对应于去缩放偏移d-8的分数位置fracY,然后使用BIOfilterS在水平方向上进行信令通知移位,对应于去缩放偏移18-d的分数位置fracX。梯度计算BIOfilterG和信令通知移位BIOfilterF的插值滤波的长度更短(6抽头),以便保持合理复杂度。
在JEM中,当两个预测来自不同参考图片时,BIO被应用于全部双向预测块。当对CU启用LIC时,禁用BIO。
在JEM中,在普通MC过程之后对块应用OBMC。为降低计算复杂度,在OBMC过程期间不应用BIO。这意味着BIO仅在使用其自身MV时应用于块的MC过程中,并且在OBMC过程期间使用邻接块的MV时不应用于MC过程中。
2.2.9.2.2JVET-L0256中所提出的VTM-3.0中的BIO
·步骤1:评判BIO是否可应用(W和H是当前块的宽度和高度)
如果以下,则BIO不适用
·仿射编解码
·ATMVP编解码
·(iPOC-iPOC0)*(iPOC-iPOC1)>=0
·H==4或(W==4且H==8)
·具有加权预测
·GBi权重不是(1,1)
如果以下,则不使用BIO
两个参考块(指代为R0和R1)之间的总SAD小于阈值。
·步骤2:数据准备
对于WxH块,(W+2)x(H+2)样点被插值。
内WxH样点被用8抽头插值滤波插值,如在普通运动补偿中一样样点的四侧外线(图28中的黑圈)被用双线性滤波插值
对于每个位置,在两个参考块(指代为R0和R1)上计算梯度
Gx0(x,y)=(R0(x+1,y)-R0(x-1,y))>>4
Gy0(x,y)=(R0(x,y+1)-R0(x,y-1))>>4
Gx1(x,y)=(R1(x+1,y)-R1(x-1,y))>>4
Gy1(x,y)=(R1(x,y+1)-R1(x,y-1))>>4
对于每个位置,内部值计算为
T1=(R0(x,y)>>6)-(R1(x,y)>>6),T2=(Gx0(x,y)+Gx1(x,y))>>3,
T3=(Gy0(x,y)+Gy1(x,y))>>3
B1(x,y)=T2*T2,B2(x,y)=T2*T3,B3(x,y)=-T1*T2,B5(x,y)=T3*T3,B6(x,y)=-T1*T3
·步骤3:计算每个块的预测
如果两个4×4参考块之间的SAD小于阈值,则BIO对于4×4块被跳过。
计算Vx和Vy。
为4×4块中的每个位置计算最终预测。
b(x,y)=(Vx(Gx0(x,y)-Gx1(x,y))+Vy(Gy0(x,y)-Gy1(x,y))+1)>>1
P(x,y)=(R0(x,y)+R1(x,y)+b(x,y)+offset)>>shift
b(x,y)已知为校正项。
2.2.9.2.2VTM-4.0中的BIO
JVET-M0063(其提出了取决于比特深度而取整BDOF中的计算的结果)被采用到VTM-4.0中。
JVET-M0487被采用到VTM-4.0中,其移除了双线性滤波,并且取回参考块的最近整数像素来填充样点的四侧外线(图28中的黑圈)。
2.2.9.3PROF
VVC具有用光流细化基于子块的仿射运动补偿的预测的方法。在进行基于子块的仿射运动补偿之后,通过添加由光流等式推导的差异来细化预测样点,这称为使用光流的预测细化(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(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
其中增量MV(指代为Δv(i,j))是为样点位置(i,j)计算的像素MV(由v(i,j)指代)与像素(i,j)所属的子块的子块MV之间的差异,如图29所示。这由图29中的箭头指示。
由于仿射模型参数和相对于子块中央的像素位置从子块到子块不变,Δv(i,j)可以为第一子块被计算,并且被重复用于相同CU中的其他子块。使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,j)+ΔI(i,j)
2.2.9.4DMVR/BIO/PROF的启用/禁用
DMVR/BIO/PROF可以在SPS级别中被启用/禁用。三个编解码工具(即,DMVR、BIO、PROF)中的每一个的启用/禁用标志被在SPS中信令通知。更具体地,sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_affine_prof_enabled_flag是VVC工作草案中的三个对应的标志。
DMVR和BIO还可以根据标志在条带级别中启用/禁用。如果条带级别标志指示工具被禁用,则条带内的全部块被禁止使用DMVR/BDOF。除此之外,当标志指示工具被允许时,则对于块,如果满足某些条件,则也可以进一步禁用DMVR/BDOF。
与三个工具有关的语法和语义被强调如下:
然而,PROF不可在条带级别中启用/禁用。
7.3.2.3序列参数集RBSP语法
/>
7.4.3.3序列参数集RBSP语义
等于0指定双向光流帧间预测被禁用。sps_bdof_enabled_flag等于1指定双向光流帧间预测被启用。
指定基于解码器运动矢量细化的帧间双向预测被启用。sps_dmvr_enabled_flag等于0指定基于解码器运动矢量细化的帧间双向预测被禁用。
等于1指定slice_disable_bdof_dmvr_flag存在于涉及SPS的条带头中。sps_bdof_dmvr_slice_present_flag等于0指定slice_disable_bdof_dmvr_flag不存在于涉及SPS的条带头中。当sps_bdof_dmvr_slice_present_flag不存在时,sps_bdof_dmvr_slice_present_flag的值被推断为等于0。
指定使用光流的预测细化是否可以用于仿射运动补偿。如果sps_affine_prof_enabled_flag等于0,则仿射运动补偿不应使用光流细化。否则(sps_affine_prof_enabled_flag等于1),仿射运动补偿可以使用光流细化。当不存在时,sps_affine_prof_enabled_flag的值被推断为等于0。
7.3.6条带头语法
7.3.6.1一般条带头语法
对块禁用DMVR在dmvrFlag被设定为假时发生。
8.5.1以帧间预测模式编解码的编解码单元的一般解码过程
以帧间预测模式编解码的编解码单元的解码过程由以下顺序步骤构成:
1.变量dmvrFlag被设定为等于0且变量hpelIfIdx被设定为等于0。
2.当前编解码单元的运动矢量分量和参考索引推导如下:
-如果MergeTriangleFlag[xCb][yCb]、inter_affine_flag[xCb][yCb]和merge_subblock_flag[xCb][yCb]全部等于0,则以下适用:
-调用如条款8.5.2.1中所指定的运动矢量分量和参考索引的推导过程,以亮度编解码块位置(xCb,yCb)、亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,并且亮度运动矢量mvL0[0][0]和mvL1[0][0]、参考索引refIdxL0和refIdxL1、和预测列表利用标志predFlagL0[0][0]和predFlagL1[0][0]、半样点插值滤波索引hpelIfIdx以及双向预测权重索引bcwIdx作为输出。
-当全部以下条件为真时,dmvrFlag被设定为等于1:
-sps_dmvr_enabled_flag等于1且slice_disable_bdof_dmvr_flag等于0
-general_merge_flag[xCb][yCb]等于1
-both predFlagL0[0][0]和predFlagL1[0][0]两者均等于1
-mmvd_merge_flag[xCb][yCb]等于0
-ciip_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
-cbHeight大于或等于8
-cbHeight*cbWidth大于或等于128
-对于X为0和1中的每一者,与refIdxLX相关联的参考图片refPicLX的pic_width_in_luma_samples和pic_height_in_luma_samples分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples。
对块禁用BDOF在bdofFlag被设定为假时发生。
8.5.6帧间块的解码过程
8.5.6.1总体
使predSamplesL0L、predSamplesL1L和predSamplesIntraL为预测亮度样点值的(cbWidth)x(cbHeight)阵列,并且predSamplesL0Cb、predSamplesL1Cb、predSamplesL0Cr和predSamplesL1Cr、predSamplesIntraCb和predSamplesIntraCr为预测色度样点值的(cbWidth/SubWidthC)x(cbHeight/SubHeightC)阵列。
-变量currPic指定当前图片,并且变量bdofFlag被推导如下:
1.如果全部以下条件为真,则bdofFlag被设定为等于真。
-sps_bdof_enabled_flag等于1且slice_disable_bdof_dmvr_flag等于0。
-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。
-ciip_flag[xCb][yCb]等于0。
-BcwIdx[xCb][yCb]等于0。
-luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0。
-cbWidth大于或等于8。
-cbHeight大于或等于8。
-cbHeight*cbWidth大于或等于128。
-对于X为0和1中的每一者,与refIdxLX相关联的参考图片refPicLX的pic_width_in_luma_samples和pic_height_in_luma_samples分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples。
-cIdx等于0。
2.否则,bdofFlag被设定为等于假。
2.2.10GEO
几何Merge模式(GEO)被在JVET-P0068中提出作为TPM的附加模式。
2.2.10.1概念描述
图30图示了VTM-6.0中的TPM和为非矩形帧间块提出的附加形状。
相似于TPM,对不小于8×8的单向预测块允许对于帧间提出的GEO分割,以便在解码器侧具有与双向预测块相同的存储器带宽。GEO分割的运动矢量预测与TPM一致。以及在TPM中,2个预测之间的混合被应用于内部边界上。
几何Merge模式的划分边界由角度和距离偏移ρi描述,如图31所示。角度/>表示0与360度之间的量化角度,并且距离偏移ρi表示最大距离ρmax的量化偏移。此外,与二叉树划分和TPM划分重叠的划分方向被排除。
2.2.10.2角度和距离量化。
角度在0与360度之间被以固定步长量化。
距离ρi被从最大可能距离ρmax以固定步长量化。ρmax的值可以对于w或h等于8由等式(1)几何推导,并且以log2缩放的短边长度来缩放。对于等于0度的情况,ρmax等于w/2,并且对于/>等于90度的情况,ρmax等于h/2。偏移回的“1.0”样点是为了避免划分边界过于接近角部。
距离ρi被以5个步长量化,考虑32个角度,排除二叉树和TPM划分存在总共140个划分模式。或在108个模式的情况下,距离ρi被以4个步长量化,考虑到32个角度,排除二叉树和TPM划分存在总共108个划分模式。或在80个模式的情况下,距离ρi被以4个步长量化,考虑到24个角度,排除二叉树和TPM划分存在总共80个划分模式。
2.2.10.3亮度块的混合操作
与TPM模式相同,在几何Merge模式中,具有3比特混合掩码W0和W1的最终预测符PB,如等式(2)中
PB=(W0P0+W1P1+4)>>3 (2)
从样点位置和划分边界的距离使用查找表用等式(3)、(4)和(5)推导几何Merge模式的混合掩码
distFromLine=((x<<1)+1)*Dis[displacementX]+((y<<1)+1))*Dis[displacementY]–rho (3)
distScaled=Clip3(0,26,(abs(distFromLine)+4)>>3) (4)
sampleWeightL[x][y]=distFromLine<=0?GeoFilter[distScaled]:8-GeoFilter[distScaled] (5)
其中涉及3个查找表,具有32个条目的Dis[.]、具有36个条目的StepDis[.]和具有26个条目的GeoFilter[.]。
当前块的左底样点被保证由P0预测。换言之,当左底样点的distFromLine为负时,W0等于sampleWeightL[x][y]且W1等于8-W0。否则(左底样点的distFromLine为正),W1等于sampleWeightL[x][y]且W0等于8-W1
2.2.10.4色度块的混合操作
为亮度样点计算的样点权重被子采样并被用于色度混合,而没有任何计算。坐标(x,y)处的色度样点权重被设定为等于关于亮度块的左顶样点在坐标(2x,2y)处的亮度样点权重。
2.2.10.5运动矢量推导
用于TPM的相同的Merge列表推导过程被用于推导GEO块的每个分割的运动矢量。仅由单向预测预测每个分割。
2.2.10.6运动矢量储存
4x4运动储存单元的中央位置与划分边界之间的距离被计算并被与固定阈值比较,以决定对此4x4运动储存单元储存单向还是双向预测运动信息。在单向预测储存情况下,距离的符号指示哪个单向预测运动信息应被储存。在CE4-1.14中,混合掩码与运动储存的从属性被移除。
2.2.10.7模式信令通知
根据所提出的方法,GEO模式被信令通知作为与TPM模式一起的附加Merge模式。
表3由提案引入的语法元素
merge_geo_flag[][]被用4个CABAC上下文模型信令通知,前3个取决于上和左邻接块的模式推导,第4个取决于当前块的长宽比推导。merge_geo_flag[][]指示当前块使用GEO模式还是TPM模式,其相似于“最可能模式”标志。
geo_partition_idx[][]被用作对储存角度和距离ρi对的查找表的索引。geo_partition_idx通过使用旁路被用截断二进制和二值化编解码。
2.2.10.8TPM和GEO比较的概括
GEO模式与TPM共享相同概念,同时为运动补偿提供更灵活的分割选项。GEO的预测过程相似于TPM的预测过程。然而,GEO的混合过程中使用的自适应权重是使用与TPM所用等式不同的等式计算的。另外,GEO的运动场储存不同于TPM的运动场储存。这两个模式之间的差异列举在以下表中。
2.3帧内块复制
帧内块复制(IBC)(又称为当前图片参考)已经在HEVC屏幕内容编解码扩展(HEVC-SCC)和当前VVC测试模型(VTM-4.0)中被采用。IBC将运动补偿的概念从帧间帧编解码扩展到帧内帧编解码。如图21所示,当应用IBC时,由相同图片中的参考块预测当前块。在当前块编解码或解码之前,参考块中的样点必须已经被重构。虽然IBC对于大部分相机捕获的序列不是很有效率,但其对屏幕内容显示出了显著编解码优势。原因是存在许多重复图案,诸如屏幕内容图片中的图标和文本字符。IBC可以有效移除这些重复图案之间的冗余。在HEVC-SCC中,帧间编解码的编解码单元(CU)如果选择当前图片作为其参考图片则可以应用IBC。在此情况下,MV被重命名为块矢量(BV),并且BV总是具有整数像素精度。为了与主配置文件HEVC兼容,当前图片在解码图片缓冲器(DPB)中被标记为“长期”参考图片。应注意,相似地,在多视图/3D视频编解码标准中,帧间视图参考图片也被标记为“长期”参考图片。
循着BV找到其参考块,可以通过复制参考块生成预测。可以通过从原始信令通知减去参考像素得到残差。然后可以与其他编解码模式中一样变换和量化。
然而,当参考块在图片之外或与当前块重叠或在重构区域之外或在由一些约束限制的有效区域之外时,部分或全部像素值未被定义。基本上,存在两种方案来解决这样的问题。一种是例如在比特流一致性中禁止这样的情况。另一种是对所述未定义的像素值应用填充。以下子会话详细描述了该方案。
2.3.1VVC测试模型(VTM4.0)中的IBC
在当前VVC测试模型(即VTM-4.0设计)中,整个参考块应在当前编解码树单元(CTU)内且不与当前块重叠。因此,不需要填充参考或预测块。IBC标志被编解码为当前CU的预测模式。因此,对于每个CU存在总共三种预测模式,MODE_INTRA、MODE_INTER和MODE_IBC。
2.3.1.1IBC Merge模式
在IBC Merge模式中,从比特流解析指向IBC Merge候选列表中的条目的索引。IBCMerge列表的构建可以根据以下步骤的序列概括:
·步骤1:推导空域候选
·步骤2:插入HMVP候选
·步骤3:插入成对平均候选
在空域Merge候选的推导中,在位于绘示的A1、B1、B0、A0和B2的位置中的候选之中选择最多四个Merge候选,如图2所示。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如因为其属于另一条带或片)或不是以IBC模式编解码时,才考虑位置B2。在添加位置A1处的候选之后,其余候选的插入经受冗余检查,冗余检查确保具有相同运动信息的候选被从列表排除,从而改善编解码效率。
在插入空域候选之后,如果IBC Merge列表尺寸仍小于最大IBC Merge列表尺寸,则可以插入来自HMVP表的IBC候选。当插入HMVP候选时进行冗余检查。
最终,成对平均候选被插入到IBC Merge列表中。
当由Merge候选标识的参考块在图片之外或与当前块重叠或在重构区域之外或在由一些约束限制的有效区域之外时,Merge候选称为无效Merge候选。
注意到,无效Merge候选可以被插入到IBC Merge列表中。
2.3.1.2IBC AMVP模式
在IBC AMVP模式中,从比特流解析指向IBC AMVP列表中的条目的AMVP索引。IBCAMVP列表的构建可以根据以下步骤的序列概括:
·步骤1:推导空域候选
ο检查A0、A1,直到找到可用候选。
ο检查B0、B1、B2,直到找到可用候选。
·步骤2:插入HMVP候选
·步骤3:插入零候选
在插入空域候选之后,如果IBC AMVP列表尺寸仍小于最大IBC AMVP列表尺寸,则可以插入来自HMVP表的IBC候选。
最终,零候选被插入到IBC AMVP列表中。
2.3.1.3色度IBC模式
在当前VVC中,在子块级别进行色度IBC模式中的运动补偿。色度块将被分割为若干子块。每个子块确定对应的亮度块是否具有块矢量,以及如果存在的话其有效性。当前VTM中存在编码器约束,其中如果当前色度CU中的全部子块具有有效亮度块矢量,则色度IBC模式将被测试。例如,在YUV 420视频上,色度块是NxM,并且共位亮度区域是2Nx2M。色度块的子块尺寸是2x2。存在若干步骤以进行色度mv推导,然后进行块复制过程。
1)色度块将首先被分割为(N>>1)*(M>>1)个子块。
2)具有(x,y)处的左顶样点坐标的每个子块取回覆盖坐标为(2x,2y)的相同左顶样点的对应的亮度块。
3)编码器检查取回的亮度块的块矢量(bv)。如果以下条件之一满足,则bv被视为无效。
a.对应的亮度块的bv不存在。
b.由bv标识的预测块尚未重构。
c.由bv标识的预测块与当前块部分或完全重叠。
4)子块的色度运动矢量被设定为对应的亮度子块的运动矢量。
当全部子块找到有效bv时,在编码器允许IBC模式。
2.3.2(VTM5.0中)IBC的单个BV列表
JVET-N0843被采用到VVC。在JVET-N0843中,IBC中的Merge模式和AMVP模式的BV预测符将共享公共预测符列表,其由以下元素构成:
·2个空域邻接位置(如图2中的A1、B1)
·5个HMVP条目
·默认零矢量
列表中的候选的数目由从条带头推导的变量控制。对于Merge模式,将使用该列表的至多前6个条目;对于AMVP模式,将使用该列表的前2个条目。并且该列表符合共享Merge列表区域要求(SMR内的共享的相同列表)。
附加于上述BV预测符候选列表,JVET-N0843还提出简化HMVP候选与现有Merge候选(A1、B1)之间的修剪操作。在简化中,将存在至多2个修剪操作,因为其仅将第一HMVP候选与(多个)空域Merge候选作比较。
2.4VVC委员会草案(JVET-O2001-vE)中的Merge模式编解码
Merge模式编解码(包含常规Merge模式、子块Merge模式、CIIP(组合帧内帧间预测)、TPM、MMVD(具有运动矢量差异的Merge))应被从VTM5.0修改到VTM6.0。更具体地,在VVC的之前版本中,首先编解码常规Merge模式标志。如果不是常规Merge模式,则之后是MMVD、子块Merge、CIIP和TPM模式的指示,如图33所示。
在VVC的最新版本中,第一标志指示是否可以首先编解码子块Merge模式。如果不,则第2标志指示其为常规Merge模式组(其包含常规Merge和MMVD)还是非常规Merge模式组(其包含TPM和CIIP)。然后可以进一步编解码第3标志以指示模式组中的模式。图34中绘示了流程。
Merge数据语法
/>
3.问题
Merge模式的当前设计可能有以下问题:
1.常规Merge列表构建过程取决于对当前块的TPM的使用。
a.对于TPM编解码的块,在空域Merge候选之中应用完整修剪。
b.对于非TPM编解码的块,在空域Merge候选之中应用部分修剪。
2.根据当前设计,全部Merge相关工具(包含IBC Merge、常规Merge、MMVD、子块Merge、CIIP、TPM)被一个标志信令通知,称为general_merge_flag。然而,当此标志为真时,可能全部Merge相关工具被信令通知或被推导为禁用。如何处理此情况是未知的。此外,禁止关闭Merge模式,即Merge候选的最大数目将不等于0。然而,对于高吞吐量编码器/解码器,可能需要强制禁用Merge模式。
3.ATMVP过程的初始化MV的决定取决于条带类型,全部参考图片的POC值,collocated_from_l0_flag,等等,这延迟MV的吞吐量。
4.共位MV的推导过程取决于子块技术使用,诸如常规TMVP过程或ATMVP过程,其要求附加逻辑。
5.对于ATMVP编解码块中的子CU,即使其对应的共位块是帧间编解码,子CU的运动信息可能无法被从对应的共位块推导,而是用其他运动信息填充。这样的设计对于编解码效率和吞吐量都是次优的。
6.HEVC规范基于块是否是构建的或是否在不同CTU行/条带等等中来定义当前或参考图片中的一个邻接块的可用性。然而,在VVC中,已经引入多个编解码方法。可能需要定义块的可用性的不同定义。
7.JVET-O0545提出通过发送sps_sbt_max_size_64_flag信令通知最大变换块尺寸的指示。
sps_sbt_max_size_64_flag等于0指定允许子块变换的最大CU宽度和高度是32个亮度样点。sps_sbt_max_size_64_flag等于1指定允许子块变换的最大CU宽度和高度是64个亮度样点。
MaxSbtSize=sps_sbt_max_size_64_flag?64:32(7 31)
为了支持最大变换尺寸(由MaxTransformSize指示)小于64,MaxSbtSize的推导被修改如下,
MaxSbtSize=min(MaxTransformSize,sps_sbt_max_size_64_flag?64:32)
8.ALF系数被限制为在固定范围内。例如:由AlfCoeffC指代的色度ALF滤波系数,和由AlfCoeffL指代的亮度ALF滤波系数,应在-27至27-1的范围内(含端值)。这样的限制基于8比特深度的假设。
9.ALF滤波的预测符的指示被信令通知如下:
可见,这样的方法需要解析多个语法元素来确定使用来自哪些APS组的滤波还是来自固定滤波的滤波。
10.Merge相关编解码工具如下:
/>
注意到,子块Merge相关语法元素被首先信令通知;之后是常规Merge模式的指示(其控制MMVP和常规Merge两者,如在HEVC中)。当这样的指示为假时,附加比特可以被进一步信令通知以指示其为CIIP还是TPM模式。
然而,这样的信息不考虑允许的TPM候选的数目小于2的情况。
11.在最新VVC规范中,相对于第一块的第二块的可用性检查除其他条件(诸如在相同条带中)之外进一步取决于块编解码模式。然而,当处理共享Merge列表时,这可能导致问题。以16x4块作为示例,
当其被使用垂直TT进一步划分时,将三个CU生成为4x4、8x4和4x4。当为最后4x4推导空域Merge候选时,从共享Merge区域(SMR)A1和B1推导两个空域候选,如图24所示。因此,对于IBC编解码块,A1/B1(邻接于共享16x4区域)是否用IBC模式编解码应被检查。这是共享Merge列表的意图。
然而,当子条款8.6.2.2调用推导空域Merge候选的过程时,左顶样点的坐标已经被从当前坐标(覆盖绿圈)改变为覆盖黑圈的坐标(即,共享Merge区域的左顶位置),并且块宽度/高度也被修改为共享Merge区域的宽度/高度。
然后,在关于IBC空域块矢量候选的推导过程的子条款8.6.2.3中,其必须通过以CheckPredModeY设定为等于真来调用6.4.4而检查A1/B1是否可用。此处,这可能导致问题,因为需要检查覆盖共享区域的左顶样点的CU(即,左4x4 CU而非当前4x4 CU)的预测模式是否等于A1/B1的预测模式。
例如:
-如果左4x4 CU不是IBC,并且A1/B1是IBC,则A1/B1被标记为不可用,这似乎并非意图。
-如果左4x4 CU不是IBC,并且A1/B1也不是IBC,则A1/B1被标记为可用。在此情况下,错误运动将被用作BV候选。
因此,如果纯粹向可用性检查过程添加模式检查,可能是有问题的。
12.在CIIP的权重推导过程中,如果邻接块的预测模式是IBC/Intra/Palette,则它们总是被视为不可用,并且帧间/帧内预测的信令通知的权重对全部三种情况分配有相同值。
13.PROF和BDOF可以共享光流(OF)操作。因此,当BDOF在条带中被禁用时,最好也禁用PROF以节省硬件功耗。然而,如果仅当BDOF被禁用时禁用PROF,则存在问题,因为BDOF仅可以应用于B条带,而PROF可以应用于P和B条带。
14.TPM和GEO两者都将一个块划分为两个分割,并且除了混合区域之外,每个分割具有单向预测。然而,启用/禁用条件(诸如块维度)不一致。此外,将它们应用于大块可能由于混合导致过高计算复杂度。
4.技术和实施例的示例
以下详细列举应视为示例以解释一般概念。这些实施例不应以狭义方式理解。另外,这些技术可以以任意方式组合。
指代为A0、A1、B0、B1、B2等的邻接块在图2中示出。
1.常规Merge和TPM编解码块的常规Merge列表构建过程与当前块的编解码方法解耦。
a.在一个示例中,当TPM被应用于一个块时,部分修剪被应用于空域Merge候选。
i.在一个示例中,以与用于非TPM Merge编解码块的方式相同的方式的确定两个候选是否彼此比较。
ii.在一个示例中,B1与A1比较,B0与B1比较,A0与A1比较,B2与B1和A1比较。
iii.替代地,完整修剪被应用于空域Merge候选,即使TPM不被用于一个块。
iv.替代地,另外,完整修剪可以被应用于一些特定块维度。
1.例如,完整修剪可以被应用于其中允许TPM的块维度。
2.例如,当块尺寸含有小于M*H个样点时,例如,16或32或64个亮度样点,完整修剪不被允许。
3.例如,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2,完整修剪不被允许。
b.在一个示例中,当TPM被应用于一个块时,是否检查
B2基于检查B2之前的可用Merge候选的数目。
i.替代地,B2总是被检查,而无论非TPM Merge编解码块的可用Merge候选的数目。
2.用于标识块以确定ATMVP可用与否的初始化MV可以仅依赖于空域邻接块(例如,A1)的列表X信息,并且X被设定为从之推导用于时域运动矢量预测的共位图片之处(例如,collocated_from_l0_flag)。
a.替代地,根据是否全部参考列表中的全部参考图片都具有与当前图片相比更小的POC值或不更大POC值而决定X。
i.在一个示例中,如果其为真,则X被设定为1。
否则,X被设定0。
b.替代地,如果与空域邻接块(例如,A1)的列表X相关联的参考图片可用并且具有与共位图片相同的POC值,则初始化MV被设定为与空域邻接块的列表X相关联的MV。否则,采用默认MV(例如,(0,0))。
c.替代地,储存在HMVP表中的运动信息可以被用作
ATMVP中的初始化MV。
i.例如,可以使用储存在HMVP表中的第一可用运动信息。
ii.例如,可以使用储存在HMVP表中的与特定参考图片(例如,共位图片)相关联的第一可用运动信息。
d.替代地,X是固定数字,诸如0或1。
3.用于基于子块的编解码工具和非基于子块的编解码工具的共位MV的推导过程可以一致,即,过程无关于特定编解码工具的使用。
a.在一个示例中,基于子块的编解码工具的共位MV的推导过程的整体或部分与用于TMVP的一致。
i.在一个示例中,如果其是来自列表Y的单向预测,则列表Y的运动矢量被缩放到目标参考图片列表X;
ii.在一个示例中,如果其是双向预测且目标参考图片列表是X,则列表Y的运动矢量被缩放到目标参考图片列表X,并且Y可以根据以下规则确定:
–如果与当前图片相比没有参考图片具有更大POC值或全部参考图片具有更小的POC值,则Y被设定为等于X。
–否则,Y被设定为等于collocated_from_l0_flag。
b.在一个示例中,TMVP的共位MV的推导过程的整体或部分与用于基于子块的编解码工具的一致。
4.运动候选列表构建过程(例如,常规Merge列表、IBCMerge/AMVP列表)可以取决于块维度和/或Merge共享条件。将块的宽度和高度分别指代为W和H。条件C可以取决于W和H和/或Merge共享条件。
a.在一个示例中,如果满足条件C,则空域Merge候选的推导被跳过。
b.在一个示例中,如果满足条件C,则HMVP候选的推导被跳过。
c.在一个示例中,如果满足条件C,则成对Merge候选的推导被跳过。
d.在一个示例中,如果满足条件C,则最大修剪操作的数目减小或设定为0。
e.在一个示例中,当W*H小于或不大于阈值(例如,64或32)时,则满足条件C。
f.在一个示例中,当W和/或H小于或不大于阈值(例如,4或8)时,则满足条件C。
g.在一个示例中,当当前块在共享节点下时,满足条件C。
5.允许常规Merge候选的最大数目/允许IBC候选的最大数目/允许子块Merge候选的最大数目可以被设定为0。因此,某些工具可以被禁用,并且相关的语法元素不需要被信令通知。
a.在一个示例中,当允许常规Merge候选的最大数目等于0时,依赖于常规Merge列表的编解码工具可以被禁用。编解码工具可以是常规Merge、MMVD、CIIP、TPM、DMVR等等。
b.在一个示例中,当允许IBC候选的最大数目等于0时,IBC AMVP和/或IBCMerge可以被禁用。
c.在一个示例中,当允许基于子块的Merge候选的最大数目等于0时,基于子块的技术(例如,ATMVP、仿射Merge模式)可以被禁用。
d.当工具根据允许候选的最大数目被禁用时,相关语法元素的信令通知被跳过。
i.替代地,另外,Merge相关工具的信令通知可能需要检查允许候选的最大数目是否不等于0。
ii.替代地,另外,调用Merge相关工具的过程可能需要检查允许候选的最大数目是否不等于0。
6.general_merge_flag和/或cu_skip_flag的信令通知可以取决于允许常规Merge候选的最大数目/允许IBC候选的最大数目/允许子块Merge候选的最大数目/Merge相关编解码工具的使用。
a.在一个示例中,Merge相关编解码工具可以包含IBCMerge、常规Merge、MMVD、子块Merge、CIIP、TPM,DMVR
等等。
b.在一个示例中,当允许常规Merge候选的最大数目、允许IBC Merge/AMVP候选的最大数目、允许子块Merge候选的最大数目等于0时,general_merge_flag和/或cu_skip_flag不被信令通知。
i.替代地,另外,general_merge_flag和/或cu_skip_flag被推断为0。
7.一致性比特流应满足,当当前块的general_merge_flag或cu_skip_flag为真时,Merge相关工具(包含IBC Merge、常规Merge、MMVD、子块Merge、CIIP、TPM,DMVR等等)中的至少一个被启用。
8.一致性比特流应满足,当当前块的(general_merge_flag或cu_skip_flag)为真且对于一个条带/片/砖块/图片/当前块禁用IBC时,Merge相关工具(包含常规Merge、MMVD、子块Merge、CIIP、TPM、DMVR等等)中的至少一个被启用。
9.一致性比特流应满足,当当前块的(general_merge_flag或cu_skip_flag)为真且对于一个条带/片/砖块/图片/当前块禁用MMVD时,Merge相关工具(包含IBC Merge、常规Merge、子块Merge、CIIP、TPM)中的至少一个被启用。
10.一致性比特流应满足,当当前块的(general_merge_flag或cu_skip_flag)为真且对于一个条带/片/砖块/图片/当前块禁用CIIP时,Merge相关工具(包含IBC Merge、常规Merge、MMVD、子块Merge、TPM)中的至少一个被启用。
11.一致性比特流应满足,当当前块的(general_merge_flag或cu_skip_flag)为真且对于一个条带/片/砖块/图片/当前块禁用TPM时,Merge相关工具(包含IBC Merge、常规Merge、MMVD、子块Merge、CIIP)中的至少一个被启用。
12.一致性比特流应满足,当当前块的general_merge_flag或cu_skip_flag为真时,应用启用的Merge相关工具(包含IBC Merge、常规Merge、MMVD、子块Merge、CIIP、TPM)中的至少一个。
关于可用性检查
13.当编解码第一块时,第二块的可用性的检查可以取决于第一块的编解码模式信息,例如,如果在第一和第二块中使用不同模式,则第二块可以被视为不可用,甚至无关其他条件检查结果(例如,已经被重构)。
a.在一个示例中,当第一块是帧间编解码的而第二块是IBC编解码时,第二块被标记为不可用。
b.在一个示例中,当第一块是IBC编解码的而第二块是帧间编解码时,第二块被标记为不可用。
c.当第二被标记为不可用时,相关编解码信息(例如,运动信息)被禁止用于编解码第一块。
d.在一个示例中,当前块的模式信息可以被添加作为对可用性检查过程的输入参数。
14.提出了在第二块的可用性检查过程中引入关于当前第一块的两个位置(例如,坐标)。
a.在一个示例中,第一位置对应于相对于当前编解码块(例如,CU)的左顶位置。
i.在一个示例中,第一位置被用于标识编解码块,并且编解码块的预测模式同与第二块相关联的预测模式作比较。
b.在一个示例中,第二位置对应于相对于共享Merge区域的左顶位置。
i.在一个示例中,第二位置被用于标识编解码块,并且编解码块的预测模式不跟与第二块相关联的预测模式作比较。
ii.在一个示例中,第二位置可以被用于检查覆盖第二位置的编解码块是否与第一块在相同的视频单元(例如,条带/片/砖块/子图片)中。
15.提出了在IBC运动列表构建过程中引入关于当前第1块的两个位置(例如,坐标)。
a.在一个示例中,第一位置对应于相对于共享Merge区域的左顶位置。
i.在一个示例中,第一位置可以被用于推导第二块
(例如,空域邻接块)。
b.在一个示例中,第二位置对应于相对于当前编解码块(例如,CU)的左顶位置。
i.在一个示例中,第二位置被用于标识编解码块,并且在可用性检查过程期间编解码块的预测模式跟与第二块相关联的预测模式作比较。
16.CIIP(组合帧内帧间预测)过程的权重推导中的邻接块的可用性检查可以跟与邻接块的模式相同的当前块的模式的检查解耦。
a.在一个示例中,即使邻接块被编解码为帧内模式或IBC模式或调色板模式,其仍可以被标记为可用。
b.替代地,另外,当邻接块可用且用不同模式编解码时,帧间/帧内预测信令通知的权重可以被不同地分配。
17.与TPM侧信息无关的语法元素的信令通知也可以在允许TPM候选的数目的条件检查之下。
a.在一个示例中,CIIP相关的语法元素(例如,)的信令通知可以取决于允许TPM候选的数目大于阈值K。
b.在一个示例中,常规Merge模式标志(例如,)的信令通知可以取决于允许TPM候选的数目大于阈值K。
c.在一个示例中,K被设定为1。
d.替代地,另外,当允许TPM候选的数目不大于阈值K时,某些语法元素可以不被信令通知。
18.一致性比特流应满足,最大变换块尺寸不应超出最大CTU尺寸。
a.替代地,最大变换块尺寸的指示可以在最大CTU尺寸下被有条件地信令通知,或反之亦然。
i.在一个示例中,如果最大CTU尺寸不大于或等于MxN(例如,M=N=32),则不需要信令通知最大变换块尺寸的指示。
19.ALF滤波系数范围可以取决于样点深度(例如,内部比特深度或输入比特深度),而非在固定范围中。
20.一个标志可以被直接信令通知,以指示是否将ALF APS中的ALF滤波用于固定滤波。
a.此外,这样的标志可以在可用ALF APS的数目大于0的条件下被信令通知。
b.替代地,另外,当来自APS的ALF滤波被信令通知时,一个附加语法可以被进一步信令通知,以指示ALF APS的索引。这样的索引可以用以下编解码:固定长度编解码、一元编解码、截断一元编解码、截断二元编解码、指数哥伦布编解码。
21.在B条带中启用/禁用PROF可以与DMVR和BDOF工具一致,但不适用于P条带。
a.在一个示例中,当DMVR和BDOF两者都被禁用时,PROF也被禁用。
b.在一个示例中,单个语法元素(诸如名为的标志)可以在条带或图片级(诸如在条带头中)被信令通知,以控制BDOF的使用。
i.在一个示例中,取决于条带类型而信令通知标志。
1.当条带是P条带或B条带时信令通知标志。
2.当条带不是I条带时信令通知标志。
ii.替代地,这样的标志可以被有条件地信令通知。
例如,其可以在当前条带是B条带的条件下被信令通知。
iii.替代地,另外,P条带的启用/禁用PROF可以无关于语法元素。
1.在一个示例中,对P条带启用还是禁用PROF可以与在序列/图片级(例如,SPS)推导的PROF的启用/禁用标志(例如,)相同。
2.在一个示例中,对P条带启用还是禁用PROF可以在条带头/图片头/图片参数集被信令通知。
a.替代地,另外,其可以在某些条件下被信令通知,诸如当PROF对序列启用时。
22.TPM/GEO可以对某些块维度总是被禁用。
a.在一个示例中,当块宽度大于K0和/或块高度大于K1(例如,K0=32=K1)时,可以自动禁用TPM/GEO
b.在一个示例中,当块宽度不小于K0和/或块高度不小于K1(例如,K0=32=K1)时,可以自动禁用TPM/GEO
c.在一个示例中,当块宽度小于K0和/或块高度大于K1(例如,K0=8=K1)时,可以自动禁用TPM/GEO
d.在一个示例中,当块宽度不大于K0和/或块高度不小于K1(例如,K0=8=K1)时,可以自动禁用TPM/GEO
e.在一个示例中,当块宽度乘以块高度不小于或大于K1(例如,K1=1024)时,可以自动禁用TPM/GEO
f.在一个示例中,当块宽度乘以块高度不大于(或小于)K1(例如,K1=1024)时,可以自动禁用TPM/GEO
g.在一个示例中,当块宽度等于K0和/或块高度等于K1(例如,K0=8,K1=32)时,可以自动禁用TPM/GEO
h.在一个示例中,当TPM/GEO被禁用(例如,基于以上要点)时,TPM/GEO的使用的指示的信令通知可以被跳过。
i.在一个示例中,当满足条件(例如,可以自动禁用TPM/GEO)时,CIIP的使用的指示的信令通知可以被跳过。
i.在一个示例中,如果块宽度大于K0或块高度大于K1,则CIIP标志可以不被信令通知。
ii.替代地,另外,当条件为真时,CIIP模式可以被推断为对块启用。
j.在一个示例中,常规Merge模式集的使用的指示的信令通知(例如,)可以取决于可以自动禁用TPM/GEO的条件。
i.在一个示例中,如果块宽度不大于K0和/或块高度不大于K1,则可以被信令通知。
ii.在一个示例中,如果块宽度大于K0和/或块高度大于K1,则可以不被信令通知。
23.提出了在CIIP模式的使用的指示之前信令通知TPM/GEO模式的使用的指示。
a.替代地,从一个视频单元到另一个视频单元,首先信令通知哪一个可以自适应地改变。
i.在一个示例中,视频单元是条带/图片/片/砖块。
ii.在一个示例中,视频单元是块/CU。
b.替代地,首先信令通知哪一个可以取决于条带/图片类型。
c.替代地,首先信令通知哪一个可以取决于当前块/邻接块的编解码信息。
24.TPM和GEO可以被选择性地启用,诸如根据当前和/或邻接块的块维度/块形状/编解码信息。
a.在一个示例中,TPM可以被应用于较大块,并且GEO可以被应用于较小块。
b.替代地,另外,一个语法可以被用于告知是否使用TPM或GEO。
25.当用GEO替换TPM或用可以将一个块划分为两个或更多个子分割的其他编解码方法替换TPM时,可应用以上要点。
5.实施例
基于最新VVC工作草案(JVET-N1001_v7)之上建议的改变给出如下。新添加的部分以粗斜体强调。
5.1实施例#1
本实施例是使非TPM编解码块的修剪过程与TPM编解码块的修剪过程一致,即,非TPM编解码块的完整修剪操作。
8.5.2.3空域Merge候选的推导过程
对该过程的输入是:
–相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(xCb,yCb),
–变量cbWidth,指定亮度样点中的当前编解码块的宽度,
–变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出如下,其中X为0或1:
–邻接编解码单元的可用性标志availableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1和availableFlagB2
–邻接编解码单元的参考索引refIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1和refIdxLXB2
–邻接编解码单元的预测列表利用标志predFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1和predFlagLXB2
–邻接编解码单元的1/16分数样点准确度的运动矢量mvLXA0、mvLXA1、mvLXB0、mvLXB1和mvLXB2
–双向预测权重索引gbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1和gbiIdxB2
对于推导availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA1,yNbA1)被设定为等于(xCb-1,yCb+cbHeight-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA1,yNbA1)作为输入,并且输出分配到块可用性标志availableA1
–变量availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1推导如下:
–如果availableA1等于假,则availableFlagA1被设定为等于0,mvLXA1的两个分量被设定为等于0,refIdxLXA1被设定为等于-1且predFlagLXA1被设定为等于0,其中X为0或1,并且gbiIdxA1被设定为等于0。
–否则,availableFlagA1被设定为等于1,并且进行以下分配:
mvLXA1=MvLX[xNbA1][yNbA1](8-294)
refIdxLXA1=RefIdxLX[xNbA1][yNbA1](8-295)
predFlagLXA1=PredFlagLX[xNbA1][yNbA1](8-296)
gbiIdxA1=GbiIdx[xNbA1][yNbA1](8-297)
对于推导availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB1,yNbB1)被设定为等于(xCb+cbWidth-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB1,yNbB1)作为输入,并且输出分配到块可用性标志availableB1
–变量availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB1被设定为等于0,mvLXB1的两个分量被设定为等于0,refIdxLXB1被设定为等于-1且predFlagLXB1被设定为等于0,其中X为0或1,并且gbiIdxB1被设定为等于0:
–availableB1等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB1,yNbB1)具有相同运动矢量和相同参考索引。
–否则,availableFlagB1被设定为等于1,并且进行以下分配:
mvLXB1=MvLX[xNbB1][yNbB1] (8-298)
refIdxLXB1=RefIdxLX[xNbB1][yNbB1] (8-299)
predFlagLXB1=PredFlagLX[xNbB1][yNbB1] (8-300)
gbiIdxB1=GbiIdx[xNbB1][yNbB1] (8-301)
对于推导availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB0,yNbB0)被设定为等于(xCb+cbWidth,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB0,yNbB0)作为输入,并且输出分配到块可用性标志availableB0
–变量availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB0被设定为等于0,mvLXB0的两个分量被设定为等于0,refIdxLXB0被设定为等于-1且predFlagLXB0被设定为等于0,其中X为0或1,并且gbiIdxB0被设定为等于0:
–availableB0等于假。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB0,yNbB0)具有相同运动矢量和相同参考索引。
–availableA1等于真,亮度位置(xNbA1,yNbA1)和(xNbB0,yNbB0)具有相同运动矢量和相同参考索引。
–否则,availableFlagB0被设定为等于1,并且进行以下分配:
mvLXB0=MvLX[xNbB0][yNbB0] (8-302)
refIdxLXB0=RefIdxLX[xNbB0][yNbB0] (8-303)
predFlagLXB0=PredFlagLX[xNbB0][yNbB0] (8-304)
gbiIdxB0=GbiIdx[xNbB0][yNbB0] (8-305)
对于推导availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA0,yNbA0)被设定为等于(xCb-1,yCb+cbWidth)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA0,yNbA0)作为输入,并且输出分配到块可用性标志availableA0
–变量availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0推导如下:
–如果以下条件中的一个或多个为真,则availableFlagA0被设定为等于0,mvLXA0的两个分量被设定为等于0,refIdxLXA0被设定为等于-1且predFlagLXA0被设定为等于0,其中X为0或1,并且gbiIdxA0被设定为等于0:
–availableA0等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbA0,yNbA0)具有相同运动矢量和相同参考索引。
–availableB1等于真,亮度位置(xNbB1,yNbB1)和(xNbA0,yNbA0)具有相同运动矢量和相同参考索引。
–availableB0等于真,亮度位置(xNbB0,yNbB0)和(xNbA0,yNbA0)具有相同运动矢量和相同参考索引。
–否则,availableFlagA0被设定为等于1,并且进行以下分配:
mvLXA0=MvLX[xNbA0][yNbA0] (8-306)
refIdxLXA0=RefIdxLX[xNbA0][yNbA0] (8-307)
predFlagLXA0=PredFlagLX[xNbA0][yNbA0] (8-308)
gbiIdxA0=GbiIdx[xNbA0][yNbA0] (8-309)
对于推导availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB2,yNbB2)被设定为等于(xCb-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB2,yNbB2)作为输入,并且输出分配到块可用性标志availableB2
–变量availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB2被设定为等于0,mvLXB2的两个分量被设定为等于0,refIdxLXB2被设定为等于-1且predFlagLXB2被设定为等于0,其中X为0或1,并且gbiIdxB2被设定为等于0:
–availableB2等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB0等于真,亮度位置(xNbB0,yNbB0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableA0等于真,亮度位置(xNbA0,yNbA0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableFlagA0+availableFlagA1+availableFlagB0+availableFlagB1等于4,并且merge_triangle_flag[xCb][yCb]等于0。
–否则,availableFlagB2被设定为等于1,并且进行以下分配:
mvLXB2=MvLX[xNbB2][yNbB2](8-310)
refIdxLXB2=RefIdxLX[xNbB2][yNbB2](8-311)
predFlagLXB2=PredFlagLX[xNbB2][yNbB2](8-312)
gbiIdxB2=GbiIdx[xNbB2][yNbB2](8-313)
5.2实施例#2
本实施例是使TPM编解码块的修剪过程与非TPM编解码块的修剪过程一致,即,TPM编解码块的受限修剪操作。
8.5.2.3空域Merge候选的推导过程
对该过程的输入是:
–相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(xCb,yCb),
–变量cbWidth,指定亮度样点中的当前编解码块的宽度,
–变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出如下,其中X为0或1:
–邻接编解码单元的可用性标志availableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1和availableFlagB2
–邻接编解码单元的参考索引refIdxLXA0,refIdxLXA1、refIdxLXB0、refIdxLXB1和refIdxLXB2
–邻接编解码单元的预测列表利用标志predFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1和predFlagLXB2
–邻接编解码单元的1/16分数样点精度的运动矢量mvLXA0、mvLXA1、mvLXB0、mvLXB1和mvLXB2
–双向预测权重索引gbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1和gbiIdxB2
对于推导availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA1,yNbA1)被设定为等于(xCb-1,yCb+cbHeight-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA1,yNbA1)作为输入,并且输出分配到块可用性标志availableA1
–变量availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1推导如下:
–如果availableA1等于假,则availableFlagA1被设定为等于0,mvLXA1的两个分量被设定为等于0,refIdxLXA1被设定为等于-1且predFlagLXA1被设定为等于0,其中X为0或1,并且gbiIdxA1被设定为等于0。
–否则,availableFlagA1被设定为等于1,并且进行以下分配:
mvLXA1=MvLX[xNbA1][yNbA1](8-294)
refIdxLXA1=RefIdxLX[xNbA1][yNbA1](8-295)
predFlagLXA1=PredFlagLX[xNbA1][yNbA1](8-296)
gbiIdxA1=GbiIdx[xNbA1][yNbA1](8-297)
对于推导availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB1,yNbB1)被设定为等于(xCb+cbWidth-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB1,yNbB1)作为输入,并且输出分配到块可用性标志availableB1
–变量availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB1被设定为等于0,mvLXB1的两个分量被设定为等于0,refIdxLXB1被设定为等于-1且predFlagLXB1被设定为等于0,其中X为0或1,并且gbiIdxB1被设定为等于0:
–availableB1等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB1,yNbB1)具有相同运动矢量和相同参考索引。
–否则,availableFlagB1被设定为等于1,并且进行以下分配:
mvLXB1=MvLX[xNbB1][yNbB1](8-298)
refIdxLXB1=RefIdxLX[xNbB1][yNbB1](8-299)
predFlagLXB1=PredFlagLX[xNbB1][yNbB1](8-300)
gbiIdxB1=GbiIdx[xNbB1][yNbB1](8-301)
对于推导availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB0,yNbB0)被设定为等于(xCb+cbWidth,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB0,yNbB0)作为输入,并且输出分配到块可用性标志availableB0
–变量availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB0被设定为等于0,mvLXB0的两个分量被设定为等于0,refIdxLXB0被设定为等于-1且predFlagLXB0被设定为等于0,其中X为0或1,并且gbiIdxB0被设定为等于0:
–availableB0等于假。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB0,yNbB0)具有相同运动矢量和相同参考索引。
–否则,availableFlagB0被设定为等于1,并且进行以下分配:
mvLXB0=MvLX[xNbB0][yNbB0] (8-302)
refIdxLXB0=RefIdxLX[xNbB0][yNbB0] (8-303)
predFlagLXB0=PredFlagLX[xNbB0][yNbB0] (8-304)
gbiIdxB0=GbiIdx[xNbB0][yNbB0] (8-305)
对于推导availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA0,yNbA0)被设定为等于(xCb-1,yCb+cbWidth)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA0,yNbA0)作为输入,并且输出分配到块可用性标志availableA0
–变量availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0推导如下:
–如果以下条件中的一个或多个为真,则availableFlagA0被设定为等于0,mvLXA0的两个分量被设定为等于0,refIdxLXA0被设定为等于-1且predFlagLXA0被设定为等于0,其中X为0或1,并且gbiIdxA0被设定为等于0:
–availableA0等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbA0,yNbA0)具有相同运动矢量和相同参考索引。
–否则,availableFlagA0被设定为等于1,并且进行以下分配:
mvLXA0=MvLX[xNbA0][yNbA0](8-306)
refIdxLXA0=RefIdxLX[xNbA0][yNbA0](8-307)
predFlagLXA0=PredFlagLX[xNbA0][yNbA0](8-308)
gbiIdxA0=GbiIdx[xNbA0][yNbA0](8-309)
对于推导availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB2,yNbB2)被设定为等于(xCb-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB2,yNbB2)作为输入,并且输出分配到块可用性标志availableB2
–变量availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB2被设定为等于0,mvLXB2的两个分量被设定为等于0,refIdxLXB2被设定为等于-1且predFlagLXB2被设定为等于0,其中X为0或1,并且gbiIdxB2被设定为等于0:
–availableB2等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableFlagA0+availableFlagA1+availableFlagB0+availableFlagB1等于4,并且merge_triangle_flag[xCb][yCb]等于0。
–否则,availableFlagB2被设定为等于1,并且进行以下分配:
mvLXB2=MvLX[xNbB2][yNbB2](8-310)
refIdxLXB2=RefIdxLX[xNbB2][yNbB2](8-311)
predFlagLXB2=PredFlagLX[xNbB2][yNbB2](8-312)
gbiIdxB2=GbiIdx[xNbB2][yNbB2](8-313)
5.3实施例#3
本实施例是使调用B2的检查的条件一致。
8.5.2.3空域Merge候选的推导过程
对该过程的输入是:
–相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(xCb,yCb),
–变量cbWidth,指定亮度样点中的当前编解码块的宽度,
–变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出如下,其中X为0或1:
–邻接编解码单元的可用性标志availableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1和availableFlagB2
–邻接编解码单元的参考索引refIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1and refIdxLXB2
–邻接编解码单元的预测列表利用标志predFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1和predFlagLXB2
–邻接编解码单元的1/16分数样点准确度的运动矢量mvLXA0、mvLXA1、mvLXB0、mvLXB1和mvLXB2
–双向预测权重索引gbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1和gbiIdxB2
对于推导availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA1,yNbA1)被设定为等于(xCb-1,yCb+cbHeight-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA1,yNbA1)作为输入,并且输出分配到块可用性标志availableA1
–变量availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1推导如下:
对于推导availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB1,yNbB1)被设定为等于(xCb+cbWidth-1,yCb-1)。
对于推导availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB0,yNbB0)被设定为等于(xCb+cbWidth,yCb-1)。
对于推导availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA0,yNbA0)被设定为等于(xCb-1,yCb+cbWidth)。
对于推导availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB2,yNbB2)被设定为等于(xCb-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB2,yNbB2)作为输入,并且输出分配到块可用性标志availableB2
–变量availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB2被设定为等于0,mvLXB2的两个分量被设定为等于0,refIdxLXB2被设定为等于-1且predFlagLXB2被设定为等于0,其中X为0或1,并且gbiIdxB2被设定为等于0:
–availableB2等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB0等于真,亮度位置(xNbB0,yNbB0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引,并且
merge_triangle_flag[xCb][yCb]等于1。
–availableA0等于真,亮度位置(xNbA0,yNbA0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引,并且
merge_triangle_flag[xCb][yCb]等于1。
–availableFlagA0+availableFlagA1+availableFlagB0+availableFlagB1等于4。
–否则,availableFlagB2被设定为等于1,并且进行以下分配:
mvLXB2=MvLX[xNbB2][yNbB2](8-310)
refIdxLXB2=RefIdxLX[xNbB2][yNbB2](8-311)
predFlagLXB2=PredFlagLX[xNbB2][yNbB2](8-312)
gbiIdxB2=GbiIdx[xNbB2][yNbB2](8-313)
5.4实施例#4
本实施例是使调用B2的检查的条件一致。
8.5.2.3空域Merge候选的推导过程
对该过程的输入是:
–相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(xCb,yCb),
–变量cbWidth,指定亮度样点中的当前编解码块的宽度,
–变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出如下,其中X为0或1:
–邻接编解码单元的可用性标志availableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1和availableFlagB2
–邻接编解码单元的参考索引refIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1和refIdxLXB2
–邻接编解码单元的预测列表利用标志predFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1和predFlagLXB2
–邻接编解码单元的1/16分数样点准确度的运动矢量mvLXA0、mvLXA1、mvLXB0、mvLXB1和mvLXB2
–双向预测权重索引gbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1和gbiIdxB2
对于推导availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA1,yNbA1)被设定为等于(xCb-1,yCb+cbHeight-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbA1,yNbA1)作为输入,并且输出分配到块可用性标志availableA1
–变量availableFlagA1、refIdxLXA1、predFlagLXA1和mvLXA1推导如下:
对于推导availableFlagB1、refIdxLXB1、predFlagLXB1和mvLXB1,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB1,yNbB1)被设定为等于(xCb+cbWidth-1,yCb-1)。
对于推导availableFlagB0、refIdxLXB0、predFlagLXB0和mvLXB0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB0,yNbB0)被设定为等于(xCb+cbWidth,yCb-1)。
对于推导availableFlagA0、refIdxLXA0、predFlagLXA0和mvLXA0,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbA0,yNbA0)被设定为等于(xCb-1,yCb+cbWidth)。
对于推导availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2,以下适用:
–邻接亮度编解码块之内的亮度位置(xNbB2,yNbB2)被设定为等于(xCb-1,yCb-1)。
–调用如条款6.4.X[Ed.(BB):邻接块可用性检查过程tbd]中所指定的块的可用性推导过程,以设定为等于(xCb,yCb)的当前亮度位置(xCurr,yCurr)和邻接亮度位置(xNbB2,yNbB2)作为输入,并且输出分配到块可用性标志availableB2
–变量availableFlagB2、refIdxLXB2、predFlagLXB2和mvLXB2推导如下:
–如果以下条件中的一个或多个为真,则availableFlagB2被设定为等于0,mvLXB2的两个分量被设定为等于0,refIdxLXB2被设定为等于-1且predFlagLXB2被设定为等于0,其中X为0或1,并且gbiIdxB2被设定为等于0:
–availableB2等于假。
–availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB1等于真,并且亮度位置(xNbB1,yNbB1)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引。
–availableB0等于真,亮度位置(xNbB0,yNbB0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引,并且merge_triangle_flag[xCb][yCb]等于1。
–availableA0等于真,亮度位置(xNbA0,yNbA0)和(xNbB2,yNbB2)具有相同运动矢量和相同参考索引,并且merge_triangle_flag[xCb][yCb]等于1。
–否则,availableFlagB2被设定为等于1,并且进行以下分配:
mvLXB2=MvLX[xNbB2][yNbB2](8-310)
refIdxLXB2=RefIdxLX[xNbB2][yNbB2](8-311)
predFlagLXB2=PredFlagLX[xNbB2][yNbB2](8-312)
gbiIdxB2=GbiIdx[xNbB2][yNbB2](8-313)
5.5实施例#5
本实施例是为了简化ATMVP过程中的初始化MV的决定。
8.5.5.4基于子块的时域Merge的基本运动数据的推导过程对该过程的输入是:
–含有当前编解码块的亮度编解码树块的左顶样点的位置(xCtb,yCtb),
–覆盖右下中央样点的共位亮度编解码块的左顶样点的位置(xColCtrCb,yColCtrCb)。
–邻接编解码单元的可用性标志availableFlagA1
–邻接编解码单元的参考索引refIdxLXA1
–邻接编解码单元的预测列表利用标志predFlagLXA1
–邻接编解码单元的1/16分数样点准确度的运动矢量mvLXA1
该过程的输出是:
–运动矢量ctrMvL0和ctrMvL1,
–预测列表利用标志ctrPredFlagL0和ctrPredFlagL1,
–时域运动矢量tempMv。
变量tempMv被设定为如下:
tempMv[0]=0(8-529)
tempMv[1]=0(8-530)变量currPic指定当前图片。
当availableFlagA1等于真时,以下适用:
ColPic之内的共位块的位置(xColCb,yColCb)被推导如下。
阵列colPredMode被设定为等于由ColPic指定的共位图片的预测模式阵列CuPredMode。
运动矢量ctrMvL0和ctrMvL1,以及预测列表利用标志ctrPredFlagL0和ctrPredFlagL1推导如下:
5.6实施例#6
基于子块和非子块的方法的共位MV的推导过程的一致的示例。
8.5.2.12共位运动矢量的推导过程
对该过程的输入是:
–变量currCb,指定当前编解码块,
–变量colCb,指定由ColPic指定的共位图片之内的共位编解码块,
–亮度位置(xColCb,yColCb),指定相对于由ColPic指定的共位图片的左顶亮度样点的由colCb指定的共位亮度编解码块的左顶样点,
–参考索引refIdxLX,其中X为0或1,
–标志,指示子块时域Merge候选sbFlag。
该过程的输出是:
–1/16分数样点准确度的运动矢量预测mvLXCol,
–可用性标志availableFlagLXCol。
变量currPic指定当前图片。
阵列predFlagL0Col[x][y]、mvL0Col[x][y]和refIdxL0Col[x][y]被分别设定为等于由ColPic指定的共位图片的PredFlagL0[x][y]、MvDmvrL0[x][y]和RefIdxL0[x][y],并且阵列predFlagL1Col[x][y]、mvL1Col[x][y]和refIdxL1Col[x][y]被分别设定为等于由ColPic指定的共位图片的PredFlagL1[x][y]、MvDmvrL1[x][y]和RefIdxL1[x][y]。
变量mvLXCol和availableFlagLXCol推导如下:
–如果colCb是以帧内或IBC预测模式编解码的,则mvLXCol的两个分量都被设定为等于0且availableFlagLXCol被设定为等于0。
–否则,运动矢量mvCol、参考索引refIdxCol和参考列表标识符listCol推导如下:
–如果availableFlagLXCol被设定为1,并且以下适用:
–如果predFlagL0Col[xColCb][yColCb]等于0,则mvCol、refIdxCol和listCol被分别设定为等于mvL1Col[xColCb][yColCb]、refIdxL1Col[xColCb][yColCb]和L1。
–否则,如果predFlagL0Col[xColCb][yColCb]等于1且predFlagL1Col[xColCb][yColCb]等于0,则mvCol、refIdxCol和listCol被分别设定为等于mvL0Col[xColCb][yColCb]、refIdxL0Col[xColCb][yColCb]和L0。
–否则(predFlagL0Col[xColCb][yColCb]等于1且predFlagL1Col[xColCb][yColCb]等于1),进行以下分配:
–如果NoBackwardPredFlag等于1,则mvCol、refIdxCol和listCol被分别设定为等于mvLXCol[xColCb][yColCb]、
refIdxLXCol[xColCb][yColCb]和LX。
–否则,mvCol、refIdxCol和listCol被分别设定为等于mvLNCol[xColCb][yColCb]、refIdxLNCol[xColCb][yColCb]
和LN,且N为collocated_from_l0_flag的值。
–当availableFlagLXCol等于真时,mvLXCol和availableFlagLXCol推导如下:
–如果LongTermRefPic(currPic、currCb、refIdxLX、LX)不等于LongTermRefPic(ColPic、colCb、refIdxCol、listCol),则mvLXCol的两个分量都被设定为等于0且availableFlagLXCol被设定为等于0。
–否则,变量availableFlagLXCol被设定为等于1,refPicList[listCol][refIdxCol]被设定为具有含有由ColPic指定的共位图片中的编解码块colCb的条带的参考图片列表listCol中的参考索引refIdxCol的图片,并且以下适用:
5.7实施例#7,关于IBC运动列表构建
两个坐标被用于推导候选,一个用于标识邻接块,并且另一个被用于所标识的邻接块的可用性检查。
8.6.2.2IBC亮度块矢量预测的推导过程
仅当CuPredMode[0][xCb][yCb]等于MODE_IBC时调用该过程,其中(xCb,yCb)指定相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点。
对该过程的输入是:
-相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(xCb,yCb),
-变量cbWidth,指定亮度样点中的当前编解码块的宽度,
-变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出是:
-1/16分数样点准确度的亮度块矢量bvL。
变量xSmr、ySmr、smrWidth和smrHeight推导如下:
xSmr=IsInSmr[xCb][yCb]?SmrX[xCb][yCb]:xCb(8-906)
ySmr=IsInSmr[xCb][yCb]?SmrY[xCb][yCb]:yCb(8-907)
smrWidth=IsInSmr[xCb][yCb]?SmrW[xCb][yCb]:cbWidth(8-908)
smrHeight=IsInSmr[xCb][yCb]?SmrH[xCb][yCb]:cbHeight(8-909)
由以下顺序步骤推导亮度块矢量bvL:
1.调用如条款8.6.2.3中所指定的从邻接编解码单元推导空域块矢量候选的过程,以设定为等于(xSmr,ySmr)的共享Merge区域位置(xCb,yCb)的亮度编解码块,设定为等于(XCB,YCB)的当前编解码块位置(XCURRCB,YCURRCB)的亮度编解码块,设定为等于smrWidth和smrHeight的亮度编解码块宽度cbWidth和亮度编解码块高度cbHeight作为输入,并且输出为可用性标志availableFlagA1、availableFlagB1以及块矢量bvA1和bvB1
2.块矢量候选列表bvCandList被构建如下:
3.变量numCurrCand被设定为等于bvCandList中的Merge候选的数目。
4.当numCurrCand小于MaxNumIbcMergeCand且NumHmvpIbcCand大于0时,调用如8.6.2.4中所指定的IBC基于历史的块矢量候选的推导过程,以bvCandList和numCurrCand作为输入,并且修改的bvCandList和numCurrCand作为输出。
5.当numCurrCand小于MaxNumIbcMergeCand时,以下适用,直到numCurrCand等于MaxNumIbcMergeCand:
1.bvCandList[numCurrCand][0]被设定为等于0。
2.bvCandList[numCurrCand][1]被设定为等于0。
3.numCurrCand增大1。
6.变量bvIdx被推导如下:
bvIdx=general_merge_flag[xCb][yCb]?merge_idx[xCb][yCb]:
mvp_l0_flag[xCb][yCb](8-911)
7.进行以下分配:
bvL[0]=bvCandList[mvIdx][0](8-912)
bvL[1]=bvCandList[mvIdx][1](8-913)
4.7.1.1IBC空域块矢量候选的推导过程
对该过程的输入是:
-相对于当前图片的左顶亮度样点的亮度编解码块的左顶样点的亮度位置(xCb,yCb),
-相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点的亮度位置(XCURRCB,YCURRCB),
-变量cbWidth,指定亮度样点中的当前编解码块的宽度,
-变量cbHeight,指定亮度样点中的当前编解码块的高度。
该过程的输出如下:
-邻接编解码单元的可用性标志availableFlagA1和availableFlagB1
-邻接编解码单元的1/16分数样点准确度的块矢量bvA1和bvB1
对于推导availableFlagA1和mvA1,以下适用:
-邻接亮度编解码块之内的亮度位置(xNbA1,yNbA1)被设定为等于(xCb-1,yCb+cbHeight-1)。
-调用如条款6.4.4中所指定的邻接块可用性的推导过程,以设定为等于(XCURRCB,YCURRCB)的当前亮度位置(xCurr,yCurr)、邻接亮度位置(xNbA1,yNbA1)、设定为等于真的CheckPredModeY和设定为等于0的cIdx作为输入,并且输出分配到块可用性标志availableA1
-变量availableFlagA1和bvA1推导如下:
-如果availableA1等于假,则availableFlagA1被设定为等于0且bvA1的两个分量被设定为等于0。
-否则,availableFlagA1被设定为等于1,并且进行以下分配:
bvA1=MvL0[xNbA1][yNbA1](8-914)
对于推导availableFlagB1和bvB1,以下适用:
-邻接亮度编解码块之内的亮度位置(xNbB1,yNbB1)被设定为等于(xCb+cbWidth-1,yCb-1)。
-调用如条款6.4.4中所指定的邻接块可用性的推导过程,以设定为等于(XCURRCB,YCURRCB)的当前亮度位置(xCurr,yCurr)、邻接亮度位置(xNbB1,yNbB1)、设定为等于真的CheckPredModeY和设定为等于0的cIdx作为输入,并且输出分配到块可用性标志availableB1
-变量availableFlagB1和bvB1推导如下:
-如果以下条件中的一个或多个为真,则availableFlagB1被设定为等于0,并且bvB1的两个分量被设定为等于0:
-availableB1等于假。
-availableA1等于真,并且亮度位置(xNbA1,yNbA1)和(xNbB1,yNbB1)具有相同块矢量。
-否则,availableFlagB1被设定为等于1,并且进行以下分配:
bvB1=MvL0[xNbB1][yNbB1](8-915)
5.8实施例#7,关于CIIP
8.5.6.7组合Merge和帧内预测的加权样点预测过程
对该过程的输入是:
-亮度位置(xCb,yCb),指定相对于当前图片的左顶亮度样点的当前亮度编解码块的左顶样点,
-当前编解码块的宽度cbWidth,
-当前编解码块的高度cbHeight,
-两个(cbWidth)x(cbHeight)阵列predSamplesInter和predSamplesIntra,
-变量cIdx,指定色彩分量索引。
该过程的输出是预测样点值的(cbWidth)x(cbHeight)阵列predSamplesComb。
变量bitDepth被推导如下:
-如果cIdx等于0,则bitDepth被设定为等于BitDepthY
-否则,bitDepth被设定为等于BitDepthC
变量scallFact被推导如下:
scallFact=(cIdx==0)?0:1.(8-838)
邻接亮度位置(xNbA,yNbA)和(xNbB,yNbB)被分别设定为等于(xCb-1,yCb-1+(cbHeight<<scallFact))和(xCb-1+(cbWidth<<scallFact),yCb-1)。
对于X被A或B替换,变量availableX和isIntraCodedNeighbourX推导如下:
-调用如条款6.4.4中所指定的邻接块可用性的推导过程,以设定为等于(xCb,yCb)的位置(xCurr,yCurr)、设定为等于(xNbX,yNbX)的邻接位置(xNbY,yNbY)、设定为等于假的CheckPredModeY和设定为等于0的cIdx作为输入,并且输出分配到availableX。
-变量isIntraCodedNeighbourX被推导如下:
-如果availableX等于真且CuPredMode[0][xNbX][yNbX]等于MODE_INTRA,则isIntraCodedNeighbourX被设定为等于真。
-否则,isIntraCodedNeighbourX被设定为等于假。
权重w被推导如下:
-如果isIntraCodedNeighbourA和isIntraCodedNeighbourB都等于真,则w被设定为等于3。
-否则,如果isIntraCodedNeighbourA和isIntraCodedNeighbourB都等于假,则w被设定为等于1。
-否则,w被设定为等于2。
当cIdx等于0且slice_lmcs_enabled_flag等于1时,predSamplesInter[x][y],其中x=0..cbWidth–1且y=0..cbHeight–1,被修改如下:
6.4.4邻接块可用性的推导过程
对该过程的输入是:
-相对于当前图片的左顶亮度样点的当前块的左顶样点的亮度位置(xCurr,yCurr),
-相对于当前图片的左顶亮度样点的被邻接块覆盖的亮度位置(xNbY,yNbY),
-变量CheckPredModeY,指定可用性是否取决于预测模式。
-变量cIdx,指定当前块的色彩分量。
该过程的输出是覆盖位置(xNbY,yNbY)的邻接块的可用性,指代为availableN。
邻接块可用性availableN被推导如下:
-如果以下条件中的一个或多个为真,则availableN被设定为等于假:
-xNbY小于0。
-yNbY小于0。
-xNbY大于或等于pic_width_in_luma_samples。
-yNbY大于或等于pic_height_in_luma_samples。
-IsAvailable[cIdx][yNbY][xNbY]等于假。
-邻接块被含有在与当前块不同的砖块中,availableN被设定为等于假。
–否则,availableN被设定为等于真。
当全部以下条件为真时,availableN被设定为等于假。
–CheckPredModeY等于真。
–availableN被设定为等于真。
–CuPredMode[0][xNbY][yNbY]不等于CuPredMode[0][xCurr][yCurr]。
5.9实施例#9,关于TPM/GEO/CIIP
本实施例给出对大于K0*K1(例如,K0=32,K1=32)的块禁止TPM/GEO的示例。
7.3.8.7Merge数据语法
/>
当ciip_flag[x0][y0]不存在时,其被推断如下:
-如果全部以下条件为真,则ciip_flag[x0][y0]被推断为等于1:
-sps_ciip_enabled_flag等于1。
-general_merge_flag[x0][y0]等于1。
-merge_subblock_flag[x0][y0]等于0。
-regular_merge_flag[x0][y0]等于0。
-cbWidth小于128。
-cbHeight小于128。
-cbWidth*cbHeight大于或等于64。
-CBWIDTH大于K0或CBHEIGHT大于K1。
-否则,ciip_flag[x0][y0]被推断为等于0。
5.10实施例#10,关于PROF/DMVR/BDOF控制
本实施例给出在条带级中启用/禁用PROF的示例。基于VVC草案6[1]提出的改变描述如下。新添加的改变被以大写字体强调。
7.3.2.3序列参数集RBSP语法
/>
7.3.6条带头语法
7.3.6.1一般条带头语法
7.4.3.3序列参数集RBSP语义1指定存在于涉及SPS的条带头中。
等于0指定不存在于涉及SPS的条带头中。当不存在时,的值被推断为等于0。
7.4.7.1一般条带头语义
1指定在当前条带中不启用双向光流帧间预测、B条带的使用光流的预测细化和基于解码器运动矢量细化的帧间双向预测中的任意一个。/>等于0指定双向光流帧间预测或基于解码器运动矢量细化的帧间双向预测或B条带的使用光流的预测细化在当前条带中可以或不可以被启用。当/>不存在时,的值被推断为0。
等于1指定P条带的使用光流的预测细化在当前条带中被禁用。/>等于0指定P条带的使用光流的预测细化在当前条带中被启用。当/>不存在时,/>的值被推断为1。
8.5.5.9从仿射控制点运动矢量推导运动矢量阵列的过程
变量cbProfFlagLX被推导如下:
-如果以下条件中的一个或多个为真,则cbProfFlagLX被设定为等于假。
-sps_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设定为等于真。
8.5.6.3.1总体
预测块边界扩展尺寸brdExtSize被推导如下:
brdExtSize=(bdofFlag||(inter_affine_flag[xSb][ySb]&&sps_affine_prof_enabled_flag
变量fRefWidth被设定为等于亮度样点中的参考图片的PicOutputWidthL。
-如果bdofFlag等于真或(sps_affine_prof_enabled_flag等于真且 且inter_affine_flag[xSb][ySb]等于真),并且以下条件中的一个或多个为真,则通过调用如条款8.5.6.3.3中所指定的亮度整数样点取回过程(以(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)和refPicLX作为输入)推导预测亮度样点值predSamplesLX[xL][yL]。
1.xL等于0。
2.xL等于sbWidth+1。
3.yL等于0。
4.yL等于sbHeight+1。
图22是视频处理设备2200的框图。设备2200可以被用于实现本文中所描述的方法中的一个或多个。设备2200可以实施为智能电话、平板计算机、计算机、物联网(IoT)接收器,等等。设备2200可以包含一个或多个处理器2202、一个或多个存储器2204和视频处理硬件2206。(多个)处理器2202可以被配置为实现本文档中所描述的一个或多个方法。(多个)存储器2204可以用于储存用于实现本文中所描述的方法和技术的数据和代码。视频处理硬件2206可以被用于在硬件电路中实现本文档中所描述的一些技术。视频处理硬件2206可以部分或完全地包含在专用硬件或图形处理器单元(GPU)或专用信号处理块的形式的(多个)处理器2202内。
可以使用以下基于条款的描述来描述一些实施例。
章节4的项目1中的描述的技术的一些示例性实施例包含:
1.一种视频处理的方法(例如,图23中的绘示的方法2300),包括:对使用三角形分割模式(TMP)分割的当前视频块的Merge列表构建应用(2302)修剪过程,在三角形分割模式中当前视频块被分割为至少两个非矩形子块,其中修剪过程与使用非TMP分割来分割的另一视频块的另一修剪过程相同;以及基于Merge列表构建进行(2304)当前视频块与当前视频块的比特流表示之间的转换。
2.根据条款1所述的方法,其中修剪过程包括对当前视频块的空域Merge候选使用部分修剪。
3.根据条款1所述的方法,其中修剪过程包括基于块维度规则对当前视频块应用完全或部分修剪,块维度规则指定基于当前视频块的维度使用完全或部分修剪。
4.根据条款1所述的方法,其中修剪过程包括在Merge列表构建过程期间使用邻接块的不同顺序。
章节4的项目2中的描述的技术的一些示例性实施例包含:
1.一种视频处理的方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,确定关于替代时域运动矢量预测符编解码(ATMVP)模式对基于当前视频块的邻接块的列表X的转换的可用性,其中X是整数,并且X的值取决于当前视频块的编码条件,以及基于ATMVP模式的可用性进行转换。
2.根据条款1所述的方法,其中X指示共位视频图片的位置,从该共位视频图片进行用于进行当前视频块与比特流表示之间的转换的时域运动矢量预测。
3.根据条款1所述的方法,其中通过将当前视频块的全部参考列表中的全部参考图片的图片顺序计数(POC)与当前视频块的当前视频图片的POC进行比较而确定X。
4.根据条款3所述的方法,其中在比较示出POC<=当前图片的POC的情况下,则设定X=1,否则,设定X=0。
5.根据条款1所述的方法,其中储存在基于历史的运动矢量预测符表中的运动信息被用于初始化ATMVP模式中的运动矢量。
章节4的项目3中的描述的技术的一些示例性实施例包含:
1.一种视频处理的方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,确定基于子块的编解码技术,其中当前视频块被分割为至少两个子块,其中能够推导其自身的运动信息的每个子块被用于转换;并且使用当前视频块的Merge列表构建过程进行转换,当前视频块的Merge列表构建过程与共位运动矢量的基于块的推导过程一致。
2.根据条款1所述的方法,其中Merge列表构建过程和推导过程包括进行从列表Y的单向预测,并且其中列表Y的运动矢量被缩放到目标参考图片列表X。
3.根据条款1所述的方法,其中Merge列表构建过程和推导过程包括以目标参考图片列表X进行双向预测,然后列表Y的运动矢量被缩放到列表X的运动矢量,其中根据规则确定Y。
章节4的项目4中的描述的技术的一些示例性实施例包含:
1.一种视频处理的方法,包括:基于视频图片的当前视频块的维度和/或Merge共享状态的启用,在满足条件与不满足条件之间进行确定,在Merge共享状态中来自不同编解码工具的Merge候选被共享;以及基于条件进行当前视频块与当前视频块的比特流表示之间的转换。
2.根据条款1所述的方法,其中进行转换包括在满足条件的情况下跳过推导空域Merge候选。
3.根据条款1所述的方法,其中进行转换包括在满足条件的情况下跳过推导基于历史的运动矢量候选。
4.根据条款1-3中任一项所述的方法,其中基于当前视频块在视频图片中的共享节点之下而确定满足条件。
章节4的项目5中的描述的技术的一些示例性实施例包含:
1.一种视频处理的方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,进行确定编解码工具对转换禁用,其中比特流表示被配置为提供指示编解码工具的Merge候选的最大数目为零;以及使用确定编解码工具被禁用进行转换。
2.根据条款1所述的方法,其中编解码工具对应于帧内块复制,在帧内块复制中当前视频块的像素被从当前视频块的视频区域中的其他像素编解码。
3.根据条款1所述的方法,其中编解码工具是子块编解码工具。
4.根据条款3所述的方法,其中子块编解码工具是仿射编解码工具或替代运动矢量预测符工具。
5.根据条款1-4中任一项所述的方法,其中进行转换包含通过跳过与编解码工具相关的语法元素处理比特流。
章节4的项目6中的描述的技术的一些示例性实施例包含:
1.一种视频处理的方法,包括:在使用规则的当前视频块与当前视频块的比特流表示之间的转换期间进行确定,规则指定,比特流表示中的第一语法元素基于第二语法元素有条件地存在,第二语法元素指示由用于转换期间的编解码工具所使用的Merge候选的最大数目;以及基于确定进行当前视频块与当前视频块的比特流表示之间的转换。
2.根据条款1所述的方法,其中第一语法元素对应于Merge标志。
3.根据条款1所述的方法,其中第一语法元素对应于跳过标志。
4.根据条款1-3中任一项所述的方法,其中编解码工具是子带编解码工具,并且第二语法元素对应于子带编解码工具的最大允许Merge候选。
参考之前章节中的项目14至17,以下条款描述一些技术方案。
一种视频处理的方法,包括:为视频的第一视频块的编解码表示与第二视频块之间的转换,在使用可用性检查过程的转换期间,确定第二视频块的可用性,其中可用性检查过程至少在关于第一视频块的第一位置和第二位置处检查;以及基于确定的结果进行转换。
如上所述的方法,其中第一位置对应于左顶位置。
如上所述的方法,其中第二位置对应于左顶位置。
一种视频处理的方法,包括:为视频的视频块的编解码表示与第二视频块之间的转换,确定关于视频块的第一位置和第二位置处的帧内块复制运动候选的列表;以及基于确定的结果进行转换。
如上所述的方法,其中第一位置对应于相对于视频块的共享Merge区域的左顶位置。
根据上述条款中任一项所述的方法,其中转换包含从当前视频块生成比特流表示。
根据上述条款中任一项所述的方法,其中转换包含从比特流表示生成当前视频块的样点。
一种视频处理设备,包括处理器,所述处理器配置为实现以上条款中一个或多个中所述的方法。
一种计算机可读介质,具有其上储存的代码,在执行代码时使处理器实现以上条款中一个或多个中所述的方法。
图35是示出可以实现本文中所示的各种技术的示例视频处理系统3500的框图。各种实施方式可以包含系统3500的组件中的一些或全部。系统3500可以包含输入3502以接收视频内容。视频内容可以被接收为原始或未压缩格式,例如,8或10比特多分量像素值,或可以为压缩或编码的格式。输入3502可以表示网络接口、外围总线接口或储存接口。网络接口的示例包含诸如以太网、无源光学网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统3500可以包含编解码组件3504,其可以实现本文档中所描述的各种编解码或编码方法。编解码组件3504可以降低从输入3502到编解码组件3504的输出的视频的平均比特率,以产生视频的编解码表示。编解码技术因此有时称为视频压缩或视频转码技术。编解码组件3504的输出可以经由连接的通信储存或传输,如组件3506所表示。在输入3502处接收的视频的储存或通信的比特流(或编解码的)表示可以由组件3508用于生成像素值或可显示视频,其被发送到显示接口3510。由比特流表示生成用户可观看视频的过程有时称为视频解压缩。另外,虽然某些视频处理操作称为“编码”操作或工具,应理解,编码工具或操作被在编码器使用,并且逆转编码的结果的对应的解码工具或操作将由解码器进行。
外围总线接口或显示接口的示例可以包含通用串行总线(USB)或高分辨率多媒体接口(HDMI)或Displayport,等等。储存接口的示例包含SATA(串行先进技术附件)、PCI、IDE接口,等等。本文档中所描述的技术可以实施为各种电子装置,诸如移动电话、膝上式计算机、智能电话或能够进行数字数据处理和/或视频显示的其他装置。
本文档中描述的所公开的和其他的方案、示例、实施例、模块和功能操作可以实现为数字电子电路,或计算机软件,固件,或硬件,包含本文档中所公开的结构和它们的结构等同,或它们中的一个或多个的组合。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读储存装置、机器可读储存基板、存储器装置、影响机器可读传播信号的物质组成或它们中的一个或多个的组合。术语“数据处理设备”涵盖用于处理数据的全部设备、装置和机器,包含例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光学或电磁信号,其被生成以编码发送到适当接收器设备的信息。
图36是图示了可以使用本公开的技术的示例性视频编解码系统100的框图。
如图36所示,视频编解码系统100可以包含源装置110和目的地装置120。源装置110生成编码视频数据,其可以称为视频编码装置。目的地装置120可以将由源装置110生成的编码视频数据解码,其可以称为视频解码装置。
源装置110可以包含视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包含源,诸如视频捕获装置,从视频内容提供者接收视频数据的接口,和/或用于生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114将来自视频源112的视频数据编码以生成比特流。比特流可以包含形成视频数据的编解码表示的比特的序列。比特流可以包含编解码的图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包含序列参数级、图片参数级,和其他语法结构。I/O接口116可以包含调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以经由I/O接口116通过网络130a被直接传输到目的地装置120。编码的视频数据还可以储存到储存介质/服务器130b上以由目的地装置120访问。
目的地装置120可以包含I/O接口126、视频解码器124和显示装置122。
I/O接口126可以包含接收器和/或调制解调器。I/O接口126可以从源装置110或储存介质/服务器130b获取编码的视频数据。视频解码器124可以将编解码的视频数据解码。显示装置122可以向用户显示解码的视频数据。显示装置122可以与目的地装置120集成,或可以在目的地装置120外部,目的地装置120可以配置为与外部显示装置相接。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或进一步的标准。
图37是图示视频编码器200的示例的框图,其可以是图36中所示的系统100中的视频编码器114。
视频编码器200可以被配置为进行本公开的技术中的任意或全部。在图37的示例中,视频编码器200包含多个功能组件。本公开中所描述的技术可以在视频编码器200的各组件之间共享。在一些示例中,处理器可以被配置为进行本公开中所描述的技术中的任意或全部。
视频编码器200的功能组件可以包含分割单元201,可以包含模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206的预测单元202,残差生成单元207,变换单元208,量化单元209,逆量化单元210,逆变换单元211,重构单元212,缓冲器213,和熵编码单元214。
在其他示例中,视频编码器200可以包含更多、更少或不同的功能组件。在示例中,预测单元202可以包含帧内块复制(IBC)单元。IBC单元可以在IBC模式中进行预测,其中至少一个参考图片是当前视频块位于的图片。
另外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但出于解释目的,在图5的示例中分开地表示。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于误差结果选择编解码模式之一,帧内或帧间,并且将所得帧内或帧间编解码块提供到残差生成单元207以生成残差块数据,并且提供到重构单元212以重构编码块来用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以选择块的运动矢量的分辨率(例如,子像素或整数像素精度)。
为对当前视频块进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块比较来为当前视频块生成运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的除与当前视频块相关联的图片之外的图片的编解码样点为当前视频块确定预测的视频块。
运动估计单元204和运动补偿单元205可以对当前视频块进行不同操作,例如,取决于当前视频块是I条带、P条带还是B条带。
在一些示例中,运动估计单元204可以对当前视频块进行单向预测,并且运动估计单元204可以搜索当前视频块的参考视频块的列表0或列表1的参考图片。运动估计单元204可以然后生成指示含有参考视频块的列表0或列表1中的参考图片的参考索引和指示当前视频块与参考视频块之间的空域移位的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块生成当前块的预测视频块。
在其他示例中,运动估计单元204可以为当前视频块进行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204然后可以生成参考索引,参考索引指示含有参考视频块的列表0和列表1中的参考图片和指示参考视频块与当前视频块之间的空域移位的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以为解码器的解码过程输出完整的运动信息集。
在一些示例中,运动估计单元204可以不为当前视频输出完整的运动信息集。反之,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息充分相似于邻接视频块的运动信息。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差异(MVD)。运动矢量差异指示当前视频块的运动矢量与指示的视频块的运动矢量之间的差异。视频解码器300可以使用指示的视频块的运动矢量和运动矢量差异来确定当前视频块的运动矢量。
如上所述,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性信令通知技术的两个示例包含先进运动矢量预测(AMVP)和Merge模式信令通知。
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包含预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块减去(例如,由减号指示)当前视频块的(多个)预测视频块生成当前视频块的残差数据。当前视频块的残差数据可以包含对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,可以不存在当前视频块的当前视频块的残差数据(例如在跳过模式中),并且残差生成单元207可以不进行减法操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以应用对变换系数视频块分别应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应的样点以产生与当前块相关联的重构视频块,以储存在缓冲器213中。
在重构单元212将视频块重构之后,可以进行环路滤波操作以减少视频块中的视频块伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码数据,并输出包含熵编码数据的比特流。
图38是图示视频解码器300的示例的框图,其可以是图36中所示的系统100中的视频解码器114。
视频解码器300可以被配置为进行本公开的技术中的任意或全部。在图38的示例中,视频解码器300包含多个功能组件。本公开中所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为进行本公开中所描述的技术中的任意或全部。
在图38的示例中,视频解码器300包含熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以进行总体上相反于关于视频编码器200(例如,图37)描述的编码过程的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包含熵解码视频数据(例如,视频数据的编码块)。熵解码单元301可以解码熵解码视频数据,并且从熵解码视频数据,运动补偿单元302可以确定运动信息,包含运动矢量、运动矢量精度、参考图片列表索引,以及其他运动信息。运动补偿单元302可以例如通过进行AMVP和Merge模式而确定这样的信息。
运动补偿单元302可以产生运动补偿块,可能基于插值滤波进行插值。要与子像素精度一起使用的插值滤波的标识符可以被包含在语法元素中。
运动补偿单元302可以在编码视频块期间使用如由视频编码器20所使用的插值滤波,以计算参考块的子整数像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200使用的插值滤波,并且使用插值滤波来产生预测性块。
运动补偿单元302可以使用语法信息中的一些来确定用于将编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述如何分割编码视频序列的图片的每个宏块的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及解码编码视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式,以从空域相邻块形成预测块。逆量化单元303逆量化(即,去量化)比特流中提供的且由熵解码单元301解码的量化视频块系数。逆变换单元303应用逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块以形成解码块。如果期望,还可以应用去方块滤波以滤波解码块,以便移除块状伪影。解码视频块然后被储存在缓冲器307中,缓冲器307为后续运动补偿提供参考块。
章节4的项目22中的描述的技术的一些示例性实施例包含:
1.一种视觉媒体处理的方法(例如,图39中所示的方法3900),包括:为视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,基于规则确定(3902)分割模式编解码工具对转换被禁用,规则取决于当前视频块的维度;以及基于确定进行(3904)转换。
2.根据条款1所述的方法,其中如果块宽度大于或等于阈值K0和/或块高度大于或等于阈值K1,则分割模式编解码工具被禁用。
3.根据条款1所述的方法,其中如果块宽度大于阈值K0和/或块高度大于阈值K1,则分割模式编解码工具被禁用。
4.根据条款2-3中任意一项或多项所述的方法,其中阈值K0和阈值K1等于32。
5.根据条款1所述的方法,其中如果块宽度小于或等于阈值K0和/或块高度大于或等于阈值K1,则分割模式编解码工具被禁用。
6.根据条款1所述的方法,其中如果块宽度小于阈值K0和/或块高度大于阈值K1,则分割模式编解码工具被禁用。
7.根据条款5-6中任意一项或多项所述的方法,其中阈值K0和阈值K1等于8。
8.根据条款1所述的方法,其中如果块高度和块宽度的乘积大于或等于阈值K1,则分割模式编解码工具被禁用。
9.根据条款1所述的方法,其中如果块高度和块宽度的乘积大于阈值K1,则分割模式编解码工具被禁用。
10.根据条款1所述的方法,其中如果块高度和块宽度的乘积小于或等于阈值K1,则分割模式编解码工具被禁用。
11.根据条款1所述的方法,其中如果块高度和块宽度的乘积小于阈值K1,则分割模式编解码工具被禁用。
12.根据条款8-11中任意一项或多项所述的方法,其中阈值K1等于1024。
13.根据条款1所述的方法,其中如果块宽度等于阈值K0和/或块高度等于阈值K1,则分割模式编解码工具被禁用。
14.根据条款13所述的方法,其中K0=8,K1=32。
15.根据条款1-14中任意一项或多项所述的方法,其中规则还指定,指示分割模式编解码工具的应用是否被禁用的语法元素在比特流表示中被选择性地排除。
16.根据条款1-14中任意一项或多项所述的方法,其中规则还指定,在禁用分割模式编解码工具的应用的特定条件发生的情况下,则指示组合帧间帧内预测(CIIP)模式的应用的语法元素在比特流表示中被排除。
17.根据条款16所述的方法,其中如果块宽度大于阈值K0和/或块高度大于阈值K1,则指示CIIP模式的应用的语法元素在比特流表示中被排除。
18.根据条款17所述的方法,其中,在指示CIIP模式的应用的语法元素在比特流表示中被选择性地排除的情况下,CIIP模式被推断为启用。
19.根据条款1-14中任意一项或多项所述的方法,其中规则还指定,在禁用分割模式编解码工具的应用的特定条件发生的情况下,则指示常规Merge模式的应用的语法元素在比特流表示中被排除。
20.根据条款19所述的方法,其中如果块宽度大于阈值K0和/或块高度大于阈值K1,则指示常规Merge模式的应用的语法元素在比特流表示中被排除。
21.根据条款1-20中任意一项或多项所述的方法,其中分割模式编解码工具使用作为当前视频块的分割的加权平均的当前视频块的最终预测块,其中至少一个分割包括成角度边缘。
22.根据条款21所述的方法,其中分割模式编解码工具对应于几何分割模式编解码工具。
23.根据条款22所述的方法,其中几何分割模式编解码工具包含多个划分模式,其中至少一个划分模式将当前视频块划分为两个分割,两个分割中的至少一个是非正方形且非矩形的。
24.根据条款21所述的方法,其中分割模式编解码工具对应于三角形分割模式(TPM)编解码工具。
章节4的项目21中所描述的技术的一些示例性实施例包含:
25.一种视觉媒体处理的方法(例如,图40中所示的方法4000),包括:为视觉媒体数据的当前视频块与视觉媒体数据的比特流表示之间的转换,基于规则确定(4002)使用光细化的预测(PROF)编解码工具的可应用性,在使用光细化的预测编解码工具中,使用光流模型细化当前视频块的预测;以及根据确定进行(4004)转换,其中规则基于至少三个因素,包含:(1)当前视频块位于其中的条带的条带类型,(2)解码器侧运动矢量细化(DMVR)编解码工具是否对当前视频块启用,和/或(3)双向光流(BDOF)编解码工具是否对当前视频块启用。
26.根据条款25所述的方法,其中规则指定,条带类型排他地是B条带。
27.根据条款25-26中任意一项或多项所述的方法,其中规则指定,在DMVR工具和BDOF编解码工具被禁用的情况下,PROF编解码工具被禁用。
28.根据条款25-27中任意一项或多项所述的方法,其中规则指定,包含在比特流表示中的单个语法元素指示DMVR编解码工具和BDOF编解码工具的应用。
29.根据条款28所述的方法,其中语法元素在条带级或图片级被包含在比特流表示中。
30.根据条款27所述的方法,其中规则指定,在条带类型是P条带或B条带的情况下,语法元素被包含在比特流表示中。
31.根据条款27所述的方法,其中规则指定,在条带类型不是I条带的情况下,语法元素被包含在比特流表示中。
32.根据条款30所述的方法,其中规则指定,在条带类型是B条带的情况下,语法元素在比特流表示中被选择性地包含或排除。
33.根据条款27所述的方法,其中规则指定,在条带类型是P条带的情况下,PROF编解码工具的启用/禁用与语法元素的值无关。
34.根据条款25所述的方法,其中规则指定,在条带类型是P条带的情况下,在比特流表示中包含/排除语法元素指示启用/禁用PROF编解码工具。
章节4的项目23中所描述的技术的一些示例性实施例包含:
35.一种视觉媒体处理的方法(例如图41中所示的方法4100),包括:进行(4102)视觉媒体数据的第一视频单元与视觉媒体数据的比特流表示之间的转换,其中根据格式规则配置比特流表示,格式规则指定,对第一视频单元在比特流表示中在指示组合帧间帧内预测(CIIP)编解码工具的使用的第二语法元素之前信令通知指示分割模式编解码工具的使用的第一语法元素,并且其中,在组合帧间帧内预测(CIIP)模式中,视频单元的最终预测基于视频单元的帧间预测与视频单元的帧内预测的加权和。
36.根据条款35所述的方法,其中分割模式编解码工具使用作为第一视频单元的分割的加权平均的第一视频单元的最终预测块,其中至少一个分割包括成角度边缘。
37.根据条款36所述的方法,其中分割模式编解码工具对应于三角形分割模式(TPM)编解码工具。
38.根据条款36所述的方法,其中分割模式编解码工具对应于几何分割模式编解码工具。
39.根据条款38所述的方法,其中几何分割模式编解码工具包含多个划分模式,其中至少一个划分模式将当前视频块划分为两个划分,两个划分中的至少一个是非正方形且非矩形的。
40.根据条款35-39中任意一项或多项所述的方法,其中,对于视觉媒体数据的第二视频单元,在比特流表示中在指示组合帧间帧内预测(CIIP)编解码工具的使用的第二语法元素之后信令通知第一语法元素。
41.根据条款35-40中任意一项或多项所述的方法,还包括:基于与第一视频单元和/或第二单元和/或第一视频单元的邻接视频单元和/或第二视频单元的邻接视频单元相关联的编解码信息,确定在信令通知第二语法元素之前还是之后信令通知第一语法元素。
42.根据条款35-41中任意一项或多项所述的方法,其中视频单元对应于以下之一:条带、图片、片、砖块、块或编解码单元。
43.根据条款1-42中任意一项或多项所述的方法,其中在满足与当前视频块和/或邻接视频块有关的一个或多个条件时,启用分割模式编解码工具。
44.根据条款43所述的方法,其中一个或多个条件是基于块维度、块形状,以及与块相关联的编解码信息。
45.根据条款44所述的方法,其中几何分割模式编解码工具应用于视频块的第一集合上,并且TPM编解码工具应用于视频块的第二集合上。
46.根据条款45所述的方法,其中视频块的第一集合具有比视频块的第二集合更大的尺寸。
47.根据条款38-46中任意一项或多项所述的方法,其中包含在比特流表示中的单个语法元素指示应用几何分割模式编解码工具还是TPM编解码工具。
48.根据条款1至47中任意一项或多项所述的方法,其中转换包含从当前视频块生成比特流表示。
49.根据条款1至47中任意一项或多项所述的方法,其中转换包含从比特流表示生成当前视频块的样点。
50.一种视频处理设备包括处理器,所述处理器配置为实现条款1至49中任意一项或多项所述的方法。
51.一种视频编码设备包括处理器,所述处理器配置为实现条款1至49中任意一项或多项所述的方法。
52.一种视频解码设备包括处理器,所述处理器配置为实现条款1至49中任意一项或多项所述的方法。
53.一种计算机可读介质,具有其上储存的代码,代码在执行时使处理器实现条款1至49中任意一项或多项所述的方法。
54.一种计算机可读储存介质,储存根据条款1至49中任意一项或多项所述的方法生成的比特流表示。
在本文档中,术语“视频处理”或“视觉媒体处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换期间应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以例如对应于在比特流内共位或分布在比特流内不同位置的比特。例如,可以依据变换和编解码的误差残差值,并且还使用头中的比特和比特流中的其他字段来对宏块进行编码。此外,如以上方案中所述,在转换期间,解码器可以基于确定来在了解一些字段可能存在或不存在的情况下解析比特流。类似地,编码器可以确定某些语法字段将被包括或不被包括,并且通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中描述的所公开的和其他的方案、示例、实施例、模块和功能操作可以以数字电子电路或计算机软件、固件或硬件来实现,包括本文档中公开的结构及其结构等同,或其中一种或多种的组合。所公开的和其他的实施例可以被实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。所述计算机可读介质可以是机器可读存储设备,机器可读存储基板、存储器装置、影响机器可读传播信号的物质组成或它们中的一个或多个的组合。术语“数据处理设备”涵盖用于处理数据的全部设备、装置和机器,例如包括可编程处理器,计算机或多个处理器或计算机。除了硬件之外,该设备还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器产生的电、光或电磁信号,其被生成以编码发送到适当接收器设备的信息。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言)编写,并且可以以任何形式进行部署,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定与文件系统中的文件相对应。程序可以储存在保存其他程序或数据的文件的一部分中(例如,储存在标记语言文档中的一个或多个脚本),专用于所讨论程序的单个文件中或多个协调文件(例如,储存一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在一台计算机上执行,或者在位于一个站点上或分布在多个站点上并通过通信网络互连的多台计算机上执行。
本文档中描述的过程和逻辑流程可以由执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行。过程和逻辑流程也可以由专用逻辑电路执行,并且设备也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于储存指令和数据的一个或多个存储器装置。通常,计算机还将包含用于储存数据的一个或多个大容量储存装置(例如,磁盘、磁光盘或光盘)或可操作地耦合以从一个或多个大容量储存装置接收数据或将数据传输到一个或多个大容量储存装置或两者。但是,计算机不必具有此类设备。适用于储存计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,例如EPROM、EEPROM和闪存装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或整合到专用逻辑电路中。
尽管本专利文档包含许多细节,但是这些细节不应被解释为对任何主题或所要求保护的范围的限制,而是对特定于特定技术的特定实施例的特征的描述。在单独的实施例的上下文中在该专利文件中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中剔除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。此外,在该专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且基于本专利文档中所描述和图示的内容可以进行其他实施方式、增强和变化。

Claims (21)

1.一种处理视频数据的方法,包括:
为视频的当前视频块和所述视频的比特流之间的转换,基于第一语法元素和第二语法元素来确定是否启用几何分割模式编解码工具,所述第一语法元素指示组合帧间图片Merge和帧内图片预测模式的应用,所述第二语法元素指示常规Merge模式的应用;以及
基于所述确定来执行所述转换,
其中,在所述几何分割模式编解码工具中,确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息,且基于预测样点的加权和来应用加权过程以生成用于所述当前视频块的加权区域内的样点的最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
2.根据权利要求1所述的方法,其中,如果所述第一语法元素指示启用所述组合帧间图片Merge和帧内图片预测模式,或者所述第二语法元素指示启用所述常规Merge模式,则禁用所述几何分割模式编解码工具。
3.根据权利要求1所述的方法,其中,在所述当前视频块具有大于或等于第一阈值K0的块宽度或大于或等于第二阈值K1的块高度的情况下,所述第一语法元素在所述比特流中不存在,其中K0和K1是整数。
4.根据权利要求3所述的方法,其中,所述第一阈值K0和所述第二阈值K1两者均等于128。
5.根据权利要求1所述的方法,其中,在所述当前视频块具有大于或等于第三阈值K2的块宽度或大于或等于第四阈值K3的块高度的情况下,所述第二语法元素从所述比特流中被排除,其中K2和K3是整数。
6.根据权利要求5所述的方法,其中,所述第三阈值K2和所述第四阈值K3两者均等于128。
7.根据权利要求3所述的方法,其中,当所述第一语法元素在所述比特流中不存在时,所述第一语法元素的值被推断为等于1或0,如果所述第一语法元素的值被推断为等于1,则必须满足以下所有条件:
i)所述当前视频块的块宽度和块高度两者均小于128;
ii)在序列参数集级别启用所述组合帧间图片Merge和帧内图片预测模式;
iii)所述当前视频块的帧间预测参数是从邻接帧间预测分割中推断的,并且针对所述当前视频块禁用基于子块的帧间预测模式和所述常规Merge模式;以及
iv)所述块宽度和所述块高度的乘积大于或等于64。
8.根据权利要求1所述的方法,其中,所述几何分割模式编解码工具包括:
为所述当前视频块构建候选列表,其中所述构建包括基于所述候选列表中可用候选的数目来检查特定邻接块B2处的空域候选的可用性,其中所述特定邻接块B2在所述当前视频块的左顶角处;
基于所述候选列表来确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息;
基于所述预测样点的加权和来应用所述加权过程以生成用于所述当前视频块的样点的所述最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
9.根据权利要求1所述的方法,其中,所述转换包括将所述当前视频块编码到所述比特流中。
10.根据权利要求1所述的方法,其中,所述转换包括从所述比特流解码所述当前视频块。
11.一种用于处理视频数据的装置,包括处理器和其上带有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使得所述处理器:
为视频的当前视频块和所述视频的比特流之间的转换,基于第一语法元素和第二语法元素来确定是否启用几何分割模式编解码工具,所述第一语法元素指示组合帧间图片Merge和帧内图片预测模式的应用,所述第二语法元素指示常规Merge模式的应用;以及
基于所述确定来执行所述转换,
其中,在所述几何分割模式编解码工具中,确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息,且基于预测样点的加权和来应用加权过程以生成用于所述当前视频块的加权区域内的样点的最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
12.根据权利要求11所述的装置,其中,如果所述第一语法元素指示启用所述组合帧间图片Merge和帧内图片预测模式,或者所述第二语法元素指示启用所述常规Merge模式,则禁用所述几何分割模式编解码工具。
13.根据权利要求11所述的装置,其中,在所述当前视频块具有大于或等于第一阈值K0的块宽度或大于或等于第二阈值K1的块高度的情况下,所述第一语法元素在所述比特流中不存在,其中K0和K1是整数,并且其中,所述第一阈值K0和所述第二阈值K1两者均等于128;
其中,在所述当前视频块具有大于或等于第三阈值K2的块宽度或大于或等于第四阈值K3的块高度的情况下,所述第二语法元素从所述比特流中被排除,其中K2和K3是整数,并且其中,所述第三阈值K2和所述第四阈值K3两者均等于128;并且
其中,当所述第一语法元素在所述比特流中不存在时,所述第一语法元素的值被推断为等于1或0,如果所述第一语法元素的值被推断为等于1,则必须满足以下所有条件:
i)所述当前视频块的块宽度和块高度两者均小于128;
ii)在序列参数集级别启用所述组合帧间图片Merge和帧内图片预测模式;
iii)所述当前视频块的帧间预测参数是从邻接帧间预测分割中推断的,并且针对所述当前视频块禁用基于子块的帧间预测模式和所述常规Merge模式;以及
iv)所述块宽度和所述块高度的乘积大于或等于64。
14.根据权利要求11所述的装置,其中,所述几何分割模式编解码工具包括:
为所述当前视频块构建候选列表,其中所述构建包括基于所述候选列表中可用候选的数目来检查特定邻接块B2处的空域候选的可用性,其中所述特定邻接块B2在所述当前视频块的左顶角处;
基于所述候选列表来确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息;
基于所述预测样点的加权和来应用所述加权过程以生成用于所述当前视频块的样点的所述最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
15.一种非暂时性计算机可读存储介质,存储使得处理器进行以下操作的指令:
为视频的当前视频块和所述视频的比特流之间的转换,基于第一语法元素和第二语法元素来确定是否启用几何分割模式编解码工具,所述第一语法元素指示组合帧间图片Merge和帧内图片预测模式的应用,所述第二语法元素指示常规Merge模式的应用;以及
基于所述确定来执行所述转换,
其中,在所述几何分割模式编解码工具中,确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息,且基于预测样点的加权和来应用加权过程以生成用于所述当前视频块的加权区域内的样点的最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
16.根据权利要求15所述的非暂时性计算机可读存储介质,其中,如果所述第一语法元素指示启用所述组合帧间图片Merge和帧内图片预测模式,或者所述第二语法元素指示启用所述常规Merge模式,则禁用所述几何分割模式编解码工具,
其中,所述几何分割模式编解码工具包括:
为所述当前视频块构建候选列表,其中所述构建包括基于所述候选列表中可用候选的数目来检查特定邻接块B2处的空域候选的可用性,其中所述特定邻接块B2在所述当前视频块的左顶角处;
基于所述候选列表来确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息;
基于所述预测样点的加权和来应用所述加权过程以生成用于所述当前视频块的样点的所述最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
17.根据权利要求15所述的非暂时性计算机可读存储介质,其中,在所述当前视频块具有大于或等于第一阈值K0的块宽度或大于或等于第二阈值K1的块高度的情况下,所述第一语法元素在所述比特流中不存在,其中K0和K1是整数,并且其中,所述第一阈值K0和所述第二阈值K1两者均等于128;
其中,在所述当前视频块具有大于或等于第三阈值K2的块宽度或大于或等于第四阈值K3的块高度的情况下,所述第二语法元素从所述比特流中被排除,其中K2和K3是整数,并且其中,所述第三阈值K2和所述第四阈值K3两者均等于128;并且
其中,当所述第一语法元素在所述比特流中不存在时,所述第一语法元素的值被推断为等于1或0,如果所述第一语法元素的值被推断为等于1,则必须满足以下所有条件:
i)所述当前视频块的块宽度和块高度两者均小于128;
ii)在序列参数集级别启用所述组合帧间图片Merge和帧内图片预测模式;
iii)所述当前视频块的帧间预测参数是从邻接帧间预测分割中推断的,并且针对所述当前视频块禁用基于子块的帧间预测模式和所述常规Merge模式;以及
iv)所述块宽度和所述块高度的乘积大于或等于64。
18.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:
对于视频的当前视频块,基于第一语法元素和第二语法元素来确定是否启用几何分割模式编解码工具,所述第一语法元素指示组合帧间图片Merge和帧内图片预测模式的应用,所述第二语法元素指示常规Merge模式的应用;以及
基于所述确定来生成所述比特流,
其中,在所述几何分割模式编解码工具中,确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息,且基于预测样点的加权和来应用加权过程以生成用于所述当前视频块的加权区域内的样点的最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
19.根据权利要求18所述的非暂时性计算机可读记录介质,其中,如果所述第一语法元素指示启用所述组合帧间图片Merge和帧内图片预测模式,或者所述第二语法元素指示启用所述常规Merge模式,则禁用所述几何分割模式编解码工具,
其中,所述几何分割模式编解码工具包括:
为所述当前视频块构建候选列表,其中所述构建包括基于所述候选列表中可用候选的数目来检查特定邻接块B2处的空域候选的可用性,其中所述特定邻接块B2在所述当前视频块的左顶角处;
基于所述候选列表来确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息;
基于所述预测样点的加权和来应用所述加权过程以生成用于所述当前视频块的样点的所述最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
20.根据权利要求18所述的非暂时性计算机可读记录介质,其中,在所述当前视频块具有大于或等于第一阈值K0的块宽度或大于或等于第二阈值K1的块高度的情况下,所述第一语法元素在所述比特流中不存在,其中K0和K1是整数,并且其中,所述第一阈值K0和所述第二阈值K1两者均等于128;
其中,在所述当前视频块具有大于或等于第三阈值K2的块宽度或大于或等于第四阈值K3的块高度的情况下,所述第二语法元素从所述比特流中被排除,其中K2和K3是整数,并且其中,所述第三阈值K2和所述第四阈值K3两者均等于128;并且
其中,当所述第一语法元素在所述比特流中不存在时,所述第一语法元素的值被推断为等于1或0,如果所述第一语法元素的值被推断为等于1,则必须满足以下所有条件:
i)所述当前视频块的块宽度和块高度两者均小于128;
ii)在序列参数集级别启用所述组合帧间图片Merge和帧内图片预测模式;
iii)所述当前视频块的帧间预测参数是从邻接帧间预测分割中推断的,并且针对所述当前视频块禁用基于子块的帧间预测模式和所述常规Merge模式;以及
iv)所述块宽度和所述块高度的乘积大于或等于64。
21.一种存储视频的比特流的方法,包括:
对于视频的当前视频块,基于第一语法元素和第二语法元素来确定是否启用几何分割模式编解码工具,所述第一语法元素指示组合帧间图片Merge和帧内图片预测模式的应用,所述第二语法元素指示常规Merge模式的应用;
基于所述确定来生成所述比特流;以及
将所述比特流存储在非暂时性计算机可读记录介质中,
其中,在所述几何分割模式编解码工具中,确定所述当前视频块的第一几何分割的第一运动信息和所述当前视频块的第二几何分割的第二运动信息,且基于预测样点的加权和来应用加权过程以生成用于所述当前视频块的加权区域内的样点的最终预测,所述预测样点的加权和是基于所述第一运动信息和所述第二运动信息而推导的。
CN202311555604.8A 2019-09-28 2020-09-28 视频编解码中的几何分割模式 Pending CN117596389A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/108797 2019-09-28
CN2019108797 2019-09-28
CN202080068176.4A CN114450959A (zh) 2019-09-28 2020-09-28 视频编解码中的几何分割模式
PCT/CN2020/118293 WO2021057996A1 (en) 2019-09-28 2020-09-28 Geometric partitioning mode in video coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080068176.4A Division CN114450959A (zh) 2019-09-28 2020-09-28 视频编解码中的几何分割模式

Publications (1)

Publication Number Publication Date
CN117596389A true CN117596389A (zh) 2024-02-23

Family

ID=75165593

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311555604.8A Pending CN117596389A (zh) 2019-09-28 2020-09-28 视频编解码中的几何分割模式
CN202080068176.4A Pending CN114450959A (zh) 2019-09-28 2020-09-28 视频编解码中的几何分割模式

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080068176.4A Pending CN114450959A (zh) 2019-09-28 2020-09-28 视频编解码中的几何分割模式

Country Status (3)

Country Link
US (2) US11722667B2 (zh)
CN (2) CN117596389A (zh)
WO (1) WO2021057996A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
WO2021008513A1 (en) 2019-07-14 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Transform block size restriction in video coding
EP4008108A4 (en) 2019-09-01 2022-09-21 Beijing Bytedance Network Technology Co., Ltd. ALIGNMENT OF PREDICTION WEIGHTS IN VIDEO ENCODING
CN114556953A (zh) * 2019-10-10 2022-05-27 北京字节跳动网络技术有限公司 视频编解码中非矩形分割的使用
CN114868158A (zh) 2019-12-26 2022-08-05 字节跳动有限公司 层级视频中的解码图片缓冲区参数的信令通知
KR20220115958A (ko) 2019-12-26 2022-08-19 바이트댄스 아이엔씨 코딩된 비트스트림들에서의 비디오 계층들의 시그널링에 대한 제약들
JP7460774B2 (ja) 2020-01-09 2024-04-02 バイトダンス インコーポレイテッド ビデオストリームにおけるフィラーデータユニットの処理
WO2022222988A1 (en) * 2021-04-21 2022-10-27 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
CN117321995A (zh) * 2021-04-22 2023-12-29 抖音视界有限公司 用于视频处理的方法、设备和介质
WO2023141338A1 (en) * 2022-01-21 2023-07-27 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for geometric partitioning mode with split modes reordering

Family Cites Families (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111545A1 (en) * 2003-11-25 2005-05-26 Ram Prabhakar Dynamic packet size control for MPEG-4 data partition mode
US8209542B2 (en) * 2006-12-29 2012-06-26 Intel Corporation Methods and apparatus for authenticating components of processing systems
CN101415121B (zh) 2007-10-15 2010-09-29 华为技术有限公司 一种自适应的帧预测的方法及装置
TWI428023B (zh) 2008-11-18 2014-02-21 Ind Tech Res Inst 解碼方法及裝置
KR101098739B1 (ko) 2008-11-24 2011-12-23 한국전자통신연구원 비디오 신호의 부호화/복호화 장치 및 방법
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
MX2012011695A (es) 2010-04-09 2012-11-16 Mitsubishi Electric Corp Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimento.
US9819966B2 (en) 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US9071851B2 (en) * 2011-01-10 2015-06-30 Qualcomm Incorporated Adaptively performing smoothing operations
US9826238B2 (en) 2011-06-30 2017-11-21 Qualcomm Incorporated Signaling syntax elements for transform coefficients for sub-sets of a leaf-level coding unit
JP5884697B2 (ja) 2011-09-28 2016-03-15 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
US20130107973A1 (en) 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US20130114717A1 (en) 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9549180B2 (en) 2012-04-20 2017-01-17 Qualcomm Incorporated Disparity vector generation for inter-view prediction for video coding
US20130294513A1 (en) 2012-05-07 2013-11-07 Qualcomm Incorporated Inter layer merge list construction for video coding
US20130329007A1 (en) 2012-06-06 2013-12-12 Qualcomm Incorporated Redundancy removal for advanced motion vector prediction (amvp) in three-dimensional (3d) video coding
US20130336406A1 (en) 2012-06-14 2013-12-19 Qualcomm Incorporated Redundancy removal for merge/skip mode motion information candidate list construction
US9749645B2 (en) 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
US9088770B2 (en) 2012-08-15 2015-07-21 Intel Corporation Size based transform unit context derivation
US20140071235A1 (en) 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
US9491461B2 (en) 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US9699450B2 (en) 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
SG11201502627QA (en) 2012-10-05 2015-05-28 Mediatek Singapore Pte Ltd Method and apparatus of motion vector derivation 3d video coding
US10334259B2 (en) * 2012-12-07 2019-06-25 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US9357214B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US9538180B2 (en) 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
US10057594B2 (en) 2013-04-02 2018-08-21 Vid Scale, Inc. Enhanced temporal motion vector prediction for scalable video coding
US9609347B2 (en) 2013-04-04 2017-03-28 Qualcomm Incorporated Advanced merge mode for three-dimensional (3D) video coding
US9288507B2 (en) 2013-06-21 2016-03-15 Qualcomm Incorporated More accurate advanced residual prediction (ARP) for texture coding
US9716899B2 (en) 2013-06-27 2017-07-25 Qualcomm Incorporated Depth oriented inter-view motion vector prediction
WO2015003383A1 (en) 2013-07-12 2015-01-15 Mediatek Singapore Pte. Ltd. Methods for inter-view motion prediction
WO2015007159A1 (en) 2013-07-15 2015-01-22 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3d video coding
EP3025494A4 (en) 2013-07-24 2017-03-08 Microsoft Technology Licensing, LLC Scanning orders for non-transform coding
US9762927B2 (en) 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
WO2015070739A1 (en) 2013-11-15 2015-05-21 Mediatek Inc. Method of block-based adaptive loop filtering
US9432685B2 (en) 2013-12-06 2016-08-30 Qualcomm Incorporated Scalable implementation for parallel motion estimation regions
WO2015131387A1 (en) 2014-03-07 2015-09-11 Qualcomm Incorporated Simplified sub-prediction unit (sub-pu) motion parameter inheritence (mpi)
JP6445039B2 (ja) 2014-03-13 2018-12-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3dビデオコーディングのための制限付き深度イントラモードコーディング
CN103942793B (zh) * 2014-04-16 2016-11-16 上海交通大学 基于热扩散的视频一致运动区域检测方法
WO2015192286A1 (en) 2014-06-16 2015-12-23 Qualcomm Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc
US10897629B2 (en) 2014-06-19 2021-01-19 Vid Scale, Inc. Methods and systems for intra block copy search enhancement
RU2017112309A (ru) 2014-09-12 2018-10-12 Вид Скейл, Инк. Межкомпонентная декорреляция для видеокодирования
EP3198872A1 (en) 2014-09-26 2017-08-02 VID SCALE, Inc. Intra block copy coding with temporal block vector prediction
GB2531003A (en) 2014-10-06 2016-04-13 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US9854237B2 (en) 2014-10-14 2017-12-26 Qualcomm Incorporated AMVP and merge candidate list derivation for intra BC and inter prediction unification
US11477477B2 (en) 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
CN107431817B (zh) 2015-01-29 2020-03-24 Vid拓展公司 用于调色板译码的方法及装置
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
EP3262836B1 (en) * 2015-03-02 2020-07-29 HFI Innovation Inc. Method and apparatus for intrabc mode with fractional-pel block vector resolution in video coding
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
US10356416B2 (en) 2015-06-09 2019-07-16 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding
CN105141957B (zh) 2015-07-31 2019-03-15 广东中星电子有限公司 图像和视频数据编解码的方法和设备
EP3876541A1 (en) 2015-09-02 2021-09-08 Mediatek Inc. Fast sum of absolute differences calculation for motion vector derivation in video coding
US10218975B2 (en) 2015-09-29 2019-02-26 Qualcomm Incorporated Transform precision manipulation in video coding
US10812822B2 (en) 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
US10462439B2 (en) 2015-10-02 2019-10-29 Vid Scale, Inc. Color correction with a lookup table
WO2017082670A1 (ko) * 2015-11-12 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 계수 유도 인트라 예측 방법 및 장치
US10200719B2 (en) 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
US10939096B2 (en) 2016-05-05 2021-03-02 Interdigital Madison Patent Holdings, Sas Control-point based intra direction representation for intra coding
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10419755B2 (en) 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
WO2018018486A1 (en) * 2016-07-28 2018-02-01 Mediatek Inc. Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure
US11095922B2 (en) 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
US10326986B2 (en) 2016-08-15 2019-06-18 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
US10721489B2 (en) 2016-09-06 2020-07-21 Qualcomm Incorporated Geometry-based priority for the construction of candidate lists
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
WO2018099269A1 (en) 2016-11-29 2018-06-07 Mediatek Inc. Method and apparatus of merge mode derivation for video coding
US20180184127A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
US11025903B2 (en) 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
CN106961606B (zh) 2017-01-26 2020-04-07 浙江工业大学 基于纹理划分特征的hevc帧内编码模式选择方法
KR102559063B1 (ko) 2017-02-24 2023-07-24 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
US11172203B2 (en) 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
CN116761001A (zh) 2017-08-29 2023-09-15 Sk电信有限公司 视频编码装置、视频解码装置和存储比特流的方法
KR102427789B1 (ko) 2017-10-10 2022-08-02 한국전자통신연구원 인터 예측 정보를 사용하는 방법 및 장치
US10785494B2 (en) 2017-10-11 2020-09-22 Qualcomm Incorporated Low-complexity design for FRUC
US11159793B2 (en) 2017-10-16 2021-10-26 Digitalinsights Inc. Method, device, and recording medium storing bit stream, for encoding/decoding image
US20190116374A1 (en) 2017-10-17 2019-04-18 Qualcomm Incorporated Coding motion information of video data using coding structure-based candidate list construction
WO2019079611A1 (en) 2017-10-18 2019-04-25 Huawei Technologies Co., Ltd. GENERATION OF MOVEMENT VECTOR CANDIDATES LIST DEPENDING ON THE AVAILABILITY OF A NEIGHBORING BLOCK
JP2021016016A (ja) 2017-10-20 2021-02-12 シャープ株式会社 動画像符号化装置及び動画像復号装置
JP7390300B2 (ja) 2017-11-01 2023-12-01 ヴィド スケール インコーポレイテッド ビデオコーディングにおける適応ループフィルタを簡略化する方法
SG11202002881XA (en) 2017-11-14 2020-05-28 Qualcomm Inc Unified merge candidate list usage
US11212553B2 (en) * 2017-11-28 2021-12-28 Electronics And Telecommunications Research Institute Bidirectional intra prediction method and apparatus
US10721469B2 (en) 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
CN111567043B (zh) 2018-01-11 2023-03-28 高通股份有限公司 对视频数据进行译码的方法、装置和计算机可读存储介质
US20190238845A1 (en) 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
JP2021514162A (ja) 2018-02-22 2021-06-03 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるブロック分割構造による映像デコーディング方法及び装置
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
WO2019191890A1 (zh) 2018-04-02 2019-10-10 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
US10506251B2 (en) 2018-05-08 2019-12-10 Tencent America LLC Method and apparatus for video coding
US10397603B1 (en) 2018-05-08 2019-08-27 Tencent America LLC Method and apparatus for video coding
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
TWI750486B (zh) 2018-06-29 2021-12-21 大陸商北京字節跳動網絡技術有限公司 運動資訊共用的限制
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
TWI728389B (zh) 2018-07-01 2021-05-21 大陸商北京字節跳動網絡技術有限公司 基於優先級的非相鄰merge設計
US10531090B1 (en) 2018-07-02 2020-01-07 Tencent America LLC Method and apparatus for video coding
CN110677666B (zh) 2018-07-02 2022-06-14 北京字节跳动网络技术有限公司 Lamvr中取整和修剪的顺序
US11051010B2 (en) * 2018-07-18 2021-06-29 Mediatek Inc. Merge candidates with multiple hypothesis
US10523963B1 (en) 2018-07-30 2019-12-31 Tencent America LLC Method and apparatus for merge mode in video coding
US10362330B1 (en) 2018-07-30 2019-07-23 Tencent America LLC Combining history-based motion vector prediction and non-adjacent merge prediction
CN110858906B (zh) 2018-08-26 2023-05-30 北京字节跳动网络技术有限公司 组合的基于历史的运动矢量预测符和多运动模型解码
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
WO2020060185A1 (ko) 2018-09-19 2020-03-26 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
TWI822862B (zh) 2018-09-23 2023-11-21 大陸商北京字節跳動網絡技術有限公司 8參數仿射模型
TWI822863B (zh) 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
WO2020084553A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate derivation based on multiple information in sub-block motion vector prediction
CN111147855A (zh) 2018-11-02 2020-05-12 北京字节跳动网络技术有限公司 几何分割预测模式与其他工具之间的协调
KR20210084479A (ko) 2018-11-06 2021-07-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 정보의 위치 의존적 저장
WO2020094051A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Signaling of side information for inter prediction with geometric partitioning
JP7324841B2 (ja) 2018-11-10 2023-08-10 北京字節跳動網絡技術有限公司 ビデオ・データ処理方法、装置、記憶媒体及び記憶方法
WO2020098694A1 (en) 2018-11-13 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Construction method for a spatial motion candidate list
CN112970258B (zh) 2018-11-13 2023-08-18 北京字节跳动网络技术有限公司 用于子块预测块的多假设
WO2020098811A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Generalized bi directional prediction mode in video processing
CN113170112A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 用于具有几何分割的帧间预测的构建方法
WO2020108574A1 (en) 2018-11-28 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Improving method for transform or quantization bypass mode
WO2020114405A1 (en) 2018-12-03 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Indication method of maximum number of candidates
WO2020135465A1 (en) 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
CN111213381B (zh) 2018-12-29 2021-11-12 深圳市大疆创新科技有限公司 视频处理方法和设备
WO2020140242A1 (zh) 2019-01-03 2020-07-09 北京大学 视频处理方法和装置
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
CN113302919A (zh) 2019-01-17 2021-08-24 北京字节跳动网络技术有限公司 在视频处理中使用虚拟候选预测和加权预测
US10904557B2 (en) 2019-01-22 2021-01-26 Tencent America LLC Method and apparatus for video coding
WO2020164630A1 (en) 2019-02-17 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Signaling of intra block copy merge candidates
BR112021016953A2 (pt) 2019-02-27 2021-11-23 Huawei Tech Co Ltd Codificador, decodificador e métodos correspondentes
AU2020229608B2 (en) 2019-02-28 2023-09-14 Lg Electronics, Inc. APS signaling-based video or image coding
KR20210135308A (ko) 2019-03-11 2021-11-12 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더, 및 대응하는 방법들
WO2020181543A1 (zh) 2019-03-13 2020-09-17 北京大学 视频处理方法和设备
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
AU2020248837B2 (en) 2019-03-24 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Nonlinear adaptive loop filtering in video processing
CN113661706B (zh) * 2019-04-01 2023-11-07 北京字节跳动网络技术有限公司 视频编码中的可选插值滤波器
CN113678462B (zh) 2019-04-15 2023-01-10 北京字节跳动网络技术有限公司 自适应环路滤波器中的裁剪参数推导
WO2020211809A1 (en) 2019-04-16 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. On adaptive loop filtering for video coding
US11284114B2 (en) 2019-04-23 2022-03-22 Qualcomm Incorporated Adaptive loop filter set index signaling
WO2020231140A1 (ko) 2019-05-14 2020-11-19 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
US11019334B2 (en) 2019-05-17 2021-05-25 Qualcomm Incorporated Multiple adaptive loop filter sets for video coding
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
EP3963889A4 (en) * 2019-06-04 2023-01-25 Beijing Bytedance Network Technology Co., Ltd. CONDITIONAL IMPLEMENTATION OF A MOVEMENT CANDIDATE LIST CONSTRUCTION PROCESS
US11166033B2 (en) 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
US11736688B2 (en) 2019-06-21 2023-08-22 Qualcomm Incorporated Adaptive loop filter signalling
WO2021008513A1 (en) 2019-07-14 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Transform block size restriction in video coding
US11432016B2 (en) 2019-12-05 2022-08-30 Hfi Innovation Inc. Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system
US11563980B2 (en) 2020-04-02 2023-01-24 Qualcomm Incorporated General constraint information syntax in video coding

Also Published As

Publication number Publication date
US11722667B2 (en) 2023-08-08
US20230209054A1 (en) 2023-06-29
WO2021057996A1 (en) 2021-04-01
US20220224897A1 (en) 2022-07-14
CN114450959A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
WO2020098648A1 (en) Using combined inter intra prediction in video processing
WO2020187198A1 (en) Prediction refinement based on optical flow
CN117596389A (zh) 视频编解码中的几何分割模式
CN113994698B (zh) 有条件地实施运动候选列表构建过程
WO2020259426A1 (en) Motion candidate list construction for intra block copy mode
WO2020244503A1 (en) Intra block copy with triangular partitions
CN114467308B (zh) 视频处理中的参考图片重采样
WO2020244659A1 (en) Interactions between sub-block based intra block copy and different coding tools
CN114175636B (zh) 自适应参数集中的自适应环路滤波的指示
CN117336505A (zh) 解码器侧细化工具的尺寸选择性应用
CN113966616B (zh) 使用临近块信息的运动候选列表构建
WO2020244660A1 (en) Motion candidate list construction for video coding
CN113994682A (zh) 具有默认参数的基于历史的运动矢量预测
CN115152229A (zh) merge估计区域下IBC块的BV列表构建过程
CN114097219A (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