天天看點

音頻重采樣造成音質損失的原理

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。這是最悲慘的過程。注意,這兩次轉換不是說效果互相抵消,而是互相疊加——你看看上圖最後一個折線圖,你采用原始的采樣率看看,波形變化有多恐怖。

繼續閱讀