跳到主要内容

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_idc 和 band_idc 规定了具体值. profile_idc, level_idc 和 band_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_idc 和 band_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))