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——所有现代音频编解码器都建立在这个简单却强大的原理之上。

心理声学模型的工作流程可以概括为以下几个步骤:

  1. 频谱分析:将音频信号分解为不同频率分量
  2. 掩蔽阈值计算:根据信号能量分布确定每个频带的掩蔽阈值
  3. 比特分配:将更多比特分配给掩蔽阈值以下的频带(这些区域的量化噪声更容易被听到)

这就是为什么 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[比特率 &lt; 24kbps] --> B[SILK 语音模式]
        C[24kbps ≤ 比特率 &lt; 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 实现了语音和音乐的统一,并试图打破专利枷锁;神经音频编解码器正在探索全新的可能性。每一代编解码器都在回答同一个问题:如何在有限带宽下传递最大信息量?

但每一代编解码器也面临同样的困境:如何在一个专利密集的领域实现真正的自由?

也许,音频编解码器的历史告诉我们一个简单的道理:技术可以完美,但技术从未完美地存在于真空中。它们被专利法、商业利益、标准政治所塑造。最优秀的技术不一定能赢得市场——有时候,“免版税"比"更高效"更重要;有时候,“足够好"比"完美"更实用。

当我们下一次在流媒体平台听歌、在视频会议中通话、或在线游戏中语音聊天时,不妨想一想:那看似简单的音频背后,是三十年的技术演进和法律博弈。而这场博弈,远未结束。


参考文献

  1. Herre, J., & Dietz, M. (2025). Perceptual Audio Coding: A 40-Year Historical Perspective. arXiv preprint arXiv:2504.16223v1.

  2. Valin, J. M., et al. (2012). Definition of the Opus Audio Codec. IETF RFC 6716.

  3. Brandenburg, K. (1999). MP3 and AAC Explained. AES 17th International Conference.

  4. Bosi, M., et al. (1997). ISO/IEC MPEG-2 Advanced Audio Coding. Journal of the Audio Engineering Society, 45(10), 789-814.

  5. Dietz, M., et al. (2015). Spectral Band Replication: A Novel Approach for Audio Coding. AES Convention Paper.

  6. Valin, J. M., et al. (2013). High-Quality, Low-Delay Music Coding in the Opus Codec. AES 135th Convention.

  7. LWN.net. (2022). Patent clouds for the Opus codec.

  8. Vectis IP. (2023). Opus Patent Pool Launch Announcement.

  9. Fraunhofer IIS. (2017). The MP3 History - Timeline.

  10. Xiph.Org Foundation. Opus Codec License and Patents.

  11. HydrogenAudio. (2011-2015). Opus Listening Test Results.

  12. Defossez, P., et al. (2022). High Fidelity Neural Audio Compression. arXiv preprint arXiv:2210.13438.

  13. Lyu, A., et al. (2021). SoundStream: An End-to-End Neural Audio Codec. arXiv preprint arXiv:2107.03312.

  14. Wikipedia. Comparison of audio coding formats.

  15. MDN Web Docs. Web Audio Codec Guide.