使用当前画面参考模式的预测方法及其图像解码装置与流程

文档序号:26013319发布日期:2021-07-23 21:34阅读:226来源:国知局
使用当前画面参考模式的预测方法及其图像解码装置与流程

本发明涉及图像的编码和解码,更具体地,涉及一种具有改进的编码和解码效率的预测方法和使用该预测方法的视频解码装置。



背景技术:

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

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

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



技术实现要素:

技术问题

为了满足这些需求,本公开旨在提供一种改进的视频编码和解码技术。具体地,本公开的一个方面涉及一种通过确定当前块的预测模式的各种方法来改进编码和解码的效率的技术。

技术方案

根据一个方面,本公开提供了一种预测要在帧内块复制(ibc)模式下解码的当前块的方法。该方法包括以下步骤:从比特流将指示是否允许应用ibc模式的使能标志和指示切片类型是否为帧间的类型信息解码;从比特流将指示当前块的预测模式是否为ibc模式的ibc标志解码,ibc标志的解码取决于使能标志和类型信息;当ibc标志指示ibc模式时,从比特流将不包括当前块的参考画面索引的运动信息解码;以及使用当前画面内由所述运动信息所指示的块来预测当前块,当前块位于当前画面中。

根据另一方面,本公开提供了一种视频解码装置,该视频解码装置包括:解码器,其被配置为从比特流将指示是否允许应用帧内块复制(ibc)模式的使能标志和指示切片类型是否为帧间的类型信息解码,根据使能标志和类型信息将指示当前块的预测模式是否为ibc模式的ibc标志解码,并且当ibc标志指示ibc模式时,将不包括当前块的参考画面索引的运动信息解码;以及预测器,其被配置为使用当前画面内由所述运动信息所指示的块来预测当前块,当前块位于当前画面中。

有益效果

从以上显而易见的是,根据本公开的实施方式,因为分配以确定预测模式的比特数被自适应地调节为预测模式的频率,比特效率可改进。

附图说明

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

图2示例性地示出使用qtbttt结构的块划分结构。

图3示例性地示出多个帧内预测模式。

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

图5是示出当前画面参考技术的图。

图6是示出对预测模式进行分类的传统方法的图。

图7是示出本公开中所提出的确定预测模式的示例的流程图。

图8是示出在当前画面参考模式下预测当前块的示例的流程图。

图9至图14是示出本公开中所提出的各种方法的图。

图15是示出根据本公开的实施方式的在ibc_bvp模式下预测当前块的流程图。

图16至图18是示出用于ibc模式的bvp候选列表中所包括的bvp候选的图。

具体实施方式

以下,将参照附图详细描述本公开的一些实施方式。应该注意的是,在向各个图中的构成元件添加标号时,尽管元件示出于不同的图中,相似的标号指代相似的元件。此外,在本公开的以下描述中,将省略并入本文中的已知功能和配置的详细描述以避免使本公开的主题模糊。

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

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

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

一个视频由多个画面组成。各个画面被分割成多个区域,并且对各个区域执行编码。例如,一个画面被分割成一个或更多个拼块和/或切片。这里,一个或更多个拼块可被定义为拼块组。各个拼块或切片被分割成一个或更多个编码树单元(ctu)。各个ctu按树结构分割成一个或更多个编码单元(cu)。应用于各个cu的信息被编码为cu的句法,共同应用于包括在一个ctu中的cu的信息被编码为ctu的句法。另外,共同应用于一个拼块中的所有块的信息被编码为拼块的句法或者被编码为作为多个拼块的集合的拼块组的句法,应用于构成一个画面的所有块的信息被编码在画面参数集(pps)或画面头中。此外,多个画面共同参考的信息被编码在序列参数集(sps)中。另外,一个或更多个sps共同参考的信息被编码在视频参数集(vps)中。

块分割器110确定编码树单元(ctu)的大小。关于ctu的大小(ctu大小)的信息被编码为sps或pps的句法并且被发送到视频解码设备。

块分割器110将构成视频的各个画面分割成具有预定大小的多个ctu,然后使用树结构递归地分割ctu。在树结构中,叶节点用作编码单元(cu),其是编码的基本单元。

树结构可以是:quadtree(qt),其中节点(或父节点)被分割成具有相同大小的四个子节点(或子节点);binarytree(bt),其中节点被分割成两个子节点;ternarytree(tt),其中节点按1:2:1的比例被分割成三个子节点;或者由qt结构、bt结构和tt结构中的两个或更多个的组合形成的结构。例如,可使用qtbt(quadtree+binarytree)结构或qtbttt(quadtree+binarytreeternarytree)结构。这里,bttt可被统称为多类型树(mtt)。

图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编码并用信号通知给视频解码设备。

作为树结构的另一示例,当使用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编码并用信号通知给视频解码设备。

作为树结构的另一示例,当使用qtbt时,可存在两个分割类型,即节点的块水平分割(即,对称水平分割)和垂直分割(即,对称垂直分割)成相同大小的两个块。指示bt结构的各个节点是否被分割成下层的块的分割标志(split_flag)和指示分割类型的分割类型信息由编码器150编码并发送给视频解码设备。可存在附加类型,即将节点的块分割成两个不对称块。不对称分割类型可包括将块按1:3的大小比例分割成两个矩形块的类型以及对角地分割节点的块的类型。

cu可根据ctu的qtbt或qtbttt分割而具有各种大小。以下,与要编码或解码的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中。一旦一个画面中的所有块均被重构,重构画面就用作要编码的下一画面中的块的帧间预测的参考画面。

图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结构分割叶节点。这样,按bt或tt结构递归地分割qt的叶节点下方的各个节点。

作为另一示例,当使用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_split_flag)与qt分割有关,并且各个节点被分割成下层的四个节点。对于与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中。当一个画面中的所有块均被重构时,重构画面用作此后要编码的画面中的块的帧间预测的参考画面。

本公开提出了用于确定要编码和/或解码的目标块(即,当前块)的预测模式并基于此对当前块执行预测的新方法。

