基于调色板的视频译码中的逃脱样本译码方法、装置及设备转让专利

申请号 : CN201580025838.9

文献号 : CN106464883B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 瑞珍·雷克斯曼·乔许瓦迪姆·谢廖金濮伟马尔塔·卡切维奇霍埃尔·索赖罗哈斯克里希纳坎斯·拉帕卡

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

摘要 :

在实例中,本发明提供一种处理视频数据的方法,其包含确定块层级语法元素的值,所述块层级语法元素指示对于视频数据的块的所有样本来说,所述块的至少一相应样本是否基于并不包含于用于译码视频数据的所述块的色彩的调色板中的所述至少一相应样本的色彩值而译码。所述方法还包含基于所述值译码视频数据的所述块。

权利要求 :

1.一种处理视频数据的方法,所述方法包括:

确定块层级逃脱旗标的值,所述块层级逃脱旗标指示对于视频数据的块的所有样本来说,所述块的至少一个相应样本是否译码为具有色彩值的逃脱样本,所述色彩值并不包含于用于译码视频数据的所述块的色彩的调色板中;及基于所述块层级逃脱旗标的所述值译码视频数据的所述块。

2.根据权利要求1所述的方法,其中视频数据的所述块包括视频数据的译码单元CU,且其中确定所述块层级逃脱旗标的所述值包括确定用于所述CU的所述块层级逃脱旗标的所述值。

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

译码用于所述CU的所述调色板的调色板条目;及

在译码所述调色板的所述调色板条目之后,译码用于所述CU的所述块层级逃脱旗标。

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

译码用于所述CU的所述块层级逃脱旗标;及

在译码用于所述CU的所述块层级逃脱旗标之后,译码用于所述CU的所述调色板的调色板条目。

5.根据权利要求2所述的方法,其进一步包括基于所述CU的大小有条件地译码用于所述CU的所述块层级逃脱旗标,其中有条件地译码用于所述CU的所述块层级逃脱旗标包括仅在所述CU的所述大小超过阈值大小时,译码所述块层级逃脱旗标。

6.根据权利要求1所述的方法,其中所述块层级逃脱旗标的所确定的所述值指示所述块的所有样本是通过所述调色板的至少一色彩译码,且其中所述方法进一步包括:确定指示用于所述块的所述调色板的调色板索引的数目的调色板大小;且其中,基于所确定的所述调色板大小为一个索引,译码所述块包括基于所述一个索引译码所述块的所有样本,而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法。

7.根据权利要求6所述的方法,其中译码所述块而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法包括译码所述块而不译码以下各数据中的至少一者:指示所述块的样本的调色板模式的数据、指示用于所述块的所述调色板的索引值的数据,及指示所述调色板的调色板索引的行程的数据。

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

确定指示用于所述块的所述调色板的调色板索引的数目的调色板大小;且其中,基于所确定的所述调色板大小为零个索引,确定所述块层级逃脱旗标的所述值包括推断所述逃脱旗标的所述值,其中推断所述块层级逃脱旗标的所述值包括确定所述块层级逃脱旗标的所述值而不译码所述块层级逃脱旗标的所述值,且其中所述逃脱旗标的所推断的所述值指示所述块的所有样本是基于并不包含于所述调色板中的所述色彩而译码。

9.根据权利要求8所述的方法,其中,基于所确定的所述调色板大小为零个索引,译码所述块包括通过并不包含于所述调色板中的所述色彩值译码所述块的所有样本,而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法。

10.根据权利要求9所述的方法,其中译码所述块而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法包括译码所述块而不译码以下各数据中的至少一者:指示所述块的样本的调色板模式的数据、指示用于所述块的所述调色板的调色板索引的数据,及指示所述调色板的调色板索引的行程的数据。

11.根据权利要求1所述的方法,其中译码包括编码,且其中基于所述值编码视频数据的所述块包括:基于所确定的所述值指示所述块的至少一个相应样本并非基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而编码,确定用于所述块的所述样本的相应索引值,其中所述相应索引值识别所述调色板的相应条目;

基于所确定的所述值指示所述块的至少一个相应样本是基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而编码,确定用于所述块的所述样本的相应索引值,其中所述相应索引值识别所述调色板的相应条目,且其中所述相应索引值中的一者指示逃脱样本;及在经编码位流中编码所述相应索引值。

12.根据权利要求1所述的方法,其中译码包括解码,且其中基于所述值解码视频数据的所述块包括:从经编码位流获得用于所述块的样本的相应索引值,其中所述相应索引值识别所述调色板的条目;

基于所确定的所述值指示所述块的至少一个相应样本并非基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而解码,通过使所述相应索引值与所述调色板的所述条目中的至少一者匹配而确定用于所述样本的值;及基于所确定的所述值指示所述块的至少一个相应样本是基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而解码,通过使所述相应索引值与所述调色板的所述条目中的至少一者匹配而确定用于所述样本的值,及解码用于并不包含于色彩的所述调色板中的所述色彩值的至少一色彩值。

13.一种用于处理视频数据的装置,所述装置包括:

存储器,其经配置以存储视频数据的样本的块;及

一或多个处理器,其经配置以进行以下操作:

确定块层级逃脱旗标的值,所述块层级逃脱旗标指示对于视频数据的块的所有样本来说,所述块的至少一个相应样本是否译码为具有色彩值的逃脱样本,所述色彩值并不包含于用于译码视频数据的所述块的色彩的调色板中;及基于所述块层级逃脱旗标的所述值译码视频数据的所述块。

14.根据权利要求13所述的装置,其中视频数据的所述块包括视频数据的译码单元CU,且其中为了确定所述块层级逃脱旗标的所述值,所述一或多个处理器经配置以确定用于所述CU的所述块层级逃脱旗标的所述值。

15.根据权利要求14所述的装置,其中所述一或多个处理器经进一步配置以进行以下操作:译码用于所述CU的所述调色板的调色板条目;及

在译码所述调色板的所述调色板条目之后,译码用于所述CU的所述块层级逃脱旗标。

16.根据权利要求14所述的装置,其中所述一或多个处理器经进一步配置以进行以下操作:译码用于所述CU的所述块层级逃脱旗标;及

在译码用于所述CU的所述块层级逃脱旗标之后,译码用于所述CU的所述调色板的调色板条目。

17.根据权利要求14所述的装置,其中所述一或多个处理器经进一步配置以基于所述CU的大小有条件地译码用于所述CU的所述块层级逃脱旗标,其中为了有条件地译码用于所述CU的所述块层级逃脱旗标,所述一或多个处理器经配置以仅在所述CU的所述大小超过阈值大小时,译码所述块层级逃脱旗标。

18.根据权利要求13所述的装置,其中所述块层级语法元素的所确定的所述值指示所述块的所有样本是通过所述调色板的至少一色彩译码,且其中所述一或多个处理器经进一步配置以进行以下操作:确定指示用于所述块的所述调色板的调色板索引的数目的调色板大小;且其中,基于所确定的所述调色板大小为一个索引,为了译码所述块,所述一或多个处理器经配置以基于所述一个索引译码所述块的所有样本,而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法。

19.根据权利要求18所述的装置,其中为了译码所述块而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法,所述一或多个处理器经配置以译码所述块而不译码以下各数据中的至少一者:指示所述块的样本的调色板模式的数据、指示用于所述块的所述调色板的索引值的数据,及指示所述调色板的调色板索引的行程的数据。

20.根据权利要求13所述的装置,其中所述一或多个处理器经进一步配置以进行以下操作:确定指示用于所述块的所述调色板的调色板索引的数目的调色板大小;且其中,基于所确定的所述调色板大小为零个索引,为了确定所述块层级逃脱旗标的所述值,所述一或多个处理器经配置以推断所述逃脱旗标的所述值,包含确定所述块层级逃脱旗标的所述值而不译码所述块层级逃脱旗标的所述值,且其中所述逃脱旗标的所推断的所述值指示所述块的所有样本是基于并不包含于所述调色板中的所述色彩而译码。

21.根据权利要求20所述的装置,其中,基于所确定的所述调色板大小为零个索引,为了译码所述块,所述一或多个处理器经配置以通过并不包含于所述调色板中的所述色彩值译码所述块的所有样本,而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法。

22.根据权利要求21所述的装置,其中为了译码所述块而不译码指示用于所述块的调色板索引的用于所述块的任何其它语法,所述一或多个处理器经配置以译码所述块而不译码以下各数据中的至少一者:指示所述块的样本的调色板模式的数据、指示用于所述块的所述调色板的调色板索引的数据,及指示所述调色板的调色板索引的行程的数据。

23.根据权利要求13所述的装置,其中为了译码,所述一或多个处理器经配置以编码,且其中为了基于所述值编码视频数据的所述块,所述一或多个处理器经配置以进行以下操作:基于所确定的所述值指示所述块的至少一个相应样本并非基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而编码,确定用于所述块的所述样本的相应索引值,其中所述相应索引值识别所述调色板的相应条目;

基于所确定的所述值指示所述块的至少一个相应样本是基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而编码,确定用于所述块的所述样本的相应索引值,其中所述相应索引值识别所述调色板的相应条目,且其中所述相应索引值中的一者指示逃脱样本;及在经编码位流中编码所述相应索引值。

24.根据权利要求13所述的装置,其中为了译码,所述一或多个处理器经配置以解码,且其中为了基于所述值解码视频数据的所述块,所述一或多个处理器经配置以进行以下操作:从经编码位流获得用于所述块的样本的相应索引值,其中所述相应索引值识别所述调色板的条目;

基于所确定的所述值指示所述块的至少一个相应样本并非基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而解码,通过使所述相应索引值与所述调色板的所述条目中的至少一者匹配而确定用于所述样本的值;及基于所确定的所述值指示所述块的至少一个相应样本是基于并不包含于色彩的所述调色板中的所述至少一个相应样本的所述色彩值而解码,通过使所述相应索引值与所述调色板的所述条目中的至少一者匹配而确定用于所述样本的值,及解码用于并不包含于色彩的所述调色板中的所述色彩值的至少一色彩值。

25.根据权利要求24所述的装置,其进一步包括经配置以显示经解码的所述块的显示器。

26.根据权利要求13所述的装置,其中所述装置包括以下各者中的至少一者:集成电路;

微处理器;或

无线通信装置。

27.一种用于处理视频数据的设备,所述设备包括:

用于确定块层级逃脱旗标的值的装置,所述块层级逃脱旗标指示对于视频数据的块的所有样本来说,所述块的至少一个相应样本是否译码为具有色彩值的逃脱样本,所述色彩值并不包含于用于译码视频数据的所述块的色彩的调色板中;及用于基于所述块层级逃脱旗标的所述值译码视频数据的所述块的装置。

28.一种非暂时性计算机可读媒体,其具有存储于其上的指令,所述指令在经执行时使得一或多个处理器进行以下操作:确定块层级逃脱旗标的值,所述块层级逃脱旗标指示对于视频数据的块的所有样本来说,所述块的至少一个相应样本是否译码为具有色彩值的逃脱样本,所述色彩值并不包含于用于译码视频数据的所述块的色彩的调色板中;及基于所述块层级逃脱旗标的所述值译码视频数据的所述块。

说明书 :

基于调色板的视频译码中的逃脱样本译码方法、装置及设备

[0001] 本申请案主张以下各美国临时申请案的权利:2014年5月22日申请的第62/002,054 号美国临时申请案、2014年6月10日申请的第62/010,313号美国临时申请案、2014年 6月20日申请的第62/015,240号美国临时申请案、2014年7月31日申请的第62/031,766 号美国临时申请案、2014年8月22日申请的第62/040,978号美国临时申请案、2015年2月10日申请的第62/114,533号美国临时申请案,及2015年2月11日申请的第 62/115,099号美国临时申请案,所述美国临时申请案中的每一者的全部内容以引用的方式并入本文中。

技术领域

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

背景技术

[0003] 数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播广播系统、无线广播系统、个人数字助理(PDA)、便携式或台式计算机、平板计算机、电子书阅读器、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流装置及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高阶视频译码(AVC)定义的标准、目前正在开发的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的那些视频压缩技术等。视频装置可通过实施这些视频压缩技术而更有效率地发射、接收、编码、解码及/或存储数字视频信息。
[0004] 视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分) 分割成视频块。图片的经帧内译码(I)切片中的视频块使用关于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
[0005] 空间或时间预测产生待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。经帧间译码块根据指向形成预测性块的参考样本的块的运动向量来编码,且残余数据指示经译码块与预测性块之间的差。经帧内译码块根据帧内译码模式及残余数据来编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余系数,接着可将残余系数量化。可扫描最初按二维阵列布置的经量化的系数以便产生系数的一维向量,且可应用熵译码以达成甚至更多压缩。

发明内容

[0006] 本发明的技术涉及基于调色板的视频译码。举例来说,在基于调色板的译码中,一种视频译码器(视频编码器或视频解码器)可将“调色板”形成为用于表示特定区域(例如,给定块)的视频数据的色彩的表格。基于调色板的译码可尤其适用于译码具有相对较小数目种色彩的视频数据的区域。并非译码实际像素值(或其残余),而是所述视频译码器可译码像素中的一或多者的调色板索引,所述调色板索引使所述像素与表示所述像素的色彩的所述调色板中的条目相关。本发明中所描述的所述技术可包含用于进行以下各操作中的一或多者的各种组合的技术:用信号通知基于调色板的译码模式,发射调色板,导出调色板,及发射基于调色板的译码映射及其它语法元素。
[0007] 在实例中,一种处理视频数据的方法包含:确定块层级语法元素的值,所述块层级语法元素指示对于视频数据的块的所有样本来说,所述块的至少一个相应样本是否基于并不包含于用于译码视频数据的所述块的色彩的调色板中的所述至少一个相应样本的色彩值而译码;及基于所述值译码视频数据的所述块。
[0008] 在另一实例中,一种用于处理视频数据的装置包含:存储器,其经配置以存储视频数据的样本的块;及一或多个处理器,其经配置以确定块层级语法元素的值,所述块层级语法元素指示对于视频数据的所述块的所有所述样本来说,所述块的至少一个相应样本是否基于并不包含于用于译码视频数据的所述块的色彩的调色板中的所述至少一个相应样本的色彩值而译码,及基于所述值译码视频数据的所述块。
[0009] 在另一实例中,一种用于处理视频数据的设备包含:用于确定块层级语法元素的值的装置,所述块层级语法元素指示对于视频数据的块的所有样本来说,所述块的至少一个相应样本是否基于并不包含于用于译码视频数据的所述块的色彩的调色板中的所述至少一个相应样本的色彩值而译码;及用于基于所述值译码视频数据的所述块的装置。
[0010] 在另一实例中,一种非暂时性计算机可读媒体具有存储于其上的指令,所述指令在经执行时使得一或多个处理器进行以下操作:确定块层级语法元素的值,所述块层级语法元素指示对于视频数据的块的所有所述样本来说,所述块的至少一个相应样本是否基于并不包含于用于译码视频数据的所述块的色彩的调色板中的所述至少一个相应样本的色彩值而译码;及基于所述值译码视频数据的所述块。
[0011] 在另一实例中,一种处理视频数据的方法包含:译码以下各数据中的至少一者:指示用于译码视频数据的块的色彩值的调色板的最大调色板大小的数据,或指示用于确定色彩值的所述调色板的调色板预测符的最大调色板预测符大小的数据;及根据所述数据译码视频数据的所述块。
[0012] 在另一实例中,一种用于处理视频数据的装置包含:存储器,其经配置以存储视频数据的块;及一或多个处理器,其经配置以进行以下操作:译码以下各数据中的至少一者:指示用于译码视频数据的块的色彩值的调色板的最大调色板大小的数据,或指示用于确定色彩值的所述调色板的调色板预测符的最大调色板预测符大小的数据;及根据来自位流的经译码的所述数据译码视频数据的所述块。
[0013] 在另一实例中,一种用于处理视频数据的设备包含:用于译码以下各数据中的至少一者的装置:指示用于译码视频数据的块的色彩值的调色板的最大调色板大小的数据,或指示用于确定色彩值的所述调色板的调色板预测符的最大调色板预测符大小的数据;及用于根据所述数据译码视频数据的所述块的装置。
[0014] 在另一实例中,一种非暂时性计算机可读媒体具有存储于其上的指令,所述指令在经执行时使一或多个处理器进行以下操作:译码以下各数据中的至少一者:指示用于译码视频数据的块的色彩值的调色板的最大调色板大小的数据,或指示用于确定色彩值的所述调色板的调色板预测符的最大调色板预测符大小的数据;及根据所述数据译码视频数据的所述块。
[0015] 在另一实例中,一种译码视频数据的方法包含:针对与调色板索引相关联的像素,确定通过所述像素的所述调色板索引译码的调色板索引的行程的行程长度,所述调色板索引使所述像素的值与用于译码所述像素的色彩的调色板中的色彩值相关;确定能够通过所述像素的所述调色板索引译码的调色板索引的最大行程的最大行程长度;及基于所述所确定的最大行程长度译码指示所述行程长度的数据。
[0016] 在另一实例中,一种用于译码视频数据的装置包含:存储器,其经配置以存储与调色板索引相关联的视频数据的像素,所述调色板索引使所述像素的值与用于译码所述像素的色彩的调色板中的色彩值相关;及一或多个处理器,其经配置以进行以下操作:针对所述像素,确定通过所述像素的所述调色板索引译码的调色板索引的行程的行程长度,确定能够通过所述像素的所述调色板索引译码的调色板索引的最大行程的最大行程长度;及基于所述所确定的最大行程长度译码指示所述行程长度的数据。
[0017] 在另一实例中,一种用于处理视频数据的设备包含:用于针对与调色板索引相关联的像素,确定通过所述像素的所述调色板索引译码的调色板索引的行程的行程长度的装置,所述调色板索引使所述像素的值与用于译码所述像素的色彩的调色板中的色彩值相关;用于确定能够通过所述像素的所述调色板索引译码的调色板索引的最大行程的最大行程长度的装置;及用于基于所述所确定的最大行程长度译码指示所述行程长度的数据的装置。
[0018] 在另一实例中,一种非暂时性计算机可读媒体具有存储于其上的指令,所述指令在经执行时使一或多个处理器进行以下操作:针对与调色板索引相关联的像素,确定通过所述像素的所述调色板索引译码的调色板索引的行程的行程长度,所述调色板索引使所述像素的值与用于译码所述像素的色彩的调色板中的色彩值相关;确定能够通过所述像素的所述调色板索引译码的调色板索引的最大行程的最大行程长度;及基于所述所确定的最大行程长度译码指示所述行程长度的数据。
[0019] 在随附图式及以下描述中阐述本发明的一或多个实例的细节。其它特征、目标及优点将从描述、图式及权利要求书显而易见。

附图说明

