MP3

MP3（MPEG-1或MPEG-2 Audio Layer III）是一种数字音频编码和有损压缩格式，它被设计来大幅降低音频数据量，通过舍弃PCM音讯资料中对人类听觉不重要的部分，达成压缩成较小档案的目的。而对于大多数用户的听觉感受来说，MP3的音质与最初的不压缩音频相比没有明显的下降。它是在1991年，由位于德国埃尔朗根的研究组织弗劳恩霍夫协会的一组工程师发明和标准化的。MP3的普及，曾对音乐产业造成冲击与影响。

## 概观

MP3是一个数据压缩格式。它舍弃脉冲编码调制（PCM）音频数据中，对人类听觉不重要的数据（类似于JPEG，是一个有损图像的压缩格式），从而达到了压缩成小得多的文件大小。

在MP3中使用了许多技术，其中包括心理声学，以确定音频的哪一部分可以丢弃。MP3音频可以按照不同的位元率进行压缩，提供了权衡数据大小和音质之间的依据。

MP3格式使用了混合的转换机制将时域信号转换成频域信号：

- 32波段多相积分滤波器
- 36或者12 tap 改良离散余弦滤波器（改进的离散余弦变换）；每个子波段大小可以在0...1和2...31之间独立选择
- 混叠衰减后处理

尽管有许多创造和推广其他格式的重要努力，如 MPEG 标准中的 AAC（Advanced Audio Coding）和 IETF 开放标准中的 Opus。然而，由于MP3的空前的流通，在目前来说，其他格式不可能威胁其地位。MP3不仅有广泛的用户端软体支持，也有很多的硬件支持，比如便携式数位音频播放器（泛指MP3播放器）、移动电话、数码多功能影音光碟和CD播放器。

## 历史

### 发展

MPEG-1 Audio Layer II编码开始时是德国Q157332Egon Meier-Engelen管理的数码声音广播项目。这个项目是欧盟作为EUREKA研究项目资助的，它的名字通常称为数码声音广播。EU-147的研究期间是1987年到1994年。

到了1991年，就已经出现了两个提案：MPEG-1 Audio Layer II（称为Layer 2）和ASPEC（Adaptive Spectral Perceptual Entropy Coding，自适应频谱感知熵编码）。荷兰飞利浦公司、法国和德国提出的Musicam方法由于它的简单、出错时的稳定性以及在高品质压缩时较少的计算量而被选中。基于子带编码的Musicam格式是确定MPEG音频压缩格式（采样率、帧结构、数据头、每帧采样点）的一个关键因素。这项技术和它的设计思路完全融合到了ISO MPEG Audio Layer I、II以及后来的Layer III（MP3）格式的定义中。在Hans Musmann教授（汉诺威大学）的主持下，标准的制定由Leon van de Kerkhof（Layer I）和Gerhard Stoll（Layer II）完成。

一个由荷兰Leon Van de Kerkhof、德国Gerhard Stoll、法国Yves-François Dehery和德国组成的工作小组吸收了Musicam和ASPEC的设计思想，并添加了他们自己的设计思想从而开发出了MP3，MP3能够在128码率单位达到MP2 192kbit/s音质。

所有这些算法最终都在1992年成为了MPEG的第一个标准组MPEG-1的一部分，并且生成了1993年公布的国际标准ISO／IEC 11172-3。MPEG音频上的更进一步的工作最终成为了1994年制定的第二个MPEG标准组MPEG-2标准的一部分，这个标准正式的称呼是1995年首次公布的ISO／IEC 13818-3。

编码器的压缩效率通常由位元率定义，因为压缩率依赖于位数和输入信号的采样率。然而，经常有产品使用CD参数（44,100赫兹、两个通道、每通道16位或者称为2×16位）作为压缩率参考，使用这个参考的压缩率通常较高，这也说明了压缩率对于有损压缩存在的问题。

