About Me

My photo
紫雨老师是吸引力法则的个人指导,指导人们运用吸引定律得到所要,活得更好,成为顺心自主,心想事成的魔法师……目前专注于推广影响力经济

紫雨老师的微博 http://www.weibo.com/ziyulaoshi

Wednesday, October 05, 2005

无损压缩入门

美丽元素 >> foobar2000 >> 无损压缩入门
无损压缩入门
[ 作者:李峰 http://bbs.mychat.to 点击数:2273 更新时间:2005-2-4 ]

无损压缩入门


不要纤细要丰润
完美无损压缩
探索
音频无损压缩格式大家族



对于无损压缩,不少人可能已经有所了解,因为APE无损压缩格式已经在很多媒体上介绍过了。不过可惜的是国内对无损压缩的认识也就仅限于APE格式。事实上,无损压缩格式远不止APE这一种,而且APE也不能算得上就是最好的无损压缩格式!本片将力求完整地介绍一下无损压缩格式的大家族,让大家对这个有望登陆数字随身听的格式有个全面的了解。


知识篇

一、何为无损压缩格式?

所谓无损压缩格式,顾名思义,就是毫无损失地将声音信号进行压缩的音频格式。常见的像MP3、WMA等格式都是有损压缩格式,相比于作为源的WAV 文件,它们都有相当大程度的信号丢失,这也是它们能达到10%的压缩率的根本原因。而无损压缩格式,就好比用Zip或RAR这样的压缩软件去压缩音频信号,得到的压缩格式还原成WAV文件,和作为源的WAV文件是一模一样的!但是如果用Zip或RAR来压缩WAV文件的话,必须将压缩包解压后才能播放。而无损压缩格式则能直接通过播放软件实现实时播放,使用起来和MP3等有损格式一模一样。总而言之,无损压缩格式就是能在不牺牲任何音频信号的前提下,减少WAV文件体积的格式。

二、无损压缩格式 VS 有损压缩格式

比起有损压缩格式,无损压缩格式有何优势,又存在哪些弱点呢?下面的比较应该能让你对无损压缩格式有一个清楚的认识。

无损压缩的优势:

1、100%的保存、没有任何信号丢失

正如之前所说,无损压缩格式就如同用Zip压缩文件一样,能100%的保存WAV文件的全部数据,这一点我们可以通过EAC的「WAV比较」功能来证明。将 U2乐队的一首《BeautifulDay》抓轨保存成WAV格式,作为我们的源文件。将这个WAV文件压缩成APE格式,再将APE文件解压缩成 WAV格式。用EAC的「WAV比较」功能对这两个WAV文件进行数据对比,结果如图1,EAC没有报告有任何不一致!而如果是压缩成MP3再解压得到的 WAV文件,对比原始WAV文件,则是从头到尾都不一致(如图2)!有不少朋友希望能最大限度地能将CD「原版」拷贝到硬盘上,同时又想减少空间占用量,这在以前似乎只有320KbpsCBRMP3这一种解决途径了,不过那样也远不能做到100%!而现在,无损压缩格式的出现提供了一个几乎完美的解决方案。

2、音质高,不受信号源的影响

既然是100%的保存了原始音频信号,无损压缩格式的音质毫无疑问和原始CD是一样的!对比《BeautifulDay》的WAV格式和FLAC压缩格式的频谱图,你能看到有任何不同吗(原始WAV格式的频谱图见图3,FLAC的见图 4)?同样,实际聆听也不可能有任何的不同!而有损压缩格式由于其先天的设计(需要丢失一部分信号),所以音质再好,也只能是无限接近于原声CD,要想真正达到CD的水准是不可能!而且由于有损压缩格式算法的局限性,在压缩交响乐等类型动态范围大的音乐时,其音质表现差强人意。而无损压缩格式则不存在这样的问题,任何音乐类型都通吃不误!

3、转换方便

无损压缩格式可以很方便地还原成WAV,还能直接转压缩成MP3、Ogg 等有损压缩格式,甚至可以在不同无损压缩格式之间互相转换,而不会丢失任何数据。这一点比起有损格式可要强的多!因为有损压缩格式的二次编码(从一种有损格式转换成另一种有损格式,或者格式不变而调整比特率)意味着丢失更多的信号,带来更大的失真!

无损压缩的不足:

1、占用空间大,压缩比不高

比起有损压缩格式来,无损压缩格式的压缩能力要差得多,一般都在60%左右。而192Kbps的有损格式只有原文件的14%左右,两者在压缩率上的差异相当悬殊。如图5所示,我用不同的格式压缩了一首U2的《BeautifulDay》,包括Normal模式的APE,High模式的La。但是可以看到,同样是100%保存数据,无损格式的压缩能力比专门对多媒体格式进行了优化的RAR都要强,而Zip则几乎不能压缩WAV格式。再加上无损格式具备 RAR和 Zip都没有的实时播放能力,对于无损格式的技术我们还是相当佩服的!

2、缺乏硬件支持

目前只有FLAC格式得到为数不多的硬件支持,能播放无损压缩格式的随身听还只有Karma这一台。这是多方面的原因造成的。首先,目前主流闪存 MP3随身听的容量还只有128MB或 256MB,存储无损格式显然不现实。其次,解码无损压缩格式需要更大的计算量,这对解码芯片的处理速度提出了更高的要求,而目前这样的解码芯片还很少。再次,解码无损格式甚至要比有损格式消耗更多的电力,这对于目前电池续航能力本来就不理想的MP3随身听来说,无疑是雪上加霜!

三、无损压缩格式一览

目前比较出名的无损压缩格式有APE、FLAC、LPAC、WavPack。

1、APE(Monkey'sAudio)
APE 无疑是目前最著名的无损压缩格式(见图6),在国内应用得已经比较广泛了。它的压缩率相当优秀,而且效率高、速度快,综合能力绝对属于当今的佼佼者。通过 BT(http://www.btchina.net/)或者电骡(www.verycd.com),你能够下载到大量的APE格式音乐。而且广泛使用的 Monkey'sAudio制作软件(如图)也大大推动了该格式的普及。不过APE也存在不少的缺点,它的解码速度不够理想,只能在Windows平台上使用,封闭的源码也影响了它的支持性。

2、FLAC
非常成熟的无损压缩格式,名气不在APE之下!FLAC是 FreeLosslessAudioCodec的简称,该格式的源码完全开放,而且兼容几乎所有的操作系统平台。它的编码算法相当成熟,已经通过了严格的测试,而且据说在文件点损坏的情况下依然能够正常播放(这一点我不曾试过)。该格式不仅有成熟的Windows制作程序(如图7),还得到了众多第三方软件的支持。此外该格式是唯一的已经得到硬件支持的无损格式,Rio公司的硬盘随身听Karma(如图8),建伍的车载音响MusicKeg(如图9)以及 PhatBox公司的数码播放机(如图10)都能支持FLAC格式。

3、WavPack
相当有特点的格式,非常值得一试。 WavPack不仅仅是一个无损压缩格式,它还能同时作为有损压缩格式。在其独特的「hybrid」模式下,WavPack可以压缩成wv文件(有损压缩格式,大小一般相当于WAV文件的23%左右)+wvc文件(修正文件,大小一般相当于WAV文件的41%左右)的组合。有了映射的wvc文件,有损压缩格式的wv文件就变成了无损格式,播放时和普通的无损压缩格式完全一样。如果为了减少文件体积,你可以去掉这个wvc文件,这时wv文件就变成有损格式了,播放起来和高比特率的MP3完全一样!WavPack同时包容了无损格式和有损格式,神奇吧?通过WavPackFrontend前台程序(如图 11),我们可以方便地使用WavPack格式。

4、LPAC
中轨中矩的无损格式,各项指标都比较平均。作者TilmanLiebchen也是不断地对其进行更新,还为它准备了不错的制作程序(如图12)。

5、WMALossless
微软在WindowsMediaPlayer9.0以后也开始提供无损压缩功能了。只需点击菜单「工具」=》「选项」,在「复制音乐」选项卡里选择「WindowsMedia音频无损」格式(如图13)。以后通过WMP的「从CD复制」功能里,就能直接将CD保存成WMALossless格式了,使用起来确实非常方便。不过除了WindowsMediaPlayer外,几乎没有其它软件能支持该格式。

6、AppleLossless
最新版的苹果iTunes音乐软件里也提供了AppleLossless无损压缩格式(如图14)。和WindowsMediaPlayer一样,iTunes可以非常快捷地从CD中抓轨压缩成AppleLossless格式。当然,该格式也同样只得到了自家软件的支持。

7、La
La,是LosslessAudio的简称,该格式名气虽然不大,但却是目前的压缩比冠军,压缩率方面无人能敌,包括一向以压缩率高而着称的APE!正因为压缩得太厉害了,它编解码速度实在够慢的,而且支持它的软件也比较少。仅限于自己开发的Winamp解码插件和Windows界面的编码器 LosslessAudioCompressor。

8、OptimFROG
该格式的压缩率可以媲美La,但是速度比La还要慢(郁闷)!不多说了。

9、Shorten
编码速度非常快的无损格式,但是压缩率就让人很失望了!该格式也是开放源码,同时支持Windows和Mac,不过好久没有更新编码版本了,估计已经夭折。

无损压缩格式还远不止上面这些,还有像RKAU、SZIP、Bonk、Kexis等等,由于非常少见而且很不完善,所以就不予介绍了。

四、无损压缩格式的发展前景

尽管还有一定的不足,但是无损压缩格式的前景无疑是光明的,从目前存在的无损压缩格式种类之多就可以看出这一点!随着时间的推移,限制无损格式的种种因素将逐渐被消除!比如硬盘容量的不断增加,120GB已成主流,160GB也将普及,无损格式占用空间大的问题将不再是问题。而速度更快的解码芯片也将被开发出来,相信会有越来越多的硬盘随身听支持无损格式。而在不久的将来,连闪存随身听的容量都要以GB来计算时,为了追求更高的音质,无损压缩格式会越来越被人重视!


测试篇

首先要非常感谢荷兰的朋友WimSpeekenbrink(他在音频技术界可是相当有名的哦,非常多的编码器前台程序就是他编写的!),他无偿地将其对无损压缩格式横向对比的评测数据提供给我。这让我节约了一大笔时间,而且即便让我来做这样的评测,也肯定没有他做得这么好。OK,让我们看看 WimSpeekenbrink的这个横向测试,他已经把所有常见的无损格式都包含进来了,包括: AppleLossless、FLAC、La、LPAC、Monkey'sAudio、OptimFROG、RKAU、Shorten(Shorten、 ShortenEtree)、TTA、WavPack和WindowsMediaLossless。

本次测试采用了下面的十张CD:

01、ErykahBadu-《Baduizm》
02、TheBeatles(披头士乐队)-《1967-1970》CD1
03、Dido(蒂朵)-《NoAngel》
04、TheEagles(飞鹰乐队)-《Theverybestof》
05、HerbieHancock&WayneShorter-《1+1》
06、DianaKrall(戴安娜·克瑞儿)-《WhenIlookinyoureyes》
07、Metallica-《S&M》CD1
08、MilesDavis(迈尔士·戴维斯)-《KindofBlue》
09、Nirvana(涅磐)-《Nevermind》
10、U2-《Allthatyoucan'tleavebehind》

其中像披头士(甲壳虫)乐队、飞鹰乐队、U2乐队都是大家比较熟悉的了。首先我们将这些CD用EAC抓成CD镜像文件保存在硬盘上,然后分别用上述格式的编码器进行压缩,测试它们的编码速度。接下来再使用它们各自的解码器释放成WAV格式,以测试它们的解码速度。

注:其中比较特殊的WMA9Lossless使用「cscript.exewmcmd.vbs-inputfile.wav- outputfile.wma- a_codecWMA9LSL-a_mode2-a_settingQ100_44_2_16」这样的命令行进行压缩,解码时则是通过 Foobar2000。另外,AppleLossless则靠QuickTimePro6.5.1中「Export->SoundtoWave」(输出为Wav文件)菜单来进行编码压缩。

全部的十张CD都有其各自的测试成绩,最终再汇总得到平均成绩。以《TheEagles-Theverybestof》这张CD为例,其测试结果如表一。而最后结果按压缩率排名则如表二。由此,我们可以得出下面的结论:

最高压缩比:
La0.4b(参数:default)
OptimFROG4.509(参数:highnew)
Monkey'sAudio3.99(参数:extrahigh)

最快编码速度:
Shorten3.6.0
WavPack3.97(参数:normal)
TTA3.0

最快解码速度:
Shorten3.6.0
FLAC1.1.0(anycompressionlevel)
AppleLossless(iTunes4.5.0.31)

你肯定要问,我到底该选择谁呢?的确,很难要分出个上下是很困难的,这里我只能提供我的看法。我的个人推荐就是——FLAC!为什么?为什么不是 APE?的确,除去速度极慢的La和OptimFROG,APE是目前压缩率最高的格式了。但是要知道不同的无损压缩格式之间的压缩率的差距是相当小的,也就仅仅是在3%左右!将一整张CD转换成APE或FLAC,文件大小相差也不过20MB左右,比起现在大家普遍都用上了80GB甚至更高容量的硬盘,这点文件体积上的差异真是算不了什么。至于编码速度上,两者都比较出色、差距不大。但我觉得这不是主要的,毕竟编码的工作每张CD都只要进行一次而已。最最重要的应该是解码速度!因为解码工作是最常进行的,每次播放时都要进行解码,解码速度低的格式会占用更多的CPU资源。当然对于主频在1G以上的计算机而言,这一点点 CPU资源可能算不了什么。但是别忘了,如果要将无损格式转制成MP3或者WMA放到MP3上去,要将无损格式释放刻录到CD上去,都会受到解码速度的影响。所以说,解码速度是最重要的!这也是我推荐FLAC的主要原因。当然,FLAC的开放源码和广泛支持也是它的巨大优势!

No comments: