1995年,德国埃尔朗根的一间实验室里,Karlheinz Brandenburg 正在收听 Suzanne Vega 的歌曲《Tom’s Diner》。这不是普通的听歌——他正在调试一种新的音频压缩算法。这首歌人声清晰、伴奏简单,成为了测试编解码器的完美样本。当他终于找到一种方法,能让这段音频在不到原始文件十分之一的大小下依然保持"透明"音质时,他知道自己站在了数字音频革命的门槛上。
这个算法后来被称为 MP3。它改变了整个音乐产业,让 Napster 和 iPod 成为可能,也让全球数十亿人习惯了"压缩音频"这个概念。但三十年后,MP3 早已成为历史,取而代之的 AAC 和 Opus 编解码器却陷入了另一场更加复杂的博弈——不是关于技术,而是关于专利。
心理声学:欺骗耳朵的科学
理解音频编解码器之前,必须先理解一个反直觉的事实:人耳并不完美。
1940年代,贝尔实验室的研究人员发现了一个有趣的现象——当一个较强的声音播放时,附近的较弱声音会变得听不见。这被称为"掩蔽效应"。更进一步的研究揭示了人耳的频率分辨率并非均匀的,而是按照"临界频带"组织。在低频区域,频带宽度只有约 100 Hz;而在高频区域,单个频带可能宽达数千 Hz。
$$ \text{Bark}(f) = 13 \arctan(0.00076f) + 3.5 \arctan\left(\frac{f}{7500}\right)^2 $$这个公式定义了 Bark 刻度,将频率映射到感知尺度。一个 Bark 等于一个临界频带的宽度。
graph LR
subgraph "心理声学掩蔽效应"
A[强音信号] -->|产生掩蔽| B[掩蔽阈值曲线]
C[弱音信号] -->|被掩蔽| B
B --> D[人耳听不见]
end
subgraph "临界频带"
E[低频<br/>带宽~100Hz] --> F[中频<br/>带宽~500Hz]
F --> G[高频<br/>带宽~3000Hz]
end
这些发现催生了"感知音频编码"的概念:既然人耳听不到某些声音,为什么要浪费比特来编码它们?MP3、AAC、Opus——所有现代音频编解码器都建立在这个简单却强大的原理之上。
心理声学模型的工作流程可以概括为以下几个步骤:
- 频谱分析:将音频信号分解为不同频率分量
- 掩蔽阈值计算:根据信号能量分布确定每个频带的掩蔽阈值
- 比特分配:将更多比特分配给掩蔽阈值以下的频带(这些区域的量化噪声更容易被听到)
这就是为什么 MP3 能将一首 50MB 的 CD 音轨压缩到 5MB 却听起来几乎没有区别——它删除的是你"听不到"的信息。
flowchart TB
subgraph Encoder[感知音频编码器]
A[音频输入] --> B[分析滤波器组]
B --> C[频谱系数]
C --> D[心理声学模型]
D --> E[掩蔽阈值计算]
E --> F[量化与比特分配]
F --> G[熵编码]
G --> H[比特流输出]
end
subgraph Decoder[解码器]
I[比特流输入] --> J[熵解码]
J --> K[逆量化]
K --> L[合成滤波器组]
L --> M[音频输出]
end
H --> I
MP3:完美的风暴
MP3 的正式名称是 MPEG-1 Audio Layer III。它的诞生是一场技术、标准和商业的完美风暴。
1987年,Fraunhofer 研究所开始在德国研究高质量、低比特率的音频编码。当时的目标很简单:找到一种方法,通过 ISDN 线路(128 kbps)传输接近 CD 质量的音频。Karlheinz Brandenburg 领导的团队在接下来的几年里不断改进算法,最终在 1993 年完成了 MPEG-1 Audio Layer III 标准。
MP3 的核心技术是修正离散余弦变换(MDCT)结合多相正交滤波器组(PQF)。与早期的变换编码不同,MP3 使用了一个两层结构:首先通过 32 频带的 PQF 将信号分解,然后对每个频带应用 MDCT。这种设计允许 MP3 在频率分辨率和时间分辨率之间进行切换——对于稳态信号使用长窗口(高频率分辨率),对于瞬态信号使用短窗口(高时间分辨率)。
$$ X_k = \sum_{n=0}^{2N-1} x_n \cos\left[\frac{\pi}{N}\left(n + \frac{1}{2} + \frac{N}{2}\right)\left(k + \frac{1}{2}\right)\right] $$这是 MDCT 的定义公式。注意到输入长度是 $2N$ 而输出长度是 $N$,这就是"修正"的含义——通过 50% 的重叠,MDCT 实现了完美的时域重建。
flowchart LR
subgraph "MP3 编码流程"
A[PCM音频] --> B[PQF滤波器组<br/>32子带]
B --> C[MDCT变换<br/>长/短窗口切换]
C --> D[心理声学模型]
D --> E[量化器]
E --> F[Huffman编码]
F --> G[MP3比特流]
end
但 MP3 真正的成功不在于技术,而在于时机。1990年代中期,互联网开始普及,带宽有限,用户渴望下载音乐。MP3 恰好提供了完美的解决方案:足够小的文件大小、足够好的音质、足够开放的格式。1997年,一个名为 Winamp 的播放器让 MP3 播放变得简单;1999年,Napster 让 MP3 分享变得疯狂。
然而,MP3 的成功也埋下了自己的种子。Fraunhofer 拥有关键专利,并开始向编解码器开发商收取许可费。1998年,Fraunhofer 开始积极执行专利权,要求所有 MP3 编码器和解码器开发者支付版税。这一决定在开源社区引发了强烈反弹,也促使人们开始寻找替代方案。
2017年,Fraunhofer 正式终止了 MP3 专利许可项目。最后的 MP3 相关专利已于 2012 年在欧盟和 2017 年在美国过期。这个统治了数字音频二十年的格式,终于完全免费——但那时已经没有人真正在意了。
AAC:站在巨人肩膀上
AAC(Advanced Audio Coding)的设计目标很明确:修复 MP3 的所有已知缺陷。
1994年,MPEG-2 AAC 标准发布。1997年,MPEG-4 AAC 进一步扩展了功能。从技术角度看,AAC 是 MP3 的全面升级:
更高的频率分辨率:MP3 的 MDCT 最多有 576 个频谱系数,而 AAC 可以达到 1024 个。这意味着对稳态信号(如钢琴延音)的编码更加精确。
更灵活的窗口切换:AAC 支持多种窗口形状和长度的平滑过渡,有效减少了块边界处的可闻伪影。
瞬时噪声整形(TNS):这是 AAC 最具创新性的工具之一。TNS 允许编码器在频域对量化噪声进行预测编码,实际上实现了时域的噪声整形。对于瞬态信号(如打击乐),TNS 可以显著减少"预回声"伪影。
$$ \text{TNS prediction: } \hat{e}_k = \sum_{i=1}^{n} a_i \cdot e_{k-i} $$感知噪声替代(PNS):对于某些频带,AAC 可以不传输频谱系数,而是只传输噪声能量参数。解码器会用合成噪声填充这些频带。这在比特率受限时特别有效。
AAC 还引入了带宽扩展技术(SBR,Spectral Band Replication),形成了 HE-AAC(High Efficiency AAC)。HE-AAC 不传输完整的高频分量,而是只传输少量参数,解码器通过"复制"低频分量并整形来重建高频。这让 HE-AAC 可以在 48 kbps 甚至更低比特率下提供可接受的立体声音质。
flowchart TB
subgraph "AAC-LC 编码工具链"
A[输入音频] --> B[MDCT滤波器组<br/>1024系数]
B --> C[TNS瞬态噪声整形]
C --> D[量化]
D --> E[Huffman熵编码]
E --> F[比特流]
end
subgraph "HE-AAC v2 扩展"
G[低频AAC编码] --> H[SBR带宽扩展]
H --> I[PS参数立体声]
I --> J[组合比特流<br/>低至24kbps]
end
AAC 在技术上全面超越 MP3。在相同比特率下,AAC 通常提供更好的音质;在相同音质下,AAC 通常需要更低的比特率。具体来说:
- MP3 在 128 kbps 左右开始接近"透明"
- AAC 在 96 kbps 左右即可达到类似质量
- HE-AAC 在 48-64 kbps 即可提供"可接受"的音乐质量
但 AAC 也继承了一个问题:专利。AAC 涉及数十家公司的专利,许可程序复杂,版税成本不可忽视。对于商业应用来说,这可能不是大问题;但对于开源项目和小型开发者来说,这是一个实实在在的障碍。
Opus:完美的妥协?
Opus 的诞生源于一个简单而宏大的目标:创建一个统一编解码器,同时适用于语音和音乐,覆盖从 6 kbps 到 510 kbps 的比特率范围,支持从窄带(8 kHz 采样率)到全频带(48 kHz 采样率)的音频带宽。
2010年,互联网工程任务组(IETF)启动了编解码器工作组,目标是标准化一个适合实时通信的音频编解码器。经过两年的激烈竞争和技术融合,Opus 于 2012 年成为 RFC 6716 标准。
Opus 的独特之处在于其混合架构:它结合了两种完全不同的编码技术——来自 Skype 的 SILK 和来自 Xiph.Org 的 CELT。
SILK 是一种基于线性预测编码(LPC)的语音编解码器。它的核心思想是将语音信号分解为两部分:激励信号和滤波器参数。激励信号表示声门的振动模式(周期性的浊音或噪声性的清音),滤波器参数表示声道的频率响应。这种分解非常适合语音,因为语音的频谱包络相对稳定,可以用少量参数精确描述。
$$ s[n] = \sum_{k=1}^{p} a_k \cdot s[n-k] + e[n] $$其中 $s[n]$ 是语音信号,$a_k$ 是线性预测系数,$e[n]$ 是激励信号。
CELT(Constrained Energy Lapped Transform)是一种基于变换编码的通用音频编解码器。它使用 MDCT 将音频转换到频域,然后对频谱系数进行量化和编码。与传统的音频编解码器不同,CELT 特别设计了极低的算法延迟——帧大小可以小到 2.5 毫秒,这使得它非常适合实时通信。
Opus 的天才之处在于如何将这两种技术融合在一起:
flowchart TB
subgraph "Opus 混合编码架构"
A[音频输入] --> B{模式决策器}
B -->|语音/低比特率| C[SILK编码器<br/>LPC+VQ]
B -->|音乐/高比特率| D[CELT编码器<br/>MDCT]
B -->|混合内容| E[混合模式<br/>SILK+CELT]
C --> F[比特流复用]
D --> F
E --> F
F --> G[Opus输出]
end
这种自适应模式切换是 Opus 的核心竞争力。对于语音通话,它会自动切换到 SILK 模式,以极低的比特率(低至 6 kbps)提供清晰的语音;对于音乐或混合内容,它会切换到 CELT 模式或混合模式,以更高的比特率提供更好的音质。
graph TD
subgraph "Opus 编码模式选择策略"
A[比特率 < 24kbps] --> B[SILK 语音模式]
C[24kbps ≤ 比特率 < 40kbps] --> D[混合模式]
E[比特率 ≥ 40kbps] --> F[CELT 音乐模式]
end
B --> G[延迟: 5-40ms]
D --> H[延迟: 5-65ms]
F --> I[延迟: 2.5-20ms]
从性能角度看,Opus 是令人惊叹的:
| 编解码器 | 透明阈值 | 算法延迟 | 适用场景 |
|---|---|---|---|
| MP3 | ~192 kbps | > 100 ms | 音乐存储/流媒体 |
| AAC-LC | ~128 kbps | ~50 ms | 音乐存储/流媒体 |
| HE-AAC v2 | ~48 kbps | ~50 ms | 低比特率流媒体 |
| Opus | ~96-128 kbps | 5-65 ms | 实时通信/音乐 |
在 64 kbps 的听音测试中,Opus 的得分与 HE-AAC 相当甚至更好;在 96 kbps 时,Opus 已经接近透明,而 MP3 需要 192 kbps 才能达到类似效果。
更重要的是延迟。实时通信需要端到端延迟低于 150 毫秒,否则对话会变得不自然。MP3 的算法延迟超过 100 毫秒,不适合实时通信;AAC-LD(Low Delay)通过牺牲压缩效率将延迟降到 20-50 毫秒;而 Opus 默认使用 20 毫秒帧大小,总算法延迟仅 26.5 毫秒,完美适合实时应用。
这也是为什么 Opus 成为 WebRTC 的强制音频编解码器。任何支持 WebRTC 的浏览器都必须支持 Opus,这确保了跨平台的实时通信兼容性。
专利池的阴影:Opus 的"免版税"困境
故事本该到此结束:Opus 技术卓越、开源免费、成为 WebRTC 标准,从此大家幸福地生活在一起。但现实总是比理想复杂。
Opus 从设计之初就以"免版税"为目标。Xiph.Org、Broadcom 和 Microsoft(通过收购 Skype)都承诺对其持有的 Opus 相关专利提供免费许可。Mozilla 在设计 Opus 时投入了大量法律资源,避免已知的专利雷区,并申请了大量防御性专利。
Opus 官方许可页面明确声明:
“Opus 有一个免费提供的规范、BSD 许可的高质量参考编码器和解码器,以及所需的专利的保护性、免版税许可。Opus 的版权和专利许可自动授予所有人,无需申请或批准。”
但专利世界的规则远比这复杂。IETF 的知识产权披露政策允许任何人声明其专利"可能涵盖"某个标准。在 Opus 的情况中,除了 Xiph.Org、Broadcom 和 Microsoft 之外,Qualcomm、Huawei、France Telecom 和 Ericsson 都提交了潜在涉及版税的知识产权披露。
Opus 团队的官方回应是:外部法律顾问 Dergosits & Noah 已建议我们,Opus 可以在不许可 Qualcomm、Huawei、France Telecom 或 Ericsson 披露的专利的情况下实现。Mozilla、Cisco 和 Google 都在其产品中部署了 Opus,这表明他们对法律风险有足够的信心。
然而,2023年 1 月,一家名为 Vectis IP 的公司推出了"Opus 专利池"。
这个专利池由 Dolby Laboratories 和 Fraunhofer IIS(MP3 的共同发明者)作为许可方,声称拥有 Opus 标准的必要专利。Vectis 的官方网站表示:
“与音频先驱 Dolby Laboratories 和 Fraunhofer IIS 合作,Vectis IP 创建了一个 Opus 专利池,为最终用户硬件设备(如智能手机、平板电脑、个人电脑、智能电视、智能音箱、游戏机和 IP 电话)的制造商/销售商提供在合理和非歧视性条款下有效许可 Opus 编解码器必要专利的途径。”
关键点在于:“Opus 计划将专注于硬件设备,不会针对开源软件、应用程序、服务或内容。”
timeline
title 音频编解码器专利时间线
section MP3 时代
1987 : Fraunhofer开始MP3研发
1993 : MPEG-1 Layer III标准发布
1998 : Fraunhofer开始专利执法
2012 : 欧盟专利过期
2017 : 美国专利过期
section AAC 时代
1994 : MPEG-2 AAC标准发布
1997 : MPEG-4 AAC扩展
2006 : HE-AAC v2标准化
持续有效 : 多公司专利池许可
section Opus 时代
2010 : IETF工作组启动
2012 : RFC 6716发布
2023 : Vectis专利池成立
2025 : Dolby起诉Acer
这意味着什么?
对于开源软件项目(如 Firefox、Chrome 的 Opus 实现),专利池声称不会采取行动。但对于硬件制造商——智能手机、智能音箱、游戏机——专利池要求支付版税。
2025年 10 月,EPSON 与 Dolby 就音频编解码器争议达成和解,并获得了 Vectis 专利池许可。2025年 12 月,Dolby 在统一专利法院(UPC)起诉 Acer,指控其笔记本电脑和个人电脑侵犯了 Opus 标准必要专利。
这是 Opus"免版税"承诺面临的首次重大挑战。虽然专利池明确表示不会针对开源软件,但硬件设备制造商显然不在"免版税"范围内。对于一个声称"自动授予所有人"免版税许可的标准来说,这是一个尴尬的局面。
技术与法律的永恒博弈
为什么音频编解码器总是陷入专利困境?
一个关键原因是:音频编码是一个成熟领域,累积了四十多年的专利。从 1970 年代的早期感知编码研究,到今天的神经音频编解码器,几乎每一步创新都被申请了专利。一个新的编解码器很难完全避开所有现有专利。
另一个原因是:标准制定组织的知识产权政策存在设计缺陷。以 IETF 为例,参与者被要求披露可能涵盖标准的专利,但非参与者(如 Dolby、Fraunhofer)没有这个义务。他们可以在标准发布后,声称拥有必要专利,并要求版税。
pie title 编解码器专利生态复杂性
"技术专利" : 40
"实现专利" : 25
"优化专利" : 20
"工具专利" : 15
更深层的问题是:专利制度的初衷是保护创新者,但在软件和算法领域,它可能产生相反的效果。一个音频编解码器可能涉及数百个算法,每个算法都可能被某个专利覆盖。即使每个专利只要求微不足道的版税,累积起来也可能成为不可承受的负担。
这就是为什么 Opus 的设计如此谨慎:它尽量使用已知的技术,避免进入专利雷区。但 Vectis 专利池的出现表明,即使最谨慎的设计也无法完全避免专利争议。
神经音频编解码器:下一个战场?
当 MP3、AAC 和 Opus 还在专利战场上厮杀时,一个新的竞争者已经出现:神经音频编解码器。
2021年,Google 发布了 SoundStream,这是第一个可以在智能手机 CPU 上实时运行的神经音频编解码器。它使用端到端学习,自动发现最优的压缩策略,而不是依赖人工设计的心理声学模型。Meta 的 Encodec 随后跟进,提供了从 1.5 kbps 到 24 kbps 的多带宽支持。
神经音频编解码器的核心是一个自动编码器结构:编码器将音频压缩为潜在表示,解码器从潜在表示重建音频。关键创新是残差向量量化(RVQ)和对抗训练,前者允许精确控制比特率,后者确保重建音频的感知质量。
flowchart LR
subgraph "神经音频编解码器架构"
A[输入音频] --> B[编码器<br/>CNN+Attention]
B --> C[潜在空间]
C --> D[RVQ量化<br/>残差向量量化]
D --> E[离散Token]
E --> F[解码器<br/>转置CNN]
F --> G[重建音频]
end
subgraph "训练机制"
H[判别器<br/>对抗损失] --> I[感知损失]
J[重建损失] --> I
end
在极低比特率(如 3 kbps)下,神经音频编解码器可以超越传统编解码器。这为卫星通信、物联网设备等带宽受限场景开辟了新的可能性。
但神经音频编解码器面临自己的挑战:计算复杂度远高于传统编解码器,对硬件资源要求更高;端到端学习的"黑盒"性质使得错误诊断和修复更加困难;更重要的是,神经网络的训练数据和架构本身可能涉及专利。
graph LR
subgraph "编解码器演进对比"
A[MP3<br/>1993] -->|改进| B[AAC<br/>1997]
B -->|统一| C[Opus<br/>2012]
C -->|AI驱动| D[神经编解码器<br/>2021+]
end
subgraph "性能指标"
A --> E[透明: 192kbps<br/>延迟: >100ms]
B --> F[透明: 128kbps<br/>延迟: ~50ms]
C --> G[透明: 96kbps<br/>延迟: 5-65ms]
D --> H[透明: ~3kbps<br/>延迟: 可变]
end
未来会是怎样?也许我们会看到神经音频编解码器成为新标准,开启下一个十年的音频革命。也许传统编解码器会吸收神经网络的优点,进化出更高效的混合架构。或者,专利困局将继续阻碍创新,让最好的技术输给"足够好"的免版税替代品。
尾声
回到 Karlheinz Brandenburg 的实验室。当他用 Suzanne Vega 的歌声测试 MP3 时,他可能不会想到,这个算法会在接下来的三十年里引发如此多的技术突破、商业竞争和法律纠纷。
MP3 证明了感知音频编码的可行性;AAC 展示了如何在技术上超越前辈;Opus 实现了语音和音乐的统一,并试图打破专利枷锁;神经音频编解码器正在探索全新的可能性。每一代编解码器都在回答同一个问题:如何在有限带宽下传递最大信息量?
但每一代编解码器也面临同样的困境:如何在一个专利密集的领域实现真正的自由?
也许,音频编解码器的历史告诉我们一个简单的道理:技术可以完美,但技术从未完美地存在于真空中。它们被专利法、商业利益、标准政治所塑造。最优秀的技术不一定能赢得市场——有时候,“免版税"比"更高效"更重要;有时候,“足够好"比"完美"更实用。
当我们下一次在流媒体平台听歌、在视频会议中通话、或在线游戏中语音聊天时,不妨想一想:那看似简单的音频背后,是三十年的技术演进和法律博弈。而这场博弈,远未结束。
参考文献
-
Herre, J., & Dietz, M. (2025). Perceptual Audio Coding: A 40-Year Historical Perspective. arXiv preprint arXiv:2504.16223v1.
-
Valin, J. M., et al. (2012). Definition of the Opus Audio Codec. IETF RFC 6716.
-
Brandenburg, K. (1999). MP3 and AAC Explained. AES 17th International Conference.
-
Bosi, M., et al. (1997). ISO/IEC MPEG-2 Advanced Audio Coding. Journal of the Audio Engineering Society, 45(10), 789-814.
-
Dietz, M., et al. (2015). Spectral Band Replication: A Novel Approach for Audio Coding. AES Convention Paper.
-
Valin, J. M., et al. (2013). High-Quality, Low-Delay Music Coding in the Opus Codec. AES 135th Convention.
-
LWN.net. (2022). Patent clouds for the Opus codec.
-
Vectis IP. (2023). Opus Patent Pool Launch Announcement.
-
Fraunhofer IIS. (2017). The MP3 History - Timeline.
-
Xiph.Org Foundation. Opus Codec License and Patents.
-
HydrogenAudio. (2011-2015). Opus Listening Test Results.
-
Defossez, P., et al. (2022). High Fidelity Neural Audio Compression. arXiv preprint arXiv:2210.13438.
-
Lyu, A., et al. (2021). SoundStream: An End-to-End Neural Audio Codec. arXiv preprint arXiv:2107.03312.
-
Wikipedia. Comparison of audio coding formats.
-
MDN Web Docs. Web Audio Codec Guide.