音视频标准的两位东家:ITU-T 管实时通信,ISO/IEC MPEG 管存储与广播;2001 年两家合建 JVT,于是 H.264 有了第二个名字——MPEG-4 Part 10。
前面三节讲原理,从这一节开始讲标准。而要讲标准,先得认清楚是谁在发标准。
一、两个标准化组织
音视频编码标准的发布方只有两家,分工很清楚: ITU-T——国际电信联盟的电信标准化部门,盯着电信网上的实时通信,产出 H.261/H.263/H.264 这一串编号; ISO/IEC MPEG——国际标准化组织下的动态图像专家组,盯着存储与广播的媒体格式,产出 MPEG-1/MPEG-2/MPEG-4 这一串编号。 一个是【打电话】的思路,一个是【发片子】的思路。
二、JVT 的由来
两家的路线本来各走各的,但到 2001 年出现了交汇: MPEG 那边在制订 MPEG-4 的第十部分,要一个面向网络的高压缩比视频编码; ITU-T 那边在制订 H.264L,要一个接替 H.263 的通用视频编码。 两份需求高度重叠,于是两家干脆成立联合视频组(JVT,Joint Video Team),一份文档、两个编号。
三、一个标准,两个编号
这一段是本节最容易记混的地方,用一张等价关系固定下来: H.264 = MPEG-4 Part 10 = AVC,三者是同一份文档。 同理 H.262 = MPEG-2(第 7.4.2 节还要碰到)。 看文档来源决定用哪个名字:ITU 的文档写 H.264,ISO 的文档写 MPEG-4 Part 10,工程讨论里常说的 AVC 是它的商业名。
四、标准管的是什么
有个常被误解的点:标准只规定【码流怎么解释】,不规定【编码器怎么实现】。 符合标准的是码流——任何解码器都能解得出来; 编码器内部怎么搜索、怎么决策,标准不管,各家自由发挥。 所以同一份标准下面并存着多种实现:软件侧的 x264 与 JM(第九章会专门讲)、以及各种硬件编码器——它们产出的码流互通,画质和速度却差得很远。
五、标准背后的专利生意
标准不是免费的。H.264 与 H.265 都有一堆专利,由几个专利池代收授权费。 这就是现实中的选型约束: H.264——专利池成熟、设备支持最广,授权费相对可控; H.265——压缩比更好,但专利池不止一个,授权情况复杂,这也是不少厂商转向 VP9/AV1 的原因之一; 做产品选编码格式,除了看压缩比,还得看专利成本。
六、动手 Demo:一套标准,两个名字
音视频编码标准由两个组织分别发布,2001 年后又握手合流。
rows = [("ITU-T", "H.261/H.263/H.264"),
("ISO/IEC MPEG", "MPEG-1/MPEG-2/MPEG-4"),
("JVT", "H.264 = MPEG-4 Part 10")]
for org, out in rows:
print("%-14s %s" % (org, out))
实跑输出:
--------------------------------------------------------------------
一套标准,两个名字
--------------------------------------------------------------------
音视频编码标准由两个组织分别发布,2001 年后又握手合流。
组织 全称(主战场) 代表成果
-------------------------------------------------------------------------------------
ITU-T 国际电信联盟电信标准化部门(实时通信) H.261/H.263/H.264
ISO/IEC MPEG 国际标准化组织动态图像专家组(存储广播) MPEG-1/MPEG-2/MPEG-4
JVT 两家的联合视频组(2001 年起) H.264=MPEG-4 Part 10
一句话记住这层关系:
**ITU-T 管【实时通信】,MPEG 管【存储与广播】。**
可两边的需求越走越近,**2001 年干脆合伙成立 JVT**。
所以 H.264 与 MPEG-4 Part 10 **是同一份文档的两个编号**——不是两个标准。
ITU-T 管【实时通信】,MPEG 管【存储与广播】。 可两边的需求越走越近,2001 年干脆合伙成立 JVT。 所以 H.264 与 MPEG-4 Part 10 是同一份文档的两个编号。
30 秒实验
- 在 MediaInfo 的视频流信息里找到【格式】那一栏,看它写的是 AVC 还是 MPEG-4 Visual。
- 如果一个文件写的是 MPEG-4 Visual,说明它是 MPEG-4 Part 2,不是 H.264。
常见误区
- 把 H.264 与 MPEG-4 当成同一件事。MPEG-4 是一个大家族,只有 Part 10 等于 H.264。
- 以为标准规定了编码器的实现。标准只管码流语法,怎么编码是各家自己的事。
- 以为 MPEG-4 Part 2 与 Part 10 差不多。前者是 DivX/Xvid 那一代,压缩比差一大截。
自测三问(点开对答案)
1. ITU-T 与 ISO/IEC MPEG 分别负责什么? —— 前者管电信网上的实时通信,后者管存储与广播的媒体格式。 2. JVT 是什么? —— 2001 年两家共建的联合视频组,H.264/MPEG-4 Part 10 就是它的产物。 3. 标准规定的是码流还是编码器? —— 只规定码流语法;编码器的具体实现各家自由发挥。- ☐ 下一节(7.4.2 MPEG-x系列)
相关笔记
- MPEG-x系列 — MPEG 那一路的成果
- H.26x系列 — ITU-T 那一路的成果
- FFmpeg — 实现这些标准的主流工具链
- MediaInfo参数说明 — 怎么在现场认出编码格式
- 🎬 FFmpeg入门详解 · 索引