MP3壓縮算法
時間:2019-10-09 14:35:24 作者:無名 瀏覽量:14
MP3壓縮編碼主要由3大功能模塊組成,包括混合濾波器組(子帶濾波器和MDCT),心理聲學模型,量化編碼(比特和比特因子分配和哈夫曼編碼)。
1. 混合濾波器組。這部分包括子帶濾波器組和MDCT兩部分。子帶濾波器組編碼完成樣本信號從時域到頻域的映射,并將規定的音頻信號通過帶通濾波器組分解成32個子帶輸出。子帶濾波器組輸出的32個子帶是等帶寬的,而由心理聲學模型得出的臨界帶寬則不是等帶寬的,所以為了使得進行編碼的各個比例因子帶與臨界頻帶相匹配,需要對每個子帶信號做MDCT變換。將子帶濾波器組的輸出送到MDCT濾波器組后,每組將細分為18條頻線,共產生576條頻線。然后利用心理聲學模型中計算出來的子帶信號的信掩比,決定分配給576條譜線的比特數。
2. 心理聲學模型。心理聲學模型利用了人耳聽覺系統的遮蔽效應特性,移除大量的不相關信號,從而達到壓縮音頻數據的效果。為了精確地計算遮蔽閾值,要求信號有更好的頻域解析度,因此在使用心理聲學模型前先對信號進行傅立葉變換。MPEG-I提供了兩種心理聲學模型,第一種模型計算簡單,在高比特率編碼時提供適當精度,第二種模型
比較復雜,一般在較低比特率編碼時使用。MP3編碼中一般使用心理聲學模型二。心理聲學模型的目的就是求出各個子帶的掩蔽域值,并以此控制量化過程。心理聲學模型實現過程一般是先用FFT求出信號的頻譜特性,根據頻譜特性找出各頻率點上的音調成分(有些稱為
音樂成分)和非音調成分(或稱噪音成分);根據掩蔽域曲線確定各個音調成分和非音調成分在其它頻率點的掩蔽域值;最后求出各頻率點的總體掩蔽域,并折算到編碼子帶中。對于子帶濾波器組輸出的譜值量化后產生的噪聲,如果能夠被控制在掩蔽域值以下,則最終的壓縮數據被
解碼后的結果與原始信號可以不加區分。一個給定信號的掩蔽能力取決于它的頻率和響度,所以心理聲學模型的最終輸出是信掩比SMR(signal-to-maskradio),即信號強度與掩蔽閾值的比率。
MP3壓縮算法圖二
3. 量化編碼。量化編碼使用一個三層迭代循環模型來實現比特分配和量化。這三層包括:幀循環,外層循環和內層循環。幀循環復位所有的迭代變量,計算能夠提供給每節數據的最大比特數,然后調用外層迭代模型;外層迭代模型首先使用內層迭代模型,內層迭代模型對輸入矢量進行量化,通過遞增量化步長使量化輸出能夠在一定的比特位數限制之內被編碼。哈夫曼編碼對量化的最大值有限制,所以需要判斷所有的量化值是否超過限制,如果超過限制,則內層迭代循環需要遞增量化步長,重新量化。然后確定哈夫曼編碼的位數,使其所占的比特數小于由幀循環計算出的每節編碼所能提供的最大比特數,否則也要增加量化步長重新量化。當量化滿足要求后,存儲最終的比例因子數值,跳出外層循環,并在幀循環中計算存儲每節數據所用的比特位數。
MP3壓縮算法圖三
以上就是MP3壓縮算法
- 軟件性質:國產軟件
- 授權方式:免費版
- 軟件語言:簡體中文
- 軟件大小:15284 KB
- 下載次數:145011 次
- 更新時間:2019/10/9 7:20:59
- 運行平臺:WinAll...
- 軟件描述:想要使用音樂播放器播放本地音頻文件,但是又不知道用哪一款播放器好?今天極速小編給... [立即下載]
相關資訊