用于处理视频信号的方法和设备与流程

文档序号:11291370阅读:311来源:国知局
用于处理视频信号的方法和设备与流程

本发明涉及用于处理视频信号的方法和设备。



背景技术:

近来,在各应用领域中对诸如高清晰度(hd)图像和超高清晰度(uhd)图像等的高分辨率、高品质图像的需求已经增加。由于视频数据具有更高的分辨率和更高的品质,视频数据在量上大于传统视频数据。因此,如果视频数据通过现有介质(例如有线/无线宽带电路)进行传送或者被存储在现有存储介质中,则传送成本和存储成本增大。为了避免较高分辨率、更高品质的视频数据遇到的这些问题,可以使用高效的视频压缩技术。

存在各种视频压缩技术,包括:根据当前图片之前或之后的图片对包括在当前图片中的像素值进行预测的图片间预测;使用当前图片中的像素信息对包括在当前图片中的像素值进行预测的图片内预测;以及向较频繁的值分配短码并且向较不频繁的值分配长码的熵编码。使用这样的视频压缩技术,视频数据可以被高效地压缩以及传送或存储。

随着对高分辨率视频的需求日益增加,对作为新的视频服务的三维(3d)视频内容的需求也正在增加。用于高效地提供hd和3duhd视频内容的视频压缩技术正在讨论中。



技术实现要素:

技术问题

本发明的目的是提供一种用于在对视频信号进行编码/解码时基于调色板模式来预测或重构视频信号的方法和设备。

本发明的目的是提供一种用于在对视频信号进行编码/解码时构造要被编码/解码的块的调色板映射的方法和设备。

本发明的目的是提供一种用于在对视频信号进行编码/解码时得到要被编码/解码的块的调色板索引的方法和设备。

技术方案

根据本发明的用于对视频信号进行解码的方法包括:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号解码方法中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号解码方法中,基于以下中的至少一个来获取模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号解码方法中,当剩余调色板索引的数目为0时,不从比特流用信号传送模式标识符并且将模式标识符设置为复制模式。

在根据本发明的视频信号解码方法中,当剩余调色板索引的数目大于0并且在扫描顺序中当前样本的位置对应于当前块的最后样本时,不从比特流用信号传送模式标识符并且将模式标识符设置为索引模式。

根据本发明的用于对视频信号进行解码的设备包括:预测单元,用于:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号解码设备中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号解码设备中,基于以下中的至少一个来获取模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号解码设备中,当剩余调色板索引的数目为0时,不从比特流用信号传送模式标识符并且将模式标识符设置为复制模式。

在根据本发明的视频信号解码设备中,当剩余调色板索引的数目大于0并且在扫描顺序中当前样本的位置对应于当前块的最后样本时,不从比特流用信号传送模式标识符并且将模式标识符设置为索引模式。

根据本发明的用于对视频信号进行编码的方法包括:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号编码方法中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号编码方法中,基于以下中的至少一个来确定模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号编码方法中,当剩余调色板索引的数目为0时,不对模式标识符进行编码并且将模式标识符设置为复制模式。

在根据本发明的视频信号编码方法中,当剩余调色板索引的数目大于0并且在扫描顺序中当前样本的位置对应于当前块的最后样本时,不对模式标识符进行编码并且将模式标识符设置为索引模式。

根据本发明的用于对视频信号进行编码的设备包括:预测单元,用于:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号编码设备中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号编码设备中,基于以下中的至少一个来获取模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号编码设备中,当剩余调色板索引的数目为0时,不对模式标识符进行编码并且将模式标识符设置为复制模式。

有益效果

根据本发明,能够提高对要基于调色板模式被编码/解码的块的预测或重构的效率。

根据本发明,可以通过根据先前块的调色板映射得到要被编码/解码的块的调色板映射来提高调色板条目编码/解码效率。

根据本发明,可以基于索引模式或复制模式高效地得到要被编码/解码的块的调色板索引。

根据本发明,可以通过基于行程编码对使用二进制矢量的调色板索引进行编码来提高压缩效率。

根据本发明,可以基于逸出模式来重构要被编码/解码的块的样本值,以使得可以高效地对在调色板条目范围之外的样本进行编码/解码。

附图说明

图1是示出根据本发明的实施方式的视频编码设备的框图。

图2是示出根据本发明的实施方式的视频解码设备的框图。

图3示出了根据本发明的实施方式的基于调色板模式重构当前块的方法。

图4示出了根据本发明的实施方式的限制性地用信号传送重用标记(previous_palette_entry_flag)的方法。

图5示出了根据本发明的实施方式的基于行程编码用信号传送二进制矢量形式的重用标记的方法。

图6示出了根据本发明的实施方式的用于基于语法palette_predictor_run来获取当前块的预测的调色板条目的方法。

图7示出了根据本发明的实施方式的用于基于调色板预测最后行程(palette_predictor_last_run)来获取当前块的预测的调色板条目的方法。

图8示出了根据本发明的实施方式的用于构造与当前块有关的调色板映射的方法。

图9示出了根据本发明的实施方式的基于调色板索引信息和调色板索引行程得到当前块的调色板索引的方法。

图10示出了根据本发明的实施方式的用于基于复制模式得到调色板索引的方法。

图11示出了根据本发明的实施方式的在调色板模式下的扫描顺序。

图12示出了根据本发明的实施方式的用于基于逸出存在标记获取调色板索引的方法。

图13示出了根据本发明的实施方式的用于基于当前样本的位置和/或剩余调色板索引的数目来获取模式标识符的方法。

本发明的最佳实施方式

根据本发明的用于对视频信号进行解码的方法包括:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号解码方法中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号解码方法中,基于以下中的至少一个来获取模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号解码方法中,当剩余调色板索引的数目为0时,不从比特流用信号传送模式标识符并且将模式标识符设置为复制模式。

在根据本发明的视频信号解码方法中,当剩余调色板索引的数目大于0并且在扫描顺序中当前样本的位置对应于当前块的最后样本时,不从比特流用信号传送模式标识符并且将模式标识符设置为索引模式。

根据本发明的用于对视频信号进行解码的设备包括:预测单元,用于:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号解码设备中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号解码设备中,基于以下中的至少一个来获取模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号解码设备中,当剩余调色板索引的数目为0时,不从比特流用信号传送模式标识符并且将模式标识符设置为复制模式。

在根据本发明的视频信号解码设备中,当剩余调色板索引的数目大于0并且在扫描顺序中当前样本的位置对应于当前块的最后样本时,不从比特流用信号传送模式标识符并且将模式标识符设置为索引模式。

根据本发明的用于对视频信号进行编码的方法包括:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号编码方法中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号编码方法中,基于以下中的至少一个来确定模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号编码方法中,当剩余调色板索引的数目为0时,不对模式标识符进行编码并且将模式标识符设置为复制模式。

在根据本发明的视频信号编码方法中,当剩余调色板索引的数目大于0并且在扫描顺序中当前样本的位置对应于当前块的最后样本时,不对模式标识符进行编码并且将模式标识符设置为索引模式。

根据本发明的用于对视频信号进行编码的设备包括:预测单元,用于:构造与以调色板模式编码的当前块有关的调色板映射;基于包括在当前块中的当前样本的模式标识符来确定当前样本的调色板索引模式;基于调色板索引模式来得到当前样本的调色板索引;以及通过使用当前块的调色板映射和调色板索引来重构当前样本。

在根据本发明的视频信号编码设备中,模式标识符指定索引模式或复制模式中的一个。

在根据本发明的视频信号编码设备中,基于以下中的至少一个来获取模式标识符:当前样本在预定扫描顺序中的位置或剩余调色板索引的数目。

在根据本发明的视频信号编码设备中,当剩余调色板索引的数目为0时,不对模式标识符进行编码并且将模式标识符设置为复制模式。

具体实施方式

本发明可以以各种方式被改变和修改,并且可以参考不同的示例性实施方式来说明本发明,其中一些实施方式将在附图中描述和示出。然而,这些实施方式不意在限制本发明,而是被理解为包括属于本发明的精神和技术范围内的所有修改方案、等同方案和替换方案。在整个附图中,相同附图标记指代相同元件。

虽然术语第一、第二等可以用于描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不偏离本发明的教导的情况下,第一元件可以被称为第二元件,并且同样地第二元件可以被称为第一元件。术语“和/或”包括多个关联列出项的任何组合和所有组合。

将要理解,当元件被称为“连接至”或“耦接至”另一元件时,该元件可以直接连接至或耦接至另一元件或中间元件。相反,当元件被称为“直接连接至”或“直接耦接至”另一元件时,不存在中间元件。

