H.264初步
1、H.264实现
JM:官方实现,效率较低
x264:仅实现编码部分,最流行
2、分级实现
为了适应不同应用领域的需求,H.264标准的实现分4个等级
基本实现:乞丐版实现,提供I/P帧,仅支持逐行扫描和CAVLC。主要特点是低延时。
扩展实现:提供I/P/B/SP/SI帧,仅支持逐行扫描和CAVLC。
主要实现:提供I/P/B/帧,支持逐行扫描和隔行扫描,提供CAVLC或CABAC
高级实现:主要针对高分辨率高清晰度要求的特殊行业。
3、编码方式
基于块结构的混合编码。每一帧数据(YUV矩阵)被分割为多个条带,每个条带又被分割为多个宏块,宏块是H.264编码的基本单位。
宏块 = 一个16*16的亮度矩阵 + 两个8*8的色度矩阵 + 宏块描述信息 (从这里就可以看出,H.264要求输入的YUV矩阵是4*2*0规格的)
对宏块编码主要用到:帧内预测,帧间预测;这部分称为VCL
对条带以上的编码主要用到:熵编码;这一部分称为NAL
4、分层实现
VCL层:(视频编码层)主要负责视频数据压缩
NAL层:(网络提取层)对VCL编码结果进行封装,添加误码检测和纠错。
VCL是H.264的核心技术,包括变换、量化、编码三个步骤。