主要利用了心理聲學模型
(一)多相濾波器組
(二)量化和編碼
對各個子帶每12個樣點進行一次比例因子計算。先定出12個樣點中絕對值的最大值。查比例因子表中比這個最大值大的最小值作為比例因子。用6位元表示。
-第2層的一幀對應36個子帶樣值,是第1層的三倍,原則上要傳三個比例因子。為了降低比例因子的傳輸碼率,採用了利用人耳時域掩蔽特性的編碼策略。
-每幀中每個子帶的三個比例因子被一起考慮,劃分成特定的幾種模式。根據這些模式,1個、2個或3個比例因子和比例因子選擇資訊(每子帶2位元)一起被傳送。如果乙個比例因子和下乙個只有很小的差別,就只傳送大的乙個,這種情況對於穩態訊號經常出現。
-使用這一演算法後,和第1層相比,第2層傳輸的比例因子平均減少了2個,即傳輸碼率由22.5kb/s降低到了7.5kb/s。
(三)位元速率分配
1.在調整到固定的位元速率之前
-先確定可用於樣值編碼的有效位元數
-這個數值取決於比例因子、比例因子選擇資訊、位元分配資訊以及輔助資料所需位元數
2.位元分配的過程
-對每個子帶計算掩蔽-雜訊比mnr,是訊雜比snr –信掩比smr,即:mnr = snr –smr
3.演算法:使整幀和每個子帶的總雜訊—掩蔽比最小
-計算掩蔽-雜訊比(mask-to-noise ratio, mnr):
mnr = snr –smr (db)
其中snr 由mpeg-i標準給定(為量化水平的函式)
mnr:表示波形誤差與感知測量之間的誤差,子帶訊號可壓縮到mnr
4.演算法:迴圈,直到沒有位元可用:
-mnr = snr –smr (db)
-對最低mnr的子帶分配位元,使獲益最大的子帶的量化級別增加一級
-重新計算分配了更多位元子帶的mnr
1.理解程式設計的整體框架
-理解感知音訊編碼的設計思想
-兩條線
-時-頻分析的矛盾!
-理解心理聲學模型的實現過程
-臨界頻帶的概念
-掩蔽值計算的思路
-理解位元速率分配的實現思路
2.輸出音訊的取樣率和目標位元速率
-選擇某個資料幀,輸出
-該幀所分配的位元數
-該幀的比例因子
-該幀的位元分配結果
m2aenc.c
輸出檔案:
file *output_txt;
char temp[100] = "hyw_frame_info";
主函式中:
MPEG音訊編碼實驗報告
下圖為mpeg音訊編碼layerii流程圖 通過子帶分析濾波器組使訊號具有高的時間解析度,確保在短暫衝擊訊號情況下,編碼的聲音頻號具有足夠高的質量。將pcm樣本變換到32個子帶的頻域訊號 如果輸入的取樣頻率為48khz 那麼子帶的頻率寬度為48 2 32 0.75hz 該多相濾波器組為如下圖 計算訊...
資料壓縮 實驗六 MPEG音訊編碼實驗
下圖為mpeg音訊編碼layerii流程圖 32個子帶濾波器組 通過子帶分析濾波器組使訊號具有高的時間解析度,確保在短暫衝擊訊號情況下,編碼的聲音頻號具有足夠高的質量。將pcm樣本變換到32個子帶的頻域訊號 如果輸入的取樣頻率為48khz 那麼子帶的頻率寬度為48 2 32 0.75hz 該多相濾波...
資料壓縮實驗六 MPEG音訊編碼
mpeg 1 audio layerii編碼器原理 對各個子帶每12個樣點進行一次比例因子計算。先定出12個 樣點中絕對值的最大值。查比例因子表中比這個最大值大的 最小值作為比例因子。用6位元表示。第2層的一幀對應36個子帶樣值,是第1層的三倍,原 則上要傳三個比例因子。為了降低比例因子的傳輸碼率,...