掌桥专利:专业的专利平台
掌桥专利
首页

编码工具设置方法和图像解码设备

文献发布时间:2023-06-19 11:55:48


编码工具设置方法和图像解码设备

技术领域

本公开涉及视频的编码和解码,并且更具体地,涉及用于提高编码和解码效率的编码工具设置方法和视频解码设备。

背景技术

由于视频数据的量大于语音数据或静止图像数据的量,因此在不进行压缩处理的情况下存储或发送视频数据需要包括存储器的大量硬件资源。

因此,在存储或发送视频数据时,通常使用编码器来压缩视频数据,以便进行存储或发送。然后,解码器接收经压缩的视频数据,并且解压缩并再现视频数据。用于这种视频的压缩技术包括H.264/AVC和高效视频编码(HEVC),HEVC比H.264/AVC提高了约40%的编码效率。

然而,视频大小、分辨率和帧频逐渐增加,因此,待编码的数据量也在增加。因此,需要比现有压缩技术具有更好的编码效率和更高图像质量的新压缩技术。

发明内容

技术问题

为了满足这些需求,本公开旨在提供一种改进的视频编码和解码技术。具体地,本公开的一方面涉及用于通过呈现与在配置文件所支持的编码工具当中实际使用的编码工具有关的信息来提高编码和解码效率的技术。

技术方案

根据至少一个方面,本公开提供了一种设置是否启用编码工具的方法。所述方法包括:从比特流中解码指示一个或更多个可用配置文件当中的目标配置文件的配置文件语法元素以及用于一个或更多个可配置编码工具的编码工具语法元素,所述编码工具语法元素指示是否应用所述编码工具;以及基于所述编码工具语法元素来设置是否开启/关闭所述目标配置文件中所包括的一个或更多个目标编码工具。

根据另一方面,本公开提供了一种视频解码设备,所述视频解码设备包括:解码器,其被配置为从比特流中解码指示一个或更多个可用配置文件当中的目标配置文件的配置文件语法元素以及用于一个或更多个可配置编码工具的编码工具语法元素,所述编码工具语法元素指示是否应用所述编码工具;以及控制装置,其被配置为基于所述编码工具语法元素来设置是否开启/关闭所述目标配置文件中所包括的一个或更多个目标编码工具。

有益效果

如上所述,根据本公开的实施方式,仅发信号通知与配置文件所支持的编码工具当中实际使用的编码工具有关的信息。因此,可以提高设置编码工具的比特效率。

根据本公开的另一实施方式,可以识别实际使用的编码工具。因此,编码和解码可以更适应性地实现。

附图说明

图1是能够实现本公开的技术的视频编码设备的示例性框图。

图2示例性示出了使用QTBTTT结构的块分割结构。

图3示例性示出了多种帧内预测模式。

图4是能够实现本公开的技术的视频解码设备的示例性框图。

图5至图12是例示了用于设置编码工具的使用的本公开的各种实施方式的流程图。

图13是例示了确定编码模式的常规方法的流程图。

图14是例示了应用本公开的编码工具设置方法的确定编码模式的方法的流程图。

图15是例示了用于指定子配置文件的本公开的实施方式的流程图。

具体实施方式

下文中,将参照附图来详细描述本公开的一些实施方式。应当注意,在将附图标记添加到相应附图中的组成元件时,相似的附图标记指定相似的元件,尽管这些元件是在不同附图中被示出的。另外,在以下对本公开的描述中,将省略对并入本文中的已知功能和配置的详细描述,以避免本公开的主题模糊不清。

图1是能够实现本公开的技术的视频编码设备的示例性框图。下文中,将参照图1描述视频编码设备和该设备的元件。

视频编码设备包括块分割器110、预测器120、减法器130、变换器140、量化器145、编码器150、反量化器160、逆变换器165、加法器170、滤波器单元180和存储器190。

视频编码设备的各元件可以以硬件或软件或硬件和软件的组合实现。相应元件的功能可以以软件实现,并且微处理器可以被实现为执行与相应元件对应的软件功能。

一个视频由多个图片构成。每个图片被分割成多个区域,并且对每个区域执行编码。例如,一个图片被分割成一个或更多个图块(tile)和/或切片(slice)。这里,该一个或更多个图块可以被定义为图块组。每个图块或切片被分割成一个或更多个编码树单元(CTU)。每个CTU按树结构被分割成一个或更多个编码单元(CU)。应用于各CU的信息被编码为CU的语法,并且共同应用于一个CTU中所包括的CU的信息被编码为CTU的语法。另外,共同应用于一个图块中的所有块的信息被编码为图块的语法或者被编码为作为多个图块的集合的图块组的语法,并且应用于构成一个图片的所有块的信息被编码在图片参数集(PPS)或图片头中。另外,供多个图片共同参考的信息被编码在序列参数集(SPS)中。另外,供一个或更多个SPS共同参考的信息被编码在视频参数集(VPS)中。

块分割器110确定编码树单元(CTU)的大小。关于CTU大小的信息(CTU size)被编码为SPS或PPS的语法并发送到视频解码设备。

块分割器110将构成视频的每个图片分割成多个具有预定大小的CTU,然后使用树结构来递归地分割CTU。在树结构中,叶节点用作编码单元(CU),CU是编码的基本单元。

树结构可以是节点(或父节点)被分割成相同大小的四个子节点(或孩子节点)的四叉树(QT)、节点被分割成两个子节点的二叉树(BT)、节点按1:2:1的比率被分割成三个子节点的三叉树(TT)或通过组合QT结构、BT结构和TT结构中的两个或更多个而形成的结构。例如,可以使用QTBT(四叉树加二叉树)结构或QTBTTT(四叉树加二叉树三叉树)结构。这里,BTTT可以被统称为多类型树(MTT)。

图2示出了QTBTTT分割树结构。如图2中所示,可以初始地按QT结构来分割CTU。可以重复QT分割,直到分割块的大小达到QT中允许的叶节点的最小块大小MinQTSize。指示QT结构的每个节点是否被分割成较低层的四个节点的第一标志(QT_split_flag)被由编码器150编码并发信号通知给视频解码设备。当QT的叶节点不大于BT中允许的根节点的最大块大小(MaxBTSize)时,它可以被进一步分割成BT结构或TT结构中的一个或更多个。在BT结构和/或TT结构中,可以存在多个分割方向。例如,可以存在两个方向,即节点的块的水平分割和竖直分割。如图2中所示,当MTT分割开始时,指示节点是否被分割的第二标志(mtt_split_flag)、指示分割方向(竖直或水平)的标志和/或指示分割类型(二元或三元)的标志被编码器150编码并发信号通知给视频解码设备。

作为树结构的另一示例,当使用QTBTTT结构分割块时,与指示块已被分割的CU分割标志(split_cu_flag)和指示分割类型是否为QT分割的QT分割标志(split_qt_flag)有关的信息被编码器150编码并发信号通知给视频解码设备。当split_cu_flag的值指示块尚未被分割时,节点的块成为分割树结构中的叶节点,并被用作作为编码基本单元的编码单元(CU)。当split_cu_flag的值指示块尚未被分割时,分割类型是QT还是MTT是通过split_qt_flag的值来区分的。当分割类型为QT时,没有附加信息。当分割类型为MTT时,指示MTT分割方向(竖直或水平)的标志(mtt_split_cu_vertical_flag)和/或指示MTT分割类型(二元或三元)的标志(mtt_split_cu_binary_flag)被编码器150编码并发信号通知给视频解码设备。

