Posts Tagged ‘vbr’

音频基础与MP3编码技术

星期五, 六月 11th, 2010

转自:http://hi.baidu.com/haiyi78/blog/item/5ed72897d6c7ac6154fb9644.html

 

一. 基本知识:

1、音乐格式——将音源信号按照不同的协议进行录制和压缩进行处理后,形成的档案文件格式。音乐格式分无损压缩格式(如CD、WAVE等格式)、有损压缩格式(如MP3、RM、WMA)和一些专用格式(如MIDI)。 本文主要是对音频格式分析。

2、位速——每秒钟声音流的字节数,也叫码率、码速、线速等。单位是Kbps或Kb/s,注意这里使用的”b”是bit。通常人们“位速”又叫音效水平,一般位速高代表音效水平较好。

3、档案容量——是指存储在记录器(如磁盘、光盘等)上的占用空间容量。一般用MB表示,本文使用的”B”是byte单位; 1byte=8bit。

4、声音文件——是音乐、歌曲、朗诵等文件的总称。为行文直观,本文也用音乐、歌曲来泛代声音文件。

二. 首先我们来认识下MP3这种现下最流行的音频格式:

MP3 是利用 MPEG-1 Audio Layer-3 的技术,将声音用 1:10 甚至 1:12 的压缩率,变成容量较小的文件,但是在人耳听起来,却没有什么不同。当然这是一种失真压缩,就像图形文件 JPG 一样,因为失真压缩,所以可以压得很多,也可以调整压缩比率,压得越多失真也越多。

>> 现在最流行的几款MP3编码方式:

VBR(Variable Bitrate)动态比特率:也就是没有固定的比特率,压缩软件在压缩时根据音频数据即时确定使用什么比特率,这是以质量为前提兼顾文件大小的方式,推荐此编码模式;

ABR(Average Bitrate)平均比特率:是VBR的一种插值参数。LAME针对CBR不佳的文件体积比和VBR生成文件大小不定的特点独创了这种编码模式。ABR在指定的文件大小内,以每50帧(30帧约1秒)为一段,低频和不敏感频率使用相对低的流量,高频和大动态表现时使用高流量,可以做为VBR和CBR的一种折衷选择。

CBR(Constant Bitrate)常数比特率:指文件从头到尾都是一种位速率。相对于VBR和ABR来讲,它压缩出来的文件体积很大,而且音质相对于VBR和ABR不会有明显的提高。

MPC (MusePaCk) :音乐格式新宠儿MPC,在全方面音频测试中MPC是所有编码中最好的.为了保证高音质,它的最大码率甚至高达1.32Mbps,这已经快接近CD的1.41Mbps了!不过由于知名度较前面的低,直接就能播放MPC的软件非常少,据我们所知只有FooBar2000和JetAudio 5.

三. 对MP3及音频压缩技术的一些误解与解答

1、mp3的音质很差?

错。mp3作为当前音频有损压缩的“王者”,它的编码技术已经几近完美。很多人只是不清楚如何才能压缩出高品质的mp3而已。2001年12月,世界上最优秀的mp3编码器–LAME推出了革命性的版本3.90.2,针对lame压缩参数过于烦琐的情况,提供了几个preset(预设)参数。现在只要使用LAME的standard(标准)模式进行压缩,就能得到近似于CD的完美音质。

2、128kbps的mp3=CD音质?

错。首先,所谓CD音质是一个带有很大主观性的名词,基本上可以认为CD音质意味着在平均水平的听音条件下能达到用光驱放CD的效果。但是根据这个定义,无数的试听结果表明,不管用什么编码器,什么样的设置,128kbps的mp3都不能达到这个标准。关于这方面的主题可参考 http://ff123.net 这是一个非常著名的国外音频站点,对128kbps的mp3的测试有非常详细的理论阐述。

3、mp3 192kbps CBR(固定比特速率) Stereo(立体声)编码是音质与文件大小的最佳平衡设置?

错。这一误解有很深的根源。因为128kbps的mp3在音质上不能被“苛刻”的音乐爱好者接受,所以他们要寻求更好的设置。对Xing编码器及Fraunhofer编码器来说,直到现在它们在VBR(可变比特速率)和jointstereo(混合立体声)的算法上都很失败,所以很多人都认为CBR和stereo才是最佳的选择,而且192kbps的mp3在文件大小上也是可以接受的。是LAME编码器改变了这一切!LAME采用的VBR及智能的joint stereo算法非常优秀,已经没什么理由再去使用CBR和stereo–这样做只会浪费有限的bits。标准的VBR预定设置(即使用–alt-preset standard参数)生成的mp3文件的平均比特率也是192kbps,但它的音质要好过CBR 192kbps,在同等的比特率下其他的编码器非其敌手(按:除了1、mpc–其音质在该bitrate左右好于mp3, 2、最近的oggenc 1.0–not tested yet)。

4、mp3 320kbps CBR Stereo是mp3音质的极限?

错(或者说Not exactly true)。虽然320kbps是mp3标准的极限,但在320kbps下使用设计良好的Joint Stereo,能够将节省下下的bits用于纯粹的音乐部分(从而提高音质)。如果音源的立体声分离度很低,使用完全的stereo是一种浪费。

5、VBR的音质不如CBR?

错。设计良好的VBR算法不会将bits浪费在易于编码的部分,节省下来的bits将用在对复杂的音频部分进行编码。这一误解可能来自于较老的FhG Encoder的VBR算法及Xing VBR算法中存在的bug,对当前的lame编码器来说,它的VBR算法已被协调得很好,不会有音质上的问题。

四. MP3编码参数详解

       >>最高品质参数:

       –air-preset insane 或者 –alt-preset cbr 320
       320k 的 CBR,音质最好,文件体积最大

       >>CBR参数:

       –alt-preset cbr Bitrate(此处的Bitrate用下面参数代替)
       (可用Bitrate:80、96、112、128、160、192、224、256、320)

       >> VBR参数:

       1. –alt-preset extreme
       220-270k左右的VBR,音质与上面参数相仿,但文件体积小25%,推荐此参数

       2. –alt-preset fast extreme
       音质比上面参数稍微差一些

       3. –alt-preset standard
       180-220k左右的VBR,在音质和文件大小之间比较好的平衡

       4. –alt-preset fast standard
       音质比上面参数稍微差一些

       5. –alt-preset standard -Y
       虽然品质稍差,但文件体积非常小

       >> ABR参数:

       –alt-preset Bitrate(此处的Bitrate用下面参数代替)
       (可用Bitrate:80、96、112、128、160、192、224、256、320)