Karlheinz Brandenburg使用CD介质的苏珊娜·薇佳的歌曲Tom's Diner来评价 MP3压缩算法。使用这首歌是因为这首歌的柔和、简单旋律使得在重播时更容易听到压缩格式中的缺陷。一些人开玩笑地将苏珊娜·薇佳称为“MP3之母”。来自于EBU V3/SQAM参考CD的更多一些严肃和critical音频选段（钟琴，三角铁，手风琴，...）被专业音频工程师用来评价MPEG音频格式的主观感受品质。

### MP3走向大众

为了生成位兼容的MPEG Audio文件（Layer 1、Layer 2、Layer 3），ISO MPEG Audio委员会成员用C语言开发的一个称为ISO 11172-5的参考模拟软件。在一些非实时操作系统上它能够演示第一款压缩音频基于DSP的实时硬件解码。一些其他的MPEG Audio实时开发出来用于面向消费接收机和机顶盒的数字广播（无线电DAB和电视DVB）。

后来，1994年7月7日弗劳恩霍夫协会发布了第一个称为的MP3编码器。

Fraunhofer开发组在1995年7月14日选定扩展名：".mp3"（以前扩展名是".bit"）。使用第一款实时软件MP3播放器（1995年9月9日发布）许多人能够在自己的个人电脑上编码和播放MP3文件。由于当时的硬盘相对较小（如500MB），这项技术对于在计算机上存储娱乐音乐来说是至关重要的。

### MP2、MP3与因特网

1993年10月，MPEG-1 Audio Layer II（MPEG-1 Audio Layer 2）文件在因特网上出现，它们经常使用 MPEG Audio Player播放，后来又出现了Tobias Bading为UNIX开发的MAPlay。MAPlay于1994年2月22日首次发布，现在已经移植到微软视窗平台上。

刚开始仅有的MP2编码器产品是Xing Encoder和CDDA2WAV，CDDA2WAV是一个将CD音轨转换成WAV格式的CD抓取器。

（IUMA）通常被认为是在线音乐革命的鼻祖，IUMA是因特网上第一个高保真音乐网站，在MP3和网络流行之前它有数千首授权的MP2录音。

从1995年上半年开始直到整个九十年代后期，MP3开始在因特网上蓬勃发展。MP3的流行主要得益于如Nullsoft于1997年发布的Winamp和于1999年发布的Napster，这样的公司和软件包的成功，并且它们相互促进发展。这些程序使得普通用户很容易地播放、制作、共享和收集MP3文件。

关于MP3文件的点对点技术文件共享的争论在最近几年迅速蔓延—这主要是由于压缩使得文件共享成为可能，未经压缩的文件过于庞大难于共享。由于MP3文件通过因特网大量传播，一些主要唱片厂商通过法律起诉Napster来保护它们的版权（参见知识产权）。

如ITunes Store这样的商业在线音乐发行服务通常选择其他或者专有的支持数字版权管理（DRM）的音乐文件格式以控制和限制数字音乐的使用。支持DRM的格式的使用是为了防止受版权保护的素材免被侵犯版权，但是大多数的保护机制都能被一些方法破解。这些方法能够被计算机高手用来生成能够自由复制的解锁文件。如果希望得到一个压缩的音频文件，这个录制的音频流必须进行压缩且代价是音质的降低。

## 位元率

位元率对于MP3文件来说是可变的。总的原则是位元率越高则声音文件中包含的原始声音信息越多，这样回放时声音品质也越高。在MP3编码的早期，整个文件使用一个固定的位元率，称为固定码率（CBR）。

MPEG-1 Layer 3允许使用的位元率是32、40、48、56、64、80、96、112、128、160、192、224、256和320 kbit/s，允许的采样频率是32、44.1和48千赫兹。44.1kHz是最为经常使用的速度（与CD的采样速率相同），128kbit/s是事实上“好品质”的标准，尽管320kbit/s在P2P文件共享网络上越来越受到欢迎。MPEG-2和非正式的MPEG-2.5包括其他一些位元率：6、12、24、32、40、48、56、64、80、96、112、128、144、160kbit/s。

