第三章 Scalable Codec over DCCP
3.3 Speex
3.2 Scalable Codec over DCCP 基本觀念
我們提出多層編碼搭配 DCCP 作為傳輸協定,在通話中多層編碼將所有層次
Speex 是屬於混合編碼類型的語音編碼器,以 CELP(Code-Excited Linear Prediction)的方式編碼語音。CELP 中其中一個主要編碼概念是 CELP 除了 LPC 過程外,還會執行音 Pitch Prediction 以及計算 Excitation 等步驟。
Pitch Prediction 指的是,由於語音訊號會有週期性的特色,利用此特色可以對於 編碼後語音的音高做調整,讓編碼後的語音音高較接近原來的音高。扣除 LPC 以及 Pitch Prediction 以外所無法得到的音波資訊,CELP 將透過計算 Innovation
‧
signal 來記錄,因此 CELP 最後編碼結果中完整的 Innovation signal 會是佔據最 多位元的一個項目。
編碼過後會有 LSP、OL pitch、OL pitch gain、OL Exc gain、Fine pitch、
Pitch gain、Innovation gain、Innovation VQ、Excitation gain、Excitation VQ 等 項目的參數。在不同參數之間以及每個參數位元大小之間做取捨可以得到不同語 音品質以及不同訊框大小的語音訊號。
Speex 的 narrowband 模式輸入訊號是採用 8 kHz smapling rate 的音訊格式,
也就是每秒取樣 8000 個音波訊號,每個取樣點以 16 位元來記錄。Narrowband 模式每次編碼的 frame size 是 20ms,也就表示每次編碼將使用 160 個取樣點 (8000*20/1000)。
Speex 將每次編碼的範圍細分為 frame 以及 sub-frame。以 narrowband 模式 為例,一個 frame 包含 160 個取樣點,編碼過程會將一個 frame 再分為 4 個 sub-frame,也就是每 40 個取樣點分為一個 sub-frame。編碼時會先以整個 frame 為單位做編碼分析,之後再細部的以每個 sub-frame 為單位做編碼分析。
以 frame 為單位做編碼分析後所產生的項目有 LSP、OL pitch、OL pitch gain 以及 OL Exc gain。LSP 項目在做量化時分別可量化為 30 bits 以及 18 bits 兩種,
30 bits 可用於較好的語音層次,18 bits 可用於較差的語音層次。OL pitch、OL pitch gain 以及 OL Exc gain 則分別為 7 bits、4 bits 以及 5 bits。
以 sub-frame 為單位做編碼分析後所產生的項目有 Fine pitch、Pitch gain、
Innovation gain、Innovation VQ。Fine pitch 編碼後大小為 7 bits,而與它相關的 Pitch gain 項目則可量化為 7 bits(用於較好的語音層次)或是 5 bits(用於較差的語 音層次)。Innovation gain 則依不同層次大小範圍在 0 到 3 bits 之間。其中大小變 化最大的 Innovation VQ 項目,在編碼時是使用 sub-vector 的概念,也就是表示 將 sub-frame 再細分 sub-vector 分別做量化。例如,設 sub-vector 的大小為 20 個 取樣,就會相對應的使用 32 entries 的 codebook(其索引值大小為 5 bits),所以每
‧
個 sub-frame 的 Innovation VQ 項目就會以 10 bits 表示。設 sub-vector 的大小為 5 個取樣,就會相對應的使用 256 entries 的 codebook(其索引值大小為 8 bits),所 以每個 sub-frame 的 Innovation VQ 項目就會以 64 bits 表示,詳細的 narrowband 模式位元分配如表 6 所示。
表 6 Speex narrowband mode Bit allocation
Parameter Update rate 0 1 2 3 4 5 6 7 8
Speex 的 wideband 模式輸入訊號是採用 16 kHz smapling rate 的音訊格式,
也就是每秒取樣 16000 個音波訊號,每個取樣點以 16 位元來記錄。Wideband 模 式每次編碼的 frame size 同樣採用 20ms,也就表示每次編碼將使用 320 個取樣 點(16000*20/1000)。
Wideband模式在進行編碼前會先利用Quadrature Mirror Filter(QMF)將輸入 訊號分為兩個bands,利用QMF的low pass filter H0 以及high pass filter H1 將訊號分為low band以及high band。Low band的訊號依舊維持語音波形的特性,
Wideband模式中利用先前所介紹的narrowband的編碼方式編碼low band訊號。
High band則因為沒有語音波形的某些特性,和low band使用不同的編碼方式。
‧
pitch 特性,所以經過編碼後的項目只有 LSP、Excitation gain 以及 Excitation VQ,Wideband 模式的 LSP 以及 Excitation 的編碼方式與 narrowband 的類似,詳細的 wideband 模式位元分配如表 7 所示。
表 7 Speex wideband mode Bit allocation
Parameter Update rate 0 1 2 3 4 5 6 7 8 9 10