在iPhone和智慧型電話中實現出色的 IP語音及視頻

本文作者:admin       點擊: 2009-02-17 00:00
前言:
引言
蘋果iPhone已經實現了創建一個全新多媒體行動通訊終端使用者體驗的承諾,特別是2008年iPhone 3G的面世,掀起了全球對行動語音及網路視頻應用的一波狂熱興趣。但另一方面,行動網路存在延時和丟包問題,加上CPU能力有限的設備很容易導致嚴重回聲,這些都為開發高質VoIP及視頻應用帶來了諸多挑戰,即使是經驗豐富的媒體處理專家也會感到棘手。明白到與行動 IP通訊有關的困難,那麼行動VoIP應用的成功關鍵就在於開發者必需充分瞭解如何才能最好地解決網路和設備的限制問題,而這些問題有可能影響通話品質,甚至最終讓通話無法正常進行。

本文對上述問題進行了探討,並闡釋了如何利用iPhone等這類智慧型電話的獨特能力讓應用實現VoIP功能。文中討論了行動IP網路存在的一些固有困難,以及行動設備獨有的回聲和作業系統最佳化等問題。最後,我們還會介紹如何克服這些障礙,提供高品質的終端使用者體驗。

行動VoIP 
在上世紀90年代,網際網路開始普及,為IP網路用於通訊創造了巨大商機。VoIP起步之初就被視為電話的替代品,提供一種取代傳統PSTN通訊的低成本方案。不過,當時大多數音訊編解碼器(codec)都是為已有的TDM網路而設計的,而視頻編解碼器更是只是處於萌芽階段,因此語音及視頻通訊不穩定,幾乎無法使用。但隨著技術的進步,專門針對IP網路的語音處理解決方案成功面世,音質得到了顯著改善,結果令採用寬頻編解碼器等技術的個人電腦應用 (如Skype和Google Talk等)爆炸性地流行起來。這些應用既可獲得比PSTN更好的品質,同時還能提供免費或低價的通話服務。其後,視頻技術領域的類似發展再進一步增強了產業對這類應用的興趣,因為IP網路可以帶來豐富的多媒體通訊體驗。

雖然個人電腦是公認適用的IP通訊平臺,但行動設備的普及性和便利性卻使其非常適合於提供下一代IP語音/視頻應用。行動VoIP最初是由Pocket PC設備(比如iPaq)實現的,這些設備運行Windows CE,並經由WiFi存取IP網路。隨著IP通訊需求成長,傳統行動電話也能夠存取IP網路,並內置應用作業系統,這就是所謂的智慧型電話。這些智慧型電話一般運行Symbian或 Windows Mobile,提供“雙模式”功能,除了WiFi網路之外,還可以存取傳統的行動網路。智慧型電話為行動VoIP市場的成長帶來了最具前景的商機,尤其是iPhone和Google的Android平臺等解決方案的面市,更有推波助瀾之勢。

儘管智慧型電話提供了這樣的機會,但行動設備VoIP的實現仍是一大技術挑戰。首先,行動電話乃小型設備,處理能力有限,而且價錢可能會比較昂貴,電池的使用壽命也很短。因此,VoIP處理軟體在記憶體使用和運算複雜性方面必須非常高效。處理器通常需要一定程度的最佳化,而且大多數器件需要訊號處理演算法的定點執行。這些任務的要求非常嚴格,不僅需要程式設計技巧,還要求訊號處理領域的專業知識。

除了設備的限制之外,網路連接的品質也是行動VoIP應用開發面對的獨特挑戰。所謂行動設備,自然是指通過無線網路工作的器件。VoIP通話採用的無線存取方法一般是WiFi、3G 或Edge封包資料連接等。對於這些無線連接而言,許多因素都可能會干擾無線訊號的傳輸。例如,當設備遠離無線基站或存取點時,訊號強度便會降低,而背景雜訊電平變大,因此可能導致很低的訊噪比。導致接收品質降低的另一主因,是在相同或相鄰頻率上通訊的其他使用者所造成的干擾,這可能導致比特誤差而出現丟包情況。此外,要使VoIP這類即時通訊變得高效,延時必須被減到最小,避免因需要重發而丟包。為了對行動VoIP進行高級別的丟包補償,接收器端軟體必需採用丟包隱藏(packet loss concealment, PLC)技術來補償輸出訊號中的錯誤。對行動解決方案而言,PLC方法必須能夠處理可能高達30% 的高峰值丟包率。

此外,開發應用時需要考慮的另一個方面是目前無線VoIP中常見的瓶頸問題。過多用戶共用同一個頻帶或存取點(尤其是WiFi),會導致輸送量和傳輸時間的變化。這種現象稱為抖動,常見於當接收器接收資料包的間隔時間不規則時。

對付抖動的最好方法是在接收端增加一個緩衝器來消除延時變化。緩衝量應該是自我調整(adaptive)的,並大致符合抖動曲線的包跡。最佳也最具自我調整能力的解決方案,應該能夠把延時減至最小,並同時可消除抖動,提供最清晰和連貫的通話效果。

