用于基于调色板的视频译码的颜色索引译码转让专利

申请号 : CN201480071632.5

文献号 : CN105874796B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 濮伟马尔塔·卡切维奇霍埃尔·索赖·罗哈斯郭立威拉詹·拉克斯曼·乔希邹锋

申请人 : 高通股份有限公司

摘要 :

在基于调色板的译码中,视频译码器可形成所谓的“调色板”,作为表示给定块的视频数据的颜色的表。所述视频译码器可对用于当前视频数据块的一或多个像素值的索引值进行译码,其中所述索引值指示所述调色板中的表示所述当前块的所述像素值的条目。方法包含确定调色板中的条目的数目;及确定视频数据块是否包含不与所述调色板中的任何条目相关联的任何逸出像素。所述方法包含响应于确定条目的所述数目是一个且所述块并不包含任何逸出像素,略过对所述块的所述像素值的索引值的解码并且确定所述块的所述像素值等于所述调色板中的所述一个条目。

权利要求 :

1.一种对经编码视频数据进行解码的方法,所述方法包括:

接收经编码视频位流,所述经编码视频位流包括表示待解码的所述经编码视频数据的经编码块的数据,其中所述经编码块根据基于调色板的译码而编码;

解析所接收的经编码视频位流以获得第一数据,所述第一数据指示包含在调色板中的用于表示待解码的所述经编码视频数据的所述经编码块的像素值的条目的数目;

解析所接收经编码视频位流以获得第二数据,所述第二数据指示所述经编码视频数据的所述经编码块是否包含至少一个逸出像素,所述至少一个逸出像素不由包含在所述调色板中的任何条目所表示;

从所述第一数据,确定包含在所述调色板中的条目的所述数目等于一个;

从所述第二数据,确定所述经编码视频数据的所述经编码块不包含逸出像素;

基于确定包含在所述调色板中的条目的所述数目等于一个且所述经编码视频数据的所述经编码块不包含逸出像素,略过对用于所述经编码视频数据的所述经编码块的所述像素值的索引值的解码,所述索引值与所述调色板的条目相关联;

不解码用于所述经编码视频数据的所述经编码块的所述像素值的所述索引值,确定所述经编码视频数据的所述经编码块的所有像素值等于包含在所述调色板中的所述一个条目;及通过将所述调色板的所述一个条目所指示的相应值分配给所述经编码视频数据的所述经编码块的所述像素值的每个像素值来重构所述经编码块。

2.根据权利要求1所述的方法,其进一步包括:接收指示是否针对所述视频数据块对所述索引值进行编码的一位旗标作为所述经编码视频位流的一部分。

3.根据权利要求1所述的方法,其中所述第一数据包括指示在所述调色板中的条目的所述数目是否等于一个的一位旗标。

4.根据权利要求1所述的方法,其中

所述第二数据包括指示所述经编码视频数据的所述经编码块是否包含至少一个逸出像素的一位旗标。

5.根据权利要求1所述的方法,其进一步包括:

接收与所述调色板相关联的一或多个语法元素作为所述经编码视频位流的一部分;及对与所述调色板相关联的所述一或多个语法元素进行解码。

6.一种对视频数据进行编码的方法,所述方法包括:

根据基于调色板的译码,确定包含在调色板中的用于表示待编码的视频数据块的像素值的条目的数目;

确定所述视频数据块是否包含不由包含在所述调色板中的任何条目所表示的至少一个逸出像素;

基于确定包含在所述调色板中的条目的所述数目等于一个且所述视频数据块并不包含逸出像素而确定所述视频数据块的所有像素值等于包含在所述调色板中的所述一个条目;

略过对用于所述视频数据块的所述像素值的索引值的编码,所述索引值与所述调色板中的所述条目相关联;

通过将由所述调色板的所述一个条目所指示的相应值分配给所述视频数据块的所述像素值的每个像素值,来编码所述视频数据块以形成经编码视频数据块;及在经编码视频位流中用信号表示所述经编码视频数据块。

7.根据权利要求6所述的方法,其进一步包括用信号表示指示是否针对所述视频数据块的所述像素值对所述索引值进行编码的一位旗标,作为所述经编码视频位流的一部分。

8.根据权利要求6所述的方法,其进一步包括用信号表示指示包含在所述调色板的条目的所述数目是否等于一的一位旗标作为所述经编码视频位流的一部分。

9.根据权利要求6所述的方法,其进一步包括用信号表示指示所述经编码视频数据块是否不包含逸出像素的一位旗标,作为所述经编码视频位流的一部分。

10.根据权利要求6所述的方法,其进一步包括:

对与所述调色板相关联的一或多个语法元素进行编码;及

用信号表示与所述调色板相关联的所述一或多个语法元素作为所述经编码视频位流的一部分。

11.一种用于对经编码视频数据进行解码的装置,所述装置包括:存储器,其经配置以存储经编码视频位流,所述经编码视频位流包含表示待解码的所述经编码视频数据的经编码块的数据,其中所述经编码块根据基于调色板的译码而编码;

一或多个处理器,其与所述存储器通信且经配置以:

解析所存储经编码视频位流以获得第一数据,所述第一数据指示包含在调色板中的用于表示待解码的所述经编码视频数据的所述经编码块的像素值的条目的数目;

解析所存储经编码视频位流以获得第二数据,所述第二数据指示所述经编码视频数据的所述经编码块是否包含不由包含在所述调色板中的任何条目所表示的至少一个逸出像素;

从所述第一数据确定包含在所述调色板中的条目的所述数目等于一个;

从所述第二数据确定所述经编码视频数据的所述经编码块不包含逸出像素;

基于确定包含在所述调色板中的条目的所述数目等于一个且所述经编码块不包含逸出像素,略过对用于所述经编码块的所述像素值的索引值的解码,所述索引值与所述调色板的条目相关联;及不解码用于所述经编码块的所述像素值的所述索引值,确定所述经编码块的所有像素值等于包含在所述调色板中的所述一个条目;及通过将所述调色板的所述一个条目所指示的相应值分配给所述经编码块的所述像素值的每个像素值来重构所述经编码块。

12.根据权利要求11所述的装置,其中存储在所述存储器中的所述经编码视频位流包括指示是否针对所述经编码块对索引值进行编码的一位旗标,且其中所述一或多个处理器进一步经配置以确定所述一位旗标的值以确定是否针对所述经编码块编码所述索引值。

13.根据权利要求12所述的装置,进一步包括:

接口装置,其经配置以接收所述经编码视频位流。

14.根据权利要求11所述的装置,其中所述第一数据包含指示所述调色板的大小是否等于一的一位旗标。

15.根据权利要求11所述的装置,其中所述第二数据包含指示所述经编码块是否包含至少一个逸出像素的一位旗标。

16.一种非易失性计算机可读存储媒体,其通过指令进行编码,所述指令在执行时致使用于对经编码视频数据进行解码的装置的一或多个处理器:接收经编码视频位流,所述经编码视频位流包括表示待解码的所述经编码视频数据的经编码块的数据,其中所述经编码块根据基于调色板的译码而编码;

解析所接收经编码视频位流以获得第一数据,所述第一数据指示包含在调色板中的用于表示待解码的所述经编码视频数据的所述经编码块的像素值的条目的数目;

解析所接收经编码视频位流以获得第二数据,所述第二数据指示所述经编码视频数据的所述经编码块是否包含至少一个逸出像素,所述至少一个逸出像素不由包含在所述调色板中的任何条目所表示;

从所述第一数据,确定包含在所述调色板中的条目的所述数目等于一个;

从所述第二数据,确定所述经编码块不包含逸出像素;

基于确定包含在所述调色板中的条目的所述数目等于一个且所述经编码视频数据的所述经编码块不包含逸出像素,略过对用于所述经编码块的所述像素值的索引值的解码,所述索引值与所述调色板的条目相关联;

不解码用于所述经编码块的所述像素值的所述索引值,确定所述经编码块的所有像素值等于包含在所述调色板中的所述一个条目;及通过将所述调色板的所述一个条目所指示的相应值分配给所述经编码视频数据的所述经编码块的所述像素值的每个像素值来重构所述经编码块。

17.根据权利要求16所述的非易失性计算机可读存储媒体,其进一步通过指令进行编码,所述指令在执行时致使所述一或多个处理器确定包含在所述经编码数据位流的一位旗标的值,其中所述一位旗标的所述值指示是否针对所述经编码块对所述索引值进行编码。

18.根据权利要求16所述的非易失性计算机可读存储媒体,其中所述第一数据包括指示所述调色板中的条目的所述数目是否等于一的一位旗标。

19.一种用于对经编码视频数据进行解码的设备,所述设备包括:用于接收经编码视频位流的装置,所述经编码视频位流包括表示待解码的所述经编码视频数据的经编码块的数据,其中所述经编码块根据基于调色板的译码而编码;

用于解析所接收经编码视频位流以获得第一数据的装置,所述第一数据指示包含在调色板中的用于表示待解码的所述经编码视频数据的所述经编码块的像素值的条目的数目;

用于解析所接收经编码视频位流以获得第二数据的装置,所述第二数据指示所述经编码视频数据经的所述编码块是否包含至少一个逸出像素,所述至少一个逸出像素不由包含在所述调色板中的任何条目所表示;

用于从所述第一数据确定包含在所述调色板中的条目的所述数目等于一个的装置;

用于从所述第二数据确定所述经编码视频数据的所述经编码块不包含逸出像素的装置;

用于基于确定包含在所述调色板中的条目的所述数目等于一个且所述经编码视频数据的所述经编码块不包含逸出像素,略过对用于所述视频数据经编码块的所述像素值的索引值的解码的装置,所述索引值与所述调色板的条目相关联;

用于不解码用于所述经编码视频数据的所述经编码块的所述像素值的所述索引值,确定所述视频数据的所述经编码块的所有像素值等于包含在所述调色板中的所述一个条目的装置;及用于通过将所述调色板的所述一个条目所指示的相应值分配给所述经编码视频数据的所述经编码块的所述像素值的每个像素值来重构所述经编码数据的所述经编码块的装置。

说明书 :

用于基于调色板的视频译码的颜色索引译码

[0001] 本申请案主张以下各者的权益:
[0002] 2014年1月2日提交的第61/923,163号美国临时专利申请案;
[0003] 2014年1月6日提交的第61/924,141号美国临时专利申请案;及
[0004] 2014年3月24日提交的第61/969,759号美国临时申请案,
[0005] 其中的每一者的全部内容以引用的方式并入本文中。

技术领域

[0006] 本发明涉及视频编码及解码。

背景技术

[0007] 数字视频能力可并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、目前正在开发的高效视频译码(HEVC)标准及此类标准的扩展中所描述的视频压缩技术。视频装置可以通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码及/或存储数字视频信息。
[0008] 视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割为视频块。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
[0009] 空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据进行编码的。根据帧内译码模式及残余数据来对经帧内译码块进行编码。为了进一步压缩,可将残余数据自像素域变换至变换域,从而产生残余系数,可接着量化所述残余系数。可扫描最初布置为二维阵列的经量化的系数,以便产生系数的一维向量,且可应用熵译码来实现更多压缩。
[0010] 可通过例如多个视角的编码视图来产生多视图译码位流。已经开发利用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可发射左眼及右眼视图以支持3D视频。可替代地,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量及一个深度视图分量。

发明内容

