1 voice over internet protocol speech-coding techniques

54
1 Voice Over Internet Voice Over Internet Protocol Protocol Speech-Coding Techniques Speech-Coding Techniques

Post on 22-Dec-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Voice Over Internet Protocol Speech-Coding Techniques

11

Voice Over Internet ProtocolVoice Over Internet Protocol

Speech-Coding TechniquesSpeech-Coding Techniques

Page 2: 1 Voice Over Internet Protocol Speech-Coding Techniques

22

Speech-Coding TechniquesSpeech-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• Cascading CodecsCascading Codecs• Tones, Signals, and Dual-Tone Multifrequency (DTMF) DigitsTones, Signals, and Dual-Tone Multifrequency (DTMF) Digits

Page 3: 1 Voice Over Internet Protocol Speech-Coding Techniques

33

Voice QualityVoice 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

Page 4: 1 Voice Over Internet Protocol Speech-Coding Techniques

44

聲音的數位化聲音的數位化• 什麼是聲音?什麼是聲音?

– 聲音是像光一樣的波長的現象,但是這是巨觀來看,它聲音是像光一樣的波長的現象,但是這是巨觀來看,它其實是牽涉到空氣中的分子在一些實體設備運作下被壓其實是牽涉到空氣中的分子在一些實體設備運作下被壓縮與放大的結果。縮與放大的結果。• 例如,一個音效系統中的喇叭前後的震動產生一個縱向的壓力例如,一個音效系統中的喇叭前後的震動產生一個縱向的壓力波,而這個波就是我們所接受到的聲音。波,而這個波就是我們所接受到的聲音。 ..

• 因為聲音是一個壓力波,它是一個連續的數值,而不是數位資因為聲音是一個壓力波,它是一個連續的數值,而不是數位資料。料。

