2015年5月3日 星期日

[多媒體][轉] MP3壓縮演算法

在準備多媒體期中考時,在MPEG的壓縮演算法上,遇到很大的瓶頸~~~><
所以上網找了關於MP3壓縮演算法的資料來輔助理解
MP3格式就是 MPEG-1 Audio Layer III
以下內容轉載自此:http://cht.tw/x/dyuvc

MP3歷史:
MP3 所使用之演算法乃1987年由德國的整合研究發展機構Fraunhofer IIS與University of Erlangen合作研發出來。至今,Fraunhofer的編碼程式,依舊被視為MP3編碼的工業級標準。MP3其實是MPEG1 Audio Layer3之縮寫,即MP3原本是定義在MPEG(Moving Picture Expert Group)中的一項聲音壓縮標準。

MP3技術:
編碼流程:
(Generated By SmartDraw)
(1)    Polyphase Filter Bank(32 subbands):在MPEG Layer-1中,這項濾波器的作用是將聲音訊號分成頻寬大小相同的32個頻帶(Subband),但等寬的32個subband,對聲音的壓縮效果並不 是非常好,且並不完全符合人體的聲學頻率系統,因此在Layer-3中進而採用Critical Band,即配合模擬人體之Psychoacoustic Model,將人耳較敏感的中低頻之subband變窄,較不敏感的高頻之subband變寬。此步驟資料會有極微小之失真。
(2)    MDCT(Modified Discrete Cosine Transform):MDCT的18個channel乘上來源的32個subband,共會有576個輸出點,且為非失真。此步驟主要將上步驟之資料再 次細分,以利分析及量化轉換,並可減小上步驟造成之疊頻效應(Aliasing),改善資料之重建品質。
(3)    FFT(Fast Fourier Transform):即使用快速傅立葉轉換將訊號從Time Domain轉換到Frequency Domain。因為分析訊號時,頻譜上之數值可清楚地展現出訊號的特性,所以一般會將訊號轉換到頻率軸上分析。又FFT是等時間間隔取樣的離散時間傅立葉 轉換,可以大幅減低計算上之複雜度。此步驟主要將波形資料轉換為若干種不同的頻率,其中主頻帶有最多之資料特性,愈後之頻率則因較不重要,可以被捨棄以增 加壓縮比。
(4)    Psychoacoustics:即MP3之最主要技術,Perceptual Audio Coding(知覺性聲音編碼)。為人體聲學模擬的部分,主要原則即將人耳在聽覺上較不敏感或是聽不到的部分(高頻與極低頻)過濾刪除,使聲音選擇性的變 差,以減少資料量。
(5)    Huffman Encoding:霍夫曼編碼,為無失真壓縮,統計各字元出現頻率以決定Huffman’s Tree,主要原則即將較常出現的字元,給予位元較少的編碼。在MP3的編碼應用中,乃先將MDCT輸出的576個點依頻率大小做排序,則高頻部分會被排 在最後,且數值均為零或極接近零之數,故不需編碼。其餘數值較大的低頻部分,也可依其資料之分布特性,切割為數個區域再做Huffman encoding。主要目的在於將壓縮比盡量提昇。

解碼流程:
即將編碼過程反過來運作,主要流程為Huffman Decoding,Descaling,IMDCT(Inverse Modified Discrete Cosine Transform),Inverse Filter Bank。執行上比起壓縮時簡單許多,目前已經可以達到Real Time撥放之解碼速度。

MP3安全機制:
主要可分為硬體撥放協定上之限制(SDMI)與軟體本身之加密(電子浮水印),在此將對於軟體之檔案加浮水印(Watermarking)做討論。
首先,浮水印必須具有以下幾點性質:
(1)    Imperceptible:所加之浮水印應對聲音品質影響極小,且不易被人耳察覺。
(2)    Nonremovable:浮水印應不可被輕易地移除。
(3)    Decodable:經合法授權之使用者應該能輕易將浮水印解碼去除,而非再去取得原始檔案。
(4)    Periodic:所加入之浮水印必須有週期性,才能易於偵測、辨別。
(5)    Rebustness:即使經過再次編碼或壓縮,浮水印應該仍存在資料中。
而 MP3之檔案格式,因為定義了許多檔頭(Header)及Side Information,故有許多空間可存放浮水印資料,且不會影響聲音品質,但由於可輕易地被了解MP3檔案格式的人移除,不符合上述之 Nonremovable性質,故並不適用。所以一般來說是將浮水印資料,直接隨機地加在聲音資料中。所應用的原理是另一種人體聲學現象:Masking Effect(遮蔽效應),即兩個頻率相近的聲音,其中聲音較大者(Masker)會將聲音較小者(Maskee)蓋過去,造成人耳幾乎完全聽不到較小聲 的聲音。故若將聲音來源先作快速傅立葉轉換,再將Sound Press Level(聲壓)對頻率作圖,則可得到Masking Threshold曲線,而在此曲線之下的聲音就幾乎聽不到了。利用此特性,則可以將適量的浮水印資料加入聲音中,形成控告非法侵權的證據,而不會被發現 了。

資料來源:第三波雜誌、逢甲大學資訊工程學系專題報告
作者:B89901105 蔡雋永

沒有留言:

張貼留言