基于调色板的视频译码中的调色板游程隐藏的制作方法

文档序号:12515709阅读:261来源:国知局
基于调色板的视频译码中的调色板游程隐藏的制作方法与工艺

技术领域

本发明涉及视频编码和解码。



背景技术:

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频压缩技术,例如描述于以下各者中的那些技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码(HEVC)标准,及此些标准的扩展。视频装置可以通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧。

空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块与预测性块的间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据编码的。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据自像素域变换至变换域,从而产生残余系数,可接着量化所述残余系数。



技术实现要素:

一般来说,本申请案描述用于使用调色板模式对视频数据进行编码和解码的技术。如本文中所描述,调色板包括多个条目。所述条目中的每一者可指定一或多个样本值。经调色板译码块的每一像素与指示调色板中的条目的调色板索引相关联。连续像素经常具有与像素左边或上方的像素相同的调色板索引。因此,并非用信号表示每一像素的调色板索引,视频编码器可用信号表示像素的“游程”的长度。像素的游程中的每一相应像素可从相应像素上方复制或从相应像素左边的像素复制。根据本发明的技术,视频编码器可省略用信号表示块的第一或最后游程的长度。

在一个实例中,这揭示了一种对视频数据进行解码的方法,所述方法包括:从包括所述视频数据的块的经编码表示的位流获得语法元素,其中所述块包括一系列游程,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;从所述位流获得一或多个调色板游程长度语法元素的集合,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;基于具有特定值的所述语法元素确定调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度;基于所述块中的像素的数目以及由调色板游程语法元素的所述集合指示的所述长度而确定所述系列的游程中的所述第一游程的所述长度;基于所述块的所述像素的所述调色板样本模式而确定所述块的非转义经译码像素的调色板索引,其中对于所述块的每一相应非转义经译码像素,所述相应非转义经译码像素的相应调色板索引指示调色板中的条目,所述调色板中的每一相应条目指示相应样本值集合;以及基于所述块的所述非转义经译码像素的所述调色板索引而确定所述块的所述非转义经译码像素的值。

在另一实例中,本发明描述一种对视频数据进行编码的方法,所述方法包括:确定所述视频数据的块的非转义经译码像素的调色板索引,其中对于所述块的每一相应非转义经译码像素,所述相应非转义经译码像素的所述调色板索引指示调色板中的条目,其中所述调色板中的每一相应条目指示相应样本值集合;识别所述块中的一系列游程,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;产生一或多个调色板游程长度语法元素的集合,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;以及产生具有特定值的语法元素,所述特定值指示调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度。

在另一实例中,本发明描述一种用于对视频数据进行解码的装置,所述装置包括:存储器,其经配置以存储所述视频数据;以及一或多个处理器,其经配置以:从包括所述视频数据的块的经编码表示的位流获得语法元素,其中所述块包括一系列游程,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;从所述位流获得一或多个调色板游程长度语法元素的集合,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;基于具有特定值的所述语法元素确定调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度;基于所述块中的像素的数目以及由调色板游程语法元素的所述集合指示的所述长度而确定所述系列的游程中的所述第一游程的所述长度;基于所述块的非转义经译码像素的所述调色板样本模式而确定所述块的所述非转义经译码像素的调色板索引,其中对于所述块的每一相应非转义经译码像素,所述相应非转义经译码像素的相应调色板索引指示调色板中的条目,所述调色板中的每一相应条目指示相应样本值集合;以及基于所述块的所述非转义经译码像素的所述调色板索引而确定所述块的所述非转义经译码像素的值。

在另一实例中,本发明描述一种用于对视频数据进行编码的装置,所述装置包括:存储器,其经配置以存储所述视频数据;以及一或多个处理器,其经配置以:确定所述视频数据的块的非转义经译码像素的调色板索引,其中对于所述块的每一相应非转义经译码像素,所述相应像素的所述调色板索引指示调色板中的条目,其中所述调色板中的每一相应条目指示相应样本值集合;识别所述块中的一系列游程,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;产生一或多个调色板游程长度语法元素的集合,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;以及产生具有特定值的语法元素,所述特定值指示调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度。

在另一实例中,本发明描述一种用于对视频数据进行解码的装置,所述装置包括:用于从包括所述视频数据的块的经编码表示的位流获得语法元素的装置,其中所述块包括一系列游程,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;用于从所述位流获得一或多个调色板游程长度语法元素的集合的装置,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;用于基于具有特定值的所述语法元素确定调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度的装置;用于基于所述块中的像素的数目以及由调色板游程语法元素的所述集合指示的所述长度而确定所述系列的游程中的所述第一游程的所述长度的装置;用于基于所述块的所述像素的所述调色板样本模式而确定所述块的非转义经译码像素的调色板索引的装置,其中对于所述块的每一相应非转义经译码像素,所述相应非转义经译码像素的相应调色板索引指示调色板中的条目,所述调色板中的每一相应条目指示相应样本值集合;以及用于基于所述块的所述非转义经译码像素的所述调色板索引而确定所述块的所述非转义经译码像素的值的装置。

在另一实例中,本发明描述一种用于对视频数据进行编码的装置,所述装置包括:用于确定所述视频数据的块的非转义经译码像素的调色板索引的装置,其中对于所述块的每一相应非转义经译码像素,所述相应非转义经译码像素的所述调色板索引指示调色板中的条目,其中所述调色板中的每一相应条目指示相应样本值集合;用于识别所述块中的一系列游程的装置,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;用于产生一或多个调色板游程长度语法元素的集合的装置,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;以及用于产生具有特定值的语法元素的装置,所述特定值指示调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度。

在另一实例中,本发明描述一种具有存储于其上的指令的数据存储媒体,所述指令当执行时致使用于对视频数据进行解码的装置:从包括所述视频数据的块的经编码表示的位流获得语法元素,其中所述块包括一系列游程,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;从所述位流获得一或多个调色板游程长度语法元素的集合,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;基于具有特定值的所述语法元素确定调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度;基于所述块中的像素的数目以及由调色板游程语法元素的所述集合指示的所述长度而确定所述系列的游程中的所述第一游程的所述长度;基于所述块的所述像素的所述调色板样本模式而确定所述块的非转义经译码像素的调色板索引,其中对于所述块的每一相应非转义经译码像素,所述相应非转义经译码像素的相应调色板索引指示调色板中的条目,所述调色板中的每一相应条目指示相应样本值集合;以及基于所述块的所述非转义经译码像素的所述调色板索引而确定所述块的所述非转义经译码像素的值。

在另一实例中,本发明描述一种具有存储于其上的指令的数据存储媒体,所述指令当执行时致使用于对视频数据进行编码的装置:确定所述视频数据的块的非转义经译码像素的调色板索引,其中对于所述块的每一相应非转义经译码像素,所述相应非转义经译码像素的所述调色板索引指示调色板中的条目,其中所述调色板中的每一相应条目指示相应样本值集合;识别所述块中的一系列游程,所述系列的游程包含两个或更多个游程,所述系列的游程中的每一相应游程由所述块的一个像素或者两个或更多个连续像素组成,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式;产生一或多个调色板游程长度语法元素的集合,其中所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度;以及产生具有特定值的语法元素,所述特定值指示调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度。

在附图和下文描述中陈述本发明的一或多个实例的细节。其它特征、目标和优点将从所述描述、图式以及权利要求书而显而易见。

附图说明

图1是说明可使用本发明中描述的技术的实例视频译码系统的框图。

图2是说明可实施本发明中描述的技术的实例视频编码器的框图。

图3是说明可实施本发明中描述的技术的实例视频解码器的框图。

图4是说明符合本发明的技术的确定用于基于调色板的视频译码的调色板条目的实例的概念图。

图5是说明与本发明的技术一致的确定到像素块的调色板的索引的实例的概念图。

图6A是说明根据本发明的技术的视频编码器的实例操作的流程图。

图6B是说明根据本发明的技术的视频解码器的实例操作的流程图。

具体实施方式

本发明描述用于视频译码和压缩的技术。确切地说,本发明描述用于视频数据的基于调色板的译码的技术。在传统的视频译码中,假定图像为连续色调且空间上平滑。基于这些假设,已经开发各种工具,例如基于块的变换、滤波等,且此些工具已展示用于自然内容视频的良好性能。

然而,在比如远程桌上型、协作式工作和无线显示器的应用中,计算机生成的屏幕内容可为待压缩的主要内容。此类型的内容倾向于具有离散色调及特征清晰线,及高对比度对象边界。连续色调和平滑度的假设不再适用,且因此,传统的视频译码技术可能是压缩计算机产生的屏幕内容的低效方式。

本发明描述基于调色板的译码,其可具体来说适合于屏幕产生的内容译码(例如,屏幕内容译码(SCC))。用于视频数据的基于调色板的译码的技术可与一或多个其它译码技术一起使用,例如用于帧间或帧内预测性译码的技术。举例来说,如下文更详细地描述,编码器或解码器或组合编码器-解码器(编解码器)可经配置以执行帧间和帧内预测性译码以及基于调色板的译码。

在基于调色板的译码中,可以假设视频数据的特定区域具有相对较少数目的颜色。视频译码器(即,视频编码器或视频解码器)可将所谓的“调色板”译码为用于表示特定区域(例如,给定块)的视频数据的颜色的表。每一像素可与调色板中表示像素的颜色的条目相关联。因此,在基于调色板的译码中,调色板可包括由相应索引编号且表示颜色分量(例如,RGB、YUV或类似物)值和/或强度的条目,其可用作用于块的预测符或最终经重构块样本。举例来说,视频译码器可对使像素与调色板中的适当值相关的索引(即,“调色板索引”或“调色板条目索引”)进行译码,其中所述值指示颜色分量和/或强度分量。

在以上实例中,视频编码器可通过确定块的调色板、在调色板中定位表示每一像素的值的条目以及以使像素值与调色板相关的用于像素的索引值对调色板进行编码来对视频数据块进行编码。视频解码器可确定用于块的调色板以及用于所述块的像素的索引值。举例来说,视频解码器可从经编码位流获得用于块的调色板以及用于所述块的像素的索引值。视频解码器可使像素的索引值与调色板的条目相关以重构块的像素值。以上实例既定提供基于调色板的译码的一般描述。

举例来说,调色板索引可具有与像素的单个颜色或明度分量(例如,RGB数据的红色分量、YUV数据的Y分量或类似者)相关联的单个相关联颜色或明度值。在另一实例中,调色板索引可具有多个相关联颜色或明度值。举例来说,调色板中的每一条目可含有一个颜色分量(例如,明度值)或两个分量(例如,两个色度值)或三个颜色分量(例如,RGB、YUV等)。在一些情况下,可应用基于调色板的译码以对单色视频进行译码。因此,术语“颜色值”一般可指用以产生像素值的任何颜色或非颜色分量。

经调色板译码块中的每一样本可属于三个模式(即,调色板样本模式)中的一者,如下文阐述:

●转义模式。在此模式中,由于针对所有颜色分量显式地用信号表示调色板条目和经量化样本值,因此样本值不包含在调色板中。转义模式类似于新调色板条目的信令,但在一些实例中,对于新调色板条目,颜色分量值不经量化。这些样本可被称为转义样本或转义像素。

●“复制左边游程”模式(也被称作“索引复制调色板样本模式”、“复制索引调色板样本模式”或“值调色板样本模式”)。在此模式中,可首先用信号表示调色板索引,接着是值M,其意味着随后M个调色板索引与用信号表示的所述调色板索引相同。

