H264-视频编码的信令控制

43 阅读3分钟
AbstractH.264 视频编码简介
AuthorsWalter Fan
StatusWIP
Updated2021-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 应用的主要技术

  1. 分层设计
  • 视频编码层 VCL - Video Coding Layer 负责视频内容表示
  • 网络提取层 NAL - Network Abstraction Layer 负责网络封包和传送
  1. 预测
  • 帧内预测:邻近宏块
  • 帧间预测:邻近帧预测,运动估计和补偿
  1. 变换: 基于 4*4像素块的整数 DCT 变换
  2. 量化: 多对一的映射来降低码率

量化参数 QP 是量化步长 Qstep 的序号, QP 取最小值 0 时,表示量化最精细;相反,QP 取最大值 51 时,表示量化是最粗糙的。

  • 对于亮度(Luma)编码而言,量化步长 Qstep 共有 52 个值,QP取值 0~51
  • 对于色度(Chroma)编码,Q的取值0~39
  1. 环路滤波:De-blocking Filter, Reconstruction Filter

  2. 熵编码: 通用可变长编码(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 encoder

H264 decoder 解码器

h264 decoder

  • 熵解码
  • 残差像素的逆量化和变换
  • 运动补偿或帧内预测
  • 重建
  • 重建像素上的环路去块滤波器

参考资料