本文中所使用的术语仅用于描述特定实施方式的目的而不意在限制本发明。如本文中所使用的,除非上下文另外清楚地指出,否则单数形式“一”、“一个”和“该”意在也包括复数形式。还将理解的是,当在本说明书中使用时,术语“包括”和/或“具有”指定存在所陈述的特征、单体、步骤、操作、元件和/或部件,但是不排除存在或添加一个或更多个其他特征、单体、步骤、操作、元件、部件和/或前述的组。

在下文中,将参照附图来详细描述本发明的示例性实施方式。在整个附图中,相似附图标记指代相似元件,并且在本文中将省略对相似元件的冗余描述。

图1是示出根据本发明的实施方式的视频编码设备的框图。

参照图1,视频编码设备100包括:图片划分单元110、预测单元120和125、变换单元130、量化单元135、重排单元160、熵编码单元165、逆量化单元140、逆变换单元145、滤波器单元150以及存储器155。

图1所示的元件中的每个元件被独立地示出以表示视频编码设备中的不同特征功能,但并不意指每个元件由单独的硬件或一个软件配置单元构成。也就是说,为了方便描述,元件被独立地布置,其中至少两个元件可以组合成单个元件,或者单个元件可以被划分为多个元件以执行功能。要注意,在不偏离本发明的精神的情况下,一些元件被集成为一个组合的元件和/或元件被划分为多个单独的元件的实施方式包括在本发明的范围内。

一些元件对于本发明的实质功能并非是必要的,并且可能是仅用于提高性能的可选构成部件。可以通过仅包括除了仅用于提高性能的构成部件之外的对于本发明的实施方式必要的构成部件来实施本发明。仅包括除了仅用于提高性能的光学构成部件之外的必要构成部件的结构属于本发明的范围。

图片划分单元110可以将输入图片划分为至少一个处理单元。此处,所述处理单元可以是预测单元(pu)、变换单元(tu)或编码单元(cu)。图片划分单元110可以将一个图片划分为cu、pu和tu的多个组合,并且通过基于预定准则(例如成本函数)选择的cu、pu和tu一个组合来对图片进行编码。

例如,一个图片可以被划分为多个cu。可以使用诸如四叉树结构等的递归树结构来将图片划分为cu。cu(图片或最大大小的cu可以作为其根节点)可以被划分为子编码单元,其具有与所划分出的cu一样多的子节点。根据预定限制不能再被划分的cu是叶节点。也就是说,假设cu仅可以被划分为四分体,则单个cu可以被划分为最多四个不同的cu。

在本发明的实施方式中,cu不仅可以用于指代编码的单元而且还可以用于指代解码的单元。

可以将pu划分为与cu中的大小相同的至少一个正方形或长方形形式。对于从同一cu划分的pu,pu可以具有与另一pu不同的形状和/或大小。

当基于cu生成用于帧内预测的pu并且cu不是最小cu时,cu可以在不被划分为多个pu(n×n)的情况下经受帧内预测。

预测单元120和125可以包括用于执行帧间预测的帧间预测单元120和用于执行帧内预测的帧内预测单元125。预测单元120和125可以确定对pu执行帧间预测和帧内预测中的哪一个,并且可以确定所确定的预测方法的具体信息(例如,帧内预测模式、运动矢量和参考图片)。此处,对其执行预测的处理单元可以不同于对其确定了预测方法和具体信息的处理单元。例如,可以针对每个pu来确定预测方法和预测模式,而可以针对每个tu来执行预测。可以将生成的预测块与原始块之间的残差值(残差块)输入至变换单元130。此外,用于预测的预测模式信息、运动矢量信息等可以与残差值一起被熵编码单元165编码并且被传送至解码设备。当使用特定编码模式时,原始块可以被编码并且被传送至解码设备,而不由预测单元120和125生成预测块。

帧间预测单元120可以基于关于在当前图片的先前图片和当前图片的后续图片之中的至少一个图片的信息来预测pu。在一些情况下,帧间预测单元120可以基于当前图片中的部分编码的区域的信息来预测pu。帧间预测单元120可以包括参考图片插值单元、运动预测单元以及运动补偿单元。

可以向参考图片插值单元提供来自存储器155的参考图片信息并且参考图片插值单元可以生成小于或等于参考图片上的整像素的像素信息。在亮度像素的情况下,可以使用具有可变滤波器系数的基于dct的8-抽头插值滤波器以1/4像素为单位生成小于或等于整像素的像素信息。在色度像素的情况下,可以使用具有可变滤波器系数的基于dct的4-抽头插值滤波器以1/8像素为单位生成小于或等于整像素的像素信息。

运动预测单元可以基于由参考图片插值单元插值的参考图片来执行运动预测。可以使用各种方法(例如,基于全搜索的块匹配算法(fbma)、三步搜索(tss)算法和新三步搜索(nts)算法)来计算运动矢量。在插值像素的基础上,运动矢量具有以1/2或1/4像素为单元的运动矢量值。运动预测单元可以使用不同的运动预测方法来预测当前pu。可以将各种方法(例如跳过模式、合并模式和先进运动矢量预测(amvp)模式、块内复制模式等)用作为运动预测方法。

帧内预测单元125可以基于关于与当前块相邻的参考像素的信息来生成pu。当参考像素是由于与当前pu相邻的块是已经被执行了帧间预测的块而成为已经被执行了帧间预测的像素时,可以用关于已经执行了帧内预测的块中的参考像素的信息来取代关于已经执行了帧间预测的块中的参考像素的信息。也就是说,当参考像素不可用时,可以用关于可用参考像素中的至少一个参考像素的信息来取代关于不可用参考像素的信息。

帧内预测的预测模式包括根据预测方向使用参考像素信息的方向预测模式和在执行预测时不使用关于方向的信息的非方向预测模式。用于预测亮度信息的模式和用于预测色度信息的模式可以彼此不同。此外,可以使用用于获得亮度信息的帧内预测模式信息或预测的亮度信号信息来预测色度信息。

当pu和tu具有相同大小时,可以基于该pu的左侧像素、左上侧像素和上侧像素对pu执行帧内预测。另一方面,当pu和tu具有不同大小时,可以通过使用基于tu确定的参考像素来执行帧内预测。可以仅针对最小cu来执行使用n×n划分的帧内预测。

在帧内预测方法中,可以通过根据预测模式对参考像素应用自适应帧内平滑(ais)滤波器来生成预测块。可以对参考像素应用不同类型的ais滤波器。在帧内预测方法中,可以根据与当前pu相邻的pu的帧内预测模式来预测当前pu的帧内预测模式。在使用根据相邻pu预测的模式信息来预测当前pu的预测模式中,在当前pu与相邻pu具有相同的帧内预测模式时,可以使用预定标记信息来传送指示当前pu与相邻pu具有相同的预测模式的信息。当当前pu与相邻pu具有不同的预测模式时,可以通过熵编码对关于当前块的预测模式的信息进行编码。

可以生成包括残差信息的残差块。残差信息是pu的原始块与由预测单元120和125生成的pu的预测块之间的差。所生成的残差块可以被输入至变换单元130。

变换单元130可以使用变换方法(例如离散余弦变换(dct)、离散正弦变换(dst)或klt)来对残差块进行变换。残差块包括关于由预测单元120和预测单元125生成的pu与原始块之间的残差的信息。可以基于关于用于生成残差块的pu的帧内预测模式的信息在dct、dst和klt之中确定用于对残差块进行变换的变换方法。

量化单元135可以对由变换单元130变换到频域的值进行量化。量化系数可以取决于图像的块或重要性而改变。可以将从量化单元135输出的值提供至逆量化单元140和重排单元160。

重排单元160可以对量化的系数进行重新排列。

重排单元160可以通过系数扫描将二维(2d)的系数块改变为一维(1d)的系数矢量。例如,重排单元160可以通过使用z字形扫描从dc系数扫描至高频域的系数来将2d系数块改变为1d系数矢量。替代z字形扫描,可以取决于tu的大小和帧内预测模式来使用沿垂直方向扫描2d系数块的垂直扫描和沿水平方向扫描2d系数块的水平扫描。也就是说,可以基于tu的大小和帧内预测模式在z字形扫描、垂直扫描和水平扫描中选择扫描方法。

熵编码单元165可以基于由重排单元160获得的值来执行熵编码。针对熵编码,可以使用各种编码方法,例如指数哥伦布(golomb)码、上下文自适应可变长度编码(cavlc)或上下文自适应二进制算术编码(cabac)。

