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

基于画面划分信息和子画面信息的图像编码/解码方法和设备及存储比特流的记录介质与流程

2023-02-02 04:42:53 来源:中国专利 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.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
27.图1是示意性地例示本公开的实施方式适用于的视频编码系统的视图。
28.图2是示意性地例示本公开的实施方式适用于的图像编码设备的视图。
29.图3是示意性地例示本公开的实施方式适用于的图像解码设备的视图。
30.图4是例示sps的示例的视图。
31.图5是例示pps的示例的视图。
32.图6是例示切片头的示例的视图。
33.图7至图9是例示根据本公开的实施方式的pps的视图。
34.图10是例示根据本公开的实施方式的图像编码方法的流程图。
35.图11是例示根据本公开的实施方式的图像解码方法的流程图。
36.图12是例示本公开的实施方式适用于的内容流系统的视图。
具体实施方式
37.以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
38.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
39.在本公开中,当一个组件“连接”、“联接”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
40.在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
41.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
42.在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
43.本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
44.在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(ctu)。
45.在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
46.在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
47.在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
48.另外,在本公开中,除非明确说明为色度块,“当前块”可以意指包括亮度分量块和色度分量块二者的块或“当前块的亮度块”。当前块的亮度分量块可以通过包括诸如“亮度
块”或“当前亮度块”的亮度分量块的明确描述来表示。另外,“当前块的色度分量块”可通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来表示。
49.在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“a/b”和“a,b”可以意指“a和/或b”。此外,“a/b/c”和“a/b/c”可以意指“a、b和/或c中的至少一个”。
50.在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,或3)“a和b”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
51.视频编码系统的概述
52.图1是示意性地例示本公开的实施方式适用于的视频编码系统的视图。
53.根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
54.根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
55.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
56.编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
57.发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
58.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
59.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
60.图像编码设备的概述
61.图2是示意性地例示本公开的实施方式适用于的图像编码设备的视图。
62.如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测器180、帧内预测器185和熵编码器190。帧间预测器180和帧内预测器185可以统称为“预测器”。变
换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
63.在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。
64.图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分割编码树单元(ctu)或最大编码单元(lcu)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
65.预测器(帧间预测器180或帧内预测器185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测器可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测器可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
66.帧内预测器185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测器185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
67.帧间预测器180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,帧间预测器180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动
向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
68.预测器可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测器可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用ibc时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前画面中执行预测,但是可以与在当前画面内推导参考块的帧间预测类似地执行。即,ibc可以使用本公开中所描述的至少一种帧间预测技术。
69.预测器生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测器输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
70.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有可变大小而不是正方形的块。
71.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块类型的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
72.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单位进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
73.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器
190的组件。
74.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
75.加法器155将重构残差信号与从帧间预测器180或帧内预测器185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
76.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
77.传输到存储器170的修改的重构画面可以用作帧间预测器180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
78.存储器170的dpb可以存储修改的重构画面以用作帧间预测器180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测器180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测器185。
79.图像解码设备的概述
80.图3是示意性地例示本公开的实施方式适用于的图像解码设备的视图。
81.如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260和帧内预测器265。帧间预测器260和帧内预测器265可以统称为“预测器”。解量化器220和逆变换器230可以被包括在残差处理器中。
82.根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(dpb)或者可以由数字存储介质配置。
83.已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
84.图像解码设备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的组件。
85.此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260或帧内预测器265中的至少一个。
86.解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
87.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
88.预测器可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
89.与在图像编码设备100的预测器中描述的相同的是,预测器可以基于稍后描述的各种预测方法(技术)来生成预测信号。
90.帧内预测器265可以通过参考当前画面中的样本来预测当前块。帧内预测器185的描述同样适用于帧内预测器265。
91.帧间预测器260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、
l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测器260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
92.加法器235可以通过将获得的残差信号与从预测器(包括帧间预测器260和/或内预测器265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果对于要处理的块不存在残差,例如当应用跳过模式时,预测块可以用作重构块。加法器155的描述同样适用于加法器235。加法器235可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以如下所述通过滤波用于下一画面的帧间预测。
93.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
94.存储在存储器250的dpb中的(修改的)重构画面可以用作帧间预测器260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测器260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测器265。
95.在本公开中,在图像编码设备100的滤波器160、帧间预测器180和帧内预测器185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测器260和帧内预测器265。
96.图像分割的概述
97.可以基于图像分割结构来执行根据本公开的视频/图像编码方法如下。具体地,可以基于根据图像分割结构而推导的ctu、cu(和/或tu、pu)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码和滤波的过程。可以以块为单位对图像进行分割并且可以在编码设备的图像分割器110中执行块分割过程。分割相关信息可以由熵编码器190编码并且以比特流的形式发送到解码设备。解码设备的熵解码器210可以基于从比特流获得的分割相关信息来推导当前画面的块分割结构,并且基于此,可以执行一系列的过程(例如,预测、残差处理、块/画面重构、环路内滤波等)以进行图像解码。
98.cu大小可以等于tu大小,或者在cu区域中可以存在多个tu。此外,cu大小通常可以指示亮度分量(样本)cb大小。tu大小通常可以指示亮度分量(样本)tb大小。可以根据画面/图像的色度格式(颜色格式,例如4:4:4、4:2:2、4:2:0等)根据分量比基于亮度分量(样本)cb或tb大小来推导色度分量(样本)cb或tb大小。可以基于指示可用最大tb大小的maxtbsize来推导tu大小。例如,当cu大小大于maxtbsize时,可以从cu推导具有maxtbsize的多个tu(tb),并且可以以tu(tb)为单位执行变换/逆变换。另外,例如,当应用帧内预测时,可以以cu(或cb)为单位推导帧内预测模式/类型,并且可以以tu(或tb)为单位执行邻近参考样本推导和预测样本生成过程。在这种情况下,在一个cu(或cb)区域中可以存在一个
或多个tu(或tb)。在这种情况下,多个tu(或tb)可以共享相同的帧内预测模式/类型。
99.另外,在根据本公开的图像编码和解码中,图像处理单元可以具有分层结构。例如,一个画面可以被分割为一个或更多个拼块或拼块组。一个拼块组可以包括一个或更多个拼块。一个拼块可以包括一个或更多个ctu。如上所述,ctu可以被分割为一个或更多个cu。拼块可以由包括画面中的特定行和特定列中组装的ctu的矩形区域组成。根据拼块光栅扫描,拼块组可以包括整数个拼块。拼块组头可以用信号通知适用于对应拼块组的信息/参数。当编码/解码设备具有多核处理器时,拼块或拼块组的编码/解码过程可以并行执行。这里,拼块组可以具有包括帧内(i)拼块组、预测(p)拼块组和双预测(b)拼块组的拼块组类型之一。对于i拼块组中的块,可以不使用帧间预测,仅帧内预测可以用于预测。当然,即使在这种情况下,原始样本值也可以被编码并用信号通知而无需预测。对于p拼块组中的块,可以使用帧内预测或帧间预测,并且在帧间预测时可以仅使用单预测。此外,对于b拼块组中的块,可以使用帧内预测或帧间预测,并且当使用帧间预测时可以使用直至双预测。
100.在编码设备中,可以根据图像的特性(例如,分辨率)或者考虑编码效率或并行处理来确定拼块/拼块组、切片、最大和最小编码单元大小,并且关于其的信息或能够推导其的信息可以包括在比特流中。
101.在解码设备中,可以获得指示当前画面的切片、拼块/拼块组或拼块中的ctu是否被分割为多个编码单元的信息。当仅在特定条件下获得(发送)这种信息时,效率可增加。
102.切片头或拼块组头(拼块组头语法)可以包括共同适用于切片或拼块组的信息/参数。aps(aps语法)或pps(pps语法)可以包括共同适用于一个或更多个画面的信息/参数。sps(sps语法)可以包括共同适用于一个或更多个序列的信息/参数。vps(vps语法)可以包括共同适用于总体视频的信息/参数。在本公开中,高级语法可以包括aps语法、pps语法、sps语法或vps语法中的至少一个。
103.另外,例如,关于拼块/拼块组的分割和配置的信息可以在编码器中通过高级语法构造并以比特流的形式发送到解码设备。
104.画面分割信令
105.编码画面可由一个或更多个切片组成。在画面头(ph)内用信号通知描述编码画面的参数,并且在切片头内用信号通知描述切片的参数。ph在其自己的nal单元类型中承载。sh存在于包含切片的有效载荷(即,切片数据)的nal单元的开头。
106.vvc允许画面被分割成子画面、拼块和/切片。子画面信令存在于sps中,拼块和矩形切片信令存在于pps中,并且最终光栅扫描切片信令存在于切片头中。
107.图4是例示sps的示例的视图。
108.参照图4,sps可以包括语法元素subpic_info_present_flag。subpic_info_present_flag可以指定是否存在clvs(编码层视频序列)的子画面信息。例如,subpic_info_present_flag等于第一值(例如,1)可以指定存在clvs的子画面信息并且在clvs中的各个画面内存在一个或更多个子画面。相比之下,subpic_info_present_flag等于第二值(例如,0)可以指定不存在clvs的子画面信息并且在clvs中的各个画面内仅存在一个子画面。当res_change_in_clvs_allowed_flag等于第一值(例如,1)时,subpic_info_present_flag的值应等于第二值(例如,0)。这里,res_change_in_clvs_allowed_flag等于第一值(例如,1)可以指定在参考sps的所有clvs中画面空间分辨率不改变。
109.此外,当比特流是子比特流提取处理的结果并且仅包含子比特流提取处理的输入比特流的子画面子集时,可能需要在sps的原始字节序列有效载荷(rbsp)中将subpic_info_present_flag的值设定为等于1。
110.另外,sps可以包括语法元素sps_num_subpics_minus1。sps_num_subpics_minus1加1可以指定clvs中的各个画面中的子画面数量。sps_num_subpics_minus1的值应在0至ceil(pic_width_max_in_luma_samples
÷
ctbsizey)
×
ceil(pic_height_max_in_luma_samples
÷
ctbsizey)-1(含)的范围内。此外,当sps_num_subpics_minus1不存在(即,没有用信号通知)时,sps_num_subpics_minus1的值可以被推断为等于第一值(例如,0)。
111.另外,sps可以包括语法元素sps_independent_subpics_flag。sps_independent_subpics_flag可以指定子画面边界是否为独立的。例如,sps_independent_subpics_flag等于第一值(例如,1)可以指定clvs中的所有子画面边界被视为画面边界并且不存在跨子画面边界的环路滤波。相比之下,sps_independent_subpics_flag等于第二值(例如,0)可以指定不施加这种约束。当sps_independent_subpics_flag不存在时,sps_independent_subpics_flag的值可以被推断为等于第二值(例如,0)。
112.另外,sps可以包括语法元素subpic_treated_as_pic_flag[i]。subpic_treated_as_pic_flag[i]可以指定子画面是否被视为画面。例如,subpic_treated_as_pic_flag[i]等于第一值(例如,1)可以指定clvs中的各个编码画面的第i子画面在除了环路内滤波操作之外的解码处理中被视为画面。相比之下,subpic_treated_as_pic_flag[i]等于第二值(例如,0)可以指定clvs中的各个编码画面的第i子画面在除了环路内滤波操作之外的解码处理中不被视为画面。当subpic_treated_as_pic_flag[i]不存在时,subpic_treated_as_pic_flag[i]的值可以被推断为等于sps_independent_subpics_flag。
[0113]
当subpic_treated_as_pic_flag[i]等于第一值(例如,1)时,比特流一致性的要求是,对于包括包含第i子画面的层作为输出层的ols中的各个输出层及其参考层,所有以下条件为真:
[0114]-(条件1):输出层及其参考层中的所有画面应具有相同值的pic_width_in_luma_samples和相同值的pic_height_in_luma_samples。
[0115]-(条件2):输出层及其参考层所参考的所有sps应具有相同值的sps_num_subpics_minus1并且对于0至sps_num_subpics_minus1(含)范围内的各个j值,应分别具有相同值的subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和loop_filter_across_subpic_enabled_flag[j]。
[0116]-(条件3):对于0至sps_num_subpics_minus1(含)范围内的各个j值,输出层及其参考层中的各个访问单元中的所有画面应具有相同值的subpicidval[j]。
[0117]
图5是例示pps的示例的视图。
[0118]
参照图5,pps可以包括语法元素no_pic_partition_flag。no_pic_partition_flag可以指定是否对各个画面应用画面分割。例如,no_pic_partition_flag等于第一值(例如,1)可以指定不对参考pps的各个画面应用画面分割。相比之下,no_pic_partition_flag等于第二值(例如,0)可以指定参考pps的各个画面可以被分割成超过一个拼块或切片。
[0119]
比特流一致性的要求是,对于clvs内的编码画面所参考的所有pps,no_pic_
partition_flag的值应相同。
[0120]
比特流一致性的要求是,当sps_num_subpics_minus1 1的值大于1时,no_pic_partition_flag的值不应等于1。
[0121]
另外,pps可以包括语法元素single_slice_per_subpic_flag。single_slice_per_subpic_flag可以指定各个子画面中的切片数量。例如,single_slice_per_subpic_flag等于第一值(例如,1)可以指定各个子画面仅由一个矩形切片组成。single_slice_per_subpic_flag等于第二值(例如,0)可以指定各个子画面可以由一个或更多个矩形切片组成。当single_slice_per_subpic_flag不存在时,single_slice_per_subpic_flag的值被推断为等于第二值(例如,0)。
[0122]
图6是例示切片头的示例的视图。
[0123]
参照图6,切片头可以包括语法元素num_tiles_in_slice_minus1。num_tiles_in_slice_minus1加1可以指定切片中的拼块数量。num_tiles_in_slice_minus1的值应在0至numtilesinpic-1(含)的范围内。这里,变量numtilesinpic可以指定画面中的拼块数量,并且可以被设定为通过将拼块列的数量(例如,numtilecolumns)乘以拼块行的数量(例如,numtilerows)而获得的值。
[0124]
与上面参照图4至图6描述的画面分割有关的信令可能具有以下问题:
[0125]
首先,no_pic_partition_flag和pps_num_subpics_minus1的各个信令是低效的。当不存在画面分割(即,no_pic_partition_flag==1)时,显而易见,子画面数量不能超过1。同样,当存在超过两个子画面时,显而易见,存在画面分割,因此no_pic_partition_flag的值不能等于第一值(例如,1)。图4和图5的信令没有考虑到这一事实。
[0126]
其次,画面分割相关信令当前存在于sps和pps二者中,并且目前它们可能彼此矛盾。当no_pic_partition_flag等于第二值(例如,0)并且画面中的拼块数量等于1时,即使仅存在1个子画面时,当前仍可将single_slice_per_subpic_flag的值设定为等于指示各个子画面仅由一个切片组成的第一值(例如,1)。这种设置将与no_pic_partition_flag等于第二值(例如,0)的含义相矛盾,因为该no_pic_partition_flag等于第一值(例如,1)意味着存在某种类型的画面分割。
[0127]
为了解决上述问题,根据本公开的实施方式,在预定高级语法(例如,pps)中,可以比指示子画面数量的第二信息更早用信号通知指示是否存在画面分割的第一信息(例如,no_pic_partition_flag)。当不存在画面分割时,可以不用信号通知第二信息。在这种情况下,第二信息应具有指示各个画面中仅存在一个子画面的值。另选地,当第二信息指示子画面数量大于1时,可以不用信号通知第一信息。在这种情况下,第一信息应该被推断为具有指示存在画面分割的值。
[0128]
根据本公开的实施方式,当存在画面分割(例如,no_pic_partition_flag==0),画面中的拼块数量等于1,并且指示各个子画面仅包含1个切片(例如,single_slice_per_subpic_flag==1)时,约束画面中的子画面数量应大于1。另选地,当存在画面分割,拼块数量等于1,并且子画面数量等于1时,可以不用信号通知single_slice_per_subpic_flag。在这种情况下,single_slice_per_subpic_flag的值应被推断为等于指示各个子画面包括一个或更多个切片的第二值(例如,0)。
[0129]
以下,将参照附图更详细地描述本公开的实施方式。
[0130]
实施方式1
[0131]
根据实施方式1,指示是否存在画面分割的第一信息和指示子画面数量的第二信息可以在相同的语法(例如,pps)中一起用信号通知。另外,可以仅在存在画面分割时才用信号通知第二信息(即,条件信令)。
[0132]
图7是例示根据本公开的实施方式的pps的视图。
[0133]
参照图7,pps可以包括no_pic_partition_flag作为第一信息。no_pic_partition_flag可以指定是否对各个画面应用画面分割。例如,no_pic_partition_flag等于第一值(例如,1)可以指定不对参考pps的各个画面应用画面分割。相比之下,no_pic_partition_flag等于第二值(例如,0)可以指定参考pps的各个画面可以被分割成超过一个拼块或切片。
[0134]
比特流一致性的要求是,对于clvs内的编码画面所参考的所有pps,no_pic_partition_flag的值应相同。
[0135]
比特流一致性的要求是,当各个画面中的子画面数量大于1(例如,sps_num_subpics_minus1 1》1)时,no_pic_partition_flag的值不应等于第一值(例如,1)。即,当画面中的子画面数量等于或大于2时,no_pic_partition_flag应等于指示对画面应用画面分割的第二值(例如,0)。
[0136]
另外,pps可以包括pps_num_subpics_minus1作为第二信息。pps_num_subpics_minus1加1可以指定参考pps的各个画面中的子画面数量。pps_num_subpics_minus1可以对应于上面参照图4描述的sps中的sps_num_subpics_minus1。
[0137]
pps_num_subpics_minus1可以比pps中的no_pic_partition_flag更晚用信号通知。另外,仅当对画面应用画面分割时,才可以用信号通知pps_num_subpics_minus1。例如,当no_pic_partition_flag等于第一值(例如,1)时,可以不用信号通知pps_num_subpics_minus1。相比之下,当no_pic_partition_flag等于第二值(例如,0)时,可以用信号通知pps_num_subpics_minus1。因此,即使不存在画面分割(即,no_pic_partition_flag==1),也可以防止作为与第一信息(例如,ps_num_subpics_minus1=2)相矛盾的值的第二信息的信令。当没有用信号通知pps_num_subpics_minus1时,pps_num_subpics_minus1的值可以被推断为等于第二值(例如,0)。
[0138]
根据实施方式1,指示是否存在画面分割的第一信息(例如,no_pic_partition_flag)和指示子画面数量的第二信息(例如,ps_num_subpics_minus1)可以在一个语法(例如,pps)中用信号通知。在这种情况下,可以比第二信息早用信号通知第一信息,并且当第一信息指定不存在画面分割时,可以不用信号通知第二信息。因此,与第一信息和第二信息在不同的语法中单独地用信号通知的情况相比,可改进信令效率并且消除发生矛盾的可能性。
[0139]
实施方式2
[0140]
根据实施方式2,指示是否存在画面分割的第一信息和指示子画面数量的第二信息可以在相同的语法(例如,pps)中一起用信号通知。另外,当画面中的子画面数量大于1时,在预定条件下可以不用信号通知第一信息。
[0141]
图8是例示根据本公开的实施方式的pps的视图。
[0142]
参照图8,pps可以包括语法元素subpic_id_mapping_in_pps_flag。subpic_id_
mapping_in_pps_flag可以指定在pps中是否用信号通知子画面id映射。例如,subpic_id_mapping_in_pps_flag等于第一值(例如,1)可以指定用信号通知子画面id映射。相比之下,subpic_id_mapping_in_pps_flag等于第二值(例如,0)可以指定没有用信号通知子画面id映射。这里,子画面id映射可以意指向各个子画面指派不同的标识符以便标识多个子画面。
[0143]
另外,pps可以包括语法元素pps_num_subpics_minus1。pps_num_subpics_minus1加1可以指定参考pps的各个画面中的子画面数量。pps_num_subpics_minus1可以对应于上面参照图4描述的sps中的sps_num_subpics_minus1。
[0144]
仅当subpic_id_mapping_in_pps_flag等于第一值(例如,1)时,才可以用信号通知pps_num_subpics_minus1。即,当pps中没有用信号通知子画面id映射(即,subpic_id_mapping_in_pps_flag==0)时,可不用信号通知pps_num_subpics_minus1。
[0145]
另外,pps可以包括语法元素no_pic_partition_flag。no_pic_partition_flag可以指定是否对各个画面应用画面分割。例如,no_pic_partition_flag等于第一值(例如,1)可以指定没有对参考pps的各个画面应用画面分割。相比之下,no_pic_partition_flag等于第二值(例如,0)可以指定参考pps的各个画面可以被分割成超过一个拼块或切片。当没有用信号通知no_pic_partition_flag时,no_pic_partition_flag的值被推断为等于第二值(例如,0)。
[0146]
比特流一致性的要求是,对于clvs内的编码画面所参考的所有pps,no_pic_partition_flag的值应相同。比特流一致性的要求是,当sps_num_subpics_minus1 1的值大于1时,no_pic_partition_flag的值不应等于第一值(例如,1)。
[0147]
此外,可以在预定条件下限制性地用信号通知no_pic_partition_flag。例如,仅当subpic_id_mapping_in_pps_flag等于第二值(例如,0)时或者当pps_num_subpics_minus1为0时,才可以用信号通知no_pic_partition_flag。这可以意指当画面中的子画面数量大于1时,可以意指不基于在pps中用信号通知子画面id映射而用信号通知no_pic_partition_flag。在这方面,实施方式2与实施方式1的不同之处在于无条件地用信号通知no_pic_partition_flag。此外,当没有用信号通知no_pic_partition_flag时,no_pic_partition_flag应等于指示存在画面分割的第二值(例如,0)。
[0148]
根据实施方式2,可以在一个语法(例如,pps)中用信号通知指示是否存在画面分割的第一信息(例如,no_pic_partition_flag)和指示子画面数量的第二信息(例如,ps_num_subpics_minus1)。在这种情况下,可以不基于画面中的子画面数量大于1而用信号通知第一信息。因此,与在不同的语法中单独地用信号通知第一信息和第二信息的情况相比,可改进信令效率并且消除发生矛盾的可能性。
[0149]
实施方式3
[0150]
根据实施方式3,当存在画面分割,画面中的拼块数量为1并且各个子画面仅包含一个切片时,画面中的子画面数量应大于1。另选地,当存在画面分割,画面中的拼块数量为1并且子画面数量为1时,可不用信号通知指示各个子画面是否仅包含一个切片的信息(例如,single_slice_per_subpic_flag)。在这种情况下,该信息可以被推断为等于指示各个子画面包括更多个切片的第二值(例如,0)。
[0151]
图9是例示根据本公开的实施方式的pps的视图。
[0152]
参照图9,pps可以包括语法元素subpic_id_mapping_in_pps_flag。subpic_id_
mapping_in_pps_flag可以指定在pps中是否用信号通知子画面id映射。
[0153]
另外,pps可以包括语法元素pps_num_subpics_minus1。pps_num_subpics_minus1 1的值可以指定参考pps的各个画面中的子画面数量。仅当subpic_id_mapping_in_pps_flag等于第一值(例如,1)时,才可以用信号通知pps_num_subpics_minus1。
[0154]
另外,pps可以包括语法元素no_pic_partition_flag。no_pic_partition_flag可以指定是否对各个画面应用画面分割。
[0155]
上面参照图8描述了subpic_id_mapping_in_pps_flag、pps_num_subpics_minus1和no_pic_partition_flag的语义。
[0156]
另外,pps可以包括single_slice_per_subpic_flag作为第三信息。single_slice_per_subpic_flag可以指定各个子画面是否仅包括一个矩形切片。例如,single_slice_per_subpic_flag等于第一值(例如,1)可以指定各个子画面仅包括一个矩形切片。相比之下,single_slice_per_subpic_flag等于第二值(例如,0)可以指定各个子画面可以包括一个或更多个矩形切片。当没有用信号通知single_slice_per_subpic_flag时,single_slice_per_subpic_flag的值可以被推断为等于第二值(例如,0)。
[0157]
在实施方式中,当no_pic_partition_flag等于第二值(例如,0),numtilesinpic为1,并且single_slice_per_subpic_flag等于第一值(例如,1)时,画面中的子画面数量应大于1(即,pps_num_subpics_minus1》0)。这里,变量numtilesinpic可以指示画面中的拼块数量,并且可以被设定为通过将拼块列的数量(例如,numtilecolumns)乘以拼块行的数量(例如,numtilerows)而获得的值。上述约束可以是比特流一致性的约束。
[0158]
另外,在实施方式中,当no_pic_partition_flag等于第二值(例如,0),numtilesinpic为1,并且pps_num_subpics_minus1为0时,可不用信号通知single_slice_per_subpic_flag。在这种情况下,single_slice_per_subpic_flag的值应被推断为等于第二值(例如,0)。
[0159]
此外,可以根据预定条件限制性地用信号通知single_slice_per_subpic_flag。具体地,仅当以下第一条件和第二条件二者均为真时,才可以用信号通知single_slice_per_subpic_flag。
[0160]-(第一条件):no_pic_partition_flag=0
[0161]-(第二条件):rect_slice_flag=1&&(numtilesinpic》1||subpic_id_mapping_in_pps_flag==0||pps_num_subpics_minus1》0)
[0162]
在第二条件中,rect_slice_flag等于第二值(例如,0)可以指定各个切片内的拼块为光栅扫描顺序,并且在pps中没有用信号通知切片信息。相比之下,rect_slice_flag等于第一值(例如,1)可以指定各个切片内的拼块覆盖画面的矩形区域,并且在pps中用信号通知切片信息。当没有用信号通知rect_slice_flag时,rect_slice_flag可以被推断为等于第一值(例如,1)。当subpic_info_present_flag等于第一值(例如,1)时,rect_slice_flag的值应等于第一值(例如,1)。
[0163]
根据实施方式3,指示子画面数量的信息(例如,ps_num_subpics_minus1)在预定条件下应指示画面包括多个子画面。另选地,指示各个子画面是否仅包含一个切片的信息(例如,single_slice_per_subpic_flag)在预定条件下应被推断为等于指示各个子画面包含一个或更多个切片的第二值(例如,0)。因此,有可能关于画面分割的信息与关于子画面
数量的信息之间发生矛盾。
[0164]
以下,将描述根据本公开的实施方式的图像编码/解码方法。
[0165]
图10是例示根据本公开的实施方式的图像编码方法的流程图。图10的图像编码方法可以由图2的图像编码设备执行。
[0166]
参照图10,图像编码设备可以推导包括在当前画面中的一个或更多个子画面(s1010)。例如,图像编码设备可以通过将当前画面分成子画面单元来推导一个或更多个子画面。画面内的各个子画面可以构成预定矩形区域。另外,画面内的子画面的大小可以按各种方式设定。例如,所有子画面可以具有相同的大小,或者至少一些子画面可以具有不同的大小。在一个示例中,在画面内,拼块和切片可以被约束为不跨越各个子画面的边界。为此,图像编码设备可以执行编码以使得各个子画面被独立地解码。
[0167]
图像编码设备可以基于包括在当前画面中的一个或更多个子画面的数量来生成指示当前画面是否被分割的第一信息(或画面分割信息)(s1020)。在实施方式中,第一信息可以包括上面参照图7至图9描述的no_pic_partition_flag。当仅从当前画面推导一个子画面时,第一信息(例如,no_pic_partition_flag)可以等于指示当前画面未被分割的第一值(例如,1)。相比之下,当从当前画面推导两个或更多个子画面时,no_pic_partition_flag可以等于指示当前画面能够被分割的第二值(例如,0)。
[0168]
在实施方式中,比特流一致性的要求可以是,第一信息(例如,no_pic_partition_flag)的值可以被约束为对于clvs(编码层视频序列)中的编码画面所参考的所有画面参数集具有相同的值(例如,0或1)。
[0169]
在实施方式中,基于包括在当前画面中的子画面数量等于或大于2(例如,sps_num_subpics_minus1 1》1),第一信息(例如,no_pic_partition_flag)可以具有指示当前画面能够被分割的第二值(例如,0)。
[0170]
图像编码设备可以基于上述第一信息对关于包括在当前画面中的一个或更多个子画面的数量的第二信息进行编码(s1030)。在实施方式中,第二信息可以包括上面参照图7至图9描述的pps_num_subpics_minus1。
[0171]
在实施方式中,基于第一信息(例如,no_pic_partition_flag)具有指示当前画面未被划分的第一值(例如,1),第二信息(例如,ps_num_subpics_minus1)可不被编码。
[0172]
在实施方式中,第二信息(例如,ps_num_subpics_minus1)可以与上述第一信息(例如,no_pic_partition_flag)一起被编码在画面参数集中。
[0173]
在实施方式中,基于第一信息(例如,no_pic_partition_flag)具有指示当前画面能够被分割的第二值(例如,0),当前画面包括一个拼块,并且当前画面内的每一个或更多个子画面仅包括一个切片(例如,single_slice_per_subpic_flag==1),第二信息(例如,ps_num_subpics_minus1)可以具有指示一个或更多个子画面的数量大于一(例如,1)的预定值。
[0174]
在实施方式中,基于第一信息(例如,no_pic_partition_flag)具有指示当前画面能够被分割的第二值(例如,0),当前画面包括一个拼块,并且包括在当前画面中的一个或更多个子画面的数量为一,指示一个或更多个子画面中的每一个中所包括的切片数量的第三信息(例如,single_slice_per_subpic_flag)可以具有指示一个或更多个子画面中的每一个仅包括一个切片的第一值(例如,1)。
[0175]
图像编码设备可以生成包括第一信息(例如,no_pic_partition_flag)至第三信息(例如,single_slice_per_subpic_flag)中的至少一个的比特流。比特流可以被存储在计算机可读记录介质中,并且可以通过记录介质或网络发送到图像解码设备。
[0176]
图11是例示根据本公开的实施方式的图像解码方法的流程图。图11的图像解码方法可以由图3的图像解码设备执行。
[0177]
参照图11,图像解码设备可以从比特流获得关于当前画面是否能够被分割的第一信息(s1110)。第一信息可以包括上面参照图7至图9描述的no_pic_partition_flag。
[0178]
在实施方式中,基于包括在当前画面中的一个或更多个子画面的数量为两个或更多个(例如,sps_num_subpics_minus1 1》1),第一信息(例如,no_pic_partition_flag)可以具有指示当前画面能够被分割的第二值(例如,0)。
[0179]
在实施方式中,基于未从比特流获得第一信息,第一信息(例如,no_pic_partition_flag)可以具有指示当前画面能够被分割的第二值(例如,0)。
[0180]
图像解码设备可以基于第一信息从比特流获得关于包括在当前画面中的一个或更多个子画面的数量的第二信息(s1120)。在实施方式中,第二信息可以包括上面参照图7至图9描述的pps_num_subpics_minus1。
[0181]
在实施方式中,基于第一信息(例如,no_pic_partition_flag)具有指示当前画面未被分割的第一值(例如,1),第二信息(例如,ps_num_subpics_minus1)未从比特流获得,并且可以具有指示当前画面中的一个或更多个子画面的数量为一的预定值(例如,0)。
[0182]
在实施方式中,第二信息(例如,ps_num_subpics_minus1)可以与上述第一信息(例如,no_pic_partition_flag)一起从画面参数集获得。
[0183]
在实施方式中,基于第一信息(例如,no_pic_partition_flag)具有指示当前画面能够被分割的第二值(例如,0),当前画面包括一个拼块,并且包括在当前画面中的一个或更多个子画面中的每一个仅包括一个切片(例如,single_slice_per_subpic_flag==1),第二信息(例如,ps_num_subpics_minus1)为指示一个或更多个子画面的数量大于一的预定值。
[0184]
在实施方式中,基于第一信息(例如,no_pic_partition_flag)具有指示当前画面能够被分割的第二值(例如,0),当前画面包括一个拼块,并且包括在当前画面中的一个或更多个子画面的数量为一,指示一个或更多个子画面中的每一个中所包括的切片数量的第三信息(例如,single_slice_per_subpic_flag)可以具有指示一个或更多个子画面中的每一个仅包括一个切片的第一值(例如,1)。
[0185]
图像解码设备可以基于第二信息来推导包括在当前画面中的一个或更多个子画面(s1130)。例如,图像解码设备可以通过基于第二信息所指示的子画面数量将当前画面分成子画面单元来推导当前画面中的一个或更多个子画面。在这种情况下,各个子画面可以具有唯一的子画面标识符(例如,ps_subpic_id[i]),并且子画面标识符可以具有预定长度(例如,ps_subpic_id_len_minus1 1比特)。
[0186]
图像解码设备可以对当前画面中的一个或更多个子画面进行解码(s1140)。图像解码设备可以基于cabac方法、预测方法、残差处理方法(变换和量化)和/或环路内滤波方法对子画面进行解码。另外,图像解码设备可以输出解码的子画面。
[0187]
根据本公开的实施方式,关于是否存在画面分割的第一信息(例如,no_pic_
partition_flag)和指定子画面数量的第二信息(例如,ps_num_subpics_minus1)可以在一个语法(例如,pps)中用信号通知。在这种情况下,第一信息可以比第二信息更早用信号通知。另外,当第一信息指定不存在画面分割时,可不用信号通知第二信息。因此,与在不同的语法中单独地用信号通知第一信息和第二信息的情况相比,可改进信令效率并且消除发生矛盾的可能性。
[0188]
本公开中描述的语法元素的名称可以包括关于用信号通知对应语法元素的位置的信息。例如,以“sps_”开始的语法元素可以意指在序列参数集(sps)中用信号通知对应语法元素。另外,以“pps_”、“ph_”、“sh_”开始的语法元素可以意指对应语法元素分别在画面参数集(pps)、画面头和切片头中用信号通知。
[0189]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
[0190]
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
[0191]
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
[0192]
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0193]
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、ott视频(over the top video)装置、互联网流传输服务提供装置、三维(3d)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,ott视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板pc、数字录像机(dvr)等。
[0194]
图12是例示本公开的实施方式适用于的内容流系统的视图。
[0195]
如图12中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
[0196]
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
[0197]
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
[0198]
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网
络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
[0199]
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
[0200]
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、石板pc、平板pc、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0201]
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
[0202]
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
[0203]
工业实用性
[0204]
本公开的实施方式可以被用于对图像进行编码或解码。
再多了解一些

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

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

相关文献