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