可变码率（VBR）也是可能的。MP3文件的中的音频切分成有自己不同位元率的帧，这样在文件编码的时候就可以动态地改变位元率。尽管在最初的实现中并没有这项功能。VBR技术现在音频/视频编码领域已经得到了广泛的应用，这项技术使得在声音变化大的部分使用较大的位元率而在声音变化小的部分使用较小的位元率成为可能。这个方法类似于声音控制的磁带录音机不记录静止部分节省磁带消耗。一些编码器在很大程度上依赖于这项技术。

高达640kbit/s的位元率可以使用LAME编码器和自由格式来实现，但是由于它并非标准位元率之一，有些低端或早期的MP3播放器不能够播放这些文件。

## MP3的音频品质

因为MP3是一种有损压缩格式，它提供了多种不同“位元率”（bit rate）的选项—也就是用来表示每秒音频所需的编码数据位数。典型的速度介于128kbps和320kbps（kbit/s）之间。与此对照的是，CD上未经压缩的音频位元率是1411.2 kbps（16位／采样点× 44100采样点／秒× 2声道）。

使用较低位元率编码的MP3文件通常播放品质较低。使用过低的位元率，“压缩失真（compression artifact）”（原始录音中没有的声音）将会在回放时出现。说明压缩噪声的一个好例子是：压缩欢呼的声音；由于它的随机性和急剧变化，所以编码器的错误就会更明显，并且听起来就像回声。

除了编码文件的位元率之外；MP3文件的品质，也与编码器的品质以及编码信号的难度有关。使用优质编码器编码的普通信号，一些人认为128kbit/s的MP3以及44.1kHz的CD采样的音质近似于CD音质，同时得到了大约11:1的压缩率。在许多情况下他们认为MP3音质不佳是不可接受的，然而其他一些听众或者换个环境（如在嘈杂的车中或者聚会上）他们又认为音质是可接受的。很显然，MP3编码的瑕疵在低端声卡或者扬声器上比较不明显，而在连接到计算机的高品质立体声系统，尤其是使用高保真音响设备或者高品质的耳机时则比较明显。

弗劳恩霍夫协会（FhG）在他们的官方网站上，公布了下面的MPEG-1 Layer 1/2/3的压缩率和数据速率用于比较：

- Layer 1: 384 kbit/s，压缩率4:1
- Layer 2: 192 - 256 kbit/s，压缩率8:1-6:1
- Layer 3: 112 - 128 kbit/s，压缩率12:1-10:1

不同层面之间的差别是因为它们使用了不同的心理声学模型导致的；Layer 1的算法相当简单，所以透明编码就需要更高的位元率。然而，由于不同的编码器使用不同的模型，很难进行这样的完全比较。

许多人认为所引用的速率，出于对Layer 2和Layer 3记录的偏爱，而出现了严重扭曲。他们争辩说实际的速率如下所列：

- Layer 1: 384 kbit/s优秀
- Layer 2: 256 - 384 kbit/s优秀，224 - 256 kbit/s很好，192 - 224 kbit/s好
- Layer 3: 224 - 320 kbit/s优秀，192 - 224 kbit/s很好，128 - 192 kbit/s好

当比较压缩机制时，很重要的是要使用同等音质的编码器。将新编码器与基于过时技术甚至是带有缺陷的旧编码器比较可能会产生对于旧格式不利的结果。由于有损编码会丢失信息这样一个现实，MP3算法通过建立人类听觉总体特征的模型尽量保证丢弃的部分不被人耳识别出来（例如，由于noise masking），不同的编码器能够在不同程度上实现这一点。

一些可能的编码器：

- Mike Cheng在1998年早些时候首次开发的LAME。与其他相比，它是一个完全遵循GNU宽通用公共许可证的MP3编码器，它有良好的速度和音质，甚至对MP3技术的后继版本形成了挑战。
- 弗劳恩霍夫协会：有些编码器不错，有些有缺陷。

有许多的早期编码器现在已经不再广泛使用：

- ISO dist10
- Xing
- BladeEnc
- ACM Producer Pro.

