首页> 中国专利> 用于视频编码和解码的多个编码单元之间的参数分组

用于视频编码和解码的多个编码单元之间的参数分组

摘要

提出了至少一种用于对视频进行编码或解码的方法和装置,并且可以包括例如获得一组编码单元,该组编码单元包括从当前块划分出的多个编码单元中的两个或多个,其中多个编码单元中的两个或多个共享编码参数,并且该组编码单元与和流水线式解码操作相关联的至少两个不同的流水线式单元重叠,并基于该组编码单元和共享的编码参数对当前块进行编码或解码。

著录项

  • 公开/公告号CN113273198A

    专利类型发明专利

  • 公开/公告日2021-08-17

    原文格式PDF

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

    申请/专利号CN201980087166.2

  • 发明设计人 F.莱林内克;T.波伊里尔;K.纳瑟;

    申请日2019-10-31

  • 分类号H04N19/436(20060101);H04N19/70(20060101);

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

  • 代理人叶齐峰

  • 地址 美国特拉华州

  • 入库时间 2023-06-19 12:14:58

说明书

技术领域

所提出的实施例总体上涉及用于视频编码或解码的方法和装置,并且更具体而言,涉及用于有效地对视频进行编码和解码的方法和装置,其中从当前块划分出的并且具有相同预测信息的多个编码单元被分组在一起以用于编码或解码。

背景技术

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

最近,视频压缩技术的新增内容包括参考软件和/或文档的各种版本,这是联合视频探索小组(JVET)正在开发的联合探索模型(JEM)和VVC(通用视频编码),是新视频编码标准开发的一部分,称作通用视频编码(VVC)。VVC的目的是对现有的HEVC(高效视频编码)标准进行进一步的改进。

发明内容

根据本公开的至少一个实施例的总体方面,提出了一种用于视频编码的方法,包括将当前块划分为多个编码单元;将多个编码单元分组为多组编码单元,其中,多组编码单元的每组中的分组的编码单元具有相同的预测信息;以及基于多组编码单元和各自相同的预测信息对当前块进行编码。

根据至少一个实施例的总体方面,提出了一种用于视频解码的方法,包括:获得与从当前块划分的多个编码单元相对应的多组编码单元,其中,多组编码单元中的每组中的分组的编码单元具有相同的预测信息;以及基于多组编码单元和各自相同的预测信息来对当前块进行解码。

根据至少一个实施例的总体方面,提出了一种用于视频编码的装置,包括:一个或多个处理器,被配置为将当前块划分为多个编码单元;将多个编码单元分组为多组编码单元,其中,多组编码单元的每组中的分组的编码单元具有相同的预测信息;以及基于多组编码单元和各自相同的预测信息对当前块进行编码。

根据至少一个实施例的另一个总体方面,提出了一种用于视频解码的装置,包括:一个或多个处理器,被配置为获得与从当前块划分的多个编码单元相对应的多组编码单元,其中,多个分组的编码单元中的每组中的分组的编码单元具有相同的预测信息;并且基于所述多组编码单元和各自相同的预测信息对当前块进行解码。

根据本公开的至少一个实施例的总体方面,提出了一种用于视频编码的装置,包括用于将当前块划分为多个编码单元的部件;用于将多个编码单元分组为多组编码单元的部件,其中,多组编码单元的每组中的分组的编码单元具有相同的预测信息;以及用于基于多组编码单元和各自相同的预测信息对当前块进行编码的部件。

根据至少一个实施例的总体方面,提出了一种用于视频解码的装置,包括用于获得与从当前块划分的多个编码单元相对应的多组编码单元的部件,其中,多组编码单元的每组中的分组的编码单元具有相同的预测信息;以及用于基于多组编码单元和各自相同的预测信息对当前块进行解码的部件。

根据至少一个实施例的另一个总体方面,提出了一种比特流,其中通过操作来形成所述比特流:将当前块划分为多个编码单元;将多个编码单元分组为多组编码单元,其中,所述多组编码单元的每组中的分组的编码单元具有相同的预测信息;并且基于多组编码单元和各自相同的预测信息将当前块编码为比特流。

所提出的一个或多个实施例还提供了一种计算机可读存储介质,其上存储有根据本文所述的一个或多个方面和/或实施例的用于对视频数据进行编码或解码的指令。

所提出的实施例还提供一种计算机可读存储介质,其上存储有根据本文所述的一个或多个方面和/或实施例生成的比特流。

所提出的实施例还提供一种用于传输根据本文描述的一个或多个方面和/或实施例生成的比特流的方法和装置。

以上给出了主题的简化概述,以便提供对本公开的某些方面的基本理解。该概述不是主题的详尽概述。其无意于标识实施例的关键/重要元素或描绘主题的范围。其唯一目的是以简化的形式提出主题的一些概念,作为下面提供的更详细描述的序言。

附图说明

通过结合附图考虑以下详细描述,可以更好地理解本公开,其中:

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

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

图3图示了表示压缩的HEVC图片的编码树单元(CTU)和编码树(CT)的概念;

图4图示了将编码树单元(CTU)划分为编码单元(CU)、预测单元(PU)和变换单元(TU)的图;

图5图示了四叉树加二叉树(QTBT)CTU表示;

图6图示了可以在CTU的扩展QTBT表示中使用的一组CU分区的示例;

图7图示了被选择为对图片的示例进行编码的编码结构的示例;

图8图示了由于在HEVC编解码器中使用QTBT+ABT(非对称二叉树)编码结构而导致的编码效率提高;

图9图示了如本文所述的四叉树分割语法解码过程。

图10图示了如本文所述的multi-tree-type语法的解码过程的示例;

图11图示了对如本文所述的编码单元进行解码和重构的过程的示例;

图12到图17图示了根据本公开的至少一个实施例的各方面的各种示例;

图18图示了选择CTU的编码树的率失真优化过程的示例;

图19图示了根据本公开的至少一个实施例的一方面的另一示例;

图20图示了关于虚拟流水线式解码单元(VPDU)的各种编码树配置;

图21和图22图示了根据本公开的使用预测数据分组的各种示例;以及

图23图示了根据本公开的适于实现各个方面、实施例和特征中的一个或多个的系统的示例的框图。

应当理解,附图是出于图示各个方面和实施例的示例的目的,并且不一定是唯一可能的配置。在各个附图中,相似的附图标记指代相同或相似的特征。

具体实施方式

现在转到附图,图1图示了诸如高效视频编码(HEVC)编码器之类的视频编码器100的示例。图1还图示了其中对HEVC标准进行了改进的编码器或采用类似于HEVC的技术的编码器,例如由JVET(联合视频探索小组)开发的JEM(联合探索模型)编码器,作为新视频编码标准开发的一部分,称作通用视频编码(VVC)。

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

在被编码之前,视频序列可以经过预编码处理(101),例如,对输入的彩色图片进行颜色变换(例如,从RGB 4:4:4到YCbCr 4:2:0的转换),或对输入图片分量执行重新映射,以使信号分布对于压缩更弹性(例如,使用颜色分量之一的直方图均衡化)。元数据可以与预处理相关联,并附加到比特流。