• 即使這樣的壓力波是縱向的,它們仍然有波的特質與行為,如即使這樣的壓力波是縱向的,它們仍然有波的特質與行為,如反射反射 (( 反彈,反彈, bouncing), bouncing), 折射折射 (( 強度的不同的波進入媒介後角強度的不同的波進入媒介後角度的改變與繞射度的改變與繞射 (( 沿著物體周圍彎曲沿著物體周圍彎曲 )) 。。

• 假使我們希望使用聲音的數位版本,必須形成聲音資訊的數位假使我們希望使用聲音的數位版本,必須形成聲音資訊的數位表示方式。表示方式。

Page 5: 1 Voice Over Internet Protocol Speech-Coding Techniques

55

數位化數位化 (Digitization)(Digitization)• 數位化數位化意味著轉換成一串數字意味著轉換成一串數字。。• 下圖是聲音的一維表示圖:振幅值取決於一個一維的變下圖是聲音的一維表示圖:振幅值取決於一個一維的變

數,就是時間。數,就是時間。

Page 6: 1 Voice Over Internet Protocol Speech-Coding Techniques

66

數位化數位化 (Digitization)(Digitization)

• 上圖必須把時間及振幅 作為數位化的參數,也上圖必須把時間及振幅 作為數位化的參數,也就是取樣時要將它們記錄:一個時間對應一個就是取樣時要將它們記錄:一個時間對應一個振幅。振幅。– 取樣救是測量我們想要知道訊號上的數值,取樣的取樣救是測量我們想要知道訊號上的數值,取樣的間距通常會是許多相同大小的區間。間距通常會是許多相同大小的區間。

– 第一種取樣方式,就是利用在相同長度的時間間隔第一種取樣方式,就是利用在相同長度的時間間隔做測量。 這樣測量的速率叫做測量頻率做測量。 這樣測量的速率叫做測量頻率 ((sampling frsampling frequency) equency) (( 見下圖見下圖 a)a) 。。

– 對聲音而言,典型的取樣頻率是對聲音而言,典型的取樣頻率是 8 kHz (8,000 sampl8 kHz (8,000 samples per second) es per second) 到到 48 kHz. 48 kHz. 這個範圍是經由理論所這個範圍是經由理論所謂謂 NyquistNyquist 理論理論 (( 後面會討論後面會討論 )) 所決定。所決定。

– 在振幅或電壓的象限來取樣叫做在振幅或電壓的象限來取樣叫做 quantizationquantization(( 如下如下圖圖 b)b) 。。

Page 7: 1 Voice Over Internet Protocol Speech-Coding Techniques

77

Page 8: 1 Voice Over Internet Protocol Speech-Coding Techniques

88

數位化數位化

• 因此決定要如何將聲音資料數位化,我們因此決定要如何將聲音資料數位化,我們需要知道下列的問題:需要知道下列的問題:– 取樣速率是多少?取樣速率是多少?– 資料可以量化到什麼程度,量化的量是一致的資料可以量化到什麼程度,量化的量是一致的嗎?嗎?

– 聲音資料的格式為何聲音資料的格式為何 ? (? ( 檔案格式檔案格式 ))

Page 9: 1 Voice Over Internet Protocol Speech-Coding Techniques

99

Nyquist TheoremNyquist Theorem

• 訊號可以被拆成一組訊號可以被拆成一組正弦波的總和,左圖正弦波的總和,左圖顯示有比重的正弦撥顯示有比重的正弦撥可以建立一個複雜的可以建立一個複雜的訊號。訊號。

Page 10: 1 Voice Over Internet Protocol Speech-Coding Techniques

1010

Nyquist TheoremNyquist Theorem

• NyquistNyquist 理論是要告知取樣的頻率要多快才可理論是要告知取樣的頻率要多快才可以還原本來的聲音。以還原本來的聲音。– 下圖下圖 (a)(a) 顯示單一的一個正弦波:它是一個單純的顯示單一的一個正弦波:它是一個單純的頻率 頻率 (( 只有電子儀器才能產生如此的聲音只有電子儀器才能產生如此的聲音 )) 。。

– 假使取樣速率恰好與實際頻率相等,下圖假使取樣速率恰好與實際頻率相等,下圖 (b)(b) 顯示顯示會還原一個錯誤的訊號:它只是一個沒有頻率的常會還原一個錯誤的訊號:它只是一個沒有頻率的常數。數。

– 再來,如果取樣變成了再來,如果取樣變成了 1.51.5 倍,下圖倍,下圖 (c)(c) 顯示所得顯示所得到仍是一個不正確頻率的波 到仍是一個不正確頻率的波 ((aliasalias) ) ,這個波的,這個波的頻率小於原來訊號:是原來的一半 頻率小於原來訊號:是原來的一半 (( 頂點間的波頂點間的波長是原來的兩倍長是原來的兩倍 )) 。。

– 因此正確的取樣頻率必須至少是原來訊號的兩倍,因此正確的取樣頻率必須至少是原來訊號的兩倍,這就是所謂的這就是所謂的 Nyquist rateNyquist rate 。。

Page 11: 1 Voice Over Internet Protocol Speech-Coding Techniques

1111

Page 12: 1 Voice Over Internet Protocol Speech-Coding Techniques

1212

Page 13: 1 Voice Over Internet Protocol Speech-Coding Techniques

1313

Nyquist TheoremNyquist Theorem

• Nyquist TheoremNyquist Theorem: : 假使一個訊號是假使一個訊號是 band-limiteband-limitedd(( 也就是訊號內有低頻率極限 也就是訊號內有低頻率極限 ff1 1 及高頻率極限及高頻率極限 ff22 ,,所以取樣速率應該至少所以取樣速率應該至少 2(2(ff22 - f- f11).).

• Nyquist frequencyNyquist 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

Page 14: 1 Voice Over Internet Protocol Speech-Coding Techniques

1414

訊號對雜訊比訊號對雜訊比Signal to Noise Ratio (SNR)Signal to Noise Ratio (SNR)• 正確訊號與雜訊的的能量比就叫做正確訊號與雜訊的的能量比就叫做 signal to noise signal to noise

ratio ratio ((SNRSNR) ) – 測量訊號品值的方法。測量訊號品值的方法。

• SNRSNR 通常是以通常是以 decibeldecibel 為單位為單位 ((dBdB)) ,而,而 1 dB1 dB 就就是是 11belbel 的十分之一。以的十分之一。以 dbdb 為單位為單位 SNRSNR 值被定義值被定義成電壓平方的以成電壓平方的以 1010 為底的對數,詳細定義如下::為底的對數,詳細定義如下::– SNR SNR = 10log= 10log1010VV22

signalsignal //VV22noisenoise=20log=20log1010VVsignalsignal //VVnoisenoise

Page 15: 1 Voice Over Internet Protocol Speech-Coding Techniques

1515

訊號對雜訊比訊號對雜訊比Signal to Noise Ratio (SNR)Signal to Noise Ratio (SNR)• 訊號的能量是與電壓的平方成比正比訊號的能量是與電壓的平方成比正比 . . 例如例如 : : 假假始訊號電壓為雜訊訊號電壓的十倍始訊號電壓為雜訊訊號電壓的十倍 , , 那那 SNRSNR 就是就是20log20log1010(10)=20dB.(10)=20dB.

• 就能量而言,就能量而言, 1010 把小提琴的能量當然是一把小提把小提琴的能量當然是一把小提琴能量的十倍,然而以能量比的琴能量的十倍,然而以能量比的 SNRSNR 就是就是 10dB, 10dB, or 1B.or 1B.

• 通常我們所聽到四周的聲音的層級就是靠通常我們所聽到四周的聲音的層級就是靠 decibeldecibel來區分,也就是以我們可以聽到最安靜的聲音來來區分,也就是以我們可以聽到最安靜的聲音來做比例,下表就是四周聲音大概的分級。做比例,下表就是四周聲音大概的分級。

Page 16: 1 Voice Over Internet Protocol Speech-Coding Techniques

1616

Page 17: 1 Voice Over Internet Protocol Speech-Coding Techniques

1717

線性與非線性量化線性與非線性量化

• 線性量化方式:線性量化方式:樣本是以平均的量化值來儲存。樣本是以平均的量化值來儲存。• 非平均方式量化非平均方式量化 (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/(1/ss) ) ds ds with response with response r r and stimulus and stimulus ss..

Page 18: 1 Voice Over Internet Protocol Speech-Coding Techniques

1818

線性與非線性量化線性與非線性量化

• 將上面的微分方程式積分得到的解釋將上面的微分方程式積分得到的解釋 r r = = k k ln ln s s + + CC , , CC 是一個積分出來的常數。是一個積分出來的常數。

• 可以將上面的解改寫成可以將上面的解改寫成 r r = = k k ln(ln(s/ss/s00) ) – ss00 是最低可以引起反應的刺激層級是最低可以引起反應的刺激層級 ((r r = 0 = 0 當當 ss==ss00).).

• 非線性量化的作用先將類比訊號有單純非線性量化的作用先將類比訊號有單純 ss 空間轉換成理論空間轉換成理論上的上的 rr 空間,然後將得到的值平均化。空間,然後將得到的值平均化。

• 這樣對聲音的律論稱為這樣對聲音的律論稱為 μμ-law-law 編碼,編碼, (( 或或 u-lawu-law)) 。另外一。另外一個非常類似的規則稱為個非常類似的規則稱為 AA-law-law ,,是在歐洲電話系統中用到是在歐洲電話系統中用到的編碼。的編碼。

• 這兩個非常類似編碼的方程式定義如下:這兩個非常類似編碼的方程式定義如下:

Page 19: 1 Voice Over Internet Protocol Speech-Coding Techniques

1919

線性與非線性量化線性與非線性量化

Page 20: 1 Voice Over Internet Protocol Speech-Coding Techniques

2020

μμ=100=100 或或 255;255;A A = 87= 87..66對於安靜的聲音有比較好的解析度對於安靜的聲音有比較好的解析度

Page 21: 1 Voice Over Internet Protocol Speech-Coding Techniques

2121

聲音的過濾聲音的過濾 (filter)(filter)

• 在取樣與在取樣與 ADAD 轉換之前,聲音訊號通常也會做過轉換之前,聲音訊號通常也會做過濾來清除不需要的頻率訊號。 而要保留的訊號與濾來清除不需要的頻率訊號。 而要保留的訊號與其應用有關:其應用有關:– 對語音而言,頻率是保留在對語音而言,頻率是保留在 50Hz50Hz 到到 10kHz10kHz之間,通之間,通常可以利用一個可以濾掉較低及較高頻訊號波的常可以利用一個可以濾掉較低及較高頻訊號波的 band-band-pass filterpass filter 將其它的訊號去掉。將其它的訊號去掉。

– 一個音樂的訊號一般是落在一個音樂的訊號一般是落在 20Hz20Hz 與與 20kHz20kHz之間之間– 在在 DA DA 轉換器的末端,高頻可以在輸出重現轉換器的末端,高頻可以在輸出重現

• 因為取樣及量化,原來平順的訊號會被一系列含有所有可能頻因為取樣及量化,原來平順的訊號會被一系列含有所有可能頻率的率的 step functionsstep functions 所取代。所取代。

– 所以在解碼端,在所以在解碼端,在 DADA線路後端會使用一個線路後端會使用一個 low-pass low-pass filterfilter 。。

Page 22: 1 Voice Over Internet Protocol Speech-Coding Techniques

2222

聲音品質與資料速率聲音品質與資料速率• 當較多的位元用來量化時,未壓縮的資料速率相對也當較多的位元用來量化時,未壓縮的資料速率相對也

會增加。立體聲會增加。立體聲 (Stereo):(Stereo): 在傳送一個數位聲音訊號,在傳送一個數位聲音訊號, 頻寬會倍增。 頻寬會倍增。

Page 23: 1 Voice Over Internet Protocol Speech-Coding Techniques

2323

聲音的量化與傳輸聲音的量化與傳輸

• 通常通常 ,, 對聲音所產生量化後的取樣輸出叫做 對聲音所產生量化後的取樣輸出叫做 PCM PCM (Pulse Code Modulation)(Pulse Code Modulation) 。另外一個。另外一個版本是 版本是 DPCM DPCM (( 一個原始但有效的改進)。一個原始但有效的改進)。具有適應性的版本叫具有適應性的版本叫 ADPCMADPCM 。。

Page 24: 1 Voice Over Internet Protocol Speech-Coding Techniques

2424

Pulse Code ModulationPulse Code Modulation

• 產生從類比訊號到數位訊號的基本技術就產生從類比訊號到數位訊號的基本技術就是取樣與量化是取樣與量化 ((sampling sampling and and quantizatioquantizationn).).

• 量化包含選擇量值上的中斷點,然後重新量化包含選擇量值上的中斷點,然後重新對應任意在一段區間的值到一個具有代表對應任意在一段區間的值到一個具有代表性的級數性的級數 (( 如之前的圖如之前的圖 )) 。。

Page 25: 1 Voice Over Internet Protocol Speech-Coding Techniques

2525

Page 26: 1 Voice Over Internet Protocol Speech-Coding Techniques

2626

語音壓縮的語音壓縮的 PCMPCM

一個不連續的訊號不只含有原來訊號的頻率組成,一個不連續的訊號不只含有原來訊號的頻率組成,還含有理論上有限的高頻組成:還含有理論上有限的高頻組成:• 這樣是來自於訊號處理中的傅立葉分析的理論。這樣是來自於訊號處理中的傅立葉分析的理論。• 這些高頻是無關重要的這些高頻是無關重要的 ((extraneousextraneous).).

• 因此數位轉類比的輸出會經由一個因此數位轉類比的輸出會經由一個 low-pass filterlow-pass filter ,,這個濾器只允許在原來訊號最大個頻率範圍內的頻這個濾器只允許在原來訊號最大個頻率範圍內的頻率訊號通過。率訊號通過。

Page 27: 1 Voice Over Internet Protocol Speech-Coding Techniques

2727

語音壓縮的語音壓縮的 PCMPCM

• 完整電話與音訊號編碼與解碼的機制如完整電話與音訊號編碼與解碼的機制如下圖。由於下圖。由於 low-pass filteringlow-pass filtering ,輸出訊,輸出訊號變得比較平順,如上圖號變得比較平順,如上圖 (c)(c) 的效果。的效果。

Page 28: 1 Voice Over Internet Protocol Speech-Coding Techniques

2828

聲音的差值編碼聲音的差值編碼

• 聲音不再以簡單的聲音不再以簡單的 PCMPCM 方式儲存,取而代方式儲存,取而代之的是利用取樣訊號間的差異,這些差異之的是利用取樣訊號間的差異,這些差異通常來說是比較小的數字,當然有可能可通常來說是比較小的數字,當然有可能可以使用較少的位元數來儲存。以使用較少的位元數來儲存。– 假使一個與時間相關的訊號有一些時間的一致假使一個與時間相關的訊號有一些時間的一致性 性 (“temporal redundancy”)(“temporal redundancy”) ,所謂的差異訊,所謂的差異訊號,將現在取樣值減去前一個取樣值,將會得號,將現在取樣值減去前一個取樣值,將會得到一個在到一個在 00 值周圍有極值的峰值柱狀圖值周圍有極值的峰值柱狀圖 (histog(histogram)ram) 。。

Page 29: 1 Voice Over Internet Protocol Speech-Coding Techniques

2929

聲音的差值編碼聲音的差值編碼

• 一個較極端的例子,一個線性斜面訊號具一個較極端的例子,一個線性斜面訊號具有相當平的斜率,所以由這個訊號所導出有相當平的斜率,所以由這個訊號所導出的柱狀圖上 含有在這個斜率值的曲線上揚的柱狀圖上 含有在這個斜率值的曲線上揚部分部分 (spike)(spike) 。。– 所以我們可以將這些差值編碼成位元字串,可所以我們可以將這些差值編碼成位元字串,可以將常出現的值給較短的編碼,很少出現的給以將常出現的值給較短的編碼,很少出現的給長的編碼。長的編碼。

Page 30: 1 Voice Over Internet Protocol Speech-Coding Techniques

3030

無漏失的預測性編碼無漏失的預測性編碼Lossless Predictive CodingLossless Predictive Coding

• Predictive codingPredictive coding: : 就是傳送差值,先以現就是傳送差值,先以現在取樣值預測成下一個的取樣值,不是傳送取在取樣值預測成下一個的取樣值,不是傳送取樣值本身,而是前後取樣的差值。樣值本身,而是前後取樣的差值。– 預測性編碼包含找出差值,而且使用預測性編碼包含找出差值,而且使用 PCMPCM傳送這傳送這些差值。些差值。

– 注意整數差值也都將是整數,將整數輸入訊號當作注意整數差值也都將是整數,將整數輸入訊號當作是是 ffnn 的集合 。然後將前一個訊號值當作是預測值 的集合 。然後將前一個訊號值當作是預測值 , 然後定義誤差值, 然後定義誤差值 eenn當作是與 實際與預測訊號當作是與 實際與預測訊號值的差值。值的差值。

nf

Page 31: 1 Voice Over Internet Protocol Speech-Coding Techniques

3131

無漏失的預測性編碼無漏失的預測性編碼Lossless Predictive CodingLossless Predictive Coding

– 但通常預測值會用一些前面取樣值所形成的函但通常預測值會用一些前面取樣值所形成的函數數 ffn-n-11, , ffn-n-22, , ffn-n-33 等,提供一個比較好的預測, 最等,提供一個比較好的預測, 最常用的線性預測函數如下:常用的線性預測函數如下:

Page 32: 1 Voice Over Internet Protocol Speech-Coding Techniques

3232

無漏失的預測性編碼無漏失的預測性編碼Lossless Predictive CodingLossless Predictive Coding• 產生差值的想法就是取樣值的柱狀圖有更多的峰產生差值的想法就是取樣值的柱狀圖有更多的峰

值。值。– 例如下圖例如下圖 (a)(a)畫了在畫了在 8kHz8kHz 取樣一秒鐘的結果,而每個取樣一秒鐘的結果,而每個取樣的大小用取樣的大小用 88 位元表示。位元表示。

– 如下圖如下圖 (b)(b) ,這些取樣值的柱狀圖是落在,這些取樣值的柱狀圖是落在 00 的附近。的附近。– 如下圖如下圖 (c)(c) 顯示對應語音訊號的差值柱狀圖比原來的取顯示對應語音訊號的差值柱狀圖比原來的取樣值更集中樣值更集中 00 的附近。的附近。

– 結果是將常常出現的符號給予短的編碼結果是將常常出現的符號給予短的編碼 00 ,這樣的編,這樣的編碼方式比取樣值本身的編碼將更有效的將取樣值差值碼方式比取樣值本身的編碼將更有效的將取樣值差值編碼。編碼。

Page 33: 1 Voice Over Internet Protocol Speech-Coding Techniques

3333

Page 34: 1 Voice Over Internet Protocol Speech-Coding Techniques

3434

無漏失的預測性編碼無漏失的預測性編碼• 問題問題 : : 假使取樣值的整數值範圍是落在假使取樣值的整數值範圍是落在 0..2550..255 間,這時間,這時差異值應該是落在差異值應該是落在 -255..255-255..255 我們已增加了差異值的動我們已增加了差異值的動態範圍有兩倍之多態範圍有兩倍之多需要更多位元來傳送一些差異值需要更多位元來傳送一些差異值。。

• 一個比較聰明的解決方法就是:定義兩個新編碼一個比較聰明的解決方法就是:定義兩個新編碼 ,, 叫做叫做 SSUU 與與 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 。。

Page 35: 1 Voice Over Internet Protocol Speech-Coding Techniques

3535

無漏失的預測性編碼無漏失的預測性編碼

• Lossless predictive codingLossless predictive coding解碼器部分要還解碼器部分要還原與原來相同的訊號。簡單的例子就是假使我原與原來相同的訊號。簡單的例子就是假使我們利用下面的預測函數 :們利用下面的預測函數 :

nf

Page 36: 1 Voice Over Internet Protocol Speech-Coding Techniques

3636

無漏失的預測性編碼無漏失的預測性編碼

• 依照上面的預測函數為例,假使想要將數列 依照上面的預測函數為例,假使想要將數列 ff

11,, f f22,,ff33,, f f44,, f f55 = 21, 22, 27, 25, 22. = 21, 22, 27, 25, 22. 編碼編碼 , , 我們我們將創造一個額外訊號值將創造一個額外訊號值 ff11 = 21 = 21 ,而且先傳送,而且先傳送這個不編碼的初始值:這個不編碼的初始值:

Page 37: 1 Voice Over Internet Protocol Speech-Coding Techniques

3737

DPCMDPCM

• Differential PCMDifferential PCM 與預測性編碼是一模一樣,只與預測性編碼是一模一樣,只是它加入了一個量化的步驟。是它加入了一個量化的步驟。– 一個可以有系統地決定最佳量化間距集合的機制,一個可以有系統地決定最佳量化間距集合的機制,它的量化間距是不相同的,就是所謂的它的量化間距是不相同的,就是所謂的 Lloyd-Max Lloyd-Max 量化器量化器 , , 這個方法是利用誤差項的最小平方值。這個方法是利用誤差項的最小平方值。

– 專有術語專有術語 : : 訊號值訊號值 : : ffnn 原來的訊號, 原來的訊號, 預預測訊號, 與 測訊號, 與 量化過後的還原訊號。量化過後的還原訊號。

nfnf~

Page 38: 1 Voice Over Internet Protocol Speech-Coding Techniques

3838

DPCMDPCM• DPCMDPCM: : 求預測值,將預測值減去實際訊號值求得求預測值,將預測值減去實際訊號值求得

誤差值 誤差值 eenn ,然後量化這個誤差值得 描述,然後量化這個誤差值得 描述 DPCMDPCM

的方程式集合為的方程式集合為

• 然後可以利用然後可以利用 huffman codinghuffman coding 來將量化的誤差值編來將量化的誤差值編碼碼

ne~

Page 39: 1 Voice Over Internet Protocol Speech-Coding Techniques

3939

DPCMDPCM

• 編碼與解碼的主要效果就是要產生還原量編碼與解碼的主要效果就是要產生還原量化過的訊號值 。 化過的訊號值 。 – 所造成的失真所造成的失真 ((distortion)distortion) 就是平均平方誤差 就是平均平方誤差

,一個常用來與位元層數比較失真 ,一個常用來與位元層數比較失真 的方式。一個的方式。一個 Lloyd- Max Lloyd- Max 量化器會比等分量量化器會比等分量化器有比較少的失真。化器有比較少的失真。

Page 40: 1 Voice Over Internet Protocol Speech-Coding Techniques

4040

DPCMDPCM

• 對語音而言,我們可以經由估算一小塊訊號的平對語音而言,我們可以經由估算一小塊訊號的平均值與變異量來動態地調整量化間距,在每一個均值與變異量來動態地調整量化間距,在每一個訊號值的區塊,移動量化間距。 也就是從時間訊號值的區塊,移動量化間距。 也就是從時間 ii開始,開始, 我們可以將有我們可以將有 NN 個值的區塊,而且嘗試將個值的區塊,而且嘗試將量化誤差降到最小:量化誤差降到最小:

Page 41: 1 Voice Over Internet Protocol Speech-Coding Techniques

4141

Types of Speech CodersTypes 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

Page 42: 1 Voice Over Internet Protocol Speech-Coding Techniques

4242

PCMPCM

• Sample rate 8kHzSample rate 8kHz

• Uniform quantizationUniform quantization– 12 bits per sample (96kbps)12 bits per sample (96kbps)

• Non-uniform quantizationNon-uniform quantization– A-law and μ-lawA-law and μ-law– 8 bits per sample (64kbps)8 bits per sample (64kbps)– MOS 4.3MOS 4.3

Page 43: 1 Voice Over Internet Protocol Speech-Coding Techniques

4343

ADPCMADPCM

• G.721 offer ADPCM-coded speech at G.721 offer ADPCM-coded speech at 32Kbps32Kbps– G.721 has now superseded by G.726G.721 has now superseded by G.726

• G.726G.726– A-law and μ-lawA-law and μ-law– Converted to 16Kbps, 24Kbps, 32Kbps(MOS Converted to 16Kbps, 24Kbps, 32Kbps(MOS

4.0) and 40Kbps4.0) and 40Kbps

Page 44: 1 Voice Over Internet Protocol Speech-Coding Techniques

4444

Analysis-by-Synthesis (Abs) CodAnalysis-by-Synthesis (Abs) Codecsecs

• Hybrid coder can provide relatively acceptable qualHybrid coder can provide relatively acceptable quality 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-domain 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

ed speech waveform as closely as possible to the original speeced speech waveform as closely as possible to the original speech h

• MPE, RPE, CELPMPE, RPE, CELP

Page 45: 1 Voice Over Internet Protocol Speech-Coding Techniques

4545

G.728 Low-Delay CELPG.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 signalss 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– MOS 3.9MOS 3.9

Page 46: 1 Voice Over Internet Protocol Speech-Coding Techniques

4646

G.728 Low-Delay CELP encoderG.728 Low-Delay CELP encoder

Page 47: 1 Voice Over Internet Protocol Speech-Coding Techniques

4747

G.728 Low-Delay CELP decoderG.728 Low-Delay CELP decoder

Page 48: 1 Voice Over Internet Protocol Speech-Coding Techniques

4848

G.723.1G.723.1

• Algebraic Code-Excited Linear Prediction (ACELAlgebraic Code-Excited Linear Prediction (ACELP)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.8MOS 3.8

Page 49: 1 Voice Over Internet Protocol Speech-Coding Techniques

4949

G.729G.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 E

Page 50: 1 Voice Over Internet Protocol Speech-Coding Techniques

5050

Page 51: 1 Voice Over Internet Protocol Speech-Coding Techniques

5151

Selecting CodecsSelecting 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

Page 52: 1 Voice Over Internet Protocol Speech-Coding Techniques

5252

Cascaded CodecsCascaded Codecs

• Minimize the number of times that a given Minimize the number of times that a given speech is coded and decodedspeech is coded and decoded

• In some cases, a VoIP implementation maIn some cases, a VoIP implementation may be such that cascaded codecs are unavoy be such that cascaded codecs are unavoidableidable– Ensure that the quality does not degradeEnsure that the quality does not degrade

Page 53: 1 Voice Over Internet Protocol Speech-Coding Techniques

5353

Tones, Signals, and Dual-Tone MTones, Signals, and Dual-Tone Multifrequency (DTMF) Digitsultifrequency (DTMF) Digits• Most sophisticated codec available today achieve bandwMost sophisticated codec available today achieve bandw

idth efficiency without losing significant quality due to smidth efficiency without losing significant quality due to smart algorithms and powerful DSPart 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)

• RTP data can represent the tone/eventRTP data can represent the tone/event

Page 54: 1 Voice Over Internet Protocol Speech-Coding Techniques

5454

RTP payload format for named RTP payload format for named events/tonesevents/tones