●“复制上方游程”模式(也被称作“复制上方调色板样本模式”或“从顶部复制调色板样本模式”)。在此模式中,可发射值N以指示对于随后N个调色板索引分别与其上方相邻者相同。

游程可为一个像素或具有同一调色板样本模式的两个或更多个连续像素的集合。此外,指定两个游程类型。即,复制上方游程类型(即,“COPY_ABOVE游程类型”)和复制索引游程类型(即,“INDEX_COPY游程类型”)。具有复制上方游程类型的游程在本文中可被称作复制上方游程。具有复制索引游程类型的游程在本文中可被称作复制索引游程或索引复制游程。在一些实例中,具有复制上方游程类型的游程中的每一像素具有复制上方调色板样本模式。具有复制索引游程类型的游程中的每一像素可具有复制索引调色板样本模式或转义调色板样本模式。因此,复制索引游程可包括具有从左边相邻样本复制的调色板索引的样本的游程。在其中转义像素由特殊调色板索引指示的实例中,如果第一像素具有特殊调色板索引,那么复制索引游程可为转义像素的游程。

可针对每一游程用信号表示游程长度值。游程长度值也可被称作“游程值”。信令索引和游程长度值稍类似于游程长度译码。游程长度值指定属于同一调色板样本模式的后续像素的数目。举例来说,如果连续调色板索引对于第二像素是0、2、2、2、2、5,那么可用信号表示复制索引模式。在此实例中,在以上实例中用信号表示等于2的调色板索引之后,用信号表示3的游程长度值,其表示3个后续像素也具有相同调色板索引(即,2)。类似地,遵循复制上方模式的4的游程长度值意味着从上方对应调色板索引复制总共5个索引。

用于视频数据的基于调色板的译码的技术可与一或多个其它译码技术一起使用,例如用于帧间或帧内预测性译码的技术。举例来说,编码器或解码器或组合的编码器-解码器(编解码器)可经配置以执行帧间和帧内预测性译码以及基于调色板的译码。

通常,视频编码器针对块的每一游程用信号表示游程长度语法元素。换句话说,游程长度语法元素的数目与块的游程之间存在1比1关系。每一相应游程长度语法元素指示相应游程的长度。换句话说,每一相应游程长度语法元素指示相应游程长度值。

本发明描述不必针对块的每一相应游程用信号表示游程长度语法元素的技术。举例来说,在一些情况下,视频解码器可能够基于块的像素的数目和其它游程的长度而确定块的第一或最后游程的长度,而无需指示所述第一或最后游程的长度的游程长度语法元素的信令。因此,在至少一些环境中,视频编码器不必用信号表示指示第一或最后游程的长度的游程长度语法元素。

一般来说,需要较多二进位来表示指示较长游程的游程长度语法元素。因此,如果第一游程的长度长于最后游程的长度,那么可能有利的是跳过指示第一游程的长度的游程长度语法元素的信令。相反,如果最后游程的长度长于第一游程的长度,那么可能有利的是跳过指示最后游程的长度的游程长度语法元素的信令。因此,根据本发明的实例技术,视频编码器可用信号表示指示用于第一或最后游程的游程长度语法元素是否被省略的语法元素。

因此,根据本发明的实例技术,视频编码器可确定视频数据块的像素的调色板索引。对于块的每一相应像素,相应像素的调色板索引指示调色板中的条目。调色板中的每一相应条目指示样本值的相应集合。此外,在此实例中,视频编码器可识别块中的一系列游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。所述系列的游程中的每一相应游程的每一像素可具有相同的调色板样本模式。在此实例中,视频编码器可产生指示所述系列的游程中的一或多个游程的长度的一或多个调色板游程长度语法元素的集合。此外,在此实例中,视频编码器可产生具有特定值的语法元素,所述特定值指示调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度。

在相似实例中,视频解码器可从位流获得包括视频数据块的经编码表示的语法元素。块包括一系列游程。所述系列的游程包含两个或更多个游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。所述系列的游程中的每一相应游程的每一像素具有相同的调色板样本模式。此外,在此实例中,视频解码器可从位流获得一或多个调色板游程长度语法元素的集合。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。在此实例中,视频解码器可基于具有特定值的语法元素确定调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度。视频解码器可基于块中的像素的数目以及由调色板游程语法元素的集合指示的长度而确定所述系列的游程中的第一游程的长度。此外,在此实例中,视频解码器可基于块的像素的调色板样本模式而确定所述块的像素的调色板索引。对于块的每一相应像素,相应像素的相应调色板索引指示调色板中的条目。调色板中的每一相应条目指示样本值的相应集合。视频解码器可基于块的像素的调色板索引而确定所述块的像素的值。

图1是说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。

如图1中所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可以对由源装置12所产生的经编码的视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12以及目的地装置14可以是视频编解码装置或视频编解码设备的实例。

源装置12和目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型计算机)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车内计算机、无线通信装置或类似物。

目的地装置14可经由信道16从源装置12接收经编码的视频数据。信道16可包括能够将经编码的视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使得源装置12能够实时地将经编码的视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据通信标准(例如无线通信协议)来调制经编码的视频数据,且可将经调制视频数据发射到目的地装置14。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可(例如)经由磁盘存取或卡存取来存取存储媒体。存储媒体可以包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码的视频数据的其它合适数字存储媒体。

在另一实例中,信道16可以包含存储由源装置12产生的经编码的视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可以经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的经编码的视频数据。文件服务器可为能够存储经编码视频数据及将经编码视频数据发射至目的地装置14的服务器类型。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络连接存储(NAS)装置和本地磁盘驱动器。

目的地装置14可以通过标准数据连接(例如因特网连接)来存取经编码的视频数据。实例类型的数据连接可包含无线信道(例如Wi-Fi连接)、有线连接(例如DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从文件服务器的发射可为流式发射、下载发射或两者的组合。

本发明的技术不限于无线应用或设置。所述技术可应用于视频译码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、编码视频数据以供存储于数据存储媒体上、解码存储在数据存储媒体上的视频数据,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。

图1中说明的视频译码系统10仅为实例,并且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码且将数据存储到存储器,和/或视频解码装置可从存储器检索且解码数据(例如,视频数据)。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22可包含调节器/解调器(调制解调器)及/或发射器。视频源18可包含视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、从视频内容提供商接收视频数据的视频馈入接口和/或用于产生视频数据的计算机图形系统或视频数据的此类来源的组合。

视频编码器20可对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码的视频数据直接发射到目的地装置14。在其它实例中,经编码的视频数据也可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或回放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可以在信道16上接收经编码的视频数据。显示装置32可以与目的地装置14集成在一起或可以在目的地装置14的外部。一般来说,显示装置32显示经解码的视频数据。显示装置32可以包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

视频译码系统10的视频编码器20和视频解码器30表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20和视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码中的任一者选择性译码各种视频数据块,例如高效视频译码(HEVC)中的译码单元(CU)或预测单元(PU)。非基于调色板的译码模式可指代各种帧间预测时间译码模式或帧内预测性空间译码模式,例如由布洛斯等人的“高效视频译码(HEVC)文字规范草案10(用于FDIS和同意)(High Efficiency Video Coding(HEVC)Text Specification Draft 10(for FDIS&Consent))”(JCVC-L1003_v13,ITU-T SG16WP 3和ISO/IEC JCT1/SC 29/WG 11的JCT-VC第12次会议,2013年1月14-23日(下文为“HEVC草案10”)),可得自http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v13.zip)指定的各种译码模式。视频编码器20和视频解码器30各自可实施为例如以下各者的多种合适电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施技术,那么装置可将软件的指令存储于合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器以硬件执行指令从而执行本发明的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器20和视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。

本发明可大体上将视频编码器20称为将某些信息“用信号表示”或“发射”到例如视频解码器30的另一装置。术语“用信号表示”或“发射”可大体上指代用以对经压缩视频数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时发生。替代地,此通信可经过一段时间后发生,例如可在编码时以经编码位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。

在一些实例中,视频编码器20和视频解码器30根据视频压缩标准操作,所述视频压缩标准例如是高效视频译码(HEVC)。HEVC是由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的新视频译码标准。HEVC草案10是最近的HEVC文字规范草案。

除基础HEVC标准以外,存在持续努力产生用于HEVC的可缩放视频译码、多视图视频译码和3D译码扩展。此外,可提供(例如)如本发明中所描述的基于调色板的译码模式以用于HEVC标准的扩展。举例来说,基于调色板的译码技术在拉詹·乔希等人的“高效视频译码(HEVC)屏幕内容译码:草案2(High Efficiency Video Coding(HEVC)Screen Content Coding:Draft 2)”(JCTVC-S1005,日本札幌,2014年6月30日-7月9日(下文为“SCC草案2”))中描述。SCC草案2的副本在http://phenix.int-evry.fr/jct/doc_end_user/documents/19_Strasbourg/wg11/JCTVC-S1005-v1.zip可用。在一些实例中,本发明中针对基于调色板的译码而描述的技术可应用于经配置以根据其它视频译码标准(例如,ITU-T-H.264/AVC标准或将来标准)操作的编码器和解码器。因此,将基于调色板的译码模式用于HEVC编解码器中的译码单元(CU)或预测单元(PU)的译码是为了实例的目的而描述。

在HEVC和其它视频译码标准中,视频序列通常包含一连串图片。图片也可被称作“帧”。图片可包含一或多个样本阵列。举例来说,图片可包含三个样本阵列,表示为SL、SCb和SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。

为了产生图片的经编码的表示,视频编码器20可以产生一组译码树单元(CTU)。CTU中的每一者可为明度样本的译码树块、色度样本的两个对应译码树块及用于对译码树块的样本进行译码的语法结构。译码树块可为样本的NxN块。CTU也可以被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可以广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。切片可包含光栅扫描中连续排序的整数数目的CTU。

为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可为具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块和色度样本的两个对应译码块,以及用于对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块和用以对译码块的样本进行译码的语法结构。

视频编码器20可将CU的译码块分割为一或多个预测块。预测块可为应用相同预测的样本的矩形(即,正方形还是非正方形)块。CU的预测单元(PU)可以是图片的明度样本的预测块,图片的色度样本的两个对应的预测块,以及用以对预测块样本进行预测的语法结构。视频编码器20可以产生用于CU的每个PU的明度预测块、Cb预测块以及Cr预测块的预测性明度块、Cb块以及Cr块。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用以预测预测块的语法结构。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测块。如果视频编码器20使用帧内预测产生PU的预测性块,则视频编码器20可以基于与PU相关联的图片的经解码的样本来产生PU的预测性块。

如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可基于除与PU相关的图片以外的一或多个图片的经解码样本产生PU的预测性块。视频编码器20可使用单向预测或双向预测来产生PU的预测性块。当视频编码器20使用单向预测来产生PU的预测性块时,PU可具有单个运动向量(MV)。当视频编码器20使用双向预测来产生PU的预测性块时,PU可具有两个MV。

在视频编码器20产生CU的一或多个PU的预测性块(例如,预测性明度块、Cb块和Cr块)之后,视频编码器20可产生CU的残余块。CU的残余块中的每一样本指示CU的PU的预测性块中的样本与CU的译码块中的对应样本之间的差异。举例来说,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每一样本指示CU的PU的预测性明度块中的明度样本与CU的明度译码块中的对应样本之间的差异。另外,视频编码器20可产生CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的PU的预测性Cb块中的Cb样本与CU的Cb译码块中的对应样本之间的差异。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的PU的预测性Cr块中的Cr样本与CU的Cr译码块中的对应样本之间的差异。

