视频编码方法、设备和非暂时性计算机可读存储介质转让专利

申请号 : CN202310876401.2

文献号 : CN117014615B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 修晓宇陈漪纹王祥林

申请人 : 北京达佳互联信息技术有限公司

摘要 :

本公开涉及一种用于视频编解码的方法。该方法包括获取与当前预测块相关联的第一参考图片和第二参考图片,基于从当前预测块到第一参考图片中的参考块的第一运动矢量MV0获取第一预测L0,基于从当前预测块到第二参考图片中的参考块的第二运动矢量MV1获取第二预测L1,确定是否应用双向光流(BDOF)操作,以及基于第一预测L0和第二预测L1以及第一梯度值和第二梯度值来计算当前预测块的双向预测。

权利要求 :

1.一种视频编码方法,所述方法包括:

将当前图片划分为一个或多个编码块;

获取与当前编码块相关联的参考图片列表中的参考图片;

基于从当前图片到所述参考图片的运动矢量生成帧间预测值;

获取与所述当前编码块相关联的帧内预测模式;

基于所述帧内预测模式生成所述当前编码块的帧内预测值;

通过对所述帧间预测值和所述帧内预测值取加权平均来生成所述当前编码块的最终预测值;

当构建相邻编码块的最可能模式(MPM)列表时,确定所述当前编码块的预测模式被视为统一模式,所述统一模式定义为帧间模式,或者定义为帧内模式,其中,响应于所述当前编码块的最终预测是基于所述帧间预测值和所述帧内预测值二者而生成,对所述当前编码块禁用双向光流(BDOF)操作;以及基于所述当前编码块的所述最终预测,形成视频比特流输出。

2.根据权利要求1所述的方法,其中,当从第一参考图片列表L0中的一个参考图片预测所述当前编码块时,所述参考图片列表是所述第一参考图片列表L0。

3.根据权利要求1所述的方法,其中,当从第二参考图片列表L1中的一个参考图片预测所述当前编码块时,所述参考图片列表是所述第二参考图片列表L1。

4.根据权利要求1所述的方法,其中,当从第一参考图片列表L0中的一个第一参考图片和第二参考图片列表L1中的一个第二参考图片预测所述当前编码块时,所述参考图片列表是所述第一参考图片列表L0。

5.根据权利要求1所述的方法,其中,当从第一参考图片列表L0中的一个第一参考图片和第二参考图片列表L1中的一个第二参考图片预测所述当前编码块时,所述参考图片列表是所述第二参考图片列表L1。

6.根据权利要求1所述的方法,其中,当从第一参考图片列表L0中的一个第一参考图片和第二参考图片列表L1中的一个第二参考图片预测所述当前编码块时,所述参考图片列表是与一个参考图片相关联的参考图片列表,所述一个参考图片是所述第一参考图片和所述第二参考图片中具有距所述当前图片的更小图片顺序计数(POC)距离的一个。

7.一种视频编码设备,包括一个或多个处理器和耦合到所述一个或多个处理器的一个或多个存储器,所述一个或多个处理器被配置为执行如权利要求1‑6中任一项所述的方法。

8.一种非暂时性计算机可读存储介质,存储用于由具有一个或多个处理器的计算设备执行的多个程序,其中,当被所述一个或多个处理器执行时,所述多个程序使得所述计算设备执行根据权利要求1‑6中任一项所述的方法。

9.一种非暂时性计算机可读存储介质,存储用于由具有一个或多个处理器的视频编码设备执行的多个程序,其中,当被所述一个或多个处理器执行时,所述多个程序使得所述视频编码设备执行根据所述权利要求1‑6中任一项所述的方法,获取对应的视频比特流并存储在所述非暂时性计算机可读存储介质中。

10.一种计算机程序产品,包括指令,当所述指令被处理器执行时,实施根据权利要求

1‑6中任一项所述的方法。

说明书 :

视频编码方法、设备和非暂时性计算机可读存储介质

[0001] 相关申请的交叉引用
[0002] 本申请基于2019年1月9日提交的第62/790421号临时申请并要求其优先权,其全部内容通过引用并入本文。

技术领域

[0003] 该申请涉及视频编解码和压缩。更具体地,本申请涉及关于用于视频编解码的帧间帧内联合预测(CIIP)方法的方法和装置。

背景技术

