跳到主要内容

9. 配置文件, 级别和频带 (Profiles, Levels, and Bands)

9.1. 配置文件, 级别和频带概述 (Overview of Profiles, Levels, and Bands)

配置文件 (profile), 级别 (level) 和频带 (band) 规定了编码帧 (coded frame) 的限制, 因而也限制了解码该编码帧所需的能力. 配置文件, 级别和频带还用于指示各个解码器实现之间的互操作点.

每个 profile 都规定了一组算法特性和限制的子集, 符合该 profile 的所有解码器都必须支持这些特性和限制.

注: 本文档不包含解码器中可单独选择的"选项", 因为这会增加互操作困难.

注: 编码器不要求使用 profile 中支持的任何特定特性子集.

每个 level 与 band 一起规定了本文档中语法元素 (syntax element) 取值的一组限制. 对于任意给定 profile, 一个 level 与一个 band 通常对应于特定的解码器处理负载和内存能力. level 和 band 设置的约束与 profile 定义的约束正交, 因此同一组 level 和 band 定义会与所有 profile 一起使用. 例如, 某个 level L 和某个 band B 可以与 profile X 或 profile Y 组合, 从而明确地定义两组不同的约束.

注: 各个实现可以为每个受支持的 profile 支持不同的 level.

9.2. 视频解码器能力要求 (Requirements on Video Decoder Capability)

符合本文档的视频解码器的能力, 通过其解码符合本节中指定的 profile, level 和 band 约束的视频流的能力来规定. 在表达解码器对某个指定 profile 的能力时, 还必须表达该 profile 所支持的 level 和 band.

为语法元素 profile_idc, level_idcband_idc 规定了具体值. profile_idc, level_idcband_idc 的所有其他值保留供将来使用.

注: 解码器不得推断本文档所规定值之间的 profile_idc 保留值表示指定 profile 之间的中间能力, 因为对将来如何使用此类保留值没有限制. 但是, 解码器必须推断本文档所规定值之间的 level_idc 保留值和 band_idc 保留值表示指定 level 之间的中间能力.

9.3. 配置文件 (Profiles)

9.3.1. 通用 (General)

为编码帧指定的所有约束, 都是在访问单元 (access unit) 的比特流 (bitstream) 被解码时激活的编码帧约束.

9.3.2. 422-10 Profile

编码帧符合 422-10 profile 由 profile_idc 等于 33 指示.

符合 422-10 profile 的编码帧必须遵守以下约束:

  • chroma_format_idc 必须等于 2.

  • bit_depth_minus8 必须等于 2.

  • pbu_type 必须等于 1.

符合 422-10 profile 的编码帧还必须符合第 9.4 节中指定的任何 level 和 band 约束. 符合特定 level (由 L 的特定值标识) 和特定 band (由 B 的特定值标识) 的 422-10 profile 解码器, 必须能够解码满足以下所有条件的所有编码帧:

  • 指示该编码帧符合 422-10 profile.

  • 指示该编码帧符合某个 level (由 level_idc 的特定值给出), 且该 level 低于或等于 level L.

  • 指示该编码帧符合某个 band (由 band_idc 的特定值给出), 且该 band 低于或等于 band B.

9.3.3. 422-12 Profile

编码帧符合 422-12 profile 由 profile_idc 等于 44 指示.

符合 422-12 profile 的编码帧必须遵守以下约束:

  • chroma_format_idc 必须等于 2.

  • bit_depth_minus8 必须在 2 到 4 的范围内.

  • pbu_type 必须等于 1.

符合 422-12 profile 的编码帧还必须符合第 9.4 节中指定的任何 level 和 band 约束. 符合特定 level (由 L 的特定值标识) 和特定 band (由 B 的特定值标识) 的 422-12 profile 解码器, 必须能够解码满足以下所有条件的所有编码帧:

  • 指示该编码帧符合 422-12 profile 或 422-10 profile.

  • 指示该编码帧符合某个 level (由 level_idc 的特定值给出), 且该 level 低于或等于 level L.

  • 指示该编码帧符合某个 band (由 band_idc 的特定值给出), 且该 band 低于或等于 band B.