作为树结构的另一示例,当使用QTBT时,可以存在两种分割类型,即将节点的块水平分割(即,对称水平分割)和竖直分割(即,对称竖直分割)为两个相同大小的块。指示BT结构的每个节点是否被分割成较低层的块的分割标志(split_flag)和指示分割类型的分割类型信息被编码器150编码并发送到视频解码设备。可以存在将节点的块分割成两个不对称块的另外的类型。不对称分割类型可以包括将块以1:3的大小比例分割成两个矩形块的类型和对角分割节点的块的类型。

根据CTU的QTBT或QTBTTT分割,CU可以具有各种大小。下文中,与待编码或解码的CU(即,QTBTTT的叶节点)对应的块被称为“当前块”。

预测器120预测当前块,以生成预测块。预测器120包括帧内预测器122和帧间预测器124。

通常,图片中的各当前块可以被预测性编码。可以使用(基于来自包含当前块的图片的数据执行的)帧内预测的技术或(基于来自在包含当前块的图片之前编码的图片的数据执行的)帧间预测的技术来执行当前块的预测。帧间预测包括单向预测和双向预测二者。

帧内预测器122使用定位在包括当前块的当前图片中的当前块周围的像素(参考像素)来预测当前块中的像素。根据预测方向,存在多种帧内预测模式。例如,如图3中所示,多种帧内预测模式可以包括含平面模式和DC模式的非定向模式和65种定向模式。针对每种预测模式,不同地定义将使用的公式和邻近像素。

帧内预测器122可以确定将用于对当前块进行编码的帧内预测模式。在一些示例中,帧内预测器122可以使用多种帧内预测模式对当前块进行编码,并且从经测试模式中选择要使用的适当的帧内预测模式。例如,帧内预测器122可以使用经测试的多种帧内预测模式的速率-失真分析来计算速率失真值,并且可以从经测试模式当中选择具有最佳速率失真特性的帧内预测模式。

帧内预测器122从多种帧内预测模式当中选择一种帧内预测模式,并且使用根据所选择的帧内预测模式确定的公式和邻近像素(参考像素)来预测当前块。关于所选择的帧内预测模式的信息由编码器150编码并被发送到视频解码设备。

帧间预测器124通过运动补偿处理来针对当前块生成预测块。帧间预测器在比当前图片更早被编码和解码的参考图片中搜索与当前块最相似的块,并基于搜索到的块来生成当前块的预测块。然后,帧间预测器生成与当前图片中的当前块和参考图片中的预测块之间的位移对应的运动矢量。通常,对亮度分量执行运动估计,并且基于亮度分量计算出的运动矢量被用于亮度分量和色度分量二者。包括关于用于预测当前块的参考图片的信息和关于运动矢量的信息的运动信息被编码器150编码并发送到视频解码设备。

减法器130通过从当前块中减去由帧内预测器122或帧间预测器124生成的预测块来生成残差块。

变换器140将空间域中的具有像素值的残差块中的残差信号变换为频域中的变换系数。变换器140可以使用当前块的总大小作为变换单元来变换残差块中的残差信号。另选地,变换器可以将残差块分割成变换区域和非变换区域的子块,并仅使用变换区域的子块作为变换单元来变换残差信号。这里,变换区域的子块可以是基于水平轴(或竖直轴)的大小比为1:1的两个矩形块中的一个。在这种情况下,指示仅子块已被变换的标志(cu_sbt_flag)、方向(竖直/水平)信息(cu_sbt_horizontal_flag)和/或位置信息(cu_sbt_pos_flag)被编码器150编码并发信号通知给视频解码设备。另外,变换区域子块的大小可以具有基于水平轴(或竖直轴)的1:3的大小比。在这种情况下,用于区分分割的标志(cu_sbt_quad_flag)被编码器150另外地编码并被发信号通知给视频解码设备。

量化器145量化从变换器140输出的变换系数并且将量化后的变换系数输出到编码器150。

编码器150通过使用诸如基于上下文的自适应二进制算术码(CABAC)这样的编码方法对量化后的变换系数进行编码来生成比特流。编码器150对与块分割相关的诸如CTU大小、CU分割标志、QT分割标志、MTT分割方向和MTT分割类型这样的信息进行编码,使得视频解码设备以与视频编码设备相同的方式分割块。

另外,编码器150对与指示当前块是通过帧内预测还是帧间预测编码的预测类型有关的信息进行编码,并且根据预测类型对帧内预测信息(即,关于帧内预测模式的信息)或帧间预测信息(关于参考图片和运动矢量的信息)进行编码。

反量化器160对从量化器145输出的量化后的变换系数进行反量化,以生成变换系数。逆变换器165将从反量化器160输出的变换系数从频域变换到空间域并且重构残差块。

加法器170将重构的残差块添加到由预测器120生成的预测块,以重构当前块。重构的当前块中的像素被用作用于下一个块的帧内预测的参考像素。

滤波器单元180对重构的像素进行滤波,以减少由于基于块的预测和变换/量化而产生的块伪像、振铃伪像和模糊伪像。滤波器单元180可以包括去块滤波器182和采样自适应偏移(SAO)滤波器184。

去块滤波器180对重构块之间的边界进行滤波,以去除因逐块编码/解码引起的块伪像,并且SAO滤波器184另外对经去块滤波的视频进行滤波。SAO滤波器184是用于补偿因有损编码引起的重构像素与原始像素之间的差值的滤波器。

经过去块滤波器182和SAO滤波器184滤波的重构块被存储在存储器190中。一旦重构了一个图片中的所有块,重构的图片就被用作用于待编码的下一个图片中的块的帧间预测的参考图片。

尽管在图1中未示出,但视频编码设备还可以包括控制装置,以使用一个或更多个语法元素来设置针对各配置文件是否使用或应用编码工具。控制装置可以在与用于图1中例示的从属元件的物理元件相同的物理元件(处理器等)上实现,或者可以在与用于图1中例示的从属元件的物理元件不同的物理元件上实现。随后,将描述控制装置的细节。

图4是能够实现本公开的技术的视频解码设备的示例性功能框图。下文中,将参照图4描述视频解码设备和该设备的元件。

视频解码设备可以包括解码器410、反量化器420、逆变换器430、预测器440、加法器450、滤波器单元460和存储器470。

类似于图1的视频编码设备,视频解码设备的各元件可以被实现为硬件或软件,或者可以被实现为硬件与软件的组合。此外,各元件的功能可以被实现为软件,并且微处理器可以被实现为执行与各元件对应的软件的功能。

解码器410通过对从视频编码设备接收的比特流进行解码并提取与块分割相关的信息来确定待解码的当前块,并提取重构当前块所需的预测信息和关于残差信号的信息。

解码器410从序列参数集(SPS)或图片参数集(PPS)中提取关于CTU大小的信息,确定CTU的大小,并且将图片分割成所确定大小的CTU。然后,解码器确定CTU是树结构的最上层(即,根节点),并提取关于CTU的分割信息,以使用树结构对CTU进行分割。

例如,当使用QTBTTT结构分割CTU时,首先提取与QT分割相关的第一标志(QT_split_flag),并将各节点分割成较低层的四个节点。然后,对于与QT的叶节点对应的节点,提取与MTT分割相关的第二标志(MTT_split_flag)以及关于分割方向(竖直/水平)和/或分割类型(二元/三元)的信息,并且在MTT结构中分割叶节点。以这种方式,QT的叶节点下方的各节点被递归地按BT或TT结构分割。

作为另一示例,当使用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分割多次。

作为又一示例,当使用QTBT结构分割CTU时,首先提取与QT分割相关的第一标志(QT_split_flag),并将各节点分割成较低层的四个节点。对于与QT的叶节点对应的节点,提取指示节点是否被进一步BT分割的split_flag和分割方向信息。

