编码的基本单位
- VCL(video coding layer)
负责有限表示视频数据的内容
- NAL(Network Abstract Layer)
负责格式化数据并提供头信息,保证数据适合各种信道和存储介质上的传播
Network Abstract Layer
一个NALU = 一组对应于视频编码的NALU头部信息 + 一个原始字节序列负荷(RBSP,Raw Byte Sequence Payload).
NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成
StartCode 标志NALU的开始,必须是 00 00 00 01
或者 00 00 01
head 大小 1 byte
三部分组成
- 0: forbidden_bit h264下固定0
- 1 ~ 2: nal_reference nalu 的重要性 0 ~ 3 3 最高
- 3 ~ 7: nal_uint_type 单元类型
SPS, SEI, PPS, I片, 图像定界符, P片, P片
类型 | 描述 |
---|---|
参数集 PS | 全局参数 |
增强信息SEI | 序列解码的增强信息 |
h.264 的概念 一张图有一个或者多个片,装载在nalu里进行传输
目的:限制误码的扩散。某片的预测不以其他片中的宏块为参考,预测误差就不会传播
H264--2--语法及结构
https://blog.csdn.net/yangzhongxuan/article/details/8003494
从零了解H264结构
http://www.iosxxx.com/blog/2017-08-09-%E4%BB%8E%E9%9B%B6%E4%BA%86%E8%A7%A3H264%E7%BB%93%E6%9E%84.html