音頻壓縮對後期編輯有什麼影響(如何讓聲音罐頭更美味)
2023-05-19 19:08:55
音頻的壓縮
上次講到【如何讓聲音罐頭更美味?——淺談音頻壓縮和編碼(上)】,音頻壓縮算法主要做的工作是壓縮掉超出人耳聽力範圍之內頻率的部分和對於人類感知系統來說「無效」的部分,針對這些內容,我們需要知道:聽覺掩蔽效應[1]
聽覺掩蔽效應
1894年,美國物理學家Alfred M. Mayer報告說,一個音調可以被另一個較低頻率的音調掩蔽。1959年,Richard Ehmer描述了關於這種現象的一套完整的聽覺曲線。在1967年和1974年之間,Eberhard Zwicker在關鍵頻段的調諧和掩蔽領域開展了工作。聽覺的掩蔽效應可以分為「同時掩蔽」和「時間掩蔽」。
「同時掩蔽」指的是:同時播放兩種不同頻率的聲音,由於人感知聲音的特性,導致一個較微弱的信號被另一個信號掩蔽掉的現象。簡言之,純音的掩蔽有以下幾個特點:低音容易掩蔽高音,高音較難掩蔽低音;頻率相近的純音容易互相掩蔽;提高掩蔽聲的聲壓級時,掩蔽閾會提高,而且被掩蔽的頻率範圍會擴展。這裡有示意圖來描述這種現象[2]
圖一:如上圖所示,掩蔽效應將大約在0.7kHz,1.6kHz和2.3kHz的信號遮蔽了,其中0.7kHz信號的SPL在聽閾之下,不被遮蔽也無法聽到。
在此基礎上引入三個重要的概念SMR、SNR和MNR。相互關係如圖
SMR(signal-to-maskratio):指在一個臨界頻帶內,從掩蔽曲線到掩蔽產生的閾值的距離。
SNR(signal-to-noiseratio):指信號經過m位元量化後的信噪比,等於量化前信號方差和量化噪聲的方差之比。
MNR(mask-to-noise):指經過處理後,人耳可以感知到的失真大小。數值等於為SNR與SMR的差值。
圖二:灰色區域Critial Band指臨界頻帶,Masking Threshold就是掩蔽門檻曲線,圖中的SMR指在臨界頻帶內最大的SMR值。
值得注意的是:我們上面討論的SMR、SNR和NMR三者都是基於臨界頻帶的,但掩蔽效應不僅對自己的臨界頻帶有影響,同時對附近的臨界頻帶也有影響,稱為延展性;上圖所顯示的是一個臨界頻帶內的一條掩蔽曲線;而至於實際情況,則往往存在多條掩蔽曲線,即複音的掩蔽曲線,這種掩蔽曲線可以看做是其中各個基音對應的掩蔽曲線的疊加。該部分更加具體的內容可以參考心理聲學相關書籍。
「時間掩蔽」指的是:在一個弱音的之前或者之後出現一個強音,這時候比較強的聲音會掩蔽掉。產生時域掩蔽的主要原因是人的大腦處理信息需要花費一定的時間。該現象的具體效果可以用此圖片展示。
圖三:時間掩蔽的示意圖,可以看到聲音發出時間不同而產生的不同掩蔽效果
對於壓縮算法還有一個重要的概念是掩蔽的「臨界帶寬」:Harvey Fletcher進行了一項實驗[3],以發現噪聲帶對音調掩蔽的作用。在實驗中,固定音調信號具有以它為中心的各種帶寬的噪聲。他的研究表明,噪聲的臨界帶寬會帶來最大的掩蔽效應,並且該頻帶外的能量不會影響掩蔽。這可以通過具有以音調頻率為中心的聽覺濾波器的聽覺系統來解釋。該聽覺濾波器內的屏蔽器帶寬有效地屏蔽了音調,但濾波器外的部分屏蔽器沒有影響。
該效應可用於一些壓縮算法,通過降低精度來表示臨界帶寬之外的部分信號,來減少總的數據量(注意一般的算法如MP3並非全部丟棄被掩蔽的聲音,而是降低精度被掩蔽的聲音的精度以避免聽感過於不自然)。
圖四:掩蔽效應示意圖,可見臨界帶寬(Critical Bandwidth)和頻率(Signal Tone)的關係
聽閾
在規定條件下,受試者對測試中給予的多次刺激信號,能察覺一半以上的最小聽音強度被稱為聽閾[4]。如圖所示的「聽覺域限」就是人類在對應頻率裡面能感知的最小聲音強度。一些壓縮編碼格式正是去除了聽閾以下的頻點來實現對音頻數據的壓縮。
圖五:聽閾和等響曲線以及痛閾
一些例子
音頻壓縮的具體算法不勝枚舉,這裡僅僅舉出兩個代表性的例子:MP3與AAC。MP3作為MPEG1的官方編碼格式,早先被廣泛運用於各個國家的廣播電視,在隨身聽興起的時代又廣泛用於音頻的分發和傳播的過程中;而AAC則經常作為視頻音軌的文件格式,大多數的視頻網站都是使用的AAC格式的音軌。
MP3編碼器採用快速傅立葉變換(FFT)和改良的離散餘弦變換(MDCT)進行時頻域變換。我們不需要討論這些算法實際上是如何工作的,只需要討論它們對傳入音頻的影響:即,將音頻每個部分分成32個「子帶」。這些子帶代表原始信號頻譜的不同部分。這是因為一段聲音往往包含著大量不同頻段的部分,通過將音頻分成子帶,MP3編碼器可以根據其頻率內容對不同類型的聲音進行分類,根據心理聲學模型的要求將某些優先於其他聲音的部分分析出來(判據正是上文提到的掩蔽效應)。在之後,子帶部分被組合成「幀」。編碼器檢查這些幀的內容,並嘗試確定頻域和時域中的掩蔽將發生的位置,判斷哪些部分可以「失真」(即之前掩蔽效應中講到的降低精度)。編碼器計算每個幀的「屏蔽噪聲」比,並在過程的最後階段使用此信息,給不同的幀分配不同的採樣精度。
在位分配期間,編碼器決定應該使用多少位數據來編碼每一幀。編碼器需要為掩蔽效應發生的少的幀分配更多位,為掩蔽效應發生地更多的幀分配更少的位,這是因為掩蔽效應的發生可以帶來數據量的精簡。可用的總比特數根據所需的傳輸比特率而變化,這是在編碼開始之前根據用戶的需要選擇的,常見的如128kbps、256kbps和320kbps。
編碼完成後,所有幀都會被保存,在保存的時候可以使用霍夫曼編碼對文件進行進一步的精簡。保存的每個幀都有一些字節的標題數據來指示該幀情況,此處具體內容可以參考MP3的文件結構。
AAC可以視作是在MP3基礎上改進後得到的一種更優的壓縮算法,其總的流程與MP3類似,但是引入了更多的模塊。比起MP3,它的優點有[5]:更多的採樣率選擇範圍、更多的通道數、更高的編碼效率和精度、任意比特率和可變幀長度;AAC採用了更高效的濾波器組,使用純MDCT編碼,而不是MP3的MDCT和FFT混合的編碼方式;另外AAC引入了MP3沒有的模塊以改善效果,如噪聲整形(TNS)、反向預測、線性感知替代(PNS)、Luhn mod N檢驗位等等。這些模塊都涉及到不同的知識點,有興趣的讀者可參照這些名稱自行學習。此處不再贅述。
總結
編碼作為信號處理中的基礎環節,現已較為成熟,音頻中常見的編碼規範都於數十年前提出,但至今編碼方式仍在推陳出新,如本文未涉及到的藍牙音頻傳輸編碼也是近幾年熱點問題。這個話題涉及的知識較為龐雜,難以在一篇文章中講完,需要根據不同的使用場景量體裁衣,選擇合適的編碼。回到文章的引言部分,對於短視頻平臺,需要的是更高的壓縮比率、更清晰的語音質量和某些特定頻段的突出以增加聽覺上的刺激;而對於音樂播放,則需要更小的失真和更自然均衡的聽感。這些取捨上的區別也導致了選取的編碼方式的不同,所以選擇時候應因地制宜。在此僅以此文拋磚引玉,希望能給讀者一些啟發。
參考文獻:
[1]. 林福宗 清華大學計算機科學與技術系. 多媒體技術 12.1.3 掩蔽效應. [2017-03-31]. (原始內容存檔於2020-06-30).
[2]. https://blog.csdn.net/xiahouzuoxin/article/details/7849249 MP3編碼分析
[3]. Fletcher, Harvey (1995). Speech and Hearing in Communication. Acoustical Society of America. ISBN 978-1-56396-393-3.
[4]. 王永華.診斷聽力學.杭州:浙江大學出版社,2013:5-6
[5]. Gelfand, SA (2004)Hearing – An Introduction to Psychological and Physiological Acoustics Wikipedia,Bibliographic details for "Advanced Audio Coding"
,