在HEVC中,为了编码具有一个或多个图片的视频序列,将图片分区(102)成一个或多个条带,其中每个条带可包括一个或多个条带段。条带段被组织为编码单元、预测单元和变换单元。HEVC规范区分“块”和“单元”,其中“块”寻址样本阵列中的特定区域(例如亮度,Y),而“单元”包括所有编码颜色分量(Y、Cb、Cr或单色)的共位块、语法元素以及与这些块相关联的预测数据(例如,运动矢量)。

为了在HEVC中进行编码,将图片分区为具有可配置大小的方形编码树块(CTB),并将一组连续的编码树块分组为条带。编码树单元(CTU)包含已编码颜色分量的CTB。CTB是分区成编码块(CB)的四叉树的根,并且编码块可以被分区成一个或多个预测块(PB),并形成被分区成变换块(TB)的四叉树的根。与编码块、预测块和变换块对应,编码单元(CU)包括预测单元(PU)和树形结构的变换单元(TU)集,PU包括所有颜色分量的预测信息,并且TU包括每个颜色分量的残差编码语法结构。亮度分量的CB、PB和TB的大小适用于对应的CU、PU和TU。

在JEM中,QTBT(四叉树加二叉树)结构移除了HEVC中多个分区类型的概念,即移除了CU、PU和TU概念的分离。编码树单元(CTU)首先由四叉树结构分区。四叉树叶节点进一步由二叉树结构分区。二叉树叶节点被称为编码单元(CU),它用于预测和变换而无需进一步分区。因此,在新的编码QTBT块结构中,CU、PU和TU具有相同的块大小。在JEM中,CU由不同颜色分量的编码块(CB)组成。

在本申请中,术语“块”可用于指代例如CTU、CU、PU、TU、CB、PB和TB中的任何一个。另外,“块”还可用于指代H.264/AVC或其他视频编码标准中指定的宏块和分区,并且更一般地指代各种大小的数据阵列。

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

帧内模式下的CU是根据同一条带内的重构的邻近样本被预测的。HEVC中提供了一组35种帧内预测模式,其中包括DC、平面和33种角度预测模式。从与当前块相邻的行和列重构帧内预测参考。使用来自先前重构的块的可用样本,参考在水平和垂直方向上延伸超过块大小的两倍。当将角度预测模式用于帧内预测时,可以沿着由角度预测模式指示的方向复制参考样本。

当前块的适用的亮度帧内预测模式可以使用HEVC中的两个不同选项被编码。如果适用的模式被包含在三个最可能的模式(MPM)的构造列表中,则该模式将通过MPM列表中的索引被用信号通知。否则,该模式通过模式索引的定长二值化被用信号通知。三种最可能的模式是从顶部和左侧邻近块的帧内预测模式得出的。

与HEVC相比,JEM中的目前建议增加了帧内预测模式的数量。例如,除了平面模式0和DC模式1之外,JEM3.0还使用65种定向帧内预测模式。定向帧内预测模式以从2到66的升序被编号,其方式与HEVC中从2到34的方式相同。65个定向预测模式包括HEVC中指定的33个定向预测模式加上对应于两个原始角度之间的角度的32个附加定向预测模式。换句话说,JEM中的预测方向具有HEVC角度分辨率的两倍。已经提出了更高数量的预测模式以在建议的更大的块尺寸的情况下利用更精细的角度结构的可能性。

对于HEVC中的帧间CU,将对应的编码块进一步分区为一个或多个预测块。在PB级别上执行帧间预测,并且对应的PU包含关于如何执行帧间预测的信息。运动信息(例如,运动矢量和参考图片索引)可以通过两种方法(即“合并模式”和“高级运动矢量预测(AMVP)”)被用信号通知。

在合并模式中,视频编码器或解码器基于被编码的块来组装候选列表,并且视频编码器用信号通知候选列表中候选之一的索引。在解码器侧,基于用信号通知的候选来重构运动矢量(MV)和参考图片索引。

在AMVP中,视频编码器或解码器基于从已被编码的块确定的运动矢量来组装候选列表。然后,视频编码器用信号通知候选列表中的索引以标识运动矢量预测量(MVP),并用信号通知运动矢量差(MVD)。在解码器侧,运动矢量(MV)被重构为MVP+MVD。适用的参考图片索引也在AMVP的PU语法中被明确编码。

然后对预测残差进行变换(125)和量化(130)。变换通常基于可分离的变换。例如,首先在水平方向上应用DCT变换,然后在垂直方向上应用DCT变换。对于HEVC,支持4×4、8×8、16×16和32×32的变换块大小。核心变换矩阵的元素是通过近似缩放的离散余弦变换(DCT)基函数而得出的。HEVC变换的设计考虑因素例如是当将矩阵条目指定为整数值时,限制用于变换计算的动态范围,并将精度和与正交性的接近度最大化。为简单起见,仅指定了一个长度为32点的整数矩阵,并且将子采样版本用于其他大小。对于4×4的变换块大小,将从离散正弦变换(DST)导出的替代整数变换应用于帧内预测模式的亮度残差块。

在JEM中,两个方向上使用的变换可以不同(例如,一个方向上的DCT,另一个方向上的DST),这导致了各种各样的2D变换,而在以前的编解码器中,给定的块大小的2D变换的多样性通常是有限的。

对量化的变换系数以及运动矢量和其他语法元素进行熵编码(145),以输出比特流。编码器还可以跳过变换,并以4x4 TU为基础将量化直接应用于未变换的残差信号。编码器还可以绕过变换和量化两者,即,在不应用变换或量化过程的情况下直接对残差进行编码。在直接PCM编码中,不应用任何预测,并且将编码单元样本直接编码到比特流中。

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

图2图示了示例性视频解码器200(例如,HEVC解码器)的框图。在示例性解码器200中,如下所述,由解码器元件对比特流进行解码。如图1所示,视频解码器200通常执行与按图1描述的编码通道相对的解码通道,图1执行视频解码作为对视频数据进行编码的一部分。图2还图示了其中对HEVC标准进行了改进的解码器或采用类似于HEVC的技术的解码器,例如VCC中的JEM解码器。

特别地,解码器的输入包括可由视频编码器100生成的视频比特流。首先对该比特流进行熵解码(230),以获得变换系数、运动矢量、图片分区信息和其他编码的信息。对于HEVC,图片分区信息指示CTU的大小以及将CTU拆分为CU并且在适用时可能拆分为PU的方式。因此,解码器可以根据解码的图片分区信息将图片分区(235)成CTU,并且将每个CTU分区成CU。对于JEM,解码器可以基于指示QTBT结构的分区信息来划分图片。对变换系数进行反量化(240)和逆变换(250),以对预测残差进行解码。

组合(255)解码的预测残差和预测的块,重构图像块。可以从帧内预测(260)或运动补偿预测(即帧间预测)(275)获得(270)预测的块。如上所述,AMVP和合并模式技术可用于导出用于运动补偿的运动矢量,其可使用插值滤波器来计算参考块的亚整数(sub-integer)样本的插值。环内滤波器(265)被应用于重构的图像。滤波后的图像被存储在参考图片缓冲器(280)中。

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

如上所述,本公开涉及视频压缩领域。总体上,与现有的视频压缩系统相比,一方面涉及提高压缩效率,另一方面涉及以共同确保高编码效率的方式提供表示亮度和色度编码树以及对亮度和色度压缩的块进行编码的各个方面和实施例,同时考虑到一些硬件解码流水线约束。