此外,视频编码器20可使用四叉树分割将CU的残余块(例如,明度、Cb及Cr残余块)分解为一或多个变换块(例如,明度、Cb及Cr变换块)。变换块可为其上应用相同变换的样本的矩形块。CU的变换单元(TU)可为明度样本的变换块、色度样本的两个对应的变换块,以及用以对变换块样本进行变换的语法结构。因此,CU的每个TU可以与明度变换块、Cb变换块以及Cr变换块相关联。与TU相关联的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块和用以对变换块的样本进行变换的语法结构。

视频编码器20可将一或多个变换应用到TU的变换块从而产生TU的系数块。举例来说,视频编码器20可将一或多个变换应用于TU的明度变换块以产生TU的明度系数块。视频编码器20可将一或多个变换应用至TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用至TU的Cr变换块以产生TU的Cr系数块。系数块可为变换系数的二维阵列。变换系数可为标量。

在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。视频编码器20可在位流中输出经熵编码语法元素。

视频编码器20可输出包含经熵编码的语法元素的位流。位流可包含形成经译码图片和相关联数据的表示的位序列。位流可包括一连串网络抽象层(NAL)单元。所述NAL单元中的每一者包含NAL单元标头且封装原始字节序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。

不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可囊封用于经译码切片的RBSP,第三类型的NAL单元可囊封用于补充增强信息(SEI)的RBSP,等等。封装视频译码数据的RBSP(与参数集及SEI消息的RBSP相对)的NAL单元可被称为视频编码层(VCL)NAL单元。

在图1的实例中,视频解码器30接收视频编码器20所产生的位流。另外,视频解码器30可剖析所述位流以从所述位流获得语法元素。作为获得语法元素的部分,视频解码器30可将CABAC解码应用于特定语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构视频数据的图片。重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用帧内预测或帧间预测来确定当前CU的PU的预测性块。另外,视频解码器30可逆量化当前CU的TU的系数块。视频解码器30可对系数块执行逆变换以重构当前CU的TU的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可重构图片。

如上文所指出,视频编码器20和视频解码器30可应用CABAC译码。为了将CABAC编码应用于语法元素,视频编码器20可将语法元素二进制化以形成被称为“二进位”的一系列一或多个位。另外,视频编码器20可识别译码上下文。译码上下文可以识别译码二进位具有特定值的概率。举例来说,译码上下文可以指示对0值二进位进行译码的0.7概率,以及对1值二进位进行译码的0.3概率。在识别出译码上下文之后,视频编码器20可将区间划分成下部子区间和上部子区间。所述子区间中的一者可与值0相关联,且另一子区间可与值1相关联。所述子区间的宽度可与由经识别的译码上下文关于相关联值所指示的概率成比例。如果语法元素的二进位具有与下部子区间相关联的值,那么经编码值可等于下部子区间的下边界。如果语法元素的同一二进位具有与上部子区间相关联的值,那么经编码值可等于上部子区间的下边界。为了编码语法元素的下一个二进位,视频编码器20可重复这些步骤,其中区间为与经编码位的值相关联的子区间。当视频编码器20针对下一个二进位重复这些步骤时,视频编码器20可使用基于由经识别的译码上下文指示的概率及经编码的二进位的实际值的经修改概率。

当视频解码器30对语法元素执行CABAC解码时,视频解码器30可识别译码上下文。视频解码器30可接着将区间划分成下部子区间和上部子区间。所述子区间中的一者可与值0相关联,且另一子区间可与值1相关联。所述子区间的宽度可与由经识别的译码上下文关于相关联值所指示的概率成比例。如果经编码值在下部子区间内,那么视频解码器30可解码具有与下部子区间相关联的值的二进位。如果经编码值在上部子区间内,那么视频解码器30可解码具有与上部子区间相关联的值的二进位。为了解码语法元素的下一个二进位,视频解码器30可重复这些步骤,其中区间为含有经编码值的子区间。当视频解码器30针对下一个二进位重复这些步骤时,视频解码器30可使用基于由经识别的译码上下文指示的概率及经解码的二进位的经修改概率。视频解码器可接着对二进位去二进制化以恢复语法元素。

在一些实例中,视频编码器20和视频解码器30可经配置以执行基于调色板的译码。举例来说,在基于调色板的译码中,并非执行上文所描述的帧内预测性或帧间预测性译码技术,视频编码器20和视频解码器30可将所谓的调色板译码为用于表示特定区域(例如,给定块)的视频数据的颜色的表。因此,像素可与调色板中的表示像素的颜色的条目相关联。举例来说,视频编码器20和视频解码器30可对使像素与调色板中的适当值相关的索引进行译码。

视频编码器20可通过确定用于块的调色板、定位所述调色板中表示每一像素的值的条目以及以使像素值与调色板相关的用于像素的索引值对调色板进行编码,而对视频数据块进行编码。视频解码器30可从经编码位流获得块的调色板以及所述块的像素的索引值。视频解码器30可使像素的索引值与调色板的条目相关以重构块的像素值。

在本发明中,假定每一调色板条目指定像素的所有颜色分量的值。然而,本发明的概念适用于使用用于每一颜色分量的单独的调色板。并且,假定使用水平光栅扫描次序处理块中的样本。举例来说,视频编码器可以通过使用水平光栅扫描次序来扫描索引而将索引的二维块转换成一维阵列。类似地,视频解码器可以使用水平光栅扫描次序重构索引块。因此,本发明可将先前样本指代为块中以扫描次序在当前经译码的样本之前的样本。应了解,也可以应用除水平光栅扫描之外的扫描,例如垂直光栅扫描次序。以上实例既定提供基于调色板的译码的一般描述。然而,例如垂直光栅扫描次序的其它扫描也适用。

基于调色板的译码技术可经配置以与一或多个视频译码标准一起使用。举例来说,相对于HEVC框架,基于调色板的译码技术可经配置以用作CU模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的框架中的PU模式。因此,在CU模式的上下文中描述的所有以下所揭示的过程可另外或替代地应用于PU。然而,这些基于HEVC的实例不应被视为对本文所描述的基于调色板的译码技术的限定或限制,因为此些技术可应用以独立地工作或作为其它现有或尚待开发的系统/标准的部分而应用。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。

以基于调色板的译码模式译码的块中的每一样本可使用三个调色板样本模式中的一者译码:转义模式,复制上方游程模式,以及索引复制游程模式。对于复制上方游程模式和索引复制游程模式,也可以用信号表示其值指示游程长度的语法元素。游程长度值可指示经调色板译码块中以特定扫描次序一起经译码的一个样本或两个或更多个连续样本(例如,样本的游程)的数目。

游程长度值可指示使用同一调色板译码模式经译码的索引的游程的长度。举例来说,相对于索引复制游程模式,视频译码器(视频编码器或视频解码器)可对调色板索引和游程长度值进行译码。在此实例中,游程长度值指示按扫描次序的具有样本调色板样本模式的一个样本或两个或更多个连续样本的数目。举例来说,游程长度值可指示按扫描次序的具有相同索引值且以所述索引值译码的一个样本或两个或更多个连续样本的数目。

相对于复制上方游程模式,视频译码器可对游程类型指示符和游程长度指示符进行译码。游程类型指示符是用于一样本的调色板索引是从上方相邻样本(例如,定位于当前正译码样本的正上方的样本)的调色板索引复制的指示。游程长度指示符指示按扫描次序的也从相应上方相邻样本复制调色板索引的一个样本(或像素)或两个或更多个连续样本(或像素)的数目。

在SCC草案2中,首先用信号表示指示用信号表示的调色板索引的数目的语法元素,接着是每一个别调色板索引值。随后以与调色板游程长度语法元素交错的模式用信号表示指定调色板游程类型的语法元素,例如COPY_ABOVE或INDEX_COPY。

具体来说,SCC草案2指定CU可包含含有与调色板译码相关的语法元素的palette_coding语法结构。以下表1示出了SCC草案2中的界定用于palette_coding语法结构的语法。

表1

在表1中,粗体文字指示语法元素。语法元素palette_run_type_flag[xC][yC]是游程类型指示符。如SCC草案2中所描述,等于COPY_ABOVE_MODE的palette_run_type_flag[xC][yC]指定用于在位置[xC][yC]处的样本的调色板索引等于在上方行中同一位置的调色板索引。等于COPY_INDEX_MODE的palette_run_type_flag[xC][yC]指定样本的调色板索引的指示在位流中经译码。阵列索引xC、yC指定样本相对于图片的左上方明度样本的位置(xC,yC)。当palette_run_type_flag不存在时,推断其等于COPY_INDEX_MODE。此外,在表1中,语法元素palette_index_idc指定调色板条目索引。如SCC草案2中所描述,palette_index_idc是由currentPaletteEntries表示的阵列的索引的指示。

在表1中,两个语法元素palette_run_msb_id_plus1和palette_run_refinement_bits可用以指示游程长度。如SCC草案文本2中所描述,变量paletteRun指定当palette_run_type_flag等于COPY_ABOVE_MODE时具有与上方行中的位置相同的调色板索引的连续位置的数目减1,或指定当palette_run_type_flag等于COPY_INDEX_MODE时具有相同调色板索引的连续位置的数目减1。此外,在SCC草案文本2中,palette_run_msb_id_plus1减1指定paletteRun的二进制表示中的最高有效位。palette_run_refinement_bits指定paletteRun的二进制表示中的精炼位。当palette_run_refinement_bits不存在时,推断其等于0。变量paletteRun如下导出:

-如果indexMax大于0

○如果palette_run_msb_id_plus1大于1,

paletteRun=(1<<(palette_run_msb_id_plus1-1))+palette_run_refinement_bits(7-80)

○否则(palette_run_msb_id_plus1等于1)将paletteRun设定成(palette_run_msb_id_plus1-1)。

-否则,将paletteRun设定成(nCbS*nCbS-1)。

nCbS指示当前CU的译码块的高度或宽度。因此,palette_run_msb_id_plus1语法元素和palette_run_refinement_bits语法元素一起可指示调色板游程长度。

此外,在表1中,语法元素palette_escape_val指定用于分量的经量化转义经译码样本值。变量PaletteEscapeVal[cIdx][xC][yC]指定paletteSampleMode[xC][yC]等于ESCAPE_MODE的样本的转义值。阵列索引cIdx指定颜色分量。如前所述,阵列索引xC、yC指定样本相对于图片的左上方明度样本的位置(xC,yC)。因此,在表1中,在COPY_INDEX游程中用信号表示转义像素。

本发明描述用信号表示和/或一般指示调色板游程长度,同时绕过某些游程长度语法元素的信令(即,非信令)以改善译码效率的方法、设备和技术。在一些实例中,视频编码器20和视频解码器30可经配置以对在块的开始发射的用信号表示的调色板索引的数目实施本发明的调色板游程隐藏技术。在本发明的其它实例中,视频编码器20和视频解码器30可经配置以实施技术,借此可使用关于视频数据块的译码特性的一些其它已知信息来导出将使用的调色板索引的数目的值。举例来说,如果用信号表示指示调色板游程类型的语法值,那么可根据本发明的技术导出用信号表示的调色板索引的数目。下文描述的本发明的各种技术可个别地或以任何组合使用。

在本发明的一或多个实例中,视频编码器20和视频解码器30实施调色板游程隐藏技术,其可用以绕过信令和/或接收在基于调色板的视频译码中使用的某些语法元素以便改善视频译码效率。

