首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 修改 / 在颜色空间变换译码中修改位深度

颜色空间变换译码中修改位深度

阅读:838发布:2020-05-31

专利汇可以提供颜色空间变换译码中修改位深度专利检索,专利查询,专利分析的服务。并且本 发明 大体上描述用于使用 颜色 空间转换过程对视频 块 进行译码的技术。例如 视频编码 器或视频 解码器 等视频译码器可确定视频数据的明度分量的位深度和所述视频数据的 色度 分量的位深度。响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,所述视频译码器可 修改 所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述视频译码器可进一步在对所述视频数据进行编码中应用所述颜色空间变换过程。,下面是颜色空间变换译码中修改位深度专利的具体信息内容。

1.一种对视频数据进行编码的方法,所述方法包括:
确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度;
响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等,其中修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者包括在应用颜色空间变换过程之前对所述明度分量和所述色度分量中的一者或两者的所述视频数据执行逐位移位运算;以及
将所述颜色空间变换过程应用于经修改视频数据。
2.根据权利要求1所述的方法,其进一步包括确定使用颜色空间转换用于对所述视频数据进行编码,其中确定使用颜色空间转换用于对所述视频数据进行编码包括:
设定指示所述视频数据是使用颜色空间转换经编码的语法元素的值。
3.根据权利要求2所述的方法,其中所述语法元素包括一位旗标。
4.根据权利要求2所述的方法,其中译码单元是在除内脉码调制IPCM模式外的模式中经译码,且其中当所述译码单元是使用除帧内脉码调制IPCM模式外的模式经译码时所述语法元素指示所述译码单元是使用颜色空间转换经编码。
5.根据权利要求2所述的方法,其中当译码单元的变换单元中存在非零系数时所述语法元素指示所述译码单元是使用颜色空间转换经编码。
6.根据权利要求2所述的方法,其中当译码单元经帧内译码时以及当所述译码单元内的预测单元的明度预测模式和色度预测模式不同时不用信号表示所述语法元素。
7.根据权利要求2所述的方法,其中当译码单元是以调色板模式译码时不用信号表示所述语法元素。
8.根据权利要求2所述的方法,其中所述语法元素的值1指示颜色空间转换用于对所述视频数据进行编码。
9.根据权利要求1所述的方法,其中所述视频数据是视频数据的第一集合,所述方法进一步包括:
针对视频数据的第二集合:
确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度;以及
响应于视频数据的所述第二集合的所述明度分量的所述位深度不同于视频数据的所述第二集合的所述色度分量的所述位深度,针对视频数据的所述第二集合停用颜色变换。
10.根据权利要求9所述的方法,其进一步包括:
设定视频数据的所述第二集合的图片参数集的第二语法元素,所述第二语法元素指示所述颜色空间变换过程针对视频数据的所述第二集合停用。
11.一种视频编码装置,其包括:
存储器,其经配置以存储视频数据;以及
一或多个处理器,其经配置以:
确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度;
响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等,其中所述一或多个处理器经配置以修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者包括所述一或多个处理器经配置以在应用颜色空间变换过程之前对所述明度分量和所述色度分量中的一者或两者的所述视频数据执行逐位移位运算;以及
将所述颜色空间变换过程应用于经修改视频数据。
12.根据权利要求11所述的视频编码装置,其中所述一或多个处理器进一步经配置以确定使用颜色空间转换用于对所述视频数据进行编码,其中所述一或多个处理器经配置以确定使用颜色空间转换用于对所述视频数据进行编码包括所述一或多个处理器经配置以:
设定指示所述视频数据是使用颜色空间转换经编码的语法元素的值。
13.根据权利要求12所述的视频编码装置,其中所述语法元素包括一位旗标。
14.根据权利要求12所述的视频编码装置,其中当译码单元是使用除帧内脉码调制IPCM模式外的模式经译码时用信号表示所述语法元素。
15.根据权利要求12所述的视频编码装置,其中仅当译码单元的变换单元中存在非零系数时用信号表示所述语法元素。
16.根据权利要求12所述的视频编码装置,其中当译码单元经帧内译码时以及当所述译码单元内的预测单元的明度预测模式和色度预测模式不同时不用信号表示所述语法元素。
17.根据权利要求12所述的视频编码装置,其中当译码单元是以调色板模式译码时不用信号表示所述语法元素。
18.根据权利要求12所述的视频编码装置,其中所述语法元素的值1指示所述视频数据是使用颜色空间转换经编码。
19.根据权利要求11所述的视频编码装置,其中所述视频数据是视频数据的第一集合,其中所述一或多个处理器进一步经配置以:
针对视频数据的第二集合:
确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度;以及
响应于视频数据的所述第二集合的所述明度分量的所述位深度不同于视频数据的所述第二集合的所述色度分量的所述位深度,针对视频数据的所述第二集合停用颜色变换。
20.根据权利要求19所述的视频编码装置,其中所述一或多个处理器进一步经配置以:
设定视频数据的所述第二集合的图片参数集的第二语法元素,所述第二语法元素指示所述颜色空间变换过程针对视频数据的所述第二集合停用。
21.一种视频编码设备,其包括:
用于确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度的装置;
用于响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度而修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等的装置,其中所述用于修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者的装置包括用于在应用颜色空间变换过程之前对所述明度分量和所述色度分量中的一者或两者的所述视频数据执行逐位移位运算的装置;以及用于将所述颜色空间变换过程应用于经修改视频数据的装置。
22.根据权利要求21所述的视频编码设备,其中所述视频数据是视频数据的第一集合,所述视频译码设备进一步包括:
针对视频数据的第二集合:
用于确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度的装置;以及
用于响应于视频数据的所述第二集合的所述明度分量的所述位深度不同于视频数据的所述第二集合的所述色度分量的所述位深度而针对视频数据的所述第二集合停用颜色变换的装置。
23.根据权利要求22所述的视频编码设备,其进一步包括:
用于设定视频数据的所述第二集合的图片参数集的第二语法元素的装置,所述第二语法元素指示所述颜色空间变换过程针对视频数据的所述第二集合停用。
24.一种包括指令的计算机可读存储媒体,所述指令当执行时致使视频编码装置的一或多个处理器:
确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度;
响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等,其中所述致使所述一或多个处理器修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者的指令包括致使所述一或多个处理器在应用颜色空间变换过程之前对所述明度分量和所述色度分量中的一者或两者的所述视频数据执行逐位移位运算的指令;以及
将所述颜色空间变换过程应用于经修改视频数据。
25.根据权利要求24所述的计算机可读存储媒体,其中所述视频数据是视频数据的第一集合,其中所述指令进一步致使所述一或多个处理器:
针对视频数据的第二集合:
确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度;以及
响应于视频数据的所述第二集合的所述明度分量的所述位深度不同于视频数据的所述第二集合的所述色度分量的所述位深度,针对视频数据的所述第二集合停用颜色变换。
26.根据权利要求25所述的计算机可读存储媒体,其中所述指令进一步致使所述一或多个处理器:
设定视频数据的所述第二集合的图片参数集的第二语法元素,所述第二语法元素指示所述颜色空间变换过程针对视频数据的所述第二集合停用。
27.一种对视频数据进行解码的方法,所述方法包括:
确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度;
响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等,其中修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者包括在应用颜色空间逆变换过程之前对所述明度分量和所述色度分量中的一者或两者的所述视频数据执行逐位移位运算;以及
将所述颜色空间逆变换过程应用于经修改视频数据。
28.根据权利要求27所述的方法,其进一步包括:
对视频数据的译码单元的语法元素进行解码,其中所述语法元素指示所述译码单元是否是使用颜色空间转换经编码;
确定所述语法元素的值是否指示所述译码单元是使用颜色空间转换经编码;以及响应于确定所述语法元素指示所述译码单元是使用颜色空间转换经译码,应用颜色空间逆变换过程。
29.根据权利要求28所述的方法,其中所述语法元素包括一位旗标。
30.根据权利要求28所述的方法,其中所述译码单元是在除帧内脉码调制IPCM模式外的模式中经译码,且其中仅针对使用除所述IPCM模式外的模式的译码单元用信号表示所述语法元素。
31.根据权利要求28所述的方法,其中当所述译码单元的变换单元中存在非零系数时所述语法元素指示所述译码单元是使用颜色空间转换经编码。
32.根据权利要求28所述的方法,其中当所述译码单元经帧内译码时以及当所述译码单元内的预测单元的明度预测模式和色度预测模式不同时所述语法元素指示所述译码单元不是使用颜色空间转换经编码,其中所述语法元素不存在于包括所述视频数据的所接收位流中,且其中对所述语法元素进行解码包括推断所述语法元素的所述值。
33.根据权利要求28所述的方法,其中当所述译码单元是以调色板模式译码时所述语法元素指示所述译码单元不是使用颜色空间转换经编码,其中所述语法元素不存在于包括所述视频数据的所接收位流中,且其中对所述语法元素进行解码包括推断所述语法元素的所述值。
34.根据权利要求28所述的方法,其中所述语法元素的值1指示颜色空间转换用于对所述视频数据进行编码。
35.根据权利要求27所述的方法,其中所述视频数据是视频数据的第一集合,所述方法进一步包括:
针对视频数据的第二集合:
确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度;以及
响应于视频数据的所述第二集合的所述明度分量的所述位深度不同于视频数据的所述第二集合的所述色度分量的所述位深度,针对视频数据的所述第二集合停用颜色变换。
36.根据权利要求35所述的方法,其进一步包括:
对视频数据的所述第二集合的图片参数集的第二语法元素进行解码,所述第二语法元素指示所述颜色空间变换过程针对视频数据的所述第二集合停用。
37.一种视频解码装置,其包括:
存储器,其经配置以存储视频数据;以及
一或多个处理器,其经配置以:
确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度;
响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等,其中所述一或多个处理器经配置以修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者包括所述一或多个处理器经配置以在应用颜色空间逆变换过程之前对所述明度分量和所述色度分量中的一者或两者的所述视频数据执行逐位移位运算;
以及
将所述颜色空间逆变换过程应用于经修改视频数据。
38.根据权利要求37所述的视频解码装置,其中所述一或多个处理器进一步经配置以:
对视频数据的译码单元的语法元素进行解码,其中所述语法元素指示所述译码单元是否是使用颜色空间转换经编码;
确定所述语法元素的值是否指示所述译码单元是使用颜色空间转换经编码;以及响应于确定所述语法元素指示所述译码单元是使用颜色空间转换经译码,应用所述颜色空间逆变换过程。
39.根据权利要求38所述的视频解码装置,其中所述语法元素包括一位旗标。
40.根据权利要求38所述的视频解码装置,其中所述译码单元是在除帧内脉码调制IPCM模式外的模式中经译码,且其中仅针对使用除所述IPCM模式外的模式的译码单元用信号表示所述语法元素。
41.根据权利要求38所述的视频解码装置,其中仅当所述译码单元的变换单元中存在非零系数时用信号表示所述语法元素。
42.根据权利要求38所述的视频解码装置,其中当所述译码单元经帧内译码时以及当所述译码单元内的预测单元的明度预测模式和色度预测模式不同时所述语法元素指示所述译码单元不是使用颜色空间转换经编码,其中所述语法元素不存在于包括所述视频数据的所接收位流中,且其中对所述语法元素进行解码包括推断所述语法元素的所述值。
43.根据权利要求38所述的视频解码装置,其中当所述译码单元是以调色板模式译码时所述语法元素指示所述译码单元不是使用颜色空间转换经编码,其中所述语法元素不存在于包括所述视频数据的所接收位流中,且其中对所述语法元素进行解码包括推断所述语法元素的所述值。
44.根据权利要求38所述的视频解码装置,其中所述语法元素的值1指示所述视频数据是使用颜色空间转换经编码。
45.根据权利要求37所述的视频解码装置,其中所述视频数据是视频数据的第一集合,其中所述一或多个处理器进一步经配置以:
针对视频数据的第二集合:
确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度;以及
响应于视频数据的所述第二集合的所述明度分量的所述位深度不同于视频数据的所述第二集合的所述色度分量的所述位深度,针对视频数据的所述第二集合停用颜色变换。
46.根据权利要求45所述的视频解码装置,其中所述一或多个处理器进一步经配置以:
设定视频数据的所述第二集合的图片参数集的第二语法元素,所述第二语法元素指示所述颜色空间逆变换过程针对视频数据的所述第二集合停用。