好的编码器能够在128到160kbit/s下达到可接受的音质，在160到192kbit/s下达到接近透明的音质。所以不在特定编码器或者最好的编码器话题内说128kbit/s或者192kbit/s下的音质是容易引起误解的。一个好的编码器在128kbit/s下生成的MP3有可能比一个不好的编码器在192kbit/s下生成的MP3音质更好。另外，即使是同样的编码器同样的文件大小，一个不变位元率的MP3可能比一个变位元率的MP3音质要差很多。

需要注意的一个重要问题是音频信号的品质是一个主观判断。安慰效果（Placebo effect）是很严重的，许多用户声明要有一定水准的透明度。许多用户在A/B测试中都没有通过，他们无法在更低的位元率下区分文件。一个特定的位元率对于有些用户来说是足够的，对于另外一些用户来说是不够的。每个人的声音感知可能有所不同，所以一个能够满足所有人的特定心理声学模型并不明显存在。仅仅改变试听环境，如音频播放系统或者环境可能就会显现出有损压缩所产生的音质降低。上面给出的数字只是大多数人的一个大致有效参考，但是在有损压缩领域真正有效的压缩过程品质测试手段就是试听音频结果。

如果你的目标是实现没有品质损失的音频文件或者用在演播室中的音频文件，就应该使用无损压缩（Lossless）算法，目前能够将16位PCM音频数据压缩到38%并且声音没有任何损失，这样的无损压缩编码有索尼 ATRAC Advanced Lossless、杜比实验室、DTS (消歧义) Master Lossless Audio、MLP、索尼 Reality Audio、WavPack、Apple Lossless、FLAC、Windows Media Audio 9 Lossless（WMA）和（Monkey's Audio）等等。

对于需要进行编辑、混合处理的音频文件要尽量使用无损格式，否则有损压缩产生的误差可能在处理后无法预测，多次编码产生的损失将会混杂在一起，在处理之后进行编码这些损失将会变得更加明显。无损压缩在降低压缩率的代价下能够达到最好的结果。

一些简单的编辑操作，如切掉音频的部分片段，可以直接在MP3数据上操作而不需要重新编码。对于这些操作来说，只要使用合适的软件（"mp3DirectCut"和"MP3Gain"），上面提到的问题可以不必考虑。

## MP3的设计限制

MP3格式存有设计限制，即使使用更好的编码器仍旧不能克服这些限制。一些新的压缩格式如 Opus 等不再有这些限制。

按照技术术语，MP3有如下一些限制：

- 位元率最大是320 kbit/s，时间分辨率相对于变化迅速的信号来说太低。
- 对于超过15.5/15.8 kHz的频率没有因数频带，即超过此频率的声音无法编码在MP3内，从频谱来看，15 kHz以上的声音全部消失了，而人耳的听觉上限一般在20 kHz。
- 采样频率最高为48kHz，对于超过48kHz采样频率的音频无法编码在MP3内。
- 联合立体声（Joint stereo）是基于帧与帧完成的。
- 没有定义／的整体时延，这就意味着缺少一个正式的规定。

然而，即使有这些限制，一个经良好的调整MP3编码器仍能够提供与其他格式相提并论或更高的编码品质。

## MP3音频编码

MPEG-1标准中没有MP3编码器的一个精确规范，然而与此相反，解码算法和文件格式却进行了细致的定义。人们设想编码的实现是设计自己的适合去除原始音频中部分信息的算法（或者是它在频域中的改进的离散余弦变换表示）。在编码过程中，576个时域样本被转换成576个频域样本，如果是瞬变信号就使用192而不是576个采样点，这是限制量化噪声随着随瞬变信号短暂扩散。

这是心理声学的研究领域：人类主观声音感知。

这样带来的结果就是出现了许多不同的MP3编码器，每种生成的声音品质都不相同。有许多它们的比较结果，这样一个潜在用户很容易选择合适的编码器。需要记住的是高位元率编码表现优秀的编码器（如LAME这个在高位元率广泛使用的编码器）未必在低位元率的表现也同样好。

## MP3音频解码

另一方面，解码在标准中进行了细致的定义。

