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