说明书全文

颜色空间变换译码中修改位深度

[0001] 本申请案主张2014年3月14日申请的第61/953,573号美国临时申请案、2014年4月18日申请的第61/981,645号美国临时申请案以及2014年10月10日申请的第62/062,637号美国临时申请案的权益,以上申请案中的每一者的整个内容以引用的方式并入本文中。

技术领域

[0002] 本发明涉及视频译码,并且更具体来说涉及使用颜色空间转换的视频译码。

背景技术

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

发明内容

[0006] 本发明大体上描述用于使用颜色空间转换过程对视频块进行译码的技术。例如视频编码器或视频解码器等视频译码器可确定视频数据的明度分量的位深度和所述视频数据的色度分量的位深度。响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,所述视频译码器可修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述视频译码器可进一步在对所述视频数据进行编码中应用所述颜色空间变换过程。
[0007] 在一个实例中,描述一种用于对视频数据进行编码的方法。所述方法包括确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度。所述方法还包含响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述方法进一步包含将颜色空间变换过程应用于所述经修改视频数据。
[0008] 在另一实例中,一种装置包含经配置以存储视频数据的存储器,以及经配置以确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度的一或多个处理器。另外,所述一或多个处理器还经配置以响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述一或多个处理器进一步经配置以将颜色空间变换过程应用于所述经修改视频数据。
[0009] 在另一实例中,一种装置包含用于确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度的装置。所述装置进一步包含用于响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度而修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等的装置。所述装置还包含用于将颜色空间变换过程应用于所述经修改视频数据的装置。
[0010] 在另一实例中,一种包括指令的计算机可读存储媒体,所述指令当执行时致使一或多个处理器:确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度;以及响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述指令当执行时还致使所述处理器将颜色空间变换过程应用于所述经修改视频数据。
[0011] 在一个实例中,描述一种用于对视频数据进行解码的方法。所述方法包括确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度。所述方法还包含响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述方法进一步包含将颜色空间逆变换过程应用于所述经修改视频数据。
[0012] 在另一实例中,一种装置包含经配置以存储视频数据的存储器,以及经配置以确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度的一或多个处理器。另外,所述一或多个处理器还经配置以响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述一或多个处理器进一步经配置以将颜色空间逆变换过程应用于所述经修改视频数据。
[0013] 在另一实例中,一种装置包含用于确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度的装置。所述装置进一步包含用于响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度而修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等的装置。所述装置还包含用于将颜色空间逆变换过程应用于所述经修改视频数据的装置。
[0014] 在另一实例中,一种包括指令的计算机可读存储媒体,所述指令当执行时致使一或多个处理器:确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度;以及响应于所述明度分量的所述位深度不同于所述色度分量的所述位深度,修改所述明度分量的所述位深度和所述色度分量的所述位深度中的一者或两者以使得所述位深度相等。所述指令当执行时还致使所述处理器将颜色空间逆变换过程应用于所述经修改视频数据。
[0015] 在附图和下文描述中陈述本发明的一或多个实例的细节。本发明的其它特征、目标和优点将从所述描述和图式以及权利要求书而显而易见。

附图说明

[0016] 图1是说明可利用本发明中描述的技术的实例视频编码和解码系统的框图
[0017] 图2是说明可实施本发明中描述的技术的实例视频编码器的框图。
[0018] 图3是说明可实施本发明中描述的技术的实例视频解码器的框图。
[0019] 图4是说明根据本发明的一或多种技术的35个HEVC预测模式的概念图
[0020] 图5是说明根据本发明的一或多种技术用于合并和高级运动向量预测(AMVP)模式的空间相邻运动向量候选者的概念图。
[0021] 图6是说明根据本发明的一或多种技术的帧内块复制(BC)实例的概念图。
[0022] 图7是说明根据本发明的一或多种技术用于帧内8x8块的目标块和参考样本的实例的概念图。
[0023] 图8是说明根据本发明的一或多种技术的编码技术的流程图
[0024] 图9是说明根据本发明的一或多种技术的解码技术的流程图。

具体实施方式