在HEVC视频压缩标准中,图片被划分为所谓的编码树单元(CTU),其大小通常为64x64、128x128或256x256像素。每个CTU由压缩域中的编码树表示。这是CTU的四叉树划分,其中每个叶子称为编码单元(CU),如图3所示。然后,为每个CU提供一些帧内或帧间预测参数(预测信息)。为此,每个CU在空间上被分区为一个或多个预测单元(PU),每个PU被分配一些预测信息。如图4所示,在CU级别上分配帧内或帧间编码模式。

新出现的视频压缩工具包括压缩域中的编码树单元表示,以便在压缩域中以更灵活的方式表示图片数据。与HEVC标准的CU/PU/TU设置相比,编码树的这种更灵活的表示的优点在于,它提供了增加的压缩效率。

例如,四叉树加二叉树(QTBT)编码工具提供了这种增加的灵活性。它涉及编码树,其中的编码单元既可以按四叉树也可以按二叉树方式分割。图5中图示了编码树单元的编码树表示的QTBT类型的图示。

例如通过率失真优化过程在编码器侧决定编码单元的分割,该过程涉及以最小的率失真代价确定CTU的QTBT表示。

在QTBT技术中,CU具有正方形或矩形形状。编码单元的大小通常为2的幂,范围为4到128。

除了用于编码单元的多种矩形形状之外,这种新的CTU表示还具有诸如相对于HEVC有所不同的以下特征。CTU的QTBT分解分为两个阶段:首先以四叉树的方式分割CTU,然后可以以二叉方式进一步划分每个四叉树的每个叶子。这在图5的右侧被图示,其中,实线表示四叉树分解阶段,虚线表示在空间上嵌入四叉树叶子的二元分解。

在帧内条带中,亮度和色度块分区结构是分开的,并且是独立决定的。

不再采用将CU分区成预测单元或变换单元。换句话说,每个编码单元系统地由单个预测单元(2N×2N预测单元分区类型)和单个变换单元(不划分成变换树)组成。

此外,在CTU的编码树的表示中,例如在正在开发的VVC标准中,也可以采用一些其他的CU三叉树分区,如图6所示。可以认为图6图示的分区提供了CTU的扩展QTBT表示。也就是说,可以使用CU的所谓的三叉树分区,从而导致图6图示的可能分区的集合。三叉树分区涉及在所考虑的方向上将CU分割成相对于父CU的大小为(1/4、1/2、1/4)的三个子CU。

图7示出了通过采用图6图示的分割模式的视频编码器基于图片的典型块划分来对图片进行编码的编码结构的示例。在图7中,由叠加在图片上的网格指示的各个正方形代表CTU的四叉树分解以及嵌入四叉树中的对称二叉树和三叉树分解。如上所述的包括诸如QTBT+TT(三叉树)之类的编码结构的拓扑可以提供如图8所图示的显著的编码效率改善用于HEVC编解码器。

但是,编解码器架构可能不再像HEVC那样涉及根据变换树对CU进行分区。在本文档所附的表1中示出了表示CTU的编码树的方法的示例,涉及四叉树分割以及用于表示它的相关语法(例如,信号和/或比特流)。

图9图示了对应于表1的语法的四叉树分割语法解码过程900的示例。参照图9和表1,该示例涉及编码的标志qt_split_cu_flag,其被解析(901)并且指示当前CU是否以四叉树方式被分割为四个子编码单元(903)。如果是(在902处为是),则将编码四叉树语法递归地应用于从该四叉树分割所发出的每个子CU(903)。否则(在902处为否),使用multi-tree-type语法用信号通知以三叉或二叉方式对当前CU进行进一步递归分割(904)。

本文档所附表2中所示的语法示出了发信号通知三叉/二叉分割方法的示例。在图10中图示了用于解码这种multi-tree-type语法的过程1000的示例。图10中的multi-tree-type分割语法的示例涉及三个标志。解析第一标志mtt_split_cu_flag(1010),并指示当前CU是以二叉还是三叉方式被分割(1015)。解析第二标志mtt_split_cu_vertical_flag(1030),并指示三叉/二叉分割的方向(垂直或水平)。解析第三标志mtt_split_cu_binary_flag(1045),并指示分割的类型,即,二叉或三叉。如果当前CU被分割为两个或三个子CU,则表2的语法被递归地应用于当前CU的每个子CU。

用于multi-tree-type语法的解码过程的示例(诸如表2中所图示的语法示例)可以遵循表2的语法安排。第一步包括对分割标志进行解析,并对当前CU的分割模式进行解码。如果分割模式不同于NO_SPLIT,则根据解码的分割模式对CU进行分割,然后在每个产生的子CU上递归调用该过程。如果CU未被分割,则可以根据图11所图示的示例性过程1100对CU进行解码和重构。

总体上,本公开的一方面涉及将编码单元分割为共享一个或多个编码参数的子块,例如,具有相同的预测参数,但是通过专用变换、残差编码和后过滤步骤对其进行压缩和解压缩。总体上,另一方面涉及通过允许将给定块进一步分成若干个变换块来进一步提高编解码器的编码效率。总体上,另一方面涉及确保可以利用以逐个块为基础进行的解码流水线来实现解码处理,其中,例如,块大小可以是64×64。此64x64块解码单元称为虚拟流水线式解码单元(VPDU)。希望解码器可以在VPDU的基础上进行,这意味着:

-在开始解码下一个VPDU之前,可以按照亮度和色度对与给定的VPDU相对应的所有压缩数据进行解码;以及

-组织比特流,以便将与VPDU相关的所有亮度和色度压缩数据一起打包到比特流中。

总体上,根据本公开的至少一个实施例可以涉及各方面和/或特征和/或特性中的一个或多个,包括但不限于:

-在编码树级别上的标志,其指示从当前树节点发出的所有子CU共享一个或多个编码参数,例如具有相同的预测数据;

-如果一些编码参数被从相同树节点发出的CU共享,则这些共享的参数在该组中的第一编码CU中以解码器侧处理顺序被编码;

-标志可以出现在CTU的整体编码树中的二叉树+三叉树级别,或者可以出现在分割层次结构中的四叉树级别或二叉树/三叉树级别;

-在分离的亮度/色度编码树的情况下,该标志仅适用于所考虑的编码树所涉及的分量,因此,分组可能发生在亮度中,而不是在相同空间区域的色度CU中发生,反之亦然;

-解码器侧的处理顺序可以根据VPDU约束进行调整;以及

-共享的参数可以包括与变换有关的数据,例如,cu_mts_flag和mts_idx语法元素,使得变换数据也可以与预测数据一起在相关CU之间分组。

另一方面可以包括与CU分割相关联的语法,CU分割与例如VVC设想的那些方法中的一种或多种的其他方法兼容。

总体上,本公开的一方面涉及亮度/色度编码树、以及相关联的语法和/或比特流组织。在图12和13中图示了各种实施例的示例。这两个图分别图示了亮度和色度分量中的示例性CTU的块划分的示例。在两个示例中,所考虑的CTU大小均为128x128。为其使用相同预测数据的CU被用灰色突出显示。在图12所示的第一个示例中,亮度和色度编码树是分开的,并且以灰色突出示出的分组示例仅在所考虑的CTU的亮度分量中被使用。