本发明的技术涉及基于调色板的视频译码。举例来说,在基于调色板的译码中,视频译码器(视频编码器或视频解码器)可形成“调色板”作为用于表示特定区域(例如,给定块)的视频数据的颜色的表。基于调色板的译码可尤其有用于对具有相对少量的颜色的视频数据区域进行译码。并非对实际像素值(或其残余)进行译码,视频译码器可对所述像素中的一或多者的索引值进行译码,所述索引值使所述像素与调色板中表示所述像素的颜色的条目相关。本发明中描述的技术可包含用于调色板游程隐藏的技术。

在本发明的第一实例中,视频编码器20可经配置以用信号表示块层级语法元素(例如,旗标)以指示块中的调色板游程长度语法元素的第一发生是否未用信号表示。本发明可将此块层级语法元素称为“游程长度跳过语法元素”。在另一实例中,视频编码器20可经配置以用信号表示所述块层级语法元素以指示块中的调色板游程长度语法元素的最后发生是否未用信号表示。在SCC草案2的上下文中,palette_run_msb_id_plus1和palette_run_refinement_bits是调色板游程长度语法元素。

因此,在此实例中,视频编码器20可确定视频数据的块(例如,CU的译码块)的像素的调色板索引。在本发明中,像素的论述可应用于样本,反之亦然。对于块的每一相应像素,相应像素的调色板索引指示调色板中的条目。调色板中的每一条目指示样本值的集合。视频编码器20可识别块中的一系列游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。所述系列的游程中的每一相应游程的每一像素可具有相同调色板样本模式(例如,转义模式、复制上方模式、复制索引模式)。此外,在此实例中,视频编码器20可产生一或多个调色板游程长度语法元素的集合。在此实例中,所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。此外,在此实例中,视频编码器20可产生具有特定值的游程长度跳过语法元素,所述特定值指示调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度。在此实例中,具有除所述特定值外的值(例如,第二值)的游程长度跳过语法元素可指示调色板游程长度语法元素的集合不指示所述系列的游程中的最后游程的长度。

在相似实例中,视频解码器30可从包括视频数据块的经编码表示的位流获得游程长度跳过语法元素。在此实例中,所述块包括一系列游程。所述系列的游程可包含两个或更多个游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。所述系列的游程中的每一相应游程的每一像素可具有相同调色板样本模式(例如,转义模式、复制上方模式、索引复制模式)。此外,在此实例中,视频解码器30可从位流获得一或多个调色板游程长度语法元素的集合。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。在此实例中,视频解码器30基于具有特定值(例如,第一值)的游程长度跳过语法元素而确定调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度。此外,在此实例中,视频解码器30基于块中的像素的数目和由调色板游程语法元素的集合指示的长度而确定所述系列的游程中的第一游程的长度。另外,在此实例中,视频解码器30基于块的像素的调色板样本模式而确定所述块的像素的调色板索引。对于块的每一相应像素,相应像素的相应调色板索引指示调色板中的条目。调色板中的每一相应条目指示样本值的相应集合。此外,在此实例中,视频解码器30可基于块的像素的调色板索引而确定块的像素的值。

在此实例中,如果游程长度跳过语法元素具有除所述特定值外的值(例如,第二值),那么视频解码器30可基于具有所述第二值的游程长度跳过语法元素而确定调色板游程长度语法元素的集合不指示所述系列的游程中的最后游程的长度。在此实例中,视频解码器30可基于块中的像素的数目和由调色板游程语法元素的集合指示的长度而确定所述系列的游程中的最后游程的长度。在此实例中,视频解码器30可基于块的像素的调色板样本模式而确定所述块的像素的调色板索引。此外,在此实例中,视频解码器30可基于块的像素的调色板索引而确定块的像素的值。

在一个实例中,视频编码器20可经配置以在用于当前块的调色板大小是一且所述块中不存在转义像素的情况下绕过上述游程长度跳过语法元素的信令(即,不用信号表示)。视频编码器20可进一步经配置在用于当前块的调色板大小是零的情况下绕过此游程长度跳过语法元素的信令(即,不用信号表示)。在这些实例中的每一者中,视频解码器30可经配置以推断游程长度为整个视频数据块的大小。因此,在此实例中,视频编码器20可响应于确定(1)调色板的大小不等于1或块中存在转义像素;以及(2)调色板的大小不是0而产生游程长度跳过语法元素。类似地,在此实例中,视频解码器30可响应于确定(1)调色板的大小不等于1或块中存在转义像素;以及(2)调色板的大小不是0而确定位流包含所述语法元素。

在一些实例中,上述游程长度跳过语法元素可使用具有上下文的CABAC来译码。使用的上下文可基于以下各项中的一或多者:视频块大小、用于视频块的调色板大小、转义像素的存在、用信号表示和/或推断的调色板索引的数目,或其它特性。因此,在一个此类实例中,视频编码器20可从多个上下文选择上下文。在此实例中,所述选择是基于以下各项中的至少一者:块的块大小、调色板大小、块中是否存在转义像素,以及块中的用信号表示的调色板索引的数目。此外,在此实例中,视频编码器20使用CABAC中的选定上下文对游程长度跳过语法元素进行编码。在相似实例中,视频解码器30从多个上下文选择上下文。在此实例中,所述选择是基于以下各项中的至少一者:块的块大小、调色板大小、块中是否存在转义像素,以及块中的用信号表示的调色板索引的数目。此外,在此实例中,视频解码器30使用CABAC中的选定上下文对游程长度跳过语法元素进行解码。

在视频解码器30处,如果上述游程长度跳过语法元素指示块中的调色板游程长度语法元素的第一发生被跳过(即,未在位流中接收),那么视频解码器30可临时将等于0的伪游程长度指派给第一游程长度,且解码程序继续直到最后游程长度经解码为止。换句话说,如果游程长度跳过语法元素指示调色板游程长度语法元素的集合不指示块的第一游程的长度,那么视频解码器30可初始地假定第一游程的长度是0。视频解码器30可随后以等于块中的像素的总数目减去在解码最后像素之后在块中的位置的值替换所述第一游程长度。

举例来说,假定4×4的块大小具有三个用信号表示的游程长度(6,2,5)。在此实例中,如果第一游程长度是隐藏的(即,未用信号表示),那么视频解码器30为第一游程长度初始地指派伪游程长度值0。在解码最后游程长度5之后,4x4块中的当前位置等于:1(像素位置)+0(伪游程)+1(像素位置)+2(经解码游程长度)+1(像素位置)+5(经解码游程长度)=10。在此实例中,游程长度指示跟随具有与游程中的每一像素相同的调色板样本模式的像素之后的像素位置的数目。因此,第一游程长度恢复为16-10=6,因为16是4x4块中的像素的总数目且10是在解码最后像素之后在块中的位置。

在SCC草案2中,如果块的第一线(例如,顶部行)中的像素且所述像素是游程的第一像素,那么视频编码器20不用信号表示所述游程的游程类型信息。举例来说,视频编码器20不用信号表示所述游程是复制上方游程还是复制索引游程。换句话说,在SCC草案2中,如果像素在块的第一线中,那么不用信号表示游程类型信息。在此情况下,视频解码器30可推断游程类型为复制索引。然而,在本发明的一些实例中,如果游程长度跳过语法元素指示第一游程长度被绕过,那么视频编码器20可用信号表示在块的第一线中的当前像素处开始的游程的调色板游程类型,以下条件中的任一者为真的情况除外:

●当前像素是块中按扫描次序的第一像素。在此情况下,视频解码器30可推断游程类型为COPY_ABOVE。

●当前像素不是块中的第一像素且先前游程类型是COPY_ABOVE。应注意,在一些实例中,当前游程类型可推断为INDEX_COPY,因为可能存在COPY_ABOVE游程无法由另一COPY_ABOVE游程跟随的规范性限制。

因此,在一个此类实例中,当调色板游程长度语法元素的集合不指示块的第一游程的长度时,视频编码器20产生用于特定游程的调色板游程类型语法元素(例如,palette_run_type_flag语法元素),除非(1)当前像素是块的按扫描次序的第一像素,或(2)当前像素不是块的第一像素且前一游程的游程类型具有复制上方游程类型。在此实例中,当前像素在块的第一线中且是特定游程的第一像素。在当前像素不是块的第一像素且前一游程存在时,特定游程跟随前一游程且所述特定游程与前一游程之间不存在其它游程。此外,在此实例中,游程类型语法元素指示用于特定游程的调色板样本模式,其中调色板样本模式是复制上方或复制索引中的一者。对于具有复制上方游程类型的游程的每一相应像素,相应像素的调色板索引与相应像素正上方的像素的调色板索引相同。对于具有索引复制游程类型的游程的每一相应像素,相应像素的调色板索引与相应像素左边紧邻的像素的调色板索引相同。

在相似实例中,响应于确定调色板游程长度语法元素的集合不指示块的第一游程的长度,视频解码器30从位流获得游程类型语法元素,除非(1)当前像素是块的按扫描次序的第一像素,或(2)当前像素不是块的第一像素且前一游程的游程类型具有复制上方游程类型。在此实例中,当前像素在块的第一线中且是特定游程的第一像素。此外,在此实例中,在当前像素不是块的第一像素且前一游程存在时,特定游程跟随前一游程且所述特定游程与前一游程之间不存在其它游程。此外,在此实例中,调色板游程类型语法元素指示特定游程的游程类型是复制上方游程类型或索引复制游程类型中的一者。

在一个此类实例中,视频解码器30从位流获得游程长度跳过语法元素。在此实例中,块包括一系列游程且所述系列的游程包含两个或更多个游程。此外,在此实例中,视频解码器30从位流获得一或多个调色板游程长度语法元素的集合。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。此外,在此实例中,视频解码器30基于具有特定值的游程长度跳过语法元素而确定调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度。另外,在此实例中,视频解码器30基于块中的像素的数目和由调色板游程语法元素的集合指示的长度而确定所述系列的游程中的第一游程的长度。此外,在此实例中,响应于确定调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度且确定当前像素是块的按扫描次序的第一像素,视频解码器30推断所述系列的游程中的第一游程具有复制上方游程类型。在此实例中,当前像素在块的第一线中且是第一游程的第一像素。如本发明中在别处所描述,对于具有复制上方游程类型的游程的每一相应像素,所述相应像素具有复制上方调色板样本模式,且因此,相应像素的调色板索引与所述相应像素上方紧邻的像素的调色板索引相同。在此实例中,视频解码器30基于块的像素的调色板样本模式而确定所述块的像素的调色板索引。在此实例中,视频解码器30基于块的像素的调色板索引而确定块的像素的值。

在另一此类实例中,视频解码器30从位流获得游程长度跳过语法元素。在此实例中,块包括一系列游程,其包含两个或更多个游程。此外,在此实例中,视频解码器30从位流获得一或多个调色板游程长度语法元素的集合。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。此外,视频解码器30基于具有特定值的游程长度跳过语法元素而确定调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度。在此实例中,视频解码器30基于块中的像素的数目和由调色板游程语法元素的集合指示的长度而确定所述系列的游程中的第一游程的长度。此外,在此实例中,响应于确定调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度且确定当前像素不是块的按扫描次序的第一像素且前一游程的游程类型是复制上方游程类型,视频解码器30推断所述系列的游程中的第一游程具有索引复制游程类型。在此实例中,当前像素在块的第一线中且是特定游程的第一像素。在此实例中,特定游程跟随前一游程且所述特定游程与前一游程之间不存在其它游程。在此实例中,视频解码器30基于块的像素的调色板样本模式而确定所述块的像素的调色板索引。另外,在此实例中,视频解码器30基于块的像素的调色板索引而确定块的像素的值。

