基于与画面输出相关的信息的图像或视频编码的制作方法

文档序号:33082467发布日期:2023-01-31 20:14阅读:28来源:国知局
基于与画面输出相关的信息的图像或视频编码的制作方法

1.本技术涉及视频或图像编码,例如,涉及基于画面输出相关信息的编码技术。


背景技术:

2.近来,在各种领域中,对诸如4k或8k或更高的超高清(uhd)图像和视频的高分辨率和高质量图像和视频的需求正在增加。随着图像和视频数据变得高分辨率和高质量,与现有的图像和视频数据相比,传输的信息量或比特数相对增加。因此,如果使用诸如现有有线或无线宽带线路的介质来传输图像数据,或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。
3.此外,近来对诸如虚拟现实(vr)、人工现实(ar)内容或全息图的沉浸式媒体的兴趣和需求正在增加。诸如游戏图像的具有与真实图像的图像特征不同的图像特征的图像和视频的广播正在增加。
4.因此,需要高效的图像和视频压缩技术,以便有效地压缩和发送或者存储和回放具有这种各种特性的高分辨率和高质量图像和视频的信息。
5.另外,需要一种用于提高图像/视频编码的效率的方法,并且为了该目的,需要一种能够有效地执行针对画面输出相关信息的推导处理的编码方法。


技术实现要素:

6.技术问题
7.本文档提供了一种用于提高视频/图像编码效率的方法和设备。
8.本文档还提供了一种在画面解码处理中有效推导画面输出相关信息的方法和设备。
9.本文还提供了一种用于有效推导包括不同nal单元类型的切片的画面的画面输出相关信息的方法和设备。
10.技术方案
11.根据本文档的实施方式,对包括在当前画面中的切片执行解码,并且可以在当前画面中的所有切片已经被解码之后推导针对当前画面的画面输出标志。可以基于所述画面输出标志来确定当前画面的输出。例如,基于画面输出标志的值为0,当前画面被标记为“不需要输出”,而基于画面输出标志的值为1,当前画面被标记为“需要输出”。
12.基于包括在当前画面中的所有切片已经被解码,可以根据以下条件中的至少一个来推导画面输出标志。
13.基于与视频参数集(vps)id相关的语法元素的值大于0并且当前层不是输出层的第一条件,画面输出标志的值可以被推导为0。
14.基于当前画面是随机访问跳过先导(rasl)画面并且关联的帧内随机访问点(irap)画面的nooutputbeforerecoveryflag为1的第二条件,画面输出标志的值可以被推导为0。
15.基于当前画面为nooutputbeforerecoveryflag等于1的逐步解码刷新(gdr)画面或nooutputbeforerecoveryflag等于1的gdr画面的恢复画面的第三条件,画面输出标志的值可以呗推导为0。
16.当不满足第一条件、第二条件和第三条件中的至少一个时,画面输出标志的值可以被推导为要用信号通知的画面输出相关语法元素的值。
17.根据本文档的实施方式,提供了一种由解码设备执行的视频/图像解码方法。视频/图像解码方法可以包括在本文档的实施方式中公开的方法。
18.根据本文档的实施方式,提供了一种用于执行视频/图像解码的解码设备。解码设备可以包括在本文档的实施方式中公开的方法。
19.根据本文档的实施方式,提供了一种由编码设备执行的视频/图像编码方法。视频/图像编码方法可以包括在本文档的实施方式中公开的方法。
20.根据本文档的实施方式,提供了一种用于执行视频/图像编码的编码设备。编码设备可以包括在本文档的实施方式中公开的方法。
21.根据本文档的实施方式,提供了一种存储根据本文档的至少一个实施方式中公开的视频/图像编码方法生成的编码视频/图像信息的计算机可读数字存储介质。
22.根据本文档的实施方式,提供了一种存储编码信息或编码视频/图像信息的计算机可读数字存储介质,其使得解码设备执行在本文档的至少一个实施方式中公开的视频/图像解码方法。
23.有益效果
24.本文可以具有各种效果。例如,根据本文档的实施方式,可以提高整体图像/视频压缩效率。另外,根据本文档的实施方式,在图像解码处理中,在画面中的所有切片已经被解码之后推导画面输出标志,从而提高了画面输出相关操作的效率。另外,根据本文档的实施方式,由于即使对于包括不同nal单元类型的切片的画面也可以有效地推导画面输出标志,因此可以提高画面输出相关操作的效率。
25.通过本文档的详细示例可以获得的效果不限于上面列举的效果。例如,相关领域的普通技术人员可以从本文档中理解或诱导各种技术效果。因此,本文档的详细效果不限于在本文档中明确陈述的效果,而是可以包括可以从本文档的技术特征理解或诱导的各种效果。
附图说明
26.图1简要例示了本文档的实施方式可适用的视频/图像编码装置的示例。
27.图2是例示了本文档的实施方式可适用的视频/图像编码设备的配置的示意图。
28.图3是例示了本文档的实施方式可适用的视频/图像解码设备的配置的示意图。
29.图4表示本文档的一个或多个实施方式可适用的示意性视频/图像编码处理的示例。
30.图5表示本文档的一个或多个实施方式可适用的示意性视频/图像解码处理的示例。
31.图6示意性地例示了本文档的实施方式可适用的熵编码方法的示例,并且图7示意性地例示了编码设备中的熵编码器。
32.图8示意性地例示了本文档的实施方式可适用的熵解码方法的示例,并且图9示意性地示出了解码设备中的熵解码器。
33.图10示例性地表示编码图像/视频的分层结构。
34.图11是示出支持时间可伸缩性的比特流中的nal单元的时间层结构的图。
35.图12是用于描述可以随机访问的画面的图。
36.图13是用于描述idr画面的图。
37.图14是用于描述cra画面的图。
38.图15示意性地表示本文档的上述一个或多个实施方式可适用的视频/图像编码方法的示例。
39.图16示意性地表示本文档的上述一个或多个实施方式可适用的视频/图像解码方法的示例。
40.图17示意性地表示本文档的上述一个或多个实施方式可适用的视频/图像编码方法的示例。
41.图18示意性地表示本文档的上述一个或多个实施方式可适用的视频/图像解码方法的示例。
42.图19和图20示意性地例示了根据本文档的实施方式的视频/图像编码方法和相关组件的示例。
43.图21和图22示意性地例示了根据本文档的实施方式的视频/图像解码方法和相关组件的示例。
44.图23示出了本文档中公开的实施方式可适用的内容流传输系统的示例。
具体实施方式
45.本文可以以各种方式修改并且可以具有各种实施方式,并且将在附图中例示并且详细描述具体实施方式。然而,这并不旨在将本文档限于特定实施方式。本说明书中常用的术语用于描述具体实施方式,而不是用于限制本文档的技术精神。除非在上下文中明显地另外表示,否则单数表达式包括复数表达式。本说明书中的诸如“包括”或“具有”的术语应当理解为指示在说明书中描述的特性、数量、步骤、操作、元件、部件或其组合的存在,而不排除存在或可能添加一个或更多个其它特性、数量、步骤、操作、元件、部分或其组合。
46.此外,为了便于与不同特性功能相关的描述,独立地例示了本文档中描述的附图中的元件。这并不意味着每个元件被实现为单独的硬件或单独的软件。例如,可以组合至少两个元件以形成单个元件,或者可以将单个元件划分为多个元件。除非其偏离本文档的本质,否则组合和/或分离元件的实施方式也包括在本文档的权利范围中。
47.在本文档中,“a或b”可以意指“仅a”、“仅b”或“a和b两者”。换句话说,本文档中的“a或b”可以被解释为“a和/或b”。例如,在本文档中,“a、b或c”意指“仅a”、“仅b”、“仅c”或“a、b和c的任意组合”。
48.本文档中使用的斜杠(/)或逗号(,)可以意指“和/或”。例如,“a/b”可以意指“a和/或b”。因此,“a/b”可以意指“仅a”、“仅b”或“a和b两者”。例如,“a、b、c”可以意指“a、b或c”。
49.在本文档中,“a和b中的至少一个”可以意指“仅a”、“仅b”或“a和b两者”。此外,在本文档中,表述“a或b中的至少一个”或“a和/或b中的至少一个”可以被解释为与“a和b中的
至少一个”相同。
50.此外,在本文档中,“a、b和c中的至少一个”是指“仅a”、“仅b”、“仅c”或“a、b和c的任何组合”。此外,“a、b或c中的至少一个”或“a、b和/或c中的至少一个”可以意指“a、b和c中的至少一个”。
51.此外,本文档中使用的括号可以意指“例如”。具体地,当指示“预测(帧内预测)”时,“帧内预测”可以被提出为“预测”的示例。换句话说,本文档中的“预测”不限于“帧内预测”,并且可以提出“帧内预测”作为“预测”的示例。此外,即使当指示“预测(即,帧内预测)”时,“帧内预测”也可以被提出为“预测”的示例。
52.本文涉及视频/图像编码。例如,本文档中公开的方法/实施方式可以应用于通用视频编码(vvc)标准中公开的方法。另外,本文档中公开的方法/实施方式可以应用于在基本视频编码(evc)标准、aomedia video 1(av1)标准、第二代音频视频编码标准(avs2)或下一代视频/图像编码标准(例如,h.267、h.268等)中公开的方法。
53.本文提出视频/图像编码的各种实施方式,并且除非另外指定,否则上述实施方式也可以彼此组合地执行。
54.在本文档中,视频可以指随时间的一系列图像。画面(picture)通常是指表示特定时间帧处的一个图像的单元,而切片(slice)/拼块(tile)是指在编码方面构成画面的一部分的单元。切片/拼块可以包括一个或更多个编码树单元(ctu)。一个画面可以包括一个或更多个切片/拼块。拼块是画面中的特定拼块列和特定拼块行内的ctu的矩形区域(拼块是画面中的特定拼块列和特定拼块行内的ctu的矩形区域)。拼块列是ctu的矩形区域,其具有等于画面的高度的高度和可以由画面参数集中的语法元素指定的宽度(拼块列是ctu的具有等于画面的高度和由画面参数集中的语法元素指定的宽度的矩形区域)。拼块行是ctu的矩形区域,其具有由画面参数集中的语法元素指定的高度和可以等于画面的宽度的宽度(拼块行是ctu的具有由画面参数集中的语法元素指定的高度和等于画面的宽度的宽度的矩形区域)。拼块扫描可表示分割画面的ctu的特定顺序,并且ctu可以在拼块中的ctu光栅扫描中连续地排序,并且画面中的拼块可以在画面的拼块的光栅扫描中连续地排序(拼块扫描是分割画面的ctu的特定顺序排序,其中ctu在拼块中的ctu光栅扫描中连续地排序,而画面中的拼块在画面的拼块的光栅扫描中连续地排序)。切片包括可排他地包含在单个nal单元中的画面的拼块内的整数个完整拼块或整数个连续完整ctu行。
55.此外,一个画面可以被划分为两个或更多个子画面。子画面可以是画面内的一个或更多个切片的矩形区域。
56.像素或画素(pel)可以意指构成一个画面(或图像)的最小单元。另外,“样本”可以被用作与像素对应的术语。样本通常可以表示像素或像素的值,可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。
57.单元可以表示图像处理的基本单元。单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。在某些情况下,可以将单元与诸如块或区域这样的术语互换地使用。在通常情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
58.此外,在本文档中,可以省略量化/解量化和/或变换/逆变换中的至少一个。当省略量化/解量化时,量化变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可
以被称为系数或残差系数,或者为了表达的一致性,仍然可以被称为变换系数。
59.在本文档中,量化变换系数和变换系数可以分别称为变换系数和缩放变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编码语法用信号通知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)来推导变换系数,并且可通过对变换系数的逆变换(缩放)来推导缩放变换系数。可以基于缩放变换系数的逆变换(变换)来推导残差样本。这也可以在本文档的其它部分中应用/表达。
60.在本文档的一个附图中单独描述的技术特征可以单独实现或者可以同时实现。
61.在下文中,参照附图更具体地描述本文档的优选实施方式。在下文中,在附图中,相同的附图标记用于相同的元件,并且可以省略相同元件的冗余描述。
62.图1例示了本文档的实施方式可适用的视频/图像编码系统的示例。
63.参照图1,视频/图像编码系统可以包括源装置和接收装置。源装置可以以文件或流的形式通过数字存储介质或网络向接收装置发送编码的视频/图像信息或数据。
64.源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以包括在编码设备中。接收器可以包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。
65.视频源可以通过捕获、合成或生成视频/图像的处理来获取视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板电脑和智能手机,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以由生成相关数据的处理代替。
66.编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如预测、变换和量化的一系列过程以用于压缩和编码效率。编码数据(编码视频/图像信息)可以比特流的形式输出。
67.发送器可以通过数字存储介质或网络以文件或流的形式向接收装置的接收器发送以比特流形式输出的编码视频/图像信息或数据。数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并将接收到的比特流发送到解码设备。
68.解码设备可以通过执行与编码设备的操作相对应的诸如解量化、逆变换和预测的一系列过程来解码视频/图像。
69.渲染器可以渲染经解码的视频/图像。经渲染的视频/图像可以通过显示器显示。
70.图2是示意性地例示本文档的实施方式可适用的视频/图像编码设备的配置的图。在下文中,所谓的编码设备可以包括图像编码设备和/或视频编码设备。
71.参照图2,编码设备200可以包括并配置有图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250、滤波器260和存储器270。预测器220可以包括帧间预测器221和帧内预测器222。残差处理器230可以包括变换器232、量化器233、解量化器234和逆变换器235。残差处理器230还可以包括减法器231。加法器250可以被称为重构器或重构块生成
器。上文描述的图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可以由根据实施方式的一个或更多个硬件组件(例如,编码器芯片组或处理器)配置。另外,存储器270可以包括解码画面缓冲器(dpb)并且还可以由数字存储介质配置。硬件组件还可以包括作为内部/外部组件的存储器270。
72.图像分割器210可以将输入到编码设备200的输入图像(或画面、帧)分割为一个或更多个处理单元。作为示例,处理单元可以被称为编码单元(cu)。在这种情况下,可以根据四叉树二叉树三叉树(qtbttt)结构从编码树单元(ctu)或最大编码单元(lcu)递归地分割编码单元。例如,一个编码单元可以基于四叉树结构、二叉树结构和/或三叉树结构而被分割为深度更深的多个编码单元。在这种情况下,例如,首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。另选地,也可以首先应用二叉树结构。可以基于不再被分割的最终编码单元来执行根据本文档的编码过程。在这种情况下,基于根据图像特性等的编码效率,最大编码单元可以被直接用作最终编码单元,或者根据需要,编码单元可以被递归地分割为深度更深的编码单元,使得具有最优大小的编码单元可以被用作最终编码单元。这里,编码过程可以包括诸如稍后描述的预测、变换和重构的过程。作为另一示例,处理单元还可以包括预测单元(pu)或变换单元(tu)。在这种情况下,预测单元和变换单元中的每一个可以从上述最终编码单元中分割或划分出来。预测单元可以是样本预测的单元,并且变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
73.在某些情况下,单元可以与诸如块或区域的术语互换使用。通常,m
×
n块可以表示由m列和n行组成的样本或一组变换系数。样本通常可以表示像素或像素的值,并且也可以仅表示亮度分量的像素/像素值,并且还可以仅表示色度分量的像素/像素值。样本可以用作与配置一个画面(或图像)的像素或画素相对应的术语。
74.编码设备200可以通过从输入图像信号(原始块,原始样本阵列)中减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列)来生成残差信号(残差块、残差样本阵列),并且所生成的残差信号被发送到变换器232。在这种情况下,如图所示,编码设备200内用于从输入图像信号(原始块、原始样本阵列)减去预测信号(预测块、预测样本阵列)的单元可以称为减法器231。预测器可以对要处理的块(以下称为当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测器可以以当前块或cu为单位来是确定应用帧内预测还是应用帧间预测。如稍后在每个预测模式的描述中描述的,预测器可以生成诸如预测模式信息的关于预测的各种信息,以将生成的信息传送到熵编码器240。关于预测的信息可以由熵编码器240编码,从而以比特流的形式输出。
75.帧内预测器222可以参考当前画面内的样本来预测当前块。根据预测模式,参考样本可以位于当前块附近,或者也可以远离当前块。帧内预测中的预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式或平面模式。根据预测方向的精细程度,方向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这是示例性的,并且可以根据设置使用多于或少于上述数目的定向预测模式。帧内预测器222还可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
76.帧间预测器221可以基于由参照画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。这里,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块和当前块之间的运动信息的相关性,以块、子块或样本为单位来预测运动信息。运动
信息可以包括运动向量和参照画面索引。运动信息还可包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前画面中的空间邻近块和存在于参照画面中的时间邻近块。包括参考块的参照画面和包括时间邻近块的参照画面可以相同或不同。时间邻近块可以称为并置参考块、共位cu(colcu)等,并且包括时间邻近块的参照画面可以称为并置画面(colpic)。例如,帧间预测器221可以基于邻近块来配置运动信息候选列表,并且生成指示使用哪个候选来推导当前块的运动向量和/或参照画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可以将邻近块的运动信息用作当前块的运动信息。在跳过模式下,与合并模式不同,可能无法发送残差信号。在运动向量预测(mvp)模式的情况下,可以通过将邻近块的运动向量用作运动向量预测子并且发信号通知运动向量差来指示当前块的运动向量。
77.预测器220可以基于稍后描述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且可以同时应用帧内预测和帧间预测。这可以被称为组合帧间和帧内预测(ciip)。此外,预测器可以基于块内复制(ibc)预测模式或调色板模式,以便于对块执行预测。ibc预测模式或调色板模式可用于游戏等的内容图像/视频编码(例如,屏幕内容编码(scc))。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测来执行ibc,因为其推导当前画面中的参考块。也就是说,ibc可以使用本文档中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编码或帧内预测的示例。当应用调色板模式时,可以基于关于调色板索引和调色板表的信息来用信号通知画面中的样本值。
78.由预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可用于生成重构信号或生成残差信号。变换器232可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图表示时从图获得的变换。cnt是指基于使用所有先前重构像素生成的预测信号而生成的变换。另外,变换处理可以应用于具有相同大小的方形像素块,或者可以应用于具有可变大小而不是方形的块。
79.量化器233可以对变换系数进行量化,以将量化变换系数发送到熵编码器240,并且熵编码器240可以将量化信号(关于量化变换系数的信息)编码为比特流并且输出经编码的量化信号。关于量化变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块形式的量化变换系数重新布置为一维向量形式,并且还可以基于一维向量形式的量化变换系数来生成关于量化变换系数的信息。熵编码器240可以执行诸如指数哥伦布(golomb)编码、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)的各种编码方法。熵编码器240还可以对用于除了经量化变换系数之外的视频/图像所必需的信息(例如,语法元素的值等)一起或单独地进行编码。可以以比特流的形式以网络抽象层(nal)单元为单位发送或存储编码信息(例如,编码视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)的各种参数集的信息。另外,视频/图像信息还可以包括一般约束信息。稍后将在本文档中描述的用信号通知/发送的信息和/或语法元素可以通过前述编码过程进行编
码,并因此被包括在比特流中。比特流可以通过网络发送,或者存储在数字存储介质中。这里,网络可以包括广播网络和/或通信网络等,数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd和ssd的各种存储介质。用于发送从熵编码器240输出的信号的发送器(未例示)和/或用于存储信号的存储器(未例示)可以被配置为编码设备200的内部/外部元件,或者发送器也可以被包括在熵编码器240中。
80.从量化器233输出的量化变换系数可用于生成预测信号。例如,解量化器234和逆变换器235将逆量化和逆变换应用于量化变换系数,使得可以重构残差信号(残差块或残差样本)。加法器250将重构残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加,从而可以生成重构信号(重构的画面、重构的块、重构的样本阵列)。如在应用跳过模式的情况下,如果针对要处理的块不存在残差,则可以将预测块用作重构块。加法器250可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前画面内要处理的下一个块的帧内预测,并且如稍后描述的,还可以通过滤波用于的下一个画面的帧间预测。
81.此外,还可以在画面编码和/或重构处理中应用具有色度缩放的亮度映射(lmcs)。
82.滤波器260可以对重构信号应用滤波,从而改善主观/客观图像质量。例如,滤波器260可以将各种滤波方法应用于重构画面以生成修改的重构画面,并且将修改的重构画面存储在存储器270中,具体地,存储在存储器270的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。滤波器260可以生成各种滤波相关信息以将所生成的信息传送到熵编码器240,如稍后在每个滤波方法的描述中所描述的。滤波相关信息可以由熵编码器240编码,从而以比特流的形式输出。
83.发送到存储器270的经修改的重构画面可以用作帧间预测器221中的参考画面。如果帧间预测器应用帧间预测,则编码设备可以避免编码设备200和解码设备之间的预测失配,并且还提高编码效率。
84.存储器270的dpb可以在帧间预测器221中存储要用作参考画面的经修改的重构画面。存储器270可以存储其中推导(或编码)当前画面内的运动信息的块的运动信息和/或先前重构画面内的块的运动信息。所存储的运动信息可以被传送到帧间预测器221,以便被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前画面内的重构块的重构样本并且可将重构样本传送到帧内预测器222。
85.图3是示意性地解释本文档的实施方式可适用的视频/图像解码设备的配置的图。在下文中,所谓的解码设备可以包括图像解码设备和/或视频解码设备。
86.参照图3,解码设备300可以包括并配置有熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可以包括帧内预测器331和帧间预测器332。残差处理器320可以包括解量化器321和逆变换器322。以上已经描述的熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由根据实施方式的一个或更多个硬件组件(例如,解码器芯片组或处理器)配置。此外,存储器360可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。硬件组件还可以包括作为内部/外部组件的存储器360。
87.当输入包括视频/图像信息的比特流时,解码设备300可以响应于在图2所示的编码设备中处理视频/图像信息的处理来重构图像。例如,解码设备300可以基于从比特流获取的块分割相关信息来推导单元/块。解码设备300可以使用应用于编码设备的处理单元来
执行解码。因此,用于解码的处理单元可以是例如编码单元,并且编码单元可以根据四叉树结构、二叉树结构和/或三叉树结构从编码树单元或最大编码单元分离。可以从编码单元推导一个或更多个变换单元。另外,可以通过再现设备再现通过解码设备300解码和输出的重构图像信号。
88.解码设备300可以以比特流的形式接收从图2所示的编码设备输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以通过解析比特流来推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)和视频参数集(vps)的各种参数集的信息。另外,视频/图像信息还可以包括一般约束信息。解码设备还可以基于关于参数集的信息和/或一般约束信息来对画面进行解码。稍后在本文档中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程进行解码,并且从比特流获取。例如,熵解码器310可以基于诸如指数哥伦布编码、cavlc或cabac之类的编码方法来对比特流内的信息进行解码,并且输出图像重构所必需的语法元素的值和残差相关变换系数的量化值。更具体地,cabac熵解码方法可以从比特流接收与每个语法元素相对应的bin,使用要解码的语法元素信息并对邻近块和要解码的块的信息或在前一级中解码的符号/bin的信息进行解码来确定上下文模型,并且通过根据所确定的上下文模型预测bin的生成概率来生成与每个语法元素的值相对应的符号,以执行bin的算术解码。此时,cabac熵解码方法可以确定上下文模型,然后使用用于下一个符号/bin的上下文模型的解码符号/bin的信息来更新上下文模型。由熵解码器310解码的信息当中的关于预测的信息可被提供给预测器(帧间预测器332和帧内预测器331),并且由熵解码器310执行熵解码的残差值(即,量化变换系数和相关参数信息)可以被输入到残差处理器320。残差处理器320可以推导残差信号(残差块、残差样本和残差样本阵列)。另外,由熵解码器310解码的信息当中的关于滤波的信息可以被提供给滤波器350。此外,用于接收从编码设备输出的信号的接收器(未例示)还可以被配置为解码设备300的内部/外部元件,或者接收器还可以是熵解码器310的组件。此外,根据本文档的解码设备可以被称为视频/图像/画面解码设备,并且解码设备还可以被分类为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。
89.解量化器321可以对量化变换系数进行解量化以输出变换系数。解量化器321可以以二维块的形式重新布置量化变换系数。在这种情况下,可以基于由编码设备执行的系数扫描顺序来执行重新布置。解量化器321可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化,并获取变换系数。
90.逆变换器322对变换系数进行逆变换以获取残差信号(残差块、残差样本阵列)。
91.预测器330可以对当前块执行预测,并且生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定是将帧内预测应用于当前块还是将帧间预测应用于当前块,并且确定具体的帧内/帧间预测模式。
92.预测器可以基于稍后描述的各种预测方法来生成预测信号。例如,预测器不仅可以将帧内预测或帧间预测应用于一个块的预测,而且可以同时应用帧内预测和帧间预测。这可以被称为组合帧间和帧内预测(ciip)。此外,预测器可以基于块内复制(ibc)预测模式
或调色板模式,以便对块执行预测。ibc预测模式或调色板模式可用于游戏等的内容图像/视频编码(例如,屏幕内容编码(scc))。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测执行ibc,因为其推导当前画面中的参考块。也就是说,ibc可以使用本文档中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编码或帧内预测的示例。当应用调色板模式时,关于调色板表和调色板索引的信息可被包括在视频/图像信息中并被用信号通知。
93.帧内预测器331可以参考当前画面内的样本来预测当前块。根据预测模式,参考样本可以位于当前块附近,或者也可以位于远离当前块的位置。帧内预测中的预测模式可以包括多个非定向模式和多个定向模式。帧内预测器331还可以使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
94.帧间预测器332可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前画面内的空间邻近块和存在于参考画面中的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
95.加法器340可以将获取的残差信号与从预测器(包括帧间预测器332和/或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如在应用跳过模式的情况下,如果对于要处理的块不存在残差,则可以将预测块用作重构块。
96.加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前画面内要处理的下一个块的帧内预测,并且如稍后描述的,还可以通过滤波输出或者还可以用于下一个画面的帧间预测。
97.此外,也可以在画面解码处理中应用具有色度缩放的亮度映射(lmcs)。
98.滤波器350可以对重构信号应用滤波,从而提高主观/客观图像质量。例如,滤波器350可以将各种滤波方法应用于重构画面以生成经修改的重构画面,并且将经修改的重构画面发送到存储器360,具体地,发送到存储器360的dpb。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双向滤波器等。
99.存储在存储器360的dpb中的(经修改的)重构画面可以用作帧间预测器332中的参考画面。存储器360可以存储其中推导(解码)当前画面内的运动信息的块的运动信息和/或先前重构画面内的块的运动信息。所存储的运动信息可以被传送到帧间预测器260,以便被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前画面内的重构块的重构样本并且可以将存储的重构样本传送到帧内预测器331。
100.在本文档中,编码设备200的滤波器260、帧间预测器221和帧内预测器222中描述的示例性实施方式可以分别等同地应用于或对应于解码设备300的滤波器350、帧间预测器332和帧内预测器331。
101.如上所述,在执行视频编码时,执行预测以提高压缩效率。由此,可以生成包括作为要编码的块的当前块(即,编码目标块)的预测样本的预测块。这里,预测块包括空间域(或像素域)中的预测样本。在编码设备和解码设备中以相同的方式推导预测块,并且编码设备可以将关于原始块和预测块之间的残差的信息(残差信息)而不是原始块的原始样本值用信号通知给解码设备,从而提高图像编码效率。解码设备可以基于残差信息推导包括残差样本的残差块,将残差块和预测块相加以生成包括重构样本的重构块,并且生成包括重构块的重构画面。
102.残差信息可以通过变换和量化过程生成。例如,编码设备可以推导原始块和预测块之间的残差块,对包括在残差块中的残差样本(残差样本阵列)执行变换过程以推导变换系数,对变换系数执行量化过程以推导量化变换系数,并且(通过比特流)将相关残差信息用信号通知给解码设备。这里,残差信息可以包括量化变换系数的值信息、位置信息、变换技术、变换核、量化参数等。解码设备可以基于残差信息执行解量化/逆变换过程,并推导残差样本(或残差块)。解码设备可以基于预测块和残差块来生成重构画面。此外,为了以后用于画面的帧间预测的参考,编码设备还可以对量化变换系数进行解量化/逆变换,以推导残差块并基于该残差块生成重构画面。
103.此外,如上所述,当对当前块执行预测时,可以应用帧内预测或帧间预测。在实施方式中,当帧间预测被应用于当前块时,编码/解码设备的预测器(更具体地,帧间预测器)可以通过以块为单位执行帧间预测来推导预测样本。帧间预测可以指示在取决于除了当前画面以外的一个或多个画面的数据元素(例如,采样值、运动信息等)的方法中推导的预测。当对当前块应用帧间预测时,可以基于由参考画面索引指示的参考画面上的运动向量指定的参考块(参考样本阵列)来推导针对当前块的预测块(预测样本阵列)。此时,为了减少在帧间预测模式中发送的运动信息的量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测当前块的运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测类型(l0预测、l1预测、bi预测等)信息。当应用帧间预测时,邻近块可以包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等,并且包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,可以基于当前块的邻近块来配置运动信息候选列表,并且可以用信号通知指示选择(使用)哪个候选以便推导当前块的运动向量和/或参考画面索引的标志或索引信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,当前块的运动信息可以与所选邻近块的运动信息相同。在跳过模式下,与合并模式不同,可以不发送残差信号。在运动信息预测(运动向量预测(mvp))模式的情况下,可以将所选邻近块的运动向量用作运动向量预测子,并且可以用信号通知运动向量差。在这种情况下,可以使用运动向量预测子和运动向量差的和来推导当前块的运动向量。
104.根据帧间预测类型(l0预测、l1预测、bi预测等),运动信息还可以包括l0运动信息和/或l1运动信息。l0方向的运动向量可以被称为l0运动向量或mvl0,l1方向的运动向量可以被称为l1运动向量或mvl1。基于l0运动向量的预测可被称为l0预测,基于l1运动向量的预测可被称为l1预测,并且基于l0运动向量和l1运动向量两者的预测可被称为双向预测。这里,l0运动向量可以指示与参考画面列表l0相关联的运动向量,l1运动向量可以指示与
参考画面列表l1相关联的运动向量。参考画面列表l0可以包括按照输出顺序在当前画面之前的画面,并且参考画面列表l1可以包括按照输出顺序在当前画面之后的画面,作为参考画面。先前画面可被称为前向(参考)画面,并且后续画面可被称为反向(参考)画面。参考画面列表l0还可以包括按照输出顺序在当前画面之后的画面作为参考画面。在这种情况下,可以首先在参考画面列表l0中索引先前画面,然后可以索引后续画面。参考画面列表l1还可以包括按照输出顺序在当前画面之前的画面作为参考画面。在这种情况下,可以首先在参考画面列表l1中索引后续画面,然后可以索引先前画面。这里,输出顺序可以对应于画面顺序计数(poc)顺序。
105.参照图4,视频/图像编码过程可以示意性地包括生成针对当前画面的重构画面的过程和将环内滤波应用于重构画面的过程(可选的),以及对用于重构画面的信息(例如,预测信息、残差信息或分割信息)进行编码以输出如参照图2描述的比特流形式的编码信息的过程。
106.编码设备可以通过解量化器234和逆变换器235从量化变换系数推导(经修改的)残差样本,并且基于s400中输出的预测样本和(经修改的)残差样本来生成重构画面。这样生成的重构画面可以与由解码设备生成的前述重构画面相同。经修改的重构画面可以通过针对重构画面的环内滤波过程来生成,并且可以存储在解码画面缓冲器或存储器270中,并且如在解码设备的情况中那样,在稍后对画面进行编码时用作帧间预测过程中的参考画面。如上所述,在一些情况下,可以省略一些或全部环内滤波过程。如果执行环内滤波过程,则(环内)滤波相关信息(参数)由熵编码器240编码并以比特流的形式输出,并且解码设备可以基于滤波相关信息以与编码设备相同的方法执行环内滤波过程。
107.可以通过环内滤波过程减少在对图像/视频进行编码时产生的噪声(例如,块伪影和振铃伪影),并且增强主观/客观视觉质量。此外,通过在编码设备和解码设备两者中执行环内滤波过程,编码设备和解码设备可以推导相同的预测结果,提高画面编码的可靠性,并且减少要发送用于对画面进行编码的数据量。
108.如上所述,可以在编码设备以及解码设备中执行画面重构过程。可以以每个块为单位基于帧内预测/帧间预测来生成重构块,并且可以生成包括重构块的重构画面。如果当前画面/切片/拼块组是i画面/切片/拼块组,则可以仅基于帧内预测来重构包括在当前画面/切片/拼块组中的块。此外,如果当前画面/切片/拼块组是p或b画面/切片/拼块组,则可以基于帧内预测或帧间预测来重构包括在当前画面/切片/拼块组中的块。在这种情况下,帧间预测可以应用于当前画面/切片/拼块组中的一些块,并且帧内预测也可以应用于其它块。画面的颜色分量可以包括亮度分量和色度分量,并且本文档中提出的方法和示例性实施方式可以应用于亮度分量和色度分量,除非在本文档中明确限制。
109.图5表示本文档的一个或多个实施方式可适用的示意性视频/图像解码过程的示例。在图5中,s500可以在上述图3中的解码设备的熵解码器310中执行;s510可以在预测器330中执行;s520可以在残差处理器320中执行;s530可以在加法器340中执行;并且s540可以在滤波器350中执行。s500可以包括本文档中描述的信息解码过程;s510可以包括本文档中描述的帧间/帧内预测过程;s520可以包括本文档中描述的残差处理过程;s530可以包括本文档中描述的块/画面重构过程;以及s540可以包括本文档中描述的环内滤波过程。
110.参照图5,如关于图3的描述中所表示的,画面解码过程可以示意性地包括(通过解
码)来自比特流的图像/视频信息获得过程s500,画面重构过程s510至s530,以及针对重构画面的环内滤波过程s540。可以基于通过本文档中描述的帧间/帧内预测s510和残差处理s520(针对量化变换系数的解量化、逆变换)过程获得的残差样本和预测样本来执行画面重构过程。通过对通过画面重构过程生成的重构画面的环内滤波处理,可以生成经修改的重构画面,该经修改的重构画面可以被输出为解码画面,并且还可以被存储在解码设备的解码画面缓冲器或存储器360中,并且可以被用作稍后画面解码的帧间预测过程中的参考画面。
111.根据情况,可以跳过环内滤波过程,并且在这种情况下,重构的画面可以被输出为解码画面,并且还可以被存储在解码设备的解码画面缓冲器或存储器360中,并且可以被用作稍后画面解码的帧间预测过程中的参考画面。环内滤波过程s540可以包括如上所述的去块滤波过程、采样自适应偏移(sao)过程、自适应环路滤波器(alf)过程和/或双向滤波过程,并且可以跳过它们中的全部或一部分。此外,可以依次应用去块滤波过程、采样自适应偏移(sao)过程、自适应环路滤波器(alf)过程和双向滤波过程中的一个或一部分,或者可以依次应用它们中的全部。例如,在去块滤波过程应用于重构画面之后,可以对其执行sao过程。另选地,例如,在去块滤波过程应用于重构画面之后,可以对其执行alf过程。这同样可以在编码设备中执行。
112.此外,如上所述,编码设备基于诸如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等各种编码方法来执行熵编码。此外,解码设备可以基于诸如指数哥伦布编码、cavlc或cabac的编码方法来执行熵解码。在下文中,将描述熵编码/解码处理。
113.图6示意性地例示了本文档的实施方式可适用的熵编码方法的示例,图7示意性地示出了编码设备中的熵编码器。图7的编码设备中的熵编码器也可以等同地或对应地应用于图2的编码设备200的上述熵编码器240。
114.参照图6和图7,编码设备(熵编码器)对图像/视频信息执行熵编码处理。图像/视频信息可以包括分割(partitioning)相关信息、预测相关信息(例如,帧间/帧内预测区分信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环内滤波相关信息,或者可以包括与它们相关的各种语法元素。熵编码可以以语法元素为单位执行。s600和s610可以由图2的编码设备200的上述熵编码器240来执行。
115.编码设备可以对目标语法元素执行二进制化(s600)。这里,二进制化可以基于各种二进制化方法,诸如截断的rice二进制化过程、固定长度二进制化过程等,并且可以预定义用于目标语法元素的二进制化方法。二进制化过程可以由熵编码器240中的二进制化器242执行。
116.编码设备可以对目标语法元素执行熵编码(s610)。编码设备可以基于熵编码方案(例如,上下文自适应算术编码(cabac)或上下文自适应可变长度编码(cavlc))对目标语法元素的bin串进行基于常规的编码(基于上下文)或基于旁路的编码,并且可将其输出并入比特流中。熵编码过程可由熵编码器240中的熵编码处理器243执行。如上所述,比特流可以通过(数字)存储介质或网络传送到解码设备。
117.图8示意性地例示了本文档的实施方式可适用的熵解码方法的示例,并且图9示意性地例示了解码设备中的熵解码器。图9的解码设备中的熵解码器也可以等同地或对应地
应用于图3的解码设备300的上述熵解码器310。
118.参照图8和图9,解码设备(熵解码器)可以对经编码的图像/视频信息进行解码。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测区分信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环内滤波相关信息,或者可以包括与它们相关的各种语法元素。熵编码可以以语法元素为单位执行。s800和s810可以由图3的解码设备300的上述熵解码器310来执行。
119.解码设备可以对目标语法元素执行二进制化(s800)。这里,二进制化可以基于诸如截断的莱斯(rice)二进制化过程、固定长度二进制化过程等的各种二进制化方法,并且可以预定义用于目标语法元素的二进制化方法。解码设备可以通过二进制化过程推导目标语法元素的启用值的启用bin串(bin串候选)。二进制化过程可以由熵解码器310中的二进制化器312执行。
120.解码设备可以对目标语法元素执行熵解码(s810)。在从比特流中的输入比特依次解码和解析目标语法元素的每个bin的同时,解码设备将推导bin串与对应语法元素的启用bin串进行比较。当推导bin串与启用bin串之一相同时,可以将与bin串相对应的值推导为语法元素的值。如果不是,则可以在进一步解析比特流中的下一比特之后再次执行上述过程。通过这些处理,即使针对比特流中的特定信息(特定语法元素)未使用开始比特或结束比特,解码设备也可以使用可变长度比特来用信号通知信息。由此,可以将相对较少的比特分配给低值,从而提高整体编码效率。
121.解码设备可以基于诸如cabac、cavlc等的熵编码技术对来自比特流的bin串中的相应bin执行基于上下文或基于旁路的解码。在这方面,比特流可以包括用于如上所述的图像/视频解码的各种信息。如上所述,比特流可以通过(数字)存储介质或网络传送到解码设备。
122.在本文档中,包括语法元素的表(语法表)可用于指示信息从编码设备到解码设备的信令。包括在本文档中使用的语法元素的表中的语法元素的顺序可以指示来自比特流的语法元素的解析顺序。编码设备可以构造和编码语法表,使得解码设备可以按照解析顺序解析语法元素,而解码设备可以通过根据解析顺序从比特流解析和解码对应语法表的语法元素来获得语法元素的值。
123.图10示例性地示出编码图像/视频的分层结构。
124.参照图10,经编码的图像/视频被划分为处理图像/视频解码过程和其自身的vcl(视频编码层)、发送和存储编码信息的子系统以及存在于vcl和子系统之间并负责网络适配功能的网络抽象层(nal)。
125.vcl可以生成包括压缩图像数据(切片数据)的vcl数据,或者生成包括画面参数集(画面参数集:pps)、序列参数集(序列参数集:sps)、视频参数集(视频参数集:vps)等的参数集,或者图像的解码过程额外需要的补充增强信息(sei)消息。
126.在nal中,可以通过将报头信息(nal单元报头)添加到在vcl中生成的原始字节序列有效载荷(rbsp)来生成nal单元。在这种情况下,rbsp是指在vcl中生成的切片数据、参数集、sei消息等。nal单元报头可以包括根据包括在对应nal单元中的rbsp数据指定的nal单元类型信息。
127.另外,根据在vcl中生成的rbsp,nal单元可以被划分为vcl nal单元和非vcl nal
单元。vclnal单元可以是指包括关于图像的信息(切片数据)的nal单元,并且非vclnal单元可以是指包括对图像进行解码所需的信息(参数集或sei消息)的nal单元。
128.vcl nal单元和非vcl nal单元可以通过根据子系统的数据标准附加报头信息而通过网络发送。例如,nal单元可以被转换为预定标准的数据形式(例如,h.266/vvc文件格式、实时传输协议(rtp)和传输流(ts)等),并通过各种网络发送。
129.如上所述,在nal单元中,可以根据包括在对应nal单元中的rbsp数据结构来指定nal单元类型,并且可以在nal单元报头中存储并用信号通知关于该nal单元类型的信息。
130.例如,根据nal单元是否包括关于图像的信息(切片数据),nal单元可以粗略地分类为vcl nal单元类型和非vcl nal单元类型。vcl nal单元类型可以根据包括在vcl nal单元中的画面的属性和类型来分类,并且非vcl nal单元类型可以根据参数集的类型来分类。
131.以下是根据包括在非vcl nal单元类型中的参数集的类型指定的nal单元类型的示例。
[0132]-dci(解码能力信息)nal单元:包括dci的nal单元的类型
[0133]-vps(视频参数集)nal单元:包括vps的nal单元的类型
[0134]-sps(序列参数集)nal单元:包括sps的nal单元的类型
[0135]-pps(画面参数集)nal单元:包括pps的nal单元的类型
[0136]-aps(适应参数集)nal单元:包括aps的nal单元的类型
[0137]-ph(画面报头)nal单元:包括ph的nal单元的类型
[0138]
上述nal单元类型具有针对nal单元类型的语法信息,并且可以在nal单元报头中存储并用信号通知该语法信息。例如,语法信息可以是nal_unit_type,并且nal单元类型可以由nal_unit_type值指定。
[0139]
此外,如上所述,一个画面可以包括多个切片,并且一个切片可以包括切片报头和切片数据。在这种情况下,还可以将一个画面报头添加到一个画面中的多个切片(切片报头和切片数据集)。画面报头(画面报头语法)可以包括可以共同应用于画面的信息/参数。切片报头(切片报头语法)可以包括可以共同应用于切片的信息/参数。aps(aps语法)或pps(pps语法)可以包括可以共同应用于一个或更多个切片或画面的信息/参数。sps(sps语法)可以包括可以共同应用于一个或更多个序列的信息/参数。vps(vps语法)可以包括可以共同应用于多个层的信息/参数。dci(dci语法)可以包括可以在视频上共同应用的信息/参数。dci可以包括与解码能力相关的信息/参数。在本文档中,高级语法(hls)可以包括aps语法、pps语法、sps语法、vps语法、dci语法、画面报头语法和切片报头语法中的至少一个。此外,在本文档中,低级语法(lls)可以包括例如切片数据语法、ctu语法、编码单元语法、变换单元语法等。
[0140]
此外,在本文档中,拼块组可互换地使用或用切片或画面代替。此外,在本文档中,拼块组报头可互换地使用或用切片报头或画面报头代替。
[0141]
在本文中,以比特流的形式从编码设备被编码并且用信号通知给解码设备的图像/视频信息不仅可以包括与画面内分割相关的信息、帧内/帧间预测信息、残差信息、环内滤波信息等,还可以包括切片报头信息、画面报头信息、aps信息、pps信息、sps信息和/或dci信息。另外,图像/视频信息还可以包括一般约束信息和/或nal单元报头的信息。
[0142]
如上所述,高级语法(hls)可以被编码/发信号通知用于视频/图像编码。在本文档
中,视频/图像信息可以包括hls,并且可以基于视频/图像信息来执行视频/图像编码方法。例如,被编码的画面可以用一个或更多个切片来构造。描述被编码的画面的参数可以在画面报头(ph)中用信号通知,并且描述切片的参数可以在切片报头(sh)中用信号通知。ph可以以其自身的nal单元类型发送。sh可以存在于包括切片的有效载荷(即,切片数据)的nal单元的开始部分。ph和sh的语法和语义的细节可以如vvc标准中所公开的那样。每个画面可以与ph相关联。可以用不同类型的切片来构造画面:帧内编码切片(即,i切片)和帧间编码切片(即,p切片和b切片)。结果,ph可以包括画面的帧内切片和画面的帧间切片所必需的语法元素。
[0143]
此外,通常,可以针对一个画面设置一个nal单元类型。nal单元类型可以通过包括切片的nal单元的nal单元报头中的nal_unit_type用信号通知。nal_unit_type是用于指定nal单元类型的语法信息,即,如下面的表1或表2所示,可以指定包括在nal单元中的rbsp数据结构的类型。
[0144]
下面的表1示出了nal单元类型代码和nal单元类型类的示例。
[0145]
[表1]
[0146][0147]
另选地,作为示例,nal单元类型代码和nal单元类型类可以如下面的表2所示定义。
[0148]
[表2]
[0149]
[0150][0151]
如表1或表2所示,nal单元类型的名称及其值可以根据包括在nal单元中的rbsp数据结构来指定,并且可以根据nal单元是否包括关于图像的信息(切片数据)而被分类为vcl nal单元类型和非vcl nal单元类型。vcl nal单元类型可以根据画面的性质、种类等进行分类,并且非vcl nal单元类型可以根据参数集的种类等进行分类。例如,nal单元类型可以根据包括在vcl nal单元中的图像的性质和种类如下指定。
[0152]
trail:其指示包括结尾画面/子画面的编码切片数据的nal单元的类型。例如,nal_unit_type可以被定义为trail_nut,并且nal_unit_type的值可以被指定为0。
[0153]
这里,结尾画面是指在能够按输出顺序和解码顺序随机访问的画面之后的画面。结尾画面可以是按输出顺序在关联的irap画面之后的非irap画面,并且不是stsa画面。例如,与irap画面相关联的结尾画面按解码顺序在irap画面之后。不允许按输出顺序在关联的irap画面之后并且按解码顺序在关联的irap画面之前的画面。
[0154]
stsa(逐步时间子层访问):其指示包括stsa画面/子画面的编码切片数据的nal单元的类型。例如,nal_unit_type可以被定义为stsa_nut,并且nal_unit_type的值可以被指定为1。
[0155]
这里,stsa画面是可以在支持时间可缩放性的比特流中的时间子层之间切换的画面,并且是指示可以从下子层向上切换到比下子层高一级的上子层的位置的画面。stsa画面不使用与stsa画面相同的temporalid和与stsa画面相同的层中的画面进行帧间预测参考。按解码顺序在相同层中的stsa画面之后的画面以及与stsa画面相同的temporalid不使用按解码顺序在相同层中的stsa画面之前的画面以及与stsa画面相同的temporalid进行帧间预测参考。stsa画面使得能够在stsa画面中从紧邻的下子层向上切换到包括stsa画面的子层。在这种情况下,被编码的画面必须不属于最下子层。也就是说,stsa画面必须始终具有大于0的temporalid。
[0156]
radl(随机访问可解码先导(画面)):其指示包括radl画面/子画面的被编码的切片数据的nal单元的类型。例如,nal_unit_type可以被定义为radl_nut,并且nal_unit_type的值可以被指定为2。
[0157]
这里,所有radl画面都是先导画面。radl画面不被用作用于相同关联irap画面的结尾画面的解码处理的参考画面。具体地,具有等于layerid的nuh_layer_id的radl画面是按输出顺序在与radl画面相关联的irap画面之后的画面,并且不用作用于具有等于layerid的nuh_layer_id的画面的解码处理的参考画面。当field_seq_flag(即,sps_field_seq_flag)为0时,所有radl画面(即,如果存在radl画面)按解码顺序在相同关联irap画面的所有非先导画面之前。此外,先导画面是指按输出顺序在相关irap画面之前的
画面。
[0158]
rasl(随机访问跳过先导(画面)):其指示包括rasl画面/子画面的被编码的切片数据的nal单元的类型。例如,nal_unit_type可以被定义为rasl_nut,并且nal_unit_type的值可以被指定为3。
[0159]
这里,所有rasl画面都是关联的cra画面的先导画面。当关联的cra画面具有值为1的nooutputbeforerecoveryflag时,由于rasl画面可以包括对比特流中不存在的画面的参考,所以既不能输出也不能正确解码rasl画面。rasl画面不被用作用于相同层的非rasl画面的解码处理的参考画面。然而,相同层的rasl画面中的radl子画面可以用于针对与和rasl画面相同的cra画面相关联的radl画面中的并置的radl子画面的帧间预测。当field_seq_flag(即,sps_field_seq_flag)为0时,所有rasl画面(即,如果存在rasl画面)按解码顺序在相同关联cra画面的所有非先导画面之前。
[0160]
可以存在针对非irap vcl nal单元类型的保留nal_unit_type。例如,nal_unit_type可以被定义为rsv_vcl_4至rsv_vcl_6,并且nal_unit_type的值可被分别指定为4至6。
[0161]
这里,帧内随机访问点(irap)是指示能够随机访问的画面的nal单元的信息。irap画面可以是cra画面或idr画面。例如,如上面的表1或表2中那样,irap画面是指具有其中nal_unit_type被定义为idr_w_radl、idr_n_lp和cra_nut的nal单元类型的画面,并且nal_unit_type的值可以分别被指定为7至9。
[0162]
irap画面在解码处理中不使用相同层中的任何参考画面进行帧间预测。换句话说,irap画面在解码处理中不参考除其自身之外的任何画面进行帧间预测。比特流中按解码顺序的第一画面变为irap或gdr画面。对于单层比特流,如果在需要参考时必要参数集可用,则可以在不执行按解码顺序在irap画面之前的画面的解码处理的情况下准确地对按解码顺序的编码层视频序列(clvs)的所有后续非rasl画面和irap画面进行解码。
[0163]
irap画面的mixed_nalu_types_in_pic_flag的值为0。当画面的mixed_nalu_types_in_pic_flag的值为0时,画面中的一个切片可以具有从idr_w_radl到cra_nut(例如,表1或表2中的nal单元类型的值为7至9)的范围内的nal单元类型(nal_unit_type),并且画面中的所有其它切片可以具有相同的nal单元类型(nal_unit_type)。在这种情况下,该画面可以被视为irap画面。
[0164]
瞬时解码刷新(idr):其指示包括idr画面/子画面的被编码的切片数据的nal单元的类型。例如,用于idr画面/子画面的nal_unit_type可被定义为idr_w_radl或idr_n_lp,并且nal_unit_type的值可分别被指定为7或8。
[0165]
这里,idr画面可以在解码处理中不使用帧间预测(即,其不参考除其自身之外的画面进行帧间预测),但是可以成为比特流中按解码顺序的第一画面,或者可以在比特流中稍后出现(即,不是首先,而是稍后)。每个idr画面是按照解码顺序的编码视频序列(cvs)的第一画面。例如,当idr画面与可解码先导画面具有关联时,idr画面的nal单元类型可以表示为idr_w_radl,而当idr画面与先导画面没有关联时,idr画面的nal单元类型可以表示为idr_n_lp。也就是说,nal单元类型是idr_w_radl的idr画面可以不具有存在于比特流中的关联的rasl画面,但是可以在比特流中具有关联的radl画面。nal单元类型为idr_n_lp的idr画面不具有存在于比特流中的关联的先导画面。
[0166]
清洁随机访问(cra):其指示包括cra画面/子画面的被编码的切片数据的nal单元
的类型。例如,nal_unit_type可以被定义为cra_nut,并且nal_unit_type的值可以被指定为9。
[0167]
这里,cra画面可以在解码处理中不使用帧间预测(即,其不参考除其自身之外的画面进行帧间预测),但是可以成为比特流中按解码顺序的第一画面,或者可以在比特流中稍后出现(即,不是首先,而是稍后)。cra画面可以具有比特流中存在的关联的radl或rasl画面。对于其中nooutputbeforerecoveryflag的值为1的cra画面,解码器可以不输出关联的rasl画面。这是因为在这种情况下由于包括对比特流中不存在的画面的参考而不可能进行解码。
[0168]
逐步解码刷新(gdr):其指示包括gdr画面/子画面的被编码的切片数据的nal单元的类型。例如,nal_unit_type可以被定义为gdr_nut,并且nal_unit_type的值可以被指定为10。
[0169]
这里,gdr画面的pps_mixed_nalu_types_in_pic_flag的值可以是0。当针对画面的pps_mixed_nalu_types_in_pic_flag的值为0并且画面中的一个切片具有gdr_nut的nal单元类型时,画面中的所有其它切片具有相同值的nal单元类型(nal_unit_type),并且在这种情况下,在接收到第一切片之后,画面可以变成gdr画面。
[0170]
此外,例如,nal单元类型可以根据包括在非vcl nal单元中的参数的种类来指定,并且如上面的表1或表2所示,可以包括诸如指示包括视频参数集的nal单元的类型的vps_nut、指示包括序列参数集的nal单元的类型的sps_nut、指示包括画面参数集的nal单元的类型的pps_nut和指示包括画面报头的nal单元的类型的ph_nut的nal单元类型(nal_unit_type)。
[0171]
此外,支持时间可缩放性的比特流(或时间可缩放比特流)包括关于时间缩放的时间层的信息。关于时间层的信息可以是根据nal单元的时间可伸缩性指定的时间层的标识信息。例如,时间层的标识信息可以使用temporal_id语法信息,并且temporal_id语法信息可以被存储在编码设备中的nal单元报头中,并被用信号通知给解码设备。在下文中,在本说明书中,时间层可以被称为子层、时间子层、时间可伸缩层等。
[0172]
图11是示出支持时间可伸缩性的比特流中的nal单元的时间层结构的图。
[0173]
当比特流支持时间可伸缩性时,包括在比特流中的nal单元具有时间层的标识信息(例如,temporal_id)。作为示例,由temporal_id值为0的nal单元构造的时间层可以提供最低的时间可伸缩性,而由temporal_id值为2的nal单元构造的时间层可以提供最高的时间可伸缩性。
[0174]
在图11中,标记有i的框表示i画面,标记有b的框表示b画面。另外,箭头指示关于画面是否参考另一画面的参考关系。
[0175]
如图11所示,temporal_id值为0的时间层的nal单元是可由temporal_id值为0、1或2的时间层的nal单元参考的参考画面。temporal_id值为1的时间层的nal单元是可由temporal_id值为1或2的时间层的nal单元参考的参考画面。temporal_id值为2的时间层的nal单元可以是相同时间层(即,temporal_id值为2的时间层)的nal单元可以参考的参考画面,或者可以是未被其它画面参考的非参考画面。
[0176]
如果,如图11所示,temporal_id值为2的时间层(即,最高时间层)的nal单元是非参考画面,这些nal单元在解码处理中从比特流提取(或去除)而不影响其它画面。
[0177]
此外,在上述nal单元类型中,idr类型和cra类型是指示包括能够随机访问(或拼接)的画面(即,用作随机访问点的随机访问点(rap)或内部随机访问点(irap)画面)的nal单元的信息。换句话说,irap画面可以是idr或cra画面,并且可以仅包括i切片。在比特流中,按解码顺序的第一画面变为irap画面。
[0178]
如果irap画面(idr、cra画面)被包括在比特流中,则可能存在按输出顺序在irap画面之前但按解码顺序在irap画面之后的画面。这些画面被称为先导画面(lp)。
[0179]
图12是用于描述可以随机访问的画面的图。
[0180]
可以进行随机访问的画面(即,用作随机访问点的rap或irap画面)是随机访问期间比特流中按解码顺序的第一画面,并且仅包括i切片。
[0181]
图12示出了画面的输出顺序(或显示顺序)和解码顺序。如图所示,画面的输出顺序和解码顺序可以彼此不同。为了方便起见,在将画面划分为预定组的同时描述画面。
[0182]
属于第一组(i)的画面指示按输出顺序和解码顺序都在irap画面之前的画面,属于第二组(ii)的画面指示按输出顺序在irap画面之前但按解码顺序在irap画面之后的画面。第三组(iii)的画面按输出顺序和解码顺序都在irap画面之后。
[0183]
第一组(i)的画面可以与irap画面无关地被解码并输出。
[0184]
在irap画面之前输出的属于第二组(ii)的画面被称为先导画面,并且当irap画面被用作随机访问点时,先导画面在解码处理中可能成为问题。
[0185]
属于按输出顺序和解码顺序在irap画面之后的第三组(iii)的画面被称为正常画面。正常画面不用作先导画面的参考画面。
[0186]
在比特流中发生随机访问的随机访问点变为irap画面,并且当输出第二组(ii)的第一画面时,开始随机访问。
[0187]
图13是用于描述idr画面的图。
[0188]
idr画面是当画面组具有闭合(closed)结构时变为随机访问点的画面。如上所述,由于idr画面是irap画面,因此其仅包括i切片,并且可以是比特流中按照解码顺序的第一画面,或者可以出现在比特流的中间。当idr画面被解码时,存储在解码画面缓冲器(dpb)中的所有参考画面被标记为“未用于参考”。
[0189]
图13所示的条指示画面,并且箭头指示关于画面是否可以使用另一画面作为参考画面的参考关系。箭头上的x标记指示画面不能参考箭头指示的画面。
[0190]
如图所示,poc为32的画面是idr画面。poc是25至31,并且在idr画面之前输出的画面是先导画面1310。poc等于或大于33的画面对应于正常画面1320。
[0191]
按输出顺序在idr画面之前的先导画面1310可以使用与idr画面不同的先导画面作为参考画面,但是可以不使用按输出顺序和解码顺序在先导画面1310之前的过去画面1330作为参考画面。
[0192]
可以参考idr画面、先导画面和其它正常画面来对按输出顺序和解码顺序在idr画面之后的正常画面1320进行解码。
[0193]
图14是用于描述cra画面的图。
[0194]
cra画面是当画面组具有开放结构时变为随机访问点的画面。如上所述,由于cra画面也是irap画面,因此其仅包括i切片,并且可以是比特流中按解码顺序的第一画面,或者可以出现在比特流的中间用于正常播放。
[0195]
图14所示的条指示画面,并且箭头指示关于画面是否可以使用另一画面作为参考画面的参考关系。箭头上的x标记指示画面不能参考箭头指示的一个或多个画面。
[0196]
按输出顺序在cra画面之前的先导画面1410可以使用按输出顺序和解码顺序在先导画面1410之前的所有cra画面、其它先导画面和过去画面1430作为参考画面。
[0197]
相反,可以参考与cra画面不同的正常画面来对按输出顺序和解码顺序在cra画面之后的正常画面1420进行解码。正常画面1420可以不使用先导画面1410作为参考画面。
[0198]
此外,在vvc标准中,可以允许正被编码的画面(即,当前画面)包括不同nal单元类型的切片。可以基于语法元素pps_mixed_nalu_types_in_pic_flag来指示当前画面是否包括不同nal单元类型的片。例如,当当前画面包括不同nal单元类型的切片时,语法元素pps_mixed_nalu_types_in_pic_flag的值可以表示为1。在这种情况下,当前画面必须参考包括具有值为1的pps_mixed_nalu_types_in_pic_flag的pps。标志(pps_mixed_nalu_types_in_pic_flag)的语义如下:
[0199]
当语法元素pps_mixed_nalu_types_in_pic_flag的值为1时,可以指示参考pps的每个画面具有一个或更多个vcl nal单元,vcl nal单元不具有相同值的nal单元类型(nal_unit_type),并且画面不是irap画面。
[0200]
当语法元素pps_mixed_nalu_types_in_pic_flag的值为0时,可以指示参考pps的每个画面具有一个或更多个vcl nal单元,并且参考pps的每个画面的vcl nal单元具有相同值的nal单元类型(nal_unit_type)。
[0201]
如上所述,画面中的切片可以具有不同的nal单元类型。例如,当pps_mixed_nalu_types_in_pic_flag的值为1时,可以应用以下方法。
[0202]-画面必须包括至少两个子画面。
[0203]-画面的vcl nal单元必须具有两个或更多个不同的nal单元类型(nal_unit_type)值。
[0204]-必须不存在具有与gdr_nut相同的nal单元类型(nal_unit_type)的画面的vcl nal单元。
[0205]-当画面中至少一个子画面的vcl nal单元具有诸如idr_w_radl、idr_n_lp或cra_nut之类的nal单元类型(nal_unit_type)的特定值时,画面内的其它子画面的所有vcl nal单元必须具有与trail_nut相同的nal单元类型(nal_unit_type)。
[0206]
此外,如果画面包括rasl_nut和radl_nut的混合切片,则可以将该画面视为rasl画面,并且可以如下文所描述的那样处理以推导pictureoutputflag。
[0207]
这里,pictureoutputflag可以是与画面的输出相关的标志信息。例如,如果当前解码画面的pictureoutputflag为1,则标记为“需要输出”,如果当前解码画面的pictureoutputflag为0,则标记为“不需要输出”。rasl(随机访问跳过先导)画面包括具有rasl_nut的nal单元类型(nal_unit_type)的至少一个vcl nal单元,并且所有其它vcl nal单元指具有rasl_nut或radl_nut的nal单元类型(nal_unit_type)的编码画面。
[0208]
例如,当前画面的pictureoutputflag可以如下推导。
[0209]-如果sps_video_parameter_set_id大于0并且当前层不是输出层(即,nuh_layer_id不等于outputlayeridinols[targetolsidx][i],对于范围从0到numoutputlayersinols[targetolsidx]-1的i值,或者如果以下条件之一为真,则
pictureoutputflag被设置为0。
[0210]
如果当前画面是rasl画面并且关联的irap画面的nooutputbeforerecoveryflag是1
[0211]
如果当前画面是其中nooutputbeforerecoveryflag为1的gdr画面,或者其中nooutputbeforerecoveryflag为1的gdr画面的恢复画面
[0212]-否则,pictureoutputflag可以被设置为等于ph_pic_output_flag。
[0213]
作为参考,在实现方面,解码器可以输出不属于输出层的画面。例如,如果在au内的输出层的画面不可用(例如,由于丢失或层向下切换)的同时仅存在一个输出层,则解码器可以针对解码器中可用的au的所有画面当中具有最高nuh_layer_id值并且ph_pic_output_flag等于1的画面将pictureoutpflag设置为1,并且对于解码器中可用的au的所有其它画面,将pictureoutputflag设置为0。
[0214]
此外,vvc标准支持逐步解码刷新(gdr)功能,通过该功能,解码可以从重构画面的所有部分没有被正确解码的画面开始,但是重构画面的被正确解码的部分在子序列画面中逐渐增加直到整个画面被正确解码。可以利用gdr功能开始解码处理的画面被称为gdr画面,并且其中整个画面被正确解码的gdr画面之后的第一画面被称为恢复点画面(或恢复画面)。
[0215]
上述nooutputbeforerecoveryflag可以是指示是否可以输出按poc顺序或解码顺序的恢复点画面之前的gdr画面的画面的解码画面的信息。例如,可以确定不输出gdr画面和恢复点画面之间的(解码)画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。另外,可以确定不输出(经解码的)gdr画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。然而,可以确定输出(经解码的)恢复点画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为0。也就是说,在具有从gdr画面的poc到恢复点poc之前的poc的画面的情况下,nooutputbeforerecoveryflag的值可以被确定为1。
[0216]
另一方面,当前的vvc标准相对于画面的上述输出具有以下问题。
[0217]
1)在对当前画面进行解码之前(但是在对当前画面中的第一切片的切片报头进行解析之后),调用与画面输出相关的处理。然而,不清楚是否仅针对画面的第一切片调用针对画面的画面输出标志的推导/确定。
[0218]
2)在当前标准中,解码器在接收到画面的第一切片时推导画面输出标志的值。当解码器接收到pps_mixed_nalu_types_in_pic_flag的值变为1的画面的第一切片时,并且当切片的nal单元类型是rasl_nut或radl_nut时,解码器不能确定该画面是否是rasl画面。因为画面的剩余切片可以变为trail_nut,所以画面可能变为非先导画面。
[0219]
换句话说,当画面包括nal单元类型之一是rasl_nut的混合nal单元类型时,难以在仅接收画面的第一切片之后确定画面输出标志(例如,pictureoutputflag)的值。因此,确定画面输出标志(例如,pictureoutputflag)的值的处理需要约束以正确操作。也就是说,本文提出了一种设置画面输出标志(例如,pictureoutputflag)的值的方法,该画面输出标志指定当画面包括不同nal单元类型(特别地,当先导画面(即,rasl_nut和/或radl_nut包括混合nal单元类型)时)时是否应当输出画面。
[0220]
例如,本文提出以下实施方式以解决上述问题,并且以下实施方式可以单独地或
通过一个或更多个组合来应用。
[0221]
1.画面输出标志(例如,pictureoutputflag)的值的推导可以每个画面仅应用一次。也就是说,可以仅针对画面的第一切片推导画面输出标志(例如,pictureoutputflag)的值。
[0222]
a)可以在对画面中的第一切片的切片报头进行解析期间调用与画面输出相关的处理。
[0223]
2.当画面包括除了radl_nut以外的nal单元类型与rasl_nut混合的情况,或者radl_nut与除了rasl_nut以外的nal单元类型混合的情况时,可以应用以下情况。
[0224]
a)当不使用交织编码时(即,当sps_field_seq_flag为0时),在画面和关联的irap画面之间必须存在至少一个非先导画面。
[0225]
b)否则,当使用交织编码时(即,当sps_field_seq_flag为1时),在画面和相关irap画面之间必须存在至少两个非先导画面。
[0226]
3.如果不使用交织,则如果解码器接收到画面的第一切片,并且确定pps_mixed_nalu_types_in_pic_flag的值等于1,并且如果此时切片的nal单元类型是rasl_nut或radl_nut,并且解码器没有从最后的irap画面接收到非先导画面,则解码器可以确定包括第一切片的画面是rasl画面。
[0227]
4.如果使用交织,则如果解码器接收到画面的第一切片,并且确定pps_mixed_nalu_types_in_pic_flag的值等于1,并且如果此时切片的nal单元类型是rasl_nut或radl_nut,并且解码器从最后的irap画面接收到恰好一个非先导画面,则解码器可以确定包括第一切片的画面是rasl画面。
[0228]
本文档的上述实施方式可以以下表3中公开的形式来实现。表3示出了提供与vvc规范中的画面的输出相关的上述实施方式的实现的示例。
[0229]
[表3]
[0230]
[0231]
[0232]
[0233]
[0234][0235]
图15示意性地表示本文档的上述一个或多个实施方式可应用的视频/图像编码方法的示例。图15中公开的方法可以由图2中公开的编码设备200执行。此外,根据实施方式,可以省略图15中的一个或更多个步骤,并且可以添加其它步骤。
[0236]
参照图15,编码设备可以确定画面中的切片的nal单元类型(s1500),并生成nal单元类型相关信息(s1510)。
[0237]
这里,nal单元类型相关信息可以包括与上述表1或表2中公开的nal单元类型相关的信息/语法元素。例如,nal单元类型相关信息可以包括pps的mixed_nalu_types_in_pic_flag语法元素和/或包括关于编码切片的信息的nal单元的nal单元报头的nal_unit_type语法元素。
[0238]
当mixed_nalu_types_in_pic_flag的值为0时,与pps相关联的画面中的切片使用相同的nal单元类型。也就是说,当mixed_nalu_types_in_pic_flag的值为0时,在包括关于画面的第一切片的信息的第一nal单元的第一nal单元报头中定义的nal单元类型与在包括关于同一画面中的第二切片的信息的第二nal单元的第二nal单元报头中定义的nal单元类型相同。
[0239]
当mixed_nalu_types_in_pic_flag的值为1时,根据本文档的上述实施方式,与pps相关联的画面中的切片可以使用其它nal单元类型。例如,当mixed_nalu_types_in_pic_flag的值为1时,画面(与pps相关)中的切片可以使用不同的nal单元类型,但是相同子画面中的切片可以使用相同的nal单元类型。
[0240]
例如,画面可以包括子画面a和子画面b。在这种情况下,子画面a中的切片使用相同的nal单元类型(nal单元类型a),并且子画面b中的切片使用相同的nal单元类型(nal单元类型b),但是当mixed_nalu_types_in_pic_flag的值为1时,nal单元类型a与nal单元类型b不同。切片的nal单元类型(即,包括关于切片的信息的nal单元)可以是上述表1或表2中公开的索引0至10中的一个。
[0241]
编码设备可以生成包括包含关于编码切片的信息的至少一个nal单元的比特流(s1520)。
[0242]
这里,比特流可以包括包含关于编码切片的信息的nal单元。比特流可以包括pps。
[0243]
图16示意性地表示本文档的上述一个或多个实施方式可适用的视频/图像解码方法的示例。图16中公开的方法可以由图3中公开的解码设备300执行。此外,根据实施方式,可以省略图16中的一个或更多个步骤,并且可以添加其它步骤。
[0244]
参照图16,解码设备可以接收包括包含关于编码切片的信息的至少一个nal单元的比特流(s1600),并且可以获得nal单元类型相关信息(s1610)。
[0245]
如上所述,nal单元类型相关信息可以包括与上述表1或表2中公开的nal单元类型相关的信息/语法元素。例如,nal单元类型相关信息可以包括pps的mixed_nalu_types_in_pic_flag语法元素和/或包括关于编码切片的信息的nal单元的nal单元报头的nal_unit_type语法元素。
[0246]
解码设备可以基于nal单元类型相关信息来确定画面中的切片的nal单元类型(s1620)。
[0247]
例如,如上所述,可以基于mixed_nalu_types_in_pic_flag的值来确定画面中的切片的nal单元类型。在这点上,切片的nal单元类型(即,包括关于切片的信息的nal单元)可以被确定为上述表1或表2中公开的索引0至10中的一个。由于已经在图15的实施方式中详细描述了与其相关的具体示例,因此在本实施方式中省略该具体示例。
[0248]
解码设备可以基于切片的nal单元类型来对画面中的样本/块/切片进行解码/重构(s1630)。
[0249]
例如,可以基于切片的nal单元类型来对切片中的样本/块进行解码/重构。当针对当前画面中的第一切片设置第一nal单元类型并且针对当前画面中的第二切片设置第二nal单元类型(不同于第一nal单元类型)时,可以基于第一nal单元类型来对第一切片中的样本/块或第一切片本身进行解码/重构,并且可以基于第二nal单元类型来对第二层中的样本/块或第二层本身进行解码/重构。
[0250]
此外,例如,第一切片可以在第一子画面中,并且第二切片可以在第二子画面中。在这种情况下,当第三切片位于第一子画面中时,第三切片的nal单元类型可以与第一nal单元类型相同。在这种情况下,当第四切片位于第二子画面中时,第四切片的nal单元类型可以与第二nal单元类型相同。当第五切片位于第三子画面中时,第五切片的nal单元类型可以不同于第一nal单元类型和第二nal单元类型。
[0251]
此外,如上所述,在当前vvc标准中,在推导与画面输出相关的标志(例如,pictureoutputflag)时存在问题。也就是说,针对所有画面调用与画面输出相关的标志(例如,pictureoutputflag)的推导。然而,存在一个问题,即不清楚何时调用推导处理。根据当前的vvc标准,其似乎在画面解码开始时被调用。然而,与画面输出相关的标志(例如,pictureoutputflag)本身在画面解码结束时(即,在附加的碰撞过程期间)被使用或需要。
[0252]
因此,在本文档中,为了提供上述问题的解决方案,提出了以下实施方式。以下实施方式可以单独应用,也可以与上述表3的实现方法中呈现的实施方式结合应用。
[0253]
作为实施方式,推导画面输出标志(例如,pictureoutputflag)的过程可以被改变为在当前画面的解码结束时被调用。也就是说,推导画面输出标志(例如,
pictureoutputflag)的过程可以在画面中的所有切片被解码之后被调用。
[0254]
本文档的上述实施方式可以如下表4所示的形式实现。表4示出了提供与vvc规范中的画面的输出相关的上述实施方式的实现的示例。
[0255]
[表4]
[0256]
[0257]
[0258][0259]
参照表4,可以如下操作当前画面的解码处理。
[0260]
首先,可以解码nal单元,并且可以使用包括在切片报头层和高层中的语法元素来对切片进行解码。在执行切片解码时,可以推导poc相关信息(变量和函数),并且可以在解码开始时针对画面中的每个切片执行用于构造参考画面列表的解码。另外,可以执行用于参考画面标记的解码处理,在这种情况下,参考画面可以被标记为“未用于参考”或“用于长期参考”。此外,可以执行生成不可用参考画面的解码处理。
[0261]
接下来,可以基于包括在所有语法中的语法元素来执行解码处理(即,上述帧间预测或帧内预测、残差处理过程、环内滤波等)。此时,比特流一致性的要求是,画面的编码切片包括针对画面的每个ctu的切片数据,使得将画面划分为切片和将切片划分为ctu分别形成画面的分割。
[0262]
接下来,在当前画面中的所有切片已经被解码之后,可以推导画面输出相关标志(pictureoutputflag)。例如,当前解码的画面标记为“用于短期参考”,参考画面列表(refpiclist[0]或refpiclist[1])中的每个ilrp条目可以标记为“用于短期参考”。并且,可以基于以下条件中的至少一个来推导画面输出相关标志(pictureoutputflag)。
[0263]
基于与视频参数集(vps)id相关的语法元素的值大于0并且当前层不是输出层的第一条件,画面输出标志(pictureoutputflag)的值被推导为0。这里,与vps id相关的语法元素可以是sps_video_parameter_set_id语法元素,并且可以从上述序列参数集(sps)用信号通知。例如,当sps_video_parameter_set_id的值大于0时,sps_video_parameter_set_id的值可以表示作为视频参数集(vps)的标识信息的vps id(例如,vps_video_parameter_set_id)的值。在比特流是单层的情况下,vps的存在可以是选项。
[0264]
基于当前画面是随机访问跳过先导(rasl)画面并且关联的帧内随机访问点(irap)画面的nooutputbeforerecoveryflag为1的第二条件,画面输出标志(pictureoutputflag)的值可以被推导为0。在这方面,nooutputbeforerecoveryflag可以是指示是否可以输出按画面顺序计数(poc)或按解码顺序从逐步解码刷新(gdr)画面到恢
复点画面之前的画面的解码画面的标记信息。例如,可以确定不输出gdr画面和恢复点画面之间的(解码)画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。另外,可以确定不输出(解码的)gdr画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。然而,可以确定输出(经解码的)恢复点画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为0。也就是说,在具有从gdr画面的poc到恢复点poc之前的poc的画面的情况下,nooutputbeforerecoveryflag的值可以被确定为1。
[0265]
基于当前画面为nooutputbeforerecoveryflag等于1的逐步解码刷新(gdr)画面或nooutputbeforerecoveryflag等于1的gdr画面的恢复画面的第三条件,画面输出标志(pictureoutputflag)的值可以被推导为0。
[0266]
否则,当不满足第一条件、第二条件和第三条件中的至少一个时,画面输出标志(pictureoutputflag)的值可以被推导为要用信号通知的画面输出相关语法元素的值。在这种情况下,如上面的表4所示,要用信号通知的画面输出相关语法元素可以是ph_pic_output_flag。ph_pic_output_flag语法元素可以是影响解码画面的输出和移除处理的信息,并且例如,如果ph_pic_output_flag的值是1,则其可以指示输出解码画面,而如果ph_pic_output_flag的值是0,则其可以指示未输出解码画面。
[0267]
图17示意性地表示本文档的上述一个或多个实施方式可适用的视频/图像编码方法的示例。图17中公开的方法可以由图2中公开的编码设备200执行。此外,根据实施方式,可以省略图17中的一个或更多个步骤,并且可以添加其它步骤。
[0268]
参照图17,编码设备可以对画面进行解码/重构(s1700)。编码设备可以基于dpb参数来管理dpb(s1710)。换句话说,编码设备可以基于dpb参数标记和/或去除从dpb解码的画面。
[0269]
解码画面可以用作针对序列画面的帧间预测的参考。每个解码画面可以基本上插入(存储)在dpb中。并且通常可以在对当前画面进行解码之前更新dpb。当与dpb相关联的层不是输出层(或者dpb参数不与输出层相关联)而是参考层时,可以不输出dpb中的解码画面。当与dpb(或dpb参数)相关联的层是输出层时,可以基于dpb和/或dpb参数输出dpb中的解码画面。
[0270]
管理dpb可以被称为更新dpb。管理dpb可以包括从dpb输出解码画面。dpb参数相关信息可以包括与dpb管理相关的信息/语法元素,并且例如可以包括vvc标准中公开的dpb参数语法中包括的语法元素。dpb管理可以基于在上述实施方式的推导画面输出标志(例如,pictureoutputflag)的处理中推导的画面输出标志(例如,pictureoutputflag)的值来执行。
[0271]
可以基于当前层是输出层还是参考层来用信号通知其它dpb参数,或者可以基于dpb(或dpb参数)是针对ols(映射到ols)来用信号通知其它dpb参数。
[0272]
编码设备可以对视频/图像信息进行编码(s1720)。在实施方式中,编码设备可以对包括dpb参数相关信息的视频/图像信息进行编码。dpb参数相关信息可以包括与如上所述的dpb管理相关的信息/语法元素。
[0273]
尽管图17中未示出,编码设备可以基于在步骤s1710之后更新/管理的dpb来对当前画面进行解码。另外,可以将经解码的当前画面插入到dpb中,并且可以在对序列画面进
行解码之前基于dpb参数来更新包括经解码的当前画面的dpb。
[0274]
图18示意性地表示本文档的上述一个或多个实施方式可适用的视频/图像解码方法的示例。图18中公开的方法可以由图3中公开的解码设备300执行。此外,根据实施方式,可以省略图18中的一个或更多个步骤,并且可以添加其它步骤。
[0275]
参照图18,解码设备可以从比特流获得视频/图像信息(s1800)。在实施方式中,解码设备可以从比特流获得包括dpb参数相关信息的视频/图像信息。dpb参数相关信息可以包括与如上所述的dpb管理相关的信息/语法元素。
[0276]
解码设备可以基于dpb参数来管理dpb(s1810)。换句话说,解码设备可以基于dpb参数标记和/或去除从dpb解码的画面。
[0277]
解码画面可以用作针对序列画面的帧间预测的参考。每个解码画面可以基本上插入(存储)在dpb中。并且通常可以在对当前画面进行解码之前更新dpb。当与dpb相关联的层不是输出层(或者dpb参数不与输出层相关联)而是参考层时,可以不输出dpb中的解码画面。当与dpb(或dpb参数)相关联的层是输出层时,可以基于dpb和/或dpb参数输出dpb中的解码画面。
[0278]
管理dpb可以被称为更新dpb。管理dpb可以包括从dpb输出解码画面。dpb参数相关信息可以包括与dpb管理相关的信息/语法元素,并且例如可以包括vvc标准中公开的dpb参数语法中包括的语法元素。dpb管理可以基于在上述实施方式的推导画面输出标志(例如,pictureoutputflag)的处理中推导的画面输出标志(例如,pictureoutputflag)的值来执行。
[0279]
可以基于当前层是输出层还是参考层来用信号通知其它dpb参数,或者可以基于dpb(或dpb参数)是用于ols(映射到ols)来用信号通知其它dpb参数。
[0280]
解码设备可以基于dpb解码/输出当前画面(s1820)。在实施方式中,可以使用dpb中的(先前)解码画面作为参考,基于帧间预测来对当前画面中的块/片进行解码。
[0281]
准备以下附图来解释本文档的具体示例。由于附图中描述的名称或特定术语或特定装置的名称(例如,语法/语法元素的名称等)被呈现为示例,因此本文档的技术特征不限于在以下附图中使用的特定名称。
[0282]
图19和图20示意性地表示根据本文档的实施方式的视频/图像编码方法和关联组件的示例。
[0283]
图19中公开的方法可以由图2或图20中公开的编码设备200执行。这里,图20中公开的编码设备200是图2中公开的编码设备200的简化表示。具体地,图19的步骤s1900可以由图2中公开的图像分割器210、预测器220、残差处理器230、加法器340等来执行;步骤s1910至s1920可以由图2中公开的dpb执行;并且s1930可以由图2中公开的熵编码器240执行。另外,可以执行图19中公开的方法,包括本文档中上述的实施方式。因此,在图19中,将省略或简化与上述实施方式的重复相对应的内容的详细描述。
[0284]
参照图19,编码设备可以对包括在当前画面中的切片进行解码(s1900)。
[0285]
在实施方式中,编码设备可以通过上述画面分割过程、帧内预测或帧间预测、残差处理、环内滤波等来对当前画面中的切片进行解码(重构)。
[0286]
解码画面可以用作针对序列画面的帧间预测的参考。为此,每个解码画面可以基本上插入(存储)在dpb中。如上所述,通常可以在解码当前画面之前更新dpb。当与dpb相关
联的层不是输出层(或者dpb参数不与输出层相关联)而是参考层时,可以不输出dpb中的解码画面。当与dpb(或dpb参数)相关联的层是输出层时,可以基于dpb和/或dpb参数输出dpb中的解码画面。此时,可以确定是否输出存储在dpb中的解码画面。可以通过推导画面输出标志来确定是否输出画面。
[0287]
编码设备可以基于包括在当前画面中的所有切片已经被解码来推导针对当前画面的画面输出标志(s1910)。编码设备可以基于画面输出标志来确定当前画面的输出(s1920)。
[0288]
如上所述,画面输出标志可以具有与是否输出当前画面相关的值,并且可以被表示为例如pictureoutputflag值。例如,基于画面输出标志(例如,pictureoutputflag)的值为0,当前画面可被标记为“不需要输出”。另选地,基于画面输出标志(例如,pictureoutputflag)的值为1,当前画面可以被标记为“需要输出”。也就是说,如果画面输出标志(例如,pictureoutputflag)的值是1,则可以从dpb输出当前画面,而如果画面输出标志(例如,pictureoutputflag)的值是0,则可以存储或移除当前画面,而不是从dpb输出。
[0289]
在实施方式中,可以基于以下条件中的至少一个将画面输出标志(例如,pictureoutputflag)推导为0或1的值。
[0290]
基于与视频参数集(vps)id相关的语法元素的值大于0并且当前层不是输出层的第一条件,画面输出标志(例如,pictureoutputflag)的值被推导为0。这里,与vps id相关的语法元素可以是sps_video_parameter_set_id语法元素,并且可以从上述序列参数集(sps)用信号通知。例如,当sps_video_parameter_set_id的值大于0时,sps_video_parameter_set_id的值可以表示作为针对视频参数集(vps)的标识信息的vps id(例如,vps_video_parameter_set_id)的值。在比特流是单层的情况下,vps的存在可以是选项。
[0291]
基于当前画面是随机访问跳过先导(rasl)画面并且关联的帧内随机访问点(irap)画面的nooutputbeforerecoveryflag为1的第二条件,画面输出标志(例如,pictureoutputflag)的值可以被推导为0。在这方面,nooutputbeforerecoveryflag可以是指示是否可以输出按画面顺序计数(poc)或按解码顺序从逐步解码刷新(gdr)画面到恢复点画面之前的画面的解码画面的标记信息。例如,可以确定不输出gdr画面和恢复点画面之间的(解码)画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。另外,可以确定不输出(解码)gdr画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。然而,可以确定输出(经解码的)恢复点画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为0。也就是说,在具有从gdr画面的poc到恢复点poc之前的poc的画面的情况下,nooutputbeforerecoveryflag的值可以被确定为1。
[0292]
基于当前画面为nooutputbeforerecoveryflag等于1的逐步解码刷新(gdr)画面或nooutputbeforerecoveryflag等于1的gdr画面的恢复画面的第三条件,画面输出标志(例如,pictureoutputflag)的值可以被推导为0。
[0293]
否则,当不满足第一条件、第二条件和第三条件中的至少一个时,画面输出标志(例如,pictureoutputflag)的值可以被推导为要用信号通知的画面输出相关语法元素的值。在这种情况下,如上面的表4所示,要用信号通知的画面输出相关语法元素可以是ph_pic_output_flag。ph_pic_output_flag语法元素可以是影响解码画面的输出和移除处理的信息,并且例如,如果ph_pic_output_flag的值是1,则其可以指示输出解码画面,而如果
ph_pic_output_flag的值是0,则其可以指示未输出解码画面。
[0294]
在上述实施方式中推导画面输出标志(例如,pictureoutputflag)的处理是基于根据上述表4中公开的规范算法的条件应用的过程。在另一实施方式中,可以根据上面表3中公开的规范算法基于条件推导画面输出标志(例如,pictureoutputflag)的值。
[0295]
此外,在一个实施方式中,关于作为单层的比特流,编码设备还可以基于包括在当前画面中的所有切片已经被解码来推导针对当前画面的画面输出标志(例如,pictureoutputflag)。此外,在一个实施方式中,即使在比特流支持多层的情况下,也可以在以与单层相同的方式对当前画面中的所有切片进行解码之后推导画面输出标志(例如,pictureoutputflag)。这样,当在每个画面中的所有切片已经被解码之后与比特流是单层还是多层无关地推导画面输出标志(例如,pictureoutputflag)时,都不需要不必要地执行推导输出相关信息(即,画面输出标志)的处理,而与比特流是单层还是多层无关。另外,不需要不必要地更新输出相关信息(即,画面输出标志),而不管画面是否是访问单元(au)中的最后画面。
[0296]
当如上所述推导的画面输出标志(例如,pictureoutputflag)的值为1时,可以根据输出顺序或poc顺序输出(经解码的)当前画面。另选地,当输出标志(例如pictureoutputflag)的值为0时,不输出(经解码的)当前画面。
[0297]
编码设备可以对关于当前画面的图像信息进行编码(s1930)。
[0298]
在一个实施方式中,编码设备可以生成在对当前画面中的切片进行解码的处理中推导的各种信息/语法元素作为图像/视频信息,并且可以对这种各种信息进行编码。例如,图像/视频信息可以包括针对当前画面中的切片的切片报头。
[0299]
包括如上所述的各种信息的图像/视频信息可以以比特流的形式被编码和输出。比特流可以通过网络或(数字)存储介质被发送到解码设备。这里,网络可以包括广播网络、通信网络等,并且数字存储介质可以包括诸如通用串行总线(usb)、安全数字(sd)、光盘(cd)、数字视频盘(dvd)、蓝光、硬盘驱动器(hdd)、固态驱动器(ssd)等的各种存储介质。
[0300]
图21和图22示意性地表示根据本文档的实施方式的视频/图像解码方法和关联组件的示例。
[0301]
图21中公开的方法可以由图3或图22中公开的解码设备300执行。这里,图22中公开的解码设备300是图3中公开的解码设备300的简化表示。具体地,图21的步骤s2100可以由图3中公开的熵解码器310、残差处理器320、预测器330、加法器340等来执行,并且步骤s2110至s2120可以由图3中公开的dpb来执行。另外,可以执行图21中公开的方法,包括本文档中上述的实施方式。因此,在图21中,将省略或简化与上述实施方式的重复相对应的内容的详细描述。
[0302]
参照图21,解码设备可以对包括在当前画面中的切片进行解码(s2100)。
[0303]
在实施方式中,解码设备可以通过上述画面分割过程、帧内预测或帧间预测、残差处理、环内滤波等来对当前画面中的切片进行解码(重构)。
[0304]
解码的画面可以用作针对序列画面的帧间预测的参考。为此,每个解码画面可以基本上插入(存储)在dpb中。如上所述,通常可以在对当前画面进行解码之前更新dpb。当与dpb相关联的层不是输出层(或者dpb参数不与输出层相关联)而是参考层时,可以不输出dpb中的解码画面。当与dpb(或dpb参数)相关联的层是输出层时,可以基于dpb和/或dpb参
数输出dpb中的解码画面。此时,可以确定是否输出存储在dpb中的解码画面。可以通过推导画面输出标志来确定是否输出画面。
[0305]
解码设备可以基于包括在当前画面中的所有切片已经被解码来推导针对当前画面的画面输出标志(s2110)。解码设备可以基于画面输出标志来确定针对当前画面的输出(s2120)。
[0306]
如上所述,画面输出标志可以具有与是否输出当前画面相关的值,并且可以被表示为例如pictureoutputflag值。例如,基于画面输出标志(例如,pictureoutputflag)的值为0,当前画面可以被标记为“不需要输出”。另选地,基于画面输出标志(例如,pictureoutputflag)的值为1,当前画面可以被标记为“需要输出”。也就是说,如果画面输出标志(例如,pictureoutputflag)的值是1,则可以从dpb输出当前画面,而如果画面输出标志(例如,pictureoutputflag)的值是0,则可以存储或移除当前画面,而不是从dpb输出。
[0307]
在实施方式中,可以基于以下条件中的至少一个将画面输出标志(例如,pictureoutputflag)推导为0或1的值。
[0308]
基于与视频参数集(vps)id相关的语法元素的值大于0并且当前层不是输出层的第一条件,画面输出标志(例如,pictureoutputflag)的值被推导为0。这里,与vps id相关的语法元素可以是sps_video_parameter_set_id语法元素,并且可以从上述序列参数集(sps)用信号通知。例如,当sps_video_parameter_set_id的值大于0时,sps_video_parameter_set_id的值可以表示作为针对视频参数集(vps)的标识信息的vps id(例如,vps_video_parameter_set_id)的值。在比特流是单层的情况下,vps的存在可以是选项。
[0309]
基于当前画面是随机访问跳过先导(rasl)画面并且关联的帧内随机访问点(irap)画面的nooutputbeforerecoveryflag为1的第二条件,画面输出标志(例如,pictureoutputflag)的值可以被推导为0。在这方面,nooutputbeforerecoveryflag可以是指示是否可以输出按画面顺序计数(poc)或按解码顺序从逐步解码刷新(gdr)画面到恢复点画面之前的画面的解码画面的标记信息。例如,可以确定不输出gdr画面和恢复点画面之间的(解码)画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。另外,可以确定不输出(经解码的)gdr画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为1。然而,可以确定输出(经解码的)恢复点画面,并且在这种情况下,nooutputbeforerecoveryflag的值可以被设置为0。也就是说,在具有从gdr画面的poc到恢复点poc之前的poc的画面的情况下,nooutputbeforerecoveryflag的值可以被确定为1。
[0310]
基于当前画面为nooutputbeforerecoveryflag等于1的逐步解码刷新(gdr)画面或nooutputbeforerecoveryflag等于1的gdr画面的恢复画面的第三条件,画面输出标志(例如,pictureoutputflag)的值可以被推导为0。
[0311]
否则,当不满足第一条件、第二条件和第三条件中的至少一个时,画面输出标志(例如,pictureoutputflag)的值可以被推导为要用信号通知的画面输出相关语法元素的值。在这种情况下,如上面的表4所示,要用信号通知的画面输出相关语法元素可以是ph_pic_output_flag。ph_pic_output_flag语法元素可以是影响解码画面的输出和移除处理的信息,并且例如,如果ph_pic_output_flag的值是1,则其可以指示输出解码画面,而如果ph_pic_output_flag的值是0,则其可以指示未输出解码画面。
[0312]
在上述实施方式中推导画面输出标志(例如,pictureoutputflag)的处理是基于根据上述表4中公开的规范算法的条件应用的过程。在另一实施方式中,可以根据上面表3中公开的规范算法基于条件推导画面输出标志(例如,pictureoutputflag)的值。
[0313]
此外,在一个实施方式中,关于作为单层的比特流,编码设备还可以基于包括在当前画面中的所有切片已经被解码来推导针对当前画面的画面输出标志(例如,pictureoutputflag)。此外,在一个实施方式中,即使在比特流支持多层的情况下,也可以在以与单层中相同的方式对当前画面中的所有切片进行解码之后推导画面输出标志(例如,pictureoutputflag)。这样,当在每个画面中的所有切片已经被解码之后与比特流是单层还是多层无关地推导画面输出标志(例如,pictureoutputflag)时,都不需要不必要地执行推导输出相关信息(即,画面输出标志)的处理,而不管比特流是单层还是多层。另外,不需要不必要地更新输出相关信息(即,画面输出标志),而不管画面是否是访问单元(au)中的最后画面。
[0314]
当如上所述推导的画面输出标志(例如,pictureoutputflag)的值为1时,可以根据输出顺序或poc顺序输出(经解码的)当前画面。另选地,当输出标志(例如pictureoutputflag)的值为0时,不输出(经解码的)当前画面。
[0315]
尽管已经基于在上述实施方式中顺序列出步骤或块的流程图描述了方法,但是本文档的步骤不限于特定顺序,并且可以相对于上述步骤以不同的步骤或不同的顺序或同时执行特定步骤。此外,本领域普通技术人员将理解,流程图的步骤不是排他的,并且可以在其中包括另一步骤或者可以删除流程图中的一个或更多个步骤,而不会对本文档的范围产生影响。
[0316]
根据本公开的上述方法可以是软件的形式,并且根据本文档的编码设备和/或解码设备可以包括在用于执行图像处理的装置中(例如,tv、计算机、智能电话、机顶盒、显示装置等)。
[0317]
当通过软件实现本文档的实施方式时,上述方法可以通过执行上述功能的模块(过程或功能)来实现。模块可以存储在存储器中并由处理器执行。存储器可以安装在处理器内部或外部,并且可以经由各种公知装置连接到处理器。处理器可以包括专用集成电路(asic)、其它芯片组、逻辑电路和/或数据处理装置。存储器可以包括只读存储器(rom)、随机访问存储器(ram)、闪存、存储卡、存储介质和/或其它存储装置。换句话说,根据本文档的实施方式可以在处理器、微处理器、控制器或芯片上实现和执行。例如,各个图中所示的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现和执行。在这种情况下,关于实现的信息(例如,关于指令的信息)或算法可以存储在数字存储介质中。
[0318]
此外,应用本文档的解码设备和编码设备可以包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监视摄像机、视频聊天装置、诸如视频通信的实时通信装置、移动流装置、存储介质、摄像机、视频点播(vod)服务提供装置、过顶(over the top,ott)视频装置、互联网流服务提供装置、三维(3d)视频装置、虚拟现实(vr)装置、增强现实(ar)装置、视频电话视频装置、交通工具终端(例如,车辆(包括自主车辆)终端、飞行器终端、船舶终端等)和医疗视频装置,并且可以用于处理视频信号或数据信号。例如,过顶(ott)视频装置可以包括游戏控制台、蓝光播放器、互联网接入tv、家庭影院系统、智能电话、平板pc、数字视频记录器(dvr)等。
[0319]
另外,应用本文档的实施方式的处理方法可以以由计算机执行的程序的形式生成,并且可以存储在计算机可读记录介质中。根据本文档的实施方式的具有数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括其中存储计算机可读数据的各种存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光盘(bd)、通用串行总线(usb)、rom、prom、eprom、eeprom、ram、cd-rom、磁带、软盘和光学数据存储装置。计算机可读记录介质还包括以载波形式(例如,通过互联网的传输)实现的介质。另外,通过编码方法生成的比特流可以存储在计算机可读记录介质中,或者通过有线或无线通信网络而传输。
[0320]
另外,本文档的实施方式可以被实现为基于程序代码的计算机程序产品,并且程序代码可以在根据本文档的实施方式的计算机上执行。程序代码可以存储在计算机可读载体上。
[0321]
图23表示本文档的实施方式可适用的内容流传输系统的示例。
[0322]
参照图23,应用本文档的实施方式的内容流传输系统通常可以包括编码服务器、流服务器、网络服务器、媒体存储器、用户装置和多媒体输入装置。
[0323]
编码服务器用于将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩为数字数据,以生成比特流,并将其发送到流服务器。作为另一示例,在诸如智能电话、相机、摄像机等多媒体输入装置直接生成比特流的情况下,可以省略编码服务器。
[0324]
可以通过应用本文档的实施方式的编码方法或比特流生成方法来生成比特流。并且流服务器可以在发送或接收比特流的过程中临时存储比特流。
[0325]
流服务器基于用户的请求通过网络服务器向用户设备发送多媒体数据,网络服务器用作向用户通知存在什么服务的工具。当用户请求用户想要的服务时,网络服务器将该请求传送到流服务器,并且流服务器将多媒体数据传送到用户。在这点上,内容流传输系统可以包括单独的控制服务器,并且在这种情况下,控制服务器用于控制内容流传输系统中的各个设备之间的命令/响应。
[0326]
流服务器可以从媒体存储器和/或编码服务器接收内容。例如,在从编码服务器接收内容的情况下,可以实时地接收内容。在这种情况下,流服务器可以将比特流存储预定时间段以平滑地提供流服务。
[0327]
例如,用户设备可以包括移动电话、智能手机、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航、平板pc、平板式pc、超级本、可穿戴装置(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(hmd))、数字电视、台式计算机、数字标牌等。
[0328]
内容流传输系统中的每个服务器可以作为分布式服务器操作,并且在这种情况下,可以以分布式方式处理由每个服务器接收的数据。
[0329]
本文档中的权利要求可以以各种方式组合。例如,本文档中的方法权利要求中的技术特征可以被组合以在设备中实现或执行,并且设备权利要求中的技术特征可以被组合以在方法中实现或执行。此外,方法权利要求和设备权利要求中的技术特征可以被组合以在设备中实现或执行。此外,方法权利要求和设备权利要求中的技术特征可以被组合以在方法中实现或执行。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1