熵编码单元165可以对来自重排单元160以及预测单元120和125的各种信息进行编码,例如关于cu的残差系数信息和块类型信息、预测模式信息、划分单元信息、pu信息、传输单元信息、运动矢量信息、参考帧信息、块插值信息和滤波信息。

熵编码单元165可以对从重排单元160输入的cu的系数进行熵编码。

逆量化单元140和逆变换单元145对由量化单元135量化的值进行逆量化以及对由变换单元130变换的值进行逆变换。可以通过将残差值加至预测的pu来生成重构块。残差值可以由逆量化单元140和逆变换单元145生成。预测的pu可以由预测单元120和125的运动矢量预测单元、运动补偿单元以及帧内预测单元来预测。

滤波器单元150可以包括去块滤波器、偏移单元以及自适应环路滤波器(alf)中的至少一个。

去块滤波器可以去除由于重构图片中的块之间的边界而生成的块失真。可以基于包括在块的若干行或列中的像素来确定是否对当前块应用去块滤波器。当对块应用去块滤波器时,可以取决于所需的去块滤波强度来应用强滤波器或弱滤波器。当在应用去块滤波器中执行水平滤波和垂直滤波时,可以并行地执行水平滤波和垂直滤波。

偏移单元可以以像素为单位对经去块滤波的图像施加相对于原始图像的偏移。可以在将图片的像素划分为预定数目的区域之后确定可以对其施加偏移的区域。可以考虑关于每个像素的边缘信息或对所确定的区域施加偏移的方法来对所确定的区域施加偏移。

alf可以基于经滤波的重构图像与原始图像的比较结果来执行滤波。可以将包括在图像中的像素划分为预定组,可以确定要应用于每个组的滤波器以及可以对每个组来执行差分滤波。可以由每个编码单元(cu)传输关于是否应用alf的信息,并且要应用于每个块的alf的形状和滤波器系数可以变化。此外,可以对块应用具有相同形式(固定形式)的alf,而不管块的特征如何。

存储器155可以存储从滤波器单元150输出的重构块或重构图片,并且当执行帧间预测时,所存储的重构块或重构图片可以被提供至预测单元120和125。

图2是示出根据本发明的示例性实施方式的视频解码设备的框图。

参照图2,视频解码设备200可以包括:熵解码单元210、重排单元215、逆量化单元220、逆变换单元225、预测单元230和235、滤波器单元240以及存储器245。

当从视频编码设备输入视频比特流时,可以根据在视频编码设备中执行的视频编码过程的逆过程对输入的比特流进行解码。

熵解码单元210可以根据视频编码设备的熵编码单元的熵编码过程的逆过程来执行熵解码。例如,与视频编码设备使用的方法相对应地,可以使用诸如指数哥伦布码、cavlc或cabac等各种方法。

熵解码单元210可以对与由编码设备执行的帧内预测和帧间预测相关联的信息进行解码。

重排单元215可以基于编码单元的重排方法来执行对由熵解码单元210熵解码的比特流的重新排列。重排单元215可以将1d矢量形式的系数重构和重排为2d系数块。可以向重排单元215提供关于由编码设备执行的系数扫描的信息,并且重排单元215可以基于由编码设备执行的扫描顺序使用对系数进行逆扫描的方法来执行重排。

逆量化单元220可以基于从编码设备提供的量化参数和经重排的块的系数来执行逆量化。

逆变换单元225可以对由视频编码设备执行的量化的结果执行由变换单元执行变换的逆变换(也就是说,逆dct、逆dst或逆klt)。可以基于由视频编码设备确定的传输单元来执行逆变换。视频解码设备的变换单元225可以取决于多个信息要素如预测方法、当前块的大小和预测方向等来选择性地执行变换方案(例如,dct、dst、klt)。

预测单元230和235可以基于用于生成预测块的信息和提供的关于先前解码的块或图片的信息来生成预测块。用于生成预测块的信息可以由熵解码单元210提供,关于先前解码的块或图片的信息可以由存储器245提供。

类似于上述视频编码设备的操作,当pu和tu具有相同大小时,基于pu的左侧像素、左上侧像素和上侧像素对pu执行帧内预测。另一方面,当pu和tu具有不同大小时,可以使用基于tu确定的参考像素来执行帧内预测。可以仅针对最小cu来利用使用了n×n划分的帧内预测。

预测单元230和235可以包括pu确定单元、帧间预测单元以及帧内预测单元。pu确定单元可以从熵解码单元210接收各种信息,如pu信息、关于帧内预测方法的预测模式信息和关于帧间预测方法的运动预测相关信息等,pu确定单元可以确定当前cu的pu。pu确定单元可以确定对pu执行帧间预测和帧内预测中的哪一个。帧间预测单元230可以基于关于包括当前pu的当前图片的先前图片和后续图片之中的至少一个图片的信息对当前pu执行帧间预测。帧间预测单元230可以使用对由视频编码设备提供的当前pu进行帧间预测所必要的信息。可以基于包括当前pu的当前图片中的预先重构的部分区域的信息来执行帧间预测。

为了执行帧间预测,可以以cu为单位来确定针对包括在cu中的pu的运动预测方法是跳过模式、合并模式、amvp模式还是帧内块复制模式。

帧内预测单元235可以基于当前图片中的像素信息来生成预测块。当pu是执行帧内预测的pu时,可以基于由视频编码设备提供的关于该pu的帧内预测模式信息来执行帧内预测。帧内预测单元235可以包括ais(自适应帧内平滑)滤波器、参考像素插值单元以及dc滤波器。ais滤波器对当前块的参考像素执行滤波。ais滤波器可以取决于当前pu的预测模式来决定是否应用滤波器。可以使用由视频编码设备提供的pu的预测模式和关于ais滤波器的信息对当前块的参考像素执行ais滤波。当当前块的预测模式是不执行ais滤波的模式时,可以不应用ais滤波器。

当pu的预测模式指示基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式时,参考像素插值单元可以通过对参考像素进行插值以小于整像素(即全像素)的分数像素为单位生成参考像素。当当前pu的预测模式指示在不对参考像素进行插值的情况下生成预测块的预测模式时,可以不对参考像素进行插值。当当前块的预测模式是dc模式时,dc滤波器可以通过滤波来生成预测块。

可以将重构块或重构图片提供至滤波器单元240。滤波器单元240包括去块滤波器、偏移单元以及alf。

视频编码设备可以提供关于是否对相应块或图片应用去块滤波器的信息以及关于在使用去块滤波器的情况下应用强滤波器和弱滤波器中的哪个滤波器的信息。可以向视频解码设备的去块滤波器提供来自视频编码设备的关于去块滤波器的信息,并且去块滤波器可以对相应块执行去块滤波。

偏移单元可以基于关于在编码过程中应用于图片的偏移类型和偏移值的信息来对重构图片施加偏移。

可以基于由编码设备提供的关于是否应用alf的信息和alf系数信息等来对cu应用alf。alf信息可以包括在特定参数集中并且在特定参数集中被提供。

存储器245可以存储用作为参考图片或参考块的重构图片或重构块,并且存储器245可以将重构图片提供至输出单元。

如上所述,在本发明的实施方式中,为了方便描述,将术语“码单元”用作为编码的单元。然而,术语“码单元”还可以用作为解码的单元。

图3示出了根据本发明的实施方式的基于调色板模式来重构当前块的方法。

在图像包括动画或图形的情况下,可能发生的是图像的全部或一部分包括仅特定像素值。在这种情况下,可以使用在不使用帧间预测或帧内预测方法的情况下对构成该区域的特定像素值进行编码的方法,这被称为调色板模式。调色板模式可以应用于块单元(例如,码单元、预测单元)。出于这个目的,可以基于块来用信号传送指示是否使用调色板模式的标记信息(palette_mode_flag)。

参照图3,可以构造以调色板模式编码的当前块的调色板映射(s300)。

调色板映射可以包括至少一个调色板条目和标识每个调色板条目的映射索引。可以根据先前块的调色板映射(在下文中被称为先前调色板映射)得到当前块的调色板映射。此处,先前块可以意指在当前块之前已经被编码或解码的块。

当前块的调色板条目可以包括预测的调色板条目或用信号传送的调色板条目中的至少一个。当前块可以使用先前块使用的调色板条目中的所有调色板条目或一部分调色板条目。预测的调色板条目可以表示先前块中使用的调色板条目中的在当前块中重用的调色板条目。

