MP3的全称是Moving Picture Experts Group, Audio Layer III,它所使用的技术是在VCD
MPEG声音标准提供三个独立的压缩层次:层1(Layer 1)、层2(Layer 2)和层3(Layer 3),用户对层次的选择可在复杂性和声音质量之间进行权衡。
① 层1的编码器最为简单,编码器的输出数据率为384 kb/s,主要用于小型数字盒式磁带(digital compact cassette,DCC)。
② 层2的编码器的复杂程度属中等,编码器的输出数据率为256 kb/s~192 kb/s,其应用包括数字广播声音(digital broadcast audio,DBA)、数字音乐、CD-I(compact disc-interactive)和VCD(video compact disc)等。
③ 层3的编码器最为复杂,编码器的输出数据率为64 kb/s,主要应用于ISDN上的声音传输。
Mpeg-1 lay 3支持的采样率为32,44.1,48khz,比特率支持32---320kbps
Mpeg-2 lay 3支持的采样率为16,22.05,24khz,比特率支持8---160kbps
Fraunhofer对此又进行扩展,将原来MPEG-2所支持的低采样率再除以2,得到: 8, 11.025, 和 12 kHz,比特率跟MPEG-2相同,称为 "MPEG 2.5"。
MP3文件可以以不同比特率进行编码,比特率越小,压出来的文件也越小,当然失真也越大。至于它的品质,只要不是太夸张的压缩比,一般人的耳朵是听不出来的,一般来说128kbps已经相当于CD的音质了。
Mp3是怎样压缩数据的
MP3 压缩时运用到五个重要的技巧,分别是最小听觉门槛判定 (The minimal audition threshold) ,遮蔽效应 (The Masking effect) ,位元储存槽 (The reservoir of byres) , The Joint Stereo ,和 Huffman 编码。
最小听觉门槛判定是一种减少资料量的手段,因为人耳对不同频率的声音听到的音量反应不是平直的,因此我们可以将大部分的纪录资讯集中在人耳最灵敏的 2kHz 到 5kHz ,其余频率分配比较少的容量纪录。
遮蔽效应也是听觉心理学模型 (Psychoacoustic models)的一种,它是指一个声音A能感知的阀值因另一个声音B的出现而提高的现象,这时B叫遮蔽声,A叫被遮蔽声;在视觉上呈现的效果就是在大太阳下你比较难看到天空中飞翔的鸟,听觉上的涵义就是当有一个音量或音色特别突出的声音出现,其他细小的声音就比较难被察觉,就像是管弦乐团齐奏时我们很难发现有观众的咳嗽声,尽管咳嗽的音量与没有其他声音时其实是相同的。因此在编码时我们不需要把所有的声音细节都编进去,而该把资料拿去纪录比较突出容易引起注意的声音。
在解释前位元储存槽之前要先说明 MP3 的几个属性 CBR 和 VBR 。 CBR 是 Constant Bitrate 的缩写,也就是说该 MP3 每秒钟的资料流量是固定的,常见的 MP3 都是以 CBR 编码,好处是压缩速度快。相对的 VBR 是 Variable Bitrate的缩写,每秒钟的流量是可以变化的,好处是在讯号复杂时用比较多的容量去纪录,波型简单时就用比较低的流量,以有效利用空间。 CBR 的缺点就是每秒钟的流量都相同,很容易造成空间的浪费,因此有 reservoir of byres 的出现,用途就是当波型简单时就不要用那么大的流量,把多余的空间保留下来储存将来比较复杂的波性资料,维持流量的大小,达到类似 VBR 的效果。 VBR 的 MP3 并不需要 reservoir of byres 。
Joint Stereo 是一种立体声编码技巧,主要分为 Intensity Stereo(IS) 和 Mid/Side (M/S) stereo 两种。 IS 的是在比较低流量时使用,利用了人耳对于低频讯号指向性分辨能力的不足,将音讯资料中的低频分解出来合成单声道资料,剩余的高频资料则合成另一个单声道资料,并另外纪录高频资料的位置资讯,来重建立体声的效果。例如钢琴独奏的录音就可以利用这种方法在有限的资料流量中减少音场资讯却大幅增加音色资讯。Mid/Side (M/S) stereo 在左右声道资料相似度大时常被用到,纪录方式是将左右声道音讯合并 (L+R) 得到新的一轨,再将左右声道音讯相减 (L-R) 得到另外一轨,然后再将这两轨资料用上面提到听觉心理学模型与滤波器处理。 Mid/Side (M/S) stereo 与 IS 一样的是利用部分相位 (phase) 资讯的损失来换得较高的音色纪录资讯。一般的 MP3 是 Mid/Side stereo 和 Intensity Stereo 交替使用的,视资料内容与流量而定。如果是更高流量如 160kbps 以上的 MP3 ,则可以单独将立体声的两个声道独立编码,以保存相位资讯。
Huffman 编码 (coding) 是一种常见的无失真压缩方案。当 PCM 讯号被分成好几个频段并经过以上的处理之后,最后就是经过一种类似 FFT(Fast Fourier Transforms) 的运算称为 MDCT(Modified Discrete Cosine Transform) ,将波型转换为一连串的系数。这些系数最后就要经过 Huffman 编码来做最后的压缩。 Huffman 编码的原理是将比较常出现的字串用特定的符号表示,压缩后就得到一个纪录每个符号代表的字串的编码表以及一连串由各符号组成的资料内容。 Huffman 编码可以节省约 20% 的空间,而也因为经过了 Huffman 编码,我们可以发现用 WinZip 、 WinRAR 之类的压缩软体并没有办法把 MP3压缩小多少,理由就是因为这些压缩软体也是利用类似 Huffman 编码的技巧,因此压缩程度有限。(以上关于 MP3 编码的资料取自
http://www.mp3-tech.org/tech.html 。)
MP3 播放时的运算远比编码时简单,只要先经过 Huffman 解码再由 MDTC 的逆运算重建波型就可以了,值得注意的是 MP3不同于PCM没有bits的概念,我们可以自由使用 16bits 或是 20bits 甚至 24bits 的运算精度来重建波型。本回答被提问者采纳