MP3 VS MD——编码篇.txt
上传用户:zhubin5555
上传日期:2013-03-06
资源大小:373k
文件大小:8k
源码类别:

mpeg/mp3

开发平台:

C/C++

  1. 发信人: Trademark (保持最大克制), 信区: Electronic 
  2. 标  题: MP3 VS MD——编码篇(转载) 
  3. 发信站: 栋力无限 (2002年03月19日17:11:21 星期二), 站内信件 
  4.   
  5. 转自短歌行: 
  6. http://www.audio100.com/cgi-bin/softbug/newsoft.cgi?user=audio100&class=4&su 
  7. bclass=3&softid=1 
  8.   
  9. MP3 VS MD——编码篇 
  10. Audio100.com 夏昆冈 
  11.   
  12.     进入90年代以来,我们进入了数字音频大发展的时代,其中陆陆续续出现了数十种 
  13. 有损和无损编解码方案,由于当时存储技术的不完善,有损编解码算法获得了空前的发 
  14. 展,相信所有电脑用户都接触过,其中以MPEG 1中的Layer 3 Audio和MD的ATRAC压缩方 
  15. 法最被用户关注。 
  16.   
  17. 1、编解码方案 
  18.     在提压缩编码方案之前有必要先提一下人耳的遮蔽效应。 
  19.     声音信号实际是一种能量波,在空气或其他媒介中传播,人耳对声音能量的多少即 
  20. 响度或声压最直接的反应就是听到这个声音的大小,我们称它为响度,表示响度这种能 
  21. 量的单位为分贝(dB)。即使是同样响度的声音,人们也会因为它们频率不同而感觉到 
  22. 声音大小不同。人耳最容易听到的就是4000Hz的频率,不管频率是否增高或降低,即使 
  23. 是响度在相同的情况下,大家都会觉得声音在变小。但响度降到一定程度时,人耳就听 
  24. 不到了,每一个频率都有着不同的值。 
  25.     可以看到这条曲线基本成一个V字型,当频率超过15000Hz时,人耳的会感觉到声音 
  26. 很小,很多听觉不是很好的人,根本就听不到20000Hz的频率,不管响度有多大。 
  27.     当人耳同时听到两个不同频率、不同响度的声音时,响度较小的那个也会被忽略, 
  28. 例如:在白天我们很难听到电脑中散热风扇的声音,晚上却成了噪声源。这种遮蔽被称 
  29. 为同时遮蔽效应。但声音A被声音B遮蔽,如果A处于B为中心的遮蔽范围内,遮蔽会更明 
  30. 显,这个范围叫临界带宽。每一种频率的临界带宽都不一样,频率越高的临界带宽越宽。 
  31.   
  32. 频率(Hz) 临界带宽(Hz) 频率(Hz) 临界带宽(Hz) 
  33. 50 80 1850 280 
  34. 150 100 2150 320 
  35. 350 100 2500 380 
  36. 450 110 3400 550 
  37. 570 120 4000 700 
  38. 700 140 4800 900 
  39. 840 150 5800 1100 
  40. 1000 160 7000 1300 
  41. 1170 190 8500 1800 
  42. 1370 210 10500 2500 
  43. 1600 240 13500 3500 
  44.     想想看,我们现实生活中有那些地方可以体会得到人耳的遮蔽效应。 
  45.     下面来谈谈编码。 
  46.     MD:MiniDisc(中文意思即迷你光盘),采用的就是ATRAC(Adaptive TRansform A 
  47. coustic Coding 自适应声学转换编码)压缩算法,正确的讲,MD是指MiniDisc光盘和M 
  48. iniDisc播放器,ATRAC是支持MD的一种压缩算法,目前仅支持MD,ATRAC有一种衍生算法 
  49. ATRAC3,由一个叫OpenMG Jukebox的软件提供,版权为SONY公司所有,可以用于WINTEL 
  50. 架构的电脑上,与ATRAC不同的是,支持不同的平均数据速率,有132、105、66Kbps可选 
  51. 。ATRAC与ATRAC3的编码原理是:利用了人耳的遮蔽效应。ATRAC和ATRAC3编码方案都将 
  52. 声音讯号以频率响应轴分成52个区段,在低频时分割较细而在高频时分割较粗,而在同 
  53. 一时间里面,响度较小的某些频率段会被忽略不予记录。利用这种原理,ATRAC可以获得 
  54. 1:5的压缩比率。因此可以认为,ATRAC编码算法是丢失细节的,是舍车保帅的一种算法 
  55. 。在SONY最新的MZ-R900机型中已经放弃ATRAC而采用ATRAC3,音质上基本没有差异,但 
  56. 压缩效率高了一倍。已经开始使用我暂且把ATRAC的演算结果简单的理解为: 
  57. 编码前 
  58. 编码后 
  59.     ATRAC将每512次取样作为一个编码单元,时间为11.6ms左右。 
  60.     不同的频率相遇时,其波形会相互叠加,因此波形会比原来的复杂,这种过滤掉响 
  61. 度较小的频率的做法会使波形光滑,更有规律性,用计算机语言描述起来会更简洁,字 
  62. 节数也更小,因此ATRAC在不损失主体的前提下,可以做到进1:5的压缩率。 
  63. 波形叠加演示 
  64. 波形A 
  65. 波形B 
  66. AB叠加后 
  67.     ATRAC在普及中也在不断完善,ATRAC 1.0,不但频率极限只有15KHz,声音尖锐,而 
  68. 且会有很大的噪音。ATRAC2就有所改进,特别是在噪音和音质方面,频率极限也提高到 
  69. 了18KHz;ATRAC3/3.5在这些方面又有了很大进步,ATRAC4更把处理位数提高到完整的2 
  70. 4bit;到ATRAC4.5,频率响应极限被推到了20KHz。以及最新的硬件MZ-R900和软件Open 
  71. MG Jukebox所支持的ATRAC3。注意:ATRAC3不是ATRAC 3.0,ATRAC3在压缩效率上有着很 
  72. 大的改进。 
  73. 支持ATRAC3(MDLP)的MZ-R900(此图来自未来数码动力) 
  74.     MP3:MPEG(MPEG:Moving Picture Experts Group) Audio Layer-3的简称,是MPE 
  75. G1的衍生编码方案,1993年由德国夫朗和费研究院和法国汤姆生公司合作发展成功。MP 
  76. 3可以做到12:1的惊人压缩比,在当年硬盘天价的日子里,MP3迅速被用户接受,随着网 
  77. 络的普及,MP3被数以亿计的用户接受。其实,MP3是一种极不完善的编码方案,它更像 
  78. 一个编码标准框架,留待人们去完善。它不能象ATRAC可以对波形进行分析,过滤与屏蔽 
  79. 非敏感频率,因此早期的MP3编码器给人留下了不佳的印象,MP3提供了很多种平均数据 
  80. 速率,为了追求更好的音质,很多人使用320KBPS的平均数据速率,虽然音质得到了一定 
  81. 的保护,但缺乏优化算法,实际听音效果还是落后于MD。象MPEG一样,MP3支持流式播放 
  82. ,也就是说播放器可以不用预读文件的全部内容就可以播放,读到哪里播放到哪里,即 
  83. 使是文件有部分损坏。你可以通过16进制编辑器任意复制MP3文件的代码另保存为一个M 
  84. P3文件的方法来验证这个特征,也可以使用COPY命令合并N个MP3文件的方法来验证。正 
  85. 因为这种特性,决定了MP3文件的每一段每一帧都可以单独的平均数据速率,而无需特别 
  86. 的解码方案。MPEG Audio Layer-3是一种完全开放的编解码方案,所以爱好者可以自由 
  87. 的去完善MP3方案,而不用担心超出编解码标准的范畴,于是出现了一种叫VBR(Variab 
  88. le bitrate,动态数据速率)的技术,可以让MP3文件的每一段都可以有单独的bitrate 
  89. ,这样一来音质和文件大小得到了保证,但仍旧不完善,还是缺乏对波形的分析算法, 
  90. 直到LAME的出现。LAME不但将VBR发挥的淋漓尽致,而且对波形的分析有着相当高超见解 
  91. 。如图: 
  92.     LAME将波形分割成50帧(30帧约1秒)一段,根据该段落内频率的高低动态设置bit 
  93. rate,低频使用相对低的bitrate,高频使用高bitrate,这样一来音质得到了很大程度 
  94. 的保护。和ATRAC不同,MP3可以保留所有响度的频率,可以不进行过滤非敏感频率,但 
  95. LAME可以做到过滤非敏感频率。 
  96.     短歌行网站(WWW.AUDIO100.COM)在郑重推荐LAME后作了一个调查,有近80%的使用 
  97. 者表示极其满意、满意或比较满意。随着LAME的升级和加入对ABR(一种比VBR更先进动 
  98. 态数据速率分配技术)支持,MP3的音质还将得到进一步的提高。 
  99.     LAME也使用了人耳的遮蔽效应,从下面的测试中将可以体会得到。其实Lame改良的 
  100. 算法和ATRAC有一定的相似之处,为了实现人耳的遮蔽效应,也为了达到压缩的目的,两 
  101. 者都会把信号的频谱划分为3个区域,即下图演示的A、B、C。 
  102.     A区是没有信号的区域,属于可以抛弃的区域,在解码过程中将被解码器用空信号填 
  103. 充。C区内的信号都相对C区上界限是满载的,因此可以通过描述C区上边缘界线来还原, 
  104. 而且这个界线与B区下界线完全吻合,所以B区完全可以抛弃,在解码过程中完全可以用 
  105. 解码器填充,所以真正要处理的就是B区,根据频率的高低分配不同的bitrate,不同版 
  106. 本的ATRAC最大的差异就在对B区的处理方式上。 
  107.     在Lame之前的MP3编码器几乎都无法进行正确的波形分析,对源信号都是进行完全破 
  108. 坏性的编码,所以MP3的口碑不好也是情理之中的事情了。 
  109.   
  110. 2、从编码原理看优劣 
  111.     从两者的编码原理上分析,应该说是各有千秋,ATRAC算法注定了要丢失细节,在欣 
  112. 赏用乐器演奏的音乐如古典音乐或民族音乐时会有部分细节无法听到,衡量一张音乐碟 
  113. 是否灌录是否出色,细节的丰富程度是很重要的指标。当听流行音乐或电子音乐就会有 
  114. 近乎完美的表现,因为这些音乐大部分采用电子乐器,产生的频率相对简单,各频率间 
  115. 的响度差异也不会很大。而MP3可以不用太挑剔,无论对什么音乐编码都不会有很大的缺 
  116. 陷,但任何频率都会失真,bitrate是决定失真程度很重要的因素,当bitrate不够时会 
  117. 在某些频率出现丢失波形包络信息的现象,在某频率以上的音乐信息完全丢失,不管人 
  118. 耳是否对该频率敏感。ATRAC依靠MD光盘容量优势,可以保持平均290K左右的bitrate, 
  119. 再加上可以过滤非敏感频率可以让出部分bitrate,基本不会出现这种失真现象。 
  120. 丢失波形包络信息的失真现象演示 
  121.     无论编码方案是无损还是有损,对低频的压缩率肯定要高于高频,这是Wav文件结构 
  122. 决定的(CD信号的结构其实和Wav文件结构基本一致),因此Lame用低bitrate来处理低 
  123. 频是完全合理的。ATRAC亦然。 
  124.     所以在进行MP3编码是需要一些技巧,要知道什么音乐用多大的bitrate,虽然现在 
  125. 有LAME可以自动分析,但更多的MP3编码器没有这个能力,MP3网站完全没有搭理这些, 
  126. 甚至只提供用普通的编码器编码的64K bitrate 和 96K bitrate的曲子,很多人因此彻 
  127. 底否定了MP3。而在使用MD的光纤输入时,硬件对音源进行实时采集并编码,无需用户设 
  128. 置,因此可以让用户始终获得最佳音质,这完全得益于硬件的好处。 
  129.   
  130. -- 
  131.   
  132. 道德是苍白而片面的;而法律是低级而受制于人的;且人格是离散而难以统一的:我们该 
  133. 何去何从呢? 
  134.