1. H264 基础概念:视频编码原理、标准发展史与 H265 对比
各位同学好,我是你们这门课的老朋友。今天咱们正式开篇,聊聊 H264 的基础概念。
说实话,我入行那会儿,H264 刚出来没多久。那时候大家还在用 MPEG-2 做 DVD,H264 简直就是黑科技。现在呢?它成了视频领域的“普通话”。你手机拍的视频、看的直播、刷的短视频,底层几乎都是它。
这一章,我带你从三个角度把它吃透:视频编码到底在干嘛、H264 是怎么一步步成为霸主的、以及它跟老大哥 H265 比,到底差在哪。
1.1 视频编码原理:我们为什么要压缩?
先问个问题:一段 1080p、30fps、时长 90 分钟的电影,原始数据有多大?
算一下:1920 × 1080 × 3(RGB)× 30 × 90 × 60 ≈ 806 GB。一张蓝光碟才 50GB,这还没算音频。所以,不压缩根本没法存、没法传。
视频编码的核心,就是干掉冗余。冗余分四种:
- 空间冗余:同一帧里,天空一大片蓝色,没必要每个像素都存。
- 时间冗余:前后两帧画面差不多,只存变化的部分。
- 视觉冗余:人眼对高频细节不敏感,丢掉一些你根本看不出来。
- 统计冗余:用更短的码字表示出现频率高的数据(熵编码)。
核心思路:编码器通过“预测 + 变换 + 量化 + 熵编码”四步走,把原始视频从几百 GB 压到几 GB。解码器反向操作,还原画面。
我个人习惯把编码器比作“厨师”:原材料(原始帧)进来,先切块(分宏块),再预测味道(帧内/帧间预测),然后调味(变换量化),最后装盘打包(熵编码)。解码器就是“食客”,拆开包装,还原味道。
1.2 H264 标准发展史:从 MPEG-2 到 H264 的进化
H264 的官方名字叫 MPEG-4 AVC(Advanced Video Coding)。它是 ITU-T 和 ISO/IEC 两大组织在 2003 年联合推出的标准。
为什么它这么牛?我列几个关键节点:
| 时间 | 事件 | 意义 |
|---|---|---|
| 2003 | H264 第一版发布 | 比 MPEG-2 节省 50% 码率,画质相当 |
| 2005 | H264 High Profile 推出 | 支持 8x8 变换、自定义量化矩阵,压缩率再提升 |
| 2007 | 蓝光光盘采用 H264 | 正式取代 MPEG-2,成为高清存储标准 |
| 2010 | H264 成为 YouTube 默认编码 | 互联网视频全面转向 H264 |
| 2014 | H264 被 H265 挑战 | 但 H264 凭借生态优势,至今仍是主流 |
我记得刚入行时,公司还在用 MPEG-2 做编码器。后来换 H264,同样的码率,画质直接提升一个档次。那时候我就知道,这玩意儿要火。
避坑指南:我曾经在项目中遇到过 H264 的 Profile 选择问题。用 Baseline Profile 做直播,结果移动端解码器不支持 B 帧,画面卡成 PPT。后来我统一用 High Profile,兼容性最好。
1.3 H264 与 H265 对比:到底差在哪?
H265(HEVC)是 2013 年推出的继任者。它的目标是:在同等画质下,码率再降 50%。
但理想很丰满,现实很骨感。我直接给你上对比表:
| 对比项 | H264 (AVC) | H265 (HEVC) |
|---|---|---|
| 编码单元 | 宏块(16x16 固定大小) | CTU(最大 64x64,可递归划分) |
| 帧内预测 | 9 种模式 | 35 种模式 |
| 运动补偿 | 1/4 像素精度 | 1/4 和 1/8 像素精度 |
| 变换大小 | 4x4 / 8x8 | 4x4 / 8x8 / 16x16 / 32x32 |
| 熵编码 | CAVLC / CABAC | CABAC(改进版) |
| 压缩率 | 基准 | 提升 30%~50% |
| 编码复杂度 | 低 | 高(约 2~4 倍) |
| 专利许可 | 成熟,费用透明 | 混乱,专利池多 |
| 生态支持 | 所有设备都支持 | 较新设备才支持 |
说白了,H265 在技术上确实更先进,但代价是编码复杂度飙升。你想想看,一个 CTU 最大 64x64,还能递归划分成各种形状,编码器要遍历所有可能性才能找到最优解。这计算量,不是一般设备扛得住的。
我在做移动端编码器时,对比过 H264 和 H265 的实时编码。同样在骁龙 865 上,H264 能跑 1080p@30fps,H265 只能跑 720p@30fps,功耗还高 30%。所以,不是 H265 不好,是时机未到。
注意:H265 的专利问题是个大坑。我曾经有个项目,因为用了 H265,被专利池追着要授权费。后来我们切回 H264,虽然码率高了点,但省心多了。如果你做商业产品,务必先搞清楚专利授权。
1.4 本章知识体系图
下面这张图,帮你把本章的核心逻辑串起来:
嗯,这张图把本章的三个核心模块串起来了。你仔细看,编码原理是基础,发展史是脉络,H264 vs H265 是现实选择。三者缺一不可。
好了,第一章就到这里。记住:H264 不是最先进的,但一定是最实用的。后面我们会深入码流结构,从 NAL 单元开始,一步步拆解 H264 的每一比特。