• 沒有找到結果。

第三章 MET VAD 靜音及回音消除機制

3.5 細部設計

3.5.3 MET VAD 演算法

『最大能量追蹤VAD』(Maximum Energy Tracking VAD - MET VAD)。此方法可以確保 使用者於持續一段時間未說話時,仍然不會將回音誤判為正常語音。MET VAD 演算法

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

則將臨界值降低為95%。

根據以上原則,此判定機制會抓取輸入的最高能量值,並取此值的10%作為臨界 值,由於絕大多數回音訊號都低於此能量,故可以依據每一位使用者的說話能量,過濾 掉回音。

為了避免因為雜訊或其他因素導致臨界值設定過高,故加入了自動降低臨界值的機 制:當長時間沒有收到正常語音時,就略微調低臨界值,避免使用者因為意外而無法送 出聲音,其中,降低臨界值的時間長度可隨著與會人數增加而增加(如假設中所述,人 數越多,平均說話頻率越少)。若使用者未說話的時間太長,則臨界值將不斷下降,甚 至有機會降至趨近於零。此時回音消除機制將失效,而回音與靜音訊框將可能被視為正 常語音而送出。因為根據實驗,麥克風可能接收到的雜訊強度是難以預知的,若因為臨 界過高而造成使用者聲音完全無法送出,對於會談造成的影響性遠比回音來的嚴重,故 MET VAD 選擇寧可放過回音而避免切斷正常語音。圖 26 為 MET VAD 演算法之判定流 程圖,其中t 為臨界值決定參數,在此定為 10%。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖26:MET VAD 演算法流程圖

在此演算法中,每一個輸入的訊框所需要的運算僅有能量值的計算與臨界更新,並 沒有任何迴圈存在。當訊框之取樣數為n 時,整體的時間複雜度僅為線性時間 O(n)。對 於目前電腦而言,每秒8000 次取樣的運算量負擔相當輕微。而此流程之虛擬碼 (pseudo code)如下:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

NewFrameArrival(){

IF(Threshold not been Initialzed) Threshold = 1st FrameEnergy*10%;

ELSE IF(FrameEnergy > Threshold){

TagACTIVE();

IF(FrameEnergy*t > Threshold) Threshold=FrameEnergy*t;

}

ELSE IF(FrameEnergy < Threshold) TagINACTIVE();

IF(100 INACTIVE Frame Accumulated) Threshold=Threshold*0.95

}

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y 第四章 效能分析

4.1 實驗目的

我們針對本研究所提出的方法進行實際驗證,首先以樣本資料對MET VAD 與現有 的其他VAD 進行量化評比,其次,於真實的網路會談程式中進行質化驗證。

4.2 實驗設計

以下簡單的描述各項實驗的目的,概略作法及評比參數。

4.2.1 以聲音樣本評比各種 VAD 演算法

此實驗以完全相同的樣本聲音資料作為輸入,針對Time Domain 常用的 VAD 演算 法與本研究提出的MET VAD 演算法比較回音辨識率。樣本資料為包含 Indirect Echo 之 語音訊號,其特性於實驗前經過分析統計,作為量化評比各種演算法之依據。VAD 演算 法會將輸入的聲音以訊框為單位,將判定為語音的訊框保留,丟棄其餘封包。本實驗可 根據誤判率與回音能量殘留指標評比演算法效能。

4.2.2 以網路會談實測 MET VAD 之效能

本實驗將MET VAD 演算法實際結合在一個簡單的網路會談程式中,並且刻意讓麥 克風接收喇叭產生的回音(或由軟體製造回音訊號)。藉由使用者間實際進行交談,將 Echo Generator 端的麥克風實際錄下的聲音與經過 VAD 演算法濾除回音之後的聲音做比 較,藉由誤判率與使用者實際試用觀感作為效能評估依據。

4.2.3 Proximity Problem 的回音消除測試

本實驗測試Skype 對於 Proximity Problem 造成的回音消除之能力,並且與 MET VAD 演算法做比較,以驗證 MET VAD 是否能有效消除 Proximity Problem 造成的回音。

4.3 評估指標

本研究使用誤判率及MOS 作為評量指標。

誤判率可分為兩種:False Positive (把回音當成正常語音的誤判)與 False Negative (將 正常語音當成回音的誤判)。若 False Positive 高,則通話聲音中剩餘的回音將干擾會談,

若False Negative 高,則正常的語音會被 VAD 刪除,使用者溝通可能受阻。

一般常用來衡量網路會談通話品質的指標為MOS (Mean Opinion Score) [21],表4為 其評分的參考依據與意義:

表4:Mean Opinion Score MOS Quality Impairment

5 Excellent Imperceptible

4 Good Perceptible but not annoying 3 Fair Slightly annoying

2 Poor Annoying

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

False Positive (把回音當成正常語音的誤判)與 False Negative (將正常語音當成回音的誤 判)兩種誤判率評估個別 VAD 對於非語音的過濾能力以及對於語音訊號的誤判機率。

