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