根据本发明的一些实例,当第一游程长度被绕过(即,未在视频位流中用信号表示)且实际第一游程长度和/或最后游程长度等于0时,视频编码器20可经配置以不用信号表示最后游程的游程类型。在此情况下,视频解码器30可经配置以推断游程类型。

在一个此类实例中,视频编码器20可产生一或多个游程类型语法元素的集合。在此实例中,游程类型语法元素集合的每一相应游程类型语法元素指示所述系列的游程中的相应游程的游程类型。相应游程的游程类型指示相应游程的像素的调色板样本模式。在此实例中,当调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度时且响应于确定所述系列的游程中的第一游程的长度等于0和/或所述系列的游程中的最后游程的长度等于0,游程类型语法元素的集合不包含指示所述系列的游程中的最后游程的游程类型的游程类型语法元素。

类似地,在一个此类实例中,视频解码器30从位流获得一或多个游程类型语法元素的集合。在此实例中,游程类型语法元素集合的每一相应游程类型语法元素指示所述系列的游程中的相应游程的游程类型。相应游程的游程类型指示相应游程的像素的调色板样本模式。此外,在此实例中,响应于确定调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度且响应于确定所述系列的游程中的第一游程的长度等于0和/或所述系列的游程中的最后游程的长度等于0,视频解码器30确定游程类型语法元素的集合不包含指示所述系列的游程中的最后游程的游程类型的游程类型语法元素。

在本发明的一些实例中,视频编码器20可经配置以根据要求COPY_ABOVE游程长度必须大于0的规范性位流限制而用信号表示语法元素。视频解码器30将经配置以根据此规范性限制而接收且剖析语法元素。在一个实例中,当对等于L的COPY_ABOVE游程长度进行译码而不是对L进行编码时,视频编码器20可经配置以可对L-1进行编码。最大可能的游程长度的所需参数也可以减少一。举例来说,在SCC草案2的一些建议中,视频编码器20可以指定最大可行的游程长度(取决于当前像素在块中的位置)的参数ML进行编码。根据本发明的技术,视频编码器20可经配置以用参数M-1对L-1进行编码。

作为以上实例的一个替代方案,视频编码器20可经配置以用信号表示指示当前块中的所有COPY_ABOVE游程长度是否大于零的语法元素(例如,旗标)。如果是这样,而不是用信号表示实际COPY_ABOVE游程长度R,那么视频编码器20可用信号表示R-1。如果当前块的调色板大小是一且块中不存在转义像素,或如果当前块的调色板大小是零,那么在此实例中的所述语法元素可被绕过(即,不用信号表示)。在此些情况下,游程长度可推断为整个块。指示当前块中的所有COPY_ABOVE游程长度是否大于零的语法元素可使用具有上下文的CABAC来译码。使用的上下文可基于以下各项中的一或多者:视频块大小、用于视频块的调色板大小、转义像素的存在、用信号表示和/或推断的调色板索引的数目,或其它特性。

因此,在一个此类实例中,块可具有一系列游程。在此实例中,视频编码器20产生指示所述系列的游程中具有复制上方游程类型的所有游程是否具有大于0的长度的语法元素。在此实例中,当所述语法元素指示所述系列的游程中具有复制上方游程类型的所有游程具有大于0的长度时,对于所述系列的游程中具有复制上方游程类型的每一相应游程,调色板游程长度语法元素的集合的相应调色板游程长度语法元素比所述相应游程的实际长度小1。

在相似实例中,块具有一系列游程。在此实例中,视频解码器30从位流获得语法元素。在此实例中,语法元素指示所述系列的游程中具有复制上方游程类型的所有游程是否具有大于0的长度。在此实例中,响应于确定所述语法元素指示所述系列的游程中具有复制上方游程类型的所有游程具有大于0的长度,视频解码器30针对所述系列的游程中具有复制上方游程类型的每一相应游程确定调色板游程长度语法元素的集合的相应调色板游程长度语法元素比所述相应游程的实际长度小1。

根据SCC草案2的一些建议,如果当前块中的所有COPY_ABOVE游程长度大于0,那么组合(游程类型,游程长度)=(COPY_ABOVE,0)在当前块中是无效的。因此,本发明提出使用此组合(即,(游程类型,游程长度)=(COPY_ABOVE,0))来指示当前INDEX_COPY游程长度被绕过(例如,不用信号表示)。举例来说,假定块大小是4×4,且存在三个用信号表示的INDEX_COPY游程长度,其为(6,2,5)。如果视频解码器30接收到组合(INDEX_COPY,6)、(COPY_ABOVE,0)、(INDEX_COPY,5),那么视频解码器30可经配置以恢复实际序列为:(INDEX_COPY,6)、(INDEX_COPY,16-3-5-6)、(INDEX_COPY,5)。在此实例中,值3可从用信号表示的游程的数目导出。

因此,在一个此类实例中,块包括一系列游程,其包含两个或更多个游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。所述系列的游程中的每一相应游程的每一像素具有相同的调色板样本模式。在此实例中,视频解码器30从位流获得一或多个调色板游程长度语法元素的集合。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。在此实例中,以下各项中的一者适用:

●位流经受所述系列的游程中具有复制上方游程类型的每一游程具有大于0的长度的要求,且

●位流包含指示所述系列的游程中具有复制上方游程类型的所有游程具有大于0的长度的语法元素。

在此实例中,响应于从位流获得指示所述系列的游程中的特定游程具有复制上方游程类型的游程类型语法元素以及调色板游程长度语法元素的集合中指示特定游程的长度是0的调色板游程长度语法元素,视频解码器30确定所述特定游程实际具有索引复制游程类型且所述特定游程的长度实际等于块中的像素的总数目减去所述系列的游程中的每一其它游程的长度减去所述系列的游程中的游程的数目。

以上技术以组合应用。举例来说,由于上文所论述的方法中存在(COPY_ABOVE,0)的至多一个组合,因此在视频解码器30对组合(COPY_ABOVE,0)进行解码之后,可应用与上文所论述的规范性限制相关的技术。

如上文所描述,在调色板模式中,调色板包含由表示可被用作块样本的预测符或用作最终经重构块样本的颜色分量值的索引所编号的条目。此外,如上文简要地描述,调色板块中的样本可使用三个游程模式译码,即复制左边(即,索引复制),复制上方,以及转义,或其等效物。视频编码器20可在位流中用信号表示一个二进位palette_mode旗标以指示模式是否为COPY_ABOVE游程模式。如果模式不是COPY_ABOVE游程模式,那么视频编码器20用信号表示palette_index语法元素。如果palette_index等于保留调色板索引值,那么当前像素是转义像素。举例来说,如果palette_index等于palette_size,那么当前像素是转义像素。否则,当前像素是索引游程模式(即,索引复制游程模式)的起始位置。“非CE6:转义颜色信令(Non-CE6:Escape color signaling)”(文献编号JCTVC-S0055(下文为JCTVC-S0055))提出将转义像素译码为一对(palette_mode=COPY_ABOVE和palette_run=0)。如果当前像素是COPY_ABOVE游程的开始,那么palette_run的值是一加上实际游程长度以使得解码器可分辨COPY_ABOVE和转义。在一些情况下,JCTVC-S0055的技术可减少指示当前像素是转义像素所需的位数目。

然而,因为对于COPY_ABOVE游程模式,零游程长度是最可能情况,所以保留零游程长度用于转义可导致译码效率损失。举例来说,在一个实例中,在JCTVC-S0055的技术中,如果palette_run语法元素的值是使用以0终止的一元值来表示,那么以使用一元值0表示的palette_run语法元素用信号表示转义像素且以使用一元值10表示的palette_run语法元素用信号表示零游程长度。然而,零的游程长度可比转义像素更常见。因此,在此实例中,JCTVC-S0055的技术的结果可为视频编码器用信号表示使用等于10的一元值表示的palette_run语法元素比使用等于0的一元值表示的palette_run语法元素更多,从而导致译码效率损失。

根据本发明的一或多种技术,视频编码器20将转义模式用信号表示为一对:

palette_mode=COPY_ABOVE且palette_run等于大于0的预定值。在一些实例中,palette_run=1或2。

在一些实例中,具有大于或等于大于0的预定值(例如,1或2)的长度的COPY_ABOVE游程可比转义像素较不常见和/或比具有等于0的长度的COPY_ABOVE游程较不常见。因此,在此些实例中,将转义像素用信号表示为等于COPY_ABOVE的palette_mode以及等于预定值的palette_run可相对于JCTVC-S0055的技术增加译码效率。

作为本发明的技术的实例,如果将转义模式用信号表示为COPY_ABOVE和palette_run=1,那么对于真实COPY_ABOVE模式,palette_run语法映射到:

如果游程长度等于0,那么palette_run=0

如果游程长度大于1,那么palette_run=游程长度+1。

作为本发明的技术的另一实例,如果将转义模式用信号表示为COPY_ABOVE且palette_run=2,那么对于真实COPY_ABOVE模式,palette_run语法映射到:

如果游程长度等于0,那么palette_run=0

如果游程长度等于1,那么palette_run=1

如果游程长度大于1,那么palette_run=游程长度+1。

因此,根据本发明的一或多种技术,视频解码器30可从包括视频数据的经编码表示的位流获得第一语法元素(例如,palette_mode)和第二语法元素(例如,run_length)。当所述第一语法元素等于第一值且所述第二语法元素等于大于0的预定值时,确定视频数据的当前像素是转义像素。在至少一些实例中,如果当前像素是转义像素,那么当前像素的值未包含在调色板中。如果当前像素不是转义像素,那么当前像素的值包含在调色板中。此外,在此实例中,当所述第一语法元素等于第一值且所述第二语法元素不等于预定值时,视频解码器30可确定当前像素的值等于当前图片中当前像素上方紧邻的像素的值。另外,当所述第一语法元素等于第一值且所述第二语法元素不等于预定值时,视频解码器30可基于所述第二语法元素的值而确定指示当前块中按解码次序跟随当前像素的具有与上方相邻像素相同的值的像素的数目的游程长度。

在一些实例中,当所述第一语法元素的值等于第二不同值时,视频解码器30可从位流获得第三语法元素,所述第三语法元素指示到调色板中的索引。另外,当所述第一语法元素等于所述第二值时,视频解码器30可确定当前像素的值等于由调色板中对应于所述索引的条目指定的值。

如上文所指出,视频解码器30可基于所述第二语法元素的值而确定游程长度(例如,run_length)。在一些实例中,当所述第二语法元素的值小于预定值时,视频解码器30可确定所述游程长度等于所述第二语法元素的值。在此实例中,当所述第二语法元素的值大于预定值时,视频解码器30可确定游程长度等于所述第二语法元素的值加上1。

举例来说,在一个实例中,所述预定值等于1。在此实例中,当所述第二语法元素的值等于0时,视频解码器30可确定游程长度等于0。当所述第二语法元素的值大于1时,视频解码器30可确定游程长度等于所述第二语法元素的值加上1。

在另一实例中,所述预定值等于2。在此实例中,当所述第二语法元素的值等于0时,视频解码器30可确定游程长度等于0。当所述第二语法元素的值等于1时,视频解码器30可确定游程长度等于1。当所述第二语法元素的值大于2时,视频解码器30可确定游程长度等于所述第二语法元素的值加上1。

