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