更具体地,图12和图13示出了编码单元之间的预测数据分组的示例。在图12中,示出了若干编码单元的预测数据的分组的示例,其中这些CU在帧内CTU的编码树的公共祖先CU内部,其中亮度/色度编码树被分离。相反,图13所示的示例图示了非帧内CTU的示例,其中单个编码树可以用于亮度和色度。即,如图13中的灰色阴影所示,在非帧内CTU的情况下,多个编码单元之间的分组的示例,对于其,由亮度和色度分量使用联合编码树。

总体上,实施例的至少一个示例可以涉及在多个CU之间对预测数据进行分组。在该第一示例中,在CU级别上用信号通知预测数据语法分组。例如,可以在不是在其父CU中空间上包含的第一编码单元的编码单元的信令之前引入标志。在那种情况下,诸如grouped_prediction_data_flag之类的标志指示当前CU是否正在使用解码器侧处理顺序的相同父CU中包含的先前CU的预测。接下来,如果标志grouped_prediction_data_flag为假,则可以使用典型的或通常的编码单元编码语法来对当前CU进行编码/解码。否则,使用简化的“coding_unit_grouped_prediction_data”语法(例如表3所示的语法示例)对当前CU进行编码/解码。在表3和此文档所附的其他表中,根据本公开的语法实施例的示例通过突出显示或用灰色阴影表示的语法而图示出关于诸如HEVC中使用的或针对VVC提出的语法之类的语法的变化。所图示的示例不是限制性的,因为所图示的实施例和/或特征可以应用于除HEVC和VVC之外的各种技术、环境或实施例。表4示出了典型或通常编码单元编码语法的示例与用于分组预测数据的语法的实施例的示例之间的差异。如针对表4的示例所说明的差异包括丢弃与CU的预测有关的所有语法元素。在与通常或典型方法相关联的语法中,仅与变换和残差数据编码相关的语法被保留并且不被改变。根据一种变型,在多个编码单元中仅将一对预测数据进行分组。

刚刚描述的实施例的第一示例的许多变型是可能的,并且被认为与本公开一致。例如,一种变型可以涉及至少一个实施例,其中,grouped_prediction_data_flag指示当前CU是否正在使用被包含在同一父CU中的当前CU的左邻近CU的预测。另一变型可以涉及至少一个实施例,其中,grouped_prediction_data_flag指示当前CU是否正在使用被包含在相同父CU中的当前CU的顶部邻近CU的预测。另一变型可以涉及至少一个实施例,其中,grouped_prediction_data_flag指示当前CU是否正在使用当前CU的左邻近CU的预测(如果可用),否则指示被包含在同一父CU中的顶部邻近CU。注意,如果当前CU不是其父CU中的第一个CU,则当前CU的顶部或左侧邻近CU一定是可用的。

图14描绘了与实施例的先前描述的第一示例相对应的CU解码过程1400。该过程的输入是要解码的当前CU。第一步,解析grouped_prediction_data_flag语法元素(1410)。如果为假(在1420处为否),则进行常规的CU解码,包括预测数据解析、预测信息推导、残差块解析和解码,当前CU的预测以及当前CU的重构(1430)。如果解析的标志grouped_prediction_data_flag为真(在1420处为是),则按解码顺序从先前CU的预测数据中推导当前CU的预测数据(1440)。在帧内模式或平移运动补偿模式的情况下,该推导过程包括从先前的CU复制预测数据。

在通过基于子块的运动信息来预测先前CU的情况下,为先前CU导出基于子块的运动场的方式被应用于当前CU。在仿射的情况下,用于先前CU的控制点运动矢量被用于传播和推导当前CU的仿射运动场。在ATMVP(替代运动矢量预测)的情况下,用于取得先前CU的运动信息的时间运动矢量也用于当前CU,以推导其自己的基于子块的运动场。

所描述的解码示例的许多变型是可能的,并且被认为与本公开一致。例如,一种变型可以涉及仅在基于帧内和基于非子块的帧间预测的情况下使用建议的多个CU之间的预测数据分组。变体的另一示例可以包括仅在仿射帧间预测的情况下才禁用建议的多个CU之间的预测数据分组。

总体上,用于在多个CU之间对预测数据进行分组的实施例的至少另一示例可以包括在三叉/二叉编码树级别上在若干子CU之间而不是在CU级别上对预测进行分组。表5和图15分别图示了实施例的该第二示例的所建议的语法和解码过程。可以看出,在当前CU被分割为子CU的情况下,用信号通知一标志,该标志用信号通知CU预测数据的分组,并且该标志尚未在编码树中的上方CU中被用信号通知为真。

因此,变量parent_grouped_prediction_data指示当前CU的父CU之一是否已经用等于或不等于真的grouped_prediction_data_flag发信号通知。如果为假,并且当前CU被二叉或三叉分割,则对语法元素grouped_prediction_data_flag进行编码。此外,如果parent_grouped_prediction_data和grouped_prediction_data_flag标志之一等于真,则将变量grouped_prediction_data设置为真,否则将其设置为假。它作为自变量传递到当前CU的二叉/三叉分割结果的子CU的multi-tree-type语法。

图15图示了对应于先前描述的第二实施例并且根据表5中所示的语法的实施例的示例的解码过程1500的示例。对初始multi-tree-type解码过程的修改以粗体呈现。可以看出,修改的一方面涉及在multi-tree-type级别上对grouped_prediction_data_flag语法元素的解码(1560),以及将grouped_prediction_data值(1565)传递到当前CU到子CU的递归分割过程(1575)。此外,以附加自变量parent_grouped_prediciton_data_flag作为输入来调用非分割CU解码过程(1555)。

总体上,实施例的至少一个其他示例提供了四叉树解析和分区。除了上述实施例的第二示例之外,还可以使用实施例的第三示例。表6和图16示出了根据实施例的第三示例的四叉树分割语法和解码的示例。在四叉树分割的情况下,该第三实施例可以类似于上述第二实施例。可以看出,将附加的四叉树级别标志添加到要解析和确定的语法中(1605;1610)。此外,附加自变量parent_grouped_prediction_data用作输入。如果为假(在1620处为是),则在当前CU以四叉树方式被分割的情况下,在四叉树级别上用信号通知标志grouped_prediction_data_flag。此外,如图16所示计算出的变量grouped_prediction_data作为自变量传递给对四叉树语法解码过程的递归调用(1640)。

总体上,在图17中示出了根据上述第二或第三实施例或第二和第三实施例的组合的CU解码处理1700的实施例的示例。在图17的示例中,对图11的CU解码过程1100的修改以粗体显示。这些差异包括测试输入的grouped_prediction_data_flag值(1705),并且,如果为真(在1705中为是)并且如果当前CU不是共享相同预测数据的一组CU中的第一个(在1710中为否),则基于共享相同预测数据的一组CU中的第一CU,推导当前CU的预测数据(1725)。该组中的第一CU通常通过空间地址或坐标被标识(以4x4块为基础),并且可以作为输入自变量传递给图17的CU解码过程。

在图18中图示了共同地决定多个CU之间的编码树和预测数据分组的编码器侧率失真优化(RDO)过程1800的方法的示例。对于给定的CU,图18的方法涉及测试NO_SPLIT(不分割)、四叉树、二叉和三叉分割模式中所有允许的分割模式,以及选择具有最低率失真成本的分割模式。当测试不同于NO_SPLIT的分割模式时,根据所测试的分割模式来分割当前CU,并且在由分割产生的每个子CU上递归地调用图17的过程。在NO_SPLIT模式的情况下,将对当前CU的编码参数进行率失真优化选择。