在本公开的方法中确定的预测模式可大致分为帧间模式、帧内模式和当前画面参考(cpr)模式。cpr模式可被称为帧内块复制(ibc)模式。帧间模式可包括跳过模式、合并模式和amvp模式。cpr模式(即,ibc模式)可包括ibc_skip模式、ibc_merge模式和ibc_bvp模式。ibc_skip模式是通过对跳过模式应用ibc模式而形成的模式。ibc_merge模式是通过对合并模式应用ibc模式而形成的模式。ibc_bvp模式通过对amvp模式应用ibc模式而形成。

ibc模式是帧内预测方法之一,图5中示出ibc模式的示例。如图5所示,在ibc模式中,从位于同一画面(当前画面)中的另一块(参考块)获取关于当前块的预测信息。

在包括在图5的当前画面中的块当中,以阴影图案标记的块表示已经解码的块或区域,未以阴影图案标记的块表示还未解码的块或区域。因此,从其获取关于当前块的预测信息的参考块对应于已经解码的块。参考块由运动向量(mv)指示。在ibc模式下,mv可被称为块向量(bv)。

在ibc模式下,从bv所指示的参考块获取关于当前块的预测信息。另一方面,在帧内模式下,从与当前块相邻的像素获取预测信息。另外,在ibc模式下,从位于同一画面中的参考块获取预测信息。另一方面,在帧间模式下,从位于不同画面中的参考块获取预测信息。

在确定预测模式的传统方法中,首先执行确定包括当前块的切片的类型(slice_type!=i)的操作s610。切片类型可包括帧内切片(i切片)、预测切片(p切片)和双预测切片(b切片)。

对于i切片,仅允许帧内预测。因此,当当前块包括在i切片中时,执行解析并解码帧内预测所需的信息的操作s692。相比之下,对于p切片和b切片,允许帧间预测和帧内预测二者。因此,当当前块不包括在i切片中时,针对当前块执行附加确定操作。

首先,执行解析并解码指示是否在跳过模式下预测当前块的标志(skip_flag)的操作s620,然后是评估skip_flag的操作s630。当skip_flag为有效(skip_flag=1)时,当前块的预测模式对应于跳过模式。因此,为了获取用于跳过模式预测的运动信息,进一步执行解析并解码merge_index的操作s680。

相比之下,当skip_flag为无效(skip_flag=0)时,当前块的预测模式可对应于跳过模式以外的模式(合并模式、amvp模式和帧内模式)中的任一个。为了清楚地指定预测模式,执行解析并解码指示是否在帧间模式或帧内模式下预测当前块的标志(指示是否在帧内模式下预测当前块的标志pred_mode_flag)的操作s640和评估pred_mode_flag的操作s650。

当pred_mode_flag指示帧间模式时,当前块的预测模式可对应于合并模式或amvp模式。为了清楚地指定预测模式,执行解析并解码指示是否在合并模式下预测当前块的标志(merge_flag)的操作s660和评估merge_flag的操作s670。

当merge_flag为有效(merge_flag=1)时,当前块的预测模式对应于合并模式。因此,执行解析并解码merge_index的操作s680。相比之下,当merge_flag为无效(merge_flag=0)时,当前块的预测模式对应于amvp模式。因此,执行解析并解码amvp预测所需的运动信息的操作s690。

再返回到操作s650,当pred_mode_flag指示帧内模式时,执行解析并解码帧内预测所需的信息的操作s692。

在参照图6描述的传统方法中,可基于当前块的参考块所在的画面是否与当前画面相同来应用ibc模式。例如,当确定当前块的预测模式是跳过模式或合并模式,并且由merge_idx指示的合并候选的参考画面与当前画面相同时,可在ibc_skip模式或ibc_merge模式下预测当前块。

作为另一示例,当确定当前块的预测模式是amvp模式,并且从视频编码装置用信号通知的参考画面索引(ref_idx)指示与当前画面相同的画面时,可在ibc_bvp模式下预测当前块。

ibc模式是否有效/无效可使用单独的标志(sps_curr_pic_ref_enabled_flag和pps_curr_pic_ref_enabled_flag)来定义,下面的表1和表2示出使用上述各个标志定义ibc模式是否有效/无效的示例。

[表1]

[表2]

为了确定合并候选的参考画面是否与当前画面相同以及参考画面索引是否指示与当前画面相同的画面,当前画面应该被添加到参考画面列表。下面的方程1是将当前画面添加到参考画面列表的示例。

[方程1]

if(pps_curr_pic_ref_enabled_flag)

refpiclisttemp0[ridx++]=currpic

本公开提出了用于区分当前块的预测模式的新句法和语义。本公开还提出了由视频编码装置在ibc模式下编码(预测)的当前块的句法和语义。此外,本公开提出了在ibc_bvp模式下预测的当前块的bvp候选列表中所包括的新bvp候选。

在本公开中,视频编码装置基于是否满足预设条件来确定当前块的预测模式,并且通过将指示是否满足预设条件的句法元素包括在比特流中来用信号通知视频解码装置。视频解码装置确定是否满足预设条件(s710),并且基于确定的结果来确定当前块的预测模式(s720)。另外,视频解码装置基于所确定的预测模式来预测当前块(s730)。

“预设条件”意指用于确定当前块的预测模式的标准。预设条件可包括“包含当前块的拼块组”(以下简称为“拼块组”)的类型是否为“帧内”(或者拼块组的类型是否为“帧间”),以及ibc模式是否有效(on)(是否允许应用ibc模式),以及当前块的预测模式是否为合并模式。预设条件还可包括当前块是否在帧内模式(或帧间模式)下编码以及当前块的预测模式是否为ibc模式。

可引入类型信息以指示拼块组的类型是否为帧内。可利用预定义的句法元素(例如,tile_group_type)来用信号通知类型信息。在本说明书中,类型信息的评估可被表示为“tilegroup=inter?”。这里,拼块组可被称为拼块或切片。因此,“拼块组的类型是否为帧内”可不同地理解为“拼块的类型是否为帧内”或“切片的类型是否为帧内”。