具体地,当前块可以使用与先前块相同的调色板映射。对于此,可以用信号传送指示当前块是否使用与先前块相同的调色板映射的标记(palette_share_flag)。此处,相同的调色板映射意指调色板映射的大小(或包括在调色板映射中的调色板条目的数目)相同并且包括在调色板映射中的调色板条目相同。当palette_share_flag的值为1时,当前块使用与先前块相同的调色板映射。当palette_share_flag的值为0时,当前块可以使用以下调色板映射:包括在所述调色板映射中的调色板条目或所述调色板映射的大小中的至少一个与相邻块的不同。

可替选地,可以将palette_share_flag定义为指示当前块中是否使用了先前块的所有调色板条目的标记。在这种情况下,可以通过使用palette_share_flag并且用信号传送稍后将描述的条目数目信息(palette_num_signalled_entries)来指定当前块是否具有与先前块相同的调色板映射。例如,如果palette_share_flag的值为1并且palette_num_signalled_entries的值为0,则这指示当前块具有与先前块相同的调色板映射。另一方面,如果palette_share_flag的值为1并且palette_num_signalled_entries的值不为0,则这指示当前块的调色板映射包括先前块的所有调色板条目。

可替选地,当前块可以选择性地使用先前调色板映射中的一些调色板条目。出于这个目的,可以使用用于指定调色板条目是否被重用的标记(previous_palette_entry_flag,在下文中被称为重用标记)。具体地,向先前调色板映射的调色板条目中的每个调色板条目分配重用标记的值。重用标记(previous_palette_entry_flag[i])指示与先前调色板映射中的映射索引i对应的调色板条目是否被重用。例如,如果重用标记的值为1,则在当前块的调色板映射中重用与先前调色板映射中的映射索引i对应的调色板条目。否则,不重用与先前调色板映射中的映射索引i对应的调色板条目。可以通过从先前调色板映射提取具有等于1的重用标记的调色板条目并且顺序地布置所述调色板条目来构造当前块的调色板映射。可以用信号传送针对每个调色板条目编码的标记的形式的重用标记,或者可以基于行程编码用信号传送二进制矢量的形式的重用标记,这将参照图4至图5详细进行描述。

为了选择性地使用先前块的调色板映射中的一些调色板条目,可以使用用于指定先前调色板条目是否被重用的重用标记(predictorpaletteentryreuseflag)和用于指定非零重用标记之间存在的等于0的重用标记的数目的调色板预测行程(palette_predictor_run)值。这将参照图6和图7来详细描述。

另外,当前块的调色板映射还可以包括来自比特流的用信号传送的用信号传送的调色板条目。此处,用信号传送的调色板条目包括在当前块使用的调色板条目中但未包括在先前调色板映射中的调色板条目。将通过进一步参照图8来描述用于构造调色板映射的方法。

参照图3,可以根据在当前块的样本单元(或像素单元)中的预定扫描顺序来得到调色板索引(s310)。

可以使用索引模式(indexmode)、复制模式(copymode)或逸出模式(escapemode)中的至少一个来得到用于当前块的调色板索引。此处,逸出模式(escapemode)可以被定义为独立的模式或者可以理解为索引模式(indexmode)的一个示例。

此处,索引模式(indexmode)可以指基于用于指定在当前块中使用的调色板索引的编码的调色板索引信息来得到调色板索引的方法。调色板索引信息具有0与(调色板大小-1)之间的值,其中,调色板大小可以指示当前块的调色板映射的大小或构成调色板映射的调色板条目的数目。在索引模式下,可以向当前样本的调色板索引分配通过比特流用信号传送的调色板索引信息的值。将参照图9来详细描述基于索引模式得到调色板索引的方法。

复制模式(copymode)可以指使用相邻样本的调色板索引得到当前样本的调色板索引的方法。例如,在复制模式下,可以基于相邻样本的调色板索引来预测当前样本的调色板索引,或者可以复制相邻样本的调色板索引并且将其设置为当前样本的调色板索引。此处,相邻样本可以意指与当前样本的顶侧、底侧、左侧或右侧邻近的样本。特别地,相邻样本可以位于与当前样本相同的水平线上或相同的垂直线上。

复制模式可以包括复制上方模式(copy_abovemode)或复制左侧模式(copy_leftmode)中的至少一个,在复制上方模式下,将由与当前样本的上端邻近的样本使用的调色板条目用作当前样本的调色板条目。在复制左侧模式下,将由与当前样本的左侧邻近的样本使用的调色板条目用作当前样本的调色板条目。可以根据当前块的扫描顺序来选择性地使用复制上方模式或复制左侧模式之一。例如,如果当前块使用水平扫描或水平往返扫描,则可以使用复制上方模式。如果当前块使用垂直扫描或垂直往返扫描,则可以使用复制左侧模式。另外,当前块的扫描开始位置不限于左上侧样本,可以将当前块的其他拐角样本(例如,左下方样本、右上方样本以及右下方样本)用作为扫描开始位置。因此,根据当前块的扫描顺序和扫描开始位置,可以使用与上方或左侧邻近的样本相同的调色板条目,或者可以使用与下方或右侧邻近的样本相同的调色板条目。在这种情况下,复制模式还可以包括复制右侧模式(copy_rightmode)和/或复制下方模式(copy_undermode)。

可替选地,不管扫描顺序,可以选择性地使用复制上方模式或复制左侧模式之一。出于这个目的,可以用信号传送指定扫描模式的标记(use_copy_above_flag)。可以在片头部、片段头部或块的基础上用信号传送use_copy_above_flag。如果use_copy_above_flag的值为1,则可以在相应的片或块中使用复制上方模式,如果use_copy_above_flag的值为0,则可以在该片或块中使用复制左侧模式。将参照图10来详细描述基于复制模式得到调色板索引的方法。可以使用用于指定得到当前块的每个样本的调色板索引的方法的模式标识符(palette_run_type_flag)来选择性地使用诸如上述索引模式和复制模式的调色板索引模式中的任一个。在下文中将得到当前块的每个样本的调色板索引的方法称为调色板索引模式。例如,如果模式标识符的值为1,则当前块的当前样本使用复制模式,如果模式标识符的值为0,则当前样本可以使用索引模式或逸出模式。可以基于与当前样本邻近的样本的调色板索引模式不用信号传送当前样本的模式标识符并且可以得到当前样本的模式标识符为预定恒定值。例如,如果与当前样本邻近的上侧相邻样本的调色板索引模式是逸出模式,则当前样本可以使用索引模式或逸出模式而不使用复制模式。在这种情况下,不用信号传送当前样本的模式标识符并且可以导出当前样本的模式标识符为0。

可以基于指示当前块是否仅使用一个调色板索引模式的标记(use_one_palette_mode_flag)用信号传送模式标识符。可以以块(例如,码单元、预测单元)为单位用信号传送use_one_palette_mode_flag。

例如,根据use_one_palette_mode_flag的值,当当前块仅使用一个调色板索引模式时,不通过比特流用信号传送模式标识符,并且可以将在视频解码设备处预定义的调色板索引模式用作为当前块的索引模式。为此,当前块的每个样本的模式标识符的值可以被设置为1或0。

另一方面,根据use_one_palette_mode_flag的值,当前块不限于仅使用一个调色板索引模式,并且当使用多个调色板索引模式时,可以通过比特流用信号传送模式标识符。

可替选地,可以基于指示当前块中的至少一个样本是否使用复制模式的标记(palette_above_present_flag)用信号传送模式标识符。

例如,根据palette_above_present_flag的值,如果当前块中的样本中的至少一个样本使用复制模式,则可以通过比特流用信号传送模式标识符。另一方面,根据palette_above_present_flag的值,当当前块的样本不使用复制模式时,不通过比特流用信号传送模式标识符,并且将在视频解码设备处预定义的调色板索引模式用作为当前块的调色板索引模式。为此,当前块的每个样本的模式标识符的值可以被设置为0。

可以从比特流用信号传送本发明的模式标识符或者可以基于根据当前样本的位置和/或索引模式使用的调色板索引的数目来得到模式标识符为预定恒定值,这将参照图13来描述。

还可以通过考虑逸出存在标记来获取调色板索引,这将参照图12来描述。

作为本发明的扫描顺序,水平扫描、垂直扫描、水平往返扫描、垂直方向往返扫描等可以被使用,这将参照图11来详细描述。

参照图3,可以基于在步骤s310中得到的调色板索引来重构当前块的样本(s320)。

具体地,可以基于在步骤s300中配置的当前块的调色板映射和在步骤s310中得到的调色板索引来重构当前块的样本。从当前块的调色板映射中提取与所得到的调色板索引具有相同值的映射索引的调色板条目,然后可以使用该调色板条目来重构当前块的样本。例如,可以将从调色板映射中提取的调色板条目的值设置为当前块的样本的预测值或重构值。