总体上,在图19中示出了至少一个实施例的一方面。在图19中,示出了通过率失真优化的修改的编码树决策的示例性过程1900,其包括例如针对上述实施例的第二和/或第三示例中所建议的集成用于预测数据分组的率失真优化的决策。

更详细地,图19中图示了的实施例的示例可以包括关于诸如图18所示的方法的一个或多个修改。在图19中,这样的修改的示例是粗体的(1925-1940)。例如,可以考虑整个RDO过程的两个附加输入自变量:

-parent_grouped_prediction_flag,如果在包含当前CU的编码树部分中使用了预测数据分组,则为真;以及

-在多个CU之间被分组的预测数据。如果标志parent_grouped_prediction_flag为真,则这表示由包括当前CU在内的多个CU共享的预测数据。

而且,对于以NO_SPLIT模式评估的CU,在与当前CU相对应的图片区域在预测数据分组模式下被测试的情况下(1935),可以存储其预测数据以供后续使用。因此,在此存储之后,以预测数据分组模式将整个编码树优化过程递归地应用于当前CU(1940)。在这种情况下,将被发现对于NO_SPLIT模式下的当前CU的编码而言最佳的预测数据被选择为多个子CU共同使用的预测数据。因此,该示例性RDO过程限制了根据上述实施例的第二或第三示例中的任何一个或它们的组合需要完成的附加率失真搜索的量。

总体上,实施例的至少一个示例的一方面可以包括除预测数据之外还在多个CU之间对变换类型信令语法进行分组。也就是说,CU之间的信息分组还可以包括变换相关数据,诸如例如变换相关数据,诸如mts_flag和mts_idx语法元素,它们分别是transform_unit语法和residual_coding语法的一部分。实施例的至少一个示例可以包括针对这两种语法所建议的修改,诸如所附的表7和表8所示。

对表7和8的每个示例的附加输入是标志grouped_prediction_data,该标志指示当前变换单元(TU)是否正在使用从另一个变换单元发出的某些编码参数。如果为真,则不会对cu_mts_flag进行编码/解码。而是,它是从当前TU正在重用预测数据和变换单元参数的变换单元推导出的。以相同的方式,如表8所示,mts_idx语法元素不被编码或解码,而是被推断。

总体上,用于变换类型信令的实施例的至少一个其他示例可以包括:在CU与某个其他CU分组的情况下,基于共享变换类型信息的同一组CU中的先前CU,以预测方式对cu_mts_flag进行编码。作为示例,当可用时,同一组中当前CU的左侧或顶部CU的cu_mts_flag用作当前CU的cu_mts_flag语法元素的预测量。类似地,根据该实施例的另一变型,还从同一集合的分组的CU中的周围CU来预测当前CU的mts_idx语法元素。

总体上,用于变换类型信令的实施例的至少一个其他示例可以包括:在CU与某个其他CU被分组的情况下,cu_mts_flag被利用CABAC上下文编码,该CABAC上下文是基于共享变换类型信息的同一集合的分组的CU中某个先前CU的cu_mts_flag被选择的。作为示例,取决于(如果可用)同一组中当前左和/或顶部CU的cu_mts_flag是否用作选择用于编码/解码cu_mts_flag语法元素或当前CU的CABAC上下文的方式。类似地,根据该实施例的另一变型,当前CU的mts_idx语法元素也用某个(某些)CABAC上下文编码,该某个(某些)CABAC上下文依赖于在同一集合的分组的CU中的当前CU周围的某个顶部和/或左侧CU的cu_mts_flag的值和mts_idx的值。

总体上,实施例的至少一个其他示例可以包括当前CU的tu_cbf_luma和/或tu_cbf_cb和tu_cbf_cr语法元素,在CU与其他CU被分组的情况下,被有条件地编码到同一集合的分组的CU中的某个其他CU的tu_cbf_cb和tu_cbf_cr语法元素和/或tu_cbf_luma。这可以采用根据同一集合分组的CU中的某个其他CU中的对应标志来预测这些标志的形式。在另一变体中,这些标志可以基于上下文被编码,并且根据相同集合的分组的CU中的一些其他CU中的对应标志值来选择关联的上下文。

总体上,实施例的至少一个示例的一方面可以涉及考虑到解码过程中的VPDU约束的预测数据分组。例如,实施例的示例可以涉及预测数据分组机制的应用,以实现VPDU的约束,该VPDU的大小通常在亮度上为64x64(因此在色度上为32x32)。为了确保使用64x64VPDU进行解码的可行性,CTU的编码树必须满足的约束示例如下:

-条件1:对于每个包含一个或多个CU的VPDU,CU完全包含在VPDU中。

-条件2:对于包含一个或多个VPDU的每个CU,VPDU被完全包含在CU中。

-对于每个CTU,不得违反以上两个条件,并且CU的处理顺序不得离开VPDU并在以后重新访问它。

在图20中图示了可能有问题的编码树配置的示例。

解决VPDU约束的方法可能涉及在允许的分割模式上放置一些约束,例如:

-对于128x128CTU,不得通过TT分割对它进行分区;

-对于128xN或Nx128CU,不得通过TT分割对它进行分区,其中N≤64;

-对于128xN CU,不能应用水平BT,其中N≤64;

-对于Nx128 CU,不能使用垂直BT,其中N≤64。

但是,这样的约束会降低编码效率。例如,这些约束可能导致压缩效率损失0.15%。

总体上,实施例的至少一个示例可以包括解决VPDU约束的一个或多个方面,例如以下两个方面:

-将预测(和可选地,变换)数据分组方法应用于分割与两个VPDU重叠的CU,以提供在属于2个不同VPDU的块之间共享某些预测数据的可能性;

-CU之间的解码顺序适合于遵守处理顺序上的VPDU约束,这表明CU的处理顺序不应离开VPDU并在以后重新访问它。因此,可以根据关于VPDU网格的编码树的配置来改变对编码单元进行解码的顺序。

例如,在图21的示例中,不需要改变CU处理顺序。相反,在图22的示例中,改变了CU的处理。通过两个连续的二叉分割,将中间CU分割为四个子CU。左CU和右CU通过一个二叉分割被分割为两个子CU。这使得能够针对这些整个区域使用相同的预测数据,同时将这些区域分割成若干子CU,以遵守VPDU的大小。然而,为了遵守期望的CU处理顺序,使用在图22中指示的扫描顺序。换句话说,CU的扫描顺序使得在开始处理下一个VPDU之前,处理包含在给定VPDU内的所有CU。

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

在本申请中使用各种数值,例如,帧内预测模式的数量或变换子集的数量。应当注意,特定值是出于示例性目的,并且本实施例不限于这些特定值。

在上文中,关于HEVC或JEM描述了各种实施例。例如,根据本公开的方面和实施例的各种示例可以用于修改图1和图2示出的JEM或HEVC编码器和解码器示例的变换模块(125)和/或逆变换模块(150)和(250)之一或两者。然而,所提出的实施例不限于JEM或HEVC,并且可以应用于其他标准、建议及其扩展。

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

系统2300包括至少一个处理器2310,该至少一个处理器2310被配置为执行其中加载的指令,以用于例如实现本文档中描述的各个方面。处理器2310可以包括嵌入式存储器、输入输出接口和本领域已知的各种其他电路。系统2300包括至少一个存储器2320(例如,易失性存储设备和/或非易失性存储设备)。系统2300包括存储设备2340,其可以包括非易失性存储器和/或易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备2340可以包括内部存储设备、附接的存储设备和/或网络可访问的存储设备。

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

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

在若干实施例中,处理器2310和/或编码器/解码器模块2330内部的存储器用于存储指令并提供工作存储器以用于在编码或解码期间所需的处理。然而,在其他实施例中,处理设备(例如,处理设备可以是处理器2310或编码器/解码器模块2330)外部的存储器被用于这些功能中的一个或多个。外部存储器可以是存储器2320和/或存储设备2340,例如,动态易失性存储器和/或非易失性闪存。在若干实施例中,外部非易失性闪存用于存储电视的操作系统。在至少一个实施例中,诸如RAM之类的快速外部动态易失性存储器被用作用于诸如MPEG-2、HEVC或VVC(通用视频编码)之类的视频编码和解码操作的工作存储器。

如框2305所示,可以通过各种输入设备来提供对系统2300的元件的输入。这种输入设备包括但不限于(i)接收由广播公司例如通过无线电发送的RF信号的RF部分。(ii)复合输入端子,(iii)USB输入端子和/或(iv)HDMI输入端子。

在各种实施例中,如本领域中已知的,框2305的输入设备具有相关联的相应输入处理元件。例如,RF部分可以与以下元素相关联:(i)选择期望的频率(也称为选择信号,或将信号限制在一个频带内),(ii)下变频所选信号,(iii)再次将频带限制到较窄的频带以选择(例如)在某些实施例中可以称为信道的信号频带,(iv)解调下变频和频带限制的信号,(v)执行纠错,以及(vi)多路分解以选择期望的数据分组流。各种实施例的RF部分包括一个或多个执行这些功能的元件,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行各种这些功能的调谐器,包括例如将接收到的信号下变频为较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,RF部分及其相关的输入处理元件接收通过有线(例如电缆)介质传输的RF信号,并通过滤波、下变频和再次滤波到期望的频带来执行频率选择。各种实施例重新布置上述(和其他)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同功能的其他元件。添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数变换器。在各个实施例中,RF部分包括天线。

此外,USB和/或HDMI端子可以包括相应的接口处理器,用于通过USB和/或HDMI连接将系统2300连接到其他电子设备。应当理解,输入处理的各个方面,例如里德-所罗门纠错,可以例如在单独的输入处理IC内或在处理器2310内实现。类似地,USB或HDMI接口处理的各个方面可以在单独的接口IC内或在处理器2310内实现。经解调、纠错和解复用的流被提供给各种处理元件,包括与存储器和存储元件结合操作以对数据流进行处理用于在输出设备上呈现的例如处理器2310和编码器/解码器2330。

系统2300的各个元件可以被提供在集成壳体内。在集成壳体内,可以使用合适的连接装置2315,例如本领域中已知的内部总线(包括I2C总线、布线和印刷电路板),将各个元件互连并在它们之间传输数据。

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

在各种实施例中,使用诸如IEEE802.11的Wi-Fi网络将数据流传输到系统2300。这些实施例的Wi-Fi信号在适于Wi-Fi通信的通信信道2390和通信接口2350上被接收。这些实施例的通信信道2390通常连接到接入点或路由器,该接入点或路由器提供对包括互联网的外部网络的访问,以允许流传输应用程序和其他过顶(over-the-top)通信。其他实施例使用机顶盒将流传输的数据提供给系统2300,该机顶盒通过输入块2305的HDMI连接来传递数据。其他实施例使用输入块2305的RF连接将流传输的数据提供给系统2300。

系统2300可以向包括显示器2365、扬声器2375和其他外围设备2385的各种输出设备提供输出信号。在实施例的各种示例中,其他外围设备2385包括单独的DVR、盘播放器、立体声系统、照明系统以及其他基于系统2300的输出提供功能的设备中的一个或多个。在各种实施例中,控制信号在系统2300与显示器2365、扬声器2375或使用诸如AV.Link、CEC的信令或使得能够在有用户干预或没有用户干预的情况进行设备到设备控制的其他通信协议的其他外围设备2385之间通信。输出设备可以通过相应接口2360、2370和2380经由专用连接而通信地耦合至系统2300。可替换地,输出设备可以经由通信接口2350使用通信信道2390连接到系统2300。显示器2365和扬声器2375可以将与系统2300的其他组件集成在一个电子设备(例如电视)中的单个单元中。在各种实施例中,显示接口2360包括显示驱动器,例如,定时控制器(TCon)芯片。

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

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

在整个本公开中,各种实现涉及解码。如本申请中所使用的,“解码”可以涵盖例如在接收到的已编码序列上执行的全部或部分过程,以便产生适合于显示的最终输出。在各种实施例中,这样的过程包括通常由解码器执行的一个或多个过程,例如,熵解码、逆量化、逆变换和差分解码。在各种实施例中,这样的过程还或者可替代地包括由本申请中描述的各种实施方式的解码器执行的过程,例如,从平铺的(打包的)图片中提取图片,确定要使用的上采样滤波器,然后对图片进行上采样,然后将图片翻转回其预期的方向。

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

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

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

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

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

各种实施例涉及率失真优化。特别地,在编码过程中,通常给定计算复杂性的约束的情况下,通常要考虑率和失真之间的平衡或折衷。通常将率失真优化公式化为最小化率失真函数,该函数是率和失真的加权总和。有解决率失真优化问题的不同方法。例如,这些方法可以基于对所有编码选项的广泛测试,包括所有考虑的模式或编码参数值,并对其编码成本以及经编码和解码后的重构信号的相关失真进行完整评估。也可以使用更快的方法来节省编码复杂性,特别是在基于预测或预测残差信号而不是重构信号的基础上计算近似失真的情况下。也可以使用这两种方法的混合,例如仅对某些可能的编码选项使用近似失真,而对其他编码选项使用完全失真。其他方法仅评估可能的编码选项的子集。更一般地,许多方法采用多种技术中的任何一种来执行优化,但是优化不一定是对编码成本和相关失真两者的完整评估。

本文描述的实施方式和方面可以例如以方法或过程、装置、软件程序、数据流或信号来实施。即使仅在单一形式的实施方式中进行讨论(例如,仅作为一种方法进行讨论),所讨论的特征的实施方式也可以以其他形式(例如,装置或程序)来实现。装置可以例如以适当的硬件、软件和固件来实现。方法可以在例如处理器中实现,该处理器通常指的是处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、手机、便携式/个人数字助理(“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)。如对于本领域和相关领域的普通技术人员明显的那样,对于列出的尽可能多的项目,这可以被扩展。

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

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

在本公开全文中,也支持和构想了各种概括的和具体化的实施例。根据本公开的实施例的示例包括但不限于以下内容。

总体上,实施例的至少一个示例可以涉及用于视频编码的装置,包括:一个或多个处理器,其中,所述一个或多个处理器被配置为:将当前块划分为多个编码单元;将所述多个编码单元中的两个或多个编码单元分组为至少一组编码单元,其中,所述至少一组编码单元中的所述多个编码单元中的两个或多个共享至少一个编码参数;以及基于所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行编码。

总体上,实施例的至少一个示例可以涉及用于视频解码的装置,包括:一个或多个处理器,其中,所述一个或多个处理器被配置为:获得至少一组编码单元,其包括从当前块划分的多个编码单元中的两个或多个,其中,所述多个编码单元中的所述两个或多个共享至少一个编码参数;以及基于所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行解码。

总体上,实施例的至少一个示例可以涉及一种用于视频编码的方法,包括:将当前块划分为多个编码单元;将所述多个编码单元中的两个或多个分组为至少一组编码单元,其中,所述至少一组编码单元中的多个编码单元中的两个或多个共享至少一个编码参数;以及基于所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行编码。

总体上,实施例的至少一个示例可以涉及一种用于视频解码的方法,包括:获得至少一组编码单元,其包括从当前块划分的多个编码单元中的两个或多个,其中所述多个编码单元中的两个或多个共享至少一个编码参数;以及基于所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行解码。

总体上,实施例的至少一个示例可以涉及用于视频编码的装置,包括一个或多个处理器,其中,所述一个或多个处理器被配置为:将当前块划分为多个编码单元;将所述多个编码单元分为多组编码单元,其中,所述多组编码单元的每组中的分组的编码单元具有相同的预测信息;以及基于所述多组编码单元和相应的相同预测信息对当所述当前块进行编码。

总体上,实施例的至少一个示例可以涉及用于视频解码的装置,包括一个或多个处理器,其中,所述一个或多个处理器被配置为:获得与从当前块划分出的多个编码单元对应的多组编码单元,其中,多个分组的编码单元的每组中的分组的编码单元具有相同的预测信息;以及基于多组编码单元和相应的相同预测信息对所述当前块进行解码。

总体上,实施例的至少一个示例可以涉及一种用于视频编码的方法,包括:将当前块划分为多个编码单元;将所述多个编码单元分组为多组编码单元,其中所述多组编码单元的每组中的分组的编码单元具有相同的预测信息;以及基于所述多组编码单元和相应的相同预测信息对所述当前块进行编码。

总体上,实施例的至少一个示例可以涉及一种用于视频解码的方法,包括:获得与当前块划分出的多个编码单元对应的多组编码单元,其中,所述多组编码单元的每组中的分组的编码单元具有相同的预测信息;以及基于所述多组编码单元和相应的相同预测信息对所述当前块进行解码。

总体上,实施例的至少一个示例可以涉及如本文所述的装置或方法,其中,多组编码单元中的至少一个与和流水线式解码操作相关联的至少两个不同的流水线式单元重叠。

总体上,实施例的至少一个示例可以涉及用于视频编码的装置,包括:一个或多个处理器,其中,所述一个或多个处理器被配置为:将当前块划分为多个编码单元;将多个编码单元中的两个或多个编码单元分区为至少一组编码单元,其中,所述至少一组编码单元中的多个编码单元中的两个或多个共享至少一个编码参数,并且所述至少一组编码单元与和流水线式解码操作相关联的至少两个不同的流水线式单元重叠;以及基于所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行编码。

总体上,实施例的至少一个示例可以涉及用于视频解码的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:获得包括从当前块划分的多个编码单元中的两个或多个的至少一组编码单元,其中所述多个编码单元中的所述两个或多个共享至少一个编码参数,并且至少一组编码单元与和流水线式解码操作相关联的至少两个不同的流水线式单元重叠;以及基于所述流水线式解码操作、所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行解码。

总体上,实施例的至少一个示例可以涉及一种用于视频编码的方法,包括:将当前块划分为多个编码单元;将所述多个编码单元中的两个或多个分组为至少一组编码单元,其中,所述至少一组编码单元中的多个编码单元中的两个或多个共享至少一个编码参数,并且所述至少一组编码单元与和流水线式解码操作相关联的至少两个不同的流水线式单元重叠;以及基于所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行编码。

总体上,实施例的至少一个示例可以涉及一种用于视频解码的方法,包括:获得包括从当前块划分的多个编码单元中的两个或多个的至少一组编码单元,其中所述多个编码单元中的所述两个或多个共享至少一个编码参数,并且所述至少一组编码单元与和流水线式解码操作相关联的至少两个不同的流水线式单元重叠;以及基于所述流水线式解码操作、所述至少一组编码单元和所述至少一个共享编码参数对所述当前块进行解码。

总体上,实施例的至少一个示例可以涉及比特流,其中,所述比特流由以下操作形成:将当前块划分为多个编码单元;将所述多个编码单元中的两个或多个分组为一组编码单元,其中,所述多个编码单元中的两个或多个共享至少一个编码参数;以及基于所述一组编码单元和所述至少一个共享编码参数将所述当前块编码到所述比特流中。

总体上,实施例的至少一个示例可以涉及如本文所述的比特流,其中产生比特流是基于与和流水线式解码操作相关联的至少两个不同的流水线式单元重叠的一组编码单元。

总体上,实施例的至少一个示例可以涉及一组编码单元,其中在该组编码单元中包括的两个或多个编码单元之间共享包括预测信息的至少一个编码参数。在两个或多个编码单元之间共享的预测信息可以包括具有相同预测信息的两个或多个编码单元。

总体上,实施例的至少一个示例可以涉及提供至少一个语法元素以指示编码单元的分组。可以仅在具有相同预测信息的一组编码单元中的一个编码单元中提供至少一个语法元素。在解码器侧的处理顺序中,所述一个编码单元可以是具有相同预测信息的一组编码单元中的第一编码单元。

总体上,实施例的至少一个示例可以涉及对编码单元进行分组以形成一组编码单元,其中所述分组可以分别应用于亮度分量或色度分量中的至少一个。

总体上,涉及将当前块划分为多个编码单元的实施例的至少一个示例还可涉及基于四叉树加二叉树(QTBT)划分进行划分。

总体上,涉及与和流水线式解码操作相关联的至少两个不同流水线式单元重叠的一组编码单元的实施例的至少一个示例可以进一步涉及与多个虚拟流水线式解码单元(VPDU)中的相应一个相对应的至少两个不同流水线式单元中的每一个。

总体上,实施例的至少一个示例可以涉及与当前树节点及其所有子节点相对应的一组编码单元。

总体上,实施例的至少一个示例可以涉及一组编码单元,该组编码单元包括具有相同预测信息的分组的子编码单元。

总体上,实施例的至少一个示例可以涉及非暂时性计算机可读介质,该非暂时性计算机可读介质包含由本文所述的装置或方法生成的或与本文所述的比特流相关联的数据内容。

总体上,实施例的至少一个示例可以涉及一种计算机程序产品,该计算机程序产品包括当由多个处理器之一执行时用于执行如本文所述的方法的指令。

总体上,实施例的至少一个示例可以涉及一种设备,该设备包括:如本文所述的装置;以及以下各项中的至少一个:(i)被配置为接收信号的天线中,所述信号包括代表视频数据的数据,(ii)频带限制器,被配置为将接收到的信号限制在包括代表视频数据的数据的频带内,以及(iii)显示器,被配置为显示来自视频数据的图像。该设备可以包括电视信号接收器、机顶盒、网关设备、移动设备,诸如移动电话、膝上型计算机、平板电脑等,或者其他电子设备之一。

一个或多个实施例还提供一种用于发送或接收根据本文描述的方法生成的比特流的方法和装置。