4.4.2 實驗環境

本實驗採用的樣本聲音資料如表5:

表5:實驗一使用的樣本聲音資料

聲音取樣率 8000 Hz

取樣格式 Mono PCM

取樣位元數 8 bits (256 Levels) 聲音長度 15 秒

訊框長度 30ms

總訊框量 500

語音插入位置 1.5 秒 (第 50 個訊框) 語音插入長度 1.2 秒 (共 40 訊框) 回音能量峰值:語音能量峰值 22%

圖27 為本實驗輸入聲音之波形:

圖27:實驗一輸入之聲音波形

本實驗使用LED VAD,WFD VAD 與 MET VAD 三種時域能量 VAD 演算法判定以 上的輸入樣本訊號,本實驗中三種演算法的設定資料如表6。

Fricatives Detector)

MET VAD

30~45,35~40 次時,

視為語音。 調整參數分別為0.05,0.1,0.15,0.2,0.25,0.3:

LED VAD p=0.05

0

Frame Number

Energy ( *10000)

Energy Threshol d

圖28:以 LED VAD 演算法針對樣本資料的分析結果(p=0.05)

LED VAD p=0.1

0

Frame Number

Energ y ( *10000)

Energy Threshold

圖29:以 LED VAD 演算法針對樣本資料的分析結果(p=0.1)

LED VAD p=0.15

0

Frame Number

Energ y ( *10000)

Energy Threshol d

圖30:以 LED VAD 演算法針對樣本資料的分析結果(p=0.15)

LED VAD p=0.2

0

Frame Number

Energ y ( *10000)

Energy Threshol d

圖31:以 LED VAD 演算法針對樣本資料的分析結果(p=0.2)

LED VAD p=0.25

0

Frame Number

Energ y ( *10000)

Energy Threshol d

圖32:以 LED VAD 演算法針對樣本資料的分析結果(p=0.25)

LED VAD p=0.3

0

Frame Number

Energ y ( *10000)

Energy

(False Positive) (%)

28.48 31.3 33.7 33.91 33.04 33.48 將語音視為非語音機率

(False Negative) (%)

12.5 30 42.5 45 47.5 50

LED VAD 在能量值(Energy) 超過臨界值(Threshold)時,會將該訊框將被視為語音,

否則視為非語音。圖28~圖 33 中可看出 LED VAD 演算法的臨界值會隨著輸入能量的大

Frame Number

Number of Zero Cross

圖34:以 WFD VAD 演算法分析得到的越零次數統計

WFD 演算法根據過零量的統計,當一個訊框內的過零量落在一個『識別區間』

(Classification Zone)範圍內,則判定為語音,否則判定為非語音。表 8 與圖 35 為過零量 識別區間分別為10~65,15~60,20~55,25~50,30~45,35~40 時的辨識率。其中包含 將回音訊框當作正常語音訊框以及將語音訊框當作非語音的誤判率。

表8:WFD VAD 演算法不同過零量下的語音誤判率

過零量識別區間 10~65 15~60 20~55 25~50 30~45 35~40 將回音視為語音機率

(False Positive) (%)

84.13 67.39 53.26 36.30 20.65 5.65 將語音視為非語音機率

(False Negative) (%)

0 0 10 17.5 47.5 77.5

10~65 15~60 20~55 25~50 30~45 35~40 Zero Crossing Classification Zone

False Negative False Positive

圖35:以 WFD VAD 演算法分析得到的語音誤判率長條圖

0.1,0.15,0.2,0.25,0.3。

MET VAD t=0.05

0

Frame Number

Energy ( *10000)

Energy Threshol d

36:以 MET VAD 演算法針對樣本資料的分析結果(t=0.05)

MET VAD t=0.1

0

Frame Number

Energ y ( *10000)

Energy Threshol d

圖37:以 MET VAD 演算法針對樣本資料的分析結果(t=0.1)

MET VAD t=0.15

0

Frame Number

Energ y ( *10000)

Energy Threshol d

圖38:以 MET VAD 演算法針對樣本資料的分析結果(t=0.15)

MET VAD t=0.2

0 Frame Number

Energy ( *10000)

Energy Threshol d

圖39:以 MET VAD 演算法針對樣本資料的分析結果(t=0.2)

MET VAD t=0.25

0 Frame Number

Energ y ( *10000)

Energy Threshol d

圖40:以 MET VAD 演算法針對樣本資料的分析結果(t=0.25)

MET VAD t=0.3

0 Frame Number

Energ y ( *10000)

Energy

(False Positive) (%)

16.52 7.83 3.26 1.74 1.3 1.3 將語音視為非語音機率

(False Negative) (%)

0 0 0 0 2.5 5

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