9.3.4. 444-10 Profile

编码帧符合 444-10 profile 由 profile_idc 等于 55 指示.

符合 444-10 profile 的编码帧必须遵守以下约束:

  • chroma_format_idc 必须在 2 到 3 的范围内.

  • bit_depth_minus8 必须等于 2.

  • pbu_type 必须等于 1.

符合 444-10 profile 的编码帧还必须符合第 9.4 节中指定的任何 level 和 band 约束. 符合特定 level (由 L 的特定值标识) 和特定 band (由 B 的特定值标识) 的 444-10 profile 解码器, 必须能够解码满足以下所有条件的所有编码帧:

  • 指示该编码帧符合 444-10 profile 或 422-10 profile.

  • 指示该编码帧符合某个 level (由 level_idc 的特定值给出), 且该 level 低于或等于 level L.

  • 指示该编码帧符合某个 band (由 band_idc 的特定值给出), 且该 band 低于或等于 band B.

9.3.5. 444-12 Profile

编码帧符合 444-12 profile 由 profile_idc 等于 66 指示.

符合 444-12 profile 的编码帧必须遵守以下约束:

  • chroma_format_idc 必须在 2 到 3 的范围内.

  • bit_depth_minus8 必须在 2 到 4 的范围内.

  • pbu_type 必须等于 1.

符合 444-12 profile 的编码帧还必须符合第 9.4 节中指定的任何 level 和 band 约束. 符合特定 level (由 L 的特定值标识) 和特定 band (由 B 的特定值标识) 的 444-12 profile 解码器, 必须能够解码满足以下所有条件的所有编码帧:

  • 指示该编码帧符合 444-12 profile, 444-10 profile, 422-12 profile 或 422-10 profile.

  • 指示该编码帧符合某个 level (由 level_idc 的特定值给出), 且该 level 低于或等于 level L.

  • 指示该编码帧符合某个 band (由 band_idc 的特定值给出), 且该 band 低于或等于 band B.

9.3.6. 4444-10 Profile

编码帧符合 4444-10 profile 由 profile_idc 等于 77 指示.

符合 4444-10 profile 的编码帧必须遵守以下约束:

  • chroma_format_idc 必须在 2 到 4 的范围内.

  • bit_depth_minus8 必须等于 2.

  • pbu_type 必须等于 1.

符合 4444-10 profile 的编码帧还必须符合第 9.4 节中指定的任何 level 和 band 约束. 符合特定 level (由 L 的特定值标识) 和特定 band (由 B 的特定值标识) 的 4444-10 profile 解码器, 必须能够解码满足以下所有条件的所有编码帧:

  • 指示该编码帧符合 4444-10 profile, 444-10 profile 或 422-10 profile.

  • 指示该编码帧符合某个 level (由 level_idc 的特定值给出), 且该 level 低于或等于 level L.

  • 指示该编码帧符合某个 band (由 band_idc 的特定值给出), 且该 band 低于或等于 band B.

9.3.7. 4444-12 Profile

编码帧符合 4444-12 profile 由 profile_idc 等于 88 指示.

符合 4444-12 profile 的编码帧必须遵守以下约束:

  • chroma_format_idc 必须在 2 到 4 的范围内.

  • bit_depth_minus8 必须在 2 到 4 的范围内.

  • pbu_type 必须等于 1.