iPhone作為VoIP平臺
iPhone的面市為行動領域帶來了突破性的設計和多媒體能力。iPhone的音訊和視頻處理能力讓它成為極具吸引力的即時IP通訊平臺。這種電話的開放式API和靈活設計,意味著任何熟悉Mac OS作業系統的開發人員都能夠實現高品質語音通話功能,而且未來還有可能增加即時視頻功能。IP網路存取方式包括WiFi和3G/Edge,故實際上能夠在任何位置進行VoIP通話,使得離IP通訊普適性的目標又邁進了一步。

然而,上述提到的能力不錯是很令人振奮,但iPhone這類設備也增加了VoIP應用設計的複雜性。譬如,除了行動設備慣常存在的抖動問題之外,當終端使用者需要同步執行幾項任務時,iPhone等智慧型電話還會引入額外的抖動。舉例來說,iPhone可能在通話期間查收電郵,結果便會使VoIP通話的處理受到延遲。VoIP軟體所受到的影響與網路抖動相同,這時一個可靠的抖動緩衝器就更顯必要。另外,使用者在通話時往往需要存取iPhone螢幕,因此免提通話是常見的使用情況。不過,使用者離麥克風越遠,揚聲器音量越大,聲學回聲也越多,這進一步增加了對大部分行動設備來說已經很高的高效聲學回聲消除(Acoustic Echo Cancellation, AEC)通話要求。AEC是大多數平臺所面臨的一大難題,在處理能力有限的行動設備上尤甚。

這些獨特的要求正是高質的語音和視頻處理能力如此重要的原因所在。由於iPhone應用開發人員一般都並非音訊/視頻專家,故Global IP Solutions的目標就是為iPhone開發社群提供即時IP多媒體通訊功能。

針對iPhone開發的Global IP Solutions解決方案
Global IP Solutions公司自1999年以來就致力於語音處理解決方案的開發,在行動VoIP方面擁有豐富的經驗。公司的創建宗旨是IP網路需要獨特的解決方案來解決丟包、延時和抖動等問題。為了解決這些問題並提供盡可能好的音質,Global IP Solutions開發出了一系列創新解決方案,比如iLBC(一種IETF標準)和SAC編解碼器,以及NetEQ抖動緩衝器。2002年,公司發表了語音處理套裝軟體的首個版本VoiceEngine。VoiceEngine最初是針對個人電腦和Windows推出的,包含了一整套完善的VoIP聲音處理軟體,能夠幫助應用開發人員處理所有的語音處理複雜問題。

隨後不久,公司開發出首個針對iPaq上Windows CE的VoiceEngine Mobile原型。這是一項突破性的進步,因為它能夠讓行動設備獲得極高品質的WiFi VoIP通訊。VoiceEngine自此成為廣泛流行的產品,並推動了Skype、Google Talk和Yahoo Messenger等應用。它是一個獨立於平臺的產品,並已在Mac OS上應用多年。由於VoiceEngine在行動領域的長期口碑,以及Global IP Solutions公司在MAC方面擁有的豐富體驗,下一步很自然就是把VoiceEngine移植到iPhone上。Global IP Solutions還提供VideoEngine Mobile產品,加上隨著iPhone API變得開放,開發人員很快就能夠為iPhone創建即時的語音和視頻解決方案。

智慧型電話(尤其是iPhone)的獨特要求,意味著VoiceEngine處理網路損害和設備限制的能力對行動環境而言更加重要。獨立於平臺的代碼庫,結合了專為iPhone所用ARM處理器而最佳化的代碼元件庫,能讓開發人員面向iPhone迅速推出極高效率的高性能套裝軟體,而不必再擔心CPU的能力限制。此外,VoiceEngine還包含了被稱為Net EQ的高自我調整性抖動緩衝器,用於管理網路損害和由智慧型電話引入的額外抖動。NetEQ採用了新穎的抖動處理方法和丟包隱藏技術,能夠迅速根據具體情況對抖動問題進行處理,並同時把緩衝延時減至最小。最後,VoiceEngine還使用了先進的AEC和雜訊抑制解決方案,可把行動環境中極為常見的回聲效應和背景雜訊降至最小。所有這些能力都專門針對iPhone而最佳化,使得VoiceEngine成為行動VoIP應用開發人員的理想解決方案。

針對iPhone開發的VoiceEngine Mobile還提供了豐富的API,便於開發人員在自己的目標應用中整合極高品質的VoIP,並能夠靈活調整各種參數,比如回聲消除。

iPhone VoiceEngine Mobile

主要特性包括:
* 語音編解碼器的選擇
* 回聲消除
* NetEQ先進抖動緩衝器
* 降噪
* 自動增益控制(AGC)

結語
隨著行動設備即時語音和視頻通訊市場不斷成長,開發人員必需認識到行動設備應用開發的獨特需求。他們必需考慮到抖動、延時、聲學回聲和CPU限制等因素,以便獲得高品質的語音及視頻體驗。

Global IP Solutions擁有獨特的商業定位,致力於開發及提供最高效率且具有互通性的產品系列,以幫助開發人員為客戶提供先進的應用。
 

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11