[0025] 在一些实例中,本发明涉及屏幕内容译码,其中使用高色度取样格式4:4:4。在一些实例中,本发明也适用于范围扩展(RCEx),包含对可能高位深度(超过8位)、高色度取样格式4:4:4的支持。在一些实例中,本发明也适用于其它颜色格式,例如色度取样格式是4:2:2。更具体来说,在本发明中,描述与颜色空间转换相关的许多不同技术。
[0026] 视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉和ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。
[0027] 已由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成新的视频译码标准(即,高效率视频译码(HEVC))的设计。
[0028] 在HEVC中,切片中的最大译码单元称为译码树块(CTB)。CTB含有四叉树,所述四叉树的节点为译码单元。在HEVC主规范中CTB的大小可以在16x16到64x64的范围内变化,但也可支持8x8CTB大小。译码单元(CU)可为与CTB相同的大小且可小达8x8。每一CU以一个模式译码。当CU经帧间译码时,CU可进一步分割成两个预测单元(PU)或当进一步分区不适用时变为单个PU。当两个PU存在于一个CU中时,每一PU可为二分之一大小矩形或者具有等于所述CU的大小的1/4或3/4的大小的两个矩形。
[0029] 当CU经帧间译码时,针对每一PU存在运动信息的一个集合。另外,每一PU是以独特帧间预测模式译码以导出所述运动信息集合。在HEVC中,最小PU大小为8x4及4x8。
[0030] HEVC指定具有4x4、8x8、16x16及32x32的大小的四个变换单元(TU)以对预测残余进行译码。CTB可递归地分割成4个或4个以上TU。TU使用类似于离散余弦变换(DCT)函数的基于整数的函数。另外,属于经帧内译码区的4x4明度变换块是使用从离散正弦变换(DST)函数导出的整数变换而变换的。色度使用与明度相同的TU大小。
[0031] 在当前HEVC标准中,对于每一预测单元(PU)的明度分量,利用帧内预测方法,其具有33个度预测模式(从2到34编索引)、DC模式(以1编索引)以及平面模式(以0编索引),如下相对于图4所述。
[0032] 除以上35个帧内模式之外,HEVC还采用被命名为‘I-PCM’的再一个模式。在I-PCM模式中,绕过预测、变换、量化及熵译码,同时通过预定义数目的位来对预测样本进行译码。I-PCM模式的主要目的是处置当其它模式无法对信号有效地进行译码时的情形。
[0033] 在当前HEVC标准中,存在两个帧间预测模式可用。一个此类模式是合并模式(跳过视为合并的特殊情况),且第二个此类模式是用于预测单元(PU)的高级运动向量预测(AMVP)模式。
[0034] 在AMVP和合并模式中,为多个运动向量预测符维持运动向量(MV)候选者列表。当前PU的运动向量(以及合并模式中的参考索引)是通过从MV候选者列表获取一个候选者而产生。
[0035] MV候选者列表可含有用于合并模式的多达5个候选者和用于AMVP模式的仅两个候选者。合并候选者可含有运动信息集合,例如对应于两个参考图片列表(列表0和列表1)的运动向量和参考索引。如果通过合并索引来识别合并候选者,那么确定用于当前块的预测的参考图片以及相关联的运动向量。然而,在AMVP模式下,对于从列表0或列表1的每一潜在预测方向,需要明确地将参考索引连同对MV候选者列表的MVP索引一起用信号发送,这是因为AMVP候选者仅含有运动向量。在AMVP模式中,可进一步优化经预测运动向量。
[0036] 合并候选者对应于运动信息的完整集合,而AMVP候选者可含有用于特定预测方向和参考索引的仅一个运动向量。以类似方式从相同空间及时间相邻块导出用于两个模式的候选者。
[0037] 如下相对于图5所述,空间MV候选者是针对特定PU(PU0)从图5上展示的相邻块导出的。然而,从块产生候选者的方法针对合并和AMVP模式不同。
[0038] 在合并模式中,以图5(a)上以数字展示的次序可导出多达四个空间MV候选者。次序如下:左(0)、上方(1)、右上方(2)、左下方(3)和左上方(4),如图5(a)中示出。
[0039] 在AMVP模式中,如图5(b)上所展示,相邻块被分成两个群组:包含块0及1的左群组及包含块2、3及4的上群组。对于每一群组,如用信号表示的参考索引所指示的参考同一参考图片的相邻块中的潜在候选者具有最高待选优先级,以形成所述群组的最终候选者。有可能所有相邻块均不含有指向同一参考图片的运动向量。因此,如果无法找到此类候选者,那么将按比例缩放第一可用候选者以形成最终候选者,因此可补偿时间距离差异。
[0040] 如下相对于图6所述,帧内块复制(BC)已包含在SCC中。图6中展示帧内BC的实例,其中当前CU是从当前图片/切片的已经解码块预测的。当前帧内BC块大小可与CU大小一样大,范围为8x8至64x64,但在一些应用中,可应用其它约束。
[0041] 在一些实例中,用于残余信号的环路内颜色空间变换过程可用于4:4:4色度格式中的序列。此方法将RGB/YUV色度格式中的预测误差信号变换为次最佳颜色空间中的那些预测误差信号。以此额外步骤,颜色分量之间的相关可进一步降低。变换矩阵是针对每一译码单元通过奇异值分解(SVD)从像素样本值导出的。颜色空间变换应用于帧内模式及帧间模式两者的预测误差。
[0042] 在一些实例中,当颜色空间变换过程应用于帧间模式时,首先以导出的变换矩阵将残余转换到不同的域。在颜色空间转换之后,按次序执行常规译码步骤(例如DCT/DST、量化及熵译码)。
[0043] 在一些实例中,当颜色空间变换过程应用于帧内模式时,首先以导出的变换矩阵分别将预测和当前块转换到不同的域。在颜色空间转换之后,进一步对当前块与其预测符之间的残余以DCT/DST进行变换、量化和熵译码。
[0044] 在正向操作中,如下将颜色空间变换矩阵应用于三个平面G、B和R:
[0045]
[0046] 在HEVC规范的范围内削减所得值,因为在一些实例中,值放大多达 倍。在方向操作中,如下将颜色空间变换矩阵应用于三个分量P'、Q'和R':
[0047]
[0048] 如下相对于图7所述,变换矩阵可从参考样本值导出。不同参考样本可用于帧内情况和帧间情况。对于经帧内译码块的情况,图7中展示目标块和参考样本。在此实例中,目标块由8x8交叉影线样本组成,且参考样本是条纹和点线样本。
[0049] 针对经帧间译码块的情况,用于矩阵导出的参考样本与用于运动补偿的参考样本相同。为了实现移位运算,AMP块中的参考样本经子取样以使得样本的数目变成二的幂。举例来说,12x16块中的参考样本的数目减少2/3。
[0050] 根据本发明的技术,可针对每一CU应用颜色空间变换过程。因此,不需要用信号表示是否调用变换过程。另外,编码器和解码器侧都以同一方法导出变换矩阵以避免用于用信号表示变换矩阵的开销。
[0051] 根据本发明的技术,使用颜色空间变换过程,例如颜色空间变换矩阵。一个此类矩阵是YCbCr变换矩阵,其为:
[0052] 正向:
[0053] 反向:
[0054] 另一此类矩阵是YCoCg变换矩阵,其为:
[0055] 正向:
[0056] 反向:
[0057] 另一此类矩阵为YCoCg-R矩阵,其为以因数2按比例缩放Co及Cg分量的YCoCg矩阵的经修正版本。通过使用提升技术,可通过以下方程式实现正向和反向变换:
[0058] 正向:
[0059] 反向:
[0060] 在以上方程式和矩阵中,正向变换可在编码过程期间(例如,由视频编码器)执行,且反向变换可在解码过程中(例如,由视频解码器)执行。
[0061] 在传统的视频译码中,假定图像具有连续色调且空间上平滑。基于这些假设,已经开发针对具有自然内容的视频已展示良好性能的各种工具(例如,基于块的变换、滤波等)。然而,在某些应用中(例如,远程桌面、合作性工作显示器和无线显示器),计算机产生的屏幕内容可为待压缩的主要内容。此类型的内容趋向于具有离散色调,且以尖锐线及高对比度对象边界为特征。连续音调和平滑度的假设可能不再适用,并且因此传统的视频译码技术可能不有效地工作。
[0062] 调色板模式译码可用以克服以上不足。调色板译码技术的实例在2013年4月10日申请的第61/810,649号美国临时申请案中描述。对于每一CU,可导出调色板,其包含当前CU中的最主要像素值。首先发射调色板的大小及元素。在发射之后,CU中的像素是根据某一扫描次序而编码。对于每一位置,首先发射例如旗标palette_flag等语法元素以指示像素值在调色板中(“运行模式”)还是不在调色板中(“像素模式”)。
[0063] 在“运行模式”中,可用信号表示调色板索引,接着是“运行”。运行为指示具有与当前正经译码像素相同的调色板索引值的成扫描次序的连续像素的数目的语法元素。如果成扫描次序的即时连续中的多个像素具有相同调色板索引值,那么“运行模式”可由语法元素(例如,palette_flag)指示。可确定计数器值,其等于接续具有与当前像素相同的调色板索引值的当前像素的像素的数目,且运行经设定成等于计数器值。palette_flag或调色板索引都不需要针对由“运行”覆盖的随后位置发射,因为其全部具有相同像素值。在解码器侧,仅将解码当前像素的第一调色板索引值,且将在“运行”语法元素中指示的像素的“运行”中针对每一像素复制结果。
[0064] 在“像素模式”中,针对此位置发射像素样本值。如果例如palette_flag的语法元素指示“像素模式”,那么仅针对正经解码的一个像素确定调色板索引值。
[0065] 常规技术可经受各种问题。举例来说,可调用颜色变换变换,其不考虑序列特性和局部分集。因此,译码性能可为次最佳的。在另一实例中,在解码器处可需要变换矩阵的导出,这显著增加解码器复杂性。此外,可使用空间经重构像素或经帧间译码PU的预测符来导出变换矩阵。然而,当PU大小相对较小、预测不是很准确或相邻像素不可用时变换矩阵的效率可降低。本发明的技术可克服这些问题中的一或多者。
[0066] 例如视频编码器20或视频解码器30等视频译码器可执行本发明中描述的技术。本发明大体上描述用于使用颜色空间转换过程对视频块进行译码的技术。例如视频编码器20或视频解码器30等视频译码器可确定视频数据的明度分量的位深度和视频数据的色度分量的位深度。响应于所述明度分量的位深度不同于所述色度分量的位深度,所述视频译码器可修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等。所述视频译码器可进一步在对所述视频数据进行编码中应用所述颜色空间变换过程。
[0067] 本发明描述可改善环路内颜色空间变换的译码性能且可减少解码器复杂性的技术。图1是说明可利用用于屏幕内容译码的技术的实例视频编码和解码系统10的框图,其中使用高色度取样格式。如图1中所示,系统10包含提供稍后将由目的地装置14解码的经编码视频数据的源装置12。明确地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括多种多样的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板计算机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。
[0068] 目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码的视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一个实例中,计算机可读媒体16可包括通信媒体以使源装置12能够实时地将经编码的视频数据直接传输到目的地装置14。可根据通信标准(例如,无线通信协议)调制经编码的视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换器、基站或任何其它可用于促进从源装置12到目的地装置14的通信的设备。
[0069] 在一些实例中,经编码数据可以从输出接口22输出到存储装置。类似地,经编码数据可通过输入接口从存储装置存取。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码的视频数据的合适的数字存储媒体。在另一实例中,存储装置可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可从存储装置经由流式传输或下载来存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可能是流式传输发射、下载发射或其组合。
[0070] 本发明的技术未必限于无线应用或设定。所述技术可以应用于视频译码并且支持多种多媒体应用中的任一者,例如空中协议电视广播、有线电视发射、卫星电视发射、因特网流式传输视频发射(例如动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
[0071] 在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于使用颜色空间转换过程对视频块进行译码的技术。在其它实例中,源装置和目的地装置可包括其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。
[0072] 图1的说明的系统10只是一个实例。可通过任何数字视频编码及/或解码装置来执行用于使用颜色空间转换过程对视频块进行译码的技术。尽管本发明的技术一般通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编解码器”)来执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅为源装置12产生经译码视频数据用于发射至目的地装置14的所述译码装置的实例。在一些实例中,装置12、14可以实质上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输以例如用于视频流式传输、视频回放、视频广播或视频电话。
[0073] 源装置12的视频源18可以包含视频俘获装置,例如摄像机、含有先前所俘获视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为视频摄像机,那么源装置12和目的地装置14可形成所谓的摄像机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,俘获、预先俘获或计算机产生的视频可由视频编码器20编码。经编码视频信息可接着由输出接口22输出到计算机可读媒体16上。
[0074] 计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(也就是说,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置12接收经编码视频数据,并且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码的视频数据且生产含有经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体16可以理解为包含各种形式的一或多个计算机可读媒体。
[0075] 目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含通过视频编码器20定义的语法信息,所述语法信息还由视频解码器30使用,包含描述块和其它经译码单元(例如GOP)的特性和/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0076] 视频编码器20和视频解码器30可根据一种视频译码标准(例如,目前正在开发的高效视频译码(HEVC)标准)来操作,且可符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可根据其它专有或业界标准来操作,所述标准例如是ITU-T H.264标准,也被称为MPEG-4,第10部分,高级视频译码(AVC),或此类标准的扩展。但是,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。尽管图1中未图示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,则多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0077] ITU-T H.264/MPEG-4(AVC)标准是作为被称为联合视频小组(JVT)的集体联盟的产品而由ITU-T视频译码专家组(VCEG)连同ISO/IEC移动图片专家组(MPEG)制定。在一些方面中,本发明中描述的技术可应用于一般符合H.264标准的装置。H.264标准描述于ITU-T研究组的日期为2005年3月的“ITU-T推荐H.264,用于通用视听服务的高级视频译码”(ITU-T Recommendation H.264,Advanced Video Coding for generic audiovisual services)中,其在本文中可称为H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
[0078] 视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)、离散逻辑、软件、硬件固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编解码器)的部分。
[0079] JCT-VC正在努力开发HEVC标准。所述HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码器的进化的模型。HM假定视频译码器相对于根据例如ITU-T H.264/AVC的现有装置的若干额外能力。举例来说,尽管H.264提供了九个帧内预测编码模式,但HM可提供多达三十三种帧内预测编码模式。
[0080] 一般来说,HM的工作模型描述视频帧或图片可以分成包含明度及色度样本两者的一连串树块或最大译码单元(LCU)。位流内的语法数据可以界定最大译码单元(LCU,其是就像素数目来说的最大译码单元)的大小。切片包含按译码次序的若干连续树块。视频帧或图片可以被分割成一或多个切片。每一树块可以根据四叉树分裂成译码单元(CU)。一般来说,四叉树数据结构包含每个CU一个节点,其中一个根节点对应于所述树块。如果一个CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,其中的每一者对应于所述子CU中的一者。
[0081] 四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,其指示对应于所述节点的所述CU是否分裂成子CU。用于CU的语法元素可递归地定义,且可取决于CU是否分裂成子CU。如果CU未进一步分裂,那么将其称作叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16x16大小的CU不进一步分裂,那么四个8x8子CU也将被称作叶CU,尽管16x16CU从未分裂。
[0082] CU具有与H.264标准的宏块类似的目的,除了CU不具有大小区别。举例来说,树块可分裂成四个子节点(也称为子CU),且每一子节点又可为父节点且可分裂成另外四个子节点。最后未分裂的子节点(被称作四叉树的叶节点)包括译码节点,也被称作叶CU。与经译码位流相关联的语法数据可定义树块可分裂的最大次数,被称作最大CU深度,且还可定义译码节点的最小大小。因此,位流还可界定最小译码单元(SCU)。本发明使用术语“块”来指HEVC的上下文中的CU、PU或TU中的任一者,或者其它标准的上下文中的类似数据结构(例如,其在H.264/AVC中的宏块及子块)。
[0083] CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小范围可从8x8像素到具有64x64像素或更大像素的最大值的树块的大小。每一CU可以含有一或多个PU和一或多个TU。
举例来说,与CU相关联的语法数据可描述CU分割成一或多个PU。分割模式可在CU被跳过还是经直接模式编码、帧内预测模式编码或帧间预测模式编码之间不同。PU可以分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树到一或多个TU的分割。
TU可为正方形或非正方形(例如,矩形)形状。
[0084] HEVC标准允许根据TU变换,TU可针对不同CU而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而确定,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU的残余样本可使用被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。
[0085] 叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于相对应的CU的全部或一部分的空间区域,并且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,用于PU的数据可以包含在残余四叉树(RQT)中,残余四叉树可以包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可以包含定义PU的一或多个运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
[0086] 具有一或多个PU的叶CU还可包含一或多个变换单元(TU)。变换单元可使用RQT(也称为TU四叉树结构)来指定,如上文所论述。举例来说,分裂旗标可以指示叶CU是否分裂成四个变换单元。接着,每一变换单元可进一步分裂成更多个子TU。当TU未进一步分裂时,其可被称作叶TU。总体上,对于帧内译码,所有属于一叶CU的叶TU共享相同的帧内预测模式。也就是说,一般应用相同的帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可以使用帧内预测模式针对每一叶TU计算残余值,以作为CU的对应于TU的部分与原始块之间的差。TU不一定限于PU的大小。因此,TU可大于或小于PU。对于帧内译码,PU可与相同CU的对应叶TU处于相同位置。在一些实例中,叶TU的最大大小可以对应于对应的叶CU的大小。
[0087] 此外,叶CU的TU还可与相应的四叉树数据结构(被称作残余四叉树(RQT))相关联。即,叶CU可包含指示叶CU如何分割成TU的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于树块(或LCU)。未经分裂的RQT的TU被称作叶TU。一般来说,本发明分别使用术语CU和TU指代叶CU和叶TU,除非另有指出。
[0088] 视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列一或多个视频图片。GOP可包含GOP的标头、一或多个图片的标头或其它地方中的语法数据,其描述GOP中包含的多个图片。图片的每一切片可包含描述用于相应的切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可与CU内的译码节点相对应。视频块可具有固定或变化的大小,并且根据指定译码标准可在大小上有所不同。
[0089] 作为实例,HM支持各种PU大小的预测。假设特定CU的大小为2N×2N,那么HM支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM还支持用于2N×nU、2N×nD、nL×2N及nR×2N的PU大小中的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但是将另一方向分割成25%和75%。CU的对应于
25%分割的部分由“n”其后接着“上”、“下”、“左”或“右”的指示来指示。因而,举例来说,“2NxnU”是指水平地分割的2Nx2N CU,其中上方有2Nx0.5N PU,而下方有2Nx1.5N PU。
[0090] 在本发明中,“NxN”与“N乘N”可互换使用以指依据垂直尺寸和水平尺寸的视频块的像素尺寸,例如,16x16像素或16乘16像素。大体来说,16x16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,NxN块总体上在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成行和列。此外,块未必需要在水平方向上与在竖直方向上具有相同数目个像素。举例来说,块可包括NxM个像素,其中M未必等于N。
[0091] 在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可以计算用于CU的TU的残余数据。PU可包括描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,并且TU可包括在对残余视频数据应用变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后变换域中的系数。所述残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。
[0092] 在任何用于产生变换系数的变换之后,视频编码器20可执行变换系数的量化。量化大体上指代对变换系数进行量化以可能减少用以表示系数的数据的量从而提供进一步压缩的过程。量化过程可以减少与系数中的一些或全部相关联的位深度。例如,n位值可在量化期间被下舍入到m位值,其中n大于m。
[0093] 在量化之后,视频编码器可以扫描变换系数,从而从包含经量化的变换系数的二维矩阵产生一维向量。扫描可以经设计以将较高能量(并且因此较低频率)的系数放置在阵列的前面,并且将较低能量(并且因此较高频率)的系数放置在阵列的背面。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化的变换系数以形成一维向量之后,视频编码器20可以例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法编码一维向量。视频编码器20也可熵编码与经编码视频数据相关联的语法元素以供视频解码器30在解码视频数据时使用。
[0094] 为了执行CABAC,视频编码器20可向待发射的符号指派上下文模型内的上下文。上下文可涉及(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。VLC中的码字可经构造使得相对较短码对应于更有可能符号,而较长码对应于不太可能符号。以此方式,使用VLC可例如实现优于针对待发射的每一符号使用等长度码字的位节省。概率确定可基于指派到符号的上下文。
[0095] 在一些实例中,例如视频编码器20或视频解码器30等视频译码器可执行根据本发明的一或多种技术。举例来说,视频译码器可确定所述视频数据的明度分量的位深度和所述视频数据的色度分量的位深度。响应于所述明度分量的位深度不同于所述色度分量的位深度,所述视频译码器可修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等。所述视频译码器可进一步在对所述视频数据进行编码中应用所述颜色空间变换过程。
[0096] 例如视频编码器20或视频解码器30等视频译码器可执行关于图1到8描述的技术中的任一者。通过修改明度分量和/或色度分量的位深度,视频解码器可能够当使用颜色空间变换时更高效地对视频数据进行解码,进而增加系统的总译码效率且减少能耗。
[0097] 可使用多种语法元素与本发明的技术对准。这些语法元素可包含:
[0098]
[0099]
[0100]
[0101]
[0102] 表1
[0103] 当语法元素color_transform_enabled_flag等于1时,在解码过程中可调用环路内颜色空间变换过程。当语法元素color_transform_enabled_flag等于0时,可不应用环路内颜色空间变换。当所述语法元素不存在时,语法元素color_transform_enabled_flag的值可推断为等于0。
[0104] 当语法元素color_transform_flag[x0][y0]等于1时,当前译码单元可以颜色空间变换译码。当语法元素color_transform_flag[x0][y0]等于0时,当前译码单元不以颜色空间变换译码。当所述语法元素不存在时,语法元素color_transform_flag的值可推断为等于0。阵列索引x0和y0可指定相对于图片的左上方明度样本的所考虑译码块的左上方明度样本的位置(x0,y0)。
[0105] 在一些实例中,例如视频编码器20或视频解码器30等视频译码器可确定是否使用颜色空间转换用于译码单元。视频译码器可设定译码单元的语法元素的值以指示颜色空间转换的使用。视频译码器可将颜色空间变换矩阵应用于译码单元的残余块。视频译码器可对译码单元的所述语法元素进行解码,其中所述语法元素指示译码单元是否使用颜色空间转换经编码。所述视频译码器可确定所述语法元素的值是否指示所述译码单元是使用颜色空间转换经编码。视频译码器可响应于确定所述语法元素指示译码单元是使用颜色空间转换经译码而将颜色空间逆变换矩阵应用于译码单元的残余块。
[0106] 在一个实例中,对于经帧内译码CU,可直接用信号表示旗标。替代地,对于经帧内译码CU,仅当CU不是I-PCM模式时可用信号表示旗标。在另一实例中,对于经帧间译码CU和/或经帧内BC译码CU,仅在当前CU中存在非零系数(即rqt_root_cbf等于1)时可用信号表示旗标。在另一实例中,当CU是以调色板模式译码时不用信号表示所述旗标。在所有以上实例中,当经解码颜色变换旗标等于0或所述旗标不存在于用于一个CU的位流中时,可跳过颜色空间变换过程。
[0107] 此外,可用信号表示序列参数集(SPS)/图片参数集(PPS)/切片标头中的一个旗标以控制颜色空间变换的使用。当SPS/PPS/切片标头中的旗标等于0时,在所有CU中分别在对应序列/图片/切片中可跳过CU层级旗标的信令。替代地,可在PU层级或TU层级中执行颜色空间变换,其中每一PU/TU具有旗标以指示颜色空间变换的使用。
[0108] 在一个实例中,可在编码和解码过程中应用经修改YCoCg变换。可如下界定经修改YCoCg变换:
[0109] 正向:
[0110] 反向:temp=Y-Cg;
[0111] G=(Y+Cg+偏移)>>2;
[0112] B=(temp-Co+偏移)>>2;
[0113] R=(temp+Co+偏移)>>2;其中偏移等于2。
[0114] 替代地,可如下界定经修改YCoCg变换:
[0115] 正向:
[0116] 反向:temp=Y-Cg;
[0117] G=(Y+Cg+偏移)>>1;
[0118] B=(temp-Co+偏移)>>1;
[0119] R=(temp+Co+偏移)>>1;其中偏移等于1或0。
[0120] 以颜色变换译码的CU或块所使用的对应量化参数可推断为等于(dQP+2),而无颜色变换的CU或块所使用的对应量化参数可推断为等于dQP。同时,在量化和变换过程中位深度可进一步增加1。
[0121] 替代地,在原始YCoCg变换不变加归一化过程的情况下应用两步骤正向/逆变换。对于正向变换,首先应用原始YCoCg正向变换。随后,对于每一分量i,即Y、Co和Cg,所述分量复位到(i*forward_factor+偏移)>>BIT_PRECISION,其中BIT_PRECISION是无符号整数且forward_factor取决于BIT_PRECISION。在一个实例中,forward_factor等于1/√6*(1<
[0122] 对于逆变换,首先应用原始YCoCg逆变换。随后,对于每一分量i,即Y、Co和Cg,所述分量复位到(i*backward_factor+偏移)>>BIT_PRECISION,其中BIT_PRECISION与正向变换中使用的相同,且backward_factor取决于BIT_PRECISION。在一个实例中,backward_factor等于√6/4*(1<
[0123] 替代地/此外,仅当三个颜色分量(即,cbf_luma、cbf_cb和cbf_cr)中的经译码块旗标中的至少一者等于1时可用信号表示CU层级旗标。替代地,可进一步修改在颜色空间变换之后的经修改残余以确保具有颜色空间变换的CU或块中的残余范围与无颜色空间变换的CU/块中的残余范围相同。在一个实例中,应用削减操作。
[0124] 颜色空间变换矩阵可独立于经重构像素。实际上,其可取决于有损或无损译码模式。在一个实例中,当CU是以有损模式译码时,可应用YCoCg,而当CU是以无损模式译码时,应用YCoCg-R。此外,当应用YCoCg-R时,Co和Cg分量的位深度可增加1。在另一实例中,变换矩阵可取决于帧内、帧间/帧内BC模式。在此情况下,当CU层级旗标是1时根据译码模式可在编码器和解码器两者处指定用于每一模式的预定义矩阵,且可在编码器和解码器两者处使用同一矩阵。此外,仅当三个颜色分量(即,cbf_luma、cbf_cb和cbf_cr)中的经译码块旗标中的至少一者等于1时可用信号表示CU层级旗标。
[0125] 本发明的技术还可包含变换矩阵导出和信令方法,例如帧层级中。在一个实例中,对于每一帧,可基于原始图像中的颜色分量上的统计数据导出变换矩阵。变换矩阵可经译码为位流且直接发射到解码器。替代地,可应用连续经译码帧之间的变换矩阵预测。举例来说,可发射一个旗标以指示所述矩阵是否与前一帧中使用的相同。替代地,可基于原始帧的集合导出变换矩阵且在位流中用信号表示。
[0126] 在另一实例中,在例如PPS等高级语法中导出且用信号表示变换矩阵的集合。在一个实例中,基于特性将图像分类为多个区,且对于每一区,导出变换矩阵。可在高级语法中译码且用信号表示导出的矩阵。进一步在CU/TU/PU层级中用信号表示选定变换矩阵的索引。替代地,在切片标头中或针对每一瓦片区用信号表示选定变换矩阵的索引。替代地,可在切片标头中或针对每一瓦片区导出变换矩阵。
[0127] 当明度和色度分量的位深度不同时,可首先将全部颜色分量的位深度修改为相同,接着然后可应用颜色变换。替代地,位流可符合如下约束:当明度和色度分量的位深度在经译码位流中不同时,将停用颜色变换(即color_transform_enabled_flag等于0)。
[0128] 可将不同QP应用于具有或不具有颜色变换而译码的CU/块,和/或可由于此非归一化颜色变换而修改在量化和变换过程中使用的位深度。在一个实例中,当使用以上经修改YCoCg变换时,基于color_transform_flag进一步修改随后的步骤(即,在解块滤波过程之前的按比例缩放、变换和阵列构造过程)。
[0129] 在一个实例中,当使用如上文所描述的经修改YCoCg变换时,相应地修改对应量化参数导出过程和逆变换过程。对此过程的输入可包含相对于当前图片的左上方明度样本指定当前明度译码块的左上方样本的明度位置(xCb,yCb)。在此过程中,可导出变量QpY、明度量化参数Qp'Y及色度量化参数Qp'Cb及Qp'Cr。明度位置(xQg,yQg)可指定相对于当前图像的左上方明度样本的当前量化群组的左上方明度样本。水平和垂直位置xQg和yQg可分别设定成等于xCb-(xCb&((1<
[0130] 可如下导出变量QpY:
[0131] QpY=((qPY_PRED+CuQpDeltaVal+52+2*QpBdOffsetY)%(52+QpBdOffsetY))-QpBdOffsetY
[0132] 可如下导出明度量化参数Qp'Y:
[0133] Qp′Y=QpY+QpBdOffsetY
[0134] 当语法元素ChromaArrayType不等于0时,以下可适用:
[0135] 可如下导出变量qPiCb和qPiCr:
[0136] qPiCb=Clip3(-QpBdOffsetC,57,QpY+pps_cb_qp_offset+slice_cb_qp_offset+[0137] CuQpAdjValCb)
[0138] qPiCr=Clip3(-QpBdOffsetC,57,QpY+pps_cr_qp_offset+slice_cr_qp_offset+[0139] CuQpAdjValCr)
[0140] 如果语法元素ChromaArrayType等于1,那么可如下表中指定基于分别等于qPiCb和qPiCr的索引qPi而将变量qPCb和qPCr设定成等于QpC的值。否则,基于分别等于qPiCb及qPiCr的索引qPi将变量qPCb及qPCr设定成等于Min(qPi,51)。
[0141]qPi <30 30 31 32 33 34 35 36 37 38 39 40 41 42 43 >43
QpC =qPi 29 30 31 32 33 33 34 34 35 35 36 36 37 37 =qPi-6
[0142] 表2
[0143] 可如下导出用于Cb及Cr分量Qp'Cb和Qp'Cr的色度量化参数:
[0144] Qp′Cb=qPCb+QpBdOffsetC
[0145] Qp′Cr=qPCr+QpBdOffsetC
[0146] 当color_transform_flag等于1时,以下可适用:
[0147] Qp'Y=(Qp'Y+8)
[0148] 当ChromaArrayType≠0,Qp′Cb=(Qp'cb+8)且Qp′Cr=(Qp'cr+8)时
[0149] BitDepthY=(BitDepthY+2)
[0150] BitDepthC=(BitDepthC+2)
[0151] 对此过程的输入可包含相对于当前图片的左上方明度样本指定当前明度变换块的左上方样本的明度位置(xTbY,yTbY)、指定当前变换块的大小的变量nTbS、指定当前块的颜色分量的变量cIdx,以及指定量化参数的变量qP。此过程的输出可包含具有元素d[x][y]的经按比例缩放变换系数的(nTbS)x(nTbS)阵列d。
[0152] 可如下导出变量log2TransformRange、bdShift、coeffMin和coeffMax:
[0153] 当color_transform_flag=1时,以下适用:
[0154] CoeffCTMinY=-(1<<(extended_precision_processing_flag?
[0155] Max(15,BitDepthY+6):15))
[0156] CoeffCTMinC=-(1<<(extended_precision_processing_flag?
[0157] Max(15,BitDepthC+6):15))
[0158] CoeffCTMaxY=(1<<(extended_precision_processing_flag?
[0159] Max(15,BitDepthY+6):15))-1
[0160] CoeffCTMaxC=(1<<(extended_precision_processing_flag?
[0161] Max(15,BitDepthC+6):15))-1
[0162] 如果cIdx=0,
[0163] log2TransformRange=extended_precision_processing_flag?
[0164] Max(15,BitDepthY+6):15
[0165] bdShift=BitDepthY+Log2(nTbS)+10-log2TransformRange
[0166] coeffMin=(color_transform_flag?CoeffCTMinY:CoeffMinY)
[0167] coeffMax=(color_transform_flag?CoeffCTMaxY:CoeffMaxY)
[0168] 否则,
[0169] log2TransformRange=extended_precision_processing_flag?
[0170] Max(15,BitDepthC+6):15
[0171] bdShift=BitDepthC+Log2(nTbS)+10-log2TransformRange
[0172] coeffMin=(color_transform_flag?CoeffCTMinC:CoeffMinC)
[0173] coeffMax=(color_transform_flag?CoeffCTMaxC:CoeffMaxC)
[0174] 可将列表levelScale[]指定为levelScale[k]={40,45,51,57,64,72},其中k=0..5。
[0175] 对于经按比例缩放变换系数d[x][y]的导出,其中x=0..nTbS-1,y=0..nTbS-1,以下可适用:
[0176] 可如下导出按比例缩放因数m[x][y]:
[0177] 如果以下条件中的一或多者为真,那么将m[x][y]设定成等于16:
[0178] scaling_list_enabled_flag=0.
[0179] transform_skip_flag[xTbY][yTbY]=1 and nTbS>4.
[0180] 否则以下适用:
[0181] m[x][y]=ScalingFactor[sizeId][matrixId][x][y](8-283)
[0182] 当针对等于(nTbS)x(nTbS)的量化矩阵的大小指定语法元素sizeId且在表7-4中分别针对sizeId、CuPredMode[xTbY][yTbY]和cIdx指定matrixId时,则可如下导出经按比例缩放变换系数d[x][y]:
[0183] d[x][y]=Clip3(coeffMin,coeffMax,((TransCoeffLevel[xTbY][yTbY][cIdx][x][y]*m[x][y]*levelScale[qP%6]<<(qP/6))+(1<<(bdShift-1)))>>bdShift)
[0184] 当color_transform_flag等于1时,以下可适用:
[0185] BitDepthY=BitDepthY-2
[0186] BitDepthC=BitDepthC-2
[0187] 在一个实例中,当颜色空间变换应用于帧内模式时,在经转换颜色空间域中导出残余。即,在调用帧内样本预测过程之前,可首先以经修改正向YCoCg或YCoCg-R变换将当前CU的相邻像素转换到另一次最佳颜色空间。经修改相邻像素接着可用以导出当前CU的预测符。在次最佳域中从当前CU和当前CU的相邻像素导出残余(即,预测误差)。以与例如分量间残余预测、变换、量化和熵译码等常规译码流相同的方式对残余进行译码。在熵译码之后,可以逆YCoCg或YCoCg-R变换进一步修改变换系数。接着可将经修改变换系数添加到预测符以导出当前CU的经重构像素。在调用重构过程之后,可将逆YCoCg或YCoCg-R变换应用于经修改相邻像素。因此,在解码器侧,在调用重构过程之前,可应用一个额外过程,其中将逆颜色空间变换应用于导出的变换系数。
[0188] 当颜色空间变换应用于帧内模式时,并非通过从所转换颜色域中的当前块减去预测符而产生残余,而是可在颜色空间变换之前使用像素产生残余,随后是颜色空间变换。在此情况下,可将明度和色度帧内模式设定成相同模式。替代地,可跳过色度模式的信令。替代地,仅当明度和色度帧内模式相同时可用信号表示颜色变换旗标。
[0189] 如上文所描述,在一些实例中,无损和有损译码方法可共享同一矩阵,例如YCoCg-R。另外或替代地,当YCoCg-R变换应用于有损译码时,具有颜色变换的块的色度分量的位深度与无颜色变换的块相比可增加1。具有颜色变换的块的明度分量QP可等于无颜色变换的块的明度分量减4。在一个实例中,具有颜色变换的块的两个色度分量QP可等于无颜色变换的块的色度/明度分量QP加2。在一个实例中,具有颜色变换的块的Cg色度分量QP可等于无颜色变换的块的明度/色度分量QP加2。具有颜色变换的块的Co色度分量QP可等于无颜色变换的块的明度/色度分量QP加3。
[0190] 在此些实例中,当YCoCg-R用于有损和无损模式两者时,如果当前块经有损译码,那么明度和色度的位深度对于未启用自适应颜色变换而经译码的那些块可为相同的。在此情况下,当应用有损译码时,在YCoCg-R的正向变换之后,可通过N位右移而按比例缩放Co和Cg分量以减少由于正向YCoCg-R变换而增加的位深度,且使位深度精度与Y分量的位深度精度相同。另外,在执行反向YCoCg-R变换之前,可以N位左移修改Co和Cg分量。在一个实例中,N等于1。
[0191] 在一个实例中,可假定明度和色度分量的输入位深度是相同的。对于有损译码模式,在正向变换之后且在逆变换之前可将移位操作应用于两个色度分量(即,Cg、Co)。在一个实例中,按次序应用以下过程:
[0192] 1.正向YCoCg-R不变:
[0193] 2.如果当前块是以有损模式经译码,那么以下可进一步适用:
[0194] Cg=Cg>>1;
[0195] Co=Co>>1;
[0196] 在另一实例中,在右移过程中可考虑偏移。举例来说,以上突出显示的方程式可被以下代替:
[0197] Cg=(Cg+1)>>1;
[0198] Co=(Co+1)>>1;
[0199] 在调用反向YCoCg-R变换之前,以下可适用:
[0200] 如果当前块是以有损模式经译码,那么以下可适用:
[0201] Cg=Cg<<1;
[0202] Co=Co<<1;
[0203] 且逆YCoCg-R可保持不变:
[0204] 在此些实例中,当ChromaArrayType等于3时可调用使用自适应颜色变换的变换块的残余修改过程。对此过程的输入可包含指定块大小的变量blkSize、具有元素rY[x][y]的明度残余样本rY的(blkSize)x(blkSize)阵列、具有元素rCb[x][y]的色度残余样本rCb的(blkSize)x(blkSize)阵列,以及具有元素rCr[x][y]的色度残余样本rCr的(blkSize)x(blkSize)阵列。对此过程的输出可包含明度残余样本的经修改(blkSize)x(blkSize)阵列rY、色度残余样本的经修改(blkSize)x(blkSize)阵列rCb,以及色度残余样本的经修改(blkSize)x(blkSize)阵列rCr。
[0205] 可如下修改残余样本rY、rCb和rCr的(blkSize)x(blkSize)阵列,其中x=0..blkSize-1,y=0..blkSize-1:
[0206] 如果cu_transquant_bypass_flag=0,rCb[x][y]=rCb[x][y]<<1且rCr[x][y]=[0207] rCr[x][y]<<1
[0208] tmp=rY[x][y]-(rCb[x][y]>>1)
[0209] rY[x][y]=tmp+rCb[x][y]
[0210] rCb[x][y]=tmp-(rCr[x][y]>>1)
[0211] rCr[x][y]=rCb[x][y]+rCr[x][y]
[0212] 替代地,‘如果cu_transquant_bypass_flag等于0,rCb[x][y]=rCb[x][y]<<1且rCr[x][y]=rCr[x][y]<<1’可被‘rCb[x][y]=rCb[x][y]<<(1-cu_transquant_bypass_flag)且rCr[x][y]=rCr[x][y]<<(1-cu_transquant_bypass_flag)’代替。
[0213] 在共享颜色变换矩阵的有损译码方法和无损译码方法的另一实例中,明度和色度分量的输入位深度可不同。在此实例中,当明度和色度分量的输入位深度不同且YCoCg-R用于有损和无损译码模式两者时,在逆变换之前,可首先将Y、Co、Cg分量的值中的至少一者移位N位以使全部三个分量具有相同位深度精度。另外,可对两个色度分量(即,Co和Cg)移位再一个位。在调用正向YCoCg-R变换之前可将全部三个分量的预测值中的至少一者修改为具有相同位深度精度。且在正向变换之后,可将所述两个色度分量右移1位。对于无损译码模式,可不考虑不同位深度,且因此可停用自适应颜色空间变换。在一个实例中,位流可包含如下约束:当明度和色度分量的位深度在经译码位流中不同时,将停用颜色变换(即color_transform_enabled_flag等于0)。
[0214] 在此实例中,当ChromaArrayType等于3时可调用使用自适应颜色变换的变换块的残余修改过程。对此过程的输入可包含指定块大小的变量blkSize、具有元素rY[x][y]的明度残余样本rY的(blkSize)x(blkSize)阵列、具有元素rCb[x][y]的色度残余样本rCb的(blkSize)x(blkSize)阵列,以及具有元素rCr[x][y]的色度残余样本rCr的(blkSize)x(blkSize)阵列。对此过程的输出可包含明度残余样本的经修改(blkSize)x(blkSize)阵列rY、色度残余样本的经修改(blkSize)x(blkSize)阵列rCb,以及色度残余样本的经修改(blkSize)x(blkSize)阵列rCr。
[0215] 可如下导出变量deltaBDY和deltaBDC:
[0216] BitDepthMax=Max(BitDepthY,BitDepthC)
[0217] deltaBDY=cu_transquant_bypass_flag?0:BitDepthMax-BitDepthY
[0218] deltaBDC=cu_transquant_bypass_flag?0:BitDepthMax-BitDepthC
[0219] OY=cu_transquant_bypass_flag||(BitDepthMax==BitDepthY)?0:1<<(deltaBDY-1)
[0220] OC=cu_transquant_bypass_flag||(BitDepthMax==BitDepthc)?0:1<<(deltaBDc-1)
[0221] 可如下修改残余样本rY、rCb和rCr的(blkSize)x(blkSize)阵列,其中x=0..blkSize-1,y=0..blkSize-1:
[0222] 可如下修改残余样本rY[x][y]、rCb[x][y]和rCr[x][y]:
[0223] rY[x][y]=rY[x][y]<
[0224] rCb[x][y]=rCb[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
[0225] rCr[x][y]=rCr[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
[0226] tmp=rY[x][y]-(rCb[x][y]>>1)
[0227] rY[x][y]=tmp+rCb[x][y]
[0228] rCb[x][y]=tmp-(rCr[x][y]>>1)
[0229] rCr[x][y]=rCb[x][y]+rCr[x][y]
[0230] rY[x][y]=(rY[x][y]+OY)>>deltaBDY
[0231] rCb[x][y]=(rCb[x][y]+Oc)>>deltaBDC
[0232] rCr[x][y]=(rCr[x][y]+Oc)>>deltaBDC
[0233] 在上述实例中,函数Max可用以导出两个变量之间的较大值。替代地,舍入偏移OY和Oc中的至少一者可设定成等于0。
[0234] 替代地,甚至对于无损译码,当明度和色度分量的位深度不同时,可在需要时将所述分量移位到相同位深度精度。在编码器侧,在正向变换之后,可不需要移位回到原始位深度精度。换句话说,所述三个分量的经译码残余可具有相同位深度以确保其为无损译码。不同于有损译码,在调用用于无损译码的后向YCoCg-R变换之前可不修改输入。可仍需要右移以确保输出在与原始输入相同的位深度中。
[0235] 在此实例中,当ChromaArrayType等于3时可调用使用自适应颜色变换的变换块的残余修改过程。对此过程的输入可包含指定块大小的变量blkSize、具有元素rY[x][y]的明度残余样本rY的(blkSize)x(blkSize)阵列、具有元素rCb[x][y]的色度残余样本rCb的(blkSize)x(blkSize)阵列,以及具有元素rCr[x][y]的色度残余样本rCr的(blkSize)x(blkSize)阵列。对此过程的输出可包含明度残余样本的经修改(blkSize)x(blkSize)阵列rY、色度残余样本的经修改(blkSize)x(blkSize)阵列rCb,以及色度残余样本的经修改(blkSize)x(blkSize)阵列rCr。
[0236] 可如下导出变量deltaBDY和deltaBDC:
[0237] BitDepthMax=Max(BitDepthY,BitDepthC)
[0238] deltaBDY=BitDepthMax-BitDepthY
[0239] deltaBDC=BitDepthMax-BitDepthC
[0240] OY=(BitDepthMax==BitDepthY)?0:1<<(deltaBDY-1)
[0241] OC=(BitDepthMax==BitDepthc)?0:1<<(deltaBDc-1)
[0242] 可如下修改残余样本rY、rCb和rCr的(blkSize)x(blkSize)阵列,其中x=0..blkSize-1,y=0..blkSize-1:
[0243] 当cu transquant绕过旗标等于0时,可如下修改残余样本rY[x][y]、rCb[x][y]和rCr[x][y]:
[0244] rY[x][y]=rY[x][y]<
[0245] rCb[x][y]=rCb[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
[0246] rCr[x][y]=rCr[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
[0247] tmp=rY[x][y]-(rCb[x][y]>>1)
[0248] rY[x][y]=tmp+rCb[x][y]
[0249] rCb[x][y]=tmp-(rCr[x][y]>>1)
[0250] rCr[x][y]=rCb[x][y]+rCr[x][y]
[0251] rY[x][y]=(rY[x][y]+OY)>>deltaBDY
[0252] rCb[x][y]=(rCb[x][y]+Oc)>>deltaBDC
[0253] rCr[x][y]=(rCr[x][y]+Oc)>>deltaBDC
[0254] 替代地,OY和OC中的一者可等于0。
[0255] 视频编码器20可例如在帧标头、块标头、切片标头或GOP标头中进一步将例如基于块的语法数据、基于帧的语法数据及基于GOP的语法数据等语法数据发送到视频解码器30。GOP语法数据可描述相应GOP中的数个帧,及帧语法数据可指示用以对对应帧进行编码的编码/预测模式。
[0256] 视频编码器20和视频解码器30各自可实施为合适的多种合适的编码器或解码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为组合式视频编码器/解码器(编解码器)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如,蜂窝式电话。
[0257] 图2是说明可使用颜色空间转换过程实施用于编码视频块的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的译码模式中的任一者。
[0258] 如图2中所示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60及求和器62。还可包含解块滤波器(图2中未图示)以对块边界进行滤波,从而从经重构视频移除成块假象。在需要时,解块滤波器将通常滤波求和器62的输出。除了解块滤波器外,还可使用额外滤波器(环路内或环路后)。为简洁起见未图示此些滤波器,但是必要时,此些滤波器可以对求和器50的输出进行滤波(作为环路内滤波器)。
[0259] 在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可以划分成多个视频块。运动估计单元42和运动补偿单元44可相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测性译码以提供时间预测。帧内预测单元46可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收的视频块的帧内预测性译码以提供空间预测。视频编码器20可执行多个译码遍次,例如,为了为每一视频数据块选择一种适当的译码模式。
[0260] 此外,分割单元48可以基于前述译码遍次中的前述划分方案的评估将视频数据块分割成子块。举例来说,分割单元48最初可以将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可以进一步产生指示将LCU分割成子CU的四叉树数据结构。四叉树的叶节点CU可以包含一或多个PU和一或多个TU。
[0261] 模式选择单元40可以(例如)基于误差结果选择译码模式中的一者(帧内或帧间),并且将所得的经帧内译码或经帧间译码块提供到求和器50以便产生残余块数据,并且提供到求和器62以便重构经编码块以用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息和其它此类语法信息)提供给熵编码单元56。
[0262] 运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测性块是被发现在像素差方面与待译码块紧密匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元
42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。
[0263] 运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42向熵编码单元56和运动补偿单元44发送计算出的运动向量。
[0264] 由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来获取或产生预测性块。再次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44可在参考图片列表中的一者中定位所述运动向量指向的预测块。求和器50通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元42相对于明度分量执行运动估计,并且运动补偿单元44对于色度分量及明度分量两者使用基于明度分量计算的运动向量。模式选择单元40还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
[0265] 作为对如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可帧内预测当前块。具体来说,帧内预测单元46可以确定用于对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可以(例如)在单独的编码编次期间使用各种帧内预测模式来编码当前块,并且帧内预测单元46(或在一些实例中为模式选择单元40)可以从所述测试模式中选择适当帧内预测模式来使用。
[0266] 举例来说,帧内预测单元46可使用速率-失真分析计算针对各种测试的帧内预测模式的速率-失真值,且从所述测试的模式当中选择具有最好速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可根据用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
[0267] 在选择用于块的帧内预测模式后,帧内预测单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20在所发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,以及对最可能帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。
[0268] 视频编码器20通过从正译码原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何状况下,变换处理单元52向残余块应用所述变换,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变换系数以进一步减小位速率。量化过程可以减少与系数中的一些或全部相关联的位深度。可通过调节量化参数来修改量化的程度。在一些实例中,量化单元54可以接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
[0269] 在量化后,熵编码单元56熵译码经量化变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。在熵编码单元56的熵译码之后,可以将经编码位流发射到另一装置(例如,视频解码器30),或者将所述视频存档以用于稍后发射或检索。
[0270] 根据本发明的技术,视频编码器20的熵编码单元56可执行本发明的一或多种技术。举例来说,视频编码器20的熵编码单元56可确定视频数据的明度分量的位深度和视频数据的色度分量的位深度。熵编码单元56可进一步响应于所述明度分量的位深度不同于所述色度分量的位深度,修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等。视频编码器20的熵编码单元56可进一步将颜色空间变换过程应用于所述经修改视频数据。
[0271] 逆量化单元58及逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块,例如以供稍后用作参考块。运动补偿单元44可通过将残余块添加到参考图片存储器64的一个帧的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构的残余块来计算用于在运动估计中使用的次整数像素值。求和器62将经重构的残余块添加到由运动补偿单元44产生的经运动补偿的预测块,以产生经重构的视频块以用于存储于参考图片存储器64中。经重构的视频块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧中的块进行帧间译码。
[0272] 以此方式,视频编码器20的熵编码单元56可执行本发明的一或多种技术。举例来说,根据本发明的技术,视频编码器20的熵编码单元56可执行本发明的一或多种技术。举例来说,视频编码器20的熵编码单元56可确定视频数据的明度分量的位深度和视频数据的色度分量的位深度。熵编码单元56可进一步响应于所述明度分量的位深度不同于所述色度分量的位深度,修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等。视频编码器20的熵编码单元56可进一步将颜色空间变换过程应用于所述经修改视频数据。
[0273] 在一些实例中,所述视频数据可为视频数据的第一集合。因此,对于视频数据的第二集合,视频编码器20的熵编码单元56可确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度。响应于视频数据的所述第二集合的明度分量的位深度不同于视频数据的所述第二集合的色度分量的位深度,视频编码器20的熵编码单元56可针对视频数据的所述第二集合停用颜色变换。在一些此类实例中,视频编码器20的熵编码单元56可进一步设定视频数据的所述第二集合的图片参数集的第二语法元素,其指示颜色空间变换过程针对视频数据的所述第二集合停用。
[0274] 在一些实例中,当视频编码器20的熵编码单元56修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者时,视频编码器20的熵编码单元56可在应用所述颜色空间变换过程之前对所述明度分量和色度分量中的一者或两者的视频数据执行逐位移位运算。逐位移位运算逐位运算对一或多个位模式或二进制数字在其个别位的层级处进行运算,其中用零代替丢弃的位。
[0275] 在一些实例中,视频编码器20的熵编码单元56可进一步确定使用颜色空间转换用于编码视频数据。在这样做时,视频编码器20的熵编码单元56可响应于确定使用颜色空间转换用于译码单元而设定视频数据的语法元素的值以指示颜色空间转换的使用。在一些实例中,所述语法元素包括一位旗标。在一些实例中,当译码单元是使用除帧内脉码调制(IPCM)模式外的模式经译码时用信号表示所述语法元素。在其它实例中,仅当译码单元的变换单元中存在非零系数时用信号表示所述语法元素。在一些实例中,所述语法元素的值1指示译码单元是使用颜色空间转换经编码。
[0276] 在一些实例中,可不用信号表示所述语法元素。举例来说,当译码单元经帧内译码时且当译码单元内的预测单元的明度预测模式和色度预测模式不同时可不用信号表示所述语法元素。在另一实例中,当译码单元是以调色板模式译码时可不用信号表示所述语法元素。
[0277] 在一些实例中,所述语法元素是第一语法元素且视频数据是视频数据的第一集合。在此些实例中,视频编码器20的熵编码单元56可确定视频数据的第二集合的第二译码单元中的第一像素的调色板索引的值。视频编码器20的熵编码单元56可进一步确定按扫描次序立即接续所述第一像素的一或多个接下来的像素的调色板索引的值。确定调色板索引的值可包括确定调色板索引的值,直到像素具有的调色板索引的值不同于第一像素的调色板索引的值。视频编码器20的熵编码单元56可进一步确定针对接下来的像素确定的调色板索引值的数目。基于调色板索引值的数目,视频编码器20的熵编码单元56可使用第一模式或第二模式对调色板索引进行编码。当调色板索引值的数目大于一时,视频编码器20的熵编码单元56可设定第二语法元素的值以指示第一模式用以编码所述调色板索引,且将第三语法元素的值设定为等于调色板索引值的数目。当调色板索引值的数目小于或等于一时,视频编码器20的熵编码单元56可设定第二语法元素的值以指示第二模式用以编码所述调色板索引。在一些实例中,第一模式是运行模式,且第二模式是像素模式。
[0278] 在一些实例中,编码所述语法元素可包括视频编码器20的熵编码单元56对指示译码单元是否使用颜色空间转换经编码的补充增强信息(SEI)消息的数据进行编码。
[0279] 图3是说明可实施用于解码视频块的技术的视频解码器30的实例的框图,所述视频块中的一些是使用颜色空间转换过程经编码。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82及求和器80。在一些实例中,视频解码器30可执行一般与相对于视频编码器20(图2)所描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。
[0280] 在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符和其它语法元素。熵解码单元70将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级及/或视频块层级接收语法元素。
[0281] 根据本发明的技术,视频解码器30的熵解码单元70可执行本发明的一或多种技术。举例来说,视频编码器30的熵解码单元70可确定视频数据的明度分量的位深度和视频数据的色度分量的位深度。视频编码器30的熵解码单元70可进一步响应于所述明度分量的位深度不同于所述色度分量的位深度,修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等。视频编码器30的熵解码单元70可进一步将颜色空间逆变换过程应用于所述经修改视频数据。
[0282] 当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可以基于用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(例如,B、P或GPB)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测性块。可以从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储在参考图片存储器82中的参考图片使用默认构造技术构造参考帧列表--列表0和列表1。运动补偿单元72通过剖析运动向量及其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正经解码的当前视频块的预测性块。举例来说,运动补偿单元72使用一些接收到的语法元素确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
[0283] 运动补偿单元72还可以基于内插滤波器执行内插。运动补偿单元72可以使用如视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据接收的语法元素而确定由视频编码器20使用的内插滤波器并使用所述内插滤波器来产生预测性块。
[0284] 逆量化单元76将在位流中提供且由熵解码单元70解码的经量化块系数逆量化,即解量化。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算的量化参数QPY来确定应应用的量化程度和同样的逆量化程度。
[0285] 逆变换处理单元78将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数以便产生像素域中的残余块。
[0286] 在运动补偿单元72基于运动向量及其它语法元素产生当前视频块的预测性块后,视频解码器30通过对来自逆变换处理单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器80表示执行此求和运算的一或多个组件。视需要,还可应用解块滤波器以对经解码块进行滤波,以便移除成块假象。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,所述参考图片存储器存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。
[0287] 以此方式,视频编码器30的熵解码单元70可执行本发明的一或多种技术。举例来说,视频编码器30的熵解码单元70可确定视频数据的明度分量的位深度和视频数据的色度分量的位深度。视频编码器30的熵解码单元70可进一步响应于所述明度分量的位深度不同于所述色度分量的位深度,修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等。视频编码器30的熵解码单元70可进一步将颜色空间逆变换过程应用于所述经修改视频数据。
[0288] 在一些实例中,所述视频数据可为视频数据的第一集合。因此,对于视频数据的第二集合,视频编码器30的熵解码单元70可确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度。响应于视频数据的所述第二集合的明度分量的位深度不同于视频数据的所述第二集合的色度分量的位深度,视频编码器30的熵解码单元70可针对视频数据的所述第二集合停用颜色变换。在一些此类实例中,视频编码器30的熵解码单元70可进一步设定视频数据的所述第二集合的图片参数集的第二语法元素,其指示颜色空间变换过程针对视频数据的所述第二集合停用。
[0289] 在一些实例中,当视频编码器30的熵解码单元70修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者时,视频编码器30的熵解码单元70可在应用所述颜色空间变换过程之前对所述明度分量和色度分量中的一者或两者的视频数据执行逐位移位运算。逐位移位运算逐位运算对一或多个位模式或二进制数字在其个别位的层级处进行运算,其中用零代替丢弃的位。
[0290] 在一些实例中,视频解码器30的熵解码单元70可对视频数据的译码单元的语法元素进行解码。所述语法元素可指示译码单元是否是使用颜色空间转换经编码。在一些实例中,所述语法元素可包括一位旗标。在一些实例中,译码单元是在除帧内脉码调制(IPCM)模式外的模式中经译码,且仅针对使用除IPCM模式外的模式的译码单元用信号表示所述语法元素。在一些实例中,所述语法元素指示当所述译码单元的变换单元中存在非零系数时所述译码单元是使用颜色空间转换经编码。在一些实例中,所述语法元素的值1指示译码单元是使用颜色空间转换经编码。视频解码器30的熵解码单元70可进一步确定所述语法元素的值是否指示译码单元是使用颜色空间转换经编码。响应于确定所述语法元素指示译码单元是使用颜色空间转换经译码,视频解码器30的熵解码单元70可应用颜色空间逆变换过程。
[0291] 在一些实例中,所述语法元素可指示颜色空间转换不用于编码所述译码单元。举例来说,当译码单元经帧内译码时以及当所述译码单元内的预测单元的明度预测模式和色度预测模式不同时,所述语法元素可指示颜色空间转换不用于编码所述译码单元。在另一实例中,当译码单元是以调色板模式译码时,所述语法元素可指示颜色空间转换不用于编码所述译码单元。在这些实例中,所接收的位流可不包含所述语法元素。
[0292] 在一些实例中,所述语法元素是第一语法元素且视频数据是视频数据的第一集合。在此些实例中,视频解码器30的熵解码单元70可进一步确定视频数据的第二集合的第二语法元素的值。所述第二语法元素可指示调色板模式是否用于编码所述视频数据的第二集合。响应于所述第二语法元素指示调色板模式用于编码所述视频数据,视频解码器30的熵解码单元70可确定第三语法元素的值。所述第三语法元素可指示第一模式或第二模式是否用于对所述译码单元中的像素的调色板索引进行解码。基于所述第二语法元素的所确定的值,视频解码器30的熵解码单元70可使用所述第一模式或第二模式对调色板索引进行解码。当使用所述第一模式时,视频解码器30的熵解码单元70可确定调色板索引的值,确定指示按扫描次序立即接续当前正解码的像素的像素的数目的第四语法元素的值,且重复确定按扫描次序的接下来N个像素的调色板索引的值的结果,其中N等于所述第四语法元素的值。在一些实例中,所述第一模式是运行模式。当使用所述第二模式时,视频解码器30的熵解码单元70可确定调色板索引的值且输出所述像素的像素样本值,其中所述像素样本值等于所述调色板索引的值。在一些实例中,所述第二模式是像素模式。
[0293] 在一些实例中,解码所述语法元素包括视频解码器30的熵解码单元70经配置以对指示译码单元是否是使用颜色空间转换经编码的补充增强信息(SEI)消息的数据进行解码。
[0294] 图4是说明根据本发明的一或多种技术的35个HEVC预测模式的概念图。在当前HEVC中,对于每一预测单元(PU)的明度分量,以33个角度预测模式(从2到34编索引)、DC模式(以1编索引)和平面模式(以0编索引)利用帧内预测方法,如相对于图4所描述。
[0295] 除以上35个帧内模式之外,HEVC还采用被命名为‘I-PCM’的再一个模式。在I-PCM模式中,绕过预测、变换、量化及熵译码,同时通过预定义数目的位来对预测样本进行译码。I-PCM模式的主要目的是处置当其它模式无法对信号有效地进行译码时的情形。
[0296] 图5是说明根据本发明的一或多种技术用于合并和高级运动向量预测(AMVP)模式的空间相邻运动向量候选者的概念图。如相对于图5所描述,空间MV候选者是针对特定PU(PU0)从图5上展示的相邻块导出的,但从块产生候选者的方法对于合并和AMVP模式不同。
[0297] 在合并模式中,可使用图5(a)上所示的具有数字的次序导出多达四个空间MV候选者,且次序如下:左(0)、上(1)、右上(2)、左下(3)及左上(4),如图5(a)中所示。
[0298] 在AMVP模式中,相邻块分成两个群组:由块0及1组成的左群组以及由块2、3及4组成的上群组,如图5(b)上所示。对于每一群组,如用信号表示的参考索引所指示的参考同一参考图片的相邻块中的潜在候选者具有最高待选优先级,以形成所述群组的最终候选者。有可能所有相邻块均不含有指向同一参考图片的运动向量。因此,如果无法找到此类候选者,那么将按比例缩放第一可用候选者以形成最终候选者,因此可补偿时间距离差异。
[0299] 图6是说明根据本发明的一或多种技术的帧内块复制(BC)实例的概念图。如相对于图6所描述,帧内块复制(BC)已包含在RExt中。如图6中展示帧内BC的实例,其中当前CU是从当前图片/切片的已经解码块预测的。当前帧内BC块大小可与CU大小一样大,范围为8x8至64x64,但在一些应用中,可另外应用其它约束。
[0300] 图7是说明根据本发明的一或多种技术用于帧内8x8块的目标块和参考样本的实例的概念图。如下相对于图7所述,变换矩阵是从参考样本值导出的。不同参考样本用于帧内情况和帧间情况。对于帧内块的情况,图7中展示目标块和参考样本。在此图中,目标块由8x8交叉影线样本组成,且参考是条纹和点线样本。
[0301] 对于块间的情况,用于矩阵导出的参考样本与用于运动补偿的参考样本相同。为了实现移位运算,AMP块中的参考样本经子取样以使得样本的数目变成二的幂。举例来说,12x16块中的参考样本的数目减少到2/3。
[0302] 根据本发明的一些技术,可应用颜色空间变换过程。在此些实例中,不需要用信号表示是否调用变换过程。另外,编码器和解码器侧都可以同一方法导出变换矩阵以避免用于用信号表示变换矩阵的开销。
[0303] 图8是说明用于对当前块进行编码的实例方法的流程图。当前块可包括当前CU或当前CU的一部分。尽管相对于视频编码器20(图1及2)加以描述,但应理解,其它装置可经配置以执行类似于图8的方法的方法。
[0304] 在此实例中,视频编码器20初始地预测当前块(150)。举例来说,视频编码器20可计算用于当前块的一或多个预测单元(PU)。视频编码器20接着可计算当前块的残余块,例如以产生变换单元(TU)(152)。为了计算残余块,视频编码器20可计算原始的未经译码的块与当前块的经预测块之间的差。视频编码器20的熵编码单元56可确定视频数据的明度分量的位深度和视频数据的色度分量的位深度(154)。熵编码单元56可进一步响应于所述明度分量的位深度不同于所述色度分量的位深度,修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等(156)。视频编码器20的熵编码单元56可进一步将颜色空间变换过程应用于所述经修改视频数据(158)。视频编码器20可接着变换且量化残余块的系数(160)。接下来,视频编码器20可扫描残余块的经量化变换系数(162)。在扫描期间,或在扫描以后,视频编码器20可对所述系数进行熵编码(164)。举例来说,视频编码器20可使用CAVLC或CABAC对系数进行编码。视频编码器20可随后输出块的经熵译码数据(166)。视频编码器20的熵编码单元56可进一步在编码过程的解码循环中应用颜色空间逆变换过程(168)。在本发明的技术中,颜色空间逆变换过程与译码模式是有损译码模式还是无损译码模式无关。
[0305] 在一些实例中,所述视频数据可为视频数据的第一集合。因此,对于视频数据的第二集合,视频编码器20的熵编码单元56可确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度。响应于视频数据的所述第二集合的明度分量的位深度不同于视频数据的所述第二集合的色度分量的位深度,视频编码器20的熵编码单元56可针对视频数据的所述第二集合停用颜色变换。在一些此类实例中,视频编码器20的熵编码单元56可进一步设定视频数据的所述第二集合的图片参数集的第二语法元素,其指示颜色空间变换过程针对视频数据的所述第二集合停用。
[0306] 在一些实例中,当视频编码器20的熵编码单元56修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者时,视频编码器20的熵编码单元56可在应用所述颜色空间变换过程之前对所述明度分量和色度分量中的一者或两者的视频数据执行逐位移位运算。逐位移位运算逐位运算对一或多个位模式或二进制数字在其个别位的层级处进行运算,其中用零代替丢弃的位。
[0307] 在一些实例中,视频编码器20的熵编码单元56可进一步确定使用颜色空间转换用于编码视频数据。在这样做时,视频编码器20的熵编码单元56可响应于确定使用颜色空间转换用于译码单元而设定视频数据的语法元素的值以指示颜色空间转换的使用。在一些实例中,所述语法元素包括一位旗标。在一些实例中,当译码单元是使用除帧内脉码调制(IPCM)模式外的模式经译码时用信号表示所述语法元素。在其它实例中,仅当译码单元的变换单元中存在非零系数时用信号表示所述语法元素。在一些实例中,所述语法元素的值1指示译码单元是使用颜色空间转换经编码。
[0308] 在一些实例中,可不用信号表示所述语法元素。举例来说,当译码单元经帧内译码时且当译码单元内的预测单元的明度预测模式和色度预测模式不同时可不用信号表示所述语法元素。在另一实例中,当译码单元是以调色板模式译码时可不用信号表示所述语法元素。在这些实例中,所述语法元素可不存在于包括所述视频数据的所接收位流中,且解码所述语法元素可包括推断所述语法元素的值。
[0309] 在一些实例中,所述语法元素是第一语法元素且视频数据是视频数据的第一集合。在此些实例中,视频编码器20的熵编码单元56可确定视频数据的第二集合的第二译码单元中的第一像素的调色板索引的值。视频编码器20的熵编码单元56可进一步确定按扫描次序立即接续所述第一像素的一或多个接下来的像素的调色板索引的值。确定调色板索引的值可包括确定调色板索引的值,直到像素具有的调色板索引的值不同于第一像素的调色板索引的值。视频编码器20的熵编码单元56可进一步确定针对接下来的像素确定的调色板索引值的数目。基于调色板索引值的数目,视频编码器20的熵编码单元56可使用第一模式或第二模式对调色板索引进行编码。当调色板索引值的数目大于一时,视频编码器20的熵编码单元56可设定第二语法元素的值以指示第一模式用以编码所述调色板索引,且将第三语法元素的值设定为等于调色板索引值的数目。当调色板索引值的数目小于或等于一时,视频编码器20的熵编码单元56可设定第二语法元素的值以指示第二模式用以编码所述调色板索引。在一些实例中,第一模式是运行模式,且第二模式是像素模式。
[0310] 在一些实例中,编码所述语法元素可包括视频编码器20的熵编码单元56对指示译码单元是否使用颜色空间转换经编码的补充增强信息(SEI)消息的数据进行编码。
[0311] 图9是说明用于对当前视频数据块进行解码的实例方法的流程图。当前块可包括当前CU或当前CU的一部分。尽管相对于视频解码器30(图1及3)加以描述,但应理解,其它装置可经配置以执行类似于图9的方法的方法。
[0312] 视频解码器30可例如使用帧内或帧间预测模式预测当前块(200)以计算当前块的经预测块。视频解码器30还可接收当前块的经熵译码数据,例如对应于当前块的残余块的系数的经熵译码数据(202)。视频解码器30可对经熵译码数据进行熵解码以再生残余块的系数(204)。视频解码器30可接着逆扫描经再生系数(206)以产生经量化变换系数块。视频解码器30接着可逆变换和逆量化所述系数(208)。视频解码器30的熵解码单元70可确定视频数据的明度分量的位深度和视频数据的色度分量的位深度(210)。视频解码器30的熵解码单元70可进一步响应于所述明度分量的位深度不同于所述色度分量的位深度,修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者以使得所述位深度相等(212)。视频编码器30的熵解码单元70还可将颜色空间逆变换过程应用于所述经修改视频数据(214)。视频解码器30可最终通过组合经预测块与残余块而对当前块进行解码(216)。
[0313] 在一些实例中,所述视频数据可为视频数据的第一集合。因此,对于视频数据的第二集合,视频编码器30的熵解码单元70可确定视频数据的所述第二集合的明度分量的位深度和视频数据的所述第二集合的色度分量的位深度。响应于视频数据的所述第二集合的明度分量的位深度不同于视频数据的所述第二集合的色度分量的位深度,视频编码器30的熵解码单元70可针对视频数据的所述第二集合停用颜色变换。在一些此类实例中,视频编码器30的熵解码单元70可进一步设定视频数据的所述第二集合的图片参数集的第二语法元素,其指示颜色空间变换过程针对视频数据的所述第二集合停用。
[0314] 在一些实例中,当视频编码器30的熵解码单元70修改所述明度分量的位深度和所述色度分量的位深度中的一者或两者时,视频编码器30的熵解码单元70可在应用所述颜色空间变换过程之前对所述明度分量和色度分量中的一者或两者的视频数据执行逐位移位运算。逐位移位运算逐位运算对一或多个位模式或二进制数字在其个别位的层级处进行运算,其中用零代替丢弃的位。
[0315] 在一些实例中,视频解码器30的熵解码单元70可对视频数据的译码单元的语法元素进行解码。所述语法元素可指示译码单元是否是使用颜色空间转换经编码。在一些实例中,所述语法元素可包括一位旗标。在一些实例中,译码单元是在除帧内脉码调制(IPCM)模式外的模式中经译码,且仅针对使用除IPCM模式外的模式的译码单元用信号表示所述语法元素。在一些实例中,所述语法元素指示当所述译码单元的变换单元中存在非零系数时所述译码单元是使用颜色空间转换经编码。在一些实例中,所述语法元素的值1指示译码单元是使用颜色空间转换经编码。视频解码器30的熵解码单元70可进一步确定所述语法元素的值是否指示译码单元是使用颜色空间转换经编码。响应于确定所述语法元素指示译码单元是使用颜色空间转换经译码,视频解码器30的熵解码单元70可应用颜色空间逆变换过程。
[0316] 在一些实例中,所述语法元素可指示颜色空间转换不用于编码所述译码单元。举例来说,当译码单元经帧内译码时以及当所述译码单元内的预测单元的明度预测模式和色度预测模式不同时,所述语法元素可指示颜色空间转换不用于编码所述译码单元。在另一实例中,当译码单元是以调色板模式译码时,所述语法元素可指示颜色空间转换不用于编码所述译码单元。在这些实例中,所接收的位流可不包含所述语法元素。
[0317] 在一些实例中,所述语法元素是第一语法元素且视频数据是视频数据的第一集合。在此些实例中,视频解码器30的熵解码单元70可进一步确定视频数据的第二集合的第二语法元素的值。所述第二语法元素可指示调色板模式是否用于编码所述视频数据的第二集合。响应于所述第二语法元素指示调色板模式用于编码所述视频数据,视频解码器30的熵解码单元70可确定第三语法元素的值。所述第三语法元素可指示第一模式或第二模式是否用于对所述译码单元中的像素的调色板索引进行解码。基于所述第二语法元素的所确定的值,视频解码器30的熵解码单元70可使用所述第一模式或第二模式对调色板索引进行解码。当使用所述第一模式时,视频解码器30的熵解码单元70可确定调色板索引的值,确定指示按扫描次序立即接续当前正解码的像素的像素的数目的第四语法元素的值,且重复确定按扫描次序的接下来N个像素的调色板索引的值的结果,其中N等于所述第四语法元素的值。在一些实例中,所述第一模式是运行模式。当使用所述第二模式时,视频解码器30的熵解码单元70可确定调色板索引的值且输出所述像素的像素样本值,其中所述像素样本值等于所述调色板索引的值。在一些实例中,所述第二模式是像素模式。
[0318] 在一些实例中,解码所述语法元素包括视频解码器30的熵解码单元70经配置以对指示译码单元是否是使用颜色空间转换经编码的补充增强信息(SEI)消息的数据进行解码。
[0319] 应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。
[0320] 在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体通常可以对应于(1)有形计算机可读存储媒体,其是非暂时性的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
[0321] 借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可以用来存储指令或数据结构的形式的期望程序代码并且可以由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对非暂时性的有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
[0322] 可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
[0323] 本发明的技术可在多种多样的装置或设备中实施,包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件及/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
[0324] 已描述本发明的各种实例。预期所描述的系统、操作或功能的任何组合。这些及其它实例属于所附权利要求书的范围内。
相关专利内容
标题 发布/更新时间 阅读量
修改带 2020-05-11 472
一种修改中性笔 2020-05-12 880
修改分析流 2020-05-11 493
修改带式胶带 2020-05-13 179
修改比特流 2020-05-12 133
修改命令 2020-05-11 389
修改对象的基层 2020-05-13 91
引导过程修改 2020-05-13 886
修改液 2020-05-11 792
修改笔 2020-05-11 82
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