多数解码器是位元流，也就是说MP3文件解码出来的非压缩输出信号将与标准文档中数学定义的输出信号一模一样（在规定的数值修约误差范围内）。

MP3文件有一个标准的格式，这个格式就是包括384、576、或者1152个采样点（随MPEG的版本和层不同而不同）的帧，并且所有的帧都有关联的头信息（32位）和辅助信息（9、17或者32字节，随着MPEG版本和立体声或者单通道的不同而不同）。头和辅助信息能够帮助解码器正确地解码相关的霍夫曼编码数据。

所以，大多数的解码器比较几乎都是完全基于它们的计算效率（例如，它们在解码过程中所需要的内存或者中央处理器时间）。

## ID3和其他标签

“标签”是MP3（或其他格式）中保存的包含如标题、艺术家、唱片、音轨号或者其他关于MP3文件信息等添加到文件的数据。最为流行的标准标签格式目前是ID3 ID3v1和ID3v2标签，最近的是APE tag。

APEv2最初是为Musepack开发的（参见 APEv2规范）。APEv2可以与ID3标签在同一个文件中共存，但是它也可以单独使用。

## 音量归一化（normalization）

由于CD和其他各种各样的音源都是在不同的音量下录制的，在标签中保存文件的音量信息将是有用的，这样的话回放时音量能够进行动态调节。

人们已经提出了一些对MP3文件增益进行编码的标准。它们的设计思想是对音频文件的音量（不是“峰值”音量）进行归一化，这样以保证在不同的连续音轨切换时音量不会有变化。

最流行最常用的保存回放增益的解决方法是被简单地称作“播放增益（Replay Gain）”的方法。音轨的音量平均值和修剪信息都存在元数据标签中。

## 授权和专利问题

在认可软件专利的国家控制着 MPEG-1/2 Layer 3专利 的授权，这些国家包括美国和日本，欧盟国家不包括在内。Thomson积极地加强这些专利的保护。Thomson已经在欧盟国家被欧洲专利局（European Patent Office）授予软件专利，但是还不清楚它们是否会被那里的司法所加强。

关于Thomson专利文件、授权协议和费用的最新信息请参考它们的网站 MP3Licensing.com。

在1998年9月，Fraunhofer Institute向几个MP3软件开发者发去了一封信声明“发布或者销售编码器或者解码器”需要授权。这封信宣称非经授权的产品“触犯了Fraunhofer和THOMSON的专利权。制造、销售或者发布使用MPEG-2 Layer 3标准或者我们专利的产品，你们需要从我们这里获得这些专利的授权协议。”

这些专利问题极大地减慢了未经授权的MP3软件开发并且导致人们的注意力转向开发和欢迎其他如WMA和Vorbis这样的替代品。Windows开发系统的制造商微软公司从MP3转向它们自有的Windows Media格式以避免与专利相关的授权问题。直到那些关键的专利过期之前，未经授权的编码器和播放器在认可软件专利的国家看起来都是非法的。

尽管有这些专利限制，“永恒”的MP3格式继续向前发展；这种现象的原因看起来是由如下因素带来的网络效应：

- 熟悉这种格式，不知道有其他可选格式存在
- 这些可选格式没有普遍地明显超过MP3的优势
- 大量的MP3格式音乐
- 大量的使用这种格式的不同软件和硬件
- 没有数字版权管理保护技术，这使得MP3文件可以很容易地修改、复制和通过网络重新发布
- 大多数家庭用户不知道或者不关心软件专利争端，通常这些争端与他们个人用途而选用MP3格式无关

另外，专利持有人不愿对于开源解码器加强授权费用的征收，这也带来了许多免费MP3解码器的发展。另外，尽管他们试图阻止发布编码器的二进制代码，Thomson已经宣布使用免费MP3编码器的个人用户将不需要支付费用。这样，尽管专利费是许多公司打算使用MP3格式时需要考虑的问题，对于用户来说并没有什么影响，这就带来了这种格式的广受欢迎。