已经描述了各种其他实施例。其他实施例可以在各种不同的权利要求类别和类型中单独或以任何组合包括以下任何特征或实体:

·提供视频编码,包括获得至少两个编码单元正在共享至少一个编码参数的指示,并基于该指示对视频信息进行编码,其中,该编码仅在一个编码单元中对共享的至少一个编码参数进行编码。

·提供视频解码,包括获得已编码视频信息的至少两个编码单元正在共享至少一个编码参数的指示,以及基于该指示对已编码视频信息进行解码,其中,该解码仅从一个编码单元获得共享的至少一个编码参数,并基于共享的至少一个编码参数对至少两个编码单元进行解码。

·提供指示视频信息的至少两个编码单元正在共享至少一个编码参数的一个或多个语法元素,其中,一个或多个语法元素使得能够基于共享的至少一个编码参数对至少两个编码单元的视频信息进行编码和/或解码。

·提供通过包括信息而形成的比特流,该信息提供指示视频信息的至少两个编码单元正在共享至少一个编码参数的指示,其中,所包括的信息使得能够基于共享的至少一个编码参数对与至少两个编码单元相对应的比特流中的编码的视频信息进行解码。

·在编码器和/或解码器中,在编码树级别上提供标志,该标志指示从当前树节点发出的所有子CU正在使用相同的预测数据。

·在编码器和/或解码器中提供,如果某些预测数据由从同一树节点发出的CU共享,则该预测数据将按解码器侧的处理顺序被编码在该组的第一个CU中。

·在编码器和/或解码器中提供一个标志,该标志可能出现在CTU的整体编码树中的二叉+三叉树级别,或者可能出现在分割层次结构中的四叉树级别或二叉/三叉树级别。

·在编码器和/或解码器中,对于单独的亮度/色度编码树的情况,提供一个标志,该标志仅适用于所考虑的编码树所涉及的分量,因此可能会在亮度而不在相同空间区域的色度CU中进行分组,或者相反。

·在编码器和/或解码器中,提供根据VPDU约束调整在解码器侧的处理顺序。

·在编码器和/或解码器中,提供与变换相关的语法,例如,cu_mts_flag和mts_idx语法元素,以在相关CU之间进行分组。

·在编码器和/或解码器中,提供与CU分割相关联的语法,该语法与例如VVC设想的那些方法中的一种或多种的其他方法兼容。

·在编码器和/或解码器中,提供在多个CU之间对预测数据进行分组,其中,在CU级别上用信号通知语法分组。

·在编码器和/或解码器中,提供在多个CU之间对预测数据进行分组,其中,分组可以包括在三叉/二叉编码树级别上而不是在CU级别上在若干个CU之间对预测进行分组。

·在解码器中提供在multi-tree-type级别上对grouped_prediction_data_flag语法元素进行解码,并将grouped_prediction_data值传递到当前CU的递归分割过程到子CU中,其中非分割CU解码过程可以利用附加自变量parent_grouped_prediction_data_flag被调用。

·在编码器和/或解码器中,提供在语法中包括附加的四叉树级标志,其中将附加的自变量parent_grouped_prediction_data用作输入,并且如果它为假,如果当前CU以四叉树方式被分割,则在四叉树级别上用信号通知标志grouped_prediction_data_flag。

·在解码器中提供CU解码过程,包括测试输入的grouped_prediction_data_flag值,以及如果为真且当前CU不是共享相同预测数据的CU组中的第一个,则基于共享相同预测数据的CU组中的第一个CU来推导当前CU的预测数据。

·在编码器中提供集成了用于预测数据分组的率失真优化决策的率失真优化。

·在编码器中提供率失真优化,包括包含以下自变量:

-parent_grouped_prediction_flag,如果在包含当前CU的编码树部分中使用了预测数据分组,则为真;和

-在多个CU之间被分组的预测数据,其中这表示由多个CU共享的预测数据,包括当前CU是标志parent_grouped_prediction_flag为真。

·在编码器和/或解码器中,提供在预测数据分组模式下测试与当前CU相对应的图片区域的情况下可以存储预测数据以供后续使用。

·在编码器和/或解码器中,除了预测数据之外,还提供在多个CU之间对变换类型信令语法进行分组。

·在编码器和/或解码器中,除了预测数据之外,还提供在多个CU之间对变换类型信令语法进行分组,其中,与变换有关的数据可以包括mts_flag和mts_idx语法元素。

·在编码器和/或解码器中,对于在与其他某个CU分组在一起的CU的情况下,cu_mts_flag基于共享变换类型信息的同一组CU中的先前CU以预测方式进行编码。

·在编码器和/或解码器中,在将CU与某个其他CU一起分组的情况,cu_mts_flag利用CABAC上下文被编码,该CABAC上下文是基于共享变换类型信息的相同集合的分组的CU中的某个先前CU的cu_mts_flag被选择的。

·在编码器和/或解码器中,在将CU与某个其他CU一起被分组的情况下,提供当前CU的tu_cbf_cb和tu_cbf_cr和/或tu_cbf_luma语法元素有条件地编码到相同集合的分组的CU中的某个其他CU的tu_cbf_luma和/或tu_cbf_cb和tu_cbf_cr语法元素。

·在编码器和/或解码器中提供实现考虑到解码过程中的VPDU约束的预测数据分组。

·在用于处理视频的编码器和/或解码器中提供实现预测(以及可选的变换)的数据分组方法,该方法用于分割与两个VPDU重叠的CU,从而提供在属于两个不同VPDU的块之间共享某个预测数据的可能性;

·在用于处理视频的编码器和/或解码器中,提供CU之间的解码顺序以适应VPDU对处理顺序的约束,该约束规定CU的处理顺序不得离开VPDU以及以后再访问它。

·在用于处理视频的编码器和/或解码器中,提供编码单元的解码顺序可以根据相对于VPDU网格的编码树的配置而改变。

·通过编码器在信令语法中插入元素,该元素使解码器能够从信令语法中获得多个编码单元中的预测数据的分组的指示并根据该指示对视频信息进行解码。

·包含一个或多个描述的语法元素或其变体的比特流或信号。

·创建和/或发送和/或接收和/或解码包括一个或多个所描述的语法元素或其变体的比特流或信号。

·电视、机顶盒、手机、平板电脑或其他电子设备,其根据所描述的任何实施例执行视频编码和/或解码,并且(例如,使用监视器、屏幕或其他类型的显示器)显示生成的图像。

·电视、机顶盒、手机、平板电脑或其他电子设备,其调谐(例如,使用调谐器)信道以接收包括已编码图像的信号,并根据所描述的任何实施例进行视频编码和/或解码。

·电视、机顶盒、手机、平板电脑或其他电子设备,其通过空中接收(例如,使用天线)包括已编码图像的信号,并根据所描述的任何实施例进行视频编码和/或解码。

·存储程序代码的计算机程序产品,该程序代码在由计算机执行时根据所描述的任何实施例实现视频编码和/或解码。

·非暂时性计算机可读介质,包括可执行程序指令,该可执行程序指令使执行该指令的计算机实现根据所描述的任何实施例的视频编码和/或解码。

·计算机可读存储介质,其上存储有根据本文所述的一个或多个方面和/或实施例生成的比特流。

·用于传输根据本文所述的一个或多个方面和/或实施例生成的比特流的方法和装置。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号