首页 / 专利库 / 纺织设备及加工 / 针织机 / 经编机 / 具有可缩放性的视频处理

具有可缩放性的视频处理

阅读:355发布:2022-06-12

专利汇可以提供具有可缩放性的视频处理专利检索,专利查询,专利分析的服务。并且大体而言,本 发明 描述了视频处理技术,所述视频处理技术利用语法元素及语义以支持用于具有视频可缩放性的多媒体处理的低复杂性扩展。所述语法元素及语义可添加到 网络抽象层 (NAL)单元且可特别适用于多媒体广播,且定义支持低复杂性视频可缩放性的位流格式及编码过程。在一些方面中,可应用所述技术来实施用于原本遵照H.264标准的装置的低复杂性视频可缩放性扩展。举例而言,所述语法元素及语义可适用于遵照H.264标准的NAL单元。,下面是具有可缩放性的视频处理专利的具体信息内容。

1.一种用于传送可缩放数字视频数据的方法,所述方法包含:
网络抽象层(NAL)单元中包括增强层视频数据;及
在所述NAL单元中包括一个或一个以上语法元素,以指示所述NAL单元是否包 括增强层视频数据。
2.根据权利要求1所述的方法,其进一步包含在所述NAL单元中包括一个或一个以 上语法元素,以指示所述NAL单元中的所述增强层数据的原始字节序列有效负载 (RBSP)数据结构的类型。
3.根据权利要求1所述的方法,其进一步包含在所述NAL单元中包括一个或一个以 上语法元素,以指示所述NAL单元中的所述增强层视频数据是否包括内编码的 视频数据。
4.根据权利要求1所述的方法,其中所述NAL单元为第一NAL单元,所述方法进一 步包含在第二NAL单元中包括基本层视频数据,及在所述第一及第二NAL单元中 的至少一者中包括一个或一个以上语法元素,以指示解码器是否应使用所述增强层 视频数据与所述基本层视频数据的像素域或变换域相加。
5.根据权利要求1所述的方法,其中所述NAL单元为第一NAL单元,所述方法进一 步包含在第二NAL单元中包括基本层视频数据,及在所述第一及第二NAL单元中 的至少一者中包括一个或一个以上语法元素,以指示所述增强层视频数据是否相对 于所述基本层视频数据包括任何残留数据。
6.根据权利要求1所述的方法,其进一步包含在所述NAL单元中包括一个或一个以 上语法元素,以指示所述NAL单元是否包括序列参数、图片参数集、参考图片的 片或参考图片的片数据分区。
7.根据权利要求1所述的方法,其进一步包含在所述NAL单元中包括一个或一个以 上语法元素,以识别所述增强层视频数据内含有非零变换系数语法元素的区
8.根据权利要求1所述的方法,其进一步包含在所述NAL单元中包括一个或一个以 上语法元素,以指示所述增强层视频数据中的帧内编码区块中具有大于一的量值的 非零系数的数目。
9.根据权利要求1所述的方法,其进一步包含在所述NAL单元中包括一个或一个以 上语法元素,以指示用于所述增强层视频数据中的帧间编码区块的编码区块模式。
10.根据权利要求1所述的方法,其中所述NAL单元为第一NAL单元,所述方法进一 步包含在第二NAL单元中包括基本层视频数据,且其中所述增强层视频数据经编 码以增强所述基本层视频数据的信噪比
11.根据权利要求1所述的方法,其中在所述NAL单元中包括一个或一个以上语法元 素以指示所述NAL单元是否包括增强层视频数据包含将所述NAL单元中的NAL 单元类型参数设置为选定值,以指示所述NAL单元包括增强层视频数据。
12.一种用于传送可缩放数字视频数据的设备,所述设备包含:
网络抽象层(NAL)单元模块,其在NAL单元中包括编码的增强层视频数据, 且在所述NAL单元中包括一个或一个以上语法元素,以指示所述NAL单元是否包 括增强层视频数据。
13.根据权利要求12所述的设备,其中所述NAL单元模块在所述NAL单元中包括一 个或一个以上语法元素,以指示所述NAL单元中的所述增强层数据的原始字节序 列有效负载(RBSP)数据结构的类型。
14.根据权利要求12所述的设备,其中所述NAL单元模块在所述NAL单元中包括一 个或一个以上语法元素,以指示所述NAL单元中的所述增强层视频数据是否包括 帧内编码视频数据。
15.根据权利要求12所述的设备,其中所述NAL单元为第一NAL单元,其中所述NAL 单元模块在第二NAL单元中包括基本层视频数据,且其中所述NAL单元模块在所 述第一及第二NAL单元中的至少一者中包括一个或一个以上语法元素,以指示解 码器是否应使用所述增强层视频数据与所述基本层视频数据的像素域或变换域相 加。
16.根据权利要求12所述的设备,其中所述NAL单元为第一NAL单元,所述NAL单 元模块在第二NAL单元中包括基本层视频数据,且其中所述NAL单元模块在所述 第一及第二NAL单元中的至少一者中包括一个或一个以上语法元素,以指示所述 增强层视频数据是否相对于所述基本层视频数据包括任何残留数据。
17.根据权利要求12所述的设备,其中所述NAL单元模块在所述NAL单元中包括一 个或一个以上语法元素,以指示所述NAL单元是否包括序列参数、图片参数集、 参考图片的片或参考图片的片数据分区。
18.根据权利要求12所述的设备,其中所述NAL单元模块在所述NAL单元中包括一 个或一个以上语法元素,以识别所述增强层视频数据内含有非零变换系数语法元素 的区块。
19.根据权利要求12所述的设备,其中所述NAL单元模块在所述NAL单元中包括一 个或一个以上语法元素,以指示所述增强层视频数据中的帧内编码区块中具有大于 一的量值的非零系数的数目。
20.根据权利要求12所述的设备,其中所述NAL单元模块在所述NAL单元中包括一 个或一个以上语法元素,以指示用于所述增强层视频数据中的帧间编码区块的编码 区块模式。
21.根据权利要求12所述的设备,其中所述NAL单元为第一NAL单元,所述NAL单 元模块在第二NAL单元中包括基本层视频数据,且其中编码器编码所述增强层视 频数据以增强所述基本层视频数据的信噪比。
22.根据权利要求12所述的设备,其中所述NAL单元模块将所述NAL单元中的NAL 单元类型参数设置为选定值,以指示所述NAL单元包括增强层视频数据。
23.一种用于传送可缩放数字视频数据的处理器,所述处理器经配置以在网络抽象层 (NAL)单元中包括增强层视频数据,且在所述NAL单元中包括一个或一个以上语 法元素以指示所述NAL单元是否包括增强层视频数据。
24.一种用于传送可缩放数字视频数据的设备,所述方法包含:
用于在网络抽象层(NAL)单元中包括增强层视频数据的装置;及
用于在所述NAL单元中包括一个或一个以上语法元素以指示所述NAL单元是否 包括增强层视频数据的装置。
25.根据权利要求24所述的设备,其进一步包含用于在所述NAL单元中包括一个或一 个以上语法元素以指示所述NAL单元中的所述增强层数据的原始字节序列有效负 载(RBSP)数据结构的类型的装置。
26.根据权利要求24所述的设备,其进一步包含用于在所述NAL单元中包括一个或一 个以上语法元素以指示所述NAL单元中的所述增强层视频数据是否包括帧内编码 视频数据的装置。
27.根据权利要求24所述的设备,其中所述NAL单元为第一NAL单元,所述设备进 一步包含用于在第二NAL单元中包括基本层视频数据的装置,及用于在所述第一 及第二NAL单元中的至少一者中包括一个或一个以上语法元素以指示解码器是否 应使用所述增强层视频数据与所述基本层视频数据的像素域或变换域相加的装置。
28.根据权利要求24所述的设备,其中所述NAL单元为第一NAL单元,所述设备进 一步包含用于在第二NAL单元中包括基本层视频数据的装置,及用于在所述第一 及第二NAL单元中的至少一者中包括一个或一个以上语法元素以指示所述增强层 视频数据是否相对于所述基本层视频数据包括任何残留数据的装置。
29.根据权利要求24所述的设备,其进一步包含用于在所述NAL单元中包括一个或一 个以上语法元素以指示所述NAL单元是否包括序列参数、图片参数集、参考图片 的片或参考图片的片数据分区的装置。
30.根据权利要求24所述的设备,其进一步包含用于在所述NAL单元中包括一个或一 个以上语法元素以识别所述增强层视频数据内含有非零变换系数语法元素的区块 的装置。
31.根据权利要求24所述的设备,其进一步包含用于在所述NAL单元中包括一个或一 个以上语法元素以指示所述增强层视频数据中的帧内编码区块中具有大于一的量 值的非零系数的数目的装置。
32.根据权利要求24所述的设备,其进一步包含用于在所述NAL单元中包括一个或一 个以上语法元素以指示用于所述增强层视频数据中的帧间编码区块的编码区块模 式的装置。
33.根据权利要求24所述的设备,其中所述NAL单元为第一NAL单元,所述设备进 一步包含用于在第二NAL单元中包括基本层视频数据的装置,且其中所述增强层 视频数据增强所述基本层视频数据的信噪比。
34.根据权利要求24所述的设备,其中所述用于在所述NAL单元中包括一个或一个以 上语法元素以指示所述NAL单元是否包括增强层视频数据的装置包含用于将所述 NAL单元中的NAL单元类型参数设置为选定值以指示所述NAL单元包括增强层视 频数据的装置。
35.一种用于传送可缩放数字视频数据的计算机程序产品,其包含:包含代码的计算机 可读媒体,所述代码用于导致计算机:
在网络抽象层(NAL)单元中包括增强层视频数据;及
在所述NAL单元中包括一个或一个以上语法元素,以指示所述NAL单元是否包 括增强层视频数据。
36.一种用于处理可缩放数字视频数据的方法,所述方法包含:
在网络抽象层(NAL)单元中接收增强层视频数据;
在所述NAL单元中接收一个或一个以上语法元素以指示所述NAL单元是否包括 增强层视频数据;及
基于所述指示来解码所述NAL单元中的所述数字视频数据。
37.根据权利要求36所述的方法,其进一步包含在所述NAL单元中检测一个或一个以 上语法元素,以确定所述NAL单元中的所述增强层数据的原始字节序列有效负载 (RBSP)数据结构的类型。
38.根据权利要求36所述的方法,其进一步包含在所述NAL单元中检测一个或一个以 上语法元素,以确定所述NAL单元中的所述增强层视频数据是否包括帧内编码视 频数据。
39.根据权利要求36所述的方法,其中所述NAL单元为第一NAL单元,所述方法进 一步包含:
在第二NAL单元中接收基本层视频数据;
在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以 确定所述增强层视频数据是否相对于所述基本层视频数据包括任何残留数据;及 如果确定所述增强层视频数据不相对于所述基本层视频数据包括残留数据,则跳 过对所述增强层视频数据的解码。
40.根据权利要求36所述的方法,其中所述NAL单元为第一NAL单元,所述方法进 一步包含:
在第二NAL单元中接收基本层视频数据;
在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以 确定所述第一NAL单元是否包括序列参数、图片参数集、参考图片的片或参考图 片的片数据分区;
在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以 识别所述增强层视频数据内含有非零变换系数语法元素的区块;及
在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以 确定是否应使用所述增强层视频数据与所述基本层数据的像素域或变换域相加来 解码所述数字视频数据。
41.根据权利要求36所述的方法,其进一步包含在所述NAL单元中检测一个或一个以 上语法元素,以确定所述增强层视频数据中的帧内编码区块中具有大于一的量值的 非零系数的数目。
42.根据权利要求36所述的方法,其进一步包含在所述NAL单元中检测一个或一个以 上语法元素,以确定用于所述增强层视频数据中的帧间编码区块的编码区块模式。
43.根据权利要求36所述的方法,其中所述NAL单元为第一NAL单元,所述方法进 一步包含在第二NAL单元中包括基本层视频数据,且其中所述增强层视频数据经 编码以增强所述基本层视频数据的信噪比。
44.根据权利要求36所述的方法,其中在所述NAL单元中接收一个或一个以上语法元 素以指示所述NAL单元是否包括增强层视频数据包含在所述NAL单元中接收NAL 单元类型参数,所述NAL单元类型参数经设置为选定值以指示所述NAL单元包括 增强层视频数据。
45.一种用于处理可缩放数字视频数据的设备,所述设备包含:
网络抽象层(NAL)单元模块,其在NAL单元中接收增强层视频数据,且在所 述NAL单元中接收一个或一个以上语法元素以指示所述NAL单元是否包括增强层 视频数据;及
解码器,其基于所述指示来解码所述NAL单元中的所述数字视频数据。
46.根据权利要求45所述的设备,其中所述NAL单元模块在所述NAL单元中检测一 个或一个以上语法元素,以确定所述NAL单元中的所述增强层数据的原始字节序 列有效负载(RBSP)数据结构的类型。
47.根据权利要求45所述的设备,其中所述NAL单元模块在所述NAL单元中检测一 个或一个以上语法元素,以确定所述NAL单元中的所述增强层视频数据是否包括 帧内编码视频数据。
48.根据权利要求45所述的设备,其中所述NAL单元为第一NAL单元,其中所述NAL 单元模块在第二NAL单元中接收基本层视频数据,且其中所述NAL单元模块在所 述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以确定所 述增强层视频数据是否相对于所述基本层视频数据包括任何残留数据,且如果确定 所述增强层视频数据不相对于所述基本层视频数据包括残留数据,则所述解码器跳 过对所述增强层视频数据的解码。
49.根据权利要求45所述的设备,其中所述NAL单元为第一NAL单元,其中所述NAL 单元模块:
在第二NAL单元中接收基本层视频数据;
在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以 确定所述第一NAL单元是否包括序列参数、图片参数集、参考图片的片或参考图 片的片数据分区;
在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以 识别所述增强层视频数据内含有非零变换系数语法元素的区块;及
在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素,以 确定是否应使用所述增强层视频数据与所述基本层数据的像素域或变换域相加来 解码所述数字视频数据。
50.根据权利要求45所述的设备,其中所述NAL处理模块在所述NAL单元中检测一 个或一个以上语法元素,以确定所述增强层视频数据中的帧内编码区块中具有大于 一的量值的非零系数的数目。
51.根据权利要求45所述的设备,其中所述NAL处理模块在所述NAL单元中检测一 个或一个以上语法元素,以确定用于所述增强层视频数据中的帧间编码区块的编码 区块模式。
52.根据权利要求45所述的设备,其中所述NAL单元为第一NAL单元,所述NAL单 元模块在第二NAL单元中包括基本层视频数据,且其中所述增强层视频数据经编 码以增强所述基本层视频数据的信噪比。
53.根据权利要求45所述的设备,其中所述NAL单元模块在所述NAL单元中接收NAL 单元类型参数,所述NAL单元类型参数被设置为选定值以指示所述NAL单元包括 增强层视频数据。
54.一种用于处理可缩放数字视频数据的处理器,所述处理器经配置以:
在网络抽象层(NAL)单元中接收增强层视频数据;
在所述NAL单元中接收一个或一个以上语法元素,以指示所述NAL单元是否包 括增强层视频数据;及
基于所述指示来解码所述NAL单元中的所述数字视频数据。
55.一种用于处理可缩放数字视频数据的设备,所述设备包含:
用于在网络抽象层(NAL)单元中接收增强层视频数据的装置;
用于在所述NAL单元中接收一个或一个以上语法元素以指示所述NAL单元是否 包括增强层视频数据的装置;及
用于基于所述指示来解码所述NAL单元中的所述数字视频数据的装置。
56.根据权利要求55所述的设备,其进一步包含用于在所述NAL单元中检测一个或一 个以上语法元素以确定所述NAL单元中的所述增强层数据的原始字节序列有效负 载(RBSP)数据结构的类型的装置。
57.根据权利要求55所述的设备,其进一步包含用于在所述NAL单元中检测一个或一 个以上语法元素以确定所述NAL单元中的所述增强层视频数据是否包括帧内编码 视频数据的装置。
58.根据权利要求55所述的设备,其中所述NAL单元为第一NAL单元,所述设备进 一步包含:
用于在第二NAL单元中接收基本层视频数据的装置;
用于在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素 以确定所述增强层视频数据是否相对于所述基本层视频数据包括任何残留数据的 装置;及
用于在确定所述增强层视频数据不相对于所述基本层视频数据包括残留数据的 情况下跳过对所述增强层视频数据的解码的装置。
59.根据权利要求55所述的设备,其中所述NAL单元为第一NAL单元,所述设备进 一步包含:
用于在第二NAL单元中接收基本层视频数据的装置;
用于在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素 以确定所述第一NAL单元是否包括序列参数、图片参数集、参考图片的片或参考 图片的片数据分区的装置;
用于在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素 以识别所述增强层视频数据内含有非零变换系数语法元素的区块的装置;及
用于在所述第一及第二NAL单元中的至少一者中检测一个或一个以上语法元素 以确定是否应使用所述增强层视频数据与所述基本层数据的像素域或变换域相加 来解码所述数字视频数据的装置。
60.根据权利要求55所述的设备,其进一步包含用于在所述NAL单元中检测一个或一 个以上语法元素以确定所述增强层视频数据中的帧内编码区块中具有大于一的量 值的非零系数的数目的装置。
61.根据权利要求55所述的设备,其进一步包含用于在所述NAL单元中检测一个或一 个以上语法元素以确定用于所述增强层视频数据中的帧间编码区块的编码区块模 式的装置。
62.根据权利要求55所述的设备,其中所述NAL单元为第一NAL单元,所述设备进 一步包含用于在第二NAL单元中包括基本层视频数据的装置,且其中所述增强层 视频数据经编码以增强所述基本层视频数据的信噪比。
63.根据权利要求55所述的设备,其中所述用于在所述NAL单元中接收一个或一个以 上语法元素以指示所述相应NAL单元是否包括增强层视频数据的装置包含用于在 所述NAL单元中接收NAL单元类型参数的装置,所述NAL单元类型参数被设置 为选定值以指示所述NAL单元包括增强层视频数据。
64.一种用于处理可缩放数字视频数据的计算机程序产品,其包含:包含代码的计算机 可读媒体,所述代码用于引起计算机启动下述步骤:
在网络抽象(NAL)单元中接收增强层视频数据;
在所述NAL单元中接收一个或一个以上语法元素,以指示所述NAL单元是否 包括增强层视频数据;及
基于所述指示来解码所述NAL单元中的所述数字视频数据。