在确定了将通过树结构分割解码的当前块后,解码器410提取与指示当前块是经历帧内预测还是帧间预测的预测类型有关的信息。当预测类型信息指示帧内预测时,解码器410提取用于当前块的帧内预测信息(帧内预测模式)的语法元素。当预测类型信息指示帧间预测时,解码器410提取用于帧间预测信息即指示运动矢量和供运动矢量参考的参考图片的信息的语法元素。

解码器410提取关于当前块的量化后的变换系数的信息作为关于残差信号的信息。

反量化器420对量化后的变换系数进行反量化,并且将反量化后的变换系数从频域逆变换到空间域以重构残差信号,从而产生当前块的残差块。

另外,当逆变换器430仅对变换块的部分区域(子块)进行逆变换时,提取指示仅变换块的子块已被变换的标志(cu_sbt_flag)、关于子块的方向信息(竖直/水平)(cu_sbt_horizontal_flag)和/或子块位置信息(cu_sbt_pos_flag)。然后,通过将子块的变换系数从频域逆变换到空间域来重构残差信号。对于未逆变换的区域,残差信号被用“0”填充。由此,创建当前块的最终残差块。

预测器440可以包括帧内预测器442和帧间预测器444。当当前块的预测类型是帧内预测时,帧内预测器442被激活,并且当当前块的预测类型是帧间预测时,帧间预测器444被激活。

帧内预测器442基于从解码器410提取的帧内预测模式的语法元素确定多种帧内预测模式当中的当前块的帧内预测模式,并且根据帧内预测模式基于当前块周围的参考像素来预测当前块。

帧间预测器444基于从解码器410提取的帧内预测模式的语法元素来确定当前块的运动矢量和供运动矢量参考的参考图片,并基于运动矢量和参考图片来预测当前块。

加法器450通过将从逆变换器输出的残差块与从帧间预测器或帧内预测器输出的预测块相加来重构当前块。重构的当前块中的像素被用作参考像素以用于稍后要解码的块的帧内预测。

滤波器单元460可以包括去块滤波器462和SAO滤波器464。去块滤波器462对重构块之间的边界执行去块滤波,以去除由逐块解码引起的块伪像。SAO滤波器464对去块滤波之后的重构块执行附加滤波,以便补偿因有损编码引起的重构像素与原始像素之间的差异。经过去块滤波器462和SAO滤波器464滤波的重构块被存储在存储器470中。当重构了一个图片中的所有块时,重构图片被用作参考图片以用于此后要编码的图片中的块的帧间预测。

尽管在图4中未示出,但视频解码设备还可以包括控制装置,以使用一个或更多个语法元素来设置针对各配置文件是否使用编码工具。控制装置可以在与用于图4中例示的从属元件的物理元件相同的物理元件(处理器等)上实现,或者可以在与用于图4中例示的从属元件的物理元件不同的物理元件上实现。随后,将描述控制装置的细节。

视频解码设备中所包括的控制装置是在功能上与视频编码设备中所包括的上述控制装置对应的元件。下文中,为了容易地区分视频解码设备中所包括的控制装置与视频编码设备中所包括的控制装置,视频解码设备中所包括的控制装置将被称为解码控制装置,并且视频编码设备中所包括的控制装置将被称为编码控制装置。

考虑到应用了标准技术的应用和视频解码设备(解码器)的性能,诸如HEVC这样的常规标准已经使用了诸如配置文件、级别和层级这样的概念。

配置文件是指由视频标准中提供的多个编码工具当中的针对特定应用(服务)的特定编码工具组成的集合。在HEVC中建立了诸如“主配置文件”、“主10配置文件”、“主静止图像配置文件”、“格式范围扩展配置文件”、“高吞吐量配置文件”和“屏幕内容编码扩展配置文件”这样的配置文件。这里,编码工具可以是指诸如合并功能、跨分量预测功能、自适应运动矢量分辨率功能、变换跳过功能、当前图片参考功能和调色板功能这样的由视频标准提供的各种功能。

级别是考虑到甚至在使用相同的配置文件时也根据视频解码设备的特性而产生的处理性能差异而使用的概念。可以根据级别值来确定能够被处理的视频的最大分辨率和帧频。

与对最大比特率的约束相关的层级是因为即使在相同配置文件和相同级别下也根据应用来以高分辨率和高质量压缩或者不压缩视频而使用的概念。即,层级是与视频解码设备的存储器470相关的规定。

下表1中总结了HEVC的级别和层级。

[表1]

在HEVC中,指定配置文件、级别和层级的语法元素处于序列参数集(SPS)中。在下表2和表3中示出了处于SPS中的这些语法元素。

[表2]

[表3]

在HEVC中,指定配置文件、级别和层级的语法元素也处于视频参数集(VPS)中。在下表4中示出了处于VPS中的语法元素。

[表4]

VPS是用于将一条内容编码成多个层以进行可伸缩编码的头部信息。在这种情况下,基层的配置信息和子层的配置信息可以被分别地配置。

在HEVC标准中,可以针对一个序列指定一个配置文件值。然而,为了针对每个配置文件提供兼容性,可以指示序列与除了指定配置文件之外的配置文件兼容,并且可以使用general_profile_compatibility_flag[j]语法元素来指示兼容性。

例如,当在一个序列中指定主配置文件时,在general_profile_idc中设置“1”,在general_profile_compatibility_flag[1]中也设置“1”。在这种状态下,根据序列是否与其它配置文件兼容,可以在与除了index=1之外的j值相对应的general_profile_compatibility_fag[j]语法元素中设置值“0”或“1”。例如,当序列与主10配置文件(index=2)兼容时,可以在general_profile_compatibility_flag[2]中设置值“1”以指示序列是兼容的。

如上所述,在常规标准中,可以通过指示兼容性来呈现可以针对特定序列指定或者应用于特定序列的一个或更多个配置文件。然而,在常规标准中,不能指示与指定的配置文件中所包括的多个编码工具当中的实际用于对应序列的编码工具有关的信息。

在本说明书中,提出了以下的各个实施方式:与多个编码工具当中的实际用于对应序列的编码工具的有关信息可以被针对各配置文件分别呈现。

编码控制装置可以使用语法元素指定或呈现一个或更多个可用配置文件(下文中被称为“所有配置文件”)当中的将应用于特定序列的配置文件。指定该配置文件的语法元素可以被称为配置文件语法元素(general_profile_idc,下文中被简称为profile_idc),并且由该配置文件语法元素指示的配置文件(将应用的配置文件)可以被称为目标配置文件。

编码控制装置可使用一个或更多个语法元素指定或呈现指定配置文件(目标配置文件)中所包括的一个或更多个编码工具当中的应用于或用于对应序列的编码工具。用于指定编码工具的语法元素可以被称为编码工具语法元素,并且目标配置文件中所包括的编码工具可以被称为目标编码工具。

编码工具语法元素可以用于指示是否应用目标配置文件中所包括的编码工具(目标编码工具),或者可以用于指示是否应用包括目标编码工具的全部编码工具(下文中被称为“所有编码工具”)。这里,所有编码工具可以意味着可以包括在所有配置文件中的所有编码工具,并且是否应用编码工具可以意味着是否约束、使用、禁用或开启/关闭编码工具。

视频编码设备可以将包含配置文件语法元素和编码工具语法元素的比特流发信号通知给视频解码设备。配置文件语法元素和编码工具语法元素可以在图片级头部、序列级头部或较高级头部(例如,解码器级头部、解码参数集(DPS))中的一个或更多个中被发信号通知。另外,配置文件语法元素和编码工具语法元素可以处于VPS中并在VPS中被发信号通知,以用于可伸缩编码。

解码器410可以从比特流中解码配置文件语法元素(S510),并且从比特流中解码编码工具语法元素(S520)。

