用于分割画面的方法和解码设备与流程

文档序号:30709721发布日期:2022-07-10 05:25阅读:165来源:国知局
用于分割画面的方法和解码设备与流程

1.本公开涉及视频编码和解码,更具体地,涉及一种通过适合于各种目的的画面划分方法改进了编码和解码效率的用于划分画面的方法及其解码设备。


背景技术:

2.由于视频数据的体量大于语音数据或静止图像数据的体量,所以在不进行压缩处理的情况下存储或发送视频数据需要包括存储器的大量硬件资源。
3.因此,在存储或发送视频数据时,通常使用编码器来压缩视频数据以进行存储或发送。然后,解码器接收压缩的视频数据,并且解压缩并再现视频数据。用于这种视频的压缩技术包括h.264/avc以及与h.264/avc相比编码效率改进了约40%的高效视频编码(hevc)。
4.然而,视频大小、分辨率和帧频逐渐增加,因此要编码的数据量也增加。因此,需要与现有压缩技术相比具有更好的编码效率和更高的图像质量的新压缩技术。


技术实现要素:

5.技术问题
6.本公开的目的在于提供一种改进的视频编码和解码技术以满足需求。具体地,本公开的一个方面涉及通过划分画面以适合于各种目的来改进编码和解码效率的技术。
7.技术方案
8.根据一个方面,本公开提供了一种用于划分画面的方法。该方法包括以下步骤:从比特流解码指示画面是否被划分成一个或更多个子单元的分割标志;当分割标志指示划分时,从比特流解码分区信息;以及基于分区信息将画面划分成子单元。
9.根据另一方面,本公开提供了一种视频解码设备。该视频解码设备包括:解码执行单元,其被配置为从比特流解码指示画面是否被划分成一个或更多个子单元的分割标志,并且当分割标志指示划分时,从比特流解码分区信息;以及划分器,其被配置为基于分区信息将画面划分成子单元。
10.技术效果
11.如上所述,根据本公开的一个实施方式,可划分画面以适合于各种目的,包括序列合成、比特流打包和并行处理。
附图说明
12.图1是能够实现本公开的技术的视频编码设备的示例性框图。
13.图2示例性地示出使用qtbttt结构的块划分结构。
14.图3示例性地示出多个帧内预测模式。
15.图4是能够实现本公开的技术的视频解码设备的示例性框图。
16.图5至图7示出切片、拼块和子画面。
17.图8示出内容的合成。
18.图9是能够实现本公开的技术的解码器的框图。
19.图10是示出能够实现本公开的技术的方法的一个示例的流程图。
20.图11和图12示出将画面划分成切片、拼块和子画面的各种形式。
21.图13是示出将画面划分成子画面的流程图。
22.图14是示出将画面划分成子画面的流程图。
23.图15是示出将画面划分成切片的流程图。
24.图16示出切片的分区形式。
25.图17是示出子画面映射的流程图。
26.图18是示出切片地址的流程图。
27.图19示出切片和子画面之间的关系。
28.图20示出头信息之间的连接关系。
29.图21示出子画面的各种配置示例。
具体实施方式
30.以下,将参照附图详细描述本公开的一些实施方式。应该注意的是,在向各个图中的构成元件添加标号时,尽管元件示出于不同的图中,相似的标号指代相似的元件。此外,在本公开的以下描述中,将省略并入本文中的已知功能和配置的详细描述以避免使本公开的主题模糊。
31.图1是能够实现本公开的技术的视频编码设备的示例性框图。以下,将参照图1描述视频编码设备和该设备的元件。
32.视频编码设备包括块分割器110、预测器120、减法器130、变换器140、量化器145、编码器150、逆量化器160、逆变换器165、加法器170、滤波器单元180和存储器190。
33.视频编码设备的各个元件可在硬件或软件或者硬件和软件的组合中实现。各个元件的功能可在软件中实现,并且微处理器可被实现为执行与各个元件对应的软件功能。
34.一个视频由多个画面组成。各个画面被分割成多个区域,并且对各个区域执行编码。例如,一个画面被分割成一个或更多个拼块和/或切片。这里,一个或更多个拼块可被定义为拼块组。各个拼块或切片被分割成一个或更多个编码树单元(ctu)。各个ctu按树结构分割成一个或更多个编码单元(cu)。应用于各个cu的信息被编码为cu的句法,共同应用于包括在一个ctu中的cu的信息被编码为ctu的句法。另外,共同应用于一个拼块中的所有块的信息被编码为拼块的句法或者被编码为作为多个拼块的集合的拼块组的句法,应用于构成一个画面的所有块的信息被编码在画面参数集(pps)或画面头中。此外,多个画面共同参考的信息被编码在序列参数集(sps)中。另外,一个或更多个sps共同参考的信息被编码在视频参数集(vps)中。
35.块分割器110确定编码树单元(ctu)的大小。关于ctu的大小(ctu大小)的信息被编码为sps或pps的句法并且被发送到视频解码设备。
36.块分割器110将构成视频的各个画面分割成具有预定大小的多个ctu,然后使用树结构递归地分割ctu。在树结构中,叶节点用作编码单元(cu),其是编码的基本单元。
37.树结构可以是:quadtree(qt),其中节点(或父节点)被分割成具有相同大小的四
个子节点(或子节点);binarytree(bt),其中节点被分割成两个子节点;ternarytree(tt),其中节点按1:2:1的比例被分割成三个子节点;或者由qt结构、bt结构和tt结构中的两个或更多个的组合形成的结构。例如,可使用qtbt(quadtree+binarytree)结构或qtbttt(quadtree+binarytree ternarytree)结构。这里,bttt可被统称为多类型树(mtt)。
38.图2示出qtbttt分割树结构。如图2所示,ctu可初始按qt结构分割。可重复qt分割,直至分割块的大小达到qt中允许的叶节点的最小块大小(minqtsize)。指示qt结构的各个节点是否被分割成下层的四个节点的第一标志(qt_split_flag)由编码器150编码并用信号通知给视频解码设备。当qt的叶节点不大于bt中允许的根节点的最大块大小(maxbtsize)时,可按bt结构或tt结构中的一个或更多个进一步分割。在bt结构和/或tt结构中,可存在多个分割方向。例如,可存在两个方向,即节点的块的水平分割和垂直分割。如图2所示,当mtt分割开始时,指示节点是否被分割的第二标志(mtt_split_flag)以及指示分割方向(垂直或水平)的标志和/或指示分割类型(二元或三元)的标志由编码器150编码并用信号通知给视频解码设备。
39.作为树结构的另一示例,当使用qtbttt结构分割块时,关于指示块已被分割的cu分割标志(split_cu_flag)和指示分割类型是否为qt分割的qt分割标志(split_qt_flag)的信息由编码器150编码并用信号通知给视频解码设备。当split_cu_flag的值指示块被分割时,节点的块成为分割树结构中的叶节点并用作编码单元(cu),其是编码的基本单元。当split_cu_flag的值指示块未被分割时,通过split_qt_flag的值来区分分割类型是qt还是mtt。当分割类型是qt时,不存在附加信息。当分割类型是mtt时,指示mtt分割方向(垂直或水平)的标志(mtt_split_cu_vertical_flag)和/或指示mtt分割类型(二元或三元)的标志(mtt_split_cu_binary_flag)由编码器150编码并用信号通知给视频解码设备。
40.作为树结构的另一示例,当使用qtbt时,可存在两个分割类型,即节点的块水平分割(即,对称水平分割)和垂直分割(即,对称垂直分割)成相同大小的两个块。指示bt结构的各个节点是否被分割成下层的块的分割标志(split_flag)和指示分割类型的分割类型信息由编码器150编码并发送给视频解码设备。可存在附加类型,即将节点的块分割成两个不对称块。不对称分割类型可包括将块按1:3的大小比例分割成两个矩形块的类型以及对角地分割节点的块的类型。
41.cu可根据ctu的qtbt或qtbttt分割而具有各种大小。以下,与要编码或解码的cu(即,qtbttt的叶节点)对应的块被称为“当前块”。
42.预测器120预测当前块以生成预测块。预测器120包括帧内预测器122和帧间预测器124。
43.通常,画面中的各个当前块可被预测地编码。当前块的预测可使用(基于来自包含当前块的画面的数据执行的)帧内预测技术或(基于来自在包含当前块的画面之前编码的画面的数据执行的)帧间预测技术来执行。帧间预测包括单向预测和双向预测二者。
44.帧内预测器122使用包括当前块的当前画面中位于当前块周围的像素(参考像素)来预测当前块中的像素。根据预测方向存在多个帧内预测模式。例如,如图3所示,多个帧内预测模式可包括非定向模式(包括平面模式和dc模式)和65个定向模式。针对各个预测模式不同地定义邻近像素和所使用的方程。
45.帧内预测器122可确定要用于对当前块进行编码的帧内预测模式。在一些示例中,
帧内预测器122可使用多个帧内预测模式对当前块进行编码并且从所测试的模式选择适当帧内预测模式来使用。例如,帧内预测器122可使用多个测试的帧内预测模式的率失真分析来计算率失真值,并且可在所测试的模式当中选择具有最佳率失真特性的帧内预测模式。
46.帧内预测器122从多个帧内预测模式当中选择一个帧内预测模式,并且使用邻近像素(参考像素)和根据所选帧内预测模式确定的方程来预测当前块。关于所选帧内预测模式的信息由编码器150编码并发送给视频解码设备。
47.帧间预测器124通过运动补偿处理来生成当前块的预测块。帧间预测器在比当前画面早编码和解码的参考画面中搜索与当前块最相似的块,并且基于搜索到的块来生成当前块的预测块。然后,帧间预测器生成与当前画面中的当前块与参考画面中的预测块之间的位移对应的运动向量。通常,对亮度分量执行运动估计,并且基于亮度分量计算的运动向量用于亮度分量和色度分量二者。包括关于用于预测当前块的参考画面的信息和关于运动向量的信息的运动信息由编码器150编码并发送给视频解码设备。
48.减法器130通过从当前块减去由帧内预测器122或帧间预测器124生成的预测块来生成残差块。
49.变换器140将空域中具有像素值的残差块中的残差信号变换为频域中的变换系数。变换器140可使用当前块的总大小作为变换单元来变换残差块中的残差信号。另选地,变换器可将残差块分割为变换区域和非变换区域的子块,并且仅使用变换区域的子块作为变换单元来变换残差信号。这里,变换区域子块可以是基于水平轴(或垂直轴)具有1:1的大小比的两个矩形块之一。在这种情况下,指示仅该子块被变换的标志(cu_sbt_flag)、方向(垂直/水平)信息(cu_sbt_horizontal_flag)和/或位置信息(cu_sbt_pos_flag)由编码器150编码并用信号通知给视频解码设备。另外,变换区域子块的大小可基于水平轴(或垂直轴)具有1:3的大小比。在这种情况下,用于区分分割的标志(cu_sbt_quad_flag)由编码器150另外编码并用信号通知给视频解码设备。
50.量化器145对从变换器140输出的变换系数进行量化,并且将量化的变换系数输出到编码器150。
51.编码器150通过使用诸如基于上下文的自适应二进制算术码(cabac)的编码方法对量化的变换系数进行编码来生成比特流。编码器150对诸如与块分割有关的ctu大小、cu分割标志、qt分割标志、mtt分割方向和mtt分割类型的信息进行编码,使得视频解码设备按照与视频编码设备相同的方式分割块。
52.此外,编码器150对指示当前块通过帧内预测还是通过帧间预测进行编码的关于预测类型的信息进行编码,并且根据预测类型对帧内预测信息(即,关于帧内预测模式的信息)或帧间预测信息(关于参考画面和运动向量的信息)进行编码。
53.逆量化器160对从量化器145输出的量化的变换系数进行逆量化以生成变换系数。逆变换器165将从逆量化器160输出的变换系数从频域变换到空域并重构残差块。
54.加法器170将重构的残差块与预测器120所生成的预测块相加以重构当前块。重构的当前块中的像素用作下一块的帧内预测的参考像素。
55.滤波器单元180对重构像素进行滤波以减少由于基于块的预测和变换/量化而生成的块伪影、振铃伪影和模糊伪影。滤波器单元180可包括解块滤波器182和样本自适应偏移(sao)滤波器184。
56.解块滤波器180对重构块之间的边界进行滤波以去除由逐块编码/解码导致的块伪影,并且sao滤波器184另外对解块滤波的视频进行滤波。sao滤波器184是用于补偿由有损编码导致的重构像素与原始像素之间的差异的滤波器。
57.通过解块滤波器182和sao滤波器184滤波的重构块被存储在存储器190中。一旦一个画面中的所有块均被重构,重构画面就用作要编码的下一画面中的块的帧间预测的参考画面。
58.图4是能够实现本公开的技术的视频解码设备的示例性功能框图。以下,将参照图4描述视频解码设备和该设备的元件。
59.视频解码设备可包括解码器410、逆量化器420、逆变换器430、预测器440、加法器450、滤波器单元460和存储器470。
60.类似于图1的视频编码设备,视频解码设备的各个元件可被实现为硬件或软件,或者可被实现为硬件和软件的组合。另外,各个元件的功能可被实现为软件,并且微处理器可被实现为执行与各个元件对应的软件的功能。
61.解码器410通过将从视频编码设备接收的比特流解码并提取与块分割有关的信息来确定要解码的当前块,并且提取预测信息和关于重构当前块所需的残差信号的信息。
62.解码器410从序列参数集(sps)或画面参数集(pps)提取关于ctu大小的信息,确定ctu的大小,并且将画面分割成所确定大小的ctu。然后,解码器将ctu确定为最上层(即,树结构的根节点),并且提取关于ctu的分割信息以使用树结构分割ctu。
63.例如,当使用qtbttt结构分割ctu时,首先提取与qt分割有关的第一标志(qt_split_flag),并且各个节点被分割成下层的四个节点。然后,对于与qt的叶节点对应的节点,提取与mtt分割有关的第二标志(mtt_split_flag)和关于分割方向(垂直/水平)和/或分割类型(二元/三元)的信息,并且按mtt结构分割叶节点。这样,按bt或tt结构递归地分割qt的叶节点下方的各个节点。
64.作为另一示例,当使用qtbttt结构分割ctu时,首先提取指示cu是否被分割的cu分割标志(split_cu_flag)。如果对应块被分割,则提取qt分割标志(split_qt_flag)。当分割类型不是qt而是mtt时,另外提取指示mtt分割方向(垂直或水平)的标志(mtt_split_cu_vertical_flag)和/或指示mtt分割类型(二元或三元)的标志(mtt_split_cu_binary_flag)。在分割处理中,各个节点可经受递归qt分割零次或更多次,然后经受递归mtt分割零次或更多次。例如,ctu可被立即mtt分割,或者可仅被qt分割多次。
65.作为另一示例,当使用qtbt结构分割ctu时,第一标志(qt_split_flag)与qt分割有关,并且各个节点被分割成下层的四个节点。对于与qt的叶节点对应的节点,提取指示节点是否被进一步bt分割的split_flag和分割方向信息。
66.在通过树结构分割确定要解码的当前块时,解码器410提取指示当前块经受帧内预测还是帧间预测的关于预测类型的信息。当预测类型信息指示帧内预测时,解码器410提取当前块的帧内预测信息(帧内预测模式)的句法元素。当预测类型信息指示帧间预测时,解码器410提取帧间预测信息的句法元素,即,指示运动向量和运动向量所参考的参考画面的信息。
67.解码器410提取关于当前块的量化的变换系数的信息作为关于残差信号的信息。
68.逆量化器420对量化的变换系数进行逆量化,并且将逆量化的变换系数从频域逆
变换到空域以重构残差信号,以生成当前块的残差块。
69.另外,当逆变换器430仅对变换块的部分区域(子块)进行逆变换时,提取指示仅变换块的子块被变换的标志(cu_sbt_flag)以及关于子块的方向信息(垂直/水平)(cu_sbt_horizontal_flag)和/或子块位置信息(cu_sbt_pos_flag)。然后,通过将子块的变换系数从频域逆变换到空域来重构残差信号。对于未逆变换的区域,利用“0”填充残差信号。由此,创建当前块的最终残差块。
70.预测器440可包括帧内预测器442和帧间预测器444。当当前块的预测类型是帧内预测时,启用帧内预测器442,当当前块的预测类型是帧间预测时,启用帧间预测器444。
71.帧内预测器442基于从解码器410提取的帧内预测模式的句法元素在多个帧内预测模式当中确定当前块的帧内预测模式,并且根据帧内预测模式基于当前块周围的参考像素来预测当前块。
72.帧间预测器444基于从解码器410提取的帧内预测模式的句法元素来确定当前块的运动向量和运动向量所参考的参考画面,并且基于运动向量和参考画面来预测当前块。
73.加法器450通过将从逆变换器输出的残差块与从帧间预测器或帧内预测器输出的预测块相加来重构当前块。重构的当前块中的像素用作稍后要解码的块的帧内预测的参考像素。
74.滤波器单元460可包括解块滤波器462和sao滤波器464。解块滤波器462对重构块之间的边界执行解块滤波以去除由逐块解码导致的块伪影。sao滤波器464在解块滤波之后对重构块执行附加滤波,以便对由有损编码导致的重构像素与原始像素之间的差异进行补偿。通过解块滤波器462和sao滤波器464滤波的重构块被存储在存储器470中。当一个画面中的所有块均被重构时,重构画面用作此后要编码的画面中的块的帧间预测的参考画面。
75.在hevc国际标准中有两种类型的方法来划分画面(图像或屏幕)以用于并行处理。一个是切片划分方法,另一个是拼块划分方法。
76.1)切片划分方法提供了将画面划分成ctu并按照光栅扫描顺序对ctu进行编码/解码的功能。在一个切片中可存在多个切片段,并且存在两种类型的切片段。切片段的类型包括独立切片段和从属切片段。
77.独立切片段是在帧内预测、帧间预测、编码模式和熵编码时不依赖于另一切片的切片段。独立切片段具有头信息。从属切片段是在帧内预测、帧间预测、编码模式和熵编码时依赖于另一切片(参考另一在前独立切片段)的切片段。对于从属切片段的头信息的大部分,从属切片段参考在前独立切片段的头信息。换言之,仅用信号通知从属切片段的头信息的一部分。
78.图5的(a)示出从画面划分的两个切片,这两个切片可通过切片边界分离。一个切片可包括一个独立切片段和零个或更多个从属切片段。画面上部的第一切片具有通过虚线分离的一个独立切片段和两个从属切片段。画面下部的第二切片仅具有一个独立切片段(包括零个从属切片段)。
79.表1和表2示出切片划分方法的句法结构。
80.[表1]
[0081][0082]
[表2]
[0083][0084]
表1示出指示是否允许使用从属切片段的标志(dependent_slice_segments_enabled_flag)。该标志可由pps定义。表2示出切片段头信息。
[0085]
如表2所示,首先用信号通知指示特定切片段是否为画面中的第一切片段的标志(first_slice_segment_in_pic_flag)。第一切片段成为独立切片段。对于第一切片段以外的切片段,用信号通知指示切片段是否为从属切片段的标志(dependent_slice_segment_flag)。另外,一起用信号通知相关切片段的地址(slice_segment_address)。这里,slice_
segment_address意指相关切片段中的第一ctu的索引值。
[0086]
2)拼块划分方法提供通过基于ctu将画面分段/划分成多个列和多个行来对画面进行编码/解码的功能。画面可基于均匀划分方案或单独(非均匀)划分方案划分成拼块。
[0087]
各个划分拼块在帧内预测和熵编码期间不依赖于其它拼块,并且对环路滤波的依赖可由pps中定义的标志控制。不存在用于拼块的单独头。
[0088]
图5的(b)示出划分成3
×
3拼块的画面,并且各个拼块可通过拼块边界(列边界和行边界)分离。多个拼块可按光栅扫描顺序编码/解码,并且一个拼块中的多个ctu也可按光栅扫描顺序编码/解码。各个ctu中所示的数字指示执行编码/解码的顺序。
[0089]
表3中示出拼块划分方法的句法结构。
[0090]
[表3]
[0091][0092]
如表3所示,在pps中定义并用信号通知指示拼块划分的开/关(on/off)的标志(tiles_enabled_flag)。当相关标志为on时,另外用信号通知指定拼块大小的句法元素。
[0093]
指定拼块大小的句法元素可包括:num_tile_columns_minus1,其指示通过从在垂直方向上划分的拼块数量(拼块列的数量)减去1而获得的值;num_tile_rows_minus1,其指示通过从在水平方向上划分的拼块数量(拼块行的数量)减去1而获得的值;以及uniform_spacing_flag,其指示画面是否在水平方向和垂直方向上均匀划分。
[0094]
当画面未均匀地划分(uniform_spacing_flag=off)时,另外用信号通知拼块列的宽度信息(column_width_minus1)和拼块行的高度信息(row_height_minus1)。另外,用信号通知指示是否在拼块之间的边界处应用环路滤波的标志(loop_filter_across_tiles_enabled_flag)。
[0095]
图6示出上述切片划分方法和拼块划分方法之间的差异。图6的(a)示出根据切片划分方法划分的切片(总共4个切片),图6的(b)示出根据拼块划分方法划分的拼块(总共4个拼块)。各个数字表示ctu的数量。
[0096]
在划分切片之间可仅存在水平边界。相反,在划分拼块之间可存在水平边界和垂直边界。
[0097]
本公开提出了用于各种目的的图像划分方法。
[0098]
具体地,本公开提出了1)用于合成不同序列的子画面划分方法、2)用于比特流打包的切片划分方法、3)用于并行处理的拼块划分方法以及4)用于表达用于与其它序列合成的子画面的布局信息和能够配置布局信息的表达方法的方法。
[0099]
拼块、切片和子画面
[0100]
在详细描述本公开之前,定义从画面划分或分割的拼块、切片和子画面。
[0101]
拼块意指通过将画面划分成子区域以并行处理画面而获得的画面区域。拼块形成在帧内预测和熵编码期间拼块独立地操作的结构。换言之,拼块在帧内预测期间不共享参考样本,并且在熵编码期间不共享上下文。是否对拼块之间的边界应用环路滤波可通过单独的标志来控制。
[0102]
切片意指配置一个独立网络抽象层(nal)比特流的数据打包单元。在一个切片中可包括多个拼块,或者在一个拼块中可包括多个切片。
[0103]
切片可具有两个类型。第一类型是具有相似特性的拼块或任意拼块被指定为一个区域的矩形切片,第二类型是拼块或ctu被指定为特定位置的一个区域而拼块或ctu的编码/解码按光栅扫描顺序进行的光栅扫描切片(非矩形形状)。在后一种情况下,拼块被指定为特定位置的一个区域而编码/解码以拼块为单位进行的光栅扫描切片是“基于拼块的光栅扫描切片”,ctu被指定为特定位置的一个区域而编码/解码以ctu为单位进行的光栅扫描切片是“基于ctu的光栅扫描切片”。
[0104]
图7中示出矩形切片和光栅扫描切片的示例。在图7中,通过虚线分离的区域表示ctu,通过直线分离的区域表示拼块,通过点划线分离的区域表示切片。
[0105]
如图7的(a)所示,一个画面可被划分成总共216(18
×
12)个ctu、总共24(6
×
4)个拼块和总共9个矩形切片。如图7的(b)所示,一个画面可被划分成总共216(18
×
12)个ctu、总共12(3
×
4)个拼块和总共3个光栅扫描切片。
[0106]
子画面是指指定用于与其它内容合成的区域。子画面可包括至少一个切片。
[0107]
图8示出不同内容以子画面为单位合成的示例。右上方填充有斜线的区域意指内容1中的画面。填充有水平线图案的区域意指内容2中的画面。填充有垂直线图案的区域意指内容3中的画面。
[0108]
如图8的左侧所示,各个画面可由四个切片组成,并且可为各个切片单元生成比特流。另外,各个切片可被定义为子画面。以切片为单位物理地生成的比特流被输入至比特流提取器和合并器(beamer)并经历提取和合成处理。这里,提取和合成处理的逻辑单元是子画面。结果,从合成生成新画面,其中左上部是内容1,左下部是内容2,右部是内容3。
[0109]
beamer从不同的内容提取以切片为单位生成的比特流并且以子画面为单位合成所提取的比特流。为此,各个内容的画面被划分成子画面。换言之,子画面是包括用于内容合成的至少一个切片的区域。
[0110]
图9中示出能够实现本公开的方法的解码器410的示例性框图。解码器410可包括解码执行单元910、划分器920、映射单元930和配置单元940。
[0111]
视频编码设备可确定画面是否被划分成一个或更多个子单元,对结果(分割标志)进行编码,并用信号通知编码结果。解码执行单元910可从比特流解码分割标志(s1010)并且基于分割标志来确定画面是否被划分成子单元。
[0112]
从画面分割的子单元可包括ctu、拼块、切片和子画面。换言之,画面可被划分成ctu、拼块、切片和子画面。
[0113]
分割标志可指示画面是否被划分成子单元或者是否对画面应用划分。分割标志可以是指示画面是否被划分成一个或更多个子画面的子画面标志或者指示是否对画面应用划分的分区许可信息。分割标志的具体细节将参照各个实施方式来描述。
[0114]
当分割标志指示对画面应用划分(画面被划分成子单元)时,视频编码设备可对画面的分区相关信息(分区信息)进行编码并用信号通知。当分割标志指示对画面应用划分时,解码执行单元910可从比特流将分区信息解码(s1020)。
[0115]
分区信息可包括关于从画面划分的子单元的数量的信息(数量信息)和关于大小的信息(大小信息)。另外,分区信息还可包括关于子单元的位置的信息(位置信息)。
[0116]
划分器920可基于分区信息(使用分区信息)将画面划分成一个或更多个子单元(s1030)。
[0117]
画面划分
[0118]
用于划分画面的方法可包括1)将画面划分成固定大小的ctu的处理、2)将画面划分成包括至少一个或更多个ctu的拼块以用于并行处理的处理以及3)将画面划分成切片以用于生成比特流的处理。另外,用于划分画面的方法还可包括4)将画面划分成多个子画面以用于内容合成的处理。
[0119]
1)画面可被划分成ctu。如表4所示,视频编码设备可在sps和pps之间的一个或更多个级别定义并用信号通知ctu的大小;并且视频解码设备可将ctu的大小解码并确定ctu大小。
[0120]
[表4]
[0121][0122]
可在视频编码设备和视频解码设备处相等地限制ctu的最小大小和最大大小。表4示出ctu的最小大小被设定为32(2的5次方)的示例。
[0123]
2)画面可被划分成拼块。拼块可包括至少一个或更多个ctu。换言之,拼块的大小(宽度和高度)可被表示为ctu大小的倍数(拼块可以ctu的倍数为单位划分)。
[0124]
图11的(a)示出画面被划分成3
×
2拼块的示例。各个拼块上指示的数字意指对应拼块的索引值,并且可基于画面如何划分成拼块按光栅扫描顺序指派拼块索引。除了按光栅扫描顺序指派拼块索引值之外,还可基于特定规则来导出拼块索引值。特定规则将稍后描述。
[0125]
3)画面可被划分成切片。可划分画面,使得在一个切片中包括多个拼块,或者在一个拼块中包括多个切片。换言之,可使用拼块来执行切片划分。
[0126]
图11的(b)示出画面被划分成总共6个切片的示例。各个切片上指示的数字意指对应切片的索引值,并且可基于画面如何划分成切片按光栅扫描顺序指派切片索引。可执行切片划分,使得图11的(b)的切片0包括图11的(a)的拼块0和拼块1,图11的(b)的切片1和2
包括在图11的(a)的拼块2中,图11的(b)的切片3和5包括在图11的(a)的拼块3中,图11的(b)的切片4包括图11的(a)的拼块4和5。
[0127]
除了按光栅扫描顺序指派切片索引值之外,还可基于特定规则来导出切片索引。特定规则将稍后描述。图11的(b)中的总共六个切片中的每一个可被打包到比特流中,如图11的(c)所示。
[0128]
4)画面可被划分成子画面。子画面可包括至少一个切片。
[0129]
图12示出画面被划分成总共5个子画面的示例。图12的(a)示出索引值(0至3)被指派给子画面的示例,12的(b)示出标识符(id)值(a至d)被指派给子画面的示例。
[0130]
可基于画面如何划分成子画面按光栅扫描顺序指派子画面的索引值。画面可被划分成子画面,使得图12的(a)的子画面0包括图11的(b)的切片0并且图12的(a)的子画面1包括图11的(b)的切片1和2。
[0131]
为了区分子画面的id值与子画面的索引值,子画面的id值可具有比画面内的子画面的索引值允许的值更大的值。例如,当数字0至3被指派给图12的(a)的索引值时,子画面的id值(图12的(b)的a至d)可被设定为超过3的值。
[0132]
基于上述用于划分画面的方法,可以看出拼块、切片和子画面的大小全部为ctu的倍数。
[0133]
实施方式1
[0134]
实施方式1涉及一种使用sps中定义的句法元素将画面划分成子画面的方法。实施方式1提出了与子画面划分有关的句法结构和语义。
[0135]
实施方式1-1
[0136]
视频编码设备可确定画面中是否存在子画面(画面是否被划分成子画面),对作为关于确定结果的信息的子画面标志(subpic_present_flag或subpic_info_present_flag)进行编码,并且用信号通知编码的子画面标志。视频解码设备对subpic_info_present_flag进行解码(s1310)并且基于subpic_info_present_flag值确定是否存在子画面(s1320)。
[0137]
subpic_info_present_flag可指示画面内是否存在子画面、是否存在子画面参数或者是否执行子画面划分。当subpic_info_present_flag=0时,指示不存在子画面,而当subpic_info_present_flag=1时,指示存在子画面。子画面标志可以是subpics_present_flag。
[0138]
在存在子画面的情况下,视频编码设备可对关于子画面的数量的信息(num_subpics_in_pic_minus1)进行编码并用信号通知编码的信息。视频解码设备可对num_subpics_in_pic_minus1进行解码(s1330)并基于num_subpics_in_pic_minus1确定子画面的数量。
[0139]
num_subpics_in_pic_minus1是表示通过从画面中存在的子画面的数量减去1而获得的值的句法元素。在不存在num_subpics_in_pic_minus1的情况下,对应句法元素的值可被推断为0。num_subpics_in_pic_minus1也可由num_subpics_minus1实现。
[0140]
由于在一个画面中可存在至少两个子画面,所以子画面的数量可由通过从画面中存在的子画面的数量减去2而获得的值(num_subpics_in_pic_minus2)实现。
[0141]
视频编码设备可对与子画面的数量一样多的指示各个子画面的位置和大小的信
息(子画面的位置信息和大小信息)进行编码并用信号通知编码的信息。视频解码设备可对与子画面的数量一样多的指示子画面的位置和大小的信息进行解码(s1340)并基于相关信息确定各个子画面的位置和大小。
[0142]
子画面的位置信息可由子画面中左上位置的ctu的索引值(例如,topleft_ctu_idx)或由表示左上位置的ctu的水平位置和垂直位置的坐标(例如,subpic_ctu_top_left_x和subpic_ctu_top_left_y)表示。
[0143]
子画面的大小信息可由相对于左上ctu指示子画面的宽度和高度的值(例如,subpic_width和subpic_height)(即,在水平方向和垂直方向上相关子画面中所包括的ctu的数量)表示或者由通过从宽度和高度减去1而获得的值(例如,subpic_width_minus1和subpic_height_minus1)表示。子画面的大小信息可由相关子画面的右下位置的ctu的索引值(bottomright_ctu_idx)表示。
[0144]
视频解码设备可基于解码的句法元素(关于子画面的数量的信息、子画面的位置信息和子画面的大小信息)将画面划分成子画面。
[0145]
此外,可在sps处定义并用信号通知子画面的映射信息。
[0146]
映射可指将子画面与切片关联。映射信息用于将子画面与切片关联并且可包括子画面的id(subpic_id)和id的长度信息(subpic_id_lens_minus1)。映射信息也可被称为子画面的配置信息。
[0147]
视频编码设备可对映射信息进行编码并用信号通知,视频解码设备可从比特流对映射信息进行解码s1370。映射单元930可基于映射信息将子画面映射至切片。
[0148]
基于实施方式,可基于指示是否执行子画面的id映射的映射标志来确定执行映射。
[0149]
在上述实施方式中,视频编码设备可对映射标志进行编码并用信号通知。视频解码设备可对映射标志进行解码(s1350)并且基于解码的映射标志确定是否执行id映射(s1360)。
[0150]
映射标志可由指示是否用信号通知子画面的id的signaled_subpic_id_flag或指示是否允许子画面的映射的subpic_mapping_enabled_flag实现。另选地,映射标志可按照包括指示是否在sps中执行id映射的sps_subpic_id_present_flag和指示是否在sps中用信号通知映射信息的sps_subpic_id_signalling_present_flag的形式实现。
[0151]
当映射标志指示执行映射时,视频编码设备可对与子画面的数量(subpic_id[i])一样多的子画面id(subpic_id)进行编码并用信号通知。当映射标志指示执行映射时,视频解码设备可对与子画面的数量(subpic_id[i])一样多的子画面id(subpic_id)进行解码(s1370)并且可将子画面映射至切片。
[0152]
表5示出实施方式1-1的句法结构。表5中的for循环可按光栅扫描顺序执行。
[0153]
[表5]
[0154][0155]
表5的subpic_treated_as_pic_flag是指示是否将子画面的边界当作画面边界的句法元素。例如,subpic_treated_as_pic_flag可指示在帧间预测期间将子画面的边界视为画面边界(通过填充边界像素值)。表5的loop_filter_across_subpic_enabled_flag是指示是否对子画面之间的边界应用环路滤波的句法元素。
[0156]
视频编码设备可对与子画面的数量一样多的subpic_treated_as_pic_flags和loop_filter_across_subpic_enabled_flags进行编码并用信号通知。视频解码设备对与子画面的数量一样多的subpic_treated_as_pic_flags和loop_filter_across_subpic_enabled_flags进行解码并基于subpic_treated_as_pic_flag和loop_filter_across_subpic_enabled_flag确定是否将子画面的边界当作画面边界以及是否对子画面之间的边界应用环路滤波。
[0157]
以下示出通过对图12的(b)所示的子画面划分示例应用实施方式1-1而获得的结果。
[0158]
subpic_info_present_flag=true(1),num_subpics_in_pic_minus1=3(num_subpics_in_pic_minus2=2),signalled_subpic_id_flag=true(1),subpic_id={a,b,c,d}(光栅扫描顺序)。
[0159]
实施方式1-2
[0160]
实施方式1-2涉及一种独立于映射标志(例如,signaled_subpic_id_flag)用信号通知子画面id的方法。
[0161]
在示例1-2中,s1350和s1360步骤以外的处理可按照与示例1-1中相同的方式执行。
[0162]
具体地,视频编码设备可用信号通知子画面id而不用信号通知映射标志。视频解码设备可对子画面id进行解码而不对映射标志进行解码,即,除了s1350和s1360步骤之外(s1370)。
[0163]
表6中示出实施方式1-2的句法结构。表6中的for循环可按光栅扫描顺序执行。
[0164]
[表6]
[0165][0166]
实施方式1-3
[0167]
实施方式1-3涉及一种独立于映射标志与子画面的位置信息和大小信息一起用信号通知子画面id的方法。
[0168]
在实施方式1-3中,从实施方式1-1的步骤当中排除s1350和s1360步骤,并且s1340和s1370步骤可一起执行。
[0169]
具体地,在对关于子画面的数量的信息进行编码并用信号通知之后,视频编码设备可与子画面的位置信息和大小信息一起用信号通知子画面id。在对关于子画面的数量的信息进行解码之后(s1330),视频解码设备可与子画面的位置信息和大小信息一起对子画面id进行解码(s1340和s1370)。
[0170]
表7示出实施方式1-3的句法结构。表7的for循环可按光栅扫描顺序执行。
[0171]
[表7]
[0172][0173]
实施方式1-4
[0174]
实施方式1-4涉及一种与子画面id一起用信号通知子画面id的长度信息的方法。
[0175]
子画面id的长度信息指示用于表示子画面id的比特数并且可按照signalled_subpic_id_length_minus1或subpic_id_len_minus1的形式实现。子画面id可使用与子画面id的长度信息所指示一样多的比特来表示。
[0176]
当映射标志指示执行id映射时,视频编码设备可对子画面id的长度信息和子画面id进行编码并用信号通知。当映射标志指示执行id映射时(s1360),视频解码设备可对子画面id和子画面id的长度信息进行解码(s1370)。
[0177]
表8示出实施方式1-4的句法结构。表8的for循环可按光栅扫描顺序执行。
[0178]
[表8]
[0179]
[0180]
实施方式1-5
[0181]
实施方式1-5涉及一种不在sps中执行映射信息的信令的方法。
[0182]
因此,实施方式1-5可从实施方式1-1的步骤当中排除与映射信息的信令有关的s1350、s1360和s1370步骤。
[0183]
表9示出实施方式1-5的句法结构。表9的for循环可按光栅扫描顺序执行。
[0184]
[表9]
[0185][0186]
实施方式2
[0187]
实施方式2涉及一种用于将画面划分成拼块的方法。实施方式2提出了与拼块划分有关的句法结构和语义。可在pps或画面头的级别定义拼块划分的句法元素。
[0188]
视频编码设备可确定是否对画面应用划分并以分区许可信息(分割标志)的形式用信号通知确定结果。视频解码设备可对分区许可信息进行解码(s1410、s1430)并确定是否应用划分(s1420、s1440)。
[0189]
分区许可信息指示画面是否被划分并且可由single_tile_in_pic_flag实现。例如,当single_tile_in_pic_flag=1时,指示画面不被划分成拼块,而当single_tile_in_pic_flag=0时,指示画面被划分成多个拼块。
[0190]
分区许可信息也可由no_partition_flag和single_tile_in_pic_flag的组合实现。当no_partition_flag=1时,指示不对画面应用划分,而当no_partition_flag=0时,指示对画面应用划分。在这种情况下,当single_tile_in_pic_flag=1时,指示画面被划分成一个拼块,而当single_tile_in_pic_flag=0时,指示画面被划分成多个拼块。
[0191]
分区许可信息也可基于no_partition_flag和single_tile_in_pic_flag的组合
由单个句法元素no_pic_partition_flag实现。在这种情况下,当no_pic_partition_flag=1时,指示不对画面应用分区,而当no_pic_partition_flag=0时,指示画面被划分成多个拼块。
[0192]
当分区许可信息指示应用划分时,视频编码设备可确定划分拼块的数量并且对关于拼块数量的信息进行编码并用信号通知。当分区许可信息指示应用划分时,视频解码设备可对关于拼块数量的信息进行解码(s1450)并基于解码的关于拼块数量的信息来设定拼块数量。
[0193]
关于拼块数量的信息可包括在垂直方向上划分的拼块数量(拼块列的数量)和在水平方向上划分的拼块数量(拼块行的数量)。拼块列的数量可由通过从实际划分的拼块列的数量减去1而获得的值(num_tile_colums_minus1或num_exp_tile_columns_minus1)表示。拼块行的数量可由通过从实际划分的拼块行的数量减去1而获得的值(num_tile_rows_minus1或num_exp_tile_rows_minus1)表示。
[0194]
视频编码设备可识别各个拼块列和各个拼块行的大小并且对关于拼块列和拼块行的大小的信息(拼块大小信息)进行编码并用信号通知。视频解码设备可对拼块的大小信息进行解码(s1460)。拼块列和拼块行的大小可基于解码的拼块大小信息来设定。
[0195]
拼块列的大小信息可基于相关拼块列中的左上位置的ctu由相关拼块列的宽度值(ctu的数量)表示(tile_column_width_minus1)。拼块行的大小信息可基于相关拼块行中的左上位置的ctu由相关拼块行的高度值(ctu的数量)表示(tile_row_height_minus1)。
[0196]
由于可推断最后拼块列的宽度而无需单独的定义,所以可用信号通知拼块列的大小信息与通过从拼块列的数量减去1而获得的数一样多次。由于可推断最后拼块行的高度而无需单独的定义,所以可用信号通知拼块行的大小信息与通过从拼块行的数量减去1而获得的数一样多次。
[0197]
实施方式2-1
[0198]
实施方式2-1涉及一种分区许可信息由single_tile_in_pic_flag实现的方法。
[0199]
视频编码设备可对single_tile_in_pic_flag进行编码并用信号通知。当single_tile_in_pic_flag=1时(s1440),由于不应用拼块划分,所以视频解码设备可不执行s1450和s1460步骤。另一方面,当single_tile_in_pic_flag=0时(s1440),由于应用拼块划分,所以视频解码设备可通过执行s1450和s1460步骤将画面划分成拼块。
[0200]
表10示出实施方式2-1的句法结构的示例。表10的for循环可按光栅扫描顺序执行。
[0201]
[表10]
[0202][0203]
实施方式2-2
[0204]
实施方式2-2涉及一种分区许可信息由no_partition_flag和single_tile_in_pic_flag实现的方法。
[0205]
视频编码设备可对no_partition_flag进行编码并用信号通知,并且当no_partition_flag=0时,可对single_tile_in_pic_flag进行编码并用信号通知。视频解码设备可对no_partition_flag进行解码(s1410)并且确定是否已对画面应用划分(s1420)。
[0206]
由于当no_partition_flag=1时(s1420)不应用拼块划分,所以视频解码设备可不执行后续步骤。不同于上述操作,当no_partition_flag=0时s1420,视频解码设备可对single_tile_in_pic_flag进行解码(s1430)并确定single_tile_in_pic_flag的值(s1440)。
[0207]
由于当single_tile_in_pic_flag=1时(s1440)画面被划分成一个拼块,所以视频解码设备可不执行s1450和s1460步骤。不同于上述操作,当single_tile_in_pic_flag=0时(s1440),由于应用拼块划分,所以视频解码设备可通过执行s1450和s1460步骤将画面划分成多个拼块。
[0208]
表11示出实施方式2-2的句法结构的示例。表11的for循环可按光栅扫描顺序执行。
[0209]
[表11]
[0210][0211]
在表11的示例中,当no_partition_flag=1时,由于不应用拼块划分,所以无法针对相关画面执行矩形切片划分或配置。然而,可以ctu为单位执行光栅扫描切片划分或配置。当single_tile_in_pic_flag=1时,由于画面被划分成一个拼块,所以可基于一个拼块配置一个或更多个切片。另一方面,当single_tile_in_pic_flag=0时,由于画面被划分成多个拼块,所以可基于多个拼块配置矩形切片。在这种情况下,也可以拼块为单位配置光栅扫描切片。
[0212]
图11的(a)所示的拼块分区示例的实施方式2-1的句法元素的值如下。
[0213]
single_tile_in_pic_flag=false(0),num_tile_colums_minus1=2,并且num_tile_rows_minus1=1
[0214]
实施方式3
[0215]
实施方式3涉及一种使用拼块来划分切片的方法。通过实施方式3要划分的切片类型为矩形切片。实施方式3提出了与切片划分有关的句法结构和语义。切片划分的句法元素可在pps或画面头的级别定义。
[0216]
实施方式3-1
[0217]
视频编码设备可确定从画面划分的切片类型并通过类型标志rect_slice_flag用信号通知确定结果。视频解码设备可对类型标志进行解码(s1530)并基于类型标志来确定切片类型(s1540)。
[0218]
类型标志可指示切片类型是否为矩形切片。当rect_slice_flag=0时,可指示光栅扫描切片,当rect_slice_flag=1时,可指示矩形切片。
[0219]
当存在子画面时(subpic_info_present_flag=1),rect_slice_flag可不用信号通知并且可被推断为“1”。换言之,当切片是矩形切片时,可执行子画面划分。当rect_slice_flag不存在并且subpic_info_present_flag=1时,rect_slice_flag可被推断为1(rect_slice_flag=1),当rect_slice_flag不存在并且subpic_info_present_flag=0时,rect_slice_flag可被推断为0(rect_slice_flag=0)。
[0220]
在矩形切片的情况下,视频编码设备可对指示拼块和切片之间的关系的关系标志(single_tile_per_slice_flag)进行编码并用信号通知。视频解码设备可对single_tile_per_slice_flag进行解码(s1550)并使用single_tile_per_slice_flag确定拼块和切片之间的关系(s1560)。
[0221]
由于当single_tile_per_slice_flag=1时拼块和切片具有一对一关系,所以不用信号通知附加切片分区信息,并且拼块分区信息可用作切片分区信息。在这种情况下,视
频解码设备可基于拼块分区信息将画面划分成一个或更多个切片。
[0222]
当single_tile_per_slice_flag=0时,指示一个切片包括多个拼块或在一个拼块中包括多个切片的关系;因此,用信号通知附加切片分区信息。
[0223]
视频编码设备可对关于画面中的切片数量的信息(num_slices_in_pic_minus1)和关于多个切片是否构成一个拼块的信息(more_than_one_slice_in_tile_flag[i])进行编码并用信号通知。在对num_slices_in_pic_minus1进行解码之后(s1570),视频解码设备可对与切片数量一样多的more_than_one_slice_in_tile_flag[i]元素进行解码s1580。
[0224]
当more_than_one_slice_in_tile_flag=1时,可指示多个切片构成一个拼块,当more_than_one_slice_in_tile_flag=0时,可指示一个切片包括一个或更多个拼块。
[0225]
当more_than_one_slice_in_tile_flag=1时,指示在相关拼块中包括多个切片;因此,可用信号通知关于包括在拼块中的切片数量的信息(num_slices_in_tile_minus1)以及包括在拼块中的切片的大小信息(slice_height_in_ctus_minus1)。
[0226]
num_slices_in_tile_minus1表示通过从包括在相关拼块中的切片数量减去1而获得的值。由于在一个拼块中可存在至少两个切片,所以num_slices_in_tile_minus1可改变为num_slices_in_tile_minus2。slice_height_in_ctus_minus1表示通过从包括在相关拼块中的各个切片的高度值(ctu的数量)减去1而获得的值。这里,可推断最后切片的高度。
[0227]
在对关于切片数量的信息(num_slices_in_tile_minus1)进行解码之后(s1592),视频解码设备可对与切片数量一样多的切片的大小信息(slice_height_in_ctus_minus1)进行解码(s1594)。
[0228]
当more_than_one_slice_in_tile_flag=0时,在一个切片中可包括一个或更多个拼块。在这种情况下,视频编码设备可对基于包括在相关切片中的拼块数量表示相关切片的大小的大小信息(切片的大小信息)进行编码并用信号通知。视频解码设备可对基于拼块数量表示的切片的大小信息进行解码(s1596)。
[0229]
基于拼块数量表示的切片大小信息可由slice_width_in_tiles_minus1[i]和slice_height_in_tiles_minus1[i]组成。slice_width_in_tiles_minus1表示关于属于相关切片的拼块的拼块列数量的信息(通过从拼块列的数量减去1而获得的值)。slice_height_in_tiles_minus1表示关于属于相关切片的拼块的拼块行数量的信息(通过从拼块行的数量减去1而获得的值)。
[0230]
表12示出实施方式3-1的句法结构的示例。表12中的for循环可按光栅扫描顺序执行。
[0231]
[表12]
[0232][0233]
实施方式3-2
[0234]
实施方式3-2涉及一种另外使用分区许可信息(分割标志,no_partition_flag)来划分切片的方法。这里,分区许可信息指示画面是否被划分成多个切片;当no_partition_flag=1时,指示画面不被划分成切片,而当no_partition_flag=0时,指示画面被划分成多个切片。
[0235]
视频编码设备可确定画面是否被划分成多个切片,将确定结果设定为分区许可信息的值,并且用信号通知设定的信息。视频解码设备可对分区许可信息进行解码(s1510)并基于分区许可信息确定是否执行切片划分(s1520)。
[0236]
当no_partition_flag=0时,画面被划分成切片;因此,可执行切片划分步骤(s1530至s1596步骤)。然而,当no_partition_flag=1时,画面不被划分成切片;因此,可不执行s1530至s1596的步骤。换言之,可不执行切片划分。
[0237]
表13示出实施方式3-2的句法结构的示例。表13的for循环可按光栅扫描顺序执行。
[0238]
[表13]
[0239][0240]
图11的(b)所示的切片分区示例的实施方式3-1的句法元素的值如下。
[0241]
rect_slice_flag=true(1),single_tile_per_slice_flag=false(0),num_slices_in_pic_minus1=5
[0242]
{more_than_one_slice_in_tile_flag=0,slice_width_in_tiles_minus1=1,slice_height_in_tiles_minus1=0}
[0243]
{more_than_one_slice_in_tile_flag=1,num_slices_in_tile_minus1=1(num_slices_in_tile_minus2=0),slice_height_in_ctus_minus1=ctu的数量}
[0244]
{more_than_one_slice_in_tile_flag=1,num_slices_in_tile_minus1=1(num_slices_in_tile_minus2=0),slice_height_in_ctus_minus1=ctu的数量}
[0245]
{more_than_one_slice_in_tile_flag=0,slice_width_in_tiles_minus1=1,slice_height_in_tiles_minus1=0}
[0246]
图16示出在基于上述切片划分方法形成切片的同时通过指派或推导切片索引而获得的结果。
[0247]
可注意到,图16的切片索引推导结果不同于图11的(b)的切片索引推导结果(光栅扫描顺序)。具体地,图11的(b)的切片索引4被推导为图16中的索引5,图11的(b)的切片索引5被推导为图16中的索引4。
[0248]
图16的切片索引推导结果是基于上述特定规则获得的,其中特定规则可意指实施方式3的切片划分方法。
[0249]
实施方式4
[0250]
实施方式4涉及一种用信号通知子画面的映射信息的方法。实施方式4提出了与用信号通知映射信息的方法有关的句法结构和语义。
[0251]
可存在用信号通知映射信息的两个情况。第一种情况涉及子画面配置贯穿内容保持不变的情况,第二种情况涉及子画面配置在内容的中间改变的情况。
[0252]
当子画面配置不改变时,可在sps的级别用信号通知子画面的映射信息。例如,当在sps中用信号通知子画面的位置和大小时,也可用信号通知子画面的映射信息(实施方式1)。
[0253]
在子画面配置改变和不改变的两种情况下,可在画面头或pps用信号通知子画面的映射信息。换言之,可在sps用信号通知子画面的位置信息和大小信息,并且可在画面头、pps、切片头和sei中的一个或更多个处用信号通知子画面的映射信息。
[0254]
由于在实施方式1中已描述了在sps用信号通知映射信息的示例,所以下面将描述在pps用信号通知映射信息的示例。
[0255]
视频编码设备可基于是否存在映射信息(subpic_id)(或是否用信号通知subpic_
id)来设定映射标志的值并且对映射标志进行编码并用信号通知。视频解码设备可对映射标志进行解码(s1730)并基于解码的映射标志确定是否存在subpic_id(或是否用信号通知subpic_id)(s1740)。
[0256]
如上所述,映射标志可由指示是否用信号通知子画面的id的signaled_subpic_id_flag或指示是否允许子画面映射的subpic_mapping_enabled_flag实现。当subpic_mapping_enabled_flag=0时,可意指使用sps中定义的映射信息,而当subpic_mapping_enabled_flag=1时,可意指使用pps中定义的映射信息。
[0257]
另外,映射标志可按照包括指示是否在sps中执行id映射的sps_subpic_id_present_flag、指示是否在sps用信号通知映射信息的sps_subpic_id_signalling_present_flag和指示是否在pps用信号通知映射信息的pps_subpic_id_signalling_present_flag的方式实现。在这种情况下,当sps_subpic_id_present_flag=1并且sps_subpic_id_signalling_present_flag=0时,可用信号通知pps_subpic_id_signalling_present_flag。
[0258]
当映射标志指示存在subpic_id(即,指示应用映射)时,视频编码设备可对subpic_id进行编码并用信号通知。当映射标志指示存在subpic_id时,视频解码设备可对subpic_id进行解码(s1760)。视频解码设备可对与子画面或切片的数量一样多的subpic_id进行解码。
[0259]
根据实施方式,除了subpic_id之外,映射信息还可包括subpic_id的长度信息(signalled_subpic_id_length_minus1或subpic_id_len_minus1)。
[0260]
当映射标志指示存在映射信息时(s1740),长度信息可从视频编码设备用信号通知并由视频解码设备解码(s1750)。
[0261]
根据实施方式,是否执行用信号通知映射信息的处理可基于画面中是否存在子画面以及切片类型是否为矩形切片来确定。
[0262]
视频解码设备可对从视频编码设备用信号通知的subpic_info_present_flag和rect_slice_flag进行解码(s1710)并且基于subpic_info_present_flag和rect_slice_flag确定是否存在子画面以及切片类型是否为矩形切片(s1720)。当存在子画面并且切片类型是矩形切片时,可执行上述映射信息信令处理(s1730至s1760);然而,当不存在子画面或者切片类型不是矩形切片时,可不执行映射信息信令处理。
[0263]
表14和表15示出实施方式4的两个句法结构。表14示出对与子画面的数量一样多的subpic_id用信号通知并解码。表15示出对与切片数量一样多的subpic_id用信号通知并解码。
[0264]
[表14]
[0265][0266]
[表15]
[0267][0268]
解码的subpic_id可按特定顺序布置与子画面数量一样多或与切片数量一样多。这里,特定顺序可以是参照图16描述的光栅扫描顺序或切片配置顺序。
[0269]
基于表14的示例,当图11的(b)的切片映射至图12的(b)的子画面时,subpic_mapping_enabled_flag等于true(1)并且按照subpic_id={a,b,c,d}的顺序(光栅扫描顺序)执行映射。基于表15的示例,当图11的(b)的切片映射至图12的(b)的子画面时,subpic_mapping_enabled_flag等于true(1)并且按照subpic_id={a,b,b,c,d,c}的顺序(光栅扫描顺序)执行映射。
[0270]
基于表14的示例,当图16的切片映射至图12的(b)的子画面时,subpic_mapping_enabled_flag等于true(1)并且按照subpic_id={a,b,c,d}的顺序(光栅扫描顺序)执行映射。基于表15的示例,当图16的切片映射至图12的(b)的子画面时,subpic_mapping_enabled_flag等于true(1)并且按照subpic_id={a,b,b,c,c,d}的顺序(切片配置顺序)执行映射。
[0271]
实施方式5
[0272]
实施方式5提出了切片头中定义的句法结构和语义。表16和表17示出实施方式5的两个句法结构。
[0273]
[表16]
[0274][0275]
[表17]
[0276][0277]
slice_pic_parameter_set_id指示相关切片所参考的pps的id,slice_pic_header_id指示相关切片所参考的画面头的id。
[0278]
如表16所示,可从视频编码设备用信号通知子画面的id(subpic_id)、切片的地址信息(slice_address)和切片类型(slice_type)。为了区分切片头中用信号通知的subpic_id(或slice_subpic_id)与sps或pps中用信号通知的subpic_id(sps_subpic_id或pps_subpic_id),sps或pps中用信号通知的subpic_id可被称为“第一映射信息”,切片头中用信号通知的subpic_id可被称为“第二映射信息”。换言之,本公开中提及的“映射信息”可包括第一映射信息和第二映射信息。
[0279]
切片头中用信号通知的subpic_id指示相关切片所属的子画面的id。当存在子画面时(当subpic_info_present_flag=1,即,分割标志指示划分时)(表16),或者当在子画面存在(subpic_info_present_flag=1)的同时切片类型是矩形切片(rect_slice_flag=1)时(表17),可用信号通知子画面的id。
[0280]
当在sps或pps中没有用信号通知子画面的id(第一映射信息)时,切片头中用信号通知的子画面的id(第二映射信息)可意指子画面的索引值。换言之,当在sps中子画面标志为off(例如,signaled_subpic_id_flag=0)或者在pps中子画面标志为off(例如,subpic_mapping_enabled_flag=0)时,在sps和pps中没有用信号通知子画面的id;在这种情况下,切片头中用信号通知的子画面的id可对应于子画面的索引值,如图12的(a)所示。
[0281]
相反,当在sps或pps中用信号通知子画面的id时,切片头中用信号通知的子画面的id可对应于子画面的id值,如图12的(b)所示。在这种情况下,视频解码设备可将从sps或
pps用信号通知的子画面的id映射至从切片头用信号通知的子画面的id。
[0282]
此外,如表16和表17所示,视频编码设备可对切片的地址信息(slice_address)进行编码并用信号通知,并且配置单元940可使用地址信息来设定切片的索引值。
[0283]
地址信息可指示相关切片的地址。地址信息可根据子画面标志(subpic_info_present_flag)、类型标志(rect_slice_flag)和/或分区许可信息(例如,no_partition_flag)的值而具有不同的含义。
[0284]
首先,当subpic_info_present_flag=1时(s1810),地址信息可以是相关切片所属的子画面中的切片的索引值(s1820)。例如,如图12的(b)所示,当存在子画面时,地址信息可以是相关切片所属的子画面的切片索引值。
[0285]
当subpic_info_present_flag=0(s1810)并且rect_slice_flag=1(s1830)时,地址信息可以是整个画面内的切片的索引值(s1840)。例如,如图11的(b)或图16中,当子画面不存在时,地址信息可以是整个画面的切片索引值。
[0286]
当subpic_info_present_flag=0时,不用信号通知关于子画面数量的信息(num_subpics_in_pic_minus1),当不存在关于子画面数量的信息时,子画面的数量被推断为1(num_subpics_in_pic_minus1=0)。结果,当subpic_info_present_flag=0(s1810)并且rect_slice_flag=1(s1830)时,地址信息可以是“整个子画面内的切片的索引值”。本文中,子画面可意指整个画面。
[0287]
当subpic_info_present_flag=0(s1810)并且rect_slice_flag=0(s1830)时,换言之,在光栅扫描切片的情况下,地址信息可以是拼块的索引值或ctu的索引值(s1860、s1870)。当光栅扫描切片被指定为特定位置的一个区域,同时拼块的编码/解码按光栅扫描顺序进行时,地址信息可以是拼块的索引值(s1860)。另一方面,当光栅扫描切片被指定为特定位置的一个区域,同时ctu的编码/解码按光栅扫描顺序进行(没有拼块划分)时,地址信息可以是ctu的索引值(s1870)。
[0288]
根据实施方式,地址信息是对应于拼块的索引值还是ctu的索引值可基于分区许可信息的值来确定。
[0289]
例如,当画面被划分成一个或更多个拼块(no_partition_flag=0,s1850)时,地址信息可以是拼块的索引值(s1860),当画面未被划分(no_partition_flag=1,s1850)时,地址信息可以是ctu的索引值(s1870)。
[0290]
图19示出基于本公开所提出的方法划分的子画面和切片之间的关系。
[0291]
在图19的(a)中,六个矩形中的每一个表示切片,并且切片由总共四个子画面组成,如图12的(b)的划分示例中那样。子画面由不同的图案来区分。拼块由总共6(3
×
2)个拼块组成,如图11的(a)的分区形式那样。
[0292]
由于存在总共六个切片,所以如图19的(b)所示从总共六个nal比特流生成切片,并且画面可被划分成四个子画面。
[0293]
图19的(b)的示例的六个切片头的句法元素值如下。
[0294]
#1:(subpic_id=a,slice_address=0)
[0295]
#2:(subpic_id=b,slice_address=0)
[0296]
#3:(subpic_id=b,slice_address=1)
[0297]
#4:(subpic_id=c,slice_address=0)
[0298]
#5:(subpic_id=c,slice_address=1)
[0299]
#6:(subpic_id=d,slice_address=0)
[0300]
图20中示出切片nal、画面头nal、pps nal和sps nal之间的连接关系。
[0301]
视频解码设备可使用切片头的pps_id和pic_header_id将切片头的数据与pps的数据和画面头的数据连接。当切片头中包括sps_id时,数据可直接从切片头连接到sps。
[0302]
视频解码设备可从sps获得子画面的映射信息(sub_picture映射),从pps获得拼块分区信息和切片配置信息,并且从画面头获得子画面的映射信息(sub-pic映射)。
[0303]
接收端(视频解码设备)可被分成用于合成内容的beamer以及用于将合成数据解码的解码器。beamer可通过经由提取和合成多条内容的处理将多条内容合成为一个来组成合成数据。合成数据对应于输入到解码器的输入数据。
[0304]
以下,将描述各种子画面配置示例。各种子画面配置示例可被分成子画面配置不改变的情况和子画面配置改变的情况。
[0305]
1)图21的(c)示出子画面配置不改变的示例。
[0306]
从图19的(b)的子画面配置形式、图11的(a)的拼块分区形式和图19的(a)的切片配置形式,可最终推导图21的(a)和(b)所示的两条内容。其图案的各个方向可区分图21的(a)的内容和图21的(b)的内容。
[0307]
beamer可合成两条内容以生成一个组合内容,如图21的(c)所示。在针对图21的(a)的内容和图21的(b)的内容接收所有数据之后,beamer可从所有接收的数据如下提取总共六个切片比特流并将所接收的数据输入到解码器。
[0308]
1)图21的(b)内容的a-0切片比特流
[0309]
2)图21的(a)内容的b-0切片比特流
[0310]
3)图21的(a)内容的b-1切片比特流
[0311]
4)图21的(a)内容的c-0切片比特流
[0312]
5)图21的(a)内容的c-1切片比特流
[0313]
6)图21的(b)内容的d-0切片比特流
[0314]
例如,可从图21的(b)的内容提取图21的(c)的子画面a和子画面d以进行合成,并且可从图21的(a)的内容提取图21的(c)的子画面b和子画面c以进行合成。
[0315]
除了切片比特流之外,诸如sps和pps的头信息输入到解码器。另外,告知子画面的映射信息的画面头也可输入到解码器。在这种情况下,图21的(c)的示例的画面头的句法值可与图16或图11的(b)的句法值相同。
[0316]
2)图21的(d)示出子画面配置改变的示例。图21的(d)示出在两条内容合并的同时子画面配置也改变的情况。
[0317]
beamer可合成两条内容以生成一个组合内容,如图21的(d)所示。在针对图21的(a)的内容和图21的(b)的内容接收所有数据之后,beamer可从所有接收的数据如下提取总共六个切片比特流并将所提取的数据输入至解码器。
[0318]
1)图21的(b)内容的d-0切片比特流
[0319]
2)图21的(b)内容的c-0切片比特流
[0320]
3)图21的(b)内容的c-1切片比特流
[0321]
4)图21的(a)内容的b-0切片比特流
[0322]
5)图21的(a)内容的b-1切片比特流
[0323]
6)图21的(a)内容的a-0切片比特流
[0324]
例如,可从图21的(b)的内容提取图21的(d)的子画面d和子画面c以进行合成,并且可从图21的(a)的内容提取图21的(d)的子画面b和子画面a以进行合成。
[0325]
当子画面配置改变时,改变的子画面的映射信息应该在画面头中定义并用信号通知。例如,发送端(视频编码设备)可生成并用信号通知画面头信息,或者接收端(视频解码设备)可生成画面头信息。
[0326]
当子画面配置改变时,除了切片比特流之外,诸如sps和pps的头信息也输入到解码器。另外,告知子画面的映射信息的画面头也可输入到解码器。在这种情况下,图21的(d)的示例的画面头的句法值如下。
[0327]
如表14所示,用信号通知subpic_id与子画面数量一样多,并且subpic_mapping_enabled_flag=true(1),并且subpic_id={d,c,b,a}按光栅扫描顺序。如表15所示,用信号通知subpic_id与切片数量一样多,并且subpic_mapping_enabled_flag=true(1),并且subpic_id={d,c,c,b,a,b}按光栅扫描顺序。如表15所示,用信号通知subpic_id与切片数量一样多,并且subpic_mapping_enabled_flag=true(1),并且subpic_id={d,c,c,b,b,a}按切片配置顺序。
[0328]
如上所述,可通过图21的(d)确认,可在画面头中容易地表示子画面配置而无需改变sps、pps、切片头和/或切片数据信息。
[0329]
尽管出于例示性目的描述了示例性实施方式,但是本领域技术人员将理解,在不脱离实施方式的构思和范围的情况下,可进行各种修改和改变。为了简明和清晰起见已描述了示例性实施方式。因此,本领域普通技术人员将理解,实施方式的范围不由上面明确描述的实施方式限制,而是包括权利要求及其等同物。
[0330]
相关申请的交叉引用
[0331]
本技术要求2019年10月7日提交的韩国专利申请no.10-2019-0123858和2020年3月17日提交的韩国专利申请no.10-2020-0032688的优先权,其完整内容通过引用并入本文。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1