CN113302919A - 在视频处理中使用虚拟候选预测和加权预测 - Google Patents

在视频处理中使用虚拟候选预测和加权预测 Download PDF

Info

Publication number
CN113302919A
CN113302919A CN202080009266.6A CN202080009266A CN113302919A CN 113302919 A CN113302919 A CN 113302919A CN 202080009266 A CN202080009266 A CN 202080009266A CN 113302919 A CN113302919 A CN 113302919A
Authority
CN
China
Prior art keywords
prediction
lic
block
motion
candidate
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
CN202080009266.6A
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 CN113302919A publication Critical patent/CN113302919A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding

Abstract

一种视频处理方法包括:为视频的当前块和视频的比特流表示之间的转换,构造具有至少一个运动候选的运动候选列表;以及基于第一运动候选的候选类型来确定广义双向预测(GBI)处理工具是否被启用。GBI处理工具包括基于根据权重集将相等或不相等的权重应用于来自不同的参考列表的预测来推导最终预测。该方法还包括根据该确定来执行该转换。

Description

在视频处理中使用虚拟候选预测和加权预测
相关申请的交叉引用
根据适用的专利法和/或巴黎公约的规则,本申请旨在及时要求2019年1月17日提交的国际专利申请No.PCT/CN2019/072154。出于美国法律的所有目的,前述申请的全部公开内容通过引用而并入,作为本专利公开内容的一部分。
技术领域
本专利文档涉及视频编解码和解码的领域。
背景技术
当前,正在努力改善当前视频编解码器技术的性能,以提供更好的压缩率或提供允许较低复杂度或并行化实施的视频编解码和解码方案。行业专家最近提出了几种新的视频编解码工具,并且目前正在进行测试以确定其有效性。
发明内容
本文档提供用于在视频编码器或解码器的实施例中并入局部照明补偿的技术。
在一个示例方面,公开了一种视频处理的方法。该方法包括为视频的当前块和视频的比特流表示之间的转换,构造具有至少一个运动候选的运动候选列表;以及基于第一运动候选的候选类型,确定广义双向预测(generalized bi-prediction,GBI)处理工具是否被启用。GBI处理工具包括基于根据权重集将相等或不相等的权重应用于从不同的参考列表推导出的预测来推导最终预测。该方法还包括根据该确定来执行该转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括对于视频的当前块和视频的比特流表示之间的转换,确定局部照明补偿(local illuminationcompensation,LIC)预测、广义双向(GBI)预测或加权预测的操作状态。当前块与使用至少一个虚拟运动候选的预测技术相关联。该方法还包括根据该确定来执行该转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括对于视频的当前块和视频的比特流表示之间的转换,基于局部照明补偿(LIC)预测、广义双向(GBI)预测、加权预测或仿射运动预测的特性,确定对当前块的滤波操作的状态或滤波操作的一个或多个参数。该方法还包括基于该确定来执行该转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括在视频块和视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(coding treeunit,CTU)的边界块,并且因此对视频块启用局部照明补偿(LIC)编解码工具,基于确定对视频块启用LIC编解码工具来推导视频块的局部照明补偿(LIC)的参数,以及通过使用LIC调整视频块的像素值来执行该转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括在视频块和视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(CTU)的内部块,并且因此对视频块禁用局部照明补偿(LIC)编解码工具,继承视频块的LIC的参数,以及通过使用LIC调整视频块的像素值来执行该转换。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括在视频块与视频块的比特流表示之间的转换中,确定局部照明补偿和帧内块复制编解码工具均被启用以供当前块使用,以及通过对视频块执行局部照明补偿(LIC)和帧内块复制操作来执行该转换。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括通过对视频块执行局部照明补偿(LIC)和帧内块复制操作来执行该转换,以及执行当前块与当前块的对应比特流表示之间的转换。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括在视频的视频块与视频的比特流表示之间的转换期间,使用视频块的临近块的至少一些样点来确定视频块的局部照明补偿(LIC)参数,以及通过使用所确定的参数执行LIC来执行视频块和比特流表示之间的转换。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且仅对使用包括三角形预测模式的几何预测结构的视频块启用局部照明补偿(LIC)。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且在转换为其对应比特流表示的转换中,对少于当前块的所有像素实施局部照明补偿(LIC)。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和广义双向预测(GBi)或多假设帧间预测编解码工具均被启用以供当前块使用,以及通过对视频块执行LIC和GBi或多假设帧间预测操作来执行该转换。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和组合帧间-帧内预测(combinedinter-intra prediction,CIIP)编解码工具均被启用以供当前块使用,以及通过对视频块执行LIC和CIIP操作来执行该转换。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括确定视频块与包括成对预测或组合双向预测的预测技术相关联;确定局部照明补偿(LIC)、广义双向预测(GBI)或加权预测的操作状态,基于对视频块与预测技术相关联的确定来启用或禁用操作状态;以及根据LIC、GBI或加权预测的操作状态来执行对视频块的进一步处理。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括确定关于局部照明补偿(LIC)、广义双向预测(GBI)或加权预测的特性;以及基于对该特性的确定,将去方块滤波器应用于视频块。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括确定关于与视频块相关的仿射模式、仿射参数或仿射类型的特性;以及基于对该特性的确定,将去方块滤波器应用于视频块。
在又一个示例方面,公开了另一种视频处理方法。该方法包括将与组合帧间-帧内预测(CIIP)标志相关联的数据存储在基于历史的运动矢量预测(history-based motionvector prediction,HMVP)表中;将运动信息存储在HMVP表中;以及使用存储在HVMP表中的数据和存储在HMVP表中的运动信息来执行对视频块的进一步处理。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括将与局部照明补偿(LIC)标志相关联的数据存储在基于历史的运动矢量预测(HMVP)表中;以及将运动信息存储在HMVP表中;以及使用存储在HVMP表中的数据和存储在HMVP表中的运动信息来执行对视频块的进一步处理。
在又一个示例方面,公开了另一种视频处理的方法。该方法包括确定要执行局部照明补偿(LIC);基于对要执行LIC的确定,将视频块划分为视频处理数据单元(videoprocessing data unit,VPDU);以及对VPDU依次或并行执行LIC。
在又一个代表性方面,本文描述的各种技术可以体现为存储在非暂时性计算机可读介质上的计算机程序产品。该计算机程序产品包括用于执行本文描述的方法的程序代码。
在又一个代表性方面,视频解码器装置可以实施如本文所述的方法。
一种或多种实施方式的细节在所附的附件、附图和以下描述中阐明。根据说明书和附图以及权利要求书,其他特征将是显而易见的。
附图说明
图1示出了Merge候选列表构造的推导过程的示例。
图2示出了空域Merge候选的示例位置。
图3示出了考虑用于空域Merge候选的冗余检查的候选对的示例。
图4示出了N×2N和2N×N分割的第二PU(Prediction Unit,预测单元)的示例位置。
图5是时域Merge候选的运动矢量缩放的图示。
图6示出了时域Merge候选C0和C1的候选位置的示例。
图7示出了组合的双向预测Merge候选的示例。
图8示出了运动矢量预测候选的推导过程的示例。
图9是空域运动矢量候选的运动矢量缩放的示例图示。
图10示出了用于编解码单元(Coding Unit,CU)的高级时域运动矢量预测值(advanced temporal motion vector predictor,ATMVP)的示例。
图11示出了具有四个子块(A-D)的一个CU及其临近块(a-d)的示例。
图12示出了平面运动矢量预测过程的示例。
图13是用不同的运动矢量(Motion Vector,MV)精度进行编码的示例的流程图。
图14是在其中应用OBMC的子块的示例图示。
图15示出了用于推导IC参数的临近样点的示例。
图16是将编解码单元(CU)划分成两个三角形预测单元的图示。
图17示出了临近块的位置的示例。
图18示出了其中CU应用第一加权因子组的示例。
图19示出了运动矢量存储实施方式的示例。
图20示出了简化的仿射运动模型的示例。
图21示出了每子块的仿射MVF(Motion Vector Field,运动矢量场)的示例。
图22示出了(a)4参数仿射模型和(b)6参数仿射模型的示例。
图23示出了AF_INTER模式的运动矢量预测值(MV)的示例。
图24A-图24B示出了AF_MERGE模式的候选的示例。
图25示出了仿射Merge模式的候选位置。
图26示出了双边匹配的示例过程。
图27示出了模板匹配的示例过程。
图28示出了帧速率上转换(frame rate upconversion,FRUC)中的单边运动估计(motion estimation,ME)的实施方式。
图29示出了最终运动矢量表达(Ultimate Motion Vector Expression,UMVE)搜索过程的实施例。
图30示出了UMVE搜索点的示例。
图31示出了距离索引和距离偏移映射的示例。
图32示出了光流轨迹的示例。
图33A-图33B示出了不具有块扩展的双向光流(Bi-directional Optical flow,BIO)的示例:a)块的外部的访问位置;b)使用填充以便避免额外的存储器访问和计算。
图34示出了使用基于双边模板匹配的解码器侧运动矢量细化(Decoder-sideMotion Vector Refinement,DMVR)的示例。
图35示出了在双边滤波器中使用的临近样点的示例。
图36示出了覆盖在权重计算中使用的两个样点的窗口的示例。
图37示出了利用所提出的基于历史的运动矢量预测(HMVP)方法的解码流程的示例。
图38示出了在所提出的HMVP方法中更新表的示例。
图39是用于实施本文档中描述的视频编解码或解码技术的硬件平台的框图。
图40示出了用于实施本文档中描述的方法和技术的硬件平台的示例。
图41是视频处理的实例方法的流程图。
图42是根据本公开的视频处理的示例方法的流程图。
图43是根据本公开的视频处理的另一示例方法的流程图。
图44是根据本公开的视频处理的又一示例方法的流程图。
具体实施方式
本文档提供了可以体现在数字视频编码器和解码器中的几种技术。为了清楚理解,在本文档中使用章节标题,并且不将每个章节中公开的技术和实施例的范围仅限于该章节。
1.概述
本专利文档涉及视频编解码技术。具体地,它涉及视频编解码中局部照明补偿(LIC)。它可以应用于现有的视频编解码标准,如HEVC,或即将要定案的标准(例如,多功能视频编解码(VVC))。它也可以应用于未来的视频编解码标准或视频编解码器。
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高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用时域预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索组(Joint Video Exploration Team,JVET)。此后,JVET采用了许多新方法,并将其放入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(JVET)成立,以致力于VVC标准,目标是与HEVC相比比特率降低50%。
2.1.HEVC/H.265的帧间预测
每个帧间预测的PU具有一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。也可以使用inter_pred_idc来信令通知对两个参考图片列表中的一个的使用。运动矢量可以被显式地编解码为相对于预测值的偏差(delta)。
当CU以跳过模式编解码时,一个PU与该CU相关联,并且不存在显著的残差系数、没有编解码的运动矢量偏差或参考图片索引。通过规定Merge模式,从包括空域和时域候选的临近PU获得当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅仅用于跳过模式。Merge模式的可选方案是运动参数的显式传输,其中每PU显式地信令通知运动矢量(更准确地,与运动矢量预测值相比的运动矢量差)、每个参考图片列表的对应参考图片索引和参考图片列表的使用。在本公开中,这种模式被称为高级运动矢量预测(AdvancedMotion Vector Prediction,AMVP)。
当信令指示要使用两个参考图片列表中的一个时,从一个样点块产生PU。这被称为“单向预测”。单向预测可用于P条带和B条带两者。
当信令指示要使用两个参考图片列表时,从两个样点块产生PU。这被称为“双向预测”。双向预测仅可用于B条带。
以下文本提供了关于HEVC中规定的帧间预测模式的详细信息。描述将从Merge模式开始。
2.1.1.Merge模式
2.1.1.1.Merge模式的候选的推导
当使用Merge模式预测PU时,从比特流中解析指向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.1.2.空域候选推导
在空域Merge候选的推导中,在位于图2中描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带或片)或者是帧内编解码的时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而提高编解码效率。图3示出了考虑用于空域Merge候选的冗余检查的候选对的示例。为了降低计算复杂度,不是所有可能的候选对都在所提到的冗余检查中被考虑。相反,只考虑与图3中的箭头链接的对,并且仅在用于冗余检查的对应候选没有相同的运动信息时,候选才被添加到列表中。重复运动信息的另一来源是与不同于2N×2N的分割相关联的“第二PU”。作为示例,图4描绘了分别在N×2N和2N×N的情况下的第二PU。当当前PU被分割为N×2N时,位置A1处的候选不被考虑用于列表构造。事实上,通过添加该候选将导致两个预测单元具有相同的运动信息,这对于在编解码单元中只具有一个PU是冗余的。类似地,当当前PU被分割为2N×N时,不考虑位置B1
2.1.1.3.时域候选推导
在该步骤中,仅一个候选被添加到列表。具体地,在该时域Merge候选的推导中,基于属于与给定参考图片列表内的当前图片具有最小POC(Picture Order Count,图片顺序计数)差的图片的并置(co-located)PU来推导缩放后的运动矢量。在条带头中显式地信令通知要用于推导并置PU的参考图片列表。图5是时域Merge候选的运动矢量缩放的图示。如在图5中由虚线所示的,获得时域Merge候选的缩放后的运动矢量,该缩放后的运动矢量是使用POC距离tb和td从并置PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,并且td被定义为并置图片的参考图片与并置图片之间的POC差。时域Merge候选的参考图片索引被设置为等于零。HEVC规范中描述了缩放过程的实际实现。对于B条带,获得并组合两个运动矢量(一个用于参考图片列表0,并且另一个用于参考图片列表1),以生成双向预测Merge候选。
在属于参考帧的并置PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图6所描绘的。如果位置C0处的PU不可用、是帧内编解码的、或者在当前CTU行的外部,则使用位置C1。否则,在时域Merge候选的推导中使用位置C0
2.1.1.4.附加候选插入
除了空域和时域的Merge候选之外,存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空域和时域Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一初始候选的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,则它们将形成新的双向预测候选。作为示例,图7示出了当原始列表(在左侧)中的两个候选(其具有mvL0和refIdxL0或mvL1和refIdxL1)用于创建被添加到最终列表(在右侧)的组合的双向预测Merge候选的情况。存在许多关于组合的规则,这些规则被考虑以生成这些附加Merge候选。
插入零运动候选以填充Merge候选列表中的剩余条目,并因此达到MaxNumMergeCand容量。这些候选具有零空域位移和从零开始并且每次向列表中添加新的零运动候选时增加的参考图片索引。这些候选使用的参考帧的数量对于单向预测和双向预测分别是1和2。最后,不对这些候选执行冗余检查。
2.1.1.5.用于并行处理的运动估计区域
为了加速编码过程,可以并行执行运动估计,由此同时推导给定区域内部的所有预测单元的运动矢量。从空域邻域推导Merge候选可能干扰并行处理,因为一个预测单元在其相关联的运动估计完成之前,不能从相邻PU推导运动参数。为了缓和编解码效率和处理时延之间的折衷(trade-off),HEVC定义了运动估计区域(Motion Estimation Region,MER),使用“log2_parallel_merge_level_minus2”语法元素在图片参数集中信令通知MER的尺寸。当定义MER时,落入相同区域的Merge候选被标记为不可用,并且因此在列表构造中不考虑。
2.1.2.AMVP
AMVP利用运动矢量与临近PU的空-时相关性,其用于运动参数的显式传输。对于每个参考图片列表,通过首先检查左侧、上侧时域临近PU位置的可用性,移除冗余候选并添加零矢量以使候选列表为恒定长度,来构造运动矢量候选列表。然后,编码器可以从候选列表中选择最佳预测值,并发送指示所选候选的对应索引。与Merge索引信令类似,使用截断一元对最佳运动矢量候选的索引进行编码。在这种情况下,要编码的最大值是2(见图8)。在接下来的章节中,将提供关于运动矢量预测候选的推导过程的细节。
2.1.2.1.AMVP候选的推导
在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导,最终基于位于五个不同的位置的每个PU的运动矢量来推导两个运动矢量候选,如图8所描绘的。
对于时域运动矢量候选推导,从基于两个不同的并置位置推导的两个候选中选择一个运动矢量候选。在产生第一空-时候选的第一列表之后,移除列表中的重复运动矢量候选。如果可能候选的数量大于二,则从列表中移除相关联的参考图片列表内其参考图片索引大于1的运动矢量候选。如果空-时运动矢量候选的数量小于二,则将附加零运动矢量候选添加到列表。
2.1.2.2.空域运动矢量候选
在空域运动矢量候选的推导中,在从位于如图2所描绘的位置的PU推导的五个可能候选当中考虑最多两个候选,那些位置与运动Merge的位置相同。当前PU的左侧的推导顺序被定义为A0、A1、以及缩放后的A0、缩放后的A1。当前PU的上侧的推导顺序被定义为B0、B1、B2、缩放后的B0、缩放后的B1、缩放后的B2。因此对于每一侧,存在可以用作运动矢量候选的四种情况,其中两种情况不需要使用空域缩放,两种情况使用空域缩放。四种不同的情况总结如下:
·没有空域缩放
-(1)相同的参考图片列表,以及相同的参考图片索引(相同的POC)
-(2)不同的参考图片列表,但是相同的参考图片(相同的POC)
·空域缩放
-(3)相同的参考图片列表,但是不同的参考图片(不同的POC)
-(4)不同的参考图片列表,以及不同的参考图片(不同的POC)
首先检查没有空域缩放的情况,然后是空域缩放。当POC在临近PU的参考图片与当前PU的参考图片之间不同时,不管参考图片列表如何,都考虑空域缩放。如果左侧候选的所有PU都不可用或者是帧内编解码的,则允许对上侧运动矢量进行缩放以帮助左侧和上侧MV候选的并行推导。否则,对上侧运动矢量不允许空域缩放。
如图9所描绘的,在空域缩放过程中,以与时域缩放类似的方式来缩放临近PU的运动矢量。主要差异在于参考图片列表和当前PU的索引被给定作为输入;实际缩放过程与时域缩放过程相同。
2.1.2.3.时域运动矢量候选
除了参考图片索引推导之外,用于推导时域Merge候选的所有过程与用于推导空域运动矢量候选的过程相同(参见图6)。参考图片索引被信令通知给解码器。
2.2.JEM中的新的帧间预测方法
2.2.1基于子CU的运动矢量预测
在具有QTBT(QuadTrees plus Binary Trees,四叉树加二叉树)的JEM中,每个CU对于每个预测方向最多可以有一个运动参数集。通过将大CU划分成子CU并且推导大CU的所有子CU的运动信息,在编码器中考虑两个子CU级别的运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从比并置参考图片中的当前CU小的多个块中提取多个运动信息集。在空-时运动矢量预测(Spatial-Temporal Motion Vector Prediction,STMVP)方法中,通过使用时域运动矢量预测值和空域临近运动矢量来递归地推导子CU的运动矢量。
为了保持对于子CU运动预测的更准确的运动场,当前禁用参考帧的运动压缩。
2.2.1.1.可选时域运动矢量预测
在可选时域运动矢量预测(ATMVP)方法中,通过从比当前CU小的块提取多个运动信息(包括运动矢量和参考索引)集来修改运动矢量时域运动矢量预测(Temporal MotionVector Prediction,TMVP)。如图10所示,子CU是正方形的N×N块(N默认被设置为4)。
ATMVP分以两步来预测CU内的子CU的运动矢量。第一步是用所谓的时域矢量来识别参考图片中的对应块。参考图片也称为运动源图片。第二步是将当前CU划分成子CU,并从与每个子CU相对应的块获得运动矢量以及每个子CU的参考索引,如图10所示。
在第一步中,参考图片和对应块由当前CU的空域临近块的运动信息确定。为了避免临近块的反复的扫描过程,使用当前CU的Merge候选列表中的第一Merge候选。第一可用运动矢量以及其相关联的参考索引被设置为时域矢量和运动源图片的索引。这样,在ATMVP中,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为并置块)总是相对于当前CU处于右下或中心位置。
在第二步中,通过向当前CU的坐标添加时域矢量,通过运动源图片中的时域矢量来识别子CU的对应块。对于每个子CU,其对应块的运动信息(覆盖中心样点的最小运动网格)用于推导子CU的运动信息。在识别对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换成当前子CU的运动矢量和参考索引,其中运动缩放和其它过程适用。例如,解码器检查是否满足低延迟条件(即当前图片的所有参考图片的POC小于当前图片的POC),并且可能使用运动矢量MVx(与参考图片列表X相对应的运动矢量)来预测每个子CU的运动矢量MVy(例如,其中X等于0或1,Y等于1-X)。
2.2.1.2.空-时运动矢量预测(STMVP)
在该方法中,按照光栅扫描顺序递归地推导子CU的运动矢量。图11示出了这个概念。让我们考虑8×8的CU,它包含4个4×4的子CU:A、B、C和D。当前帧中的临近4×4块被标记为a、b、c和d。
子CU A的运动推导通过识别其两个空域邻居(neighbour)开始。第一邻居是子CUA上侧的N×N块(块c)。如果这个块c不可用或者是帧内编解码的,则检查子CU A上侧的其它N×N块(从左到右,从块c开始)。第二邻居是子CU A左侧的块(块b)。如果块b不可用或者是帧内编解码的,则检查子CU A左侧的其它块(从上到下,从块b开始)。从每个列表的临近块获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过遵循如HEVC规定的TMVP推导的相同过程来推导子块A的时域运动矢量预测值(TMVP)。在位置D处的并置块的运动信息被相应地提取和缩放。最后,在检索和缩放运动信息之后,对每个参考列表单独地平均所有可用的运动矢量(最多3个)。平均运动矢量被分配为当前子CU的运动矢量。
2.2.1.3.子CU运动预测模式信令
子CU模式被启用作为附加Merge候选,并且不需要附加语法元素来信令通知这些模式。两个附加Merge候选被添加到每个CU的Merge候选列表以表示ATMVP模式和STMVP模式。如果序列参数集指示启用了ATMVP和STMVP,则可以使用最多七个Merge候选。附加Merge候选的编解码逻辑与HM中的Merge候选的编码逻辑相同,这意味着,对于P条带或B条带中的每个CU,针对两个附加Merge候选可能还需要两次RD检查。
在JEM中,Merge索引的所有二进制位(bin)都由CABAC进行上下文编解码。而在HEVC中,仅对第一二进制位进行上下文编解码,并且对其余二进制数进行上下文旁路编解码。
2.2.2.成对平均候选
成对平均候选(pairwise average candidate)是通过对当前Merge候选列表中的预定义候选对进行平均而生成的,并且预定义的对被定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中这些数字表示Merge候选列表的Merge索引。为每个参考列表单独计算平均运动矢量。如果两个运动矢量在一个列表中可用,则即使这两个运动矢量指向不同的参考图片,也会对它们进行平均;如果只有一个运动矢量可用,则直接使用该运动矢量;如果没有运动矢量可用,则保持该列表无效。成对平均候选代替了HEVC标准中的组合的候选。
表1中总结了成对平均候选的复杂度分析。对于用于求平均的附加计算的最差情况(表1中的最后一列),每对需要4个加法和4个移位(L0和L1中的MVx和MVy),并且每对需要4个参考索引比较(在L0和L1中refIdx0有效,并且refIdx1有效)。有6对,总共进行24个加法、24个移位和24个参考索引比较。HEVC标准中的组合的候选对每对使用2个参考索引比较(refIdx0在L0中有效,并且refIdx1在L1中有效),有12对,总共进行24个参考索引比较。
表1:成对平均候选的运算分析
Figure BDA0003162461270000141
2.2.3.平面运动矢量预测
在JVET-K0135中,提出了平面运动矢量预测。
为了生成平滑的细粒度运动场,图12给出了平面运动矢量预测过程的简要描述。
平面运动矢量预测通过在4×4块的基础上对水平和垂直线性插值求平均而实现,如下所示。
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W) 等式(1)
W和H表示块的宽度和高度。(x,y)是当前子块相对于左上角子块的坐标。所有距离都用像素距离除以4来表示。P(x,y)是当前子块的运动矢量。
位置(x,y)的水平预测Ph(x,y)和垂直预测Pv(x,y)计算如下:
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y) 等式(2)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H) 等式(3)
其中L(-1,y)和R(W,y)是当前块左侧和右侧的4×4块的运动矢量。A(x,-1)和B(x,H)是当前块的上侧和底部(bottom)的4×4块的运动矢量。
左列和上行临近块的参考运动信息是从当前块的空域临近块推导的。
右列和底行临近块的参考运动信息推导如下。
(1)推导右下时域临近4×4块的运动信息
(2)使用右下临近4×4块的推导出的运动信息以及右上临近4×4块的运动信息,计算右列临近4×4块的运动矢量,如下面等式(4)所述。
(3)使用右下临近4×4块的推导出的运动信息以及左下临近4×4块的运动信息,计算底行临近4×4块的运动矢量,如等式(5)所述。
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H 等式(4)
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W 等式(5)
其中AR是右上空域临近4×4块的运动矢量,BR是右下时域临近4×4块的运动矢量,并且BL是左下空域临近4×4块的运动矢量。
从每个列表的临近块获得的运动信息被缩放到给定列表的第一参考图片。
2.2.4自适应运动矢量差分辨率
在HEVC中,当在条带头中的use_integer_mv_flag等于0时,以四分之一亮度样点为单位信令通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(Motion VectorDifference,MVD)。在JEM中,引入了局部自适应运动矢量分辨率(Locally AdaptiveMotion Vector Resolution,LAMVR)。在JEM中,可以以四分之一亮度样点、整数亮度样点或四亮度样点为单位对MVD进行编解码。以编解码单元(CU)级别控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU,有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标志以指示在CU中是否使用四分之一亮度样点MV精度。当第一标志(等于1)指示不使用四分之一亮度样点MV精度时,信令通知另一个标志以指示是使用整数亮度样点MV精度还是四亮度样点MV精度。
当CU的第一MVD分辨率标志为零或未针对CU进行编解码(意味着CU中的所有MVD均为零)时,四分之一亮度样点MV分辨率用于CU。当CU使用整数亮度样点MV精度或四亮度样点MV精度时,CU的AMVP候选列表中的MVP被取整到对应精度。
在编码器中,CU级别的RD检查用于确定哪个MVD分辨率要用于CU。也就是说,对于每个MVD分辨率,执行三次CU级别的RD检查。为了加快编码器速度,在JEM中应用以下编码方案:
·在具有正常四分之一亮度样点MVD分辨率的CU的RD检查期间,存储当前CU的运动信息(整数亮度样点精度)。存储的运动信息(取整之后)被用作具有整数亮度样点和4亮度样点MVD分辨率的相同CU的RD检查期间的进一步的小范围运动矢量细化的起点,使得耗时的运动估计过程不会重复三次。
·有条件地调用具有4亮度样点MVD分辨率的CU的RD检查。对于CU,当整数亮度样点MVD分辨率的RD代价远大于四分之一亮度样点MVD分辨率的RD代价时,跳过CU的4亮度样点MVD分辨率的RD检查。
编码过程如图13所示。首先,测试1/4像素MV,计算RD代价并表示为RDCost0,然后测试整数MV,并且RD代价表示为RDCost1。如果RDCost1<th*RDCost0(其中th为正值),则测试4像素MV;否则,跳过4像素MV。基本上,在检查整数或4像素MV时,已经知道了1/4像素MV的运动信息和RD代价等,可重复使用该运动信息和RD代价以加速整数或4像素MV的编码过程。
2.2.5.更高的运动矢量存储精度
在HEVC中,运动矢量精度是四分之一像素(对于4:2:0视频,四分之一亮度样点和八分之一色度样点)。在JEM中,内部运动矢量存储和Merge候选的精度增加到1/16像素。更高的运动矢量精度(1/16像素)用于以跳过/Merge模式编解码的CU的运动补偿帧间预测。如2.2.2章节所述,对于以正常AMVP模式编解码的CU,使用整数像素或四分之一像素运动。
具有与HEVC运动补偿插值滤波器相同的滤波器长度和归一化因子的SHVC上采样插值滤波器被用作附加分数像素位置的运动补偿插值滤波器。在JEM中,色度分量运动矢量精度是1/32样点,通过使用两个临近1/16像素分数位置的滤波器的平均来推导1/32像素分数位置的附加插值滤波器。
2.2.6.重叠块运动补偿
重叠块运动补偿(OBMC)先前在H.263中使用过。在JEM中,与H.263不同,可以使用CU级别的语法来打开和关闭OBMC。当在JEM中使用OBMC时,除了CU的右边界和下边界之外,对所有运动补偿(Motion Compensation,MC)块边界都执行OBMC。此外,它被应用于亮度和色度分量两者。在JEM中,MC块对应于编解码块。当CU以子CU模式(包括子CU Merge、仿射和FRUC(Frame Rate Up Conversion,帧速率上转换)模式)编解码时,CU的每个子块是MC块。为了以统一的方式处理CU边界,在子块级别对所有MC块边界执行OBMC,其中子块尺寸被设置为等于4×4,如图14所示。
当OBMC应用于当前子块时,除了当前运动矢量之外,四个相连的临近子块的运动矢量(如果可用并且与当前运动矢量不相同)还用于推导当前子块的预测块。基于多个运动矢量的这些多个预测块被组合以生成当前子块的最终预测信号。
基于临近子块的运动矢量的预测块被表示为PN,其中N表示临近上侧、下侧、左侧和右侧子块的索引,并且基于当前子块的运动矢量的预测块被表示为PC。当PN是基于包含与当前子块相同的运动信息的临近子块的运动信息时,OBMC不是从PN执行的。否则,将PN的每个样点添加到PC中的相同样点中,即PN的四行/列被添加到PC。加权因子{1/4,1/8,1/16,1/32}用于PN,并且加权因子{3/4,7/8,15/16,31/32}用于PC。例外情况是小的MC块(即当编解码块的高度或宽度等于4或者CU以子CU模式编解码时),对于这样的块,只有PN的两行/列被添加到PC。在这种情况下,加权因子{1/4,1/8}用于PN,并且加权因子{3/4,7/8}用于PC。对于基于垂直(水平)临近子块的运动矢量生成的PN,将PN的相同的行(列)中的样点以相同的加权因子添加到PC
在JEM中,对于尺寸小于或等于256个亮度样点的CU,信令通知CU级别标志,以指示OBMC是否应用于当前CU。对于尺寸大于256个亮度样点或未以AMVP模式编解码的CU,默认应用OBMC。在编码器处,当OBMC应用于CU时,其影响在运动估计阶段期间被考虑在内。使用顶部(top)临近块和左侧临近块的运动信息由OBMC形成的预测信号用于补偿当前CU的原始信号的上边界和左边界,然后应用正常运动估计过程。
2.2.7.局部照明补偿
局部照明补偿(LIC)基于照明变化的线性模型,使用缩放因子a和偏移b。并且对于每个帧间模式编解码的编解码单元(CU)自适应地启用或禁用它。
当LIC应用于CU时,采用最小平方误差法以通过使用当前CU的临近样点及其对应的参考样点来推导参数a和b。更具体地,如图15所示,使用参考图片中的CU的子采样(2:1子采样)临近样点和对应的样点(由当前CU或子CU的运动信息识别)。IC参数被单独地推导并应用于每个预测方向。
当CU以Merge模式编解码时,以类似于Merge模式中的运动信息复制的方式,从临近块复制LIC标志;否则,为CU信令通知LIC标志,以指示是否应用LIC。
当对图片启用LIC时,需要附加的CU级别的RD检查来确定是否将LIC应用于CU。当对CU启用LIC时,绝对差的均值移除和(Mean-Removed Sum of Absolute Difference,MR-SAD)和绝对哈达玛(Hadamard)变换差的均值移除和(Mean-Removed Sum of AbsoluteHadamard-Transformed Difference,MR-SATD)(而不是SAD和SATD)分别用于整数像素运动搜索和分数像素运动搜索。
为了降低编码复杂度,在JEM中应用以下编码方案。当当前图片及其参考图片之间没有明显的照明变化时,对整个图片禁用LIC。为了识别这种情况,在编码器处计算当前图片和当前图片的每个参考图片的直方图。如果当前图片和当前图片的每个参考图片之间的直方图差小于给定阈值,则对当前图片禁用LIC;否则,对当前图片启用LIC。
2.2.8.混合帧内和帧间预测
在JVET-L0100中,提出了多假设预测,其中混合帧内和帧间预测是生成多假设的一种方式。
当多假设预测被应用来改进帧内模式时,多假设预测结合一个帧内预测和一个Merge索引预测。在Merge CU中,为Merge模式信令通知一个标志,以当标志为真时从帧内候选列表中选择帧内模式。对于亮度分量,帧内候选列表从包括DC模式、平面模式、水平模式和垂直模式的4种帧内预测模式推导,并且帧内候选列表的尺寸可以是3或4,这取决于块形状。当CU宽度大于CU高度的两倍时,水平模式不包括在帧内模式列表中,并且当CU高度大于CU宽度的两倍时,垂直模式从帧内模式列表中移除。使用加权平均来组合由帧内模式索引选择的一个帧内预测模式和由Merge索引选择的一个Merge索引预测。对于色度分量,总是应用DM,而无需额外的信令通知。用于组合预测的权重描述如下。当选择DC模式或平面模式,或CB宽度或高度小于4时,施加相等的权重。对于CB宽度和高度大于或等于4的那些CB,当选择水平/垂直模式时,一个CB首先被垂直/水平划分成四个等面积区域。每个权重集,表示为(w_intrai,w_interi),其中i为1至4,并且(w_intra1,w_inter1)=(6,2)、(w_intra2,w_inter2)=(5,3)、(w_intra3,w_inter3)=(3,5)和(w_intra4,w_inter4)=(2,6)将被施加到对应区域。(w_intra1,w_inter1)用于最接近参考样点的区域,并且(w_intra4,w_inter4)用于最远离参考样点的区域。然后,可以通过将两个加权预测相加并右移3位来计算组合预测。此外,可以保存预测值的帧内假设的帧内预测模式,以供后面的临近CU参考。
2.2.9.三角形预测单元模式
三角形预测单元模式的概念是为运动补偿预测引入一种新的三角形分割。如图16所示,它沿对角线或反对角线方向将CU划分成两个三角形预测单元(PU)。CU中的每个三角形预测单元使用其自己的单向预测运动矢量和参考帧索引而被帧间预测,该单向预测运动矢量和参考帧索引从单向预测候选列表推导。在预测三角形预测单元之后,对对角线边缘执行自适应加权过程。然后,将变换和量化过程应用于整个CU。注意,该模式仅适用于跳过模式和Merge模式。
单向预测候选列表
单向预测候选列表包括五个单向预测运动矢量候选。它是从七个临近块推导的,包括五个空域临近块(1到5)和两个时域并置块(6到7),如图17所示。收集七个临近块的运动矢量并按照单向预测运动矢量、双向预测运动矢量的L0运动矢量、双向预测运动矢量的L1运动矢量以及双向预测运动矢量的L0运动矢量和L1运动矢量的平均运动矢量的顺序,将其放入单向预测候选列表。如果候选的数量少于五个,则零运动矢量被添加到列表。
自适应加权过程
在预测每个三角形预测单元之后,将自适应加权过程应用于两个三角形预测单元之间的对角线边缘,以推导整个CU的最终预测。两个加权因子组如下所列:
·第一加权因子组:{7/8,6/8,4/8,2/8,1/8}和{7/8,4/8,1/8}分别用于亮度和色度样点;
·第二加权因子组:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}和{6/8,4/8,2/8}分别用于亮度和色度样点。
基于两个三角形预测单元的运动矢量的比较来选择一个加权因子组。当两个三角形预测单元的参考图片彼此不同或者它们的运动矢量差大于16像素时,使用第二加权因子组。否则,使用第一加权因子组。示例如图18所示。
运动矢量存储
三角形预测单元的运动矢量(图19中的Mv1和Mv2)存储在4×4网格中。对于每个4×4网格,存储单向预测运动矢量还是双向预测运动矢量,取决于4×4网格在CU中的位置。如图19所示,为位于非加权区域的4×4网格存储单向预测运动矢量Mv1或Mv2。另一方面,为位于加权区域的4×4网格存储双向预测运动矢量。双向预测运动矢量根据以下规则从Mv1和Mv2推导:
1.在Mv1和Mv2具有来自不同方向(L0或L1)的运动矢量的情况下,Mv1和Mv2被简单地组合以形成双向预测运动矢量。
2.在Mv1和Mv2都来自相同的L0(或L1)方向的情况下,
2.a.如果Mv2的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv2被缩放到该图片。Mv1和缩放后的Mv2被组合以形成双向预测运动矢量。
2.b.如果Mv1的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv1被缩放到该图片。缩放后的Mv1和Mv2被组合以形成双向预测运动矢量。
2.c.否则,对于加权区域只存储Mv1。
2.2.10.仿射运动补偿预测
在HEVC中,只有平移运动模型被应用于运动补偿预测(Motion CompensationPrediction,MCP)。而在现实世界中,存在许多种运动,例如,放大/缩小、旋转、透视运动和其它不规则运动。在JEM中,应用简化的仿射变换运动补偿预测。如图20所示,块的仿射运动场由两个控制点运动矢量来描述。
块的运动矢量场(Motion Vector Field,MVF)由以下等式描述:
Figure BDA0003162461270000201
其中(v0x,v0y)是左上角控制点的运动矢量,(v1x,v1y)是右上角控制点的运动矢量。
为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。子块尺寸M×N由等式(7)推导,其中MvPre是运动矢量分数精度(在JEM中为1/16),(v2x,v2y)是根据等式(6)计算的左下控制点的运动矢量。
Figure BDA0003162461270000202
在由等式(7)推导出M和N之后,如果需要,应该向下调整M和N,使其分别为w和h的因数(divisor)。
为了推导每个M×N子块的运动矢量,如图21所示,根据等式1计算每个子块的中心样点的运动矢量,并取整到1/16分数精度。然后,应用2.2.5章节中提到的运动补偿插值滤波器来用推导出的运动矢量生成每个子块的预测。
在MCP之后,每个子块的高精度运动矢量被取整并保存为与正常运动矢量相同的精度。
2.2.10.1.AF_INTER模式
在JEM中,有两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。在这种模式下,使用临近块构造具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。如图23所示,从块A、块B或块C的运动矢量中选择v0。根据参考列表以及临近块的参考的POC、当前CU的参考的POC和当前CU的POC之间的关系,缩放来自临近块的运动矢量。并且从临近块D和E中选择v1的方法是类似的。如果候选列表的数量小于2,则该列表由通过复制每个AMVP候选而组成的运动矢量对来填充。当候选列表大于2时,首先根据临近运动矢量的一致性(一对候选中两个运动矢量的相似性)对候选进行排序,并且仅保留前两个候选。RD代价检查用于确定选择哪个运动矢量对候选作为当前CU的控制点运动矢量预测(Control Point Motion Vector Prediction,CPMVP)。并且在比特流中信令通知指示CPMVP在候选列表中的位置的索引。在确定当前仿射CU的CPMVP之后,应用仿射运动估计并找到控制点运动矢量(Control Point Motion Vector,CPMV)。然后,在比特流中信令通知CPMV和CPMVP的差。
在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,并且因此需要为这些控制点编解码2/3个MVD,如图22所示。在JVET-K0337中,提出按如下方式来推导MV,即从mvd0预测mvd1和mvd2
Figure BDA0003162461270000211
Figure BDA0003162461270000212
Figure BDA0003162461270000213
其中
Figure BDA0003162461270000214
mvdi和mv1分别是左上像素(i=0)、右上像素(i=1)或左下像素(i=2)的预测运动矢量、运动矢量差和运动矢量,如图22所示。请注意,两个运动矢量(例如,mvA(xA,yA)和mvB(xB,yB))的相加等于两个分量的单独求和,即newMV=mvA+mvB,newMV的两个分量分别设置为(xA+xB)和(yA+yB)。
2.2.10.2.AF_INTER模式中的快速仿射ME算法
在仿射模式中,需要联合确定2或3个控制点的MV。直接联合搜索多个MV在计算上很复杂。提出了一种快速仿射ME算法,并将其应用于VTM/BMS。
针对4参数仿射模型描述了快速仿射ME算法,并且该思想可以扩展到6参数仿射模型。
Figure BDA0003162461270000221
Figure BDA0003162461270000222
将(a-1)替换为a’,则运动矢量可以重写为:
Figure BDA0003162461270000223
假设两个控制点(0,0)和(0,w)的运动矢量是已知的,从等式(13)我们可以推导仿射参数:
Figure BDA0003162461270000224
运动矢量可以以矢量形式重写为:
Figure BDA0003162461270000225
其中
Figure BDA0003162461270000226
Figure BDA0003162461270000227
P=(x,y)是像素位置。
在编码器处,迭代地推导AF_INTER的MVD。将MVi(P)表示为在位置P的第i次迭代中推导出的MV,并将dMVC i表示为在第i次迭代中为MVC更新的偏差。然后,在第(i+1)次迭代中,
Figure BDA0003162461270000228
Figure BDA0003162461270000231
将Picref表示为参考图片,并且将Piccur表示为当前图片,并表示Q=P+MVi(P)。假设我们使用MSE作为匹配准则,则我们需要最小化:
Figure BDA0003162461270000232
假设
Figure BDA0003162461270000233
足够小,我们可以用1阶泰勒展开式近似地重写
Figure BDA0003162461270000234
如下。
Figure BDA0003162461270000235
其中,
Figure BDA0003162461270000236
表示Ei+1(P)=Piccur(P)-Picref(Q),
Figure BDA0003162461270000237
我们可以通过将误差函数的导数设置为零来推导
Figure BDA0003162461270000238
然后,可以根据
Figure BDA00031624612700002318
Figure BDA00031624612700002310
Figure BDA00031624612700002311
Figure BDA00031624612700002312
Figure BDA00031624612700002313
来计算控制点(0,0)和(0,w)的偏差MV。
假定这样的MVD推导过程被迭代n次,则最终MVD计算如下:
Figure BDA00031624612700002314
Figure BDA00031624612700002315
Figure BDA00031624612700002316
Figure BDA00031624612700002317
利用JVET-K0337,即从由mvd0表示的控制点(0,0)的偏差MV预测由mvd1表示的控制点(0,w)的偏差MV,现在实际上只对于mvd1编码
Figure BDA0003162461270000241
2.2.10.3.AF_MERGE模式
在AF_MERGE模式中应用CU时,它从有效的临近重构块获得以仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图24A所示,推导包含块A的CU的左上角、右上角和左下角的运动矢量v2、v3和v4。并且根据v2、v3和v4来计算当前CU左上角的运动矢量v0。然后,计算当前CU右上的运动矢量v1
在推导出当前CU的CPMV v0和v1之后,根据简化的仿射运动模型等式1,生成当前CU的MVF。为了识别当前CU是否以AF_MERGE模式编解码,当存在至少一个临近块以仿射模式编解码时,在比特流中信令通知仿射标志。
图24A和图24B示出了AF_MERGE候选的示例
在计划被采用到VTM 3.0中的JVET-L0366中,仿射Merge候选列表由以下步骤构造:
(1)插入继承的仿射候选
继承的仿射候选是指候选是从其有效临近仿射编解码块的仿射运动模型推导的。在公共基础中,如图25所示,候选位置的扫描顺序是:A1、B1、B0、A0和B2。
在推导出候选之后,执行全修剪过程,以检查是否已将相同候选插入列表中。如果存在相同候选,则丢弃推导出的候选。
(2)插入构造的仿射候选
如果仿射Merge候选列表中的候选的数量小于MaxNumAffineCand(在此公开中设置为5),则将构造的仿射候选插入候选列表中。构造的仿射候选是指通过组合每个控制点的临近运动信息来构造的候选。
控制点的运动信息首先从图25所示的指定的空域邻居和时域邻居推导。CPk(k=1,2,3,4)代表第k个控制点。A0、A1、A2、B0、B1、B2和B3是预测CPk(k=1,2,3)的空域位置;T是预测CP4的时域位置。
CP1、CP2、CP3和CP4的坐标分别是(0,0)、(W,0)、(H,0)和(W,H),其中W和H是当前块的宽度和高度。
根据以下优先级顺序获得每个控制点的运动信息:
对于CP1,检查优先级是B2->B3->A2。如果B2可用,则使用B2。否则,如果B2可用,则使用B3。如果B2和B3都不可用,则使用A2。如果三个候选全部都不可用,则无法获得CP1的运动信息。
对于CP2,检查优先级是B1->B0。
对于CP3,检查优先级是A1->A0。
对于CP4,使用T。
其次,使用控制点的组合来构造仿射Merge候选。
构造6参数仿射候选需要三个控制点的运动信息。三个控制点可以从以下四个组合中选择一个({CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4})。组合{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4}将转换为由左上、右上和左下控制点表示的6参数运动模型。
构造4参数仿射候选需要两个控制点的运动信息。这两个控制点可以从以下六个组合中选择一个({CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4})。组合{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4}将被转换为由左上和右上控制点表示的4参数运动模型。
构造的仿射候选的组合按以下顺序插入候选列表:
{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4}、{CP1,CP2}、{CP1,CP3}、{CP2,CP3}、{CP1,CP4}、{CP2,CP4}、{CP3,CP4}。
对于组合的参考列表X(X为0或1),在控制点中具有最高使用率的参考索引被选择作为列表X的参考索引,并且指向差异参考图片的运动矢量将被缩放。
在推导出候选之后,执行全修剪过程,以检查是否已将相同候选插入列表中。如果存在相同候选,则推导出的候选将被丢弃。
(3)用零运动矢量进行填充
如果仿射Merge候选列表中的候选的数量少于5,则具有零参考索引的零运动矢量被插入到候选列表中,直到列表满为止。
2.2.11.模式匹配运动矢量推导
模式匹配运动矢量推导(Pattern Matched Motion Vector Derivation,PMMVD)模式是基于帧速率上转换(FRUC)技术的特殊Merge模式。利用该模式,在解码器推导块的运动信息,而不是信令通知块的运动信息。
当CU的Merge标志为真时,向CU信令通知FRUC标志。当FRUC标志为假时,信令通知Merge索引并使用常规Merge模式。当FRUC标志为真时,信令通知附加FRUC模式标志以指示将使用哪种方法(双边匹配或模板匹配)来推导块的运动信息。
在编码器侧,关于是否对CU使用FRUC Merge模式的决定是基于对正常Merge候选所做的RD代价选择。即,通过使用RD代价选择来为CU检测两种匹配模式(双边匹配和模板匹配)。引起最小代价的匹配模式与其他CU模式进一步比较。如果FRUC匹配模式是最有效的模式,则对于CU将FRUC标志设置为真,并且使用相关的匹配模式。
FRUC Merge模式中的运动推导过程具有两步:首先执行CU级别的运动搜索,然后进行子CU级别的运动细化。在CU级别,基于双边匹配或模板匹配,推导整个CU的初始运动矢量。首先,生成MV候选列表,并且选择引起最小匹配代价的候选作为进一步CU级别的细化的起点。然后,在起点附近执行基于的双边匹配或模板匹配的局部搜索,并且将引起最小匹配代价的MV作为整个CU的MV。随后,以推导出的CU运动矢量作为起点,在子CU级别进一步细化运动信息。
例如,对于W×H CU运动信息推导执行以下推导过程。在第一阶段,推导整个W×HCU的MV。在第二阶段,该CU进一步被划分成M×M子CU。M的值的计算方法如(16)所示,D是预定义的划分深度,在JEM中默认设置为3。然后推导每个子CU的MV。
Figure BDA0003162461270000261
如图26所示,通过在两个不同的参考图片中沿当前CU的运动轨迹找到两个块之间的最接近匹配,使用双边匹配来推导当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0和MV1应当与当前图片和两个参考图片之间的时域距离(即TD0和TD1)成比例。作为特殊情况,当当前图片在时域上在两个参考图片之间并且从当前图片到两个参考图片的时域距离相同时,双边匹配成为基于镜像的双向MV。
如图27所示,模板匹配用于通过找到当前图片中的模板(当前CU的顶部和/或左侧临近块)与参考图片中的块(与模板的尺寸相同)之间的最接近匹配来推导当前CU的运动信息。除了前述FRUC Merge模式之外,模板匹配也应用于AMVP模式。在JEM中,正如在HEVC中所做的那样,AMVP具有两个候选。通过模板匹配方法,新的候选被推导出。如果由模板匹配新推导的候选与第一现有AMVP候选不同,则将其插入AMVP候选列表的最开始处,然后将列表尺寸设置为2(意味着移除第二现有AMVP候选)。当应用于AMVP模式时,仅应用CU级别的搜索。
2.2.11.1.CU级别的MV候选集
在CU级别处设置的MV候选包括:
(i)如果当前CU处于AMVP模式,则为原始AMVP候选,
(ii)所有Merge候选,
(iii)在2.2.11.3章节中介绍的插值MV场中的几个MV,
(iv)顶部和左侧临近运动矢量
当使用双边匹配时,将Merge候选的每个有效MV用作输入,以生成假设双边匹配的情况下的MV对。例如,在参考列表A中,Merge候选的一个有效MV是(MVa,refa)。然后,在其他参考列表B中找到其配对的双边MV的参考图片refb,使得refa和refb在时域上位于当前图片的不同侧。如果这样的refb在参考列表B中不可用,则refb被确定为与refa不同的参考,并且其到当前图片的时域距离是列表B中的最小值。在确定refb之后,通过基于当前图片和refa和refb之间的时域距离来缩放MVa来推导MVb。
来自插值MV场的四个MV也被添加到CU级别的候选列表。更具体地,添加当前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)处的插值MV。
当FRUC应用于AMVP模式时,原始AMVP候选也被添加到CU级别的MV候选集。
在CU级别,对于AMVP CU,将最多15个MV添加到候选列表,对于Merge CU,将最多13个MV添加到候选列表。
2.2.11.2.子CU级别的MV候选集
在子CU级别处设置的MV候选包括:
(i)从CU级别的搜索确定的MV,
(ii)顶部、左侧、左上和右上临近MV,
(iii)来自参考图片的并置MV的缩放版本,
(iv)最多4个ATMVP候选,
(v)最多4个STMVP候选。
来自参考图片的缩放后的MV如下推导。遍历两个列表中的所有参考图片。参考图片中的子CU的并置位置处的MV被缩放到起始CU级别MV的参考。
ATMVP和STMVP候选仅限于前四个。
在子CU级别,将最多17个MV添加到候选列表中。
2.2.11.3.插值MV场的生成
在对帧进行编解码之前,基于单边ME为整个图片生成插值运动场。然后,运动场可以稍后用作CU级别或子CU级别的MV候选。
首先,以4×4块级遍历两个参考列表中的每个参考图片的运动场。对于每个4×4块,如果与块相关联的运动通过当前图片中的4×4块(如图28所示)并且块未被分配任何插值运动,则参考块的运动根据时域距离TD0和TD1(以与HEVC中的TMVP的MV缩放的方式相同的方式)被缩放到当前图片,并且将缩放后的运动分配给当前帧中的块。如果没有缩放后的MV被分配给4×4块,则在插值运动场中将块的运动标记为不可用。
2.2.11.4.插值和匹配代价
当运动矢量指向分数样点位置时,需要运动补偿插值。为了降低复杂度,替代常规8抽头HEVC插值,将双线性插值用于双边匹配和模板匹配。
匹配代价的计算在不同步骤处有点不同。当从CU级别的候选集中选择候选时,匹配代价是双边匹配或模板匹配的绝对和差(Absolute Sum Difference,SAD)。在确定了起始MV之后,子CU级别的搜索的双边匹配的匹配代价C计算如下:
Figure BDA0003162461270000281
其中w是根据经验设置为4的加权因子,MV和MVs分别指示当前MV和起始MV。SAD仍用作子CU级别的搜索的模板匹配的匹配代价。
在FRUC模式中,仅通过使用亮度样点来推导MV。推导的运动将用于MC帧间预测的亮度和色度两者。在确定了MV之后,使用用于亮度的8抽头插值滤波器和用于色度的4抽头插值滤波器来执行最终MC。
2.2.11.5.MV细化
MV细化是基于模式的MV搜索,以双边匹配代价或模板匹配代价为准则。在JEM中,支持两种搜索模式—无限制中心偏置菱形搜索(Unrestricted Center-Biased DiamondSearch,UCBDS)和自适应交叉搜索,分别用于CU级别和子CU级别处的MV细化。对于CU和子CU级别的MV细化两者,以四分之一亮度样点MV精度直接搜索MV,并且接着是八分之一亮度样点MV细化。将用于CU和子CU步骤的MV细化的搜索范围设置为等于8个亮度样点。
2.2.11.6.模板匹配FRUC Merge模式中预测方向的选择
在双边匹配Merge模式中,始终应用双向预测,因为CU的运动信息是基于在两个不同的参考图片中沿当前CU的运动轨迹的两个块之间的最近匹配推导的。对于模板匹配Merge模式没有这样的限制。在模板匹配Merge模式中,编码器可以从列表0中的单向预测、列表1中的单向预测或双向预测当中为CU选择。选择基于如下的模板匹配代价:
如果costBi<=factor*min(cost0,cost1)
则使用双向预测;
否则,如果cost0<=cost1
则使用列表0中的单向预测;
否则,
使用列表1中的单向预测;
其中cost0是列表0模板匹配的SAD,cost1是列表1模板匹配的SAD,costBi是双向预测模板匹配的SAD。factor的值等于1.25,这意味着选择过程偏向于双向预测。
帧间预测方向选择仅应用于CU级别的模板匹配过程。
2.2.12.广义双向预测
在传统的双向预测中,使用相等的权重0.5来平均来自L0和L1的预测值,以生成最终预测值。预测值生成公式如等式(32)所示。
PTraditionalBiPred=(PL0+PL1+RoundingOffset)>>shiftNum 等式(32)
在等式(32)中,PTraditionalBiPred是传统双向预测的最终预测值,PL0和PL1分别是来自L0和L1的预测值,并且RoundingOffset和shiftNum被用于归一化最终预测值。
提出广义双向预测(Generalized Bi-prediction,GBI)以允许对来自L0和L1的预测值施加不同的权重。预测值生成如等式(33)所示。
PGBi=((1-w1)*PL0+w1*PL1+RoundingOffsetGBi)>>shiftNumGBi 等式(33)
在等式(33)中,PGBi是GBi的最终预测值,(1-w1)和w1是分别施加到L0和L1的预测值的选择的GBI权重。RoundingOffsetGBi和shiftNumGBi被用于归一化GBi中的最终预测值。
w1的支持的权重为{-1/4,3/8,1/2,5/8,5/4}。支持一个相等权重集和四个不相等权重集。对于相等权重情况,生成最终预测值的过程与传统双向预测模式中的过程完全相同。对于随机访问(random access,RA)条件下的真正双向预测情况,候选权重集的数量减少到三个。
对于高级运动矢量预测(AMVP)模式,如果该CU被双向预测编解码,则GBI中的权重选择在CU级别显式地信令通知。对于Merge模式,权重选择从Merge候选继承。在该提出方案中,GBI支持DMVR生成模板的加权平均以及BMS-1.0的最终预测值。
2.2.13.多假设帧间预测
在多假设帧间预测模式中,除了传统的单/双向预测信号之外,还信令通知一个或多个附加预测信号。产生的整体预测信号通过逐样点加权叠加获得。通过单/双向预测信号puni/bi和第一附加帧间预测信号/假设h3,产生的预测信号p3如下获得:
p3=(1-α)puni/bi+αh3 等式(34)
预测单元语法结构的改变在下表中以粗体显示:
Figure BDA0003162461270000311
加权因子α由语法元素add_hyp_weight_idx根据以下映射来指定:
add_hyp_weight_idx α
0 1/4
1 -1/8
注意,对于附加预测信号,预测列表0/列表1的概念被废除,转而使用一个组合列表。该组合列表通过以增加的参考索引交替插入来自列表0和列表1的参考帧、省略已经插入的参考帧而生成,从而避免了双重条目。
类似于上面,可以使用一个以上的附加预测信号。产生的整体预测信号与每个附加预测信号迭代累积。
pn+1=(1-αn+1)pnn+1hn+1 等式(35)
获得产生的整体预测信号作为最后一个pn(即pn具有最大索引n)。
注意,同样对于使用MERGE模式(而不是跳过模式)的帧间预测块,可以指定附加帧间预测信号。另外还注意,在MERGE的情况下,不仅单/双向预测参数,还有选择的Merge候选的附加预测参数都可以用于当前块。
2.2.14.AMVP模式的单向预测的多假设预测
当应用多假设预测以改进AMVP模式的单向预测时,信令通知一个标志来启用或禁用inter_dir等于1或2的多假设预测,其中1、2和3分别表示列表0、列表1和双向预测。此外,当标志为真时,信令通知再一个Merge索引。这样,多假设预测将单向预测变为双向预测,其中一个运动是使用AMVP模式中的原始语法元素获取的,而另一个运动是使用Merge方案获取的。最终预测使用1:1权重将这两个预测组合为双向预测。首先从Merge模式推导Merge候选列表,不包括子CU候选(例如,仿射、可选时域运动矢量预测(alternative temporalmotion vector prediction,ATMVP))。接下来,它被分离成两个单独的列表,一个用于包含来自候选的所有L0运动的列表0(L0),并且另一个用于包含所有L1运动的列表1(L1)。在移除冗余和填充空缺之后,分别为L0和L1生成两个Merge列表。在应用多假设预测来改进AMVP模式时,有两个约束条件。第一,对于亮度编解码块(CB)面积大于或等于64的那些CU,启用多假设预测。第二,多假设预测仅适用于在低延迟B图片中时的L1。
2.2.15.跳过/Merge模式的多假设预测
当多假设预测被应用于跳过或Merge模式时,是否启用多假设预测被显式地信令通知。除了原始预测之外,还会选择额外的Merge索引预测。因此,多假设预测的每个候选隐含Merge候选对,其中一个Merge候选用于第一Merge索引预测,而另一个Merge候选用于第二Merge索引预测。然而,在每个对中,用于第二Merge索引预测的Merge候选被隐式地推导为后续的Merge候选(即已经信令通知的Merge索引加1),而不信令通知任何附加Merge索引。在通过排除那些包含相似Merge候选的对并填充空缺来移除冗余之后,形成用于多假设预测的候选列表。然后,获取来自两个Merge候选的对的运动以生成最终预测,其中5:3权重分别施加到第一Merge索引预测和第二Merge索引预测。此外,启用多假设预测的Merge或跳过CU可以保存除了现有假设的运动信息之外的附加假设的运动信息,以供后面的临近CU参考。注意,从候选列表中排除子CU候选(例如,仿射、ATMVP),并且对于低延迟的B图片,多假设预测不适用于跳过模式。此外,当多假设预测被应用于Merge或跳过模式时,对于那些CU宽度或CU高度小于16的CU,或者那些CU宽度和CU高度都等于16的CU,双线性插值滤波器被用于多假设的运动补偿。因此,表1中计算了启用多假设预测的每个Merge或跳过CU的最坏情况带宽(每样点所需的访问样点),并且每个数字小于禁用多假设预测的每个4×4CU的最坏情况带宽的一半。
2.2.16.最终运动矢量表达
最终运动矢量表达(UMVE)利用所提出的运动矢量表达方法而被用于跳过或Merge模式。
UMVE重用与VVC中使用的Merge候选相同的Merge候选。在Merge候选当中,可以选择候选,并通过所提出的运动矢量表达方法进一步扩展。
UMVE提供了具有简化的信令的新的运动矢量表达。表达方法包括起点、运动幅度和运动方向。
图29示出了UMVE搜索过程的示例。
图30示出了UMVE搜索点的示例。
所提出的技术按原样使用Merge候选列表。但是对于UMVE的扩展,仅考虑默认Merge类型(MRG_TYPE_DEFAULT_N)的候选。
基本候选索引定义起点。基本候选索引指示表2中的候选当中的最佳候选,如下所示。
表2.示例基本候选IDX
基本候选IDX 0 1 2 3
第N个MVP 第一MVP 第二MVP 第三MVP 第四MVP
如果基本候选的数量等于1,则不信令通知基本候选IDX。
距离索引是运动幅度信息。距离索引指示距起点信息的预定义距离。预定义距离如表3所示如下:
表3.示例距离IDX
Figure BDA0003162461270000331
方向索引表示MVD相对于起点的方向。方向索引可以表示如下表4中所示的四个方向。
表4.示例方向IDX
方向IDX 00 01 10 11
x轴 + N/A N/A
y轴 N/A N/A +
UMVE标志在发送跳过标志和Merge标志之后立即被信令通知。如果跳过和Merge标志为真,则解析UMVE标志。如果UMVE标志等于1,则解析UMVE语法。但是,如果不是1,则解析AFFINE标志。如果AFFINE标志等于1,这就是AFFINE模式,但是,如果不是1,则解析跳过/Merge索引以用于VTM的跳过/Merge模式。
不需要由于UMVE候选引起的附加行缓冲。因为软件的跳过/Merge候选直接用作基本候选。使用输入的UMVE索引,在运动补偿之前就决定MV的补充。不需要为此保留长行缓冲区。
2.2.17.具有预测偏移的仿射Merge模式
UMVE被扩展到仿射Merge模式,此后将也被称为UMVE仿射模式。所提出的方法选择第一可用仿射Merge候选作为基本预测值。然后,它将运动矢量偏移应用于来自基本预测值的每个控制点的运动矢量值。如果没有可用的仿射Merge候选,则不使用所提出的方法。
选择的基本预测值的帧间预测方向和每个方向的参考索引被不加改变地使用。
在当前实施方式中,当前块的仿射模型被假定为4参数模型,只需要推导2个控制点。因此,仅基本预测值的前2个控制点将被用作控制点预测值。
对于每个控制点,zero_MVD标志被用于指示当前块的控制点是否具有与对应控制点预测值相同的MV值。如果zero_MVD标志为真,则控制点不需要其他信令。否则,对控制点信令通知距离索引和偏移方向索引。
使用尺寸为5的距离偏移表,如下表中所示。信令通知距离索引,以指示使用哪个距离偏移。距离索引和距离偏移值的映射如表5中所示。
表5-示例距离偏移表
距离DX 0 1 2 3 4
距离偏移 1/2像素 1像素 2像素 4像素 8像素
图31示出了距离索引和距离偏移映射的示例。
方向索引可以表示如下所示的四个方向,其中只有x或y方向可能有MV差,但不是两个方向都有。
偏移方向IDX 00 01 10 11
x-dir-factor +1 –1 0 0
y-dir-factor 0 0 +1 –1
如果帧间预测是单向的,则信令通知的距离偏移被应用于每个控制点预测值的偏移方向。结果将是每个控制点的MV值。
例如,当基本预测值是单向的,并且控制点的运动矢量值是MVP(vpx,vpy)时。当信令通知距离偏移和方向索引时,当前块的对应控制点的运动矢量将计算如下。
MV(vx,vy)=MVP(vpx,vpy)+MV(x-dir-factor*distance-offset,y-dir-factor*distance-offset) 等式(36)
如果帧间预测是双向的,则信令通知的距离偏移被应用在控制点预测值的L0运动矢量的信令通知的偏移方向上;并且具有相反方向的相同距离偏移被应用于控制点预测值的L1运动矢量。结果将是每个控制点在每个帧间预测方向上的MV值。
例如,当基本预测值是单向的,并且L0上的控制点的运动矢量值是MVPL0(v0px,v0py),并且L1上的该控制点的运动矢量是MVPL1(v1px,v1py)时。当信令通知距离偏移和方向索引时,当前块的对应控制点的运动矢量将计算如下。
MVL0(v0x,v0y)=MVPL0(v0px,v0py)+MV(x-dir-factor*distance-offset,y-dir-factor*distance-offset) 等式(37)
MVL1(v0x,v0y)=MVPL1(v0px,v0py)+MV(-x-dir-factor*distance-offset,-y-dir-factor*distance-offset) 等式(38)
2.2.18.双向光流
双向光流(Bi-directional Optical flow,BIO)是逐样点的运动细化,其在用于双向预测的逐块的运动补偿的基础上进行。样点级别的运动细化不使用信令。
假设I(k)是块运动补偿之后来自参考k(k=0,1)的亮度值,并且
Figure BDA0003162461270000352
Figure BDA0003162461270000353
分别是I(k)梯度的水平分量和垂直分量。假设光流是有效的,运动矢量场(vx,vy)由以下等式给出:
Figure BDA0003162461270000361
将该光流等式与Hermite插值相结合以获得每个样点的运动轨迹,最终得到与函数值I(k)和导数
Figure BDA0003162461270000362
相匹配的唯一的三阶多项式。t=0时该多项式的值是BIO预测:
Figure BDA0003162461270000363
这里,τ0和τ1表示到参考帧的距离,如图31所示。距离τ0和τ1是基于Ref0和Ref1的POC计算的:τ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(图32上运动轨迹和参考帧平面的交点)的值之间的差Δ来确定运动矢量场(vx,vy)。模型只使用对于Δ的局部Taylor展开的第一线性项:
Figure BDA0003162461270000364
等式(40)中的所有值都取决于样点位置(i′,j′),到目前为止从符号中忽略该位置。假设运动在局部周围区域中是一致的,我们最小化以当前预测点(i,j)为中心的(2M+1)×(2M+1)正方形窗口Ω内的Δ,其中M等于2:
Figure BDA0003162461270000365
对于这个优化问题,JEM使用简化的方法,首先在垂直方向最小化,然后在水平方向最小化。这得到:
Figure BDA0003162461270000366
Figure BDA0003162461270000367
其中,
Figure BDA0003162461270000368
Figure BDA0003162461270000369
Figure BDA00031624612700003610
为了避免除以零或非常小的值,正则化参数r和m被引入等式(43)和(44)中。
r=500·4d-8 等式(46)
m=700·4d-8 等式(47)
这里d是视频样点的比特深度。
为了保持BIO的存储器访问与常规双向预测运动补偿相同,所有预测和梯度值I(k),
Figure BDA0003162461270000371
都仅针对当前块内部的位置进行计算。在等式(45)中,以预测块的边界上的当前预测点为中心的(2M+1)×(2M+1)正方形窗口Ω需要访问块的外部的位置(如图33A所示)。在JEM中,块外部的I(k),
Figure BDA0003162461270000372
的值被设置为等于块内部最近的可用值。例如,这可以实施为填充,如图33B所示。
利用BIO,有可能针对每个样点细化运动场。为了降低计算复杂度,在JEM中使用基于块的BIO设计。基于4×4块来计算运动细化。在基于块的BIO中,聚合4×4块中所有样点的等式30中的sn值,然后sn的聚合值用于推导4×4块的BIO运动矢量偏移。更具体地,以下公式用于基于块的BIO推导:
Figure BDA0003162461270000373
其中bk表示属于预测块的第k个4×4块的样点集。等式(43)和(44)中的sn被((sn,bk)>>4)代替,以推导相关联的运动矢量偏移。
在某些情况下,由于噪音或不规则运动,BIO的MV细化可能不可靠。因此,在BIO中,MV细化的幅度被限幅到阈值thBIO。阈值基于当前图片的参考图片是否都来自一个方向来确定。如果当前图片的所有参考图片都来自一个方向,则阈值被设置为12×214-d;否则,它被设置为12×213-d
使用与HEVC运动补偿过程(2D可分离FIR)一致的操作,与运动补偿插值同时计算BIO的梯度。该2D可分离FIR的输入是与运动补偿过程和根据块运动矢量的分数部分的分数位置(fracX,fracY)相同的参考帧样点。在水平梯度
Figure BDA0003162461270000374
的情况下,首先使用与具有去缩放(de-scaling)偏移d-8的分数位置fracY相对应的BIOfilterS对信号垂直插值,然后在水平方向上应用与具有去缩放偏移18-d的分数位置fracX相对应的梯度滤波器BIOfilterG。在垂直梯度
Figure BDA0003162461270000381
的情况下,首先使用与具有去缩放偏移d-8的分数位置fracY相对应的BIOfilterG来垂直地应用梯度滤波器,然后在水平方向上使用与具有去缩放偏移18-d的分数位置fracX相对应的BIOfilterS来执行信号位移。用于梯度计算的插值滤波器BIOfilterG和用于信号位移的BIOfilterF的长度较短(6抽头),以便维持合理的复杂度。表6示出了用于BIO中块运动矢量的不同分数位置的梯度计算的滤波器。表7示出了用于BIO中预测信号生成的插值滤波器。
表6:用于BIO中梯度计算的示例滤波器
分数像素位置 梯度的插值滤波器(BIOfilterG)
0 {8,-39,-3,46,-17,5}
1/16 {8,-32,-13,50,-18,5}
1/8 {7,-27,-20,54,-19,5}
3/16 {6,-21,-29,57,-18,5}
1/4 {4,-17,-36,60,-15,4}
5/16 {3,-9,-44,61,-15,4}
3/8 {1,-4,-48,61,-13,3}
7/16 {0,1,-54,60,-9,2}
1/2 {-1,4,-57,57,-4,1}
表7:用于BIO中预测信号生成的示例插值滤波器
分数像素位置 预测信号的插值滤波器(BIOfilterS)
0 {0,0,64,0,0,0}
1/16 {1,-3,64,4,-2,0}
1/8 {1,-6,62,9,-3,1}
3/16 {2,-8,60,14,-5,1}
1/4 {2,-9,57,19,-7,2}
5/16 {3,-10,53,24,-8,2}
3/8 {3,-11,50,29,-9,2}
7/16 {3,-11,44,35,-10,3}
1/2 {3,-10,35,44,-11,3}
在JEM中,当两个预测来自不同的参考图片时,BIO被应用于所有双向预测块。当对CU启用LIC时,BIO被禁用。
在JEM中,OBMC被应用于正常MC过程之后的块。为了降低计算复杂度,BIO没有在OBMC过程期间被应用。这意味着当使用自己的MV时,BIO仅应用于块的MC过程,而当在OBMC过程期间使用临近块的MV时,BIO不应用于MC过程。
2.2.19.解码器侧运动矢量细化
在双向预测操作中,对于一个块区域的预测,分别使用列表0的运动矢量(MV)和列表1的MV形成的两个预测块被组合以形成单个预测信号。在解码器侧运动矢量细化(DMVR)方法中,双向预测的两个运动矢量通过双边模板匹配过程进一步细化。双边模板匹配应用于解码器中,以在双边模板和参考图片中的重构样点之间执行基于失真的搜索,以便在不发送附加运动信息的情况下获得细化的MV。
在DMVR中,双边模板生成为分别来自列表0的初始MV0和列表1的MV1的两个预测块的加权组合(即平均),如图34所示。模板匹配操作包括计算生成的模板和参考图片中的(初始预测块周围的)样点区域之间的代价度量。对于两个参考图片中的每一个,产生最小模板代价的MV被认为是该列表中用以替换原始MV的更新后的MV。在JEM中,对于每个列表搜索9个MV候选。9个候选MV包括原始MV和8个周围MV,该8个周围MV在水平或垂直方向或两者上相对于原始MV偏移一个亮度样点。最后,两个新的MV(即,MV0′和MV1′),如图33所示,用于生成最终的双向预测结果。绝对差之和(sum of absolute differences,SAD)被用作代价度量。请注意,当计算由一个周围MV生成的预测块的代价时,取整的MV(取整到整数像素)实际上用于获得预测块,而不是实际的MV。
DMVR应用于双向预测的Merge模式,其中一个MV来自过去的参考图片,并且另一个来自未来的参考图片,而无需传输附加语法元素。在JEM中,当对CU启用LIC、仿射运动、FRUC或子CU Merge候选时,不应用DMVR。
3.相关工具
3.1.1.扩散滤波器
在JVET-L0157中,提出了扩散滤波器,其中CU的帧内/帧间预测信号可以通过扩散滤波器来进一步修改。
3.1.1.1均匀扩散滤波器
均匀扩散滤波器是通过将预测信号与给定为hI或hIV的固定掩模(定义如下)进行卷积来实现的。
除了预测信号本身,块的左侧和上侧的一行重构样点被用作滤波信号的输入,其中可以避免在帧间块使用这些重构样点。
令pred为通过帧内或运动补偿预测获得的给定块上的预测信号。为了处理滤波器的边界点,预测信号需要扩展到预测信号predext。这种扩展预测可以以两种方式形成:或者,作为中间步骤,将块的左侧和上侧的一行重构样点添加到预测信号中,然后在所有方向上镜像所产生的信号。或者,仅预测信号本身在所有方向上被镜像。后一个扩展被用于帧间块。在这种情况下,仅预测信号本身包括扩展预测信号predext的输入。
如果要使用滤波器hI,则提出用hI*pred替换预测信号pred,使用前述边界扩展。这里,滤波器掩模hI给出如下:
Figure BDA0003162461270000401
如果要使用滤波器hIV,则提出用hIV*pred替换预测信号pred。这里,滤波器hIV给出如下:
hIV=hI*hI*hI*hI. 等式(50)
3.1.1.2.方向扩散滤波器
代替使用信号自适应扩散滤波器,而使用方向滤波器,水平滤波器hhor和垂直滤波器hver,其仍然具有固定的掩模。更准确地,前一章节的对应于掩模hI的均匀扩散滤波被简单地限制为仅沿垂直方向或沿水平方向应用。垂通过将固定的滤波器掩模
Figure BDA0003162461270000402
应用于预测信号来实现直滤波器,并且通过使用转置掩模
Figure BDA0003162461270000403
来实现水平滤波器。
3.1.2.双边滤波器
在JVET-L0406中提出了双边滤波器,并且它总是应用于具有非零变换系数且条带量化参数大于17的亮度块。因此,不需要信令通知双边滤波器的使用。双边滤波器,如果被应用,则在逆变换后立即对解码样点执行双边滤波。另外,滤波器参数(即权重)是从编解码信息显式地推导的。
滤波过程定义为:
Figure BDA0003162461270000411
其中P0,0是当前样点的强度并且P′0,0是当前样点的修改后的强度,Pk,0和Wk分别是第k个临近样点的强度和加权参数。图35中描绘了一个当前样点及其四个临近样点(即K=4)的示例。
更具体地,与第k个临近样点相关联的权重Wk(x)定义如下:
Wk(x)=Distancek×Rangek(x) 等式(52)
其中
Figure BDA0003162461270000412
Figure BDA0003162461270000413
σd取决于编解码模式和编解码块尺寸。所描述的滤波过程被应用于帧内编解码块,并且当TU被进一步划分时所描述的滤波过程被应用于帧间编解码块,以启用并行处理。
为了更好地捕获视频信号的统计特性,并提高滤波器的性能,由等式(52)产生的权重函数由表8中列出的参数σd调整,该参数σd取决于编解码模式和块分割参数(最小尺寸)。
表8对于不同的块尺寸和编解码模式的σd的示例值
Min(块宽度,块高度) 帧内模式 帧间模式
4 82 62
8 72 52
其它 52 32
为了进一步提高编解码性能,对于TU未划分时的帧间编解码块,当前样点与其临近样点之一之间的强度差被覆盖当前样点和临近样点的两个窗口之间的代表性强度差所替换。因此,滤波过程等式被修改为:
Figure BDA0003162461270000414
其中Pk,m和P0,m表示分别以Pk,0和P0,0为中心的窗口内的第m个样点值。在该提案中,窗口尺寸被设置为3×3。图36中描绘了覆盖P2,0和P0,0的两个窗口的示例。
3.1.3.帧内块复制
解码器方面:
在一些情况下,当前(部分)解码的图片被认为是参考图片。当前图片放在参考图片列表0的最后位置。因此,对于使用当前图片作为唯一参考图片的条带,其条带类型被认为是P条带。这种方法中的比特流语法遵循用于帧间编解码的相同语法结构,而解码过程与帧间编解码是统一的。唯一突出的区别是块矢量(其是指向当前图片的运动矢量)总是使用整数像素分辨率。
与块级别的CPR_flag方法的变化是:
1.在此模式的编码器搜索中,块宽度和高度都小于或等于16。
2.当亮度块矢量为奇数时,启用色度插值。
3.当SPS标志开启时,启用CPR模式的自适应运动矢量分辨率(AMVP)。在这种情况下,当使用AMVR时,在块级别处,块矢量可以1像素整数分辨率和4像素整数分辨率之间切换。
编码器方面:
编码器对宽度或高度不大于16的块执行RD检查。对于非Merge模式,首先使用基于哈希的搜索来执行块矢量搜索。如果哈希搜索中没有找到有效的候选,则将执行基于块匹配的局部搜索(local search)。
在基于哈希的搜索中,当前块和参考块之间的哈希键匹配(32位CRC)被扩展到所有允许的块尺寸。当前图片中每个位置的哈希键计算基于4×4块。对于较大尺寸的当前块,当它的所有4×4块与对应参考位置中的哈希键匹配时,出现与参考块匹配的哈希键。如果发现多个参考块与具有相同哈希键的当前块匹配,则计算每个候选的块矢量代价,并选择代价最小的一个。
在块匹配搜索中,搜索范围被设置为当前块左侧和顶部的64个像素。
3.1.4.基于历史的运动矢量预测
2018年7月2日提交的标题为“MOTION VECTOR PREDICTION BASED ON LOOK-UPTABLES(基于查找表的运动矢量预测)”的PCT申请No.PCT/CN2018/093987(其内容通过引用并入本文)描述了其中存储了至少一个运动候选以预测块的运动信息的一个或多个查找表。
提出了一种基于历史的MVP(HMVP)方法,其中HMVP候选被定义为先前编解码的块的运动信息。在编码/解码过程期间,维护具有多个HMVP候选的表。当遇到新的条带时,表被清空。每当有帧间编解码块时,相关联的运动信息被添加到表的最后一个条目中作为新的HMVP候选。整个编解码流程在图37中所示。在一个示例中,表尺寸被设置为L(例如,L=16或6,或44),这表明可以向表中添加最多L个HMVP候选。
(1)在一个实施例中,如果从先前编解码的块中有L个以上HMVP候选,则应用先进先出(First-In-First-Out,FIFO)规则,使得该表总是包含最新的先前编解码的L个运动候选。图38描绘了应用FIFO规则来移除HMVP候选,并且向所提出的方法中使用的表添加新的候选的示例。
(2)在另一实施例中,每当添加新的运动候选(诸如当前块是帧间编解码和非仿射模式)时,首先应用冗余检查过程来识别LUT中是否存在相同或相似的运动候选。
3.2.JVET-M0101
3.2.1.添加HEVC式加权预测(WP)
为了实施HEVC式加权预测,可以对PPS和条带头进行如下(以粗体显示的)语法改变:
Figure BDA0003162461270000431
Figure BDA0003162461270000441
Figure BDA0003162461270000442
Figure BDA0003162461270000451
Figure BDA0003162461270000461
3.2.2.以互斥方式调用(利用加权平均的双向预测双向预测(bi-predictionwith weighted averaging,BWA),又名GBI)和WP
尽管BWA和WP两者都将权重施加于运动补偿预测信号,但是具体操作是不同的。在双向预测情况下,取决于与用于生成预测信号的ref_idx相关联的(权重、偏移)参数,WP将线性权重和恒定偏移施加于每个预测信号。尽管对这些(权重、偏移)值有一些范围限制,但允许的范围相对较大,并且对参数值没有归一化限制。WP参数在图片级别(在条带头中)信令通知。已经显示出WP为衰落序列提供了非常大的编解码增益,并且通常期望对这种内容启用WP。
BWA使用CU级别的索引来指示在双向预测的情况下如何组合两个预测信号。BWA应用加权平均,即两个权重加起来等于1。BWA为CTC RA配置提供了约0.66%的编解码增益,但对于衰落内容,其效率远低于WP(JVET-L0201)。
方法#1
检查PPS语法元素weight_bipred_flag,以确定gbi_idx是否在当前CU处信令通知。语法信令以粗体修改如下:
Figure BDA0003162461270000471
如果当前条带参考weight_bipred_flag设置为1的PPS,则第一种选择将对当前条带的所有参考图片禁用BWA。
方法#2
仅当双向预测中使用的两个参考图片都已开启加权预测,即这些参考图片的(权重、偏移)参数具有非默认值时,BWA才被禁用。这允许使用具有默认WP参数的参考图片的双向预测CU(即WP不被调用用于这些CU)仍然能够使用BWA。语法信令以粗体修改如下:
Figure BDA0003162461270000481
4.问题
在LIC中,包括缩放参数a和偏移b的两个参数需要通过使用临近重构像素来推导,这可能导致时延问题。
混合帧内和帧间预测、扩散滤波器、双边滤波器、OBMC和LIC需要以不同的方式进一步修改帧间预测信号,它们都存在时延问题。
5.一些示例实施例和技术
以下详细的发明应被认为是用以解释一般概念的示例。这些发明不应狭义地解释。此外,这些发明可以以任何方式组合。
示例1:
在一些实施例中,仅对位于CTU边界的块(称为边界块)执行LIC,并且可以使用当前CTU的临近重构样点来推导LIC参数。在这种情况下,对于那些不位于CTU边界的块(称为内部块),LIC总是被禁用而不被信令通知。
在一些实施例中,当前CTU外部的临近重构样点的选择可以取决于块相对于覆盖当前块的CTU的位置。
在一些实施例中,对于在CTU左侧边界处的块,可以仅使用CU的左侧重构临近样点来推导LIC参数。
在一些实施例中,对于在CTU上边界处的块,可以仅使用块的上侧重构临近样点来推导LIC参数。
在一些实施例中,对于在CTU左上角处的块,可以使用块的左侧和/或上侧重构临近样点来推导LIC参数。
在一些实施例中,对于在CTU右上角处的块,使用块的右上和/或上侧重构临近样点来推导LIC参数。
在一些实施例中,对于在CTU左下角处的块,使用块的左下和/或左侧重构临近样点来推导LIC参数。
示例2:
在一些实施例中,可以仅为位于CTU边界的块推导LIC参数集,并且CTU的内部块可以从这些LIC参数集的一个或多个集继承。
在一些实施例中,为每个CTU维护LIC参数查找表,并且将每个推导出的LIC参数集插入到LIC参数表中。可以使用2018年7月2日提交的标题为“MOTION VECTOR PREDICTIONBASED ON LOOK-UP TABLES(基于查找表的运动矢量预测)”的PCT申请No.PCT/CN2018/093987(其内容通过引用并入本文)中描述的方法来维护LIC参数查找表。
在一些实施例中,为每个参考图片维护这样的查找表,并且在推导LIC参数时,为所有参考图片推导LIC参数。
在一些实施例中,这样的查找表在每个CTU或CTU行或条带或片或片组或图片的开头被清空。
在一些实施例中,对于以AMVP模式或仿射帧间模式编解码的内部块,如果LIC标志为真,则所使用的LIC参数集被显式地信令通知。例如,索引被信令通知,以指示查找表的哪个条目用于每个参考图片。在一些实施例中,对于单向预测块,如果在查找表中没有参考图片的有效条目,则LIC标志将为假。在一些实施例中,对于双向预测块,如果在查找表中没有任何参考图片的有效条目,则LIC标志将为假。在一些实施例中,对于双向预测块,如果在查找表中存在至少一个参考图片的有效条目,则LIC标志可以为真。对于具有有效LIC参数的每个参考图片,信令通知一个LIC参数索引。
在一些实施例中,维护一个以上的查找表。在一些实施例中,当编码/解码当前CTU时,它仅使用来自由一些先前编码/解码的CTU生成的查找表的参数,并且由当前CTU生成的查找表被用于一些后面的CTU。在一些实施例中,每个查找表可以对应于一个参考图片/一个参考图片列表/特定范围的块尺寸/特定编解码模式/特定块形状等。
在一些实施例中,如果内部块以Merge或仿射Merge模式编解码,则对于空域或/和时域Merge候选,LIC标志和LIC参数都从对应的临近块继承。
在一些实施例中,LIC标志被继承,并且LIC参数可以被显式地信令通知。在一些实施例中,LIC标志被显式地信令通知,并且LIC参数可以被继承。在一些实施例中,LIC标志和LIC参数都被显式地信令通知。在一些实施例中,块的LIP参数和继承的参数之间的差被信令通知。
在一些实施例中,对于以AMVP模式或仿射帧间模式编解码的边界块,如果LIC标志为真,则使用与2.2.7中相同的方法隐式地推导所使用的LIC参数。
在一些实施例中,如果边界块以Merge或仿射Merge模式编解码,则对于空域或/和时域Merge候选,LIC标志和LIC参数都从对应的临近块继承。
在一些实施例中,LIC标志被继承,并且LIC参数可以被显式地信令通知。在一些实施例中,LIC标志被显式地信令通知,并且LIC参数可以被继承。在一些实施例中,LIC标志和LIC参数都被显式地信令通知。
在一些实施例中,如果块以Merge模式编解码,则对于组合的Merge候选或平均Merge候选,LIC总是被禁用。
在一些实施例中,如果用于生成组合的Merge候选或平均Merge候选的两个Merge候选中的任何一个的LIC标志为真,则LIC标志被设置为真。在一些实施例中,对于内部块,如果用于生成组合的Merge候选或平均Merge候选的两个Merge候选都使用LIC,则它可以从其中任何一个继承LIC参数。在一些实施例中,LIC标志被继承,并且LIC参数可以被显式地信令通知。在一些实施例中,LIC标志被显式地信令通知,并且LIC参数可以被继承。在一些实施例中,LIC标志和LIC参数都被显式地信令通知。
在一些实施例中,如果块以来自HMVP Merge候选的Merge模式编解码,则LIC总是被禁用。在一些实施例中,如果块以来自HMVP Merge候选的Merge模式编解码,则LIC总是被启用。在一些实施例中,如果HMVP Merge候选的LIC标志为真,则LIC标志被设置为真。例如,LIC标志可以被显式地信令通知。在一些实施例中,如果HMVP Merge候选的LIC标志为真,则LIC标志被设置为真,并且LIP参数从HMVP Merge候选继承。在一些实施例中,LIC参数被显式地信令通知。在一些实施例中,隐式地推导LIC参数。
示例3:
LIC可以与帧内块复制(IBC,或当前图片参考)模式一起使用。
在一些实施例中,如果块以帧内块复制模式编解码,则还可以信令通知通知LIC使用的指示(例如,LIC标志)。在一些实施例中,在Merge模式下,如果IBC编解码的块从临近块继承运动信息,则它也可以继承LIC标志。在一些实施例中,它也可以继承LIC参数。
在一些实施例中,如果LIC标志为真,则使用与2.2.7相同的方法隐式地推导LIC参数。在一些实施例中,可以使用示例1和/或示例2中描述的方法。在一些实施例中,如果启用LIC来编解码块,则还可以信令通知IBC使用的指示。
示例4:
在一些实施例中,排他地使用混合帧内和帧间预测(也称为组合帧内-帧间预测)、扩散滤波器、双边滤波器、变换域滤波方法、OBMC、LIC或修改帧间预测信号或从运动补偿修改重构块(例如,引起时延问题)的任何其他工具。
在一些实施例中,如果启用LIC,则隐式地禁用所有其他工具。如果(显式地信令通知或隐式地推导的)LIC标志为真,则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。
在一些实施例中,如果启用混合帧内和帧间预测,则隐式地禁用所有其他工具。如果(显式地信令通知或隐式地推导的)混合帧内和帧间预测标志为真,则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。
在一些实施例中,如果启用扩散滤波器,则隐式地禁用所有其他工具。如果(显式地信令通知或隐式地推导的)扩散滤波器标志为真,则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。
在一些实施例中,如果启用OBMC,则隐式地禁用所有其他工具。如果(显式地信令通知或隐式地推导的)OBMC标志为真,则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。
在一些实施例中,如果启用双边滤波器,则隐式地禁用所有其他工具。如果(显式地信令通知或隐式地推导的)双边滤波器标志为真,则不信令通知其他工具(如果有的话)的开/关标志,而是隐式地推导出其为关。
在一些实施例中,可以按顺序检查不同的工具。此外,当决定启用上述工具之一时,这种检查过程终止。在一些实施例中,检查顺序是LIC→扩散滤波器→混合帧内和帧间预测→OBMC→双边滤波器。在一些实施例中,检查顺序是LIC→扩散滤波器→双边滤波器→混合帧内和帧间预测→OBMC。
在一些实施例中,检查顺序是LIC→OBMC→扩散滤波器→双边滤波器→混合帧内和帧间预测。在一些实施例中,检查顺序是LIC→OBMC→扩散滤波器→混合帧内和帧间预测→双边滤波器。在一些实施例中,顺序可以基于先前的编解码信息和/或基于当前块的编解码信息(例如,块尺寸/参考图片/MV信息/低延迟检查标志/片/图片/条带类型),诸如基于临近块的模式,而自适应地改变。
在一些实施例中,对于上述工具中的任何一个(例如,CIIP、LIC、扩散滤波器、双边滤波器、变换域滤波方法),是否自动禁用它和/或使用不同的方式解码当前块可以取决于临近或非临近行或列的编解码模式。
在一些实施例中,对于上述工具中的任何一个(例如,CIIP、LIC、扩散滤波器、双边滤波器、变换域滤波方法),是否自动禁用它可以取决于临近或非相邻行或列的所有编解码模式。
在一些实施例中,对于上述工具中的任何一个(例如,CIIP、LIC、扩散滤波器、双边滤波器、变换域滤波方法),是否启用它可以取决于临近或非相邻行或列中的样点中的至少一个没有以特定模式编解码。
在一些实施例中,临近或非相邻行可以包括上侧的行和/或右上的行。在一些实施例中,临近或非相邻列可以包括左侧的列和/或左下的列。在一些实施例中,编解码模式/特定模式可以包括帧内模式和/或组合帧内-帧间模式(CIIP)。在一些实施例中,如果临近或非相邻行或列中的任何一个临近/非相邻块以帧内和/或CIIP编解码,则这种方法被禁用。在一些实施例中,如果临近或非相邻行或列中的所有临近/非相邻块都以帧内和/或CIIP编解码,则这种方法被禁用。在一些实施例中,不同的方法可以包括短抽头滤波器/用于LIC参数推导、参考样点填充等的更少临近样点。
在一些实施例中,对于上述工具中的任何一个(例如,CIIP、LIC、扩散滤波器、双边滤波器、变换域滤波方法),当临近或非相邻行中的至少一个上侧临近/非相邻的上侧临近块被帧内编解码和/或以组合帧内-帧间模式编解码时,该工具被禁用。
在一些实施例中,对于上述工具中的任何一个(例如,CIIP、LIC、扩散滤波器、双边滤波器、变换域滤波方法),当临近或非相邻列中的至少一个左侧临近/非相邻的左侧临近块被帧内编解码和/或以组合帧内-帧间模式编解码时,该工具被禁用。
在一些实施例中,对于上述工具中的任何一个(例如,CIIP、LIC、扩散滤波器、双边滤波器、变换域滤波方法),当临近或非相邻行/列中的所有块都被帧内编解码和/或以组合帧内-帧间模式编解码时,该工具被禁用。
在一些实施例中,对于LIC编解码块,以帧内模式和/或混合帧内和帧间模式编解码的临近样点被排除在LIC参数的推导之外。
在一些实施例中,对于LIC编解码块,可以将以非帧内模式和/或非CIIP模式编解码的临近样点包括在LIC参数的推导中。
示例5:
在一些实施例中,当对一个块禁用某一工具时(诸如当所有临近样点被帧内编解码时),这样的编解码工具仍然可以被应用,但是以不同的方式。
在一些实施例中,可以应用短抽头滤波器。在一些实施例中,可以应用参考样点的填充。在一些实施例中,参考图片中的块的临近行/列和/或非临近行/列(如果需要的话,经由运动补偿)可以被用作当前块的临近行/列和/或非相邻行/列的代替。
示例6:
在一些实施例中,LIC与GBI或多假设帧间预测排他地使用。
在一些实施例中,可以在LIC信息之后信令通知GBI信息。在一些实施例中,是否信令通知GBI信息可以取决于信令通知/推断的LIC信息。此外,是否信令通知GBI信息可以取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的LIC信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中信令通知。
在一些实施例中,可以在GBI信息之后信令通知LIC信息。在一些实施例中,是否信令通知LIC信息可以取决于信令通知/推断的GBI信息。此外,是否信令通知LIC信息可以取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的GBI信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中信令通知。
在一些实施例中,如果LIC标志为真,则不信令通知GBI或多假设帧间预测所需的语法元素。
在一些实施例中,如果GBI标志为真(例如,将不相等的权重应用于两个或多个参考图片),则不信令通知LIC或多假设帧间预测所需的语法元素。
在一些实施例中,如果对于两个或多极参考图片的具有不相等权重的块启用GBI,则不信令通知LIC或多假设帧间预测所需的语法元素。
在一些实施例中,LIC与子块技术(诸如,仿射模式)排他地使用。在一些实施例中,LIC与三角形预测模式排他地使用。在一些实施例中,当对一个块启用三角形预测模式时,总是禁用LIC。在一些实施例中,一个TPM Merge候选的LIC标志可以从空域或时域块或其他种类的运动候选(例如,HMVP候选)继承。在一些实施例中,一个TPM Merge候选的LIC标志可以从一些空域或时域块(例如,仅A1、B1)继承。在一些实施例中,一个TPM Merge候选的LIC标志可以总是被设置为假。
在一些实施例中,如果启用多假设帧间预测,则不信令通知LIC或GBI所需的语法元素。
在一些实施例中,可以按一定顺序检查不同的工具。此外,当决定启用上述工具之一时,这种检查过程终止。在一些实施例中,检查顺序是LIC->GBI->多假设帧间预测。在一些实施例中,检查顺序是LIC->多假设帧间预测->GBI。在一些实施例中,检查顺序是GBI->LIC->多假设帧间预测。
在一些实施例中,检查顺序是GBI->多假设帧间预测->LIC。在一些实施例中,顺序可以基于先前的编解码信息和/或基于当前块的编解码信息(例如,块尺寸/参考图片/MV信息/低延迟检查标志/片/图片/条带类型),诸如基于临近块的模式,而自适应地改变。
在一些实施例中,仅当当前块是单预测时才可以应用以上方法。
示例7:
在一些实施例中,LIC与组合帧间-帧内预测(CIIP)排他地使用。在一些实施例中,可以在LIC信息之后信令通知CIIP信息。在一些实施例中,是否信令通知CIIP信息可以取决于信令通知/推断的LIC信息。此外,是否信令通知CIIP信息可以取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的LIC信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中信令通知。
在一些实施例中,可以在CIIP信息之后信令通知LIC信息。
在一些实施例中,是否信令通知LIC信息可以取决于信令通知/推断的CIIP信息。此外,是否信令通知LIC信息可以取决于与当前块或包含当前块的当前片/片组/图片的至少一个参考图片相关联的CIIP信息和加权预测信息。在一些实施例中,该信息可以在SPS/PPS/条带头/片组头/片/CTU/CU中信令通知。
在一些实施例中,如果LIC标志为真,则不信令通知CIIP所需的语法元素。在一些实施例中,如果CIIP标志为真,则不信令通知LIC所需的语法元素。在一些实施例中,如果启用CIIP,则不信令通知LIC所需的语法元素。
示例8:
在一些实施例中,当应用下面的一个或一些编解码工具时(加权预测除外),不能应用加权预测:
a.BIO(又称BDOF)
b.CIIP
c.仿射预测
d.重叠块运动补偿(OBMC)
e.解码器侧运动矢量细化(DMVR)
在一些实施例中,如果编解码工具和加权预测是互斥的,则当应用加权预测时,不信令通知指示是否使用编解码工具的信息(例如,标志)。这样的信息(例如,标志)可以被推断为零。在一些实施例中,该信息仍可以在SPS/PPS/条带头/片组头/片/CTU/CU中表达性地(expressively)信令通知。
示例9:
在一些实施例中,LIC可以在块级别与加权预测排他地使用。
在一些实施例中,当当前块是双向预测时,LIC信息的信令通知可以取决于weighted_bipred_flag。
在一些实施例中,当当前块是单向预测时,LIC信息的信令通知可以取决于weighted_pred_flag。
在一些实施例中,LIC信息的信令通知可以取决于与和当前块相关联的一个或所有参考图片相关联的加权预测参数。
在一些实施例中,如果对块的一些参考图片或所有参考图片启用加权预测,则可以对该块禁用LIC,并且不信令通知与LIC相关的语法元素。
在一些实施例中,即使对块的一些参考图片或所有参考图片启用加权预测,仍可以应用LIC,并且可以对该块禁用加权预测。在一些实施例中,可以将LIC应用于未应用加权预测的参考图片,并且可以在应用加权预测的参考图片上禁用LIC。
在一些实施例中,LIC可以与加权预测一起用于一个块。
示例10:
在一些实施例中,LIC可以在图片级别/条带级别/片组级别/CTU组级别与加权预测排他地使用。
在一些实施例中,如果对图片/条带/片组/CTU组的一些参考图片或所有参考图片启用加权预测,则禁用LIC,并且不信令通知所有相关的语法元素。
在一些实施例中,如果对图片/条带/片组/CTU组启用LIC,则对其所有参考图片禁用加权预测,并且不信令通知所有相关的语法元素。
在一些实施例中,LIC可以与加权预测一起使用。
示例11:
在一些实施例中,LIC可以与CPR模式排他地使用。在一些实施例中,当对块启用CPR模式时,可以跳过对LIC使用和/或边信息(side information)的指示的信令通知。在一些实施例中,当对块启用LIC模式时,可以跳过CPR使用和/或边信息的指示的信令通知。
示例12:
在一些实施例中,在成对预测或组合双向预测或其他类型的虚拟/人工候选(例如,零运动矢量候选)中,可以禁用LIC或/和GBI或/和加权预测。
在一些实施例中,如果成对预测或组合双向预测中涉及的两个候选之一采用LIC预测,并且两个候选中没有一个采用加权预测或GBI,则可以对成对或组合双向Merge候选启用LIC。
在一些实施例中,如果成对预测或组合双向预测中涉及的两个候选都采用LIC预测,则可以对成对或组合双向Merge候选启用LIC。
在一些实施例中,如果成对预测或组合双向预测中涉及的两个候选中的一个采用加权预测,并且两个候选中没有一个采用LIC预测或GBI,则可以对成对或组合双向Merge候选启用加权预测。
在一些实施例中,如果成对预测或组合双向预测中涉及的两个候选都采用加权预测,则可以对成对或组合双向Merge候选启用加权预测。
在一些实施例中,如果成对预测或组合双向预测中涉及的两个候选之一采用GBI,并且两个候选中没有一个采用LIC预测或加权预测,则可以对成对或组合双向Merge候选启用GBI。
在一些实施例中,如果成对预测或组合双向预测中涉及的两个候选采用GBI并且GBI索引对于两个候选是相同的,则可以对成对或组合双向Merge候选启用GBI。
示例13:
在一些实施例中,在去方块滤波器中可以考虑LIC预测或/和加权预测或/和GBI。
在一些实施例中,即使边界附近的两个块具有相同的运动,但具有不同的LIC参数/加权预测参数/GBI索引,也可以应用去方块滤波过程。
在一些实施例中,如果(边界附近的)两个块具有不同的GBI索引,则可以分配更强的边界滤波强度。
在一些实施例中,如果两个块具有不同的LIC标志,则可以分配更强的边界滤波强度。
在一些实施例中,如果两个块采用不同的LIC参数,则可以分配更强的边界滤波强度。
在一些实施例中,如果一个块采用加权预测,而另一个块不采用加权预测,或者两个块采用不同的加权因子(例如,从具有不同的加权因子的参考图片预测),则可以分配更强的边界滤波强度。
在一些实施例中,如果边界附近的两个块,一个以LIC模式编解码,而另一个不以LIC模式编解码,那么即使运动矢量相同,也可以应用去方块滤波。
在一些实施例中,如果边界附近的两个块,一个块以加权预测模式编解码,而另一个块不以加权预测模式编解码,那么即使运动矢量相同,也可以应用去方块滤波。
在一些实施例中,如果边界附近的两个块,一个块在启用(例如,不相等权重)GBI的情况下编解码,而另一个块不在启用GBI的情况下编解码,那么即使运动矢量相同,也可以应用去方块滤波。
示例14:
在一些实施例中,在去方块滤波中可以考虑仿射模式/仿射参数/仿射类型。
在一些实施例中,是否和/或如何应用去方块滤波器可以取决于仿射模式/仿射参数。
在一些实施例中,如果两个块(边界附近)具有不同的仿射模式,则可以分配更强的边界滤波强度。
在一些实施例中,如果两个块(边界附近)具有不同的仿射参数,则可以分配更强的边界滤波强度。
在一些实施例中,如果边界附近的两个块,一个以仿射模式编解码,另一个不以仿射模式编解码,那么即使运动矢量相同,也可以应用去方块滤波。
示例15:
示例1-14也可以适用于其他类型的滤波过程。
示例16:
在一些实施例中,CIIP标志可以与运动信息一起存储在基于历史的运动矢量预测(HMVP)表中。
在一些实施例中,当比较两个候选运动信息时,在比较中考虑CIIP标志。
在一些实施例中,当比较两个候选运动信息时,在比较中不考虑CIIP标志。
在一些实施例中,当Merge候选来自HMVP表中的条目时,该条目的CIIP标志也被复制到Merge候选。
示例17:
在一些实施例中,LIC标志可以与运动信息一起存储在基于历史的运动矢量预测(HMVP)表中。
在一些实施例中,当比较两个候选运动信息时,在比较中考虑LIC标志。
在一些实施例中,当比较两个候选运动信息时,在比较中不考虑LIC标志。
在一些实施例中,当Merge候选来自HMVP表中的条目时,该表的LIC标志也被Merge候选复制。
示例18:
在一些实施例中,当执行LIC时,块应该被分成VPDU(诸如64*64或32*32或16*16)个过程块,每个块顺序执行LIC过程(这意味着一个过程块的LIC过程可能依赖于另一个过程块的LIC过程),或者并行执行LIC过程(这意味着一个过程块的LIC过程不依赖于另一个过程块的LIC过程)。
示例19:
在一些实施例中,LIC可以与多假设预测一起使用(如2.2.13、2.2.14、2.2.15中所述)。
在一些实施例中,为多假设AMVP和Merge模式显式地信令通知LIC标志(例如,如2.2.14中所述)。在一些实施例中,显式信令通知的LIC标志被应用于AMVP模式和Merge模式两者。在一些实施例中,显式信令通知的LIC标志仅应用于AMVP模式,而用于Merge模式的LIC标志是从对应的Merge候选继承的。不同的LIC标志可以被用于AMVP模式和Merge模式。同时,不同的LIC参数可以被推导/继承用于AMVP模式和Merge模式。在一些实施例中,LIC对于Merge模式总是禁用。在一些实施例中,不信令通知LIC标志,并且LIC对于AMVP模式总是禁用。然而,对于Merge模式,可以继承或推导LIC标志或/和LIC参数。
在一些实施例中,LIC标志是从多假设Merge模式的对应Merge候选继承的(例如,如2.2.15中所述)。在一些实施例中,LIC标志被继承用于两个选择的Merge候选中的每一个,因此,不同的LIC标志可以被继承用于两个选择的Merge候选。同时,不同的LIC参数可以被推导/继承用于两个选择的Merge候选。在一些实施例中,LIC标志仅被继承用于第一个选择的Merge候选,而对于第二个选择的Merge候选,总是禁用LIC。
在一些实施例中,为多假设帧间预测模式显式地信令通知LIC标志(例如,如2.2.13中所述)。在一些实施例中,如果以Merge模式(或UMVE模式)和附加运动信息来预测块,则显式地信令通知的LIC标志可以应用于Merge模式(或UMVE模式)和附加运动信息两者。在一些实施例中,如果以Merge模式(或UMVE模式)和附加运动信息来预测块,则显式地信令通知的LIC标志可以应用于附加运动信息。而对于Merge模式,可以继承或推导LIC标志或/和LIC参数。在一些实施例中,对于Merge模式总是禁用LIC。
在一些实施例中,如果以Merge模式(或UMVE模式)和附加运动信息来预测块,则不信令通知LIC标志并对于附加运动信息禁用LIC标志。而对于Merge模式,可以继承或推导LIC标志或/和LIC参数。在一些实施例中,如果以AMVP模式和附加运动信息来预测块,则显式地信令通知的LIC标志可以应用于AMVP模式和附加运动信息两者。在一些实施例中,对于附加运动信息总是禁用LIC。在一些实施例中,不同的LIC参数可以被推导/继承用于Merge模式(或UMVE模式)/AMVP模式和附加运动信息。
在一些实施例中,当多假设应用于块时,照明补偿可以应用于某些预测信号,而不是所有预测信号。在一些实施例中,当多假设应用于块时,可以信令通知/推导一个以上的标志来指示对预测信号的照明补偿的使用。
示例20:
在一些实施例中,LIC标志可以从UMVE模式中的基本Merge候选继承。在一些实施例中,如2.2.7中所述隐式地推导LIC参数。在一些实施例中,对于以UMVE模式编解码的边界块,如2.2.7中所述隐式地推导LIC参数。在一些实施例中,对于以UMVE模式编解码的内部块,LIC参数从基本Merge候选继承。在一些实施例中,在UMVE模式中可以显式地信令通知LIC标志。
示例21:
以上所提出的方法或LIC可以在某些条件下应用,诸如块尺寸、条带/图片/片类型或运动信息。
在一些实施例中,当块尺寸包含小于M*H个样点,例如,16或32或64个亮度样点时,所提出的方法或LIC不被允许。
在一些实施例中,当块的宽度或/和高度的最小尺寸小于或不大于X时,所提出的方法或LIC不被允许。在一个示例中,X被设置为8。
在一些实施例中,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,所提出的方法或LIC不被允许。在一个示例中,th1和/或th2被设置为8。
在一些实施例中,当块的宽度<th1或<=th1和/或块的高度<th2或<=th2时,所提出的方法或LIC不被允许。在一个示例中,th1和/或th2被设置为8。
在一些实施例中,对仿射帧间模式或/和仿射Merge模式禁用LIC。
在一些实施例中,对子块编解码工具(如ATMVP或/和STMVP或/和平面运动矢量预测模式)禁用LIC。
在一些实施例中,LIC仅应用于某些分量。例如,LIC应用于亮度分量。可替换地,LIC应用于色度分量。
在一些实施例中,如果LIC标志为真,则禁用BIO或/和DMVR。
在一些实施例中,对双向预测块禁用LIC。
在一些实施例中,对于以AMVP模式编解码的内部块禁用LIC。
在一些实施例中,LIC仅允许用于单向预测块。
示例22:
在一些实施例中,对用于推导LIC参数的临近样点的选择可以取决于编解码信息、块形状等。
在一些实施例中,如果宽度>=高度或宽度>高度,则仅上侧临近像素被用于推导LIC参数。
在一些实施例中,如果宽度<高度,则仅左侧临近像素被用于推导LIC参数。
示例23:
在一些实施例中,为具有几何分割结构(诸如三角形预测模式)的块信令通知仅一个LIC标志。在这种情况下,块的所有分区(所有PU)共享LIC启用标志的相同值。
在一些实施例中,对于一些PU,LIC可能总是禁用,而不管是否信令通知LIC标志。
在一些实施例中,如果将块从右上角到左下角划分,则推导一个LIC参数集并将其用于两个PU。在一些实施例中,对于底部PU总是禁用LIC。在一些实施例中,如果顶部PU以Merge模式编解码,则不信令通知LIC标志。
在一些实施例中,如果块从左上角到右下角划分,则为每个PU推导LIC参数。在一些实施例中,块的上侧临近样点被用于推导顶部PU的LIC参数,并且块的左侧临近样点被用于推导左侧PU的LIC参数。在一些实施例中,推导一个LIC参数集并将其用于两个PU。
在一些实施例中,如果两个PU都以Merge模式编解码,则不信令通知LIC标志,并且可以从Merge候选继承该标志。可以推导或继承LIC参数。
在一些实施例中,如果一个PU以AMVP模式编解码,而另一个PU以Merge模式编解码,则信令通知的LIC标志可以仅应用于以AMVP模式编解码的PU。对于以Merge模式编解码的PU,继承LIC标志或/和LIC参数。在一些实施例中,不信令通知LIC标志,并且对于以AMVP模式编解码的PU禁用该标志。而对于以Merge模式编解码的PU,继承LIC标志或/和LIC参数。在一些实施例中,对于以Merge模式编解码的PU禁用LIC。
在一些实施例中,如果两个PU都以AMVP模式编解码,则可以为每个PU信令通知一个LIC标志。
在一些实施例中,一个PU可以利用来自当前块内的另一个PU的已经被重构的重构样点来推导LIC参数。
示例24:
在一些实施例中,可以对部分像素而不是整个块执行LIC。
在一些实施例中,可以仅对块边界周围的像素执行LIC,而对块内的其他像素不执行LIC。
在一些实施例中,对顶部W×N行或N×H列执行LIC,其中N是整数,W和H表示块的宽度和高度。例如,N等于4。
在一些实施例中,对左上(W-m)×(H-n)区域执行LIC,其中m和n是整数,W和H表示块的宽度和高度。例如,m和n等于4。
示例25:
在一些实施例中,LIC标志可以用来更新HMVP表。
在一些实施例中,除了运动矢量和其他信息之外,HMVP候选还可以包括LIC标志。
在一些实施例中,LIC标志不被用来更新HMVP表。例如,为每个HMVP候选设置默认的LIC标志值。
示例26:
在一些实施例中,如果一个块以LIC编解码,则可以跳过HMVP表的更新。在一些实施例中,LIC编解码块也可以用于更新HMVP表。
示例27:
在一些实施例中,可以根据LIC标志对候选运动进行重新排序。
在一些实施例中,在Merge/AMVP或其他运动候选列表中,启用LIC的候选可以被放在禁用LIC的候选的所有或部分之前。
在一些实施例中,在Merge/AMVP或其他运动候选列表中,禁用LIC的候选可以被放在启用LIC的候选的所有或部分之前。
在一些实施例中,对于LIC编解码块和非LIC编解码块,Merge/AMVP或其他运动候选列表构造过程可以不同。
在一些实施例中,对于LIC编解码块,Merge/AMVP或其他运动候选列表可能不包含从非LIC编解码的空域/时域临近块或非相邻块或LIC标志等于假的HMVP候选推导出的运动候选。
在一些实施例中,对于非LIC编解码块,Merge/AMVP或其他运动候选列表可能不包含从LIC编解码的空域/时域临近块或非相邻块或LIC标志等于真的HMVP候选推导出的运动候选。
示例28:
在一些实施例中,可以在SPS/PPS/VPS/序列头/图片头/条带头/片组头/CTU组等中信令通知是否启用或禁用上述方法。在一些实施例中,可以在SPS/PPS/VPS/序列头/图片头/条带头/片组头/CTU组等中信令通知要使用哪种方法。在一些实施例中,是否启用或禁用上述方法和/或应用哪种方法可以取决于块大小、视频处理数据单元(video processingdata unit,VPDU)、图片类型、低延迟检查标志、当前块(诸如参考图片、单向预测或双向预测)或先前编解码的块的编解码信息。
6.附加实施例
方法#1
检查PPS语法元素weight_bipred_flag,以确定LIC_enabled_flag是否在当前CU处信令通知。语法信令以粗体修改如下:
Figure BDA0003162461270000631
第一种选择可以对于当前条带/片/片组的所有参考图片禁用LIC,例如,
1.如果当前条带引用weighted_bipred_flag被设置为1的PPS并且当前块是双向预测的;
2.如果当前条带引用weighted_pred_flag被设置为1的PPS并且当前块是单向预测的。
方法#2
对于双向预测情况:
仅当双向预测中使用的两个参考图片都已开启加权预测,即这些参考图片的(权重、偏移)参数具有非默认值时,才禁用LIC。这允许使用具有默认WP参数的参考图片的双向预测CU(即WP不被调用用于这些CU)仍然能够使用LIC。
对于单向预测情况:
仅当单向预测中使用的参考图片已经开启加权预测,即这些参考图片的(权重、偏移)参数具有非默认值时,才禁用LIC。这允许使用具有默认WP参数的参考图片的单向预测CU(即WP不被调用用于这些CU)仍然能够使用LIC。语法信令以粗体修改如下:
Figure BDA0003162461270000641
在上表中,X表示参考图片列表(X为0或1)。
对于以上示例,以下内容可能适用:
1.控制每序列的LIC的使用的sps_LIC_enabled_flag可以由每图片/视图(view)/条带/片/片组/CTU行/区域/多个CTU/CTU的LIC的使用的指示来代替。
2.对LIC_enabled_flag的信令通知的控制可以取决于块大小。
3.对LIC_enabled_flag的信令通知的控制可以取决于gbi索引。
4.对gbi索引的信令通知的控制还可以取决于LIC_enabled_flag。
图39是示出可以用于实施当前公开的技术的各个部分的计算机系统或其他控制设备2600的架构的示例的框图。在图39中,计算机系统2600包括经由互连2625连接的一个或多个处理器2605和存储器2610。互连2625可以代表通过适当的桥、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者。因此,互连2625可以包括例如系统总线、外围组件互连(Peripheral Component Interconnect,PCI)总线、超传输或工业标准架构(industry standard architecture,ISA)总线、小型计算机系统接口(smallcomputer system interface,SCSI)总线、通用串行总线(universal serial bus,USB)、IIC(I2C)总线或电气和电子工程师协会(Electrical and Electronics Engineers,IEEE)标准674总线,有时称为“火线”。
(多个)处理器2605可以包括中央处理单元(central processing unit,CPU),以控制例如主计算机的整体操作。在某些实施例中,(多个)处理器2605通过运行存储在存储器2610中的软件或固件来实现这一点。(多个)处理器2605可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(digital signal processor,DSP)、可编程控制器、专用集成电路(application specific integrated circuit,ASIC)、可编程逻辑设备(programmable logic devices,PLD)等,或者这些设备的组合。
存储器2610可以是或包括计算机系统的主存储器。存储器2610代表任何合适形式的随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存等,或者这些设备的组合。在使用时,除了其他方面之外,存储器2610可以包含机器指令集,当该机器指令集由处理器2605运行时,使得处理器2605执行操作以实施本公开的技术的实施例。
并且,(可选的)网络适配器2615也通过互连2625连接到(多个)处理器2605。网络适配器2615向计算机系统2600提供与远程设备(诸如存储客户端和/或其他存储服务器)通信的能力,并且可以是例如以太网适配器或光纤通道适配器。
图40示出了可以用于实施本公开的技术的各个部分的设备2700的示例实施例的框图。移动设备2700可以是膝上型电脑、智能电话、平板电脑、便携式摄像机或能够处理视频的其他类型的设备。移动设备2700包括处理数据的处理器或控制器2701,以及与处理器2701通信以存储和/或缓冲数据的存储器2702。例如,处理器2701可以包括中央处理单元(CPU)或微控制器单元(MicroController Unit,MCU)。在一些实施方式中,处理器2701可以包括现场可编程门阵列(Field-Programmable Gate-Array,FPGA)。在一些实施方式中,移动设备2700包括图形处理单元(Graphics Processing Unit,GPU)、视频处理单元(VideoProcessing Unit,VPU)和/或无线通信单元,或者与GPU、VPU和/或无线通信单元通信,以用于智能电话设备的各种可视和/或通信数据处理功能。例如,存储器2702可以包括并存储处理器可运行代码,当处理器可运行代码由处理器2701运行时,将移动设备2700配置为执行各种操作,例如,诸如接收信息、命令和/或数据,处理信息和数据,以及将处理后的信息/数据发送或提供给另一设备,诸如激励器(actuator)或外部显示器。为了支持移动设备2700的各种功能,存储器2702可以存储信息和数据,诸如由处理器2701处理或引用的指令、软件、值、图像和其他数据。例如,各种类型的随机存取存储器(RAM)设备、只读存储器(RAM)设备、闪存设备和其他合适的存储介质可以用于实施存储器2702的存储功能。在一些实施方式中,移动设备2700包括输入/输出(I/O)单元2703,以将处理器2701和/或存储器2702接合到其他模块、单元或设备。例如,I/O单元2703可以利用与典型数据通信标准兼容的各种类型的无线接口接合处理器2701和存储器2702,例如,诸如在云中的一个或多个计算机和用户设备之间。在一些实施方式中,移动设备2700可以经由I/O单元2703使用有线连接与其他设备接合。移动设备2700还可以与诸如数据存储装置和/或可视或音频显示设备2704的其他外部接口接合,以检索和传输可以由处理器处理、存储在存储器中或展现在显示设备2704或外部设备的输出单元上的数据和信息。例如,显示设备2704可以显示根据公开的技术基于MVP修改的视频帧。
图41是视频处理的方法4100的流程图表示。方法4100包括在视频块与视频块的比特流表示之间的转换中,确定(4102)视频块是视频块位于其中的编解码树单元(CTU)的边界块,并且因此对视频块启用局部照明补偿(LIC)编解码工具,基于确定对视频块启用LIC编解码工具推导(4104)视频块的局部照明补偿(LIC)的参数,以及通过使用LIC调整视频块的像素值来执行(4106)该转换。例如,章节5的项目1公开了方法4100的一些示例变型和实施例。
以下基于条款的列表描述了章节5中列出的公开的技术的某些特征和方面。
1.一种视频处理方法,包括:
在视频块与视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(CTU)的边界块,并且因此对视频块启用局部照明补偿(LIC)编解码工具;
基于确定对视频块启用LIC编解码工具,推导视频块的局部照明补偿(LIC)的参数;以及
通过使用LIC调整视频块的像素值来执行该转换。
2.根据条款1所述的方法,其中,该转换从比特流表示生成视频块。
3.根据条款1所述的方法,其中,该转换从视频块生成比特流表示。
4.根据条款1至3中任一项所述的方法,其中,该推导取决于当前块在CTU内的位置而使用临近块的样点。
5.根据条款4所述的方法,其中,(1)在当前块的位置位于CTU的左边界的情况下,该推导仅使用左侧重构临近样点,或者(2)在当前块的位置位于CTU的上边界的情况下,该推导仅使用上侧重构临近样点,或者(3)在当前块的位置位于CTU的左上角的情况下,该推导使用左侧和/或上侧重构临近样点,或者(4)在当前块的位置位于CTU的右上角的情况下,该推导使用右侧和/或上侧重构临近样点,或者(5)在当前块的位置位于CTU的左下角的情况下,该推导使用左侧和/或下侧重构临近样点。
6.一种视频处理方法,包括:
在视频块和视频块的比特流表示之间的转换中,确定视频块是视频块位于其中的编解码树单元(CTU)的内部块,并且因此对视频块禁用局部照明补偿(LIC)编解码工具;
继承视频块的LIC的参数;以及
通过使用LIC调整视频块的像素值来执行该转换。
7.根据条款6所述的方法,其中该继承包括:
维护先前用于其他块的LIC参数的查找表(LUT);以及
基于来自查找表的一个或多个LIC参数来推导视频块的LIC参数。
8.根据条款7所述的方法,其中,其他块包括来自CTU的块或来自用于当前块的参考图片的块。
9.根据条款7至9中任一项所述的方法,其中,查找表被清空并且对于视频块的每个CTU或CTU行或条带或片或片组或图片重建查找表。
10.根据条款7所述的方法,其中,当前块使用高级运动矢量预测(AMVP)模式或仿射帧间模式,然后,比特流表示被配置为包括指示哪些LIC参数用于当前块的标志。
11.根据条款10所述的方法,其中,该标志指示LUT中的条目的索引。
12.根据条款7至11中任一项所述的方法,其中,多个LUT被使用。
13.根据条款12所述的方法,其中,为在当前块的转换中使用的每个参考图片或每个参考图片列表维护至少一个LUT。
14.根据条款7所述的方法,其中,当前块对空域或时域Merge候选运动矢量使用Merge模式或仿射Merge模式,并且其中,该继承包括继承临近块的LIC标志和LIC参数中之一或两者。
15.根据条款7所述的方法,其中,当前块对空域或时域Merge候选运动矢量使用Merge模式或仿射Merge模式,并且其中,该继承包括为比特流配置有一个或多个差值,并且基于该一个或多个差值以及临近块的LIC标志和LIC参数之一或两者来计算LIC标志或LIC参数。
16.根据条款1所述的方法,其中,使用高级运动矢量预测(AMVP)或仿射帧间模式来编码当前块,并且其中,使用最小二乘误差最小化来推导参数,在其中临近样点的子样点集被用于误差最小化。
17.一种视频处理方法,包括:
在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿和帧内块复制编解码工具均被启用以供当前块使用;以及
通过对视频块执行局部照明补偿(LIC)和帧内块复制操作来执行该转换。
18.根据条款17所述的方法,其中,比特流中的LIC标志被配置为指示对当前块启用LIC。
19.根据条款18所述的方法,其中,该转换从比特流表示生成视频块。
20.根据条款18所述的方法,其中,该转换从视频块生成比特流表示。
21.根据条款17所述的方法,其中,当前块使用Merge模式,并且其中当前块继承临近块的LIC标志值。
22.根据条款17所述的方法,其中,当前块使用Merge模式,并且其中当前块继承临近块的LIC参数。
23.一种视频处理方法,包括:
在包括具有多个块的多个图片的视频的比特流之间的转换期间,基于LIC模式规则来确定视频的当前块的局部照明补偿(LIC)模式;以及
执行当前块和当前块的对应比特流表示之间的转换。
24.根据条款23所述的方法,其中,LIC模式规则指定使用不包括帧间预测、扩散滤波器、双边滤波器、重叠块运动补偿或修改当前块的帧间预测信号的工具的LIC模式。
25.根据条款24所述的方法,其中,LIC模式规则是在比特流中显式地信令通知的。
26.根据条款23所述的方法,其中,LIC模式规则指定仅在当前块不使用广义双向预测(GBI)编解码模式时才使用LIC模式。
27.根据条款23或26中任一项所述的方法,其中,LIC模式规则是在比特流中显式地信令通知的,并且从比特流中省略GBI指示。
28.根据条款23所述的方法,其中,LIC模式规则指定仅在当前块不使用多假设编解码模式时才使用LIC模式。
29.根据条款23或28中任一项所述的方法,其中,LIC模式规则是在比特流中显示地信令通知的,并且多假设编解码模式被隐式地禁用。
30.根据条款28至29中任一项所述的方法,其中,LIC模式规则指定将LIC应用于多假设模式的预测信号的选择的子集。
31.根据条款23所述的方法,其中,LIC模式规则指定从当前块的基本Merge候选继承LIC标志,该基本Merge候选也使用最终运动矢量表达(UMVE)模式。
32.根据条款31所述的方法,其中,当前块从UMVE模式的基本Merge候选继承其LIC标志。
33.根据条款32所述的方法,其中,当前块使用章节2.2.7中的计算来进行继承。
34.根据条款1至33中任一项所述的方法,其中,仅当当前块也满足与当前块的尺寸或条带类型或片类型或图片类型或者与当前块相关联的运动信息的类型相关的条件时,才使用LIC。
35.根据条款34所述的方法,其中,该条件不包括小于M*H个样点的块尺寸,其中M和H是预先指定的整数值。
36.根据条款35所述的方法,其中,M*H等于16或32或64。
37.根据条款34所述的方法,其中,该条件指定当前块的宽度或高度小于或不大于X,其中X是整数。
38.根据条款37所述的方法,其中,X=8。
39.根据条款34所述的方法,其中,该条件指定当前块对应于亮度样点。
40.根据条款34所述的方法,其中,该条件指定当前块对应于色度样点。
41.一种视频处理方法,包括:
在视频的视频块与视频的比特流表示之间的转换期间,使用视频块的临近块的至少一些样点来确定视频块的局部照明补偿(LIC)参数;以及
通过使用所确定的参数执行LIC来执行视频块和比特流表示之间的转换。
42.根据条款41所述的方法,其中,该转换从比特流表示生成视频块。
43.根据条款41所述的方法,其中,该转换从视频块生成比特流表示。
44.根据条款41至43中任一项所述的方法,其中,识别临近块的至少一些样点取决于当前块的编解码信息或当前块的形状。
45.根据条款44所述的方法,其中,当前块的宽度大于或等于当前块的高度,并且因此仅上侧临近像素被用于推导LIC参数。
46.一种视频处理方法,包括:
执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且仅对使用包括三角形预测模式的几何预测结构的视频块启用局部照明补偿(LIC)。
47.根据条款46所述的方法,其中,该转换从比特流表示生成视频块。
48.根据条款46所述的方法,其中,该转换从视频块生成比特流表示。
49.根据条款46至48中任一项所述的方法,其中,对于启用LIC的当前块,所有预测单元分区共享相同的LIC标志值。
50.根据条款46至48中任一项所述的方法,其中,对于从右上角到左下角分割的当前块,单个LIC参数集被用于当前块的两个分区。
51.根据条款46至48中任一项所述的方法,其中,对于从左上角到右下角分割的当前块,为当前块的每个分区使用单个LIC参数集。
52.一种视频处理方法,包括:
执行视频和视频的比特流表示之间的转换,其中,视频被表示为包括视频块的视频帧,并且在转换为其对应比特流表示的转换中,对少于当前块的所有像素实施局部照明补偿(LIC)。
53.根据条款52所述的方法,其中,该转换从比特流表示生成视频块。
54.根据条款52所述的方法,其中,该转换从视频块生成比特流表示。
55.根据条款52至54中任一项所述的方法,其中,仅对当前块的边界上的像素执行LIC。
56.根据条款52至54中任一项所述的方法,其中,仅对当前块的顶部部分中的像素执行LIC。
57.根据条款52至54中任一项所述的方法,其中,仅对当前块的右侧部分中的像素执行LIC。
58.一种用于视频处理的方法,包括:
在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和广义双向预测(GBi)或多假设帧间预测编解码工具均被启用以供当前块使用;以及
通过对视频块执行LIC和GBi或多假设帧间预测操作来执行该转换。
59.根据条款58所述的方法,其中,在与LIC编解码工具相关联的信息之后,信令通知与GBi编解码工具相关联的信息。
60.根据条款58所述的方法,其中,在与GBi编解码工具相关联的信息之后,信令通知与LIC编解码工具相关联的信息。
61.根据条款59或60所述的方法,其中,该信息是在序列参数集(SPS)、图片参数集(PPS)、条带头,片组头、片、编解码单元(CU)或编解码树单元(CTU)中信令通知的。
62.根据条款58所述的方法,其中,LIC标志为真,并且其中,比特流表示不包括与GBi或多假设帧间预测编解码工具相关联的一个或多个语法元素。
63.根据条款58所述的方法,其中,GBi标志为真,并且其中,比特流表示不包括与LIC或多假设帧间预测编解码工具相关联的一个或多个语法元素。
64.根据条款58所述的方法,其中,多假设帧间预测LIC标志为真,并且其中,比特流表示不包括与LIC或GBi编解码工具相关联的一个或多个语法元素。
65.一种用于视频处理的方法,包括:
在视频块和视频块的比特流表示之间的转换中,确定局部照明补偿(LIC)和组合帧间-帧内预测(CIIP)编解码工具均被启用以供当前块使用;以及
通过对视频块执行LIC和CIIP操作来执行该转换。
66.根据条款65所述的方法,其中,在与LIC编解码工具相关联的信息之后,信令通知与CIIP编解码工具相关联的信息。
67.根据条款65所述的方法,其中,在与CIIP编解码工具相关联的信息之后,信令通知与LIC编解码工具相关联的信息。
68.根据条款66或67所述的方法,其中,该信息在序列参数集(SPS)、图片参数集(PPS)、条带头、片组头、片、编解码单元(CU)或编解码树单元(CTU)中信令通知。
69.根据条款65所述的方法,其中,LIC标志为真,并且其中,比特流表示不包括与CIIP编解码工具相关联的一个或多个语法元素。
70.根据条款65所述的方法,其中,CIIP标志为真,并且其中,比特流表示不包括与LIC编解码工具相关联的一个或多个语法元素。
71.根据条款1至70中任一项的方法,其中,比特流被配置有控制该转换的操作的比特字段。
72.根据条款71所述的方法,其中,该比特字段包括在序列级别、图片级别、视频级别、序列头级别、图片头级别、条带头级别、片级别或编解码树单元组级别。
73.一种视频编码装置,包括处理器,该处理器被配置为实施根据条款1至72中任何一项或多项所述的方法。
74.一种视频解码装置,包括处理器,该处理器被配置为实施根据条款1至72中任何一项或多项所述的方法。
75.一种其上存储有代码的计算机可读介质,该代码在被运行时使处理器实施根据条款1至72中任何一项或多项所述的方法。
图42是视频处理的方法4200的流程图。方法4200包括为视频的当前块和视频的比特流表示之间的转换,构造(4210)具有至少一个运动候选的运动候选列表。方法4200包括基于第一运动候选的候选类型来确定(4220)广义双向预测(GBI)处理工具是否被启用。GBI处理工具包括基于根据权重集将相等或不相等的权重应用于从不同的参考列表推导出的预测来推导最终预测。方法4200还包括根据该确定来执行(4230)该转换。
在一些实施例中,运动候选列表包括Merge候选列表。在一些实施例中,第一运动候选是成对平均Merge候选或零运动矢量Merge候选。在一些实施例中,GBI处理工具被禁用。在一些实施例中,将相等的权重应用于从不同的参考图片列表推导出的每个预测。在一些实施例中,通过对Merge候选列表中的预定义的现有候选对求平均来生成成对平均Merge候选。
图43是视频处理的方法4300的流程图表示。方法4300包括对于视频的当前块和视频的比特流表示之间的转换,确定(4310)局部照明补偿(LIC)预测、广义双向(GBI)预测或加权预测的操作状态。当前块与使用至少一个虚拟运动候选的预测技术相关联。方法4300还包括根据该确定来执行(4320)该转换。
在一些实施例中,预测技术包括成对预测或组合双向预测中的至少一种。在一些实施例中,至少一个虚拟运动候选包括零运动矢量候选。
在一些实施例中,操作状态指示LIC预测、GBI预测或加权预测中的至少一种被禁用。在一些实施例中,两个运动候选与预测技术相关联。在一些实施例中,LIC预测的操作状态指示在两个运动候选中的一个采用LIC预测并且两个运动候选都不采用GBI预测或加权预测的情况下,LIC预测被启用。在一些实施例中,LIC预测的操作状态指示在两个运动候选都采用LIC预测的情况下,LIC预测被启用。在一些实施例中,加权预测的操作状态指示在两个运动候选中的一个采用加权预测并且两个运动候选都不采用LIC预测或GBI预测的情况下,加权预测被启用。在一些实施例中,加权预测的操作状态指示在两个运动候选都采用加权预测的情况下,加权预测被启用。在一些实施例中,GBI预测的操作状态指示在两个运动候选中的一个采用GBI预测并且两个运动候选都不采用LIC预测或加权预测的情况下,GBI预测被启用。在一些实施例中,GBI预测的操作状态指示在两个运动候选都采用GBI预测并且使用相同的GBI索引的情况下,GBI预测被启用。先前章节中的项目12还描述了方法4300的附加变型和实施方式。
图44是视频处理的方法4400的流程图表示。方法4400包括对于视频的当前块和视频的比特流表示之间的转换,基于当前块的局部照明补偿(LIC)预测、广义双向(GBI)预测、加权预测或仿射运动预测的特性,确定(4410)对当前块的滤波操作的状态或滤波操作的一个或多个参数。方法4400包括基于该确定来执行(4420)该转换。
在一些实施例中,LIC预测、GBI预测或加权预测的特性至少包括LIC预测的标志、加权预测的参数或GBI预测的索引。在一些实施例中,滤波操作包括去方块滤波器。在一些实施例中,滤波操作的一个或多个参数包括去方块滤波器的边界滤波强度。在一些实施例中,在当前块的GBI索引与临近块的GBI索引不同的情况下,增加边界滤波强度。在一些实施例中,在当前块的LIC标志与临近块的LIC标志不同的情况下,增加边界滤波强度。在一些实施例中,在当前块的LIC预测的参数与临近块的LIC预测的参数不同的情况下,增加边界滤波强度。在一些实施例中,在当前块采用与临近块不同的加权预测的加权因子的情况下,增加边界滤波强度。在一些实施例中,在当前块和临近块中的仅一个采用加权预测的情况下,增加边界滤波强度。在一些实施例中,在当前块的仿射预测的参数与临近块的仿射预测的参数不同的情况下,增加边界滤波强度。在一些实施例中,在当前块或临近块中的仅一个采用仿射运动预测的情况下,增加边界滤波强度。
在一些实施例中,当前块和临近块具有相同的运动矢量。在一些实施例中,滤波操作的状态指示在当前块的LIC预测、GBI预测或加权预测的特性与临近块的LIC预测、GBI预测或加权预测的特性不同的情况下,应用去方块滤波器。在一些实施例中,滤波操作的状态指示在当前块和临近块中的仅一个采用LIC预测的情况下应用去方块滤波器。在一些实施例中,滤波操作的状态指示在当前块和临近块中的仅一个采用加权预测的情况下应用去方块滤波器。在一些实施例中,滤波操作的状态指示在当前块和临近块中的仅一个采用GBI预测的情况下应用去方块滤波器。在一些实施例中,滤波操作的状态指示在当前块和临近块中的仅一个采用仿射预测的情况下应用去方块滤波器。
在一些实施例中,该转换从比特流表示生成当前块。在一些实施例中,该转换从当前块生成比特流表示。先前章节中的项目13-15还描述了方法4400的附加变型和实施方式。
本文档中描述的所公开的和其它实施例、模块和功能操作可以在数字电子电路中实施,或者在计算机软件、固件或硬件中实施,包括本文档中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实施。所公开的和其它实施例可以实施为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电信号、光信号或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上执行。
本文中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者被可操作地耦合以从一个或多个大容量存储设备接收数据或向其传送数据或两者兼有。然而,计算机不需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如,包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
虽然本专利文档包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样来保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中都需要这种分离。
仅描述了几个实施方式和示例,并且可以基于本专利文件中描述和图示的内容进行其它实施、增强和变化。