解码控制装置可以基于解码后的编码工具语法元素来设置是否使用所有编码工具当中的目标配置文件中所包括的目标编码工具(S530)。这里,是否使用编码工具可以意味着编码工具的开/关状态,并且设置是否使用编码工具可以意味着开启/关闭编码工具。

通过将配置文件语法元素所指示的配置文件指定为目标配置文件,可以在所有编码工具当中指定目标编码工具。通过将不应用目标编码工具的编码工具语法元素所指示的目标编码工具设置为关闭而将应用目标编码工具的编码工具语法元素所指示的目标编码工具设置为开启,可以设置目标编码工具的开/关。

下文中,将详细地描述本公开提出的各个实施方式。

对于特定实施方式,在本说明书中假定四个配置文件(Profile-A、Profile-B、Profile-C和Profile-D)。此外,在本说明书中,在Profile-A中包括三个编码工具(tool-a、tool-b和tool-c),并且在配置文件B中包括五个编码工具(tool-a、tool-c、tool-d、tool-e和tool-g)。Profile-C中包括三个编码工具(tool-b、tool-d和tool-f),而Profile-D中包括四个编码工具(tool-b、tool-c、tool-f和tool-g)。下表5中总结了这些工具。

[表5]

在表5中,“-”可以表示不存在对应信息或者不发信号通知信息。“max”可以表示全部可配置编码工具的数目(所有编码工具的数目)。“-”的含义和“max”的含义在本说明书各处通用。如表5中所示,特定配置文件中所包括的编码工具可以被按顺序排列。因此,第j个编码工具语法元素可以指示是否应用第j个编码工具。这里,j可以对应于大于或等于0的整数。

实施方式1涉及使用两种语法元素指示是否应用编码工具的方法。也就是说,在实施方式1中,可以采用两个不同的语法元素作为编码工具语法元素。

两种语法元素中的一种是指示是否对编码工具施加约束的约束语法元素,而另一种是指示是否启用编码工具的启用语法元素。约束语法元素和启用语法元素可以在图片级头部、序列级头部、解码器级头部或较高级头部中的一个或更多个中定义。

约束语法元素可以指示是对一个或更多个目标编码工具还是对所有编码工具施加约束。启用语法元素可以用于指示是启用一个或更多个目标编码工具还是启用所有编码工具,或者可以用于指示是否仅启用约束语法元素指示不对其施加约束的编码工具(被指示不被约束语法元素约束的编码工具)。实施方式1可以根据约束语法元素和启用语法元素所指示的编码工具的范围被分为以下具体实施方式。

在实施方式1-l中,可以针对所有编码工具设置约束语法元素,并且可以针对未由约束语法元素施加约束的编码工具设置启用语法元素。

视频编码设备可以使用配置文件语法元素来指定或指明目标配置文件,并且使用约束语法元素来指示是否对所有编码工具中的每一个施加约束。另外,视频编码设备可以使用启用语法元素来指示是否启用所有编码工具当中的未被施加约束的编码工具。

在下表6中示出了该实施方式的语法结构。

[表6]

如表6中所示,约束语法元素和启用语法元素可以在图片级头部、序列级头部、解码器级头部或较高级头部中的一个或更多个中的相同位置被发信号通知。在实施方式中,两个语法元素可以在不同位置被发信号通知,并且在下表7和表8中示出了其语法结构。

[表7]

[表8]

在表6到表8中,profile_idc表示配置文件语法元素,coding_tool_constraint_flag[j]表示第j个编码工具的约束语法元素,coding_tool_enabled_flag[j]表示第j个编码工具的启用语法元素。在实施方式中,可以在不使用数组[j]的情况下将约束语法元素和启用语法元素定义为所有编码工具中的每一个的标志值。例如,可以针对编码工具A定义A_constraint_flag和A_enabled_flag,可以针对编码工具B定义B_constraint_flag和B_enabled_flag。

如表6至表8中所示,视频编码设备可以使用profile_idc指示将针对相应序列指定的目标配置文件,可以根据max(对于所有编码工具)使用coding_tool_constraint_flag[j]指示是否对编码工具施加约束,并且可以使用coding_tool_enabled_flag[j]指示是否启用未被施加约束的编码工具。

在下表9中示出了在表5的假设下应用实施方式1-1的方法的示例。

[表9]

在表9中,coding_tool_constraint_flag[j]=0指示不对相应的第j个编码工具施加约束。coding_tool_constraint_flag[j]=1指示对相应的编码工具施加约束。coding_tool_enabled_flag[j]=0指示不启用相应的编码工具。coding_tool_enabled_flag[j]=1指示启用相应的编码工具。

如表9中所示,对于被施加约束的编码工具,约束语法元素被设置为“1”,这指示施加了约束,而对于不被施加约束的编码工具,约束语法元素被设置为“0”,这指示不施加约束。另外,对于目标配置文件中未包括的编码工具(超过目标配置文件中所包括的编码工具的数目的位置处的数组元素),约束语法元素被设置为“1”,这指示施加了约束。

例如,在Profile-B的情况下,对于目标编码工具当中的没有被施加约束的tool-a(索引0)、tool-c(索引1)和tool-g(索引4),约束语法元素被设置为“0”,对于被施加约束的tool-d(索引2)和tool-e(索引3),约束语法元素被设置为“1”,并且对于不与目标编码工具对应的编码工具(数组中从索引5至索引max-1),约束语法元素被设置为“1”。

对于未被施加约束的编码工具当中的启用编码工具,启用语法元素被设置为“1”,这指示启用相应编码工具,并且对于不启用的编码工具,启用语法元素被设置为“0”,这指示不启用相应编码工具。例如,在Profile-A的情况下,对于对应于启用编码工具的索引为0和1的数组元素,设置“1”,而对于与不启用的编码工具相对应的索引为2的数组元素,设置“0”。由于不对施加约束(coding_tool_constraint_flag[j]=1)的编码工具设置启用语法元素,因此对应的数组元素可以被标记为“-”。

视频编码设备可以将包含配置文件语法元素和编码工具语法元素(约束语法元素和启用语法元素)的比特流发信号通知给视频解码设备。比特流可以包含与max数目一样多的约束语法元素以及其数目小于或等于max数目(与未施加约束的编码工具的数目一样多)的启用语法元素。

视频解码设备可以解码配置文件语法元素(S610)。另外,视频解码设备可以针对所有编码工具(对应于max数目)解码约束语法元素(S620)。例如,视频解码设备可以通过解码特定的(第j个)约束语法元素并且在部分约束语法元素未被解码时解码下一个(第(j++)个)约束语法元素来解码与max数目一样多的约束语法元素。

当约束语法元素未指示施加约束时,视频解码设备可以解码启用语法元素(S630)。例如,当第j个约束语法元素未指示施加约束时,视频解码设备可以解码第j个启用语法元素,并且当j个约束语法元素指示施加约束时,视频解码设备可以确定下一个(第(j++)个)约束语法元素。由此,视频解码设备可以解码启用语法元素(其数目小于或等于max)的元素。

视频解码设备可以基于约束/启用语法元素来设置是否开启/关闭目标编码工具(S640)。具体地,视频解码设备可以将启用语法元素指示启用的编码工具设置为开启,而将约束语法元素指示施加约束或者启用语法元素未指示启用(或者指示禁用)的编码工具设置为关闭。由此,视频解码设备可以设置是否开启/关闭目标编码工具。

在实施方式1-2中,可以针对一个或更多个编码工具设置约束语法元素,也可以针对一个或更多个编码工具设置启用语法元素。另外,在实施方式1-2中,在首先定义编码工具的约束语法元素之后,可以定义编码工具的启用语法元素。

视频编码设备可以使用配置文件语法元素来指定目标配置文件,并且使用约束语法元素来设置是否对一个或更多个编码工具(多达max个编码工具)施加约束。视频编码设备可以使用启用语法元素来设置是否启用一个或更多个编码工具(多达max个编码工具)。也就是说,可以针对所有编码工具设置启用语法元素,而不管约束语法元素是否施加约束。当一个编码工具的约束语法元素对该编码工具的启用施加约束时,编码工具的启用语法元素应该被设置为不指示该工具被启用的值(指示该工具不启用的值)。另一方面,当约束语法元素不对编码工具的启用施加约束时,编码工具的启用语法元素可以被设置为任何值。

在下表10中示出了该实施方式的语法结构。

[表10]

如表10中所示,约束语法元素和启用语法元素可以在图片级头部、序列级头部、解码器级头部或较高级头部中的一个或更多个中的相同位置被发信号通知。另外,两个语法元素可以在不同位置被发信号通知,并且在下表11和表12中示出了其语法结构。

[表11]

[表12]

在表10至表12中,profile_idc、coding_tool_constraint_flag[j]、coding_tool_enabled_flag[j]的含义可以与以上提到的表6至表8中的含义相同。

在下表13中示出了在表5的假设下应用实施方式1-2的方法的示例。

[表13]

如表13中所示,对于被施加约束的编码工具,约束语法元素被设置为“1”,这指示施加了约束,而对于未被施加约束的编码工具,约束语法元素被设置为“0”,这指示未施加约束。这里,对于目标配置文件中未包括的编码工具(超过目标配置文件中所包括的编码工具的数目的位置处的数组元素),约束语法元素被设置为“1”,这指示施加了约束。

对于所有编码工具当中的启用编码工具,启用语法元素被设置为“1”,这指示启用,而对于未启用的编码工具,启用语法元素被设置为“0”,这指示禁用。这里,对于被约束语法元素施加约束的编码工具,启用语法元素应该被设置为“0”。

例如,在Profile-B的情况下,对于目标编码工具当中的没有被施加约束的tool-a(索引0)、tool-c(索引1)和tool-g(索引4),启用语法元素被设置为“1”,而对于被施加约束的tool-d(索引2)和tool-e(索引3),启用语法元素被设置为“0”。由于对不与目标编码工具对应的编码工具(数组中从索引5至索引max-1)施加约束,因此对于这些工具,元素被设置为“0”。

视频编码设备可以将包含配置文件语法元素和编码工具语法元素(约束语法元素和启用语法元素)的比特流发信号通知给视频解码设备。比特流可以包含与max数目一样多的约束语法元素以及其数目小于或等于max数目(与未施加约束的编码工具的数目一样多)的启用语法元素。

视频解码设备可以解码配置文件语法元素(S710)。此外,视频解码设备可以解码与编码工具的数目(多达max个工具)一样多的约束语法元素(S720)。此外,视频解码设备可以解码与编码工具的数目(多达max个工具)一样多的启用语法元素,而不管约束语法元素是否指示施加约束(S730)。

视频解码设备可以基于约束/启用语法元素来设置是否开启/关闭目标编码工具(S740)。具体地,视频解码设备可以将约束语法元素指示不施加约束并且启用语法元素指示启用的编码工具设置为开启,而将约束语法元素指示未施加约束或者启用语法元素未指示启用(或者指示禁用)的编码工具设置为关闭。由此,视频解码设备可以设置是否开启/关闭目标编码工具。

实施方式1-3涉及仅针对目标配置文件中所包括的目标编码工具设置约束语法元素和/或启用语法元素而非针对所有编码工具设置约束语法元素和/或启用语法元素的方法。

如上所述,编码工具按顺序排列在它们所属的配置文件中。因此,当“max”被重置或重新指派给与目标编码工具的数目相等的数目时,是否施加约束和/或启用编码工具可以仅针对目标编码工具设置。可以通过下式1来实现“max”的重新定义。

[式1]

max=MaxofCodingTools[profile_idc]

MaxofCodingTools[profile_idc]是指示第i个配置文件(profile_idc)中所包括的编码工具(目标编码工具)的数目的数组。这里,i可以对应于大于或等于0的整数。

在下表14中示出了该实施方式的语法结构。

[表14]

在下表15中示出了在表5的假设下应用实施方式1-3的方法的示例。

[表15]

如表15中所示,当使用与重置的max数目相同的约束语法元素指示是否对编码工具施加约束时,可以仅针对目标配置文件中所包括的目标编码工具指示是否施加约束。另外,通过使用与重置的max数目相同的启用语法元素指示是否启用编码工具,可以指示是否仅启用目标配置文件中所包括的目标编码工具。例如,在Profile-B的情况下,可以仅针对五个编码工具(tool-a、tool-c、tool-d、tool-e和tool-g)指示是否施加约束,并且可以仅针对这五个编码工具当中的未被施加约束的编码工具(tool-a、tool-c和tool-g)指示启用状态。

在该实施方式的情况下,视频解码设备可以解码与重置的max一样多的(与目标编码工具数目相同数目的)约束语法元素,并解码与未被施加约束的编码工具的数目一样多的启用语法元素。另外,视频解码设备可以基于约束语法元素和启用语法元素来设置是否开启/关闭目标配置文件中所包括的目标编码工具。

基于表15描述的实施方式是以下示例:仅对未被约束语法元素施加约束的编码工具设置启用语法元素(与实施方式1-1相结合)。如上所述,可以针对所有编码工具设置启用语法元素,而不管是否被约束语法元素施加约束(与实施方式1-2相结合)。在下表16中示出了与实施方式1-2相结合的示例。

[表16]

如表16中所示,启用语法元素可以设置为与重置的max的值一样多,并可以指示是否启用目标配置文件中所包括的所有目标编码工具,而不管是否施加约束。这里,对于目标配置文件中所包括的编码工具当中的被约束语法元素施加约束的编码工具,启用语法元素可以被设置为“0”。例如,在Profile-B的情况下,可以仅针对五个编码工具(tool-a、tool-c、tool-d、tool-e和tool-g)指示是否施加约束,并且对于这五个编码工具当中的被约束语法元素施加约束的编码工具(tool-d和tool-e),启用语法元素可以被设置为“0”。

在该实施方式中,视频解码设备可以解码与重置的max(目标编码工具的数目)一样多的约束语法元素和启用语法元素。另外,视频解码设备可以基于约束语法元素和启用语法元素来设置是否开启/关闭目标配置文件中所包括的目标编码工具。

实施方式2涉及使用一个语法元素指示是否应用目标编码工具的方法。该语法元素是指示是否禁用编码工具的禁用语法元素。是否禁用编码工具可以暗示是否对编码工具施加约束或者是否启用编码工具。禁用语法元素可以被包括在编码工具语法元素中,并且可以在序列级头部、解码器级头部或较高级头部中的一个或更多个中定义。

禁用语法元素可以指示所有编码工具或仅目标编码工具的禁用状态。实施方式2可以根据禁用语法元素所指示的编码工具的范围被分为以下的实施方式。

实施方式2-1涉及使用禁用语法元素指示所有编码工具的禁用状态的方法。视频编码设备可以使用配置文件语法元素来指定目标配置文件,并且使用禁用语法元素指示所有编码工具(max个编码工具)的禁用状态。

在下表17中示出了该实施方式的语法结构。

[表17]

coding_tool_disabled_flag[j]表示禁用语法元素。coding_tool_disabled_flag[j]=1可以指示对应的编码工具(第j个编码工具)被禁用(受到约束或未被启用),并且coding_tool_disabled_flag[j]=0指示对应的编码工具被启用(被使用或未受到约束)。

在下表18中示出了在表5的假设下应用实施方式2-1的方法的示例。

[表18]

如表18中所示,视频编码设备可以通过使用禁用语法元素来设置是否禁用所有编码工具中的每一个。也就是说,可以设置与max数目一样多的禁用语法元素。对于目标编码工具当中的未使用的编码工具,禁用语法元素可以被设置为“1”,这指示禁用,而对于使用的编码工具,禁用语法元素可以被设置为“0”,这指示启用。此外,对于除了目标编码工具之外的编码工具(超过目标配置文件中所包括的编码工具的数目的位置处的数组元素),禁用语法元素可以被设置为“1”,这指示禁用。

例如,在Profile-B的情况下,对于五个目标编码工具当中的未应用的两个编码工具(tool-d和tool-e),禁用语法元素可以被设置为“1”,而对于应用的其余编码工具(tool-a、tool-c和tool-g),禁用语法元素可以被设置为“0”。对于除了目标编码工具之外的编码工具(从索引5至索引(max-1)的数组元素),禁用语法元素可以被设置为“1”。

视频编码设备可以将包含配置文件语法元素和编码工具语法元素(禁用语法元素)的比特流发信号通知给视频解码设备。比特流可以包含与max数目一样多的禁用语法元素。

视频解码设备可以解码配置文件语法元素(S810)。此外,视频解码设备可以解码与所有编码工具的数目(max数目)一样多的禁用语法元素(S820)。

视频解码设备可以基于解码后的禁用语法元素来设置是否开启/关闭目标编码工具(S830)。具体地,视频解码设备可以通过将禁用语法元素未指示禁用的编码工具设置为开启而将禁用语法元素指示禁用的编码工具设置为关来设置是否开启/关闭目标编码工具。

实施方式2-2涉及仅针对目标配置文件中所包括的目标编码工具而非针对所有编码工具呈现禁用语法元素的方法。

当max被重置或重新指派给与目标编码工具的数目相等的数目时,可以仅针对目标编码工具设置禁用状态。可以通过式l来实现max的重新定义。

编码控制装置可以使用配置文件语法元素指定目标配置文件,并将max重置为等于目标配置文件中所包括的目标编码工具的数目。编码控制装置可以将禁用语法元素的数目设置为与重置的max一样多。

在下表19中示出了该实施方式的语法结构。

[表19]

在下表20中示出了在表5的假设下应用实施方式2-2的方法的示例。

[表20]

如表20中所示,当设置了与重置的max一样多的禁用语法元素时,可以仅针对目标编码工具指示禁用状态。例如,在Profile-B的情况下,可以仅针对五个编码工具(tool-a、tool-c、tool-d、tool-e和tool-g)指示禁用状态。可以不针对目标编码工具中未包括的编码工具设置禁用语法元素。

在该实施方式中,视频解码设备可以解码与等于重置的max的数目(目标编码工具的数目)一样多的禁用语法元素。另外,视频解码设备可以基于禁用语法元素来设置是否开启/关闭目标配置文件中所包括的目标编码工具。

实施方式3涉及通过将配置文件中所包括的编码工具划分为一个或更多个子集并分别指示是否对子集施加约束来设置是否开启/关闭编码工具的方法。

子集可以被理解为编码工具的子集或编码工具的组。具有相似功能的编码工具可以被包括在同一子集中。所有可用配置文件(下文中被称为“所有配置文件”)可以包括一个或更多个子集,并且每个子集可以包括一个或更多个编码工具。

可以以各种方式定义或组织子集。例如,子集可以1)不顾及配置文件基于所有编码工具来定义,或者2)基于配置文件中所包括的编码工具来定义。

关于子集定义1),在下表21中示出了基于所有编码工具定义子集的示例。

[表21]

在表2l中,maxS表示可以确定或指定的所有子集(下文中被称为“所有子集”)的数目,maxC表示每个子集中可以包括(或设置)的所有编码工具的最大数目。

在下表22中示出了在表5的假设下应用子集定义1)的示例。

[表22]

如表22中所示,Profile-A可以包括两个子集(Subset-α和Subset-β)。两个编码工具(tool-a和tool-b)可以被包括在Subset-α中,一个编码工具(tool-c)可以被包括在Subset-β中。Profile-B可以包括三个子集(Subset-α、Subset-β和Subset-γ)。一个编码工具(tool-a)可以被包括在Subset-α中,两个编码工具(tool-c和tool-d)可以包括在Subset-β中,两个编码工具(tool-e和tool-g)可以被包括在Subset-γ中。

子集定义2)是基于配置文件中所包括的编码工具定义子集的方法。在下表23中示出了在表5的假设下应用子集定义2)的示例。

[表23]

如表23中所示,配置文件A可以包括两个子集(Subset-A1和Subset-A2)。两个编码工具(tool-a和tool-b)可以被包括在Subset-A1中,一个编码工具(tool-c)可以被包括在Subset-A2中。另外,Profile-B可以包括两个子集(Subset-B1和Subset-B2)。两个编码工具(tool-a和tool-c)可以被包括在Subset-B1中,三个编码工具(tool-d、tool-e和tool-g)可以被包括在Subset-B2中。如此,根据定义2)的子集可以被定义为子集所属配置文件中所包括的编码工具的子集。

当如表22或表23中所示地定义子集时,视频编码设备可以使用配置文件语法元素指定目标配置文件,并使用子集语法元素确定或设置是否对子集施加约束。这里,可以针对所有子集(与maxS一样多)设置子集语法元素。下文中,未被子集语法元素施加约束的子集将被称为目标子集。

视频编码设备可以使用编码工具语法元素来设置是否应用编码工具。编码工具语法元素可以指示是否应用未被子集语法元素施加约束的子集中所包括的编码工具,并且未被施加约束的子集中所包括的编码工具可以对应于目标编码工具。

视频编码设备可以将包含配置文件语法元素、子集语法元素和编码工具语法元素的比特流发信号通知给视频解码设备。

视频解码设备可以从比特流中解码配置文件语法元素和子集语法元素(S910和S920)。可以解码多达maxS个子集语法元素。另外,当子集语法元素不指示施加约束时,视频解码设备可以解码编码工具语法元素(S930)。

在完成编码工具语法元素的解码后,视频解码设备可以通过基于编码工具语法元素设置是否开启/关闭编码工具来设置是否开启/关闭目标编码工具(S940)。具体地,视频解码设备可以将被编码工具语法元素指示为应用的目标编码工具设置为开启,而将未被编码工具语法元素指示为应用的目标编码工具设置为关,由此设置是否开启/关闭目标编码工具。

根据子集语法元素指示是否施加约束的子集的范围和编码工具语法元素指示是否应用工具的编码工具的范围,实施方式3可以被分为以下具体实施方式。

实施方式3-1涉及针对所有子集设置子集语法元素、当未对子集施加约束时设置约束语法元素并且当未对编码工具施加约束时设置启用语法元素的方法。

在下表24中示出了该实施方式的语法结构的示例。

[表24]

当目标配置文件由配置文件语法元素(profile_idc)指定时,视频编码设备可以使用子集语法元素(例如,subset_constraint_flag[i])对所有(maxS个)子集设置是否施加约束,由此指示是否对目标配置文件中所包括的目标子集施加约束。

视频编码设备可以使用约束语法元素和启用语法元素来设置是否对目标编码工具施加约束以及是否启用它。这里,当子集语法元素未对子集施加约束时可以设置约束语法元素,并且可以对所有编码工具设置约束语法元素。可以针对未被约束语法元素施加约束的编码工具设置启用语法元素。

实施方式3-1的方法可以应用于子集定义1)和2)二者。在下表25中示出了将实施方式3-1的方法应用于子集定义2)的示例。