然而,所得到的调色板索引的值可以等于构成当前块的调色板映射的调色板条目的数目。在这种情况下,可以通过使用在步骤s300中配置的调色板映射的调色板条目来重构当前块的样本。也就是说,由于调色板映射的映射索引具有0与(调色板条目的数目-1)之间的值,因此所得到的调色板索引的值等于调色板条目的数目意味着没有与在步骤s300中配置的调色板映射中得到的调色板索引相对应的调色板条目。以这种方式,当存在具有与当前块中的调色板条目的数目相同的值的调色板索引的样本时,可以确定该样本以逸出模式(escapemode)被编码。此处,逸出模式可以指基于另外用信号传送的调色板逸出值而不是使用在步骤s300中构造的调色板映射的调色板条目来重构样本值的方法。因此,可以使用另外用信号传送的调色板逸出值来重构调色板索引等于调色板条目的数目的样本。

另一方面,可以基于当前块的调色板映射中的调色板条目的数目(或当前块的调色板大小)中的至少一个来自适应地使用逸出模式。

具体地,仅当当前块的调色板映射中的调色板条目的数目大于预定义的阈值时,可以用信号传送指示是否使用逸出模式的标记(palette_escape_val_present_flag)。此处,如果逸出存在标记的值为1,则这可以意指包括在以调色板模式编码的当前块中的至少一个样本使用逸出模式。如果逸出存在标记的值为0,则这可以意指当前块不使用逸出模式。因此,当与当前块有关的存在标记的值为1时,额外地用信号传送前述调色板逸出值。

例如,如果当前块使用的调色板条目的数目大于0,则可以允许基于逸出模式来重构当前块中的至少一个样本。为此,仅当由当前块使用的调色板条目的数目大于0时,可以用信号传送逸出存在标记。相反,如果当前块使用的调色板条目的数目等于0,则不允许基于逸出模式来重构当前块。在这种情况下,不用信号传送逸出存在标记,视频解码设备可以利用预定义的值(例如0)得到逸出存在标记的值。然而,对于编码效率而言,预定义的阈值不限于0,并且预定义的阈值可以具有除0之外的随机恒定值。

图4示出了根据本发明的实施方式的用信号传送重用标记(previous_palette_entry_flag)的方法。

参照图4,可以从比特流获得与当前块的调色板映射有关的重用数目信息(num_previous_palette_entry)(s400)。

此处,重用数目信息可以意指被编码的用于指示先前调色板映射的调色板条目中的被再次用作为当前块的调色板条目的调色板条目的数目的信息。

可以从比特流获得指定第i个调色板条目是否被重用的重用标记(previous_palette_entry_flag[i])(s410)。

依据先前调色板映射的大小(或包括在先前调色板映射中的调色板条目的数目)用信号传送重用标记。此处,i对应于标识先前调色板映射的调色板条目的映射索引,并且i的值在0到(先前调色板映射的大小-1)的范围内。

可以检查在步骤s410中获得的重用标记的值是否为1(s420)。

作为检查的结果,如果重用标记的值为1,则可以更新指示等于1的重用标记的数目的变量numpredpreviouspalette(s430)。例如,可以将变量numpredpreviouspalette的值增加1。

另一方面,如果重用标记的值为0,则可以从比特流获得指定是否重用第(i+1)个调色板条目的重用标记(previous_palette_entry_flag[i+1])(s410)。

可以比较在步骤s430中增加的变量numpredpreviouspalette值与在步骤s400中获得的重用数目信息是否相同(s440)。

如果变量numpredpreviouspalette不等于在步骤s400中获得的数目信息,则可以从比特流获得指定是否重用第(i+1)个调色板条目的重用标记(previous_palette_entry_flag[i+1])(s410)。然而,如果变量numpredpreviouspalette等于在步骤s400中获得的数目信息,则可以不将具有大于i的值的映射索引的调色板条目用作当前块的调色板条目。为此,如果变量numpredpreviouspalette等于在步骤s400中获得的数目信息,则可以得到等于或大于先前调色板映射的大小的i的值。例如,可以通过将先前调色板映射的大小加上1来得到i的值。因此,通过将i的值设置为等于或大于先前调色板映射的大小,可以不用信号传送与第(i+1)个调色板条目相关联的重用标记。

图5示出了根据本发明的实施方式的基于行程编码来用信号传送二进制矢量形式的重用标记的方法。

在本实施方式中,假设先前块的调色板映射使用具有0至7的映射索引的8个调色板条目。

对于先前块的具有索引0至7的调色板条目中的每个调色板条目,视频编码设备确定该调色板条目是否被重用为当前块的调色板条目。如果该调色板条目被重用为当前块的调色板条目,则可以将调色板条目的重用标记的值设置为1,否则,可以将重用标记的值设置为0。例如,如图5所示,当先前块的调色板条目中的调色板条目0、1、3和7被重用为当前块的调色板条目并且剩余的调色板条目不被重用,则可以生成由11010001表示的二进制矢量。

然后,对二进制矢量中的1的数目(即,先前块中的被再次用作为当前块的调色板条目的调色板条目的数目)或二进制矢量中的在1前面的0的数目中的至少一个进行编码,然后可以将其用信号传送至视频解码设备。例如,由于二进制矢量中的1的数目为4,因此4可以被编码为先前块中的被重用为当前块的调色板条目的调色板条目的数目。另外,二进制矢量中的在1前面的0的数目,也就是说,0、0、1和3可以被顺序地编码。

视频解码设备可以从视频编码设备接收关于被重用为当前块的调色板条目的先前块中的调色板条目的数目的信息(num_previous_palette_entry)或关于二进制矢量中的在1前面的0的数目的信息(palette_entry_run)中的至少一个,然后通过使用所接收的信息来构造当前块的调色板映射。

例如,视频解码设备依次从比特流中提取关于二进制矢量中的在1前面的0的数目的信息(palette_entry_run),也就是说,0、0、1和3。可以通过使用所提取的信息来恢复指示是否重用先前块的调色板条目的二进制矢量,也就是说,11010001。当在恢复二进制矢量的过程中生成1的值时,可以将先前块中的与值1对应的调色板条目插入在当前块的调色板条目中。通过该过程,可以通过选择性地重用来自先前块的调色板映射的一些调色板条目来构造当前块的调色板映射。

图6示出了根据本发明的实施方式的用于基于语法palette_predictor_run来获取当前块的预测的调色板条目的方法。

如图6所示,假设先前块的调色板映射由具有映射索引0至11的12个调色板条目组成。

首先,将描述在视频编码设备中对语法palette_predictor_run进行编码的过程。视频编码设备可以确定包括在先前块的调色板映射中的每个调色板条目0至11是否被再次用作当前块的调色板条目。如果调色板条目被重用为当前块的调色板条目,则可以将用于调色板条目的重用标记(predictorpaletteentryreuseflag)的值设置为1,否则,可以将所述值设置为0。

例如,如图6所示,当先前块的调色板条目中的调色板条目0、1、3和7被重用为当前块的调色板条目并且剩余调色板条目未被重用时,可以生成由110100010000表示的二进制矢量。此处,二进制矢量可以被称为重用标记(predictorpaletteentryreuseflag)的阵列。

然后,可以对指定二进制矢量中1的数目(即,先前块的调色板条目中的被重用为当前块的调色板条目的调色板条目的数目)或二进制矢量中在1前面的0的数目的palette_predictor_run中的至少一个进行编码以从先前块的调色板条目中指定要被重用为当前块的调色板条目的调色板条目。

具体地,可以使用numpreviouszero对palette_predictor_run进行编码,numpreviouszero是指示二进制矢量中在1前面的0的数目的变量。如果numpreviouszero的值大于0,则可以将(numpreviouszero+1)的值编码为palette_predictor_run。否则(例如,如果numpreviouszero的值为0),则可以将numpreviouszero的值(例如0)编码为palette_predictor_run。

同时,如图6所示,可能存在调色板条目7之后的调色板条目不被重用为当前块的调色板条目的情况。视频编码设备需要用信号传送调色板条目7之后的不被重用为当前块的调色板条目的调色板条目。出于这个目的,可以将palette_predictor_run的值编码为1。也就是说,如果palette_predictor_run的值为1,则这意指在当前块中不再对palette_predictor_run进行编码。可以基于被编码的palette_predictor_run的值来控制从先前块的调色板映射获取当前块的预测的调色板条目的过程是否完成。

