網(wǎng)際協(xié)議話音通信(VoIP)的時代已經(jīng)來臨,它融合了電話和數(shù)據(jù)通信世界,在低成本的因特網(wǎng)上提供分組的語音并傳送數(shù)據(jù)流。這種從電路交換到分組交換網(wǎng)絡(luò)的轉(zhuǎn)變正飛快地進(jìn)行著,從而能夠支持超出了簡單的語音傳輸?shù)膽?yīng)用,并延伸到可以在相同的基礎(chǔ)設(shè)施上傳輸數(shù)據(jù)的其它形式的應(yīng)用。但是,這類嵌入式設(shè)計的難點就在于選擇一種低成本、易于配置而且性能適應(yīng)市場需要可以擴(kuò)展的處理解決方案。具體地說,嵌入式解決方案的“最佳點”就是采用一種能夠?qū)崿F(xiàn)低通道數(shù)量VoIP解決方案而同時為增值能力和服務(wù)(例如視頻、音樂、圖像和系統(tǒng)控制等)留出足夠空間的處理器。 當(dāng)今的話音網(wǎng),例如公共交換電話網(wǎng)(PSRN)——采用數(shù)字交換技術(shù)在呼叫方和接收方之間建立一條專用鏈路。雖然這種連接只能提供有限的帶寬,但是它不采用復(fù)雜的編碼算法就可以提供可接受的質(zhì)量水平。
另一方面,VoIP采用網(wǎng)際協(xié)議(IP)在因特網(wǎng)或?qū)S镁W(wǎng)上發(fā)送數(shù)字化的話音服務(wù)。IP分組由一個控制頭部和數(shù)據(jù)凈荷組成。頭部為分組提供網(wǎng)絡(luò)導(dǎo)航信息,而凈荷包含壓縮的話音數(shù)據(jù)。 和電路交換電話不同的是,數(shù)據(jù)傳輸是基于分組的,以便對數(shù)據(jù)塊進(jìn)行分組和壓縮,然后通過網(wǎng)絡(luò)發(fā)送出去,最終在接收端進(jìn)行重新組裝。換句話說,發(fā)送方和接收方之間無需專用鏈路。 分組技術(shù)非常適合在網(wǎng)絡(luò)上傳輸“數(shù)據(jù)”(例如,一個JPEG文件或電子郵件),因為傳送降為“盡力服務(wù)”型。該網(wǎng)絡(luò)可在相同的媒質(zhì)上高效地傳送來自于多種信源的數(shù)據(jù)。但是,對于話音服務(wù)來說,“盡力服務(wù)”型是不夠的,因為接收端解碼得到的音頻信號質(zhì)量可能令人無法接受,因為當(dāng)分組經(jīng)過網(wǎng)絡(luò)的延時是不固定的。這就是為什么VoIP協(xié)議要通過服務(wù)質(zhì)量(QoS)來致力于提供固定的網(wǎng)絡(luò)帶寬以便防止延時降低話音質(zhì)量。 分組話音包括在話音數(shù)據(jù)塊中增加頭部和尾部信息。分組開銷必須最小以防止增加延時。因此,這個處理過程必須在最小的傳輸延時和最有效地利用網(wǎng)絡(luò)帶寬之間達(dá)到一個平衡。當(dāng)然,分組尺寸越小發(fā)送分組越快,分組尺寸越大組合時間越長。但是,大的分組因為在較大的話音數(shù)據(jù)塊中分?jǐn)傤^部和尾部信息,所以其網(wǎng)絡(luò)帶寬利用率要高于小分組的利用率。 由于網(wǎng)絡(luò)的特性,數(shù)據(jù)傳輸?shù)乃俾首兓艽蟆_@種偏差稱為抖動。通過將分組緩存足夠長的時間,保證最慢的分組也能及時到達(dá)以便按照正確的順序解碼,從而達(dá)到消除抖動的目的。當(dāng)然,抖動緩沖器也增加了對系統(tǒng)的總延時。 延時是一個很重要的參數(shù),因為它代表了經(jīng)過IP網(wǎng)絡(luò)系統(tǒng)的時間延遲。單向延時是指從電話發(fā)送端說話到電話另一端的人聽到它的時間間隔。雙向延時就是指兩個單向延時的簡單加和。在北美的PSTN電話系統(tǒng)中,雙向延時不到150ms。當(dāng)然,延時越短,通話就越自然。
對于VoIP系統(tǒng),高達(dá)200ms的單向延時認(rèn)為是可以接受的。在VoIP系統(tǒng)中引起延時的最主要部分在網(wǎng)絡(luò)和呼叫兩端的網(wǎng)關(guān)。話音編解碼器也增加了延時,但是相對來說通常是很小的(不到20ms)。 當(dāng)話音網(wǎng)絡(luò)應(yīng)用中的延時很大時,主要的難題就是回波消除和疊音消除。回波消除與感知的質(zhì)量直接相關(guān),而且當(dāng)雙向延時超過50ms時,它就會成為一個比較嚴(yán)重的問題。當(dāng)單向延時超過250ms時,話音重疊也成為一個較嚴(yán)重的問題。 基于VoIP的應(yīng)用 因為采用網(wǎng)絡(luò)做傳輸機(jī)構(gòu),所以VoIP系統(tǒng)發(fā)揮的一個主要優(yōu)勢就是降低每次通信會話的成本。此外,VoIP通話使網(wǎng)絡(luò)運(yùn)營商避免了與電路交換電話網(wǎng)絡(luò)相關(guān)的大部分互連費(fèi)用,而且完成一次VoIP通話需要增加的基礎(chǔ)設(shè)施是最少的:它利用已經(jīng)連接了家用或商用個人計算機(jī)(PC)的現(xiàn)有網(wǎng)絡(luò)。另外,降低成本的另一個原因就是數(shù)據(jù)網(wǎng)絡(luò)運(yùn)營商通常擁有未充分利用的帶寬,所以增加VoIP服務(wù)實質(zhì)上只是增加了無關(guān)緊要的附加開銷。 VoIP用戶往往認(rèn)為他們的連接像“免費(fèi)”一樣,因為每當(dāng)他們想打電話時就可以呼叫世界上的任何地方,而每分鐘僅需幾分錢。但是,他們還需要向其因特網(wǎng)服務(wù)提供商支付月租費(fèi)用,雖然這個費(fèi)用可以對數(shù)據(jù)服務(wù)和話音服務(wù)分開。 這種服務(wù)不僅比電路交換服務(wù)便宜,而且還提供許多新的功能。例如,在PSTN上打入的電話可以自動重新路由到用戶的VoIP電話,只要它連接到某個網(wǎng)絡(luò)結(jié)點上就可以。這種優(yōu)勢超過了全球通用的蜂窩電話,因為不會需要漫游費(fèi)用——從VoIP的角度看,終端用戶的位置是無關(guān)緊要的,因為它僅僅被當(dāng)成另一個網(wǎng)絡(luò)連接點。這就使得基于802.11標(biāo)準(zhǔn)的VoIP電話非常具有吸引力,從而允許在全球的Wi-Fi熱點地區(qū)內(nèi)通話,而無需擔(dān)心通信基礎(chǔ)設(shè)施和傳輸標(biāo)準(zhǔn)的失配。
到目前為止我們所討論的有關(guān)IP話音的所有內(nèi)容可以擴(kuò)展到其它形式的數(shù)據(jù)通信中;數(shù)據(jù)一旦被數(shù)字化并分組化,畢竟其內(nèi)容是什么實際上是無關(guān)緊要的。因此,VoIP基礎(chǔ)設(shè)施支持一系列全新的網(wǎng)絡(luò)實時應(yīng)用,例如: 1. 視頻會議; 2. 遠(yuǎn)程視頻監(jiān)視; 3. 模擬電話適配器; 4. 多信道廣播; 5. 即時通訊; 6. 游戲; 7. 電子白板。 VoIP系統(tǒng)的詳細(xì)描述 圖1示出了一個VoIP系統(tǒng)的關(guān)鍵組成:信令過程、編碼器和解碼器、傳輸機(jī)構(gòu)和交換網(wǎng)關(guān)。信令過程包括在結(jié)點間建立、維持和終止連接。 為了降低網(wǎng)絡(luò)帶寬需求,在發(fā)送之前對音頻和視頻信號要進(jìn)行壓縮編碼,在接收時再解碼。這種壓縮和轉(zhuǎn)換過程由各種音頻和視頻流編碼器和解碼器(統(tǒng)稱“編解碼器”)標(biāo)準(zhǔn)來控制。 壓縮分組在一個或更多個傳輸協(xié)議的控制下在網(wǎng)絡(luò)上傳輸。交換網(wǎng)關(guān)保證分組在其它的IP系統(tǒng)或PSTN系統(tǒng)中的目的地是能互操作的。在最終目的地,分組集被解碼然后轉(zhuǎn)換回音頻信號,然后在當(dāng)?shù)赝ㄟ^接收方的耳機(jī)或揚(yáng)聲器播放出來。 會話控制:H.323與SIP 一個VoIP系統(tǒng)的最基本需求就是會話控制協(xié)議以便證實用戶存在并定位用戶,以及建立、修改或終止會話。目前有兩種被廣泛采用的協(xié)議。以前,這類協(xié)議中最早的就是H.3231,但是會話初始化協(xié)議(SIP)迅速發(fā)展成主要的標(biāo)準(zhǔn)。下面我們更詳細(xì)地描述這兩個協(xié)議。 H.323是國際電信聯(lián)盟電信標(biāo)準(zhǔn)化部門(ITU-T)最初為實時多媒體(話音和視頻)會議及其輔助數(shù)據(jù)傳送開發(fā)的一個標(biāo)準(zhǔn)。它發(fā)展得很快,可以滿足VoIP網(wǎng)絡(luò)的需求。從技術(shù)上看它是一個容器,包羅了許多必需的和可選的網(wǎng)絡(luò)和媒體編解碼標(biāo)準(zhǔn)。H.323的連接信令部分由H.225協(xié)議控制,而參數(shù)協(xié)商由H.245協(xié)議支持。 會話初始化協(xié)議(SIP)由因特網(wǎng)工程工作小組(IETF)在RFC 3261規(guī)范中定義。盡管從很多方面都與H.323協(xié)議重復(fù),但是SIP協(xié)議是一個更新的協(xié)議,而且是專門為IP電話和其它的因特網(wǎng)服務(wù)而開發(fā)的。因此,通常認(rèn)為它是更新型的解決方案。 SIP協(xié)議與會話描述協(xié)議(SDP)配合使用用于發(fā)現(xiàn)用戶,而且它提供參數(shù)協(xié)商和呼叫管理。SDP本質(zhì)上是一種用于描述會話發(fā)起和請求期間流媒體初始化參數(shù)的格式。SIP和SDP協(xié)議組有點類似于H.323中的H.225和H.245協(xié)議組。
SIP可以用于只有兩個終端而沒有服務(wù)器設(shè)施的系統(tǒng)中。但是,在公用網(wǎng)上,需要利用專用代理和注冊服務(wù)器來建立連接。在這樣的配置中,每個客戶端都會用一個服務(wù)器登記姓名,以便使呼叫方能從因特網(wǎng)上的任何地方找到他。 傳輸協(xié)議 我們剛才討論的信令協(xié)議負(fù)責(zé)配置網(wǎng)絡(luò)中的多媒體會話。一旦連接建立起來,媒體數(shù)據(jù)就通過采用一個或多個數(shù)據(jù)傳輸協(xié)議(例如UDP或TCP)在網(wǎng)絡(luò)結(jié)點間傳送。 1. 用戶數(shù)據(jù)報協(xié)議(UDP) UDP是一個分組僅僅向外廣播的網(wǎng)絡(luò)協(xié)議。不能確認(rèn)另一端是否接收到分組。這就是說交付是沒有保障的,因此在網(wǎng)絡(luò)的峰值負(fù)載期間,話音傳輸僅僅采用UDP是無法正常工作的。這就是為什么通常要在UDP上層采用一個類似于RTP的媒體傳輸協(xié)議。 2. 傳輸控制協(xié)議(TCP) TCP采用一種客戶端-服務(wù)器的通信模型。客戶端向網(wǎng)絡(luò)中的另一臺計算機(jī)(或服務(wù)器)請求(或被提供)服務(wù)。每個客戶端請求都是單獨(dú)處理的,與先前的任何請求都無關(guān)。這樣就保證了“空閑的”網(wǎng)絡(luò)通路可用于其它的通道。 TCP創(chuàng)建比較小的分組,可以在發(fā)送到因特網(wǎng)上并被呼叫另一端的TCP層接收,這樣分組就會被“重裝”回原始消息。IP層處理每個分組的地址字段以便使它可以到達(dá)正確的目的地。 和UDP不同的是,TCP要保證接收端能完整地接收分組。然而,它是通過分組重傳來實現(xiàn)的,重傳增加了延時,這對實時話音通信是不利的。換句話說,因為重傳引起的延遲分組和丟失的分組一樣嚴(yán)重。因為這個特性,通常都認(rèn)為TCP不是一個適合實時流媒體傳輸?shù)膫鬏斂刂茀f(xié)議。 圖2示出TCP/IP模型及其相關(guān)協(xié)議與OSI模型的比較以及各層的利用。 媒體傳輸 如前所述,直接在傳輸協(xié)議上發(fā)送媒體數(shù)據(jù)對于實時通信來說并不是很有效。這就是為什么通常要采用媒體傳輸層來有效地處理這類數(shù)據(jù)。 1. 實時傳輸協(xié)議(RTP) RTP為實時的分組音頻和視頻數(shù)據(jù)提供傳送服務(wù)。它是IP網(wǎng)絡(luò)上傳輸實時數(shù)據(jù)的標(biāo)準(zhǔn)方式。該協(xié)議位于UDP之上以便將分組頭部開銷最小,但是這樣是要付出代價的,因為無法保證可靠性和分組的順序。與TCP相比,RTP的可靠性較低,但是分組的傳輸延時較小,因為TCP的分組頭部開銷要比RTP大得多。 為了保證一定的QoS等級,RTP給每個發(fā)送的分組采用了時間戳、順序編號以及交付證實。它還支持許多糾錯方案以提高魯棒性,還有一些基本的安全選項用于加密的數(shù)據(jù)分組。 圖4比較了UDP、RTP和TCP協(xié)議的性能和可靠性。 2. RTP控制協(xié)議(RTCP) RTCP是一個補(bǔ)充協(xié)議,用于通信控制信息,例如發(fā)送和丟失的分組數(shù)量、抖動、延時以及終端的描述等。它主要用于管理會話時基和分析RTP流的QoS。它還可提供一個反向通道用于限制RTP分組的重傳。 媒體編解碼器 VoIP協(xié)議棧的頂層負(fù)責(zé)處理需要傳輸?shù)膶嶋H媒體數(shù)據(jù)。有許多可能的音頻和視頻編解碼器都會進(jìn)入媒體傳輸層。
許多因素都有助于確定一個語音編解碼器的理想程度,包括它如何有效利用可用的系統(tǒng)帶寬,如何處理分組丟失,以及與之相關(guān)的成本(知識產(chǎn)權(quán)費(fèi)等)。 Blackfin VoIP附屬應(yīng)用 不像傳統(tǒng)的VoIP嵌入式解決方案那樣利用兩顆處理器內(nèi)核來提供VoIP功能,Blackfin處理器在一個統(tǒng)一的內(nèi)核體系結(jié)構(gòu)中提供了一種會聚的解決方案——適合于語音處理的數(shù)字信號處理器(DSP)和適合于網(wǎng)絡(luò)及用戶接口需求的RISC精簡指令微控制器(MCU)功能。這種在單顆會聚處理器中提供完整VoIP功能的獨(dú)特功能有利于單一的軟件開發(fā)環(huán)境、加快系統(tǒng)的調(diào)試和配置,并降低系統(tǒng)總成本。 例如,ADSP-BF537 Blackfin處理器系列為VoIP的配置提供了必需的集成度、高性能和低功耗。它具有多個集成的串行端口(可以無縫連接到音頻模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器),一個外部存儲器控制器,一個并行外圍接口(PPI)用于連接液晶顯示器或視頻編解碼器,還有10/100 BaseT的以太網(wǎng)媒體訪問控制器(MAC)。如果需要的話,還可以通過外部的存儲器接口提供第二個以太網(wǎng)MAC。 一個完整的通信信道(包括語音和網(wǎng)絡(luò)協(xié)議棧)只占用不到75MHz的處理器帶寬。同類的專用VoIP產(chǎn)品通常只有有限的性能而且沒有能力增加功能或變化。因為Blackfin處理器具有高達(dá)600MHz的性能,所以有足夠的處理帶寬擴(kuò)展VoIP產(chǎn)品種類,當(dāng)多媒體壓縮或解壓縮等功能需要擴(kuò)展時。 對于VoIP應(yīng)用,基于Blackfin的設(shè)計適合于高質(zhì)量、低通道數(shù)量的VoIP解決方案,具有適應(yīng)增加功能(例如音樂、視頻和圖像傳輸以及系統(tǒng)總控制)的處理余量。下面我們來看看可提供的的VoIP產(chǎn)品實例,從開源解決方案到大批量的原始設(shè)備制造商(OEM)參考設(shè)計。 Linphone軟件 Blackfin VoIP系統(tǒng)在設(shè)計時可以采用基于uClinux操作系統(tǒng)(流行的GNU-Linux操作系統(tǒng)的嵌入式版本)的開源軟件。一個這樣的GPL許可軟件包,稱為Linphone軟件,它已經(jīng)將Blackfin處理器連接到uClinux。它基于SIP協(xié)議套件,使得該Blackfin參考設(shè)計可以與任何兼容SIP的終端通信。在具有合適的SIP服務(wù)器和網(wǎng)關(guān)設(shè)施的公用網(wǎng)絡(luò)上,該系統(tǒng)甚至可以用于連接一個PSTN結(jié)點上的電話。對于語音編碼和解碼,目前的Linphone軟件在Blackfin的實現(xiàn)支持G.711(A律和μ率),GSM和Speex。 Blackfin Linphone參考設(shè)計中采用的主要組成部分如下: 1. Linux TCP/IP網(wǎng)絡(luò)協(xié)議棧:包括必需的傳輸和控制協(xié)議,例如TCP和UDP。 2. Linphone:主要的VoIP應(yīng)用軟件,包括基于Blackfin處理器的G.711和GSM編解碼器實現(xiàn)。對于臺式PC有圖形用戶界面(GUI),對于非圖形化的嵌入式系統(tǒng),有簡單的命令行應(yīng)用軟件。 3. oRTP:為Linphone開發(fā)的RTP協(xié)議棧實現(xiàn),經(jīng)LGPL許可發(fā)布。 4. oSIP:SIP協(xié)議的線程安全實現(xiàn),經(jīng)LGPL許可發(fā)布。 5. Speex:Speex編解碼器的開源參考代碼實現(xiàn)。對定點Speex實現(xiàn)的Blackfin專用優(yōu)化已經(jīng)送回到主線代碼分支。
Unicoi系統(tǒng)基于Blackfin處理器的Fusion語音網(wǎng)關(guān) Fusion語音網(wǎng)關(guān)(見圖5)是Unocoi系統(tǒng)中完整的語音網(wǎng)關(guān)和終端適配器參考設(shè)計。Fusion語音網(wǎng)關(guān)具有路由器功能和全功能的SIP電話,運(yùn)行在單內(nèi)核的Blackfin處理器上,它使得終端適配器可以迅速面市。 Fusion語音網(wǎng)關(guān)是具有市場上最低的原材料(BOM)成本,但是具有魯棒性功能,包括G.168回聲消除和多種G.7xx語音編解碼器。Fusion參考設(shè)計還包括了全功能電話和路由器功能,集成了9個路由器,1個四端口的以太網(wǎng)交換端口和VoIP網(wǎng)關(guān)功能。 Blackfin BRAVO VoIP參考設(shè)計 ADI公司的Blackfin BRAVO VoIP和可視電話參考設(shè)計是完整的系統(tǒng)解決方案,適合OEM用于建立高級功能、高性能、低成本的VoIP臺式電話、可視電話和電話適配器。這些設(shè)計包括了適合VoIP應(yīng)用的完整軟件套件,它們都可以通過一整套定制的應(yīng)用程序接口(API)來控制)以及對內(nèi)核系統(tǒng)功能的控制。 對于音頻應(yīng)用,這些設(shè)計支持多種G.7xx音頻編解碼器,G.168標(biāo)準(zhǔn)的網(wǎng)絡(luò)回聲消除,以及用于增強(qiáng)音頻清晰度的聲學(xué)回聲消除。此外,設(shè)計中還包括了RF收發(fā)器以便提供無線音頻功能。這些設(shè)計都支持H.323和SIP的兩種軟件協(xié)議棧。 在視頻前端,BRAVO寬帶音頻視頻通信參考設(shè)計可提供高達(dá)30fps的彩色CIF格式視頻,包括支持ITU標(biāo)準(zhǔn)H.263和H.264視頻編解碼、畫中畫、高分辨率圖形覆蓋、透明和色度控鍵,以及抗閃爍濾波等。 本文小結(jié) 顯然,VoIP技術(shù)有可能徹底改變?nèi)藗兺ㄐ诺姆绞?不管他們是在家里還是在工作,采用有線的、無線的、能支持視頻的,還是只支持簡單的音頻。Blackfin處理器使VoIP技術(shù)不斷深入嵌入式環(huán)境,會在許多新的市場中創(chuàng)造增值功能,同時也利用了現(xiàn)有的技術(shù)。 |