以前寫過一篇...
==
人耳對具有週期性的聲音、頻譜上特別突出的頻率(formant)、隨時間變化而移動的突出頻率特別敏感。當聲音從高解析度降低為低解析度的時候,捨棄末尾 bit 所造成增加的 quantization error,會和原本的聲音訊號有高度的"關連性",會造成很明顯的泛音失真,人耳對這種突出的泛音失真會很敏感。
dither 在音訊中加入所造成的是一種 white noise,也就是能量在各個頻率都一樣的 noise。這種 noise 是隨機的、亂序的、不規則的,我們對這種訊號,大腦會認為這是比較不重要的、沒有意義的、無法 tracking 的,所以會自動降低對它的敏感度,直接把它忽視掉。
所以我們就利用這樣的特性,在由高解析度轉為低解析度之前,先對原始的聲音訊號加入一個隨機的雜訊,這個雜訊會增加整體的雜訊量,但是會不規則打破原本的 quantization error,消除 quantization error 和原本訊號之間的"關連"。也就是用我們比較可以忍受、比較不會去注意到的"沙沙沙"的 white noise,去取代原本突出的泛音失真。
以下是圖
原本 24bit 100Hz Sine wave 訊號
捨棄末尾 bit 轉成 16bit

原本 24bit 頻譜

16bit 頻譜

加入的 dither (RPDF)

dither 的頻譜

原本 24bit 訊號加了 dither 後的樣子

轉成 16bit 後的樣子

加入 dither 後的頻譜,注意到總 noise 量比原本多,但是突出泛音的失真卻沒有了,這些原本由於(關連於)sine wave 產生的 quantization error 已經被加入的亂序的、擾動的 dither 給打破了

將直接捨棄末尾 bit 的頻譜和加入 dither 的頻重疊在一起比較

另外,dither 同時具有將低位元的 information 帶到高位元的作用。
最後因為我們對不同頻率的敏銳度不一樣,所以如果加入的 dither(noise) 能夠做適當的選擇,讓這個雜訊的能量在我們比較不注意的高頻比較多,而低頻比較少,這樣加入 dither 所造成的增加 noise 的副作用,就比較不會被我們察覺到。
為此各家都有不同的演算法,不同的 dither + noise shaping 技術,例如最有名的 Apogee 公司用的 "UV22"。這個網頁有各家 dither 技術的比較,包括 SONY 的 SBM
http://audio.rightmark.org/lukin/dither/dither.htm
以上是很簡單的介紹,對詳細原理有興趣的人請看
http://www.glowingcoast.co.uk/audio/theory/dither/