此外,根据本发明的一或多种技术,视频编码器20可在包括视频数据的经编码表示的位流中包含第一语法(例如,palette_mode)和第二语法元素(例如,run_length)。当视频数据的当前像素是转义像素时,所述第一语法元素等于第一值且所述第二语法元素等于大于0的预定值。如果当前像素是转义像素,那么当前像素未包含在调色板中。如果当前像素不是转义像素,那么当前像素的值包含在调色板中。在当前像素的值等于当前图片中当前像素上方紧邻的像素的值时,所述第一语法元素等于第一值且所述第二语法元素不等于预定值。此外,在当前像素的值等于当前图片中当前像素上方紧邻的像素的值时,游程长度可(例如,由视频解码器30)从所述第二语法元素的值确定,所述游程长度指示按解码次序跟随当前像素的具有与上方相邻像素相同的值的像素的数目。

此外,在一些实例中,当所述第一语法元素等于第二不同值时,视频编码器20可从位流包含第三语法元素,所述第三语法元素指示到调色板中的索引。当前像素的值等于由调色板中对应于所述索引的条目指定的值。

在一些实例中,当所述第二语法元素(例如,run_length)的值小于预定值时,游程长度等于所述第二语法元素的值。在此些实例中,当所述第二语法元素的值大于预定值时,游程长度等于所述第二语法元素的值加上1。举例来说,在一个实例中,所述预定值等于1。在此实例中,当所述第二语法元素的值等于0时,游程长度等于0。当所述第二语法元素的值大于1时,游程长度等于所述第二语法元素的值加上1。

在另一实例中,所述预定值等于2。在此实例中,当所述第二语法元素的值等于0时,游程长度等于0。当所述第二语法元素的值等于1时,游程长度等于1。当所述第二语法元素的值大于2时,游程长度等于所述第二语法元素的值加上1。

当palette_mode等于COPY_ABOVE时palette_run的上下文可取决于palette_escape_val_present_flag和/或palette_size和/或CU大小。palette_escape_val_present_flag可指示当前块(例如,CU、PU)中转义样本的存在。可在当前CU的末尾用信号表示所有语法palette_escape_val以减少剖析相依性。palette_escape_val语法元素可指示转义像素的值。

因此,在一些实例中,视频解码器30可基于指定当前块中是否存在转义像素的语法元素的值而选择熵译码上下文。视频解码器30可使用选定熵译码上下文对所述第一语法元素进行熵解码(例如,CABAC解码)。类似地,视频编码器20可基于当前块中是否存在转义像素而选择熵译码上下文。视频编码器20可使用选定熵译码上下文对所述第一语法元素进行熵编码(例如,CABAC编码)。

图2是说明可实施本发明的技术的实例视频编码器20的框图。图2是出于解释的目的而提供,且不应被视为将技术限制为本发明中所大致例示和描述的技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。

视频编码器20表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20可经配置以使用基于调色板的译码或非基于调色板的译码选择性对例如HEVC译码中的CU或PU等各种视频数据块进行译码。非基于调色板的译码模式可指各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如,由HEVC草案10指定的各种译码模式。在一个实例中,视频编码器20经配置以产生具有指示像素值的条目的调色板,选择调色板中的像素值以表示视频数据块中的至少一些像素位置的像素值,且用信号表示使视频数据块中的像素位置中的至少一些与调色板中分别对应于调色板中的选定像素值的条目关联的信息。用信号表示的信息可由视频解码器30使用以对视频数据进行解码。

在图2的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116和熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120包含运动估计单元和运动补偿单元(未示出)。视频编码器20还包含基于调色板的编码单元122,其经配置以执行本发明中描述的基于调色板的译码技术的各种方面。在其它实例中,视频编码器20可包括更多、更少或不同功能组件。

视频数据存储器101经配置以存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储于视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储参考视频数据以供在视频编码器20例如以帧内或帧间译码模式编码视频数据时使用的参考图片存储器。视频数据存储器101和经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器101和经解码图片缓冲器116可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于所述组件在芯片外。

视频编码器20接收视频数据。视频编码器20可对视频数据的图片的切片中的每个CTU进行编码。CTU中的每一者可以与图片的大小相等的明度译码树块(CTB)以及对应的CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可以执行四叉树分割以将CTU的CTB划分为逐渐更小的块。这些更小的块可以是CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块等。

视频编码器20可对CTU的CU进行编码以产生CU的经编码表示(即,经译码的CU)。作为对CU进行编码的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块和对应的色度预测块相关联。视频编码器20和视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小并且PU的大小可指PU的明度预测块的大小。假定特定CU的大小为2Nx2N,视频编码器20及视频解码器30可支持用于帧内预测的2Nx2N或NxN的PU大小,及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似大小的对称PU大小。视频编码器20以及视频解码器30还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N以及nRx2N的PU大小的非对称分割。

帧间预测处理单元120可通过对CU的每个PU执行帧间预测来产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块和PU的运动信息。帧间预测处理单元120可取决于PU是在I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU是在I切片中,那么帧间预测处理单元120不对PU执行帧间预测。因此,对于在I模式中编码的块,使用来自同一帧内的经先前编码的相邻块的空间预测而形成经预测块。如果PU在P切片中,那么帧间预测处理单元120可使用单向帧间预测以产生PU的预测性块。

根据本发明的各种实例,视频编码器20可经配置以执行基于调色板的译码。作为一实例,相对于HEVC框架,基于调色板的译码技术可经配置以用作CU模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的框架中的PU模式。因此,本文在CU模式的上下文中描述的所揭示过程(贯穿本发明)可另外或替代地适用于PU。然而,这些基于HEVC的实例不应被视为对本文所描述的基于调色板的译码技术的限定或限制,因为此些技术可应用以独立地工作或作为其它现有或尚待开发的系统/标准的部分而应用。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。

当(例如)针对CU或PU选择基于调色板的编码模式时,基于调色板的编码单元122(例如)可执行基于调色板的解码。举例来说,基于调色板的编码单元122可配置以产生具有指示像素值的条目的调色板,选择调色板中表示视频数据块的至少一些位置的像素值的像素值,且用信号表示使视频数据块的位置中的至少一些与调色板中分别对应于选定像素值的条目关联的信息。尽管将各种功能描述为由基于调色板的编码单元122执行,但此些功能中的一些或全部可由其它处理单元或不同处理单元的组合执行。

根据本发明的方面,基于调色板的编码单元122可经配置以执行下文相对于图4到5描述的调色板译码的技术的任何组合。举例来说,基于调色板的编码单元122可经配置以执行本文所描述的用于调色板游程隐藏的技术的任何组合。

此外,根据本发明的实例技术,基于调色板的编码单元122可确定视频数据的块的非转义经译码像素的调色板索引。此外,基于调色板的编码单元122可识别块中的一系列两个或更多个游程。所述系列的游程中的每一相应游程可包含块的一个像素或两个或更多个连续像素。所述系列的游程中的每一相应游程的每一像素可具有相同的调色板样本模式。另外,基于调色板的编码单元122可产生一或多个调色板游程长度语法元素的集合。所述一或多个调色板游程长度语法元素可指示所述系列的游程中的一或多个游程的长度。基于调色板的编码单元122可产生具有特定值的语法元素,所述特定值指示调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度。

帧内预测处理单元126可通过对PU执行帧内预测来产生PU的预测性数据。PU的预测性数据可包含PU的预测性块及各种语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的多组预测性数据。帧内预测处理单元126可使用来自相邻PU的样本块的样本来产生用于PU的预测性块。假定对于PU、CU和CTU采用从左到右、从上到下的编码次序,相邻PU可在所述PU的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目的帧内预测模式,例如33种定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区域的大小。

预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真量度选择CU的PU的预测性数据。所选预测性数据的预测性块在本文中可被称作所选预测性块。

残余产生单元102可基于用于CU的译码块(例如,明度、Cb和Cr译码块)和用于CU的PU的选定预测性块(例如,预测性明度、Cb和Cr块)而产生用于CU的残余块(例如,明度、Cb和Cr残余块)。举例来说,残余产生单元102可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定预测性样本块中的对应样本之间的差的值。

变换处理单元104可执行四叉树分割以将与CU相关联的残余块分割成与CU的TU相关联的变换块。因此,TU可以与明度变换块以及两个色度变换块相关联。CU的TU的明度变换块以及色度变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。被称为“残余四叉树”(RQT)的四叉树结构可以包含与区域中的每一者相关联的节点。CU的TU可以对应于RQT的叶节点。

变换处理单元104可以通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。例如,变换处理单元104可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可被视作变换系数块。

量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间舍入到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的变换系数块。视频编码器20可通过调整与CU相关联的QP值来调整适用于与CU相关联的系数块的量化程度。量化可能使得信息丢失,因此经量化的变换系数可以具有比原始变换系数更低的精度。

逆量化单元108和逆变换处理单元110可分别将逆量化和逆变换应用于系数块,以由所述系数块重构残余块。重构单元112可将经重构的残余块添加到来自由预测处理单元100产生的一或多个预测性块的对应样本,以产生与TU相关联的经重构变换块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。

滤波器单元114可执行一或多个解块操作来减少与CU相关联的译码块中的块效应。在滤波器单元114对经重构译码块执行一或多个解块操作之后,经解码图片缓冲器116可存储经重构译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构的译码块以对处于与CU相同的图片中的其它PU执行帧内预测。

熵编码单元118可以从视频编码器20的其它功能组件接收数据。例如,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一或多个熵编码操作以产生经熵编码的数据。例如,熵编码单元118可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可以输出包含由熵编码单元118产生的经熵编码的数据的位流。例如,位流可以包含表示用于CU的RQT的数据。

图3是说明经配置以实施本发明的技术的实例视频解码器30的框图。图3是出于解释的目的而提供,且不应被视为将技术限制为本发明中所大致例示和描述的技术。出于解释的目的,本发明描述在HEVC译码的背景下的视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。

视频解码器30表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码选择性对例如HEVC译码中的CU或PU等各种视频数据块进行解码。非基于调色板的译码模式可指代各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如由HEVC草案10指定的各种译码模式。在一个实例中,视频解码器30可经配置以产生具有指示像素值的条目的调色板,接收使视频数据块中的至少一些像素位置与调色板中的条目相关联的信息,基于所述信息选择调色板中的像素值,且基于调色板中的选定像素值来重构块的像素值。

在图3的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。视频解码器30还包含基于调色板的解码单元165,其被配置以执行本发明中描述的基于调色板的译码技术的各种方面。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。

视频数据存储器151经配置以存储待由视频解码器30的组件解码的经编码视频数据,例如经编码视频位流。存储在视频数据存储器151中的视频数据可(例如)从信道16、从例如相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。视频数据存储器151可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为参考图片存储器,其经配置以存储例如供视频解码器30例如在帧内或帧间译码模式和/或输出中解码视频数据时使用的经解码(例如,参考)视频数据。视频数据存储器151和经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器151和经解码图片缓冲器162可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器151可与视频解码器30的其它组件一起在芯片上,或相对于所述组件在芯片外。

视频数据存储器151接收且存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB接收经编码视频数据(例如,NAL单元)且剖析NAL单元以获得语法元素。熵解码单元150可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158以及滤波器单元160可以基于从位流提取的语法元素来产生经解码的视频数据。熵解码单元150可执行与熵编码单元118的过程大体上互逆的过程。

