一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于混合NAL单元类型的图像编码/解码方法和装置及发送比特流的方法与流程

2022-10-26 16:18:18 来源:中国专利 TAG:

基于混合nal单元类型的图像编码/解码方法和装置及发送比特流的方法
技术领域
1.本公开涉及图像编码/解码方法和设备,更具体地,涉及一种基于混合nal单元类型的图像编码和解码方法和设备以及用于存储通过本公开的图像编码方法/设备生成的比特流的记录介质。


背景技术:

2.最近,各个领域对高分辨率和高质量图像,例如高清(hd)图像和超高清(uhd)图像的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
3.因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
6.本公开的另一个目的是提供一种基于混合nal单元类型的图像编码/解码方法和设备。
7.本公开的另一个目的是提供一种基于具有不同nal单元类型的两个或更多个子画面的图像编码/解码方法和设备。
8.本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的非暂时性解码器可读记录介质。
9.本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
10.本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
11.本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
12.技术方案
13.根据本公开的一方面的图像解码方法包括以下步骤:从比特流获得当前画面的视频编码层(vcl)网络抽象层(nal)单元类型信息和指定包括在当前画面中的子画面是否被视为一个画面的第一标志信息;基于所获得的vcl nal单元类型信息来确定包括在当前画面中的多个切片中的每一个的nal单元类型;以及基于所确定的nal单元类型和第一标志信息对多个切片进行解码。当前画面可以基于多个切片中的至少一些具有不同的nal单元类型而包括两个或更多个子画面,并且基于多个切片中的至少一些具有不同的nal单元类型,
第一标志信息可以具有指定两个或更多个子画面中的每一个被视为一个画面的预定值。
14.根据本公开的另一方面的图像解码设备包括存储器和至少一个处理器。至少一个处理器可以从比特流获得当前画面的视频编码层(vcl)网络抽象层(nal)单元类型信息和指定包括在当前画面中的子画面是否被视为一个画面的第一标志信息,基于所获得的vcl nal单元类型信息确定包括在当前画面中的多个切片中的每一个的nal单元类型,并且基于所确定的nal单元类型和第一标志信息对多个切片进行解码。当前画面可以基于多个切片中的至少一些具有不同的nal单元类型而包括两个或更多个子画面,并且基于多个切片中的至少一些具有不同的nal单元类型,第一标志信息可以具有指定两个或更多个子画面中的每一个被视为一个画面的预定值。
15.根据本公开的另一方面的图像编码方法包括以下步骤:将当前画面分割成一个或更多个子画面;确定包括在一个或更多个子画面中的多个切片中的每一个的网络抽象层(nal)单元类型;以及基于所确定的nal单元类型对多个切片进行编码。当前画面可以基于多个切片中的至少一些具有不同的nal单元类型而被分割成两个或更多个子画面,并且基于多个切片中的至少一些具有不同的nal单元类型,两个或更多个子画面中的每一个可以被视为一个画面。
16.另外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
17.另外,根据本公开的另一方面的传输方法可以发送由本公开的图像编码设备或图像编码方法生成的比特流。
18.以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
19.有益效果
20.根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
21.此外,根据本公开,能够提供一种基于混合nal单元类型的图像编码/解码方法和设备。
22.此外,根据本公开,能够提供一种基于具有不同混合nal单元类型的两个或更多个子画面的图像编码/解码方法和设备。
23.此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
24.此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
25.此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
26.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
27.图1是示意性地例示本公开的实施方式适用于的视频编码系统的视图。
28.图2是示意性地例示本公开的实施方式适用于的图像编码设备的视图。
29.图3是示意性地例示本公开的实施方式适用于的图像解码设备的视图。
30.图4是例示本公开的实施方式适用于的图像解码过程的流程图。
31.图5是例示本公开的实施方式适用于的图像编码过程的流程图。
32.图6是例示编码图像/视频的层结构的示例的视图。
33.图7是例示根据本公开的实施方式的画面参数集(pps)的视图。
34.图8是例示根据本公开的实施方式的切片头的视图。
35.图9是例示子画面的示例的视图。
36.图10是例示具有混合nal单元类型的画面的示例的视图。
37.图11是例示根据本公开的实施方式的画面参数集(pps)的示例的视图。
38.图12是例示根据本公开的实施方式的序列参数集(sps)的示例的视图。
39.图13是例示各个画面类型的解码顺序和输出顺序的视图。
40.图14是例示根据本公开的实施方式的确定当前画面的nal单元类型的方法的流程图。
41.图15是例示根据本公开的实施方式的图像编码方法的流程图。
42.图16是例示根据本公开的实施方式的图像解码方法的流程图。
43.图17是例示本公开的实施方式适用于的内容流系统的视图。
具体实施方式
44.以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
45.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
46.在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
47.在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
48.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
49.在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
50.本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
51.在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(ctu)。
52.在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
53.在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
54.在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
55.另外,在本公开中,除非明确说明为色度块,“当前块”可以意指包括亮度分量块和色度分量块二者的块或“当前块的亮度块”。当前块的亮度分量块可以通过包括诸如“亮度块”或“当前亮度块”的亮度分量块的明确描述来表示。另外,“当前块的色度分量块”可以通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来表示。
56.在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“a/b”和“a,b”可以意指“a和/或b”。此外,“a/b/c”和“a/b/c”可以意指“a、b和/或c中的至少一个”。
57.在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,或3)“a和b”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
58.视频编码系统的概述
59.图1是示意性地示出根据本公开的视频编码系统的视图。
60.根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
61.根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
62.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成
视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
63.编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
64.发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
65.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
66.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
67.图像编码设备的概述
68.图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
69.如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测器180、帧内预测器185和熵编码器190。帧间预测器180和帧内预测器185可以统称为“预测器”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
70.在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。
71.图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分割编码树单元(ctu)或最大编码单元(lcu)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
72.预测器(帧间预测器180或帧内预测器185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测器可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测器可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
73.帧内预测器185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测器185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
74.帧间预测器180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,帧间预测器180可基于邻近块配置运动信息候选列表并生成指定使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
75.预测器可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测器可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用ibc时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测执行,因为在当前画面内推导参考块。即,ibc可以使用本公开中描述的至少一种帧间预测技术。
76.预测器生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测器输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
77.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有
可变大小而不是正方形的块。
78.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块类型的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
79.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
80.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
81.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
82.加法器155将重构残差信号与从帧间预测器180或帧内预测器185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
83.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
84.传输到存储器170的修改的重构画面可以用作帧间预测器180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
85.存储器170的dpb可以存储修改的重构画面以用作帧间预测器180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测器180并用作空间
邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测器185。
86.图像解码设备的概述
87.图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。
88.如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260和帧内预测器265。帧间预测器260和帧内预测器265可以统称为“预测器”。解量化器220和逆变换器230可以被包括在残差处理器中。
89.根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(dpb)或者可以由数字存储介质配置。
90.已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
91.图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、cavlc或cabac的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,cabac熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测器(帧间预测器260和帧内预测器265),并且在熵解码器210中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
92.此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器160或帧内预测器265中的至少一
个。
93.解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
94.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
95.预测器可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
96.与在图像编码设备100的预测器中描述的相同的是,预测器可以基于稍后描述的各种预测方法(技术)来生成预测信号。
97.帧内预测器265可以通过参考当前画面中的样本来预测当前块。帧内预测器185的描述同样适用于帧内预测器265。
98.帧间预测器260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测器260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指定当前块的帧间预测模式的信息。
99.加法器235可以通过将获得的残差信号与从预测器(包括帧间预测器260和/或帧内预测器265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差(例如,应用跳过模式的情况),则预测块可以用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。所生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面的帧间预测。
100.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
101.存储在存储器250的dpb中的(修改的)重构画面可以用作帧间预测器260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测器260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测器265。
102.在本公开中,在图像编码设备100的滤波器160、帧间预测器180和帧内预测器185
中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测器260和帧内预测器265。
103.一般图像/视频编码过程
104.在图像/视频编码中,配置图像/视频的画面可以根据解码顺序来编码/解码。与解码画面的输出顺序对应的画面顺序可以与解码顺序不同地设定,并且基于此,在帧间预测期间不仅可以执行前向预测,而且可以执行后向预测。
105.图4是例示本公开的实施方式适用于的图像解码过程的流程图。
106.图4所示的各个过程可以由图3的图像解码设备执行。例如,步骤s410可以由熵解码器210执行,步骤s420可以由包括预测器265和260的预测器执行,步骤s430可以由残差处理器220和230执行,步骤s440可以由加法器235执行,步骤s450可以由滤波器240执行。步骤s410可以包括本公开中描述的信息解码过程,步骤s420可以包括本公开中描述的帧间/帧内预测过程,步骤s430可以包括本公开中描述的残差处理过程,步骤s440可以包括本公开中描述的块/画面重构过程,步骤s450可以包括本公开中描述的环路内滤波过程。
107.参照图4,画面解码过程可以示意性地包括用于从比特流获得图像/视频信息(通过解码)的过程(s410)、画面重构过程(s420至s440)和针对重构画面的环路内滤波过程(s450)。可以基于通过本公开中描述的帧间/帧内预测(s420)和残差处理(s430)(量化变换系数的解量化和逆变换)获得的预测样本和残差样本来执行画面重构过程。可以通过针对通过画面重构过程生成的重构画面的环路内滤波过程来生成修改的重构画面。在这种情况下,修改的重构画面可以作为解码画面输出,被存储在存储器250的解码画面缓冲器(dpb)中,并且在稍后对画面进行解码时在帧间预测过程中用作参考画面。可以省略环路内滤波过程(s450)。在这种情况下,重构画面可以作为解码画面输出,被存储在存储器250的dpb中,并且在稍后对画面进行解码时在帧间预测过程中用作参考画面。如上所述,环路内滤波过程(s450)可以包括去块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波器(alf)过程和/或双边滤波器过程,其中一些或全部可以省略。另外,去块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波器(alf)过程和/或双边滤波器过程中的一个或一些可以依次应用,或者它们全部可以依次应用。例如,在对重构画面应用去块滤波过程之后,可以执行sao过程。另选地,在对重构画面应用去块滤波过程之后,可以执行alf过程。这甚至可以在编码设备中类似地执行。
108.图5是例示本公开的实施方式适用于的图像编码过程的流程图。
109.图5所示的各个过程可以由图2的图像编码设备执行。例如,步骤s510可以由预测器185和180执行,步骤s520可以由残差处理器115、120和130执行,步骤s530可以在熵编码器190中执行。步骤s510可以包括本公开中描述的帧间/帧内预测过程,步骤s520可以包括本公开中描述的残差处理过程,步骤s530可以包括本公开中描述的信息编码过程。
110.参照图5,画面编码过程可以示意性地不仅包括对用于画面重构的信息(例如,预测信息、残差信息、分割信息等)进行编码并以比特流的形式输出的过程,而且包括为当前画面生成重构画面的过程以及对重构画面应用环路内滤波的过程(可选)。编码设备可以通过解量化器140和逆变换器150从量化变换系数推导(修改的)残差样本,并且基于作为步骤s510的输出的预测样本和(修改的)残差样本来生成重构画面。这样生成的重构画面可以等于解码设备中生成的重构画面。可以通过对重构画面的环路内滤波过程来生成修改的重构
nal单元类型可以根据参数集的类型来分类。
122.下面将列出根据包括在非vcl nal单元类型中的参数集/信息的类型指定的nal单元类型的示例。
[0123]-dci(解码能力信息)nal单元类型(nut):包括dci的nal单元类型
[0124]-vps(视频参数集)nut:包括vps的nal单元类型
[0125]-sps(序列参数集)nut:包括sps的nal单元类型
[0126]-pps(画面参数集)nut:包括pps的nal单元类型
[0127]-aps(适配参数集)nut:包括aps的nal单元类型
[0128]-ph(画面头)nut:包括ph的nal单元类型
[0129]
上述nal单元类型可以具有关于nal单元类型的语法信息,并且该语法信息可以被存储在nal单元头中并用信号通知。例如,该语法信息可以包括nal_unit_type,nal单元类型可以由nal_unit_type的值指定。
[0130]
此外,如上所述,一个画面可以包括多个切片,并且一个切片可以包括切片头和切片数据。在这种情况下,可以向一个画面中的多个切片(切片头和切片数据集)进一步添加一个画面头。画面头(画面头语法)可以包括共同适用于画面的信息/参数。切片头(切片头语法)可以包括共同适用于切片的信息/参数。aps(aps语法)或pps(pps语法)可以包括共同适用于一个或更多个切片或画面的信息/参数。sps(sps语法)可以包括共同适用于一个或更多个序列的信息/参数。vps(vps语法)可以是共同适用于多个层的信息/参数。dci(dci语法)可以包括与解码能力有关的信息/参数。
[0131]
在本公开中,高级语法(hls)可以包括aps语法、pps语法、sps语法、vps语法、dci语法、画面头语法或切片头语法中的至少一个。另外,在本公开中,低级语法(lls)可以包括例如切片数据语法、ctu语法、编码单元语法、变换单元语法等。
[0132]
在本公开中,由编码设备编码并以比特流的形式用信号通知给解码设备的图像/视频信息可以不仅包括画面内分割相关信息、帧内/帧间预测信息、残差信息、环路内滤波信息,而且包括关于切片头的信息、关于画面头的信息、关于aps的信息、关于pps的信息、关于sps的信息、关于vps的信息和/或关于dci的信息。另外,图像/视频信息还可以包括一般约束信息和/或关于nal单元头的信息。
[0133]
入口点的信令的概述
[0134]
如上所述,vcl nal单元可以包括切片数据作为rbsp(原始字节序列有效载荷)。切片数据可以在vcl nal单元中以字节为单位对齐,并且可以包括一个或更多个子集。可以为子集定义用于随机访问(ra)的至少一个入口点,并且可以基于入口点执行并行处理。
[0135]
通用视频编码(vvc)标准(itu-t rec.h.266)支持波前并行处理(wpp),其是各种并行处理技术之一。画面中的多个切片可以基于wpp并行编码/解码。
[0136]
为了启用并行处理能力,可以用信号通知入口点信息。图像解码设备可以基于入口点信息直接访问包括在nal单元中的数据片段的起点。这里,数据片段的起点可以意指切片中的拼块的起点或切片中的ctu行的起点。
[0137]
可以在高级语法(例如,画面参数集(pps))和/或切片头中用信号通知入口点信息。
[0138]
图7是例示根据本公开的实施方式的画面参数集(pps)的视图,图8是例示根据本
公开的实施方式的切片头的视图。
[0139]
首先,参照图7,画面参数集(pps)可以包括entry_point_offsets_present_flag作为指示是否用信号通知入口点信息的语法元素。
[0140]
entry_point_offsets_present_flag可以指示参考画面参数集(pps)的切片头中是否存在入口点信息的信令。例如,entry_point_offsets_present_flag具有第一值(例如,0)可以指示切片头中不存在拼块或拼块中的特定ctu行的入口点信息的信令。相比之下,entry_point_offsets_present_flag具有第二值(例如,1)可以指示切片头中存在拼块或拼块中的特定ctu行的入口点信息的信令。
[0141]
此外,尽管图7中示出entry_point_offsets_present_flag包括在画面参数集(pps)中的情况,但这是示例,因此本公开的实施方式不限于此。例如,entry_point_offsets_present_flag可以包括在序列参数集(sps)中。
[0142]
接下来,参照图8,切片头可以包括offset_len_minus1和entry_point_offset_minus1[i]作为识别入口点的语法元素。
[0143]
offset_len_minus1可以指示通过从entry_point_offset_minus1[i]的比特长度减去1而获得的值。offset_len_minus1的值可以具有从0至31的范围。在示例中,可以基于指示入口点的总数的变量numentrypoints来用信号通知offset_len_minus1。例如,仅当numentrypoints大于0时,才可以用信号通知offset_len_minus1。另外,可以基于上面参照图7描述的entry_point_offsets_present_flag用信号通知offset_len_minus1。例如,仅当entry_point_offsets_present_flag具有第二值(例如,1)(即,切片头中存在入口点信息的信令)时,才可以用信号通知offset_len_minus1。
[0144]
entry_point_offset_minus1[i]可以以字节为单位指示第i入口点偏移,并且可以通过将1比特与offset_len_minus1相加来表示。nal单元中的切片数据可以包括数量与通过将1与numentrypoints相加而获得的值相同的子集,并且指定各个子集的索引值可以具有从0至numentrypoints的范围。nal单元中的切片数据的第一字节可以由字节0表示。
[0145]
当用信号通知entry_point_offset_minus1[i]时,nal单元中的切片数据中所包括的模仿预防字节可以被计数为用于识别子集的切片数据部分。作为切片数据的第一子集的子集0可以具有从字节0至entry_point_offset_minus1[0]的配置。类似地,作为切片数据的第k子集的子集k可以具有从firstbyte[k]至lastbyte[k]的配置。这里,firstbyte[k]可以如下式1所示推导,lastbyte[k]可以如下式2所示推导。
[0146]
[式1]
[0147][0148]
[式2]
[0149]
lastbyte[k]=firstbyte[k] sh_entry_point_offset_minus1[k]
[0150]
在式1和式2中,k可以具有从1至通过从numentrypoints减去1而获得的值的范围。
[0151]
切片数据的最后子集(即,第numentrypoints子集)可以由切片数据的剩余字节组成。
[0152]
此外,如果在对包括各个拼块中的ctb行的第一ctb的ctu进行解码之前不执行对上下文变量的预定同步处理(例如,sps_entropy_coding_sync_enabled_flag==0)并且
切片包括一个或更多个完整拼块,则切片头的各个子集可以由同一拼块中的所有ctu的所有编码比特组成。在这种情况下,切片数据的子集的总数可以等于切片中的拼块的总数。
[0153]
相比之下,当不执行预定同步处理并且切片包括单个拼块中的ctu行的一个子集时,numentrypoints可为0。在这种情况下,切片数据的一个子集可以由切片中的所有ctu的所有编码比特组成。
[0154]
相比之下,当执行预定同步处理(例如,sps_entropy_coding_sync_enabled_flag==1)时,各个子集可以由一个拼块中的一个ctu行的所有ctu的所有编码比特组成。在这种情况下,切片数据的子集的总数可以等于切片中的各个拼块的ctu行的总数。
[0155]
混合nal单元类型的概述
[0156]
通常,可以为一个画面设定一个nal单元类型。如上所述,指定nal单元类型的语法信息可以存储在nal单元的nal单元头中并用信号通知。例如,该语法信息可以包括nal_unit_type,并且nal单元类型可以由nal_unit_type的值指定。
[0157]
下表1中示出本公开的实施方式适用于的nal单元类型的示例。
[0158]
[表1]
[0159]
[0160][0161]
[0162]
参照表1,vcl nal单元类型可以根据画面的属性和类型被分类为nal单元类型0至12。另外,非vcl nal单元类型可以根据参数集的类型被分类为nal单元类型13至31。
[0163]
vcl nal单元类型的详细示例如下。
[0164]-irap(帧内随机访问点)nal单元类型(nut):irap画面的nal单元类型,其被设定为从idr_w_radl至cra_nut的范围。
[0165]-idr(瞬时解码刷新)nut:idr画面的nal单元类型,其被设定为idr_w_radl或idr_n_lp。
[0166]-cra(清洁随机访问)nut:cra画面的nal单元类型,其被设定为cra_nut。
[0167]-radl(随机访问可解码先导)nut:radl画面的nal单元类型,其被设定为radl_nut。
[0168]-rasl(随机访问跳过先导)nut:rasl画面的nal单元类型,其被设定为rasl_nut。
[0169]-结尾nut:结尾画面的nal单元类型,其被设定为trail_nut。
[0170]-gdr(渐进解码刷新)nut:gdr画面的nal单元类型,其是gdr_nut。
[0171]-stsa(逐步时间子层访问)nut:stsa画面的nal单元类型,其被设定为stsa_nut。
[0172]
此外,vvc标准允许一个画面包括具有不同nal单元类型的多个切片。例如,一个画面可以包括具有第一nal单元类型的至少一个第一切片和具有不同于第一nal单元类型的第二nal单元类型的至少一个第二切片。在这种情况下,画面的nal单元类型可以被称为混合nal单元类型。当vvc标准支持混合nal单元类型时,可以在内容合成处理、编码/解码处理等中更容易地重构/合成多个画面。
[0173]
然而,根据混合nal单元类型的现有方案,限制为仅允许两个nal单元类型混合。另外,当一个画面具有混合nal单元类型时,限制为画面的一个或更多个vcl nal单元应具有从idr_w_radl至cra_nut范围内的nal单元类型,并且画面的剩余vcl nal单元应具有从trail_nut值rsv_vcl_6范围内的nal单元类型。结果,尽管混合nal单元类型在图像处理过程中是有用的,但存在通常不使用混合nal单元类型的问题。
[0174]
为了解决这种问题,根据本公开的实施方式,可以允许两个或更多个nal单元类型混合并且可以提供更多样的混合nal单元类型。
[0175]
以下,将详细描述本公开的实施方式。
[0176]
当一个画面包括两个或更多个切片并且切片的nal单元类型不同时,画面可以被限制为包括两个或更多个子画面。即,当一个画面具有混合nal单元类型时,画面可以包括两个或更多个子画面。
[0177]
子画面可以包括一个或更多个切片并且构成画面中的矩形区域。包括在画面中的各个子画面可以具有彼此不同的尺寸。另一方面,对于属于一个序列的所有画面,特定单独子画面的尺寸和位置可以被设定为彼此相等。
[0178]
图9是例示子画面的示例的视图。
[0179]
参照图9,一个画面可以总共被分割成18个拼块。18个拼块当中的12个拼块可以布置在画面的左侧,并且12个拼块中的每一个可以包括具有4x4 ctu的一个切片。另外,6个拼块可以布置在画面的右侧,并且6个拼块中的每一个可以包括两个切片,其各自包括2x2 ctu并且在垂直方向上层叠。结果,画面可以包括24个子画面和24个切片,并且各个子画面可以包括一个切片。
[0180]
在一个实施方式中,一个画面中的各个子画面可以被视为一个画面以支持混合nal单元类型。当子画面被视为一个画面时,子画面可以独立地编码/解码,而不管对另一子画面编码/解码的结果如何。这里,独立编码/解码可以意指子画面的块分割结构(例如,单树结构、双树结构等)、预测模式类型(例如,帧内预测、帧间预测等)、解码顺序等与另一子画面不同。例如,当第一子画面基于帧内预测模式编码/解码时,与第一子画面相邻并被视为一个画面的第二子画面可以基于帧间预测模式来编码/解码。
[0181]
当一个画面包括两个或更多个独立子画面并且子画面具有彼此不同的nal单元类型时,该画面可以具有混合nal单元类型。
[0182]
图10是例示具有混合nal单元类型的画面的示例的视图。
[0183]
参照图10,一个画面1000可以包括第一子画面1010至第三子画面1030。第一子画面1010和第三子画面1030中的每一个可以包括两个切片。相比之下,第二子画面1020可以包括四个切片。
[0184]
当第一子画面1010至第三子画面1030中的每一个被视为一个画面时,第一子画面1010至第三子画面1030可以被独立地编码以构成不同的比特流。例如,第一子画面1010的编码切片数据可以被封装到具有与rasl_nut相同的nal单元类型的一个或更多个nal单元中以构成第一比特流(比特流1)。另外,第二子画面1020的编码切片数据可以被封装到具有与radl_nut相同的nal单元类型的一个或更多个nal单元中以构成第二比特流(比特流2)。另外,第三子画面1030的编码切片数据可以被封装到具有与rasl_nut相同的nal单元类型的一个或更多个nal单元中以构成第三比特流(比特流3)。结果,一个画面1000可以具有rasl_nut和radl_nut混合的混合nal单元类型。
[0185]
在一个实施方式中,画面中的各个子画面中所包括的所有切片可以被限制为具有相同的nal单元类型。例如,包括在第一子画面1010中的两个切片均可以具有与rasl_nut相同的nal单元类型。另外,包括在第二子画面1020中的所有四个切片可以具有与radl_nut相同的nal单元类型。另外,包括在第三子画面1030中的两个切片均可以具有与rasl_nut相同的nal单元类型。
[0186]
关于子画面的信息可以在例如画面参数集(pps)和序列参数集(sps)的高级语法中用信号通知。另外,指定是否应用混合nal单元类型的信息可以在例如画面参数集(pps)的高级语法中用信号通知。
[0187]
图11是例示根据本公开的实施方式的画面参数集(pps)的示例的视图,图12是例示根据本公开的实施方式的序列参数集(sps)的示例的视图。
[0188]
首先,参照图11,画面参数集(pps)可以包括pps_mixed_nalu_types_in_pic_flag作为指示是否应用混合nal单元类型的语法元素。
[0189]
pps_mixed_nalu_types_in_pic_flag可以指示当前画面是否具有混合nal单元类型。例如,pps_mixed_nalu_types_in_pic_flag具有第一值(例如,0)可以指示当前画面不具有混合nal单元类型。在这种情况下,当前画面对于所有vcl nal单元可以具有相同的nal单元类型,例如,与编码切片nal单元相同的nal单元类型。相比之下,pps_mixed_nalu_types_in_pic_flag具有第二值(例如,1)可以指示当前画面具有混合nal单元类型。
[0190]
在实施方式中,当当前画面具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==1)时,当前画面的vcl nal单元可以被限制为不具有与gdr_nut相同的nal
单元类型。
[0191]
在实施方式中,当当前画面具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==1)时,如果当前画面的一个vcl nal单元具有与idr_w_radl、idr_n_lp或cra_nut相同的nal单元类型(nal单元类型a),则当前画面的另一vcl nal单元可以被限制为具有与idr_w_radl、idr_n_lp、cra_nut或trail_nut相同的nal单元类型。
[0192]
当当前画面具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==1)时,当前画面中的各个子画面可以具有上面参考表1描述的任一个vcl nal单元类型。例如,当当前画面中的子画面是idr子画面时,子画面可以具有与idr_w_radl或idr_n_lp相同的nal单元类型。另选地,当当前画面中的子画面是结尾子画面时,子画面可以具有与trail_nut相同的nal单元类型。
[0193]
pps_mixed_nalu_types_in_pic_flag具有第二值(例如,1)可以指示参考画面参数集(pps)的画面可以包括具有不同nal单元类型的切片。这里,画面可以源自子画面比特流合并操作,其中编码器确保比特流结构的匹配和原始比特流的参数之间的对齐。作为对齐的示例,当切片头中不存在具有与idr_w_radl或idr_n_lp相同的nal单元类型的切片的参考画面列表(rpl)语法元素(例如,sps_idr_rpl_present_flag==0)并且包括切片的当前画面具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==1)时,当前画面可以被限制为不包括具有与idr_w_radl或idr_n_lp相同的nal单元类型的切片。
[0194]
此外,当限制为不对输出层集(ols)中的所有画面应用混合nal单元类型(例如,gci_no_mixed_nalu_types_in_pic_constraint_flag==1)时,pps_mixed_nalu_types_in_pic_flag可以具有第一值(例如,0)。
[0195]
另外,画面参数集(pps)可以包括pps_no_pic_partition_flag作为指示是否应用画面分割的语法元素。
[0196]
pps_no_pic_partition_flag可以指示画面分割是否适用于当前画面。例如,pps_no_pic_partition_flag具有第一值(例如,0)可以指示当前画面无法被分割。相比之下,pps_no_pic_partition_flag具有第二值(例如,1)可以指示当前画面可以被分割成两个或更多个拼块或切片。当当前画面具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==1)时,当前画面可以被限制为具有两个或更多个拼块或切片(例如,pps_no_pic_partition_flag=1)。
[0197]
另外,画面参数集(pps)可以包括pps_num_subpics_minus1作为指示子画面的数量的语法元素。
[0198]
pps_num_subpics_minus1可以指示通过从包括在当前画面中的子画面的数量减去1而获得的值。仅当画面分割适用于当前画面(例如,pps_no_pic_partition_flag==1)时,才可以用信号通知pps_num_subpics_minus1。当没有用信号通知pps_num_subpics_minus1时,pps_num_subpics_minus1的值可以被推断为0。此外,指示子画面的数量的语法元素可以在不同于画面参数集(pps)的高级语法(例如,序列参数集(sps))中用信号通知。
[0199]
在实施方式中,当当前画面仅包括一个子画面(例如,pps_num_subpics_minus1==0)时,当前画面可以被限制为不具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==0)。即,当当前画面具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==1)时,当前画面可以被限制为包括两个或更多个子画面(例如,pps_num_
subpics_minus1》0)。
[0200]
接下来,参照图12,序列参数集(sps)可以包括sps_subpic_treated_as_pic_flag[i]作为与在编码/解码期间子画面的处理有关的语法元素。
[0201]
sps_subpic_treated_as_pic_flag[i]可以指示当前画面中的各个子画面是否被视为一个画面。例如,sps_subpic_treated_as_pic_flag[i]具有第一值(例如,0)可以指示当前画面中的第i子画面不被视为一个画面。相比之下,sps_subpic_treated_as_pic_flag[i]具有第二值(例如,1)可以指示当前画面中的第i子画面在不包括环路内滤波操作的编码/解码处理中被视为一个画面。当没有用信号通知sps_subpic_treated_as_pic_flag[i]时,sps_subpic_treated_as_pic_flag[i]可以被推断为具有第二值(例如,1)。
[0202]
在实施方式中,当当前画面包括两个或更多个子画面(例如,pps_num_subpics_minus1》0)并且至少一个子画面不被视为一个画面(例如,sps_subpic_treated_as_pic_flag[i]==0)时,当前画面可以被限制为不具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag=0)。即,当当前画面具有混合nal单元类型(例如,pps_mixed_nalu_types_in_pic_flag==1)时,当前画面中的所有子画面可以被限制为被视为一个画面(例如,sps_subpic_treated_as_pic_flag[i]=1)。
[0203]
以下,将针对各个画面类型详细描述根据本公开的实施方式的nal单元类型。
[0204]
(1)irap(帧内随机访问点)画面
[0205]
irap画面是可随机访问的画面,并且可以具有上面参考表1描述的相同nal单元类型,例如idr_w_radl、idr_n_lp或cra_nut。irap画面可不参考解码处理中用于帧间预测的irap画面以外的画面。irap画面可以包括idr(瞬时解码刷新)画面和cra(清洁随机访问)画面。
[0206]
比特流中按解码器顺序的第一画面可以被限制为irap画面或gdr(渐进解码刷新)画面。对于单层比特流,当要参考的基本参数集可用时,尽管按解码顺序在irap画面之前的画面根本没有被解码,但irap画面和按解码顺序在irap画面之后的所有非rasl画面可以被正确地解码。
[0207]
在实施方式中,irap画面可不具有混合nal单元类型。即,对于irap画面,pps_mixed_nalu_types_in_pic_flag可以具有第一值(例如,0),并且irap画面中的所有切片可以在从idr_w_radl至cra_nut的范围内具有相同的nal单元类型。结果,当画面中要解码的第一切片具有从idr_w_radl至cra_nut范围内的nal单元类型时,画面可以被确定为irap画面。
[0208]
(2)cra(清洁随机访问)画面
[0209]
cra画面是irap画面之一,并且可以具有与cra_nut相同的nal单元类型,如上面参考表1所描述的。cra画面可不参考解码处理中用于帧间预测的cra画面以外的画面。
[0210]
cra画面可以是比特流中按解码顺序的第一画面或者第一画面之后的画面。cra画面可以与radl或rasl画面关联。
[0211]
当noincorrectpicoutputflag对于cra画面具有第二值(例如,1)时,与cra画面关联的rasl画面参考不存在于比特流中的画面,因此可不被解码,结果,可不被图像解码设备输出。这里,noincorrectpicoutputflag可以指示按解码顺序在恢复点画面之前的画面是否在恢复点画面之前输出。例如,noincorrectpicoutputflag具有第一值(例如,0)可以指
示按解码顺序在恢复点画面之前的画面在恢复点画面之前输出。在这种情况下,cra画面可以不是比特流中的第一画面或按解码顺序在序列结束(eos)nal单元之后的第一画面,这可以意指不发生随机访问。相比之下,noincorrectpicoutputflag具有第二值(例如,1)可以指示按解码顺序在恢复点画面之前的画面无法在恢复点画面之前输出。在这种情况下,cra画面可以是比特流中的第一画面或按解码顺序在序列结束(eos)nal单元之后的第一画面,这可以意指发生随机访问。此外,在一些实施方式中,noincorrectpicoutputflag可以被称为nooutputbeforerecoveryflag。
[0212]
对于clvs(编码层视频序列)内按解码顺序在当前画面之后的所有画面单元(pu),属于画面单元(pu)的cra子画面中所包括的一个切片的参考画面列表0(例如,refpiclist[0])和参考画面列表1(例如,refpiclist[1])可以被限制为不包括有效入口内按解码顺序在包括cra子画面的画面之前的任何画面。这里,画面单元(pu)可以意指包括根据预定分类规则相互关联并且对于一个编码画面按解码顺序连续的多个nal单元的nal单元集。
[0213]
(3)idr(瞬时解码刷新)画面
[0214]
idr画面是irap画面之一,并且可以具有与idr_w_radl或idr_n_lp相同的nal单元类型,如上面参考表1描述的。idr画面可不参考解码处理中用于帧间预测的idr画面以外的画面。
[0215]
idr画面可以是比特流中按解码顺序的第一画面,或者可以是第一画面之后的画面。各个idr画面可以是cvs(编码视频序列)按解码顺序的第一画面。
[0216]
当idr画面对于各个nal单元具有与idr_w_radl相同的nal单元类型时,idr画面可以具有关联的radl画面。相比之下,当idr画面对于各个nal单元具有与idr_n_lp相同的nal单元类型时,idr画面可不具有关联的先导画面。此外,idr画面可不与rasl画面关联。
[0217]
对于clvs(编码层视频序列)内按解码顺序在当前画面之后的所有画面单元(pu),属于画面单元(pu)的idr子画面中所包括的一个切片的参考画面列表0(例如,refpiclist[0])和参考画面列表1(例如,refpiclist[1])可以被限制为不包括有效入口内按解码顺序在包括idr子画面的画面之前的任何画面。
[0218]
(4)radl(随机访问可解码先导)画面
[0219]
radl画面是先导画面之一,并且可以具有与radl_nut相同的nal单元类型,如上面参考表1描述的。
[0220]
在具有相同的关联irap画面的结尾画面的解码处理中,radl画面可不用作参考画面。当field_seq_flag对于radl画面具有第一值(例如,0)时,radl画面可以按解码顺序在具有相同的关联irap画面的所有非先导画面之前。这里,field_seq_flag可以指示clvs(编码层视频序列)传送指示字段的画面还是指示帧的画面。例如,field_seq_flag具有第一值(例如,0)可以指示clvs传送指示帧的画面。相比之下,field_seq_flag具有第二值(例如,1)可以指示clvs传送指示字段的画面。
[0221]
(5)rasl(随机访问跳过先导)画面
[0222]
rasl画面是先导画面之一,并且可以具有与rasl_nut相同的nal单元类型,如上面参考表1描述的。
[0223]
在示例中,所有rasl画面可以是关联cra画面的先导画面。当noincorrectpicoutputflag对于cra画面具有第二值(例如,1)时,rasl画面参考不存在于
比特流中的画面,因此可不被解码,结果,可不被图像解码设备输出。
[0224]
在非rasl画面的解码处理中,rasl画面可不用作参考画面。然而,当存在属于与rasl画面相同的层并且与同一cra画面关联的radl画面时,rasl画面可以用作包括在radl画面中的radl子画面的帧间预测的并置参考画面。
[0225]
当field_seq_flag对于rasl画面具有第一值(例如,0)时,rasl画面可以按解码顺序在与rasl画面关联的cra画面的所有非先导画面之前。
[0226]
(6)结尾画面
[0227]
结尾画面是按输出顺序在关联的irap画面或gdr画面之后的非irap画面,并且可以不是stsa画面。另外,结尾画面可以按解码顺序在关联的irap画面之后。即,可不允许按输出顺序在关联的irap画面之后但是按解码顺序在关联的irap画面之前的结尾画面。
[0228]
(7)gdr(渐进解码刷新)画面
[0229]
gdr画面是可随机访问的画面,并且可以具有与gdr_nut相同的nal单元类型,如上面参考表1描述的。
[0230]
(8)stsa(逐步时间子层访问)画面
[0231]
stsa画面是可随机访问的画面,并且可以具有与stsa_nut相同的nal单元类型,如上面参考表1描述的。
[0232]
stsa画面可不参考具有与用于帧间预测的stsa画面相同的temporalid的画面。这里,temporalid可以是指示时间层(例如,可伸缩视频编码中的时间子层)的标识符。在实施方式中,stsa画面可以被限制为具有大于0的temporalid。
[0233]
对于帧间预测,具有与stsa画面相同的temporalid并且按解码顺序在stsa画面之后的画面可不参考具有与stsa画面相同的temporalid并且按解码顺序在stsa画面之前的画面。stsa画面可以启用从stsa画面所属的当前子层的紧邻较低子层到当前子层的上切换。
[0234]
图13是例示各个画面类型的解码顺序和输出顺序的视图。
[0235]
多个画面可以根据预测方法被分类为i画面、p画面或b画面。i画面可以指仅适用帧内预测的画面,并且可以在不参考另一画面的情况下被解码。i画面可以被称为帧内画面并且可以包括上述irap画面。p画面可以指适用帧内预测和单向帧间预测的画面,并且可以通过参考另一画面来解码。b画面可以指适用帧内预测和双向/单向帧间预测的画面,并且可以使用一个或两个其它画面来解码。p画面和b画面可以被称为帧间画面,并且可以包括上述radl画面、rasl画面和结尾画面。
[0236]
帧间画面可以根据解码顺序和输出顺序被进一步分类为先导画面(lp)或非先导画面(nlp)。先导画面可以指按解码顺序在irap画面之后并且按输出顺序在irap画面之前的画面,并且可以包括上述radl画面和rasl画面。非先导画面可以指按解码顺序和输出顺序在irap画面之后的画面,并且可以包括上述结尾画面。
[0237]
在图13中,各个画面的名称可以指示其画面类型。例如,i5画面可以是i画面,b0、b2、b3、b4和b6画面可以是b画面,p1和p7画面可以是p画面。另外,在图13中,各个箭头可以指示画面之间的参考方向。例如,b0画面可以通过参考p1画面来解码。
[0238]
参照图13,i5画面可以是irap画面(例如,cra画面)。当发生对i5画面的随机访问时,i5画面可以按解码顺序是第一画面。
[0239]
b0和p1画面可以按解码顺序在i5画面之前并且构成与i5画面分开的视频序列。b2、b3、b4、b6和p7画面可以按解码顺序在i5画面之后,并且与i5画面一起构成一个视频序列。
[0240]
b2、b3和b4画面按解码顺序在i5画面之后并且按输出顺序在i5画面之前,因此可以被分类为先导画面。b2画面可以通过参考按解码顺序在i5画面之前的p1画面来解码。因此,当从i5画面发生随机访问时,b2画面无法通过参考不存在于比特流中的p1画面来正确解码。诸如b2画面的画面类型可以被称为rasl画面。相比之下,b3画面可以通过参考按解码顺序在b3画面之前的i5画面来解码。因此,当从i5画面发生随机访问时,b3画面可以通过参考预先解码的i5画面来正确解码。另外,b4可以通过参考按解码顺序在b4画面之前的i5画面和b3画面来解码。因此,当从i5画面发生随机访问时,b4画面可以通过参考预先解码的i5画面和b3画面来正确解码。诸如b3和b4画面的画面类型可以被称为radl画面。
[0241]
此外,b6和p7画面按解码顺序和输出顺序在i5画面之后,因此可以被分类为非先导画面。b6画面可以通过参考按解码顺序在前的i5画面和p7画面来解码。因此,当从i5画面发生随机访问时,b6画面可以通过参考预先解码的i5画面和p7画面来正确解码。
[0242]
在一个视频序列中,解码处理和输出处理可以基于画面类型按不同的顺序执行。例如,当一个视频序列包括irap画面、先导画面和非先导画面时,解码处理可以按照irap画面、先导画面和非先导画面的顺序执行,输出处理可以按照先导画面、irap画面和非先导画面的顺序执行。
[0243]
图14是例示根据本公开的实施方式的确定当前画面的nal单元类型的方法的流程图。
[0244]
参照图14,图像编码设备可以确定当前画面是否包括两个或更多个子画面(s1410)。可以使用高级语法中的一个或更多个语法元素来用信号通知当前画面的分割信息。例如,通过上面参照图7描述的画面参数集(pps),可以用信号通知指示当前画面是否被分割的no_pic_partition_flag和指示包括在当前画面中的子画面的数量的pps_num_subpics_minus1。当当前画面包括两个或更多个子画面时,no_pic_partition_flag可以具有第一值(例如,0)并且pps_num_subpics_minus可以具有大于0的值。
[0245]
当当前画面不包括两个或更多个子画面(s1410为“否”)时,图像编码设备可以确定当前画面具有单个nal单元类型(s1450)。即,当前画面中的所有切片可以具有上面参考表1描述的任一个nal单元类型。
[0246]
相比之下,当当前画面包括两个或更多个子画面(s1410为“是”)时,图像编码设备可以确定当前画面中的各个子画面是否被视为一个画面(s1420)。指示子画面是否被视为一个画面的信息可以使用高级语法中的预定语法元素来用信号通知,例如,通过上面参照图12描述的序列参数集(sps),可以用信号通知指示子画面是否被视为一个画面的sps_subpic_treated_as_pic_flag[i]。当当前画面中的各个子画面被视为一个画面时,sps_subpic_treated_as_pic_flag[i]可以具有第二值(例如,1)。
[0247]
当当前画面中的各个子画面未被视为一个画面(s1420为“否”)时,图像编码设备可以确定当前画面具有单个nal单元类型(s1450)。
[0248]
相比之下,当当前画面中的各个子画面被视为一个画面(s1420为“是”)时,图像编码设备可以确定当前画面中的多个切片中的至少一些是否具有不同的nal单元类型
(s1430)。
[0249]
当当前画面中的多个切片中的至少一些具有不同的nal单元类型(s1430为“是”)时,图像编码设备可以确定当前画面具有混合nal单元类型(s1440)。
[0250]
相比之下,当当前画面中的多个切片全部具有相同的nal单元类型(s1430为“否”)时,图像编码设备可以确定当前画面具有单个nal单元类型(s1450)。
[0251]
当当前画面具有混合nal单元类型时,图像编码设备可以为包括在当前画面中的各个子画面生成子比特流。在这种情况下,为当前画面生成的多个子比特流可以构成一个比特流。
[0252]
可以使用高级语法中的预定语法元素来用信号通知指示当前画面是否具有混合nal单元类型的信息。例如,通过上面参照图11描述的上述画面参数集(pps),可以用信号通知指示当前画面是否具有混合nal单元类型的pps_mixed_nalu_types_in_pic_flag。在这种情况下,图像解码设备可以基于pps_mixed_nalu_types_in_pic_flag来确定当前画面是否具有混合nal单元类型。例如,当pps_mixed_nalu_types_in_pic_flag具有第一值(例如,0)时,图像解码设备可以确定当前画面具有单个nal单元类型。相比之下,当pps_mixed_nalu_types_in_pic_flag具有第二值(例如,1)时,图像解码设备可以确定当前画面具有混合nal单元类型。
[0253]
此外,包括在当前画面中的各个子画面中的所有切片可以具有相同的nal单元类型。即,各个子画面可以仅具有单个nal单元类型。另外,当当前画面具有混合nal单元类型时,包括在当前画面中的至少一些子画面可以具有不同的nal单元类型。例如,包括在当前画面中的第一子画面可以具有第一nal单元类型,包括在当前画面中的第二子画面可以具有不同于第一nal单元类型的第二nal单元类型。
[0254]
包括在当前画面中的各个子画面的类型可以基于各个子画面的nal单元类型来确定。例如,如上面参考表1描述的,具有诸如trail_nut的nal单元类型的子画面的类型可以被确定为结尾子画面。另外,具有诸如stsa_nut的nal单元类型的子画面的类型可以被确定为stsa子画面,具有诸如gdr_nut的nal单元类型的子画面的类型可以被确定为gdr子画面。另外,具有诸如radl_nut的nal单元类型的子画面的类型可以被确定为radl子画面,具有诸如rasl_nut的nal单元类型的子画面的类型可以被确定为rasl子画面。另外,具有诸如idr_w_radl或idr_n_lp的nal单元类型的子画面的类型可以被确定为idr子画面,具有诸如cra_nut的nal单元类型的子画面的类型可以被确定为cra子画面。
[0255]
根据本公开的实施方式,当当前画面包括两个或更多个子画面并且各个子画面被视为一个画面时,当前画面可以具有混合nal单元类型。因此,在各种应用或使用情况中,图像编码/解码效率可以进一步改进。
[0256]
以下,将参照图15和图16详细描述根据本公开的实施方式的图像编码/解码方法。
[0257]
图15是例示根据本公开的实施方式的图像编码方法的流程图。
[0258]
图15的图像编码方法可以由图2的图像编码设备执行。例如,步骤s1510可以由图像分割器110执行,步骤s1520和s1530可以由熵编码器190执行。
[0259]
参照图15,图像编码设备可以将当前画面分割成两个或更多个子画面(s1510)。
[0260]
在实施方式中,如果当前画面具有混合nal单元类型,则当前画面可以被限制为包括两个或更多个子画面。即,基于包括在当前画面中的多个切片中的至少一些具有不同的
nal单元类型,当前画面可以被分割成两个或更多个子画面。
[0261]
可以使用高级语法中的一个或更多个语法元素来用信号通知当前画面的分割信息。例如,通过上面参照图7描述的画面参数集(pps),可以编码/用信号通知指示当前画面是否被分割的标志信息no_pic_partition_flag和指示包括在当前画面中的子画面的数量的标志信息pps_num_subpics_minus1。在这种情况下,当当前画面被分割成两个或更多个子画面时,no_pic_partition_flag可以具有第一值(例如,0),并且pps_num_subpics_minus可以具有大于0的值。
[0262]
在实施方式中,当当前画面具有混合nal单元类型时,包括在当前画面中的各个子画面可以被视为一个画面。例如,具有混合nal单元类型的当前画面可以包括第一子画面和第二子画面,并且除了环路内滤波操作之外,第一子画面和第二子画面中的每一个可以被独立地编码/解码。
[0263]
关于包括在当前画面中的子画面是否被视为一个画面的信息可以使用高级语法中的预定语法元素来编码/用信号通知。例如,指示包括在当前画面中的第i子画面是否被视为一个画面的标志信息sps_subpic_treated_as_pic_flag[i]可以通过上面参照图12描述的序列参数集(sps)来编码/用信号通知。在这种情况下,当包括在当前画面中的第i子画面未被视为一个画面时,sps_subpic_treated_as_pic_flag[i]可以具有第一值(例如,0)。另一方面,当包括在当前画面中的第i子画面被视为一个画面时,sps_subpic_treated_as_pic_flag[i]可以具有第二值(例如,1)。
[0264]
图像编码设备可以确定包括在当前画面中的多个切片中的每一个的nal单元类型(s1520)。
[0265]
在实施方式中,当前画面中的各个子画面中所包括的所有切片可以具有相同的nal单元类型。例如,当前画面的第一子画面中所包括的所有切片可以具有第一nal单元类型,当前画面的第二子画面中所包括的所有切片可以具有第二nal单元类型。在这种情况下,当当前画面具有混合nal单元类型时,第二nal单元类型可以不同于第一nal单元类型。另选地,当当前画面具有单个nal单元类型时,第二nal单元类型可以与第一nal单元类型相同。
[0266]
在实施方式中,包括在当前画面中的多个切片中的至少一些是否具有不同的nal单元类型(即,当前画面是否具有混合nal单元类型)可以使用语法元素来编码/用信号通知。例如,指示当前画面是否具有混合nal单元类型的标志信息pps_mixed_nalu_types_in_pic_flag可以通过上面参照图11描述的画面参数集(pps)来编码/用信号通知。在这种情况下,当当前画面具有单个nal单元类型时,pps_mixed_nalu_types_in_pic_flag可以具有第一值(例如,0)。相比之下,当当前画面具有混合nal单元类型时,pps_mixed_nalu_types_in_pic_flag可以具有第二值(例如,1)。
[0267]
在实施方式中,pps_mixed_nalu_types_in_pic_flag的值可以基于混合nal单元类型是否适用于输出层集(ols)中的所有画面来确定。例如,当混合nal单元类型不适用于输出层集(ols)中的所有画面时,pps_mixed_nalu_types_in_pic_flag可以被限制为具有第一值(例如,0)。相比之下,当混合nal单元类型适用于输出层集(ols)中的所有画面时,pps_mixed_nalu_types_in_pic_flag可以具有第一值(例如,0)或第二值(例如,1)。
[0268]
此外,混合nal单元类型是否适用于输出层集(ols)中的所有画面可以使用高级语
法中的预定语法元素来编码/用信号通知。例如,指示混合nal单元类型是否被限制的标志信息gci_no_mixed_nalu_types_in_pic_constraint_flag可以通过包括一般约束信息的general_constraints_info来编码/用信号通知。在这种情况下,当混合nal单元类型适用于输出层集(ols)中的所有画面时,gci_no_mixed_nalu_types_in_pic_constraint_flag可以具有第一值(例如,0)。相比之下,当混合nal单元类型不适用于输出层集(ols)中的所有画面时,gci_no_mixed_nalu_types_in_pic_constraint_flag可以具有第二值(例如,1)。
[0269]
在实施方式中,pps_mixed_nalu_types_in_pic_flag的值可以基于当前画面是否仅包括一个子画面来确定。例如,当当前画面仅包括一个子画面时,pps_mixed_nalu_types_in_pic_flag可以被限制为具有第一值(例如,0)。另一方面,当当前画面包括两个或更多个子画面时,pps_mixed_nalu_types_in_pic_flag可以具有第一值(例如,0)或第二值(例如,1)。
[0270]
在实施方式中,pps_mixed_nalu_types_in_pic_flag的值可以基于包括在当前画面中的所有子画面中的每一个是否被视为一个画面来确定。例如,当包括在当前画面中的至少一个子画面未被视为一个画面时,pps_mixed_nalu_types_in_pic_flag可以被限制为具有第一值(例如,0)。相比之下,当包括在当前画面中的所有子画面中的每一个被视为一个画面时,pps_mixed_nalu_types_in_pic_flag可以具有第一值(例如,0)或第二值(例如,1)。
[0271]
图像编码设备可以基于在s1520中确定的nal单元类型对当前画面中的子画面进行编码(s1530)。此时,如上所述,可以基于预定预测模式在编码单元(cu)中执行对各个切片的编码处理。此外,各个子画面可以被独立地编码以构成不同的(子画面)比特流。例如,可以构成包括第一子画面的编码信息的第一子比特流,并且可以构成包括第二子画面的编码信息的第二子比特流。
[0272]
图16是例示根据本公开的实施方式的图像解码方法的流程图。
[0273]
图16的图像解码方法可以由图3的图像解码设备执行。例如,步骤s1610和s1620可以由熵解码器210执行,步骤s1630可以由解量化器220至帧内预测器265执行。
[0274]
参照图16,图像解码设备可以从比特流获得当前画面的vcl nal单元类型信息和指定包括在当前画面中的子画面是否被视为一个画面的第一标志信息(s1610)。
[0275]
当前画面的nal单元类型信息可以包括包含当前画面的编码图像数据(例如,切片数据)的vcl nal单元的nal单元类型值。可以通过解析vcl nal单元的nal单元头中所包括的语法元素nal_unit_type来获得nal单元类型值。
[0276]
第一标志信息可以通过解析高级语法(例如,包括在序列参数集(sps)中的sps_subpic_treated_as_pic_flag[i])来获得。在这种情况下,当包括在当前画面中的第i子画面未被视为一个画面时,sps_subpic_treated_as_pic_flag[i]可以具有第一值(例如,0)。另一方面,当包括在当前画面中的第i子画面被视为一个画面时,sps_subpic_treated_as_pic_flag[i]可以具有第二值(例如,1)。
[0277]
图像解码设备可以基于当前画面的vcl nal单元类型信息来确定当前画面中的多个切片中的每一个的nal单元类型(s1620)。
[0278]
在实施方式中,当当前画面中的多个切片中的至少一些具有不同的nal单元类型
时(即,当当前画面具有混合nal单元类型)时,当前画面包括两个或更多个子画面。
[0279]
在实施方式中,当当前画面中的多个切片中的至少一些具有不同的nal单元类型时,包括在当前画面中的所有子画面中的每一个可以被视为一个画面。在这种情况下,对于包括在当前画面中的所有子画面,第一标志信息(例如,sps_subpic_treated_as_pic_flag[i])可以具有第二值(例如,1)。
[0280]
在实施方式中,当前画面中的各个子画面中所包括的所有切片可以具有相同的nal单元类型。例如,当前画面的第一子画面中所包括的所有切片可以具有第一nal单元类型,并且当前画面的第二子画面中所包括的所有切片可以具有第二nal单元类型。在这种情况下,当当前画面具有混合nal单元类型时,第二nal单元类型可以不同于第一nal单元类型。相比之下,当当前画面具有单个nal单元类型时,第二nal单元类型可以与第一nal单元类型相同。
[0281]
在实施方式中,当前画面中的多个切片中的至少一些是否具有不同的nal单元类型可以基于高级语法(例如,从画面参数集(pps)获得的第二标志信息(例如,pps_mixed_nalu_types_in_pic_flag))来确定。例如,当第二标志信息具有第一值(例如,0)时,当前画面中的所有切片可以具有相同的nal单元类型。相比之下,当第二标志信息具有第二值(例如,1)时,当前画面中的多个切片中的至少一些可以具有不同的nal单元类型。
[0282]
在实施方式中,基于混合nal单元类型是否适用于输出层集(ols)中的所有画面,第二标志信息(例如,pps_mixed_nalu_types_in_pic_flag)可以具有预定值。例如,当混合nal单元类型不适用于输出层集(ols)中的所有画面时,第二标志信息可以具有第一值(例如,0)。在这种情况下,图像解码设备可以将第二标志信息的值推断为第一值(例如,0),而无需单独地解析第二标志信息。相比之下,当混合nal单元类型适用于输出层集(ols)中的所有画面时,第二标志信息可以具有第一值(例如,0)或第二值(例如,1)。
[0283]
在实施方式中,基于当前画面是否仅包括一个子画面,第二标志信息(例如,pps_mixed_nalu_types_in_pic_flag)可以具有预定值。例如,当当前画面仅包括一个子画面时,第二标志信息可以仅具有第一值(例如,0)。在这种情况下,图像解码设备可以将第二标志信息的值推断为第一值(例如,0),而无需单独地解析第二标志信息。相比之下,当当前画面包括两个或更多个子画面时,第二标志信息可以具有第一值(例如,0)或第二值(例如,1)。
[0284]
在实施方式中,基于包括在当前画面中的所有子画面中的每一个是否被视为一个画面,第二标志信息(例如,pps_mixed_nalu_types_in_pic_flag)可以具有预定值。例如,当包括在当前画面中的至少一个子画面未被视为一个画面时,pps_mixed_nalu_types_in_pic_flag可以仅具有第一值(例如,0)。在这种情况下,图像解码设备可以将第二标志信息的值推断为第一值(例如,0),而无需单独地解析第二标志信息。相比之下,当包括在当前画面中的所有子画面中的每一个被视为一个画面时,pps_mixed_nalu_types_in_pic_flag可以具有第一值(例如,0)或第二值(例如,1)。
[0285]
此外,包括在当前画面中的各个子画面的类型可以基于各个子画面的nal单元类型来确定。例如,如上面参考表1描述的,具有诸如trail_nut的nal单元类型的子画面的类型可以被确定为结尾子画面。另外,具有诸如stsa_nut的nal单元类型的子画面的类型可以被确定为stsa子画面,具有诸如gdr_nut的nal单元类型的子画面的类型可以被确定为gdr
子画面。另外,具有诸如radl_nut的nal单元类型的子画面的类型可以被确定为radl子画面,具有诸如rasl_nut的nal单元类型的子画面的类型可以被确定为rasl子画面。另外,具有诸如idr_w_radl或idr_n_lp的nal单元类型的子画面的类型可以被确定为idr子画面,具有诸如cra_nut的nal单元类型的子画面的类型可以被确定为cra子画面。
[0286]
图像解码设备可以基于在步骤s1610中获得的第一标志信息和在s1620中确定的nal单元类型来对当前画面中的多个切片进行解码(s1630)。此时,各个切片的解码处理可以如上所述基于预定预测模式以编码单元(cu)执行。
[0287]
根据本公开的实施方式,当前画面可以基于子画面结构具有两个或更多个nal单元类型。
[0288]
本公开中描述的语法元素的名称可以包括关于用信号通知对应语法元素的位置的信息。例如,以“sps_”开始的语法元素可以意指在序列参数集(sps)中用信号通知对应语法元素。另外,以“pps_”、“ph_”、“sh_”开始的语法元素可以意指对应语法元素分别在画面参数集(pps)、画面头和切片头中用信号通知。
[0289]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
[0290]
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
[0291]
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
[0292]
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0293]
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、ott视频(over the top video)装置、互联网流传输服务提供装置、三维(3d)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,ott视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板pc、数字录像机(dvr)等。
[0294]
图17是示出可应用本公开的实施方式的内容流系统的视图。
[0295]
如图17中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
[0296]
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相
机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
[0297]
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
[0298]
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
[0299]
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
[0300]
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、石板pc、平板pc、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0301]
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
[0302]
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
[0303]
工业实用性
[0304]
本公开的实施方式可以被用于对图像进行编码或解码。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献