🎬 第七章 音视频编解码原理与标准
📄 一句话概括

H.26x 是 ITU-T 这一路的编号,从 H.261 的视频会议一路走到 H.265;规律非常干脆——每一代在同画质下把码率砍掉一半,代价是解码算力往上加一截。

📝 本节和前面几节的关系

7.4.2 看的是 MPEG 那边,这一节看 ITU-T 这边;两条线在 H.262 与 H.264 上打了照面。

一、H.261:给 ISDN 用的视频会议

1990 年发布,是这一串编号的起点。 服务对象是 ISDN 视频会议,所以码率按 64 kbps 的整数倍(p×64 kbps)设计; 分辨率只支持 CIF(352×288)与 QCIF(176×144); 它已经建立了后来所有标准都沿用的骨架:宏块、帧内/帧间预测、变换量化、熵编码。 今天没人再用 H.261,但读它 300 页的文档,是理解后续所有标准最快的路。

二、H.262:就是 MPEG-2

1994 年发布,这是两条路线第一次合流。 与 MPEG-2 是同一份文档的两个编号(第 7.4.1 节的机制在这里再次出现); 主要贡献是支持隔行扫描,把视频编码从桌面推进了客厅。 所以看到 H.262 与 MPEG-2 并存的时候不要困惑——它们本来就是一件事。

三、H.263:把码率压到低端

1995 年发布,目标是低码率传输。 在 H.261 的基础上引入了半像素精度的运动补偿、更灵活的帧内预测; 后续还有 H.263+ 与 H.263++ 两个增强版本; 它在可视电话、视频会议、早期流媒体里用了很久。 但从压缩效率看,它和 H.264 之间隔着一道明显的坎。

四、H.264:真正的分水岭

2003 年发布,也叫 AVC,是整个行业用得最广的一代。 同画质码率约为 H.263 的一半——1080p 从 20 Mbps 级降到 8 Mbps 级; 技术上引入了网络抽象层(NAL)分层、多参考帧、帧内九种预测模式、可变块大小的运动补偿; 它把【压缩比换算力】这条规律推到了当时的极限——解码复杂度比 MPEG-2 高出一个量级。 第九章会用整章讲 H.264,它是后面一切的参照系。

五、H.265:再砍一半

2013 年发布,也叫 HEVC(High Efficiency Video Coding)。 同画质码率约为 H.264 的一半——1080p 从 8 Mbps 级降到 4 Mbps 级; 核心改动是把固定的 16×16 宏块换成最大 64×64 的编码树单元(CTU),让平坦区域用大块、细节区域用小块; 代价是编码复杂度大约是 H.264 的两到三倍,所以它更多用在 4K、HDR 这些【带宽实在不够】的场景。 第十一章会专门讲 H.265,它就是这一串编号的当前主力。

六、一张总表

把六个编号并排,主线只有一句话: H.261 立骨架 → H.262 进客厅 → H.263 压低端 → H.264 砍半 → H.265 再砍半。 每一代都把同画质的码率往下压一半,同时把解码算力往上抬一截。 选哪个标准,从来不是【越新越好】,而是你的带宽与你的设备算力,哪一头更紧。

七、动手 Demo:H.26x 家族——同画质码率一路砍半

以 1080p30 未压缩为基准,看每一代把码率压到多少。

raw = 1920 * 1080 * 3 * 8 * 30 / 1e6      # 1493 Mbps
rows = [("H.262", 20), ("H.263", 12), ("H.264", 8), ("H.265", 4)]
for name, mbps in rows:
    print("%-6s 同画质 %2d Mbps  压缩比 %.0f : 1"
          % (name, mbps, raw / mbps))

实跑输出:

--------------------------------------------------------------------
H.26x 家族——同画质码率一路砍半
--------------------------------------------------------------------

以 1080p30 未压缩为基准,看每一代把码率压到多少。

  基准:1920×1080×3 字节×8 位×30 帧 = **1493 Mbps(约 1.5 Gbps)**。

  标准      年份     别名                    同画质码率     压缩比
  ------------------------------------------------------------------
  H.262     1994     MPEG-2                  20 Mbps        75 : 1
  H.263     1995     低码率视频              12 Mbps        124 : 1
  H.264     2003     AVC/MPEG-4 Part 10     8 Mbps         187 : 1
  H.265     2013     HEVC                    4 Mbps         373 : 1

  更早的 **H.261(1990)** 不在表里——它只服务 ISDN 视频会议,按 p×64 kbps 设计,压根不支持 1080p。

  规律非常干脆:**H.264 相对 H.263 省一半,H.265 又相对 H.264 省一半。**
  每省一半,**解码端算力就要多花一截**——这就是【压缩比与算力的对价】在标准代的体现。

更早的 H.261(1990) 不在表里——它只服务 ISDN 视频会议,按 p×64 kbps 设计,压根不支持 1080p。 H.264 相对 H.263 省一半,H.265 又相对 H.264 省一半。 每省一半,解码端算力就要多花一截。

30 秒实验

  1. 用 MediaInfo 打开一个 4K 视频,看视频流格式写的是 HEVC 还是 AVC。
  2. 对比同一段画面的两种版本文件大小,感受【砍半】在磁盘上的样子。

常见误区

  1. 以为 H.26x 的编号越大压缩比就越高。编号是发布顺序,H.262 就是 MPEG-2,比 H.263 老。
  2. 以为新标准可以无脑替换旧标准。H.265 的编码复杂度高两到三倍,很多老设备根本解不动。
  3. 以为 H.264 已经过时。它至今仍是兼容性最好、专利最可控的一代,绝大多数的视频都还是 H.264。
自测三问(点开对答案) 1. H.261 最初是为哪种网络设计的? —— ISDN,码率按 64 kbps 的整数倍(p×64 kbps)设计。 2. H.264 与 H.265 的关系是什么? —— 同画质下 H.265 的码率约为 H.264 的一半,代价是编码复杂度大幅上升。 3. H.265 相对 H.264 最核心的结构改动是什么? —— 把固定的 16×16 宏块换成最大 64×64 的编码树单元(CTU)。

相关笔记