3G交互式視頻網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)方案二
2 網(wǎng)關(guān)總體設(shè)計(jì)
網(wǎng)關(guān)的工作原理如圖3 所示。
圖3 網(wǎng)關(guān)工作原理
由圖中可以看出,3G 交互式視頻網(wǎng)關(guān)主要負(fù)責(zé)控制消息和媒體格式的轉(zhuǎn)換。在3G 電路域一側(cè),3G 手機(jī)用戶通過撥打特服號(hào)碼撥通到3G 網(wǎng)關(guān),此時(shí)通過Q.931 信令建立起了一個(gè)B 信道,這個(gè)信道是一個(gè)64Kbps 的數(shù)據(jù)信道。在B 信道建立后,3G-324M協(xié)議的初始化過程就在B 信道上進(jìn)行,協(xié)議會(huì)在B 信道上建立三個(gè)邏輯信道,分別用來傳輸H.245 控制消息、音頻數(shù)據(jù)和視頻數(shù)據(jù)。在完成了3G-324M 協(xié)議的初始化后,網(wǎng)關(guān)在IP 域一側(cè)通過SIP 協(xié)議與增值應(yīng)用服務(wù)器建立一個(gè)SIP 會(huì)話,獲得RTP 格式的實(shí)時(shí)媒體流。對(duì)于從增值應(yīng)用服務(wù)器獲得的音頻、視頻數(shù)據(jù)和控制消息,網(wǎng)關(guān)轉(zhuǎn)換格式后,發(fā)送到3G-324M 協(xié)議棧,3G-324M 協(xié)議棧根據(jù)H.223 協(xié)議將音頻、視頻數(shù)據(jù)和控制消息復(fù)用到B 信道上發(fā)送到3G 手機(jī)。
對(duì)于從B 信道上獲得的數(shù)據(jù),網(wǎng)關(guān)解復(fù)用成相應(yīng)的音頻、視頻數(shù)據(jù)和控制消息后封裝成對(duì)應(yīng)的RTP 格式的數(shù)據(jù)報(bào)和SIP 消息,發(fā)送到增值應(yīng)用服務(wù)器。網(wǎng)關(guān)的交互式功能主要通過控制消息的轉(zhuǎn)換實(shí)現(xiàn),而控制消息主要來自手機(jī)端的DTMF 輸入。
在設(shè)計(jì)的時(shí)候,由于實(shí)驗(yàn)室已有的2G 音頻網(wǎng)關(guān)技術(shù)平臺(tái)已經(jīng)實(shí)現(xiàn)了SIP 協(xié)議棧并配有E1 板卡, 所以只要在其基礎(chǔ)上加入3G-324M 協(xié)議棧,并實(shí)現(xiàn)3G-324M 協(xié)議與SIP 協(xié)議之間媒體格式和控制消息的轉(zhuǎn)換即可以完成3G 交互式視頻網(wǎng)關(guān)的基本功能。
根據(jù)3G-324M 協(xié)議標(biāo)準(zhǔn),3G-324M 協(xié)議棧的結(jié)構(gòu)設(shè)計(jì)如圖4 所示:
圖4 3G-324M 協(xié)議棧結(jié)構(gòu)
從圖中可以看出,所設(shè)計(jì)的3G-324M 協(xié)議棧一共有3 個(gè)邏輯信道,分別是H.245 控制消息信道、音頻信道和視頻信道。由應(yīng)用自上而下傳遞的控制消息翻譯成對(duì)應(yīng)的H.245消息,經(jīng)過CCSR(Control ChannelSegmentation and Reassembly Layer,簡(jiǎn)稱CCSR)分段后交NSRP(Numbered Simple RetransmissionProtocol,簡(jiǎn)稱NSRP)加上序列號(hào),加入到控制消息發(fā)送隊(duì)列中,由應(yīng)用自上而下傳遞的音頻和視頻數(shù)據(jù)經(jīng)過H.223 的適配層進(jìn)行適配后,也加入到相應(yīng)的媒體數(shù)據(jù)發(fā)送隊(duì)列中,H.223 的復(fù)用層分別從各隊(duì)列中取得數(shù)據(jù)復(fù)用后通過3G 網(wǎng)絡(luò)發(fā)送到3G 手機(jī)上。對(duì)于從3G網(wǎng)絡(luò)得到的數(shù)據(jù),協(xié)議棧自下而上通過H.223 進(jìn)行解復(fù)用到各邏輯信道的接收隊(duì)列中,應(yīng)用從各邏輯信道提取控制消息或媒體數(shù)據(jù)進(jìn)行處理。
在設(shè)計(jì)3G-324M 協(xié)議棧音視頻發(fā)送機(jī)制的時(shí)候,考慮到媒體流中視頻的數(shù)據(jù)量較大,而電路域提供給視頻的帶寬只有40kbps 左右,所以如果不做適當(dāng)處理,肯定會(huì)出現(xiàn)音頻超前視頻的情形。因此為音頻數(shù)據(jù)流設(shè)計(jì)一個(gè)緩沖區(qū),只有當(dāng)音頻緩沖區(qū)中音頻包的個(gè)數(shù)大于一定域值的時(shí)候,才會(huì)發(fā)送音頻數(shù)據(jù),這樣就最大限度的避免了可能出現(xiàn)的音視頻不同步的問題。
在設(shè)計(jì)協(xié)議間媒體格式轉(zhuǎn)換機(jī)制,特別是在將RTP 格式的H.263 視頻數(shù)據(jù)轉(zhuǎn)換成3G-324M 協(xié)議棧能處理的視頻幀的時(shí)候,由于RTP 封裝的H.263視頻數(shù)據(jù)在圖像開始碼處字節(jié)對(duì)齊,具有填充位,如果不去掉填充位直接發(fā)送到3G 手機(jī)終端,則會(huì)出現(xiàn)馬賽克,所以設(shè)計(jì)了一個(gè)H.263 視頻幀的緩沖區(qū),將連續(xù)兩個(gè)圖像開始碼之間的視頻幀緩沖起來,以去掉幀間的填充位。具體的處理流程是讓程序掃描H.263格式的視頻流緩沖區(qū),每遇到圖像開始碼便將其之后的視頻幀緩沖起來,緩沖區(qū)的大小動(dòng)態(tài)分配,直到遇到下一個(gè)圖像開始碼,然后將兩個(gè)圖像開始碼之間的視頻數(shù)據(jù)去掉填充位后發(fā)送到3G-324M 協(xié)議棧。
評(píng)論