[0011] 一般来说,本发明的技术涉及基于调色板的视频译码。在基于调色板的译码中,视频译码器(例如,视频编码器或视频解码器)可形成所谓的“调色板”,作为表示特定区域(例如给定块)的视频数据的颜色或像素值的表。以此方式,代替对当前视频数据块的实际像素值或其残余进行译码,视频译码器可对当前块的像素值中的一或多者的颜色或调色板索引值进行译码,其中所述索引值指示调色板中用于表示当前块的像素值的条目。可使用给定扫描次序及游程长度译码技术逐行地对当前视频数据块的调色板索引值的映射进行译码。所述映射的给定行中的索引值中的每一者可经显式译码,从给定行的左模式索引预测,或从给定行上方的行中的并置索引预测。
[0012] 本发明的各种技术涉及增强现有的基于调色板的译码技术。在一些方面,本发明涉及用于在块满足特定准则的情况下略过对所述块的调色板索引值的映射进行译码的技术。在一些方面,本发明涉及使用存储量化参数值与调色板误差极限之间的关系的映射表确定给定调色板的值的最大范围(在本文中也被称作“误差极限”)。在一些方面,本发明涉及基于用于对应颜色通道中的传统系数译码的量化参数界定经调色板译码块的并不映射到对应调色板中的条目的像素(在本文中被称作“逸出像素”)的量化参数。
[0013] 在一个实例中,本发明涉及一种对视频数据进行解码的方法,所述方法包含:确定包含在调色板中的用于表示待解码的视频数据块的像素值的条目的数目;及确定所述视频数据块是否包含不与所述调色板中的所述条目中的任一者相关联的至少一个逸出像素。所述方法可进一步包含:响应于确定包含在所述调色板中的条目的所述数目等于一个且所述视频数据块并不包含至少一个逸出像素,略过对用于所述视频数据块的所述像素值的与所述调色板相关联的索引值的解码;及确定所述视频数据块的所述像素值等于包含在所述调色板中的所述一个条目。
[0014] 在另一实例中,本发明涉及一种对视频数据进行编码的方法,所述方法包含:确定包含在调色板中的用于表示待编码的视频数据块的像素值的条目的数目;及确定所述视频数据块是否包含不与所述调色板中的所述条目中的任一者相关联的至少一个逸出像素。所述方法可进一步包含:响应于确定包含在所述调色板中的条目的所述数目等于一个且所述视频数据块并不包含至少一个逸出像素,略过对用于所述视频数据块的所述像素值的与所述调色板相关联的索引值的编码;及通过确定所述视频数据块的所述像素值等于包含在所述调色板中的所述一个条目而对所述视频数据块进行编码。
[0015] 在另一实例中,本发明涉及一种用于对视频数据进行解码的设备,所述设备包括经配置以存储视频数据的存储器;及一或多个处理器,所述一或多个处理器经配置以确定包含在调色板中的用于表示待译码的视频数据块的像素值的条目的数目,且确定所述视频数据块是否包含不与所述调色板中的所述条目中的任一者相关联的至少一个逸出像素。所述一或多个处理器可进一步经配置以:响应于确定包含在所述调色板中的条目的所述数目等于一个且所述视频数据块并不包含至少一个逸出像素,略过对用于所述视频数据块的所述像素值的与所述调色板相关联的索引值的译码;及确定所述视频数据块的所述像素值等于包含在所述调色板中的所述一个条目。
[0016] 在另一实例中,本发明涉及一种用于对视频数据进行译码的设备,所述设备包括:用于确定包含在调色板中的用于表示待译码的视频数据块的像素值的条目的数目的装置;
及用于确定所述视频数据块是否包含不与所述调色板中的所述条目中的任一者相关联的至少一个逸出像素的装置。所述设备可进一步包含:用于响应于确定包含在所述调色板中的条目的所述数目等于一个且所述视频数据块并不包含至少一个逸出像素而略过对用于所述视频数据块的所述像素值的与所述调色板相关联的索引值的译码的装置;及用于确定所述视频数据块的所述像素值等于包含在所述调色板中的所述一个条目的装置。
[0017] 在另一实例中,本发明涉及一种非暂时性计算机可读媒体,所述非暂时性计算机可读媒体通过指令进行编码,所述指令在执行时致使用于对视频数据进行译码的装置的一或多个处理器确定包含在调色板中的用于表示待译码的视频数据块的像素值的条目的数目;及确定所述视频数据块是否包含不与所述调色板中的所述条目中的任一者相关联的至少一个逸出像素。所述指令在执行时可进一步致使所述一或多个处理器响应于确定包含在所述调色板中的条目的所述数目等于一个且所述视频数据块并不包含至少一个逸出像素,略过对用于所述视频数据块的所述像素值的与所述调色板相关联的索引值的译码;及确定所述视频数据块的所述像素值等于包含在所述调色板中的所述一个条目。
[0018] 在一个实例中,本发明涉及一种对视频数据进行解码的方法,所述方法包含:确定用于表示待解码的视频数据块的像素值的调色板;及识别所述视频数据块中不与所述调色板中的一或多个条目中的任一者相关联的一或多个逸出像素。所述方法可进一步包含:基于用于非基于调色板的译码中的变换系数译码的量化参数(QP)值识别针对给定颜色通道的块的所有所述一或多个逸出像素的单一QP值;及使用所述所识别的单一QP值解量化所述一或多个逸出像素中的每一者。所述方法可进一步包含基于所述经解量化的逸出像素及针对所述视频数据块中的一或多个像素接收到的与所述调色板中的所述一或多个条目相关联的索引值来确定所述视频数据块的所述像素值。
[0019] 在另一实例中,本发明涉及一种对视频数据进行编码的方法,所述方法包含:确定用于表示待编码的视频数据块的像素值的调色板;及识别所述视频数据块中不与所述调色板中的所述一或多个条目中的任一者相关联的一或多个逸出像素。所述方法可进一步包含:基于用于非基于调色板的译码中的变换系数译码的量化参数(QP)值识别针对给定颜色通道的所述块的所有所述一或多个逸出像素的单一QP值;及使用所述所识别的单一QP值解量化所述一或多个逸出像素中的每一者。所述方法可进一步包含对所述视频数据块的所述像素值进行编码,包含所述经量化的逸出像素及针对所述视频数据块中的一或多个像素的与所述调色板中的所述一或多个条目相关联的索引值。
[0020] 在另一实例中,本发明涉及一种用于对视频数据进行译码的设备,所述设备包括经配置以存储视频数据的存储器及一或多个处理器,所述一或多个处理器与所述存储器通信且经配置以确定用于表示待译码的视频数据块的像素值的调色板,且识别所述视频数据块中的不与所述调色板中的一或多个条目中的任一者相关联的一或多个逸出像素。所述一或多个处理器可进一步经配置以基于用于非基于调色板的译码中的变换系数译码的量化参数(QP)值识别针对给定颜色通道的所述块的所有所述一或多个逸出像素的单一QP值;及将所述所识别的单一QP值应用到所述一或多个逸出像素中的每一者。所述一或多个处理器可进一步经配置以基于所述逸出像素及针对所述视频数据块中的一或多个像素接收到的与所述一或多个条目相关联的索引值来确定所述视频数据块的所述像素值。
[0021] 在另一实例中,本发明涉及一种用于对视频数据进行译码的设备,所述设备包括:用于确定用于表示待译码的视频数据块的像素值的调色板的装置的装置;用于识别所述视频数据块中的不与所述调色板中的一或多个条目中的任一者相关联的一或多个逸出像素的装置;用于基于用于非基于调色板的译码中的变换系数译码的量化参数(QP)值识别针对给定颜色通道的所述块的所有所述一或多个逸出像素的单一QP值的装置;用于将所述所识别的单一QP值应用到所述一或多个逸出像素中的每一者的装置;及用于基于所述逸出像素及针对所述视频数据块中的一或多个像素接收到的与所述一或多个条目相关联的索引值来确定所述视频数据块的所述像素值的装置。
[0022] 在另一实例中,本发明涉及一种非暂时性计算机可读媒体,所述非暂时性计算机可读媒体通过指令进行编码,所述指令在执行时致使用于对视频数据进行译码的装置的一或多个处理器确定用于表示待译码的视频数据块的像素值的调色板;识别所述视频数据块中的不与所述调色板中的一或多个条目中的任一者相关联的一或多个逸出像素;及基于用于非基于调色板的译码中的变换系数译码的量化参数(QP)值识别针对给定颜色通道的所述块的所有所述一或多个逸出像素的单一QP值。所述指令在执行时可进一步致使所述一或多个处理器将所述所识别的单一QP值应用到所述一或多个逸出像素中的每一者;及基于所述逸出像素及针对所述视频数据块中的一或多个像素接收到的与所述一或多个条目相关联的索引值来确定所述视频数据块的所述像素值。
[0023] 本文中所描述的技术与现有基于调色板的译码技术及/或数据压缩技术相比可提供一或多个潜在优点及改进。举例来说,本发明的各种技术可由视频译码装置实施以节省计算资源及带宽要求,同时维持数据精确度。另外,本发明的各种技术可由视频译码装置实施来改进现有的基于调色板的译码技术及数据压缩技术的效率及准确性。
[0024] 在附图及下文描述中陈述本发明的一或多个实例的细节。其它特征、目标及优点将从所述描述、图式及权利要求书中显而易见。

附图说明

[0025] 图1是说明可利用本发明中所描述的技术的实例视频译码系统的框图。
[0026] 图2是说明可实施本发明中所描述的技术的实例视频编码器的框图。
[0027] 图3是说明可实施本发明中所描述的技术的实例视频解码器的框图。
[0028] 图4是说明视频解码装置可借以实施本发明的技术以基于一组特定条件略过对经调色板译码块的像素的索引值的解码的实例过程的流程图。
[0029] 图5是视频编码装置可借以实施本发明的技术以基于一组特定条件略过对经调色板译码块的像素的索引值的编码的实例过程的流程图。
[0030] 图6是说明视频解码装置可借以实施本发明的技术以解量化视频数据的经调色板译码块的一或多个逸出像素的实例过程的流程图。
[0031] 图7是说明视频编码装置可借以实施本发明的技术以量化视频数据的经调色板译码块的一或多个逸出像素的实例过程的流程图。

具体实施方式

