达永编程网

程序员技术分享与交流平台

详解CD编码格式(16bit/44.1kHz)合理性之量化篇

上一篇,我们详细解说了CD格式采样的过程与44.1kHz采样频率规格的合理性,本节继续讲解量化的原理与16bit规格的合理性。

采样工作完成后就要对采样的信号进行数字量化,大家知道,采样的过程就不是个连续的操作,本来连续的信号被纵向切成一个一个的采样点,现在每个采样点又要用一把尺子量量到底有多高,并将这个测量出来的数据记录下来,这个测量采样点电平高度并记录下来的过程就是所谓的量化过程。我们用下图来演示说明一下:


这个图表示的是4bit量化的示意图,所谓4bit量化就是将整个波形的峰到峰的高度定义为2的4次方也就是16个等级(0-15),由上图所示的量化结果显然是太粗糙了一些,毫无疑问,更高的量化等级会带来更接近原波形的量化结果。


上图则是提高量化精度的一个演示图,提高量化精度显然是对波形的复原有益的。在这里需要说明的一点是,画格子的做法是为了让大家有个直观的认识,实际量化采样的时候是没有格子的,看起来更像是这个样子:


而我们通过将这些圆点的幅度采用不同精度的尺子(采样精度)测量并记录后就可以得到一连串数据,如果这个波形表示的是一段音频的话,那么,这串数据就是这段音频的量化数字,将来我们在播放这段数字音频的时候,再将这串数字恢复成连续波形。那么恢复后的波形是否会有台阶呢?当然不会,为了验证这个量化过程,我们将20kHz的正弦波,经过8bit量化(相当于256级)成数字信号,然后再将其恢复成模拟波形,并用示波器显示出来:


完全看不到锯齿与阶梯!那么,这个4bit,8bit,16bit量化精度(也有叫比特深度的)对于声音来说到底意味着什么呢?

答案是:量化噪声!那些从演示波形图上看到的阶梯,在真正经过数模转换(DAC)之后,表现出来的是一种类似我们早年听录音带时的背景噪声,量化精度越高,噪声越低,而这个量化噪声不但听起来非常像磁带的背景噪声,其通过高斯运算出来的数学模型也支持这个结论,因此,我们可以说在模拟时代听到的比较烦人的背景“丝丝”的噪声,在数码系统里也是真实存在的,只是量级不同罢了!这里有一个粗略的经验公式算法,就是1bit约等于6dB的信噪比,我们家用录音机的噪声水平换算成量化bit数,最好也就达到6-7bit的量化噪声级别;而专业开盘录音机的最高水平可以达到13bit量化精度的水平,从这个意义上看,我们的CD标准采用14bit量化精度就可以超越模拟时代的顶级专业开盘机的水平了,而事实上,当年飞利浦真的要将CD的量化精度制定为14bit,换算过来的信噪比可以达到前所未有的84dB,而SONY则坚持使用16bit作为CD的量化精度(65536级),从而使CD信噪比达到了96dB。而这个-96dB的噪声水平也已经达到了人类感知的极限。就好像20kHz不是大自然发声的极限而是人耳对音频的感知极限一样,负96分贝的噪声也不是大自然的噪声下限,但是,它是人耳的感知下限(中老年人耳鸣的噪声比它高得多)。从这个意义上说,16bit的量化精度对于再现人类能感知的声音来说也是足够了!

这个结论听起来有些让人泄气是吧?事实上,我们应该感到欣慰!CD这个标准的制定产生于70年代末80年代初,应该在使用录像机做数码录音的时候就已经验证通过了。那个年代虽然理论基础不差,但是各方面的条件都非常有限,尤其是对数字信息的处理与存储能力更是捉襟见肘,这也是16/44.1这个精打细算的规格的由来,幸运的是,由于不缺理论支持,这个标准还是有底线的,至少是按照人的感知极限制定的标准,虽然当时由于种种原因,不能完美实现这个标准(比如模拟抗混叠滤波器等),导致早期的数码录音并不完美,有生硬且令人烦躁的数码声,但随着DSP器件算力大幅度提升以及算法迭代演进,16/44.1这个规格已经被完美实现了,可以说,后期编码的CD格式无损文件的音质,对于人类听觉极限来说是没有任何遗憾的。这也就是我说应该感到欣慰的原因,因为这个够格的标准,导致大量的CD录音至今不失水准,完全不会过时!当然,母带级高规格超采音频,对于后期编辑制作提供足够的余量也是非常有意义的,如果代价不高的话,拿来听听也不错(虽然听不到更高的频率以及更低的噪声)。

如果说CD的这个规格还有什么瑕疵的话,这个44.1k采样频率是个小问题。不如48kHz有优势。其要点在于,44.1kHz的采样频率与当下主流的高清音频处理的采样频率(如96kHz,192kHz,乃至384kHz)不太兼容,这里说的不兼容是没有成整倍数,导致其重采样算法比较复杂,且不容易达到完美效果,这个算法叫做SRC(Sample Rate Convertor),如果是整数倍关系,比如从96kHz转换到48kHz,只需要简单抽样就可以,而96kHz转换到44.1kHz就比较麻烦,现在各家都有所谓优化的算法,但实际操作结果看还是不够完美,大家简单看几个例子:

fooBar2000是大家公认的好声音,但从波形上看从96k到44.1k转换依然有混叠失真。

这是抗混叠滤波器的传输图形比较。

再看看Win10的表现:


虽然SRC算法并不会成为44.1kHz的瓶颈,但是,依然不完美,对于比较在意的玩儿家还是要注意选择适当的设备与算法完成这类转换。

再多啰嗦一句,早期的CD使用的是高阶抗混叠滤波器制作的,因此,会有些数码声。不幸的是,这种失真后期是很难消除的,如果更早的模拟录音带没有保存,而这个早期的数字录音是唯一版本的话,也就是没机会对模拟录音带进行重新采样的话,只能以早期的数字录音为基础进行调音,调音后就是把它转成再高的格式(比如DSD),原则上讲都无法消除早期数码声那种“噪”的感觉的。

好了,关于CD标准的深度解读就到此结束了,大家有任何不同的观点,疑问都可以继续讨论,谢谢大家!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言