Claims (21)

1.一种视频处理方法,包括:
为视频的当前块和视频的比特流表示之间的转换,构造具有至少一个运动候选的运动候选列表;
基于所述运动候选列表中的第一运动候选的候选类型来确定广义双向预测(GBI)处理工具是否被启用,其中,所述GBI处理工具包括基于根据权重集将相等或不相等的权重应用于从不同的参考列表推导出的预测来推导最终预测;以及
根据所述确定来执行所述转换。
2.根据权利要求1所述的方法,其中,所述运动候选列表包括Merge候选列表。
3.根据权利要求2所述的方法,其中,所述第一运动候选是成对平均Merge候选或零运动矢量Merge候选。
4.根据权利要求3所述的方法,其中,所述GBI处理工具被禁用。
5.根据权利要求4所述的方法,其中,将相等的权重应用于从不同的参考图片列表推导出的每个预测。
6.根据权利要求3至5中任一项或多项所述的方法,其中,通过对Merge候选列表中的预定义的现有候选对求平均来生成所述成对平均Merge候选。
7.一种视频处理方法,包括:
对于视频的当前块和视频的比特流表示之间的转换,确定局部照明补偿(LIC)预测、广义双向(GBI)预测或加权预测的操作状态,其中,当前块与使用至少一个虚拟运动候选的预测技术相关联;以及
根据所述确定来执行所述转换。
8.根据权利要求7所述的方法,其中,所述预测技术包括成对预测或组合双向预测中的至少一种。
9.根据权利要求7至8中任一项或多项所述的方法,其中,所述至少一个虚拟运动候选包括零运动矢量候选。
10.根据权利要求7至9中任一项或多项所述的方法,其中,所述操作状态指示所述LIC预测、所述GBI预测或所述加权预测中的至少一种被禁用。
11.根据权利要求7至10中任一项或多项所述的方法,其中,两个运动候选与所述预测技术相关联。
12.根据权利要求11所述的方法,其中,所述LIC预测的操作状态指示在所述两个运动候选之一采用所述LIC预测并且所述两个运动候选都不采用所述GBI预测或所述加权预测的情况下,所述LIC预测被启用。
13.根据权利要求11所述的方法,其中,所述LIC预测的操作状态指示在所述两个运动候选都采用所述LIC预测的情况下,所述LIC预测被启用。
14.根据权利要求11所述的方法,其中,所述加权预测的操作状态指示在所述两个运动候选之一采用所述加权预测并且所述两个运动候选都不采用所述LIC预测或所述GBI预测的情况下,所述加权预测被启用。
15.根据权利要求11所述的方法,其中,所述加权预测的操作状态指示在所述两个运动候选都采用所述加权预测的情况下,所述加权预测被启用。
16.根据权利要求11所述的方法,其中,所述GBI预测的操作状态指示在所述两个运动候选之一采用所述GBI预测并且所述两个运动候选都不采用所述LIC预测或所述加权预测的情况下,所述GBI预测被启用。
17.根据权利要求11所述的方法,其中,所述GBI预测的操作状态指示在所述两个运动候选都采用所述GBI预测并且使用相同的GBI索引的情况下,所述GBI预测被启用。
18.根据权利要求1至17中任一项或多项所述的方法,其中,所述转换从所述比特流表示生成所述当前块。
19.根据权利要求1至17中任一项或多项所述的方法,其中,所述转换从所述当前块生成所述比特流表示。
20.一种视频处理装置,包括被配置为实施根据权利要求1至19中任一项或多项所述的方法的处理器。
21.一种其上存储有代码的计算机可读介质,所述代码在被运行时使处理器实施根据权利要求1至19中任一项或多项所述的方法。
CN202080009266.6A 2019-01-17 2020-01-17 在视频处理中使用虚拟候选预测和加权预测 Pending CN113302919A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/072154 2019-01-17
CN2019072154 2019-01-17
PCT/CN2020/072595 WO2020147804A1 (en) 2019-01-17 2020-01-17 Use of virtual candidate prediction and weighted prediction in video processing

Publications (1)

Publication Number Publication Date
CN113302919A true CN113302919A (zh) 2021-08-24

Family

ID=71613515

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080009303.3A Pending CN113316933A (zh) 2019-01-17 2020-01-17 使用运动预测进行去方块滤波
CN202080009266.6A Pending CN113302919A (zh) 2019-01-17 2020-01-17 在视频处理中使用虚拟候选预测和加权预测

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202080009303.3A Pending CN113316933A (zh) 2019-01-17 2020-01-17 使用运动预测进行去方块滤波

Country Status (3)

Country Link
US (1) US11483550B2 (zh)
CN (2) CN113316933A (zh)
WO (2) WO2020147804A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023072283A1 (en) * 2021-10-29 2023-05-04 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084509A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter coding tools
WO2020084507A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
CN113302918A (zh) 2019-01-15 2021-08-24 北京字节跳动网络技术有限公司 视频编解码中的加权预测
MX2021013057A (es) * 2019-04-25 2021-12-10 Op Solutions Llc Se?alizacion del vector de movimiento global en la cabecera de la imagen.
CN113853792A (zh) 2019-05-11 2021-12-28 北京字节跳动网络技术有限公司 带有参考图片重采样的编解码工具
WO2020244568A1 (en) 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list with geometric partition mode coding
WO2020244571A1 (en) 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction using neighboring block information
CN113994699B (zh) 2019-06-06 2024-01-12 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
CN117354547A (zh) 2019-07-14 2024-01-05 北京字节跳动网络技术有限公司 自适应参数集中的自适应环路滤波的指示
JP6960969B2 (ja) * 2019-09-20 2021-11-05 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
KR20220073752A (ko) 2019-10-12 2022-06-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩 툴들을 위한 상위 레벨 신택스
US11533498B2 (en) * 2019-11-21 2022-12-20 Tencent America LLC Geometric partitioning mode in video coding
CN116250239A (zh) * 2020-07-27 2023-06-09 字节跳动有限公司 去方块滤波改进
US20230115768A1 (en) * 2021-09-29 2023-04-13 Alibaba Singapore Holding Private Limited Improved temporal merge candidates in merge candidate lists in video coding

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
KR20130083314A (ko) * 2012-01-12 2013-07-22 주식회사 케이티 LCU boundary에서의 deblocking filtering 방법
US9270993B2 (en) * 2012-09-10 2016-02-23 Apple Inc. Video deblocking filter strength derivation
US9584808B2 (en) 2013-02-22 2017-02-28 Qualcomm Incorporated Device and method for scalable coding of video information
CN105122796B (zh) 2013-04-12 2019-03-29 寰发股份有限公司 三维或多视图编码及解码系统中照度补偿的方法
US9860529B2 (en) 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
CN103561263B (zh) * 2013-11-06 2016-08-24 北京牡丹电子集团有限责任公司数字电视技术中心 基于运动矢量约束和加权运动矢量的运动补偿预测方法
CN108989815B9 (zh) 2014-03-19 2021-06-04 株式会社Kt 针对多视图视频信号生成合并候选列表的方法及解码装置
US10212445B2 (en) 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
WO2016072775A1 (ko) 2014-11-06 2016-05-12 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR102216947B1 (ko) 2015-06-08 2021-02-18 브이아이디 스케일, 인크. 화면 내용 코딩을위한 인트라 블록 복사 모드
US10887597B2 (en) 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
US10356416B2 (en) 2015-06-09 2019-07-16 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding
US10477231B2 (en) 2015-06-16 2019-11-12 Lg Electronics Inc. Method and device for predicting block on basis of illumination compensation in image coding system
US10200719B2 (en) 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
US10798403B2 (en) 2016-01-29 2020-10-06 Sharp Kabushiki Kaisha Prediction image generation device, video decoding device, and video coding device
US20170244966A1 (en) 2016-02-20 2017-08-24 Qualcomm Incorporated Weighted prediction for screen content coding and multi-layer coding
WO2017190288A1 (en) 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
CN109496430B (zh) * 2016-05-13 2022-06-14 Vid拓展公司 用于视频编码的通用式多假设预测的系统及方法
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US20170339405A1 (en) 2016-05-20 2017-11-23 Arris Enterprises Llc System and method for intra coding
US10390015B2 (en) 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
KR102147447B1 (ko) 2016-09-22 2020-08-24 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
WO2018056763A1 (ko) * 2016-09-23 2018-03-29 엘지전자(주) 템플릿 기반 가중치를 이용하여 예측을 수행하는 방법 및 장치
WO2018062892A1 (ko) * 2016-09-28 2018-04-05 엘지전자(주) 가중치 인덱스에 기초하여 최적의 예측을 수행하는 방법 및 장치
US10631002B2 (en) 2016-09-30 2020-04-21 Qualcomm Incorporated Frame rate up-conversion coding mode
US10750203B2 (en) * 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
US10555006B2 (en) * 2016-12-22 2020-02-04 Qualcomm Incorporated Deriving bilateral filter information based on a prediction mode in video coding
US20180184127A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
WO2018123444A1 (ja) * 2016-12-28 2018-07-05 ソニー株式会社 画像処理装置及び画像処理方法
EP3568980A4 (en) * 2017-01-10 2020-01-08 Telefonaktiebolaget LM Ericsson (publ) ENTBLOCKUNGSFILTRIERUNGSSTEUERUNG
US10542264B2 (en) 2017-04-04 2020-01-21 Arris Enterprises Llc Memory reduction implementation for weighted angular prediction
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
WO2019001685A1 (en) 2017-06-26 2019-01-03 Telefonaktiebolaget Lm Ericsson (Publ) METHOD AND APPARATUS FOR WEIGHTED VIDEO CODING PREDICTION
CN110832864B (zh) 2017-06-26 2024-03-29 交互数字麦迪逊专利控股公司 利用多个加权参考进行帧内预测的方法和装置
WO2019006363A1 (en) * 2017-06-30 2019-01-03 Vid Scale, Inc. LOCAL LIGHTING COMPENSATION USING GENERALIZED BI-PREDICTION
CN107147911B (zh) 2017-07-05 2019-07-26 中南大学 基于局部亮度补偿lic的快速帧间编码模式选择方法及装置
CN116781893A (zh) 2017-07-05 2023-09-19 艾锐势有限责任公司 对视频编码、解码的方法和计算机可读存储器或存储装置
US11310535B2 (en) 2017-07-05 2022-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking filtering control for illumination compensation
KR20200038943A (ko) 2017-08-22 2020-04-14 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 이미지 인코더, 이미지 디코더, 이미지 인코딩 방법 및 이미지 디코딩 방법
US11388398B2 (en) 2018-01-11 2022-07-12 Qualcomm Incorporated Video coding using local illumination compensation
US10652571B2 (en) 2018-01-25 2020-05-12 Qualcomm Incorporated Advanced motion vector prediction speedups for video coding
EP3518543A1 (en) 2018-01-26 2019-07-31 Thomson Licensing Illumination compensation flag in frame rate up-conversion with template matching
US11297348B2 (en) 2018-04-13 2022-04-05 Mediatek Inc. Implicit transform settings for coding a block of pixels
CN112042189B (zh) 2018-04-30 2023-07-21 寰发股份有限公司 照度补偿方法及相应的电子装置
JP2021523604A (ja) 2018-05-09 2021-09-02 インターデジタル ヴイシー ホールディングス, インコーポレイテッド ビデオ符号化及び復号化の動き補償
KR20200003734A (ko) 2018-07-02 2020-01-10 인텔렉추얼디스커버리 주식회사 병합 후보를 사용하는 비디오 코딩 방법 및 장치
US11051036B2 (en) 2018-07-14 2021-06-29 Mediatek Inc. Method and apparatus of constrained overlapped block motion compensation in video coding
CN112740679B (zh) 2018-09-13 2023-03-24 华为技术有限公司 用于视频译码中的条件性解码器侧运动矢量修正的装置和方法
EP3844959A2 (en) 2018-09-16 2021-07-07 Huawei Technologies Co., Ltd. Apparatus and method for filtering in video coding with look-up table selected based on bitstream information
WO2020060843A1 (en) 2018-09-19 2020-03-26 Interdigital Vc Holdings, Inc. Generalized bi-prediction index coding
US11146800B2 (en) * 2018-09-24 2021-10-12 Tencent America LLC Low latency local illumination compensation
US11051034B2 (en) * 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
WO2020084507A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
WO2020084509A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter coding tools
JP2022509962A (ja) 2018-11-21 2022-01-25 インターデイジタル ヴィーシー ホールディングス インコーポレイテッド ピクチャエンコードおよびデコードのための方法およびデバイス
EP3657794A1 (en) 2018-11-21 2020-05-27 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
US11394989B2 (en) * 2018-12-10 2022-07-19 Tencent America LLC Method and apparatus for video coding
US10855992B2 (en) 2018-12-20 2020-12-01 Alibaba Group Holding Limited On block level bi-prediction with weighted averaging
US11134246B2 (en) * 2019-01-02 2021-09-28 Shumaker & Sieffert, P.A. Weighted prediction for video coding
US11153590B2 (en) 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
WO2020147745A1 (en) 2019-01-15 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidate lists that use local illumination compensation
CN113302918A (zh) 2019-01-15 2021-08-24 北京字节跳动网络技术有限公司 视频编解码中的加权预测
US11206396B2 (en) 2019-01-16 2021-12-21 Qualcomm Incorporated Local illumination compensation in video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023072283A1 (en) * 2021-10-29 2023-05-04 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
US20210235073A1 (en) 2021-07-29
WO2020147804A1 (en) 2020-07-23
CN113316933A (zh) 2021-08-27
WO2020147805A1 (en) 2020-07-23
US11483550B2 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
CN112913247B (zh) 使用局部照明补偿的视频处理
CN110581998B (zh) 视频处理方法、装置和计算机可读记录介质
US11509927B2 (en) Weighted prediction in video coding
CN113302919A (zh) 在视频处理中使用虚拟候选预测和加权预测
CN110620932B (zh) 依赖模式的运动矢量差精度集
CN112868239B (zh) 并置的局部照明补偿和帧内块复制编解码
WO2020147745A1 (en) Motion candidate lists that use local illumination compensation
CN111083492A (zh) 双向光流中的梯度计算
CN113056914A (zh) 基于部分位置的差计算
CN111083484A (zh) 基于子块的预测
CN113841396B (zh) 简化的局部照明补偿
CN110891179A (zh) 计算运动矢量预测值
CN113273208A (zh) 仿射预测模式的改进
CN113557720A (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