[0032] 本发明包含用于视频译码及压缩的技术。具体来说,本发明描述用于视频数据的基于调色板的译码的技术。在传统的视频译码中,假定图像为连续色调且空间上平滑。基于这些假设,已经开发各种工具,例如基于块的变换、滤波等,且此些工具已展示用于自然内容视频的良好性能。
[0033] 然而,在例如远程桌面、协同工作及无线显示器等应用中,计算机产生的屏幕内容(例如,例如文字或计算机图形)可为待压缩的主要内容。此类型的内容趋向于具有离散色调,且以尖锐线及高对比度对象边界为特征。连续色调及平滑度的假定可不再适用于屏幕内容,且因此,传统视频译码技术可能不是压缩包含屏幕内容的视频数据的高效方式。
[0034] 本发明描述基于调色板的译码,其可特别适合于屏幕产生的内容译码。举例来说,假定视频数据的特定区域具有相对较少数目的颜色,那么视频译码器(例如,视频编码器或视频解码器)可形成所谓的“调色板”以表示所述特定区域的所述视频数据。调色板可表示为表示特定区域(例如,给定块)的视频数据的颜色或像素值的表。举例来说,所述调色板可包含给定块中的最主要像素值。在一些情况下,所述最主要像素值可包含在所述块内最频繁出现的一或多个像素值。另外,在一些情况下,视频译码器可应用阈值以确定是否应将像素值包含作为块中的最主要像素值中的一者。根据基于调色板的译码的各个方面,视频译码器可对指示当前块的像素值中的一或多者的索引值进行译码,而不是对当前视频数据块的实际像素值或其残余进行译码。在基于调色板的译码的上下文中,索引值指示调色板中的用于表示当前块的个别像素值的相应条目。
[0035] 举例来说,视频编码器可通过以下操作来对视频数据块进行编码:确定块的调色板(例如,明确地对调色板进行译码,预测调色板,或其组合);定位调色板中用于表示像素值中的一或多者的条目,及通过指示调色板中用于表示块的像素值的条目的索引值而对所述块进行编码。在一些实例中,视频编码器可在经编码位流中用信号表示调色板及/或索引值。视频解码器继而可从经编码位流获得用于块的调色板及用于所述块的个别像素的索引值。视频解码器可使像素的索引值与调色板的条目相关以重构块的各个像素值。
[0036] 上文已详细地描述视频数据的基于调色板的译码。基于调色板的译码的基本想法为:针对每一CU导出当前CU中包括最主要像素值(及可由最主要像素值组成)的调色板。将调色板的大小及元素首先自视频编码器发射到视频解码器。此后,根据特定扫描次序对CU中的像素值进行编码。对于CU中的每一像素位置,首先发射例如palette_flag等旗标以指示像素值是(即,“运行模式”)否(即,“像素模式”)包含在调色板中。在“运行模式”中,用信号表示与CU中的像素位置相关联的调色板索引,随后“运行”像素值。palette_flag或调色板索引都不需要针对由“运行”覆盖的随后像素位置发射,因为其全部具有相同像素值。在“像素模式”中,针对CU中的给定像素位置发射像素值。
[0037] 对于每一CU,导出由当前CU中的最主要像素值组成的主要颜色表。首先发射表的大小及元素。可使用相邻CU(例如,经上方及/或左侧译码CU)中的主要颜色表的大小及/或元素来对主要颜色表的大小及/或元素进行直接译码或预测性译码。
[0038] 在一些实例中,当前CU中的像素中的每一者被映射到一个主要颜色表索引。对于主要颜色索引并不存在的那些像素,向其指派特殊索引(被命名为“其它索引(other index)”)且这些像素被称为“逸出像素(escaped pixel)”。本发明的技术聚焦于主要颜色索引的译码方法。
[0039] 可使用任何现有熵译码方法(例如,固定长度译码、一元译码等)来对“逸出像素”进行译码。用于对逸出值进行编码的方法是取决于量化参数(QP)值使用左移位运算。也就是说,仅对最高有效位进行编码,即取决于QP值的位数。为此,当前技术发展水平中使用的策略是使用将每一QP映射到作为待施加到像素值的右移位的数字的表。
[0040] 逐行对主要颜色索引的块进行译码。对于每一行,从“水平”、“垂直”及“正常”中选择行模式。如果选择“水平”行模式,那么当前行中的所有索引与上方行中的最左边索引的最左边索引相同。如果选择“垂直”行模式,那么从上方一行复制全部行。如果选择“正常”模式,那么逐个地对当前行内的索引进行译码。对于此情况下的每一索引,使用语法元素来指示是否可从上方行中的并置索引(“copy_from_top”)或从索引的左相邻索引(“copy_from_left”)复制索引,或不可能存在副本(“no_copy”)。如果不可能存在副本,那么直接对像素进行译码。
[0041] 以上实例既定提供基于调色板的译码的一般描述。在各种实例中,本发明中描述的技术可包含用于以下各项中的一或多者的各种组合的技术:用信号表示由基于调色板的译码模式形成的经编码视频数据、发射调色板、预测调色板、导出调色板或从基于调色板的译码映射及其它语法元素中对视频数据进行解码。此些技术可改进视频译码效率,例如需要较少位来表示屏幕产生的内容。
[0042] 本发明描述关于基于调色板的视频译码的各种技术。在一些方面,本发明涉及在与视频块相关联的调色板仅包含一个条目或颜色且视频块并不包含任何逸出像素时略过对视频块的索引值的映射的译码。在一些方面,本发明涉及使用存储量化参数值与调色板误差极限之间的关系的映射表导出调色板“误差极限”,其指示与可包含在对应调色板内的固定像素值的最大偏差。本发明的一些方面涉及使用用于对应颜色通道中的传统系数译码的量化参数导出用于逸出像素(或相关联预测误差)的量化及解量化的量化参数(QP)。另外,本发明描述使用旗标来指示包含在基于调色板的经译码区域中的像素是否为逸出像素。本发明的各方面还描述用于量化逸出像素值的技术,例如采用右移位运算的技术。
[0043] 在一些方面,本发明涉及基于逸出像素的量化参数值根据映射函数(例如,移位函数)量化经调色板译码块的逸出像素。在一些方面,本发明涉及使用旗标来指示及/或确定经调色板译码块的像素是否为逸出像素。
[0044] 在本发明的一些实例中,用于视频数据的基于调色板的译码的技术可与一或多种其它译码技术一起使用,例如用于视频数据的帧间预测性译码或帧内预测性译码的技术。举例来说,如下文更详细地描述,编码器或解码器或组合编码器-解码器(编解码器)可经配置以执行帧间及帧内预测性译码以及基于调色板的译码。在一些实例中,基于调色板的译码技术可经配置以在高效视频译码(HEVC)的一或多种译码模式下使用。在其它实例中,基于调色板的译码技术可独立地使用或作为其它现有或将来系统或标准的一部分而使用。
[0045] 举例来说,高效视频译码(HEVC)是由ITU-T视频译码专家组(VCEG)及ISO/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的新视频译码标准。布洛斯(Bross)等人的文献JCTVC-L1003v34“高效视频译码(HEVC)文本规范草案10(针对FDIS及最后调用)(High efficiency video coding(HEVC)Text Specification Draft 10(for FDIS&Last Call)”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11视频译码联合合作小组(JCT-VC),第12届会议:瑞士日内瓦,2013年1月14日到23日)中描述了HEVC标准的最近的草案,被称作“WD10”的“HEVC草案10”,其可从下处获得:http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip。最终HEVC标准文献作为“ITU-TH.265,系列H:视听服务的视听及多媒体系统基础架构-移动视频的译码-高效视频译码”公布,国际电信联盟(ITU)的电信标准化部门,2013年4月。
[0046] 相对于HEVC框架,作为一实例,基于调色板的译码技术可经配置以用作译码单元(CU)模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的构架中的预测单元(PU)模式。因此,在CU模式的上下文中描述的所有以下所揭示的过程可另外或替代地应用于PU。然而,这些基于HEVC的实例不应被视为对本文所描述的基于调色板的译码技术的限定或限制,因为此些技术可应用以独立地工作或作为其它现有或尚待开发的系统/标准的一部分而应用。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
[0047] 图1是说明可利用本发明的技术的实例视频编解码系统10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。视频译码系统10的视频编码器20及视频解码器30表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20及视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码选择性对例如HEVC译码中的CU或PU等各种视频数据块进行译码。非基于调色板的译码模式可指代各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如由HEVC草案10指定的各种译码模式。
[0048] 如图1中所示,视频译码系统10包含源装置12及目的地装置14。源装置12产生经编码的视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可对由源装置12所产生的经编码的视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12及目的地装置14可为视频译码装置或视频译码设备的实例。
[0049] 源装置12及目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机(in-car computer)等等。
[0050] 目的地装置14可经由信道16从源装置12接收经编码的视频数据。信道16可包括能够将经编码的视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使得源装置12能够实时地将经编码的视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据通信标准(例如无线通信协议)来调制经编码的视频数据,且可将经调制视频数据发射到目的地装置14。所述一或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线。一或多个通信媒体可形成基于数据包的网络的一部分,基于数据包的网络例如局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置
12到目的地装置14的通信的其它设备。
[0051] 在另一实例中,信道16可包含存储由源装置12产生的经编码的视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码的视频数据的其它合适数字存储媒体。
[0052] 在另一实例中,信道16可包含存储由源装置12产生的经编码的视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可经由串流或下载来存取存储于文件服务器或其它中间存储装置处的经编码的视频数据。文件服务器可为能够存储经编码视频数据及将经编码视频数据发射至目的地装置14的一种服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置及本地磁盘驱动器。
[0053] 目的地装置14可通过标准数据连接(例如因特网连接)来存取经编码的视频数据。实例类型的数据连接可包含无线信道(例如Wi-Fi连接)、有线连接(例如DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从文件服务器的发射可为流式发射、下载发射或两者的组合。
[0054] 本发明的技术不限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、对视频数据进行编码以存储于数据存储媒体上、对存储在数据存储媒体上的视频数据进行解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。
[0055] 图1中说明的视频译码系统10仅为实例,并且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,可从本地存储器检索数据、在网络上流式传输数据等等。视频编码装置可对数据进行编码并且将数据存储到存储器,及/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅将数据编码到存储器及/或从存储器检索数据且对数据进行解码的装置执行编码及解码。
[0056] 在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用于从视频内容提供者接收视频数据的视频馈入接口及/或用于产生视频数据的计算机图形系统,或视频数据的此等源的组合。
[0057] 视频编码器20可对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码的视频数据直接发射到目的地装置14。在其它实例中,经编码的视频数据也可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码及/或回放。
[0058] 在图1的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可在信道16上接收经编码的视频数据。显示装置32可与目的地装置14集成在一起或可在目的地装置14的外部。一般来说,显示装置32显示经解码的视频数据。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0059] 本发明可大体上涉及视频编码器20将某些信息“用信号表示”或“发射”到例如视频解码器30的另一装置。术语“用信号表示”或“发射”可大体上指代用于对经压缩视频数据进行解码的语法元素及/或其它数据的传送。此传送可实时或近实时发生。可替代性地,可历时时间跨度而发生此通信,例如当在编码时,以经编码位流将语法元素存储到计算机可读存储媒体时,可发生此通信,接着,在存储到此媒体之后可由解码装置在任何时间检索所述语法元素。因此,虽然视频解码器30可被称为“接收”某些信息,但信息的接收不一定实时或近实时发生且可在存储之后的某个时间从媒体检索。
[0060] 视频编码器20及视频解码器30各自可实施为例如以下各项的多种合适电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施所述技术,那么装置可将软件的指令存储在合适的非暂时性计算机可读存储媒体中,且可使用一或多个处理器以硬件执行指令从而实施本发明的技术。可将前述内容中的任一者(包含硬件、软件、硬件与软件的组合等)视为一或多个处理器。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(CODEC)的一部分。
[0061] 在一些实例中,视频编码器20及视频解码器30根据视频压缩标准操作,例如上文所提到且在HEVC草案10中描述的HEVC标准。除基础HEVC标准以外,存在对产生用于HEVC的可缩放视频译码、多视图视频译码及3D译码扩展的持续努力。另外,可提供(例如)如本发明中所描述的基于调色板的译码模式以用于HEVC标准的扩展。在一些实例中,本发明中针对基于调色板的译码而描述的技术可应用于经配置以根据其它视频译码标准(例如ITU-T-H.264/AVC标准或将来标准)操作的编码器及解码器。因此,将基于调色板的译码模式用于HEVC编解码器中的译码单元(CU)或预测单元(PU)的译码是为了实例的目的而描述。
[0062] 在HEVC及其它视频译码标准中,视频序列通常包含一连串图片。图片也可被称作“帧”。图片可包含三个样本阵列,表示为SL、SCb及SCr。SL是亮度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含亮度样本阵列。
[0063] 为了产生图片的经编码表示,视频编码器20可产生一组译码树单元(CTU)。CTU中的每一者可为亮度样本的译码树块、色度样本的两个对应译码树块及用于对译码树块的样本进行译码的语法结构。译码树块可为样本的NxN块。CTU也可以被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,并且可包含一或多个译码单元(CU)。切片可包含光栅扫描中连续排序的整数数目个CTU。经译码切片可包括切片标头及切片数据。切片的切片标头可为包含提供关于切片的信息的语法元素的语法结构。切片数据可包含切片的经译码CTU。
[0064] 本发明可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块及用于对所述一或多个样本块的样本进行译码的语法结构。实例类型的视频单元或块可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分割等。在一些情形中,PU的论述可与宏块或宏块分割的论述互换。
[0065] 为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可为具有亮度样本阵列、Cb样本阵列及Cr样本阵列的图片的亮度样本的译码块及色度样本的两个对应译码块,及用于对译码块的样本进行译码的语法结构。视频编码器20可将CU的译码块分割为一或多个预测块。预测块可为应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可为图片的亮度样本的预测块,色度样本的两个对应预测块,及用于对预测块样本进行预测的语法结构。视频编码器20可产生用于CU的每个PU的亮度预测块、Cb预测块及Cr预测块的预测性亮度块、Cb块及Cr块。
[0066] 视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器20使用帧内预测来产生PU的预测性块,那么视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的预测性块。
[0067] 如果视频编码器20使用帧间预测来产生PU的预测性块,那么视频编码器20可基于除与PU相关的图片以外的一或多个图片的经解码样本产生PU的预测性块。视频编码器20可使用单向预测或双向预测来产生PU的预测性块。当视频编码器20使用单向预测来产生PU的预测性块时,PU可具有单个运动向量(MV)。当视频编码器20使用双向预测来产生PU的预测性块时,PU可具有两个MV。
[0068] 在视频编码器20产生CU的一或多个PU的预测性块(例如,预测性亮度块、Cb块及Cr块)之后,视频编码器20可产生CU的残余块。CU的残余块中的每个样本可指示CU的PU的预测性块中的样本与CU的译码块中的对应样本之间的差。举例来说,视频编码器20可产生CU的亮度残余块。CU的亮度残余块中的每个样本指示CU的预测性亮度块中的一者中的亮度样本与CU的原始亮度译码块中的对应样本之间的差。另外,视频编码器20可产生CU的Cb残余块。CU的Cb残余块中的每个样本可指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每个样本可指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。
[0069] 此外,视频编码器20可使用四叉树分割将CU的残余块(例如,亮度、Cb及Cr残余块)分解为一或多个变换块(例如,亮度、Cb及Cr变换块)。变换块可为其上应用相同变换的样本的矩形块。CU的变换单元(TU)可为亮度样本的变换块、色度样本的两个对应的变换块,及用于对变换块样本进行变换的语法结构。因此,CU的每个TU可与亮度变换块、Cb变换块及Cr变换块相关联。与TU相关联的亮度变换块可为CU的亮度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。
[0070] 视频编码器20可将一或多个变换应用于变换块从而产生TU的系数块。系数块可为变换系数的二维阵列。变换系数可为标量。举例来说,视频编码器20可将一或多个变换应用到TU的亮度变换块以产生TU的亮度系数块。视频编码器20可将一或多个变换应用至TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用至TU的Cr变换块以产生TU的Cr系数块。
[0071] 在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化总体上是指对变换系数进行量化以可能减少用于表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。视频编码器20可在位流中输出经熵编码语法元素。位流还可包含未经熵编码的语法元素。
[0072] 视频编码器20可输出包含经熵编码的语法元素的位流。位流可包含形成经译码图片及相关联数据的表示的位序列。位流可包括一连串网络抽象层(NAL)单元。所述NAL单元中的每一者包含NAL单元标头且封装原始字节序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有包封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
[0073] 不同类型的NAL单元可包封不同类型的RBSP。举例来说,第一类型的NAL单元可包封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可包封用于经译码切片的RBSP,第三类型的NAL单元可包封用于补充增强信息(SEI)的RBSP等等。封装视频译码数据的RBSP(与参数集及SEI消息的RBSP相对)的NAL单元可被称为视频译码层(VCL)NAL单元。
[0074] 视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可从所述位流获得语法元素。举例来说,视频解码器30可解析位流以对来自所述位流的语法元素进行解码。视频解码器30可至少部分地基于从位流获得(例如解码)的语法元素来重构视频数据的图片。重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的MV来确定当前CU的PU的预测性样本块(即,预测性块)。另外,视频解码器30可反量化与当前CU的TU相关联的变换系数块。视频解码器30可对变换系数块执行逆变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性样本块的样本添加到当前CU的TU的变换块的对应样本,视频解码器30可重构当前CU的译码块。通过重构用于图片的每个CU的译码块,视频解码器30可重构图片。
[0075] 在一些实例中,视频编码器20及视频解码器30可经配置以执行基于调色板的译码。举例来说,在基于调色板的译码中,代替执行上文所描述的帧内预测性或帧间预测性译码技术,视频编码器20及视频解码器30可将所谓的调色板译码为表示特定区域(例如,给定块)的视频数据的颜色或像素值的表。以此方式,代替对当前视频数据块的实际像素值或其残余进行译码,视频译码器可对当前块的像素值中的一或多者的索引值进行译码,其中所述索引值指示调色板中用于表示当前块的像素值的条目。
[0076] 举例来说,视频编码器20可通过以下操作来对视频数据块进行编码:确定块的调色板,定位调色板中具有表示所述块的一或多个个别像素值的值的条目,及通过指示调色板中用于表示所述块的一或多个个别像素值的条目的索引值来对所述块进行编码。另外,视频编码器20可在经编码位流中用信号表示索引值。视频解码装置(例如,视频解码器30)继而可从经编码位流获得块的调色板,以及用于使用调色板确定块的各种个别像素的索引值。视频解码器30可将个别像素的索引值与调色板的条目匹配以重构块的像素值。在与个别像素相关联的索引值不匹配块的对应调色板的任何索引值的情况下,出于基于调色板的译码的目的,视频解码器30可将此像素识别为逸出像素。
[0077] 在另一实例中,视频编码器20可根据以下操作对视频数据块进行编码。视频编码器20可确定块的个别像素的预测残余值,确定块的调色板,且定位调色板中具有表示个别像素的预测残余值中的一或多者的值的值的条目(例如,索引值)。另外,视频编码器20可通过指示调色板中用于表示块的每一个别像素的对应预测残余值的条目的索引值对所述块进行编码。视频解码器30可从由源装置12用信号表示的经编码位流获得块的调色板,以及对应于块的个别像素的预测残余值的索引值。如所描述,索引值可对应于调色板中与当前块相关联的条目。视频解码器30继而可使预测残余值的索引值与调色板的条目相关,以重构所述块的预测残余值。可将预测残余值添加到预测值(例如使用帧内或帧间预测获得)以重构所述块的像素值。
[0078] 如下文更详细地描述,基于调色板的译码的基本想法为:对于待译码的给定视频数据块,视频编码器20可导出包含当前块中的最主要像素值的调色板。举例来说,调色板可指经确定或假定为当前CU的主要及/或代表性像素值的若干像素值。视频编码器20可首先将调色板的大小及元素发射到视频解码器30。另外,视频编码器20可根据特定扫描次序来对给定块中的像素值进行编码。对于包含在给定块中的每个像素,视频编码器20可用信号表示将像素值映射至调色板中的对应条目的索引值。如果像素值并不包含在调色板中(即,不存在指定经调色板译码块的特定像素值的调色板条目),那么此像素被定义为“逸出像素”。根据基于调色板的译码,视频编码器20可将经保留用于逸出像素的索引值编码及用信号表示。在一些实例中,视频编码器20还可将包含在给定块中的逸出像素的像素值或残余值(或其经量化版本)编码及用信号表示。
[0079] 在接收到由视频编码器20用信号表示的经编码视频位流后,视频解码器30可首先基于从视频编码器20接收的信息确定调色板。视频解码器30可接着将接收到的与给定块中的像素位置相关联的索引值映射到调色板的条目,以重构给定块的像素值。在一些情况下,视频解码器30可例如通过确定像素以经保留用于逸出像素的索引值而进行调色板译码来确定经调色板译码块的像素为逸出像素。在视频解码器30识别经调色板译码块中的逸出像素的情况下,视频解码器30可接收包含在给定块中的逸出像素的像素值或残余值(或其经量化版本)。视频解码器30可通过将个别像素值映射至对应调色板条目且通过使用像素值或残余值(或其经量化版本)重构包含在经调色板译码块中的任何逸出像素来重构经调色板译码块。
[0080] 基于调色板的译码可引入一定量的信令开销。举例来说,可需要若干位来用信号表示调色板的特性(例如调色板的大小)以及调色板自身。另外,可需要若干位来用信号表示块的像素的索引值。举例来说,根据现有基于调色板的译码技术,即使在调色板为有限大小(例如,包含仅一个条目的调色板)且块并不包含任何逸出像素的情况下,视频编码器20仍可用信号表示用于块的像素值的调色板索引,其将全部为以视频块的逐行为基础识别调色板中的一个条目的相同索引值。另外,现有基于调色板的译码技术依据用信号表示索引值以指示逸出像素且随后用信号表示逸出像素的像素值或残余值(或其经量化版本)而引入信令开销。
[0081] 在一些实例中,本发明的技术可减少用信号表示此信息所需的位的数目。举例来说,本文中所描述的某些技术涉及在块满足相对于基于调色板的译码的一组特定条件的情况下略过对块的一或多个像素的索引值的映射的译码(例如,编码及/或解码)。在其它实例中,本文中所描述的某些技术大体涉及用信号表示较少数据位(例如,一位旗标代替五位索引值)以指示针对当前块,给定像素相对于调色板是逸出像素。本发明的各种技术还涉及确定可包含在给定块的调色板中的像素值的范围。调色板可包含的像素值的范围在本文中被称作调色板的“误差极限”,且本发明的各种技术涉及基于与调色板相关联的块的量化参数(QP)确定调色板的误差极限。
[0082] 本发明的其它方面涉及导出经量化逸出值。举例来说,这些方面中的一些方面涉及用于界定一或多个量化参数来量化逸出像素的技术。本发明的另外其它方面涉及应用特定函数(例如,右移位函数)来量化逸出像素值。以此方式,本发明的各个方面提供潜在优点,例如减少位开销及减轻资源占用,同时维持图片质量及准确性。
[0083] 如上文所描述,视频编码器20可应用本发明的技术以在某些情形下略过对块的各种个别像素的调色板索引的编码及用信号表示。根据本发明的方面,视频编码器20可在视频编码器20确定块的所有像素为相同颜色的情况下略过对经调色板译码块的调色板索引的编码及用信号表示。举例来说,视频编码器20可确定图片的经调色板译码的CU为“单一颜色CU”,且可略过对单一颜色CU的调色板索引的编码及用信号表示。
[0084] 更确切地说,视频编码器20可确定在当前CU满足两个条件的情况下经调色板译码的CU是否为单一颜色CU。视频编码器20可用于确定经调色板译码的CU是否为单一颜色CU的第一条件是对应调色板的大小是否等于一(1)。如果调色板的大小等于一,那么视频编码器20可确定相对于经调色板译码的CU为单一颜色CU而满足第一条件。更确切地说,如果调色板大小为一,那么视频解码器20可确定调色板仅包含对应于经调色板译码的CU的(非逸出)像素的一个颜色。在调色板大小为一的一些实例中,视频编码器20可确定与调色板相关联的唯一索引值为零(0)。
[0085] 如果视频编码器20确定经调色板译码的CU的调色板大小为1(即,满足第一条件),那么视频编码器20可确定经调色板译码的CU是否满足为单一颜色CU的第二条件。视频解码器30可用于确定经调色板译码的CU为单一颜色CU的第二条件是经调色板译码的CU并不包含任何逸出像素。如果经调色板译码的CU包含至少一个逸出像素,那么视频编码器20可确定尽管对应调色板指示相对于经调色板译码的CU的仅一个颜色,但经调色板译码的CU包含两个或两个以上颜色的像素。举例来说,经调色板译码的CU可包含具有调色板中指示的颜色的至少一个像素及具有不同颜色的至少一个逸出像素。
[0086] 如果视频编码器20确定经调色板译码的CU满足上文描述的两个条件,那么视频编码器20可确定经调色板译码的CU为单一颜色CU。更确切地说,如果经调色板译码的CU与单一条目调色板相关联(由调色板大小一展示),且经调色板译码的CU并不包含任何逸出像素,那么视频编码器20可确定经调色板译码的CU的所有个别像素具有相同颜色(即,由对应调色板的单一条目指示的颜色)。在各种实施方案中,视频编码器20可相对于单一颜色分量基础(相对于调色板)或相对于指示一个以上颜色分量的组合索引应用上文描述的单一颜色CU识别技术。
[0087] 响应于确定经调色板译码的CU包含仅一个颜色的像素(即,所述CU为单一颜色CU),视频编码器20可实施本发明的技术以略过对用于单一颜色CU的像素的调色板索引值的映射的编码及用信号表示。通过略过对用于CU的像素的调色板索引值的映射的编码及用信号表示,视频编码器20可节省原本可能已消耗用于将CU的颜色信息编码及用信号表示的计算资源及带宽。代替将用于单一颜色CU的每一个别像素的索引编码及用信号表示,视频编码器20可实施本发明的技术以更高效地指示(例如,向视频解码器30)组成单一颜色CU的整个像素集合的颜色信息。
[0088] 根据本发明的一些实例,视频编码器20可将旗标编码及用信号表示以指示视频编码器20是否略过以逐行为基础对单一颜色CU的调色板索引值的编码(及用信号表示)。通过将用于整个CU的一位旗标而非用于CU的每一像素的个别索引值编码及用信号表示,视频编码器20与现有基于调色板的译码技术相比可节省计算资源及信令带宽。此外,视频编码器20可维持经编码单一颜色CU的准确性及质量,因为由视频编码器20针对CU用信号表示的单一条目调色板包含用于CU的所有个别像素的颜色信息。在各种实例中,视频编码器20可以各种方式将旗标编码及用信号表示,例如在序列参数集(SPS)、图片参数集(PPS)或切片标头中。在各种实例中,视频编码器20也可以每CTU基础、每CU基础或针对任何块大小的块将旗标编码及用信号表示。
[0089] 在视频编码器20略过对用于经调色板译码的单一颜色块的个别像素的调色板索引值的编码及用信号表示的实例中,视频解码器30可应用本发明的各种技术来重构单一颜色块。在一些实例中,视频解码器30可执行与上文相对于视频编码器20描述的那些操作互逆的操作以确定经调色板译码的块为单一颜色块。举例来说,视频解码器30可确定当前块的调色板具有大小一,借此确定所述块满足使其具有资格作为单一颜色块的第一条件。在各种实例中,视频解码器30可在经编码视频位流中从视频编码器20接收调色板,或可重构调色板。
[0090] 另外,视频解码器30可确定所述块并不包含任何逸出像素,借此确定所述块满足使其具有资格作为单一颜色块的第二条件。基于确定所述块的调色板的大小为一(第一条件)且所述块并不包含任何逸出像素(第二条件),视频解码器30可实施本发明的技术以确定当前块为单一颜色块。以此方式,视频解码器30可实施本发明的技术以准确地重构经调色板译码块,同时节省原本将需要用来通过以逐像素基础对调色板索引进行解码而重构块的计算资源及带宽。
[0091] 在其它实例中,根据本发明的技术,视频解码器30可在经编码视频位流中接收旗标,所述旗标指示视频编码器20是否略过对经调色板译码块的调色板索引的编码及用信号表示。在视频解码器30接收指示视频编码器20略过对经调色板译码块的调色板索引值的映射的编码及用信号表示的旗标的情况下,视频解码器30可实施本发明的技术以确定当前块是经调色板译码的且为单一颜色块。更确切地说,如果旗标经启用(例如,设定成值一),那么视频解码器30可确定经调色板译码块为单一颜色块。视频解码器30继而可实施本发明的技术以根据块的调色板中的单一条目的颜色信息重构所述块的每一像素。以此方式,视频解码器30可实施本发明的技术以使用用于整个块的一位旗标而非使用用于所述块的每一个别像素的(不同位深的)单独索引值来准确地重构经调色板译码块。
[0092] 在另一实例中,视频编码器20可实施本发明的技术以导出针对用于经调色板译码块的调色板的误差极限。如本文所使用,术语“误差极限”或“调色板误差极限”可指代调色板的条目可包含的值的范围(例如,颜色信息方面)。更确切地说,调色板误差极限界定不同调色板条目呈现或必须显示的颜色值的最小变化。如上文所描述,为了根据基于调色板的译码对块进行编码,视频编码器20可构造对应调色板以包含块内最频繁(以逐像素基础)发生的颜色值。
[0093] 在构造调色板时,视频编码器20可确定调色板的各种条目必须显示彼此最小变化。更确切地说,视频编码器20可构造调色板,以致不会使调色板的两个条目充分类似以便两个条目可分组成单一条目。如果两个可能的调色板条目处于调色板误差极限内,那么视频编码器20可使用两个条目中的一者来表示调色板中的两个条目。
[0094] 然而,如果视频编码器20确定两个条目(其在块中经常发生)的差别至少在于调色板误差极限,那么视频编码器20可包含调色板中的两个条目。在所述条目由三个颜色分量表示的实例中,如果所述条目的差别至少在于相对于颜色分量中的至少一者的调色板误差极限,那么视频编码器20可包含调色板中的两个条目。举例来说,如果调色板误差极限设定成值五(5),那么视频编码器20可基于以下布尔型表达式确定是否包含调色板中的两个条目(假定两个条目在块中足够经常地发生):abs(A1-B1)>5||abs(A2-B2)>5||abs(A3-B3)>5,其中“abs”表示颜色分量参数之间的差。
[0095] 如所描述,视频编码器20可通过使块的经常发生的(或相对经常发生的)像素值群集成调色板的条目来构造调色板。视频编码器20可选择经常发生的像素值,使得像素值显示颜色信息方面的最小变化。在经常发生的像素值的选定集合内的像素值之间的最小变化继而可形成对应调色板的误差极限。应了解,尽管调色板误差极限可包含若干像素值,但是调色板可未必包含不同之处至少在于调色板误差极限的每一对像素值。因此,相同调色板误差极限可适用于不同大小的调色板。视频编码器20可在确定将包含在调色板中的颜色值时使用调色板误差极限。
[0096] 视频编码器20可实施本发明的技术来界定调色板的误差极限。根据本发明的各个方面,视频编码器20可基于经调色板译码块的量化参数(QP)确定调色板误差极限。在各种实例中,视频编码器20可确定调色板误差极限与对应块的QP值成正比。更确切地说,在这些实例中,视频编码器20可针对以较大QP值量化的块指派调色板的较大误差极限,且针对以较小QP值量化的块指派调色板的较小误差极限。
[0097] 因此,视频编码器20可界定需要在以较大QP值量化的块的像素值之间的较大变化的调色板,并且可界定需要在以较大QP值量化的块的像素值之间的较小变化的调色板。另外,视频编码器20可产生及/或存储用于反映每个QP值与对应调色板误差极限之间的关系的表(例如,映射表或查询表)。以此方式,视频编码器20可实施本发明的各种技术以通过使用用于存储每个QP值与对应误差极限之间的关系的表来提高计算效率。更确切地说,通过使用用于存储QP值与对应调色板误差极限之间的关系的表,视频编码器20可实施本文中所描述的技术以与求解每个调色板的函数以导出对应调色板误差极限的计算成本相对高的技术相比,提供改进的效率。因此,根据本发明的各个方面,视频编码器20可基于用以量化对应块的QP值定制调色板(根据调色板的误差极限),借此基于块的QP值确定块的调色板的内容。
[0098] 在一些实例中,视频编码器20可针对经量化逸出像素导出而实施本发明的各种技术。更确切地说,视频编码器20可实施技术来界定逸出像素的QP的量化值。举例来说,根据基于调色板的译码技术,如果视频编码器20检测经调色板译码块中的逸出像素,那么视频编码器20可将像素值或其预测误差编码及用信号表示,因为对应调色板并不包含逸出像素的任何条目。另外,为节省信令带宽,视频编码器20可在用信号表示之前量化逸出像素的经编码像素值。
[0099] 根据现有基于调色板的译码技术,未界定用于量化逸出像素的量化值(QP值)。视频编码器20可实施本发明的技术来界定用于量化逸出像素的QP值。更确切地说,视频编码器20可将逸出像素的QP值界定为等于用于相同颜色通道内(例如,亮度(Y)、色度(U、Cr)或色度(V、Cb))的传统系数编码的QP值。在一个实例中,视频编码器20可将逸出像素的QP值界定为等于用于相同颜色通道及相同量化群组内的传统系数编码的QP值。由此,视频编码器20可根据给定通道内的单一QP值量化所有逸出像素。另外,因为视频编码器20可界定仅单一通道内的所有逸出像素的QP值,所以视频编码器20可相对于不同通道使用用于量化逸出像素的不同QP值。
[0100] 视频解码器30可根据本发明的各种技术执行与上文描述的那些操作互逆的操作以解量化逸出像素。举例来说,视频解码器30可基于在经编码视频位流中从视频编码器20接收的信息使用相同QP值来解量化单一通道的所有逸出像素。更确切地说,根据本发明的各方面,视频解码器30可使用基于用于针对当前通道上传送的块的传统变换系数解量化的QP值所确定的QP值来解量化特定通道上传送的任何逸出像素(或预测误差/其残余值)。在一些实例中,视频解码器30可实施本发明的技术以基于用于传统变换系数译码的在不同通道之间不同的QP值而使用不同QP值来解量化不同通道上传送的逸出像素。
[0101] 以此方式,视频编码器20及视频解码器30可实施本文中描述的技术以界定及应用单一QP值(以量化及/或解量化)在特定通道上传送的所有逸出像素。因此,视频编码器20及视频解码器30可应用本发明的各方面来界定通过基于调色板的译码检测到的逸出像素的QP值,其中现有基于调色板的译码技术并未显式界定逸出像素的QP值。
[0102] 另外,视频编码器20及/或视频解码器30可实施本发明的其它技术以使用旗标来指示及/或检测逸出像素包含在经调色板译码块中。根据现有基于调色板的译码技术,可使用“预留的”调色板索引值用信号表示及检测逸出像素。举例来说,根据现有基于调色板的译码技术,指示逸出像素的预留调色板索引值可为32。更确切地说,调色板索引值32可用于所有逸出像素,而不管两个逸出像素是否具有不同像素值。因此,根据现有基于调色板的译码技术,视频译码装置可使用针对经调色板译码块的每一逸出像素的5位值(32)。
[0103] 视频编码器20可实施本发明的技术来节省计算资源(例如,存储装置及存储器)且减少带宽消耗,同时相对于用信号表示经调色板译码块中的逸出像素的指示维持图片精确度。举例来说,视频编码器20可将旗标编码及用信号表示以指示经调色板译码块中的像素是否是逸出像素。如本文所描述,当启用时,旗标可指示相关联像素被指派称为“其它索引”的调色板索引。视频编码器20可使用旗标的“其它索引”状态来替换调色板索引值32,所述调色板索引值32传统地用于相对于调色板指示逸出像素。因此,视频编码器20可将一位旗标而不是5位索引值编码及用信号表示以指示经调色板译码块的像素是逸出像素。当逸出像素由一位旗标指示时,视频编码器20继而可将经编码视频位流中的逸出像素的像素值(或其残余数据)编码及用信号表示。
[0104] 视频解码器30还可以实施本发明的技术以使用一位旗标来确定经调色板译码块的像素是逸出像素。在各种实例中,视频解码器30可相对于上文描述的关于视频编码器20的编码及用信号表示操作执行互逆操作,以使用一位旗标来识别经调色板译码块中的逸出像素。举例来说,视频解码器30可接收与经调色板译码块的像素相关联的经启用的一位旗标。基于一位旗标处于启用状态,视频解码器30可确定相关联像素的颜色信息不包含在当前块的调色板中。换句话说,视频解码器30可确定如果接收到的一位旗标被启用,那么相关联的像素是逸出像素。以此方式,视频解码器30可实施本发明的技术以通过使用一位旗标来识别经调色板译码块中的逸出像素而重构经调色板译码块。因此,视频解码器30可相对于识别经调色板译码块中的逸出像素节省计算资源(例如,存储装置及/或存储器)及带宽需求。另外,当逸出像素由一位旗标指示时,视频解码器30可在经编码视频位流中接收对应于任何所识别逸出像素的颜色信息(或其残余数据),且可相应地重构经调色板译码块。
[0105] 视频编码器20及视频解码器30还可实施本发明的技术以根据基于调色板译码量化及解量化逸出像素的像素值。举例来说,视频编码器20可根据本发明的各个方面通过量化逸出像素的像素值而节省计算资源(例如,内存占用率、处理器时钟循环等)。在一些实例中,视频编码器20可实施本文中描述的技术以通过用移位运算(例如,右移位运算)代替除法运算来量化逸出像素值。更确切地说,视频编码器20可基于对应逸出像素的QP值确定特定右移位运算。
[0106] 举例来说,视频编码器20可形成将每一逸出像素的QP值映射到应用于像素值的右移位量的表。视频编码器20可形成包含52个条目的表。举例来说,52条目映射表可提供与给定逸出像素的每一可能QP值相对应的右移位量。可替代地,视频编码器20可应用映射操作以基于表中的对应QP值条目确定每一像素的右移位量。与按照根据基于调色板译码的用于逸出像素的现有量化技术所使用的52条目映射表相比,映射函数可计算上更高效并且可节省存储器需求。通过求解本文中所描述的函数导出右移位值(操作数),视频编码器20可消除对用于存储52条目表的视频解码器30的需求,借此使视频解码器30能够解量化逸出像素同时减少对解量化过程的存储需求。
[0107] 在各种实例中,视频编码器20可通过基于上文所描述的映射操作确定逸出像素的右移位量及使用所确定的右移位量将线性函数应用于逸出像素值来量化逸出像素。视频编码器20可应用于量化逸出像素的线性函数的实例如下:
[0108] Right_shift=a*((QP+b)>>c)+d,
[0109] 其中a、b、c及d均是整数参数。另外,“>>”运算符表示右移位运算。在应用以上等式的特定结果中,视频编码器20可确定逸出像素值的右移位量是3。所得右移位运算可表达为Right_shift=(QP>>3)。
[0110] 视频解码器30可实施本发明的技术以相对于视频编码器20执行上文描述的那些操作的互逆操作以解量化经量化的逸出像素值。举例来说,视频解码器30可实施本发明的技术以基于解量化对应经量化逸出像素值时的QP值计算移位量(例如,用于对应左移位运算)。以此方式,视频解码器30还可应用本发明的各方面以通过利用映射函数而不是存储52条目映射表来节省计算资源。
[0111] 如上所述,视频编码器20及/或视频解码器30可实施本发明的各种技术(无论单独地还是以任何组合及/或序列),以相对于基于调色板的译码提供改进的译码效率,同时维持图片质量及数据精确度。因此,与基于调色板的视频译码的现有技术相比,本文中所描述的技术可提供各种潜在优点。在如上文所描述的特定实例中,本发明的技术可使视频译码装置能够更高效地对视频数据进行编码及/或解码且减少带宽消耗,同时维持视频数据的准确性。
[0112] 在一些实例中,本文中所描述的用于视频数据的基于调色板的译码的技术可与例如用于帧间或帧内预测性译码的技术等一或多个其它译码技术一起使用。举例来说,如下文更详细地描述,编码器或解码器或组合编码器-解码器(编解码器)可经配置以执行帧间及帧内预测性译码以及基于调色板的译码。
[0113] 在各种实例中,本发明描述主要颜色索引译码技术的不同方面。可以组合部分或全部所描述的方法。
[0114] 现在描述索引预测方向的译码的实例。如上所述,对于每一索引,存在三个可能预测方向:“copy_from_top”、“copy_from_left”及“no_copy”。三个代码字应被指派给三个方向。举例来说,代码字可为“0”、“01”及“10”。在以上行中的并置像素与左相邻像素相同时,仅两个代码字可为必需的。举例来说,在这种情况下,“0”可表示“不复制”并且“1”可表示从顶部或左侧复制。
[0115] 如上所述,在一些情况下,可略过对视频块的颜色索引映射的译码。如果主要颜色的数目等于一并且不存在“逸出像素”,那么可略过对索引块的译码。这个原理可应用于每一个别颜色分量,或者可应用于含有一个以上颜色分量的组合索引。
[0116] 在另一实例中,可在经译码位流中用信号表示旗标(或其它类型的语法元素)以指示是否使用略过索引译码的此特征。举例来说,视频编码器可在包括视频数据的经译码表示的位流中用信号表示语法元素(例如,旗标)以指示是否使用略过索引译码。因此,视频解码器可从位流中获得指示是否使用略过索引译码的语法元素。可在SPS、PPS、切片标头、或其它结构、或每CTU或每CU或在任何其它块大小中用信号表示旗标。
[0117] 因此,在一些实例中,视频编码器可在位流中用信号表示指示是否在所述位流中用信号表示索引块的语法元素。在一些实例中,视频编码器可在位流中的SPS、PPS或切片标头中用信号表示语法元素。此外,在一些实例中,视频编码器可以每CTU基础或每CU基础用信号表示所述语法元素。在一些此类实例中,视频解码器可从位流获得指示是否在所述位流中用信号表示索引块的语法元素。可在SPS、PPS、切片标头、或另一语法结构、或每CTU或每CU或在任何其它块大小中用信号表示旗标。因此,在一些实例中,视频解码器可从位流中的SPS、PPS或切片标头中获得语法元素。此外,在一些实例中,视频解码器可以每CTU基础或每CU基础获得所述语法元素。
[0118] 现在描述索引的位平面译码的实例。在标准行模式中,如果无法从顶部或左侧预测索引;或在水平模式中,从来自当前行的最左边索引复制行,那么索引值必须直接进行译码。在这种情况下,可根据索引值的二进制表示逐个分组译码索引值。举例来说,假定位于行i中的索引,列j通过以下表示:
[0119] Ci,j=b0ij+2b1ij+…+2NbNij=[b0ijb1ij…bNij]2
[0120] 其中bkij=0或1。随后可通过将bkij的经译码相邻索引值用作CABAC上下文对bkij进行译码。举例来说,bkij可将bk(i-1)j+bki(j-1)用作上下文。bkij还可使用单一上下文或不使用任何上下文进行译码(即,略过译码)。
[0121] 为了实现更高吞吐量,可在使用CABAC上下文略过等时对索引的一些分组进行译码。举例来说,仅表示的最高有效二进制使用上下文,而其它在略过模式中进行译码。
[0122] 现在描述用于指示“其它索引”的旗标的实例。在此实例中,一位旗标可用于指示索引是否为“其它索引”。此旗标可通过将具有旗标的周围经译码相邻者索引的CABAC用作上下文而进行译码。
[0123] 现在描述使用右移位函数量化逸出值的实例。用于从每一QP映射到右移位的量的表需要52个条目。映射函数可节省此存储器需求且提供用于计算右移位的高校方式。举例来说,可应用如下线性函数:
[0124] Right_shift=a*((QP+b)>>c)+d
[0125] 其中a、b、c及d是整数参数。此函数的具体实例如下:
[0126] Right_shift=(QP>>3)
[0127] 现在描述索引的二进制化及译码的实例。在此实例中,首先通过将相邻经译码索引用作上下文对旗标进行译码以指示所述索引是否为零。如果所述索引不为零,那么假定索引C>0。随后C-1使用略过CABAC译码进行二进制化及译码。二进制化方法的实例包含但不限于:一元、截断一元码、指数哥伦布或具有固定或自适应参数的哥伦布-莱斯。
[0128] 现在描述用于略过逸出像素的指示旗标的实例技术。在一个实例中,旗标可用于指示像素是否是“逸出像素”(即,未呈现在主要颜色表中)。如果主要颜色的数目小于主要颜色的最大数目,这隐含地指示不存在“逸出像素”,那么可略过此旗标。可预定义或自适应地调节主要颜色的此最大数目。当略过旗标时,指示旗标的数据不包含在位流中。
[0129] 举例来说,在一些实例中,如果用于块的主要颜色的数目小于主要颜色的最大所允许数目,那么视频编码器可从位流中省略指示旗标的数据。因此,如果用于块中的像素的不同样本值的数目小于主要颜色的最大所允许数目,那么可存在用于块的像素的不同样本值中的每一者的主要颜色表中的条目并且块的像素都不是逸出像素。相反,如果块中的像素的不同样本值的数目大于主要颜色的最大所允许数目,那么块的像素中的一或多者为逸出像素。因此,如果块中的像素的不同样本值的数目大于主要颜色的最大所允许数目,那么视频编码器可用信号表示旗标以指示块的哪些像素为逸出像素。
[0130] 在一个实例中,当块中的像素的不同样本值的数目大于主要颜色表中的颜色的最大所允许数目时,视频解码器可从包括视频数据的经编码表示的位流获得指示块中的像素是否为逸出像素的语法元素。在此实例中,当块中的像素的不同样本值的数目小于主要颜色表中的颜色的最大所允许数目时,视频解码器不从位流获得语法元素。当像素不是逸出像素时,视频解码器可基于像素的索引确定主要颜色表中的指定用于像素的样本值的条目。
[0131] 在类似实例中,如果块中的像素的不同样本值的数目大于主要颜色表中的颜色的最大所允许数目,那么视频编码器可在包括视频数据的经编码表示的位流中包含指示语法元素的数据,所述语法元素指示块的像素是否为逸出像素。如果块中的像素的不同样本值的数目小于主要颜色表中的颜色的最大所允许数目,那么视频编码器可从位流省略语法元素。当像素不是逸出像素时,视频编码器可在位流中包含指示索引的数据,所述索引指定主要颜色表中的指定用于所述像素的样本值的条目。
[0132] 在另一实例中,可在经译码位流中用信号表示旗标(或其它类型的语法元素)以指示是否使用略过逸出像素的指示旗标的此特征。举例来说,视频编码器可在经译码位流中用信号表示语法元素以指示是否使用略过逸出像素的指示语法元素(例如,指示旗标)。因此,视频解码器可从位流获得指示是否使用略过逸出像素的指示语法元素的语法元素。可在SPS、PPS、切片标头、或另一结构、或每CTU或每CU或在任何其它块大小中用信号表示旗标。
[0133] 因此,在一些实例中,视频编码器可在位流中用信号表示指示位流是否包含第一语法元素(即,指示像素是否为逸出像素的语法元素)的第二语法元素。因此,在一些实例中,视频编码器可在位流中用信号表示指示位流是否包含第一语法元素(即,指示像素是否为逸出像素的语法元素)的第二语法元素。在一些实例中,可在序列参数集合、图片参数集合或切片标头中用信号表示此第二语法元素。在一些实例中,以每CTU基础或每CU基础用信号表示第二语法元素。
[0134] 现在描述经量化逸出像素值或经量化逸出预测误差的实例熵译码方法。在一些实例中,使用固定长度码字将经量化逸出像素值(预测误差)二进制化。对于第一分组的码字,通过上下文模型化应用CABAC译码。对于其余分组的码字,以相同概率应用CABAC略过译码。在此实例中,码字的长度取决于每个亮度-色度通道(YUV或RGB)的QP值。举例来说,给定输入8位深度数据,在量化步长4之后,量化值在[0,63]的范围内,并且因此可使用6位固定长度码字而不是8位码字来减小待发射的位。
[0135] 举例来说,视频解码器可确定视频数据的图片的像素是否为逸出像素。响应于确定所述像素不是逸出像素,视频解码器可确定用于像素的索引并且基于用于像素的所述索引确定指定用于像素的样本值的调色板条目。调色板条目可处于包括指定样本值的调色板条目的调色板中。响应于确定所述像素是逸出像素,视频解码器可通过上下文模型化使用CABAC以对第一分组的固定长度码字进行熵解码。此外,响应于确定所述像素是逸出像素,视频解码器可使用CABAC略过译码来对第一分组的固定长度码字之后的每一分组的固定长度码字进行熵解码。此外,响应于确定所述像素是逸出像素,视频解码器可解二进制化固定长度码字以确定用于像素的样本值。在一些实例中,固定长度码字的长度取决于图片的每个通道(例如,亮度、色度等通道)的量化参数(QP)值。
[0136] 在类似实例中,视频编码器可确定视频数据的图片的像素是否为逸出像素。当像素的样本值对应于由调色板中的调色板条目指定的样本值时,所述像素可为逸出像素,所述调色板包括指定样本值的调色板条目。响应于确定所述像素不是逸出像素,视频编码器可确定用于像素的索引并且在包括视频数据的经编码表示的位流中包含指示用于像素的索引的数据。响应于确定所述像素是逸出像素,视频编码器可二进制化像素的样本值以产生固定长度码字。此外,响应于确定所述像素是逸出像素,视频编码器可通过上下文模型化使用CABAC以对第一分组的固定长度码字进行熵解码。另外,响应于确定所述像素处于逸出像素,视频编码器可使用CABAC略过译码来对第一分组的固定长度码字之后每一分组的固定长度码字进行熵编码。在一些实例中,固定长度码字的长度取决于用于图片的每个通道(例如,亮度、色度等通道)的QP值。
[0137] 现在描述调色板误差极限导出的实例技术。在一些实例中,调色板大小与QP相关。举例来说,较大调色板误差极限可指派用于较大QP,由此指派用于调色板索引的较小群组;
较小调色板误差极限可指派用于较小QP,由此指派用于调色板索引的更多群组。52条目的映射表(查询表)可用于存储器中以存储每一QP值与调色板误差极限之间的关系。
[0138] 举例来说,在一些实例中,视频解码器可确定用于视频数据的图片的像素的索引。此外,视频解码器可基于用于像素的索引确定调色板中的条目,其中所确定的条目指定用于所述像素的样本值,其中调色板的大小与QP有关。类似地,在一些实例中,视频编码器可在包括视频数据的经编码表示的位流中包含指示调色板中的条目的索引的数据,其中调色板的大小与量化参数有关。在一些此类实例中,视频编码器可基于量化参数确定调色板误差极限。在此类实例中,仅当由条目指定的样本值与像素的样本值之间的差小于调色板误差极限时,视频编码器可在位流中包含指示调色板中的条目的索引的数据。
[0139] 现在描述经量化逸出像素导出的实例技术。在一些实例中,用于每个通道的逸出像素(或预测误差)的量化参数与用于传统系数译码的量化参数相同。换句话说,逸出像素(预测误差)量化或解量化在不同通道中可为不同的。在视频编码器处,逸出像素的每个通道使用用于传统系数译码的量化参数。在视频解码器处,逸出像素的每个通道使用用于传统系数译码的接收到的量化参数以重构逸出像素值或逸出像素预测误差。
[0140] 在一些实例中,视频解码器可确定视频数据的图片的像素是否为逸出像素。响应于确定所述像素不是逸出像素,视频解码器可基于用于像素的索引确定包括指定样本值的条目的调色板中的条目,所确定的条目指定像素的样本值。响应于确定所述像素是逸出像素,视频解码器可基于位流中的一或多个语法元素且未确定托板中的条目来确定像素的样本值。此外,响应于确定所述像素是逸出像素,视频解码器可解量化像素的样本值。像素的样本值可为像素的残余样本值,并且视频解码器可将用于所述像素的预测性样本值添加到所述像素的残余样本值以确定用于所述像素的经解码样本值。此外,在一些此类实例中,像素的样本值是像素的第一样本值,量化参数是第一量化参数,像素的第一样本值及第一量化参数对应于第一通道。在此类实例中,响应于确定所述像素是逸出像素,视频解码可基于第二量化参数解量化像素的第二样本值,像素的第二样本值及第二量化参数对应于第二通道。
[0141] 在类似实例中,视频编码器可确定视频数据的图片的像素是否为逸出像素。当像素的样本值不对应于包括指定样本值的条目的调色板中的条目时,所述像素可为逸出像素。响应于确定所述像素是逸出像素,视频编码器可基于量化参数量化像素的样本值并且在包括视频数据的经编码表示的位流中包含指示像素的经量化样本值的数据。响应于确定所述像素不是逸出像素,视频编码器可确定调色板中的对应于像素的样本值的条目并且在位流中包含指示调色板中的所确定条目的索引的数据。在一些实例中,用于像素的样本值是像素的残余样本值。此外,在一些实例中,像素的样本值是像素的第一样本值,量化参数是第一量化参数,像素的第一样本值及第一量化参数对应于第一通道,并且响应于确定所述像素是逸出像素,视频编码器可基于第二量化参数量化像素的第二样本值,像素的第二样本值及第二量化参数对应于第二通道。视频编码器可在位流中包含指示像素的经量化第二样本值的数据。
[0142] 图2是说明可实施本发明的各种技术的实例视频编码器20的框图。图2是出于解释的目的而提供,且不应被视为如本发明所广泛举例说明及描述来限制所述技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
[0143] 在图2的实例中,视频编码器20包含视频数据存储器98、预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元120包含运动估计单元及运动补偿单元(未展示)。视频编码器20还包含基于调色板的编码单元122,其经配置以执行本发明中描述的基于调色板的译码技术的各种方面。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。
[0144] 视频数据存储器98可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储在视频数据存储器98中的视频数据。经解码图片缓冲器116可为参考图片存储器,其存储用于由视频编码器20(例如)以帧内或帧间译码模式对视频数据进行编码的参考视频数据。视频数据存储器98及经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器98及经解码图片缓冲器116可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器98可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
[0145] 视频编码器20可接收视频数据。视频编码器20可对视频数据的图片的切片中的每一CTU进行编码。CTU中的每一者可与图片的大小相等的亮度译码树块(CTB)及对应的CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可执行四叉树分割以将CTU的CTB划分为逐渐更小的块。这些更小的块可为CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割为四个大小相等的子块,将子块中的一或多者分割为四个大小相等的子子块等。
[0146] 视频编码器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大小的非对称分割。
[0147] 帧间预测处理单元120可通过对CU的每个PU执行帧间预测来产生用于PU的预测性数据。PU的预测性数据可包含PU的一或多个预测性样本块及PU的运动信息。取决于PU是在I切片中、P切片中还是B切片中,帧间预测单元121可对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测的。因此,如果PU是在I切片中,那么帧间预测单元121并不对PU执行帧间预测。因此,对于以I模式进行编码的块,使用来自相同帧内的经先前编码的相邻块的空间预测来形成预测块。
[0148] 如果PU在P切片中,那么帧间预测处理单元120的运动估计单元可在参考图片列表(例如,“RefPicList0”)中的参考图片中搜寻用于PU的参考区。用于PU的参考区可为在参考图片内含有最紧密地对应于PU的样本块的样本块的区。运动估计单元可产生指示含有用于PU的参考区的参考图片在RefPicList0中的位置的参考索引。另外,运动估计单元可产生指示PU的译码块与同参考区相关联的参考位置之间的空间位移的MV。举例来说,MV可为用以提供从当前经解码图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元可将参考索引及MV输出为PU的运动信息。帧间预测处理单元120的运动补偿单元可基于在由PU的运动向量指示的参考位置处的实际或经内插样本而产生PU的预测性样本块。
[0149] 如果PU是在B切片中,那么运动估计单元可对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元可在RefPicList0或第二参考图片列表(“RefPicList1”)的参考图片中搜寻用于PU的参考区。运动估计单元可输出以下各项作为PU的运动信息:参考索引,其指示含有参考区的参考图片在RefPicList0或RefPicList1中的位置;MV,其指示PU的样本块与同参考区相关联的参考位置之间的空间位移;及一或多个预测方向指示符,其指示参考图片是否在RefPicList0或RefPicList1中。帧间预测处理单元120的运动补偿单元可至少部分地基于在由PU的运动向量指示的参考区处的实际或经内插样本而产生PU的预测性样本块。
[0150] 为了对PU执行双向帧间预测,运动估计单元可在RefPicList0中的参考图片中搜寻用于PU的参考区,并且还可在RefPicList1中的参考图片中搜寻用于PU的另一参考区。运动估计单元可产生指示含有参考区的参考图片在RefPicList0及RefPicList1中的位置的参考图片索引。另外,运动估计单元可产生指示与参考区相关联的参考位置与PU的样本块之间的空间移位的MV。PU的运动信息可包含PU的参考索引及MV。运动补偿单元可至少部分地基于在由PU的运动向量指示的参考区处的实际或经内插样本而产生PU的预测性样本块。
[0151] 根据本发明的各种实例,视频编码器20可经配置以执行基于调色板的译码。相对于HEVC框架,作为实例,基于调色板的译码技术可经配置以用作CU模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的框架中的PU模式。因此,本文在CU模式的上下文中描述的过程(贯穿本发明)可另外或替代地适用于PU模式。然而,这些基于HEVC的实例不应被视为对本文所描述的基于调色板的译码技术的限定或限制,因为此些技术可应用以独立地工作或作为其它现有或尚待开发的系统/标准的一部分而应用。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
[0152] 当(例如)针对CU或PU选择基于调色板的编码模式时,基于调色板的编码单元122(例如)可执行基于调色板的解码。举例来说,基于调色板的编码单元122可经配置以产生具有指示像素值的条目的调色板,选择调色板中表示视频数据块的至少一些位置的像素值的像素值,且用信号表示使视频数据块的位置中的至少一些与调色板中分别对应于选定像素值的条目关联的信息。虽然将各种功能描述为由基于调色板的编码单元122执行,但此些功能中的一些或全部可由其它处理单元或不同处理单元的组合执行。
[0153] 基于调色板的编码单元122可经配置以产生本文中所描述的各种语法元素中的任一者。因此,视频编码器20可经配置以使用如本发明中所描述的基于调色板的译码模式对视频数据块进行编码。视频编码器20可选择性地使用调色板译码模式对视频数据块进行编码,或使用不同模式(例如,此HEVC帧间预测性或帧内预测性译码模式)对视频数据块进行编码。视频数据块可(例如)为根据HEVC译码过程产生的CU或PU。视频编码器20可以帧间预测性时间预测或帧内预测性空间译码模式对一些块进行编码,且以基于调色板的译码模式对其它块进行解码。
[0154] 帧内预测处理单元126可通过对PU执行帧内预测来产生PU的预测性数据。用于PU的预测性数据可包含用于PU的预测性样本块及各种语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。
[0155] 为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的多组预测性数据。当使用一些帧内预测模式来产生用于PU的预测数据的集合时,帧内预测单元126可在与帧内预测模式相关联的方向上跨PU的预测性块从相邻PU的样本块扩展样本的值。假定对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻PU可在所述PU的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目的帧内预测模式,例如,33个方向性帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区域的大小。
[0156] 预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真量度选择用于CU的PU的预测性数据。选定的预测性数据的预测性样本块在本文中可被称为选定预测性样本块。
[0157] 残余产生单元102可基于CU的译码块(例如亮度、Cb及Cr译码块)及CU的PU的选定预测性样本块(例如预测性亮度、Cb及Cr块)产生CU的残余块(例如亮度、Cb及Cr残余块)。举例来说,残余产生单元102可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定预测性样本块中的对应样本之间的差的值。
[0158] 变换处理单元104可执行四叉树分割以将与CU相关联的残余块分割成与CU的TU相关联的变换块。因此,在一些实例中,TU可与亮度变换块及两个色度变换块相关联。CU的TU的亮度变换块及色度变换块的大小及位置可或可不基于CU的PU的预测块的大小及位置。被称为“残余四叉树”(RQT)的四叉树结构可包含与区域中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
[0159] 变换处理单元104可通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可将各种变换应用到与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可被处理为变换系数块。
[0160] 量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间下舍入到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整适用于与CU相关联的系数块的量化程度。量化可引起信息丢失,因此经量化的变换系数可具有比原始变换系数更低的精度。
[0161] 反量化单元108及反变换处理单元110可分别将反量化及反变换应用于系数块,以从所述系数块重构残余块。重构单元112可将经重构的残余块添加到来自由预测处理单元100产生的一或多个预测性样本块的对应样本,以产生与TU相关联的经重构变换块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。
[0162] 滤波器单元114可执行一或多个解块操作以减少与CU相关联的译码块中的区块假影。经解码图片缓冲器116可在滤波器单元114对经重构的译码块执行一或多个解块操作之后存储经重构的译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构译码块以对处于与CU相同的图片中的其它PU执行帧内预测。
[0163] 熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,并且可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元118可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码数据的位流。举例来说,位流可包含表示用于CU的RQT的数据。
[0164] 在一些实例中,残余译码并不与调色板译码一起执行。因此,当使用调色板译码模式来译码时,视频编码器20可不执行变换或量化。另外,视频编码器20可对单独地使用调色板译码模式从残余数据产生的数据进行熵编码。
[0165] 根据本发明的技术中的一或多者,视频编码器20,且确切地说,基于调色板的编码单元122,可执行所预测视频块的基于调色板的视频译码。如上文所描述,视频编码器20所产生的调色板可经显式编码并发送到视频解码器30,从先前调色板条目预测,从先前像素值预测,或其组合。
[0166] 基于调色板的编码单元122可应用本发明的技术以略过在特定情形下对经调色板译码块的像素的调色板索引值的映射的编码。根据本发明的各方面,如果基于调色板的编码单元122确定块的所有像素具有相同颜色,那么基于调色板的编码单元122可略过对经调色板译码块的调色板索引值的映射的编码。举例来说,基于调色板的编码单元122可确定图片的经调色板译码的CU为“单一颜色CU”,且可针对所述单一颜色CU略过对调色板索引值的映射的编码及用信号表示。
[0167] 更确切地说,如果当前CU满足两个条件,那么基于调色板的编码单元122可确定经调色板译码的CU是否是单一颜色CU。基于调色板的编码单元122可用于确定经调色板译码的CU是否为单一颜色CU的第一条件是对应调色板的大小是否等于一(1)。如果调色板的大小等于一,那么基于调色板的编码单元122可确定相对于经调色板译码的CU是单一颜色CU符合第一条件。更确切地说,如果调色板大小是一,那么基于调色板的编码单元122可确定调色板仅包含对应于经调色板译码的CU的(非逸出)像素的一个颜色。在调色板大小是一的一些实例中,基于调色板的编码单元122可确定包含在调色板中的唯一索引值是零(0)。
[0168] 如果基于调色板的编码单元122确定用于经调色板译码的CU的调色板大小是1(即,符合第一条件),那么基于调色板编码的单元122可确定经调色板译码的CU是否符合将为单一颜色CU的第二条件。基于调色板的编码单元122可用于确定经调色板译码的CU是否为单一颜色CU的第二条件是经调色板译码的CU并不包含任何逸出像素。如果经调色板译码的CU包含至少一个逸出像素,那么视频编码器20可确定尽管对应调色板指示相对于经调色板译码的CU的仅一个颜色,但经调色板译码的CU包含两个或两个以上颜色的像素。举例来说,经调色板译码的CU可包含具有调色板中指示的颜色的至少一个像素及具有不同颜色的至少一个逸出像素。
[0169] 如果基于调色板的编码单元122确定经调色板译码的CU满足上述两个条件,那么基于调色板的编码单元122可确定经调色板译码的CU是单一颜色CU。更确切地说,如果经调色板译码的CU与单一条目调色板相关联(由调色板大小一展示),且经调色板译码的CU并不包含任何逸出像素,那么基于调色板的编码单元122可确定经调色板译码的CU的所有个别像素具有相同颜色(即,由对应调色板的单一条目指示的颜色)。在各种实施方案中,基于调色板的编码单元122可相对于单一颜色分量基础(相对于调色板)或相对于指示一个以上颜色分量的组合索引应用上文描述的单一颜色CU识别技术。
[0170] 响应于确定经调色板译码的CU包含仅一个颜色的像素(即,CU是单一颜色CU),基于调色板的编码单元122可实施本发明的技术以略过对单一颜色CU的像素的调色板索引值的映射的编码。通过略过对CU的调色板索引值的映射的编码,基于调色板的编码单元122可节省原本可能已消耗用于将CU的颜色编码及用信号表示的计算资源及带宽。代替对单一颜色CU的像素的调色板索引值的映射进行编码,基于调色板的编码单元122可实施本发明的技术以更高效地指示组成单一颜色CU的整个像素集合的颜色信息。在基于调色板的编码单元122略过对检测到的单一颜色CU的所有个别像素的调色板索引的编码的情况下,视频编码器20(或其一或多个组件)可不需要用信号表示CU的像素的调色板索引值的映射,借此节省计算资源且减少带宽消耗。
[0171] 根据本发明的一些实例,基于调色板的编码单元122可对旗标进行编码,所述旗标用于指示视频编码器20略过以逐行为基础对单一颜色CU的调色板索引值的映射的编码(用信号表示)。通过对用于整个CU的一位旗标而不是CU的像素的调色板索引值的映射(具有任何大小)进行编码,基于调色板的编码单元122可致使视频编码器20与现有基于调色板的译码技术相比节省计算资源及信令带宽。此外,基于调色板的编码单元122可维持经编码的单一颜色CU的精确度及质量,因为由基于调色板的编码单元122编码且由用于CU的视频编码器20用信号表示的单一条目调色板包含用于CU的所有像素的颜色信息。在各种实例中,基于调色板的编码单元122可通过各种方法(例如,在SPS、PPS或切片标头中)对旗标进行编码。在各种实例中,基于调色板的编码单元122也可以每CTU基础、每CU基础或针对任何块大小的块对旗标进行编码。
[0172] 在其它实例中,基于调色板的编码单元122可实施本发明的技术以导出针对用于经调色板译码块的调色板的误差极限。如本文所使用,术语“误差极限”或“调色板误差极限”可指调色板的条目可包含的像素值(例如,颜色信息方面)的最小变化。更确切地说,调色板误差极限界定任何两个调色板条目必须显示的颜色值的最小变化。如所描述,为了根据基于调色板的译码对块进行编码,基于调色板的编码单元122可构造对应调色板以包含在所述块内最频繁出现(以逐像素基础)的颜色值。
[0173] 换句话说,基于调色板的编码单元122可通过在调色板中群集块的高发生率(或相对较高发生率)像素值来构造调色板。基于调色板的编码单元122可选择高发生率像素值使得所述像素值显示颜色信息方面的至少一特定最小变化。在高发生率的像素值的选定集合内的像素值之间的最小变化继而可形成对应调色板的误差极限。应了解,尽管调色板误差极限可包含若干像素值,但是调色板可未必包含显示至少调色板误差极限的每一对像素值。因此,相同调色板误差极限可适用于不同大小的调色板。基于调色板的编码单元122可在确定将包含在调色板中的颜色值时使用调色板误差极限。
[0174] 基于调色板的编码单元122可实施本发明的技术以界定调色板的误差极限。根据本发明的各个方面,基于调色板的编码单元122可基于经调色板译码块的量化参数(QP)确定调色板误差极限。在各种实例中,基于调色板的编码单元122可确定调色板误差极限与对应块的QP值成正比。更确切地说,在这些实例中,基于调色板的编码单元可针对以较大QP值量化的块指派调色板的较大误差限制,且针对以较小QP值量化的块指派调色板的较小误差限制。
[0175] 另外,基于调色板的编码单元122可实施本文中所描述的技术以通过存储将经调色板译码块的QP值映射到对应调色板误差极限的表而导出调色板误差极限。基于调色板的编码单元122继而可从表中存取特定调色板误差极限条目以便确定对应调色板。通过使用将调色板误差极限映射到经调色板译码块的QP的表,基于调色板的编码单元122与现有基于调色板的译码技术相比可改进计算效率。更确切地说,通过实施本文中描述的基于映射表的调色板误差极限导出技术,基于调色板的编码单元122可节省原本可能已根据现有技术消耗的资源,这依赖于执行用于导出每一调色板的误差极限的函数。
[0176] 因此,基于调色板的编码单元122可界定可容纳更多数目个调色板索引以需要以较大QP值量化的块的像素值之间的较大变化的调色板,并且可界定需要以较大QP值量化的像素值之间的较小变化的调色板。以此方式,基于调色板的编码单元122可实施本发明的各种技术以基于用以量化对应块的QP值定制调色板(基于调色板的误差极限),借此基于块的QP值确定块的调色板的内容。另外,基于调色板的编码单元122可产生及/或存储用于反映每一QP值与对应调色板误差极限之间的关系的表(例如,映射表或查询表)。以此方式,基于调色板的编码单元122可实施本发明的技术以与在现有调色板译码技术中相比通过计算成本较低的方式导出对应调色板的调色板误差极限,这依赖于求解用于导出每一调色板的误差极限的函数。
[0177] 在一些实例中,基于调色板的编码单元122可针对经量化的逸出像素导出实施本发明的各种方式。更确切地说,基于调色板的编码单元122可实施所述技术以界定用于逸出像素的QP的量化值。举例来说,根据基于调色板的译码技术,如果基于调色板的编码单元122检测到经调色板译码块中的逸出像素,那么基于调色板的编码单元122可对像素值或其预测误差进行编码,因为对应调色板并不包含逸出像素的任何条目。另外,为节省信令带宽,量化单元106可在由视频编码器20的其它组件用信号表示之前量化逸出像素的经编码像素值。
[0178] 根据现有基于调色板的译码技术,未界定用于量化逸出像素的量化值(QP值)。基于调色板的编码单元122可实施本发明的技术以界定用于量化逸出像素的QP值。更确切地说,基于调色板的编码单元122可将用于逸出像素的QP值界定为等于用于相同颜色通道内的传统系数编码的QP值。因此,基于调色板的编码单元122可根据单一QP值量化给定颜色通道内的所有逸出像素。另外,由于基于调色板的编码单元122可界定用于仅单一颜色通道内的所有逸出像素的QP值,所以基于调色板的编码单元122可使用不同QP值以相对于不同颜色通道量化逸出像素。
[0179] 另外,基于调色板的编码单元122可实施本发明的其它技术以使用旗标来指示及/或检测逸出像素包含在经调色板译码块中。根据现有基于调色板的译码技术,可使用“预留的”调色板索引值用信号表示及检测逸出像素。举例来说,根据现有基于调色板的译码技术,指示逸出像素的预留调色板索引值可为32。更确切地说,调色板索引值32可用于所有逸出像素,而不管两个逸出像素是否具有不同像素值。因此,根据现有基于调色板的译码技术,视频译码装置可使用针对经调色板译码块的每一逸出像素的5位值(32)。
[0180] 基于调色板的编码单元122可实施本发明的技术以节省计算资源(例如,存储装置及存储器)且减少带宽消耗,同时相对于用信号表示经调色板译码块中的逸出像素的指示维持图片精确度。举例来说,基于调色板的编码单元122可对旗标(例如,一位数据单元)进行编码以指示经调色板译码块中的像素是否是逸出像素。如本文所描述,当启用时,旗标可指示相关联像素被指派称为“其它索引”的调色板索引。基于调色板的编码单元122可使用旗标的“其它索引”状态来替换调色板索引值32,所述调色板索引值32传统地用于相对于调色板指示逸出像素。因此,基于调色板的编码单元122可对一位旗标而不是5位索引值进行编码(且视频编码器20的其它组件可用信号表示)以指示经调色板译码块的像素是逸出像素。视频编码器20(或其一或多个组件)继而可在经编码视频位流中将像素值或其残余数据编码及用信号表示。
[0181] 基于调色板的编码单元122及量化单元106中的一或两者还可实施本发明的技术以根据基于调色板的译码量化逸出像素的像素值。举例来说,基于调色板的编码单元122及/或量化单元106可根据本发明的各方面通过量化逸出像素的像素值而节省计算资源(例如,内存占用率、处理器时钟循环等)。在一些实例中,量化单元106可实施本文中描述的技术以通过用移位运算(例如,右移位运算)代替除法运算来量化逸出像素值。更确切地说,量化单元106可基于对应逸出像素的QP值确定特定右移位运算。举例来说,量化单元106可通过求解包含QP值作为参数或操作数的函数而导出右移位值。
[0182] 举例来说,根据现有技术,基于调色板的编码单元122可形成将每一逸出像素的QP值映射到适用于像素值的右移位的量的表。基于调色板的编码单元122可形成包含52个条目的表。举例来说,52条目映射表可提供与给定逸出像素的每一可能QP值相对应的右移位量。量化单元106继而可应用映射操作以基于表中的对应QP值条目确定每一像素的右移位量。
[0183] 在各种实例中,量化单元106可实施本发明的各种技术以通过基于将线性函数应用于逸出像素值以确定右移位量来确定逸出像素的右移位量而量化逸出像素。量化单元106可应用于导出用于量化逸出像素的右移位量的线性函数的实例如下:
[0184] Right_shift=a*((QP+b)>>c)+d,
[0185] 其中a、b、c及d均是整数参数。另外,“>>”运算符表示右移位运算。在应用以上等式的特定结果中,量化单元106可确定逸出像素值的右移位量是3。所得右移位运算可表达为Right_shift=(QP>>3)。通过求解函数(例如,上述线性函数),量化单元106可使解码装置(例如,视频解码器30及/或其各种组件)能够解量化逸出像素,同时节省原本将消耗用于存储52条目表的存储资源。以此方式,量化单元106可实施本发明的技术以量化逸出像素,同时相对于视频解码器30减少存储需求。
[0186] 本发明中描述的技术还可包含用于以下各项中的一或多者的各种组合的技术:用信号表示基于调色板的译码模式;发射调色板;预测调色板;导出调色板,或发射基于调色板的译码映射及其它语法元素。
[0187] 图3是说明经配置以实施本发明的技术的实例视频解码器30的框图。图3是出于解释的目的而提供,并且并不如本发明所广泛举例说明及描述来限制所述技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
[0188] 在图3的实例中,视频解码器30包含视频数据存储器148、熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重构单元158、滤波器单元160及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164及帧内预测处理单元166。视频解码器30还包含基于调色板的解码单元165,其经配置以执行本发明中描述的基于调色板的译码技术的各种方面。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。
[0189] 视频数据存储器148可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储在视频数据存储器148中的视频数据可经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体(例如)从计算机可读媒体16获得,例如从本地视频源(例如相机)获得。视频数据存储器148可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为参考图片存储器,其存储用于通过视频解码器30例如在帧内或帧间译码模式中对视频数据进行解码的参考视频数据。视频数据存储器148及经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器148及经解码图片缓冲器162可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器148可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
[0190] 视频数据存储器148(即,CPB)可接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从视频数据存储器148接收经编码视频数据(例如,NAL单元),且可解析NAL单元以对语法元素进行解码。熵解码单元150可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元152、反量化单元154、反变换处理单元156、重构单元158及滤波器单元160可基于从位流获得(例如,提取)的语法元素来产生经解码视频数据。
[0191] 位流的NAL单元可包含经译码切片的NAL单元。作为对位流进行解码的一部分,熵解码单元150可从经译码切片的NAL单元提取语法元素且对所述语法元素进行熵解码。经译码切片中的每一者可包含切片标头及切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。
[0192] 除了对来自位流的语法元素进行解码之外,视频解码器30可对未分割CU执行重构操作。为对未分割CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残余块。
[0193] 作为对CU的TU执行重构操作的一部分,反量化单元154可反量化(即,解量化)与TU相关联的系数块。反量化单元154可使用与TU的CU相关联的QP值来确定量化的程度及(同样)反量化单元154将应用的反量化的程度。也就是说,可通过调整在量化变换系数时所使用的QP的值来控制压缩比,即,用于表示原始序列及经压缩序列的位的数目的比率。压缩比还可取决于所采用的熵译码的方法。
[0194] 在反量化单元154反量化系数块之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与TU相关联的残余块。举例来说,反变换处理单元156可将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。
[0195] 如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以产生PU的预测性块。帧内预测处理单元166可使用帧内预测模式,以基于空间上相邻的PU的预测块产生用于PU的预测性亮度、Cb及Cr块。帧内预测处理单元166可基于从位流解码的一或多个语法元素确定用于PU的帧内预测模式。
[0196] 预测处理单元152可基于从位流提取的语法元素来构造第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果使用帧间预测对PU进行编码,那么熵解码单元150可提取用于PU的运动信息。运动补偿单元164可基于PU的运动信息来确定用于PU的一或多个参考区。运动补偿单元164可基于在PU的一或多个参考块处的样本块而产生PU的预测性块(例如,预测性亮度、Cb及Cr块)。
[0197] 重构单元158可使用与CU的TU相关联的变换块(例如,亮度、Cb及Cr变换块)及CU的PU的预测性块(例如,亮度、Cb及Cr块)(即,在适用时,帧内预测数据或帧间预测数据)来重构CU的译码块(例如,亮度、Cb及Cr译码块)。举例来说,重构单元158可将变换块(例如,亮度、Cb及Cr变换块)的样本添加到预测性块(例如,预测性亮度、Cb及Cr块)的对应样本以重构CU的译码块(例如,亮度、Cb及Cr译码块)。
[0198] 滤波器单元160可执行解块操作以减少与CU的译码块(例如,亮度、Cb及Cr译码块)相关联的区块假影。视频解码器30可将CU的译码块(例如,亮度、Cb及Cr译码块)存储在经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测及在显示装置(例如图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的块(例如,亮度、Cb及Cr块)对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可从位流提取有效系数块的变换系数层级,对所述变换系数层级进行反量化,对所述变换系数层级应用变换以产生变换块,至少部分基于变换块产生译码块并且输出译码块以供显示。
[0199] 根据本发明的各种实例,视频解码器30可经配置以执行基于调色板的译码。当基于调色板的解码模式经选择(例如)用于CU或PU时,基于调色板的解码单元165(例如)可执行基于调色板的解码。举例来说,基于调色板的解码单元165可经配置以产生具有指示像素值的条目的调色板。此外,在此实例中,基于调色板的解码单元165可接收使视频数据块的至少一些位置与调色板中的条目相关联的信息。在此实例中,基于调色板的解码单元165可基于所述信息来选择调色板中的像素值。另外,在此实例中,基于调色板的解码单元165可基于选定像素值来重构所述块的像素值。虽然将各种功能描述为由基于调色板的解码单元165执行,但此些功能中的一些或全部可由其它处理单元或不同处理单元的组合来执行。
[0200] 基于调色板的解码单元165可接收调色板译码模式信息,且当调色板译码模式信息指示调色板译码模式应用于块时执行上述操作。当调色板译码模式信息指示调色板译码模式未应用于块时,或当其它模式信息指示不同模式的使用时,基于调色板的解码单元165在调色板译码模式信息指示调色板译码模式未应用于块时使用非基于调色板的译码模式(例如,此HEVC帧间预测性或帧内预测性译码模式)对视频数据块进行解码。视频数据块可(例如)为根据HEVC译码过程产生的CU或PU。视频解码器30可以帧间预测性时间预测或帧内预测性空间译码模式对一些块进行解码且以基于调色板的译码模式对其它块进行解码。基于调色板的译码模式可包括多个不同基于调色板的译码模式中的一者,或可存在单个基于调色板的译码模式。
[0201] 根据本发明的技术中的一或多者,视频解码器30,且确切地说,基于调色板的解码单元165,可执行经调色板译码的视频块的基于调色板的视频解码。如上所述,由视频解码器30解码的调色板可由视频编码器20显式地编码及用信号表示,由视频解码器30相对于所接收的经调色板译码块重构,从先前调色板条目预测,从先前像素值预测,或其组合。
[0202] 如上文所描述,如果经调色板译码的视频块满足一组特定条件,那么视频编码器20(及其各种组件,例如基于调色板的编码单元122)可略过对用于块的像素的调色板索引值的映射的编码及用信号表示。在视频编码器20略过对用于经调色板译码的单一颜色块的调色板索引值的映射的编码及用信号表示的实例中,视频解码器30(及其特定组件,例如基于调色板的解码单元165)可应用本发明的各种技术来重构单一颜色块。在一些实例中,基于调色板的解码单元165可执行与上文相对于视频编码器20的基于调色板的编码单元122描述的操作互逆的操作,以确定经调色板译码块为单一颜色块。举例来说,基于调色板的解码单元165可确定当前块的调色板具有大小一,借此确定所述块满足使其具有资格作为单一颜色块的第一条件。在各种实例中,视频解码器30可在经编码视频位流中从视频编码器
20接收调色板,或可使用包含在经编码视频位流中的各种其它数据导出所述调色板。
[0203] 另外,视频解码器30可确定所述块并不包含任何逸出像素,借此确定所述块满足使其具有资格作为单一颜色块的第二条件。基于确定块的调色板的大小为一(因此满足第一条件)且所述块并不包含任何逸出像素(因此满足第二条件),基于调色板的解码单元165可实施本发明的技术以确定当前块为单一颜色块。基于调色板的解码单元165继而可通过根据对应调色板的单一条目中指示的颜色信息重构单一颜色块的所有像素来重构单一颜色块。以此方式,基于调色板的解码单元165可实施本发明的技术以准确地重构经调色板译码块,同时节省原本将需要用于通过依赖于块的所有像素的调色板索引值的映射重构块的计算资源及带宽。
[0204] 在一些实例中,根据本发明的技术,视频解码器30可在经编码视频位流中接收旗标,所述旗标指示视频编码器20是否略过对用于经调色板编码块的一或多个像素的调色板索引值的映射的编码及用信号表示。在视频解码器30接收指示视频编码器20确实略过对经调色板编码块的调色板索引值的映射的编码及用信号表示的旗标的情况下,基于调色板的解码单元165可实施本发明的技术以确定当前块是经调色板译码的且为单一颜色块。更确切地说,如果旗标经启用(例如,设定成值一),那么基于调色板的解码单元165可确定经调色板译码块为单一颜色块。基于调色板的解码单元165继而可实施本发明的技术以根据块的调色板中的单一条目的颜色信息重构块的所有像素。因此,基于调色板的解码单元165可实施本发明的技术以使用用于整个块的一位旗标而非使用用于块的不同像素或像素群组(例如,行)的(不同位深的)的单独索引值来准确地重构经调色板编码块。以此方式,基于调色板的解码单元165可在重构单一经调色板译码块时节省视频解码器30处的计算资源支出,且可减小视频解码器30需要用于接收重构单一经调色板译码块所必需的数据的带宽,同时维持精确度及图片质量。
[0205] 如所描述,视频编码器20(及其组件,例如基于调色板的编码单元122及/或量化单元106)可实施本发明的特定技术以用增强的计算效率量化经调色板译码块的逸出像素值。根据本发明的各种技术,视频解码器30(及其各种组件,例如基于调色板的解码单元165及/或反量化单元154)可执行与上文相对于视频编码器20描述的操作互逆的操作,以解量化逸出像素。举例来说,反量化单元154可基于在经编码视频位流中从视频编码器20接收的信息使用相同QP值解量化单一颜色通道的所有逸出像素。更确切地说,根据本发明的各方面,反量化单元154可使用QP值解量化在特定颜色通道上传送的任何逸出像素(或预测误差/其残余值),所述QP值是基于用于在当前颜色通道上传送的块的传统变换系数解量化的QP值而确定。在一些实例中,反量化单元154可实施本发明的技术以基于在不同通道之间不同的用于传统变换系数译码的QP值使用不同QP值解量化在不同颜色通道上传送的逸出像素。
[0206] 以此方式,视频解码器30可实施本文中所描述的技术以界定及应用单一QP值(以解量化)在特定颜色通道上传送的所有逸出像素。因此,视频解码器30可应用本发明的各方面来界定通过基于调色板的译码检测到的逸出像素的QP值,其中现有基于调色板的译码技术并不界定逸出像素的QP值。
[0207] 在一些实例中,视频解码器30的组件(例如,反量化单元154)可实施本发明的技术以执行与上文相对于视频编码器20(及/或其组件,例如量化单元106)描述的操作互逆的操作,以解量化经量化的逸出像素值。举例来说,反量化单元154可实施本发明的技术以基于在解量化对应的经量化逸出像素值时的QP值计算移位量(例如,用于对应左移位运算)。以此方式,反量化单元154还可应用本发明的各方面以通过利用函数而不是存储52条目映射表来节省计算资源(例如,存储装置利用率)。
[0208] 图4是说明视频解码装置可借以实施本发明的技术以基于一组特定条件略过对经调色板译码块的像素的索引值的解码的实例过程180的流程图。虽然过程180可由多种装置根据本发明的各方面执行,但过程180出于方便描述的目的在本文中相对于图1及3的视频解码器30描述。过程180可在视频解码器30确定包含在调色板中的用于表示待解码的视频数据块的像素值的条目的数目时开始(182)。另外,视频解码器30可确定视频数据块是否包含不与调色板的条目中的任一者相关联的至少一个逸出像素(184)。举例来说,如果块的像素的颜色信息并不映射到调色板的任何条目,那么视频解码器30可将此像素识别为逸出像素。在各种实例中,视频解码器30可使用由视频编码器20用信号表示的旗标或通过由视频编码器20用信号表示的索引值(例如,上文描述的“其它索引”)识别逸出像素。
[0209] 视频解码器30继而可响应于确定包含在调色板中的条目的数目等于一个且视频数据块并不包含至少一个逸出像素而略过对用于视频数据块的像素值的与调色板相关联的索引值的解码(186)。作为一个实例,视频解码器30可接收与视频数据块相关联的经编码视频数据(例如语法元素及/或旗标)作为经编码视频位流的一部分,其中与所述块相关联的经编码视频数据并不包含与用于块的像素值的调色板相关联的索引值。另外,视频解码器30可确定视频数据块的像素值等于包含在调色板中的一个条目(188)。举例来说,视频解码器30可通过向块的所有像素指派由调色板的单一条目指示的颜色信息来重构所述块。
[0210] 在一个实例中,视频解码器30可进一步接收指示是否针对视频数据块对索引值进行编码的旗标作为经编码视频位流的一部分。在一个实例中,为了确定包含在调色板中的条目的数目,视频解码器30可接收指示调色板中的条目的数目是否等于一的旗标作为经编码视频位流的一部分。在一个实例中,为了确定视频数据块是否包含至少一个逸出像素,视频解码器30可接收指示所述视频数据块是否包含至少一个逸出像素的旗标作为经编码视频位流的一部分。在一个实例中,视频解码器30可接收与调色板相关联的一或多个语法元素作为经编码视频位流的一部分。在此实例中,视频解码器30可对与调色板相关联的一或多个语法元素进行解码。
[0211] 图5是说明视频编码装置可借以实施本发明的技术以基于一组特定条件略过对经调色板译码块的像素的索引值的编码的实例过程200的流程图。虽然过程200可由多种装置根据本发明的各方面执行,但过程200出于方便描述的目的在本文中相对于图1及2的视频编码器20描述。过程200可在视频编码器20确定包含在调色板中的用于表示待编码的视频数据块的像素值的条目的数目时开始(202)。另外,视频编码器20可确定视频数据块是否包含不与调色板中的条目中的任一者相关联的至少一个逸出像素(204)。
[0212] 视频编码器20继而可响应于确定包含在调色板中的条目的数目等于一个且视频数据块并不包含至少一个逸出像素而确定块的像素值等于调色板的一个条目,且略过对用于视频数据块的像素值的与调色板相关联的索引值的编码(206)。举例来说,视频编码装置20可对块的数据(例如,语法元素及/或旗标)进行编码,而不对将块的像素值映射到调色板中的对应于所述块的条目的索引值进行编码。另外,视频编码装置20可对与视频数据块相关联的一或多个语法元素进行编码(208)。
[0213] 在一个实例中,为了对一或多个语法元素进行编码,视频编码器20可对指示是否针对视频数据块的像素值对索引值进行编码的旗标进行编码作为经编码视频位流的一部分。在一个实例中,为了对一或多个语法元素进行编码,视频编码器20可对指示调色板的大小是否等于一的旗标进行编码作为经编码视频位流的一部分。在一个实例中,为了对一或多个语法元素进行编码,视频编码器20可对指示视频数据块是否包含至少一个逸出像素的旗标进行编码作为经编码视频位流的一部分。在一个实例中,视频编码器20可对与调色板相关联的一或多个语法元素进行编码。在此实例中,视频编码器20可用信号表示与调色板相关联的一或多个语法元素作为经编码视频位流的一部分。
[0214] 图6是说明视频解码装置可借以实施本发明的技术以解量化视频数据的经调色板译码块的一或多个逸出像素的实例过程220的流程图。虽然过程220可由多种装置根据本发明的各方面执行,但过程220出于方便描述的目的在本文中相对于图1及3的视频解码器30描述。过程220可在视频解码器30确定用于表示待解码的视频数据块的像素值的调色板时开始(222)。另外,视频解码器30可在视频数据块中识别不与调色板中的一或多个条目中的任一者相关联的一或多个逸出像素(224)。
[0215] 视频解码器30继而可基于用于非基于调色板的译码中的变换系数译码的量化参数(QP)值识别针对给定颜色通道的块的所有一或多个逸出像素的单一QP值(226)。举例来说,视频解码器30可确定单一QP值等于用于与块相关联的颜色通道的传统系数解码的QP值。另外,视频解码器30可使用所识别的单一QP值解量化一或多个逸出像素中的每一者(228)。视频解码器30继而可基于经解量化的逸出像素及针对视频数据块中的一或多个像素接收的与调色板中的一或多个条目相关联的索引值确定视频数据块的像素值(230)。
[0216] 在一个实例中,调色板中的任何两个条目变化的量是至少一调色板误差极限。在一个实例中,调色板误差极限与同块相关联的调色板QP值成正比。在一个实例中,为了识别一或多个逸出像素,视频解码器30在经编码视频位流中接收与一或多个逸出像素中的每一者相关联的一位旗标,并且基于每一所接收的一位旗标的值确定一或多个逸出像素中的每一者不与调色板的条目中的任一者相关联。在一个实例中,为了确定一或多个逸出像素中的每一者不与调色板的条目中的任一者相关联,视频解码器30可基于每一所接收的一位旗标的值且在不对与逸出像素相关联的预定义其它索引值进行解码的情况下确定一或多个逸出像素中的每一者不与调色板的条目中的任一者相关联。
[0217] 图7是说明视频编码装置可借以实施本发明的技术以量化视频数据的经调色板译码块的一或多个逸出像素的实例过程240的流程图。虽然过程240可由多种装置根据本发明的各方面执行,但过程240出于方便描述的目的在本文中相对于图1及2的视频编码器20描述。过程200可在视频编码器20确定用于表示待编码的视频数据块的像素值的调色板时开始(242)。另外,视频编码器20可在视频数据块中识别不与调色板中的一或多个条目中的任一者相关联的一或多个逸出像素(244)。
[0218] 视频编码器20继而可识别用于块的所有一或多个逸出像素的单一量化参数(QP)值(246)。举例来说,视频编码器20可确定单一QP值等于用于与块相关联的颜色通道的传统系数编码的QP值。另外,视频编码器20可使用所识别的单一QP值量化一或多个逸出像素中的每一者(228)。
[0219] 在一个实例中,为了识别单一QP值,视频编码器20可确定单一QP值等于用于与块相关联的颜色通道的传统系数编码的QP值。在一个实例中,视频编码器20可确定调色板的调色板误差极限与同块相关联的QP值成正比,其中调色板的任何两个条目变化的量是至少一调色板误差极限。在一个实例中,为了确定调色板误差极限,视频编码器20可使用将调色板误差极限映射到与块相关联的QP值的表来识别调色板误差极限。在一个实例中,视频编码器20可在不对与逸出像素相关联的预定义其它索引值进行编码的情况下对与一或多个逸出像素中的每一者相关联的一位旗标进行编码,其中每个一位旗标的值指示一或多个逸出像素中的相应一者不与调色板的条目中的任一者相关联。在一个实例中,为了使用所识别的单一QP值量化一或多个逸出像素中的每一者,视频编码器20可求解基于所识别的单一QP值的函数。在一个此种实例中,为了求解函数,视频编码器20可执行基于所识别的单一QP值的右移位运算。
[0220] 在一些实例中,用于视频数据的基于调色板的译码的技术可与例如用于帧间或帧内预测性译码的技术等一或多个其它译码技术一起使用。举例来说,如下文更详细地描述,编码器或解码器或组合编码器-解码器(编解码器)可经配置以执行帧间及帧内预测性译码以及基于调色板的译码。
[0221] 应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序执行、可添加、合并或全部省略(例如,实践所述技术并不需要所有的所描述动作或事件)。此外,在某些实例中,可例如经由多线程处理、中断处理或多个处理器同时而非循序执行动作或事件。此外,虽然为了清晰起见,本发明的某些方面被描述为是通过单个模块或单元执行,但是应理解,本发明的技术可通过与视频译码器相关联的单元或模块的组合执行。
[0222] 出于说明的目的,已经相对于开发HEVC标准而描述本发明的某些方面。然而,本发明中描述的技术可有用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
[0223] 上文所描述的技术可由视频编码器20(图1及2)及/或视频解码器30(图1及3)执行,其两者可大体上被称作视频译码器。同样地,在适用时,视频译码可指视频编码或视频解码。
[0224] 虽然在上文描述所述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中描述的技术的实例。因此,本发明的技术不应限于这些实例组合且可涵盖本发明中描述的技术的各种方面的任何可设想的组合。
[0225] 在一或多个实例中,所描述的功能可用硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体,或包含任何促进将计算机程序从一处传送到另一处的任何媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体通常可对应于(1)有形计算机可读存储媒体,其是非暂时性的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一个或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0226] 借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的任何其它媒体。并且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上的组合也应该包含在计算机可读媒体的范围内。
[0227] 指令可以由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置用于编码及解码的专用硬件及/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
[0228] 本发明的技术可在各种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件及/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
[0229] 描述了各种实例。这些及其它实例属于以下权利要求书的范围内。