摘 要: 在闡述3G 交互式視頻網關關鍵技術的基礎上,提出了該網關的一個具體的設計與實現方案,并給出了其在實際的3G 網絡環境下進行測試的結果。測試結果表明該網關運行穩定,接通率高,能較好的滿足運營商提供3G 視頻增值業務的需求。
3G 牌照的發放,標志著中國移動通信領域向3G技術升級的號角正式吹響。3G 網絡區別于2G 網絡最重要的地方就是帶寬得到了很大的提升,由此移動運營商采用最新的語音和視頻交互技術,可以為3G 手機用戶提供視頻會議、視頻點播和遠程監控等眾多新興的交互式視頻增值服務。目前各大運營商鋪設的3G網絡基本是以3GPP R4 為規范,實時視頻應用采用的是電路域的3G-324M 協議標準,而大部分增值應用服務器采用的是SIP 協議標準。因此,為了解決兩種不同類型網絡的互聯互通,以提供豐富的多媒體增值應用,需要3G 交互式視頻網關進行不同協議間媒體格式和控制消息的轉換,圖1 顯示了該網關在多媒體增值應用服務體系結構中所處的位置。本文首先簡要介紹了3G 交互式視頻網關所涉及到的關鍵技術,接著提出了該網關的一個具體的設計與實現方法,最后給出了在實際環境中進行測試的情況。
圖1 3G 多媒體增值應用服務體系結構。
1 3G交互式視頻網關關鍵技術介紹
1.1 3G-324M 協議
3G-324M協議是3GPP組織以ITU-T H324/M為基礎制定的框架性標準,該協議主要是用來在低帶寬(通常為64kbps)的環境下提供足夠高質量的實時多媒體通信。借助3G-324M 協議,3G 終端既可以與其它的3G 終端進行實時的視頻通話,也可以通過3G 交互式視頻網關和各種增值應用服務器進行通信,獲得交互式的視頻增值服務,如視頻會議、視頻點播、遠程監控等。
3G-324M 標準是一個標準體系,包含下面幾個子協議標準:音頻編碼標準(3GPP-AMR、G.723.1)、視頻編碼標準(H.263、MPEG-4、H.261)、數據編碼標準(V.14、LAPM(Link Access Procedure for Modems))、多路復用和解復用協議(H.223)和呼叫控制協議(H.245)。其中H.223 協議又分為兩層:適配層和復用層。適配層的作用是為不同類型的數據進行適配,并提供相關的錯誤控制,復用層的作用是交織多個媒體流如視頻、音頻、用戶數據和控制消息(H.245)到一個媒體流,使其能在傳輸信道上傳輸。H.245 協議則規定了在會話各個階段的控制消息交換標準,H.245 定義的主要的邏輯過程包括主從決定過程,能力交換過程,邏輯信道開關過程,復用表初始化/修改過程,模式請求過程等。
1.2 SIP 協議
SIP 協議是由IETF 提出來的在互聯網上進行多媒體通信的信令協議,是下一代網絡(NGN)的核心協議之一 [6].SIP 是工作在應用層上的一個信令協議,可以用來建立、修改和終止有多方參與的多媒體會話進程。一般情況下,SIP 協議使用RTP 協議傳送音頻和視頻流,使用SDP 協議進行媒體描述。
圖2 基本的SIP 會話流程。
一個簡單的SIP 會話流程如圖2 所示。首先Alice給Bob 發送INVIte 消息邀請Bob 加入SIP 會話,INVITE 消息中攜帶了描述Alice 的音視頻編解碼格式和通信端口的SDP 信息,Bob 收到INVITE 消息后,發送200 OK 消息給Alice,200 OK 消息中攜帶了描述Bob 所選擇的編解碼格式和Bob 通信端口的SDP信息,Alice 收到200 OK 消息后發送ACK 消息給Bob,此時完成三次握手,進入媒體會話階段。媒體會話完成后,Bob 發送BYE 消息給Alice 結束SIP 會話,Alice 收到BYE 消息后,給Bob 發送ACK 確認消息。
由于SIP 協議具有簡單性、靈活性、可擴展性和開放性等顯著優點,人們對它的熱情正不斷高漲,正有越來越多的人利用SIP 構筑下一代增值業務平臺。
2 網關總體設計
網關的工作原理如圖3 所示。
圖3 網關工作原理
由圖中可以看出,3G 交互式視頻網關主要負責控制消息和媒體格式的轉換。在3G 電路域一側,3G 手機用戶通過撥打特服號碼撥通到3G 網關,此時通過Q.931 信令建立起了一個B 信道,這個信道是一個64Kbps 的數據信道。在B 信道建立后,3G-324M協議的初始化過程就在B 信道上進行,協議會在B 信道上建立三個邏輯信道,分別用來傳輸H.245 控制消息、音頻數據和視頻數據。在完成了3G-324M 協議的初始化后,網關在IP 域一側通過SIP 協議與增值應用服務器建立一個SIP 會話,獲得RTP 格式的實時媒體流。對于從增值應用服務器獲得的音頻、視頻數據和控制消息,網關轉換格式后,發送到3G-324M 協議棧,3G-324M 協議棧根據H.223 協議將音頻、視頻數據和控制消息復用到B 信道上發送到3G 手機。
對于從B 信道上獲得的數據,網關解復用成相應的音頻、視頻數據和控制消息后封裝成對應的RTP 格式的數據報和SIP 消息,發送到增值應用服務器。網關的交互式功能主要通過控制消息的轉換實現,而控制消息主要來自手機端的DTMF 輸入。
在設計的時候,由于實驗室已有的2G 音頻網關技術平臺已經實現了SIP 協議棧并配有E1 板卡, 所以只要在其基礎上加入3G-324M 協議棧,并實現3G-324M 協議與SIP 協議之間媒體格式和控制消息的轉換即可以完成3G 交互式視頻網關的基本功能。
根據3G-324M 協議標準,3G-324M 協議棧的結構設計如圖4 所示:
圖4 3G-324M 協議棧結構
從圖中可以看出,所設計的3G-324M 協議棧一共有3 個邏輯信道,分別是H.245 控制消息信道、音頻信道和視頻信道。由應用自上而下傳遞的控制消息翻譯成對應的H.245消息,經過CCSR(Control ChannelSegmentation and Reassembly Layer,簡稱CCSR)分段后交NSRP(Numbered Simple RetransmissionProtocol,簡稱NSRP)加上序列號,加入到控制消息發送隊列中,由應用自上而下傳遞的音頻和視頻數據經過H.223 的適配層進行適配后,也加入到相應的媒體數據發送隊列中,H.223 的復用層分別從各隊列中取得數據復用后通過3G 網絡發送到3G 手機上。對于從3G網絡得到的數據,協議棧自下而上通過H.223 進行解復用到各邏輯信道的接收隊列中,應用從各邏輯信道提取控制消息或媒體數據進行處理。
在設計3G-324M 協議棧音視頻發送機制的時候,考慮到媒體流中視頻的數據量較大,而電路域提供給視頻的帶寬只有40kbps 左右,所以如果不做適當處理,肯定會出現音頻超前視頻的情形。因此為音頻數據流設計一個緩沖區,只有當音頻緩沖區中音頻包的個數大于一定域值的時候,才會發送音頻數據,這樣就最大限度的避免了可能出現的音視頻不同步的問題。
在設計協議間媒體格式轉換機制,特別是在將RTP 格式的H.263 視頻數據轉換成3G-324M 協議棧能處理的視頻幀的時候,由于RTP 封裝的H.263視頻數據在圖像開始碼處字節對齊,具有填充位,如果不去掉填充位直接發送到3G 手機終端,則會出現馬賽克,所以設計了一個H.263 視頻幀的緩沖區,將連續兩個圖像開始碼之間的視頻幀緩沖起來,以去掉幀間的填充位。具體的處理流程是讓程序掃描H.263格式的視頻流緩沖區,每遇到圖像開始碼便將其之后的視頻幀緩沖起來,緩沖區的大小動態分配,直到遇到下一個圖像開始碼,然后將兩個圖像開始碼之間的視頻數據去掉填充位后發送到3G-324M 協議棧。
3 網關的實現
在實現的時候,用到的硬件主要包括PC 機一臺和E1 板卡一塊,用到的軟件主要包括Linux 操作系統和實驗室已有的2G 語音網關平臺(該平臺主要提供應用程序接口、SIP 協議棧和E1 板卡驅動程序),在此基礎上實現了3G 交互式視頻網關,其中最主要的是實現了3G-324M 協議棧以及3G-324M 協議與SIP協議間媒體格式和控制消息的轉換。
3.1 3G-324M協議棧的實現設計的主要數據結構包括:
H324M: 提供協議棧對外的統一接口,包括H324M::Int(),H324M::Demux(),H324M::Mutex()等。其中H324M::Init()接口初始化3G-324M 協議棧, H324M::Demux()接口解復用從B 信道收到的數據,H324M::Mutex()將音頻、視頻和控制消息復用后,發送到3G 手機終端。
H324MChannels: 音視頻信道、控制信道和復用/解復用器等資源的容器,并通過回調的形式向上層傳遞消息。
AudioChannel: 音頻信道,包含H223 適配層等資源,提供的接口包括AudioChannel::GetFrame(),AudioChannel::S-endFrame()。
VideoChannel: 視頻信道,包含H223 適配層等資源,提供的接口包括VideoChannel::GetFrame(),VideoChannel::S-endFrame()。
ControlChannel: 控制信道,實現了CCSR、NSRP協議。
H223ALReceiver: H223 協議的適配層,負責對從3G 手機接收到的數據進行檢錯。
H223ALSender: H223 協議的適配層,負責對發發送到3G手機的數據進行適配并追加所計算的校驗和。
H223Demuxer: H223 協議的復用層,負責解復用從3G 手機接收到的數據,并將解復用后的數據根據數據類型分別添加到音頻、視頻和控制消息接收隊列中。
H223Muxer: H223 協議的復用層,將從IP 域一側收到的音頻、視頻和控制消息復用到一個物理通道上,從3G 電路域一側發送到3G 手機上。
3.2 網關工作流程。
網關的主要工作是在3G 域與IP 域之間進行控制消息和媒體格式的轉換,主程序的設計首先進行3G-324M 協議棧等各種數據結構的初始化,然后在3G 域和IP 域兩個通道同時監聽數據的到達。如果從監聽返回的時候沒有數據到達,則意味著某個通道出錯,此時進行退出處理;如果從監聽返回是因為3G域通道有數據到達,則將收到的數據根據3G-324M協議解復用后進行格式轉換發送到IP 域的通道;如果從監聽返回是因為IP 域通道有數據到達,則轉換格式后根據3G-324M 協議復用并發送到3G 域通道。在后兩種情況下,進行完數據轉發后,繼續回到監聽3G域通道和IP 域通道的狀態。程序流程圖如圖5 所示。
圖5 網關工作流程。
4 測試
聯合中科院沈陽計算所網絡與通信實驗室的增值應用服務器在實際的3G 環境中對所實現的網關進行了測試。在測試用例中,3G 交互式視頻網關被放在了***宏遠電信的機房中,通過E1 板卡與交換機相連,并預先分配了一些測試號碼,增值應用服務器放在了互聯網的公網上。在***的測試人員通過3G 手機撥打預先分配的測試號碼撥號到網關, 網關通過3G-324M 協議與3G 手機終端建立了視頻會話后,發送SIP INVITE 消息與增值應用服務器建立一個SIP會話,增值應用服務器將音視頻數據(在此測試用例中為一個3gp 格式的影音文件)發送到網關,網關將接收到的音視頻數據轉換格式后再發送到3G 手機,測試人員通過手機上的按鍵切換播放不同的影音文件,實現交互功能。測試數據如表1 所示,手機到網關的接通率在95%以上,接通時間控制在6 秒之內,手機端收到的音頻聲音清晰,視頻流暢,音視頻基本同步。
表1 測試數據
5 結語
本文在闡述3G 交互式視頻網關關鍵技術的基礎上,提出了該網關的一個具體的設計實現方法。該網關與增值應用服務器配合使用,可以用來在3G 通信網絡中提供交互式多媒體增值應用服務,通過在實際環境中進行測試,該網關運行穩定,接通率高,對今后開發類似的系統具有借鑒的意義。
評論
查看更多