| Abstract | H.264 视频编码简介 |
|---|---|
| Authors | Walter Fan |
| Status | WIP |
| Updated | 2021-12-10 |
H.264 编码简介
概述
高级视频编码 (AVC),也称为 H.264 或 MPEG-4 第 10 部分,高级视频编码(MPEG-4 AVC),是一种基于面向块的,采用运动补偿和整数 DCT编码的视频压缩标准。
截止2021 年末,尽管H.265, AV1 已经冒出头来,H.264依然是市场上最流行的视频编解码标准,它成熟可靠,而且相当灵活,可适应不同的带宽,既适用于在线视频服务和视频会议,也适用于文件存储。
H.264 定义了 1 ~ 6.2 一系列的 Profile 等级,每个 Profile都有不同的分辨率,码率,帧率等范围
H.264 当前主要支持 YUV420 和 8bit 精度,它支持固定和图像自适应帧编码(PAFF),每一帧可以分为多个 Slice, 每个 Slice 又可以分成多个宏块,每个宏块包含 16*16 个亮度像素, 8*8 和U 分量,8*8 的 V 分量。
它的主要特性有
- 错误反馈机制
- 增强的运动估计
- 改进的熵编码
- I帧的帧内预测编码
- 4 * 4 显示频道表(DCT)
- 网络抽象层 NAL
- 渐进式解码器刷新(GDR:Gradual Decoder Refresh)帧
- 长期参考图片(LTRP:Long-Term Reference Picture)帧
H.264/AVC 应用的主要技术
- 分层设计
- 视频编码层 VCL - Video Coding Layer 负责视频内容表示
- 网络提取层 NAL - Network Abstraction Layer 负责网络封包和传送
- 预测
- 帧内预测:邻近宏块
- 帧间预测:邻近帧预测,运动估计和补偿
- 变换: 基于 4*4像素块的整数 DCT 变换
- 量化: 多对一的映射来降低码率
量化参数 QP 是量化步长 Qstep 的序号, QP 取最小值 0 时,表示量化最精细;相反,QP 取最大值 51 时,表示量化是最粗糙的。
- 对于亮度(Luma)编码而言,量化步长 Qstep 共有 52 个值,QP取值 0~51
- 对于色度(Chroma)编码,Q的取值0~39
-
环路滤波:De-blocking Filter, Reconstruction Filter
-
熵编码: 通用可变长编码(UVLC)和基于文本的自适应二进制算术编码(CABAC)
参见 en.wikipedia.org/wiki/Advanc… 和 H264 规范 www.itu.int/rec/T-REC-H…, 截止2021 年底,最新的 v14 版本发布于2021年的8月,在 www.itu.int/dms_pubrec/… 中有对各个版本的说明。
H.264 相关术语和缩写
- DON: Decoding Order Number
- DONB: Decoding Order Number Base
- DOND: Decoding Order Number Difference
- FEC: Forward Error Correction
- FU: Fragmentation Unit
- IDR: Instantaneous Decoding Refresh
- IEC: International Electrotechnical Commission
- ISO: International Organization for Standardization
- ITU-T: International Telecommunication Union : 国际电信标准化组织
- MANE: Media-Aware Network Element
- MTAP: Multi-Time Aggregation Packet
- MTAP16: MTAP with 16-bit timestamp offset
- MTAP24: MTAP with 24-bit timestamp offset
- NAL: Network Abstraction Layer
- NALU: NAL Unit
- SAR: Sample Aspect Ratio
- SEI: Supplemental Enhancement Information
- STAP: Single-Time Aggregation Packet
- STAP-A: STAP type A
- STAP-B: STAP type B
- TS: Timestamp
- VCL: Video Coding Layer
- VUI: Video Usability Information
H264 encoder 编码器
H.264 采用混合编码技术,即把画面间运动预测和画面内空间预测组合,并对残差进行变换编码
H264 decoder 解码器
- 熵解码
- 残差像素的逆量化和变换
- 运动补偿或帧内预测
- 重建
- 重建像素上的环路去块滤波器