参照图6,在先前块的调色板条目0和1的情况下,由于指示在1前面的0的数目的变量numpreviouszero的值为0,因此可以将0编码为palette_predictor_run的值。在先前块的调色板条目3的情况下,由于指示在1前面的0的数目的变量numpreviouszero的值为1,因此可以将(numpreviouszero+1)的值(即,2)编码为palette_predictor_run的值。在先前块的调色板条目7的情况下,由于指示在1前面的0的数目的变量numpreviouszero的值为3,因此可以将(numpreviouszero+1)的值(即,4)编码为palette_predictor_run的值。由于在调色板条目7之后的调色板条目不被重用为当前块的调色板条目,因此可以将1编码为palette_predictor_run的值。

可以将当前块的palette_predictor_run编码为与先前块的调色板条目中的被重用为当前块的调色板条目的调色板条目的数目一样多(即,二进制矢量中1的数目),或者可以编码为与通过将1加至二进制矢量中的1的数目所得到的值一样多。被编码用于当前块的palette_predictor_run的数目可以基于先前调色板映射的映射索引的最大值(maxindex)是否等于先前块的被重用于当前块的调色板条目的映射索引中的最大值(maxreuseidx)来确定。例如,如果maxreuseidx等于maxindex,则可以将palette_predictor_run编码为与二进制矢量中的1的数目一样多。否则(例如,如果maxreuseidx小于maxindex),则可以将palette_predictor_run编码为与将1加至二进制矢量中的1的数目所得到的值一样多。

视频解码设备可以基于用信号传送的palette_predictor_run来得到指示先前块的调色板条目是否被重用的标记(predictorpaletteentryreuseflag)。例如,如果predictorpaletteentryreuseflag[idx]的值为1,则这可以意指与映射索引idx对应的调色板条目被重用为当前块的调色板条目。如果该值为0,则这可以意指与映射索引idx对应的调色板条目没有被重用为当前块的调色板条目。可以将predictorpaletteentryreuseflag的初始值设置为0。

具体地,用于具有映射索引(idx-1)的调色板条目的predictorpaletteentryreuseflag[idx-1]的值为1,并且针对映射索引idx来获取palette_predictor_run。如果palette_predictor_run的值大于1,则可以针对具有映射索引(idx+palette_predictor_run-1)的调色板条目将predictorpaletteentryreuseflag[idx+palette_predictor_run-1]的值设置为1。如果palette_predictor_run的值为0,则可以针对具有映射索引idx的调色板条目将predictorpaletteentryreuseflag[idx]的值设置为1。如果palette_predictor_run的值为1,则这指示不再重用先前块的调色板条目中的调色板条目并且先前块的再次用于当前块的调色板条目中的最大映射索引的值将是(idx-1)。

将参照图6来描述在视频解码设备中基于palette_predictor_run来确定预测的调色板条目的过程。

首先,可以从比特流获取用于先前块的调色板映射中的调色板条目0的palette_predictor_run。由于palette_predictor_run的值为0,因此将用于调色板条目0的predictorpaletteentryreuseflag[0]的值设置为1,并且调色板条目0包括在当前块的调色板映射中。可以从比特流获取用于先前块的调色板映射中的调色板条目1的palette_predictor_run。由于palette_predictor_run的值为0,因此将用于调色板条目1的predictorpaletteentryreuseflag[1]的值设置为1,并且调色板条目1也包括在当前块的调色板映射中。可以从比特流获取用于先前块的调色板映射中的调色板条目2的palette_predictor_run。由于palette_predictor_run的值被设置为2,因此将用于位于(idx+palette_predictor_run-1)处的调色板条目(即,调色板条目3)的predictorpaletteentryreuseflag[3]的值设置为1并且调色板条目3包括在当前块的调色板映射中。可以从比特流获取用于先前块的调色板映射中的调色板条目4的palette_predictor_run。由于palette_predictor_run的值为4,因此将用于位于(idx+palette_predictor_run-1)处的调色板条目(即,调色板条目7)的predictorpaletteentryreuseflag[7]的值设置为1并且调色板条目7包括在当前块的调色板映射中。通过上述处理,从先前块的调色板映射获取当前块的预测的调色板条目。如上所述,可以执行该处理直到palette_predictor_run达到1为止。

同时,可以基于先前块的调色板条目中的再次用于当前块的调色板条目的数目(numpreviouspaletteentry)来限制性地用信号传送palette_predictor_run。例如,如果numpreviouspaletteentry等于先前块的调色板映射的大小,则可以不用信号传送palette_predictor_run,这是因为先前块的所有调色板条目被重用为当前块的调色板条目。可以在仅当numpreviouspaletteentry小于先前块的调色板映射的大小时,用信号传送palette_predictor_run。

在本实施方式中,描述了基于指示在1前面的0的数目的变量numpreviouszero对palette_predictor_run进行编码的方法,但是本发明不限于此。当先前块的调色板条目中的被重用于当前块的调色板条目的数目很多(例如,要重用的调色板条目的数目大于先前块的调色板映射的一半大小)时,在二进制矢量(即,重用标记阵列)中0的数目大于1的数目。在这种情况下,可能有效地是,基于指示在0前面的1的数目的变量numpreviousones来对palette_predictor_run进行编码是有效的,而不是基于指示在二进制矢量中在1前面的0的数目的变量numpreviouszero来对palette_predictor_run进行编码。

具体地,如果被重用于当前块的调色板条目的数目大于先前块的调色板映射(或构成先前块的调色板映射的调色板条目的数目)的一半大小时,palette_predictor_run被定义为被编码以指定在0前面的1的数目的信息,或者,其可以被定义为被编码以指定在1前面的0的数目的信息。

如果基于指示在0前面的1的数目的变量numpreviousones对palette_predictor_run进行编码,则视频解码设备可以基于用信号传送的palette_predictor_run确定在先前块的调色板映射中predictorpaletteentryreuseflag为0值的调色板条目。因此,可以将位于predictorpaletteentryreuseflag为0值的调色板条目之间的调色板条目指定为重用于当前块的调色板条目。

图7示出了根据本发明的实施方式的基于调色板预测最后行程(palette_predictor_last_run)来获取当前块的预测的调色板条目的方法。

在本实施方式中,假设先前块的调色板映射由分配有映射索引0至7的8个调色板条目组成。

首先,将描述在视频编码设备中对调色板预测行程(palette_predictor_run)和调色板预测最后行程(palette_predictor_last_run)进行编码的过程。视频编码设备确定包括在先前块的调色板映射中的每个调色板条目是否被重用为当前块的调色板条目。根据该确定,当调色板条目被重用为当前块的调色板条目时,向重用标记(predictorpaletteentryreuseflag)分配1值,否则,向重用标记分配0值。

例如,如图7所示,当先前块的调色板条目中调色板条目2、3和6被重用为当前块的调色板条目并且剩余调色板条目不被重用时,可以生成由00110010表示的二进制矢量。

视频编码设备可以将被重用于当前块的调色板条目中的具有最大映射索引的调色板条目(例如,调色板条目6)的位置编码为palette_predictor_last_run,并且可以将剩余调色板条目(例如,调色板条目2和3)的位置编码为palette_predictor_run。

参照图7,分别对palette_predictor_run进行编码以指定调色板条目2和3的位置,并且可以类似地应用图6中描述的方法。也就是说,由于基于重用标记为1值的调色板条目2指示在1前面的0的数目的变量numpreviouszero的值为2,因此可以将(numpreviouszero+1)的值即3编码为palette_predictor_run的值。并且,由于基于调色板条目3指示在1前面的0的数目的变量numpreviouszero的值为0,因此可以将等于numpreviouszero的值即0编码为palette_predictor_run的值。同时,由于在调色板条目3之后除了由palette_predictor_last_run指定的调色板条目6之外不存在重用于当前块中的调色板条目,因此可以将palette_predictor_run的值编码为1。

将要重用与于当前块的调色板条目中的最大映射索引定义为maxidx,并且将重用标记为1值的前面紧接调色板条目的映射索引定义为idxprevious。此时,可以利用(maxidx-idxprevious-1)的值对palette_predictor_last_run的值进行编码。此处,在前紧接的调色板条目可以意指调色板条目位于基于palette_predictor_run指定的调色板条目的末尾处。

视频解码设备可以基于从比特流用信号传送的palette_predictor_run和palette_predictor_last_run来确定先前块的调色板映射中的被重用为当前块的调色板条目的调色板条目。

具体地,视频解码设备从比特流获取palette_predictor_run并且确定移位了(palette_predictor_run-1)的值的位置处的调色板条目。可以将用于所确定的调色板条目的重用标记的值设置为1,并且所确定的调色板条目可以被包括在当前块的调色板映射中。

