首页> 中国专利> 用于视频编码和解码的三角形和多重假设组合

用于视频编码和解码的三角形和多重假设组合

摘要

本发明提供了至少一种用于有效地对视频进行编码或解码的方法和装置。例如,获得用于当前块的多个不同的运动预测模式。基于多个不同的运动预测模式与当前块的多个子块的对应权重的组合,对当前块进行编码或解码,其中,与对应权重的组合包括帧间预测模式和帧内预测模式。

著录项

  • 公开/公告号CN113170113A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 交互数字VC控股公司;

    申请/专利号CN201980078737.6

  • 发明设计人 T.波伊里尔;K.纳瑟;E.弗朗索瓦;

    申请日2019-11-19

  • 分类号H04N19/109(20060101);H04N19/11(20060101);H04N19/119(20060101);H04N19/159(20060101);H04N19/176(20060101);H04N19/503(20060101);H04N19/593(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人叶齐峰

  • 地址 美国特拉华州

  • 入库时间 2023-06-19 11:55:48

说明书

技术领域

本实施例中的至少一者一般涉及一种用于视频编码或解码的方法或装置,并且更具体地涉及一种用于有效地提供具有多形状和多重假设预测等的组合的视频压缩和/或解压缩的方法或装置。

背景技术

为了实现高压缩效率,图像和视频编码方案通常采用包括运动矢量预测的预测,并进行变换以利用视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始图像与预测图像之间的差异(通常被标示为预测误差或预测残差)进行变换、量化和熵编码。为了重构视频,通过与熵编码、量化、变换和预测相对应的逆过程来对压缩数据进行解码。

视频压缩技术的最新添加内容包括各种行业标准、参考软件和/或文档的版本,诸如联合开发模型(JEM)和正由联合视频开发团队(JVET)小组开发的后续VTM(通用视频编码(VVC)测试模型)。目的是进一步改进现有的HEVC(高效视频编码)标准。

发明内容

通过本申请中描述的一个或多个方面来解决现有技术的缺陷和缺点。

根据一个实施例,提供了一种用于视频编码的方法,所述方法包括:获得用于当前块的多个不同的运动预测模式;以及基于所述多个不同的运动预测模式与所述当前块的多个子块的对应权重的组合,对所述当前块进行编码,其中,与所述对应权重的所述组合包括帧间预测模式和帧内预测模式。

根据另一个实施例,提供了一种用于视频解码的方法,所述方法包括:获得用于当前块的多个不同的运动预测模式;以及基于所述多个不同的运动预测模式与所述当前块的多个子块的对应权重的组合,对所述当前块进行解码,其中,与所述对应权重的所述组合包括帧间预测模式和帧内预测模式。

根据另一个实施例,提供了一种用于视频编码的装置,所述装置包括:用于获得用于当前块的多个不同的运动预测模式的部件;以及用于基于所述多个不同的运动预测模式与所述当前块的多个子块的对应权重的组合对所述当前块进行编码的部件,其中,与所述对应权重的所述组合包括帧间预测模式和帧内预测模式。

根据另一个实施例,提供了一种用于视频解码的装置,所述装置包括:用于获得用于当前块的多个不同的运动预测模式的部件;以及用于基于所述多个不同的运动预测模式与所述当前块的多个子块的对应权重的组合对所述当前块进行解码的部件,其中,与所述对应权重的所述组合包括帧间预测模式和帧内预测模式。

根据另一个实施例,提出了一种用于视频编码的装置,所述装置包括一个或多个处理器,其中,所述一个或多个处理器被配置为:获得用于当前块的多个不同的运动预测模式;以及基于所述多个不同的运动预测模式与所述当前块的多个子块的对应权重的组合,对所述当前块进行编码,其中,与所述对应权重的所述组合包括帧间预测模式和帧内预测模式。

根据另一个实施例,提出了一种用于视频解码的装置,所述装置包括一个或多个处理器,其中,所述一个或多个处理器被配置为:获得用于当前块的多个不同的运动预测模式;以及基于所述多个不同的运动预测模式与所述当前块的多个子块的对应权重的组合,对所述当前块进行解码,其中,与所述对应权重的所述组合包括帧间预测模式和帧内预测模式。

根据另一个实施例,通过以下形成包括编码视频的信号:获得用于当前块的多个不同的运动预测模式;基于所述多个不同的运动预测模式与所述当前块的多个子块的对应权重的组合,对所述当前块进行编码,其中,与所述对应权重的所述组合包括帧间预测模式和帧内预测模式;以及形成包括所述编码的当前块的所述位流。

根据另一个实施例,所述对应权重中的每一者应用于对应子块内部的所有样本。

根据另一个实施例,所述当前块被分区为一个或多个预测区域,每个预测区域具有给定形状。

根据另一个实施例,所述一个或多个预测区域包括一个或多个三角形区域。

根据另一个实施例,所述多个不同的运动预测模式包括多形状预测和多重假设预测。

根据另一个实施例,在可能的运动矢量候选的一个或多个列表中指示包括所述多形状预测和所述多重假设预测的所述多个不同运动预测模式。

根据另一个实施例,所述对应权重是2的幂。

根据另一个实施例,所述对应权重取决于所述帧内预测模式的帧内方向。

根据另一个实施例,所述多形状预测中的所述一个或多个预测区域的数量取决于所述当前块的大小。

另外,一个实施例提供了一种计算机程序产品,所述计算机程序产品包括指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据上述任何实施例的编码方法或解码方法。本实施例中的一者或多者还提供了一种计算机可读存储介质,其上存储有用于根据上述方法对视频数据进行编码或解码的指令。一个或多个实施例还提供了一种计算机可读存储介质,其上存储有根据上述方法生成的位流。一个或多个实施例还提供了一种用于发送或接收根据上述方法生成的位流的方法和装置。

附图说明

图1示出了视频编码器的实施例的框图。

图2示出了视频解码器的实施例的框图。

图3示出了可以在其中实施本实施例的各方面的系统的框图。

图4示出了将CU划分为两个三角形预测单元。

图5示出了两个三角形预测单元之间的对角边缘上的加权处理。

图6示出了用于三角形分区的单向预测量的推导过程。

图7示出了用于三角形分区(PU)的子块运动矢量存储。

图8示出了附加分区(PU)。

图9示出了附加的非三角形分区(PU)。

图10示出了帧间模式和帧内模式组合的情况下的多重假设预测。

图11示出了在多重假设模式下的帧内预测区域及其对应的权重。

图12示出了具有用于多重假设模式的垂直预测的8×8CU的2×8子区域。

图13示出了如何将水平预测用于右上至左下三角形分区中的第二分区。

图14示出了用于多重假设预测的过程或装置。

图15示出了用于仅具有一个加权步骤的多重假设预测的过程或装置。

图16示出了每个子块具有一个权重的三角形预测。

图17示出了子块所使用的权重的存储。

图18示出了通过多重假设和垂直帧内预测而预测的8×8CU。

图19示出了用于具有单向帧间预测限制的多重假设预测的过程或装置。

图20示出了用于具有单向帧间预测限制和帧内-帧间组合后限幅的多重假设预测的过程或装置。

图21示出了用于多个形状分区的单向或帧内预测量的推导过程。

图22示出了根据预测形状推断的帧内方向预测。

图23示出了用于多个形状分区的预测量的推导过程,其中,在列表的末尾添加了帧内方向。

图24示出了用于每个列表0和列表1的单独的预测量推导过程。

图25示出了针对每个PU检查的空间和时间位置。

图26示出了TL2BR三角形分区(第1/2部分)中的2个PU的单独候选项推导的示例。

图27示出了TL2BR三角形分区(第2/2部分)中的2个PU的单独候选项推导的示例。

图28示出了为候选列表推导检查的新位置。

图29示出了用于多种形状和多重假设组合的预测信息存储。

图30示出了用于多种形状和多重假设组合的预测信息存储。

具体实施方式

本公开属于视频压缩和解压缩的领域,并且至少一个实施例更具体地涉及使用两种不同的帧间预测或者帧间预测与帧内预测的组合执行的块预测。

为了描述清楚,以下描述将参考涉及视频压缩技术(诸如,例如,HEVC、JEM和/或H.266)的实施例来描述各方面。然而,所描述的各方面适用于其它视频处理技术和标准。

本申请描述了包括工具、特征、实施例、模型、方法等的各个方面。这些方面中的许多方面是专门描述的,并且至少为了示出单独的特性,通常以听起来可能受到限制的方式来描述。然而,这是为了描述清楚起见,并且不限制那些方面的应用或范围。实际上,所有不同方面都可以组合和互换以提供进一步的方面。此外,这些方面也可以与先前申请中所述的方面进行组合和互换。

本申请中描述和预期的方面可以以许多不同的形式来实施。下面的图1、2和3提供了一些实施例,但是可以预期其它实施例,并且图1、2和3的讨论不限制实施方式的广度。这些方面中的至少一个方面一般涉及视频编码和解码,并且至少另一方面一般涉及发送所生成或编码的位流。这些和其它方面可以被实施为一种方法、一种装置、一种其上存储有用于根据所描述的任何方法对视频数据进行编码或解码的指令的计算机可读存储介质,和/或一种其上存储有根据所描述的任何方法生成的位流的计算机可读存储介质。

在本申请中,术语“重构的”和“解码的”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。通常但并非必须,术语“重构的”在编码器侧使用,而“解码的”在解码器侧使用。

在本公开中使用术语HDR(高动态范围)和SDR(标准动态范围)。这些术语通常向本领域普通技术人员传达动态范围的特定值。然而,还旨在有附加实施例,其中,对HDR的引用被理解为表示“较高动态范围”,而对SDR的引用被理解为表示“较低动态范围”。此类附加实施例不受动态范围的任何特定值的约束,该动态范围的任何特定值可能通常与术语“高动态范围”和“标准动态范围”相关联。

本文描述了各种方法,并且该方法中的每一者包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定的步骤或动作顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。

本申请中描述的各种方法和其它方面可以用于修改如图1和2所示的视频编码器100和解码器200的模块,例如,帧内预测、熵编码和/或解码模块(160、360、145、330)。此外,本方面不限于VVC或HEVC,并且可以应用于例如其它标准和建议,无论是预先存在的还是将来开发的,以及任何这样的标准和建议的扩展(包括VVC和HEVC)。除非另外指出或在技术上被排除,否则本申请中描述的方面可以单独或组合使用。

在本申请中例如关于块大小使用各种数值。特定值是出于示例目的,并且所描述的方面不限于这些特定值。

图1示出了编码器100。可以预期该编码器100的变型,但是为了清楚起见,下面描述了编码器100而没有描述所有预期的变型。在被编码之前,视频序列可以经过预编码处理(101),例如,对输入彩色图片进行颜色变换(例如,从RGB 4:4:4转换到YCbCr 4:2:0),或对输入图片分量执行重映射以便获得对压缩更具弹性的信号分布(例如,使用颜色分量中的一者的直方图均衡化)。元数据可以与预处理相关联并附加到位流。

在编码器100中,如下所述,通过编码器元件对图片进行编码。以例如CU为单位对要编码的图片进行分区(102)和处理。使用例如帧内或帧间模式对每个单元进行编码。当单元以帧内模式编码时,其执行帧内预测(160)。在帧间模式下,执行运动估计(175)和补偿(170)。编码器确定(105)帧内模式或帧间模式中的哪一个模式用于对单元进行编码,并且通过例如预测模式标志来指示帧内/帧间决定。例如通过从原始图像块减去(110)预测块来计算预测残差。

然后对预测残差进行变换(125)和量化(130)。对量化的变换系数以及运动矢量和其它语法元素进行熵编码(145)以输出位流。编码器可以跳过变换并将量化直接应用于未变换的残差信号。编码器可以绕过变换和量化两者,即,在不应用变换或量化过程的情况下直接对残差进行编码。

编码器对编码的块进行解码,以为进一步的预测提供参考。对量化的变换系数进行反量化(140)和逆变换(150)以对预测残差进行解码。结合(155)解码的预测残差和预测块,重构图像块。环内滤波器(165)被应用于重构的图片以执行例如去块/SAO(样本自适应偏移)滤波以减少编码伪像。将滤波后的图像存储在参考图片缓冲器(180)中。

图2示出了视频解码器200的框图。在解码器200中,如下所述,由解码器元件对位流进行解码。视频解码器200通常执行与如图1所述的编码通道相反的解码通道。编码器100通常还执行视频解码,作为对视频数据进行编码的一部分。具体地,解码器的输入包括视频位流,其可以由视频编码器100生成。首先对位流进行熵解码(230)以获得变换系数、运动矢量和其它编码信息。图片分区信息指示图片如何分区。因此,解码器可以根据解码后的图片分区信息来划分(235)图片。对变换系数进行反量化(240)和逆变换(250)以对预测残差进行解码。结合(255)解码的预测残差和预测块,重构图像块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)预测块。将环内滤波器(265)应用于重构的图像。将滤波后的图像存储在参考图片缓冲器(280)中。