[0004] 可以使用各种视频编解码技术来压缩视频数据。根据一个或多个视频编解码标准来执行视频编解码。例如,视频编解码标准包括通用视频编解码(VVC)、联合探索测试模型(JEM)、高效视频编解码(H.265/HEVC)、高级视频编解码(H.264/AVC)、运动图片专家组(MPEG)编解码等。视频编解码通常使用利用视频图片或序列中存在的冗余的预测方法(例如,帧间预测、帧内预测等)。视频编解码技术的一个重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。

发明内容

[0005] 本公开的示例提供了用于提高合并(merge)相关模式的语义信令的效率的方法。
[0006] 根据本公开的第一方面,一种视频编解码方法,该方法包括:获取与当前预测块相关联的第一参考图片和第二参考图片,其中,按照显示顺序,第一参考图片在当前图片之前,并且第二参考图片在当前图片之后,基于从当前预测块到第一参考图片中的参考块的第一运动矢量MV0获取第一预测L0,基于从当前预测块到第二参考图片中的参考块的第二运动矢量MV1获取第二预测L1,确定是否应用双向光流(BDOF)操作,其中,BDOF计算与第一预测L0相关联的预测样点的第一水平和垂直梯度值 和 以及与第二预测L1相关联的第二水平和垂直梯度值 和 并基于第一预测L0和第二预测L1
以及第一梯度值 和 与第二梯度值 和 计算当前预测块
的双向预测。
[0007] 根据本公开的第二方面,一种视频编解码方法,该方法包括:获取与当前预测块相关联的参考图片列表中的参考图片,基于从当前图片到第一参考图片的第一运动矢量生成帧间预测,获取与当前预测块相关联的帧内预测模式,基于帧内预测生成当前预测块的帧内预测,通过对帧间预测和帧内预测取平均来生成当前预测块的最终预测,对于基于最可能模式(MPM)的帧内模式预测,确定当前预测块被视为帧间模式还是帧内模式。
[0008] 根据本公开的第三方面,提供了一种其中存储有指令的非暂时性计算机可读存储介质。当由一个或多个处理器执行时,使计算设备执行包括以下的操作:获取与当前预测块相关联的第一参考图片和第二参考图片,其中,按照显示顺序,第一参考图片在当前图片之前,并且第二参考图片在当前图片之后,基于从当前预测块到第一参考图片中的参考块的第一运动矢量MV0获取第一预测L0,基于从当前预测块到第二参考图片中的参考块的第二运动矢量MV1获取第二预测L1,确定是否应用双向光流(BDOF)操作,其中,BDOF计算与第一预测L0相关联的预测样点的第一水平和垂直梯度值 和 以及与第二预测L1相关联的第二水平和垂直梯度值 和 并计算当前预测块的双向预测。
[0009] 根据本公开的第四方面,提供了一种其中存储有指令的非暂时性计算机可读存储介质。当由一个或多个处理器执行时,使计算设备执行包括以下的操作:获取与当前预测块相关联的参考图片列表中的参考图片,基于从当前图片到第一参考图片的第一运动矢量生成帧间预测,获取与当前预测块相关联的帧内预测模式,基于帧内预测生成当前预测块的帧内预测,通过对帧间预测和帧内预测取平均来生成当前预测块的最终预测,并且对于基于最可能模式(MPM)的帧内模式预测,确定当前预测块被视为帧间模式还是帧内模式。
[0010] 应当理解,前面的概述和下面的详细描述都仅仅是示例,而不是对本公开的限制。

附图说明

