Voice Over Internet Protocol Voice Over Internet Protocol
Speech-Coding Techniques
Speech-Coding Techniques
Speech-Coding Techniques Speech-Coding Techniques
•
Voice QualityVoice Quality•
A little about speechA little about speech•
Voice SamplingVoice Sampling– QuantizationQuantization
•
Types of Speech CodersTypes of Speech Coders•
G.711G.711•
Adaptive Differential Adaptive Differential PCM (ADPCM)PCM (ADPCM)•
Analysis-by-Synthesis (Abs) CodecsAnalysis-by-Synthesis (Abs) Codecs– G.728 Low-Delay G.728 Low-Delay CELPCELP
– G.723.1 Algebraic Codec-Excited Linear Prediction (ACELP)G.723.1 Algebraic Codec-Excited Linear Prediction (ACELP) – G.729G.729
•
Selecting CodecsSelecting Codecs•
Voice Quality Voice Quality
•
MOS (Mean Opinion Score)MOS (Mean Opinion Score)– Excellence-5Excellence-5 – Good-4Good-4
– Fair-3Fair-3 – Poor-2Poor-2 – Bad-1Bad-1
•
Perceptual Speech Quality MeasurementPerceptual Speech Quality Measurement– ITU P.861ITU P.861
– Evaluate speech codingEvaluate speech coding
聲音的數位化 聲音的數位化
•
什麼是聲音?什麼是聲音?– 聲音是像光一樣的波長的現象,但是這是巨觀來看,它聲音是像光一樣的波長的現象,但是這是巨觀來看,它 其實是牽涉到空氣中的分子在一些實體設備運作下被壓 其實是牽涉到空氣中的分子在一些實體設備運作下被壓
縮與放大的結果。
縮與放大的結果。
• 例如,一個音效系統中的喇叭前後的震動產生一個縱向的壓力例如,一個音效系統中的喇叭前後的震動產生一個縱向的壓力 波,而這個波就是我們所接受到的聲音。
波,而這個波就是我們所接受到的聲音。 ..
• 因為聲音是一個壓力波,它是一個連續的數值,而不是數位資因為聲音是一個壓力波,它是一個連續的數值,而不是數位資 料。料。
• 即使這樣的壓力波是縱向的,它們仍然有波的特質與行為,如即使這樣的壓力波是縱向的,它們仍然有波的特質與行為,如 反射反射 (( 反彈,反彈, bouncing), bouncing), 折射折射 (( 強度的不同的波進入媒介後角強度的不同的波進入媒介後角
度的改變與繞射
度的改變與繞射 (( 沿著物體周圍彎曲沿著物體周圍彎曲 )) 。。
•
數位化 數位化 (Digitization) (Digitization)
• 數位化意味著轉換成一串數字數位化意味著轉換成一串數字。。
• 下圖是聲音的一維表示圖:振幅值取決於一個一維的變數,就下圖是聲音的一維表示圖:振幅值取決於一個一維的變數,就 是時間。是時間。
數位化 數位化 (Digitization) (Digitization)
•
上圖必須把時間及振幅 作為數位化的參數,也上圖必須把時間及振幅 作為數位化的參數,也 就是取樣時要將它們記錄:一個時間對應一個 就是取樣時要將它們記錄:一個時間對應一個 振幅。振幅。– 取樣救是測量我們想要知道訊號上的數值,取樣的取樣救是測量我們想要知道訊號上的數值,取樣的 間距通常會是許多相同大小的區間。
間距通常會是許多相同大小的區間。
– 第一種取樣方式,就是利用在相同長度的時間間隔第一種取樣方式,就是利用在相同長度的時間間隔 做測量。 這樣測量的速率叫做測量頻率
做測量。 這樣測量的速率叫做測量頻率 (sampling fr(sampling fr equency)
equency) (( 見下圖見下圖 a)a) 。。
– 對聲音而言,典型的取樣頻率是對聲音而言,典型的取樣頻率是 8 kHz (8,000 sampl8 kHz (8,000 sampl es per second)
es per second) 到到 48 kHz. 48 kHz. 這個範圍是經由理論所這個範圍是經由理論所 謂謂 NyquistNyquist 理論理論 (( 後面會討論後面會討論 )) 所決定。所決定。
數位化 數位化
• 因此決定要如何將聲音資料數位化,我們 因此決定要如何將聲音資料數位化,我們 需要知道下列的問題:
需要知道下列的問題:
– 取樣速率是多少?取樣速率是多少?
– 資料可以量化到什麼程度,量化的量是一致的資料可以量化到什麼程度,量化的量是一致的 嗎?嗎?
– 聲音資料的格式為何聲音資料的格式為何 ? (? ( 檔案格式檔案格式 ))
Nyquist Theorem Nyquist Theorem
•
訊號可以被拆成一組訊號可以被拆成一組正弦波的總和,左圖 正弦波的總和,左圖 顯示有比重的正弦撥 顯示有比重的正弦撥 可以建立一個複雜的 可以建立一個複雜的 訊號。訊號。
Nyquist Theorem Nyquist Theorem
•
NyquistNyquist 理論是要告知取樣的頻率要多快才可理論是要告知取樣的頻率要多快才可 以還原本來的聲音。以還原本來的聲音。
– 下圖下圖 (a)(a) 顯示單一的一個正弦波:它是一個單純的顯示單一的一個正弦波:它是一個單純的 頻率 頻率 (( 只有電子儀器才能產生如此的聲音只有電子儀器才能產生如此的聲音 )) 。。
– 假使取樣速率恰好與實際頻率相等,下圖假使取樣速率恰好與實際頻率相等,下圖 (b)(b) 顯示顯示 會還原一個錯誤的訊號:它只是一個沒有頻率的常 會還原一個錯誤的訊號:它只是一個沒有頻率的常 數。數。
– 再來,如果取樣變成了再來,如果取樣變成了 1.51.5 倍,下圖倍,下圖 (c)(c) 顯示所得顯示所得 到仍是一個不正確頻率的波
到仍是一個不正確頻率的波 ((aliasalias) ) ,這個波的,這個波的 頻率小於原來訊號:是原來的一半
頻率小於原來訊號:是原來的一半 (( 頂點間的波頂點間的波 長是原來的兩倍
長是原來的兩倍 )) 。。
Nyquist Theorem Nyquist Theorem
• Nyquist Theorem Nyquist Theorem
: : 假使一個訊號是假使一個訊號是band-limite band-limite d d
(( 也就是訊號內有低頻率極限 也就是訊號內有低頻率極限f f
1 1 及高頻率極限及高頻率極限f f
22,所以取樣速率應該至少
,所以取樣速率應該至少 2(2(
f f
22- f - f
11).).• Nyquist frequency Nyquist frequency
: Nyquist: Nyquist 速率的一半。速率的一半。– 因為它無法還原頻率大於因為它無法還原頻率大於 Nyquist frequencyNyquist frequency 的訊號的訊號
,所以大多數系統有一個
,所以大多數系統有一個 antialiasing filterantialiasing filter 可以限制可以限制 取樣器輸入訊號的頻率內容在
取樣器輸入訊號的頻率內容在 Nyquist frequencyNyquist frequency 範圍範圍 內。內。
•
取樣頻率,真實頻率及取樣頻率,真實頻率及 Alias FrequencyAlias Frequency 的關係如的關係如 下:下:– ffaliasalias = = ffsamplingsampling - f - ftruetrue; ; for for fftruetrue < f < fsamplingsampling < < 22 f ftruetrue
訊號對雜訊比 訊號對雜訊比
Signal to Noise Ratio (SNR) Signal to Noise Ratio (SNR)
•
正確訊號與雜訊的的能量比就叫做正確訊號與雜訊的的能量比就叫做signal to noise signal to noise ratio
ratio
((SNR SNR
) )– 測量訊號品值的方法。測量訊號品值的方法。
•
SNRSNR 通常是以通常是以 decibeldecibel 為單位為單位 ((dB dB
)) ,而,而 1 dB1 dB 就就 是是 11bel bel
的十分之一。以的十分之一。以 dbdb 為單位為單位 SNRSNR 值被定義值被定義成電壓平方的以
成電壓平方的以 1010 為底的對數,詳細定義如下:為底的對數,詳細定義如下:
::
– SNR SNR = 10log= 10log1010VV22signalsignal //VV22noisenoise=20log=20log1010VVsignalsignal //VVnoisenoise
訊號對雜訊比 訊號對雜訊比
Signal to Noise Ratio (SNR) Signal to Noise Ratio (SNR)
•
訊號的能量是與電壓的平方成比正比訊號的能量是與電壓的平方成比正比 . . 例如例如 : : 假假 始訊號電壓為雜訊訊號電壓的十倍始訊號電壓為雜訊訊號電壓的十倍 , , 那那 SNRSNR 就是就是 20log
20log1010(10)=20dB.(10)=20dB.
•
就能量而言,就能量而言, 1010 把小提琴的能量當然是一把小提把小提琴的能量當然是一把小提 琴能量的十倍,然而以能量比的琴能量的十倍,然而以能量比的 SNRSNR 就是就是 10dB, 10dB, or 1B.
or 1B.
•
通常我們所聽到四周的聲音的層級就是靠通常我們所聽到四周的聲音的層級就是靠 decibeldecibel 來區分,也就是以我們可以聽到最安靜的聲音來 來區分,也就是以我們可以聽到最安靜的聲音來做比例,下表就是四周聲音大概的分級。
做比例,下表就是四周聲音大概的分級。
線性與非線性量化 線性與非線性量化
•
線性量化方式:線性量化方式:樣本是以平均的量化值來儲存。樣本是以平均的量化值來儲存。•
非平均方式量化非平均方式量化(Non-uniform quantization) (Non-uniform quantization)
: : 以人以人 的聽力敏感度為準來設定更適當且不同大小的區間。的聽力敏感度為準來設定更適當且不同大小的區間。
– Weber‘s LawWeber‘s Law 曾明白的表示等量的感官上與絕對層級的值要曾明白的表示等量的感官上與絕對層級的值要 成正比:成正比:
• ΔResponse∞ΔStimulus/StimulusΔResponse∞ΔStimulus/Stimulus
– 加入一個比例為加入一個比例為 kk 的常數,我們可以有一個微分方程式表示的常數,我們可以有一個微分方程式表示 出出 (( 反應值為 反應值為 r r 且刺激值為 且刺激值為 ss)) ::
• dr dr = = k k (1/s(1/s) ) ds ds with response with response r and stimulus r and stimulus ss..
線性與非線性量化 線性與非線性量化
•
將上面的微分方程式積分得到的解釋將上面的微分方程式積分得到的解釋 r r = = k k ln ln s s + + CC , , CC 是一個積分出來的常數。是一個積分出來的常數。
•
可以將上面的解改寫成可以將上面的解改寫成 r r = = k k ln(ln(s/ss/s00) )– ss00 是最低可以引起反應的刺激層級是最低可以引起反應的刺激層級 (r (r = 0 = 0 當當 s=s=ss00).).
•
非線性量化的作用先將類比訊號有單純非線性量化的作用先將類比訊號有單純 ss 空間轉換成理論空間轉換成理論 上的上的 rr 空間,然後將得到的值平均化。空間,然後將得到的值平均化。•
這樣對聲音的律論稱為這樣對聲音的律論稱為 μ-lawμ-law 編碼,編碼, (( 或或 u-lawu-law)) 。另外一。另外一 個非常類似的規則稱為個非常類似的規則稱為 A-lawA-law ,,是在歐洲電話系統中用到是在歐洲電話系統中用到 的編碼。的編碼。
•
這兩個非常類似編碼的方程式定義如下:這兩個非常類似編碼的方程式定義如下:線性與非線性量化
線性與非線性量化
μ μ =100 =100 或 或 255; 255; A A = 87 = 87 . . 6 6
對於安靜的聲音有比較好的解析度
對於安靜的聲音有比較好的解析度
聲音的過濾
聲音的過濾 (filter) (filter)
•
在取樣與在取樣與 ADAD 轉換之前,聲音訊號通常也會做過轉換之前,聲音訊號通常也會做過 濾來清除不需要的頻率訊號。 而要保留的訊號與 濾來清除不需要的頻率訊號。 而要保留的訊號與其應用有關:
其應用有關:
– 對語音而言,頻率是保留在對語音而言,頻率是保留在 50Hz50Hz 到到 10kHz10kHz 之間,通之間,通 常可以利用一個可以濾掉較低及較高頻訊號波的
常可以利用一個可以濾掉較低及較高頻訊號波的 band-band- pass filter
pass filter 將其它的訊號去掉。將其它的訊號去掉。
– 一個音樂的訊號一般是落在一個音樂的訊號一般是落在 20Hz20Hz 與與 20kHz20kHz 之間之間 – 在在 DA DA 轉換器的末端,高頻可以在輸出重現轉換器的末端,高頻可以在輸出重現
• 因為取樣及量化,原來平順的訊號會被一系列含有所有可能頻因為取樣及量化,原來平順的訊號會被一系列含有所有可能頻 率的率的 step functionsstep functions 所取代。所取代。
– 所以在解碼端,在所以在解碼端,在 DADA 線路後端會使用一個線路後端會使用一個 low-pass low-pass filter
filter 。。
聲音品質與資料速率 聲音品質與資料速率
•
當較多的位元用來量化時,未壓縮的資料速率相對也當較多的位元用來量化時,未壓縮的資料速率相對也 會增加。立體聲會增加。立體聲 (Stereo):(Stereo): 在傳送一個數位聲音訊號在傳送一個數位聲音訊號
, 頻寬會倍增。
, 頻寬會倍增。
聲音的量化與傳輸 聲音的量化與傳輸
• 通常 通常 , , 對聲音所產生量化後的取樣輸出叫做 對聲音所產生量化後的取樣輸出叫做 PCM PCM (Pulse Code Modulation) (Pulse Code Modulation) 。另外一個 。另外一個 版本是 版本是 DPCM DPCM ( ( 一個原始但有效的改進)。 一個原始但有效的改進)。
具有適應性的版本叫
具有適應性的版本叫 ADPCM ADPCM 。 。
Pulse Code Modulation Pulse Code Modulation
• 產生從類比訊號到數位訊號的基本技術就 產生從類比訊號到數位訊號的基本技術就 是取樣與量化
是取樣與量化 ( ( sampling sampling and and quantizatio quantizatio n n ). ).
• 量化包含選擇量值上的中斷點,然後重新 量化包含選擇量值上的中斷點,然後重新
對應任意在一段區間的值到一個具有代表
對應任意在一段區間的值到一個具有代表
性的級數 性的級數 ( ( 如之前的圖 如之前的圖 ) ) 。 。
語音壓縮的
語音壓縮的 PCM PCM
一個不連續的訊號不只含有原來訊號的頻率組成 一個不連續的訊號不只含有原來訊號的頻率組成
,還含有理論上有限的高頻組成:
,還含有理論上有限的高頻組成:
•
這樣是來自於訊號處理中的傅立葉分析的理論。這樣是來自於訊號處理中的傅立葉分析的理論。•
這些高頻是無關重要的這些高頻是無關重要的 ((extraneousextraneous).).•
因此數位轉類比的輸出會經由一個因此數位轉類比的輸出會經由一個 low-pass filterlow-pass filter,這個濾器只允許在原來訊號最大個頻率範圍內的
,這個濾器只允許在原來訊號最大個頻率範圍內的 頻率訊號通過。
頻率訊號通過。
語音壓縮的
語音壓縮的 PCM PCM
•
完整電話與音訊號編碼與解碼的機制如完整電話與音訊號編碼與解碼的機制如 下圖。由於下圖。由於 low-pass filteringlow-pass filtering ,輸出訊,輸出訊 號變得比較平順,如上圖
號變得比較平順,如上圖 (c)(c) 的效果。的效果。
聲音的差值編碼 聲音的差值編碼
• 聲音不再以簡單的 聲音不再以簡單的 PCM PCM 方式儲存,取而代 方式儲存,取而代 之的是利用取樣訊號間的差異,這些差異 之的是利用取樣訊號間的差異,這些差異 通常來說是比較小的數字,當然有可能可 通常來說是比較小的數字,當然有可能可
以使用較少的位元數來儲存。
以使用較少的位元數來儲存。
– 假使一個與時間相關的訊號有一些時間的一致假使一個與時間相關的訊號有一些時間的一致 性 性 (“temporal redundancy”)(“temporal redundancy”) ,所謂的差異訊,所謂的差異訊
號,將現在取樣值減去前一個取樣值,將會得 號,將現在取樣值減去前一個取樣值,將會得 到一個在到一個在 00 值周圍有極值的峰值柱狀圖值周圍有極值的峰值柱狀圖 (histog(histog ram)ram) 。。
聲音的差值編碼 聲音的差值編碼
• 一個較極端的例子,一個線性斜面訊號具 一個較極端的例子,一個線性斜面訊號具 有相當平的斜率,所以由這個訊號所導出 有相當平的斜率,所以由這個訊號所導出
的柱狀圖上 含有在這個斜率值的曲線上揚 的柱狀圖上 含有在這個斜率值的曲線上揚 部分 部分 (spike) (spike) 。 。
– 所以我們可以將這些差值編碼成位元字串,可所以我們可以將這些差值編碼成位元字串,可 以將常出現的值給較短的編碼,很少出現的給 以將常出現的值給較短的編碼,很少出現的給
長的編碼。
長的編碼。
無漏失的預測性編碼 無漏失的預測性編碼
Lossless Predictive Coding Lossless Predictive Coding
• Predictive coding Predictive coding
: : 就是傳送差值,先以現就是傳送差值,先以現 在取樣值預測成下一個的取樣值,不是傳送取 在取樣值預測成下一個的取樣值,不是傳送取樣值本身,而是前後取樣的差值。
樣值本身,而是前後取樣的差值。
– 預測性編碼包含找出差值,而且使用預測性編碼包含找出差值,而且使用 PCMPCM 傳送這傳送這 些差值。些差值。
– 注意整數差值也都將是整數,將整數輸入訊號當作注意整數差值也都將是整數,將整數輸入訊號當作 是是 ffnn的集合 。然後將前一個訊號值當作是預測值 的集合 。然後將前一個訊號值當作是預測值
, 然後定義誤差值
, 然後定義誤差值
eenn當作是與 實際與預測訊號當作是與 實際與預測訊號 值的差值。
值的差值。
fn
無漏失的預測性編碼 無漏失的預測性編碼
Lossless Predictive Coding Lossless Predictive Coding
– 但通常預測值會用一些前面取樣值所形成的函但通常預測值會用一些前面取樣值所形成的函 數數
f f
n-1n-1, ,f f
n-2n-2, ,f f
n-3n-3等,提供一個比較好的預測, 最等,提供一個比較好的預測, 最常用的線性預測函數如下:
常用的線性預測函數如下:
無漏失的預測性編碼 無漏失的預測性編碼
Lossless Predictive Coding Lossless Predictive Coding
•
產生差值的想法就是取樣值的柱狀圖有更多的峰產生差值的想法就是取樣值的柱狀圖有更多的峰 值。值。– 例如下圖例如下圖 (a)(a) 畫了在畫了在 8kHz8kHz 取樣一秒鐘的結果,而每個取樣一秒鐘的結果,而每個 取樣的大小用
取樣的大小用 88 位元表示。位元表示。
– 如下圖如下圖 (b)(b) ,這些取樣值的柱狀圖是落在,這些取樣值的柱狀圖是落在 00 的附近。的附近。
– 如下圖如下圖 (c)(c) 顯示對應語音訊號的差值柱狀圖比原來的取顯示對應語音訊號的差值柱狀圖比原來的取 樣值更集中
樣值更集中 00 的附近。的附近。
– 結果是將常常出現的符號給予短的編碼結果是將常常出現的符號給予短的編碼 00 ,這樣的編,這樣的編 碼方式比取樣值本身的編碼將更有效的將取樣值差值 碼方式比取樣值本身的編碼將更有效的將取樣值差值 編碼。編碼。
無漏失的預測性編碼 無漏失的預測性編碼
•
問題問題 : : 假使取樣值的整數值範圍是落在假使取樣值的整數值範圍是落在 0..2550..255 間,這時間,這時 差異值應該是落在差異值應該是落在 -255..255-255..255 我們已增加了差異值的動我們已增加了差異值的動 態範圍有兩倍之多
態範圍有兩倍之多需要更多位元來傳送一些差異值需要更多位元來傳送一些差異值。。
•
一個比較聰明的解決方法就是:定義兩個新編碼一個比較聰明的解決方法就是:定義兩個新編碼 ,, 叫做叫做 SS UU 與與 SD, SD, 分別代表分別代表 Shift-UpShift-Up 與與 Shift-DownShift-Down 。一些特別編。一些特別編碼值要為這兩個保留。
碼值要為這兩個保留。
•
然後我們可以將一些訊號差異值的部分集合加以編碼,舉然後我們可以將一些訊號差異值的部分集合加以編碼,舉 例來說只有範圍落在例來說只有範圍落在 --15..1615..16 的差異值加以編碼。但是超的差異值加以編碼。但是超 過這個範圍的差異值可以經由一串移位
過這個範圍的差異值可以經由一串移位 (Shift:SU(Shift:SU 或或 SD)SD) 後,緊接的是一個真正落在
後,緊接的是一個真正落在 -15..16-15..16 範圍的值。範圍的值。
– 例如例如 100100 送出的方式就是 送出的方式就是 SU, SU, SU, 4SU, SU, SU, 4 。。
無漏失的預測性編碼 無漏失的預測性編碼
• Lossless predictive coding Lossless predictive coding
解碼器部分要還解碼器部分要還 原與原來相同的訊號。簡單的例子就是假使我 原與原來相同的訊號。簡單的例子就是假使我們利用下面的預測函數 :
們利用下面的預測函數 : fn
無漏失的預測性編碼 無漏失的預測性編碼
•
依照上面的預測函數為例,假使想要將數列 依照上面的預測函數為例,假使想要將數列f f
11,,
f f
22,,f f
33,,f f
44,,f f
55 = 21, 22, 27, 25, 22. = 21, 22, 27, 25, 22. 編碼編碼 , , 我們我們 將創造一個額外訊號值將創造一個額外訊號值
f f
11 = 21 = 21 ,而且先傳送,而且先傳送 這個不編碼的初始值:這個不編碼的初始值:
DPCM DPCM
•
Differential PCMDifferential PCM 與預測性編碼是一模一樣,只與預測性編碼是一模一樣,只 是它加入了一個量化的步驟。是它加入了一個量化的步驟。
– 一個可以有系統地決定最佳量化間距集合的機制,一個可以有系統地決定最佳量化間距集合的機制,
它的量化間距是不相同的,就是所謂的
它的量化間距是不相同的,就是所謂的 Lloyd-Max Lloyd-Max 量化器量化器 , , 這個方法是利用誤差項的最小平方值。這個方法是利用誤差項的最小平方值。
– 專有術語專有術語 : : 訊號值訊號值 : : ffnn 原來的訊號, 原來的訊號, 預預 測訊號, 與
測訊號, 與 量化過後的還原訊號。量化過後的還原訊號。
fn
fn
~
DPCM DPCM
•
DPCM: DPCM: 求預測值,將預測值減去實際訊號值求得誤求預測值,將預測值減去實際訊號值求得誤 差值 差值 eenn,然後量化這個誤差值得 描述,然後量化這個誤差值得 描述 DPCMDPCM 的的 方程式集合為方程式集合為 n
e~
DPCM DPCM
• 編碼與解碼的主要效果就是要產生還原量 編碼與解碼的主要效果就是要產生還原量 化過的訊號值 。
化過的訊號值 。
– 所造成的失真所造成的失真 ((
distortion) distortion)
就是平均平方誤差 就是平均平方誤差 ,一個常用來與位元層數比較失 ,一個常用來與位元層數比較失
真的方式。一個
真的方式。一個 Lloyd- Max Lloyd- Max 量化器會比等分量化器會比等分 量化器有比較少的失真。
量化器有比較少的失真。
DPCM DPCM
•
對語音而言,我們可以經由估算一小塊訊號的平對語音而言,我們可以經由估算一小塊訊號的平 均值與變異量來動態地調整量化間距,在每一個 均值與變異量來動態地調整量化間距,在每一個訊號值的區塊,移動量化間距。 也就是從時間 訊號值的區塊,移動量化間距。 也就是從時間
i i
開始,開始, 我們可以將有我們可以將有N N
個值的區塊,而且嘗試將個值的區塊,而且嘗試將量化誤差降到最小:
量化誤差降到最小:
Types of Speech Coders Types of Speech Coders
•
Waveform codecsWaveform codecs– High-quality output and not complexHigh-quality output and not complex – Large amounts of bandwidthLarge amounts of bandwidth
– Degrade significantly while using lower bandwidthDegrade significantly while using lower bandwidth
•
Source codecs (vocoders)Source codecs (vocoders)– Match the incoming signal to a mathematical modelMatch the incoming signal to a mathematical model
• Use linear predictive filterUse linear predictive filter
– A set of model parameters replaces the signal itselfA set of model parameters replaces the signal itself – Private communications such as military applicationsPrivate communications such as military applications
•
Hybrid codecsHybrid codecs– Perform a degree of waveform matchingPerform a degree of waveform matching
– Utilize knowledge of how people produce sound in the first placeUtilize knowledge of how people produce sound in the first place
PCM PCM
• Sample rate 8kHz Sample rate 8kHz
• Uniform quantization Uniform quantization
– 12 bits per sample (96kbps)12 bits per sample (96kbps)
• Non-uniform quantization Non-uniform quantization
– A-law and μ-lawA-law and μ-law
– 8 bits per sample (64kbps)8 bits per sample (64kbps) – MOS 4.3MOS 4.3
ADPCM ADPCM
• G.721 offer ADPCM-coded speech at G.721 offer ADPCM-coded speech at 32Kbps
32Kbps
– G.721 has now superseded by G.726G.721 has now superseded by G.726
• G.726 G.726
– A-law and μ-lawA-law and μ-law
– Converted to 16Kbps, 24Kbps, 32Kbps(MOS Converted to 16Kbps, 24Kbps, 32Kbps(MOS 4.0) and 40Kbps
4.0) and 40Kbps
Analysis-by-Synthesis (Abs) Cod Analysis-by-Synthesis (Abs) Cod ecs ecs
•
Hybrid coder can provide relatively acceptable qualHybrid coder can provide relatively acceptable qual ity at rate down to 16kbpsity at rate down to 16kbps
•
Vocoder can provide intelligible speech at 2.4kbps Vocoder can provide intelligible speech at 2.4kbps and lowerand lower
•
Most successful and commonly used are time-domMost successful and commonly used are time-dom ain Abs codecain Abs codec
– Linear prediction filter model for the vocal tractLinear prediction filter model for the vocal tract
• Linear Predictive Coding (LPC) vocoderLinear Predictive Coding (LPC) vocoder
• Instead of using a simple two-state, voiced/unvoiced model Instead of using a simple two-state, voiced/unvoiced model
• Excitation signal is chosen by attempting to match to reconstructExcitation signal is chosen by attempting to match to reconstruct
G.728 Low-Delay CELP G.728 Low-Delay CELP
•
CELP(Code-Excited Linear Predictive)CELP(Code-Excited Linear Predictive)– Filter Filter
• Change over timeChange over time
– A codebook of acoustic vector A codebook of acoustic vector
• Each vector contain set of elements, which represent various characteristicEach vector contain set of elements, which represent various characteristic s of the excitation signals
s of the excitation signals
– Transmit a set of informationTransmit a set of information
• Filter coefficients, gain, and a pointer to the excitation vector chosenFilter coefficients, gain, and a pointer to the excitation vector chosen
• Sender and receiver have the same codebookSender and receiver have the same codebook
•
G.728G.728– Operate on five sample at a time (sampled at 8kHz)Operate on five sample at a time (sampled at 8kHz) – 1024 vectors, index to the vector is 10 bits1024 vectors, index to the vector is 10 bits
– 16kbps16kbps
G.728 Low-Delay CELP encoder
G.728 Low-Delay CELP encoder
G.728 Low-Delay CELP decoder
G.728 Low-Delay CELP decoder
G.723.1 G.723.1
•
Algebraic Code-Excited Linear Prediction (ACELAlgebraic Code-Excited Linear Prediction (ACEL P)P)– 6.3 Kbps or 5.3 Kbps (8000Hz)6.3 Kbps or 5.3 Kbps (8000Hz)
– Operate on 240 samples (30ms delay)Operate on 240 samples (30ms delay)
• 4 subframes of 60 samples4 subframes of 60 samples
– Utilize a look-ahead of 7.5ms (totally 37.5ms)Utilize a look-ahead of 7.5ms (totally 37.5ms)
•
Silence suppressionSilence suppression– SID (Silence Insertion Description), 4 bytesSID (Silence Insertion Description), 4 bytes
•
MOS 3.8G.729 G.729
•
8 kbps, a frame of 80 samples(8kHz)8 kbps, a frame of 80 samples(8kHz)•
5 ms look-ahead (totally 15ms)5 ms look-ahead (totally 15ms)•
Frame size is 80bitsFrame size is 80bits•
MOS 4.0MOS 4.0•
G.729 Annex AG.729 Annex A– MOS 3.7MOS 3.7
•
G.729 Annex BG.729 Annex B•
G.729 Annex DG.729 Annex D•
G.729 Annex EG.729 Annex ESelecting Codecs Selecting Codecs
•
CDMA QCELPCDMA QCELP– RFC 2658RFC 2658
•
GSM (Enhanced Full Rate, EFR)GSM (Enhanced Full Rate, EFR)– RFC 1890RFC 1890
•
Adaptive Multi-Rate (AMR)Adaptive Multi-Rate (AMR)•
G.711 does not incorporate any logic to deal G.711 does not incorporate any logic to deal with losswith loss
•
G.729 have the capability to accommodate a lost G.729 have the capability to accommodate a lost frame by interpolating from previous frameframe by interpolating from previous frame
Cascaded Codecs Cascaded Codecs
• Minimize the number of times that a given Minimize the number of times that a given speech is coded and decoded
speech is coded and decoded
• In some cases, a VoIP implementation ma In some cases, a VoIP implementation ma y be such that cascaded codecs are unavo y be such that cascaded codecs are unavo
idable idable
– Ensure that the quality does not degradeEnsure that the quality does not degrade
Tones, Signals, and Dual-Tone M Tones, Signals, and Dual-Tone M
ultifrequency (DTMF) Digits ultifrequency (DTMF) Digits
•
Most sophisticated codec available today achieve bandwMost sophisticated codec available today achieve bandw idth efficiency without losing significant quality due to sm idth efficiency without losing significant quality due to smart algorithms and powerful DSP art algorithms and powerful DSP
– Based on how voice is produced in the first placeBased on how voice is produced in the first place
•
Tones and beeps are needed to be transmittedTones and beeps are needed to be transmitted– Fax tones, various tones such as busy tones, and DTMF(two-Fax tones, various tones such as busy tones, and DTMF(two- stages dialing, voice mail retrieval, and other applications.
stages dialing, voice mail retrieval, and other applications.
•
G.711 can handle these tones, G.723.1, G.729 cannotG.711 can handle these tones, G.723.1, G.729 cannot•
Use gateway to handle tones and speech in different waUse gateway to handle tones and speech in different wa ysys– IP network v.s. circuit switch networkIP network v.s. circuit switch network
– Speech (RTP) & external signal(H.323, SIP)Speech (RTP) & external signal(H.323, SIP)