[表25]

如表25中所示,对于被施加约束的子集,子集语法元素可以被设置为“1”(subset_constraint_flag[i]=1),而对于未被施加约束的子集,子集语法元素可以设置为“0”(subset_constraint_flag[i]=0)。对于被施加约束的编码工具,约束语法元素可以设置为“1”(coding_tool_constraint_flag[j]=1),而对于未被施加约束的编码工具,约束语法元素可以被设置为“0”(coding_tool_constraint_flag[j]=0)。对于未启用的编码工具,启用语法元素被设置为“0”(coding_tool_enabled_flag[j]=0),对于启用的编码工具,启用语法元素被设置为“1”,而对于被施加约束的编码工具则不设置启用语法元素。

例如,在Profile-B的情况下,约束被施加到第一子集(Subset-β1)(subset_constraint_flag[0]=1),因此既不设置约束语法元素,也不设置启用语法元素。不对第二子集(Subset-β2)施加约束(subset_constraint_flag[1]=0),因此可以设置约束语法元素和启用语法元素。约束语法元素可以被设置为指示对于第二子集(Subset-β2)中所包括的编码工具(tool-d、tool-e和tool-g)当中的tool-d和tool-g,不施加约束(coding_tool_constraint_flag[j]=0),并可以被设置为指示对于tool-e施加约束(coding_tool_constraint_flag[j]=1)。启用语法元素可以被设置为对于未施加约束的tool-d和tool-g启用(coding_tool_enabled_flag[j]=1),并且对于被施加约束的tool-e,未设置启用语法元素。

在表25的结果总结中,在Profile-A的情况下,三个编码工具(tool-a、tool-b和tool-c)当中仅启用tool-a和tool-c。在Profile-B的情况下,五个编码工具(tool-a、tool-c、tool-d、tool-e和tool-g)当中仅启用tool-d和tool-g。在Profile-C的情况下,三个编码工具(tool-b、tool-d和tool-f)当中仅启用tool-b和tool-d。在Profile-D的情况下,所有四个编码工具(tool-b、tool-c、tool-f和tool-g)都被启用。

视频编码设备可以将包含配置文件语法元素、子集语法元素和编码工具语法元素(约束语法元素和启用语法元素)的比特流发信号通知给视频解码设备。比特流可以包含maxS个子集语法元素、maxC个约束语法元素和maxC个启用语法元素。

视频解码设备可以解码配置文件语法元素(S1010),并解码maxS个子集语法元素当中的特定(第i个)子集语法元素(S1020)。当第i个子集语法元素不指示施加约束时,视频解码设备可以解码maxC个约束语法元素当中的特定(第j个)约束语法元素(S1030)。当第j个约束语法元素不指示施加约束时,视频解码设备可以解码第j个启用语法元素(S1040)。

视频解码设备可以通过在将j按顺序增加的同时重复执行操作S1030和S1040来解码第i个子集的所有约束语法元素和所有启用语法元素。另外,视频解码设备可以通过在将i按顺序增加的同时重复执行操作S1030和S1040来解码所有子集的所有约束语法元素和所有启用语法元素。

视频解码设备可以基于约束/启用语法元素来设置是否开启/关闭目标编码工具(S1050)。

上述实施方式3-1对应于针对特定(第j个)编码工具按顺序设置第j个约束语法元素和第j个启用语法元素的方法。相比之下,实施方式3-2对应于在设置maxC个约束语法元素之后设置启用语法元素的方法。

在下表26中示出了实施方式3-2的语法结构的示例。

[表26]

一旦由配置文件语法元素(profile_idc)指定了目标配置文件,视频编码设备就可以使用子集语法元素(例如,subset_constraint_flag[i])来设置是否对目标子集施加约束。可以针对所有(maxS个)子集设置子集语法元素。

视频编码设备可以使用约束语法元素和启用语法元素来设置是否对目标编码工具施加约束以及是否启用它。这里,当子集语法元素未对子集施加约束时可以设置约束语法元素,并且可以对所有(maxC个)编码工具设置约束语法元素。可以在设置了与maxC一样多的约束语法元素之后设置启用语法元素,并且可以针对未被约束语法元素施加约束的编码工具设置启用语法元素。

实施方式3-2的方法可以应用于子集定义1)和2)二者。在下表27中示出了将实施方式3-2的方法应用于子集定义2)的示例。

[表27]

如表27中所示,对于被施加约束的子集,子集语法元素可以被设置为“1”(subset_constraint_flag[i]=1),而对于未被施加约束的子集,子集语法元素可以设置为“0”(subset_constraint_flag[i]=0)。对于被施加约束的编码工具,约束语法元素可以设置为“1”(coding_tool_constraint_flag[j]=1),而对于未被施加约束的编码工具,约束语法元素可以被设置为“0”(coding_tool_constraint_flag[j]=0)。尽管在表27中未示出,但对于未启用的编码工具,启用语法元素被设置为“0”(coding_tool_enabled_flag[j]=0),对于启用的编码工具,启用语法元素被设置为“1”,而对于被施加约束的编码工具则不设置启用语法元素。

例如,在Profile-B的情况下,约束被施加到第一子集(Subset-α)(subset_constraint_flag[0]=1),因此既不设置约束语法元素,也不设置启用语法元素。未对第二子集(Subset-β)施加约束(subset_constraint_flag[1]=0),因此可以设置约束语法元素和启用语法元素。未对第三子集(Subset-γ)施加约束,因此可以设置约束语法元素和启用语法元素。

在该实施方式中,比特流可以包含maxS个子集语法元素、maxC个约束语法元素和maxC个启用语法元素。

视频解码设备可以解码配置文件语法元素(S1110),并解码maxS个子集语法元素当中的特定(第i个)子集语法元素(S1120)。当第i个子集语法元素不指示施加约束时,视频解码设备可以解码maxC个启用语法元素(S1130)。视频解码设备可以在将i按顺序增加的同时解码所有子集的所有约束语法元素。

当第j个约束语法元素未指示施加约束时,视频解码设备可以解码第j个启用语法元素(S1140)。视频解码设备可以在将j按顺序增加的同时对第i个子集的所有启用语法元素进行解码。另外,视频解码设备可以在将i按顺序增加的同时解码所有子集的所有启用语法元素。

视频解码设备可以基于约束/启用语法元素来设置是否开启/关闭目标编码工具(S1150)。

在实施方式3-3中,对应于以下方法:针对所有子集设置子集语法元素,当未对子集施加约束时针对所有编码工具设置约束语法元素以及不管对编码工具是否施加约束,都针对所有编码工具设置启用语法元素。

在下表28中示出了实施方式3-3的语法结构的示例。

[表28]

如表28中所示,视频编码设备可以使用子集语法元素(例如,subset_constraint_flag[i])对所有(maxS个)子集的子集设置是否施加约束,并且使用约束语法元素对所有(maxC个)编码工具设置是否施加约束,另外,视频编码设备可以使用启用语法元素来对所有(maxC个)编码工具设置是否使用编码工具。

在该实施方式中,比特流可以包含maxS个子集语法元素、maxC个约束语法元素和maxC个启用语法元素。

视频解码设备可以解码配置文件语法元素(S1210),并解码maxS个子集语法元素当中的特定(第i个)子集语法元素(S1220)。当第i个子集语法元素未指示施加约束时,视频解码设备可以解码maxC个约束语法元素(S1230)并解码maxC个启用语法元素(S1240)。视频解码设备可以在将i按顺序增加的同时解码所有子集的所有约束语法元素和所有启用语法元素。

视频解码设备可以基于约束/启用语法元素来设置是否开启/关闭目标编码工具(S1250)。