说明书全文

技术领域

发明涉及数字视频处理,且更确切地说涉及可缩放视频处理的技术。

背景技术

可将数字视频能并入到广泛范围的装置中,所述装置包括数字电视、数字直播系 统、无线通信装置、个人数字助理(PDA)、膝上型计算机、台式计算机、视频游戏控制 台、数字相机、数字记录装置、蜂窝式或卫星无线电电话及其类似物。在处理及传输视 频序列方面,数字视频装置可提供对常规模拟视频系统的显著改进。
已建立用于编码数字视频序列的不同视频编码标准。运动图片专家组(MPEG)(例 如)已开发了多个标准,包括MPEG-1、MPEG-2及MPEG-4。其它实例包括国际电信联 盟(ITU)-T H.263标准,及ITU-T H.264标准及其副本,ISO/IEC MPEG-4,第10部分, 亦即,高级视频编码(AVC)。通过以压缩方式来编码数据,这些视频编码标准支持改进 的视频序列传输效率。

发明内容

大体而言,本发明描述了视频处理技术,所述视频处理技术利用语法元素及语义以 支持用于具有视频可缩放性的多媒体处理的低复杂性扩展。语法元素及语义可适用于多 媒体广播,且定义支持低复杂性视频可缩放性的位流格式及编码过程。
语法元素及语义可适用于网络抽象层(NAL)单元。在一些方面中,可应用所述技 术以实施用于原本遵照ITU-T H.264标准的装置的低复杂性视频可缩放性扩展。因此, 在一些方面中,NAL单元可大体遵照H.264标准。确切地说,载运基本层视频数据的NAL 单元可遵照H.264标准,而载运增强层视频数据的NAL单元可包括一个或一个以上添加 或修改的语法元素。
在一个方面中,本发明提供一种用于传送可缩放数字视频数据的方法,所述方法包 含在网络抽象层(NAL)单元中包括增强层视频数据,及在NAL单元中包括一个或一个 以上语法元素以指示NAL单元是否包括增强层视频数据。
在另一方面中,本发明提供一种用于传送可缩放数字视频数据的设备,所述设备包 含网络抽象层(NAL)单元模,所述NAL单元模块在NAL单元中包括编码的增强层 视频数据,且在NAL单元中包括一个或一个以上语法元素以指示NAL单元是否包括增 强层视频数据。
在又一方面中,本发明提供一种用于传送可缩放数字视频数据的处理器,所述处理 器经配置以在网络抽象层(NAL)单元中包括增强层视频数据,且在NAL单元中包括一 个或一个以上语法元素以指示NAL单元是否包括增强层视频数据。
在一额外方面中,本发明提供一种用于处理可缩放数字视频数据的方法,所述方法 包含:在网络抽象层(NAL)单元中接收增强层视频数据;在NAL单元中接收一个或一 个以上语法元素以指示NAL单元是否包括增强层视频数据;及基于所述指示来解码NAL 单元中的数字视频数据。
在另一方面中,本发明提供一种用于处理可缩放数字视频数据的设备,所述设备包 含:网络抽象层(NAL)单元模块,其在NAL单元中接收增强层视频数据,且在NAL 单元中接收一个或一个以上语法元素以指示NAL单元是否包括增强层视频数据;及解码 器,其基于所述指示来解码NAL单元中的数字视频数据。
在又一方面中,本发明提供一种用于处理可缩放数字视频数据的处理器,所述处理 器经配置以在网络抽象层(NAL)单元中接收增强层视频数据,在NAL单元中接收一个 或一个以上语法元素以指示NAL单元是否包括增强层视频数据,及基于所述指示来解码 NAL单元中的数字视频数据。
可用硬件软件固件或其任何组合来在数字视频编码及/或解码设备中实施本发明 中所描述的技术。如果是用软件实施,则可在计算机中执行所述软件。可将软件初始存 储为指令、程序代码或其类似物。因此,本发明也涵盖一种用于数字视频编码的计算机 程序产品,其包含计算机可读媒体,其中所述计算机可读媒体包含用于导致计算机执行 根据本发明的技术及功能的代码。
以下在附图及描述中阐明了各种方面的额外细节。通过描述及图式且通过权利要求 书,其它特征、目标及优势将变得显而易见。

附图说明

图1为说明支持视频可缩放性的数字多媒体广播系统的方框图
图2为说明可缩放视频位流的基本层及增强层内的视频的图。
图3为说明图1的数字多媒体广播系统中的广播服务器及订户装置的示范性组件的 方框图。
图4为说明用于订户装置的视频解码器的示范性组件的方框图。
图5为说明可缩放视频位流中的基本层及增强层视频数据的解码的流程图
图6为说明用于单个层解码的视频解码器中的基本层及增强层系数的组合的方框 图。
图7为说明视频解码器中的基本层及增强层系数的组合的流程图。
图8为说明编码可缩放视频位流以并入各种示范性语法元素来支持低复杂性视频可 缩放性的流程图。
图9为说明解码可缩放视频位流以处理各种示范性语法元素来支持低复杂性视频可 缩放性的流程图。
图10及图11为说明针对亮度空间预测模式来分割宏块(MB)及四分之一宏块的图。
图12为说明解码基本层及增强层宏块(MB)以产生单个MB层的流程图。
图13为说明亮度及色度解块过滤过程的图。
图14为说明横跨4×4区块平或垂直边界来描述样本的惯例的图。
图15为说明用于传送可缩放数字视频数据的设备的方框图。
图16为说明用于解码可缩放数字视频数据的设备的方框图。

具体实施方式