作为对位流进行解码的部分,熵解码单元150可从经译码切片的NAL单元提取语法元素且对所述语法元素进行熵解码。经译码切片中的每一者可包含切片标头以及切片数据。切片标头可以含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。

除了获得来自位流的语法元素之外,视频解码器30可对未分割的CU执行重构操作。为了对CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残余块。

作为对CU的TU执行重构操作的一部分,逆量化单元154可逆量化(即,解量化)与TU相关联的系数块。逆量化单元154可使用与TU的CU相关联的QP值来确定量化的程度,且同样地确定逆量化单元154将应用的逆量化的程度。即,可通过调整在量化变换系数时使用的QP值来控制压缩比,即,用于表示原始序列和压缩序列的位数的比率。压缩比还可取决于所采用的熵译码的方法。

在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便产生与TU相关联的残余块。例如,逆变换处理单元156可以将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于系数块。

如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以产生PU的预测性块。帧内预测处理单元166可使用帧内预测模式以基于样本空间相邻块产生PU的预测性块。帧内预测处理单元166可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。

如果PU是使用帧间预测经编码,那么熵解码单元150可确定所述PU的运动信息。运动补偿单元164可基于PU的运动信息来确定一或多个参考块。运动补偿单元164可基于所述一或多个参考块产生PU的预测性块(例如,预测性明度、Cb和Cr块)。

预测处理单元152可基于从位流提取的语法元素来构造第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果使用帧间预测对PU进行编码,则熵解码单元150可以提取用于PU的运动信息。运动补偿单元164可基于PU的运动信息来确定用于PU的一或多个参考区域。运动补偿单元164可以基于在用于PU的一或多个参考区处的样本产生用于PU的预测性明度块、Cb块以及Cr块。

重构单元158可在适当时使用CU的TU的变换块以及CU的PU的预测性块,即帧内预测数据或帧间预测数据,来重构用于CU的译码块。举例来说,重构单元158可将变换块的样本添加到预测性块的对应样本以重构CU的译码块。

滤波器单元160可执行解块操作以减少与CU的译码块相关联的成块假象。视频解码器30可将CU的译码块存储在经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片用于后续运动补偿、帧内预测和在显示装置(例如图1的显示装置32)上呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的块对其它CU的PU执行帧内预测或帧间预测操作。

视频解码器30可经配置以执行基于调色板的译码。举例来说,基于调色板的解码单元165可当选择基于调色板的解码模式例如用于CU或PU时执行基于调色板的解码。举例来说,基于调色板的解码单元165可产生具有指示像素值的条目的调色板,接收使视频数据块中的至少一些像素位置与调色板中的条目相关联的信息,基于所述信息选择调色板中的像素值,且基于调色板中的选定像素值来重构块的像素值。虽然将各种功能描述为由基于调色板的解码单元165执行,但此些功能中的一些或全部可由其它处理单元或不同处理单元的组合来执行。

基于调色板的解码单元165可接收调色板样本模式信息,且当调色板样本模式信息指示调色板样本模式应用于块时执行上述操作。当调色板样本模式信息指示调色板样本模式不应用于块时,或当其它模式信息指示使用不同模式时,基于调色板的解码单元165使用非基于调色板的译码模式(例如,HEVC帧间预测性或帧内预测性译码模式)解码视频数据块。视频数据块可(例如)为根据HEVC译码过程产生的CU或PU。基于调色板的译码模式可包括多个不同基于调色板的译码模式中的一者,或可存在单个基于调色板的译码模式。

根据本发明的一些实例,基于调色板的解码单元165可经配置以执行上文所论述的游程隐藏技术。举例来说,熵解码单元150可从位流获得包括视频数据块的经编码表示的语法元素。所述块可包括一系列游程,所述系列的游程包含一或多个游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。此外,熵解码单元150可从位流获得一或多个调色板游程长度语法元素的集合。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。基于调色板的解码单元165可基于具有特定值的语法元素确定调色板游程长度语法元素的所述集合不指示所述系列的游程中的第一游程的长度。另外,基于调色板的解码单元165可基于块中的像素的数目以及由调色板游程语法元素的集合指示的长度而确定所述系列的游程中的第一游程的长度。此外,基于调色板的解码单元165可基于块的像素的调色板样本模式而确定块的非转义经译码像素的调色板索引。对于块的每一相应非转义经译码像素,所述相应非转义经译码像素的相应调色板索引指示调色板中的条目。调色板中的每一相应条目可指示样本值的相应集合。此外,基于调色板的解码单元165可基于块的非转义经译码像素的调色板索引而确定所述块的非转义经译码像素的值。

根据本发明的方面,基于调色板的解码单元165可经配置以执行下文相对于图4到5描述的调色板译码的技术的任何组合。

图4是说明符合本发明的技术的确定用于对视频数据进行译码的调色板的实例的概念图。图4的实例包含图片178,其具有与第一调色板184相关联的第一CU 180和与第二调色板192相关联的第二CU 188。如下文更详细描述且根据本发明的技术,第二调色板192是基于第一调色板184。图片178还包含以帧内预测译码模式译码的块196和以帧间预测译码模式译码的块200。

出于解释的目的,在视频编码器20(图1和图2)和视频解码器30(图1和图3)的上下文中且关于HEVC视频译码标准描述图4的技术。然而,应理解,本发明的技术不限于此方式,且可由其它视频译码处理器和/或装置在其它视频译码过程和/或标准中应用。

一般来说,调色板是指对于当前正译码的CU(图4的实例中的CU 188)来说为主要和/或代表性的若干像素值。将第一调色板184和第二调色板192示出为包含多个调色板。在一些实例中,根据本发明的方面,视频译码器(例如视频编码器20或视频解码器30)可针对CU的每一颜色分量单独地对调色板进行译码。举例来说,视频编码器20可为CU的明度(Y)分量编码一调色板、为CU的色度(U)分量编码另一调色板以及为CU的色度(V)分量编码又一调色板。在此实例中,Y调色板的条目可表示CU的像素的Y值,U调色板的条目可表示CU的像素的U值,且V调色板的条目可表示CU的像素的V值。

在其它实例中,视频编码器20可针对CU的所有颜色分量编码单个调色板。在此实例中,视频编码器20可对具有为包含Yi、Ui和Vi的三重值的第i条目的调色板进行编码。在此情况下,调色板包含像素的分量中的每一者的值。因此,作为具有多个个别调色板的调色板的集合的调色板184和192的表示仅是一个实例且并不希望为限制性的。

在图4的实例中,第一调色板184包含三个条目202到206,其分别具有条目索引值1、条目索引值2和条目索引值3。条目202到206使索引值相关到分别包含像素值A、像素值B和像素值C的像素值。如本文中所描述,并非译码第一CU 180的实际像素值,视频译码器(例如视频编码器20或视频解码器30)可使用基于调色板的译码,使用索引1到3来译码所述块的像素。也就是说,对于第一CU 180的每一像素位置,视频编码器20可编码像素的索引值,其中所述索引值与第一调色板184中的一或多者中的像素值相关联。视频解码器30可从位流获得索引值,或另外基于位流中的语法元素确定索引值,且使用所述索引值和第一调色板184中的一或多者重构像素值。因此,视频编码器20在经编码的视频数据位流中发射第一调色板184,以供视频解码器30用于基于调色板的解码。

在一些实例中,视频编码器20和视频解码器30可使用指示最大调色板大小的一或多个语法元素。在一些实例中,最大调色板大小可基于正译码的视频数据的特定简档、层级或位深度。在其它实例中,视频编码器20和视频解码器30可使用指示最大调色板大小的一或多个语法元素且最大调色板大小可基于例如CU 180等正译码的块的大小。

在一实例中出于说明的目的,视频编码器20和视频解码器30可在构造用于CU 180的第一调色板184时使用指示最大调色板大小的数据。举例来说,视频编码器20和视频解码器30可继续对第一调色板184添加条目直到到达由数据指示的最大调色板大小为止。视频编码器20和视频解码器30接着可使用所构造第一调色板184对CU 180进行译码。

在一些实例中,视频编码器20和视频解码器30可基于第一调色板184确定第二调色板192。举例来说,视频编码器20和/或视频解码器30可定位一或多个块,从所述一或多个块确定预测性调色板(在此实例中,第一调色板184)。用于预测目的的条目组合可被称为预测值调色板。在一些实例(例如,图4中说明的实例)中,当确定用于第二CU188的预测性调色板时,视频编码器20和/或视频解码器30可定位先前经译码的CU,例如,左相邻CU(第一CU 180)。

在图4的实例中,第二调色板192包含三个条目208到212,其分别具有条目索引值1、条目索引值2和条目索引值3。条目208到212使索引值相关到分别包含像素值A、像素值B和像素值D的像素值。在此实例中,视频编码器20可对指示第一调色板184(表示预测值调色板,但是所述预测值调色板可包含多个块的条目)的哪些条目包含于第二调色板192中的一或多个语法元素进行译码。

图5是说明与本发明的技术一致的确定到像素块的调色板的索引的实例的概念图。举例来说,图5包含使与索引值相关联的像素的相应位置与调色板244的条目有关的索引值(值1、2和3)的映射240。

举例来说,索引1与值A相关联,索引2与值B相关联,且索引3与值C相关联。另外,当使用隐式转义信号发送指示转义样本时,视频编码器20和视频解码器30还可将额外索引添加到调色板244,所述额外索引在图5中说明为索引4,其可指示映射240的与索引4相关联的样本为转义样本。

虽然在图5的实例中将映射240说明为包含用于每一像素位置的索引值,但应理解在其它实例中,不是所有像素位置可与使像素值相关到调色板244的条目的索引值相关联。即,如上所述,在一些实例中,视频编码器20可在像素值并未包含在调色板244中的情况下对用于映射240中的一位置的实际像素值(或其经量化版本)的指示进行编码(且视频解码器30可从经编码位流获得所述指示)。

在一些实例中,视频编码器20和视频解码器30可经配置以对指示哪些像素位置与索引值相关联的额外映射进行译码。举例来说,假定所述映射中的(i,j)条目对应于CU的(i,j)位置。视频编码器20可针对所述映射的每一条目(即,每一像素位置)对一或多个语法元素进行编码,其指示所述条目是否具有相关联索引值。举例来说,视频编码器20可对具有值1的旗标进行编码,以指示CU中的(i,j)位置处的像素值是调色板244中的值中的一者。

在此类实例中,视频编码器20还可对指示调色板中的像素值并且允许视频解码器重构所述像素值的调色板索引(在图5的实例中展示为值1到3)进行编码。在调色板244包含单个条目和相关联像素值的实例中,视频编码器20可跳过索引值的用信号表示。视频编码器20可将旗标编码为具有值零以指示在CU中的(i,j)位置处的像素值不是调色板244中的值中的一者。在此实例中,视频编码器20还可对供视频解码器30用于重构像素值的像素值的指示进行编码。在一些实例中,可以有损方式对像素值进行译码。

CU的一个位置中的像素的值可提供所述CU的其它位置中的一或多个其它像素的值的指示。举例来说,可存在CU的相邻像素位置具有相同像素值或可映射到相同索引值(在有损译码的情况下,其中一个以上像素值可映射到单个索引值)的相对高概率。