实施方式3-4对应于使用一个语法元素(禁用语法元素)指示是否应用编码工具的方法。

在下表29和表30中示出了该实施方式的语法结构。

[表29]

[表30]

如表29和表30中所示,视频编码设备可以使用配置文件语法元素(例如,profile_idc)指定目标配置文件,可以针对所有(maxS个)子集使用子集语法元素(例如,subset_constraint_flag[i])设置是否对子集施加约束,并且可以当未对子集施加约束时使用禁用语法元素(例如,coding_tool_disabled_flag[j])针对所有(maxC个)编码工具设置是否禁用编码工具。

在该实施方式中,视频解码设备可以解码与maxS(等于所有子集的数目)一样多的子集语法元素。当未对特定子集施加约束时,该设备可以解码与maxC(与所有编码工具的数目相等的数目)一样多的禁用语法元素。另外,视频解码设备可以基于禁用语法元素来设置是否开启/关闭目标配置文件中所包括的目标编码工具。

实施方式3-5对应于上述实施方式3-1至3-4中的仅针对目标子集设置子集语法元素或仅针对目标编码工具设置编码工具语法元素(约束/启用语法元素或禁用语法元素)的方法。

为了仅针对目标子集或目标编码工具设置语法元素,必须重新指派或重置实施方式3-1至3-4中使用的maxS或maxC。可以通过下式2和式3来实现重置。

[式2]

maxS=MaxofSubSets[profile_idc]

[式3]

maxC=MaxofCodingTools[subset]

MaxofSubSets[i]是指示第i个配置文件中所包括的子集的数目的数组,MaxofCodingTools[i]是指示第i个子集中所包括的编码工具的数目的数组。

编码控制装置可以使用配置文件语法元素指定目标配置文件,并将max重置为等于目标配置文件中所包括的子集的数目。编码控制装置可以设置与重置的max一样多的编码工具语法元素。因此,子集语法元素可以仅针对目标配置文件中所包括的目标子集指示是否施加约束,并且编码工具语法元素可以仅针对目标编码工具指示应用状态。

在该实施方式中,视频解码设备可以解码与重置的maxS(或目标子集)一样多的子集语法元素,并解码与重置的maxC(或目标编码工具)一样多的编码工具语法元素。另外,视频解码设备可以基于编码工具语法元素来设置是否开启/关闭目标编码工具。

实施方式4对应于从所有配置文件当中预先定义一个或更多个代表性配置文件(下文中被称为“代表性配置文件”)、使用语法元素指定代表性配置文件中所包括的任一个配置文件并且指定所指定配置文件中所包括的子配置文件的方法。子配置文件可以由第三方组织(例如,ITU-T)定义和使用。

子配置文件可以对应于代表性配置文件中所包括的编码工具的子集,并且可以是包括用于特定目的的编码工具的组。例如,在子配置文件中可以仅包括免版税的编码工具。代表性配置文件可以被用作对应序列的解码配置文件,并且子配置文件可以被用作关于对应序列中实际使用的编码工具的信息。

在下表31中示出了在表5中定义的配置文件(Profile-A、Profile-B、Profile-C和Profile-D)是代表性配置文件的假定下给出的子配置文件的示例。

[表31]

如表31中所示,Profile-A.1可以被包括为Profile-A中的子配置文件,Profile-B.1和Profile-B.2可以被包括为Profile-B中的子配置文件,Profile-C.1可以被包括为Profile-C中的子配置文件,并且Profile-D.1可以被包括为Profile-D中的子配置文件。

在下表32中示出了该实施方式的语法结构。

[表32]

如表32中所示,视频编码设备可以使用配置文件语法元素(例如,profile_idc,代表性配置文件语法元素)来指定或定义代表性配置文件中的任一个。视频编码设备还可以使用子配置文件语法元素(例如,sub-profile_idc或general_sub_profile_idc)来指定或定义指定的配置文件中所包括的子配置文件当中的一个或更多个子配置文件(包括实际启用的编码工具的子配置文件)。由子配置文件语法元素指定的子配置文件可以对应于目标配置文件。

可以存在多个子配置文件语法元素。也就是说,多个子配置文件可以由子配置文件语法元素指示。在这种情况下,可以另外发信号通知关于子配置文件语法元素的数目(例如,num_sub_profiles)的信息。

在该实施方式中,视频解码设备可以从比特流中解码代表性配置文件语法元素(S1510),并且从比特流中解码子配置文件语法元素(S1530)。配置文件语法元素所指示的代表性配置文件中所包括的子配置文件当中的子配置文件语法元素所指示的子配置文件可以被指定为目标配置文件。在其中多个子配置文档语法元素被发信号通知的实施方式中,视频解码设备可以首先解码关于子配置文件语法元素的数目的信息(S1520),然后解码与解码后的数目信息所指示的数目一样多的子配置文件语法元素(S1530)。

一旦通过上述各种实施方式确定了是否开启/关闭编码工具,就可以执行如下表33和表34中所示的设置变量/标志的处理。表33示出了使用配置文件语法元素(profile_idc)和启用语法元素(coding_tool_enabled_flag[j])设置变量/标志的处理,表34示出了使用配置文件语法元素(profile_idc)和禁用语法元素(coding_tool_disabled_flag[j])设置变量/标志的处理。

[表33]

[表34]

如上所述,可以呈现关于多个编码工具当中的实际使用的编码工具的信息。因此,本公开的视频解码设备可以选择性开启/关闭特定的编码工具。

作为示例,视频解码设备可以在确定当前块的编码模式的操作中基于指示是否应用合并模式的编码工具语法元素(表33和表34中的merge_enabled_flag)来开启/关闭合并功能。图13和图14以比较方式例示了该示例。

如图13中所示,在常规方法中,可以通过解析和解码skip_flag的操作S1310、根据skip_flag的指示确定当前块的编码模式是否是跳过模式的操作S1320、当当前块的编码模式不是跳过模式时解析和解码pred_mode_flag的操作S1340、根据pred_mode_flag的指示确定当前块的编码模式是否是帧内模式的操作S1350、当当前块的编码模式不是帧内模式时解析和解码part_mode的操作S1360、解析和解码merge_flag的操作S1370以及根据merge_flag的指示确定当前块的编码模式是否是合并模式的操作S1380来确定当前块的编码模式是否是合并模式。

相比之下,在本公开(图14)中,可以在解析和解码merge_flag的操作S1480之前使用指示是否应用合并模式的编码工具语法元素确定合并功能的开/关。当合并功能关时,可以在排除合并模式的情况下执行确定当前块的编码模式的操作。因此,可以排除解析和解码merge_flag的操作S1480、确定由merge_flag指示的内容的操作S1490以及解析和解码merge_idx(S1492)的操作S1492。因此,确定当前块的编码模式的复杂度可以降低。

虽然已经出于例示目的描述了示例性实施方式,但是本领域技术人员应该领会的是,能够在不脱离实施方式的构思和范围的情况下进行各种修改和改变。为了简明扼要,已经描述了示例性实施方式。因此,普通技术人员将理解,实施方式的范围不由以上明确描述的实施方式限制,而是被包括在权利要求书及其等同物中。

相关申请的交叉引用

本申请要求在韩国于2018年12月13日提交的专利申请No.10-2018-0161254以及在韩国于2019年11月6日提交的专利申请No.10-2019-0140653的优先权,上述申请全部内容通过引用结合于此。

相关技术
  • 编码工具设置方法和图像解码设备
  • 动态图像编码装置、动态图像编码方法、动态图像编码程序、动态图像解码装置、动态图像解码方法、动态图像解码程序、动态图像再编码装置、动态图像再编码方法、动态图像再编码程序
技术分类

06120113104775