符合 4444-12 profile 的编码帧还必须符合第 9.4 节中指定的任何 level 和 band 约束. 符合特定 level (由 L 的特定值标识) 和特定 band (由 B 的特定值标识) 的 4444-12 profile 解码器, 必须能够解码满足以下所有条件的所有编码帧:

  • 指示该编码帧符合 4444-12 profile, 4444-10 profile, 444-12 profile, 444-10 profile, 422-12 profile 或 422-10 profile.

  • 指示该编码帧符合某个 level (由 level_idc 的特定值给出), 且该 level 低于或等于 level L.

  • 指示该编码帧符合某个 band (由 band_idc 的特定值给出), 且该 band 低于或等于 band B.

9.3.8. 400-10 Profile

编码帧符合 400-10 profile 由 profile_idc 等于 99 指示.

符合 400-10 profile 的编码帧必须遵守以下约束:

  • chroma_format_idc 必须等于 0.

  • bit_depth_minus8 必须等于 2.

  • pbu_type 必须等于 1.

符合 400-10 profile 的编码帧还必须符合第 9.4 节中指定的任何 level 和 band 约束. 符合特定 level (由 L 的特定值标识) 和特定 band (由 B 的特定值标识) 的 400-10 profile 解码器, 必须能够解码满足以下所有条件的所有编码帧:

  • 指示该编码帧符合 400-10 profile.

  • 指示该编码帧符合某个 level (由 level_idc 的特定值给出), 且该 level 低于或等于 level L.

  • 指示该编码帧符合某个 band (由 band_idc 的特定值给出), 且该 band 低于或等于 band B.

9.4. 级别和频带 (Levels and Bands)

9.4.1. 通用 (General)

为了比较 level 能力, 当某个 band 中某一特定 level 的 level_idc 值小于另一个 level 的 level_idc 值时, 该特定 level 被视为低于另一个 level.

  • 亮度采样率 (luma samples per second) 必须小于或等于"最大亮度采样率 (Max luma sample rate)".

  • 编码数据率 (bits per second) 必须小于或等于"最大编码数据率 (Max coded data rate)".

  • tile_width_in_mbs 的值必须大于或等于 16.

  • tile_height_in_mbs 的值必须大于或等于 8.

  • TileCols 的值必须小于或等于 20.

  • TileRows 的值必须小于或等于 20.

9.4.2. 级别和频带限制 (Limits of Levels and Bands)

表 4 规定了每个 band 中每个 level 的限制. 编码帧所符合的 level 由语法元素 level_idcband_idc 按如下方式指示:

  • level_idc 必须设置为等于表 4 中指定的 level 编号的 30 倍.
level最大亮度采样率 (samples/s)band_idc == 0 最大编码数据率 (Mbit/s)band_idc == 1 最大编码数据率 (Mbit/s)band_idc == 2 最大编码数据率 (Mbit/s)band_idc == 3 最大编码数据率 (Mbit/s)
13,041,2808111523
1.16,082,56016213045
215,667,200395476114
2.131,334,40078108152227
366,846,720114159222333
3.1133,693,440227317444666
4265,420,8004556378921,338
4.1530,841,6009101,2741,7842,675
51,061,683,2001,8202,5483,5675,350
5.12,123,366,4003,6395,0957,13310,699
64,777,574,4007,27810,18914,26521,397
6.18,493,465,60014,55620,37828,52942,793
716,986,931,20029,11140,75657,05885,586
7.133,973,862,40058,22281,511114,115171,172

表 4: 通用 level 限制 (General level limits)

表 5 展示了常用视频分辨率和帧率的典型配置, 以及对应的 level.

用例 (use case)分辨率 (resolution)帧率 (frame per second)每秒亮度采样数 (luma sample per second)level
720p1280 x 7203027,648,0002.1
FHD1920 x 10803062,208,0003
UHD 4K3840 x 216060497,664,0004.1
UHD 4K3840 x 2160120995,328,0005
UHD 8K7680 x 4320601,990,656,0005.1
UHD 8K7680 x 43201203,981,312,0006

表 5: 典型视频配置及对应 level 的示例 (资料性) (Example of typical video configurations and corresponding levels (informative))