抖動 (數碼訊號處理)
此條目可參照英語維基百科相應條目來擴充。 |
抖動(英語:dither),是在數碼訊號處理領域的中一項用於降低量化誤差的技術。透過在較低位元中加入雜訊,藉此破壞諧波的排序,使諧波的影響受到壓制,並減少量化誤差在低頻的影響。[1]抖動常用於音影片處理,且是CD壓制過程的最後一步。經過抖動處理過的音樂,將聽起來更柔順、背景更黑;而經過抖動處理過的影像,也會更加地柔順耐看。
抖動在音頻訊號處理中也稱作顫動[2],在數碼圖像處理中也稱作抖色[3]。 抖動最重要的用途之一是將灰階圖像轉為黑白。透過使用抖動演算法,可以令黑白圖案的黑點密度接近原圖案的大致灰度。
背景描述
[編輯]自然界的訊號在時域與振幅上大多為連續的,而根據採樣定理,採樣時域會使用兩倍的訊號最大頻率,它確定了訊號帶寬的上限,或能捕獲連續訊號的所有資訊的離散採樣訊號所允許採樣頻率的下限;然而,較少人注意到的是,振幅的量化亦是訊號還原過程的重要因子。
由於硬件支援的限制,不可能使用無窮多的位元去表示一個振幅,只能使用近似的方式去表達,舉例來說,如果數字系統只能顯示自然數,那麼數字1.8將會被歸類為2來儲存;數字2.4亦會被歸類為2來儲存。而藉由將連續的振幅、時域轉為離散的資料形式,更易於資訊的儲存、傳輸、還原。在這世界流行的CD光碟,儲存的音樂大多為16位元,44100赫茲;後者因人耳接收最大頻率的關係,因此只選擇22050的兩倍取樣率,這就是有名的奈奎斯特頻率。
然而,如上一段所述,使用有限位元作訊號振幅量化時,無法避免的誤差產生了,就像1.8被歸類為2,誤差就是負0.2,而2.4被歸類為2,誤差就是正0.4;採樣位元越高,量化誤差就越少,我們甚至可以算出量化誤差之最大值為該取樣位元之最小單位。例如CD的每兩個連續取樣點之間的最大誤差為2的16次方分之一。
人耳對於頻率的敏感度是不同的,人耳對於低頻較敏感,對於超過五千赫茲的高頻較不敏感,因此對於人耳來說,量化誤差在低頻的影響同樣比在高頻來的多。為了解決這樣的問題,抖動就是在訊號振幅加入微量雜訊,使鋸齒狀的訊號還原時更加平滑,詳細實作方式於下一段講解。
數碼音頻
[編輯]在數碼音頻中,許多播放軟件具有抖動功能,例如著名的AMARRA播放器,可見得抖動的功用以及備受肯定。
以調整音量來說,有分為數碼式與模擬式的調整,模擬式通常使用可變電阻去對輸出訊號做衰減。然而,方便快速的數碼式亦會造成量化誤差的影響,
舉例來說,如果一串訊號是1 2 3 4 5 6 7 8
如果將這樣的訊號始衰減五分之一,
那麼這串訊號將變成0.8 1.6 2.4 3.2 4 4.8 5.6 6.4
若將這樣的衰減訊號無條件捨去,則變成0 1 2 3 4 4 5 6
若將這樣衰減的訊號無條件進位,則變成1 2 3 4 4 5 6 6
而將這樣的訊號去做四捨五入量化時,將變成1 2 2 3 4 5 6 6
我們可以發現調整音量對於量化誤差有增大的影響。
或許人們會有疑問,如此振幅的誤差很重要嗎?有需要去解決嗎?差一點點差很多嗎?
事實上,根據傅利葉轉換,振幅與振幅之間的關係是會間接影響頻率的表現,而人耳對具有週期性的聲音、頻譜上特別突出的頻率、隨時間而變化的突出頻率、低頻率的變動、泛音的增減又是如此的敏感,因此當聲音從高清晰度降低為低解像度時,萬萬不可小看這樣的誤差。對於上述問題,較可行的解法是先將位元數拉長,例如CD的16位元先拉到24位元,接着將多出來的8位元加入雜訊。例如白雜訊,也就是能量在各頻率都一樣的雜訊,這種雜訊是隨機的、亂序的、不規則的,我們大腦對於這樣的訊號,會認為/界定為不重要、沒有意義、沒有辦法追蹤的訊號,所以會自動降低它的敏感度,將它忽視掉。
所以我們就先利用這樣的特性,在24位元轉回16位元時,在最後的八位元加入這樣的雜訊,這樣的雜訊雖然會增加總體的雜訊量,但是會打亂原本的量化誤差,消除量化誤差與原本訊號的關連。
也就是用我們比較可以接受/忍受的「沙沙沙」雜訊,來換取、取代原本突出的泛音失真。
音頻範例:
圖像處理
[編輯]演算法
[編輯]參考資料
[編輯]- ^ Ken C. Pohlmann. Principles of Digital Audio. McGraw-Hill Professional. 2005. ISBN 0-07-144156-5.
- ^ 用顫動訊號改善系統判別中之訊號取樣誤差. 臺灣博碩士論文知識加值系統. [2022-04-30]. (原始內容存檔於2022-04-30).
- ^ 於影像半色調化程序中隱藏資料之研究. 臺灣博碩士論文知識加值系統. [2022-04-30].