在视频压缩应用中,可缩放视频编码可用以提供信噪比(SNR)可缩放性。时间及 空间可缩放性也是可能的。为了实现SNR可缩放性,作为一实例,编码视频包括基本层 及增强层。基本层载运视频解码所必要的最少量的数据,且提供基本质量水平。增强层 载运增强解码视频的质量的额外数据。
大体而言,基本层可指代含有表示由本说明书所定义的第一水平的空间-时间SNR 可缩放性的编码视频数据的位流。增强层可指代含有表示由本说明书所定义的第二水平 的空间-时间SNR可缩放性的编码视频数据的位流。增强层位流为仅可结合基本层来解 码的,亦即,增强层位流含有对解码基本层视频数据的参考,所述参考用以产生最终解 码视频数据。
通过对物理层使用分级调制,可在相同载波或副载波上传输基本层及增强层,但其 中不同传输特性导致不同的包错误率(PER)。在覆盖区域中,对于较可靠的接收,基本 层具有较低PER。如果增强层经可靠接收及/或在其它准则下,则解码器可仅解码基本层 或基本层加增强层。
大体而言,本发明描述了视频处理技术,所述视频处理技术利用语法元素及语义以 支持用于具有视频可缩放性的多媒体处理的低复杂性扩展。所述技术可特别适用于多媒 体广播,且定义支持低复杂性视频可缩放性的位流格式及编码过程。在一些方面中,可 应用所述技术来实施用于原本遵照H.264标准的装置的低复杂性视频可缩放性扩展。举 例而言,扩展可表示对于H.264标准或其它标准的未来版本或扩展的潜在修改。
作为称作联合视频组(JVT)的合伙产品,由ITU-T视频编码专家组及ISO/IEC运 动图片专家组(MPEG)开发了H.264标准。H.264标准在ITU-T建议H.264(通用视听 服务的高级视频编码)中描述,所述建议由ITU-T研究团体作出,且日期为03/2005,其 在本文中可称作H.264标准或H.264规范,或H.264/AVC标准或规范。
本发明中所描述的技术利用了增强层语法元素及语义,其经设计以促进通过视频解 码器对基本层及增强层视频进行有效处理。将在本发明中描述各种语法元素及语义,且 可选择性地对其一起使用或分开使用。通过将位流分割成两种类型的语法实体(表示为 基本层及增强层),低复杂性视频可缩放性提供两个水平的空间-时间SNR可缩放性。
在网络抽象层(NAL)单元中载运编码视频数据及可缩放扩展。每一NAL单元为可 采用含有整数字节的包形式的网络传输单元。NAL单元载运基本层数据或增强层数据。 在本发明的一些方面中,一些NAL单元可大致遵照H.264/AVC标准。然而,本发明的 各种原理可适用于其它类型的NAL单元。大体而言,NAL单元的第一字节包括指示NAL 单元中的数据类型的标头。NAL单元的其余部分载运对应于标头中所指示的类型的有效 负载数据。标头nal_单元_类型(nal_unit_type)为五位值,其指示三十二个不同NAL单 元类型(保留其中九个用于未来使用)中的一者。保留所述九个保留的NAL单元类型中 的四个用于可缩放性扩展。专用nal_单元_类型可用以指示NAL单元为可包括用于在可 缩放性应用中使用的增强层视频数据的专用NAL单元。
NAL单元中的基本层位流语法及语义可大体遵照可能服从于一些约束的适用标准 (例如,H.264标准)。作为实例约束,图片参数集可具有等于0的宏块自适应帧/场帧旗 标(MbaffFRameFlag),序列参数集可具有等于1的仅_帧_宏块_旗标 (frame_mbs_only_flag),且存储的B图片旗标可等于0。本发明中定义了用于NAL单元 的增强层位流语法及语义,以有效地支持用于视频可缩放性的低复杂性扩展。举例而言, 可相对于H.264来修改载运增强层数据的网络抽象层(NAL)单元的语义,以引入新的 NAL单元类型,所述NAL单元类型规定了增强层NAL单元中所含有的原始位序列有效 负载(RBSP)数据结构的类型。
增强层NAL单元可载运具有各种增强层指示的语法元素,以帮助视频解码器处理 NAL单元。所述各种指示可包括NAL单元是否在增强层处包括帧内编码增强层视频数 据的指示、解码器是否应使用增强层视频数据与基本层数据的像素域或变换域相加的指 示,及/或增强层视频数据是否相对于基本层视频数据包括任何残留数据的指示。
增强层NAL单元也可载运语法元素,所述语法元素指示NAL单元是否包括序列参 数、图片参数集、参考图片的片,或参考图片的片数据分区。其它语法元素可识别增强 层视频数据内含有非零变换系数值的区块、指示增强层视频数据中的帧内编码区块中具 有大于一的量值的非零系数的数目,及指示用于增强层视频数据中的帧间编码区块的编 码区块模式。在支持有效及有序解码方面,以上所描述的信息可能有用。
可结合各种预测视频编码标准中的任一者来使用本发明中所描述的技术,所述标准 例如是MPEG-1、MPEG-2或MPEG-4标准;ITU H.263或H.264标准;或ISO/IEC MPEG-4, 第10部分标准,亦即,高级视频编码(AVC)(其大致与H.264标准相同)。本文将为了 说明的目的来描述应用所述技术来支持用于与H.264标准相关联的视频可缩放性的低复 杂性扩展。因此,如本文所描述,本发明特定涵盖H.264标准的调适、扩展或修改来提 供低复杂性视频可缩放性,但也可适用于其它标准。
在一些方面中,本发明涵盖了对增强的H.264视频编码的应用,以用于在使用仅前 向链路(FLO)空中接口规范的地面移动多媒体多播(TM3)系统中传递实时视频服务, 所述规范是“用于地面移动多媒体多播的仅前向链路空中接口规范”(“Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast”),其将作为技 术标准TIA-1099(“FLO规范”)而公布。FLO规范包括定义适合于在FLO空中接口上 传递服务的位流语法及语义以及解码过程的实例。
如以上提及,可缩放视频编码提供了两个层:基本层及增强层。在一些方面中,可 提供多个提供逐渐增高的质量水平(例如,信噪比可缩放性)的增强层。然而,为了说 明的目的,将在本发明中描述单个增强层。通过对实体层使用分级调制,可在相同载波 或副载波上传输一基本层及一个或一个以上增强层,但其中不同传输特性导致不同的包 错误率(PER)。基本层具有较低PER。解码器可接着仅解码基本层或基本层加增强层, 这取决于基本层及增强层的可用性及/或其它准则。
如果在客户端装置(例如,移动手持机)或其它小型便携装置中执行解码,则可能 由于计算复杂性及存储器要求而存在限制。因此,可以基本层加增强层的解码相较于单 个层解码并不显著增加计算复杂性及存储器要求的方式来设计可缩放编码。适当语法元 素及相关联的语义可支持基本层及增强层数据的有效解码。
作为可能硬件实施方案的一实例,订户装置可包含一具有以下三个模块的硬件核心: 用以处理运动补偿运动估计模块、用以处理解量化及反向变换操作的变换模块,及用 以处理解码视频的解块的解块模块。每一模块可经配置以每次处理一个宏块(MB)。然 而,可能难以接入每一模块的子步骤。
举例而言,帧间MB的亮度的反向变换可基于4×4区块,且可在变换模块中针对所 有4×4区块来依次进行16个变换。此外,可使用三个模块的管线化来加速解码过程。 因此,用以调节可缩放解码的过程的中断可减慢执行流程。
在可缩放编码设计中,根据本发明的一个方面,在解码器处,可将来自基本层及增 强层的数据组合成单个层(例如,在通用微处理器中)。以此方式,从微处理器发射的传 入数据看似单个层的数据,且可通过硬件核心作为单个层来处理。因此,在一些方面中, 可缩放解码对于硬件核心是透明的。可能无需再调度硬件核心的模块。在一些方面中, 基本层及增强层数据的单个层解码可仅添加少量的解码复杂性,及对存储器要求的较小 增加或无增加。
当由于高PER或因为某种其它原因而丢弃增强层时,仅基本层数据是可用的。因此, 可对基本层数据执行常规单个层解码,且大体而言,可能需要对常规不可缩放解码进行 较小改变或并不需要改变。然而,如果数据的基本层及增强层两者均为可用的,则解码 器可解码所述两层且产生增强层质量视频,此增加了用于在显示装置上呈现的所得视频 的信噪比。
在本发明中,针对当基本层及增强层两者均已被接收且为可用时的情形来描述解码 程序。然而,所属领域的技术人员应了解,所描述的解码程序也适用于仅基本层的单个 层解码。又,可缩放解码及常规单(基本)层解码可共享同一硬件核心。此外,硬件核 心内的调度控制可能需要较小修改或并不需要修改来处理基本层解码及基本层加增强层 解码两者。
可在通用微处理器中执行与可缩放解码相关的一些任务。所述工作可包括两层熵解 码、组合两层系数,及将控制信息提供到数字信号处理器(DSP)。提供到DSP的控制信 息可包括QP值及每一4×4区块中的非零系数的数目。QP值可发送到DSP以用于解量化, 且也可与硬件核心中的非零系数信息联合工作以用于解块。DSP可接入硬件核心中的单 元以完成其它操作。然而,本发明中所描述的技术无需限于任何特定硬件实施方案或结 构。
在本发明中,可以标准方式来编码双向预测(B)帧,假定可在所述两层中载运B 帧。本发明大体集中于I及P帧及/或片(其可出现在基本层、增强层或所述两层中)的 处理。大体而言,本发明描述了单个层解码过程,其组合了用于基本层与增强层位流的 操作以最小化解码复杂性及功率消耗。
作为一实例,为了组合基本层与增强层,可将基本层系数转换成增强层SNR比例。 举例而言,基本层系数可仅乘以一比例因子。举例而言,如果基本层与增强层之间的量 化参数(QP)差为6的倍数,则可通过简单位移位操作来将基本层系数转换成增强层比 例。结果为基本层数据的按比例增大版本,其可与增强层数据组合,以允许基于组合的 基本层及增强层两者的单个层解码(就仿佛基本层及增强层驻存于共同位流层内)。
通过独立地解码单个层而非两个不同层,可简化解码器的必要处理组件、可放宽调 度约束且可降低功率消耗。为了允许简化的低复杂性可缩放性,增强层位流NAL单元包 括各种语法元素及语义,所述语法元素及语义经设计以有助于解码,从而使得视频解码 器可响应于不同NAL单元中的基本层数据及增强层数据两者的存在。以下将参看图式来 描述实例语法元素、语义及处理特征。
图1为说明支持视频可缩放性的数字多媒体广播系统10的方框图。在图1的实例中, 系统10包括广播服务器12、传输塔14及多个订户装置16A、16B。广播服务器12从一 个或一个以上源获得数字多媒体内容,且(例如)根据本文所描述的视频编码标准中的 任一者(例如,H.264)来编码所述多媒体内容。可在单独位流中设置由广播服务器12 所编码的多媒体内容,以支持不同的信道以供与订户装置16相关联的用户进行选择。广 播服务器12可从不同的内容提供者馈入中获得作为现场或存档的多媒体的数字多媒体 内容。
广播服务器12可包括或耦接到调制器/传输器,所述调制器/传输器包括适当射频 (RF)调制、过滤及放大器组件来驱动与传输塔14相关联的一个或一个以上天线,以在 无线信道上传递从广播服务器12所获得的编码多媒体。在一些方面中,广播服务器12 可大体经配置以根据FLO规范来在地面移动多媒体多播(TM3)系统中传递实时视频服 务。调制器/传输器可根据各种无线通信技术中的任一者来传输多媒体数据,所述技术例 如是码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交频分多路复用 (OFDM),或所述技术的任何组合。
每一订户装置16可驻存于能够解码及呈现数字多媒体数据的任何装置、数字直播系 统、无线通信装置(例如,蜂窝式或卫星无线电电话、个人数字助理(PDA)、膝上型计 算机、台式计算机、视频游戏控制台或其类似物)内。订户装置16可支持多媒体数据的 有线及/或无线接收。另外,一些订户装置16可经装备以编码及传输多媒体数据,并且 支持语音及数据应用,包括视频电话、视频串流及其类似物。
为了支持可缩放视频,广播服务器12编码源视频,以针对视频数据的多个信道来产 生单独的基本层及增强层位流。大体同时传输所述信道,使得订户装置16A、16B可在 任何时间选择不同的信道来观看。因此,在用户控制下,订户装置16A、16B可选择一 个信道来观看运动节目,且接着选择另一信道来观看新闻或某其它调度的编程事件(较 大程度上类似于观看电视的经历)。大体而言,每一信道包括基本层及增强层,在不同 PER水平下传输所述层。
在图1的实例中,展示了两个订户装置16A、16B。然而,在给定的覆盖区域内,系 统10可包括任何数目的订户装置16A、16B。显著地,多个订户装置16A、16B可接入 相同信道来同时观看相同的内容。图1表示订户装置16A及16B相对于传输塔14的定 位,使得一个订户装置16A较接近于传输塔,且另一订户装置16B较远离于传输塔。因 为在较低PER下编码基本层,所以应由适用的覆盖区域内的任一订户装置16来可靠地 接收及解码所述基本层。如图1中所示,订户装置16A、16B两者均接收基本层。然而, 订户装置16B较远离于传输塔14而定位,且并不可靠地接收增强层。
因为基本层及增强层数据两者均为可用的,所以较近的订户装置16A能够呈现较高 质量的视频,而订户装置16B仅能够呈现由基本层数据所提供的最低质量水平。因此, 在增强层可经解码且加到基本层以提高解码视频的信噪比的意义上,由订户装置16所获 得的视频为可缩放的。然而,仅当增强层数据存在时,可缩放性才是可能的。如将描述 的,当增强层数据可用时,与增强层NAL单元相关联的语法元素及语义帮助订户装置 16中的视频解码器来实现视频可缩放性。在本发明中,且确切地说在图式中,为了简洁 起见,可将术语“增强”(enhancement)缩写为“enh”或“ENH”。
图2为说明可缩放视频位流的基本层17及增强层18内的视频帧的图。基本层17为 含有表示第一水平的空间-时间SNR可缩放性的编码视频数据的位流。增强层18为含有 表示第二水平的空间-时间SNR可缩放性的编码视频数据的位流。大体而言,增强层位 流仅可结合基本层而解码,且不可独立解码。增强层18含有对基本层17中的解码视频 数据的参考。可在变换域或像素域中使用所述参考以产生最终的解码视频数据。
基本层17及增强层18可含有帧内(I)、帧间(P)及双向(B)帧。增强层18中的 P帧依赖于对基本层17中的P帧的参考。通过解码增强层18及基本层17中的帧,视频 解码器能够提高解码视频的视频质量。举例而言,基本层17可包括以每秒15个帧的最 低帧速率编码的视频,而增强层18可包括以每秒30个帧的较高帧速率编码的视频。为 了支持在不同质量水平下的编码,可分别通过较高量化参数(QP)及较低QP来编码基 本层17及增强层18。
图3为说明图1的数字多媒体广播系统10中的广播服务器12及订户装置16的示范 性组件的方框图。如图3中所示,广播服务器12包括一个或一个以上视频源20,或到 各种视频源的接口。广播服务器12也包括视频编码器22、NAL单元模块23及调制器/ 传输器24。订户装置16包括接收器/解调器26、NAL单元模块27、视频解码器28及视 频显示装置30。接收器/解调器26经由通信信道15从调制器/传输器24接收视频数据。 视频编码器22包括基本层编码器模块32及增强层编码器模块34。视频解码器28包括 基本层/增强(基本/增强)层组合器模块38及基本层/增强层熵解码器40。
基本层编码器32及增强层编码器34接收共同视频数据。基本层编码器32以第一质 量水平来编码视频数据。增强层编码器34编码细化(refinement),当将细化添加到基本 层时,将视频增强到第二较高质量水平。NAL单元模块23处理来自视频编码器22的编 码位流,且产生含有来自基本层及增强层的编码视频数据的NAL单元。NAL单元模块 23可为如图3中所示的单独组件,或嵌入在视频编码器22内或以其它方式与视频编码 器22集成。一些NAL单元载运基本层数据,而其它NAL单元载运增强层数据。根据本 发明,至少一些NAL单元包括语法元素及语义,以在没有大量的添加的复杂性的情况下 帮助视频解码器28解码基本层及增强层数据。举例而言,可在包括增强层视频数据的 NAL单元、包括基本层视频数据的NAL单元或所述两者中提供指示NAL单元中存在增 强层视频数据的一个或一个以上语法元素。
调制器/传输器24包括合适的调制解调器、放大器、过滤器频率转换组件,以支 持由NAL单元模块23所产生的NAL单元的调制及无线传输。接收器/解调器26包括合 适的调制解调器、放大器、过滤器及频率转换组件,以支持由广播服务器所传输的NAL 单元的无线接收。在一些方面中,可针对双程通信来装备广播服务器12及订户装置16, 使得广播服务器12、订户装置16或所述两者既包括传输组件又包括接收组件,且既能 够编码视频又能够解码视频。在其它方面中,广播服务器12可为经装备以编码、解码、 传输及接收使用基本层及增强层编码的视频数据的订户装置16。因此,也涵盖了针对在 两个或两个以上订户装置之间传输的视频的可缩放视频处理。
NAL单元模块27从接收的NAL单元中提取语法元素,且将相关联的信息提供到视 频解码器28,用于在解码基本层及增强层视频数据时使用。NAL单元模块27可为如图 3中所示的单独组件,或嵌入在视频解码器28内或以其它方式与视频解码器28集成。 基本层/增强层熵解码器40将熵解码应用于接收的视频数据。如果增强层数据可用,则 基本层/增强层组合器模块38使用由NAL单元模块27提供的指示来组合来自基本层及 增强层的系数,以支持组合信息的单个层解码。视频解码器28解码组合的视频数据来产 生输出视频以驱动显示装置30。每一NAL单元中所存在的语法元素及语法元素的语义 在组合及解码接收的基本层及增强层视频数据时引导视频解码器28。
可通过硬件、软件及固件的任何合适组合来实现广播服务器12及订户装置16中的 各种组件。举例而言,可通过一个或一个以上通用微处理器、数字信号处理器(DSP)、 硬件核心、专用集成电路(ASIC)、现场可编程阵列(FPGA)或其任何组合来实现视 频编码器22及NAL单元模块23,以及NAL单元模块27及视频解码器28。另外,可在 视频编码器-解码器(编解码器)内实施各种组件。在一些情形中,可通过DSP来执行所 揭示的技术的一些方面,所述DSP调用硬件核心中的各种硬件组件以加速编码过程。
对于在软件中实施功能性(例如,由处理器或DSP执行的功能性)的方面,本发明 也涵盖了一种在计算机程序产品内包含代码的计算机可读媒体。当在机器中被执行时, 所述代码导致机器执行本发明中所描述的技术的一个或一个以上方面。机器可读媒体可 包含例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器 (ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、 快闪存储器及其类似物。
图4为说明用于订户装置16的视频解码器28的示范性组件的方框图。在图4的实 例中,与在图3中一样,视频解码器28包括基本层/增强层熵解码器模块40及基本层/ 增强层组合器模块38。又,图4中的所示为基本层加增强层错误恢复模块44,及反向量 化模块46,及反向变换及预测模块48。图4也展示了接收视频解码器28及显示装置30 的输出的后处理模块50。
基本层/增强层熵解码器40将熵解码应用于由视频解码器28接收的视频数据。当增 强层数据可用时(亦即,当已成功接收增强层数据时),基本层/增强层组合器模块38组 合用于给定帧或宏块的基本层及增强层视频数据。如将描述的,基本层/增强层组合器模 块38可首先基于NAL单元中存在的语法元素来确定NAL单元是否含有增强层数据。如 果含有增强层数据,则组合器模块38(例如)通过缩放基本层数据来将用于对应帧的基 本层数据与增强层数据组合。以此方式,组合器模块38产生单个层位流,所述位流可在 无需处理多个层的情况下由视频解码器28来解码。NAL单元中的其它语法元素及相关 联的语义可规定组合及解码基本层及增强层数据的方式。
错误恢复模块44校正组合器模块38的解码输出内的错误。反向量化模块46及反向 变换模块48将反向量化及反向变换功能分别应用于错误恢复模块44的输出,此产生用 于后处理模块50的解码输出视频。后处理模块50可执行各种视频增强功能中的任一者, 例如解块、去环、平滑化、锐化或类似功能。当对于帧或宏块存在增强层数据时,视频 解码器28能够产生较高质量的视频以供应用于后处理模块50及显示装置30。如果不存 在增强层数据,则以由基本层所提供的最低质量水平来产生解码视频。
图5为说明可缩放视频位流中的基本层及增强层视频数据的解码的流程图。大体而 言,当增强层因高包错误率而被丢弃或未被接收到时,仅基本层数据为可用的。因此, 将执行常规单个层解码。然而,如果数据的基本层及增强层两者均可用,则视频解码器 28将解码所述两层且产生增强层质量视频。如图5中所示,在开始图片组(GOP)的解 码(54)后,NAL单元模块27即确定传入的NAL单元是包括增强层数据还是仅包括基 本层数据(58)。如果NAL单元仅包括基本层数据,则视频解码器28将常规单个层解码 应用于基本层数据(60),且继续进行到GOP的结束(62)。
如果NAL单元并非仅包括基本层数据(58)(亦即,一些NAL单元包括增强层数据), 则视频解码器28执行基本层I解码(64)及增强(ENH)层I解码(66)。确切地说,视 频解码器28解码基本层及增强层中的所有I帧。视频解码器28执行存储器混洗(68), 以管理用于基本层及增强层两者的I帧的解码。实际上,基本层及增强层针对单个I帧提 供两个I帧,亦即,增强层I帧Ie及基本层I帧Ib。为此原因,可使用存储器混洗。
为了在来自所述两层的数据均为可用时解码I帧,可实施两遍解码,其大体如以下 来工作。首先,将基本层帧Ib重建为普通I帧。接着,将增强层I帧重建为P帧。用于 重建的增强层P帧的参考帧为重建的基本层I帧。在所得的P帧中,所有运动向量均为 零。因此,解码器28将重建的帧解码为具有零运动向量的P帧,此使可缩放性为透明的。
相较于单个层解码,解码增强层I帧Ie大体相当于常规I帧及P帧的解码时间。如 果I帧的频率不大于每秒一个帧,则额外复杂性并不显著。如果所述频率超过每秒一个I 帧(例如,因场景改变或某种其它原因),则编码算法经配置以确保仅在基本层处编码那 些指定的I帧。
如果Ib及Ie两者同时存在于解码器处是可承受的,则可将Ie存储在与Ib不同的帧缓 冲器。以此方式,当将Ie重建为P帧时,可混洗存储器索引,且可释放由Ib占用的存储 器。解码器28接着基于是否存在增强层位流来处理存储器索引混洗。如果存储器预算过 紧而不可进行此操作,则所述过程可在Ib上覆写Ie(因为所有运动向量均为零)。
在解码I帧(64、66)及存储器混洗(68)后,组合器模块38将基本层及增强层P 帧数据组合到单个层中(70)。反向量化模块46及反向变换模块48接着解码单个P帧层 (72)。另外,反向量化模块46及反向变换模块48解码B帧(74)。
在解码P帧数据(72)及B帧数据(74)后,如果已解码GOP(76)则所述过程即 终止(62)。如果尚未完全解码GOP,则所述过程经由组合基本层及增强层P帧数据(70)、 解码所得的单个层P帧数据(72)及解码B帧(74)的另一迭代来继续。此过程继续, 直到已达到GOP的结束(76)为止,此时所述过程终止。
图6为说明视频解码器28中的基本层及增强层系数的组合的方框图。如图6中所示, 基本层P帧系数(例如)分别通过反向量化模块46及反向变换及预测模块48(图4)而 经受反向量化80及反向变换82,且接着通过加法器84与来自缓冲器86的残留数据(表 示参考帧)求和,以产生解码的基本层P帧输出。然而,如果增强层数据可用,则基本 层系数经受缩放(88),以匹配增强层系数的质量水平。
接着,在加法器90中将用于给定帧的缩放的基本层系数及增强层系数求和,以产生 组合的基本层/增强层数据。组合数据经受反向量化92及反向变换94,且接着通过加法 器96与来自缓冲器98的残留数据求和。输出为组合的解码基本层及增强层数据,其相 对于基本层产生增强的质量水平,但可能仅需要单个层处理。
大体而言,基本层及增强层缓冲器86及98可存储由配置文件规定用于运动补偿用 途的重建的参考视频数据。如果接收到基本层及增强层位流两者,则仅缩放基本层DCT 系数且将所述系数与增强层DCT系数求和便可支持单个层解码,其中针对数据的两个层 仅执行单个反向量化及反向DCT操作。
在一些方面中,可通过简单的位移位操作来完成基本层数据的缩放。举例而言,如 果基本层的量化参数(QP)比增强层的QP大六个水平(亦即,如果QPb-QPe=6),则可 将组合的基本层及增强层数据表示为:
C增强′=Qe -1((C基本<<1)+C增强)
其中C增强′表示在缩放基本层系数C基本且将其加到原始增强层系数C增强后的组合系 数,且Qe -1表示应用于增强层的反向量化操作。
图7为说明视频解码器中的基本层及增强层系数的组合的流程图。如图7中所示, NAL单元模块27(例如)通过对指示NAL单元扩展类型的NAL单元语法元素的参考来 确定订户装置16何时接收基本层视频数据及增强层视频数据两者(100)。如果接收到基 本层及增强层视频数据,则NAL单元模块27也检验给定NAL单元内的一个或一个以上 额外语法元素,以确定每一基本宏块(MB)是否具有任何非零系数(102)。如果具有非 零系数(102的“是”分支),则组合器28将增强层系数转换为用于相应共定位MB的 现有增强层系数加用于共定位MB的按比例增大的基本层系数的总和(104)。
在此情形中,用于反向量化模块46及反向变换模块48的系数为缩放的基本层系数 及增强层系数的总和,其由系数=缩放基本_系数+增强_系数(COEFF=SCALED BASE_COEFF+ENH_COEFF)(104)表示。以此方式,组合器38将增强层及基本层数 据组合到单个层中,以用于视频解码器28的反向量化模块46及反向变换模块48。如果 与增强层共定位的基本层MB并不具有任何非零系数(102的“否”分支),则增强层系 数不与任何基本层系数求和。实情为,用于反向量化模块46及反向变换模块48的系数 为增强层系数,其由系数=增强_系数(COEFF=ENH_COEFF)(108)表示。使用增强 层系数(108)或组合的基本层及增强层系数(104),反向量化模块46及反向变换模块 48解码MB(106)。
图8为说明编码可缩放视频位流以整合各种示范性语法元素来支持低复杂性视频可 缩放性的流程图。可将各种语法元素插入到载运增强层视频数据的NAL单元中,以识别 NAL单元中所载运的数据的类型且传达信息以帮助解码增强层视频数据。大体而言,具 有相关联语义的语法元素可由NAL单元模块23来产生,且在从广播服务器12传输到订 户16前插入在NAL单元中。作为一个实例,NAL单元模块23可将NAL单元中的NAL 单元类型参数(例如,nal_单元_类型)设置为一选定值(例如,30),以指示所述NAL 单元为可包括增强层视频数据的专用NAL单元。如本文所描述的其它语法元素及相关联 的值可由NAL单元模块23来产生,以有助于各种NAL单元中载运的增强层视频数据的 处理及解码。一个或一个以上语法元素可包括于包括基本层视频数据的第一NAL单元、 包括增强层视频数据的第二NAL单元或所述两者中,以指示第二NAL单元中存在增强 层视频数据。
以下将更详细地描述语法元素及语义。在图8中,相对于基本层视频及增强层视频 两者的传输说明所述过程。在大多数情形中,将传输基本层视频及增强层视频两者。然 而,由于离传输塔14的距离、干扰或其它因素,一些订户装置16将仅接收载运基本层 视频的NAL单元。然而,从广播服务器12的度来看,会发送基本层视频及增强层视 频,而不考虑一些订户装置16无法接收所述两层。
如图8中所示,来自基本层编码器32及增强层编码器34的编码的基本层视频数据 及编码的增强层视频数据分别由NAL单元模块23所接收且作为有效负载插入到相应 NAL单元中。确切地说,NAL单元模块23在第一NAL单元中插入编码的基本层视频 (110),且在第二NAL单元中插入编码的增强层视频(112)。为了帮助视频解码器28, NAL单元模块23将一值插入到第一NAL单元中,以指示第一NAL单元的NAL单元类 型为含有基本层视频数据的RBSP(114)。另外,NAL单元模块23将一值插入到第二 NAL单元中,以指示第二NAL单元的扩展的NAL单元类型为含有增强层视频数据的 RBSP(116)。所述值可与特定语法元素相关联。以此方式,订户装置16中的NAL单元 模块27可辨别含有基本层视频数据及增强层视频数据的NAL单元,且检测何时应由视 频解码器28起始可缩放视频处理。基本层位流可遵循精确的H.264格式,而增强层位流 可在NAL单元标头中包括增强的位流语法元素,例如“扩展_nal_单元_类型” (extended_nal_unit_type)。从视频解码器28的角度来看,NAL单元标头中的语法元素 (例如,“扩展旗标”)指示增强层位流且触发由视频解码器进行的适当处理。
如果增强层数据包括帧内编码(I)数据(118),则NAL单元模块23将语法元素值 插入到第二NAL单元中,以指示增强层数据中存在帧内数据(120)。以此方式,NAL 单元模块27可将信息发送到视频解码器28,以指示第二NAL单元中的增强层视频数据 的帧内处理是必要的,假定第二NAL单元由订户装置16可靠地接收。在任一情形中, 无论增强层是否包括帧内数据(118),NAL单元模块23也将语法元素值插入到第二NAL 单元中,以指示是否应在像素域或变换域中执行基本层视频数据及增强层视频数据的相 加(122),这取决于增强层编码器34所规定的域。
如果增强层中存在残留数据(124),则NAL单元模块23将值插入到第二NAL单元 中,以指示增强层中存在残留信息(126)。在任一情形中,无论是否存在残留数据,NAL 单元模块23也将一值插入到第二NAL单元中,以指示第二NAL单元中所载运的参数集 的范围(128)。如图8中进一步所示,NAL单元模块23也将一值插入到第二NAL单元 (亦即,载运增强层视频数据的NAL单元)中,以识别具有大于一的非零系数的任何帧 内编码区块(例如,宏块(MB))(130)。
另外,NAL单元模块23将一值插入到第二NAL单元中,以指示用于由第二NAL 单元载运的增强层视频数据中的帧间编码区块的编码区块模式(CBP)(132)。具有超过 一的非零系数的帧内编码区块的识别及用于帧间编码区块模式的CBP的指示帮助订户装 置16中的视频解码器28执行可缩放视频解码。确切地说,为了解码的目的,NAL单元 模块27检测各种语法元素,且将命令提供到熵解码器40及组合器38以有效地处理基本 层及增强层视频数据。
作为一实例,NAL单元中的增强层数据的存在可由语法元素“nal_单元_类型”来 指示,所述语法元素指示一专用NAL单元,针对其规定特定解码过程。H.264的未规定 范围内的nal_单元_类型的值(例如,30的值)可用以指示NAL单元是专用NAL单元。 NAL单元标头中的语法元素“扩展_旗标”(extension_flag)指示专用NAL单元包括扩 展的NAL单元RBSP。因此,nal_单元_类型及扩展_旗标可一起指示NAL单元是否包括 增强层数据。语法元素“扩展_nal_单元_类型”(extended_nal_unit_type)指示NAL单 元中所包括的增强层数据的特定类型。
视频解码器28是否应使用像素域或变换域相加的指示可由增强片标头“增强_片_ 标头”(enh_slice_header)中的语法元素“解码_模式_旗标”(decoding_mode_flag) 来指示。可由语法元素“细化_帧内_宏块_旗标”(refine_intra_mb_flag)来提供增强层 中是否存在帧内编码数据的指示。具有非零系数的帧内区块及帧内CBP的指示可由例如 以下语法元素来指示:用于增强层宏块层(增强_宏块_层(enh_macroblock_layer))中的 帧内16×16MB的“增强_帧内16×16_宏块_cbp()”(enh_intra16×16_macroblock_cbp ())及用于增强_宏块_层中的帧内4×4模式的“编码_区块_模式”(coded_block_pattern)。 可由增强_宏块_层中的语法元素“增强_编码_区块_模式”(enh_coded_block_pattern) 来指示帧间CBP。尽管为了说明的目的而提供了语法元素的特定名称,但语法元素的特 定名称可经受变化。因此,不应认为所述名称限制了与所述语法元素相关联的函数及指 示。
图9为说明解码可缩放视频位流以处理各种示范性语法元素来支持低复杂性视频可 缩放性的流程图。图9中所示的解码过程在其强调接收的增强层NAL单元中的各种语法 元素的处理的意义上大体与图8中所示的编码过程彼此相反。如图9中所示,在接收器/ 解调器26接收到NAL单元(134)后,NAL单元模块27即确定NAL单元是否包括一 指示NAL单元含有增强层视频数据的语法元素值(136)。如果不包括所述语法元素值, 则解码器28仅应用基本层视频处理(138)。然而,如果NAL单元类型指示增强层数据 (136),则NAL单元模块27分析所述NAL单元,以检测与增强层视频数据相关联的其 它语法元素。额外语法元素帮助解码器28提供基本层及增强层视频数据两者的有效及有 序解码。
举例而言,NAL单元模块27(例如)通过检测相关的语法元素值的存在来确定NAL 单元中的增强层视频数据是否包括帧内数据(142)。另外,NAL单元模块27剖析NAL 单元以检测语法元素,所述语法元素指示是否指示了基本层与增强层的像素域或变换域 相加(144)、是否指示了增强层中存在残留数据(146),及是否指示了参数集及参数集 的范围(148)。NAL单元模块27也检测在增强层中识别具有大于一的非零系数的帧内 编码区块(150)的语法元素,及指示在增强层视频数据中的用于帧间编码区块的CBP (152)的语法元素。基于由语法元素所提供的确定,NAL单元模块27将适当指示提供 到视频解码器28,用于在解码基本层及增强层视频数据时使用(154)。
在图8及图9的实例中,增强层NAL单元可载运具有各种增强层指示的语法元素, 以帮助视频解码器28处理NAL单元。作为实例,各种指示可包括NAL单元是否包括帧 内编码增强层视频数据的指示、解码器是否应使用增强层视频数据与基本层数据的像素 域或变换域相加的指示,及/或增强层视频数据是否相对于基本层视频数据包括任何残留 数据的指示。作为另外的实例,增强层NAL单元也可载运语法元素,所述语法元素指示 NAL单元是否包括序列参数、图片参数集、参考图片的片,或参考图片的片数据分区。
其它语法元素可识别增强层视频数据内含有非零变换系数值的区块、指示增强层视 频数据中的帧内编码区块中具有大于一的量值的非零系数的数目,及指示用于增强层视 频数据中的帧间编码区块的编码区块模式。又,不应认为图8及图9中所提供的实例为 限制。可在增强层NAL单元中提供许多额外语法元素及语义,以下将论述其中的一些。
现在将通过对适用语义的论述来更详细地描述增强层语法的实例。在一些方面中, 如上所述,可在编码及/或解码多媒体数据(包括基本层视频数据及增强层视频数据)时 使用NAL单元。在所述情况下,增强层NAL单元的一般语法及结构可与H.264标准相 同。然而,所属领域的技术人员将了解可使用其它单元。或者,可能引入新的NAL单元 类型(nal_单元_类型)值,其规定了增强层NAL单元中所含有的原始位序列有效负载 (RBSP)数据结构的类型。
大体而言,本发明中所描述的增强层语法的特征可为低额外开销语义及低复杂性(例 如,通过单个层解码)。增强宏块层语法的特征可为高压缩效率,且可使用用于增强层帧 内MB的上下文适应性可变长度编码(CAVLC)编码表来规定用于增强层帧内_16×16编 码区块模式(CBP)、增强层帧间MB CBP及新熵解码的语法元素。
针对低额外开销,片及MB语法规定了增强层片对共定位的基本层片的关联性。可 在基本层语法中传达宏块预测模式及运动向量。可从共定位的基本层MB模式导出增强 MB模式。视共定位的基本层MB CBP而定,可以两种不同方式来解码增强层MB编码 区块模式(CBP)。
为了实现低复杂性,可通过仅组合基本层及增强层位流的操作来完成单个层解码, 以降低解码器复杂性及功率消耗。在此情况下,可(例如)通过乘以一比例因子而将基 本层系数转换成增强层比例,所述相乘可通过基于基本层与增强层之间的量化参数(QP) 差的位移位来完成。
又,为了实现低复杂性,可提供语法元素细化_帧内_宏块_旗标以指示增强层P片中 存在帧内MB。默认设置可为设置值细化_帧内_宏块_旗标=0,以启用单个层解码。在 此情况下,不存在用于增强层处的帧内MB的细化。即使以基本层质量来编码帧内MB, 此也不会负面影响视觉质量。确切地说,帧内MB通常对应于新出现的视觉信息,且人 眼最初对其并不敏感。然而,仍可提供细化_帧内_宏块_旗标=1以用于扩展。
为了实现高压缩效率,可提供增强层帧内16×16MB CBP,以便基于基本层亮度帧内 _16×16预测模式来定义增强层帧内16×16系数的分区。视共定位的基本层MB cbp而定, 可以两种不同方式来解码增强层帧内_16×16MB cbp。在基本层AC系数并非全部为零的 情况1中,根据H.264来解码增强层帧内_16×16CBP。可提供语法元素(例如,“基本层 Ac系数全部为零”(BaseLayerAcCoefficentsAllZero))作为指示基本层片中的对应宏块的 所有AC系数是否均为零的旗标。在基本层AC系数全部为零的情况2中,可提供新的方 法来传达帧内_16×16 cbp。确切地说,视基本层亮度帧内_16×16预测模式而定,将增强 层MB分割成4个子MB分区。
可提供增强层帧间MB CBP以规定六个8×8区块(亮度及色度)中的哪一者含有非 零系数。视共定位的基本层MB CBP而定,可以两种不同方式来解码增强层MB CBP。 在共定位的基本层MB CBP(基本_编码_区块_模式(base_coded_block_pattern)或基本 _cbp(base_cbp))为零的情况1中,根据H.264来解码增强层MB CBP(增强_编码_区 块_模式(enh_coded_block_pattern)或增强_cbp(enh_cbp))。在基本_编码_区块_模式不 等于零的情况2中,可提供传达增强_编码_区块_模式的新方法。对于具有非零系数的基 本层8×8,使用一个位来指示共定位的增强层8×8是否具有非零系数。由可变长度编码 (VLC)来表示其它8×8区块的状态。
作为进一步细化,可提供用于增强层帧内MB的新熵解码(CAVLC表),以表示增 强层帧内MB中的非零系数的数目。倘若不存在具有大于1的量值的系数,则语法元素 增强_系数_令牌(enh_coeff_token)0~16可表示从0到16的非零系数的数目。语法元素 增强_系数_令牌17表示存在具有大于1的量值的至少一个非零系数。在此情况中(增强 _系数_令牌17),将使用标准方法来解码非零系数的总数目及尾随一的系数的数目。基 于上下文使用八个VLC表中的一者来解码增强_系数_令牌(0~16)。
在本发明中,将如H.264标准的条款4中所规定的来解释各种缩写。可如H.264标 准的条款5中所规定的来解释惯例,且可如H.264标准的条款6中所规定的来解释源、 编码、解码及输出数据格式、扫描过程及相邻关系。
另外,为了本说明书的目的,以下定义可适用。术语“基本层”大体指代一位流, 所述位流含有表示由本说明书所定义的第一水平的空间-时间SNR可缩放性的编码视频 数据。基本层位流为可由H.264标准的任何适应性扩展简档解码器解码的。语法元素“基 本层Ac系数全部为零”为一变量,当所述变量不等于0时,指示基本层中的共定位的宏 块的所有AC系数均为零。
语法元素“基本层帧内16×16预测模式”(BaseLayerIntra16×16PredMode)为一变量, 其指示基本层中的共定位帧内_16×16预测宏块的预测模式。语法元素“基本层帧内16×16 预测模式”具有值0、1、2或3,所述值分别对应于帧内_16×16_垂直(Intra_16×16_Vertical)、 帧内_16×16_水平(Intra_16×16_Horizontal)、帧内_16×16_DC(Intra_16×16_DC)及帧内 _16×16_平面(Intra_16×16_Planar)。此变量等于如H.264标准的条款8.3.3中所规定的变 量“帧内16×16预测模式”。语法元素“基本层宏块类型”(BaseLayerMbType)为一变量, 其指示基本层中的共定位宏块的宏块类型。此变量可等于如H.264标准的条款7.3.5中所 规定的语法元素宏块_类型(mb_type)。
术语“基本层片”(或基本_层_片)指代按照H.264标准的条款7.3.3所编码的片, 其具有如本发明中的规定所编码的对应增强层片,其具有与H.264标准的条款8.2.1中所 定义的相同的图片次序计数。元素“基本层片类型”(或基本_层_片_类型)为一变量, 其指示基本层中的共定位片的片类型。此变量等于如H.264标准的条款7.3.3中所规定的 语法元素片_类型。
术语“增强层”大体指代含有表示第二水平的空间-时间SNR可缩放性的编码视频 数据的位流。增强层位流为仅可结合基本层来解码的,亦即,增强层位流含有对解码基 本层视频数据的参考,所述参考用以产生最终解码视频数据。
四分之一宏块指代由分割宏块所产生的宏块的四分之一的样本。此定义类似于H.264 标准中的子宏块的定义,除了四分之一宏块可具有非正方形(例如,矩形)形状外。术 语“四分之一宏块分区”指代由帧间预测或帧内细化的四分之一宏块的分割所产生的亮 度样本的一区块及色度样本的两个对应区块。此定义可与H.264标准中的子宏块分区的 定义等同,除了本说明书引入术语“帧内细化”外。
术语“宏块分区”指代由用于帧间预测或帧内细化的宏块的分割所产生的亮度样本 的一区块及色度样本的两个对应区块。此定义与H.264标准中的定义等同,除了本发明 中引入术语“帧内细化”外。又,本说明书中所定义的宏块分区的形状可与H.264标准 的宏块分区的形状不同。
增强层语法
RBSP语法
以下表1提供了用于低复杂性视频可缩放性的RBSP类型的实例。
表1
原始字节序列有效负载及RBSP尾随位
  RBSP   描述   序列参数集RBSP   仅在基本层处发送序列参数集   图片参数集RBSP   仅在基本层处发送图片参数集   片数据分区RBSP语法   增强层片数据分区RBSP语法遵循H.264标准。
如以上指示,增强层RBSP的语法可与标准相同,除了可在基本层处发送序列参数 集及图片参数集外。举例而言,在增强层中所编码的序列参数集RBSP语法、图片参数 集RBSP语法及片数据分区RBSP可具有如ITU-T H.264标准的条款7中所规定的语法。
在本发明中的各种表中,就H.264标准中描述所述语法元素的程度而言,所有语法 元素均可具有ITU-T H.264标准中所指示的相关语法及语义,除非另作规定。大体而言, 本发明中描述了H.264标准中未描述的语法元素及语义。
在本发明中的各种表中,标记“C”的列中列出了可在NAL单元中存在的语法元素 的种类,其可遵照H.264标准中的种类。另外,如由RBSP数据结构的语法及语义所确 定,可存在具有语法种类“全部”的语法元素。
由相关联的RBSP数据结构的语法及语义来确定特定列出种类的任何语法元素的存 在或缺乏。描述符列规定了一描述符,例如,f(n)、u(n)、b(n)、ue(v)、se(v)、me(v)、ce(v), 其可大体遵照H.264标准中所规定的描述符,除非本发明中另作规定。
扩展的NAL单元语法
根据本发明的一方面,用于视频可缩放性的扩展的NAL单元的语法可大体如以下表 2中所规定。
表2
用于扩展的NAL单元语法
nal_unit(NumBytesInNALunit){   C   描述符     forbidden_zero_bit   全部   f(1)     nal_ref_idc   全部   u(2)     nal_unit_type/*equal to 30*/   全部   u(5) reserved_zero_1bit   全部   u(1) extension_flag   全部   u(1) if(!extension_flag){ enh_profile_idc   全部   u(3) reserved_zero_3bits   全部   u(3) } else {   extended_nal_unit_type   全部   u(6)   NumBytesInRBSP=0   for(i=1;i<NumBytesInNALunit;i++){       if(i+2<NumBytesInNALunit && next_bits(24)== 0x000003){           rbsp_byte[NumBytesInRBSP++]   全部   b(8)           rbsp_byte[NumBytesInRBSP++]   全部   b(8)           i+=2           emulation_prevention_three_byte/*equal to 0×03*/ 全部  f(8)       }else           rbsp_byte[NumBytesInRBSP++]   全部   b(8)      }    }  }
在以上表2中,将值nal_单元_类型设置为30以指示用于增强层处理的特定扩展。 当将nal_单元_类型设置为一选定值(例如,30)时,NAL单元指示其载运增强层数据, 从而触发通过解码器28进行的增强层处理。nal_单元_类型值提供唯一、专用nal_单元_ 类型,以支持在标准H.264位流的顶部上的额外增强层位流语法修改的处理。作为一实 例,可向此nal_单元_类型值指定一值30,以指示NAL单元包括增强层数据且触发NAL 单元中可存在的额外语法元素的处理,所述元素例如是扩展_旗标及扩展_nal_单元_类型。 举例而言,将语法元素扩展_nal_单元_类型设置为一值以规定扩展的类型。确切地说,扩 展_nal_单元_类型可指示增强层NAL单元类型。元素扩展_nal_单元_类型可指示NAL单 元中的增强层数据的RBSP数据结构的类型。对于B片,片标头语法可遵循H.264标准。 将在本发明中更详细地描述适用语义。
片标头语法
对于增强层处的I片及P片,可如以下表3A中以下所示来定义片标头语法。可从共 定位的基本层片来导出包括参考帧信息的用于增强层片的其它参数。
表3A
片标头语法
enh_slice_header(){   C   描述符    first_mb_in_slice   2   ue(v)    enh_slice_type   2   ue(v)      pic_parameter_set_id   2   ue(v)    frame_num   2   u(v)    If(pic_order_cnt_type==0){        pic_order_cnt_lsb   2   u(v)        if(pic_order_present_flag && !field_pic_flag)            delta_pic_order_cnt_bottom   2   ue(v)    }    If(pic_order_cnt_type==1  &&!delta_pic_order_always_zero_flag){         delta_pic_order_cnt[0]   2   se(v)         if(pic_order_present_flag  &&!field_pic_flag)             delta_pic_order_cnt[1]   2   se(v)    }      if(redundant_pic_cnt_present_flag)          redundant_pic_cnt   2   ue(v)      decoding_mode   2   ue(v)      if(base_layer_slice_type!=I)        refine_intra_MB   2   f(1)      slice_qp_delta   2   se(v) }
元素基本_层_片可指代一片,其(例如)按照H.264标准的条款7.3.3而经编码,且 其具有按照表2所编码的对应增强层片,其具有与(例如)在H.264标准的条款8.2.1中 所定义的相同的图片次序计数。元素基本_层_片_类型指代基本层的片类型(例如,如 H.264标准的条款7.3中所规定)。从共定位的基本层片来导出包括参考帧信息的用于增 强层片的其它参数。
在片标头语法中,细化_帧内_宏块(refine_intra_MB)指示NAL单元中的增强层视 频数据是否包括帧内编码视频数据。如果细化_帧内_宏块为0,则帧内编码仅存在于基 本层处。因此,可跳过增强层帧内解码。如果细化_帧内_宏块为1,则帧内编码视频数 据存在于基本层及增强层两者处。在此情况中,可处理增强层帧内数据以增强基本层帧 内数据。
片数据语法
可如以下表3B中所规定而提供实例片数据语法。
表3B
片数据语法
enh_slice_data(){  C   描述符     CurrMbAddr=first_mb_in_slice     moreDataFlag=1      do{             if(moreDataFlag){             if(BaseLayerMbType!=SKIP && (refine_intra_mb_flag‖               (BaseLayerSliceType!=I && BaseLayerMbType!=I)) )                    enh_macroblock_layer()         }            CurrMbAddr=NextMbAddress(CurrMbAddr)            moreDataFlag=more_rbsp_data()     }while(moreDataFlag) }
宏块层语法
可如以下表4中所指示而提供用于增强层MB的实例语法。
表4
增强层MB语法
enh_macroblock_layer(){  C   描述符     if(MbPartPredMode(BaseLayerMbType,0)==Intra_16×16){       enh_intra16×16_macroblock_cbp()       if(mb_intra16×16_luma_flag‖mb_intra16×16_chroma_flag){           mb_qp_delta  2   se(v)         enh_residual()  3|4       }     }
   else if(MbPartPredMode(BaseLayerMbType,0)==Intra_4×4){           coded_block_pattern   2   me(v)         if(CodedBlockPatternLuma>0‖CodedBlockPatternChroma>0){             mb_qp_delta           enh_residual()         }     }     else{         enh_coded_block_pattern   2   me(v)         EnhCodedBlockPatternLuma=enh_coded_block_pattern%16         EnhCodedBlockPatternChroma=enh_coded_block_pattern/16         if(EnhCodedBlockPatternLuma>0‖ EnhCodedBlockPatternChroma>0)       {              mb_qp_delta   2   se(v)            residual()              /*Standard compliant syntax as specified in clause 7.3.5.3[1] */       }    } }
针对对应基本_层_片中的对应宏块,从基本层宏块层来导出用于增强宏块层的其它 参数。
在以上表4中,语法元素增强_编码_区块_模式大体指示增强层MB中的增强层视频 数据是否相对于基本层数据包括任何残留数据。针对对应基本_层_片中的对应宏块,从 基本层宏块层来导出用于增强宏块层的其它参数。
帧内宏块编码区块模式(CBP)语法
对于帧内4×4MB,CBP语法可与H.264标准相同(例如,如H.264标准的条款7 中)。对于帧内16×16MB,可如以下表5中所指示而提供用以编码CBP信息的新语法。
表5
帧内16×16宏块CBP语法
enh_intra16×16_macroblock_cbp(){   C   描述符     mb_intra16×16_luma_flag   2   u(1)     if(mb_intra16×16_luma_flag){        if(BaseLayerAcCoefficientsAllZero)            for(mbPartIdx=0;mbPartIdx<4;mbPartIdx++){                mb_intra16×16_luma_part_flag[mbPartIdx]   2   u(1)                if(mb_intra16×16_luma_part_flag[mbPartIdx])                  for(qtrMbPartIdx=0;qtrMbPartIdx<4;qtrMbPartIdx++)                    qtr_mb_intra16×16_luma_part_flag [mbPartIdx][qtrMbPartIdx]   2   u(1)
enh_intra16×16_macroblock_cbp(){   C   描述符     mb_intra16×16_chroma_flag   2   u(1)     if(mb_intra16×16_chroma_flag){        mb_intra16×16_chroma_ac_flag   2   u(1) }
残留数据语法
用于增强层中的帧内编码MB残留的语法(亦即,增强层残留数据语法)可如以下 表6A中所指示。对于帧间编码MB残留,语法可遵照H.264标准。
表6A
帧内编码MB残留数据语法
enh_residual(){   C   描述符   if(MbPartPredMode(BaseLayerMbType,0)==Intra_16×16)     enh_residual_block_cavlc(Intra16×16DCLevel,16)   3   for(mbPartIdx=0;mbPartIdx<4;mbPartIdx++)     for(qtrMbPartIdx=0;qtrMbPartIdx<4;qtrMbPartIdx++)       if(MbPartPredMode(BaseLayerMbType,0)==Intra_16×16 && BaseLayerAcCoefficientsAllZero){        if(mb_intra16×16_luma_part_flag[mbPartIdx] && qtr_mb_intra16×16_luma_part_flag[mbPartIdx][qtrMbPartIdx] ) enh_residual_block_cavlc(Intra16×16ACLevel[mbPartIdx*4+ qtrMbPartIdx],15)   3        else          for(i=0;i<15;i++)             Intra16×16ACLevel[mbPartIdx*4+qtrMbPartIdx][i]=0        else if(EnhCodedBlockPatternLuma&(1<<mbPartIdx)){          if(MbPartPredMode(BaseLayerMbType,0)== Intra_16×16)             enh_residual_block_cavlc( Intra16×16ACLevel[mbPartIdx*4+qtrMbPartIdx],15)   3        else enh_residual_block_cavlc(LumaLevel[mbPartIdx*4+qtrMbPartIdx], 16)   3|4       }else{        if(MbPartPredMode(BaseLayerMbType,0)==Intra_16×16)          for(i=0;i<15;i++)   Intra16×16ACLevel[mbPartIdx*4+qtrMbPartIdx][i]=0
         else            for(i=0;i<16;i++)              LumaLevel[mbPartIdx*4+qtrMbPartIdx][i]=0       }   for(iCbCr=0;iCbCr<2;iCbCr++)     if(EnhCodedBlockPatternChroma & 3)/*chroma DC residual present*/       residual_block(ChromaDCLevel[iCbCr],4)   3|4     else       for(i=0;i<4;i++)         ChromaDCLevel[iCbCr][i]=0   for(iCbCr=0;iCbCr<2;iCbCr++)     for(qtrMbPartIdx=0;qtrMbPartIdx<4;qtrMbPartIdx++)       if(EnhCodedBlockPatternChroma & 2)         /*chroma AC residual present*/         residual_block(ChromaACLevel[iCbCr][qtrMbPartIdx],15)   3|4       else         for(i=0;i<15;i++)           ChromaACLevel[iCbCr][qtrMbPartIdx][i]=0 }
针对对应基本层片中的共定位的宏块,从基本层残留来导出用于增强层残留的其它 参数。
残留区块CAVLC语法
用于增强层残留区块上下文适应性可变长度编码(CAVLC)的语法可如以下表6B 中所规定。
表6B
残留区块CAVLC语法
enh_residual_block_cavlc(coeffLevel,maxNumCoeff){   C   描述符     for(i=0;i<maxNumCoeff;i++)         coeffLevel[i]=0     if((MbPartPredMode(BaseLayerMbType,0)==Intra_16×16 && mb_intra16×16_luma_flag)‖ (MbPartPredMode(BaseLayerMbType,0)==Intra_4×4 && CodedBlockPatternLuma){     enh_coeff_token   3|4   ce(v)   if(enh_coeff_token==17){ /*  Standard compliant syntax as specified in clause 7.3.5.3.1 of H.264 */    }   else{
    if(TotalCoeff(enh_coeff_token)>0){      for(i=0;i<TotalCoeff(enh_coeff_token);i++)           enh_coeff_sign_flag[i]   3|4   u(1)           level[i]=1-2*enh_coeff_sign_flag           if(TotalCoeff(enh_coeff_token)<maxNumCoeff){             total_zeros   3|4   ce(v)             zerosLeft=total_zeros           }else             zerosLeft=0           for(i=0;i<Totalcoeff(enh_coeff_token)-1;i++){             if(zerosLeft>0){               run_before   3|4   ce(v)               run[i]=run_before             }else               run[i]=0             zerosLeft=zerosLeft-run[i]         }         run[TotalCoeff(enh_coeff_token)-1]=zerosLeft         coeffNum=-1         for(i=TotalCoeff(enh_coeff_token)-1;i>=0;i--){          coeffNum+=run[i]+1          coeffLevel[coeffNum]=level[i]         }      }     }else{ /*  Standard compliant syntax as specified in clause 7.3.5.3.1 of H.264 */     } }
可针对对应基本层片中的共定位的宏块,从基本层残留区块CAVLC来导出用于增强 层残留区块CAVLC的其它参数。
增强层语义
现在将描述增强层语义。增强层NAL单元的语义可大致与针对H.264标准中所规定 的语法元素由H.264标准所规定的NAL单元的语法相同。H.264标准中未描述的新语法 元素具有本发明中所描述的适用语义。增强层RBSP及RBSP尾随位的语义可与H.264 标准相同。
扩展的NAL单元语义
参看以上表2,禁用_零_位(forbidden_zero_bit)如H.264标准规范的条款7中所规 定。不等于0的值nal_ref_idc规定扩展的NAL单元的内容含有序列参数集,或图片参数 集,或参考图片的片,或参考图片的片数据分区。对于含有片或片数据分区的扩展的NAL 单元的等于0的值nal_ref_idc指示片或片数据分区为非参考图片的一部分。对于序列参 数集或图片参数集NAL单元,nal_ref_idc的值不应等于0。
当nal_ref_idc对于特定图片的一个片或片数据分区扩展的NAL单元等于0时, nal_ref_idc对于所述图片的所有片及片数据分区扩展的NAL单元应等于0。如以下表7 中指示,对于IDR扩展的NAL单元(亦即,具有等于5的扩展_nal_单元_类型的NAL 单元),值nal_ref_idc不应等于0。另外,如以下表7中指示,对于具有等于6、9、10、 11或12的扩展_nal_单元_类型的所有扩展的NAL单元,nal_ref_idc应等于0。
在H.264的“未规定”的范围内,值nal_单元_类型具有值30以指示专用NAL单 元,在本发明中规定了用于其的解码过程。不等于30的值nal_单元_类型如H.264标准 的条款7中所规定。
值扩展_旗标为一位的旗标。当扩展_旗标为0时,其规定保留随后的6个位。当扩 展_旗标为1时,其规定此NAL单元含有扩展的NAL单元RBSP。
保留的值或保留_零_1位(reserved_zero_1bit)为待用于未来对对应于30的nal_单 元_类型的应用的扩展的一位的旗标。值增强_简档_idc(enh_profile_idc)指示位流所遵 照的简档。值保留_零_3位(reserved_zero_3bits)为保留用于未来使用的3位字段。
值扩展_nal_单元_类型如以下表7中所规定:
表7
扩展的NAL单元类型代码
  扩展_nal_单元_类型  扩展的NAL单元及RBSP语法结构的内容  C   0  未规定   1  非IDR图片的编码片  片_层_无_分割_rbsp()  2,3,4   2  编码片数据分区A  片_数据_分区_a_层_rbsp()  2   3  编码片数据分区B  片_数据_分区_b_层_rbsp()  3   4  编码片数据分区C  片_数据_分区_c_层_rbsp()  4   5  IDR图片的编码片  片_层_无_分割_rbsp()  2,3   6  补充的增强信息(SEI)  sei_rbsp()  5   7  序列参数集  序列_参数_集_rbsp()  0   8  图片参数集  图片_参数_集_rbsp()  1
 9   存取单元定界符   存取_单元_定界符_rbsp()  6  10..23   保留  24..63   未规定
使用等于0或在24…63(包括24及63)的范围的扩展_nal_单元_类型的扩展的NAL 单元并不影响本发明中所描述的解码过程。可如本申请案所确定而使用扩展的NAL单元 类型0及24…63。未规定nal_单元_类型的这些值(0及24…63)的解码过程。在此实例 中,解码器可忽略(亦即,从位流移除及丢弃)使用扩展_nal_单元_类型的保留值的所有 扩展的NAL单元的内容。此潜在要求允许对兼容扩展的未来定义。值rbsp_字节 (rbsp_byte)及竞争_阻止_三_字节(emulation_prevention_three_byte)为如H.264标准规 范的条款7中所规定。
RBSP语义
增强层RBSP的语义如H.264标准规范的条款7中所规定。
片标头语义
对于片标头语义,语法元素片_中_第一_宏块(first_mb_in_slice)规定了片中的第一 宏块的地址。当不允许任意片次序时,片_中_第一_宏块的值将不小于当前图片的任何其 它片(其在解码次序上在当前片之前)的片_中_第一_宏块的值。可如下导出片的第一宏 块地址。值片_中_第一_宏块为片中的第一宏块的宏块地址,且片_中_第一_宏块在0到 “兆字节图片尺寸”-1(PicSizeInMbs-1)(包括0及“兆字节图片尺寸”-1)的范围内, 其中“兆字节图片尺寸”为图片中的兆字节的数目。
根据以下表8,元素增强_片_类型规定了片的编码类型。
表8
对增强_片_类型的值的名称关联性
  增强_片_类型   增强_片_类型的名称   0   P(P片)   1   B(B片)   2   I(I片)   3   SP(SP片)或未使用的   4   SI(SI片)或未使用的   5   P(P片)   6   B(B片)   7   I(I片)   8   SP(SP片)或未使用的   9   SI(SI片)或未使用的
在5到9的范围内的增强_片_类型的值除了当前片的编码类型外还规定了当前编码 图片的所有其它片具有等于增强_片_类型的当前值或等于片_类型-5的当前值的增强_片 _类型的值。在替代方面中,可能并未使用增强_片_类型值3、4、8及9。当扩展_nal_单 元_类型等于5时(对应于瞬时解码刷新(IDR)图片),片_类型可等于2、4、7或9。
将语法元素图片_参数_集_id规定为对应基本_层_片的图片_参数_集_id。增强层 NAL单元中的元素帧_数(frame_num)将与基本层共定位片相同。类似地,增强层NAL 单元中的元素图片_次序_cnt_lsb(pic_order_cnt_lsb)将与基本层共定位片(基本_层_片) 的图片_次序_cnt_lsb相同。用于增量_图片_次序_cnt_底(delta_pic_order_cnt_bottom)、 用于增量_图片_次序_cnt[0]、增量_图片_次序_cnt[1]的语义及残留_图片_cnt (redundant_pic_cnt)语义如H.264标准的条款7.3.3中所规定。如以下表9中所示,元素 解码_模式_旗标(decoding_mode_flag)规定了用于增强层片的解码过程。
表9
解码_模式_旗标的规范
  解码_模式_旗标   过程   0   像素域相加   1   系数域相加
在以上表9中,像素域相加(其由NAL单元中的解码_模式_旗标值0所指示)意味 着增强层片将在像素域中加到基本层片以支持单个层解码。系数域相加(其由NAL单元 中的解码_模式_旗标值1所指示)意味着增强层片可在系数域中加到基本层片以支持单 个层解码。因此,解码_模式_旗标提供一语法元素,所述语法元素指示解码器是否应使 用增强层视频数据与基本层数据的像素域或变换域相加。
像素域相加导致将增强层片加到像素域中的基本层片,如下:
Y[i][j]=Clip1Y(Y[i][j]基本+Y[i][j]增强)
Cb[i][j]=Clip1C(Cb[i][j]基本+Cb[i][j]增强)
Cr[i][j]=Clip1C(Cr[i][j]基本+Cr[i][j]增强)
其中Y指示亮度、Cb指示蓝色度,且Cr指示红色度,且其中片1Y为如下的数学 函数:
Clip1Y(x)=Clip3(0,(1<<位深度Y)-1,x)
且Clip1C为如下的数学函数:
Clip1C(x)=Clip3(0,(1<<位深度C)-1,x),
且其中在本文档中的别处描述了Clip3。在H.264标准中定义了数学函数Clip1y、 Clip1c及Clip3。
系数域相加导致将增强层片在系数域中加到基本层片,如下:
亮度水平[i][j]=k亮度水平[i][j]基本+亮度水平[i][j]增强
色度水平[i][j]=k色度水平[i][j]基本+色度水平[i][j]增强
其中k为用以将基本层系数调整到增强层QP比例的比例因子。
增强层NAL单元中的语法元素细化_帧内_宏块规定是否在非I片中的增强层处细化 帧内MB。如果细化_帧内_宏块等于0,则不在增强层处细化帧内MB且将在增强层中跳 过那些MB。如果细化_帧内_宏块等于1,则在增强层处细化帧内MB。
元素片_量化参数_增量(slice_qp_delta)规定了亮度量化参数QPY的初始值,其将 用于片中的所有宏块,直到由宏块层中的宏块_量化参数_增量(mb_qp_delta)的值修改 为止。将用于片的初始QPY量化参数计算为:
片QPY=26+图片_初始_量化参数_减去26+片_量化参数_增量
可限制片_量化参数_增量的值,使得QPY在0到51(包括0及51)的范围内。值图 片_初始_量化参数_减去26指示初始QP值。
片数据语义
增强层片数据的语义可如H.264标准的条款7.4.4中所规定。
宏块层语义
相对于宏块层语义,元素增强_编码_区块_模式规定了六个8×8区块(亮度及色度) 中的哪一者可能含有非零变换系数水平。元素宏块_量化参数_增量语义可如H.264标准 的条款7.4.5中所规定。用于语法元素编码_区块_模式的语义可如H.264标准的条款7.4.5 中所规定。
帧内16×16宏块编码区块模式(CBP)语义
对于当细化_帧内_宏块_旗标等于1时的I片及P片,以下描述定义了帧内16×16CBP 语义。可将其共定位基本层宏块预测模式等于帧内_16×16的宏块分割成4个四分之一宏 块,此视宏块的AC系数的值及共定位基本层宏块的帧内_16×16预测模式(“基本层帧内 16×16预测模式”)而定。如果基本层AC系数全部为零且至少一个增强层AC系数为非 零的,则将增强层宏块划分成4个宏块分区,此视“基本层帧内16×16预测模式”而定。
宏块分割导致称作四分之一宏块的分区。可将每一四分之一宏块进一步分割成4×4 四分之一宏块分区。图10及图11为说明宏块及四分之一宏块的分割的图。图10展示了 基于基本层帧内_16×16预测模式的增强层宏块分区及其对应于空间位置的索引。图11 展示了基于图10中所指示的宏块分区的增强层四分之一宏块分区及其对应于空间位置 的索引。
图10展示了:具有4个MB分区的帧内_16×16_垂直模式,每一分区具有4*16个亮 度样本及对应的色度样本;具有4个宏块分区的帧内_16×16_水平模式,每一分区具有 16*4个亮度样本及对应的色度样本;及具有4个宏块分区的帧内_16×16_DC或帧内 _16×16_平面模式,每一分区具有8*8个亮度样本及对应的色度样本。
图11展示了:4个四分之一宏块垂直分区,每一分区具有4*4亮度样本及对应的色 度样本;4个四分之一宏块水平分区,每一分区具有4*4亮度样本及对应的色度样本; 及4个四分之一宏块DC或平面分区,每一分区具有4*4亮度样本及对应的色度样本。
由“宏块分区Idx”(mbPartIdx)来指代每一宏块分区。由“四分之一宏块Idx” (qtrMbPartIdx)来指代每一四分之一宏块分区。“宏块分区Idx”及“四分之一宏块Idx” 两者可具有等于0、1、2或3的值。如图10及图11中所示,针对帧内细化来扫描宏块 及四分之一宏块分区。矩形指代分区。每一矩形中的数字规定了宏块分区扫描或四分之 一宏块分区扫描的索引。
等于1的元素宏块_帧内16×16_亮度_旗标规定帧内16×16AC水平中的至少一个系数 为非零的。等于0的帧内16×16_亮度_旗标规定帧内16×16AC水平中的所有系数均为零。
等于1的元素宏块_帧内16×16_亮度_分区_旗标[宏块分区Idx]规定宏块分区“宏块 分区Idx”中的帧内16×16AC水平中存在至少一个非零系数。等于0的宏块_帧内16×16_ 亮度_分区_旗标[宏块分区Idx]规定宏块分区“宏块分区Idx”中的帧内16×16AC水平中 的所有系数均为零。
等于1的元素四分之一_宏块_帧内16×16_亮度_分区_旗标[宏块分区Idx][四分之一 宏块分区Idx]规定在四分之一宏块分区“四分之一宏块分区Idx”中的帧内16×16AC水 平中存在至少一个非零系数。
等于0的元素四分之一_宏块_帧内16×16_亮度_分区_旗标[宏块分区Idx][[四分之一 宏块分区Idx]规定四分之一宏块分区“四分之一宏块分区Idx”中的帧内16×16AC水平 中的所有系数均为零。等于1的元素宏块_帧内16×16_色度_旗标规定至少一个色度系数 为非零的。
等于0的元素宏块_帧内16×16_色度_旗标规定所有色度系数均为零。等于1的元素 宏块_帧内16×16_色度_AC_旗标规定宏块_色度AC水平中的至少一个色度系数为非零 的。等于0的宏块_帧内16×16_色度_AC_旗标规定宏块_色度AC水平中的所有系数均为 零。
残留数据语义
残留数据的语义可与H.264标准的条款7.4.5.3中所规定的相同,除了本发明中所描 述的残留区块CAVLC语义外。
残留区块CAVLC语义
可如下提供残留区块CAVLC语义。确切地说,增强_系数_令牌规定了变换系数水平 扫描中的非零变换系数水平的总数目。函数总系数(增强_系数_令牌)返回从增强_系数 _令牌所导出的非零变换系数水平的数目,如下:
1.当增强_系数_令牌等于17时,总系数(增强_系数_令牌)如H.264标准的条款 7.4.5.3.1中所规定。
2.当增强_系数_令牌不等于17时,总系数(增强_系数_令牌)等于增强_系数_令 牌。
值增强_系数_符号_旗标规定了非零变换系数水平的符号。总_零语义如H.264标准 的条款7.4.5.3.1中所规定。之前_运行(run_before)语义如H.264标准的条款7.4.5.3.1 中所规定。
用于扩展的解码过程
I片解码
现在将更详细地描述可缩放性扩展的解码过程。为了在来自基本层及增强层两者的 数据为可用时解码I帧,可在解码器28中实施两遍解码。两遍解码过程可大体如先前描 述的且如以下重申的来工作。首先,将基本层帧Ib重建为一平常I帧。接着,将共定位 的增强层I帧重建为一P帧。用于此P帧的参考帧接着为重建的基本层I帧。又,重建 的增强层P帧中的所有运动向量均为零。
当增强层可用时,使用来自基本层中的共定位宏块的模式信息将每一增强层宏块解 码为残留数据。可如H.264标准的条款8而解码基本层I片Ib。在已解码增强层宏块及 其共定位基本层宏块两者后,可应用如H.264标准的条款2.1.2.3中所规定的像素域相加 来产生最终的重建区块。
P片解码
在针对P片的解码过程中,基本层及增强层两者共享同一模式及运动信息,所述信 息在基本层中传输。用于帧间宏块的信息存在于所述两层中。换句话说,属于帧内MB 的位仅存在于基本层处,而在增强层处无帧内MB位,而帧间MB的系数分散于所述两 层上。也跳过具有共定位基本层跳过宏块的增强层宏块。
如果细化_帧内_宏块_旗标等于1,则属于帧内宏块的信息存在于所述两层中,且解 码_模式_旗标必须等于0。否则,当细化_帧内_宏块_旗标等于0时,属于帧内宏块的信 息仅存在于基本层中,且跳过具有共定位基本层帧内宏块的增强层宏块。
根据P片编码设计的一个方面,可在熵解码后及解量化前立即在通用微处理器中组 合帧间MB的两层系数数据,这是因为解量化模块定位于硬件核心中且其与其它模块一 起被管线化。因此,待由DSP及硬件核心处理的MB的总数目仍可与单个层解码情况相 同,且硬件核心仅经受单一解码。在此情况下,可能无需改变硬件核心调度。
图12为说明P片解码的流程图。如图12中所示,视频解码器28执行基本层MB熵 解码(160)。如果当前基本层MB为帧内编码MB或被跳过(162),则视频解码器28进 行到下一基本层MB 164。然而,如果MB未经帧内编码或跳过,则视频解码器28执行 针对共定位增强层MB的熵解码(166),且接着合并所述两层数据(168)(即,熵解码 基本层MB及共定位熵解码增强层MB),以产生用于反向量化及反向变换操作的单层数 据。可在将单个合并数据层递交到硬件核心用于反向量化及反向变换之前,在通用微处 理器内执行图12中所示的任务。基于图12中所示的程序,解码图片缓冲器(dpb)的管 理与单个层解码相同或几乎相同,且可无需额外存储器。
增强层帧内宏块解码
对于增强层帧内宏块解码,在变换系数的熵解码期间,CAVLC可能需要上下文信息, 所述信息在基本层解码及增强层解码时经过不同处理。上下文信息包括定位在当前区块 (blkA)的左侧的变换系数水平的区块及定位在当前区块(blkB)的上方的变换系数水平 的区块中的非零变换系数水平的数目(由总系数(系数_令牌)给出)。
对于具有非零系数基本层共定位宏块的增强层帧内宏块的熵解码,用于解码系数_ 令牌的上下文为共定位基本层区块中的非零系数的数目。对于具有全零系数基本层共定 位宏块的增强层帧内宏块的熵解码,用于解码系数_令牌的上下文为增强层上下文,且 nA及nB分别为定位在当前区块的左侧的增强层区块blkA及定位在当前区块的上方的基 本层区块blkB中的非零变换系数水平的数目(由总系数(系数_令牌)给出)。
在熵解码后,解码器28保存信息以用于其它宏块的熵解码及解块。对于无增强层解 码的仅基本层解码,保存每一变换区块的总系数(系数_令牌)。此信息用作用于其它宏 块的熵解码的上下文且用以控制解块。对于增强层视频解码,总系数(增强_系数_令牌) 用作上下文且用以控制解块。
在一个方面中,解码器28中的硬件核心经配置以处理熵解码。在此方面中,DSP可 经配置以通知硬件核心来解码具有零运动向量的P帧。对于硬件核心,常规P帧经解码 且可缩放解码可以是透明的。又,相较于单个层解码,解码增强层I帧大体等于常规I 帧及P帧的解码时间。
如果I帧的频率并不大于每秒一个帧,则额外复杂性并不显著。如果所述频率超过 每秒一个I帧(因为场景改变或某种其它原因),则编码算法可确保仅在基本层处编码那 些指定的I帧。
用于增强_系数_令牌的导出过程
现在将描述用于增强_系数_令牌的导出过程。可使用以下表10及11中所规定的八 个VLC中的一者来解码语法元素增强_系数_令牌。元素增强_系数_符号_旗标规定了非 零变换系数水平的符号。表10及11中的VLC是基于关于27个MPEG2解码序列的统计 信息。每一VLC规定了用于给定代码字增强_系数_令牌的值总系数(增强_系数_令牌)。 VLC选择是视如下导出的变量系数数目_vlc(numcoeff_vlc)而定。如果基本层共定位区 块具有非零系数,则以下适用:
if(base_nC<2)
   numcoeff_vlc=0;
else if(base_nC<4)
   numcoeff_vlc=1;
else if(base_nC<8)
   numcoeff_vlc=2;
Else
   numcoeff_vlc=3;
否则,使用顺从H.264标准的技术来寻找nC,且如下导出系数数目_vlc:
if(nC<2)
   numcoeff_vlc=4;
Else if(nC<4)
   numcoeff_vlc=5;
Else if(nC<8)
   numcoeff_vlc=6;
Else
numcoeff_vlc=7;
表10
用于解码增强_系数_令牌、系数数目_vlc=0-3的代码表
  增强_系数   _令牌   系数数目_vlc=0   系数数目_vlc=1   系数数目_vlc=2  系数数目_vlc=3   0   10   101   1111 0  1001 1   1   11   01   101  1111   2   00   00   00  110   3   010   111   01  01   4   0110   100   110  00   5   0111 0   1100   100  101   6   0111 101   1101 0   1110  1110   7   0111 1001   1101 101   1111 10  1001 0   8   0111 1000 1   1101 1001   1111 1111  1000 11   9   0111 1000 01   1101 1000 1   1111 1110 1  1000 101   10   0111 1000 001   1101 1000 01   1111 1110 01  1000 1000   11   0111 1000 0001 1   1101 1000 001   1111 1110 001  1000 1001 00   12   0111 1000 0001 0   1101 1000 0001   1111 1110 0001  1000 1001 01   13   0111 1000 0000 0   1101 1000 0000 11   1111 1110 0000 00  1000 1001 100   14   0111 1000 0000 10   1101 1000 0000 00   1111 1110 0000 01  1000 1001 101   15   0111 1000 0000 110   1101 1000 0000 01   1111 1110 0000 10  1000 1001 110   16   0111 1000 0000 111   1101 1000 0000 10   1111 1110 0000 11  1000 1001 111   17   0111 11   1101 11   1111 110  1000 0
表11
用于解码增强_系数_令牌,系数数目_vlc=4-7的代码表
  增强_系数_令   牌  系数数目_vlc=4  系数数目_vlc=5  系数数目_vlc=6  系数数  目_vlc=7   0   1   11   10   1010   1   01   10   01   1011   2   001   01   00   100   3   0001   001   110   1100   4   0000 1   0001   1110   0000   5   0000 00   0000 1   1111 0   0001   6   0000 0101   0000 01   1111 10   0010   7   0000 0100 1   0000 000   1111 110   0011   8   0000 0100 01   0000 0011 1   1111 1110 1   0100   9   0000 0100 001   0000 0011 01   1111 1110 01   0101
  10   0000 0100 0000   0000 0011 000   1111 1110 0011   0110   11   0000 0100 0001 11   0000 0011 001 00   1111 1110 0000 0   0111   12   0000 0100 0001 00   0000 0011 001 01   1111 1110 0000 1   1101 0   13   0000 0100 0001 010   0000 0011 0011 00   1111 1110 0001 0   1101 1   14   0000 0100 0001 011   0000 0011 0011 01   1111 1110 0001 1   1110 0   15   0000 0100 0001 100   0000 0011 0011 10   1111 1110 0010 0   1110 1   16   0000 0100 0001 101   0000 0011 0011 11   1111 1110 0010 1   1111 0   17   0000 011   0000 0010   1111 1111   1111 1
增强层帧间宏块解码
现在将描述增强层帧间宏块解码。对于帧间宏块(除了跳过的宏块),解码器28解 码来自基本层及增强层两者的残留信息。因此,解码器28可经配置以提供对于每一宏块 可能需要的两个熵解码过程。
如果基本层及增强层两者均具有用于宏块的非零系数,则在所述两层中使用相邻宏 块的上下文信息来解码系数_令牌。每一层使用不同上下文信息。
在熵解码后,将信息保存为用于其它宏块的熵解码及解块的上下文信息。对于基本 层解码,保存解码的总系数(系数_令牌)。对于增强层解码,分别保存基本层解码的总 系数(系数_令牌)及增强层总系数(增强_系数_令牌)。将参数总系数(系数_令牌)用 作上下文以解码基本层宏块系数_令牌,其包括仅存在于基本层中的帧内宏块。将总和总 系数(系数_令牌)+总系数(增强_系数_令牌)用作上下文以解码增强层中的帧间宏块。
增强层帧间宏块解码
对于帧间MB(除了跳过的MB),如果经实施,则可在基本层及增强层两者处编码 残留信息。因此,(例如)如图5中说明,对于每一MB应用两个熵解码。假定两层均具 有用于MB的非零系数,则在两层处提供相邻MB的上下文信息以解码系数_令牌。每一 层具有其自身的上下文信息。
在熵解码后,保存某些信息用于其它MB的熵解码及解块。如果执行基本层视频解 码,则保存基本层解码的总系数(系数_令牌)。如果执行增强层视频解码,则分别保存 基本层解码的总系数(系数_令牌)及增强层解码的总系数(增强_系数_令牌)。
将参数总系数(系数_令牌)用作上下文以解码基本层MB系数_令牌,其包括仅存 在于基本层中的帧内MB。将基本层总系数(系数_令牌)与增强层总系数(增强_系数_ 令牌)的总和用作上下文以解码增强层中的帧间MB。另外,也可将此总和用作用于解 块增强层视频的参数。
因为解量化涉及密集计算,所以可在解量化前在通用微处理器中组合来自两个层的 系数,使得硬件核心对于具有一个QP的每一MB执行一次解量化。(例如)如在以下部 分中所描述,可在微处理器中组合两个层。
编码区块模式(CBP)解码
增强层宏块cbp(增强_编码_区块_模式)指示用于增强层视频数据中的帧间编码区 块的编码区块模式。在一些实例中,可将增强_编码_区块_模式缩写成增强_cbp(例如, 在以下表12-15中)。对于具有高压缩效率的CBP解码,视共定位基本层MB cbp基本_ 编码_区块_模式而定,可以两种不同方式来编码增强层宏块cbp(增强_编码_区块_模式)。
对于基本_编码_区块_模式=0的情况1,可遵照H.264标准(例如,以与基本层相同 的方式)来编码增强_编码_区块_模式。对于基本_编码_区块_模式≠0的情况2,可使用 以下方法来传达增强_编码_区块_模式。此方法可包括三个步骤:
步骤1.在此步骤中,对于每一亮度8×8区块(其中其对应基本层编码_区块_模式位 等于1)取得一个位。每一位为用于增强层共定位8×8区块的增强_编码_区块_模式位。 取得的位可称作细化位。应注意,为了解释的目的将8×8区块用作一实例。因此,不同 大小的其它区块为适用的。
步骤2.基于基本层处的非零亮度8×8区块的数目及色度区块cbp,如以下表12中 所示,存在9个组合。每一组合为用于解码剩余增强_编码_区块_模式信息的上下文。在 表12中,cbpb,C代表基本层色度cbp,且∑cbpb,Y(b8)表示非零基本层亮度8×8区块的 数目。cbpe,C及cbpe,Y列展示了用于未编码的增强_编码_区块_模式信息的新cbp格式, 除了上下文4及9。在cbpe,Y中,“x”代表用于亮度8×8区块的一个位,而在cbpe,C中, “xx”代表0、1或2。
在以下表13及14中规定了用于基于不同上下文解码增强_编码_区块_模式的代码 表。
步骤3.对于上下文4及9,通过使用以下表15中的代码簿来分别解码增强_色度_ 编码_区块_模式(其可缩写成增强_色度_cbp)。
表12
用于解码增强_编码_区块_模式(enh_cbp)的上下文
  上下文   cbpb,C  ∑cbpb,Y(b8)   cbpe,C  cbpe,Y   符号的数目   1   0   1   xx   xxx   24   2   0   2   xx   xx   12   3   0   3   xx   x   6   4   0   4   n/a   n/a   5   1,2   0   xxxx   16   6   1,2   1   xxx   8   7   1,2   2   xx   4   8   1,2   3   x   2
  9   1,2   4   n/a   n/a
在以下表13及14中展示了用于不同上下文的代码簿。这些码簿是基于关于27个 MPEG2解码序列的统计信息。
表13
用于增强_代码_区块_模式(增强_cbp)的上下文1-3的霍夫曼代码字

表14
用于增强_编码_区块_模式(enh_cbp)的上下文5-7的霍夫曼代码字


步骤3。对于上下文4-9,可通过使用以下表15中所示的代码簿来分别解码色度增 强_cbp。
表15
用于增强_色度_编码_区块_模式(增强_色度_cbp)的代码字
  增强_色度_cbp   代码   0   0   1   10   2   11
用于量化参数的导出过程
现在将描述用于量化参数(QP)的导出过程。用于每一宏块的语法元素宏块_量化 参数_增量传达宏块QP。标称基本层QP、QPb也是用于使用基本_层_片中的宏块中的宏 块_量化参数_增量所规定的基本层处的量化的QP。标称增强层QP、QPe也是用于使用 增强_宏块_层中的宏块_量化参数_增量所规定的增强层处的量化的QP。对于QP导出, 为了节省位,基本层与增强层之间的QP差可保持恒定,而非针对每一增强层宏块来发 送宏块_量化参数_增量。以此方式,仅基于帧来发送两个层之间的QP差宏块_量化参数 _增量。
基于QPb及QPe,将称作增量_层_量化参数的差QP定义为:
增量_层_量化参数=QPb-QPe
基于两个因素(a)基本层处的非零系数水平的存在及(b)增量_层_量化参数而导 出用于增强层的量化QP QPe,Y。为了有助于用于增强层系数的单个解量化操作,可限制 增量_层_量化参数,使得增量_层_量化参数%6=0。给出这两个量,如下导出QP:
1.如果基本层共定位MB无非零系数,则将使用标称QPe,这是因为仅需要解码增强 系数。
QPe,Y=QPe。
2.如果增量_层_量化参数%6=0,则QPe仍用于增强层,无论是否存在非零系数。这 是基于以下事实:QP每递增6,量化步长即翻倍。
以下操作描述了反向量化过程(表示为Q-1),以合并基本层及增强层系数(分别定 义为Cb及Ce),
Fe=Q-1((Cb(QPb)<<(增量_层_量化参数/6))+Ce(QPe))
其中Fe表示反向量化增强层系数,且Q-1指示反向量化函数。
如果基本层共定位宏块具有非零系数且增量_层_量化参数%6≠0,则基本层及增 强层系数的反向量化分别使用QPb及QPe。如下导出增强层系数:
Fe=Q-1(Cb(QPb))+Q-1(Ce(QPe))
色度QP(QP基本,C及Q增强,C)的导出是基于亮度QP(QPb,Y及QPe,Y)。首先,如下计算 qPI:
qPI=Clip3(0,51,QPx,Y+色度_量化参数_索引_偏移量)
其中x表示用于基本的“b”或用于增强的“e”,在图片参数集中定义色度_量化 参数_索引_偏移量,且Clip3为以下数学函数:

可如以下表16中所规定而确定QPx,C的值。
表16
作为函数qPI的QPx,C的规范
  qPI   <30   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   QPx,C   qPI   29   30   31   32   32   33   34   34   35   35   36   36   37   37   37   38   38   38   39   39   39   39
对于增强层视频,在解块时使用在解量化期间所导出的MB QP。
解块
对于解块,可将解块过滤器应用于帧的所有4×4区块边缘,但帧的边界处的边缘及 由停用_解块_过滤_idc停用其解块过滤过程的任何边缘除外。在完成帧构造过程后,基 于宏块(MB)来执行此过滤过程,其中以增加的宏块地址的次序处理一帧中的所有宏块。
图13为说明亮度及色度解块过滤过程的图。分别针对亮度及色度分量调用解块过滤 过程。对于每一宏块,首先从左到右过滤垂直边缘,且接着从顶部到底部过滤水平边缘。 对于16×16宏块,(例如)如图13中所示,针对水平方向及对垂直方向,对四个16样本 边缘执行亮度解块过滤过程,且对两个8样本边缘执行针对每一色度分量的解块过滤过 程。在图13中以实线来展示待过滤的宏块中的亮度边界。图13以虚线展示待过滤的宏 块中的色度边界。
在图13中,参考数字170、172分别指示用于亮度及色度过滤的垂直边缘。参考数 字174、176分别指示用于亮度及色度过滤的水平边缘。当前宏块的上方及左侧的样本值 (其可能已由对先前宏块的解块过滤过程操作进行了修改)被用作对当前宏块上的解块过 滤过程的输入,且可在对当前宏块的过滤期间进一步被修改。垂直边缘的过滤期间经修 改的样本值被用作对同一宏块的水平边缘的过滤的输入。
在H.264标准中,使用MB模式、非零变换系数水平的数目及运动信息来决定边界 过滤强度。使用MB QP来获得指示是否过滤输入样本的阈值。对于基本层解块,这些件 信息为直接的。对于增强层视频,产生适当信息。在此实例中,如图14中所示,横跨表 示为pi及qi的4×4区块水平或垂直边缘(其中i=0、1、2或3)将过滤过程应用于一组 八个样本,其中边缘178位于p0与q0之间。图14规定了pi及qi,其中i=0到3。
增强I帧的解码可能需要解码的基本层I帧及添加层间预测残留。在用以预测增强层 I帧前,对重建的基本层I帧应用解块过滤器。可能并不需要应用I帧解块的标准技术来 解块增强层I帧。作为替代方案,可使用以下准则来导出边界过滤强度(bS)。可如下导 出变量bS。如果以下条件中的任一者为真,则将bS的值设置为2。
a.含有样本p0的4×4亮度区块含有非零变换系数水平,且在使用帧内4×4宏块预 测模式所编码的宏块中;或
b.含有样本q0的4×4亮度区块含有非零变换系数水平,且在使用帧内4×4宏块预 测模式所编码的宏块中。
如果以上条件均非真,则将bS值设置为等于1。
对于P帧,可在基本层及增强层两者处编码帧间MB(除了跳过的MB)的残留信息。 因为单个解码,组合来自两个层的系数。因为使用非零变换系数水平的数目来决定解块 时的边界强度,所以定义如何计算待于解块时使用的增强层处的每一4×4区块的非零变 换系数水平的数目是重要的。不当地增加或减少所述数目可能过度平滑化图片或导致区 块效应。如下导出变量bS:
1.如果区块边缘也是宏块边缘且样本p0及q0两者均在帧宏块中,且样本p0或q0 中的任一者在使用帧内宏块预测模式所编码的宏块中,则bS的值为4。
2.否则,如果样本p0或q0中的任一者在使用帧内宏块预测模式所编码的宏块中, 则bS的值为3。
3.否则,如果在基本层处,含有样本p0的4×4亮度区块或含有样本q0的4×4亮 度区块含有非零变换系数水平,或在增强层处,含有样本p0的4×4亮度区块或含有样本 q0的4×4亮度区块含有非零变换系数水平,则bS的值为2。
4.否则,输出bS的值1,或者替代地使用标准方法。
信道切换帧
信道切换帧可密封于一个或一个以上补充增强信息(SEI)NAL单元中,且可称作 SEI信道切换帧(CSF)。在一个实例中,SEI CSF具有等于22的有效负载类型字段 (payloadTypefield)。用于SEI消息的RBSP语法如H.264标准的7.3.2.3中所规定。可如 在以下表17及18中所阐明而提供SEI RBSP及SEI CSF消息语法。
表17
SEI RBSP语法
sei_rbsp(){  C   描述符 do sei_message()  5 while(more_rbsp_data()) rbsp_trailing_bits()  5 }
表18
SEI CSF消息语法
sei_message(){   C   描述符      22/*payloadType*/   5   f(8) payloadType=22 payloadSize=0 while(next_bits(8)==0xFF){ ff_byte/*equal to 0xFF*/   5   f(8) payloadSize+=255 } last_payload_size_byte   5   u(8) payloadSize+=last_payload_size_byte channel_switch_frame_slice_data   5 }
信道切换帧片数据的语法可与H.264标准的条款7中所规定的基本层I片或P片的 语法相同。信道切换帧(CSF)可密封于独立传送协议包中,以启用对编码位流中的随 机接入点中的可见性。对于用以传达信道切换帧的层不存在限制。可在基本层或增强层 中含有信道切换帧。
对于信道切换帧解码,如果起始了信道改变请求,则将解码所请求信道中的信道切 换帧。如果SEI CSF消息中含有信道切换帧,则将使用用于基本层I片的解码过程来解 码SEI CSF。将不会解码与SEI CSF共存的P片,且丢弃具有在信道切换帧前的输出次 序的B图片。对未来图片的解码过程并无改变(在输出次序的意义上)。
图15为说明装置180的方框图,所述装置用于传送具有各种示范性语法元素的可缩 放数字视频数据以支持低复杂性视频可缩放性。装置180包括用于在第一NAL单元中包 括基本层视频数据的模块182,用于在第二NAL单元中包括增强层视频数据的模块184, 及用于在第一及第二NAL单元中的至少一者中包括一个或一个以上语法元素以指示第 二NAL单元中存在增强层视频数据的模块186。在一个实例中,装置180可如图1及图 3中所示而形成广播服务器12的一部分,且可由硬件、软件或固件或其任何适当组合来 实现。举例而言,模块182可包括图3的基本层编码器32及NAL单元模块23的一个或 一个以上方面,其编码基本层视频数据且在NAL单元中包括基本层视频数据。另外,作 为一实例,模块184可包括增强层编码器34及NAL单元模块23的一个或一个以上方面, 其编码增强层视频数据且在NAL单元中包括增强层视频数据。模块186可包括NAL单 元模块23的一个或一个以上方面,其在第一及第二NAL单元中的至少一者中包括一个 或一个以上语法元素以指示第二NAL单元中存在增强层视频数据。在一个实例中,在第 二NAL单元(其中提供了增强层视频数据)中提供所述一个或一个以上语法元素。
图16为说明数字视频解码设备188的方框图,所述数字视频解码设备解码可缩放视 频位流来处理各种示范性语法元素以支持低复杂性视频可缩放性。数字视频解码设备188 可驻存于-订户装置(例如图1或图3的订户装置16、图1的视频解码器14)中,且可 由硬件、软件或固件或其任何适当组合来实现。设备188包括用于在第一NAL单元中接 收基本层视频数据的模块190,用于在第二NAL单元中接收增强层视频数据的模块192, 用于在第一及第二NAL单元中的至少一者中接收一个或一个以上语法元素以指示第二 NAL单元中存在增强层视频数据的模块194,及用于基于由第二NAL单元中的一个或一 个以上语法元素所提供的指示来解码第二NAL单元中的数字视频数据的模块196。在一 个方面中,在第二NAL单元(其中提供了增强层视频数据)中提供所述一个或一个以上 语法元素。作为一实例,模块190可包括图3中的订户装置16的接收器/解调器26。在 此实例中,模块192也可包括接收器/解调器26。在一些实例配置中,模块194可包括一 NAL单元模块,例如图3的NAL单元模块27,其处理NAL单元中的语法元素。模块 196可包括视频解码器,例如图3的视频解码器28。
可在硬件、软件、固件或其任何组合中实施本文所描述的技术。如果在软件中实施, 则可通过计算机可读媒体上的一个或一个以上存储或传输的指令或代码来至少部分地实 现所述技术。计算机可读媒体可包括计算机存储媒体、通信媒体、或两者,且可包括有 助于将计算机程序从一个位置转移到另一位置的任何媒体。存储媒体可为任何可由计算 机来存取的可用媒体。
通过实例且并非限制,所述计算机可读媒体可包含例如同步动态随机存取存储器 (SDRAM)的RAM、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、ROM、 电可擦除可编程只读存储器(EEPROM)、EEPROM、快闪存储器、CD-ROM或其它光盘 存储设备、磁盘存储设备或其它磁性存储装置,或可用以载运或存储为指令或数据结构 形式的所要程序代码且可由计算机存取的任何其它媒体。
又,将任何连接适当地称作计算机可读媒体。举例而言,如果使用同轴电缆、光纤 电缆、双绞线、数字订户线(DSL),或无线技术(例如,红外、无线电及微波)从网站、 服务器或其它远程源来传输软件,则在媒体的定义中包括同轴电缆、光纤电缆、双绞线、 DSL或无线技术(例如红外、无线电及微波)。如本文所使用的磁盘及光盘包括压缩光盘 (CD)、激光光盘、光盘、数字化多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常 以磁性方式再生数据,而光盘以光学方式再生数据(例如,通过激光)。也应将以上的组 合包括在计算机可读媒体的范围内。
可(例如)通过一个或一个以上处理器,例如一个或一个以上数字信号处理器(DSP)、 通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集 成或离散逻辑电路来由计算机执行与计算机程序产品的计算机可读媒体相关联的代码。 在一些方面中,本文所描述的功能性可提供于经配置用于编码及解码的专用软件模块或 硬件模块内,或被并入在组合视频编码器-解码器(编解码器)中。
已描述了各种方面。这些及其它方面在随附权利要求书的范围内。
根据35U.S.C.§119主张优先权
本申请案主张基于2006年3月29日申请的第60/787,310号美国临时申请案、2006 年3月29日申请的第60/789,320号美国临时申请案和2006年7月25日申请的第 60/833,445号美国临时申请案的权益,以上每一申请案的整个内容均以引用的方式并入 本文中。
相关专利内容
标题 发布/更新时间 阅读量
经编机扩布装置 2020-05-11 633
一种经编机地脚 2020-05-11 674
经编机压纱装置 2020-05-11 167
一种毛圈型经编机的针芯运动机构 2020-05-14 979
经编机压纱板运动装置 2020-05-12 531
一种经编机花梳针 2020-05-12 522
经编机梳栉机构 2020-05-11 793
经编机复合针移动装置 2020-05-14 532
经编机铺纬小车 2020-05-11 885
经编机铺纬机构 2020-05-11 403
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