掌桥专利:专业的专利平台
掌桥专利
首页

用于视频编码和解码的虚拟管线

文献发布时间:2023-06-19 11:32:36


用于视频编码和解码的虚拟管线

技术领域

本公开主要涉及视频编码(encoding)和解码(decoding)。

背景技术

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

视频压缩技术的最新补充包括由联合视频探索小组(JVET)开发的参考软件和/或文档联合探索模型(JEM)和通用视频译码(VVC)测试模型(VTM)的各种版本,作为被称为通用视频译码(VVC)的新视频译码标准的开发的一部分。JEM、VTM以及更一般地VVC的目的是对现有HEVC(高效视频译码)标准进行进一步改进。

发明内容

一般来说,实施例的至少一个示例可涉及用于编码视频信息的装置,所述装置包含一个或多个处理器,所述一个或多个处理器被配置以基于对分区(partitioning)的约束的修改,使用分区来对所述视频信息的译码单元进行分区,其中所述约束与用于重构所述译码单元的管线(pipeline)配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区,对所述视频信息进行编码。

一般来说,实施例的至少一个其它示例可涉及用于解码视频信息的装置,所述装置包括被配置以获得关于所述视频信息的译码单元的分区的指示的一或多个处理器,其中所述分区是基于对分区的约束的修改的,所述约束与用于解码的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区且使用所述管线配置来解码所述视频信息。

一般来说,实施例的至少一个其它示例可涉及一种用于编码视频信息的方法,其包括:基于对分区的约束的修改,使用分区来对所述视频信息的译码单元进行分区,其中所述约束与用于重构所述译码单元的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区,对所述视频信息进行编码。

一般来说,实施例的至少一个其它示例可涉及一种用于解码视频信息的方法,其包括:获得关于所述视频信息的译码单元的分区的指示,其中所述分区是基于对分区的约束的修改的,所述约束与用于解码的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区且使用所述管线配置来解码所述视频信息。

一般来说,实施例的至少一个示例可涉及基于对分区的约束的修改而提供指示译码单元的分区的一或多个语法元素,其中所述约束与用于所述译码单元的重构的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的。

一般来说,实施例的至少一个示例可以涉及通过以下而被形成的比特流:包括指示基于对分区约束的修改的关于译码单元的分区的信息,其中所述约束与用于所述译码单元的重构的管线配置相关联,并且所述修改基于与所述管线配置相关联的两个或更多个管线单元之间的信息相依性。

一般来说,实施例的至少一个示例可涉及计算机可读存储介质,其上存储有用于根据本文所描述的一个或多个实施例编码或解码视频数据的指令。

一般来说,实施例的至少一个示例可以涉及存储可执行程序指令的非暂时性计算机可读介质,以使执行该指令的计算机执行根据本文描述的一个或多个实施例的方法。

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

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

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

附图说明

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

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

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

图3示出了用于表示压缩HEVC图像的译码树单元(CTU)和译码树(CT)概念;

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

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

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

图7示出了被选择用于编码图片的示例的译码结构的示例,例如,嵌入到四叉树中的对称二叉树、非对称二叉树和三叉树分解;

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

图9示出了用于对编码视频比特流进行解码的解码器的处理管线的示例;

图10示出了根据本发明的至少一个方面的涉及虚拟管线解码单元(VPDU)的帧间预测过程的并行处理的示例;

图11示出了用于分区或分割CTU的方法的各种示例,如这里所述,这些方法对于使用VPDU的处理可能是有问题的;

图12示出了用于分区或分割CTU的方法的各种示例,如这里所描述的,这些方法可以适合于使用VPDU来进行处理;

图13示出了用于帧间预测(图13的顶部)和帧内预测(图13的底部)的CU重构的管线的示例;

图14示出了根据本公开的至少一个实施例的一方面的CU分割成VPDU和独立处理的示例;

图15示出了如这里所述的不同类型的运动场构造的各种示例;

图16示出了根据本发明的分区或分割CU的示例;

图17示出了根据本公开的至少一个实施例的示例;

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

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

图20示出了根据本公开的实施例的示例;以及

图21示出了根据本公开的另一实施例的示例。

应当理解,附图是为了说明各个方面和实施例的示例的目的,并且不一定是唯一可能的配置。在所有附图中,相同的参考标记表示相同或相似的特征。