因此,视频编码器20可对指示按给定扫描次序的具有相同像素值或索引值的一个像素两个或更多个两个或更多个连续像素或索引值的数目的一或多个语法元素进行编码。如上所述,具有相同调色板样本模式(例如,转义模式、复制上方、索引复制)的像素串可在本文中被称作游程。在一实例中出于说明的目的,如果按给定扫描次序的两个连续像素具有不同索引值,那么游程等于零。如果按给定扫描次序的两个连续像素具有相同索引值但按扫描次序的第三像素具有不同索引值,那么类型索引复制的游程等于一。对于具有相同索引值的三个连续像素,游程是二,等等。视频解码器30可从经编码位流获得指示游程的语法元素且使用所述数据确定具有相同调色板样本模式的连续位置的数目。

如上所述,游程可与CopyFromTop(即,COPY_ABOVE)或值(即,INDEX_COPY)模式结合使用。在出于说明目的的实例中,考虑映射240的行264和268。假定水平的从左到右扫描方向的行264包含三个索引值“1”、两个索引值“2”和三个索引值“3”。行268包含五个索引值“1”、两个索引值“3”,以及不包含于调色板244中的一个样本(由索引4表示,但是样本层级的转义旗标可用于显式转义信号表示),其可被称为转义样本。在此实例中,视频编码器20可识别行264的特定条目,随后是当编码用于行268的数据时的游程(例如,CopyFromTop模式)。举例来说,视频编码器20可编码指示行268的第一位置(行268的最左边位置)与行264的第一位置相同的一或多个语法元素。视频编码器20也可对指示行268中的在扫描方向上的两个连续条目的下一游程与行264的对应第一位置相同的语法元素进行编码。

在此实例中,视频编码器20可使用CopyFromAbove模式对用于行268的数据进行编码。举例来说,视频编码器20可对指示行268的第一位置(行268的最左边位置)与行264的第一位置相同的一或多个语法元素进行编码。视频编码器20还可对指示行268中在扫描方向上的两个连续条目的下一游程与行264的第一位置相同的一或多个语法元素进行编码。

在编码指示行264的第一位置和两个条目的游程(上文提到)的一或多个语法元素(上文指出)之后,视频编码器20可为行268中第四和第五位置(从左到右)编码针对第四位置指示值1的一或多个语法元素和指示游程1(例如,值模式)的一或多个语法元素。因此,视频编码器20在不参考另一线的情况下编码这两个位置。

视频编码器20接着可相对于上部行264使用CopyFromTop模式对行268中具有索引值3的第一位置进行编码。举例来说,视频编码器20可用信号表示CopyFromTop模式和1的游程。因此,视频编码器20可在相对于线的其它值对所述线的像素或索引值(例如,使用游程)进行译码、相对于另一线(或列)的值对线的像素或索引值进行译码或其组合之间进行选择。在一些实例中,视频编码器20可执行速率/失真优化以做出所述选择。

视频编码器20接着可对行268的最终样本的转义样本(从左到右)进行编码,所述转义样本不包含于第一调色板244中。举例来说,视频编码器20可将行268的最终位置编码为转义样本。也就是说,视频编码器20可对行268的最终位置为转义样本(例如,索引4)的指示以及样本值的指示进行编码。视频解码器30可从经编码位流获得上述语法并且使用此类语法重构行268。

视频解码器30可接收上述语法元素且重构行268。举例来说,视频解码器30可获得指示相邻行中从其复制当前正译码的映射240的位置的相关联索引值的特定位置的数据。视频解码器30还可获得指示按扫描次序的具有相同索引值的连续位置(例如,一个位置或两个或更多个连续位置)的数目。虽然关于水平扫描次序描述,但本发明的技术也可应用到另一扫描方向,例如,垂直或对角线(例如,在块中成对角线的45度或135度)扫描方向。

根据本发明的技术,在图5的实例中,视频编码器20可用信号表示游程长度跳过语法元素,其指示映射240的第一游程或最后游程的长度的信令是否被跳过。

图6A是说明根据本发明的技术的视频编码器20的实例操作的流程图。提供本发明的流程图作为实例。根据本发明的技术的其它实例操作可包含更多、更少或不同动作。此外,根据本发明的技术的其它实例操作可包含按不同次序或并行的动作。

在图6A的实例中,视频编码器20确定视频数据的块的非转义经译码像素的调色板索引(300)。对于块的每一相应非转义经译码像素,所述相应非转义经译码像素的调色板索引指示调色板中的条目。调色板中的每一条目指示一或多个样本值的集合。非转义经译码像素是使用除转义模式外的调色板样本模式(例如,复制上方模式或索引复制模式)编码的像素。

此外,在图6A的实例中,视频编码器20识别块中的一系列游程(302)。所述系列的游程可包含两个或更多个游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。所述系列的游程中的每一相应游程的每一像素可具有相同调色板样本模式(例如,转义模式、复制上方模式、索引复制模式)。

另外,在图6A的实例中,视频编码器20产生一或多个调色板游程长度语法元素的集合(304)。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。此外,在图6A的实例中,视频编码器20产生具有特定值的语法元素,所述特定值指示调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度(306)。

图6B是说明根据本发明的技术的视频解码器30的实例操作的流程图。在图6B的实例中,视频解码器30从包括视频数据的块的经编码表示的位流获得语法元素(350)。所述块包括一系列游程。所述系列的游程可包含两个或更多个游程。所述系列的游程中的每一相应游程可由块的一个像素或两个或更多个连续像素组成。此外,所述系列的游程中的每一相应游程的每一像素具有相同调色板样本模式(例如,转义模式、复制上方模式、索引复制模式)。另外,在图6B的实例中,视频解码器30从位流获得一或多个调色板游程长度语法元素的集合(352)。所述一或多个调色板游程长度语法元素指示所述系列的游程中的一或多个游程的长度。

此外,在图6B的实例中,视频解码器30基于具有特定值的语法元素而确定调色板游程长度语法元素的集合不指示所述系列的游程中的第一游程的长度(354)。此外,在图6B的实例中,视频解码器30基于块中的像素的数目以及由调色板游程语法元素的集合指示的长度而确定所述系列的游程中的第一游程的长度(356)。

另外,在图6B的实例中,视频解码器30基于块的像素的调色板样本模式而确定所述块的非转义经译码像素的调色板索引(358)。对于块的每一相应非转义经译码像素,所述相应非转义经译码像素的相应调色板索引指示调色板中的条目。调色板中的每一相应条目指示一或多个样本值的相应集合。在图6B的实例中,视频解码器30基于块的非转义经译码像素的调色板索引而确定所述块的非转义经译码像素的值(360)。

以下是本发明的段落列表一些实例。

实例1。一种处理视频数据的方法,所述方法包括:使用颜色值的调色板以及一或多个调色板游程长度语法元素对视频数据块进行译码,所述调色板游程长度语法元素指示所述块中使用相同调色板索引的像素的数目的游程长度;以及对指示所述一或多个调色板游程长度语法元素中的特定一者是否未用信号表示的第一语法元素进行译码。

实例2。实例1的方法,其中所述一或多个调色板游程长度语法元素中的所述特定一者是所述视频数据块中的第一调色板游程长度语法元素。

实例3。实例2的方法,其中所述第一语法元素指示所述第一调色板游程长度语法元素未用信号表示,所述方法进一步包括:推断所述第一调色板游程长度语法元素的游程长度为临时游程长度零;以及通过基于所述视频数据块的随后所接收调色板游程长度语法元素计算实际游程长度而替换所述临时游程长度零。

实例4。实例2的方法,其中所述第一语法元素指示所述第一调色板游程长度语法元素未用信号表示,且其中对所述视频数据块进行译码进一步包括根据调色板游程类型对所述视频数据块进行译码,所述方法进一步包括:在所述视频数据块的第一线中的当前经译码像素不是按扫描次序的第一像素的情况下对指示所述视频数据块的所述第一线的所述调色板游程类型的第二语法元素进行译码;以及在所述视频数据块的所述第一线中的所述当前经译码像素是按所述扫描次序的所述第一像素的情况下推断指示所述调色板游程类型的所述第二语法元素的值为COPY_ABOVE游程类型。

实例5。实例2的方法,其中所述第一语法元素指示所述第一调色板游程长度语法元素未用信号表示,且其中对所述视频数据块进行译码进一步包括根据调色板游程类型对所述视频数据块进行译码,所述方法进一步包括:在所述视频数据块的第一线中的当前经译码像素是所述块中的第一像素且前一调色板游程类型不是COPY_ABOVE游程类型的情况下对指示所述视频数据块的所述第一线的所述调色板游程类型的第二语法元素进行译码;以及在所述视频数据块的所述第一线中的所述当前经译码像素不是所述块中的第一像素且所述前一调色板游程类型是所述COPY_ABOVE游程类型的情况下推断指示所述调色板游程类型的所述第二语法元素的值为INDEX_COPY游程类型。

实例6。实例1的方法,其中COPY_ABOVE游程长度经界定为具有大于零的长度。

实例7。实例6的方法,其进一步包括:对指示用于所述视频数据块的所有COPY_ABOVE游程长度是否大于零的第三语法元素进行译码。

实例8。实例7的方法,其进一步包括:在所述第三语法元素指示用于所述视频数据块的所有COPY_ABOVE游程长度大于零的情况下,对所述COPY_ABOVE游程类型和游程长度零的组合进行译码以指示INDEX_COPY游程长度。

实例9。实例1的方法,其中所述一或多个调色板游程长度语法元素中的所述特定一者是所述视频数据块中的最后调色板游程长度语法元素。

实例10。实例1的方法,其进一步包括:在颜色值的所述调色板具有一的大小且对所述视频数据块进行译码涉及非转义像素的使用的情况下推断所述第一语法元素的值;以及推断用于整个视频数据块的游程长度。

实例11。实例1的方法,其进一步包括:在颜色值的所述调色板具有零的大小的情况下推断所述第一语法元素的值;以及推断用于整个视频数据块的游程长度。

实例12。实例1的方法,其进一步包括:使用上下文自适应二进制算术译码(CABAC)对所述第一语法元素进行译码。

实例13。一种视频编码器,其经配置以执行实例1到12的技术的任何组合。

实例14。一种视频解码器,其经配置以执行实例1到12的技术的任何组合。

实例15。一种设备,其包括用于执行实例1到12的技术的任何组合的装置。

实例16。一种方法,其包括实例1到12的技术的任何组合。

实例17。一种存储指令的计算机可读存储媒体,所述指令当执行时致使一或多个处理器执行实例1到12的技术的任何组合。

应理解,本文中描述的所有技术可个别地或组合地使用。应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同序列来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非依序地执行动作或事件。此外,虽然为了清晰起见,本发明的某些方面被描述为是通过单个模块或单元执行,但是应理解,本发明的技术可以通过与视频译码器相关联的单元或模块的组合执行。

出于说明的目的已经相对于HEVC标准而描述本发明的某些方面。然而,本发明中描述的技术可有用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。

上文所描述的技术可由视频编码器20(图1和2)和/或视频解码器30(图1和3)执行,其两者可大体上被称作视频译码器。同样地,在适用时,视频译码可指视频编码或视频解码。

虽然在上文描述所述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中描述的技术的实例。因此,本发明的技术不应限于这些实例组合且可涵盖本发明中描述的技术的各种方面的任何可设想的组合。

在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体,或包含任何促进将计算机程序从一处传送到另一处的媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体大体上可以对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或者一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可以用来存储指令或数据结构的形式的期望程序代码并且可以由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。

可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可以在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件及/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。

描述了各种实例。这些和其它实例在所附权利要求书的范围内。

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