第一章 簡介
1.3 回音現象
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
此方法將同一語音封包以多個網路串流(stream)重複傳輸數次以降低封包遺失率 (packet loss rate),提昇音質。但此方法必然會提高頻寬使用量與串流連線數量,對網 路造成較大負擔。
6. Redudant voice streams (with piggyback) :將同一個語音封包傳輸多次減少遺失率,
提昇音質。但此方法不建立額外的串流連線,而是將前一個語音封包附加於下一個封 包內一併傳輸,如此網路頻寬使用量雖會提高,但卻不用增加串流數量。
Network Side Solutions
為了解決網路會談的相關問題,在網路傳輸架構方面,有別於傳統需要伺服器 協助轉送資料的centralized server 架構,相關研究提出了兩種不需伺服端的傳輸架構 (serverless)。這兩種方法分別為:
1. Full Mesh Broadcasting:參與會談的節點之間直接建立連線,每位使用者將語音封 包直接傳送給會談中的所有與會者。此方法需要耗費相當大的網路頻寬與連線數量,
對於每一個節點而言,負擔相當的沈重,但由於資料不需其它節點轉送,故此法最大 的優點為延遲時間較短。
2. P2P Multicasting:此方法根據網路會談中每個節點的資源,每位發話者建立一個用 來傳輸聲音資料的multicasting tree,用以廣播封包到所有其他成員。此方法使得發話 者僅需將資料傳送給下一個轉送點,對於每個與會者而言需要建立的連線數量通常也 較Full Mesh 架構少,整體節點負擔較輕。但其最大缺點為封包必須經過多個轉送點,
延遲時間必然增加。
1.3 回音現象
本研究考慮的問題為如何改善echo epidemic 對於通話品質所造成的影響,同時作 到Silience Suppress 降低總頻寬使用量。目前針對 echo epidemic 的問題,最常使用的
Acoustic Echo Cancellation (AEC) ,以下分別針對回音現象,現有回音解
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
決方案與本研究所提出的解決方案一一提出說明。
聲音由音源發出後,若被反射回音源處即產生回音。若第三者直接接收到音源發 出之聲音後,又接收到反射的回音,則接收到兩次以上的相同聲音。回音的情形在全 雙工(full-duplex)語音通訊系統中經常發生。由於全雙工系統能夠同時傳送與接收聲音 訊號,因此收聽者(listener)本身也同時為說話者(talker)。而聲音可在固體與空氣中傳 導,如此可能使收聽者的收音裝置收到自己的播放裝置所發出的聲音,回音的現象就 此產生。
圖1:基本回音現象
參照圖1,以傳統電話(PSTN)系統為例,若說話者(A)說出的聲音,傳至收聽者(B) 後,經由電話聽筒的傳遞,再次被麥克風收回而由說話者A 的聽筒播放出 A 的聲音,
此即一般所稱呼的『聲學上的回音』(acoustic echo)[15]。除此之外,PSTN 系統還可能 因為訊號由於類比訊號混合時的阻抗不匹配導致信號反射的回音,此種回音則稱為 Network Echo。但此種回音僅發生於純類比系統中,在數位通訊系統中並不會發生[4]。
另一種由電話所造成的回音狀況常常發生於電視或廣播電台的Call-in 節目中。當觀 眾打電話與主持人溝通時,如圖2 所示,若講電話的觀眾的電話話筒收到電視發出自己 的聲音,則回音也會產生,使得主持人與所有電視觀眾都會聽到不斷反覆重疊的回音。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖2:Call in 節目中出現的回音狀況 1.4 回音消除基本原理
若要消除前述的由聲音上傳輸造成的回音,最簡單的方式就是加入回音消除機制 (echo cancellation)。對傳統電話而言,由於有標準的聽筒裝置,因此很容易預估回音的 強度與傳遞所需要的時間,建構此回音消除機制並不困難。
圖3:傳統電話中的基本回音消除機制
如圖3,聲音在由聽筒播放之前,先存入暫存器之中,並且加以反向(inverter),當 話筒收回聲音訊號之後,再將先前存下的訊號經過適當衰減後與此相加,即可消除由話 筒收回的回音[2]。
1.5 VoIP 中的回音
在VoIP通話進行時,很多使用者並不會特別配備專用的設備,而是採用電腦原有的 喇叭與麥克風進行網路通話。如此一來聲音由喇叭播放後,在空氣中傳輸,經過空間反 射後再次被麥克風收回,同樣會產生回音,此種現象的發生將可能影響通話的品質,嚴 重時甚至影響會談的進行。例如圖4中說話者(A)的聲音傳送至收聽者(B)的喇叭播放後,
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
經過牆壁反射,又被麥克風收回,返回至A的喇叭播放,造成回音。聲音自喇叭至麥克 風的路徑稱為”Accoustic path”。
圖4:因為聲音的傳輸或反射而造成的回音
由於VoIP 沒有標準的聲音播放與擷取設備,回音在 Acoustic path 上的傳輸延遲時 間變動極大,再加上多人參與會談時,回音的條件與特徵可能變得難以預估,因此VoIP 系統中的回音問題並不容易徹底解決。
在兩人以上的VoIP 會談中,每部參與會談的裝置(通常為個人電腦)通常都具有回 音消除機制,使得即使麥克風收到喇叭所播放的聲音時,也能夠有效消除回音,不至於 影響會談之進行。
圖5:回音消除機制正常時的多人網路會談
如圖5 為多人網路會談的狀況,其中一位與會者 B 的喇叭與麥克風距離太近,使得 由喇叭放出的訊號被麥克風收回。當回音消除機制正常啟動時,此訊號在裝置B 就被順
‧
Prob. of echo/noise
0
Number of Members
Probabilit y of echo f ree
=0.1
Generator),此時狀況如圖 7。‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖7:一個 Echo Generator 的回音影響
圖7 中 A 為發話者,其說話的聲音訊號為 S(A),B 為回音消除機制故障之 PC(即回 音產生者),其造成的回音為 S'(A)。此時,當發話者說話後,回音將會從以下兩種路徑 干擾參與通話者:
Talker -> Echo Generator -> Talker:發話者聽到自己的
Echo,即 S'(A)
Talker -> Echo Generator -> healthy Listener:其他收聽者聽到發話者的聲音以及
Echo,即 S(A) + S'(A)因此,只要有任何一個裝置的回音消除機制故障,則其產生的回音就會干擾發話 者以及其他所有收聽者,造成整個網路會談充滿回音的聲音訊號,嚴重影響通話品質。
1.5.2 多個回音產生者
而若在一個會談中有超過一個以上的Echo Generator 存在時,問題會變得更為複 雜,例如當同時有兩個Echo Generator 時,回音訊號的反射如圖 8:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖8:會談中有兩個 Echo Generator 存在時的回音傳遞情形
當說話者(Speaker A)說出一段語音 S(A)後,傳遞給兩位 Echo Generator,則會由 Echo Generator1 與 Echo Generator2 分別傳回一次回音,接著,由 Echo Generator1 傳給 Echo Generator2 的回音會再次產生回音,傳給發話者與 Echo Generator1,如此一來,只要任 一發話者說出一段語音,兩個Echo Generator 將不斷重複產生回音,直到聲音衰減至無 法收音為止,此時的回音傳輸路徑為:
Speaker A -> Echo Generator A & Echo Generator B
Echo Generator A -(回音)-> Speaker A & Echo Generator B
Echo Generator B -(回音)-> Speaker A & Echo Generator A
Echo Generator A -(回音的回音)-> Speaker A & Echo Generator B
Echo Generator B -(回音的回音)-> Speaker A & Echo Generator A
……..Loop,直到聲音能量衰減至無法收音
在此狀況下,比起只有一位回音產生者的狀況更加嚴重,只要有一位使者說一句 話,所有與會者就會不斷聽到重複遞迴的回音訊號,使得會談嚴重受影響,甚至難以進 行。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
1.5.2 Proximity Problem 造成的回音
所謂的Proximity Problem 為電腦之間距離太近時,所發生一種聲音傳遞上造成的干 擾問題[7]。若兩部電腦距離太接近時,則使用者的聲音(假設只有一個人說話)及兩部 電腦的喇叭聲音,同時被兩部電腦的麥克風收回,此狀況發生的狀況如圖9 所示。則此 時兩部電腦的喇叭將會同時放出包含發話者以及不斷重複的回音,且如此混亂的聲音將 再次被雙方的麥克風收音,導致此現象不斷循環。如此一來,將會造成複雜且混亂的回 音加上互相收音所造成的雜音。就如雪崩效應一般,收回的聲音被放大後播出,接著又 立刻被收音且播放,不斷反覆而造成類似震盪的刺耳噪音。
圖9:Proximity Problem 現象 1.6 名詞定義
a. Echo Generator:即回音消除機制產生故障,而使得會談中其他使用者聽到回音產 生的裝置,亦即此裝置為Compromized Node。反之,功能正常者則稱為 Healthy Listener。
b. Direct Echo:由 Echo Generator 所產生,使得 Talker 聽到自己的聲音的回音。
c. Indirect Echo:網路會談中其他 listener 聽到 Talker 聲音的回音。
d. Infected Conference:因為有 Echo Generator 參與,而造成含有 Indirect Echo 亂竄 的網路語音會談。
1.7 研究動機與目的
由於目前各種針對回音消除的方法,大多僅針對一對一的通話所產生的回音進行消 除,且考慮的僅有聽筒到話筒間固定長度且短距離造成的回音,針對距離不固定,甚且
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
參與會談人數增加時所造成的回音狀況均沒有加以歸納分析,以至於常常無法正確的消 除回音。雖然現在的電腦音效卡中均有內建回音消除演算機制,VoIP 軟體中也有加入類 似的判斷與修正機制,但卻常常發生失效的狀況,更常見的是部份失效,亦即回音消除 不完全而產生噪音,且當多人進行大型網路語音會談時,經常由於一個使用者的設備出 現問題,而造成整個會談的通話品質受到嚴重干擾,以至於難以溝通。
此外,當與會成員沒有在說話時,傳統的會談程式仍然會持續將空白的語音封包送 至網路上,如此將造成網路資源的浪費。基於以上理由,本研究希望分析在大型網路語 音會談中,回音消除機制失效的成因與語音的特性,以此設計消除回音與Slience Suppression 的方法,抑制會談中不必要的回音與靜音,確保語音會談正常進行的方法,
同時節省網路頻寬。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y 第二章 背景與相關研究
本章針對目前已經存在的回音消除機制相關作法與其歷史進行說明,探討它們的實 作原理與尚須改進的部份。
2.1 回音消除技術演進
在1950 年代以前,電話系統中並沒有回音消除機制存在。當時的通訊系統為了消 除回音對通訊造成的干擾,而採用回音抑制(echo suppression)的方式降低回音。由於 當時的通話系統均為一對一通話,沒有多方通話技術出現,因此人與人的溝通是以半 雙工(half-duplex)方式進行,亦即同一時間僅其中一方在說話,另一方是收聽者[20]。
此回音抑制機制會判定電話的那一方是說話者,則在說話期間就保留正常的語音,將 收聽者回傳的訊號視為回音進行衰減或阻止其傳輸,以達到回音抑制的目的。此方法 雖有效消除半雙工通話中的回音,但回音抑制機制的判定速度往往跟不上發話者切換
此回音抑制機制會判定電話的那一方是說話者,則在說話期間就保留正常的語音,將 收聽者回傳的訊號視為回音進行衰減或阻止其傳輸,以達到回音抑制的目的。此方法 雖有效消除半雙工通話中的回音,但回音抑制機制的判定速度往往跟不上發話者切換