用信号通知HRD参数的图像编码/解码方法和装置及存储比特流的计算机可读记录介质与流程

文档序号:33133005发布日期:2023-02-01 12:39阅读:216来源:国知局
用信号通知HRD参数的图像编码/解码方法和装置及存储比特流的计算机可读记录介质与流程
用信号通知hrd参数的图像编码/解码方法和装置及存储比特流的计算机可读记录介质
技术领域
1.本公开涉及图像编码/解码方法和设备,更具体地,涉及一种用信号通知假定参考解码器(hrd)相关参数的图像编码/解码方法和设备以及存储由本公开的图像编码方法/设备生成的比特流的计算机可读记录介质。


背景技术:

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


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
6.本公开的另一个目的是提供一种通过高效地用信号通知hrd参数来改进编码/解码效率的图像编码/解码方法和设备。
7.本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
8.本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
9.本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
10.本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
11.技术方案
12.根据本公开的一方面的由图像解码设备执行的图像解码方法可以包括以下步骤:获得指定视频参数集(vps)中的一个或更多个假定参考解码器(hrd)参数语法结构的数量的第一信息;基于第一信息从vps获得一个或更多个hrd参数语法结构;基于第一信息从vps获得关于一个或更多个多层输出层集(ols)与一个或更多个hrd参数语法结构之间的映射的第二信息;基于第二信息选择应用于当前ols的hrd参数语法结构;以及基于所选择的hrd参数语法结构来处理当前ols。
13.在本公开的图像解码方法中,vps中的一个或更多个hrd参数语法结构的数量可不大于一个或更多个多层ols的数量。
14.在本公开的图像解码方法中,vps中的一个或更多个hrd参数语法结构中的每一个可以被映射至一个或更多个多层ols当中的至少一个多层ols。
15.在本公开的图像解码方法中,基于vps中的一个或更多个hrd参数语法结构的数量大于1并且vps中的一个或更多个hrd参数语法结构的数量不等于一个或更多个多层ols的数量,可以从vps获得第二信息。
16.在本公开的图像解码方法中,基于vps中的一个或更多个hrd参数语法结构的数量为1,可不从vps获得第二信息,并且第二信息可以被推断为等于值0。
17.在本公开的图像解码方法中,基于vps中的一个或更多个hrd参数语法结构的数量大于1并且vps中的一个或更多个hrd参数语法结构的数量等于一个或更多个多层ols的数量,可不从vps获得第二信息,并且第i多层ols的第二信息可以被推断为等于值i。
18.在本公开的图像解码方法中,基于当前ols仅包含单个层,可以从序列参数集(sps)获得应用于当前ols的hrd参数语法结构。
19.根据本公开的另一方面的图像解码设备可以包括存储器和至少一个处理器。至少一个处理器可以被配置为:获得指定视频参数集(vps)中的一个或更多个假定参考解码器(hrd)参数语法结构的数量的第一信息;基于第一信息从vps获得一个或更多个hrd参数语法结构;基于第一信息从vps获得关于一个或更多个多层输出层集(ols)与一个或更多个hrd参数语法结构之间的映射的第二信息;基于第二信息选择应用于当前ols的hrd参数语法结构;并且基于所选择的hrd参数语法结构来处理当前ols。
20.根据本公开的另一方面的由图像编码设备执行的图像编码方法可以包括以下步骤:对指定视频参数集(vps)中的一个或更多个假定参考解码器(hrd)参数语法结构的数量的第一信息进行编码;基于第一信息对vps中的一个或更多个hrd参数语法结构进行编码;基于第一信息将关于一个或更多个多层输出层集(ols)与一个或更多个hrd参数语法结构之间的映射的第二信息编码在vps中;以及基于应用于当前ols的hrd参数语法结构,处理当前ols。
21.在本公开的图像编码方法中,vps中的一个或更多个hrd参数语法结构的数量可不大于一个或更多个多层ols的数量。
22.在本公开的图像编码方法中,vps中的一个或更多个hrd参数语法结构中的每一个可以被映射至一个或更多个多层ols当中的至少一个多层ols。
23.在本公开的图像编码方法中,基于vps中的一个或更多个hrd参数语法结构的数量大于1并且vps中的一个或更多个hrd参数语法结构的数量不等于一个或更多个多层ols的数量,第二信息可以被编码到vps中。
24.在本公开的图像编码方法中,基于vps中的一个或更多个hrd参数语法结构的数量为1,第二信息可以不被编码到vps中,并且第二信息可以被推断为等于值0。
25.在本公开的图像编码方法中,基于vps中的一个或更多个hrd参数语法结构的数量大于1并且vps中的一个或更多个hrd参数语法结构的数量等于一个或更多个多层ols的数量,第二信息可不被编码到vps中,并且第i多层ols的第二信息可以被推断为等于值i。
26.在本公开的图像编码方法中,基于当前ols仅包含单个层,应用于当前ols的hrd参数语法结构可以被编码到序列参数集(sps)中。
27.根据本公开的另一方面的传输方法可以发送由本公开的图像编码设备或图像编
码方法生成的比特流。
28.根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
29.以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
30.有益效果
31.根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
32.此外,根据本公开,能够提供一种通过高效地用信号通知hrd参数来改进编码/解码效率的图像编码/解码方法和设备。
33.此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
34.此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
35.此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
36.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
37.图1是示意性地示出本公开的实施方式适用于的视频编码系统的视图。
38.图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
39.图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
40.图4是示出本公开的实施方式适用于的示意性画面解码过程的示例的视图。
41.图5是示出本公开的实施方式适用于的示意性画面编码过程的示例的视图。
42.图6是示出编码图像/视频的层结构的示例的视图。
43.图7是例示根据本公开的实施方式的vps的语法结构的视图。
44.图8是例示根据本公开的实施方式的用信号通知hrd参数的sps的语法结构的视图。
45.图9是例示根据本公开的实施方式的general_hrd_parameters()语法结构的视图。
46.图10是例示根据本公开的实施方式的ols_hrd_parameters()语法结构的视图。
47.图11是例示根据本公开的实施方式的sublayer_hrd_parameters()语法结构的视图。
48.图12是例示本公开的实施方式适用于的图像编码方法的示例的视图。
49.图13是例示本公开的实施方式适用于的图像解码方法的示例的视图。
50.图14是例示本公开的实施方式适用于的图像解码方法的另一示例的视图。
51.图15是例示根据本公开的另一实施方式的基于num_ols_hrd_params_minus1对hrd参数进行编码的处理的视图。
或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
65.另外,在本公开中,除非明确说明为色度块,“当前块”可以意指包括亮度分量块和色度分量块二者的块或“当前块的亮度块”。“当前块的亮度块”可以通过包括诸如“亮度块”或“当前亮度块”的亮度分量块的明确描述来表示。“当前块的色度块”可以通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来表示。
66.在本说明书中,“a或b”可以意指“仅a”、“仅b”或“a和b”。换言之,在本公开中,“a或b”可以被解释为“a和/或b”。例如,在本公开中,“a、b或c”可以意指“仅a”、“仅b”、“仅c”或“a、b和c的任何组合”。
67.本公开中使用的斜线(/)或逗号可以意指“和/或”。例如,“a/b”可以意指“a和/或b”。因此,“a/b”可以意指“仅a”、“仅b”或“a和b”。例如,“a,b,c”可以意指“a、b或c”。
68.在本公开中,“a和b中的至少一个”可以意指“仅a”、“仅b”或“a和b二者”。另外,在本公开中,“a或b中的至少一个”或“a和/或b中的至少一个”可以被解释为与“a和b中的至少一个”相同。
69.另外,在本公开中,“a、b和c中的至少一个”可以意指“仅a”、“仅b”、“仅c”或“a、b和c的任何组合”。另外,在本公开中,“a、b或c中的至少一个”或“a、b和/或c中的至少一个”可以被解释为与“a、b和c中的至少一个”相同。
70.另外,本公开中使用的括号可以意指“例如”。具体地,当描述“预测(帧内预测)”时,可能提出“帧内预测”作为“预测”的示例。换言之,本公开的“预测”不限于“帧内预测”,可以提出“帧内预测”作为“预测”的示例。另外,即使当描述“预测(即,帧内预测)”时,也可以提出“帧内预测”作为“预测”的示例。
71.在本公开中,在一幅图中单独描述的技术特征可以单独实现或同时实现。
72.视频编码系统的概述
73.图1是示出根据本公开的视频编码系统的视图。
74.根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
75.根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
76.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
77.编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可
以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
78.发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
79.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
80.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
81.图像编码设备的概述
82.图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
83.如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测器180、帧内预测器185和熵编码器190。帧间预测器180和帧内预测器185可以统称为“预测器”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
84.在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。
85.图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分割编码树单元(ctu)或最大编码单元(lcu)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
86.预测器(帧间预测器180或帧内预测器185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测器可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测器可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
87.帧内预测器185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模
式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测器185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
88.帧间预测器180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,帧间预测器180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
89.预测器可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测器可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用ibc时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测执行,因为在当前画面内推导参考块。即,ibc可以使用本公开中描述的至少一种帧间预测技术。
90.预测器生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测器输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
91.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有可变大小而不是正方形的块。
92.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化
变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块类型的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
93.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
94.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
95.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
96.加法器155将重构残差信号与从帧间预测器180或帧内预测器185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
97.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
98.传输到存储器170的修改的重构画面可以用作帧间预测器180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
99.存储器170的dpb可以存储修改的重构画面以用作帧间预测器180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测器180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测器185。
100.图像解码设备的概述
101.图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。
102.如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260和帧内预测器265。帧间预测器260和帧内预测器265可以统称为“预测器”。解量化器220和逆变换器230可以被包括在残差处理器中。
103.根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(dpb)或者可以由数字存储介质配置。
104.已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
105.图像解码设备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的组件。
106.此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260或帧内预测器265中的至少一个。
107.解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行
的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
108.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
109.预测器可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
110.与在图像编码设备100的预测器中描述的相同的是,预测器可以基于稍后描述的各种预测方法(技术)来生成预测信号。
111.帧内预测器265可以通过参考当前画面中的样本来预测当前块。帧内预测器185的描述同样适用于帧内预测器265。
112.帧间预测器260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测器260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
113.加法器235可以通过将获得的残差信号与从预测器(包括帧间预测器260和/或帧内预测器265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差(例如,应用跳过模式的情况),则预测块可以用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。所生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面的帧间预测。
114.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
115.存储在存储器250的dpb中的(修改的)重构画面可以用作帧间预测器260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测器260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测器265。
116.在本公开中,在图像编码设备100的滤波器160、帧间预测器180和帧内预测器185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测器260和帧内预测器265。
117.一般图像/视频编码过程
118.在图像/视频编码中,配置图像/视频的画面可以根据解码顺序来编码/解码。与解码画面的输出顺序对应的画面顺序可以与解码顺序不同地设定,并且基于此,在帧间预测期间不仅可以执行前向预测,而且可以执行后向预测。
119.图4示出本公开的实施方式适用于的示意性画面解码过程的示例。
120.图4所示的各个过程可以由图3的图像解码设备执行。例如,步骤s410可以由熵解码器210执行,步骤s420可以由包括预测器265和260的预测器执行,步骤s430可以由残差处理器220和230执行,步骤s440可以由加法器235执行,步骤s450可以由滤波器240执行。步骤s410可以包括本公开中描述的信息解码过程,步骤s420可以包括本公开中描述的帧间/帧内预测过程,步骤s430可以包括本公开中描述的残差处理过程,步骤s440可以包括本公开中描述的块/画面重构过程,步骤s450可以包括本公开中描述的环路内滤波过程。
121.参照图4,画面解码过程可以示意性地包括用于从比特流获得图像/视频信息(通过解码)的过程(s410)、画面重构过程(s420至s440)和针对重构画面的环路内滤波过程(s450)。可以基于通过本公开中描述的帧间/帧内预测(s420)和残差处理(s430)(量化变换系数的解量化和逆变换)获得的预测样本和残差样本来执行画面重构过程。可以通过针对通过画面重构过程生成的重构画面的环路内滤波过程来生成修改的重构画面。在这种情况下,修改的重构画面可以作为解码画面输出,被存储在存储器250的解码画面缓冲器(dpb)中,并且在稍后对画面进行解码时在帧间预测过程中用作参考画面。可以省略环路内滤波过程(s450)。在这种情况下,重构画面可以作为解码画面输出,被存储在存储器250的dpb中,并且在稍后对画面进行解码时在帧间预测过程中用作参考画面。如上所述,环路内滤波过程(s450)可以包括去块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波器(alf)过程和/或双边滤波器过程,其中一些或全部可以省略。另外,去块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波器(alf)过程和/或双边滤波器过程中的一个或一些可以依次应用,或者它们全部可以依次应用。例如,在对重构画面应用去块滤波过程之后,可以执行sao过程。另选地,在对重构画面应用去块滤波过程之后,可以执行alf过程。这甚至可以在编码设备中类似地执行。
122.图5示出本公开的实施方式适用于的示意性画面编码过程的示例。
123.图5所示的各个过程可以由图2的图像编码设备执行。例如,步骤s510可以由预测器185和180执行,步骤s520可以由残差处理器115、120和130执行,步骤s530可以在熵编码器190中执行。步骤s510可以包括本公开中描述的帧间/帧内预测过程,步骤s520可以包括本公开中描述的残差处理过程,步骤s530可以包括本公开中描述的信息编码过程。
124.参照图5,画面编码过程可以示意性地不仅包括对用于画面重构的信息(例如,预测信息、残差信息、分割信息等)进行编码并以比特流的形式输出的过程,而且包括为当前画面生成重构画面的过程以及对重构画面应用环路内滤波的过程(可选),如参照图2描述的。编码设备可以通过解量化器140和逆变换器150从量化变换系数推导(修改的)残差样本,并且基于作为步骤s510的输出的预测样本和(修改的)残差样本来生成重构画面。这样生成的重构画面可以等于解码设备中生成的重构画面。可以通过对重构画面的环路内滤波过程来生成修改的重构画面。在这种情况下,修改的重构画面可以被存储在解码画面缓冲器或存储器170中,并且类似于解码设备,在稍后对画面进行编码时可以在帧间预测过程中用作参考画面。如上所述,在一些情况下,一些或所有环路内滤波过程可以被省略。当执行
环路内滤波过程时,(环路内)滤波相关信息(参数)可以在熵编码器190中编码并且以比特流的形式输出,并且解码设备可以基于滤波相关信息使用与编码设备相同的方法执行环路内滤波过程。
125.通过这种环路内滤波过程,在图像/视频编码期间出现的噪声(例如,块伪影和振铃伪影)可以减少,并且主观/客观视觉质量可以改进。另外,通过在编码设备和解码设备二者中执行环路内滤波过程,编码设备和解码设备可以推导相同的预测结果,画面编码可靠性可以增加,并且要为画面编码发送的数据量可以减少。
126.如上所述,画面重构过程可以不仅在图像解码设备中执行,而且在图像编码设备中执行。可以基于帧内预测/帧间预测以块为单位生成重构块,并且可以生成包括重构块的重构画面。当当前画面/切片/拼块组是i画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以仅基于帧内预测来重构。另一方面,当当前画面/切片/拼块组是p或b画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以基于帧内预测或帧间预测来重构。在这种情况下,可以对当前画面/切片/拼块组中的一些块应用帧间预测,并且可以对剩余块应用帧内预测。画面的颜色分量可以包括亮度分量和色度分量,并且除非本公开中明确限制,否则本公开的方法和实施方式适用于亮度分量和色度分量二者。
127.编码层结构的示例
128.例如,根据本公开的编码视频/图像可以根据下述编码层和结构来处理。
129.图6是示出编码图像的层结构的视图。
130.编码图像被分类为用于图像解码处理和处理自己的视频编码层(vcl)、用于发送和存储编码信息的下层系统以及存在于vcl和下层系统之间并负责网络适配功能的网络抽象层(nal)。
131.在vcl中,可以生成包括压缩图像数据(切片数据)的vcl数据,或者可以生成图像的解码处理另外所需的补充增强信息(sei)消息或包括诸如画面参数集(pps)、序列参数集(sps)或视频参数集(vps)的信息的参数集。
132.在nal中,头信息(nal单元头)可以被添加到vcl中生成的原始字节序列有效载荷(rbsp)以生成nal单元。在这种情况下,rbsp是指vcl中生成的切片数据、参数集、sei消息。nal单元头可以包括根据对应nal单元中所包括的rbsp数据指定的nal单元类型信息。
133.如图6所示,nal单元可以根据vcl中生成的rbsp被分类为vcl nal单元和非vcl nal单元。vcl nal单元可以意指包括关于图像的信息(切片数据)的nal单元,非vcl nal单元可以意指包括对图像进行解码所需的信息(参数集或sei消息)的nal单元。
134.vcl nal单元和非vcl nal单元可以根据下层系统的数据标准附有头信息并通过网络发送。例如,nal单元可以被修改为预定标准(例如,h.266/vvc文件格式、rtp(实时传输协议)或ts(传输流))的数据格式,并通过各种网络发送。
135.如上所述,在nal单元中,可以根据对应nal单元中所包括的rbsp数据结构来指定nal单元类型,并且关于nal单元类型的信息可以被存储在nal单元头中并用信号通知。例如,这可以根据nal单元是否包括关于图像的信息(切片数据)大致分类为vcl nal单元类型和非vcl nal单元类型。vcl nal单元类型可以根据包括在vcl nal单元中的画面的性质和类型来分类,并且非vcl nal单元类型可以根据参数集的类型来分类。
136.下面将列出根据包括在非vcl nal单元类型中的参数集/信息的类型指定的nal单
元类型的示例。
[0137]-dci(解码能力信息)nal单元类型(nut):包括dci的nal单元类型
[0138]-vps(视频参数集)nut:包括vps的nal单元类型
[0139]-sps(序列参数集)nut:包括sps的nal单元类型
[0140]-pps(画面参数集)nut:包括pps的nal单元类型
[0141]-aps(适配参数集)nut:包括aps的nal单元类型
[0142]-ph(画面头)nut:包括ph的nal单元类型
[0143]
上述nal单元类型可以具有nal单元类型的语法信息,并且该语法信息可以被存储在nal单元头中并用信号通知。例如,该语法信息可以是nal_unit_type,nal单元类型可以使用nal_unit_type值指定。
[0144]
此外,如上所述,一个画面可以包括多个切片,并且一个切片可以包括切片头和切片数据。在这种情况下,可以向一个画面中的多个切片(切片头和切片数据集)进一步添加一个画面头。画面头(画面头语法)可以包括共同适用于画面的信息/参数。切片头(切片头语法)可以包括共同适用于切片的信息/参数。aps(aps语法)或pps(pps语法)可以包括共同适用于一个或更多个切片或画面的信息/参数。sps(sps语法)可以包括共同适用于一个或更多个序列的信息/参数。vps(vps语法)可以是共同适用于多个层的信息/参数。dci(dci语法)可以包括与解码能力有关的信息/参数。
[0145]
在本公开中,高级语法(hls)可以包括aps语法、pps语法、sps语法、vps语法、dci语法、画面头语法或切片头语法中的至少一个。另外,在本公开中,低级语法(lls)可以包括例如切片数据语法、ctu语法、编码单元语法、变换单元语法等。
[0146]
此外,在本公开中,在编码设备中编码并以比特流的形式用信号通知给解码设备的图像/视频信息可以不仅包括画面内分割相关信息、帧内/帧间预测信息、残差信息、环路内滤波信息,而且包括关于切片头的信息、关于画面头的信息、关于aps的信息、关于pps的信息、关于sps的信息、关于vps的信息和/或关于dci的信息。另外,图像/视频信息还可以包括一般约束信息和/或关于nal单元头的信息。
[0147]
高级语法信令和语义
[0148]
如上所述,根据本公开的图像/视频信息可以包括高级语法(hls)。图像编码方法和/或图像解码方法可以基于图像/视频信息来执行。
[0149]
视频参数集信令
[0150]
视频参数集(vps)是用于承载层信息的参数集。例如,层信息可以包括关于输出层集(ols)的信息、关于简档层级别的信息、关于ols和假设参考解码器之间的关系的信息以及关于ols和解码画面缓冲器(dpb)之间的关系的信息。对于比特流的解码,vps可能不是必要的。
[0151]
vps原始字节序列有效载荷(rbsp)应可用于解码处理,然后被参考,被包括在temporalid等于0的至少一个访问单元(au)中或者通过外部手段提供。
[0152]
编码视频序列(cvs)中具有特定值的vps_video_parameter_set_id的所有vps nal单元应具有相同的内容。
[0153]
图7是例示根据本公开的实施方式的vps的语法结构的视图。
[0154]
图7所示的vps的语法结构仅包括与本公开有关的语法元素,图7中未示出的各种
其它语法元素可以包括在vps中。
[0155]
在图7所示的示例中,vps_video_parameter_set_id提供vps的标识符。其它语法元素可以使用vps_video_parameter_set_id来参考vps。vps_video_parameter_set_id的值应大于0。
[0156]
vps_max_layers_minus1加1可以指定参考vps的各个cvs中的最大允许层数。
[0157]
vps_max_sublayers_minus1加1可以指定参考vps的各个cvs中的层中可存在的最大时间子层数。vps_max_sublayers_minus1可以在0至6(含)的范围内。
[0158]
当vps_max_layers_minus1大于0并且vps_max_sublayers_minus1大于0时,可以用信号通知vps_all_layers_same_num_sublayers_flag。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时,其值可以被推断为等于第一值(例如,1)。
[0159]
当vps_max_layers_minus1大于0时,可以用信号通知vps_all_independent_layers_flag。vps_all_independent_layers_flag等于第一值(例如,1)可以指定cvs中的所有层被独立地编码而不使用层间预测。vps_all_independent_layers_flag等于第二值(例如,0)可以指定cvs中的一个或更多个层可以使用层间预测。当vps_all_independent_layers_flag不存在时,其值可以被推断为等于第一值(例如,1)。
[0160]
当vps_max_layers_minus1大于0时,可以用信号通知each_layer_is_an_ols_flag。另外,当vps_all_independent_layers_flag等于第一值时,可以用信号通知each_layer_is_an_ols_flag。each_layer_is_an_ols_flag等于第一值(例如,1)可以指定各个ols仅包含一个层。另外,each_layer_is_an_ols_flag等于第一值(例如,1)可以指定参考vps的cvs中的各个层本身是ols(即,包含在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。
[0161]
当each_layer_is_an_ols_flag等于第二值(例如,0)并且vps_all_independent_layers_flag等于第二值(例如,0)时,可以用信号通知ols_mode_idc。
[0162]
ols_mode_idc等于第一值(例如,0)可以指定vps所指定的ols的总数等于vps_max_layers_minus1+1。在这种情况下,第i ols可以包含层索引从0至i(含)的层。另外,对于各个ols,可以仅输出ols中具有最高层索引的层(最高层)。
[0163]
ols_mode_idc等于第二值(例如,1)可以指定vps所指定的ols的总数等于vps_max_layers_minus1+1。在这种情况下,第i ols可以包含层索引从0至i(含)的层。另外,对于各个ols,可以输出ols中的所有层。
[0164]
ols_mode_idc等于第三值(例如,2)可以指定明确地用信号通知vps所指定的ols的总数。另外,对于各个ols,明确地用信号通知输出层。不是输出层的其它层是作为ols的输出层的直接或间接参考层的层。
[0165]
当vps_all_independent_layers_flag等于1并且each_layer_is_an_ols_flag等
于0时,ols_mode_idc的值可以被推断为等于第三值(例如,2)。
[0166]
当ols_mode_idc为2时,可以明确地用信号通知num_output_layer_sets_minus1和ols_output_layer_flag[i][j]。
[0167]
num_output_layer_sets_minus1加1可以指定vps所指定的ols的总数。
[0168]
当ols_mode_idc为2时,ols_output_layer_flag[i][j]可以指定第i ols的第j层是否为输出层。ols_output_layer_flag[i][j]等于第一值(例如,1)可以指定层标识符nuh_layer_id等于vps_layer_id[j]的层是第i ols的输出层。ols_output_layer_flag[i][j]等于第二值(例如,0)可以指定层标识符nuh_layer_i等于vps_layer_id[j]的层不是第i ols的输出层。
[0169]
以下,将描述在vps中用信号通知的hrd参数。
[0170]
当each_layer_is_an_ols_flag等于第二值(例如,0)时,可以用信号通知vps_general_hrd_params_present_flag。vps_general_hrd_params_present_flag等于第一值(例如,1)可以指定general_hrd_parameters()语法结构和其它hrd参数存在于vps中。vps_general_hrd_params_present_flag等于第二值(例如,0)可以指定general_hrd_parameters()语法结构和其它hrd参数不存在于vps中。当vps_general_hrd_params_present_flag不存在时,其值可以被推断为等于第二值(例如,0)。
[0171]
当第i ols包含一个层(numlayersinols[i]等于1)时,应用于第i ols的general_hrd_parameters()语法结构可存在于第i ols中的层所参考的序列参数集(sps)中。
[0172]
当vps_max_sublayers_minus1大于0时,可以用信号通知vps_sublayer_cpb_params_present_flag。vps_sublayer_cpb_params_present_flag等于第一值(例如,1)可以指定vps中的第i ols_hrd_parameters()语法结构包含时间层标识符temporalid在0至hrd_max_tid[i](含)的范围内的子层的hrd参数。vps_sublayer_cpb_params_present_flag等于第二值(例如,0)可以指定vps中的第i ols_hrd_parameters()语法结构仅包含时间层标识符temporalid等于hrd_max_tid[i]的子层的hrd参数。当vps_max_sublayers_minus1等于0时,vps_sublayer_cpb_params_present_flag可以被推断为等于第二值(例如,0)。
[0173]
当vps_sublayer_cpb_params_present_flag等于第二值(例如,0)时,temporalid在0至hrd_max_tid[i]-1(含)的范围内的子层的hrd参数被推断为与时间层标识符temporalid等于hrd_max_tid[i]的子层相同。
[0174]
num_ols_hrd_params_minus1加1可以指定vps中的ols_hrd_parameters()语法结构的数量。num_ols_hrd_params_minus1可以在0至totalnumolss-1的范围内。totalnumolss可以指定vps所指定的ols的总数。在本公开中,hrd参数可以意指ols_hrd_parameters()。因此,hrd参数语法结构的数量可以意指ols_hrd_parameters()语法结构的数量。
[0175]
当vps_max_sublayers_minus1大于0并且vps_all_layers_same_num_sublayers_flag等于第二值(例如,0)时,可以用信号通知hrd_max_tid[i]。hrd_max_tid[i]可以指定第i ols_hrd_parameters()语法结构中包含相关hrd参数的最高子层的时间层标识符temporalid。
[0176]
hrd_max_tid[i]可以在0至vps_max_sublayers_minus1(含)的范围内。当vps_
max_sublayers_minus1等于0时,hrd_max_tid[i]的值可以被推断为等于0。当vps_max_sublayers_minus1大于0并且vps_all_layers_same_num_sublayers_flag等于1时,hrd_max_tid[i]的值可以被推断为等于vps_max_sublayers_minus1。
[0177]
如图7所示,指定第一子层的时间层标识符temporalid的变量firstsublayer可以基于vps_sublayer_cpb_params_present_flag被推导为0或hrd_max_tid[i]。具体地,当vps_sublayer_cpb_params_present_flag等于1时,firstsublayer可以被推导为0,否则,firstsublayer可以被推导为hrd_max_tid[i]。基于所推导的firstsublayer和hrd_max_tid[i],可以用信号通知ols_hrd_parameters()语法结构。
[0178]
当num_ols_hrd_params_minus1加1和totalnumolss不相等并且num_ols_hrd_params_minus1大于0时,可以用信号通知ols_hrd_idx[i]。在这种情况下,当包含在第i ols中的层数(numlayersinols[i])大于1时,可以对于第i ols用信号通知ols_hrd_idx[i]。ols_hrd_idx[i]指定应用于第i ols的ols_hrd_parameters()语法结构在vps中的ols_hrd_parameters()语法结构列表中的索引。ols_hrd_idx[[i]的值可以在0至num_ols_hrd_params_minus1(含)的范围内。当包含在第i ols中的层数(numlayersinols[i])等于1时,应用于第i ols的ols_hrd_parameters()语法结构可以存在于第i ols中的层所参考的sps中。
[0179]
在本公开中,ols_hrd_idx[i]是应用于第i ols或第i多层ols的ols_hrd_parameters()的索引,并且可以被称为(多层)ols与hrd参数语法结构(ols_hrd_parameters())之间的映射信息(关于映射的信息)。
[0180]
当num_ols_hrd_param_minus1加1等于totalnumolss时,ols_hrd_idx[i]的值可以被推断为等于i。否则,当numlayersinols[i]大于1并且num_ols_hrd_params_minus1等于0时,ols_hrd_idx[i]的值可以被推断为等于0。
[0181]
vps和sps中的hrd信令
[0182]
以下,将更详细地描述根据本公开的hrd参数的信令。可以对于各个输出层集(ols)用信号通知hrd参数。假定参考解码器(hrd)是指定对编码处理可生成的一致nal单元流或一致字节流的可变性的约束的假定解码器模型。
[0183]
hrd参数可以如参照图7所述包括在vps中并用信号通知,或者可以包括在sps中并用信号通知。
[0184]
图8是例示根据本公开的实施方式的用信号通知hrd参数的sps的语法结构的视图。
[0185]
在图8所示的示例中,sps_ptl_dpb_hrd_params_present_flag等于第一值(例如,1)可以指定profile_tier_level()语法结构和dpb_parameters()语法结构存在于sps中。profile_tier_level()可以是用于发送简档层级别的参数的语法结构,dpb_parameters()可以是用于发送解码画面缓冲器(dpb)参数的语法结构。另外,sps_ptl_dpb_hrd_params_present_flag等于第一值(例如,1)可以指定general_hrd_parameters()语法结构和ols_hrd_parameters()语法结构可以存在于sps中。sps_ptl_dpb_hrd_params_present_flag等于第二值(例如,0)可以指定上述四个语法结构不存在于sps中。sps_ptl_dpb_hrd_params_present_flag的值可以等于vps_independent_layer_flag[generallayeridx[nuh_layer_id]]的值。即,sps_ptl_dpb_hrd_params_present_flag的
值可以被编码为vps_independent_layer_flag[generallayeridx[nuh_layer_id]]的值。
[0186]
在上文中,vps_independent_layer_flag[i]可以是包括在vps中并发送的语法元素。vps_independent_layer_flag[i]等于第一值(例如,1)可以指定索引i的层是不使用层间预测的独立层。vps_independent_layer_flag[i]等于第二值(例如,0)可以指定索引i的层可以使用层间预测。当vps_independent_layer_flag[i]不存在时,其值被推断为等于第一值(例如,1)。
[0187]
当sps_ptl_dpb_hrd_params_present_flag等于1时,可以用信号通知sps_general_hrd_params_present_flag。
[0188]
sps_general_hrd_params_present_flag等于第一值(例如,1)可以指定sps包括general_hrd_parameters()语法结构和ols_hrd_parameters()语法结构。sps_general_hrd_params_present_flag等于第二值(例如,0)可以指定sps不包括general_hrd_parameters()语法结构或ols_hrd_parameters()语法结构。
[0189]
如图8所示,当sps_max_sublayers_minus1大于0时,可以用信号通知sps_sublayer_cpb_params_present_flag。在这种情况下,sps_max_sublayers_minus1加1可以指定参考sps的各个编码层视频序列(clvs)中可以存在的时间子层的最大数量。sps_sublayer_cpb_params_present_flag等于第一值(例如,1)可以指定sps中的ols_hrd_parameters()语法结构包括时间层标识符temporalid在0至sps_max_sublayers_minus1(含)的范围内的子层的hrd参数。sps_sublayer_cpb_params_present_flag等于第二值(例如,0)可以指定sps中的ols_hrd_parameters()语法结构仅包括时间层标识符temporalid等于sps_max_sublayers_minus1的子层的hrd参数。当sps_max_sublayers_minus1等于0时,sps_sublayer_cpb_params_present_flag的值被推断为等于第二值(例如,0)。
[0190]
当sps_sublayer_cpb_params_present_flag等于第二值(例如,0)时,时间层标识符temporalid在0至sps_max_sublayers_minus1-1(含)的范围内的子层的hrd参数被推断为与时间层标识符temporalid等于sps_max_sublayers_minus1的子层相同。
[0191]
图9是例示根据本公开的实施方式的general_hrd_parameters()语法结构的视图。
[0192]
如图9所示,general_hrd_parameters()语法结构可以包括hrd操作中使用的一些序列级别hrd参数。比特流一致性的要求是存在于比特流中的任何vps或sps中的general_hrd_parameters()的内容应相同。
[0193]
当general_hrd_parameters()语法结构包括在vps中时,general_hrd_parameters()语法结构可以应用于vps所指定的所有ols。当general_hrd_parameters()语法结构包括在sps中时,general_hrd_parameters()语法结构可以应用于仅包含参考sps的层当中的最低层的ols。在这种情况下,最低层是独立层。
[0194]
如图9所示,general_hrd_parameters()语法结构是hrd参数,并且可以包括诸如num_units_in_tick、time_scale和general_nal_hrd_params_present_flag的语法元素。图9所示的hrd参数可以具有与传统hrd参数相同的含义。因此,将省略与本公开不太相关的hrd参数的详细描述。
[0195]
图10是例示根据本公开的实施方式的ols_hrd_parameters()语法结构的视图。
[0196]
当ols_hrd_parameters()语法结构包括在vps中时,应用ols_hrd_parameters()
语法结构的ols可以由vps指定。当ols_hrd_parameters()语法结构包括在sps中时,ols_hrd_parameters()语法结构可以应用于包含参考sps的层当中的最低层的ols。在这种情况下,最低层是独立层。
[0197]
如图10所示,ols_hrd_parameters()语法结构是hrd参数,并且可以包括诸如fixed_pic_rate_general_flag、fixed_pic_rate_within_cvs_flag和elemental_duration_in_tc_minus1的语法元素。图10所示的hrd参数可以具有与传统hrd参数相同的含义。因此,将省略与本公开不太相关的hrd参数的详细描述。
[0198]
图11是例示根据本公开的实施方式的sublayer_hrd_parameters()语法结构的视图。
[0199]
sublayer_hrd_parameters()语法结构可以被包括在图10的ols_hrd_parameters()语法结构中并用信号通知。
[0200]
如图11所示,sublayer_hrd_parameters()语法结构是hrd参数,并且可以包括诸如bit_rate_value_minus1、cpb_size_value_minus1和cpb_size_du_value_minus1的语法元素。图11所示的hrd参数可以具有与传统hrd参数相同的含义。因此,将省略与本公开不太相关的hrd参数的详细描述。
[0201]
作为参考,输出时间可以是要从dpb输出重构画面的时间。输出时间可以根据输出定时dpb操作由hrd指定。
[0202]
可以使用两个hrd参数集,例如nal hrd参数和vcl hrd参数。hrd参数可以通过general_hrd_parameters()语法结构和ols_hrd_parameters()语法结构用信号通知。general_hrd_parameters()语法结构和ols_hrd_parameters()语法结构可以包括在vps中并用信号通知,或者可以包括在sps中并用信号通知。
[0203]
例如,可以基于hrd参数执行dpb管理。作为示例,在当前画面的解码和/或(解码)画面输出之前从dpb移除画面可以基于hrd参数来执行。
[0204]
参照图7至图11描述的hrd参数的信令方法至少具有以下问题。
[0205]
如上所述,num_ols_hrd_params_minus1可被约束在0至totalnumolss-1(含)的范围内。然而,没有约束在vps中用信号通知的各个hrd参数必须与至少一个ols关联。因此,由于vps可能包括未用hrd参数,所以信令效率可能劣化。
[0206]
如上所述,num_ols_hrd_params_minus1可被约束在0至totalnumolss-1(含)的范围内。然而,由于可能存在仅包含一个层的一个或更多个ols,所以该约束允许未用hrd结构被包括在vps中并用信号通知。仅包含一个层的这些ols不与vps中用信号通知的hrd参数结构关联。
[0207]
与ols关联的hrd参数的信令包括上述问题,并且包括本公开中未描述的缺点。
[0208]
根据本公开的用于解决至少一个问题的实施方式可以包括以下配置中的至少一个。以下配置可单独或组合应用。
[0209]
配置1:可以约束vps中用信号通知的各个hrd参数结构与至少一个ols关联。
[0210]
配置2:vps中用信号通知的hrd参数结构的数量(即,num_ols_hrd_params_minus1)不应大于包含超过一个层的ols的数量。即,vps中用信号通知的hrd参数结构的数量不应大于ols的总数减去仅包含一个层的ols的数量。
[0211]
图12是例示本公开的实施方式适用于的图像编码方法的示例的视图。
[0212]
图像编码设备可以推导hrd参数(s1210)并且对图像/视频信息进行编码(s1220)。在这种情况下,图像/视频信息可以包括与所推导的hrd参数有关的信息。
[0213]
尽管图12中未示出,图像编码设备可以基于步骤s1210中推导的hrd参数来执行dpb管理。
[0214]
图13是例示本公开的实施方式适用于的图像解码方法的示例的视图。
[0215]
图像解码设备可以获得图像/视频信息(s1310)。在这种情况下,图像/视频信息可以包括与hrd参数有关的信息。
[0216]
图像解码设备可以基于所获得的hrd参数对画面进行解码(s1320)。
[0217]
图14是例示本公开的实施方式适用于的图像解码方法的另一示例的视图。
[0218]
图像解码设备可以从比特流获得图像/视频信息(s1410)。在这种情况下,图像/视频信息可以包括与hrd参数有关的信息。
[0219]
图像解码设备可以基于所获得的hrd参数来执行dpb管理(s1420)。
[0220]
图像解码设备可以基于dpb对画面进行解码(s1430)。例如,当前画面中的块/切片可以使用dpb中已经重构的画面作为参考画面基于帧间预测来解码。
[0221]
在参照图12至图14描述的示例中,与hrd参数有关的信息可以包括结合本公开的至少一个实施方式描述的至少一个信息/语法元素。另外,如上所述,可以基于hrd参数来执行dpb管理。例如,在当前画面的解码和/或(解码)画面输出之前从dpb移除画面可以基于hrd参数来执行。
[0222]
根据本公开的用于解决至少一些上述问题的实施方式,vps中用信号通知的各个hrd参数结构可以被约束为与至少一个ols关联。
[0223]
如上所述,应用于第i ols的ols_hrd_parameters()可以由ols_hrd_idx[i]指定。根据本实施方式,vps中用信号通知的所有ols_hrd_parameters()中的每一个可以被约束为应用于至少一个ols。即,vps中的各个ols_hrd_parameters()可以由至少一个ols_hrd_idx[i]指定。
[0224]
根据本实施方式,vps中的各个ols_hrd_parameters()使用至少一次。即,不用信号通知未用ols_hrd_parameters()。因此,根据本实施方式,可以高效地执行ols_hrd_parameters()的信令。
[0225]
根据本公开的用于解决至少一些上述问题的另一实施方式,vps中用信号通知的hrd参数结构的数量(即,num_ols_hrd_params_minus1)可以被约束为不大于包含超过一个层的ols的数量。
[0226]
根据参照图7描述的示例,num_ols_hrd_params_minus1加1可以指定vps中的ols_hrd_parameters()语法结构的数量,并且num_ols_hrd_params_minus1可以在0至totalnumolss-1(含)的范围内。
[0227]
然而,如上所述,可能存在仅包含一个层的ols,并且仅包含一个层的ols不与vps中用信号通知的hrd参数结构关联。图7的示例中的num_ols_hrd_params_minus1的值范围可能导致不准确的信令。因此,通过由包含多个层的ols(多层ols)的数量(nummultilayerolss)而非ols的总数(totalnumolss)指定ols_hrd_parameters()语法结构的数量,可以执行准确的信令。
[0228]
根据本实施方式,num_ols_hrd_params_minus1加1可以指定vps中的ols_hrd_
parameters()语法结构的数量,并且num_ols_hrd_params_minus1可以在0至nummultilayerolss-1(含)的范围内。在这种情况下,包含多个层的ols(多层ols)的数量(nummultilayerolss)可以等于ols的总数(totalnumolss)减去仅包含一个层的ols的数量(numsinglelayerolss)。
[0229]
如上所述,vps中用信号通知的各个hrd参数可以被约束为与至少一个ols关联(映射)。另外,vps中用信号通知的hrd参数的数量(即,num_ols_hrd_params_minus1)可以被约束为不大于包含多个层的ols(多层ols)的数量。这两个实施方式可以如下组合以构造另一实施方式。
[0230]
图15是例示根据本公开的另一实施方式的基于num_ols_hrd_params_minus1对hrd参数进行编码的处理的视图。
[0231]
图像编码设备可以将num_ols_hrd_params_minus1编码到vps中(s1510)。num_ols_hrd_params_minus1加1可以指定vps中的ols_hrd_parameters()语法结构的数量,并且num_ols_hrd_params_minus1可以在0至nummultilayerolss-1(含)的范围内。
[0232]
图像编码设备可以将num_ols_hrd_params_minus1+一个ols_hrd_parameters()语法结构编码到vps中(s1520)。
[0233]
图像编码设备可以确定以下条件1(s1530)。
[0234]
条件1:(num_ols_hrd_params_minus1+1!=nummultilayerolss&&num_ols_hrd_params_minus1》0)?
[0235]
条件1是将ols_hrd_idx编码到比特流中的条件。当满足条件1(s1530:是)时,图像编码设备可以将ols_hrd_idx编码到vps中(s1540)。根据参照图15描述的实施方式,ols_hrd_idx[i]是在vps中的ols_hrd_parameters()列表中的索引,并且可以是应用于包含多个第i层的ols(多层ols)的ols_hrd_parameters()的索引。即,vps中的ols_hrd_idx[i]可以针对多层ols用信号通知,并且可以在0至num_ols_hrd_params_minus1(含)的范围内。
[0236]
当不满足条件1(s1530:否)时,图像编码设备可以推断ols_hrd_idx,而不将ols_hrd_idx编码到vps中(s1550)。具体地,当num_ols_hrd_params_minus1等于0时,ols_hrd_idx[i]的值可以被推断为等于0。否则,当num_ols_hrd_param_minus1加1等于nummultilayerolss时,ols_hrd_idx[i]的值可以被推断为等于i。
[0237]
另外,应用于仅包含单个层的ols的ols_hrd_parameters()语法结构可不被编码到vps中,并且可以被编码到ols中的层所参考的sps中。
[0238]
另外,vps中的各个ols_hrd_parameters()可以由至少一个ols_hrd_idx[i]参考(i在0至nummultilayerolss-1(含)的范围内)。
[0239]
图像编码设备可以基于hrd参数对画面进行编码(s1560)。在这种情况下,hrd参数可以是在步骤s1540中获得或在步骤s1550中推断的ols_hrd_idx[i]所参考的vps中的ols_hrd_parameters()。另选地,在仅包含单个层的ols的情况下,hrd参数可以是单个层所参考的sps中的ols_hrd_parameters()。
[0240]
图16是例示根据本公开的另一实施方式的基于num_ols_hrd_params_minus1对hrd参数进行解码的处理的视图。
[0241]
图像解码设备可以从vps获得num_ols_hrd_params_minus1(s1610)。num_ols_hrd_params_minus1加1可以指定vps中的ols_hrd_parameters()语法结构的数量,并且
num_ols_hrd_params_minus1可以在0至nummultilayerolss-1(含)的范围内。
[0242]
图像解码设备可以从vps获得num_ols_hrd_params_minus1+一个ols_hrd_parameters()语法结构(s1620)。
[0243]
图像解码设备可以确定以下条件2(s1630)。
[0244]
条件2:(num_ols_hrd_params_minus1+1!=nummultilayerolss&&num_ols_hrd_params_minus1》0)?
[0245]
条件2是从比特流获得ols_hrd_idx的条件,并且当满足条件2(s1630:是)时,图像解码设备可以从vps获得ols_hrd_idx(s1640)。根据参照图16描述的实施方式,ols_hrd_idx[i]是在vps中的ols_hrd_parameters()列表中的索引,并且可以是应用于包含多个第i层的ols(多层ols)的ols_hrd_parameters()的索引。
[0246]
即,vps中的ols_hrd_idx[i]可以针对多层ols用信号通知,并且可以在0至num_ols_hrd_params_minus1(含)的范围内。
[0247]
当不满足条件2(s1630:否)时,图像解码设备可以推断ols_hrd_idx,而不从vps获得ols_hrd_idx(s1650)。具体地,当num_ols_hrd_params_minus1等于0时,ols_hrd_idx[i]的值可以被推断为等于0。否则,当num_ols_hrd_param_minus1加1等于nummultilayerolss时,ols_hrd_idx[i]的值可以被推断为等于i。
[0248]
另外,应用于仅包含单个层的ols的ols_hrd_parameters()语法结构可不从vps获得,而是可以从ols中的层所参考的sps获得。
[0249]
另外,vps中的各个ols_hrd_parameters()可以由至少一个ols_hrd_idx[i]参考(i在0至nummultilayerolss-1(含)的范围内)。
[0250]
图像解码设备可以基于hrd参数对画面进行解码(s1660)。在这种情况下,hrd参数可以是在步骤s1640中获得或在步骤s1650中推断的ols_hrd_idx[i]所参考的vps中的ols_hrd_parameters()。另选地,在仅包含单个层的ols的情况下,hrd参数可以是单个层所参考的sps中的ols_hrd_parameters()。
[0251]
根据参照图15至图16描述的实施方式,通过仅通过sps用信号通知包含单个层的ols的ols_hrd_parameters()语法结构,可防止vps中未参考的ols_hrd_parameters()语法结构的不必要的信令,并且更准确地且高效地执行hrd参数的信令。
[0252]
在参照图15和图16描述的方法中,可以省略一些步骤或者可以改变其顺序。另外,可以在任何位置添加图15和图16中未示出的步骤。
[0253]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
[0254]
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
[0255]
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
[0256]
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0257]
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、ott视频(over the top video)装置、互联网流传输服务提供装置、三维(3d)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,ott视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板pc、数字录像机(dvr)等。
[0258]
图17是示出可应用本公开的实施方式的内容流系统的视图。
[0259]
如图17中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
[0260]
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
[0261]
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
[0262]
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
[0263]
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
[0264]
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、石板pc、平板pc、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0265]
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
[0266]
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
[0267]
工业实用性
[0268]
本公开的实施方式可以被用于对图像进行编码或解码。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1