音訊重取樣造成音質損失的原理
阿新 • • 發佈:2019-02-20
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。這是最悲慘的過程。注意,這兩次轉換不是說效果相互抵消,而是相互疊加——你看看上圖最後一個折線圖,你採用原始的取樣率看看,波形變化有多恐怖。