同时,当从比特流用信号传送palette_predictor_last_run时,视频解码设备通过将palette_predictor_last_run的值加至位于基于palette_predictor_run指定的调色板条目的末尾处的调色板条目的映射索引(idxprevious)来计算第一值并且通过将1加至第一值来计算第二值。可以将具有第二值的映射索引的调色板条目的重用标记的值设置为1,并且所述调色板条目可以包括在当前块的调色板映射中。如上所述,基于palette_predictor_last_run指定的调色板条目可以意指在重用于当前块的调色板条目中的具有最大映射索引的调色板条目。

图8示出了根据本发明的实施方式的构造当前块的调色板映射的方法。

当前块可以使用与先前块的调色板映射相同的调色板映射。因此,出于该目的,可以使用以下标记(palette_share_flag),所述标记指示当前块的调色板映射的大小(或调色板条目的数目)是否等于先前块的调色板映射的大小(或调色板条目的数目)以及当前块是否使用与先前块的调色板映射相同的调色板映射。例如,如果palette_share_flag的值为1,则这可以意指当前块的调色板映射的大小和调色板条目与先前块相同。另一方面,如果palette_share_flag的值为0(即,在当前块的调色板映射的大小或调色板条目中的至少一个与先前块不同的情况下),则当前块可以选择性地使用先前调色板映射的调色板条目的一部分或者可以使用先前调色板映射的调色板条目以外的附加调色板条目。

可以使用指示调色板条目是否被重用的标记(previous_palette_entry_flag[i])以选择性地使用先前调色板映射的调色板条目的全部或一部分。例如,如果previous_palette_entry_flag[i]的值为1,则这可以意指先前调色板映射中的第i个调色板条目被被重用为当前块的调色板条目。如果previous_palette_entry_flag[i]的值为0,则这可以意指第i个调色板条目不被重用为当前块的调色板条目。可以用信号传送与包括在先前调色板映射中的调色板条目的数目一样多的previous_palette_entry_flag[i]。

当当前块另外使用未包括在先前调色板映射中的调色板条目(下文中称为用信号传送的调色板条目)时,视频编码设备可以对用信号传送的调色板条目的数目进行编码并且用信号传送与用信号传送的调色板条目的数目一样多的调色板条目。例如,如果包括在先前调色板映射中的调色板条目的数目等于当前块的预测的调色板条目的数目,则这可以意指至少一个用信号传送的调色板条目被用于当前块。因此,视频编码设备可以对通过将用信号传送的调色板条目的数目减去1得到的值(palette_num_signalled_entries_minus1,下文中称为第一用信号传送的条目数目信息)进行编码。如果包括在先前调色板映射中的调色板条目的数目与当前块的预测的调色板条目的数目不相同,则视频编码设备可以对用信号传送的调色板条目的数目(palette_num_signalled_entries,下文中称为第二用信号传送的调色板条目)进行编码。

考虑当前块的预测的调色板条目的数目与包括在先前调色板中的调色板条目的数目是否相同,视频解码设备可以确定用信号传送的条目的数目。

参照图8,当当前块的预测的调色板条目的数目(palettenumpredictedentries)与包括在先前调色板中的调色板条目的数目(previouspalettesize)不同时,视频解码设备可以获取第二用信号传送的条目数目信息(s800)。在这种情况下,可以导出当前块的用信号传送的调色板条目的数目是与第二条目数目信息的值相同的值。

同时,当palettenumpredictedentries与previouspalettesize相同时,可以获取第一用信号传送的条目数目信息(s810)。在这种情况下,可以通过将1加至第一用信号传送的条目数目信息来得到当前块的用信号传送的调色板条目的数目。

可以从比特流获取与当前块的用信号传送的调色板条目的数目一样多的用信号传送的调色板条目(s820)。可以通过使用根据先前调色板映射预测的调色板条目和用信号传送的调色板条目来构造当前调色板映射。可以基于先前调色板映射的大小(或者,包括在先前调色板映射中的调色板条目的数目)和/或palettenumpredictedentries与previouspalettesize是否相同来得到当前调色板映射的大小(或者,包括在当前调色板映射中的调色板条目的数目currentpalettesize)如下:

(1)当palette_share_flag的值等于1时

currentpalettesize=previouspalettesize

(2)当palette_share_flag的值等于0时,并且当palettenumpredictedentries与previouspalettesize相同时

currentpalettesize=previouspalettesize+palette_num_signalled_entries_minus1+1

(3)当palette_share_flag的值等于0时,并且当palettenumpredictedentries与previouspalettesize不同时

currentpalettesize=previouspalettesize+palette_num_signalled_entries

图9示出了根据本发明的实施方式的基于调色板索引信息和调色板索引行程来得到当前块的调色板索引的方法。

首先,将描述在视频编码设备中对调色板索引信息和调色板索引行程进行编码的过程。为了方便说明,如图9所示,假设当前块以索引模式编码,每个样本使用在0至3范围内的调色板索引,并且使用当前块的左上侧样本是开始位置的水平往返扫描。

参照图9,如果根据水平往返扫描顺序以一维形式来布置由当前块使用的调色板索引,则可以将所述调色板索引表示为下面的{0,2,2,2,3,3,3,3,2,0,0,0,0,1,1,1}。一维阵列可以被分组成连续且等值的调色板索引。也就是说,一维阵列可以包括:由一个0值组成的第一组、由三个2值组成的第二组、由四个3值组成的第三组、由一个2值组成的第四组、由四个0值组成的第五组以及由三个1值组成的第六组。去除了每个组的调色板索引的冗余。如下面的表1所示,可以通过指定和对要被编码的调色板索引和/或要被编码的调色板索引的数目进行编码来生成调色板索引信息和/或关于要被编码的调色板索引的数目的信息。

【表1】

也就是说,可以通过消除每个组的调色板索引的冗余来获得{0,2,3,2,0,1}。在这种情况下,要被编码的调色板索引被指定为{0,2,3,2,0,1},并且要被编码的调色板索引的数目可以被指定为6。

另外,针对每个组,视频编码设备可以对同一调色板索引被重复的次数(在下文中被称为调色板索引行程)进行编码。例如,如表1所示,由于第一组由一个0值组成,因此调色板索引行程被确定为0。在第二组中,由于在具有扫描顺序(1)的样本处使用调色板索引2并且在具有扫描顺序(2)和扫描顺序(3)的样本处连续使用同一调色板索引2,因此调色板索引行程可以被确定为2。视频编码设备可以照原样对所确定的调色板索引行程的值进行编码,或者为了编码效率,可以将所述值划分为最高有效位(msb)和精细位。

通过上述过程,可以在视频编码设备处将用于当前块的调色板索引编码为以下中的至少一个:关于要被编码的调色板索引的数目的信息、关于要被编码的调色板索引的调色板索引信息或调色板索引行程。

在编码过程中,存在这样的情况,其中,按照扫描顺序从当前样本至最后样本出现同一调色板索引(延伸至末尾(run-to-end))。可以将调色板索引行程设置为预定恒定值以通知视频解码设备已经发生行程结束。例如,可以通过将调色板索引行程的值设置为3来指示按照扫描顺序从当前块的当前样本至最后样本的所有样本具有相同的调色板索引。

可以取决于当前样本在扫描顺序中位于哪个位置或当前样本包括在哪一行/列将指示延伸至末尾的调色板索引行程的值设置得不同。例如,如果当前样本属于第一行,则可以将调色板索引行程的值设置为8以指示已经发生延伸至末尾。如果当前样本位于第三行,则可以将调色板索引行程的值设置为8以指示已经发生延伸至末尾。可替选地,当当前样本的扫描顺序大于当前块大小(ncbs*ncbs)的中间值时,可以将调色板索引行程的值设置为6以指示已经发生延伸至末尾。相反地,如果当前样本的扫描顺序小于当前块大小(ncbs*ncbs)的中间值,则可以将调色板索引行程的值设置为2以指示已经发生延伸至末尾。

视频解码设备可以从比特流获取调色板索引信息和调色板索引行程,并且使用调色板索引信息和调色板索引行程来得到当前块的每个样本的调色板索引。

可以获取和与关于调色板索引的数目的编码信息对应的数目一样多的调色板索引信息。可以顺序地获得与每个调色板索引信息对应的调色板索引行程以得到当前块的调色板索引。例如,视频解码设备可以从比特流获得调色板索引信息{0,2,3,2,0,1}。然后,可以从比特流获得与调色板索引信息0对应的调色板索引行程。如果与调色板索引信息0对应的调色板索引行程的值为0,则视频解码设备可以向当前块的具有扫描顺序(0)的样本分配调色板索引0。然后,可以从比特流获得与调色板索引信息2对应的调色板索引行程。如果与调色板索引信息2对应的调色板索引行程的值为2,则视频解码设备可以根据扫描顺序向当前块的具有扫描顺序(1)至(3)的样本顺序地分配调色板索引2。以这种方式,可以得到当前块中的所有样本的调色板索引。