[0011] 结合在本说明书中并构成本说明书的一部分的附图示出了与本公开一致的示例,并且与描述一起用于解释本公开的原理。
[0012] 图1是根据本公开的示例的编码器的框图。
[0013] 图2是根据本公开的示例的解码器的框图。
[0014] 图3是根据本公开的示例的示出用于生成帧间帧内联合预测(CIIP)的方法的流程图。
[0015] 图4是根据本公开的示例的示出用于生成CIIP的方法的流程图。
[0016] 图5A是根据本公开的示例的示出多类型树结构中的块分区的图。
[0017] 图5B是根据本公开的示例的示出多类型树结构中的块分区的图。
[0018] 图5C是根据本公开的示例的示出多类型树结构中的块分区的图。
[0019] 图5D是根据本公开的示例的示出多类型树结构中的块分区的图。
[0020] 图5E是根据本公开的示例的示出多类型树结构中的块分区的图。
[0021] 图6A是根据本公开的示例的示出帧间帧内联合预测(CIIP)的图。
[0022] 图6B是根据本公开的示例的示出帧间帧内联合预测(CIIP)的图。
[0023] 图6C是根据本公开的示例的示出帧间帧内联合预测(CIIP)的图。
[0024] 图7A是根据本公开的示例的MPM候选列表生成过程的流程图。
[0025] 图7B是根据本公开的示例的MPM候选列表生成过程的流程图。
[0026] 图8是根据本公开的示例的示出VVC中的现有CIIP设计的工作流程的图。
[0027] 图9是根据本公开的示例的示出通过移除BDOF而提出的CIIP方法的工作流程的图。
[0028] 图10是根据本公开的示例的示出基于单向预测的CIIP的工作流程的图,其中基于POC距离选择预测列表。
[0029] 图11A是根据本公开的示例的当针对MPM候选列表生成启用CIIP块时的方法的流程图。
[0030] 图11B是根据本公开的示例的当针对MPM候选列表生成禁用CIIP块时的方法的流程图。
[0031] 图12是根据本公开的示例的示出与用户接口耦合的计算环境的图。

具体实施方式