[0020] 图1为说明可利用本发明中所描述的技术的实例视频译码系统的框图。
[0021] 图2为说明可实施本发明中所描述的技术的实例视频编码器的框图。
[0022] 图3为说明可实施本发明中所描述的技术的实例视频解码器的框图。
[0023] 图4为说明与本发明的技术一致的确定用于基于调色板的视频译码的调色板条目的实例的概念图。
[0024] 图5为说明与本发明的技术一致的确定到用于像素的块的调色板的调色板索引的实例的概念图。
[0025] 图6为说明与本发明的技术一致的确定用于像素的块的最大行程长度的实例的概念图。
[0026] 图7为说明与本发明的技术一致的用于基于一或多个块层级语法元素编码视频数据的块的实例过程的流程图,所述一或多个块层级语法元素指示块的任何样本是否经编码为逃脱样本。
[0027] 图8为说明与本发明的技术一致的用于基于一或多个块层级语法元素解码视频数据的块的实例过程的流程图,所述一或多个块层级语法元素指示块的任何样本是否经解码为逃脱样本。
[0028] 图9为说明与本发明的技术一致的用于基于指示最大调色板大小及最大调色板预测符大小的一或多个语法元素编码视频数据的块的实例过程的流程图。
[0029] 图10为说明与本发明的技术一致的用于基于指示最大调色板大小及最大调色板预测符大小的一或多个语法元素编码视频数据的块的实例过程的流程图。
[0030] 图11为说明与本发明的技术一致的用于基于最大的可能行程长度译码(编码或解码)指示像素的行程的行程长度的数据的实例过程的流程图。

具体实施方式

