MP3 vs MPC vs OGG
夏昆冈 于 2003.05.03 08:01:08 | 源自:www.soomal.com | 版权:原创 | 平均/总评分:07.50/30

现在在音频发烧友中,比较推崇三种有损音频编码,分别为MP3、MPC、OGG。在大量新技术的支持下,这些编码都有非常出色的表现,都各自拥有一群支持者,因为人听觉灵敏程度、听音环境和听音感受都会各不相同,我们想通过相对数据化的测试来鉴定一下这几种编码的优劣,我们下面所做的测试,不能完全证明各自的优劣,因为我们的测试器材与知识还无法用足够的证据来给几种编码一个准确的品质排列,因此,我们还是会说明一下我们的听音感受。在测试前,我们先说明一下我们的音频子系统的配置,声卡采用黑金2VP,理由很简单,因为这块卡频响平直且音色中性,细节表现也很不错,适合这次的测试要求。而我们使用的音箱包括Edifier S51m、Edifier R1900T II、世代V300、朝露A100及其他几款中低档次的多媒体音箱,为了尝试体会不同用户在不同的回放设备下的听音体会。

在本次测试中,我们并不去测试编码在超大码率下的表现,我们认为,300kbps以上的码率便开始不具备使实用性了,追求更高音质的话,我们相信更多人会选择无损编码了,因此我们仅仅测试128kbps到200多kbps下的情况。这段码率是是被使用得最多,也是最具有代表性的。

我们测试试用了3个测试样本。

采样一:为 Modern Talking 《Victory》专辑中的曲目《Mrs. Robota》最后一段44秒,特征为高中低频饱满,录音电平高,我们用这个频段测试编码的频率丢失情况,根据我们以往的经验,类似这种特征的信号是最难处理的,为了保证足够的品质,编码器将被迫放弃人耳相对不敏感的高频信号以节约码率,用于去满足人耳相对敏感的频率段的码率需求。我们称这段采样为Sample01。

采样二:为《如梦6——纳秒极光》中《幻影》的最前的40秒。这张CD录音异常优秀,售价高达2000多港币,是不少发烧友梦想拥有的发烧大碟之一,这段采样特征为泛音丰富,细节表现极佳,层次分明,空间感好。我们使用这段采样测试编码的细节保留情况,由于这个测试通过频谱图表现会比较不明显,因此我们会加入我们的听感描述。这段编码被称为Sample02。

采样三:长度为一秒的-3.2dB、1000Hz的正弦波信号,用于测试波形失真的情况。

我们认为,优秀的编码应该尽可能保持对原信号的最大可能还原能力,任何修饰都是不可取的,除非是专用于某种设备的编码。MP3、MPC、OGG均与硬件无关,因此,我们对他们的优劣评判标准就只有一个——看谁的还原能力强大。

我们使用的编码器为:LAME version 3.92 MMX、OggEnc v1.0和MP+ v1.7.9c。在这里特别说明一下,MP+就是MPC,我们并没有使用最新的MPC编码器,因为我们惊讶的发现MPC 的-insane编码模式不见了,这个参数代表了MPC的最高水准,因此我们还是使用了较低的版本,测试使用了-insane和-standard两个参数。在我们写这篇文章的时候,LAME也发布了最新的3.94a版的编码器,但我们事先的测试表明,这个版本存在一定问题,编码的质量不如3.92的优秀。LAME的VBR模式有2个代表性的参数,即--alt-preset extreme和-V 0,关于这2个参数的优劣有着长期的争论,因此我们测试的时候同时使用了2个参数作为对比。OGG编码中,我们将Quality Setting为4和6,这样可以得到码率约为128和192kbps的文件。

这里是采样及编码后文件的大小对比表。

文件名大小(字节)实际平均码率(kbps)
Sample01.wav77617001411
Sample01_LAME--alt-preset extreme.mp31238038225
Sample01_LAME-V0.mp31574277286
Sample01_MPC-insane.mpc1285756234
Sample01_MPC-standard.mpc949160173
Sample01_Ogg128.ogg697054126
Sample01_Ogg192.ogg1056385192
Sample02.wav70561561411
Sample02_LAME--alt-preset extreme.mp31154039231
Sample02_LAME-V0.mp3876435175
Sample02_MPC-insane.mpc1205784241
Sample02_MPC-standard.mpc840212168
Sample02_Ogg128.ogg603745120
Sample02_Ogg192.ogg901188180
Sample03.wav1764441411
Sample03_LAME--alt-preset extreme.mp317202129
Sample03_LAME-V0.mp31223793
Sample03_MPC-insane.mpc28364224
Sample03_MPC-standard.mpc642850
Sample03_Ogg128.ogg677954
Sample03_Ogg192.ogg667953

在编码这些采样过程中,我们发现Ogg的码率总是很难控制,相对我们设置的码率,往往是偏低,因此我们用将编码Quality Setting为8,这样可以等到约等于256kbps平均码率的文件,与LAME --alt-preset extreme和-V 0以及MPC -insane参数,码率上是相当的。