[0032] 现在将详细参考本公开的示例,其中一些示例在附图中示出。以下描述涉及附图,其中不同附图中的相同数字表示相同或相似的元件,除非另有表示。在本公开的示例的以下描述中阐述的实施方式并不代表与本公开一致的所有实施方式。相反,它们仅仅是与所附权利要求中记载的公开内容相关的方面一致的装置和方法的示例。
[0033] 本公开中使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。如在本公开和所附权利要求中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文清楚地另有指示。还应当理解,本文使用的术语“和/或”旨在表明并包括相关列出项中的一个或多个的任何或所有可能的组合。
[0034] 应当理解,尽管术语“第一”、“第二”、“第三”等可以在本文中用于描述各种信息,但信息不应受这些术语的限制。这些术语仅用于区分一类信息和另一类信息。例如,在不脱离本公开的范围的情况下,第一信息可以被称为第二信息;以及类似地,第二信息也可以被称为第一信息。如本文所使用的,术语“如果”可以根据上下文而被理解成意为“当……时”或“在……时”或“响应于一判断”。
[0035] HEVC标准的第一版于2013年10月最终确定,与上一代视频编解码标准H.264/MPEG AVC相比,它提供了约50%的比特率节省或同等的感知质量。尽管HEVC标准比其前身提供了显著的编解码改进,但有证据表明,使用附加的编解码工具可以实现比HEVC更高的编解码效率。基于此,VCEG和MPEG都开始了针对未来视频编解码标准化的新编解码技术的探索工作。2015年10月,ITU‑T VECG和ISO/IEC MPEG成立了一个联合视频探索小组(JVET),开始对能够大幅提高编解码效率的先进技术的重要研究。通过在HEVC测试模型(HM)的基础上集成了几个附加的编解码工具,JVET维护了一个名为联合探索模型(JEM)的参考软件。
[0036] 2017年10月,ITU‑T和ISO/IEC发布了关于具有超越HEVC的能力的视频压缩的联合提案征集(CfP)。2018年4月,在第10届JVET会议上,收到并评估了23份CfP响应,其展现出比HEVC的压缩效率高约40%的压缩效率增益。基于这样的评估结果,JVET启动了一个新项目来开发新一代视频编解码标准,该标准被命名为通用视频编解码(VVC)。同月,建立了一个参考软件代码库,称为VVC测试模型(VTM),用于展现VVC标准的参考实施方式。
[0037] 像HEVC一样,VVC是建立在基于块的混合视频编解码框架上的。图1(在下文中描述)给出了通用的基于块的混合视频编解码系统的框图。输入视频信号逐块(称为编码单元(CU))处理。在VTM‑1.0中,一个CU可以达到128×128像素。然而,与仅基于四叉树对块分区的HEVC不同,在VVC中,基于四叉/二叉/三叉树而将一个编码树单元(CTU)分割成多个CU,以适应变化的局部特征。此外,去除了HEVC中的多种分区单元类型的概念,即在VVC中不再存在CU、预测单元(PU)和变换单元(TU)的区分;相反,每个CU总是被用作预测和变换两者的基本单元,而没有进一步的分区。在多类型树结构中,首先通过四叉树结构来划分一个CTU。然后,每个四叉树叶节点可以通过二叉树和三叉树结构来进一步划分。如图5A、图5B、图5C、图5D和图5E(在下文中描述)所示,存在五种分割类型,分别是四叉划分、水平二叉划分、垂直二叉划分、水平三叉划分和垂直三叉划分。
[0038] 在图1中(在下文中描述),可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自相同视频图片/切片中已经编码的相邻块的样点(称为参考样点)的像素点来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已经编码的视频图片的重构像素点来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定CU的时间预测信号通常由一个或多个运动矢量(MV)来通过信号发送,该一个或多个运动矢量指示当前CU与其时间参考之间的运动量和运动方向。此外,当支持多个参考图片时,另外发送一个参考图片索引,其用于识别时间预测信号来自参考图片库中的哪个参考图片。在空间和/或时间预测之后,编码器中的模式决策块选择最佳预测模式,例如基于率失真优化方法。然后从当前视频块中减去预测块;
并且使用变换和量化来对预测残差去相关。
[0039] 量化残差系数被逆量化和逆变换以形成重构残差,重构残差随后被加回到预测块以形成CU的重构信号。在将重构的CU放入参考图片库并用于对未来视频块编码之前,可以对重构的CU应用进一步的环路内滤波,诸如去块滤波、样点自适应补偿(SAO)和自适应环路内滤波(ALF)。为了形成输出视频比特流,编码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被发送到熵编码单元,以被进一步压缩和打包以形成比特流。
[0040] 图2(在下文中描述)给出了基于块的视频解码器的一般框图。视频比特流首先在熵解码单元被熵解码。编码模式和预测信息被发送到空间预测单元(当帧内编码时)或时间预测单元(当帧间编码时),以形成预测块。残差变换系数被发送到逆量化单元和逆变换单元以重构残差块。预测块和残差块随后被加在一起。重构的块在被存储在参考图片库中之前可以进一步经历环路内滤波。然后,参考图片存储中的重建视频随后被发送出去以驱动显示设备,以及用于预测未来视频块。
[0041] 图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测器140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、逆量化134、逆变换136、加法器126、存储器124、环路内滤波器122、熵编码138和比特流144。
[0042] 图2示出了典型的解码器200框图。解码器200具有比特流210、熵解码212、逆量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路内滤波器228、运动补偿224、图片缓冲器226、预测相关信息234和视频输出232。
[0043] 图3示出了根据本公开的用于生成帧间帧内联合预测(CIIP)的示例方法300。
[0044] 在步骤310,获取与当前预测块相关联的第一参考图片和第二参考图片,其中,按照显示顺序,第一参考图片在当前图片之前,并且第二参考图片在当前图片之后。
[0045] 在步骤312,基于从当前预测块到第一参考图片中的参考块的第一运动矢量MV0来获取第一预测L0。
[0046] 在步骤314,基于从当前预测块到第二参考图片中的参考块的第二运动矢量MV1获取第二预测L1。
[0047] 在步骤316,确定是否应用双向光流(BDOF)操作,其中BDOF计算与第一预测L0相关联的预测样点的第一水平和垂直梯度值以及与第二预测L1相关联的第二水平和垂直梯度值。例如,BDOF计算与第一预测L0相关联的预测样点的第一水平和垂直梯度值 和以及与第二预测L1相关联的第二水平和垂直梯度值 和
[0048] 在步骤318,基于第一预测L0和第二预测L1以及第一梯度值和第二梯度值计算当前预测块的双向预测。例如,第一梯度值 和 和第二梯度值 和
[0049] 图4示出了根据本公开的用于生成CIIP的示例方法。例如,该方法包括用于生成CIIP的基于单向预测的帧间预测和基于MPM的帧内预测。
[0050] 在步骤410,获取与当前预测块相关联的参考图片列表中的参考图片。
[0051] 在步骤412,基于从当前图片到第一参考图片的第一运动矢量生成帧间预测。
[0052] 在步骤414,获取与当前预测块相关联的帧内预测模式。
[0053] 在步骤416,基于帧内预测生成当前预测块的帧内预测。
[0054] 在步骤418,通过对帧间预测和帧内预测取平均来生成当前预测块的最终预测。
[0055] 在步骤420,对于基于最可能模式(MPM)的帧内模式预测,确定当前预测块被视为帧间模式还是帧内模式。
[0056] 图5A示出了根据本公开的示例的示出多类型树结构中的块四叉分区的图。
[0057] 图5B示出了根据本公开的示例的示出多类型树结构中的块垂直二叉分区的图。
[0058] 图5C示出了根据本公开的示例的示出多类型树结构中的块水平二叉分区的图。
[0059] 图5D示出了根据本公开的示例的示出多类型树结构中的块垂直三叉分区的图。
[0060] 图5E示出了根据本公开的示例的示出多类型树结构中的块水平三叉分区的图。
[0061] 帧间帧内联合预测
[0062] 如图1和图2所示,在混合视频编解码方案中使用帧间和帧内预测方法,其中每个PU仅被允许选择帧间预测或帧内预测,以利用时间或空间域中的相关性,而从不利用这两者。然而,如先前文献中所指出的,由帧间预测块和帧内预测块生成的残差信号可能呈现彼此非常不同的特征。因此,当两种预测能够以有效的方式组合时,可以预期一种更精确的预测,用于减少预测残差的能量,并因此提高编解码效率。此外,在自然视频内容中,移动对象的运动可能是复杂的。例如,可能存在既包含旧内容(例如,包括在先前编码的图片中的对象)又包含出现的新内容(例如,不包括在先前编码的图片中的对象)的区域。在这种情况下,帧间预测和帧内预测都不能提供当前块的一个精确预测。
[0063] 为了进一步提高预测效率,在VVC标准中采用了帧间帧内联合预测(CIIP),其组合了通过合并模式编码的一个CU的帧间预测和帧内预测。具体地,对于每个合并CU,一个附加标识被通过信令发送以指示当前CU是否启用CIIP。对于亮度分量,CIIP支持四种常用的帧内模式,包括平面预测(PLANAR)、方向角度预测(DC)、水平预测(HORIZONAL)和垂直预测(VERTICAL)模式。对于色度分量,在没有额外信令的情况下,总是应用DM(即色度重用亮度分量的相同帧内模式)。另外,在现有的CIIP设计中,加权平均被应用于组合一个CIIP CU的帧间预测样点和帧内预测样点。具体地,当选择PLANAR或DC模式时,应用相等的权重(即,0.5)。否则(即,应用HORIZONAL或VERTICAL模式),当前CU首先被水平(对于HORIZONAL模式)或垂直(对于VERTICAL模式)分割成四个相等大小的区域。
[0064] 将应用表示为(w_intrai,w_interi)的四个权重集来组合不同区域中的帧间和帧内预测样点,其中i=0和i=3表示离用于帧内预测的重构的相邻样点最近和最远的区域。在当前的CIIP设计中,权重集的值被设置为(w_intra0,w_inter0)=(0.75,0.25)、(w_intra1,w_inter1)=(0.625,0.375)、(w_intra2,w_inter2)=(0.375,0.625)和(w_intra3,w_inter3)=(0.25,0.75)。图6A、图6B和图6C(在下文中描述)提供了示例来示出CIIP模式。
[0065] 此外,在当前的VVC工作规范中,一个CIIP CU的帧内模式可以用作预测器,以通过最可能模式(MPM)机制来预测其相邻CIIP CU的帧内模式。具体来说,对于每个CIIP CU,当其相邻块也是CIIP CU时,那些相邻块的帧内模式首先被四舍五入到PLANAR、DC、HORIZONAL和VERTICAL模式中的最接近的模式,然后被添加到当前CU的MPM候选列表中。然而,当为每个帧内CU构建MPM列表时,当其相邻块之一是通过CIIP模式编码时,则该相邻快被认为是不可用的,即,一个CIIP CU的帧内模式不被允许用来预测其相邻帧内CU的帧内模式。图7A和图7B(在下文中描述)比较了帧内CU和CIIP CU的MPM列表生成过程。
[0066] 双向光流
[0067] 视频编解码中的传统双向预测是从已经重建的参考图片获取的两个时间预测块的简单组合。然而,由于基于块的运动补偿的限制,在两个预测块的样点之间可以观察到剩余的小运动,因此降低了运动补偿预测的效率。为了解决这个问题,在VVC中应用了双向光流(BDOF),以降低这种运动对一个块内每个样点的影响。
[0068] 具体地,如图6A、图6B和图6C所示(在下文中描述),BDOF是在使用双向预测时在基于块的运动补偿预测之上执行的逐样点运动修正。在子块周围的一个6×6窗口Ω内应用BDOF之后,通过最小化L0和L1预测样点之间的差异来计算每个4×4子块的运动修正(vx,vy)。具体来说,(vx,vy)的值推导如下:
[0069]
[0070]
[0071] 其中 是下取整(floor)函数;clip3(min,max,x)是在[min,max]范围内裁剪给定值x的函数;符号>>表示按位右移运算;符号<<表示按位左移运算;thBDOF是防止由不规则13‑BD
局部运动造成传播误差的运动修正阈值,其等于2 ,其中BD是输入视频的比特深度。在(1)中,
[0072] S1、S2、S3、S5和S6的值计算如下:
[0073] S1=∑(i,j)∈Ωψx(i,j)·ψx(i,j),S3=∑(i,j)∈Ωθ(i,j)·ψx(i,j),[0074] S2=∑(i,j)∈Ωψx(i,j)·ψy(i,j),S5=∑(i,j)∈Ωψy(i,j)·ψy(i,j),[0075] S6=∑(i,j)∈Ωθ(i,j)·ψy(i,j)
[0076] 其中,
[0077]
[0078]
[0079] θ(i,j)=(I(1)(i,j)>>6)‑(I(0)(i,j)>>6)
[0080] 其中,I(k)(i,j)是列表k(k=0,1)中预测信号的坐标(i,j)处的样点值,其以中等高精度(即,16位)生成; 和 是通过直接计算其两个相邻样点之间的差异获取的样点的水平和垂直梯度值,即,
[0081]
[0082]
[0083] 基于在(1)中导出的运动细化,通过基于光流模型沿着运动轨迹对L0/L1预测样点进行插值来计算CU的最终双向预测样点,如下式所指示的
[0084] predBDOF(x,y)=(I(0)(x,y)+I(1)(x,y)+b+Ooffset)>>shift
[0085]
[0086] 其中shift和ooffset是右移位值和偏移值,它们被应用来组合L0和L1预测信号来进行双向预测,分别等于15‑BD和1<<(14‑BD)+2·(1<<13)。
[0087] 图6A示出了根据本公开的示例的示出用于水平模式的帧间帧内联合预测的图。
[0088] 图6B示出了根据本公开的示例的示出用于VERTICAL模式的帧间帧内联合预测的图。
[0089] 图6C示出了根据本公开的示例的示出用于PLANAR和DC模式的帧间帧内联合预测的图。
[0090] 图7A示出了根据本公开的示例的帧内CU的MPM候选列表生成过程的流程图。
[0091] 图7B示出了根据本公开的示例的CIIP CU的MPM候选列表生成过程的流程图。
[0092] CIIP的改进
[0093] 尽管CIIP可以提高常规运动补偿预测的效率,但其设计仍可进一步改进。具体而言,在VVC中的现有CIIP设计中的以下问题在本公开中被识别。
[0094] 首先,如“帧间帧内联合预测”部分所讨论的,因为CIIP组合了帧间和帧内预测的样点,所以每个CIIP CU需要使用其重构的相邻样点来生成预测信号。这意味着一个CIIP CU的解码依赖于其相邻块的完全重建。由于这种相互依赖性,对于实际的硬件实施方式,CIIP需要在相邻重构样点变得可用于帧内预测的重构阶段执行。因为重构阶段中的CU的解码必须顺序地(即,一个接一个地)执行,所以,为了确保实时解码的足够吞吐量,CIIP过程中涉及的计算操作(例如,乘法、加法和比特移位)的数量不能太高。
[0095] 如“双向光流”部分所提及的,当从前向和后向时间方向的两个参考块预测一个帧间编码的CU时,BDOF被启用以提高预测质量。如图8所示(在下文中描述),在当前VVC中,BDOF还被涉及以生成CIIP模式的帧间预测样点。考虑到BDOF带来的附加的复杂性,当启用CIIP时,这种设计可能严重降低硬件编解码器的编码/解码吞吐量。
[0096] 第二,在当前的CIIP设计中,当一个CIIP CU参考一个双向预测的合并候选时,需要生成列表L0和L1中的运动补偿预测信号。当一个或多个MV不是整数精度时,必须调用附加的插值过程来在分数样点位置对样点进行插值。这种过程不仅增加计算复杂度,而且增加存储带宽,因为需要从外部存储器访问更多的参考样点。
[0097] 第三,如“帧间帧内联合预测”部分所讨论的,在当前CIIP设计中,当构建其相邻块的MPM列表时,CIIP CU的帧内模式和帧内CU的帧内模式被不同地对待。具体地,当一个当前CU通过CIIP模式编码时,其相邻的CIIP CU被认为是帧内,即,相邻的CIIP CU的帧内模式可以被添加到MPM候选列表中。然而,在当前CU通过帧内模式编码时,其相邻的CIIP CU被认为是帧间,即,相邻的CIIP CU的帧内模式不被包括在MPM候选列表中。这种不统一的设计对于VVC标准的最终版本可能不是最佳的。
[0098] 图8示出了根据本公开的示例的示出VVC中的现有CIIP设计的工作流程的图。
[0099] 简化CIIP
[0100] 在本公开中,提供了简化现有CIIP设计以促进硬件编解码器实施方式的方法。一般而言,本公开中提出的技术的主要方面总结如下。
[0101] 首先,为了提高CIIP编码/解码吞吐量,建议在CIIP模式下从帧间预测样点的生成中排除BDOF。
[0102] 其次,为了降低计算复杂度和存储带宽消耗,当一个CIIP CU被双向预测(即,具有L0 MV和L1 MV)时,提出了将块从双向预测转换为单向预测以生成帧间预测样点的方法。
[0103] 第三,提出了两种方法来在形成CU的相邻块的MPM候选时协调CIIP CU和帧内CU的帧内模式。
[0104] 没有BDOF的CIIP
[0105] 如“问题陈述”部分所指出的,在当前CU被双向预测时,BDOF总是被启用以生成CIIP模式的帧间预测样点。由于BDOF的附加的复杂性,现有的CIIP设计可能显著降低编码/解码吞吐量,特别是使实时解码对VVC解码器变得困难。另一方面,对于CIIP CU,它们的最终预测样点是通过对帧间预测样点和帧内预测样点取平均而生成的。换句话说,由BDOF细化的预测样点将不会被直接用作CIIP CU的预测信号。因此,与常规的双向预测CU相比(其中,直接应用BDOF以生成预测样点),从BDOF获得的相应改进对于CIIP CU来说是较为低效的。因此,基于以上考虑,建议在生成CIIP模式的帧间预测样点时禁用BDOF。图9(在下文中描述)示出了在去除BDOF之后所提出的CIIP过程的相应工作流程。
[0106] 图9示出了根据本公开的示例的示出通过去除BDOF所提出的CIIP方法的工作流程的图。
[0107] 基于单向预测的CIIP
[0108] 如上文所讨论的,当由一个CIIP CU参考的合并候选被双向预测时,L0和L1预测信号都被生成以预测CU内的样点。为了降低存储带宽和插值复杂度,在本公开的一个实施例中,建议在CIIP模式中仅使用利用单向预测(即使在当前CU是双向预测的时)生成的帧间预测样点与帧内预测样点进行组合。具体地,在当前CIIP CU被单向预测时,帧间预测样点将直接与帧内预测样点组合。否则(即,当前CU是双向预测的),CIIP使用的帧间预测样点是基于来自一个预测列表(L0或L1)的单向预测生成的。为了选择预测列表,可以应用不同的方法。在第一种方法中,建议总是为通过两个参考图片预测的任何CIIP块选择第一预测(即,列表L0)。
[0109] 在第二种方法中,建议总是为通过两个参考图片预测的任何CIIP块选择第二预测(即,列表L1)。在第三种方法中,应用一种自适应方法,其中选择与一个参考图片相关联的预测列表,该参考图片具有距当前图片的较小图片顺序计数(POC)距离。图10(在下文中描述)示出了基于单向预测的CIIP的工作流程,其中基于POC距离选择预测列表。
[0110] 最后,在最后一种方法中,建议仅在当前CU被单向预测时启用CIIP模式。此外,为了减少开销,CIIP启用/禁用标识的信令取决于当前CIIP CU的预测方向。在当前CU被单向预测时,将在比特流中通过信令发送CIIP标识,以指示CIIP是被启用还是被禁用。否则(即,当前CU是双向预测的),CIIP标识的信令将被跳过,并且总是被推断为假,即,CIIP总是被禁用。
[0111] 图10示出了根据本公开的一个示例的示出基于POC距离选择预测列表的基于单向预测的CIIP的工作流程的图。
[0112] 对于MPM候选列表构建,CIIP CU和帧内CU的帧内模式的协调
[0113] 如上文所讨论的,在如何使用CIIP CU和帧内CU的帧内模式来形成其相邻块的MPM候选列表方面,当前的CIIP设计是不统一的。具体地,CIIP CU和帧内CU的帧内模式都可以预测以CIIP模式编码的其相邻块的帧内模式。然而,只有帧内CU的帧内模式可以预测帧内CU的帧内模式。为了实现一个更加统一的设计,本部分提出了两种方法来协调MPM列表构建中CIIP CU和帧内CU的帧内模式的使用。
[0114] 在第一种方法中,对于MPM列表构建,建议将CIIP模式视为帧间模式。具体地,当生成一个CIIP CU或一个帧内CU的MPM列表时,当其相邻块以CIIP模式编码时,则该相邻块的帧内模式被标记为不可用。通过这种方法,没有CIIP块的帧内模式可以用于构建MPM列表。相反,在第二种方法中,对于MPM列表构建,建议将CIIP模式视为帧内模式。具体地,在该方法中,CIIP CU的帧内模式可以预测其相邻CIIP块和帧内块的帧内模式。图11A和图11B(在下文中描述)示出了当应用上述两种方法时的MPM候选列表生成过程。
[0115] 考虑到本文公开的本公开的说明书和实践,本公开的其他实施例对于本领域技术人员来说将是显而易见的。本申请旨在覆盖遵循本公开一般原理以及包括落入本领域已知或习惯实践内的对本公开的偏离在内的本公开的的任何变化、使用或修改。本说明书和示例旨在仅被视为示例,本公开的真实范围和精神由后面的权利要求来指示。
[0116] 应当理解,本公开不限于上文描述并在附图中示出的确切示例,并且可以在不脱离其范围的情况下进行各种修改和改变。旨在仅通过所附权利要求来限制本公开的范围。
[0117] 图11A示出了根据本公开的示例的当针对MPM候选列表生成启用CIIP块时的方法的流程图。
[0118] 图11B示出了根据本公开的示例的当针对MPM候选列表生成禁用CIIP块时的方法的流程图。
[0119] 图12示出了与用户接口1260耦合的计算环境1210。计算环境1210可以是数据处理服务器的一部分。计算环境1210包括处理器1220、存储器1240和I/O接口1250。
[0120] 处理器1220通常控制计算环境1210的整体操作,诸如与显示、数据获取、数据通信和图片处理相关联的操作。处理器1220可以包括一个或多个处理器,以执行指令来执行上述方法中的所有或一些步骤。此外,处理器1220可以包括促进处理器1220和其他组件之间的交互的一个或多个电路。处理器可以是中央处理单元(CPU)、微处理器、单片机、GPU等。
[0121] 存储器1240被配置成存储各种类型的数据以支持计算环境1210的操作。这种数据的示例包括用于在计算环境1210上操作的任何应用或方法的指令、视频数据、图片数据等。存储器1240可以通过使用任何类型的易失性或非易失性存储设备或它们的组合来实施,诸如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
[0122] I/O接口1250提供处理器1220和外围接口模块之间的接口,诸如键盘、点击轮、按钮等。这些按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1250可以与编码器和解码器耦合。
[0123] 在一实施例中,还提供了一种包括多个程序的非暂时性计算机可读存储介质,诸如包括在存储器1240中,该多个程序可由计算环境1210中的处理器1220执行,以用于执行上述方法。例如,非暂时性计算机可读存储介质可以是ROM、RAM、CD‑ROM、磁带、软盘、光学数据存储设备等。
[0124] 非暂时性计算机可读存储介质在其中存储了由具有一个或多个处理器的计算设备执行的多个程序,其中当由一个或多个处理器执行时,多个程序使得计算设备执行上述用于运动预测的方法。
[0125] 在一实施例中,计算环境1210可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、微控制器、微处理器或其他电子组件来实施,以用于执行上述方法。