Quality Enhancement for VoIP by Partial-Reliable UDP
Ren-Yuh Lu
Outline
• Introduction– MANET– Motivation & Objective– Problem Description
• Quality Enhancement for VoIP by Partial-Reliable UDP– 分辨重要封包的方法– 封包保護技術
• Redundancy• 整合型封包保護技術
• Evaluation & Performance Analysis• Conclusion
Introduction
• VoIP ( Voice over IP ) 是一種透過網際網路以數位化的方式來傳輸語音封包的技術。
• 近年來, VoIP 因為其使用簡單、成本低廉等特性,導致使用率及使用人口與日俱增。
• 本研究是為了使 VoIP 能夠在 High Loss Rate 的網路環境下更順暢地運作所設計。
• VoIP 運作在 High Loss Rate 的網路環境中會遇到一些問題,我們將以 MANET 作為例子加以說明。
MANET
• MANET 「群組行動電腦網路」是一種行動式無線區域網路,對群組行動使用者提供一個可在行動中使用的電腦網路。
• 一個 MANET 係由一組行動電腦 ( 筆記型電腦或 具有 WiFi 能力的 PDA 手機 ) 組成, 其間以 Multi-Hop Ad-Hoc 無線區域網路連結成 Wireless Intranet 。
• 各個行動電腦之間可藉由高速的 Wireless Intranet 進行即時多媒體網路通訊。
Motivation & Objective
• High Loss Rate 的網路環境,例如 MANET ,具有以下的缺點:– 錯誤率很高– 沒有 Server 管理節點
• 在這樣的網路環境中使用 VoIP ,會有一些問題需要克服。
Problem Description
• VoIP 對時效性的要求極高,為了符合這個要求,現今的 VoIP 系統大部份都使用 UDP 傳輸層協定。
• UDP 的特性:– 不保證一定送達
• 如果 VoIP 運用在錯誤率很高的網路環境時,可能會因為遺失太多封包而影響通話品質。
• 我們即將研究一些機制用以提高 VoIP 的品質。
Quality Enhancement for VoIP by Partial-Reliable UDP
• 我們即將研究一個分辯重要封包的方法,並搭配Partial-Reliable UDP ,保證重要的封包一定會送達接收端,因而改善 VoIP 的通話品質。
• 分辨重要封包的方法– VAD ( Voice Activity Detection )
• 封包保護技術– Redundancy
– 整合型封包保護技術• Using Partial-Reliable UDP
VAD
• Energy-Based– 利用語音 Frame 的振幅判斷該語音是否為 Speech Segm
ent 。– 使用條件
• 雜訊有一定的規律性。• Speech Segment 的能量必須大於 Noise 的能量。
• Entropy-Based– 利用聲音的頻譜 ( Spectrum ) ,在 Frequency Domain中偵測聲音的特性,藉以判斷是否為 Speech Segment 。
– 使用條件• 環境嘈雜,背景雜訊變化大, SNR 值過低。
VAD — Energy-Based
• 設一個 Threshold 值 k , k 可依據不同雜訊條件調整。– 若 y(n) > k 或 y(n) = k ,則判定為 Speech Segment 。– 若 y(n) < k ,則判定為 non-Speech Segment 。
• 計算長度為 N 秒的第 m 個語音 Frame 的方式如下:
1
2NNn
Nmn
nymE N 為 Time index
VAD — Energy-Based
• 優點:– 簡單易執行,僅需要累計的振幅數值與簡單的運算,可在語音取樣時同時進行,相當節省運算資源。
– 不需事先分析背景雜訊。• 缺點:
– 若語音變動的速率太快,偵測隨即變得困難。– 若雜訊太大 ( 即 SNR 太低 ) ,也會使偵測變得更困難。
VAD — Entropy-Based
• 原本由 Shannon 所提出的 Entropy 定義為:” It measures the average length of bit code per symbol under optimal coding”( 測量最佳化編碼方式中,每個符號所需的平均位元長度 ) ,且定義計算方法如下:
– 其中, S=[s(1),....s(i),....,s(N)]表示要計算的 N 個符號– P(s(i)) 則代表符號 i(Symble i) 出現的機率。
• 由上式可知,當每個符號出現的機率相同 ( 即 時 ) , H(S) 可得到最大值為 。反之,當某一符號出現機率為 1( 即全部都是此符號 ) 時, H(S) 會是最小值0 。
isPisPSHN
i
2
1
log)(
N
isP1
N
SH1
log)( 2
VAD — Entropy-Based
• 將 Entropy 的概念應用於語音測量的問題上,預先設定語音訊號出現的頻寬,當一連串的語音進行傳輸時,計算這些訊號振幅出現在此頻帶的機率總和 ( Entropy ) 。
• 上式中: 即為在 Frame
t 中,訊號出現在 W 頻帶的機率。• 頻寬越窄的訊號 ( 例如 Sine Wave) , Entropy越低。
22
1
2),(log),(),( tYPtYPtYH
1
2
22
,
,,
tY
tYtYP
VAD — Entropy-Based
• 若發話端背景雜訊為 White Noise ,則 Entropy 會較高。
• 根據上述做法,可以利用語音和 Noise 在頻率上特性的相異,計算 Entropy差異,藉此設定一個 Threshold 值,即可判斷語音中的 Speech Segment或 non-Speech Segment 。
VAD — Entropy-Based
• 優點:– 對 Noise 的變動較不敏感,即使雜訊嘈雜且不規則,本方法仍然有效。
– 即使訊號的 SNR較差,仍然可以分辨 Speech Segment或 non-Speech Segment 。
• 缺點:– 需要耗費龐大的計算資源。– 可能會使 VOIP 的即時性減低,封包的 Delay 會大幅增加。
– 在 White Noise和 Colored Noise的環境下,可能會造成non-Speech害 Speech Segment 的 Entropy 值接近,而導致辨識上的錯誤率增加。
VAD — 使用在 VOIP
• 針對 SNR 高且 Noise 變化小,或雜訊頻寬接近語音頻寬的 Colored Noise 的環境,使用 Energy-Based VAD 。– 節省運算資源。– 避免判斷的正確性受到過於接近的語音頻譜的雜訊影響。
• 若發話端 SNR較低或 Noise 變化較大,但雜訊特性為頻寬較寬的 White Noise 時,使用 Entropy-Based VAD 。– 避免變化迅速的 Noise 振幅影響判斷正確率。
• 若 Noise 振幅和雜訊頻譜皆不穩定,則將兩種 VAD混合使用。
VAD — 預先傳送雜訊頻譜
• 假設在每個傳送端由於發話地點環境的差異,都存在不同特性 ( 頻譜與振幅 ) 的 Noise 。
• 在這些環境下,發送端將其要傳送的語音訊號混合在背景雜訊中,以前述方式使用 Frame 為單位,透過 Internet 傳送至接收端。
VAD — 預先傳送雜訊頻譜
• 接收端的做法– 由接收端根據所收到的語音 Frame 中的 Noise 特性進行補償或濾除 non-Speech Segment 中的雜訊。
– 根據目前所接收到的雜訊狀況判斷訊號品質,並根據當下網路的品質,決定給予何種等級的 QoS ,在傳輸層優先保護較高品質的封包。
– 當網路品質不佳或 Buffer空間不足時,可優先放棄 Noise較高的發送端所傳送的 Frame ,藉以提高收聽品質。
封包保護技術• Model-1 :採用 Redundancy 封包保護技術,設法從後續的封包還原遺失的封包。
• Model-2 :結合 P-R UDP和Model-1 ,提出一個整合型封包保護技術。
Model-1 Redundancy Protected Technology
• 基本封包時隔為 20 msec/packet• 將 Redundant Voice Packets視為不同的 Packet Strea
m• 定義第一個 Packet Stream 為基本 Stream
Time ( msec )
Voice Stream 1
Voice Stream 2
1 2 3
1 2 3
0 20 40 60 80 100 120
4 5 6
4 5 6
7
Model-1 Redundancy Protected Technology
Time ( msec )
Voice Stream 1 2 31 2 3
0 20 40 60 80 100
4 5 64 5
120
76
Model-2 整合型封包保護技術• 每一個 VoIP Stream 包含一個基本 Stream 及二個
Redundant Stream 。• 基本 Stream 及第一個 Redundant Stream 採用相同
Codec 及時隔,兩者相差一時隔。• 第二個 Redundant Stream 使用較低品質低速率的
Codec ,以三倍時隔,落後於基本 Stream兩個時隔送出。
Time ( msec )
Voice Stream 1
Voice Stream 2
1 2
1 2
0 20 40 60 80 100 120
Voice Stream 3 1+2+3 4+5+6
3 4 5 6
3 4 5 6
7
Model-2 整合型封包保護技術• 利用 Piggyback 技術將三個 Stream 合併成為一個
Packet Stream 。• 將含有第二個 Redundant Stream 的封包視為重要封包,利用 Partial-Reliable UDP 保護。
Time ( msec )0 20 40 60 80 100 120
1 2 1 32 1+2+3 43 5
Voice Stream 1
Voice Stream 2
Voice Stream 3
4 65 4+5+6 76
Partial-Reliable UDP
• Reliable Blast UDP
Sender Receiver
Evaluation & Performance Analysis
• 模擬的環境與工具:– NS2
• 做法:– 將網路環境設成有很多干擾及不穩定– 在不穩定的網路環境下,讓相同的語音串流分別使用 U
DP 、 TCP ,和我們提出的方法進行傳輸。– 在接收端錄製接收到的語音串流,並做比較。
Conclusion