可引入使能标志以指示是否允许应用ibc模式。使能标志可利用预定义的句法元素(例如,ibc_enabled_flag)来实现。可在sps、pps、拼块组头、拼块头和ctu头当中的一个或更多个位置处定义句法元素ibc_enabled_flag。

可引入句法元素(merge_flag)以指示当前块的预测模式是否为合并模式。可引入句法元素(pred_mode_flag)以指示当前块是否在帧间模式(或帧内模式)下编码。可引入句法元素(pred_mode_ibc_flag)以指示当前块的预测模式是否为ibc模式。

下面将描述通过应用全部或部分预设条件来将当前块的预测模式确定为ibc_bvp模式的处理的示例。

当视频编码装置发送包含使能标志和关于拼块组的类型信息的比特流时,视频解码装置(即,解码器)从比特流将使能标志和类型信息解码(s810)。

另外,视频编码装置根据使能标志、类型信息和/或当前块的预测模式的指示来发送选择性地包含ibc标志的比特流。解码器410根据解码的使能标志、类型信息和/或当前块的预测模式将ibc标志解码(s820)。例如,当使能标志为有效并且类型信息指示帧内时,视频解码装置可将ibc标志解码。另外,当使能标志为有效,类型信息指示帧间(即,类型信息不指示帧内),并且预测模式为帧间(即,预测模式不是帧内)时,视频解码装置将ibc标志解码。

当ibc标志指示ibc模式时,视频编码装置发送包含关于当前块的运动信息的比特流,并且视频解码装置将包含在比特流中的运动信息解码(s830)。参考画面索引不包括在关于要解码的当前块的运动信息中。

视频解码装置(即,预测器)基于解码的运动信息所指示的块(参考块)来预测当前块(s840)。参考块对应于位于与当前块相同的画面(当前画面)中的块。

如上所述,在本公开中,可使用单独的句法元素(pred_mode_ibc_flag)确定已经在ibc模式(ibc_bvp模式)下预测了当前块。因此,本公开的方法不同于使用从视频编码装置用信号通知的参考画面索引来确定已经在ibc_bvp模式下预测了当前块的传统方法。

根据该差异,传统方法需要解析所有的bvp索引(bvp_idx)、bvd和参考画面索引,而本公开的方法仅需要解析bvp索引和bvd。即,根据本公开,可仅基于bvp索引和bvd在ibc_bvp模式下预测当前块,而无需用信号通知参考画面索引,因此比特效率可改进。

下述实施方式可在视频编码装置和视频解码装置二者中以相同的方式实现。为了简明和清晰起见,下面的描述聚焦于视频解码装置。然而,由解码器410或视频解码装置解析并解码特定句法元素的操作优选被理解为视频编码装置对该特定句法元素进行编码并将其包括在比特流中的操作。

实施方式1

实施方式1对应于基于是否满足预设条件来确定当前块的预测模式,并且在所确定的预测模式下预测当前块的示例。

实施方式1-1

如图9所示,实施方式1-1可使用是否允许应用ibc模式、拼块组的类型是否为帧内、当前块的预测模式是否为合并模式、当前块的预测模式是否为ibc模式以及当前块是否通过帧间预测编码中的全部或部分。

跳过模式、合并模式、ibc_skip模式和ibc_merge模式

当使能标志和类型信息被解码时,视频解码装置可基于解码的信息来确定是否允许应用ibc模式或拼块组的类型是否为帧内(s910)。

在操作s910中,当使能标志指示允许应用ibc模式或者类型信息指示类型不是帧内时(即,当不允许应用ibc模式并且拼块组的类型为帧间时,或者当允许应用ibc模式并且拼块组的类型为帧内时,以及当允许应用ibc模式并且拼块组的类型为帧间时),视频解码装置解析并解码merge_flag(s920),并且评估merge_flag(s930)。

在操作s930中,当merge_flag指示“当前块的预测模式是合并模式”时,当前块的预测模式可对应于跳过模式、合并模式、ibc_skip模式和ibc_merge模式中的任一个。在这种情况下,视频解码装置可使用通过操作s940解析和解码的merge_idx来区分跳过/合并模式和ibc_skip/ibc_merge模式。

当解码的merge_idx所指示的合并候选的参考画面与当前画面相同时,当前块的预测模式对应于ibc_skip/ibc_merge模式。相比之下,当解码的merge_idx所指示的合并候选的参考画面不与当前画面相同时,当前块的预测模式对应于跳过/合并模式。

跳过模式与合并模式之间以及ibc_skip模式与ibc_merge模式之间的区分可根据通过操作s990解析和解码的信息(例如,cbf)指示1还是0来确定。

amvp模式

视频解码装置可基于使能标志和类型信息来确定是否允许应用ibc模式或者拼块组的类型是否为帧内(s910),解析和解码指示当前块的预测模式是否为合并模式的信息(s920),并且对其进行评估(s930)。

当在操作s930中merge_flag不指示合并模式时,当前块的预测模式可对应于amvp模式、ibc_bvp模式和帧内模式中的任一个。为了在amvp模式、ibc_bvp模式和帧内模式当中指定当前块的预测模式,视频解码装置可解析并解码模式信息(pred_mode_flag)(s950),并且可评估pred_mode_flag(s960)。

在操作s960中,当pred_mode_flag指示帧间预测(即,未指示帧内预测)时,视频解码装置可基于使能标志和类型信息来确定是否解析指示已经在ibc模式下预测了当前块的单独句法(pred_mode_ibc_flag)(s970)。即,在操作s960中,当预测模式不是帧内预测时,视频解码装置可基于使能标志和类型信息来确定是否解析pred_mode_ibc_flag(s970)。

在操作s970中,当使能标志不指示允许应用ibc模式或者类型信息指示类型是帧内时,视频解码装置可重新评估类型信息(s980)。当在操作s980中类型信息指示帧间时,当前块的预测模式对应于amvp模式。因此,视频解码装置可解析并解码用于在amvp模式下预测当前块的运动信息(ref_idx、mvd、mvp_idx)(s982)。

换言之,在操作s970、操作s980和操作s982中,可理解,当不允许ibc模式并且拼块组的类型为帧间时,视频解码装置解析并解码用于在amvp模式下预测当前块的运动信息。

在操作s970中,当使能标志指示允许应用ibc模式并且类型信息指示帧间(即,指示类型不是帧内)时,视频解码装置可解析并解码pred_mode_ibc_flag(s984),并且评估pred_mode_ibc_flag(s986)。即使在操作s986中pred_mode_ibc_flag不指示ibc模式时,当前块的预测模式也对应于amvp模式。因此,视频解码装置可解析并解码用于在amvp模式下预测当前块的运动信息(s982)。

ibc_bvp模式

视频解码装置可基于使能标志和类型信息来确定是否允许应用ibc模式以及拼块组的类型是否为帧内(s970)。

在操作s970中,当使能标志指示允许应用ibc模式并且类型信息指示帧间时,视频解码装置可解析并解码pred_mode_ibc_flag(s984)并且评估pred_mode_ibc_flag(s986)。当在操作s986中pred_mode_ibc_flag指示ibc模式时,当前块的预测模式对应于ibc_bvp模式。因此,视频解码装置可解析并解码用于在ibc_bvp模式下预测当前块的运动信息(bvd、bvp_idx)(s988)。

当在操作s970中使能标志指示不允许应用ibc模式或者类型信息指示帧内时,视频解码装置可重新评估类型信息(s980)。即使在操作s980中类型信息不指示帧间(即,指示帧内)时,当前块的预测模式也对应于ibc_bvp模式。因此,视频解码装置可解析并解码用于在ibc_bvp模式下预测当前块的运动信息(bvd、bvp_idx)(s988)。

根据实施方式,在操作s970之前,视频解码装置还可执行解析并解码模式信息(pred_mode_flag)(s950)并对其进行评估(s960)的操作。在此实施方式中,当在操作s960中指示当前块的预测模式不是帧内预测(即,模式是帧间预测)时,视频解码装置可执行操作s970以及操作s970之后的操作。

在实施方式中,视频解码装置可在操作s950之前执行操作s910处理、操作s920和操作s930。在此实施方式中,当在操作s930中merge_flag不指示合并模式时,可执行操作s950。

帧内模式

在操作s910中,当使能标志指示不允许应用ibc模式并且类型信息指示帧内时,当前块的预测模式对应于帧内模式。因此,视频解码装置可解析并解码用于在帧内模式下预测当前块的信息(s992)。

在操作s960中,即使当模式信息不指示帧间预测时,当前块的预测模式也对应于帧内模式。因此,视频解码装置可解析并解码用于在帧内模式下预测当前块的信息(s992)。在帧内模式的情况下,未用信号通知的cbf被推断为“1”(s994)。

图10中呈现了基于实施方式1-1为确定当前块的预测模式而消耗或分配的比特数。

在图10中,“拼块组类型”是指示i型、p型和b型中的哪一个对应于拼块组的项。当拼块组对应于i型时,确定tilegroup≠inter。当拼块组对应于p型或b型时,确定tilegroup=inter。

“cu类型”是指示在帧间模式还是帧内模式下预测了当前块的项,cu模式是指示跳过模式、合并模式、amvp模式、ibc_skip模式、ibc_merge模式和ibc_bvp模式当中的预测当前块的模式的项。

“mode”是指示在确定当前块的预测模式的整个操作中merge_flag、pred_mode_flag和pred_mode_ibc_flag中的每一个是否有效/无效的项。ref_idx是指示是否用信号通知参考画面索引的项。cbf是指示当前块的所有变换系数是否均为零或者变换系数是否具有一个或更多个非零值的项。

“总比特”是指示对于各个预测模式为了确定当前块的预测模式而消耗或分配的比特数的项,“ibc=off”是指示当ibc_enabled_flag为无效时在各个操作中消耗的比特的项。即,除了项ibc=off之外的上述项表示在ibc_enabled_flag为有效的假设下(假设应用ibc方法)的比特数。

以下,首先将描述在ibc_enabled_flag=1的假设下为确定各个预测模式而分配的比特数,然后将描述在ibc_enabled_flag=0的假设下为了确定各个预测模式而分配的比特数。

假设拼块组类型为p型或b型并且cu类型为帧间,另外假定tilegroup=inter。因此,当cu模式是跳过时,merge_flag=1,不用信号通知ref_idx,并且cbf=0。因此,分配2比特以确定跳过模式。

当cu模式是合并时,merge_flag=1,不用信号通知ref_idx,并且cbf=1。因此,分配2比特以确定合并模式。当cu模式是amvp时,merge_flag=0,pred_mode_flag=1,pred_mode_ibc_flag=0,ref_idx=0,并且cbf=0或1。因此,分配5比特以确定amvp模式。

当拼块组类型为p型或b型并且cu类型是帧内时,分配2比特(merge_flag=0和pred_mode_flag=0)以确定cu模式是帧内模式。在这种情况下,不用信号通知cbf,而是推导为1。

另外,分配2比特(merge_flag=1和cbf=0)以确定cu模式是ibc_skip,并且分配2比特(merge_flag=1和cbf=1)以确定cu模式是ibc_merge。另外,分配4比特(merge_flag=0,pred_mode_flag=1,pred_mode_ibc_flag=1,cbf=0或1)以确定cu模式是ibc_bvp。

当拼块组类型为i型时(当cu类型是帧内时),除了ibc_enabled_flag=1之外另外假定tilegroup≠inter。因此,分配2比特(merge_flag=0和pred_mode_flag=0)以确定cu类型是帧内模式。

另外,分配2比特(merge_flag=1和cbf=0)以确定cu模式是ibc_skip,并且分配2比特(merge_flag=1和cbf=1)以确定cu模式是ibc_merge。另外,分配3比特(merge_flag=0,pred_mode_flag=1,cbf=0或1)以确定cu模式是ibc_bvp。

在项ibc=off中呈现了当ibc功能为无效(ibc_enabled_flag=0)时为了确定当前块的预测模式而消耗或分配的比特数。由于ibc功能为无效,所以假设拼块组类型对应于p型或b型,cu类型对应于帧间,并且pred_mode_ibc_flag=0。

当cu模式是跳过时,merge_flag=1,不用信号通知ref_idx,并且cbf=0。因此,分配2比特以确定跳过模式。当cu模式是合并时,merge_flag=1,不用信号通知ref_idx,并且cbf=1。因此,分配2比特以确定合并模式。当cu模式是amvp时,merge_flag=0,pred_mode_flag=1,ref_idx=0,并且cbf=0或1。因此,分配4比特以确定amvp模式。

实施方式1-2

实施方式1-2对应于使用新的句法和语义来确定当前块的预测模式,并且基于所确定的预测模式来预测当前块的另一示例。如图11所示,在实施方式1-2中,可应用部分或全部预设条件以确定当前块的预测模式。

跳过模式、合并模式、ibc_skip模式和ibc_merge模式

视频解码装置可基于使能标志和类型信息来确定是否允许应用ibc模式或者拼块组的类型是否为帧内(s1110)。在操作s1110中,当使能标志指示允许应用ibc模式或者类型信息指示帧间时,视频解码装置可解析并解码merge_flag(s1120),并且对其进行评估(s1130)。

当在操作s1130中merge_flag指示合并模式时,视频解码装置可基于通过操作s1140解析和解码的merge_idx在跳过/合并模式和ibc_skip/ibc_merge模式之间进行区分。具体地,当解码的merge_idx所指示的合并候选的参考画面与当前画面相同时,当前块的预测模式对应于ibc_skip/ibc_merge模式。当解码的merge_idx所指示的合并候选的参考画面不与当前画面相同时,当前块的预测模式对应于跳过/合并模式。

跳过模式与合并模式之间以及ibc_skip模式与ibc_merge模式之间的区别可根据通过操作s1190解析和解码的cbf指示1还是0来确定。

amvp模式

当在操作s1130中merge_flag不指示合并模式时,视频解码装置可解析并解码模式信息(pred_mode_flag)(s1150)并且评估pred_mode_flag(s1160)。

当在操作s1160中pred_mode_flag指示帧间预测时,视频解码装置可评估类型信息(s1170)。当在操作s1170中类型信息指示帧间时,当前块的预测模式对应于amvp模式。因此,视频解码装置可解析并解码用于在amvp模式下预测当前块的运动信息(ref_idx、mvd、mvp_idx)(s1180)。

ibc_bvp模式

视频解码装置可基于使能标志和类型信息来确定是否允许应用ibc模式以及拼块组的类型是否为帧内(s1182)。

在操作s1182中,当使能标志指示允许应用ibc模式并且类型信息指示帧间时,视频解码装置可解析并解码pred_mode_ibc_flag(s1184)并且评估pred_mode_ibc_flag(s1186)。当在操作s1186中pred_mode_ibc_flag指示ibc模式时,当前块的预测模式对应于ibc_bvp模式。因此,视频解码装置可解析并解码用于在ibc_bvp模式下预测当前块的运动信息(bvd、bvp_idx)(s1188)。

即使在操作s1170中类型信息指示帧内时,当前块的预测模式对应于ibc_bvp模式。因此,视频解码装置可解析并解码用于在ibc_bvp模式下预测当前块的运动信息(bvd,bvp_idx)(s1188)。

根据实施方式,视频解码装置还可在操作s1182之前执行解析并解码模式信息(pred_mode_flag)(s1150)并对其进行评估(s1160)的操作。在此实施方式中,当在操作s1160中pred_mode_flag不指示帧间预测时,可执行操作s1182。当在操作s1160中pred_mode_flag指示帧间预测时,可执行操作s1170。

在实施方式中,视频解码装置可在操作s1150之前执行操作s1110处理、操作s1120和操作s1130。在此实施方式中,当在操作s1130中merge_flag不指示合并模式时,可执行操作s1150。

帧内模式

在操作s1110中,当使能标志指示不允许应用ibc模式并且类型信息指示帧内时,当前块的预测模式对应于帧内模式。因此,视频解码装置可解析并解码用于在帧内模式下预测当前块的信息(s1192)。

另外,即使当使能标志指示不允许应用ibc模式或者类型信息指示帧内时,在操作s1182中当前块的预测模式也对应于帧内模式。因此,视频解码装置可解析并解码用于在帧内模式下预测当前块的信息(s1192)。

此外,即使在操作s1186中pred_mode_ibc_flag不指示ibc模式时,当前块的预测模式对应于帧内模式。因此,视频解码装置可解析并解码用于在帧内模式下预测当前块的信息(s1192)。在帧内模式的情况下,不用信号通知cbf并推导为1(s1194)。

图12中呈现了基于实施方式1-2为了确定当前块的预测模式而消耗或分配的比特数。

图12的项,拼块组类型、cu类型、cu模式、模式、ref_idx、cbf、总比特和ibc=off具有与上述图10的那些相同的含义。

以下,将首先描述在ibc_enabled_flag=1的假设下为确定各个预测模式而分配的比特数,然后将描述在ibc_enabled_flag=0的假设下为确定各个预测模式而分配的比特数。

假设拼块组类型为p型或b型并且cu类型为帧间,另外假定tilegroup=inter。因此,当cu模式是跳过时,merge_flag=1,不用信号通知ref_idx,并且cbf=0。因此,分配2比特以确定跳过模式。

当cu模式是合并时,merge_flag=1,不用信号通知ref_idx,并且cbf=1。因此,分配2比特以确定合并模式。当cu模式是amvp时,merge_flag=0,pred_mode_flag=1,ref_idx=0,并且cbf=0或1。因此,分配4比特以确定amvp模式。

当拼块组类型为p型或b型并且cu类型是帧内时,分配3比特(merge_flag=0,pred_mode_flag=0,并且pred_mode_ibc_flag=0)以确定cu类型是帧内模式。在这种情况下,不用信号通知cbf,而是推导为1。

另外,分配2比特(merge_flag=1和cbf=0)以确定cu模式是ibc_skip,并且分配2比特(merge_flag=1和cbf=1)以确定cu模式是ibc_merge。另外,分配4比特(merge_flag=0,pred_mode_flag=0,pred_mode_ibc_flag=1,cbf=0或1)以确定cu模式是ibc_bvp。

当拼块组类型为i型时(当cu类型是帧内时),除了ibc_enabled_flag=1之外另外假定tilegroup≠inter。因此,分配2比特(merge_flag=0和pred_mode_flag=0)以确定cu类型是帧内模式。

另外,分配2比特(merge_flag=1和cbf=0)以确定cu模式是ibc_skip,并且分配2比特(merge_flag=1和cbf=1)以确定cu模式是ibc_merge。另外,分配3比特(merge_flag=0,pred_mode_flag=1,cbf=0或1)以确定cu类型是ibc_bvp。

在项ibc=off中呈现了当ibc功能为无效(ibc_enabled_flag=0)时为确定当前块的预测模式而消耗或分配的比特数。由于ibc功能为无效,所以假设拼块组类型对应于p型或b型,cu类型对应于帧间,并且pred_mode_ibc_flag=0。

当cu模式是跳过时,merge_flag=1,不用信号通知ref_idx,并且cbf=0。因此,分配2比特以确定跳过模式。当cu模式是合并时,merge_flag=1,不用信号通知ref_idx,并且cbf=1。因此,分配2比特以确定合并模式。当cu模式是amvp时,merge_flag=0,pred_mode_flag=1,ref_idx=0,并且cbf=0或1。因此,分配4比特以确定amvp模式。

实施方式1-3

实施方式1-3对应于使用新的句法和语义来确定当前块的预测模式,并且基于所确定的预测模式来预测当前块的另一示例。如图13所示,在实施方式1-3中,可应用部分或全部预设条件以确定当前块的预测模式。

跳过模式、合并模式、ibc_skip模式和ibc_merge模式

视频解码装置可基于使能标志和类型信息来确定是否允许应用ibc模式或者拼块组的类型是否为帧内(s1310)。当允许应用ibc模式或者拼块组的类型为帧间时,视频解码装置可解析并解码merge_flag(s1320),并且对其进行评估(s1330)。

当在操作s1330中merge_flag指示合并模式时,当前块的预测模式可对应于跳过模式、合并模式、ibc_skip模式和ibc_merge模式之一。视频解码装置可基于通过操作s1340解析和解码的merge_idx在跳过/合并模式和ibc_skip/ibc_merge模式之间进行区分。

跳过模式与合并模式之间以及ibc_skip模式与ibc_merge模式之间的区别可根据通过操作s1390解析和解码的cbf指示1还是0来确定。

amvp模式

当在操作s1330中merge_flag不指示合并模式时,视频解码装置可评估使能标志和类型信息(s1350)。在操作s1350中,当使能标志指示允许应用ibc模式并且类型信息指示帧间时,视频解码装置可解析并解码pred_mode_ibc_flag(s1384),并且评估pred_mode_ibc_flag(s1386)。

当在操作s1386中pred_mode_ibc_flag不指示ibc模式时,当在操作s1350中使能标志指示不允许应用ibc模式或者类型信息指示帧内时,视频解码装置可解析并解码模式信息(pred_mode_flag)(s1360),并且对其进行评估(s1370)。

当在操作s1370中pred_mode_flag指示帧间预测时,视频解码装置可评估类型信息(s1380)。当在操作s1380中类型信息指示帧间时,当前块的预测模式对应于amvp模式。因此,视频解码装置可解析并解码用于在amvp模式下预测当前块的信息(ref_idx、mvd、mvp_idx)(s1382)。

ibc_bvp模式

视频解码装置可基于使能标志和类型信息来确定是否允许应用ibc模式以及拼块组的类型是否为帧内(s1350)。

在操作s1350中,当使能标志指示允许应用ibc模式并且类型信息指示帧间时,视频解码装置可解析并解码pred_mode_ibc_flag(s1384)并且评估pred_mode_ibc_flag(s1386)。当在操作s1386中pred_mode_ibc_flag指示ibc模式时,当前块的预测模式对应于ibc_bvp模式。因此,视频解码装置可解析并解码用于在ibc_bvp模式下预测当前块的运动信息(bvd,bvp_idx)(s1388)。

根据实施方式,当在操作s1350中使能标志指示不允许应用ibc模式或者类型信息指示帧内时,视频解码装置可解析并解码模式信息(pred_mode_flag)(s1360),并且对其进行评估(s1370)。当在操作s1370中pred_mode_flag指示帧间预测时,视频解码装置可评估类型信息(s1380)。当在操作s1380中类型信息指示帧内时,当前块的预测模式对应于ibc_bvp模式。因此,视频解码装置可解析并解码用于在ibc_bvp模式下预测当前块的运动信息(bvd、bvp_idx)(s1388)。

在实施方式中,视频解码装置可在操作s1350之前执行操作s1310处理、操作s1320和操作s1330。在此实施方式中,当在操作s1330中merge_flag不指示合并模式时,可执行操作s1350。

帧内模式

在操作s1310中,当使能标志指示不允许应用ibc模式并且类型信息指示帧内时,当前块的预测模式对应于帧内模式。因此,视频解码装置解析并解码用于在帧内模式下预测当前块的信息(s1392)。

另外,即使在操作s1370中pred_mode_flag不指示帧间预测时,当前块的预测模式对应于帧内模式。因此,视频解码装置可解析并解码用于在帧内模式下预测当前块的信息(s1392)。在帧内模式的情况下,不用信号通知cbf,而是推导为1(s1394)。

图14中呈现了基于实施方式1-3为确定当前块的预测模式而消耗或分配的比特数。图14的项,拼块组类型、cu类型、cu模式、模式、ref_idx、cbf、总比特和ibc=off具有与上述图10和图12的那些相同的含义。

假设拼块组类型为p型或b型并且cu类型为帧间,另外假定tilegroup=inter。因此,当cu模式是跳过时,merge_flag=1,不用信号通知ref_idx,并且cbf=0。因此,分配2比特以确定跳过模式。当cu模式是合并时,merge_flag=1,不用信号通知ref_idx,并且cbf=1。因此,分配2比特以确定合并模式。当cu模式是amvp时,merge_flag=0,pred_mode_ibc_flag=0,pred_mode_flag=1,ref_idx=0,并且cbf=0或1。因此,分配5比特以确定amvp模式。

当拼块组类型为p型或b型并且cu类型是帧内时,分配3比特(merge_flag=0,pred_mode_ibc_flag=0,并且pred_mode_flag=0)以确定cu类型是帧内模式。在这种情况下,不用信号通知cbf,而是推导为1。

另外,分配2比特(merge_flag=1和cbf=0)以确定cu模式是ibc_skip,并且分配2比特(merge_flag=1和cbf=1)以确定cu模式是ibc_merge。另外,分配3比特(merge_flag=0,pred_mode_ibc_flag=1,cbf=0或1)以确定cu模式是ibc_bvp。

当拼块组类型为i型时(当cu类型是帧内时),除了ibc_enabled_flag=1之外另外假定tilegroup≠inter。因此,分配2比特(merge_flag=0和pred_mode_flag=0)以确定cu类型是帧内模式。

另外,分配2比特(merge_flag=1和cbf=0)以确定cu模式是ibc_skip,并且分配2比特(merge_flag=1和cbf=1)以确定cu模式是ibc_merge。另外,分配3比特(merge_flag=0,pred_mode_flag=1,cbf=0或1)以确定cu模式是ibc_bvp。

在项ibc=off中呈现了当ibc功能为无效(ibc_enabled_flag=0)时为确定当前块的预测模式而消耗或分配的比特数。由于ibc功能为无效,所以假设拼块组类型对应于p型或b型,cu类型对应于帧间,并且pred_mode_ibc_flag=0。

当cu模式是跳过时,merge_flag=1,不用信号通知ref_idx,并且cbf=0。因此,分配2比特以确定跳过模式。当cu模式是合并时,merge_flag=1,不用信号通知ref_idx,并且cbf=1。因此,分配2比特以确定合并模式。当cu模式是amvp时,merge_flag=0,pred_mode_flag=1,ref_idx=0,并且cbf=0或1。因此,分配4比特以确定amvp模式。

实施方式2

以下,将参照图15至图18描述本公开的配置在ibc模式下使用的预测块向量候选列表(bvp候选列表)的方法的各种实施方式。

如上所述,本公开可被配置为明确地用信号通知pred_mode_ibc_flag以指示当前块的预测模式对应于ibc模式(ibc_skip模式、ibc_merge模式和ibc_bvp模式之一)。

当当前块的预测模式对应于ibc_bvp模式时,视频解码装置配置包括一个或更多个块向量预测器(bvp)候选的bvp候选列表(s1510)。另外,视频解码装置在bvp候选列表中选择与从视频编码装置用信号通知的bvp索引(包括在运动信息中)对应的bvp候选(s1520)。此后,视频解码装置通过对所选bvp候选(所选bvp)和从视频编码装置用信号通知的bvd(包括在运动信息中)求和来推导当前块的块向量(bv)(s1530),并且通过从所推导的bv所指示的当前画面中的参考块获取预测信息来预测当前块(s1540)。

实施方式2-1

作为bvp候选,通过实施方式2-1配置的bvp候选列表可包括:1)与当前块空间上相邻的一个或更多个块(空间邻近块)当中在ibc模式下预测的块的bv,2)与当前块时间上相邻的一个或更多个块(时间邻近块)当中在ibc模式下预测的块的bv,以及3)预设bv。即,包括在bvp候选列表中的bvp候选可包括在ibc模式下预测的空间邻近块的bv、在ibc模式下预测的时间邻近块的bv以及预设bv。

如图16所示,空间邻近块可包括位于当前块的左侧的块a0、a1和a2中的至少一个和/或位于当前块上方的块b0、b1和b2中的至少一个。空间邻近块还可包括位于当前块的左上侧的块ab。这里,位于当前块的左上侧的块ab可被当作位于当前块的左侧的块,或者可被当作位于当前块上方的块。

位于当前块的左侧的块包括位于下侧的块a1和/或沿着当前块的高度h位于底部的块a0,或者还可包括位于中间的块a2。位于当前块上方的块可包括位于右侧的块b1和/或沿着当前块的宽度w位于右端的块b0,并且还可包括位于中间的块b2。

当基于像素来表示空间邻近块的位置时,a1可以是包括位于当前块的左下侧的像素作为其最下像素的块,a2可以是包括位于当前块的最左侧的中心的像素作为其右下像素的块。b1可以是包括当前块的右上像素作为其右下像素的块,b2可以是包括位于当前块的顶部中心的像素作为其右下像素的块。ab可以是包括当前块的最左上像素作为其右下像素的块,a0可以是包括当前块的最左下像素作为其最右上像素的块,b0可以是包括当前块的右上像素作为其最左下像素的块。

视频解码装置可通过按预设顺序搜索位于当前块的左侧的块当中的一个或更多个块和/或位于当前块的上方的块当中的一个或更多个块和/或位于当前块的左上侧的块来推导一个或更多个bvp候选,并且配置包括所推导的bvp候选的bvp候选列表。例如,视频解码装置可通过根据预设顺序搜索位于当前块的左侧的块a1和位于当前块的上方的块b1来推导bvp候选,并且配置包括所推导的bvp候选的bvp候选列表。

另外,视频解码装置可通过根据预设顺序搜索位于当前块的左侧的块(a0、a1和/或a2和/或ab)来推导一个或更多个bvp候选。此外,视频解码装置可通过根据预设顺序搜索位于当前块的上方的块(b0、b1和/或b2和/或ab)来推导一个或更多个bvp候选。

如图17所示,时间邻近块可意指与位于并置画面(col_picture)中的并置块(col_block)相邻的一个或更多个块。这里,例如,col_picture可被预先指定为位于参考画面列表(l0或l1)的第一位置(具有索引0)的画面。col_block可被预先指定为例如位于col_picture中,但是可被预先指定为例如位于col_picture中与当前块在当前画面中的位置相同的位置处的块。

如图17所示,时间邻近块可包括位于col_block的最右下侧的块br、位于col_block的中心的块ct、位于col_block的右上侧的块tr以及位于col_block的左下侧的块bl。

当基于像素来表示时间邻近块的位置时,br可以是包括位于当前块的右下侧的像素作为其最下像素的块,并且ct可以是包括位于当前块的中心的像素作为其最左上像素的块。tr可以是包括位于当前块的右上侧的像素作为其最左上像素的块,bl可以是包括位于当前块的左下侧的像素作为其最左上像素的块。

视频解码装置可通过根据预设顺序搜索时间邻近块来推导一个或更多个bvp候选,并且配置包括所推导的bvp候选的bvp候选列表。

预设bv可对应于指示向左上移位当前块的高度和宽度的位置的bv。例如,当当前块的宽度为w并且当前块的高度为h时,预设bv可为(-w,-h)。另外,预设bv可为(-w*k,-h*k),其是通过使用特定常数k改变bv的大小而获得的。预设bv可被称为默认bv,因为它不是通过搜索操作获取的,而是预设的。

实施方式2-1中描述的bv可表示相对于包含当前块的ctu的相对位置,或者可表示相对于当前块的相对位置。如图18所示,从当前块的最左上像素(b)的角度,实施方式2-1中描述的bv可以是通过将像素b的位置设定为零向量来指示相对于像素b的相对位置的向量。从包含当前块的ctu的最左上像素(a)的角度,实施方式2-1中描述的bv可以是通过将像素a的位置设定为零向量来指示相对于像素a的相对位置的向量。

视频解码装置可基于当前块和包含当前块的ctu之一来(选择性地)表示bv。当基于当前块或包含当前块的ctu来表示bv时(当选择性地应用用于表示bv的基准时),可有效地设定用于搜索bvp候选的搜索范围。因此,本公开可有效地减少在搜索bvp候选时所消耗的存储器的量,并且减少在表示bv时所消耗的比特数。

实施方式2-2

在实施方式2-2中,提出了可替换时间邻近块的bv的基于历史的bv。通过实施方式2-2配置的bvp候选列表可包括在ibc模式下预测(或已预测)的块的bv。即,根据实施方式2-2的bvp候选列表可包括在当前块的解码之前已经解码(预测)的块当中的在ibc模式下预测的块的bv。

为了将在ibc模式下预测的块的bv用于当前块的预测,需要用于存储在ibc模式下预测的块的bv的组件。在本公开中,该“用于存储的组件”被称为用于ibc模式的“记录”或基于历史的bv(hbv)。另外,hbv中存储的bv(即,在ibc模式下预测的块的bv)可构成列表。该列表可被称为基于历史的块向量预测器(hbvp)候选列表。

hbv可具有能够存储一个或更多个bv的先入先出(fifo)结构。当每独立处理单元(例如,拼块组)配置单独的bvp候选列表以进行并行处理时,存储在hbv中的第一bv可对应于零向量。

当在ibc模式下预测的块的bv根据预测顺序(解码顺序)依次(fifo)存储在hbv中,然后在ibc模式下预测特定块(当前块)时,可从最后存储在hbv中的bv开始依次(与存储顺序相反或与解码顺序相反)搜索bv,并且可选择一个或更多个bv。然后,所选bv可被包括在bvp候选列表中。

hbv中选择的bv可替换包括在bvp候选列表中的bv当中的“时间bv”和/或“预设bv”。即,实施方式2-2中实现的配置bvp候选列表的处理可按各种顺序实现,例如“配置空间bv→配置从hbv选择的bv”、“配置空间bv→配置从hbv选择的bv→配置预设bv”以及“配置空间bv→配置时间bv→配置从hbv选择的bv”。

这里,“时间bv”表示时间邻近块当中在ibc模式下预测的邻近块的bv,“空间bv”表示空间邻近块当中在ibc模式下预测的邻近块的bv。因此,视频解码装置可根据要替换的bv的类型(时间bv和/或预设bv)从hbv选择适当数量的bv。另外,当通过先前bv配置处理包括在bvp候选列表中的bvp候选的数量小于bvp候选列表中可包括的最大候选数量时,可执行“从hbv选择的bv的配置”。

实施方式2-3

在实施方式2-3中,提出了可替换预设bv的零bv。

实施方式2-3中实现的配置bvp候选列表的处理可按各种顺序实现,例如“配置空间bv→配置时间bv→配置零bv”以及“配置空间bv→配置从hbv选择的bv→配置零bv”。

当包括在bvp候选列表中的bvp候选的数量小于通过先前bv配置处理可包括在bvp候选列表中的最大候选数量时,可执行“零bv配置”。

尽管出于例示性目的描述了本发明的示例性实施方式,但是本领域技术人员将理解,在不脱离本发明的构思和范围的情况下,可进行各种修改和改变。为了简明和清晰起见已描述了示例性实施方式。因此,本领域普通技术人员将理解,本发明的范围不由上面明确描述的实施方式限制,而是包括权利要求及其等同物。

相关申请的交叉引用

本申请要求2018年10月8日提交于韩国的专利申请no.10-2018-0119881和2019年6月10日提交于韩国的专利申请no.10-2019-0067724的优先权,其整体通过引用并入本文。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1