1. HEVC NALU基础概念解析
HEVC(High Efficiency Video Coding)作为H.265标准的实现,其码流结构与H.264类似但存在关键改进。NALU(Network Abstraction Layer Unit)作为HEVC码流的基本传输单元,每个NALU都包含头部信息和有效载荷数据。理解NALU头部结构是处理HEVC码流的第一步,也是实现解码器、分析工具或转码系统的必备知识。
在HEVC标准中,NALU头部从H.264的1字节扩展为2字节(可能更长),这种设计变化带来了更强的扩展性和更精细的控制能力。头部的前两个字节包含forbidden_zero_bit(1bit)、nal_unit_type(6bits)、nuh_layer_id(6bits)和nuh_temporal_id_plus1(3bits)等关键字段。这些字段共同决定了NALU的类型、所属层次结构以及时间关联性。
注意:HEVC标准中规定nal_unit_type的值为0-40,其中32-35保留给未来扩展使用,实际应用中遇到这些值应当谨慎处理。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. NALU头部结构详解
2.1 头部字节布局分析
HEVC NALU头部采用分层结构设计,以两个固定字节为基础:
code复制+---------------+---------------+
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F| Type | LayerID |TID |
+---------------+---------------+
- F (forbidden_zero_bit):固定为0,用于错误检测。若为1表示该NALU非法
- Type (nal_unit_type):6bit字段,定义NALU类型(VPS/SPS/PPS/IDR等)
- LayerID (nuh_layer_id):6bit,支持可分级视频编码(SVC)的层次标识
- TID (nuh_temporal_id_plus1):3bit,时间层标识+1(值为1-8)
2.2 关键字段解析
nal_unit_type 是头部最重要的字段,常见类型包括:
- 32: VPS (Video Parameter Set)
- 33: SPS (Sequence Parameter Set)
- 34: PPS (Picture Parameter Set)
- 19: IDR帧(帧内随机接入点)
- 1: 非IDR帧的片(slice)
nuh_layer_id 在非分层编码时固定为0,在SHVC(可分级HEVC)中表示:
- 0-15: 基础层
- 16-55: 增强层
nuh_temporal_id_plus1 实现时间可