可以基于模式标识符(palette_run_type_flag)和得到的调色板索引来限制性地用信号传送调色板索引行程。如图3所示,如果所得到的用于当前样本的调色板索引的值等于当前块的调色板条目的数目,则可以推断当前样本以逸出模式编码。在这种情况下,可以不用信号传送调色板索引行程,或者可以用信号传送具有小于或等于1的值的调色板索引行程。

图10示出了根据本发明的实施方式的基于复制模式得到调色板索引的方法。

复制模式可以是这样的模式,其中,在当前样本之前解码的相邻样本的调色板索引被复制并被用作当前样本的调色板索引。此处,相邻样本可以意指与当前样本邻近的顶侧或左侧相邻样本,或者可以意指不与当前样本邻近的顶侧或左侧相邻样本。顶侧相邻样本可以与当前样本处于同一列中,并且左侧相邻样本可以与当前样本处于同一行中。可以使用偏移来指定在复制模式下使用的相邻样本(下文中称为参考样本)。此处,偏移可以表示当前样本与参考样本之间的位置差(例如,行差或列差)。可以利用当前样本与参考样本之间的位置差对偏移进行编码,或者偏移可以被编码为通过从偏移减去恒定值而获得的值(例如,copy_previous_offest_minus1,copy_previous_offest_minus2)。在这种情况下,视频解码设备可以通过将恒定值加至编码的偏移来恢复偏移。

可以顺序地生成与当前样本具有相同偏移的样本。在这种情况下,对于每个样本可以不通过行程编码对偏移进行编码。例如,可以对指示与当前样本具有相同偏移的连续样本的数目的值(copy_run,下文中称为复制行程)进行编码。复制行程的值可以被限制在预定范围内。例如,如果当前样本使用copy_abovemode,则复制行程的值不能大于当前块的宽度。这是因为,如果复制行程的值大于当前块的宽度,则将尚未被解码的相邻样本用作参考样本。或者,如果当前样本使用不与当前样本邻近的相邻样本,则复制行程的值不能大于偏移*当前块的宽度(ncbs)。类似地,当复制行程的值大于偏移*当前块的宽度(ncbs)时,将尚未被解码的相邻样本用作参考样本。

同时,可以将本发明的参考样本限制为当前块(例如,编码块或预测块)中的样本,或者可以限制为还包括与当前块邻近的相邻块的预定区域中的样本。

如果参考样本包括在与当前块邻近的相邻块中,则可以通过使用偏移和/或块标识信息来确定参考样本。此处,块标识信息意指指定包括参考样本的相邻块的信息,并且块标识信息可以包括相邻块的位置/大小信息、块划分信息等。具体地,在由块标识信息指定的相邻块中,可以将在与和当前样本具有相同位置的样本偏移一样多的位置处的样本确定为参考样本。

或者,如果参考样本限制为当前块中的样本,则可以可选地根据当前样本在当前块中的位置(例如,当前样本位于的行和/或列)来使用编码的偏移。例如,如果当前样本位于当前块的第三行并且当前样本将不与当前样本邻近的相邻样本用作为参考样本,则当前样本可以不使用编码的偏移。在这种情况下,得到用于当前样本的偏移为0,并且可以通过复制位于第一行的参考样本的调色板索引来得到当前样本的调色板索引。

图11示出了根据本发明的实施方式的在调色板模式下使用的扫描顺序。

参照图11,在调色板模式下使用的扫描顺序包括:水平扫描、垂直扫描、水平往返扫描、垂直往返扫描。

具体地,水平扫描是从左至右扫描当前块的每个行的方法,垂直扫描是自上而下扫描当前块的每个列的方法。

水平往返扫描是从左至右扫描当前块的奇数行并且从右至左扫描偶数行的方法,垂直往返扫描是自上而下扫描当前块的奇数列而自下而上扫描偶数列的方法。

然而,在该实施方式中,假设当前块的左上侧样本被设置为扫描开始位置,但是本发明不限于此,可以将当前块的另一拐角样本设置为扫描开始位置。

图12示出了根据本发明的实施方式的用于基于逸出存在标记来获取调色板索引的方法。

参照图12,可以基于构成当前调色板映射的调色板条目的数目(currentpalettesize)来获取逸出存在标记(palette_escape_val_present_flag)(s1200)。例如,当currentpalettesize不为0时,可以获取逸出存在标记。这意指仅当在当前调色板映射中存在至少一个调色板条目时,才确定当前块中的至少一个样本是否使用逸出模式。

可以基于palette_escape_val_present_flag和currentpalettesize中的至少一个来获取每个样本的调色板索引模式和/或调色板索引。

具体地,参照图12,当palette_escape_val_present_flag的值和currentpalettesize的值不为1时,可以从比特流获取标识调色板索引模式的模式标识符(palette_run_type_flag)(s1210)。

可以根据palette_run_type_flag的值将复制模式或索引模式确定为当前样本的调色板索引模式。另一方面,如果palette_escape_val_present_flag或currentpalettesize中的至少一个不为1,则不用信号传送palette_run_type_flag,并且可以将当前样本的调色板索引模式设置为逸出模式。

如果根据在步骤s1210中获取的palette_run_type_flag当前样本使用索引模式,则可以从比特流获取调色板索引(palette_index_idc)(s1220)。

如图12所示,仅当palette_escape_val_present_flag的值和currentpalettesize的值不等于1时,可以获取palette_index_idc。

如果palette_escape_val_present_flag或currentpalettesize中的至少一个为1,则不通过比特流用信号传送palette_index_idc,并且可以基于currentpalettesize的值得到palette_index_idc。具体地,可以通过加法运算或减法运算来得到palette_index_idc,在加法运算或减法运算中,输入与属于当前调色板映射的调色板条目的数目有关的变量(currentpalettesize)和预定恒定值。此处,预定恒定值可以是取决于currentpalettesize而确定的可变值或预定义的固定恒定值。例如,可以通过将1加至currentpalettesize来得到palette_index_idc。

图13示出了根据本发明的实施方式的用于基于当前样本的位置和/或剩余调色板索引的数目来获取模式标识符的方法。

参照图13,可以基于以下中的至少一个来用信号传送模式标识符(palette_run_type_flag):当前样本的位置(scanpos)或剩余调色板索引的数目(indicesleft)(s1300)。

具体地,当当前样本的位置不与当前块的最后样本在扫描顺序中的位置对应并且剩余调色板索引的数目不为0时,可以从比特流用信号传送用于当前样本的模式标识符。

此处,可以通过根据关于当前块的编码的调色板索引的索引数目的信息的数目与在当前样本之前使用的调色板索引的累计数目之间的差来得到剩余调色板索引的数目(indicesleft)。已经参照图9描述了编码的调色板索引及其数目,此处将省略对其的详细描述。

如图13所示,除了上述情况之外,还可以考虑以下中的至少一个:根据扫描顺序的当前块的位置是否小于当前块的大小(ncbs)或者先前样本的调色板索引模式是否是索引模式。

同时,如果剩余调色板索引的数目为0,则不从比特流用信号传送用于当前样本的模式标识符,并且作为替代可以将模式标识符设置为复制模式(s1310)。如果根据扫描顺序当前样本的位置不与当前块的最后样本的位置对应,则不用信号传送用于位于当前样本之后的剩余样本的模式标识符,并且可以如在当前样本中将模式标识符设置为复制模式。

同时,可能存在剩余调色板索引的数目不为0但是根据扫描顺序当前样本的位置对应于当前块的最后样本的位置的情况。剩余调色板索引的数目不为0的事实意指在当前块中存在至少一个以索引模式编码的样本。然而,由于当前样本对应于当前块的最后样本,因此不需要用信号传送用于当前样本的模式标识符,并且将作为替代将模式标识符设置为索引模式。

通过上述过程,可以获取当前样本的模式标识符,并且可以基于所获取的模式标识符来确定当前样本的调色板索引模式。如果所确定的调色板索引模式是索引模式,则基于编码的调色板索引信息来得到当前样本的调色板索引。如果所确定的模式是复制模式,则通过复制相邻样本的调色板索引来得到当前样本的调色板索引。

工业实用性

本发明可以用于对视频信号进行编码/解码。

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