聲音,產生Direct Echo 且紀錄此聲音的原始波形。同時將此包含回音的聲音經過 LED VAD,WFD VAD 與 MET VAD 過濾,紀錄過濾後的波形,比較過濾前後之差異。此 步驟之目的在於評估VAD 演算法將回音當作正常語音的誤判率(False Positive)。

b. 在正常的 VoIP 會談中,加入 VAD 過濾機制,比較過濾前後是否對正常語音造成影 響。此步驟之目的在於評估VAD 演算法將正常語音誤判為回音的誤判率(False Negative)。

c. 兩位使用者以 Skype 實際進行會談,其中一位使用者刻意以不同距離,不同擺放位 置讓麥克風收進喇叭放出的聲音,試圖製造回音,驗證Skype 回音消除機制失效的 可能性。

4.5.3 實驗結果分析

a. Flase Positive 誤判率測試

圖42 為一段包含回音的聲音波形(由 Echo Generator 端麥克風收錄後,未經任何處 理),回音的音量振幅約為正常聲音的 10%。

圖42:含有回音的一段聲音波形 將此聲音透過LED VAD 過濾後,得到的波形如圖 43:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖43:含有回音的聲音波形經過 LED VAD 過濾結果

此段含有回音的聲音,由LED VAD 過濾後,僅能夠消除掉最初的小部份回音,超 過85%的回音會被保留下來,使得通話品質嚴重受影響。再加上 LED VAD 將能量小的 混音音節誤刪機率相當高,故整體的通話品質不佳,MOS 只能達到 2(難以溝通)。

同樣將此段聲音經過WFD VAD 過濾後,得到的波形如圖 44:

圖44:含有回音的聲音波形經過 WFD VAD 過濾結果

由圖44 可看出,由於無論是否為回音,都是使用者的說話聲音,因此回音與非回音訊 框的過零量並無明顯差異。採用WFD VAD 針對回音過濾的效果並不理想,至少 90%

的回音被留下,正常語音誤刪率雖不高,但也無法消除回音封包,因此MOS 僅有 2~3 之間。

同樣的將此段包含回音的聲音使用MET VAD 過濾後的結果如圖 45:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖45:含有回音的聲音波形經過 MET VAD 過濾結果

此段聲音在MET VAD 過濾後,幾乎能夠消除所有非語音訊框,至少 85%以上的回 音訊框能成功被消除,僅有與正常語音夾雜的回音無法消除,因此能有效提昇通話品 質,使得MOS 達到 3 以上。除了回音以外,MET VAD 也能夠有效的將音量過低的靜音 訊框消除,節省傳輸頻寬同時降低背景雜訊對通話造成的干擾。

b. Flase Negative 誤判率測試

圖46 為一段不包含回音的正常語音聲音波形:

圖46:不包含回音的語音聲音波形

將此段聲音波形分別輸入LED VAD 過濾後,其結果輸出波形如圖 47:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖47:不含回音的波形經過 LED VAD 過濾結果

由圖46 中可發現,LED VAD 很容易將能量較微弱的聲音誤判為非語音訊框而誤刪 (例如英文中的無聲子音音節),最嚴重時誤刪率可達到 40%,如此將可能嚴重影響溝通 品質。

同樣將此段聲音經過WFD VAD 過濾後,得到的波形如圖 48:

圖48:不含回音的波形經過 WFD VAD 過濾結果

圖48 可看出 WFD VAD 對於語音的誤刪率較低,但同樣在音節轉折與結尾處容易將語 音訊框視為非語音而誤刪,最嚴重可能誤刪近30%的語音訊框。

同樣將此段正常語音輸入MET VAD 過濾,其輸出結果如圖 49:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖49:不含回音的波形經過 MET VAD 過濾結果

MET VAD 會預先紀錄使用者的說話音量,因此並不容易將語音訊框誤刪,在正常 溝通狀況下,誤刪率約在15%以下,並不會對溝通造成太嚴重的影響。

c. Skype 通話測試

本實驗採用目前主流的VoIP 程式 Skype 進行測試。實驗時刻意讓其中一位會談參 與者的麥克風收入喇叭聲音,試圖製造回音,以驗證Skype 之回音消除機制效能。

由實驗結果發現:在Skype 會談中,無論是 Direct 或 Indirect Echo 都可能出現。且只要 有一個Echo Generator 存在,所有使用者都會聽到回音。此外,根據封包擷取的實驗結 果,每個Skype 與會者接收到的均為經過混音的聲音封包(即代表有混音傳輸的節點存 在),因此每個接收端並沒有所有發話者的原始聲音訊號作為判定回音的依據,故推測

由實驗結果發現:在Skype 會談中,無論是 Direct 或 Indirect Echo 都可能出現。且只要 有一個Echo Generator 存在,所有使用者都會聽到回音。此外,根據封包擷取的實驗結 果,每個Skype 與會者接收到的均為經過混音的聲音封包(即代表有混音傳輸的節點存 在),因此每個接收端並沒有所有發話者的原始聲音訊號作為判定回音的依據,故推測

相關文件