MPEG-1 Audio 按复杂度分三层,层号越大压得越狠;我们天天说的 MP3,其实是 MPEG-1 的第三层,不是什么【MPEG-3】。
8.2 到 8.4 走完了视频这条路,从这一节开始看音频这一侧的技术清单。
一、三层的由来
MPEG-1 的音频部分一口气给了三层方案,按复杂度递增:
Layer I——最简单,码率最高(384 kbps 量级),基本被淘汰;
Layer II——中等复杂度,用在 DAB 与 Video CD 上,后缀 .mp2;
Layer III——最复杂、压得最狠,就是 MP3。
三层不是【三代】,而是同一标准里的三个档位——这是最容易记错的一点。
二、共同的骨架
三层共用同一套思路,都是感知编码(原理见第 7.3 节): 滤波器组——把时域信号拆成若干子带(Layer III 用 MDCT); 心理声学模型——算出每个子带此刻的掩蔽阈值; 量化与比特分配——按阈值分配位数,听不见的成分给很少甚至 0 位; 熵编码——最后用霍夫曼编码把符号写短。 四步的顺序从 Layer I 到 Layer III 没变,变的是每一步的精细程度。
三、MP3 为什么能赢
Layer III 相对前两层加了两件关键的东西: MDCT(改进的离散余弦变换)——把频域分辨率做得更细,掩蔽阈值可以算得更准; 比特池(bit reservoir)——允许把富余的位数【存起来】,留给后面复杂的片段用,让码率在时间上更弹性。 再加上当年互联网音乐传播刚好爆发,MP3 就成了事实标准。技术优势遇上时代需求,才有今天的地位。
四、每帧多少样本
一个容易被忽略但很实用的参数——每帧样本数: Layer I:384 个样本一帧; Layer II 与 Layer III:1152 个样本一帧; 用采样率一除,就得到每帧的时间长度。 44.1 kHz 下,1152 ÷ 44100 ≈ 26 毫秒一帧。 这个数字在做音频帧对齐、时间戳计算时会直接用到——音频的【帧】和视频的【帧】完全不是一回事。
五、从音频回到工程
这一节的技术清单对应到工程上,只有三条要点值得记住:
码率档位——128 kbps 是流行音乐的常用值,192~320 用于音质要求高的场景;
格式后缀不代表编码——.mp3 只说明容器与编码的组合,真正是什么靠工具确认(第 3.2.1 节);
它是感知编码的老祖宗——后面 AAC、Opus 都是沿着这条路继续走的。
六、动手 Demo:MPEG-1 音频的三层
MPEG-1 Audio 按复杂度分三层,名字里的 Layer 就是层号。
layers = [("Layer I", "384 kbps", 384, "-"),
("Layer II", "192~256 kbps", 1152, ".mp2"),
("Layer III", "32~320 kbps", 1152, ".mp3")]
for name, rate, spf, ext in layers:
print("%-10s %-12s 每帧 %4d 样本 %s" % (name, rate, spf, ext))
实跑输出:
--------------------------------------------------------------------
MPEG-1 音频的三层
--------------------------------------------------------------------
MPEG-1 Audio 按复杂度分三层,名字里的 Layer 就是层号。
层次 典型码率 每帧样本 常见后缀 主要用途
-----------------------------------------------------------------------
Layer I 384 kbps 384 — 早期数字录音
Layer II 192~256 kbps 1152 .mp2 DAB、Video CD
Layer III 32~320 kbps 1152 .mp3 网络音乐
层号越大越复杂、压得越狠。**第三层就是 MP3**——
它在前两层的基础上加了 **MDCT** 与更精细的量化,所以在同样码率下听感最好。
**MP3 并不是【MPEG-3】,它是 MPEG-1 的第三层音频。**
层号越大越复杂、压得越狠。第三层就是 MP3。 MP3 并不是【MPEG-3】,它是 MPEG-1 的第三层音频。
30 秒实验
- 用 MediaInfo 打开一个
.mp3文件,看音频流信息里写的是不是 MPEG Audio Layer III。 - 顺便看一下每帧样本数与采样率,用 1152 除以采样率算出每帧时长。
常见误区
- 把 MP3 当成【MPEG-3 的音频】。MPEG-3 这个标准根本不存在。
- 以为三层是三代技术。它们是同一标准里的三个复杂度档位,同时发布。
- 以为层号越高【音质越好】。是压缩越狠——同码率下更好,同音质下更省。
自测三问(点开对答案)
1. MP3 是 MPEG-1 的哪一层? —— 第三层(Layer III)。 2. Layer III 相对前两层多加了什么? —— MDCT 变换与比特池机制。 3. Layer II 与 Layer III 每帧多少样本? —— 1152 个;Layer I 是 384 个。- ☐ 下一节(8.5.2 MPEG-2音频编码)
相关笔记
- MPEG-2音频编码 — 下一代的两条岔路
- 音频编码原理 — 感知编码的原理
- 音频编码基本手段 — 第四章的基本手段
- 熵编码 — 最后那一步的收尾
- 🎬 FFmpeg入门详解 · 索引