解码的图片可以进一步经历后解码处理(285),例如,逆颜色变换(例如,从YCbCr4:2:0转换到RGB 4:4:4)或逆重新映射,该逆重新映射执行在预编码处理(101)中执行的重新映射过程的逆过程。后解码处理可以使用在预编码处理中导出并在位流中发信号通知的元数据。

图3示出了在其中实施各个方面和实施例的系统的示例的框图。系统1000可以被体现为包括以下描述的各种组件的设备,并且被配置为执行本文档中描述的一个或多个方面。此类设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频记录系统、联网家用电器和服务器。系统1000的元件可以单独或组合地体现在单个集成电路(IC)、多个IC和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个IC和/或分立组件上。在各个实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦合到一个或多个其它系统或其它电子设备。在各个实施例中,系统1000被配置为实施本文档中描述的一个或多个方面。

系统1000包括至少一个处理器1010,该至少一个处理器被配置为执行在其中加载的指令,以用于实施例如本文档中描述的各个方面。处理器1010可以包括嵌入式存储器、输入输出接口以及本领域已知的各种其它电路。系统1000包括至少一个存储器1020(例如,易失性存储器设备和/或非易失性存储器设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于电可擦可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接的存储设备(包括可拆卸和不可拆卸的存储设备)和/或网络可访问存储设备。

系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码的视频或解码的视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的(多个)模块。众所周知,设备可以包括编码和解码模块中的一者或两者。另外,编码器/解码器模块1030可以被实施为系统1000的单独元件,或者可以作为本领域技术人员已知的硬件和软件的组合被并入处理器1010内。

可以将要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码存储在存储设备1040中,然后将其加载到存储器1020上以由处理器1010执行。根据各个实施例,在执行本文档中描述的过程期间,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一者或多者可以存储各个项中的一者或多者。此类存储的项目可以包括但不限于输入视频、解码的视频或解码的视频的一部分、位流、矩阵、变量以及对等式、公式、操作和运算逻辑的处理的中间或最终结果。

在一些实施例中,处理器1010和/或编码器/解码器模块1030内部的存储器用于存储指令并为编码或解码期间所需的处理提供工作存储器。然而,在其它实施例中,处理设备外部的存储器(例如,处理设备可以是处理器1010或编码器/解码器模块1030)用于这些功能中的一者或多者。外部存储器可以是存储器1020和/或存储设备1040,例如,动态易失性存储器和/或非易失性闪存。在若干个实施例中,外部非易失性闪存用于存储例如电视机的操作系统。在至少一个实施例中,诸如RAM之类的快速外部动态易失性存储器用作用于诸如MPEG-2(MPEG是指运动图像专家组,MPEG-2也被称为ISO/IEC13818,并且13818-1也被称为H.222,并且13818-2也被称为H.262)、HEVC(HEVC是指高效视频编码,也被称为H.265和MPEG-H第2部分)或VVC(通用视频编码,即,由JVET联合视频专家团队开发的新标准)之类的视频编码和解码操作的工作存储器。

如框1130所指示,可以通过各种输入设备来提供对系统1000的元件的输入。此类输入设备包括但不限于:(i)射频(RF)部分,其接收例如广播公司通过空中发送的RF信号;(ii)组件(COMP)输入端子(或COMP输入端子的集合);(iii)通用串行总线(USB)输入端子;和/或(iv)高清晰度多媒体接口(HDMI)输入端子。在图10中未示出的其它示例包括复合视频。

在各个实施例中,框1130的输入设备具有相关联的相应输入处理元件,如本领域中已知的。例如,RF部分可以与适合于以下各项的元件相关联:(i)选择期望频率(也被称为选择信号,或将信号的频带限制为频率带);(ii)对选定信号进行下变频;(iii)再次将频带限制为较窄的频率带以选择(例如)在某些实施例中可以被称为信道的信号频率带;(iv)对经下变频的并经频带限制的信号进行下解调;(v)执行纠错;以及(vi)进行解复用以选择期望的数据分组流。各个实施例的RF部分包括用于执行这些功能的一个或多个元件,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行这些功能中的各种功能的调谐器,这些功能包括例如将接收到的信号下变频为较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,RF部分及其相关联的输入处理元件接收在有线(例如,电缆)介质上发送的RF信号,并通过滤波、下变频和再次滤波到期望频带来执行频率选择。各个实施例重新布置上述(和其它)元件的顺序,移除这些元件中的一些元件,和/或添加执行类似或不同功能的其它元件。添加元件可以包括在现有元件之间插入元件,诸如例如,插入放大器和模数转换器。在各个实施例中,RF部分包括天线。另外,USB和/或HDMI端子可以包括相应的接口处理器以通过USB和/或HDMI连接将系统1000连接到其它电子设备。应当理解,输入处理的各个方面(例如里德-所罗门纠错)可以根据需要例如在单独的输入处理IC内或在处理器1010内实施。类似地,USB或HDMI接口处理的各方面可以根据需要在单独的接口IC内或在处理器1010内实施。解调,经纠错和经解复用的流被提供给各种处理元件,包括例如处理器1010以及与存储器和存储元件结合操作的编码器/解码器1030以根据需要处理数据流以在输出设备上呈现。

可以在集成壳体内提供系统1000的各个元件。在集成壳体内,可以使用合适的连接布置(例如,本领域中已知的内部总线,包括Inter-IC(I2C)总线、布线和印刷电路板)互连各个元件并在各个元件之间发送数据。

系统1000包括通信接口1050,该通信接口使得能够经由通信信道1060与其它设备进行通信。通信接口1050可以包括但不限于被配置为在通信信道1060上发送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质内实施。

在各个实施例中,使用诸如Wi-Fi网络之类的无线网络(例如IEEE 802.11(IEEE是指电气和电子工程师协会))将数据流发送或以其它方式提供给系统1000。这些实施例的Wi-Fi信号在适于Wi-Fi通信的通信信道1060和通信接口1050上被接收。这些实施例的通信信道1060通常连接到接入点或路由器,该接入点或路由器提供对包括互联网的外部网络的接入,以允许流应用程序和其它过顶(over-the-top)通信。其它实施例使用机顶盒向系统1000提供流数据,该机顶盒通过输入块1130的HDMI连接来传递数据。其它实施例使用输入块1130的RF连接将流数据提供给系统1000。如上文所指示的,各个实施例以非流方式提供数据。另外,各个实施例使用除Wi-Fi之外的无线网络,例如蜂窝网络或蓝牙网络。

系统1000可以向包括显示器1100、扬声器1110和其它外围设备1120的各种输出设备提供输出信号。各个实施例的显示器1100包括例如触摸屏显示器、有机发光二极管(OLED)显示器、弯曲显示器和/或可折叠显示器中的一者或多者。显示器1100可以用于电视机、平板计算机、膝上型计算机、手机(移动电话)或其它设备。显示器1100还可以与其它组件集成(例如,集成在智能电话中)或者是单独的(例如,膝上型计算机的外部监视器)。在实施例的各个示例中,其它外围设备1120包括独立数字视频盘(或数字多功能盘)(DVR,用于两个术语)、盘播放器、立体声系统和/或照明系统。各个实施例使用基于系统1000的输出来提供功能的一个或多个外围设备1120。例如,盘播放器执行播放系统1000的输出的功能。

在各个实施例中,控制信号使用诸如AV.Link、消费者电子控件(CEC)或在有或没有用户干预的情况下启用设备对设备控制的其它通信协议之类的信令在系统1000与显示器1100、扬声器1110或其它外围设备1120之间通信。输出设备可以通过相应的接口1070、1080和1090经由专用连接通信耦合到系统1000。替代地,可以经由通信接口1050使用通信信道1060将输出设备连接到系统1000。显示器1100和扬声器1110可以与诸如例如电视机之类的电子设备中的系统1000的其它组件集成在单个单元中。在各个实施例中,显示接口1070包括显示驱动器,诸如例如时序控制器(T Con)芯片。

例如,如果输入1130的RF部分是单独的机顶盒的一部分,则显示器1100和扬声器1110可以替代地与一个或多个其它组件分离。在显示器1100和扬声器1110是外部组件的各个实施例中,可以经由专用输出连接来提供输出信号,该专用输出连接包括例如HDMI端口、USB端口或COMP输出。

可以通过由处理器1010实施的计算机软件或通过硬件或通过硬件与软件的组合来实施该实施例。作为非限制性示例,实施例可以由一个或多个集成电路来实施。存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实施,作为非限制性示例,诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。作为非限制性示例,处理器1010可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一者或多者。

图1的编码器100、图2的解码器200和图3的系统1000适于实施下文描述的实施例中的至少一者。

当以合并模式使用三角预测时,编码单元(CU)沿对角线或反对角线方向划分为两个三角预测单元(PU),如图4所示。CU中的每个三角形预测单元使用其自己的运动矢量和参考帧索引进行帧间预测,该运动矢量和参考帧索引是从合并候选列表推导的。

将自适应加权处理应用于两个三角形预测单元之间的对角线或反对角线边缘的预测样本,以推导整个CU的最终预测样本值,如图5所示。

三角形预测单元模式仅应用于跳过或合并模式中的CU。当将三角形预测单元模式应用于CU时,发信号通知索引(merge_idx),该索引指示将CU划分为两个三角形预测单元的方向,以及两个三角形预测单元的运动矢量。

对于两个预测单元,推导出5个单向预测量的通用列表。与常规合并过程相比,检查相同的空间和时间位置,但仅使用单向矢量。不将冗余运动矢量添加到列表中,而如果没有足够多候选,则将零运动矢量添加到列表的末尾。图6描绘了单向预测量推导过程。

对于给定的预测单元,运动矢量预测量的数量为5。针对每个对角线测试20个组合(5*4=20,这两个PU不能使用相同的运动矢量预测量)。索引范围为0至39,并且由三位元组的列表构成的查找表用于从索引中推导每个PU的划分方向和运动矢量。给定的三位元组的第一元素给出对角线方向,第二和第三元素分别给出PU0和PU1的预测量索引。表1示出了索引语法。

表1:三角形分区(PU)和对应的合并索引语法

可以为每个4x4子块存储运动矢量。当三角形PU用于CU时,用于给定分区(PU)的运动矢量被存储用于不位于对角线或反对角线边缘上的子块中的每一者。对于位于对角线或反对角线边缘上的子块,如果这两个分区(PU)中的两个运动矢量引用不同的列表(Mv0引用LIST_0和Mv1引用LIST_1,或者相反地,Mv1引用LIST_0和Mv0引用LIST_1),则存储它们,如果这两个运动矢量引用同一列表,则仅存储一个矢量,如图7所示。

如图8和9所描绘,还可以引入附加形状(诸如非三角形)来对两个单向预测进行加权。

在称为帧内-帧间多重假设(MH)模式的新模式中,将以合并模式执行的帧间预测(发信号通知合并索引以推导用于运动补偿预测的运动信息)与帧内预测模式或与另一个帧间模式(例如,单向预测AMVP、跳过或合并)组合。最终预测是合并索引预测与由帧内预测模式生成的预测的加权平均值,其中根据帧内方向和当前样本与帧内参考样本之间的距离,应用不同的权重。发信号通知帧内预测模式(它可以是完整的预测模式集的子集(例如,4))。

如图11所示,当前块被划分为4个等面积区域。随着区域远离帧内参考样本,权重逐渐减小,因此逐渐降低帧内图像对于预测帧间的影响。每个权重集(被表示为(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))应用于对应的区域,如图10的示例中针对帧内垂直方向预测所描绘的。选择DC或平面模式时,或者Cu宽度或高于小于4时,对所有样本应用相等权重。在多重假设CU中进行帧内预测时,色度分量使用直接模式(与亮度相同的帧内方向)。

图11示出了用于多重假设中的4帧内预测的形状。

在下文中,使用术语三角形分区和多种形状分区,但是根据上下文和应用可以互换。

然而,对于三角形合并,这两种预测的加权处理是逐像素的,并且逐像素操作实施比块或子块操作更难以优化。

如果选择水平或垂直预测,则多重假设(MH)使用与4个不同权重相对应的4个子区域进行加权处理。MH模式可供面积大于或等于64个样本的块使用,这表示允许使用4x16和16x4的块。在这种情况下,对于水平或垂直预测,MH可以使用16x1和1x16的区域。对于8x8的块,可以使用2x8的子区域,如图12所示。然而,用于预测的区域为4x4。换句话说,根据这些区域的相应大小,在存储预测信息的区域与实际用于执行这些预测的区域之间可能存在不一致。

此外,对于三角形PU,除了覆盖对角线或反对角线边缘的子块之外,即使该子块靠近边缘,也仅存储一个运动矢量,从而导致信息丢失。

对于多重假设,运动矢量和帧内方向被存储,但是仅帧间信息用作帧间邻近块的预测量,而帧内信息用作帧内邻近块的预测量。

这两个方面使得这两种工具(三角形分区和多重假设预测模式)的设计不一致。

另外,在三角形分区(PU)与多重假设预测的组合中,三角形的方向可能与帧内预测以及完成加权处理的方式不兼容。例如,在图13中,选择右上至左下(TR2BL)三角形分区。因为PU 1的左侧与当前CU外部的左行处的用于帧内预测的重构样本相距较远,所以对第二PU(PU1)的水平帧内预测效率较低。

多重假设是帧间预测与帧内预测的组合。中间部分可以使用双向预测。多重假设流水线由许多步骤组成:两次运动补偿、双向光流(BIO)、广义双向预测(GBi)加权、帧间和帧内预测的限幅、帧间和帧内预测的加权,如图14所示。

在一个实施例中,仅进行一个加权步骤以将两个单向帧间预测和帧内预测相加,如图15所示。对于帧间预测,以较高精度(通常为14位)进行运动补偿步骤,也可以以较高精度进行帧内预测,因此对所有预测的加权都可以以较高精度进行。在VTM-3.0中,对于平面或DC帧内预测,用于组合所有多重假设预测的权重对于单向帧间预测为1/4,而对于帧内预测为1/2。在该实施例中,由于在相同的加权步骤期间将所有预测相加,所以权重可以被改变为接近1/3(由于整数运算,因此优选地通过移位使用除法,因此位数精度除以例如2的幂),例如2个帧间单向预测的权重为3/8,而帧内预测的权重为2/8(3/8+3/8+2/8=1)。或者如果使用5位精度而不是3位精度,则帧间单向预测的权重为11/32,而帧内预测的权重为10/32。

至少一个实施例涉及在对视频进行编码或解码时处理对块的预测,其中,使用两个不同帧间预测或帧间预测和帧内预测的组合来执行预测,在这些预测可能潜在地完全不相关的上下文中。因此,提出了统一多形状PU分区模式(更具体地是三角形分区模式)和多重假设模式的设计,并提出如下不同的示范性方面:

-将加权应用于每个子块的三角形分区(更通常是多形状PU分区)中;

-执行每个子块的权重的存储;

-使用作为2的幂的权重;

-根据CU大小调整多重假设中的区域数量;

-强制将多重假设预测和多形状PU分区进行组合的CU仅使用单向预测,因此,当为CU启用多重假设预测和多形状PU分区时,禁用BIO和GBi;

-在多形状PU分区模式的候选列表中添加帧内预测模式作为附加候选;

-当用于帧内预测的参考样本远离要预测的PU的样本时,对于多形状PU分区的特定PU,禁用一些帧内预测模式;

-当将多重假设预测与多形状PU分区进行组合时,对每个子块执行运动矢量或帧内模式的存储。

本实施例的一个或多个方面(诸如,例如,对帧间编码块的双向预测)可以例如在图3的系统1000中以及在根据图1的编码器100的元件145、170、175中和在根据图2的视频解码器200的元件230和275中实施。

按子块的加权处理

在一个实施例中,将相同权重应用于给定子块内的所有样本。例如,对于三角形分区,覆盖边缘的子块可以对2个预测P0和P1使用相同权重。对于靠近边缘但不覆盖边缘的子块,权重对于与该子块所属的三角形(或预测单元)相对应的预测而言是较大的,如图16所示。例如,对角线上被标记为6+2的子块表示对P0的加权为6/8,而对P1的加权为2/8。对角线对两个预测进行相等加权。该原理类似地适用于矩形分区。

在一个实施例中,权重被指定为2的幂,这导致通过用移位运算代替乘法来简化计算。在每个样本使用2次乘法、再除以8常规示例中,使用等于2的幂的权重将导致2次移位和1次除法(通过移位运算应用),因此效率高得多。

按子块的权重存储

在至少一个实施例中,按子块加权允许加权处理与信息存储之间的一致性。由于广义双向预测模式(GBi)使用已为每个CU存储的权重,因此三角形或多重假设的加权处理所使用的权重的存储没有成本。图17示出了每个子块的运动矢量和相关联的权重的存储的示例。如在GBi的情况下,权重可以用于预测或推断在解码过程中稍后处理的下一CU的权重。

调整以多重假设模式编码的CU的子区域数量

在至少一个实施例中,调整以多重假设模式编码的CU的子区域数量。如果在预测方向上的块的大小小于给定大小S(例如S=16),则使用较少的子区域,以便在一个给定子区域中具有最少数量的样本S

多重假设与多种形状预测单元的组合

多重假设的单向帧间预测限制

在以下实施例中,多重假设模式被其中预测量中的一者是帧内模式的多形状预测模式代替。

在一个实施例中,为组合多重假设预测模式和多种形状预测模式指定以下限制。当针对当前CU启用多重假设预测模式和多种形状预测模式时,帧间预测被限制为单向。通过设计BIO和GBi加权,禁用这种限制,因为这两个过程仅用于双向预测。因此,与这两种模式相关联的语法元素不会被解码。具有这种单向限制的多重假设流水线在图19中被描绘为与图14或15进行比较。通过简化流水线,允许过程更高效。

为了进一步简化多重假设流水线,可以在帧内预测与帧间预测组合之后仅对预测进行一次限幅,如图20所描绘。这允许帧间预测与帧内预测之间的加权处理具有更高精度(通常为14位而不是10位)。

下表示出了应用这种限制的语法和语义的示例。首先在位流中发信号通知标志merge_triangle_flag和mh_merge_flag。当这两个标志都等于1时,无法应用双向预测。因此,不会发信号通知语法元素gbi_idx(其发信号通知加权索引),并且将激活BIO(bioEnableFlag)的参数强制为0。如果标志中的至少一者等于0,并且该双向预测模式被激活,则发信号通知gbi_idx,并且bioEnableFlag可能被设置为1。

帧内预测作为多种形状的附加候选

在一个实施例中,为了协调多种形状预测和多重假设预测,在多种形状预测的预测量列表中添加帧内模式。对于三角形分区模式,可以推导5个单向运动矢量的列表,然后在5个预测量中选择2个运动矢量,每个分区(PU)一个运动矢量,以预测当前CU。

从邻近块推导帧内模式

在预测量列表中添加帧内方向的第一种方式是从邻近块传播帧内方向。代替丢弃邻近的帧内编码块,将来自邻近块的帧内方向添加到用于多种形状预测模式的候选列表推导中。与三角形/多种形状分区的预测预测量的推导过程相比,来自邻近块的帧内模式被添加到最终的预测量列表中,如图21所示。

来自分区形状的隐式帧内预测方向

在预测量列表中添加帧内方向的第二方式是根据PU形状将一个或多个帧内方向隐式添加到预测量列表中。例如,在一个实施例中,使用以下项(如图22所示):

-为垂直PU形状添加水平预测,

-水平PU形状的垂直预测,

-TR2BL(右上至左下)PU形状的左上方向预测,

-PU TL2BR(左上至右下)形状的左下和右上方向预测,

-可以为所有分区添加DC、Planar。

如图23所示,修改对三角形/多种形状分区的预测量的推导过程。

在第一变型中,可以为第一预测(PU)添加某种帧内方向预测,但是不为第二预测(PU)添加,因为用于预测的参考样本可能与第二预测相距甚远。

在另一个变型中,可以根据预测形状来添加帧内DC、Planar模式或其它帧内方向。

在另一个变型中,可以为PU0和PU1选择帧内预测,在这种情况下,多重假设是帧内-帧内,并且加权处理取决于所选择的帧内方向。

多种形状的列表0和列表1的单独预测量候选

在一个实施例中,使用多个形状预测单元为CU推导预测量的两个列表,如图24所示。预测量的第一列表仅含有引用LIST_0或帧内方向的运动矢量,预测量的第二列表仅含有引用LIST_1或帧内方向的运动矢量。如果第一预测单元使用来自列表0中的候选,则第二预测单元使用来自列表1中的预测量,如果第一预测单元使用来自列表1中的候选,则第二预测单元使用来自列表0中的预测量。如果每个列表中有4个候选可用,则组合总数为2*4*4=32。第一PU可以使用来自List_0中的4个候选和来自List_1中的4个候选,第二PU可以仅使用来自与第一PU不同的另一列表中的4个候选。

HMVP(基于历史的运动矢量预测)保留了先前编码的CU所使用的6个最后运动矢量的缓冲器。预测量的该列表可以在推导用于多个形状分区的单向运动矢量的附加步骤中使用。以相同方式,可以将从第一空间候选推导的单向ATMVP候选添加到单向预测量列表中。

具有运动矢量差的合并(MMVD)为第一或第二合并候选添加小运动矢量差(MVD)。对多个形状分区使用MMVD可以提高编码效率。MMVD的唯一约束是它仅应用于帧间预测量。

其中帧内预测量在合并列表中的实施例的问题在于,在解析阶段期间,不知道解析的合并索引是否指示帧内预测量的使用。一种解决方案是在可供MMVD使用的多个帧间候选(例如,2个帧间候选)之后添加帧内预测量。

每个预测单元的单独预测量候选

在一个实施例中,使用多个形状预测单元为CU推导预测量的两个列表,每个预测单元一个列表。所检查的空间位置对于每个分区而言不是相同的。对于所有形状,候选列表推导也不同,如图25所示。PU0或PU1使用空间位置左上、上、右上、左、左下以及时间位置。例如,在图25中,对于TL2BR形状(左上图),检查上、右上和时间位置以推导PU0的运动矢量预测量列表,并且检查左上、左和左下位置以推导PU1的运动矢量预测量列表。

图26和27示出了对TL2BR三角形分区中的每个分区的单独候选推导。所检查的空间和时间位置对于两个分区是不同的,但是过程对于两个分区是相同的。

在该实施例中,可以通过使用两个或更多个空间位置(与对运动矢量检查的空间位置相同)在预测量推导过程中添加平面或仿射单向候选。当仿射使用继承的运动模型时,应用相同过程来选择候选。当仿射使用构造的运动模型时,将相同过程应用于用于构造运动模型的每个控制点运动矢量(CPMV)候选。对于平面或回归运动矢量场(RMVF),将应用相同过程,只有接近分区的子块才可以用于推导运动模型。如果分区没有相邻子块,则该模式不可用。例如,对于TR2BL分区中的PU1,Planar不可用。

在一种变型中,空间位置靠近2个分区之间的边界,该位置可以用于两个列表,例如TL2BR分区的左上位置。在AMVP的情况下,对于两个PU之间的共享空间位置,仅发送一个mvd。在一种变型中,所检查的空间位置对于两个PU是不同的,但是对于所有形状均是相同的。在另一种变型中,在HEVC合并中检查除空间位置以外的其它位置,并且取决于分区,如图28中的水平分区的示例所示。

多重假设和多种形状组合的帧内和帧间信息传播

当用多重假设对CU进行编码时,帧间运动信息和帧内方向均被存储,并且可以用于邻近块预测。帧内编码块可以使用在已经以多重假设模式编码的邻近块中使用的帧内方向(和相反情况)。在使用多重假设的CU中,无论帧内方向如何,均针对该CU内部的所有子块存储了用于预测的运动矢量和帧内方向,如图29所描绘。

在至少一个实施例中,根据按子块的权重存储,取决于如何预测该子块,为每个子块存储帧间和帧内信息。通常,对于一些子块,由于在该子块的预测过程中尚未使用帧内(帧间)信息,因此不存储帧内(帧间)信息,如图30所描绘。该实施例有利地减少了存储存储器需求。

各种实施方式涉及解码。如本申请中所使用的,“解码”可以涵盖例如对接收到的编码序列执行的全部或部分过程,以便产生适合于显示的最终输出。在各个实施例中,此类过程包括通常由解码器执行的过程中的一者或多者,例如,熵解码、逆量化、逆变换和差分解码。在各个实施例中,此类过程还或者替代地包括由本申请中描述的各种实施方式的解码器执行的过程,例如图4和8中呈现的过程。

作为进一步示例,在一个实施例中,“解码”仅是指熵解码,在另一个实施例中,“解码”仅是指差分解码,并且在另一个实施例中,“解码”是指熵解码与差分解码的组合。基于特定描述的上下文,短语“解码过程”是意图专门指代操作子集还是广义上指代更广泛的解码过程将是明显的,并且相信本领域技术人员会很好地理解。

各种实施方式涉及编码。以与上文关于“解码”的讨论类似的方式,如在本申请中使用的“编码”可以涵盖例如对输入视频序列执行的全部或部分过程以便产生编码的位流。在各个实施例中,此类过程包括通常由编码器执行的过程中的一者或多者,例如分区、差分编码、变换、量化和熵编码。在各个实施例中,此类过程还或者替代地包括由本申请中描述的各种实施方式的编码器执行的过程,例如图4和8中的过程。

作为进一步示例,在一个实施例中,“编码”仅是指熵编码,在另一个实施例中,“编码”仅是指差分编码,并且在另一个实施例中,“编码”是指差分编码与熵编码的组合。基于特定描述的上下文,短语“编码过程”是意图专门指代操作子集还是广义上指代更广泛的编码过程将是明显的,并且相信本领域技术人员会很好地理解。

注意,本文所使用的语法元素是描述性术语。因而,它们不排除使用其它语法元素名称。

当将附图作为流程图呈现时,应当理解,其还提供了对应装置的框图。类似地,当将附图作为框图呈现时,应当理解,其还提供了对应方法/过程的流程图。

本文描述的实施方式和各方面可以例如以方法或过程、装置、软件程序、数据流或信号来实施。即使仅在单一形式的实施方式中进行讨论(例如,仅作为一种方法讨论),所讨论的特征的实施方式也可以以其它形式(例如,装置或程序)来实施。装置可以例如以适当的硬件、软件和固件来实施。该方法可以在例如处理器中实施,该处理器通常是指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如计算机、手机、便携式/个人数字助理(“PDA”)以及促进最终用户之间信息通信的其它设备。

对“一个实施例”或“实施例”或“一种实施方式”或“实施方式”以及它们的其它变型的提及表示在至少一个实施例中包括结合该实施例描述的特定特征、结构、特性等等。因此,在本申请中各处出现的短语“在一个实施例中”或“在实施例中”或“在一种实施方式中”或“在实施方式中”以及任何其它变型的出现不一定全部是指同一实施例。

另外,本申请可以涉及“确定”各种信息。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器中检索信息中的一项或多项。

此外,本申请可以涉及“访问”各种信息。访问信息可以包括例如以下一项或多项:接收信息、(例如从存储器中)检索信息、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息。

另外,本申请可以涉及“接收”各种信息。接收与“访问”一样意图作为广义术语。接收信息可以包括例如以下一项或多项:访问信息或(例如,从存储器中)检索信息。此外,在诸如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息之类的操作期间,通常以一种或另一种方式涉及“接收”。

应当理解,例如在“A/B”、“A和/或B的情况下”以及“A和B中的至少一者”的情况下,使用以下“/”、“和/或”和“……中的至少一者”中的任一者意图涵盖仅选择第一个列出的选项(A),或仅选择第二个列出的选项(B),或选择两个选项(A和B)。作为进一步的示例,在“A、B和/或C”和“A、B和C中的至少一者”的情况下,这种短语意图仅涵盖选择第一个列出的选项(A)或仅选择第二个列出的选项(B),或仅选择第三个列出的选项(C),或仅选择第一个和第二个列出的选项(A和B),或仅选择第一个和第三个列出的选项(A和C),或仅选择第二个和第三个列出的选项(B和C),或选择所有三个选项(A和B和C)。如对于本领域和相关领域的普通技术人员明显的那样,对于列出的尽可能多的项目,这可以被扩展。

另外,如本文所使用的,词语“信号”尤其是指向对应解码器指示某些内容。例如,在某些实施例中,编码器发信号通知特定模式。这样,在实施例中,在编码器侧和解码器侧都使用相同的参数。因此,例如,编码器可以将特定参数发送(显式信令)到解码器,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其它参数,则可以使用信令而无需发送(隐式信令)以仅允许解码器知道并选择特定参数。通过避免发送任何实际功能,在各个实施例中实现了位节省。应当理解,可以以多种方式来实现信令。例如,在各个实施例中,一个或多个语法元素、标志等等用于向对应的解码器发信号通知信息。尽管前面涉及单词“信号”的动词形式,但是单词“信号”在本文中也可以用作名词。

对于本领域的普通技术人员将明显的是,实施方式可以产生各种信号,这些信号被格式化以携带例如可以被存储或发送的信息。该信息可以包括例如用于执行方法的指令或由所描述的实施方式中的一者产生的数据。例如,信号可以被格式化以携带所描述的实施例的位流。可以将这种信号格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且利用编码的数据流来调制载波。信号所携带的信息可以是例如模拟或数字信息。众所周知,该信号可以通过各种不同的有线或无线链路来发送。信号可以存储在处理器可读介质上。

我们描述了许多实施例。这些实施例的特征可以单独提供或以任何组合提供。此外,实施例可以单独或以任意组合包括跨各种权利要求类别和类型的以下特征、设备或方面中的一者或多者:

一种用于在对视频进行编码或解码时处理对块的预测的语法,所述预测是使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行,其中,该语法包括与对块的预测有关的元素。所述语法包括以子块级别进行这两个预测之间的加权。所述语法包括以子块级别进行具有对应加权值的运动矢量的存储。

一种视频编码方法包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权。

一种视频编码方法包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权以及具有对应加权值的运动矢量的存储。

一种视频解码方法包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权。

一种视频编码方法包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权以及具有对应加权值的运动矢量的存储。

一种视频编码器、转码器或另一电子设备执行视频编码,包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权。一种视频编码方法包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权以及具有对应加权值的运动矢量的存储。

一种TV、机顶盒、手机、平板计算机或另一电子设备执行视频解码,包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权。一种视频编码方法包括使用两个不同的帧间预测或者帧间预测与帧内预测的组合来执行块预测,并且其中,以子块级别进行这两个预测之间的加权以及具有对应加权值的运动矢量的存储。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号