[0031] 本发明的方面涉及用于视频译码及压缩的技术。详言之,本发明描述用于视频数据的基于调色板的译码的技术。在传统视频译码中,假定影像为连续色调且在空间上平滑。基于这些假定,已开发各种工具,例如基于块的变换、滤波等,且这些工具已展示针对自然内容视频的良好性能。
[0032] 然而,在类似远程台式计算机、协同工作及无线显示器的应用中,计算机产生的屏幕内容可为待压缩的主要内容。此类型的内容倾向于具有离散色调及特征清晰线,及高对比度物件边界。连续色调及平滑度的假定可能不再适用,且因此,传统视频译码技术可能为压缩内容的效率低下方式。
[0033] 本发明描述基于调色板的译码,其可特别适合于屏幕产生的内容译码(例如,屏幕内容译码(SCC))。用于视频数据的基于调色板的译码的技术可与一或多个其它译码技术(例如,用于帧间或帧内预测性译码的技术)一起使用。举例来说,如下文更详细描述,编码器或解码器或组合式编码器解码器(编码解码器)可经配置以执行帧间及帧内预测性译码,以及基于调色板的译码。
[0034] 在一些实例中,基于调色板的译码技术可经配置以与一或多个视频译码标准一起使用。举例来说,高效率视频译码(HEVC)为由ITU-T视频译码专家群组(VCEG)及ISO/IEC 运动图片专家群组(MPEG)的视频译码联合合作小组(JCT-VC)开发的新的视频译码标准。新近HEVC文本规范草案描述于布洛斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案10(用于FDIS及同意)(High Efficiency Video Coding(HEVC)Text Specification Draft 10(for FDIS&Consent))”(JCVC-L1003_v13,ITU-T SG16WP 3及ISO/IEC JCT 1/SC 29/WG 
11的JCT-VC的第12次会议,2013年1月14日到23日)(“HEVC草案10”) 中。
[0035] 关于HEVC构架,作为实例,基于调色板的译码技术可经配置以用作译码单元(CU) 模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的构架中的PU模式。因此,在CU模式的上下文中描述的所有以下所揭示过程可另外或替代地适用于PU。然而,这些基于HEVC的实例不应被视为限定或限制本文中所描述的基于调色板的译码技术,因而,这些技术可适用于独立地或作为其它现有或尚待开发的系统/标准的部分而工作。在这些状况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
[0036] 在基于调色板的译码中,可假定视频数据的特定区域具有相对较小数目种色彩。视频译码器(视频编码器或视频解码器)可将所谓的“调色板”译码为用于表示特定区域(例如,给定块)的视频数据的色彩的表格。每一像素可与调色板中表示像素的色彩的条目相关联。举例来说,视频译码器可译码使像素值与调色板中的适当值相关的索引。
[0037] 在上述实例中,视频编码器可通过以下操作编码视频数据的块:确定用于块的调色板,定位调色板中的条目以表示每一像素的值,及通过像素的使像素值与调色板相关的调色板索引(也被称作调色板索引值)编码调色板。视频解码器可从经编码位流获得用于块的调色板,以及用于块的像素的调色板索引。视频解码器可使像素的调色板索引与调色板的条目相关以重建块的像素值。像素(及/或指示像素值的相关调色板索引)大体上可被称作样本。
[0038] 假定:使用水平光栅扫描次序处理(例如,扫描)块中的样本。举例来说,视频编码器可通过使用水平光栅扫描次序扫描调色板索引而将调色板索引的二维块转换成一维阵列。同样,视频解码器可使用水平光栅扫描次序重建调色板索引的块。因此,本发明可将先前样本称作按扫描次序在块中当前经译码的样本之前的样本。应了解,除水平光栅扫描以外的扫描(例如,垂直光栅扫描次序)也可为可适用的。以上实例意欲提供基于调色板的译码的一般描述。
[0039] 调色板通常包含通过索引编号且表示色彩分量(例如,RGB、YUV或其类似者)值或强度的条目。视频编码器及视频解码器两者确定调色板条目的数目、用于每一调色板条目的色彩分量值,及用于当前块的调色板条目的确切排序。在本发明中,假定:每一调色板条目指定样本的所有色彩分量的值。然而,本发明的概念可适用于针对每一色彩分量使用单独调色板。
[0040] 在一些实例中,调色板可使用来自先前经译码块的信息构成。即,调色板可含有从用以译码先前块的调色板预测的经预测的调色板条目。举例来说,如维普等人的“AHG10:用于基于RExt6.0的调色板译码的推荐软件(AHG10:Suggested Software for Palette Coding based on RExt6.0)”(JCTVC-Q0094,西班牙瓦伦西亚市,2014年3月27 日到4月4日)(在下文中为JCTVC-Q0094)的标准提交文件中所描述,调色板可包含从预测符调色板复制的条目。预测符调色板可包含来自先前使用调色板模式译码的块或来自其它经重建的样本的调色板条目。对于预测符调色板中的每一条目,可译码二进制旗标以指示是否将与旗标相关联的条目复制到当前调色板(例如,通过旗标=1指示)。二进制旗标的字串可被称作二进制调色板预测向量。用于译码当前块的调色板也可包含数个新调色板条目,所述新调色板条目可经明确地译码(例如,与调色板预测向量分离)。也可译码关于新条目的数目的指示。经预测的条目及新条目的总和可指示用于块的总调色板大小。
[0041] 如所提议的JCTVC-Q0094,通过基于调色板的译码模式译码的块中的每一样本可使用如下文所阐述的三种调色板模式中的一者来译码:
[0042] ●逃脱模式:在此模式中,样本值并不作为调色板条目而包含到调色板中,且对于所有色彩分量,明确地用信号通知经量化的样本值。所述情形类似于新调色板条目的信号通知,但对于新调色板条目,并不将色彩分量值量化。
[0043] ●CopyFromTop模式(也被称作CopyAbove模式):在此模式中,从位于块中的正上方处的样本复制用于当前样本的调色板条目索引。
[0044] ●值模式(也被称作索引模式):在此模式中,明确地用信号通知调色板条目索引的值。
[0045] 如本文所描述,调色板条目索引可被称作调色板索引或简称为索引。这些术语可互换地使用以描述本发明的技术。另外,如下文更详细描述,调色板索引可具有一或多个相关联的色彩或强度值。举例来说,调色板索引可具有与像素的单一色彩或强度分量(例如,RGB数据的红色分量、YUV数据的Y分量,或其类似者)相关联的单一相关联的色彩或强度值。在另一实例中,调色板索引可具有多个相关联的色彩或强度值。在一些情况下,可应用基于调色板的译码来译码单色视频。因此,“色彩值”大体上可指用以产生像素值的任何色彩或非彩色分量。
[0046] 对于CopyFromTop模式及值模式,也可用信号通知行程值(其也可被简称作行程)。行程值可指示经调色板译码的块中的在一起译码的按特定扫描次序的连续样本的数目 (例如,样本的行程)。在一些情况下,样本的行程也可被称作调色板索引的行程,此是因为行程的每一样本具有到调色板的相关联的索引。
[0047] 行程值可指示使用相同的调色板译码模式译码的调色板索引的行程。举例来说,关于值模式,视频译码器(视频编码器或视频解码器)可译码调色板索引(也被称作调色板索引值或简称为索引值),及指示具有相同的调色板索引且通过调色板索引译码的按扫描次序的连续样本的数目的行程值。关于CopyFromTop模式,视频译码器可译码关于基于上方相邻样本(例如,定位于块中当前经译码的样本上方的样本)的索引复制用于当前样本值的索引的指示,及指示还从上方相邻样本复制调色板索引且通过调色板索引译码的按扫描次序的连续样本的数目的行程值。因此,在上述实例中,调色板索引的行程指具有相同值的调色板索引的行程或从上方相邻调色板索引复制的调色板索引的行程。
[0048] 因此,行程可针对给定模式指定属于相同模式的后续样本的数目。在一些情况下,用信号通知索引及行程值可类似于行程长度译码。在实例中,出于说明的目的,块的连续调色板索引的字串可为0、2、2、2、2、5(例如,其中每一索引对应于块中的样本)。在此实例中,视频译码器可使用值模式译码第二样本(例如,第一调色板索引2)。在译码等于2的索引之后,视频译码器可译码行程3,所述行程3指示三个后续样本也具有相同的调色板索引2。以类似方式,在使用CopyFromTop模式译码索引之后译码四个调色板索引的行程可指示:从当前经译码的样本位置上方的列中的对应调色板索引复制总共五个调色板索引。
[0049] 本发明中所描述的所述技术可包含用于进行以下各操作中的一或多者的各种组合的技术:用信号通知基于调色板的译码模式,发射调色板,导出调色板,及发射基于调色板的译码映射及其它语法元素。在一些实例中,本发明的技术可用以解决与 JCTVC-Q0094(以及随着文献JCTVC-Q0094而上传的实施调色板模式的参考软件)中存在的调色板模式、调色板索引、行程及调色板大小的信号通知相关联的可能的冗余。因此,如下文更详细描述,在一些情况下,当使用调色板模式译码视频数据时,本发明的技术可改良效率及改良位速率。
[0050] 本发明的某些方面涉及用信号通知基于调色板的译码模式且,详言之,涉及与用信号通知逃脱样本相关联的技术。举例来说,逃脱样本(也被称作逃脱像素)可为块的并不具有在用于译码块的调色板中表示的对应色彩的样本(或像素)。因此,可能并不使用来自调色板的色彩条目(或像素值)来重建逃脱样本。实情为,与调色板的色彩值分离地在位流中用信号通知用于逃脱样本的色彩值。
[0051] 如下文更详细描述,视频译码器(例如,视频编码器及视频解码器)可译码每一样本数据,所述每一样本数据指示经调色板译码的块的样本是否基于并不包含于用于块的调色板中的样本的色彩而译码,例如,使用上文称作“逃脱模式”的过程。在实例中,视频译码器可针对每一样本译码旗标,所述旗标指示样本是否经译码为逃脱样本,例如,使用逃脱模式(在本文中被称作隐含逃脱信号通知)。在另一实例中,视频译码器可译码用于样本的其它语法(例如,额外调色板索引,如下文所描述),所述其它语法指示样本经译码为逃脱样本,例如,使用逃脱模式(在本文中被称作显式逃脱信号通知)。
[0052] 根据本发明的方面,对于经调色板译码的块,一或多个语法元素可按块层级(例如, CU层级或LCU层级)指示块的任何样本是否基于并不包含于调色板中的样本(例如,经译码为逃脱样本)的色彩值而译码。所述一或多个语法元素可被称作块层级逃脱语法。举例来说,块层级语法可指在译码视频数据的块(例如,CU或LCU)时译码或确定的语法。块层级语法可包含于标头中或与块相关联的其它数据(例如,在块之前或之后译码的描述块的特性的数据)中。与此对比,并非块层级语法的其它语法可包含于切片标头中或视频数据的个别像素中。
[0053] 在实例中,视频译码器可经配置以译码及/或确定旗标(其可被称作块层级逃脱旗标),所述旗标指示块的任何样本是否基于并不包含于调色板中的色彩值而译码。举例来说,旗标值0可指示块的样本中无一者是使用逃脱模式译码。即,可基于包含于用于译码块的调色板中的色彩值确定块的所有样本的值。旗标值1可指示块的至少一样本是使用逃脱模式译码。即,至少一样本的值并不包含于用于译码块的调色板中且可分别地用信号通知。因此,旗标可指示:对于视频数据的块的所有样本,块的至少一样本是否具有并不包含于用于译码块的调色板中的色彩值。
[0054] 如下文更详细描述,在一些情况下,块层级逃脱语法可导致位节省。举例来说,通过确定整个块的任何样本是否经译码为逃脱样本,视频译码器可能能够跳过与逃脱样本相关联的某些语法元素的译码。即,在语法指示无样本经译码为逃脱样本的情况下,视频译码器可能并不译码块的与逃脱样本相关联的任何其它语法(例如,例如上文所提及的每一样本语法)。如下文更详细描述,当语法基于用于经译码的块的调色板的大小指示块的至少一样本经译码为逃脱样本时,视频译码器也可跳过某些语法的译码。因此,当使用基于调色板的译码来译码视频数据时,本发明的技术可改良位速率及译码效率。
[0055] 本发明的其它方面涉及译码用于调色板模式的最大调色板参数。举例来说,调色板的最大调色板大小通常可为在视频编码器及视频解码器两者处定义的静态值。同样地,调色板预测符(用于预测调色板,如下文更详细描述)的最大大小也可为在视频编码器及视频解码器两者处定义的静态值。因此,这些最大调色板参数可能并不改变,而不管经译码的视频数据的特定特性。
[0056] 根据本发明的方面,视频译码器可经配置以译码指示最大调色板大小及/或最大调色板预测符大小的数据。举例来说,根据本发明的方面,指示最大调色板大小及/或最大调色板预测符大小的数据可包含于例如序列参数集(SPS)的参数集中。因此,视频译码器可译码以下各数据中的至少一者:指示用于译码视频数据的块的色彩值的调色板的最大调色板大小的数据,或指示用于确定色彩值的调色板的调色板预测符的最大调色板预测符大小的数据。
[0057] 译码指示最大调色板大小及/或最大调色板预测符大小的数据可提供灵活性,所述情形可改良译码效率。举例来说,所述技术可允许视频译码器基于经译码的视频数据的特性(例如,基于数据的位深度、块大小、与数据相关联的简档或层级,或其类似者)而使用具有不同大小的调色板及调色板预测符。因此,可定制最大调色板参数以适合经译码的视频数据,以使得可针对可受益于这些参数的块定义相对较大的最大调色板参数。另外,可针对不大可能受益于相对较大参数的块定义相对较小的最大调色板参数以降低与建构调色板相关联的复杂性。
[0058] 本发明的其它方面涉及译码用于基于调色板的视频译码的各种语法元素的技术。举例来说,本发明的技术包含使用考虑经译码的语法的最大可能值的码译码用于调色板译码的语法,所述语法例如调色板索引的行程值(也被称作行程长度值)、调色板预测向量或其它调色板相关语法。在一些情况下,根据本发明的方面,可使用一种形式的指数哥伦布码(Exponential Golomb code)译码语法,如下文更详细描述。在一些情况下,所述技术可减少表示调色板相关语法所需的位的数目。
[0059] 图1为说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”大体上指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指视频编码或视频解码。视频译码系统10的视频编码器20及视频解码器30表示可经配置以执行根据本发明中所描述的各种实例的用于进行基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20及视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码选择性地译码视频数据的各种块 (例如,HEVC译码中的CU或PU)。非基于调色板的译码模式可指各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如通过HEVC草案10指定的各种译码模式。
[0060] 如图1中所展示,视频译码系统10包含源装置12及目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可被称作视频解码装置或视频解码设备。源装置12及目的地装置14可为视频译码装置或视频译码设备的实例。
[0061] 源装置12及目的地装置14可包括广泛范围的装置,包含台式计算机、移动计算装置、笔记型(例如,便携式)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、电视机、摄像机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
[0062] 目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在实例中,信道16可包括使源装置12能够实时地将经编码视频数据直接发射到目的地装置14 的一或多个通信媒体。在此实例中,源装置12可根据通信标准(例如,无线通信协议) 调制经编码视频数据,且可将经调制视频数据发射到目的地装置14。一或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线。一或多个通信媒体可形成基于包的网络例如局域网、广域网或全球网络(例如,因特网)的部分。一或多个通信媒体可包含路由器、交换器、基站,或促进从源装置12到目的地装置14的通信的其它设备。
[0063] 在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可例如经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、闪存存储器,或用于存储经编码视频数据的其它合适的数字存储媒体。
[0064] 在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可经由流发射或下载来存取存储于文件服务器或另一中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据并将经编码视频数据发射到目的地装置14的类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附加存储(NAS) 装置及本地磁盘机。
[0065] 目的地装置14可经由标准数据连接(例如,因特网连接)来存取经编码视频数据。数据连接的实例类型可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码视频数据从文件服务器的发射可为流发射、下载发射或两者的组合。
[0066] 本发明的技术不限于无线应用或设定。所述技术可应用于支持多种多媒体应用的视频译码,例如空中电视广播、有线电视发射、卫星电视发射、流视频发射(例如,经由因特网)、编码存储于数据存储媒体上的视频数据、解码存储于数据存储媒体上的视频数据,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频发射以支持例如视频流、视频播放、视频广播及/或视频电话的应用。
[0067] 图1中所说明的视频译码系统10仅为实例,且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据是从本地存储器撷取、经由网络流发射或经过类似处理。视频编码装置可编码数据并将数据存储到存储器,及/或视频解码装置可从存储器撷取数据并解码数据。在许多实例中,通过彼此并不通信但简单地将数据编码到存储器及/或从存储器撷取数据并解码数据的装置来执行编码及解码。
[0068] 在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含例如视频摄像机的视频俘获装置、含有先前所俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,及/或用于产生视频数据的计算机图形系统,或视频数据的这些源的组合。
[0069] 视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12经由输出接口22将经编码视频数据直接发射到目的地装置14。在其它实例中,经编码视频数据也可存储到存储媒体上或文件服务器上,以供目的地装置14稍后存取以用于解码及/或播放。
[0070] 在图1的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可经由信道16 来接收经编码视频数据。显示装置32可与目的地装置14集成或可在目的地装置14外部。大体来说,显示装置32显示经解码视频数据。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0071] 视频编码器20及视频解码器30各自可实施为多种合适电路系统中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列 (FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施技术,则装置可将用于软件的指令存储于合适的非暂时性计算机可读存储媒体中,且可在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。可将前述各者(包含硬件、软件、硬件与软件的组合等)中的任一者视为一或多个处理器。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(编码解码器(CODEC))的部分。
[0072] 本发明大体上可指视频编码器20将某一信息“用信号通知”或“发射”到另一装置,例如视频解码器30。术语“用信号通知”或“发射”大体上可指用以解码经压缩视频数据的语法元素及/或其它数据的传达。此传达可实时地或近实时地发生。替代地,此传达可在时间跨度内发生,例如此传达可能在当编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,接着,在存储到此媒体之后可由解码装置在任何时间撷取所述语法元素。
[0073] 在一些实例中,视频编码器20及视频解码器30根据视频压缩标准操作,视频压缩标准例如上文所提及的且描述于HEVC草案10中的HEVC标准。除基本HEVC标准之外,也存在持续努力以产生用于HEVC的可调式视频译码、多视图视频译码及3D译码扩展。另外,可提供(例如)如本发明中所描述的基于调色板的译码模式以用于扩展HEVC 标准。在一些实例中,本发明中针对基于调色板的译码而描述的技术可应用于经配置以根据其它视频译码标准(例如,ITU-T-H.264/AVC标准或未来标准)操作的编码器及解码器。因此,HEVC编码解码器中用于译码单元(CU)或预测单元(PU)的译码的基于调色板的译码模式的应用是为了实例的目的而描述。
[0074] 在HEVC及其它视频译码标准中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,表示为SL、SCb及SCr。SL为明度样本的二维阵列(即,块)。SCb为Cb色度样本的二维阵列。SCr为Cr色度样本的二维阵列。色度(Chrominance) 样本在本文中也可被称作“色度(chroma)”样本。在其它情况下,图片可为单色的,且可仅包含明度样本阵列。
[0075] 为了产生图片的经编码表示,视频编码器20可产生一组译码树型单元(CTU)。CTU 中的每一者可为明度样本的译码树型块、色度样本的两个对应译码树型块,及用以译码译码树型块的样本的语法结构。译码树型块可为样本的N×N块。CTU也可被称作“树型块”或“最大译码单元”(LCU)。HEVC的CTU可广泛地类似于例如H.264/AVC的其它标准的宏块。然而,CTU未必限于特定大小且可包含一或多个译码单元(CU)。切片可包含在光栅扫描中连续排序的整数数目个CTU。
[0076] 为了产生经译码CTU,视频编码器20可对CTU的译码树型块递回地执行四分树分割,以将译码树型块划分成译码块,因此命名为“译码树型单元”。译码块为样本的N×N 块。CU可为具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块及色度样本的两个对应译码块,及用以译码所述译码块的样本的语法结构。视频编码器20可将CU的译码块分割成一或多个预测块。预测块可为供应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可为图片的明度样本的预测块、图片的色度样本的两个对应预测块,及用以对预测块样本进行预测的语法结构。视频编码器 20可产生CU的每一PU的明度、Cb及Cr预测块的预测性明度、Cb及Cr块。
[0077] 视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器 20使用帧内预测产生PU的预测性块,则视频编码器20可基于与PU相关联的图片的经解码样本产生PU的预测性块。
[0078] 如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可基于除与PU相关联的图片以外的一或多个图片的经解码样本产生PU的预测性块。视频编码器20可使用单向预测或双向预测来产生PU的预测性块。当视频编码器20使用单向预测来产生PU的预测性块时,PU可具有单一运动向量(MV)。当视频编码器20使用双向预测来产生PU的预测性块时,PU可具有两个MV。
[0079] 在视频编码器20产生CU的一或多个PU的预测性明度块、Cb块及Cr块之后,视频编码器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译码块中的对应样本之间的差异。
[0080] 此外,视频编码器20可使用四分树分割以将CU的明度残余块、Cb残余块及Cr 残余块分解成一或多个明度变换块、Cb变换块及Cr变换块。变换块可为供应用相同变换的样本的矩形块。CU的变换单元(TU)可为明度样本的变换块、色度样本的两个对应变换块,及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可与明度变换块、Cb变换块及Cr变换块相关联。与TU相关联的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。
[0081] 视频编码器20可将一或多个变换应用于TU的明度变换块,以产生TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用于TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块,以产生TU的Cr系数块。
[0082] 在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可将系数块量化。量化大体上指将变换系数量化以可能地减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20将系数块量化之后,视频编码器20可熵编码指示经量化的变换系数的语法元素。举例来说,视频编码器20可对指示经量化的变换系数的语法元素执行上下文自适应性二进制算术译码(CABAC)。视频编码器20 可在位流中输出经熵编码的语法元素。
[0083] 视频编码器20可输出包含经熵编码的语法元素的位流。所述位流可包含形成经译码图片及相关联数据的表示的序列位。位流可包括序列网络抽象层(NAL)单元。NAL单元中的每一者包含NAL单元标头,且囊封原始位组序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型码的语法元素。通过NAL单元的NAL单元标头指定的NAL 单元类型码指示NAL单元的类型。RBSP可为含有囊封于NAL单元内的整数数目个位组的语法结构。在一些情况下,RBSP包含零个位。
[0084] 不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一种类型的NAL单元可囊封用于图片参数集(PPS)的RBSP,第二种类型的NAL单元可囊封用于经译码切片的RBSP,第三种类型的NAL单元可囊封用于SEI的RBSP,等等。囊封用于视频译码数据的RBSP(与用于参数集及SEI消息的RBSP形成对比)的NAL单元可被称作视频译码层(VCL)NAL单元。
[0085] 视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以从位流解码语法元素。视频解码器30可至少部分基于从位流解码的语法元素重建视频数据的图片。用以重建视频数据的过程大体上可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的MV来确定当前CU的PU的预测性块。另外,视频解码器30可将与当前CU的TU相关联的变换系数块反量化。视频解码器 30可对变换系数块执行反变换以重建与当前CU的TU相关联的变换块。视频解码器30 可通过将当前CU的PU的预测性块的样本添加到当前CU的TU的变换块的对应样本来重建当前CU的译码块。通过重建图片的每一CU的译码块,视频解码器30可重建图片。
[0086] 在一些实例中,视频编码器20及视频解码器30可经配置以执行基于调色板的译码。举例来说,在基于调色板的译码中,并非执行上文所描述的帧内预测性译码技术或帧间预测性译码技术,而是视频编码器20及视频解码器30可将所谓的调色板译码为用于表示特定区域(例如,给定块)的视频数据的色彩的表格。每一像素可与调色板中表示像素的色彩的条目相关联。举例来说,视频编码器20及视频解码器30可译码使像素值与调色板中的适当值相关的索引。
[0087] 在上述实例中,视频编码器20可通过以下操作编码视频数据的块:确定用于块的调色板,定位调色板中的条目以表示每一像素的值,及通过像素的使像素值与调色板相关的调色板索引编码调色板。视频解码器30可从经编码位流获得用于块的调色板,以及用于块的像素的调色板索引。视频解码器30可使像素的调色板索引与调色板的条目相关以重建块的像素值。
[0088] 如上文所提及,视频编码器20及视频解码器30可使用数种不同的调色板译码模式来译码调色板的调色板索引。举例来说,视频编码器20及视频解码器30可使用逃脱模式、CopyFromTop模式(也被称作CopyAbove模式)或值模式(也被称作索引模式)来译码块的调色板索引。大体来说,使用“逃脱模式”译码样本大体来说可指译码并不具有在用于译码块的调色板中表示的对应色彩的块的样本。如上文所提及,这些样本可被称作逃脱样本或逃脱像素。
[0089] 另一实例调色板译码模式描述于第三屏幕内容译码核心实验分测验B.6中,如黄育文(Yu-Wen Huang)等人的“屏幕内容核心实验3(SCCE3)的描述:调色板模式(Description of Screen Content Core Experiment 3(SCCE3):Palette Mode)”(JCTVC-Q1123,西班牙瓦伦西亚市,2014年3月27日到4月4日)(下文为Q1123)中所描述,另一模式引入到由卡农(Canon)于2014年5月26日发布的软件中。用于此模式的宏为“CANON_NEW_RUN_LAST_TRANSITION”且在本文中可被称作转变行程模式。转变行程可类似于值模式在于:视频编码器20或视频解码器30可译码索引值,后接续译码指定具有相同的调色板索引的后续样本的数目的行程。
[0090] 值模式与转变行程模式之间的差异在于:并不在位流中用信号通知转变行程模式的调色板索引。确切来说,视频编码器20及视频解码器30可推断调色板索引。如本文所描述,推断值可指在不参考在位流中译码的表示值的专用语法的情况下确定值。即,视频编码器20及视频解码器30可推断值,而不在位流中译码用于值的专用语法元素。所推断的索引可被称作转变索引。
[0091] 在一些实例中,可能存在用信号通知调色板模式的两种方式。用于用信号通知调色板模式的第一种技术可被称作显式逃脱信号通知。举例来说,在JCTVC-Q0094中,如果宏“PLT_REMOVE_ESCAPE_FLAG”为0,则视频编码器20可明确地编码用于块的每一样本的逃脱旗标以指示块中经译码的样本是否在逃脱模式中经译码。如果并非通过逃脱模式译码样本,则视频编码器20可编码额外数据以指示模式为CopyFromTop模式抑或值模式。在一些情况下,额外数据可为旗标,其在本文中被称作SPoint旗标(例如, SPoint旗标值0可指示CopyFromTop模式且SPoint旗标值1可指示值模式,或SPoint 旗标值1可指示CopyFromTop模式且SPoint旗标值0可指示值模式)。
[0092] 因此,通过显式逃脱信号通知,SPoint旗标可用以指示用于与所指示的模式相关联的像素值的行程的特定行程类型。举例来说,视频编码器20可编码SPoint旗标以指示当前经译码的索引及行程中经译码的后续调色板索引的行程是使用CopyFromTop模式抑或值模式来译码。视频编码器20并不编码用于后续行程样本的逃脱旗标(例如,“PLT_REMOVE_ESCAPE_FLAG”)及SPoint旗标(在必要时)。即,视频编码器20及视频解码器30可推断用于行程中所包含的样本的逃脱旗标及SPoint旗标的值。举例来说,视频编码器20及视频解码器30可在不参考位流中表示这些值的专用语法的情况下确定用于行程中所包含的样本的逃脱旗标及SPoint旗标的值。
[0093] 用于用信号通知调色板模式的第二种技术可被称作隐含逃脱信号通知。举例来说,如果来自JCTVC-Q0094的宏“PLT_REMOVE_ESCAPE_FLAG”为1,则视频编码器20 及视频解码器30可经配置以将调色板的调色板条目的数目增加一,以适应并不对应于任何调色板条目的到调色板的特殊索引。在一些实例中,视频编码器20及视频解码器 30可包含额外索引作为用于给定块的增加的调色板中的最后的调色板索引。额外索引可用作关于逃脱模式的指示。
[0094] 当执行隐含逃脱信号通知时,视频编码器20可针对块的特定样本值编码表示额外索引的数据以指示额外样本经译码为逃脱样本(例如,并不具有在用于译码块的调色板中表示的色彩值的样本)。视频编码器20也可编码逃脱样本的色彩值。因此,在隐含逃脱信号通知的状况下,仅存在待使用显式语法用信号通知的两种可能的模式(例如, CopyFromTop模式或值模式(也被称作索引模式))。举例来说,可仅用信号通知SPoint 旗标以区别所述模式。如果样本是在值模式中译码且用于值模式的索引等于逃脱索引(例如,上文所提及的到调色板的额外索引),则视频编码器20及视频解码器30可推断样本经译码为逃脱样本。在此状况下,并不用信号通知行程。当在转变行程模式情况下使用隐含逃脱信号通知时,SPoint旗标可采用值0(例如,值模式)、1(例如,CopyFromTop 模式)或2(例如,转变行程模式)。
[0095] 本发明中所描述的所述技术可包含用于进行以下各操作中的一或多者的各种组合的技术:用信号通知基于调色板的译码模式,发射调色板,导出调色板,及发射基于调色板的译码映射及其它语法元素。在一些实例中,本发明的技术可用以解决与 JCTVC-Q0094(以及随着文献JCTVC-Q0094而上传的实施调色板模式的参考软件)中存在的调色板模式、调色板索引、行程及调色板大小的信号通知相关联的可能的冗余。
[0096] 在JCTVC-Q0094中所描述的与所述技术相关联的软件中,已经考虑并移除某些信号通知冗余。举例来说,在JCTVC-Q0094中,并不针对块的第一列中的样本用信号通知SPoint旗标,此是因为通过调色板模式译码的块通常不可能使用来自上方相邻块的经重建的样本来预测当前块。上方相邻块大体上可指与块相邻且定位于块上方的块。类似地,如果用于在当前经译码的样本之前的样本的模式为CopyFromTop,则用于当前像素的模式不可能为CopyFromTop。
[0097] 然而,本发明辨识其它信号通知冗余及/或低效率,可完全地或选择性地移除所述其它信号通知冗余及/或低效率。如下文更详细描述,所述技术改良视频译码位速率效率,而实质上并不引起失真。作为实例,如果当前样本的正上方的样本为逃脱样本,则视频编码器20及视频解码器30可经配置从而并不使用CopyFromTop模式译码当前样本。在此状况下,视频编码器20可能并不用信号通知用于样本的SPoint,且视频编码器20及视频解码器30可推断SPoint旗标等于值模式(在需要时)。
[0098] 在另一实例中,根据本发明的技术,如果先前样本与块中的当前样本的正上方的样本都非逃脱样本且先前样本及上方样本具有相同的调色板索引,则视频编码器20及视频解码器30经配置从而并不使用CopyFromTop模式译码当前样本。此是因为:对于 CopyFromTop模式,当前样本的索引将与先前样本的索引相同。如果用于先前样本的模式为值模式,则将与值模式相关联的行程扩展一以合并当前样本。另一方面,如果用于先前样本的模式为CopyFromTop,则视频编码器20及视频解码器30可经配置从而并不使用CopyFromTop模式译码当前样本,如上文所提及。因此,在此状况下,视频编码器 20可能并不用信号通知用于当前样本的SPoint旗标,且视频编码器20及视频解码器30 可推断SPoint旗标等于值模式(在需要时)。
[0099] 在另一实例中,根据本发明的技术,如果先前行程大于或等于经译码的块的宽度减去一所得值,则视频编码器20及视频解码器30可经配置从而并不使用CopyFromTop 模式译码当前样本。由于CopyFromTop模式可能并不会接续CopyFromTop模式,如上文所描述,因此视频编码器20及视频解码器30可推断:如果与先前样本相关联的模式是使用CopyFromTop模式译码,则来自当前样本的模式可能并不使用CopyFromTop模式译码。如果先前行程是使用值模式译码且先前行程大于或等于块的宽度减去一所得值,则视频编码器
20及视频解码器30可经配置以确定:用于先前样本及当前样本的正上方的样本的调色板索引相同(以类似于上文所描述的实例的方式)。在此状况下,如果当前样本可能并不具有相同索引,则使得CopyFromTop模式成为不可能。因此,在此状况下,视频编码器20可能并不用信号通知用于当前样本的SPoint旗标,且视频编码器 20及视频解码器30可推断SPoint旗标等于值模式(在需要时)。
[0100] 在另一实例中,根据本发明的方面,如果在使用显式逃脱信号通知时,对于经译码的块来说,调色板大小为一,则视频编码器20及视频解码器30可经配置从而并不译码某些调色板索引,例如描述于以下各美国临时申请案中的调色板索引:2013年7月12 日申请的第61/845,824号美国临时申请案、2013年11月1日申请的第61/899,048号美国临时申请案,或2013年12月6日申请的第61/913,040号美国临时申请案。另外,视频编码器20可经配置从而并不译码SPoint旗标,此是因为视频编码器20及视频解码器 30可推断SPoint旗标等于值模式(在需要时)。此是因为:如果当前样本并非经译码为逃脱样本(例如,并不具有在用于译码块的调色板中表示的色彩值的样本),则用于当前样本的调色板索引已经已知且导出其等于0(因为仅一种可能的调色板索引)。在此状况下,仅用信号通知行程。不必要区别CopyFromTop模式及值模式,此是因为两种模式提供相同结果。类似地,对于隐含逃脱信号通知,当调色板大小为2时,视频编码器20可用信号通知调色板索引以区别值模式及逃脱模式,但由于如上所述的相同原因而使得 SPoint旗标的信号通知并非必要的。
[0101] 当使用值模式、CopyFromTop模式及转变行程模式时,本发明的技术也可用以移除冗余。因此,所述技术可改良视频译码位速率效率,而大体上并不引起失真。在实例中,出于说明的目的,当前样本是在值模式中译码且转变行程模式并不可供使用(例如,仅 CopyFromAbove模式及值模式可供使用)。在此实例中,当用于先前样本的模式为值模式时,当前样本的索引不可能与先前样本的索引相同,否则将当前样本包含到先前值模式中且将用于值模式的行程递增一。类似地,当用于先前样本的模式为CopyFromTop 模式时,待译码的当前样本的索引不可能与上方样本的索引相同,否则通过 CopyFromTop模式译码当前样本且有可能将用于CopyFromTop模式的行程递增一。
[0102] 记住上文所描述的关系,当用于当前样本的索引大于用于先前样本(例如,如果先前样本处于值模式中)或顶部样本(例如,如果先前样本处于CopyFromTop模式中)的索引时,视频编码器20及视频解码器30可将用于当前样本的索引减少一。此过程描述于 C.吉斯奎特(Gisquet)等人的“AHG10:调色板索引译码(AHG10:Palette Index Coding)”(JCTVC-Q0064,西班牙瓦伦西亚市,2014年3月27日到4月4日)(下文中为 JCTVC-Q0064)中。又,将最大的可能调色板索引的数目减少一,而不管先前条件是否为真(当前索引大于先前左侧或上方调色板索引)。举例来说,当使用可变长度码(例如,例如经截短的二进制码)译码索引时,可将调色板条目的数目减少一。
[0103] 根据本发明的方面,关于上文所描述的过程,替代地或另外,当使用转变行程模式时,可进一步修改值模式中的索引调整过程。举例来说,根据本发明的方面,如果样本并非块中的第一样本且先前样本并非经译码为逃脱样本,则视频编码器20及视频解码器30可执行下文所描述的索引调整过程。
[0104] 根据本发明的方面,如果先前样本是在值模式或转变行程模式中译码,则视频编码器20及视频解码器30可经配置以将调色板条目的数目递减一。另外,如果索引值大于或等于先前样本的索引值(索引或转变索引),则视频编码器20及视频解码器30可经配置以将当前索引值递减一。本发明可将此递减值称作经调整的索引值。接着,如果用于先前样本的索引值并不等于转变索引且调色板条目的数目大于一,则视频编码器20及视频解码器30可经配置以将变数“更新”设定为1,否则将“更新”设定为0。如果更新等于1,则视频编码器20及视频解码器30可进一步将调色板条目的数目递减一。本发明可将调色板条目的递减的数目称作经调整的调色板大小。
[0105] 另外,如果转变索引大于或等于用于先前样本的索引值,则视频编码器20及视频解码器30可经配置以将转变索引递减一。本发明可将递减的转变索引称作经调整的转变索引值。如果更新等于1且经调整的索引值大于经调整的转变索引值,则视频编码器 20及视频解码器30可经配置以进一步将经调整的索引值递减一。另外,视频编码器20 及视频解码器30可经配置以仅在经调整的调色板大小大于1的情况下才执行最后的索引调整。此是因为:在经调整的调色板大小大于1的情况下,可仅用信号通知经调整的索引值。
[0106] 如果经调整的调色板大小大于1,则视频编码器20可编码关于经调整的索引值的指示,从而考虑调色板索引的最大的可能数目可能等于经调整的调色板大小。在此状况下,视频编码器20及视频解码器30可经配置以使用经截短的二进制化来译码,例如本文所描述的经截短的二进制译码。
[0107] 在一些实例中,根据本发明的方面,可通过检查用于当前样本的正上方的像素的像素值及模式而执行与上文所描述的过程类似的过程。即,可改为关于上方相邻像素执行上文关于定位于当前像素的左侧的像素描述的过程,其中用上方像素值及模式替换上文所描述的左侧样本值及模式。
[0108] 举例来说,如果样本并非处于第一行中且先前样本是在CopyFromTop模式中译码且上方样本并非经译码为逃脱样本,则视频编码器20及视频解码器30可经配置以将调色板条目的数目递减一。另外,如果当前索引值大于或等于正上方样本的索引值,则视频编码器20及视频解码器30可经配置以将当前索引值递减一。此外,此递减的索引值可被称作经调整的索引值。接着,如果正上方样本的索引值并不等于转变索引且调色板条目的数目大于
1,则视频编码器20可将变数更新设定为1,否则,将更新设定为0。
[0109] 如果更新等于1,则视频编码器20及视频解码器30可经配置以进一步将调色板条目的数目递减一,所述递减的数目可被称作经调整的调色板大小。另外,如果转变索引大于或等于用于上方样本的索引值,则视频编码器20及视频解码器30可经配置以将转变索引递减一,所述递减的转变索引可被称作经调整的转变索引值。如果更新等于0且经调整的索引值大于经调整的转变索引值,则视频编码器20及视频解码器30可经配置以将经调整的索引值递减一。另外,仅在经调整的调色板大小大于1的情况下才可执行最后的索引调整,此是因为在经调整的调色板大小大于1的情况下,通常仅用信号通知经调整的索引值。
[0110] 如果经调整的调色板大小大于1,则视频编码器20可经配置以编码关于经调整的索引值的指示,且在一些实例中,可考虑调色板索引的最大的可能数目等于经调整的调色板大小。在此状况下,视频编码器20及视频解码器30可经配置以使用经截短的二进制化,例如本文所描述的经截短的二进制译码。
[0111] 上文描述了结合转变行程模式进行的调色板索引信号通知中的冗余移除。然而,这些技术可与有限行程方法组合,如下文及以下各美国临时申请案中所描述:2014年5月 23日申请的第62/002,717号美国临时申请案,及2014年6月9日申请的第62/009,772 号美国临时申请案。在此状况下,高于某一调色板索引值时,行程始终等于0且因此,对于那些调色板索引,视频编码器20可经配置从而并不编码关于行程值的指示。确切来说,视频编码器
20及视频解码器30可经配置以导出行程值等于0。关于此组合,上文关于转变行程模式描述的技术保持不变。即,例如,上文所描述的冗余移除技术也可与有限行程模式一起使用。
[0112] 另外或替代地,本发明的技术也可与有限行程技术组合,如纪尧姆拉罗什(Guillaume Laroche)等人的“AHG10:用于调色板模式的行程译码(AHG10:Run Coding for Palette Mode)”(JCTVC-Q0066,西班牙瓦伦西亚市,2014年3月27日到4月4日)(在下文中为JCTVC-Q0066)的标准提交文件中所提议。在此实例中,也指定极限索引。然而,与上文所描述的有限行程技术的一个差异在于:大于极限索引的调色板索引也可具有一或大于一的行程。然而,视频编码器20可能并不用信号通知行程。当实施此第二有限行程技术时,可能仅在先前像素的索引值小于或等于极限索引值或上方像素的索引值小于或等于极限索引值的情况下,应用本发明的冗余移除技术。
[0113] 上文所描述的技术大体上是关于视频编码器(例如,视频编码器20)加以描述。在解码器侧(如(例如)通过视频解码器30实施)上,使用与编码器侧上的条件相同的条件,视频解码器30也可调整调色板条目的数目及转变索引。视频解码器30可接着使用调色板条目的经调整的数目解码索引。可使用与编码器侧上的条件相同的条件递增(而非递减) 经解码索引。
[0114] 在CopyFromTop模式不可能的情况下,所描述的某些技术减少冗余,且因此可修改 SPoint旗标的信号通知,以使得视频编码器20及视频解码器30可推断值模式。根据本发明的方面,可将冗余减少技术扩展到也使用转变行程模式的状况。在此状况下,如果以下条件中的任一者为真,则CopyFromTop模式为不可能的:
[0115] 1.样本处于第一行中。
[0116] 2.用于先前样本的模式为CopyFromTop。
[0117] 3.上方像素是在逃脱模式中译码且样本并非处于第一行中且先前样本并非在 CopyFromTop模式中译码。
[0118] 4.上方样本及先前样本具有相同索引且先前样本并非在逃脱模式中译码。
[0119] 本发明的技术也提供用于明确地用信号通知用于逃脱调色板模式的逃脱旗标的替代方案。举例来说,并非通过显式逃脱信号通知而在SPoint旗标之前用信号通知逃脱旗标,而是根据本发明的方面,可交换旗标的次序,同时也改变那些旗标的语义。在此状况下,视频编码器20可首先在位流中用信号通知SPoint旗标。在此实例中,等于1的 SPoint旗标可指示值模式,而等于0的SPoint旗标可指示用于当前样本的调色板模式为 CopyFromTop模式或逃脱模式。另外,当SPoint旗标等于1时,视频编码器20可用信号通知逃脱旗标以区别CopyFromTop模式及逃脱模式。
[0120] 在上述实例中,视频编码器20及视频解码器30可经配置以使用CABAC来译码上文所描述的旗标中的至少一者或上文所描述的旗标中的两者(例如,SPoint旗标或逃脱旗标)。替代地,视频编码器20及视频解码器30可经配置以使用CABAC绕过模式译码这些旗标以减少上下文经译码二进制的数目。
[0121] 如上文所描述,在某些条件下,CopyFromTop模式可能并非为可能的。在这些状况下,当使用替代信号通知方法(例如,例如交换旗标)时,视频编码器20可经配置以仅用信号通知SPoint旗标,而不用信号通知逃脱旗标。在此状况下,SPoint旗标可具有不同语义。举例来说,等于1的SPoint旗标仍可指示模式为值模式,但等于0的SPoint旗标可指示逃脱模式。如果SPoint旗标是使用CABAC进行上下文译码,则在CopyFromTop 模式为不可能时的状况下,可使用额外的单独上下文来译码SPoint旗标值。在调色板大小为1且使用逃脱模式的状况下,如上文所描述,当使用替代信号通知方法时,视频编码器20及视频解码器30可经配置以跳过SPoint旗标的译码。
[0122] 本发明的技术也提供用于用信号通知用于逃脱调色板模式的逃脱旗标的另一替代信号通知技术(例如,相对于JCTVC-Q0094)。举例来说,在JCTVC-Q0094中,已在参考软件中考虑并移除某些信号通知冗余。作为实例,当译码当前样本时,如果用于先前样本的调色板模式为CopyFromTop,则视频编码器20及视频解码器30可能并不使用 CopyFromTop模式译码当前像素。类似地,如果用于先前样本的模式为具有调色板索引“X”的值模式,则视频编码器20及视频解码器30可能并不使用具有相同调色板索引“X”的值模式译码当前像素。在剖析阶段(例如,当在视频解码器30处剖析来自经编码位流的语法元素时),视频解码器
30检查上文所提及的条件以确定允许哪些语法元素以便恰当地读取位流。如果将检查许多这些条件,则此检查过程可变得繁重。
[0123] 根据本发明的方面,视频编码器20及视频解码器30可经配置以“重新使用”上文所提及的冗余以隐含地用信号通知逃脱模式。举例来说,当译码块的当前样本时,如果先前样本是使用CopyFromTop模式译码且用于当前像素的模式也按CopyFromTop用信号通知,则视频解码器30可推断用于当前块的模式为逃脱模式。即,视频编码器20可使用通过CopyFromTop模式译码的行中的两个样本的冗余来用信号通知逃脱模式。类似地,如果用于当前经译码的样本的先前样本的模式为具有调色板索引“X”的值模式且用信号通知的模式为具有相同调色板索引“X”的值模式,则视频解码器30可推断用于当前块的模式为逃脱模式。类似地,也可以此方式来利用上文所描述的其它冗余。
[0124] 在上文所描述的实例中,基于冗余进行的用信号通知逃脱模式并不包含视频编码器 20可用信号通知逃脱模式的所有可能的情形。因此,这些技术可用作用信号通知逃脱模式的补充方式。在其它实例中,也可对位流强加所述技术,以使得可在这些受约束情形中仅用信号通知逃脱模式。
[0125] 本发明的技术也涉及用信号通知:对于等于0的调色板大小,样本为逃脱样本。举例来说,根据本发明的方面,如果在使用显式逃脱信号通知时,与当前经译码的块相关联的调色板的调色板大小等于0,则视频编码器20及视频解码器30可经配置以推断块中的所有样本经译码为逃脱样本。即,视频编码器20及视频解码器30可经配置以确定块中的所有样本经译码为逃脱样本(例如,并不具有在用于译码块的调色板中表示的色彩值的样本),而并不编码或解码位流中表示逃脱模式的专用语法。同样,如果在使用隐含逃脱信号通知时,与当前经译码的块相关联的调色板的调色板大小等于1(例如,调色板的仅有的索引为用于用信号通知逃脱模式的额外索引,如上文所描述),则视频编码器 20及视频解码器30可经配置以推断块中的所有样本经译码为逃脱样本。
[0126] 在上文所描述的两个实例中(例如,对于显式及隐含逃脱信号通知两者),视频编码器20及视频解码器30可对于块的其余部分跳过某些基于调色板的语法的译码。举例来说,对于显式逃脱信号通知,视频编码器20可能并不用信号通知用于块的样本的逃脱旗标。另外,对于显式及隐含逃脱信号通知两者,视频编码器20可能并不用信号通知 SPoint旗标(对于隐含及显式逃脱信号通知两者)。即,因为可推断块的所有样本为逃脱样本,所以视频编码器20无需用信号通知Spoint旗标以区别CopyFromTop模式及值模式。视频解码器30同样可跳过解码此语法,所述情形可改良位速率及译码效率。
[0127] 在替代实例中,视频编码器20及视频解码器30可按规范性方式将调色板大小限定为至少为一。在此实例中,视频编码器20可经配置以修改调色板大小的信号通知以便用信号通知(调色板大小-1)。举例来说,当使用调色板预测符时(例如,如关于图4的实例更详细描述),对于调色板预测符的每一条目,视频编码器20可编码一位旗标以指示相应调色板预测符条目是否包含于当前块的调色板中。这些条目被称作经预测的调色板条目且通过调色板预测二进制向量(例如,一位旗标的字串)来指示。视频编码器20也可用信号通知在经预测的条目之后的新调色板条目的数目。在其它实例中,视频编码器20 可用信号通知在经预测的条目之前的新调色板条目的数目。在任何状况下,如果经预测的调色板条目的数目为0,则视频编码器20及视频解码器30可经配置以译码指示(新调色板条目的数目-1)的数据,而非译码新调色板条目的数目。
[0128] 在另一实例中,视频编码器20及视频解码器30可经配置以限定调色板模式以使得调色板大小不应等于0。举例来说,可按位流约束形式来达成此限定,即,位流不可能含有具有等于0的调色板大小的经调色板译码的块。
[0129] 本发明的技术也涉及用信号通知调色板大小。举例来说,可明确地用信号通知用于当前块(例如,当前由视频编码器20或视频解码器30译码的CU)的调色板大小(例如,如(例如)2014年4月3日申请的第14/244,688号美国申请案及2014年4月3日申请的第14/244,711号美国申请案中所揭示)。在这些实例中,调色板大小包含经预测的调色板条目(例如,使用调色板预测符确定)及新调色板条目(例如,如在位流中明确地用信号通知)两者。
[0130] 根据本发明的方面,如果用信号通知调色板大小,则可能不需要用信号通知新条目的数目,此是因为视频编码器20及视频解码器30可经配置以从经预测的条目的数目及调色板大小导出用于块的新调色板条目的数目(例如,调色板大小-经预测的条目的数目=新条目的数目)。另外,视频编码器20及视频解码器30可经配置以在用信号通知调色板大小且在建构用于当前块的调色板时达到用信号通知的大小数目时,终止对先前调色板的条目的预测。
[0131] 在一些实例中,可从先前调色板预测调色板大小,且视频编码器20可经配置以仅用信号通知差异。视频编码器20及视频解码器30可经配置以使用指数哥伦布、经截短的一元或固定长度码译码调色板大小与用于块的经预测的调色板大小之间的差。在一些情况下,视频编码器20及视频解码器30可经配置以取决于(例如,基于)经译码的块大小而做出预测。举例来说,对于8×8块,可从与使用调色板模式译码的最新8×8块(例如,按扫描次序在当前块之前的最近经译码的8×8)相关联的调色板预测调色板大小。同样,视频编码器20及视频解码器30可经配置以基于来自先前经译码16×16块的调色板预测用于16×16块的调色板大小,且可将类似关系扩展到具有其它大小的块。替代地,在另一实例中,可从通过小于或等于当前块大小的大小译码的最新块预测调色板大小。
[0132] 本发明的技术也涉及用信号通知最大调色板大小及/或最大调色板预测符大小。举例来说,根据本发明的方面,视频编码器20及视频解码器30可经配置以译码指示最大调色板大小及/或最大调色板预测符大小的数据。在一些实例中,视频编码器20及视频解码器
30可经配置以根据SPS译码此数据。译码指示最大调色板大小及/或最大调色板预测符大小的数据可提供灵活性,例如,允许视频编码器20及视频解码器30针对不同简档、层级、位深度、块大小或其类似者使用具有不同大小的调色板及调色板预测符。在视频译码标准的上下文中,简档可对应于算法、特征或工具及适用于其的约束的子集。举例来说,简档可为通过细节指定的整个位流语法的子集。层级可对应于对解码器资源消耗的限制,例如解码器存储器及计算,其可涉及图片分辨率、位速率及块处理速率。简档可通过profile_idc(简档指示符)值来用信号通知,而层级可通过level_idc(层级指示符)值来用信号通知。
[0133] 根据本发明的方面,视频编码器20及视频解码器30可经配置以使用关于最大调色板大小的信息来确定与调色板模式相关联的元素及旗标,例如,在用信号通知新调色板条目的数目时。作为实例,可通过MAX_PLT_SIZE来表示最大的可能调色板大小,所述MAX_PLT_SIZE可由视频编码器20来编码及由视频解码器30来解码。类似地,可通过MAX_PLT_PREDICTOR_SIZE来表示调色板预测符向量的最大的可能大小,所述 MAX_PLT_PREDICTOR_SIZE可由视频编码器20来编码及由视频解码器30来解码。
[0134] 作为另一实例,根据本发明的方面,视频编码器20及视频解码器30可译码指示调色板预测二进制向量中的“一”的数目(例如,其可表示经复制到用于译码当前块的调色板的来自调色板预测符的条目的数目)的数据。在一些情况下,视频编码器20及视频解码器30可经配置以译码语法元素numPredPalette以指示经预测的调色板条目的数目。如果numPredPalette的值等于MAX_PLT_SIZE的值(即,最大调色板大小),则视频编码器 20及视频解码器30可经配置以完全跳过新调色板条目的数目的译码。否则,如果 numPredPalette的值小于MAX_PLT_SIZE的值,则视频编码器20及视频解码器30可基于(MAX_PLT_SIZE-numPredPalette)(其为用于新调色板条目的数目的最大的可能值)使用经截短的二进制化,以译码指示新条目的数目的数据。
[0135] 大体来说,经截短的二进制化可包含通过以下操作使用关于用信号通知的特定参数 (例如,例如新调色板条目的数目)的最大的可能值的信息的任何技术:递减在参数的二进制化方法中使用的一些码字的长度,同时维持独特可解码性。举例来说,视频编码器 20及视频解码器30可经配置以使用给定参数(例如,例如新调色板条目的数目)的最大值建构经截短的二进制码。用于进行经截短的二进制译码的实例技术描述于 http://en.wikipedia.org/wiki/Truncated_binary_encoding处。
[0136] 类似地,视频编码器20及视频解码器30可使用经截短的一元或指数哥伦布或哥伦布-莱斯(Colomb-Rice)码来基于新调色板条目的数目的最大的可能值用信号通知及解码新调色板条目的数目。举例来说,如果(MAX_PLT_SIZE-numPredPalette)=3,则视频编码器20可使用经截短的一元码来将3用信号通知为000,而非0001(例如,如在使用规则一元码时将用信号通知的)。在经截短的指数哥伦布或哥伦布-莱斯码的状况下,视频编码器20及视频解码器30可经配置以将含有最大值的区间内的前缀的长度减少一。因此,视频编码器20及视频解码器30可经配置以将前缀从000...001改变成000...000。类似地,视频编码器20及视频解码器30可经配置以取决于最大值而减少彼区间内的二进制化方法中的后缀位的数目。
[0137] 对于大块(及/或大CU),调色板大小倾向于为最大调色板大小。因此,在一些状况下,视频编码器20及视频解码器30可经配置以按常用方式的反方式映射 (MAX_PLT_SIZE-numPredPalette)的二进制化,即,其中将较短码字长度指派给  (MAX_PLT_SIZE-numPredPalette)的较大值,且将较长码字长度指派给 (MAX_PLT_SIZE-numPredPalette)的较小值。在一些实例中,并非使用数个0后接续1 来用信号通知一元/经截短的一元码,或按哥伦布-莱斯或指数哥伦布或串接哥伦布-莱斯及指数哥伦布系列码的前缀形式,而是视频编码器20及视频解码器30可经配置以使用数个1后接续0。
[0138] 此外,其它变化是有可能的。举例来说,视频编码器20及视频解码器30可经配置以将这些码中的第一位解译为指示新条目的数目为零抑或非零的旗标。视频编码器20 及视频解码器30可经配置以将剩余位解译为新调色板条目的数目减去1。在实例中,出于说明的目的,新调色板条目的最大值可为8且新调色板条目的数目可为3。使用经截短的一元码,视频编码器20及视频解码器30可经配置以确定二进制化为0001。如果视频编码器20及视频解码器30经配置以将第一位解译为旗标(例如,0:一或多个新调色板条目,1:零个新调色板条目),则其余位(001)指示存在两个新调色板条目。当使用经截短的码时,视频编码器20及视频解码器30可经配置以将最大值向下调整一。
[0139] 在其它实例中,视频编码器20及视频解码器30可经配置以按反方式来解译上文所描述的旗标。在此状况下,视频编码器20及视频解码器30可经配置以将旗标值1解译为一或多个新调色板条目且将旗标值0解译为零个新调色板条目。在此状况下,用于用信号通知具有最大值8的三个新调色板条目的位为1001。
[0140] 在其它实例中,可将上文所描述的旗标的概念扩展到其它码,例如指数哥伦布、哥伦布-莱斯或其类似者。举例来说,当用于新调色板条目的最大值为非零时,视频编码器 20可经配置以用信号通知指示是否存在非零新条目的旗标。如果旗标指示存在非零新条目,则可使用指数哥伦布、哥伦布-莱斯、串接的指数哥伦布及哥伦布-莱斯或类似码或其经截短的版本来用信号通知新条目的数目减去一。当使用经截短的版本时,可将最大值向下调整一。
[0141] 在一些实例中,旗标可使用CABAC来进行上下文译码,而其余二进制(例如,新调色板条目减去1)可绕过译码。替代地,旗标以及其余二进制(新调色板条目减去1)都可绕过译码。在一些情况下,来自新调色板条目减去1的码的前缀二进制的固定数目可使用CABAC进行上下文译码,且其余二进制可绕过译码。
[0142] 根据本发明的方面,如上文所提及,可在参数集(例如,SPS)中用信号通知语法元素 MAX_PLT_SIZE。在其它实例中,可在VPS、图片参数集(PPS)、切片标头中、在块层级下(例如,针对LCU或CU用信号通知语法)或在其它处用信号通知语法元素 MAX_PLT_SIZE。在一些实例中,根据本发明的方面,可针对不同的块大小指定不同的最大调色板大小。在其它实例中,最大调色板大小可取决于经译码的视频数据的简档或位深度。举例来说,对于较大输入位深度(或简档位深度),语法元素MAX_PLT_SIZE可用以指定相对较大的最大调色板大小。在再其它实例中,最大调色板大小可另外或替代地取决于经译码的视频数据的色度格式。
举例来说,语法元素MAX_PLT_SIZE可用以针对单色输入指定相对较小的最大调色板大小(与针对4:2:0色度子取样格式相比较),所述4:2:0色度子取样格式又可具有比4:4:4色度子取样格式化的输入小的大小。
[0143] 根据本发明的方面,并非按上文所描述的方式用信号通知语法元素MAX_PLT_SIZE,而是可用信号通知指示(MAX_PLT_SIZE-1)的数据,此是因为等于0 的MAX_PLT_SIZE语法元素可能为无效的(归因于完全停用调色板)。
[0144] 在另一实例中,并非在VPS、SPS、PPS或切片标头层级用信号通知单独旗标以启用/停用调色板模式,而是视频编码器20可经配置以仅用信号通知MAX_PLT_SIZE语法元素。在此实例中,视频编码器20及视频解码器30可经配置以将为0的MAX_PLT_SIZE 语法元素解译为停用调色板模式。即,当接收到调色板大小语法元素(例如, MAX_PLT_SIZE语法元素)时,视频解码器30可基于所述语法元素确定已停用调色板模式。可使用固定长度码(假定关于MAX_PLT_SIZE的规范性极限)或哥伦布-莱斯或指数哥伦布码来用信号通知MAX_PLT_SIZE语法元素或(MAX_PLT_SIZE-1)。
[0145] 如上文所提及,本发明的技术还包含译码指示最大调色板预测符大小的数据。举例来说,根据本发明的方面,视频编码器20及视频解码器30可经配置以在VPS、SPS、 PPS、切片标头中、在块层级或在其它处译码指示最大调色板预测符大小的 MAX_PLT_PREDICTOR_SIZE语法元素。在一些实例中,并非用信号通知 MAX_PLT_PREDICTOR_SIZE语法元素,而是可用信号通知 (MAX_PLT_PREDICTOR_SIZE-1)。在再其它实例中,视频编码器20及视频解码器30 可经配置以译码指示最大调色板预测符大小的其它数据。
[0146] 在本文所描述的特定实例中,可使用固定长度码(例如,假定关于 MAX_PLT_PREDICTOR_SIZE的规范性极限)或哥伦布莱斯或指数哥伦布码来用信号通知MAX_PLT_PREDICTOR_SIZE语法元素或(MAX_PLT_PREDICTOR_SIZE-1)。在一些实例中,视频编码器20及视频解码器30可经配置以假定(例如,自动确定):通过 MAX_PLT_PREDICTOR_SIZE语法元素指示的大小大于或等于最大调色板大小(例如,如通过MAX_PLT_SIZE语法元素指示)。在此实例中,视频编码器20及视频解码器30 可经配置以使用固定长度码或哥伦布-莱斯或指数哥伦布码译码 (MAX_PLT_PREDICTOR_SIZE-MAX_PLT_SIZE)。因此,根据本发明的方面,视频编码器20及视频解码器30可经配置以译码指示最大调色板预测符大小与最大调色板大小之间的差量(例如,差值)的数据。
[0147] 在按SPS层级用信号通知最大调色板大小及最大调色板预测符大小的实例中,视频编码器20及视频解码器30可经配置以使用经截短的一元码译码指示新条目的数目的数据。新条目的数目加上自调色板预测符预测的条目的数目一起可能不超过在SPS中用信号通知的最大调色板大小。然而,如果在SPS中用信号通知的最大调色板大小相对较大,则新条目的数目可超过31。在此情况下,经截短的一元码超过32位长度,对于软件及硬件实施来说,所述情形可能为不合需要的。
[0148] 为了解决此问题,根据本发明的方面,在实例中,视频编码器20及视频解码器30 可经配置以限定新条目的数目,以使得用于用信号通知新条目的数目的码的长度不会超过32。举例来说,如果使用一元或经截短的一元码来用信号通知新条目的数目,则新条目的数目可限定于31。应理解,长度限定32仅为实例(例如,可替代地使用其它长度限定)。
[0149] 在HEVC屏幕内容译码扩展文本规范草案2(拉詹乔希(Rajan Joshi)等人的“高效率视频译码(HEVC)屏幕内容译码:草案2(High Efficiency Video Coding(HEVC)Screen Content Coding:Draft 2)”(JCTVC-S1005,日本札幌,2014年6月30日到7月9日)(下文中为JCTVC-S1005))中,使用经截短的一元码来用信号通知新调色板条目的数目,其中最大值等于在SPS中用信号通知的最大调色板大小(palette_max_size)减去从调色板预测符预测的调色板条目的数目。使用所提议的限定,可将最大值修改为以下两者中的较小者:32,及在SPS中用信号通知的最大调色板大小(palette_max_size)与从调色板预测符预测的调色板条目的数目之间的差。如果执行对最大值的此修改且使用JCTVC-S1005 的经截短的一元译码,则新调色板条目的最大数目可为32(而非31),而码的长度不超过 32个位。
[0150] 在一些实例中,并非经截短的一元译码,而是如果视频编码器20及视频解码器30 经配置从而使用例如指数哥伦布或其经截短版本的另一码,则可适当地修改最大可允许的新调色板条目以使得长度不会超过32。如果存在具有码字长度32的数个值,则视频编码器20及视频解码器30可经配置以选择此值中的最高者为新调色板条目的数目的最大可允许的值。
[0151] 可使得本文所描述的关于新调色板条目的最大数目的限定为规范性限定。举例来说,视频编码器20可经配置以产生具有约束的位流,且视频解码器30可经配置以依赖于相符位流中的约束。
[0152] 根据本发明的方面,在实例中,可相对于JCTVC-S1005改变 palette_num_signaled_entries语法元素的语义如下:语法元素palette_num_signaled_entries 指定当前调色板中明确地用信号通知的条目的数目。语法元素 palette_num_signaled_entries的值将在0到31(包含0及31)的范围内。当语法元素 palette_num_signaled_entries不存在时,推断其等于0。
[0153] 另外,变数CurrentPaletteSize的值指定当前调色板的大小且如下来导出:
[0154] 如果palette_share_flag[x0][y0]等于1,
[0155] 则CurrentPaletteSize=PreviousPaletteSize(7-71)
[0156] 否则(palette_share_flag[x0][y0]等于0)
[0157] CurrentPaletteSize=paletteNumPredictedEntries+palette_num_signaled_entries (7-72)
[0158] 在上述实例中,CurrentPaletteSize的值将在0到palette_max_size(包含0及 palette_max_size)的范围内。
[0159] 根据本发明的方面,如果按上文所描述的方式修改最大值,则可修改语法元素 palette_num_signaled_entries的值以使得所述值将在0到32(包含0及32)的范围内。
[0160] 在另一实例中,可在SPS中用信号通知最大调色板大小且其可限于31。限制大小可通过以下操作来完成:在palette_max_size语法元素的语义中对palette_max_size语法元素强加上限,以使得palette_max_size语法元素指定最大允许的调色板大小。 palette_max_size语法元素的值将在0到31(包含0及31)的范围内。当不存在时,推断 palette_max_size语法元素的值为0。在一些实例中,并非31,所述值可限定于32。
[0161] 在另一实例中,palette_max_size语法元素的最大值可受限定,以使得在新调色板条目的数目等于palette_max_size的情况下,视频编码器20及视频解码器30可经配置以使用不会超过32个位的码译码新调色板条目的数目。在再一实例中,新调色板条目的数目的最大值可始终限于31,而不管用以译码最大值的码。在再一实例中,最大值可限于32。
[0162] 本发明的技术是关于块层级逃脱信号通知(例如,对于CU或LCU)。举例来说,根据本发明的方面,一或多个语法元素可指示:在块层级(例如,CU层级),块的样本中的任一者是否经译码为逃脱样本(例如,并不具有在用于译码块的调色板中表示的色彩值的样本)。如上文所提及,所述一或多个语法元素可被称作块层级逃脱语法。此外,块层级语法可指通过视频数据的块(例如,CU或LCU)译码或确定的语法,而非可包含于切片标头中或视频数据的个别像素中的语法。
[0163] 在使用调色板译码而译码的样本的块中的至少一样本经译码为逃脱样本的情况下,本发明的技术可用以用信号通知此模式的存在。在实例中,出于说明的目的,视频编码器20及视频解码器30可经配置以译码旗标(其可被称作块层级逃脱旗标),所述旗标指示经译码的块的样本中的任一者是否经译码为逃脱样本。在一些情况下,旗标值0可指示块的样本或像素中无一者经译码为逃脱样本。旗标值1可指示块的至少一样本或像素经译码为逃脱样本。因此,块层级逃脱语法可指示:对于视频数据的块的所有样本,块的至少一样本是通过使用到用于块的色彩值的调色板的索引来译码抑或不通过使用到用于块的色彩值的调色板的索引来译码,例如,是使用逃脱模式译码。
[0164] 根据本发明的方面,相对于在无块层级指示的情况下用信号通知逃脱样本的技术来说,上文所描述的语法可达成位节省。举例来说,在语法指示无块的样本经译码为逃脱样本的情况下(例如,上文所描述的旗标为0),视频编码器20及视频解码器30可能并不译码用于块的与逃脱样本相关联的任何其它语法。举例来说,关于本文所描述的显式逃脱信号通知,视频编码器20及视频解码器30可跳过样本层级逃脱模式旗标的译码。关于隐含逃脱信号通知,视频编码器20及视频解码器30可跳过用于调色板的指示逃脱样本的额外索引的译码。在此实例中,视频编码器20及视频解码器30可仅译码SPoint 旗标以区别CopyFromTop模式及值模式。
[0165] 在一些实例中,可在当前经译码的块或CU的调色板条目之前用信号通知上文所描述的旗标。在其它实例中,可在当前经译码的块或CU的调色板条目之后用信号通知上文所描述的旗标。在一些实例中,视频编码器20及视频解码器30可经配置以对上文所描述的旗标进行上下文译码。在这些实例中,视频编码器20及视频解码器30可基于用于当前块或CU的块或CU大小及/或调色板大小确定上下文。
[0166] 在一些情况下,逃脱样本的使用情况可随块大小而变化。举例来说,在相对较小的块中,对于逃脱样本的使用可能不太流行。在这些情况下,视频编码器20及视频解码器30可经配置以确定块并不包含任何逃脱样本且跳过上文所描述的旗标的译码,藉此达成位节省。举例来说,根据本发明的方面,视频编码器20及视频解码器30可能并不译码用于8×8块的块层级旗标,其中与较大块大小情形相比较,更不大可能使用逃脱样本。类似地,对于大的块大小(例如,64×64像素或大于64×64像素的块),视频编码器 20及视频解码器30可经配置以确定始终存在经译码为逃脱样本的样本。在这些情况下,视频编码器20及视频解码器30可推断:用于块的块层级逃脱旗标等于1(例如,至少一样本为逃脱样本),且跳过块层级逃脱旗标的译码(例如,关于块层级逃脱旗标的指示并不包含于位流中)。
[0167] 本发明的技术还涉及基于块的任何样本是否经译码为逃脱样本而译码样本的块。举例来说,如上文所提及,本发明的技术可用以指示任何样本是否经译码为经调色板译码的块的逃脱样本。在块并不包含逃脱样本的情况下且当调色板的大小为1时,视频编码器20及视频解码器30可经配置以自动地确定块的所有样本具有相同的索引值(例如,调色板的仅有的条目)。因此,视频编码器20及视频解码器30也可跳过用以确定块的调色板索引的其它所有其它数据的译码。举例来说,视频编码器20及视频解码器30可跳过 SPoint旗标、索引信号通知及与调色板索引的行程相关联的数据的译码。
[0168] 在实例中,出于说明的目的,视频解码器30可解码块层级逃脱旗标,所述块层级逃脱旗标指示当前块中不存在经译码为逃脱样本的样本(例如,旗标等于0)。视频解码器30也可解码指示用于块的调色板具有单一条目的数据(例如,指示调色板大小为1的数据)或解码具有单一条目的调色板。在此实例中,基于两个条件评估为真(例如,无样本为逃脱样本且调色板大小为1),视频解码器30可自动地确定块的所有调色板索引等于包含于调色板中的单一条目。视频解码器30也可跳过用以确定块的调色板索引的其它数据(例如,例如SPoint旗标、调色板索引及行程信息)的解码。
[0169] 在另一实例中,根据本发明的方面,当调色板大小为1时,可通过逃脱样本来终止通过调色板索引0译码的样本的行程。即,调色板索引的行程可间杂有经译码为逃脱样本的位置。在此实例中,视频编码器20及视频解码器30可经配置以跳过SPoint旗标的译码。另外,在此实例中,视频编码器20及视频解码器30可经配置以推断用于调色板索引的模式为值模式以及值模式的索引(例如,在调色板中仅具有一个条目,可能不必用信号通知用于值模式的索引)。在此实例中,视频编码器20及视频解码器30可推断紧接在行程之后的样本经译码为逃脱样本且跳过逃脱相关语法的译码。
[0170] 本发明的技术也涉及在调色板译码中译码指示调色板索引的行程的行程值的数据。举例来说,如上文所提及,行程值可指示在经调色板译码的块中在一起译码的按特定扫描次序的连续样本的数目(例如,样本的行程)。在一些情况下,样本的行程也可被称作调色板索引的行程,此是因为行程的每一样本具有到调色板的相关联的索引。
[0171] 行程值可指示使用相同的调色板译码模式译码的调色板索引的行程。举例来说,关于值模式,视频编码器20及视频解码器30可译码索引值及行程值,所述行程值指示具有相同的索引值且通过索引值译码的按扫描次序的连续样本的数目。关于CopyFromTop 模式,视频编码器20及视频解码器30可译码关于基于上方相邻样本(例如,定位于块中当前经译码的样本上方的样本)的索引复制用于当前样本值的索引的指示,及指示还从上方相邻样本复制索引值且通过索引值译码的按扫描次序的连续样本的数目的行程值。
[0172] 举例来说,根据本发明的方面,可基于用于块的最大的可能行程值译码指示视频数据的块中的调色板索引的行程的数据。即,视频编码器20及视频解码器30可针对与调色板索引(所述调色板索引使像素的值与调色板中的色彩值相关)相关联的像素,确定通过像素的调色板索引译码的调色板索引的行程的行程长度。视频编码器20及视频解码器30也可确定能够通过像素的调色板索引译码的调色板索引的最大行程的最大行程长度。视频编码器20及视频解码器30可接着基于所确定的最大行程长度译码指示行程长度的数据。
[0173] 在实例中,出于说明的目的,视频数据的块中的样本的总数目可为N且样本中的每一者可从0到(N-1)来编索引。对于具有位置j的样本,视频编码器20及视频解码器30 可确定最大的可能行程值为(N-j-1)。应注意,行程值指示通过与当前样本相同的调色板译码模式(例如,值模式或CopyFromTop模式)译码的后续样本的数目。根据本发明的方面,视频编码器20及视频解码器30可经配置以使用经截短的二进制化译码指示行程值的数据,从而考虑最大的可能行程值。大体来说,经截短的二进制化可包含通过以下操作使用关于用信号通知的特定参数(例如,例如新调色板条目的数目)的最大的可能值的信息的任何技术:递减在参数的二进制化方法中使用的一些码字的长度,同时维持独特可解码性。举例来说,可使用基于行程的最大的可能值的经截短的二进制码。类似地,可使用经截短的一元或指数哥伦布或哥伦布莱斯码来基于行程的最大的可能值译码及解码行程值。在一些实例中,经截短的二进制化可为指数哥伦布及哥伦布-莱斯码的组合。
[0174] 举例来说,第k阶指数哥伦布(EGk)码字是由两个部分构成:前缀及后缀。对于给定的无正负号整数x,EGk码字的前缀部分由对应于以下值的一元码构成:
[0175]
[0176] 将后缀部分计算为使用k+l(x)个位的x-2k(2l(x)-1)的二进制表示。
[0177] 作为实例,以下表1包含用于EG0的若干码字。
[0178] 表1-EG0实例
[0179]
[0180] 在2014年6月20日申请的第62/019,223号美国临时申请案中,使用第2阶指数哥伦布码译码行程值。
[0181] 根据本发明的方面,视频编码器20及视频解码器30可经配置以使用经截短的指数哥伦布码译码指示行程值的数据。举例来说,第k阶经截短的指数哥伦布(TEGk)码字也由两个部分构成:前缀及后缀。前缀可为一元前缀且后缀可为二进制后缀。举例来说,对于给定的无正负号整数x及其最大的可能行程值Xmax(例如,最大行程长度),EGk 码字的前缀部分由对应于以下值的经截短的一元码构成:
[0182]
[0183] 具体言之,在以下情况下,可避免一元码的“尾随的1”:
[0184]
[0185] 如果前缀经截短,即, 则将TEGk的后缀部分计算为使用 k+l(x)或k+l(x)-1个位的x-2k(2l(x)-1)的经截短的二进制表示。用于经截短的二进制码的输入的最大符号值为Xmax-2k(2l(x)-1)。
[0186] 如果前缀并非经截短,则TEGk的后缀部分与EGk相同,即,使用k+l(x)个位的 x-2k(2l(x)-1)的二进制表示。作为实例,以下表1包含用于TEG0的若干码字。
[0187] 表2-TEG0实例(X=5)
[0188]
[0189] 虽然以上表2的实例将那个前缀说明为数个0后接续尾随的1(例如,00...1_),但应理解,在其它实例中,视频编码器20及视频解码器30可译码数个1后接续尾随的0(例如,11....0)。
[0190] 根据本发明的方面,视频编码器20及视频解码器30可使用上文所描述的TEGk码译码行程值。在一些实例中,视频编码器20及视频解码器30可针对块(或CU)中的当前像素位置,基于等式(Xmax=当前CU中的像素的数目-按扫描次序的当前位置-1)确定最大行程值Xmax。
[0191] 在另一实例中,如果行程值首先是使用经截短的一元前缀译码,则视频编码器20 及视频解码器30可经配置以(例如)基于经截短的值相应地调整最大行程值。举例来说,在一些情况下,视频编码器20及视频解码器30可经配置以将行程值译码为一系列三个旗标:大于0、大于1,及大于2。在此实例中,如果用信号通知的行程大于2,则视频编码器20及视频解码器30可译码剩余值(例如,行程值-3),可能通过另一种二进制化方法,例如上文所描述的指数哥伦布及哥伦布-莱斯码或TEGk码的组合。
[0192] 然而,如果(N-j-1)等于0,则视频编码器20及视频解码器30并不译码行程。同样,如果(N-j-1)等于1,则视频编码器20及视频解码器30可仅译码大于0旗标。同样,如果(N-j-1)等于2,则视频编码器20及视频解码器30可仅译码大于0及大于1旗标。同样,如果(N-j-1)等于3,则视频编码器20及视频解码器30可仅译码大于0旗标、大于1 旗标及大于2旗标。如果(N-j-1)大于3,则除大于0旗标、大于1旗标及大于2旗标之外,视频编码器20及视频解码器30也可译码高达最大值为(N-j-4)的剩余值。以类似方式,可将所描述的过程扩展到使用除3个以外的数个旗标,例如,指示大于数目M的用信号通知的值的旗标,其中M可为从0开始的非负值。
[0193] 根据本发明的方面,在上述实例中,视频编码器20及视频解码器30可使用上文所描述的TEGk码译码剩余行程长度,其中最大行程值等于(当前CU中的像素的数目-按扫描次序的当前位置-4)。在另一实例中,视频编码器20及视频解码器30可经配置以译码指示行程值是否大于0及指示剩余值为行程长度减去一的旗标。举例来说,视频编码器20及视频解码器30可译码大于0旗标。视频编码器20及视频解码器30也可使用 TEGk码译码指示行程长度减去一的数据,其中用于TEGk码的最大值经设定为等于最大行程长度减去一。在实例中,视频编码器20及视频解码器30可将k设定为等于0,以使得TEGk码为TEG0码。
[0194] 在其它实例中,视频编码器20及视频解码器30可使用上文所描述的TEG码的任何阶来译码用于调色板译码的语法元素。在实例中,视频编码器20及视频解码器30可将k设定为等于2,以使得TEGk码为TEG2码。
[0195] 虽然上述实例涉及在调色板译码中译码行程值加以描述,但视频编码器20及视频解码器30可经配置以使用所述码(例如,TEGk码)来译码用于调色板译码的其它语法。举例来说,如下文更详细描述,视频编码器20及视频解码器30可使用上文所描述的码来译码二进制调色板预测向量、CopyAbove行程长度或其它值。
[0196] 在乔希(Joshi)等人的“非SCCE3:用于译码索引行程的上下文(Non-SCCE3:Contexts for coding index runs)”(ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的视频译码联合合作小组(JCT-VC),第18次会议,日本札幌,2014年6月30日到7月9日, JCTVC-R0174)(在下文中为JCTVC-R0174)中,作者提议在使用CopyLeft模式(例如,所述模式可按与CopyFromTop模式类似的方式操作)的情况下使得行程长度码字的上下文取决于索引。然而,根据本发明的实例,如果当前行程模式为CopyFromAbove,则视频编码器20及视频解码器30可基于定位于当前经译码的像素上方的像素的索引值确定用于对行程进行CABAC译码的上下文。在此实例中,上方相邻像素在当前CU的外部,视频编码器20及视频解码器30可确定对应索引等于预定义常数k。在一些实例中,常数k可等于0。
[0197] 在一些实例中,如果用于译码当前像素的调色板模式为CopyFromAbove模式,则视频编码器20及视频解码器30可基于上方相邻像素是否具有等于0的索引而选择两个候选CABAC上下文中的一者来译码行程长度码字的第一二进制。作为另一实例,如果用于译码当前像素的调色板模式为CopyPrevious模式,则视频编码器20及视频解码器 30可基于索引是等于0、1、2抑或大于2而选择四个候选CABAC上下文中的一者来译码行程长度码字的第一二进制。
[0198] 图2为说明可实施本发明的技术的实例视频编码器20的框图。出于解释的目的而提供图2,且不应将所述图视为对如本发明中广泛举例说明及描述的技术的限制。出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
[0199] 视频编码器20表示可经配置以根据本发明中所描述的各种实例执行用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20可经配置以使用基于调色板的译码或非基于调色板的译码选择性地译码视频数据的各种块(例如,HEVC译码中的CU或PU)。非基于调色板的译码模式可指各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如通过HEVC草案10指定的各种译码模式。在实例中,视频编码器20可经配置以产生具有指示像素值的条目的调色板,选择调色板中的像素值以表示视频数据的块中的至少一些像素位置的像素值,及用信号通知使视频数据的块中的像素位置中的至少一些像素位置与调色板中的条目(所述条目分别对应于调色板中的选定像素值)相关联的信息。用信号通知的信息可由视频解码器30使用以解码视频数据。
[0200] 在图2的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元 110、重建单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元 120包含运动估计单元及运动补偿单元(未图示)。视频编码器20还包含基于调色板的编码单元122,其经配置以执行本发明中所描述的基于调色板的译码技术的各种方面。在其它实例中,视频编码器20可包含较多、较少或不同功能的组件。
[0201] 视频数据存储器101可存储待由视频编码器20的组件编码的视频数据。存储于视频数据存储器101中的视频数据可(例如)从视频源18获得。经解码图片缓冲器116可为参考图片存储器,其存储用于由视频编码器20在编码视频数据(例如,在帧内或帧间译码模式中)时使用的参考视频数据。视频数据存储器101及经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM (SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可通过相同存储器装置或单独存储器装置来提供视频数据存储器101及经解码图片缓冲器 116。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于那些组件来说在芯片外。
[0202] 视频编码器20可接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一CTU。CTU中的每一者可与图片的相等大小的明度译码树型块(CTB)及对应CTB 相关联。作为编码CTU的部分,预测处理单元100可执行四分树分割以将CTU的CTB 划分成逐渐较小的块。所述较小块可为CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割成四个相等大小的子块,将所述子块中的一或多者分割成四个相等大小的子子块,等等。
[0203] 视频编码器20可编码CTU的CU以产生CU的经编码表示(即,经译码CU)。作为编码CU的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块及对应的色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小,且PU的大小可指PU的明度预测块的大小。假定特定CU的大小为2N×2N,则视频编码器20及视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小。视频编码器20及视频解码器30也可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的 PU大小的不对称分割。
[0204] 帧间预测处理单元120可通过对CU的每一PU执行帧间预测而产生用于PU的预测性数据。用于PU的预测性数据可包含PU的预测性块及用于PU的运动信息。取决于 PU是在I切片中、P切片中抑或B切片中,帧间预测单元121可针对CU的PU执行不同操作。在I切片中,所有PU经帧内预测。因此,如果PU是在I切片中,则帧间预测单元121并不对PU执行帧间预测。因此,对于在I模式中编码的块,经预测的块是使用空间预测从同一帧内的先前经编码的相邻块而形成。
[0205] 如果PU是在P切片中,则帧间预测处理单元120的运动估计单元可在用于PU的参考区的参考图片列表(例如,“RefPicList0”)中搜寻参考图片。PU的参考区可为参考图片内含有最紧密地对应于PU的样本块的样本块的区。运动估计单元可产生指示含有用于PU的参考区的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元可产生指示PU的译码块与相关联于参考区的参考位置之间的空间位移的MV。举例来说,MV可为提供从当前经解码图片中的座标到参考图片中的座标的偏移的二维向量。运动估计单元可输出参考索引及MV作为PU的运动信息。帧间预测处理单元120的运动补偿单元可基于通过PU的运动向量指示的参考位置处的实际或经内插的样本而产生 PU的预测性块。
[0206] 如果PU是在B切片中,则运动估计单元可针对PU执行单向预测或双向预测。为了针对PU执行单向预测,运动估计单元可搜寻RefPicList0的参考图片,或用于PU的参考区的第二参考图片列表(“RefPicList1”)。运动估计单元可输出以下各者作为PU的运动信息:指示含有参考区的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的预测块与相关联于参考区的参考位置之间的空间位移的MV,及指示参考图片在RefPicList0抑或在RefPicList1中的一或多个预测方向指示符。帧间预测处理单元120的运动补偿单元可至少部分地基于通过PU的运动向量指示的参考区处的实际或经内插的样本而产生PU的预测性块。
[0207] 为了针对PU执行双向帧间预测,运动估计单元可在用于PU的参考区的RefPicList0 中搜寻参考图片,且也可在用于PU的另一参考区的RefPicList1中搜寻参考图片。运动估计单元可产生指示含有参考区的参考图片的RefPicList0及RefPicList1中的位置的参考图片索引。另外,运动估计单元可产生指示相关联于参考区的参考位置与PU的样本块之间的空间位移的MV。PU的运动信息可包含PU的参考索引及MV。运动补偿单元可至少部分地基于通过PU的运动向量指示的参考区处的实际或经内插的样本而产生 PU的预测性块。
[0208] 根据本发明的各种实例,视频编码器20可经配置以执行基于调色板的译码。关于 HEVC构架,作为实例,基于调色板的译码技术可经配置以用作译码单元(CU)模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的构架中的PU模式。因此,本文中(贯穿本发明)在CU模式的上下文中描述的全部所揭示过程可另外或替代地适用于PU。然而,这些基于HEVC的实例不应被视为限定或限制本文中所描述的基于调色板的译码技术,因而,这些技术可适用于独立地或作为其它现有或尚待开发的系统/标准的部分而工作。在这些状况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
[0209] 当(例如)针对CU或PU选择基于调色板的编码模式时,基于调色板的编码单元 122(例如)可执行基于调色板的解码。举例来说,基于调色板的编码单元122可经配置以产生具有指示像素值的条目的调色板,选择调色板中的像素值以表示视频数据的块中的至少一些位置的像素值,及用信号通知使视频数据的块的位置中的至少一些位置与调色板中的条目(所述条目分别对应于选定像素值)相关联的信息。尽管将各种功能描述为由基于调色板的编码单元122执行,但这些功能中的一些或全部可由其它处理单元或不同处理单元的组合来执行。
[0210] 根据本发明的方面,基于调色板的编码单元122可经配置以执行本文中所描述的用于调色板译码的技术的任何组合。举例来说,根据本发明的方面,基于调色板的编码单元122可确定语法元素的值,所述语法元素指示对于视频数据的块的所有样本来说,块的至少一个相应样本是否通过第一调色板模式译码,其中第一调色板模式包含译码块的相应样本,而不使用到用于块的色彩值的调色板的索引。举例来说,基于调色板的编码单元122可确定块层级语法元素的值,所述块层级语法元素指示块的任何样本是否经编码为逃脱样本(经编码为并不具有在用于译码块的调色板中表示的色彩值的样本)。在一些实例中,基于调色板的编码单元122可确定用于块的逃脱旗标,所述逃脱旗标指示块的任何样本是否经编码为逃脱样本。
[0211] 另外或替代地,基于调色板的编码单元122可确定以下各数据中的至少一者:指示用于译码视频数据的块的色彩值的调色板的最大调色板大小的数据,或指示用于确定色彩值的调色板的调色板预测符的最大调色板预测符大小的数据。举例来说,基于调色板的编码单元122可将此数据包含于例如SPS的参数集中。
[0212] 另外或替代地,基于调色板的编码单元122可针对与调色板索引相关联的像素确定通过像素的调色板索引译码的调色板索引的行程的行程长度,所述调色板索引使像素的值与用于译码像素的色彩的调色板中的色彩值相关。即,基于调色板的编码单元122可确定:用于特定样本的索引值是通过其它后续调色板索引的行程编码。基于调色板的编码单元122也可确定用于能够通过像素的调色板索引编码的调色板索引的最大行程的最大行程长度。如下文关于熵编码单元118更详细描述,视频编码器20可基于所确定的最大行程长度编码指示行程长度的数据。
[0213] 帧内预测处理单元126可通过对PU执行帧内预测而产生用于PU的预测性数据。用于PU的预测性数据可包含用于PU的预测性块及各种语法元素。帧内预测处理单元 126可对I切片中、P切片中及B切片中的PU执行帧内预测。
[0214] 为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式,以产生用于PU的多组预测性数据。帧内预测处理单元126可使用来自相邻PU的样本块的样本来产生用于PU的预测性块。对于PU、CU及CTU,假定从左到右、从上而下的编码次序,则相邻PU可在PU上方、右上方、左上方或左边。帧内预测处理单元126可使用各种数目种帧内预测模式,例如,33种定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区的大小。
[0215] 预测处理单元100可从由帧间预测处理单元120针对PU产生的预测性数据或由帧内预测处理单元126针对PU产生的预测性数据当中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于数组预测性数据的速率/失真度量而选择用于CU 的PU的预测性数据。选定预测性数据的预测性块在本文中可被称作选定预测性块。
[0216] 残余产生单元102可基于CU的明度、Cb及Cr译码块及CU的PU的选定预测性明度、Cb及Cr块产生CU的明度、Cb及Cr残余块。举例来说,残余产生单元102可产生CU的残余块,使得残余块中的每一样本具有等于CU的译码块中的样本与CU的 PU的对应的选定预测性块中的对应样本之间的差的值。
[0217] 变换处理单元104可执行四分树分割以将与CU相关联的残余块分割成与CU的TU 相关联的变换块。因此,TU可与明度变换块及两个色度变换块相关联。CU的TU的明度变换块及色度变换块的大小及位置可基于或可能不基于CU的PU的预测块的大小及位置。被称为“残余四分树”(RQT)的四分树结构可包含与区中的每一者相关联的节点。 CU的TU可对应于RQT的叶节点。
[0218] 变换处理单元104可通过将一或多个变换应用于TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在这些实例中,可将变换块处理为变换系数块。
[0219] 量化单元106可将系数块中的变换系数量化。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,在量化期间,可将n位变换系数降值舍位到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值将与CU 的TU相关联的系数块量化。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可引入信息的损失,因此经量化的变换系数可具有比原始变换系数低的精度。
[0220] 反量化单元108及反变换处理单元110可分别将反量化及反变换应用于系数块,以从系数块重建残余块。重建单元112可将经重建的残余块添加到来自由预测处理单元100 产生的一或多个预测性块的对应样本,以产生与TU相关联的经重建的变换块。通过以此方式重建CU的每一TU的变换块,视频编码器20可重建CU的译码块。
[0221] 滤波器单元114可执行一或多个解块操作以减少与CU相关联的译码块中的块伪影。在滤波器单元114对经重建的译码块执行一或多个解块操作之后,经解码图片缓冲器116 可存储经重建的译码块。帧间预测处理单元120可使用含有经重建的译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器
116中的经重建的译码块来对与CU位于相同图片中的其它PU执行帧内预测。
[0222] 熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,并可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元118可对数据执行上下文自适应性可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应性二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码的数据的位流。举例来说,位流可包含表示用于CU的RQT的数据。
[0223] 根据本发明的方面,熵编码单元118可经配置以使用TEGk码译码调色板数据,如上文关于图1的实例所描述。详言之,根据本发明的方面,熵编码单元118可基于所确定的最大行程长度编码指示调色板索引的行程的行程长度的数据。在一些实例中,熵编码单元118可使用TEG2码编码行程长度。
[0224] 图3为说明经配置以实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图3,且其并不限制如本发明中广泛举例说明及描述的技术。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
[0225] 视频编码器20表示可经配置以根据本发明中所描述的各种实例执行用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20可经配置以使用基于调色板的译码或非基于调色板的译码选择性地解码视频数据的各种块(例如,HEVC译码中的CU或PU)。非基于调色板的译码模式可指各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如通过HEVC草案10指定的各种译码模式。在实例中,视频解码器30可经配置以产生具有指示像素值的条目的调色板,接收使视频数据的块中的至少一些像素位置与调色板中的条目相关联的信息,基于信息选择调色板中的像素值,及基于调色板中的选定像素值重建块的像素值。
[0226] 在图3的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、反量化单元154、反变换处理单元156、重建单元158、滤波器单元160,及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164及帧内预测处理单元166。视频解码器30还包含基于调色板的解码单元165,其经配置以执行本发明中所描述的基于调色板的译码技术的各种方面。在其它实例中,视频解码器30可包含较多、较少或不同功能的组件。
[0227] 视频数据存储器151可存储待由视频解码器30的组件解码的视频数据(例如,经编码视频位流)。可(例如)从信道16(例如,从本地视频源,例如摄像机)、经由视频数据的有线或无线网络通信,或通过存取物理数据存储媒体获得存储于视频数据存储器151中的视频数据。视频数据存储器151可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为存储用于由视频解码器30在解码视频数据(例如,以帧内或帧间译码模式)时使用的参考视频数据的参考图片存储器。视频数据存储器151及经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可通过相同存储器装置或单独存储器装置来提供视频数据存储器151及经解码图片缓冲器162。在各种实例中,视频数据存储器 151可与视频解码器30的其它组件一起在芯片上,或相对于那些组件来说在芯片外。
[0228] 经译码图片缓冲器(CPB)可接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB接收经编码视频数据(例如,NAL单元)并剖析NAL单元以解码语法元素。熵解码单元150可对NAL单元中的经熵编码的语法元素进行熵解码。
[0229] 根据本发明的方面,熵解码单元150可经配置以使用TEGk码解码调色板数据,如上文关于图1的实例所描述。详言之,根据本发明的方面,熵解码单元150可基于所确定的最大行程长度解码指示调色板索引的行程(例如,具有相同值的索引的行程或从上方相邻索引复制的索引的行程)的行程长度的数据。在一些实例中,熵解码单元150可使用 TEG2码解码行程长度。
[0230] 预测处理单元152、反量化单元154、反变换处理单元156、重建单元158及滤波器单元160可基于从位流提取的语法元素产生经解码视频数据。位流的NAL单元可包含经译码切片NAL单元。作为解码位流的部分,熵解码单元150可提取及熵解码来自经译码切片NAL单元的语法元素。经译码切片中的每一者可包含切片标头及切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。
[0231] 除解码来自位流的语法元素之外,视频解码器30也可对未经分割的CU执行重建操作。为了对未经分割的CU执行重建操作,视频解码器30可对CU的每一TU执行重建操作。通过对CU的每一TU执行重建操作,视频解码器30可重建CU的残余块。
[0232] 作为对CU的TU执行重建操作的部分,反量化单元154可对与TU相关联的系数块进行反量化(即,解量化)。反量化单元154可使用与TU的CU相关联的QP值来确定量化程度且同样地确定反量化单元154应用的反量化程度。即,可通过调整在将变换系数量化时使用的QP的值来控制压缩比,即,用以表示原始序列及经压缩序列的位的数目的比率。压缩比也可取决于所使用的熵译码的方法。
[0233] 在反量化单元154对系数块进行反量化之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与TU相关联的残余块。举例来说,反变换处理单元156可将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。
[0234] 如果PU是使用帧内预测来编码,则帧内预测处理单元166可执行帧内预测来产生用于PU的预测性块。帧内预测处理单元166可使用帧内预测模式来基于空间上相邻的 PU的预测块产生用于PU的预测性明度、Cb及Cr块。帧内预测处理单元166可基于从位流解码的一或多个语法元素确定用于PU的帧内预测模式。
[0235] 预测处理单元152可基于从位流提取的语法元素建构第一参考图片列表 (RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果PU是使用帧间预测来编码,则熵解码单元150可提取用于PU的运动信息。运动补偿单元164可基于PU的运动信息而确定用于PU的一或多个参考区。运动补偿单元164可基于用于PU的一或多个参考块处的样本块产生用于PU的预测性明度、Cb及Cr块。
[0236] 重建单元158可在适用时使用与CU的TU相关联的明度、Cb及Cr变换块以及CU 的PU的预测性明度、Cb及Cr块(即,帧内预测数据或帧间预测数据)来重建CU的明度、 Cb及Cr译码块。举例来说,重建单元158可将明度、Cb及Cr变换块的样本添加到预测性明度、Cb及Cr块的对应样本以重建CU的明度、Cb及Cr译码块。
[0237] 滤波器单元160可执行解块操作以减少与CU的明度、Cb及Cr译码块相关联的块伪影。视频解码器30可将CU的明度、Cb及Cr译码块存储于经解码图片缓冲器162 中。经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测及在显示装置(例如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的明度、Cb及Cr块对其它CU的PU执行帧内预测或帧间预测操作。
[0238] 根据本发明的各种实例,视频解码器30可经配置以执行基于调色板的译码。当基于调色板的解码模式经选择(例如)用于CU或PU时,基于调色板的解码单元165(例如) 可执行基于调色板的解码。举例来说,基于调色板的解码单元165可经配置以产生具有指示像素值的条目的调色板,接收使视频数据的块中的至少一些像素位置与调色板中的条目相关联的信息,基于信息选择调色板中的像素值,及基于调色板中的选定像素值重建块的像素值。尽管各种功能经描述为由基于调色板的解码单元165执行,但这些功能中的一些或全部可由其它处理单元或不同处理单元的组合来执行。
[0239] 基于调色板的解码单元165可接收调色板译码模式信息,并在调色板译码模式信息指示调色板译码模式适用于块时执行上述操作。当调色板译码模式信息指示调色板译码模式并不适用于块时,或当其它模式信息指示对不同模式的使用时,视频解码器30可使用非基于调色板的译码模式(例如,例如HEVC帧间预测性或帧内预测性译码模式)解码视频数据的块。视频数据的块可为(例如)根据HEVC译码过程产生的CU或PU。
[0240] 根据本发明的方面,基于调色板的解码单元165可经配置以执行本文中所描述的用于调色板译码的技术的任何组合。举例来说,根据本发明的方面,基于调色板的解码单元165可确定语法元素的值,所述语法元素指示对于视频数据的块的所有样本来说,块的至少一个相应样本是否通过第一调色板模式译码,其中第一调色板模式包含译码块的相应样本,而不使用到用于块的色彩值的调色板的索引。举例来说,基于调色板的解码单元165可确定块层级语法元素的值,所述块层级语法元素指示块的任何样本是否欲解码为逃脱样本(例如,可能并不使用来自调色板的色彩条目重建的样本)。在一些实例中,基于调色板的解码单元165可确定用于块的一位逃脱旗标,所述一位逃脱旗标指示块的任何样本是否欲解码为逃脱样本。
[0241] 另外或替代地,基于调色板的解码单元165可确定以下各数据中的至少一者:指示用于译码视频数据的块的色彩值的调色板的最大调色板大小的数据,或指示用于确定色彩值的调色板的调色板预测符的最大调色板预测符大小的数据。举例来说,基于调色板的解码单元165可从例如SPS的参数集中解码此数据。
[0242] 另外或替代地,基于调色板的解码单元165可针对与调色板索引相关联的像素确定通过像素的调色板索引一起译码的调色板索引的行程(例如,具有相同值的索引的行程或从上方相邻索引复制的索引的行程)的行程长度,所述调色板索引使像素的值与用于译码像素的色彩的调色板中的色彩值相关。即,基于调色板的解码单元165可确定:用于特定样本的索引值是通过其它后续调色板索引的行程来解码。基于调色板的解码单元165 也可确定用于能够通过像素的调色板索引解码的调色板索引的最大行程的最大行程长度。如上文关于熵解码单元150所提及,视频解码器30可基于所确定的最大行程长度解码指示行程长度的数据。
[0243] 图4为说明与本发明的技术一致的确定用于译码视频数据的调色板的实例的概念图。图4的实例包含图片178,其具有与第一调色板184相关联的第一译码单元(CU)180 及与第二调色板192相关联的第二CU 188。如下文更详细描述且根据本发明的技术,第二调色板192是基于第一调色板184。图片178也包含通过帧内预测译码模式译码的块 196及通过帧间预测译码模式译码的块200。
[0244] 出于解释的目的,在视频编码器20(图1及2)及视频解码器30(图1及3)的上下文中并关于HEVC视频译码标准描述图4的技术。然而,应理解,本发明的技术不限于此方式,且可由其它视频译码处理器及/或装置在其它视频译码过程及/或标准中应用。
[0245] 大体来说,调色板是指对于当前经译码的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值。
[0246] 在其它实例中,视频编码器20可编码用于CU的全部色彩分量的单一调色板。在此实例中,视频编码器20可编码具有为三重值(包含Yi、Ui及Vi)的第i个条目的调色板。在此状况下,调色板包含用于像素的分量中的每一者的值。因此,呈具有多个个别调色板的一组调色板形式的第一调色板184及192的表示仅为实例且并不意欲为限制性的。
[0247] 在图4的实例中,第一调色板184包含分别具有条目索引值1、条目索引值2及条目索引值3的三个条目202到206。条目202到206分别使调色板索引与包含像素值A、像素值B及像素值C的像素值相关。如本文所描述,并非译码第一CU 180的实际像素值,而是视频译码器(例如,视频编码器20或视频解码器30)可使用基于调色板的译码来使用调色板索引1到3译码块的像素。即,对于第一CU 180的每一像素位置,视频编码器20可编码像素的索引值,其中索引值与第一调色板184中的一或多者中的像素值相关联。视频解码器30可从位流中获得调色板索引且使用调色板索引及第一调色板 184中的一或多者重建像素值。因此,第一调色板184是由视频编码器20在经编码视频数据位流中发射以供视频解码器30在进行基于调色板的解码时使用。
[0248] 根据本发明的方面,可针对第一调色板184用信号通知最大调色板大小。举例来说,根据本发明的方面,视频编码器20及视频解码器30可经配置以译码指示最大调色板大小(例如,就可包含于第一调色板184中的条目的数目来说)的数据。在一些实例中,指示最大调色板大小的一或多个语法元素(例如,MAX_PLT_SIZE)可包含于对于CU 180 来说为作用中的SPS中。在其它实例中,指示最大调色板大小的一或多个语法元素可包含于另一参数集(例如,VPS或PPS)中,或可包含于标头数据(例如,切片标头数据或与 LCU或CU相关联的数据)中。
[0249] 在一些实例中,视频编码器20及视频解码器30可使用指示最大调色板大小的一或多个语法元素而变化,最大调色板大小可基于经译码的视频数据的特定简档、层级或位深度。在其它实例中,视频编码器20及视频解码器30可使用指示调色板大小的一或多个语法元素而变化,最大调色板大小可基于经译码的块(例如,CU 180)的大小。
[0250] 在实例中,出于说明的目的,视频编码器20及视频解码器30可在针对CU 180建构第一调色板184时使用指示最大调色板大小的数据。举例来说,视频编码器20及视频解码器30可继续添加条目到第一调色板184,直到达到通过数据指示的最大调色板大小为止。视频编码器20及视频解码器30可接着使用所建构的第一调色板184来译码 CU 180。
[0251] 在一些实例中,视频编码器20及视频解码器30可基于第一调色板184确定第二调色板192。举例来说,视频编码器20及/或视频解码器30可定位供确定预测性调色板(在此实例中,第一调色板184)的一或多个块。用于预测的目的的条目的组合可被称作预测符调色板。
[0252] 在图4的实例中,第二调色板192包含分别具有条目索引值1、条目索引值2及条目索引值3的三个条目208到212。条目208到212使调色板索引分别与包含像素值A、像素值B及像素值D的像素值相关。在此实例中,视频编码器20可译码指示第一调色板184(表示预测符调色板,但预测符调色板可包含数个块的条目)中的哪些条目包含于第二调色板192中的一或多个语法元素。
[0253] 在图4的实例中,一或多个语法元素是作为向量216加以说明。向量216具有数个相关联的二进制(或位),其中每一二进制指示与彼二进制相关联的调色板预测符是否用于预测当前调色板的条目。举例来说,向量216指示第一调色板184中的前两个条目(202 及204)包含于第二调色板192中(向量216中的值“1”),而第一调色板184中的第三条目不包含于第二调色板192中(向量216中的值“0”)。在图4的实例中,向量为布林向量。向量可被称作调色板预测向量。
[0254] 在一些实例中,如上文所提及,视频编码器20及视频解码器30可在执行调色板预测时确定调色板预测符(其也可被称作调色板预测符表或调色板预测符列表)。调色板预测符可包含用以预测用于译码当前块的调色板的一或多个条目的来自一或多个相邻块的调色板的条目。视频编码器20及视频解码器30可以相同方式来建构列表。视频编码器20及视频解码器30可译码数据(例如,向量216)以指示将调色板预测符中的哪些条目复制到用于译码当前块的调色板。
[0255] 因此,在一些实例中,将先前经解码的调色板条目存储于列表中以用作调色板预测符。此列表可用于预测当前调色板模式CU中的调色板条目。可在位流中用信号通知二进制预测向量以指示在当前调色板中重新使用列表中的哪些条目。在2014年6月27日申请的第62/018,461号美国临时申请案中,使用行程长度译码来压缩二进制调色板预测符。在实例中,使用第0阶指数哥伦布码来译码行程长度值。
[0256] 根据本发明的方面,在一些实例中,视频编码器20及视频解码器30(例如,熵编码单元118及熵解码单元150)可经配置以使用第k阶经截短的指数哥伦布(TEGk)码来译码 (例如,分别编码及解码)用于块的调色板的二进制调色板预测向量,如上文关于图1的实例所描述。
[0257] 在一些情况下,视频编码器20及视频解码器30可经配置以使用TEGk码结合谢列金(Seregin)等人的“非SCCE3:用于调色板预测符的行程长度译码(Non-SCCE3: Run-Length Coding for Palette Predictor)”(JCTVC-R0228,日本札幌,2014年6月30日到7月9日)(在下文中为JCTVC-R0228)的标准提交文件中所描述的技术来译码二进制调色板预测向量。在JCTVC-R0228中,通过以下条件及步骤使用行程长度译码来译码二进制向量中的零元素:
[0258] ●等于1的行程长度值指示预测的结束
[0259] ●对于二进制向量中的最后的1,并不用信号通知预测的结束
[0260] ●对于二进制向量中的每个1,译码先前零元素的数目
[0261] ●如果零元素的数目大于0,则归因于逃脱值1而用信号通知数目加一
[0262] ●使用第0阶指数哥伦布码来译码行程长度值
[0263] 在实例中,出于说明的目的,二进制调色板预测向量可等于{1100100010000},其指示将调色板预测符的四个条目(通过四个1指示)复制到用于译码当前块的调色板。在此实例中,视频编码器20及视频解码器30可将向量译码为0-0-3-4-1。
[0264] 根据本发明的方面,视频编码器20及视频解码器30可使用用于向量的最大行程值 X(其可等于调色板预测符列表中的调色板条目的数目减去按扫描次序的当前位置减去一)译码二进制调色板预测向量。根据实例,视频编码器20及视频解码器30使用TEG0 码来译码行程值。
[0265] 本发明的技术也涉及用信号通知最大调色板预测符大小。举例来说,根据本发明的方面,视频编码器20及视频解码器30可经配置以译码指示最大调色板预测符大小(例如,就可包含于向量216中的位的数目来说)的数据。在一些实例中,视频编码器20及视频解码器30可相对于一或多个其它值译码指示最大调色板预测符大小的数据。举例来说,根据本发明的方面,视频编码器20及视频解码器30可经配置以译码将最大调色板预测符大小指示为最大调色板预测符大小与最大调色板大小之间的差量(例如,差值)的数据。在一些情况下,视频编码器及视频解码器30可使用固定长度码、哥伦布-莱斯码或指数哥伦布码中的至少一者来译码差量。
[0266] 在一些实例中,可将指示最大调色板预测符大小的语法元素包含于SPS中。在其它实例中,可将指示最大调色板预测符大小的语法元素包含于另一参数集(例如,VPS或 PPS)中,或包含于标头数据(例如,切片标头数据或与LCU或CU相关联的数据)中。
[0267] 在一些实例中,视频编码器20及视频解码器30可使用指示最大调色板预测符大小的语法元素而变化,最大调色板预测符大小可基于经译码的视频数据的特定简档、层级或位深度。在其它实例中,视频编码器20及视频解码器30可使用指示最大调色板预测符大小的语法元素而变化,最大调色板预测符大小可基于经译码的块的大小。
[0268] 在实例中,出于说明的目的,视频编码器20及视频解码器30可在建构第二调色板 192以译码CU 188时使用关于最大调色板预测符大小的数据。举例来说,视频编码器 20及视频解码器30可继续添加条目到预测符调色板(例如,及添加位到向量216),直到达到如通过数据指示的最大调色板预测符大小为止。视频编码器20及视频解码器30可接着使用向量
216来建构用于CU 188的第二调色板192。
[0269] 图5为说明与本发明的技术一致的确定到用于像素的块的调色板的调色板索引的实例的概念图。举例来说,图5包含使相关联于调色板索引的像素的相应位置与调色板244 的条目相关的调色板索引的映射240。举例来说,索引1与值A相关联,索引2与值B 关联,且索引3与值C相关联。另外,当使用隐含逃脱用信号通知来指示逃脱样本时,视频编码器20及视频解码器30也可添加额外索引(在图5中说明为索引4)到调色板244,此情形可指示与索引4相关联的映射240的样本为逃脱样本。在此状况下,如果像素值不包含于调色板244中,则视频编码器20可针对映射240中的位置而编码(且视频解码器30可从经编码位流获得)实际像素值(或其经量化的版本)的指示。
[0270] 在一些实例中,视频编码器20及视频解码器30可经配置以译码指示哪些像素位置与调色板索引相关联的额外映射。举例来说,假定映射中的(i,j)条目对应于CU的(i,j)位置。视频编码器20可针对映射的每一条目(即,每一像素位置)编码指示条目是否具有相关联的索引值的一或多个语法元素。举例来说,视频编码器20可编码具有值一的旗标以指示CU中的(i,j)位置处的像素值为调色板244中的值中的一者。
[0271] 在此实例中,视频编码器20也可编码调色板索引(在图5的实例中展示为值1到3) 以指示调色板中的像素值及允许视频解码器重建像素值。
[0272] 在调色板244包含单一条目及相关联的像素值的情况下,视频编码器20可跳过索引值的信号通知。视频编码器20可编码具有值零的旗标以指示CU中的(i,j)位置处的像素值并非调色板244中的值中的一者。在此实例中,视频编码器20也可编码像素值的指示以供视频解码器30在重建像素值时使用。在一些情况下,可以有损方式译码像素值。
[0273] CU的位置中的像素的值可提供CU的其它位置中的一或多个其它像素的值的指示。举例来说,可能存在CU的相邻像素位置将具有相同像素值或可映射到相同索引值(在有损译码的状况下,其中一个以上像素值可映射到单一索引值)的相对较高概率。
[0274] 因此,视频编码器20可编码指示在一起译码的按给定扫描次序的连续像素或调色板索引的数目的一或多个语法元素。如上文所提及,调色板索引(或通过调色板索引指示的像素值)的字串在本文中可被称作行程。视频解码器30可从经编码位流获得指示行程的语法元素,并可使用数据来确定具有相同像素或索引值的连续位置的数目。
[0275] 如上文所提及,可结合CopyFromTop或值模式使用行程。在实例中,出于说明的目的,考虑映射240的行264及268。假定水平的、从左到右的扫描方向,行264包含三个调色板索引“1”、两个调色板索引“2”及三个调色板索引“3”。行268包含五个调色板索引“1”、两个调色板索引“3”,及不包含于调色板244中的样本(通过索引4表示,但样本层级逃脱旗标可用于显式逃脱信号通知),所述样本可被称作逃脱样本。
[0276] 在此实例中,视频编码器20可使用CopyFromTop模式来编码用于行268的数据。举例来说,视频编码器20可编码指示行268的第一位置(行268的最左边的位置)与行 264的第一位置相同的一或多个语法元素。视频编码器20也可编码指示行268中在扫描方向上的两个连续条目的下一行程与行264的第一位置相同的一或多个语法元素。
[0277] 在编码指示行264的第一位置及两个条目的行程(上文所提及)的一或多个语法元素之后,视频编码器20可使用值模式编码行268中的第四及第五位置(从左到右)。举例来说,视频编码器20可编码针对第四位置指示值1的一或多个语法元素及指示行程为1(例如,值模式)的一或多个语法元素。因此,视频编码器20在不参考另一行的情况下编码这些两个位置。
[0278] 视频编码器20可接着使用CopyFromTop模式相对于上行264编码行268中具有索引值3的第一位置。举例来说,视频编码器20可用信号通知CopyFromTop模式及行程 1。因此,视频编码器20可在以下各者之间选择:相对于一行的其它值译码所述行的像素值或调色板索引(例如,使用行程),相对于另一列(或行)的值译码一行的像素值或,或其组合。在一些实例中,视频编码器20可执行速率/失真最佳化以做出选择。
[0279] 视频编码器20可接着针对列268的最终样本(从左到右)编码逃脱样本,所述逃脱样本不包含于第一调色板244中。举例来说,视频编码器20可将列268的最终位置编码为逃脱样本。即,视频编码器20可编码关于行268的最终位置为逃脱样本(例如,索引 4)的指示,以及样本值的指示。视频解码器30可从经编码位流获得上文所描述的语法并且可使用此语法重建行268。
[0280] 如上文所提及,可能存在两种技术来译码逃脱样本。举例来说,在显式逃脱信号通知的情况下,视频编码器20及视频解码器30可针对映射240的每一样本位置译码显式每一样本逃脱模式旗标。如果特定样本(例如,行268的最终样本)经译码为逃脱样本,则视频编码器20及视频解码器30可译码指示用于特定样本的色彩值的数据。如果样本并非经译码为逃脱样本,则视频编码器20及视频解码器30可译码额外数据以指示模式为CopyFromTop模式抑或值模式,例如SPoint旗标。
[0281] 在隐含逃脱信号通知的情况下,视频编码器20及视频解码器30可添加到调色板244 的额外索引(条目索引4)。视频编码器20及视频解码器30可使用到调色板244的额外索引来指示样本经译码为逃脱样本,例如索引4。然而,额外索引并不具有相关联的色彩值。确切来说,视频编码器20及视频解码器30也针对与额外索引相关联的每一样本译码色彩值。
如果样本并非经译码为逃脱样本,则视频编码器20及视频解码器30可译码数据以指示模式为CopyFromTop模式抑或值模式,例如SPoint旗标。
[0282] 根据本发明的方面,视频编码器20及视频解码器30可经配置以译码一或多个块层级语法元素,所述一或多个块层级语法元素指示对于视频数据的块的所有样本来说,块的至少一样本是否基于不包含于用于块的色彩的调色板中的色彩值而译码。关于图5的实例,视频编码器20及视频解码器30可译码与映射240相关联的一或多个语法元素,所述一或多个语法元素指示映射240的至少一样本经译码为逃脱样本,即,行268的最终样本。
[0283] 在实例中,所述一或多个语法元素可为块层级逃脱旗标(在下文中简称作“逃脱旗标”)。举例来说,视频编码器20可编码具有值一的逃脱旗标以指示映射240包含经译码为逃脱样本的样本。同样地,视频解码器30可解码具有值一的逃脱旗标,所述逃脱旗标指示映射240包含经译码为逃脱样本的样本。因此,根据逃脱旗标,视频编码器20 可编码映射240且视频解码器30可解码映射240。举例来说,视频编码器20及视频解码器30可添加到第一调色板244的索引4,所述索引可用以表示经译码为逃脱样本的样本。视频编码器20及视频解码器30可在译码映射240期间使用此额外索引。
[0284] 根据本发明的方面,视频编码器20及视频解码器30可经配置以基于逃脱旗标及用以译码特定块的调色板的大小而跳过某一语法的译码。即,尽管图5的实例说明具有三个条目的第一调色板244,但在一些情况下,用于译码视频数据的块的调色板可包含单一条目。在这些情况下,视频编码器20及视频解码器30可经配置以基于具有单一条目的调色板及指示无块的样本经译码为逃脱样本的逃脱旗标而跳过某一与逃脱相关的语法的译码。
[0285] 举例来说,如在逃脱旗标指示无块的样本为逃脱样本的情况下且当调色板的大小为一时,视频编码器20及视频解码器30可经配置以推断块的所有样本具有相同的索引值 (例如,调色板的仅有的条目)。因此,视频编码器20及视频解码器30也可跳过用以确定块的调色板索引的其它所有其它数据的译码。
[0286] 在上述实例中,视频编码器20及视频解码器30可明确地译码块层级逃脱语法(例如,视频编码器20可在位流中编码逃脱旗标,且视频解码器30可从位流解码此旗标)。然而,在一些实例中,视频编码器20及视频解码器30可基于用以译码映射240的调色板244 的大小推断(例如,在不编码或解码上文所提及的语法元素的情况下确定)块层级逃脱语法元素的值。举例来说,视频编码器20及视频解码器30可关于调色板大小做出初步确定以便确定块层级逃脱旗标的值。可仅在调色板大小大于零时在位流中译码块层级逃脱语法元素。
[0287] 根据本发明的方面,视频编码器20及视频解码器30最初可确定用于译码视频数据的块的调色板的大小。基于调色板的大小为零,视频编码器20及视频解码器30可确定逃脱旗标等于一且块的所有样本经译码为逃脱样本,此是因为不存在可用于译码样本的其它调色板条目。
[0288] 举例来说,如在调色板大小为零的情况下,视频编码器20及视频解码器30可经配置以自动地确定块的所有样本具有相同的索引值(例如,与指示逃脱样本相关联的调色板的额外条目)。因此,视频编码器20及视频解码器30也可跳过逃脱旗标以及用以确定块的调色板索引的所有其它数据的译码。
[0289] 图6为说明与本发明的技术一致的确定用于CopyFromAbove模式的最大行程长度 (假定光栅扫描次序)的实例的概念图。如上文所提及,本发明的技术包含使用考虑经译码的语法的最大的可能值的码来译码用于进行调色板译码的语法。
[0290] 在实例中,出于说明的目的,视频编码器20及视频解码器30可译码调色板索引的行程(例如,具有相同值的索引的行程或从上方相邻索引复制的索引的行程)的行程长度。举例来说,视频编码器20及视频解码器30可针对当前经调色板译码的样本确定与当前样本一起经译码的调色板索引的行程的行程长度。视频编码器20及视频解码器30也可确定能够通过像素的调色板索引译码的调色板索引的最大行程的最大行程长度。视频编码器20及视频解码器30可接着基于所确定的最大行程长度译码指示行程长度的数据。
[0291] 在一些情况下,根据本发明的方面,可使用一种形式的指数哥伦布码(例如,本文所描述的TEGk码)来译码语法。为了使用TEGk码,视频编码器20及视频解码器30可确定最大行程长度为当前CU中的像素的数目减去按扫描次序的当前位置减去1。
[0292] 在一些调色板译码技术中,不准许与CopyFromAbove模式(其中视频译码器复制在当前像素上方的像素的索引)相关联的像素的行程包含任何逃脱像素。即,如果当前像素的上方相邻像素为经译码为逃脱样本的像素,则视频译码器必须停止CopyFromAbove 行程。因此,最大CopyFromAbove行程长度是通过当前像素位置与具有按扫描次序逃脱的上方相邻像素的位置之间的距离来定界。
[0293] 在实例中,出于说明的目的,CopyFromAbove行程按扫描次序的开始位置为A,位置A+L(L>0)(或在一些实例中,A+L(L>1))处的像素的上方相邻像素经译码为逃脱样本,且位置A+l(l
[0294] 在视频解码器30或视频编码器20无法确定位置中的像素是否对应于逃脱像素的情况下,视频编码器20及视频解码器30可处理所述像素,如同其并非经译码为逃脱样本一般,即,最大经译码行程长度并不停止。在图6的实例中,如果通过虚线280涵盖的像素中无一者经译码为逃脱样本,则最大的可能行程长度为35(即,未经遮蔽的像素位置的数目)。如果虚线280内的像素中的一或多者经译码为逃脱样本,假定标记为逃脱像素(具有“X”的像素位置)的像素为虚线280内按扫描次序的第一逃脱像素,则大于行程长度的最大的可能经译码复本为五。
[0295] 在一些实例中,视频解码器30可仅针对虚线280内的像素确定行程模式(例如,译码像素的调色板模式)。因此,在最差状况下,视频解码器30针对块宽度-1个像素做出确定。在一些实例中,视频解码器30可经配置以实施关于检查行程模式所针对的像素的数目的最大值的某些限定。举例来说,如果像素与当前像素处于相同行中,则视频解码器30可仅检查虚线280内的像素。视频解码器30可推断虚线280内的所有其它像素并非经译码为逃脱样本。图6中的实例假定光栅扫描次序。然而,所述技术可应用于其它扫描次序,例如垂直、水平横移及垂直横移。
[0296] 图7为说明与本发明的技术一致的用于基于指示块的任何样本是否经编码为逃脱样本的一或多个块层级语法元素编码视频数据的块的实例过程的流程图。出于说明的目的,大体上将图7的过程描述为由视频编码器20执行,但多种其它处理器也可执行图7 中所展示的过程。
[0297] 在图7的实例中,视频编码器20确定用于编码视频数据的块的调色板(300)。在一些实例中,视频编码器20可(例如)使用调色板预测符来确定一或多个先前经编码块的基于调色板的调色板。视频编码器20也可确定调色板的大小(302)。举例来说,视频编码器20可确定所确定的调色板中的条目的数目。
[0298] 视频编码器20可确定调色板大小是否为零(304)。基于调色板大小等于零(步骤304 的是分支),视频编码器20可确定指示块的至少一样本为逃脱样本的块层级逃脱语法(306)。在实例中,视频编码器20可确定块层级逃脱旗标等于一。视频编码器20接着将块的所有样本编码为逃脱样本而不针对块编码其它语法元素(308)。举例来说,视频编码器20可能并不编码块层级逃脱旗标的指示,此是因为仅可在调色板大小大于零时在位流中编码块层级逃脱语法元素。另外,视频编码器20可能并不编码用于块的调色板索引的其它数据,例如指示调色板模式(例如,值模式或CopyFromTop模式)的语法、与确定行程相关联的语法、与调色板索引相关联的语法,及任何其它相关语法。
[0299] 如果调色板大小并非零(步骤304的否分支),则视频编码器20可确定块的任何样本是否经编码为逃脱样本(310)。基于确定块的至少一样本经编码为逃脱样本(步骤310的是分支),视频编码器20可确定指示所述块的至少一样本经编码为逃脱样本的块层级逃脱语法,且通过块在位流中编码块层级语法的指示(312)。举例来说,视频编码器20可设定块层级逃脱旗标等于一,且在位流中编码逃脱旗标的指示。视频编码器20也通过调色板译码模式来编码块,包含将块的至少一像素编码为逃脱样本(314)。
[0300] 基于无样本经编码为逃脱样本(步骤310的否分支),视频编码器20可确定用于块的调色板的调色板大小是否等于一(316)。基于确定调色板大小不等于一(步骤316的否分支),视频编码器20可确定指示无块的样本经编码为逃脱样本的块层级逃脱语法,在位流中编码块层级逃脱语法的指示(318)。举例来说,视频编码器20可设定块层级逃脱旗标等于零,且在位流中编码逃脱旗标的指示。视频编码器20也使用调色板译码模式来编码块,而不编码任何逃脱样本(320)。举例来说,视频编码器20可使用CopyFromTop 或值模式来编码块的调色板索引,且编码与这些模式的使用相关联的语法,例如,指示模式、调色板索引、行程及其类似者的语法。
[0301] 基于确定调色板大小等于一(步骤316的是分支),视频编码器20可确定指示无块的样本经译码为逃脱样本的块层级逃脱语法,且在位流中编码块层级逃脱语法的指示 (322)。举例来说,视频编码器20可设定块层级逃脱旗标等于零,且在位流中编码逃脱旗标的指示。视频编码器20也编码关于块的所有样本具有相同索引值的指示,而不编码其它语法(324)。举例来说,视频编码器20可跳过与调色板模式的使用相关联的语法(例如,指示模式、调色板索引、行程及其类似者的语法)的编码。
[0302] 图8为说明与本发明的技术一致的用于基于指示块的任何样本是否经解码为逃脱样本的一或多个块层级语法元素解码视频数据的块的实例过程的流程图。出于说明的目的,大体上将图8的过程描述为由视频解码器30执行,但多种其它处理器也可执行图8 中所展示的过程。
[0303] 在图8的实例中,视频解码器30确定用于解码视频数据的块的调色板(340)。在一些实例中,视频解码器30可(例如)使用在经解码的位流中用信号通知的调色板预测符来确定一或多个先前经编码块的基于调色板的调色板。视频解码器30也可确定调色板的大小(342)。举例来说,视频解码器30可确定所确定的调色板中的条目的数目。
[0304] 视频解码器30可确定调色板大小是否为零(344)。基于调色板大小等于零(步骤344 的是分支),视频解码器30可确定指示块的至少一样本经编码为逃脱样本的块层级逃脱语法(346)。在实例中,视频解码器30可确定块层级逃脱旗标等于一。举例来说,视频解码器30可推断块层级逃脱旗标等于一,而不从位流解码所述旗标,此是因为仅可在调色板大小大于零时在位流中译码块层级逃脱语法元素。视频解码器30接着使用与逃脱样本相关联的色彩解码块的所有样本,而不解码用于块的其它语法元素(例如,除与逃脱样本相关联的色彩值以外)(348)。举例来说,如上文所提及,视频解码器30可能并不解码块层级逃脱旗标的指示。另外,视频解码器30可能并不解码用于块的调色板索引的其它数据,例如指示调色板模式(例如,值模式或CopyFromTop模式)的语法、指示索引值的语法、与确定行程相关联的语法,及任何其它相关语法。
[0305] 如果调色板大小并非零(步骤344的否分支),则视频解码器30可从位流解码块层级逃脱语法且确定块层级语法的值(350)。举例来说,视频解码器30可解码块层级逃脱旗标且确定值等于零抑或一。
[0306] 视频解码器30可接着(例如)基于经解码的语法确定块的任何样本是否经译码为逃脱样本(352)。基于确定块的至少一样本经编码为逃脱样本(步骤352的是分支),视频解码器30可通过调色板译码模式解码块,包含将块的至少一样本解码为逃脱样本(354)。视频解码器30也可解码对应于逃脱样本的至少一色彩值。
[0307] 基于无样本经编码为逃脱样本(步骤352的否分支),视频解码器30可确定用于块的调色板的调色板大小是否等于一(356)。基于确定调色板大小并非等于一(步骤356的否分支),视频解码器30可使用调色板译码模式解码块,而不解码任何逃脱样本(358)。举例来说,视频解码器30可使用CopyFromTop模式或值模式解码块的调色板索引,且解码与这些模式的使用相关联的语法,例如指示模式、调色板索引、行程及其类似者的语法。
[0308] 基于确定调色板大小等于一(步骤356的是分支),视频解码器30可使用调色板的调色板条目(例如,存在于调色板中的仅有的条目)来解码块,而不解码其它语法(360)。举例来说,视频解码器30可跳过与调色板模式的使用相关联的语法(例如,指示模式、调色板索引、行程及其类似者的语法)的解码。
[0309] 图9为说明与本发明的技术一致的用于基于指示最大调色板大小及最大调色板预测符大小的一或多个语法元素编码视频数据的块的实例过程的流程图。出于说明的目的,大体上将图9的过程描述为由视频编码器20执行,但多种其它处理器也可执行图9中所展示的过程。
[0310] 在图9的实例中,视频编码器20可确定用于在调色板模式中编码视频数据的当前块的调色板的最大大小(380)。举例来说,视频编码器20可经配置以基于经编码的视频数据的特性确定最大调色板大小。在一些实例中,视频编码器20可基于数据的位深度(例如,输入位深度或简档位深度)、块的块大小、与视频数据相关联的简档或层级或其类似者确定最大调色板大小。
[0311] 视频编码器20也可确定用于产生当前块的调色板的调色板预测符的最大调色板预测符大小(382)。举例来说,视频编码器20可经配置以基于经编码的视频数据的特性确定最大调色板预测符大小。在一些实例中,视频编码器20可基于数据的位深度(例如,输入位深度或简档位深度)、块的块大小、与视频数据相关联的简档或层级或其类似者确定最大调色板预测符大小。
[0312] 视频编码器20也在包含当前块的位流中编码指示最大调色板大小及/或最大调色板预测符大小的数据(386)。在一些实例中,视频编码器20可相对于一或多个其它值编码指示最大调色板大小及/或最大调色板预测符大小的数据。举例来说,根据本发明的方面,视频编码器20可经配置以译码将最大调色板预测符大小指示为最大调色板预测符大小与最大调色板大小之间的差量(例如,差值)的数据。
[0313] 根据本发明的方面,视频编码器20可在SPS中编码指示最大调色板大小及/或最大调色板预测符大小的一或多个语法元素。在其它实例中,视频编码器20可在另一参数集(例如,PPS)中、在包含当前块的切片的切片标头中或在位流中的其它处编码此语法。
[0314] 视频编码器20还根据指示最大调色板大小及/或最大调色板预测符大小的数据编码当前块(388)。举例来说,视频编码器20可确定通过最大调色板大小限制的调色板及/或通过最大调色板预测符大小限制的调色板预测符。
[0315] 图10为说明与本发明的技术一致的用于基于指示最大调色板大小及最大调色板预测符大小的一或多个语法元素编码视频数据的块的实例过程的流程图。出于说明的目的,大体上将图10的过程描述为由视频解码器30执行,但多种其它处理器也可执行图 10中所展示的过程。
[0316] 在图10的实例中,视频解码器30从包含在调色板模式中解码的当前块的位流解码指示最大调色板大小及/或最大调色板预测符大小的数据(400)。在一些实例中,视频编码器20可相对于一或多个其它值编码指示最大调色板大小及/或最大调色板预测符大小的数据。举例来说,根据本发明的方面,视频编码器20可经配置以译码将最大调色板预测符大小指示为最大调色板预测符大小与最大调色板大小之间的差量(例如,差值)的数据。
[0317] 根据本发明的方面,视频解码器30可从SPS解码指示最大调色板大小及/或最大调色板预测符大的一或多个语法元素。在其它实例中,视频解码器30可从另一参数集(例如,PPS)、从包含当前块的切片的切片标头或从位流中的其它处解码此语法。
[0318] 视频解码器30可基于经解码的数据确定用于解码当前块的调色板的最大大小 (402)。视频解码器30也可基于数据确定用于产生用于当前块的调色板的调色板预测符的最大调色板预测符大小(404)。视频解码器30也根据指示最大调色板大小及/或最大调色板预测符大小的数据解码当前块(408)。举例来说,视频解码器30可确定通过最大调色板大小限制的调色板及/或通过最大调色板预测符大小限制的调色板预测符。
[0319] 图11为说明与本发明的技术一致的用于基于最大的可能行程长度译码(编码或解码)指示像素的行程的行程长度的数据的实例过程的流程图。出于说明的目的,大体上将图11的过程描述为由视频译码器(例如,视频编码器20或视频解码器30)执行,但多种其它处理器也可执行图11中所展示的过程。
[0320] 在图11的实例中,视频译码器可确定用于译码当前像素的调色板模式(420)。举例来说,视频译码器可确定当前像素是使用CopyFromTop模式、值模式抑或另一基于调色板的译码模式来译码。视频译码器也确定用于当前像素的行程的行程长度(422)。举例来说,视频译码器确定通过当前像素的调色板索引译码的调色板索引的数目。
[0321] 视频译码器还确定用于行程的最大行程长度(424)。举例来说,视频译码器可确定能够通过当前像素的调色板索引译码的调色板索引的最大行程的最大行程长度。在实例中,视频译码器可确定包含像素的视频数据的块中的像素的数目。视频译码器也可基于用以扫描调色板索引的扫描次序确定块中的当前像素的位置。视频译码器接着确定最大行程长度为块中的像素的数目减去当前像素的像素位置减去一。
[0322] 视频译码器还基于所确定的最大行程长度译码指示行程的行程长度的数据(426)。举例来说,根据本发明的方面,视频译码器可使用TEGk码来译码指示行程长度的数据。
[0323] 将认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列来执行、可添加、合并或完全省略(例如,对于实践所述技术来说,并非所有所描述动作或事件都为必要的)。此外,在某些实例中,可同时执行(例如,经由多线程处理、中断处理或多个处理器)而非依序执行动作或事件。另外,尽管出于清晰性的目的将本发明的某些方面描述为由单一模块或单元执行,但应理解,本发明的技术可由与视频译码器相关联的单元或模块的组合来执行。
[0324] 出于说明的目的,已关于开发中的HEVC标准描述本发明的某些方面。然而,本发明中所描述的技术可能可用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
[0325] 上文所描述的技术可由视频编码器20(图1及2)及/或视频解码器30(图1及3)来执行,所述两者大体上可被称作视频译码器。同样地,视频译码在适用时可指视频编码或视频解码。
[0326] 虽然在上文描述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中所描述的技术的实例。因此,本发明的技术不应限于这些实例组合且可涵盖本发明中所描述的技术的各种方面的任何可设想组合。
[0327] 在一或多个实例中,可以硬件、软件、固件或其任何组合实施所描述的功能。如果以软件实施,则所述功能可作为一或多个指令或程序代码存储于计算机可读媒体上或经由计算机可读媒体予以发射,且由基于硬件的处理单元执行。计算机可读媒体可包含对应于有形媒体(例如,数据存储媒体)的计算机可读存储媒体,或包含促进将计算机程式从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体大体可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以撷取用于实施本发明中所描述的技术的指令、程序代码及/或数据结构的任何可用媒体。计算机程式产品可包含计算机可读媒体。
[0328] 作为实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、 CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪存存储器,或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。又,任何连接被适当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光缆、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电及微波)从网站、服务器或其它远程源发射指令,则同轴缆线、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而实情为有关非暂时性有形存储媒体。如本文所使用的磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、磁盘片及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含于计算机可读媒体的范畴内。
[0329] 指令可由一或多个处理器执行,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路系统。因此,如本文所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可在经配置用于编码及解码的专用硬件及/或软件模块内提供本文中所描述的功能性,或将本文中所描述的功能性并入于组合式编码解码器中。又,所述技术可完全实施于一或多个电路或逻辑元件中。
[0330] 本发明的技术可在广泛多种装置或设备中实施,所述装置或设备包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必要求由不同硬件单元来实现。确切来说,如上文所描述,各种单元可结合合适的软件及/或固件组合于编码解码器硬件单元中或由互操作硬件单元的集合提供,硬件单元包含如上文所描述的一或多个处理器。
[0331] 已描述各种实例。这些及其它实例处于以下权利要求书的范畴内。