文件名大小(字节)实际平均码率(kbps)
Sample01_Ogg256.ogg1375940250
Sample02_Ogg256.ogg1150623230
Sample03_Ogg256.ogg717257

我们使用Cooledit PRO2进行频谱查看,得到如下截图,为了让各位看得更清楚,测试时,我们将分辨率尽量提高。

  • 在发表评论前我们先说明一下Sample01的情况,Sample01最高频率其实不是20khz,而是22khz,这已经超过我们的听觉极限了。我们可以从上面的截图看到,MPC -insane的表现是最好的,LAME --alt-preset extreme、LAME -V 0和MPC -standard均出现了一刀切的情况,不过这基本不会影响听感,为什么呢?LAME的两个参数的编码结果切除的频率为19600hz,之上的基本都丢失了,丢失的基本都是人耳无法听到的信号了,所以我们并不认为这是低劣品质的表现,当然,能够保证和原始信号更接近是最好的。MPC -standard从18khz处就开始丢失信号了,不过这也不会太多的影响听觉,因为大部分人听不到。我们继续看Sample02的情况。

  • 如果您看这些图片之前,我们建议您将显示器亮度稍微提高点,您可以看到背景其实不是黑色的,有一层薄薄的紫色,这些很弱的信息表现在音乐中就是细节,设备不好或者听力不够都将很难察觉到,这张售价昂贵的大碟录音非常精细,这对编码提出了更高的要求,人耳听觉模型运用的好坏决定了编码质量。仔细观察和对比,我们仍旧认为MPC-insane的表现最好。在某些地方,OGG Quality Setting=8的时候,表现也算不错,从这两个Sample的编码表现耐看,我们给出如下品质排列(说明:这个不是最终的排行,仅仅从上列2个测试而言)。

    1. MPC -insane
    2. OGG Quality Setting 8
    3. OGG Quality Setting 6
    4. LAME --alt-preset extreme
    5. LAME -V 0
    6. MPC -standard
    7. OGG Quality Setting 4

    我们接下来做第三个Sample的测试,这次不是截取频谱,而是波形图。测试信号为-3.2dB、1000Hz的正弦波,长度一秒,无损失的情况下,波峰和波谷连线应该是两条直线并且平行。

  • 结果比较明显。

    1. MPC -insane
    2. LAME -V 0
    3. LAME --alt-preset extreme
    4. MPC -standard
    5. OGG Quality Setting 8
    6. OGG Quality Setting 6
    7. OGG Quality Setting 4

    由于显示精度的问题,我们很难判断LAME的2组参数与MPC -standard谁更好点,不过差异很小了,让我们惊讶的是OGG,即使用到Quality Setting 8,失真还是很大,令人奇怪的是,OGG编码这种单一频率信号,码率低得惊人,与我们期待的值相差甚大,更让人不可理解的是,Quality Setting 8编码后的文件比Quality Setting 6小,但失真程度却要小不少。在波形图上我们也看到了另外一个有意思的现象,LAME的2组参数对应的图后有一段空白信号,这段空白信号经过我们检测,长度为0.19秒,这是完全多出的,前段长度和原始信号长度相当。OGG的也有相似现象出现,不过不是空白信号,而是衰减过的信号,长度为0.10秒,我们暂时没有发现这个现象是如何导致的,MPC不存在这个问题,为此,我们怀疑在编码曲子的时候,LAME或者OGG都会在末端加入不应该有的信号,实验结果表明,这个担心只是多余的,这种奇怪的现象只出现在原始信号时间长度很短的编码解码过程中,实际使用中,我们不会遇到这种现象。

    现在我们再来关注一下受争议的LAME -V 0 和--alt-preset extreme,看看谁更好点。我们从测试结果分析一下,在测试Sample01的时候,-V 0编码的文件大小要比--alt-preset extreme大,Sample02的时候则反过来,2个参数会有什么不同呢,就是听觉模型运用时存在差异,不得不承认,-V 0在Sample02测试时丢失了更多的细节,所以文件小,而在Sample01时为什么会要大一点呢,我们只能这么猜测,-V 0参数对信号强度比较不敏感,保高强度信号舍弃弱信号,而--alt-preset extreme会更多的分析哪些信号是该留下的,哪些不是,舍弃人耳听觉范围外的强信号,保听觉范围内的弱信号。从编码效率而言,--alt-preset extreme参数非常慢,似乎更证明我们的猜测。如果编码一些不注重细节的音乐的时候,哪个参数要更好点呢,在我们实听当中,-V 0的编码的Disco音乐要好过--alt-preset extreme,这又为什么,这可能引发一个用合适的参数编码不同音乐的问题,我们可能在另外一篇文章中分析。

    测试归测试,实听归试听,因此我们还是使用不同的编码器不同参数编码不同的音乐。我们给出如下排行和结论。

    1. MPC -insane
    2. OGG Quality Setting 8
    3. LAME --alt-preset extreme
    4. LAME -V 0
    5. MPC -standard
    6. OGG Quality Setting 6
    7. OGG Quality Setting 4

    1.MPC -insane:平均码率为220-250kbps之间,文件大小可以接受,这也是我们所接触到最好的有损编码了,无论做Sample测试还是做实听测试,我们很难分辨和原始信号有多少区别,无论从频率保留还是细节保留,以及信号强度失真来说,MPC的这个参数代表了此次对比测试的最高水平。说实话,分辨MPC-insane损失了那些信号实在是很累的事情。这个版本的编码器编码MPC -insane存在一点bug,就是可能出现码率错误,当解码遇到这个错误时,解码器会退出解码操作,但这个错误很少见。MPC并非万能的,MPC无法编码48khz采样率的曲子,所幸的是,这样的曲子来源少得可怜。

    2.OGG Quality Setting 8:平均码率为250kbps左右,文件大小可以接受,OGG展现出来的素质也是很令人称道的,但是OGG也暴露出一个最大的缺点,就是高频的金属味道,这多少有点让人失望,虽然OGG Q8几乎可以编码任意频率段,在Q8这个参数下,金属味并不是很重,但并没做到完全听不出。OGG还支持更高码率的编码,不过我们认为没必要了。

    3.LAME --alt-preset extreme:这是LAME发烧友最为推崇的一组参数,也代表了LAME走向成熟,LAME是个具有革命性的MP3编码器,这个参数编码后的文件平均码率同样约在250kbps左右,听感上非常不错,稍差的设备是无法分辨和CD的差异的。这个参数并非完美,在编码频率较高的音乐时,会出现丢失高频的问题,虽然不是很严重,但足够影响到听感了。--alt-preset extreme并不适合Disco这类音乐,推荐用于乐器独奏、人声等音乐编码当中。

    4.LAME -V 0:在--alt-preset extreme参数出来之前,-V 0是被公认最好的VBR参数,当如今的际遇却大不相同,已经很少人用到这个参数了,但是我们还是测试了-V 0的表现,-V 0编码后的文件并没有一个相对固定的平均值,可以为192-320kbps这个很大的范围中浮动,这和-V 0对频率饱满度敏感有关。在细节上,-V 0要稍微逊色--alt-preset extreme,在量化失真、频率保留方面则要好过--alt-preset extreme。在一些不过分注重细节的音乐中,-V 0有着自己的优势,适合编码摇滚、电子合成类音乐。

    5.OGG Quality Setting 6:在中码率情况下,我们认为OGG Q6的听感是很出众的,好过普通MP3编码器很多,频率保留做得不错,但是高频金属味道会让耳朵容易疲劳,如果听音设备不是很好,你大可不必在意这个缺陷,因为你的设备根本就无法暴露这个缺点。在Q6参数下,OGG的声音开始有些飘的感觉,但层次感仍旧很不错。

    6.MPC -standard:编码后的文件码率约170kbps左右,除了高频保留做得不够好之外,听感上不比LAME的2组参数差多少,是一个级别上的水平,但是MPC -standard编码后的文件要小很多,这是一个广大音乐爱好者都能接受的一个参数。

    7.OGG Quality Setting 4:编码后的文件为128kbps,OGG在这个码率上的表现是异常精彩的,虽然可以听出很多毛病来,但对应其他编码器的这个码率段的表现,OGG除了出类拔萃还是出类拔萃,随着码率的降低,OGG的Q4音质的变化没有码率变化得那么快,如果你对音质不是过分挑剔,OGG Quality Setting 4是为您设计的。

    结果已经摆出来了,我们推荐MPC -insane参数。

    请评分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    03

    此帖使用MAC提交
    发表于2022.06.01 14:21:50
    25
    183.145.076.***
    183.145.076.***
    发表于2022.06.01 14:21:16
    24
    096.055.087.***
    096.055.087.***
    发表于2015.11.01 02:41:22
    22
    218.077.***.***
    218.077.***.***
    20
    218.077.***.***
    218.077.***.***
    19
    185.025.***.***
    185.025.***.***
    18
    185.025.***.***
    185.025.***.***
    17
    123.135.135.***
    123.135.135.***
    发表于2012.11.10 23:49:26
    16
    03
    发表于2012.02.09 11:40:23
    15
    125.039.***.***
    125.039.***.***
    发表于2010.10.28 07:06:25
    14
    117.025.***.***
    117.025.***.***
    希望作者可以根据这些流行编码器的新版本,维护更新这篇文章!
    发表于2010.01.02 14:51:07
    11
    发表于2008.01.25 12:54:07
    10
    219.145.***.***
    219.145.***.***
    7
    065.095.***.***
    065.095.***.***
    6
    提示
    本贴不可匿名回复,回复等级为:1 ,您现在正处在潜水状态
    回复
    验证码
    5478 为防止广告机贴垃圾,不得已而为之
    表情
    正文