Sisvel S.p.A. 和它的美国子公司 Audio MPEG, Inc.以前曾经以侵犯MP3技术专利为由起诉Thomson，但是那些争端在2005年11月最终以Sisvel给Thomson MP3授权而结束。Motorola最近也与Audio MPEG签署了MP3的授权协议。由于Thomson和Sisvel都拥有他们声称编解码器必需的单独的专利，MP3专利的法律状态还不清晰。

### 专利过期

与MP3相关的专利已于2017年4月16日全数过期。MP3进入公有领域后，任何人使用皆无须付专利授权费。

## 其他技术

有许多其他的有损音讯编解码存在，其中包括：

- MPEG-1/2 Audio Layer 2（MP2），MP3的前辈。
- Musepack，也称作Musepack（以前叫MP+），由MP2派生出来。
- 的MP3和的组合，适用于低比特率压缩，是MP3格式的升级版。
- AAC，Apple公司的iTunes音乐商店和IPod使用。
- 杜比数字和数码多功能影音光碟中使用。
- Vorbis，Xiph.Org基金会开发，自由软件和没有专利的编解码器。
- Speex，基于码激励线性预测的专门为语音和网际协议通话技术设计的自由软件和无专利编解码器。
- Opus (音频格式)，Xiph.Org基金会开发，是开放标准定义于互联网工程任务组 RFC 6716，有更低的延迟和更好的声音压缩率，希望用单一格式包含声音和语音，取代Speex和Vorbis。
- 针对蜂窝电话和其他有限带宽使用进行了优化的增强自适应多速宽带编解码器（Enhanced Adaptive Multi Rate WideBand codec）。
- ATRAC，索尼的MD使用。
- 用于低速QuickTime。
- Windows Media Audio（WMA）来自于微软公司。
- RealNetworks的RealAudio，经常用于网站的流媒体。

MP2、MP3、mp3PRO、和AAC都是同一个技术家族中的成员，并且都是基于大致类似的心理声学。弗劳恩霍夫协会拥有许多涵盖这些编解码器所用技术的基本专利，杜比实验室、索尼、和AT&T拥有其他一些关键专利。

在互联网上有一些其他无损音讯压缩方法。尽管它们与MP3不同，它们是其他压缩机制的优秀范例，它们包括：

- FLAC (Free Lossless Audio Codec)
- Monkey's Audio（APE）
- 也称为Shorten
- WavPack
- Apple Lossless
- MPEG-4 ALS

听觉 测试试图找出特定位元率下的最好质量的有损音讯编解码。在128kbit/s下，AAC、MPC、WMA Pro和OGG Vorbis性能持平处于领先位置，LAME MP3稍微落后。在64kbit/s下，AAC-HE和mp3pro少许领先于其他编解码器。在超过128kbit/s下，多数听众听不出它们之间有明显差别。什么是“CD音质”也是很主观的：对于一些人来说128kbit/s的MP3就足够了，而对于另外一些人来说必须是200kbit/s以上的位元率。

尽管如WMA和RealAudio这些新的编解码器的支持者宣称它们各自的算法能够在64kbit/s达到CD音质，听觉测试却显示了不同的结果；不过这些编解码器在64kbit/s的音质明显超过同样位元率下MP3的音质。开源的Vorbis的开发者也宣称它们的算法超过了MP3、RealAudio和WMA的音质，上面提到的听觉测试证实了这种说法。Thomson宣称它的mp3PRO在64kbit/s达到了CD音质，但是测试者报告说64kbit/s的mp3Pro文件与112kbit/s的MP3文件音质类似，但是直到80kbit/s时它才能接近CD音质。

专门为MPEG-1/2视频（VCD/DVD）设计/优化的MP3总体上在低于48kbit/s的单声道数据和低于80kbit/s的立体声上表现不佳。

## 基本资料

- 扩展名：.mp3
- mime：audio/mpeg、audio/MPA、audio/mpa-robust
- 所有者：Fraunhofer Institute
- 类型：音讯
- 使用容器：MPEG-ES
- 标准：ISO/IEC 11172-3、ISO/IEC 13818-3