2008年12月16日 星期二

利用軟體DSP VoIP和硬體加速技術設計低成本視訊電話

http://www.eettaiwan.com/ART_8800380419_480102_TA_354474ac.HTM

視訊電話利用快速成長的VoIP基礎架構進入大眾市場的機會已經來臨,一些新技術和新產品已經使高性價比的視訊電話成為可能。本文介紹了視訊電話的成本現狀和音訊、視訊功能實現的技術方法,並介紹了軟體DSP(soft-DSP)VoIP技術和硬體加速視訊編碼技術。


1964年世界展覽會(World's Fair)上推出的AT&T
Picturephone每分鐘的語音加視訊業務費用為16到24美元(考慮通貨膨脹因素,相當於今天的78到118美元),如此之高的價格很自然難以普
及。之後,人們不斷嘗試推出針對大眾市場的視訊電話,然而設備的價格一直在500到上千美元之間徘徊,視訊訊框速率範圍在每秒1訊框到10訊框之間,因此
視訊電話一直受住宅用戶的冷落。

而現在情況出現了轉機,視訊電話所面臨的技術挑戰被逐一克服,日益成熟的VoIP方案已解決
了大部份的問題。寬頻網路際網路接取已經普及,因此家庭具有了足夠的頻寬。一些新創企業和老牌廠商正聯合提供基於封包的電話服務,這些服務形成了視訊電話
的良好基礎。更重要的是,摩爾定律再一次發揮了它的魔力,現在已經有能夠非常高效地處理全動態視訊的處理器。透過恰當地使用軟體VoIP設計技術和硬體加速視訊處理技術,視訊電話已經達到大眾化產品所需的關鍵成本點。

圖1:傳統的多晶片視訊電話架構。

視訊電話的成本現狀


得到普及,視訊電話的價格必須達到合適的水準。99美元的‘魔力’消費價格點是許多供應商要面對的住宅視訊電話市場的目標價格。雖然對於目前的技術來說這
仍具有相當的挑戰性,但很多VoIP服務供應商一年前就開始在交換機中部署視訊電話了,有的更是承諾提供更多更好的服務。如果服務供應商的優惠促銷,目前
視訊電話的零售價在800美元以上,因此對服務供應商來說是一項沈重的負擔,很可能會抑制他們展開這種業務的興趣。

目前具有VoIP功能的視訊電話設計成本決定於眾多必需的專業元件。傳統的IP視訊和語音(V2IP)設計至少包含三個獨立的處理器:一個用於語音處理的DSP,一個視訊編解碼
理器(一個專用視訊處理器,或者是一個能夠處理視訊編解碼的通用DSP)和一個處理VoIP呼叫訊號、用戶介面和設備一般性控制的應用處理器。這些處理器
加上其它一些必要的電子元件(如攝影鏡頭、LCD和音訊編解碼器),總的電子材料成本將達到500美元以上,這還沒計算軟體、封裝或製造所需的成本。


運的是,新的技術可以將視訊電話的零組件成本至少砍掉一半。透過使用高度整合的應用處理器和軟體DSP技術(如Trinity
Convergence公司的VeriCall
Edge嵌入式VoIP通訊軟體)實現VoIP處理,就可以用一個元件代替前面所述的多個處理器,因而大幅節省成本、功耗,並減少設備體積。

音訊功能的實現

在傳統的視訊電話設備中,一個DSP用來實現封包語音處理(語音編解碼、音調產生和檢測、回波消除、噪音抑制等),另外一個獨立的DSP或專用協同處理器處理視訊編解碼,還有一個應用處理器用於管理VoIP呼叫控制協議和用戶介面,如圖1所示。


這種多元件架構中,任務被分配給系統中的不同元件完成,因此協調和管理整個系統的任務量也有所增加。元件數量的增加不僅會增加設備的體積,還會增加電路板
的整體複雜性。在多個元件情況下,由於每個元件有不同的電源要求,系統內的供電設計也會變得非常複雜,需要採用多電壓轉換器產生不同的電壓值。

使
用幾個分離的處理器來分別實現語音、視訊和系統控制的傳統架構還要求多種編程模式和開發工具鏈,因此常常需要較大的開發團隊,因而增加開發工具方面的培訓
和其它額外成本。基於ARM和MIPS架構的通用應用處理器現在已經增強了其處理能力,透過最佳化的‘DSP類’指令,可以將原本用DSP實現的音訊處理
任務交給應用處理器來完成。如果仔細地採用匯編編碼和手工最佳化過的軟體,同時在視訊編解碼方面適當地採用某種形式的硬體加速器來實現的話,那麼VoIP
編解碼(G.711、G.729AB、G.723.1、iLBC)、音訊處理(DTMF(雙音多頻)和呼叫過程音調檢測/產生)、語音品質增強(線路和聲
學回波消除、抖動緩衝等)和其它類似功能都可以在應用處理器上高效執行。

圖2:基於軟VoIP的視訊電話架構。


標準的視訊電話設計中,硬體音訊編解碼器(如AC97編解碼器)提供麥克風/揚聲器與通用處理器之間的實體介面。由通用應用處理器上執行的軟體完成音訊數
據的收發和必要的VoIP處理,例如接收來自麥克風的輸入音訊數據,透過G.723.1之類的語音編解碼模組進行處理後,再以封包數據串流的形式向外發
送,或者讓揚聲器播放產生的DTMF音調(透過硬體音訊編解碼器)。

設計工程師需要有關處理器架構和VoIP音訊處理演算法
方面的詳細知識,才能有效地實現這些處理器密切相關的演算法。雖然針對適當的應用處理器架構實現這些語音處理模組需要付出很大的精力,但最終獲得的好處可
以証明在這方面的投入是很值得的。由於VoIP業務的即時特性,以及為了提供廣泛的VoIP編解碼器支援以確保設備間互通作業性的需要,應該透過靈活的架
構實現對正確VoIP編解碼器的在線選擇和配置,並對指定媒體通道中使用的媒體處理單元實現動態配置。採用的架構及相關調度模組必須能確保指定通道定義所
要求的所有演算法能在允許的時間週期內執行完成。

在單通道系統中調度這些演算法的任務有點類似於按順序對相關演算法進行的一
系列連續調用,多通道系統則要複雜得多,每個通道可能需要不同的VoIP編解碼器,而且有些通道可能需要回波消除,有些通道則不需要。視訊電話一般是‘單
通道’系統,不過也經常會有三方音訊呼叫需求,此時視訊電話應具有本地音訊混合的能力,目前對支援多通道的需求正不斷增多。


了簡化設備設計工程師的工作,可以利用VeriCall
Edge這樣的軟體平台。這些平台提供了高度最佳化和整合的解決方案,可以快速整合在最終的產品設計中。在針對基於ARM9、ARM9E和MIPS32的
元件整合的靈活架構內,提供必要的媒體處理演算法以及基於SIP或H.323的VoIP呼叫控制,因而讓視訊電話開發商專注於開發設備上的增殖業務。透過
將封包語音處理合併到通用處理器上,只要一個元件就可以處理視訊電話中與VoIP相關的所有任務,VoIP呼叫控制、用戶介面和一般的電話控制應用都在這
個通用應用處理器上完成。由於其它一些任務沒有相似的嚴格時間要求,因此可以用‘C’實現,不需要最最佳化的匯編程式碼。將媒體處理和呼叫控制/系統管理
合併到單個應用處理器可以進一步簡化設計,減少元件數量、成本和體積。另外,合併後還可以取消VoIP媒體處理和系統控制原本所需的各項單獨開發工作和單
獨開發工具鏈。

為了進一步增加系統整合度,並獲得更低功耗、更小體積和整體更低的系統成本,可以使用內含通用處理器和專用視訊協同處理器或DSP的系統單晶片(SoC)。飛思卡爾的i.MX21多媒體應用處理器就是這樣的元件,它包含一個基於ARM9E的通用處理器和一個專門用於H.263和MPEG4編碼/解碼的硬體加速引擎,該引擎在CIF解析度
況下可達到每秒30訊框的視訊處理速率。VeriCall
Edge解決方案也充分利用了這種架構的優勢,可以在ARM9E通用處理器上完成所有的VoIP媒體處理任務,同時可利用VeriCall
Edge軟體框架配置和管理基於硬體的視訊加速模組來控制H.263或MPEG4視訊串流。

影像功能的實現


訊電話中最繁重的處理任務是對視訊的處理。所需要的具體處理量變化相當大,取決於發送和接收影像的大小以及採用的特別編碼方案。視訊電話中最常用的是
H.263、MPEG4和H.264標準。H.264傳送一幅與H.263相當品質的視訊影像所需頻寬要比H.263小,但需要更強的處理能力來實現更高
的壓縮率。滿足最大訊框速率和解析度範圍的特定視訊壓縮方案將為元件中的視訊處理選取‘合適’的解決方案。

系統設計工程師可
以有多種選擇,可以在通用處理器或DSP上透過軟體實現,也可以使用提供特殊視訊串流編解碼的專用矽元件。只有在非常低的訊框速率和解析度條件下,才可全
部利用執行於通用處理器上的軟體實現視訊串流的編解碼。對視訊串流的編碼要比解碼耗費更多的處理資源,因此合理的方案應該是在通用處理器上完成視訊解碼,
利用某種形式的硬體加速電路完成視訊編碼。隨著最新通用應用處理器(如基於ARM11和MIPS24K核心的處理器)的推出,處理器將擁有更強的處理能
力,因此軟體解碼和硬體支援下的編碼可能是下一代視訊電話採用的最理想解決方案。

圖3:採用軟VoIP方法的V2IP系統單晶片架構。


了在CIF或更高解析度下獲得完全運動(30fps)的視訊,目前的VoIP視訊電話肯定需要某種形式的硬體加速電路。這種加速電路可以是某種形式的
SoC,比如一個通用處理器處理語音,一個專用視訊編碼元件或更通用的DSP處理視訊。專用視訊編碼元件的優勢在於可以簡化編程模型,與嵌入在SoC中的
DSP相較,它在功耗和矽電路閘數方面更有效率。然而,DSP可以為系統設計工程師提供更好的靈活性,透過DSP軟體升級可以支援新的視訊編解碼格式(假
設所用DSP具有處理新的視訊編解碼標準的足夠能力)。總之,系統設計工程師必須決定所需的工作特性,充分考慮所需支援的視訊格式,以及元件可提供的處理
能力、功耗預算和尺寸。

音訊和視訊功能整合

在明確語音和視訊系統的設計要點後,也許最重要就是將這兩個獨立的子系統整合。在基於VoIP的視訊電話中,音訊和視訊是作為兩個獨立的封包數據串流進行收發的,這兩個數據串流必須在接收側取得關聯性和同步。不能正確地同步音訊和視訊串流將導致類似於電影中演員的語音一直不能與影像相配合的後果。


訊電話設計時還需要考慮抖動緩衝。要想使產品可以實用,必須認真對待抖動緩衝的問題。雖然音訊和視訊數據串流都包含有可用來關聯數據的時間標籤
(timestamp),但系統還必須能夠正確處理網路中可能會產生的數據封包丟失和網路抖動。設計時必須考慮緩衝記憶體和同步這兩個數據串流的方法,同
時還不能給系統帶來不必要的時延。某些視訊電話允許用戶修改視訊和音訊串流之間的時延或偏移來取得基本的同步,雖然這種方法可以同步音訊和視訊串流,但用
戶每次呼叫或通話期間網路狀態改變導致流失步時都需要進行人工修正。VeriCall Edge
V2IP解決方案則提供了音視訊自動同步技術,不再需要用戶手動去同步數據串流,而且照樣能適應網路狀態的改變。VeriCall
Edge可以透過主動地監視和管理輸入的音視訊數據串流來適應某個數據串流中封包的延遲或丟失,因而確保用戶能在多種網路環境下取得高品質的視訊效果。

本文小結


然四十多年來視訊電話經歷了很多坎坷,但目前的新技術和新產品已經使高性價比的視訊電話成為可能,利用快速成長的VoIP基礎架構進入大眾市場的機會已經
來臨。軟體DSP
VoIP技術和硬體加速視訊編碼技術的有機結合,能使視訊電話所需的電子材料成本減少一半之多。這種產品成本的大幅降低將促使視訊電話迅速普及,而像
VeriCall Edge等高度整合的軟體架構可以幫助系統開發人員以更短的時間和最小的風險開發出創新性產品。

作者: Michael Ward

沒有留言: