音频重采样造成音质损失的原理

时间:2024-03-16 20:26:26

1、WAV文件:采样率(Sample Rate),深度(bit-depth)WAV文件可以说是最原始的数字化音频格式了。Wav全称是Wave,就是将音频文件的波形完整记录。而波形的存在,可以想象为是折线图一般的东西。想记录波形,就需要两个最基本的参数:

1、采样率,我们以怎样的频率记录波形的变化。44.1KHz,意味着每秒选取44100个采样点;48KHz意味着每秒选取48000个采样点。

出于历史原因,所有CD一律采用44.1KHz,而DVD/BD视频音轨一律采用48KHz。所以不出意外,你听到的那些音乐都是44.1KHz,而你看的视频,它们的音频一般都采用48KHz的采样率。

如下图所示,原则上更高的采样率更为精准,但是一般认为44.1KHz就接近人耳极限了。
音频重采样造成音质损失的原理 


2、深度,我们用多少字节的储存量来储存音频波形。下图是在图像领域16色深和4色深的区别,音频领域同样适用。一般采用的是16bit,及更高的24bit,再高的深度意义不大。


音频重采样造成音质损失的原理 音频重采样造成音质损失的原理 


有了这些信息不难回答,为什么常见的WAV比特率是1141KBit/s了:44.1KHz * 32bit =1141.2
题外话:非整数倍SRC(Sample Rate Convert,采样率转换)带来的毁灭性后果。

既然原则上采样率越高越好,是不是意味着我们可以随便改变采样率呢?答案是否定的:

音频重采样造成音质损失的原理 

从图中可以看出,原始波形分4段5个采样点(包括首尾),如果整数倍转换,采用了8个分段9个采样点(采样率翻倍),波形是没有改变的。但是,如果新的采样率是原来的1.5倍,采用6个分段7个采样点,新的波形就会和原波形相差很远,造成很大的误差,换言之,这是一个有损转换过程。同样,44.1KHz和48KHz之间的转换也是属于非整数倍转换,会带来可观的音质损失。


android系统之所以不适合多媒体,是因为android系统会把所有非44.1KHz的音频强制转换成44.1KHz再输出。但是这问题也不大——你听到的多数音乐文件都是用44.1KHz,无非是多数视频文件的音频被改变了——谁管呢。

但是android一旦碰上高通,毁灭性的就来了:
高通的CPU,会把44.1KHz的先转换成48KHz(一次有损),然后android系统再把48KHz转换成44.1KHz。这是最悲惨的过程。注意,这两次转换不是说效果相互抵消,而是相互叠加——你看看上图最后一个折线图,你采用原始的采样率看看,波形变化有多恐怖。