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

基于层之间是否进行参考确定子层的图像编码/解码方法和设备及发送比特流的方法与流程

2023-02-02 04:45:09 来源:中国专利 TAG:


1.本公开涉及图像编码/解码方法和设备,更具体地,涉及一种用于基于层间参考来确定子层的图像编码和解码方法和设备以及发送由本公开的图像编码方法/设备生成的比特流的方法。


背景技术:

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


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
6.本公开的另一目的是提供一种通过基于层间参考确定子层来改进编码/解码效率的图像编码/解码方法和设备。
7.本公开的另一目的是提供一种发送通过根据本公开的图像编码方法或设备生成的比特流的方法。
8.本公开的另一目的是提供一种存储有通过根据本公开的图像编码方法或设备生成的比特流的记录介质。
9.本公开的另一目的是提供一种记录介质,其存储通过根据本公开的图像解码设备接收、解码并用于重构图像的比特流。例如,使得根据本公开的图像解码设备能够执行根据本公开的图像解码方法的比特流可被存储在记录介质中。
10.本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚本文未描述的其它技术问题。
11.技术方案
12.根据本公开的一方面的由图像解码设备执行的图像解码方法可以包括以下步骤:确定层间直接参考;以及基于层间直接参考来确定当前层的子层数。
13.另外,一种图像解码设备可以包括存储器和至少一个处理器。所述至少一个处理器可以被配置为确定层间直接参考并且基于层间直接参考来确定当前层的子层数。
14.另外,一种由图像编码设备执行的图像编码方法可以包括:确定层间直接参考;以及基于层间直接参考来确定当前层的子层数。
15.另外,根据本公开的另一方面的发送方法可以发送通过根据本公开的图像编码设
备或方法生成的比特流。
16.另外,根据本公开的另一方面的计算机可读记录介质可以存储通过根据本公开的图像编码方法或设备生成的比特流。
17.另外,根据本公开的另一方面的计算机可读记录介质可以存储使得解码设备能够执行根据本公开的图像解码方法的比特流。
18.以上关于本公开简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
19.有益效果
20.根据本公开,可以提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
21.此外,根据本公开,可以提供一种通过基于层间参考确定子层来改进编码/解码效率的图像编码/解码方法和设备。
22.此外,根据本公开,可以提供一种发送通过根据本公开的图像编码方法或设备生成的比特流的方法。
23.此外,根据本公开,可以提供一种存储有通过根据本公开的图像编码方法或设备生成的比特流的记录介质。
24.此外,根据本公开,可以提供一种记录介质,其存储有通过根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
25.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
26.图1是示意性地示出本公开的实施方式适用于的视频编码系统的视图。
27.图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
28.图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
29.图4和图5是示出根据实施方式的画面解码和编码过程的示例的视图。
30.图6是示出根据实施方式的编码图像的层结构的视图。
31.图7至图8是例示基于多层的编码和解码的视图。
32.图9是例示根据本公开的实施方式的vps的语法结构的视图。
33.图10至图14是例示根据本公开的实施方式的用于推导vps相关变量的伪码的视图。
34.图15是例示根据本公开的另一实施方式的vps的语法结构的视图。
35.图16是例示根据本公开的另一实施方式的用于推导vps相关变量的伪码的视图。
36.图17是例示根据本公开的另一实施方式的vps的语法结构的视图。
37.图18是例示根据本公开的另一实施方式的用于推导vps相关变量的伪码的视图。
38.图19是例示根据本公开的另一实施方式的编码和/或解码方法的视图。
39.图20是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
40.以下,将参考附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于本文描述的实施方式。
41.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
42.在本公开中,当一个组件“连接”、“联接”或“链接”到另一组件时,它不仅可以包括直接连接关系,还可以包括存在中间组件的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
43.在本公开中,术语第一、第二等可以仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一实施方式中可以被称为第一组件。
44.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成和实施在一个硬件或软件单元中,或者一个组件可以在多个硬件或软件单元中分布和实施。因此,即使没有另外说明,组件是集成的或组件是分布式的这些实施方式也包括在本公开的范围内。
45.在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。另外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
46.本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
47.本公开中所公开的方法/实施方式适用于多功能视频编码(vvc)标准中所公开的方法。另外,本公开中所公开的方法/实施方式适用于基本视频编码(evc)标准、aomedia视频1(av1)标准、第二代音频视频编码标准(avs2)或下一代视频/图像编码标准(例如,h.267或h.268)中所公开的方法。
48.在本公开中,提供了视频/图像编码的各种实施方式,并且未描述的本公开的实施方式可以组合执行。
49.在本公开中,“视频”可以意指随时间的图像集合。“画面”通常是指表示特定时间的一个图像的单元,切片/拼块是构成编码中画面的一部分的编码单元。切片/拼块可以包括一个或更多个编码树单元(ctu)。ctu可以被分割成一个或更多个cu。
50.一个画面可以由一个或更多个切片/拼块组成。拼块是画面中的特定拼块行和特定拼块列内的矩形区域,并且可以由多个ctu组成。拼块列可以被定义为ctu的矩形区域,并且可以具有与画面的高度相等的高度以及从诸如画面参数集的比特流部分用信号通知的语法元素所指定的宽度。拼块行可以被定义为ctu的矩形区域,并且可以具有与画面的宽度相等的宽度以及从诸如画面参数集的比特流部分用信号通知的语法元素所指定的高度。
51.拼块扫描是分割画面的ctu的特定顺序排序。这里,ctu在ctu光栅扫描中按拼块连续地排序,而画面中的拼块在画面的拼块的光栅扫描中连续地排序。切片包括整数个完整
拼块或画面的拼块内的整数个连续完整ctu行。切片可以排他地包含在单个nal单元中。
52.一个画面可以被分割成两个或更多个子画面。子画面可以是画面中的一个或更多个切片的矩形区域。
53.一个画面可以包括一个或更多个拼块组。一个拼块组可以包括一个或更多个拼块。图块可以表示画面中的拼块内的ctu行的矩形区域。一个拼块可以包括一个或更多个图块。图块可以表示拼块中的ctu行的矩形区域。一个拼块可以被分割成多个图块,各个图块可以包括属于拼块的一个或更多个ctu行。未被分割成多个图块的拼块也可以被视为图块。
[0054]“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。另外,“样本”可以用作对应于像素的术语。样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
[0055]
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一者。一个单元可以包括一个亮度块和两个色度块(例如,cb和cr)。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列和n行的样本(或样本阵列)或变换系数的集合(或阵列)。
[0056]
在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”之一。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
[0057]
另外,在本公开中,除非明确声明为色度块,否则“当前块”可以意指“当前块的亮度块”。“当前块的色度块”可以通过包括对诸如“色度块”或“当前色度块”的色度块的显式描述来表达。
[0058]
在本公开中,斜线“/”或“,”应该解释为指示“和/或”。例如,表达“a/b”和“a,b”可以意指“a和/或b”。此外,“a/b/c”和“a/b/c”可以意指“a、b和/或c中的至少一个”。
[0059]
在本公开中,术语“或”应被解释为指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,和/或3)“a和b”两者。换言之,在本公开中,术语“或”应被解释为指示“另外地或另选地”。
[0060]
在本公开中,“a和b中的至少一个”可以意指“仅a”、“仅b”或“a和b二者”。另外,在本公开中,“a或b中的至少一个”或“a和/或b中的至少一个”可以被解释为与“a和b中的至少一个”相同。
[0061]
另外,在本公开中,“a、b和c中的至少一个”可以意指“仅a”、“仅b”、“仅c”或“a、b和c的任何组合”。另外,在本公开中,“a、b或c中的至少一个”或“a、b和/或c中的至少一个”可以被解释为与“a、b和c中的至少一个”相同。
[0062]
另外,本公开中使用的括号可以意指“例如”。具体地,当描述“预测(帧内预测)”时,可以提出“帧内预测”作为“预测”的示例。换言之,本公开的“预测”不限于“帧内预测”,可以提出“帧内预测”作为“预测”的示例。另外,即使在描述“预测(即,帧内预测)”时,也可以提出“帧内预测”作为“预测”的示例。
[0063]
在本公开中,在一幅图中单独描述的技术特征可以单独或同时实现。
[0064]
视频编码系统的概述
[0065]
图1是示出根据本公开的视频编码系统的视图。
[0066]
根据实施方式的视频编码系统可以包括源装置10和接收装置20。源装置10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到接收装置20。
[0067]
根据实施方式的源装置10可以包括视频源生成器11、编码装置12和发送器13。根据实施方式的接收装置20可以包括接收器21、解码装置22和渲染器23。编码装置12可以称为视频/图像编码装置,解码装置22可以称为视频/图像解码装置。发送器13可以被包括在编码装置12中。接收器21可以被包括在解码装置22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
[0068]
视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
[0069]
编码装置12可以对输入视频/图像进行编码。为了压缩和编码效率,编码装置12可以执行一系列过程,诸如预测、变换和量化。编码装置12可以以比特流的形式输出编码的数据(编码的视频/图像信息)。
[0070]
发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码的视频/图像信息或数据发送到接收装置20的接收器21。数字存储介质可以包括各种存储介质,诸如usb、sd、cd、dvd、蓝光、hdd、ssd等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络进行发送的元件。接收器21可以从存储介质或网络提取/接收比特流并将比特流发送到解码装置22。
[0071]
解码装置22可以通过执行与编码装置12的操作相对应的一系列过程(诸如解量化、逆变换和预测)来解码视频/图像。
[0072]
渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
[0073]
图像编码设备的概述
[0074]
图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
[0075]
如图2所示,图像源装置100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测器180、帧内预测器185和熵编码器190。帧间预测器180和帧内预测器185可以统称为“预测器”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
[0076]
在一些实施方式中,对图像源装置100进行配置的多个组件中的全部或至少一些组件可以由一个硬件组件(例如,编码器或处理器)来配置。另外,存储器170可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。
[0077]
图像分割器110可以将输入到图像源装置100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分割编码树单元(ctu)或最大编码单元(lcu)来获取编码单
元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割成更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,稍后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
[0078]
预测器(帧间预测器180或帧内预测器185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测器可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测器可以生成与当前块的预测有关的各种信息,并且将生成的信息发送到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
[0079]
帧内预测器185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测器185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
[0080]
帧间预测器180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,帧间预测器180可以基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不发送残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
[0081]
预测器可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测两者,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。另外,预测器可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相
隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用ibc时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测来执行,因为在当前画面内推导参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
[0082]
预测器生成的预测信号可以用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测器输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被发送到变换器120。
[0083]
变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图表示时从图获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。另外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小而不是方形的块。
[0084]
量化器130可以对变换系数进行量化并且将它们发送到熵编码器190。熵编码器190可以对量化信号(关于量化变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可以基于系数扫描顺序将块类型的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
[0085]
熵编码器190可以执行各种编码方法,例如,诸如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单元进行发送或存储。视频/图像信息还可以包括关于各种参数集的信息,诸如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。另外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、发送的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
[0086]
比特流可以通过网络发送或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等的各种存储介质。可以包括发送从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像源装置100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
[0087]
从量化器130输出的量化变换系数可以用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
[0088]
加法器155将重构残差信号与从帧间预测器180或帧内预测器185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,诸如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通
过如下所述的滤波对下一画面进行帧间预测。
[0089]
滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储在存储器170的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息发送到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波有关的信息可以由熵编码器190编码并以比特流的形式输出。
[0090]
发送到存储器170的修改的重构画面可以用作帧间预测器180中的参考画面。当通过图像源装置100应用帧间预测时,可以避免图像源装置100与图像解码设备之间的预测失配并且可以改进编码效率。
[0091]
存储器170的dpb可以存储修改的重构画面以用作帧间预测器180中的参考画面。存储器170可以存储供推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被发送到帧间预测器180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测器185。
[0092]
图像解码设备的概述
[0093]
图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
[0094]
如图3所示,图像接收装置200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260和帧内预测器265。帧间预测器260和帧内预测器265可以统称为“预测器”。解量化器220和逆变换器230可以被包括在残差处理器中。
[0095]
根据实施方式,对图像接收装置200进行配置的多个组件中的全部或至少一些组件可以由硬件组件(例如,解码器或处理器)来配置。另外,存储器250可以包括解码画面缓冲器(dpb)或者可以由数字存储介质配置。
[0096]
已经接收到包括视频/图像信息的比特流的图像接收装置200可以通过执行与由图2的图像源装置100执行的处理相对应的处理来重构图像。例如,图像接收装置200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像接收装置200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
[0097]
图像接收装置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的组件。
[0098]
此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260或帧内预测器265中的至少一者。
[0099]
解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
[0100]
逆变换器230可以对变换系数进行逆变换,以获得残差信号(残差块、残差样本阵列)。
[0101]
预测器可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
[0102]
与在图像源装置100的预测器中描述的相同的是,预测器可以基于稍后将描述的各种预测方法(技术)来生成预测信号。
[0103]
帧内预测器265可以通过参考当前画面中的样本来预测当前块。帧内预测器185的描述同样适用于帧内预测器265。
[0104]
帧间预测器260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测器260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
[0105]
加法器235可以通过将获得的残差信号与从预测器(包括帧间预测器260和/或内预测器265)输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,诸如在应用跳过模式时,则可以将预测块用
作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面进行帧间预测。
[0106]
滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储在存储器250的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
[0107]
存储在存储器250的dpb中的(修改的)重构画面可以用作帧间预测器260中的参考画面。存储器250可以存储供推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被发送到帧间预测器260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测器265。
[0108]
在本公开中,在图像源装置100的滤波器160、帧间预测器180和帧内预测器185中描述的实施方式可以同等地或对应地应用于图像接收装置200的滤波器240、帧间预测器260和帧内预测器265。
[0109]
一般图像/视频编码过程
[0110]
在图像/视频编码中,配置图像/视频的画面可以根据解码顺序来编码/解码。与解码画面的输出顺序对应的画面顺序可以与解码顺序不同地设定,并且基于此,在帧间预测期间不仅可以执行前向预测,而且可以执行后向预测。
[0111]
图4示出本公开的实施方式适用于的示意性画面解码过程的示例。在图4中,s410可以在解码设备的熵解码器210中执行,s420可以在包括帧内预测器265和帧间预测器260的预测器中执行,s430可以在包括解量化器220和逆变换器230的残差处理器中执行,s440可以在加法器235中执行,s450可以在滤波器240中执行。s410可以包括本公开中描述的信息解码过程,s420可以包括本公开中描述的帧间/帧内预测过程,s430可以包括本公开中描述的残差处理过程,s440可以包括本公开中描述的块/画面重构过程,s450可以包括本公开中描述的环路内滤波过程。
[0112]
参照图4,画面解码过程可以示意性地包括从比特流获得图像/视频信息(通过解码)的过程(s410)、画面重构过程(s420至s440)以及对重构画面的环路内滤波过程(s450)。可以基于通过本公开中描述的帧间/帧内预测(s420)和残差处理(s430)(量化变换系数的解量化和逆变换)获得的预测样本和残差样本来执行画面重构过程。可以通过对通过画面重构过程生成的重构画面的环路内滤波过程来生成修改的重构画面,修改的重构画面可以被输出作为解码画面,存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后对画面进行解码时用作帧间预测过程中的参考画面。在某些情况下,可以省略环路内滤波过程。在这种情况下,重构画面可以被输出作为解码画面,存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后对画面进行解码时用作帧间预测过程中的参考画面。如上所述,环路内滤波过程(s450)可以包括去块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波器(alf)过程和/或双边滤波器过程,其中的一些或全部可以省略。另外,去块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波器(alf)过程和/或双边滤波器过程中的一个或一些可以依次应用,或者它们全部可以依次应用。例如,在对重构画面应用去块滤波过程
之后,可以执行sao过程。另选地,例如,在对重构画面应用去块滤波过程之后,可以执行alf过程。这甚至在编码设备中也可以类似地执行。
[0113]
图5示出本公开的实施方式适用于的示意性画面编码过程的示例。在图5中,s510可以在包括上面参照图2描述的编码设备的帧内预测器185或帧间预测器180的预测器中执行,s520可以在包括变换器120和/或量化器130的残差处理器中执行,s530可以在熵编码器190中执行。s510可以包括本公开中描述的帧间/帧内预测过程,s520可以包括本公开中描述的残差处理过程,s530可以包括本公开中描述的信息编码过程。
[0114]
参照图5,画面编码过程可以示意性地不仅包括对用于画面重构的信息(例如,预测信息、残差信息、分割信息等)进行编码并以比特流的形式输出的过程,而且包括生成当前画面的重构画面的过程和对重构画面应用环路内滤波的过程(可选),如参照图2描述的。编码设备可以通过解量化器140和逆变换器150从量化变换系数推导(修改的)残差样本,并且基于作为s510的输出的预测样本和(修改的)残差样本来生成重构画面。这样生成的重构画面可以等于在解码设备中生成的重构画面。类似于解码设备,修改的重构画面可以通过对重构画面的环路内滤波过程来生成,可以被存储在解码画面缓冲器或存储器170中,并且可以在稍后对画面进行编码时用作帧间预测过程中的参考画面。如上所述,在某些情况下,可以省略一些或所有环路内滤波过程。当执行环路内滤波过程时,(环路内)滤波相关信息(参数)可以在熵编码器190中编码并且以比特流的形式输出,解码设备可以基于滤波相关信息使用与编码设备相同的方法来执行环路内滤波过程。
[0115]
通过这种环路内滤波过程,在图像/视频编码期间出现的噪声(例如,块伪影和振铃伪影)可以减少,并且主观/客观视觉质量可以改进。另外,通过在编码设备和解码设备二者中执行环路内滤波过程,编码设备和解码设备可以推导相同的预测结果,画面编码可靠性可以增加,并且要为画面编码发送的数据量可以减少。
[0116]
如上所述,画面重构过程可以不仅在解码设备中执行,而且在编码设备中执行。可以基于帧内预测/帧间预测以块为单位生成重构块,并且可以生成包括重构块的重构画面。当当前画面/切片/拼块组是i画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以仅基于帧内预测来重构。此外,当当前画面/切片/拼块组是p或b画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以基于帧内预测或帧间预测来重构。在这种情况下,可以对当前画面/切片/拼块组中的一些块应用帧间预测,并且可以对剩余块应用帧内预测。画面的颜色分量可以包括亮度分量和色度分量,并且除非本公开中明确限制,否则本公开的方法和实施方式适用于亮度分量和色度分量。
[0117]
编码层和结构的示例
[0118]
例如,可以根据下面将描述的编码层和结构来处理根据本公开的编码视频/图像。
[0119]
图6是示出编码图像的层结构的视图。编码图像可以被分类为用于图像解码处理和处理自己的视频编码层(vcl)、用于发送和存储编码信息的下层系统以及存在于vcl和下层系统之间并负责网络适配功能的网络抽象层(nal)。
[0120]
在vcl中,可以生成包括压缩图像数据(切片数据)的vcl数据,或者可以生成图像的解码处理另外所需的补充增强信息(sei)消息或者包括诸如画面参数集(pps)、序列参数集(sps)或视频参数集(vps)的信息的参数集。
[0121]
在nal中,头信息(nal单元头)可以被添加到vcl中生成的原始字节序列有效载荷
(rbsp)以生成nal单元。在这种情况下,rbsp是指vcl中生成的切片数据、参数集、sei消息。nal单元头可以包括根据对应nal单元中所包括的rbsp数据指定的nal单元类型信息。
[0122]
如图中所示,nal单元可以根据vcl中生成的rbsp被分类为vcl nal单元和非vcl nal单元。vcl nal单元可以意指包括关于图像的信息(切片数据)的nal单元,非vcl nal单元可以意指包括对图像进行解码所需的信息(参数集或sei消息)的nal单元。
[0123]
vcl nal单元和非vcl nal单元可以根据下层系统的数据标准附有头信息并通过网络发送。例如,nal单元可以被修改为预定标准的格式(例如,h.266/vvc文件格式、rtp(实时传输协议)或ts(传输流))的数据,并通过各种网络发送。
[0124]
如上所述,在nal单元中,可以根据对应nal单元中所包括的rbsp数据结构来指定nal单元类型,并且关于nal单元类型的信息可以被存储在nal单元头中并用信号通知。
[0125]
例如,这可以根据nal单元是否包括关于图像的信息(切片数据)大致分类为vcl nal单元类型和非vcl nal单元类型。vcl nal单元类型可以根据包括在vcl nal单元中的画面的性质和类型来分类,并且非vcl nal单元类型可以根据参数集的类型来分类。
[0126]
下面将列出根据包括在非vcl nal单元类型中的参数集/信息的类型指定的nal单元类型的示例。
[0127]-dci(解码能力信息)nal单元:包括dci的nal单元类型
[0128]-vps(视频参数集)nal单元:包括vps的nal单元类型
[0129]-sps(序列参数集)nal单元:包括sps的nal单元类型
[0130]-pps(画面参数集)nal单元:包括pps的nal单元类型
[0131]-aps(适配参数集)nal单元:包括aps的nal单元类型
[0132]-ph(画面头)nal单元:包括ph的nal单元类型
[0133]
上述nal单元类型可以具有nal单元类型的语法信息,并且该语法信息可以被存储在nal单元头中并用信号通知。例如,该语法信息可以是nal_unit_type,nal单元类型可以被指定为nal_unit_type值。
[0134]
此外,如上所述,一个画面可以包括多个切片,并且一个切片可以包括切片头和切片数据。在这种情况下,可以向一个画面中的多个切片(切片头和切片数据集)进一步添加一个画面头。画面头(画面头语法)可以包括共同适用于画面的信息/参数。
[0135]
切片头(切片头语法)可以包括共同适用于切片的信息/参数。aps(aps语法)或pps(pps语法)可以包括共同适用于一个或更多个切片或画面的信息/参数。sps(sps语法)可以包括共同适用于一个或更多个序列的信息/参数。vps(vps语法)可以是共同适用于多个层的信息/参数。dci(dci语法)可以包括共同适用于总体视频的信息/参数。dci可以包括与解码能力有关的信息/参数。在本公开中,高级语法(hls)可以包括aps语法、pps语法、sps语法、vps语法、dci语法、画面头语法或切片头语法中的至少一个。此外,在本公开中,低级语法(lls)可以包括例如切片数据语法、ctu语法、编码单元语法、变换单元语法等。
[0136]
在本公开中,在编码设备中编码并以比特流的形式用信号通知给解码设备的图像/视频信息可以不仅包括画面内分割相关信息、帧内/帧间预测信息、残差信息、环路内滤波信息,而且包括关于切片头的信息、关于画面头的信息、关于aps的信息、关于pps的信息、关于sps的信息、关于vps的信息和/或关于dci的信息。另外,图像/视频信息还可以包括一般约束信息和/或关于nal单元头的信息。
[0137]
画面信息信令nal单元
[0138]
可以以nal单元为单位用信号通知画面信息。例如,画面信息可以如下用信号通知。子层是时间可缩放比特流的时间可缩放层,由变量temporalid为特定值的vcl nal单元和关联的非vcl nal单元组成。变量temporalid可以如下推导:
[0139]
[式1]
[0140]
temporalid=nuh_temporal_id_plus1-1
[0141]
用于用信号通知变量temporalid的值的语法元素nuh_temproal_id_plus1可以通过nal单元的nal单元头来用信号通知。当nal单元头中的nal_unit_type的值在idr_w_radl至rsv_irap_12(含)的范围内时,temporalid的值应等于0。当nal_unit_type的值等于stsa_nut并且vps_independent_layer_flag[generallayeridx[nuh_layer_id]]的值等于1时,temporalid的值不应等于0。对于au的所有vcl nal单元,temporalid的值应相同。编码画面、pu或au的temporalid的值是编码画面、pu或au的vcl nal单元的temporalid的值。子层表示的temporalid的值是子层表示中的所有vcl nal单元的temporalid的最大值。
[0142]
非vcl nal单元的temporalid的值可以如下约束:
[0143]-如果nal_unit_type等于dci_nut、vps_nut或sps_nut,则temporalid应等于0并且包含nal单元的au的temporalid的值应等于0。
[0144]-否则,如果nal_unit_type等于ph_nut,则temporalid的值应等于包含nal单元的pu的temporalid。
[0145]-否则,如果nal_unit_type等于eos_nut或eob_nut,则temporalid应等于0。
[0146]-否则,如果nal_unit_type等于aud_nut、fd_nut、prefix_sei_nut或suffix_sei_nut,则temporalid应等于包含nal单元的au的temporalid。
[0147]-否则,当nal_unit_type等于pps_nut、prefix_aps_nut或suffix_aps_nut时,temporalid的值应大于或等于包含nal单元的pu的temporalid的值。
[0148]
例如,当nal单元是非vcl nal单元时,temporalid的值可以等于非vcl nal单元应用于的所有au的temporalid值的最小值。当nal_unit_type的值等于pps_nut、prefix_aps_nut或suffix_aps_nut时,temporalid的值可以大于或等于包含au的temporalid的值,因为所有pps和aps可以包括在比特流的开头(例如,当它们被带外传输,并且接收机将它们置于比特流的开头时)。这里,第一编码画面可以具有等于0的temporalid。
[0149]
在实施方式中,根据nal单位信息从比特流获得的编码画面可以由编码设备用信号通知并且由解码设备如下识别。然而,这是示例,可以使用其它方法来识别画面。
[0150]
帧内随机访问点(irap)画面是所有vcl nal单元具有idr_w_radl至cra_nut(含)范围内的相同nal_unit_type值的编码画面。在实施方式中,irap画面在其解码处理中不参考其自身以外的任何画面来进行帧间预测。irap画面可以是cra画面或idr画面。比特流中按解码顺序的第一画面必须是irap或gdr画面。假如在需要参考时必要参数集可用,则irap画面以及cvs中按解码顺序的所有后续非rasl画面可以被正确地解码,而无需执行按解码顺序在irap画面之前的任何画面的解码处理。
[0151]
清洁随机访问(cra)画面是各个vcl nal单元具有等于cra_nut的nal_unit_type的irap画面。例如,cra画面在其解码处理中不参考其自身以外的任何画面来进行帧间预测,并且可以是比特流中按解码顺序的第一画面,或者可以在比特流中稍后出现。cra画面
可以具有关联的radl或rasl画面。当cra画面具有等于1的noincorrectpicoutputflag时,解码器可以不输出关联的rasl画面,因为它们可能不可解码,因为它们可能包含对不存在于比特流中的画面的参考。在实施方式中,当在图像解码期间未输出不完整画面时,如果cra画面是不完整画面,则cra画面可具有等于1的noincorrectpicoutputflag。
[0152]
瞬时解码刷新(idr)画面是各个vcl nal单元具有等于idr_w_radl或idr_n_lp的nal_unit_type的irap画面。例如,idr画面在其解码处理中不参考其自身以外的任何画面来进行帧间预测。另外,idr画面可以是比特流中按解码顺序的第一画面,或者可以在比特流中稍后出现。各个idr画面是cvs按解码顺序的第一画面。当各个vcl nal单元具有等于idr_w_radl的nal_unit_type的idr画面时,idr画面可以具有关联的radl画面。当各个vcl nal单元具有等于idr_n_lp的nal_unit_type的idr画面时,idr画面不具有任何关联的先导画面。idr画面不具有关联的rasl画面。
[0153]
随机访问可解码先导(radl)画面是各个vcl nal单元具有等于radl_nut的nal_unit_type的编码画面。在实施方式中,所有radl画面是先导画面。radl画面不用作同一关联的irap画面的结尾画面的解码处理的参考画面。当从比特流获得的语法元素field_seq_flag等于0时,所有radl画面(当存在时)按解码顺序在同一关联的irap画面的所有非先导画面之前。
[0154]
随机访问跳过先导(rasl)画面可以是各个vcl nal单元具有等于rasl_nut的nal_unit_type的编码画面。在实施方式中,所有rasl画面是关联的cra画面的先导画面。当关联的cra画面具有等于1的noincorrectpicoutputflag时,rasl画面不输出并且可能无法正确地解码,因为rasl画面可能包含对不存在于比特流中的画面的参考。rasl画面不用作非rasl画面的解码处理的参考画面。当field_seq_flag等于0时,所有rasl画面(当存在时)按解码顺序在同一关联的cra画面的所有非先导画面之前。
[0155]
结尾画面是按输出顺序在关联的irap画面之后并且不是stsa画面的非irap画面。与irap画面关联的结尾画面按解码顺序也在irap画面之后。不允许按输出顺序在关联的irap画面之后并且按解码顺序在关联的irap画面之前的画面。
[0156]
渐进解码刷新(gdr)画面是各个vcl nal单元具有等于gdr_nut的nal_unit_type的画面。
[0157]
逐步时间子层访问(stsa)画面是各个vcl nal单元具有等于stsa_nut的nal_unit_type的编码画面。stsa画面可以不使用具有与stsa画面相同的temporalid的画面来进行帧间预测参考。按解码顺序在stsa画面之后的具有与stsa画面相同的temporalid的画面可以不使用按解码顺序在stsa画面之前的具有与stsa画面相同的temporalid的画面来进行帧间预测参考。
[0158]
stsa画面允许在stsa画面处从紧接的下子层上切换到包含stsa画面的子层。stsa画面必须具有大于0的temporalid。
[0159]
在实施方式中,对于单层或多层比特流,可以应用以下约束中的一个或更多个:
[0160]-比特流中按解码顺序的第一画面以外的各个画面可以被认为与按解码顺序的先前irap画面关联。
[0161]-当画面是irap画面的先导画面时,其应是radl或rasl画面。
[0162]-当画面是irap画面的结尾画面时,其不应是radl或rasl画面。
[0163]-在与idr画面关联的比特流中不应存在rasl画面。
[0164]-在比特流中不应存在与具有等于idr_n_lp的nal_unit_type的idr画面关联的radl画面。(例如,假如在参考时各个参数集在比特流中可用或通过外部手段可用,可以通过丢弃irap pu之前的所有pu来在irap pu的位置处执行随机访问并且正确地解码irap画面以及按解码顺序所有后续的非rasl画面。)
[0165]-按解码顺序在irap画面之前的任何画面按输出顺序应在irap画面之前,并且按输出顺序应在与irap画面关联的任何radl画面之前。
[0166]-与cra画面关联的任何rasl画面按输出顺序应在与cra画面关联的任何radl画面之前。
[0167]-与cra画面关联的任何rasl画面按输出顺序应在按解码顺序在cra画面之前的任何irap画面之后。
[0168]-如果field_seq_flag等于0并且当前画面是与irap画面关联的先导画面,则其按解码顺序应在与同一irap画面关联的所有非先导画面之前。否则,设pica和picb分别为按解码顺序与irap画面关联的第一和最后先导画面,则按解码顺序在pica之前应至多存在一个非先导画面,并且按解码顺序在pica和picb之间不应存在非先导画面。
[0169]
基于多层的编码
[0170]
根据本公开的图像/视频编码可以包括基于多层的图像/视频编码。基于多层的图像/视频编码可以包括可缩放编码。在基于多层的编码或可缩放编码中,可以为各个层处理输入信号。根据层,输入信号(输入图像/视频)可以在分辨率、帧频、比特深度、颜色格式纵横比或视图中的至少一个方面具有不同的值。在这种情况下,通过使用层之间的差异(例如,基于可缩放性)执行层间预测,可减少冗余信息传输/处理并且增加压缩效率。
[0171]
图7是本公开的实施方式适用于的执行多层视频/图像信号的编码的多层编码设备700的示意性框图。
[0172]
图7的多层编码设备700可以包括图2的编码设备。与图2相比,在图7的多层编码设备700中未示出图像分割器110和加法器155,多层编码设备700可以包括图像分割器110和加法器155。在实施方式中,可以以层为单位包括图像分割器110和加法器155。以下,在图7的描述中将聚焦于基于多层的预测。例如,除了以下描述之外,多层编码设备700可以包括上面参照图2描述的编码设备的技术构思。
[0173]
为了描述方便,图7中示出由两个层组成的多层结构。然而,本公开的实施方式不限于两个层,应用本公开的实施方式的多层结构可以包括两个或更多个层。
[0174]
参照图7,编码设备700包括层1的编码器700-1和层0的编码器700-0。层0可以是基层、参考层或较低层,层1可以是增强层、当前层或较高层。
[0175]
层1的编码器700-1可以包括预测器720-1、残差处理器730-1、滤波器760-1、存储器770-1、熵编码器740-1和复用器(mux)770。在实施方式中,mux可以作为外部组件而被包括。
[0176]
层0的编码器700-0可以包括预测器720-0、残差处理器730-0、滤波器760-0、存储器770-0和熵编码器740-0。
[0177]
预测器720-0和720-1可以基于如上所述的各种预测方案针对输入图像执行预测。例如,预测器720-0和720-1可以执行帧间预测和帧内预测。预测器720-0和720-1可以以预
定处理单元执行预测。预测单元可以是编码单元(cu)或变换单元(tu)。可以根据预测结果生成预测块(包括预测样本),并且基于此,残差处理器可以推导残差块(包括残差样本)。
[0178]
通过帧间预测,可以基于关于当前画面的前一画面和/或下一画面中的至少一个的信息来执行预测,从而生成预测块。通过帧内预测,可以基于当前画面中的邻近样本来执行预测,从而生成预测块。
[0179]
作为帧间预测模式或方法,可以使用上述各种预测模式或方法。在帧间预测中,可以为要预测的当前块选择参考画面,并且可以从参考画面选择与当前块对应的参考块。预测器720-0和720-1可以基于参考块来生成预测块。
[0180]
另外,预测器720-1可以使用关于层0的信息来针对层1执行预测。在本公开中,为了描述方便,使用关于另一层的信息预测关于当前层的信息的方法被称为层间预测。
[0181]
使用关于另一层的信息而预测(例如,通过层间预测而预测)的关于当前层的信息可以是纹理、运动信息、单位信息或预定参数(例如,滤波参数等)中的至少一个。
[0182]
另外,用于当前层的预测(例如,用于层间预测)的关于另一层的信息可以是纹理、运动信息、单位信息或预定参数(例如,滤波参数等)中的至少一个。
[0183]
层间预测,当前块可以是当前层(例如,层1)中的当前画面中的块并且可以是要编码的块。参考块是当前块的预测所参考的层(参考层,例如层0)上属于与当前块所属的画面(当前画面)相同的访问单元(au)的画面(参考画面)中的块,并且可以是与当前块对应的块。
[0184]
作为层间预测的示例,存在使用参考层的运动信息来预测当前层的运动信息的层间运动预测。根据层间运动预测,可以使用参考块的运动信息来预测当前块的运动信息。即,在根据下面将描述的帧间预测模式来推导运动信息时,可以基于层间参考块的运动信息而非时间邻近块来推导运动信息候选。
[0185]
当应用层间运动预测时,预测器720-1可以缩放并使用参考层的参考块(即,层间参考块)运动信息。
[0186]
作为层间预测的另一示例,层间纹理预测可以使用重构参考块的纹理作为当前块的预测值。在这种情况下,预测器720-1可以通过上缩放来缩放参考块的纹理。层间纹理预测可以被称为层间(重构)样本预测或简称为层间预测。
[0187]
在作为层间预测的另一示例的层间参数预测中,可以在当前层中重用参考层的推导参数,或者可以基于参考层中使用的参数来推导当前层的参数。
[0188]
在作为层间预测的另一示例的层间残差预测中,可以使用另一层的残差信息来预测当前层的残差信息,并且基于此,可以执行当前块的预测。
[0189]
在作为层间预测的另一示例的层间差异预测中,可以使用通过对当前层的重构画面和参考层的重构画面进行上采样或下采样而获得的图像之间的差异来执行当前块的预测。
[0190]
在作为层间预测的另一示例的层间语法预测中,可以使用参考层的语法信息来预测或生成当前块的纹理。在这种情况下,所参考的参考层的语法信息可以包括关于帧内预测模式的信息和运动信息。
[0191]
使用上述层间的多种预测方法可以在预测特定块时使用。
[0192]
这里,作为层间预测的示例,尽管描述了层间纹理预测、层间运动预测、层间单位
信息预测、层间参数预测、层间残差预测、层间差异预测、层间语法预测等,但本公开中适用的层间预测不限于此。
[0193]
例如,可以作为当前层的帧间预测的扩展来应用层间预测。即,通过将从参考层推导的参考画面包括在当前块的帧间预测能够参考的参考画面中,可针对当前块执行帧间预测。
[0194]
在这种情况下,层间参考画面可以包括在当前块的参考画面列表中。预测器720-1可以使用层间参考画面针对当前块执行帧间预测。
[0195]
这里,层间参考画面可以是通过对参考层的重构画面进行采样以与当前层对应而构造的参考画面。因此,当参考层的重构画面对应于当前层的画面时,参考层的重构画面可以用作层间参考画面而无需采样。例如,当在参考层的重构画面和当前层的重构画面中样本的宽度和高度相同并且参考层的画面中的左上端、右上端、左下端和右下端与当前层的画面中的左上端、右上端、左下端和右下端之间的偏移为0时,参考层的重构画面可以用作当前层的层间参考画面而无需再次采样。
[0196]
另外,从其推导层间参考画面的参考层的重构画面可以是属于与要编码的当前画面相同的au的画面。
[0197]
当通过将层间参考画面包括在参考画面列表中来执行当前块的帧间预测时,在参考画面列表l0和l1之间,参考画面列表中的层间参考画面的位置可以不同。例如,在参考画面列表l0中,层间参考画面可以位于当前画面之前的短期参考画面之后,在参考画面列表l1中,层间参考画面可以位于参考画面列表的末尾。
[0198]
这里,参考画面列表l0是用于p切片的帧间预测的参考画面列表或者在b切片的帧间预测中用作第一参考画面列表的参考画面列表。参考画面列表l1可以是用于b切片的帧间预测的第二参考画面列表。
[0199]
因此,参考画面列表l0可以依次由当前画面之前的短期参考画面、层间参考画面、当前画面之后的短期参考画面和长期参考画面组成。参考画面列表l1可以依次由当前画面之后的短期参考画面、当前画面之前的短期参考画面、长期参考画面和层间参考画面组成。
[0200]
在这种情况下,预测(p)切片是执行帧内预测或使用每预测块的最多一个运动向量和参考画面索引执行帧间预测的切片。双预测(b)切片是执行帧内预测或使用预测块的最多两个运动向量和参考画面索引执行预测的切片。在这方面,帧内(i)切片是仅应用帧内预测的切片。
[0201]
另外,当基于包括层间参考画面的参考画面列表执行当前块的帧间预测时,参考画面列表可以包括从多个层推导的多个层间参考画面。
[0202]
当包括多个层间参考画面时,层间参考画面可以交替地布置在参考画面列表l0和l1中。例如,假设诸如层间参考画面ilrpi和层间参考画面ilrpj的两个层间参考画面包括在用于当前块的帧间预测的参考画面列表中。在这种情况下,在参考画面列表l0中,ilrpi可以位于当前画面之前的短期参考画面之后,ilrpj可以位于列表的末尾。另外,在参考画面列表l1中,ilrpi可以位于列表的末尾,ilrpj可以位于当前画面之后的短期参考画面之后。
[0203]
在这种情况下,参考画面列表l0可以依次由当前画面之前的短期参考画面、层间参考画面ilrpi、当前画面之后的短期参考画面、长期参考画面和层间参考画面ilrpj组成。
参考画面列表l1可以依次由当前画面之后的短期参考画面、层间参考画面ilrpj、当前画面之前的短期参考画面、长期参考画面和层间参考画面ilrpi组成。
[0204]
另外,两个层间参考画面中的一个可以是从用于分辨率的可缩放层推导的层间参考画面,另一个可以是从用于提供另一视图的层推导的层间参考画面。在这种情况下,例如,如果ilrpi是从用于提供不同分辨率的层推导的层间参考画面并且ilrpj是从用于提供不同视图的层推导的层间参考画面,则在仅支持可缩放性而不包括视图的可缩放视频编码的情况下,参考画面列表l0可以依次由当前画面之前的短期参考画面、层间参考画面ilrpi、当前画面之后的短期参考画面和长期参考画面组成,参考画面列表l1可以依次由当前画面之后的短期参考画面、当前画面之前的短期参考画面、长期参考画面和层间参考画面ilrpi组成。
[0205]
此外,在层间预测中,作为关于层间参考画面的信息,可以仅使用样本值,可以仅使用运动信息(运动向量),或者可以使用样本值和运动信息二者。当参考画面索引指示层间参考画面时,根据从编码设备接收的信息,预测器720-1可以仅使用层间参考画面的样本值,可以仅使用层间参考画面的运动信息(运动向量),或者可以使用层间参考画面的样本值和运动信息二者。
[0206]
当仅使用层间参考画面的样本值时,预测器720-1可以从层间参考画面推导运动向量所指定的块的样本作为当前块的预测样本。在不考虑视图的可缩放视频编码的情况下,使用层间参考画面的帧间预测(层间预测)中的运动向量可以被设定为固定值(例如,0)。
[0207]
当仅使用层间参考画面的运动信息时,预测器720-1可以使用层间参考画面所指定的运动向量作为用于推导当前块的运动向量的运动向量预测子。另外,预测器720-1可以使用层间参考画面所指定的运动向量作为当前块的运动向量。
[0208]
当使用层间参考画面的样本值和运动信息二者时,预测器720-1可以使用层间参考画面中与当前块对应的区域的样本和层间参考画面中指定的运动信息(运动向量)来预测当前块。
[0209]
当应用层间预测时,编码设备可以向解码设备发送指示参考画面列表中的层间参考画面的参考索引,并且可以向解码设备发送用于指定从层间参考画面中使用哪些信息(样本信息、运动信息或者样本信息和运动信息)的信息,即,用于指定两个层之间的层间预测的依赖性的依赖性类型的信息。
[0210]
图8是本公开的实施方式适用于的执行多层视频/图像信号的解码的解码设备的示意性框图。图8的解码设备可以包括图3的解码设备。图8所示的重新对准器可以被省略或包括在解量化器中。在此图的描述中,将聚焦于基于多层的预测。另外,可以包括图3的解码设备的描述。
[0211]
在图8的示例中,为了描述方便,将描述由两个层组成的多层结构。然而,应该注意,本公开的实施方式不限于此,应用本公开的实施方式的多层结构可以包括两个或更多个层。
[0212]
参照图8,解码设备800可以包括层1的解码器800-1和层1的解码器800-0。层1的解码器800-1可以包括熵解码器810-1、残差处理器820-1、预测器830-1、加法器840-1、滤波器850-1和存储器860-1。层0的解码器800-2可以包括熵解码器810-0、残差处理器820-0、预测
器830-0、加法器840-0、滤波器850-0和存储器860-0。
[0213]
当从编码设备接收到包括图像信息的比特流时,解复用器(demux)805可以将各个层的信息解复用并且将信息发送到各个层的解码设备。
[0214]
熵解码器810-1和810-0可以与编码设备中使用的编码方法对应执行解码。例如,当编码设备中使用cabac时,熵解码器810-1和810-0可以使用cabac执行熵解码。
[0215]
当当前块的预测模式是帧内预测模式时,预测器830-1和830-0可以基于当前画面中的邻近重构样本来执行当前块的帧内预测。
[0216]
当当前块的预测模式是帧间预测模式时,预测器830-1和830-0可以基于当前画面之前或之后的至少一个画面中所包括的信息来执行当前块的帧间预测。可以通过检查从编码设备接收的信息来推导帧间预测所需的一些或所有运动信息。
[0217]
当应用跳过模式作为帧间预测模式时,不从编码设备发送残差,并且预测块可以是重构块。
[0218]
此外,层1的预测器830-1可以仅使用关于层1的信息来执行帧间预测或帧内预测并且使用关于另一层(层0)的信息来执行层间预测。
[0219]
作为使用关于另一层的信息而预测(例如,通过层间预测而预测)的关于当前层的信息,可以存在纹理、运动信息、单位信息、预定参数(例如,滤波参数等)中的至少一个。
[0220]
作为用于当前层的预测(例如,用于层间预测)的关于另一层的信息,可以存在纹理、运动信息、单位信息、预定参数(例如,滤波参数等)中的至少一个。
[0221]
在层间预测中,当前块可以是当前层(例如,层1)中的当前画面中的块,并且可以是要解码的块。参考块可以是当前块的预测所参考的层(参考层,例如层0)上属于与当前块所属的画面(当前画面)相同的访问单元(au)的画面(参考画面)中的块,并且可以是与当前块对应的块。
[0222]
多层解码设备800可以如多层编码设备700中描述执行层间预测。例如,多层解码设备800可以执行层间纹理预测、层间运动预测、层间单位信息预测、层间参数预测、层间残差预测、层间差异预测、层间语法预测等,多层解码设备800可以如所述执行层间预测,本公开中适用的层间预测不限于此。
[0223]
当从编码设备接收到参考画面索引或者从邻近块推导的参考画面索引指示参考画面列表中的层间参考画面时,预测器830-1可以使用层间参考画面执行层间预测。例如,当参考画面索引指示层间参考画面时,预测器830-1可以推导层间参考画面中运动向量所指定的区域的样本值作为当前块的预测块。
[0224]
在这种情况下,层间参考画面可以包括在当前块的参考画面列表中。预测器830-1可以使用层间参考画面来针对当前块执行帧间预测。
[0225]
如上面在多层编码设备700中描述的,在多层解码设备800的操作中,层间参考画面可以是通过对参考层的重构画面进行采样以与当前层对应而构造的参考画面。针对参考层的重构画面对应于当前层的画面的情况的处理可以按照与编码处理相同的方式执行。
[0226]
另外,如上面在多层编码设备700中描述的,在多层解码设备800的操作中,从其推导层间参考画面的参考层的重构画面可以是属于与要编码的当前画面相同的au的画面。
[0227]
另外,如上面在多层编码设备700中描述的,在多层解码设备800的操作中,当通过将层间参考画面包括在参考画面列表中来执行当前块的帧间预测时,在参考画面列表l0和
l1之间,参考画面列表中的层间参考画面的位置可以不同。
[0228]
另外,如上面在多层编码设备700中描述的,在多层解码设备800的操作中,当基于包括层间参考画面的参考画面列表执行当前块的帧间预测时,参考画面列表可以包括从多个层推导的多个层间参考画面,并且可以执行层间参考画面的布置以与编码处理中描述的对应。
[0229]
另外,如上面在多层编码设备700中描述的,在多层解码设备800的操作中,作为关于层间参考画面的信息,可以仅使用样本值,可以仅使用运动信息(运动向量),或者可以使用样本值和运动信息二者。
[0230]
多层解码设备800可以从多层编码设备700接收指示参考画面列表中的层间参考画面的参考索引并且基于此执行层间预测。另外,多层解码设备800可以从多层编码设备700接收用于指定从层间参考画面中使用哪些信息(样本信息、运动信息或样本信息和运动信息)的信息,即,用于指定两个层之间的层间预测的依赖性的依赖性类型的信息。
[0231]
高级语法(hls)信令和语义
[0232]
如上所述,hls可以被编码和/或用信号通知以用于视频和/或图像编码。如上所述,本公开的视频/图像信息可以包括在hls中。另外,图像/视频编码方法可以基于这种图像/视频信息来执行。
[0233]
视频参数集信令
[0234]
视频参数集(vps)是用于承载层信息的参数集。例如,层信息可以包括关于输出层集(ols)的信息、关于简档层级别的信息、关于ols和假设参考解码器之间的关系的信息以及关于ols和解码画面缓冲器(dpb)之间的信息。vps对于比特流的解码可能不是必要的。vps原始字节序列有效载荷(rbsp)在被参考之前应对解码处理可用,包括在temporalid等于0的至少一个访问单元(au)中,或者通过外部手段提供。编码视频序列(cvs)中具有特定vps_video_parameter_set_id值的所有vps nal单元应具有相同的内容。
[0235]
图9是例示根据本公开的实施方式的vps的语法结构的视图。以下,将描述图9的语法元素。
[0236]
vps_video_parameter_set_id提供vps的标识符。其它语法元素可以使用vps_video_parameter_set_id来参考vps。vps_video_parameter_set_id的值应大于0。
[0237]
vps_max_layers_minus1可以指定参考vps的各个cvs中的最大允许层数。例如,vps_max_layers_minus1加1可以指定参考vps的各个cvs中的最大允许层数。
[0238]
vps_max_sublayers_minus1加1可以指定参考vps的各个cvs中的层中可存在的最大时间子层数。
[0239]
vps_all_layers_same_num_sublayers_flag等于1可以指定对于参考vps的各个cvs中的所有层,时间子层数相同。vps_all_layers_same_num_sublayers_flag等于0可以指定对于参考vps的各个cvs中的层,时间子层数可相同或不同。当比特流中未提供vps_all_layers_same_num_sublayers_flag的值时,vps_all_layers_same_num_sublayers_flag的值可以被推断为等于1。
[0240]
vps_all_independent_layers_flag等于1可以指定cvs中的所有层被独立地编码而没有使用层间预测。vps_all_independent_layers_flag等于0可以指定cvs中的一个或更多个层可以使用层间预测来编码。
[0241]
vps_layer_id[i]可以指定第i层的nuh_layer_id值。对于m和n的任两个非负整数值,当m小于n时,vps_layer_id[m]的值应小于vps_layer_id[n]。这里,nuh_layer_id是nal单元头中用信号通知的语法元素,并且可以指定nal单元的标识符。
[0242]
vps_independent_layer_flag[i]等于1可以指定索引i的层不使用层间预测。vps_independent_layer_flag[i]等于0可以指定索引i的层可以使用层间预测,并且可以从vps获得语法元素vps_direct_ref_layer_flag[i][j]。这里,j可以在0至i-1(含)的范围内。当比特流中不存在vps_independent_layer_flag[i]的值时,vps_independent_layer_flag[i]的值可以被推断为等于1。
[0243]
vps_direct_ref_layer_flag[i][j]等于0可以指定索引j的层不是索引i的层的直接参考层。vps_direct_ref_layer_flag[i][j]等于1可以指定索引j的层是索引i的层的直接参考层。当对于0至vps_max_layers_minus1(含)范围内的i和j,未从比特流获得vps_direct_ref_layer_flag[i][j]的值时,其值可以被推断为等于0。当vps_independent_layer_flag[i]等于0时,应存在0至i-1(含)范围内的至少一个j值,使得vps_direct_ref_layer_flag[i][j]的值等于1。
[0244]
在实施方式中,使用图10的伪码来推导变量numdirectreflayers[i]、directreflayeridx[i][d]、numreflayers[i]、reflayeridx[i][r]和layerusedasreflayerflag[j]。
[0245]
指定nuh_layer_id等于vps_layer_id[i]的层的层索引的变量generallayeridx[i]可以如下式所示推导。
[0246]
[式2]
[0247]
for(i=0;i《=vps_max_layers_minus1;i )
[0248]
generallayeridx[vps_layer_id[i]]=i
[0249]
max_tid_ref_present_flag[i]等于1可以指定从比特流提供语法元素max_tid_il_ref_pics_plus1[i]。max_tid_ref_present_flag[i]等于0可以指定未从比特流提供语法元素max_tid_il_ref_pics_plus1[i]。
[0250]
max_tid_il_ref_pics_plus1[i]等于0可以指定第i层的非irap画面不使用层间预测。max_tid_il_ref_pics_plus1[i]大于0可以指定为了解码第i层的画面,没有temporalid大于max_tid_il_ref_pics_plus1[i]-1的画面用作ilrp(层间参考画面)。当未从比特流获得max_tid_il_ref_pics_plus1[i]的值时,max_tid_il_ref_pics_plus1[i]的值可以被推断为等于7。
[0251]
语法元素each_layer_is_an_ols_flag等于1可以指定各个ols仅包含一个层并且参考vps的cvs中的各个层本身是ols,单个包括的层是仅有输出层。each_layer_is_an_ols_flag等于0可以指定ols可以包含超过一个层。在实施方式中,如果vps_max_layers_minus1等于0,则each_layer_is_an_ols_flag的值可以被推断为等于1。否则,当vps_all_independent_layers_flag等于0时,each_layer_is_an_ols_flag的值可以被推断为等于0。
[0252]
ols_mode_idc等于0可以指定vps所指定的ols的总数等于vps_max_layers_minus1 1。第i ols可以包括层索引从0至i(含)的层,并且对于各个ols,可以仅输出ols中的最高层。
[0253]
ols_mode_idc等于1可以指定vps所指定的ols的总数等于vps_max_layers_minus1 1。第i ols可以包括层索引从0至i(含)的层,并且对于各个ols,可以输出ols中的所有层。
[0254]
ols_mode_idc等于2可以指定明确用信号通知vps所指定的ols的总数,并且对于各个ols,明确信号用信号通知输出层并且其它层是作为ols的输出层的直接或间接参考层的层。
[0255]
ols_mode_idc的值应在0至2(含)的范围内。ols_mode_idc值3为未来使用预留。当vps_all_independent_layers_flag等于1并且each_layer_is_an_ols_flag等于0时,ols_mode_idc的值可以被推断为等于2。
[0256]
num_output_layer_sets_minus1加1可以指定当ols_mode_idc等于预定值(例如,2)时vps所指定的ols的总数。
[0257]
指定vps所指定的ols的总数的变量totalnumols如图11所示推导。
[0258]
ols_output_layer_flag[i][j]等于1可以指定当ols_mode_idc等于2时nuh_layer_id等于vps_layer_id[j]的层是第i ols的输出层。ols_output_layer_flag[i][j]等于0可以指定当ols_mode_idc等于2时nuh_layer_id等于vps_layer_id[j]的层不是第i ols的输出层。
[0259]
指定第i ols中的输出层数的变量numoutputlayersinols[i]、指定第i ols中的第j层中的子层数的变量numsublayersinlayerinols[i][j]、指定第i ols中的第j输出层的nuh_layer_id值的变量outputlayeridinols[i][j]和指定第k层是否用作至少一个ols中的输出层的变量layerusedasoutputlayerflag[k]可以类似于图12的伪码推导。
[0260]
对于0至vps_max_layers_minus1(含)范围内的各个i值,layerusedasreflayerflag[i]和layerusedasoutputlayerflag[i]的值均不应等于0。换言之,不应存在既不是至少一个ols的输出层也不是任何其它层的直接参考层的层。
[0261]
对于各个ols,应存在作为输出层的至少一个层。换言之,对于0至totalnumolss-1(含)范围内的任何i值,numoutputlayersinols[i]的值应大于或等于1。
[0262]
指定第i ols中的层数的变量numlayersinols[i]和指定第i ols中的第j层的nuh_layer_id值的变量layeridinols[i][j]可以如图13所示推导。
[0263]
在实施方式中,第0ols仅包含最低层。最低层可以意指nuh_layer_id等于vps_layer_id[0]的层。另外,对于第0ols,可以输出唯一包括的层。
[0264]
指定nuh_layer_id等于layeridinols[i][j]的层的ols层索引的变量olslayeridx[i][j]可以如图14所示推导。
[0265]
各个ols中的最低层应是独立的层。例如,对于0至totalnumolss-1(含)范围内的各个i,vps_independent_layer_flag[generallayeridx[layeridinols[i][0]]]的值应等于1。
[0266]
各个层应包括在vps所指定的至少一个ols中。
[0267]
max_tid_il_ref_pics_plus1[i]的信令极限
[0268]
与语法元素max_tid_il_ref_pics_plus1[i]有关的信令在其语义和功能方面有问题。
[0269]
例如,max_tid_il_ref_pics_plus1[i]的语义表述当其值大于0时,意味着第i层
中的画面仅使用参考画面中的至多max_tid_il_ref_ref_pics_plus1[i]-1个子层进行其层间预测。
[0270]
这意味着第i层中的画面仅使用参考画面中的至多max_tid_il_ref_ref_pics_plus1[i]-1个子层进行其层间预测。
[0271]
语法元素被设计为允许推导可以指定第i ols中的第j层中的子层数的变量numsublayersinlayerinols[i][j]。这里,ols是输出层集的缩写,并且可以意指输出层所指定的至少一个层的集合。
[0272]
变量numsublayersinlayerinols[i][j]可用于比特流提取处理以去除所提取的输出层集中不是输出层的层内的子层中的画面。
[0273]
当层使用超过1个参考层进行层间预测并且从各个参考层使用的子层数不相同时,这种机制不是最优的。
[0274]
例如,假设层2参考层0和层1进行层间预测。对于从层0的层间预测,仅使用2个子层,而从层1,使用3个子层。在此示例中,那么根据上述信令机制,层2使用3个子层进行层间预测,并且在这种方法中,无法从层0去除子层3或以上。
[0275]
改进
[0276]
以下实施方式提供了上述问题的解决方案。实施方式可以单独或组合适用。
[0277]
改进1.对于用于层的层间预测的最大子层数的信令,代替针对所有参考层用信号通知一个值,对于层的各个参考层,可以用信号通知从该参考层使用的最大子层数。
[0278]
改进2.仅当层j是层i的直接参考层时,才可存在从层i的参考层j使用的最大子层数。
[0279]
改进3.指定用于层的层间预测的最大子层数的信令是否存在的标志可以针对存在于vps中的所有层用信号通知为一。
[0280]
a)语法元素max_tid_ref_present_flag[i]可以改变为max_tid_ref_present_flag。
[0281]
b)当所有层是独立的层时,可不存在max_tid_ref_present_flag,并且当max_tid_ref_present_flag不存在时,max_tid_ref_present_flag可以被推断为等于0。
[0282]
改进4.直接和间接参考层的numsublayersinlayerinols的推导可以如下解决。
[0283]
a)如果each_layer_is_an_ols_flag[i]等于1(例如,真),则numsublayersinlayerinols[i][0]被设定为等于vps_max_sub_layers_minus1 1。
[0284]
b)如果each_layer_is_an_ols_flag为0(例如,假),则对于各个ols,并且vps_direct_ref_layer_flag[l][k]为真,则numsublayersinlayerinols[i][generallayeridx[vps_layer_id[k]]]可以被推导为max_tid_il_ref_pics_plus1[l][k]。
[0285]
c)当ols_mode_idc等于2时,可以应用改进4。
[0286]
实施方式1
[0287]
在实施方式中,改进1和2可以根据图15所示的改变的vps的语法来实现。以下,将描述从上述vps语法改变的图15的语法元素。
[0288]
vps_independent_layer_flag[i]等于1可以指定索引i的层不使用层间预测。vps_independent_layer_flag[i]等于0可以指定索引i的层可以使用层间预测,并且vps中存在语法元素vps_direct_ref_layer_flag[i][j],j在0至i-1(含)的范围内。当未从比特
流获得vps_independent_layer_flag[i]的值时,vps_independent_layer_flag[i]的值可以被推断为等于1。
[0289]
max_tid_ref_present_flag[i]等于1可以指定比特流中存在语法元素max_tid_il_ref_pics_plus1[i][j]。max_tid_ref_present_flag[i]等于0可以指定比特流中不存在语法元素max_tid_il_ref_pics_plus1[i][j]。
[0290]
max_tid_il_ref_pics_plus1[i][j]等于0可以指定第i层的非irap画面不使用第j层作为层间预测的参考层。max_tid_il_ref_pics_plus1[i][j]大于0可以指定对于第i层的画面的解码,没有来自第j层的temporalid大于max_tid_il_ref_pics_plus1[i][j]-1的画面用作ilrp。当未从比特流获得max_tid_il_ref_pics_plus1[i][j]的值时,max_tid_il_ref_pics_plus1[i][j]的值可以被推断为等于7。
[0291]
另外,使用根据上述描述改变的语法元素和变量,变量numoutputlayersinols[i]、numsublayersinlayerinols[i][j]、outputlayeridinols[i][j]和layerusedasoutputlayerflag[k]可以类似于图16的伪码确定。
[0292]
类似于上述方法,对于一个层的各个参考层,可以用信号通知用于参考层的最大子层数,并且仅当层j是层i的直接参考层时,才可提供从层i的参考层j使用的最大子层数。
[0293]
实施方式2
[0294]
在实施方式中,改进3可以根据图17所示的改变的vps的语法来实现。例如,类似于图17的max_tid_ref_present_flag,指定层用于层间预测的最大子层数的信令是否存在的标志可以针对所有层用信号通知为一。
[0295]
例如,从上述vps的语法改变的图17的语法元素max_tid_ref_present_flag等于1可以指定比特流中存在语法元素max_tid_il_ref_pics_plus1[i]。max_tid_ref_present_flag等于0可以指定比特流中不存在语法元素max_tid_il_ref_pics_plus1[i]。
[0296]
实施方式3
[0297]
根据上述改进1、2和4的numoutputlayersinols的推导可以根据图18的伪码来执行。图18是例示指示推导直接参考层和间接参考层的numoutputlayersinols的方法的伪码的视图。
[0298]
如图18所示,当ols_mode_idc的值等于2时,如果each_layer_is_an_ols_flag[i]的值为真,则numsublayersinlayerinols[i][0]可以被设定为vps_max_sub_layers_minus1 1,并且如果each_layer_is_an_ols_flag[i]的值为假,并且对于各个ols,vps_direct_ref_layer_flag[l][k]的值为真,则numsublayersinlayerinols[i][generallayeridx[vps_layer_id[k]]]可以被推导为max_tid_il_ref_pics_plus1[l][k]。
[0299]
编码和解码方法
[0300]
以下,将描述根据实施方式的图像编码和解码设备所执行的图像编码和解码方法。图19是例示确定当前层的子层数以便根据实施方式的图像编码设备对图像进行编码和/或图像解码设备对图像进行解码的方法的视图。
[0301]
根据实施方式的图像解码设备包括存储器和处理器,并且解码设备可以通过处理器的操作根据下述实施方式执行解码。根据实施方式的图像编码设备包括存储器和处理器,并且编码设备可以通过处理器的操作根据下述实施方式以与解码设备的解码对应的方
式执行编码。以下,为了描述方便,将描述解码设备的操作,但以下描述适用于编码设备。
[0302]
在实施方式中,当前层的子层数可以用于意指属于当前层的子层数。然而,在另一实施方式中,当前层的子层数可以用于意指当前层所需的子层数。
[0303]
根据实施方式的解码设备可以确定层间直接参考(s1910)。层间直接参考可以由从比特流获得的直接参考层信息确定。另外,直接参考层信息可以指示层间直接参考。例如,直接参考层信息可以是上述语法元素vps_direct_ref_layer_flag[i][j]。
[0304]
可以基于层间预测针对编码的层从比特流获得直接参考层信息。这里,可以基于从比特流获得的独立层信息来确定是否基于层间预测执行编码。例如,独立层信息可以是上述语法元素vps_independent_layer_flag[i]。
[0305]
接下来,解码设备可以基于层间直接参考确定当前层的子层数(s1920)。
[0306]
这里,可以基于当前层是否是输出层来确定当前层的子层数。在实施方式中,如图18的伪码所示,当前层是否是输出层可以由“if(each_layer_is_an_ols_flag)”或“if(ols_output_layer_flag[i][k])”确定。
[0307]
在实施方式中,基于当前层是否是输出层,当前层的子层数可以被确定为可用最大子层数。如图18的伪码所示,这可以由“numsublayersinlayerinols[i][j]=vps_max_sub_layers_minus1 1”实现。
[0308]
在实施方式中,基于当前层是否不是输出层,当前层的子层数可以被确定为基于层间直接参考确定的预定值。
[0309]
这里,可以基于指示执行层间预测可以参考的画面的最大标识符信息来确定预定值。最大标识符信息可以是指示第一层的多个画面当中具有大于最大标识符信息所标识的值的时间标识符的画面不用作对第二层的当前画面进行解码的层间参考画面的信息,例如,最大标识符信息可以是上述语法元素max_tid_il_ref_pics_plus1[i][j]。
[0310]
在实施方式中,第一层可以是当前层,第二层可以是能够使用当前层作为直接参考层的层。
[0311]
例如,最大标识符信息可以是图18所示的max_tid_il_ref_pics_plus1[l][k]。另外,当前层的子层与可以直接参考其的层之间的关系可以由图18的“if(vps_direct_ref_layer_flag[l][k])”标识。
[0312]
当前层是否是输出层可以基于从比特流获得的输出层集模式信息来确定,并且输出层集模式信息可以是上述语法元素ols_mode_idc。
[0313]
另外,当前层是否是输出层可以基于从比特流获得的输出层集模式信息和输出层标志来确定,并且输出层标志可以是上述语法元素ols_output_layer_flag[i][j]。
[0314]
基于这样确定的子层数,解码设备可以通过执行当前层的层间预测来对当前层进行解码,并且编码设备可以通过执行当前层的层间预测来对当前层进行编码。
[0315]
例如,在实施方式中,图像解码方法可以包括以下步骤:从比特流获得最大允许层数(例如,vps_max_layers_minus1);基于最大允许层数识别具有第一索引(例如,i)的当前层;从比特流获得指示当前层是否基于层间预测编码的独立层标志(例如,vps_independent_layer_flag[i]);基于独立层标志从比特流获得最大时间标识符信令标志(例如,vps_max_tid_ref_present_flag[i]);确定小于第一索引的第二索引(例如,j);基于独立层标志、第一索引和第二索引从比特流获得指示具有第二索引的参考层是否是当前
层的直接参考层的直接参考层标志(例如,vps_direct_ref_layer_flag[i][j]);基于最大时间标识符信令标志和直接参考层标志从比特流获得最大时间标识符信息(例如,vps_max_tid_il_ref_pics_plus1[i][j]);以及基于最大时间标识符信息确定参考层的子层数(例如,numsublayersinlayerinols[i][k])。
[0316]
这里,子层能够被当前层参考,并且最大时间标识符信令标志可以指示是否从比特流获得最大时间标识符信息。此外,参考层的画面当中时间标识符的值大于最大时间标识符信息所标识的值的画面可以不用作用于对当前层的当前画面进行解码的层间参考画面。
[0317]
这里,比特流中包括指示当前层是否基于层间预测编码的独立层标志(例如,vps_independent_layer_flag[i])。此外,基于当前层是否基于层间预测编码,最大时间标识符信令标志(例如,vps_max_tid_ref_present_flag[i])可以包括在比特流中。此外,指示参考层是否是当前层的直接参考层的直接参考层标志(例如,vps_direct_ref_layer_flag[i][j])可以包括在比特流中。
[0318]
此外,基于最大时间标识符信令标志和直接参考标志,最大时间标识符信息(例如,vps_max_tid_il_ref_pics_plus1[i][j])可以包括在比特流中。此外,当前层能够参考的参考层的子层数(例如,numsublayersinlayerinols[i][k])可以基于最大时间标识符信息来编码。
[0319]
另外,在实施方式中,图像编码方法可以包括以下步骤:对参考层中的参考画面进行编码;基于参考画面对当前层中的当前画面进行编码;以及生成包括当前画面的编码信息的比特流。
[0320]
应用实施方式
[0321]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本公开的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
[0322]
在本公开中,执行预定操作(步骤)的图像编码设备或图像解码设备可以执行确认对应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码设备或图像解码设备可以在确定是否满足预定条件之后执行预定操作。
[0323]
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
[0324]
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0325]
另外,应用本公开的实施方式的图像解码设备和图像编码设备可以包括在多媒体广播发送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、ott视频(over the top video)装置、互联网流传输服务提供装置、
三维(3d)视频装置、视频电话视频装置、医疗视频装置等中,并且可以用于处理视频信号或数据信号。例如,ott视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板pc、数字录像机(dvr)等。
[0326]
图20是示出可应用本公开的实施方式的内容流系统的视图。
[0327]
如图20所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
[0328]
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据,以生成比特流并将该比特流发送到流服务器。作为另一示例,当诸如智能电话、相机、摄像机等的多媒体输入装置直接生成比特流时,可以省略编码服务器。
[0329]
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备生成,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
[0330]
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
[0331]
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
[0332]
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、石板pc、平板pc、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0333]
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
[0334]
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
[0335]
工业实用性
[0336]
本公开的实施方式可以用于对图像进行编码或解码。
再多了解一些

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

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

相关文献