一.實驗原理
2.mpeg-1音訊編碼器框架圖
多相濾波器組
(polyphasefilter bank)
:將pcm
樣本變換到
32個子帶的頻域訊號
如果輸入的取樣頻率為
48khz
,那麼子帶的頻率寬度為
48/(
2*32
)=0.75hz
心理聲學模型
(psychoacousticmodel)
:計算訊號中不可聽覺感知的部分
計算雜訊遮蔽效應
位元分配器
(bit allocator)
:根據心理聲學模型的計算結果,為每個子帶訊號分配位元數
裝幀(frame creation)
:產生mpeg-i
相容的位元流
3. 臨界頻帶
(critical band)
臨界頻帶是指當某個純音被以它為中心頻率、且具有一定頻寬的連續雜訊所掩蔽時,如果該純音剛好被聽到時的功率等於這一頻帶內的雜訊功率,這個頻寬為臨界頻頻寬度。
掩蔽效應在一定頻率範圍內不隨頻寬增大而改變,直至超過某個頻率值。通常認為從
20hz
到16khz有25
個臨界頻帶,單位為
bark。
4. 比例因子的取值和編碼
對各個子帶每
12個樣點進行一次比例因子計算。先定出
12個樣點中絕對值的最大值。查比例因子表中比這個最大值的最小值作為比例因子。用
6 位元表示。 第
2 層的一幀對應
36個子帶樣值,是第
1層的三倍,原則上要傳三個比例因子。為了降低比例因子的傳輸碼率,採用了利用人耳時域掩蔽特性的編碼策略。
每幀中每個子帶的三個比例因子被一起考慮,劃分成特定的幾種模式。根據這些模式,
1 個、
2 個或
3 個比例因子和比例因子選擇資訊(每子帶
2 位元)一起被傳送。如果乙個比例因子和下乙個只有很小的差別,就只傳送大的乙個,這種情況對於穩態訊號經常出現。
使用這一演算法後,和第
1層相比,第
2層傳輸的比例因子平均減少了
2 個,即傳輸碼率由
22.5kb/s
降低到了
7.5kb/s。
5. 位元分配及編碼
在調整到固定的位元速率之前 -
先確定可用於樣值編碼的有效位元數 -
這個數值取決於比例因子、比例因子選擇資訊、位元分配資訊以及輔助資料所需位元數
位元分配的過程:對每個子帶計算掩蔽
-雜訊比
mnr,是訊雜比
snr
–信掩比
smr,即:mnr = snr
–smr
使整個一幀和每個子帶的總雜訊
-掩蔽比最小。這是乙個迴圈過程,每一次迴圈使獲益最大的子帶的量化級別增加一級,當然所用位元數不能超過一幀所能提供的最大數目。 第
1層一幀用
4位元給每個子帶的位元分配資訊編碼;而第
2層只在低頻段用
4位元,高頻段則用
2位元。 二
.實驗流程
理解過程 -
理解程式設計的整體框架 -
理解感知音訊編碼的設計思想 -
理解心理聲學模型的實現過程
臨界頻帶的概念
掩蔽值計算的思路
理解位元速率分配的實現思路
輸出要求 -
輸出音訊的取樣率和目標位元速率 -
選擇某個資料幀,輸出
該幀所分配的位元數
該幀的比例因子
該幀的位元分配結果
三.實驗**
file *output_txt;
char temp[100] = "info.txt";
...int main (int argc, char **argv)
#ifdef newencode
...#else
scale_factor_calc (*sb_sample, scalar, nch, frame.sblimit);
pick_scale (scalar, &frame, max_sc);
int sb, gr, ch;
if (framenum == 80) //選擇第80個資料幀
fprintf(output_txt, "\n");}}
}...
}
四.實驗結果
資料壓縮試驗 MPEG音訊編碼
框架圖 計算訊號中不可聽覺感知的部分 計算雜訊遮蔽效應 mpeg 1定義了兩種模型。心理聲學模型1 計算複雜度低,但對假設使用者聽不到的部分壓縮太嚴重 心理聲學模型2 1.將樣本變換到頻域 32個等分的子帶訊號並不能精確地反映人耳的聽覺特性。引入fft補償頻率解析度不足的問題。模型1 採用512 l...
資料壓縮實驗六 MPEG音訊編碼
mpeg 1 audio layerii編碼器原理 對各個子帶每12個樣點進行一次比例因子計算。先定出12個 樣點中絕對值的最大值。查比例因子表中比這個最大值大的 最小值作為比例因子。用6位元表示。第2層的一幀對應36個子帶樣值,是第1層的三倍,原 則上要傳三個比例因子。為了降低比例因子的傳輸碼率,...
資料壓縮 實驗六 MPEG音訊編碼實驗
下圖為mpeg音訊編碼layerii流程圖 32個子帶濾波器組 通過子帶分析濾波器組使訊號具有高的時間解析度,確保在短暫衝擊訊號情況下,編碼的聲音頻號具有足夠高的質量。將pcm樣本變換到32個子帶的頻域訊號 如果輸入的取樣頻率為48khz 那麼子帶的頻率寬度為48 2 32 0.75hz 該多相濾波...