具体实施方式

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

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

在被编码之前,视频序列可以经历预编码处理(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个角度预测模式,如图3A中所示。从与当前块相邻的行和列来重构帧内预测参考。使用来自先前重构的块的可用样本,所述参考在水平和垂直方向上扩展两倍的块大小。当角度预测模式用于帧内预测时,可以沿着由角度预测模式指示的方向复制参考样本。

可使用HEVC中的两个不同选项来译码当前块的可适用亮度帧内预测模式。如果所述适用模式被包含于三个最可能模式(MPM)的所构造列表中,那么通过MPM列表中的索引用信号通知所述模式。否则,通过所述模式索引的固定长度二进制化来发信号通知所述模式。从顶部和左侧相邻块的帧内预测模式导出三个最可能模式。

JEM中的当前提议与HEVC相比,增加了帧内预测模式的数目。例如,如图3B所示,除了平面模式0和DC模式1之外,JEM 3.0还使用65个方向帧内预测模式。以与图3A所示的HEVC中从2到34所做的相同方式,以递增顺序从2到66对所述方向帧内预测模式进行编号。所述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的变换块大小664,从离散正弦变换(DST)导出的替代整数变换被应用于帧内预测模式的亮度残差块。

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

对量化的变换系数以及运动向量和其它语法元素进行熵译码(145)以输出比特流。编码器也可跳过所述变换,并在4×4TU的基础上直接对未变换的残差信号应用量化。编码器还可以绕过变换和量化,即,直接对残差进行译码而不应用所述变换或量化过程。在直接PCM译码中,不应用预测,并且译码单元样本被直接译码到所述比特流中。

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

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

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

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

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

如上所述,本公开涉及视频压缩领域。通常,一个方面涉及与现有视频压缩系统相比提高压缩效率,并且另一方面涉及提供用于以联合地确保高编码效率的方式来表示亮度和色度译码树并对亮度和色度压缩块进行译码的各个方面和实施例,同时考虑一些硬件解码管线约束。

在HEVC视频压缩标准中,图片被划分成所谓的译码树单元(CTU),其大小通常为64×64、128×128或256×256像素。每个CTU由压缩域中的译码树表示。这是CTU的四叉树划分,其中每个叶被称为译码单元(CU),如图3中所示。然后,每个CU被给予一些帧内或帧间预测参数(预测信息)。为此,将每一CU在空间上分区成一个或多个预测单元(PU),每一PU被指派一些预测信息。如图4中所说明,在CU层级上指派帧内或帧间译码模式。

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

例如,四叉树加二叉树(QTBT)译码工具提供了这种增加的灵活性。其涉及译码树,其中译码单元可以被分割成四叉树和二叉树形式。在图5中示出了译码树单元的QTBT类型的译码树表示。

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

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

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

在帧内切片中,亮度和色度块分区结构被分离,并且被独立地决定。

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

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

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

然而,由于硬件约束,不是所有拓扑都被允许。传统解码器管线的一个示例在图9中被示出。在图9中:

–解析比特流:分割标志、模式、参考/AMVP索引等。

–解码:从解析的值,恢复关于模式的值(例如,从索引到模式值);重构所需的所有数据都是可用的。

–重构:执行处理以建立预测样本并添加残差以获得重构的样本值并更新运动场等。

对于诸如VVC的编解码器,与HEVC相比的改变在于:块(PU)的预测的构造不能必然地被分割成若干预测过程并在以后重新组装。例如,假设64x64的VPDU(虚拟管线解码单元,即,解码器可以单一处理的最大大小)和128x128的CU,图8示出了帧间预测处理的并行处理的示例。图8示出:

–解码CU的运动信息(例如,运动向量、预测模式等);

–将CU分割成四个VPDU,并将所述运动信息复制到每个VPDU中;

–每个VPDU被独立处理(顺序或并行处理);通常,执行运动补偿;

–然后,重新组装所述结果以形成最终CU。注意,在此情况下,CU不能具有唯一残差,因为最大变换大小被设定为64x64(VPDU的大小)。如果TU(即,所得残差块的大小)在一个方向上大于64,那么可进行TU图块化以利用小于或等于64的TU大小覆盖所述CU。

VPDU带来的约束的示例可以包括以下:

[C1]对于包含一个或多个CU的每个VPDU,CU被完全包含在该VPDU中。

[C2]对于含有一个或多个VPDU的每一CU,所述VPDU被完全包含于所述CU中。

[C3]CU的处理顺序不应离开VPDU并在以后重新访问它。

图11示出了用于具有64×64VPDU的128×128CTU的禁止的BT(二叉树)和TT(三叉树)分割的一些示例,而图12示出了允许的分割的示例。

一般来说,根据本发明的至少一个实施例的一方面通过不仅考虑CU的大小和位置而且考虑其译码模式来提供对VPDU的改进处置。例如,考虑译码模式可以涉及对分区的约束和/或对这些约束的修改。如本文所使用的译码模式旨在涵盖对CU进行译码的许多不同方式中的任意者,这其中包括例如帧间、帧内、跳过/合并/AMVP、仿射或非仿射、开启或关闭LIC等。译码模式的前述列表仅旨在提供示例而非限制。至少一个实施例涉及:

–通过考虑CU的译码模式来减少禁止的分区或分割的集合,这使得能够在限制对VPDU管线的约束的同时,提高编解码器的压缩性能;以及

–修改由于底层CU的译码模式而对一些分割的约束。

图13示出了用于诸如针对VVC的CU重构的管线布置的示例。视CU的译码模式而定,视情况应用不同的工具来重构所述CU。例如,如图13所示,工具可以至少包括以下各项。

–MC:运动补偿。

–LIC:局部照明补偿。使用线性自适应而改变所预测的样本值。

–BIO:双向光流。使用用于重构所述块的所述2个参考块之间的光流估计的结果来改变所预测的样本值。另一变型是DMVR(解码器侧运动向量细化)。

–GBI:广义双向预测:用于重构所述块的2个参考块的加权平均。

–OBMC:重叠块运动补偿。使用来自相邻块的不同运动向量对运动补偿块进行加权(样本位置相关)平均。

–IQ/IT:逆量化和逆变换:用于重构残差。

–帧内预测:用于使用周围的重构样本值而对块进行预测。

–多假设:使用取决于样本位置的加权平均而将若干预测(通常是帧间和帧内)合并在一起。还扩展到三角多假设,其中可以在块内合并几个帧间预测。

–CCLM:跨分量线性模型。使用来自另一分量的另一已重构块来使用线性模型构建当前分量PU。

基于对数据或信息相依性的考虑,所述译码工具可以被组织成若干组。这里使用的信息或数据相依性指的是重构当前VPDU所需的来自另一个VPDU的一些数据,例如计算需要一些繁重或密集处理的预测所需的重构样本或数据。举例来说,可定义以下译码模式组:

A组:具有强相依性(通常在像素级)的译码模式。参考图14中所示的示例,强相依性意味着独立地处理P1或P2是不可能的。作为这种处理的一个例子:

–带残差的块:在这种情况下,残差重构不能跨越几个VPDU。在当前的编解码器中已经存在一些约束:例如,HEVC中的最大变换大小是32x32,使得具有大于32的维度的块不能具有独立残差。通常,不具有残差的CU的所得译码模式是处于跳过模式的CU。

B组:具有强相依性(通常在像素级)的译码模式,其可以通过分割所述计算来放宽。最终结果将不同于考虑整个CU的结果。在图14的示例中,可以通过分割所述计算来放宽的强相依性意味着结果A和B可能是不同的,因为例如2中的一些样本的重构使用1中的一些重构样本。包括在组B中的示例包括:

–照明补偿(LIC):需要读取CU周围的样本,并根据这些样本计算一些照明补偿参数。由于分割CU不能访问其它部分的样本,因此所得到的参数可能是不同的。

–BIO模式:在块上进行基于光流的校正的计算。

–具有帧内预测的块(例如,在帧间切片中使用多假设模式):用于创建帧内预测的参考样本缓冲器取决于整个CU的周围环境。每个部分不能访问另一部分的周围样本。

–DMVR(解码器侧运动向量细化):通过使用双向预测的两个运动向量预测值作为初始值,在解码器处细化运动向量(可选地在子块级别)。

C组:具有子块相依性的译码模式。最终结果将与考虑整个CU的结果相同,但需要一些额外计算。在图14的示例中,子块相依性意味着结果A和B相同。图15中的示例说明不同类型的运动场构造的示例,且提供子块或非子块运动场创建的列表,其包含:

–子块仿射运动场:从块的角落中的CPMV(控制点运动向量)运动向量来完成每个子块的运动向量的计算。在块被分割成几个VPDU的情况下,一些计算需要进行两次。通常,所述运动向量通过CPMV之间的线性插值来填充,这需要计算CPMV之间的差。

–平面运动向量预测(PMVP):使用线性内插,从几个运动向量的函数中导出所述运动场。

–基于回归的运动向量场(RMVF):使用线性回归从几个运动向量的函数中导出所述运动场。

–子块级OBMC:对于CU内的OBMC过程,将CU分割成若干VPDU可能在该过程之间引入相依性。

D组:无相依性的译码模式。也就是说,在没有相邻VPDU的数据的情况下,重构是可能的。参数的简单复制是可能的。在图14的示例中,“无相依性”意味着结果A和B是相同的。

–非子块运动场:PU的每个部分被独立地运动补偿。

–ATMVP模式:只需要复制初始运动向量。可为PU的每一部分独立地产生子块运动场。

–GBI:可以独立地进行两个预测的加权平均。

–多假设:可以独立地进行取决于两个预测的像素/子块的空间位置的加权平均。

–块级OBMC:当处理所述CU的一部分时,在所述过程不访问所述CU的另一部分的数据的情况下。

通常,根据本公开的至少一个实施例可包括一方面,其包含VPDU约束修改、自适应或放宽的方面。例如,可以修改或放宽上述第一约束,即,[C1],其对应于“对于包含一个或多个CU的每个VPDU,CU被完全包含在该VPDU中”。作为示例,在实施例的至少一个示例中,[C1]可以由放宽的约束[C4]来代替,其中“如果CU没有被完全包含在一个VPDU中,则可以在每个VPDU部分上独立地进行CU重构”。所述[C4]约束可以被视为类似于CU被分割成多个VPDU并且这些VPDU被独立地处理的情况(例如,当128×128CTU被分割成四个VPDU时)。

图16示出了放宽的容许分割的示例。在解码器处处理分区的过程的示例(诸如图16的示例)可以包括:

–至少包含在VPDU 1中的CU的拓扑被恢复。

–执行对VPDU 1中的CU的参数的解码。

–执行对VPDU 2中的CU的参数的解码。在这种情况下,它仅仅是VPDU 1中CU的参数的副本。

–VPDU 1和2中的CU的重构可以并行发生。

一般而言,根据本公开的实施例的至少一个示例的一个方面包括:为了打破用于所述重构的相依性(并且然后缩短管线延迟),引入对CU的译码模式的约束组,所述约束被适配或放宽以跨越若干VPDU而不完全覆盖VPDU。作为示例,一组适配的约束可以包括:

[C4]如果CU没有被完全包含在一个VPDU中,则可以在每个子部分上独立地进行其重构。

[C2]对于含有一个或多个VPDU的每一CU,所述VPDU被完全包含于所述CU中。

[C3]CU的处理顺序不应离开VPDU并在以后重新访问它。

对于违反约束[C1]但不违反约束[C4]的CU,可对译码模式应用以下约束:

–变型1:CU的编码方式不能使用组A、B、C中的任何工具,即,禁止组A、B、C中的工具;仅允许来自组D的工具。

–变型2:作为替代,一个放宽的版本是仅禁止来自组A和B的工具,即,仅允许来自组C和D的工具。

–变型3:作为替代,一个更放宽的版本是仅禁止来自组A的工具,即,允许使用来自组B、C和D的工具。

涉及多组译码工具或译码模式(例如,组A、B、C和D)的上述各种实施例的一个备选意见是:每一组中的工具共享数据或信息相依性或相依性特性。例如,组A中的工具或译码模式共享或共同具有强数据或信息相依性特性。分区约束可以与多个组的第一子组相关联,并且修改的约束可以与所述多个组的第二子组相关联,其中所述第二子组不同于所述第一子组。例如,约束可以仅基于组A,即,禁止使用组A中的工具。所述约束可被修改,例如以禁止组A、B、C中的译码模式或工具,如上述变型1所示。

上述约束使得能够通过推断一些语法元素值来保存一些语法元素。作为示例,当仅如在上述变型1中那样使用组D时,CU解析过程可被修改,如附加到本文档的表1所示。在表1(以及下面描述的表2)中,通过灰色阴影示出了语法的修改(例如,对诸如VVC早期版本的编解码器的语法示例的修改)。

使用上述约束模式组的另一变型是进一步约束规则[C1]、[C2]和[C3]。图17示出了CU的译码模式可取决于上文所介绍的组而受到更多约束的示例。在图17的实施例的示例中,禁止组A、B和C中的工具。即,仅允许组D中的工具。

图18中示出了实施例的另一个示例。在图18的示例中,CU A中的VPDU-2的重构可以取决于VPDU-1的重构,并且CU B中的VPDU-4的重构可以取决于VPDU-3的重构。一般而言,实施例的至少一个示例的一个方面包括:对于这样的情况,禁止一些译码模式。例如:

–变型1:CU的译码模式不能使用组A、B和C中的工具(见图17)

–变型2:作为替代,放宽的版本是仅禁止来自组A和B的工具。注意,诸如VVC的编解码器的示例可能通常由于残差的存在而仅禁止组A中的工具。

用于所述进一步约束的变型的相关联语法可类似于用于上述放宽VPDU情况的语法,其中移除一些语法元素,因为其是推断出的。在附到该文档的表2中,给出了仅允许组D(变型1)的示例,其中M是VPDU大小(通常,M=64)。

通常,根据上述一个或多个特征的实施例的一个示例在图20中示出。在图20中,在2010,从输入视频信息解析的译码单元(CU)可基于一修改的约束而被分区,例如基于[C4]而不是如上所述的[C1]。该修改可以基于信息或数据相依性,诸如与如上所述的译码工具组A、B、C、D相关联的那些。然后,在2020处,可以基于该分区来对视频信息进行编码。

通常,图21中示出了实施例的另一示例。在图21中,在2110,获得关于译码模式的指示。在2120处,基于例如关于上述译码工具组A、B、C、D的译码模式,确定例如VPDU之间的解码单元之间的信息相依性。基于修改的约束的分区发生在2130,其中例如,该修改的约束可以是诸如[C4]而不是[C1]的约束,或者是这里描述的其它变型之一。基于所述分区而对视频信息进行编码发生在2140。

用于放宽约束和用于进一步约束的上述变型可以被视为排他性的,因为具有特定或固定硬件编解码器实施例的特定系统可以实现所述变型之一和相关联的约束,而排除其他变型。作为替代,某些系统可以包括多于一个的这种变型。例如,系统可以是可重新配置的,例如,包括基于诸如但不限于要处理的内容、功耗控制、性能(速度、等待时间)等因素来重新配置硬件和/或软件的能力。在这样的系统中,所述重新配置能力可以包括选择性地启用诸如所描述的那些变型的多个变型中的一个。

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

在本申请中使用各种数值,例如帧内预测模式的数量(35或67)或变换子组的数量(3)。应注意,所述特定值是出于示范性目的,且本实施例不限于这些特定值。

在上文中,关于HEVC、JEM、VTM或VVC,描述了各种实施例。例如,根据本公开的方面和实施例的各种示例可用于修改图1和图2中所示的JEM或HEVC编码器和解码器示例的图像分区模块(125)和/或块分区模块(230)。

图19示出了其中可以实现各个方面和实施例的系统的示例的框图。系统1000可以被实现为包括以下描述的各种组件的设备,并且被配置为执行本文中描述的一个或多个方面。此类设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器和服务器。系统1000的元件可以单独地或组合地被实现在单个集成电路、多个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、HEVC或VVC(通用视频译码)的工作存储器。

如框1130中所示,可以通过各种输入设备来提供对系统1000的元件的输入。这样的输入设备包括但不限于:(i)接收例如由广播者通过空中传输的RF信号的RF部分,(ii)复合输入端子,(iii)USB输入端子,和/或(iv)HDMI输入端子。

在各种实施例中,框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的各种元件可以设置在集成壳体内。在该集成壳体内,各种元件可以使用合适的连接布置1140(例如,本领域已知的内部总线,包括I2C总线、布线和印刷电路板)互连并在其间传输数据。

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

在各种实施例中,使用Wi-Fi网络(例如IEEE 802.11),将数据流式传输给所述系统1000。这些实施例的Wi-Fi信号通过适用于Wi-Fi通信的通信信道1060和通信接口1050来接收。这些实施例的通信信道1060通常连接到接入点或路由器,所述接入点或路由器提供对包括因特网的外部网络的接入以允许流式传输应用和其它云上通信。其它实施例使用通过输入框1130的HDMI连接来传递数据的机顶盒而向系统1000提供流式传输的数据。还有一些实施例使用输入框1130的RF连接而向所述系统1000提供流式传输的数据。

所述系统1000可以向各种输出设备(包括显示器1100、扬声器1110和其他外围设备1120)提供输出信号。在各实施例的各示例中,所述其它外围设备1120包括以下中的一者或多者:独立DVR、盘播放器、立体声系统、照明系统、以及基于系统1000的输出来提供功能的其他设备。在各种实施例中,使用信令(诸如,AV.Link(AV.链路)、CEC、或在有或没有用户干预的情况下实现设备到设备控制的其他通信协议)在系统1000和显示器1100、扬声器1110或其它外围设备1120之间传送控制信号。所述输出设备可以经由通过相应接口1070、1080和1090的专用连接而通信地耦合到系统1000。作为替代,所述输出设备可以使用通信信道1060经由通信接口1050连接到系统1000。所述显示器1100和扬声器1110可以与系统1000的其它组件一起集成在电子设备(例如,电视机)中的单个单元中。在各种实施例中,显示接口1070包括显示驱动器,例如定时控制器((T Con)芯片。

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

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

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

作为进一步的示例,在一个实施例中,“解码”仅指熵解码,在另一实施例中,“解码”仅指差分解码,并且在另一实施例中,“解码”指熵解码和差分解码的组合。短语“解码过程”是旨在具体地指代操作的子组还是一般地指代更广泛的解码过程,这基于具体描述的上下文将是清楚的,并且相信是本领域技术人员所充分理解的。

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

作为进一步的示例,在一个实施例中,“编码”仅指熵译码,在另一实施例中,“编码”仅指差分编码,而在另一实施例中,“编码”指差分编码和熵译码的组合。短语“编码过程”的旨在具体地指代操作的子组还是一般地指代更广泛的编码过程,这将基于具体描述的上下文而变得清楚,并且相信是本领域技术人员所充分理解的。

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

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

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

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

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

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

在本公开中还支持和考虑了各种一般化的以及特殊化的实施例。根据本公开的实施例的示例包括但不限于以下内容。

通常,实施例的至少一个示例可以涉及用于视频编码的装置,其包括:一或多个处理器,其中所述一或多个处理器被配置以基于对分区的约束的修改,使用分区来对所述视频信息的译码单元进行分区,其中所述约束与用于所述译码单元的重构的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区,对所述视频信息进行编码。

一般来说,实施例的至少一个示例可涉及用于解码视频信息的装置,所述装置包括一个或多个处理器,所述一个或多个处理器被配置以获得关于所述视频信息的译码单元的分区的指示,其中所述分区是基于对分区的约束的修改的,所述约束与用于解码的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性;以及基于所述分区且使用所述管线配置来解码所述视频信息。

一般来说,实施例的至少一个示例可涉及一种用于编码视频信息的方法,其包括基于对分区的约束的修改,使用分区来对所述视频信息的译码单元进行分区,其中所述约束与用于重构所述译码单元的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区,对所述视频信息进行编码。

一般来说,实施例的至少一个示例可涉及一种用于解码视频信息的方法,其包括:获得关于所述视频信息的译码单元的分区的指示,其中所述分区是基于对分区的约束的修改的,所述约束与用于解码的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区且使用所述管线配置来解码所述视频信息。

一般来说,实施例的至少一个示例可涉及用于视频编码的装置,所述装置包括一个或多个处理器,所述一个或多个处理器被配置以获得关于译码模式的指示,基于所述译码模式,确定两个或两个以上解码单元之间的信息相依性,基于对分区的约束的修改,确定译码单元的分区,其中所述约束是基于所述信息相依性的,以及基于所述分区对视频信息进行编码。

一般来说,实施例的至少一个示例可涉及用于视频解码的装置,所述装置包括一个或多个处理器,所述一个或多个处理器被配置以获得关于译码模式的指示,获得关于译码单元的分区的指示,其中所述分区是基于对分区的约束的修改的,且所述约束是基于所述译码模式和两个或两个以上解码单元之间的信息相依性的;以及基于所述分区来解码视频信息。

一般来说,实施例的至少一个示例可涉及一种用于视频编码的方法,其包括获得关于译码模式的指示,确定信息相依性,基于对分区的约束的修改来确定译码单元的分区,其中所述约束是基于所述译码模式的两个或两个以上解码单元之间的信息相依性的,以及基于所述分区来编码视频信息。

一般来说,实施例的至少一个示例可涉及一种用于视频解码的方法,其包括获得关于译码模式的指示;获得关于译码单元的分区的指示,其中所述分区是基于对分区的约束的修改的,且所述约束是基于所述译码模式及两个或两个以上解码单元之间的信息相依性;以及基于所述分区对视频信息进行解码。

一般来说,实施例的至少一个示例可涉及如本文所描述的装置或方法,其中所述两个或两个以上解码单元包括与用于解码的管线配置相关联的两个或两个以上管线单元。

通常,实施例的至少一个示例可以涉及如本文所述的装置或方法,其中所述约束阻止了在译码模式期间对于所述分区的选择。

一般来说,实施例的至少一个示例可涉及如本文所描述的装置或方法,其中所述约束的所述修改包括放宽所述约束以使得能够在译码模式期间选择所述分区。

一般来说,实施例的至少一个示例可涉及如本文所描述的装置或方法,其中所述译码模式涉及使用多个译码工具中的一者或多者,所述多个译码工具中的每一者与多个译码工具组中的一组相关联,其中一组中的所述一个或多个译码工具基于所述两个或两个以上管线单元之间的信息相依性而具有共同信息相依性特性,所述约束包括将所述多个译码工具中的所述一者或多者在所述译码模式期间的使用限于仅包含在所述多个译码工具组的第一子组中的译码工具,且所述约束的修改包括将译码工具在所述译码模式期间的使用限于仅包含在所述多个译码工具组的第二子组中的那些译码工具,其中所述第二子组不同于所述第一子组。

一般而言,实施例的至少一个示例可涉及如本文所述的装置或方法,其中所述两个或更多个管线单元是虚拟管线解码单元,并且所述信息相依性包括所述译码单元跨越所述虚拟管线解码单元中的两个或更多个。

通常,实施例的至少一个示例可以涉及如本文所述的装置或方法,其中所述约束包括:

[C1]对于包含一个或多个译码单元的虚拟管线解码单元,所述译码单元被完全包含在所述虚拟管线解码单元中;

[C2]对于包含一个或多个虚拟管线解码单元的译码单元,所述虚拟管线解码单元被完全包含在所述译码单元中;以及

[C3]译码单元的处理顺序不应离开虚拟管线解码单元而稍后重新访问它;并且其中

所述约束的所述修改包括将[C1]修改为:

如果译码单元(CU)没有被完全包含在一个VPDU中,则其重构可以在每个子部分上独立地完成。

一般来说,实施例的至少一个示例可涉及比特流,其中通过基于对分区约束的修改,使用分区来分区视频信息的译码单元而形成所述比特流,其中所述约束与用于重构所述译码单元的管线配置相关联,且所述修改是基于与所述管线配置相关联的两个或两个以上管线单元之间的信息相依性的;以及基于所述分区,将所述译码单元编码到所述比特流中。

一般来说,实施例的至少一个示例可涉及如本文中所述的比特流且进一步包括由编码器插入的信令语法元素,以使得解码器能够从该信令语法获得关于所述译码单元的所述分区的指示以及与所述管线配置相关联的所述约束的所述修改,且基于分区和使用管线配置来解码视频信息。

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

通常,实施例的至少一个示例可以涉及计算机程序产品,其包括用于在由一个或多个处理器执行时执行如本文所述的方法的任何实施例的指令。

通常,实施例的至少一个示例可以涉及一种设备,该设备包括根据本文描述的任何实施例的装置,并且还包括以下中的至少一个:(i)天线,被配置为接收信号,该信号包括表示所述视频信息的数据,(ii)频带限制器,被配置为将接收的信号限制到包括表示所述视频数据的数据的频带,以及(iii)显示器,被配置为显示来自所述视频数据的图像。

通常,实施例的至少一个示例可以涉及如本文所述的设备,其中该设备可以包括电视信号接收机、机顶盒、网关设备、移动设备或其它电子设备中的一者。

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

·提供视频编码,其包括获得关于译码模式的指示,基于所述译码模式来确定两个或两个以上解码单元之间的信息相依性,基于所述信息相依性来确定译码单元的分区,以及基于所述分区来编码视频信息。

·提供视频解码,其包括获得关于译码模式的指示,基于所述译码模式来确定两个或两个以上解码单元之间的信息相依性,基于所述信息相依性来确定译码单元的分区,以及基于所述分区来解码视频信息。

·提供视频编码,其包括基于译码模式来获得两个或更多个虚拟管线解码单元之间的数据相依性,基于所述数据相依性来确定译码单元的分割拓扑,以及基于所述分割拓扑来对视频信息进行编码。

·提供视频解码,其包括基于译码模式来获得两个或两个以上虚拟管线解码单元之间的数据相依性,基于所述数据相依性来确定译码单元的分割拓扑,以及基于所述分割拓扑来解码视频信息。

·提供视频编码,其包括基于跨越多个虚拟管线解码单元的译码单元的译码模式上的一组约束,获得译码单元的译码模式,其中所述约束包括:

ο如果译码单元(CU)没有被完全包含在一个VPDU中,则其重构可以在每个子部分上独立地完成;

ο对于包含一个或多个VPDU的每个CU,所述VPDU被完全包含在所述CU中;以及

οCU的处理顺序不应离开VPDU并在以后重新访问它。

·基于译码单元的译码模式而提供视频解码,所述译码单元的译码模式是基于对跨越多个虚拟管线解码单元的译码单元的译码模式的约束组而建立的,其中所述约束包括

ο如果译码单元(CU)没有被完全包含在一个VPDU中,则其重构可以在每个子部分上独立地完成;

ο对于包含一个或多个VPDU的每个CU,所述VPDU被完全包含在所述CU中;以及

οCU的处理顺序不应离开VPDU并在以后重新访问它。

·提供指示译码模式的一或多个语法元素,其中所述一或多个语法元素使得能够:

ο基于所述译码模式,确定两个或两个以上解码单元之间的信息相依性,

ο基于所述信息相依性,确定用于译码单元的分区,以及

ο基于所述分区,对视频信息进行编码和/或解码。

·提供通过包括指示译码模式的信息而形成的比特流,其中所述信息使得能够:

ο基于所述译码模式,确定两个或两个以上解码单元之间的信息相依性,

ο基于所述信息相依性,确定用于译码单元的分区,以及

ο基于所述分区,对视频信息进行编码和/或解码。

·在编码器和/或解码器中提供用于建立关于用于跨越两个或更多个虚拟管线解码单元(VPDU)而不覆盖所述VPDU的译码单元的译码模式的约束组,其中所述约束组包括:

ο如果译码单元(CU)没有被完全包含在一个VPDU中,则其重构可以在每个子部分上独立地完成;

ο对于包含一个或多个VPDU的每个CU,所述VPDU被完全包含在所述CU中;以及

οCU的处理顺序不应离开VPDU并在以后重新访问它。

·在编码器和/或解码器中提供用于基于虚拟管线解码单元之间的相依性而将译码模式分组为多个组,其中每个组具有不同的相依性,以及用于基于译码模式属于所述多个组中的哪个组来建立对译码模式的选择的约束。

·由编码器在所述信令语法中插入使解码器能够从所述信令语法获得关于译码模式的指示的元素,基于所述译码模式来确定两个或两个以上解码单元之间的信息相依性,基于所述信息相依性来确定译码单元的分区,及基于所述分区来解码视频信息。

·一种包括所描述的语法元素中的一个或多个或其变型的比特流或信号。

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

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

·一种TV、机顶盒、蜂窝电话、平板电脑或其他电子设备,其调谐(例如,使用调谐器)频道以接收包括编码图像的信号,并且根据所描述的实施例中的任意者执行视频编码和/或解码。

·一种TV、机顶盒、蜂窝电话、平板电脑或其他电子设备,其通过空中接收(例如,使用天线)包括编码图像的信号,并且根据所描述的实施例中的任意者执行视频编码和/或解码。

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

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

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

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

在本公开中还支持和设想了各种其它一般化的以及特殊化的实施例。

相关技术
  • 用于视频编码和解码的虚拟管线
  • 用于视频编码/解码的虚拟边界信令方法和设备
技术分类

06120112960270