萬云杰,張磊,郭曉,侯奉含
(1.解放軍理工大學(xué) 通信工程學(xué)院, 南京 210007;2.河南工業(yè)職業(yè)技術(shù)學(xué)院)
?
基于帶寬聚合技術(shù)的3G視頻傳輸系統(tǒng)設(shè)計(jì)※
萬云杰1,張磊1,郭曉1,侯奉含2
(1.解放軍理工大學(xué) 通信工程學(xué)院, 南京 210007;2.河南工業(yè)職業(yè)技術(shù)學(xué)院)
傳統(tǒng)3G視頻傳輸系統(tǒng)通過針對視頻內(nèi)容編碼、打包以及傳輸控制等方面進(jìn)行優(yōu)化,來提高視頻傳輸?shù)馁|(zhì)量,但是帶寬不足的問題一直沒有得到有效的解決。該文利用現(xiàn)有的策略路由、虛擬隧道和多網(wǎng)卡綁定三種成熟的網(wǎng)絡(luò)技術(shù),提出一種基于帶寬聚合技術(shù)的3G視頻傳輸系統(tǒng)設(shè)計(jì)方案,并給出其在TMS320DM3730開發(fā)板上的具體實(shí)現(xiàn)過程。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠有效聚合3G帶寬、提高實(shí)時傳輸視頻質(zhì)量。
3G;視頻傳輸;帶寬聚合;策略路由;虛擬隧道;嵌入式系統(tǒng)
隨著3G移動通信技術(shù)的普及,利用3G網(wǎng)絡(luò)進(jìn)行視頻傳輸在很多行業(yè)的應(yīng)用越來越廣泛。同時,隨著對視頻質(zhì)量要求的不斷提高,單路3G信道所能夠提供的帶寬已不能滿足視頻傳輸需求。對于720P的高清實(shí)時視頻,采用H.264編碼,經(jīng)過計(jì)算至少需要2.8 Mbps的帶寬。目前,電信3G的理論上行帶寬為1.8 Mbps,聯(lián)通為5.7 Mbps。在實(shí)際應(yīng)用中,由于受信號強(qiáng)度變化、接入用戶增多以及網(wǎng)卡設(shè)備差異等因素的影響,3G實(shí)際帶寬很難達(dá)到理論,帶寬不足已經(jīng)成為影響高清視頻傳輸?shù)年P(guān)鍵因素之一。
本文針對3G網(wǎng)絡(luò)在實(shí)際視頻傳輸過程中帶寬不足的問題,利用現(xiàn)有的策略路由、虛擬隧道和多網(wǎng)卡綁定3種成熟的網(wǎng)絡(luò)技術(shù),提出了一種基于帶寬聚合技術(shù)的3G視頻傳輸系統(tǒng)設(shè)計(jì)方案。該設(shè)計(jì)方案采用嵌入式Linux操作系統(tǒng),在TMS320DM3730開發(fā)板上實(shí)現(xiàn),通過多張3G網(wǎng)卡聚合,在客戶端和服務(wù)器端形成一條聚合邏輯通道,從而擴(kuò)展傳輸帶寬。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠有效聚合3G帶寬,提高實(shí)時傳輸視頻質(zhì)量。
本系統(tǒng)使用TI公司的TMS320DM3730(以下簡稱DM3730)作為微處理器。DM3730微處理器集成了3D圖形處理器,包括1 GHz的ARM Cortex-A8 核和800 MHz的TMS320C64x+DSP核兩部分;支持視頻加速器(IVA)、USB 2.0以及高清720P視頻編解碼功能;使用Logitech C170高清攝像頭,最大分辨率為1 024×768,帶CMOS傳感器,最大幀數(shù)為30幀。系統(tǒng)使用的3G網(wǎng)卡為中興AC2787,支持理論最大下行帶寬為3.1 Mbps,上行帶寬1.8 Mbps。服務(wù)器端采用普通PC機(jī)。系統(tǒng)硬件框圖如圖1所示。
圖1 硬件框圖
3G視頻傳輸系統(tǒng)由以TMS320DM3730開發(fā)板和3G網(wǎng)卡為核心的3種模塊構(gòu)成。視頻處理模塊以DM3730開發(fā)板為基礎(chǔ)構(gòu)建,通過USB攝像頭采集視頻并由處理器進(jìn)行編碼打包發(fā)送至3G傳輸通道。3G傳輸模塊由多張3G網(wǎng)卡構(gòu)成并與開發(fā)板相連,通過傳輸通道將數(shù)據(jù)發(fā)至因特網(wǎng)。視頻播放模塊構(gòu)建于普通PC機(jī),與因特網(wǎng)直接連接,收到視頻數(shù)據(jù)后對其進(jìn)行處理并播放。系統(tǒng)模塊設(shè)計(jì)如圖2所示。
圖2 3G視頻傳輸系統(tǒng)模塊設(shè)計(jì)圖
圖2所示系統(tǒng)模塊設(shè)計(jì)只是在邏輯上對系統(tǒng)進(jìn)行模塊分類,其中3G傳輸模塊與視頻處理模塊都是基于DM3730開發(fā)板實(shí)現(xiàn)的。根據(jù)每個模塊詳細(xì)功能進(jìn)行系統(tǒng)流程設(shè)計(jì),圖3為系統(tǒng)設(shè)計(jì)流程圖。
圖3 系統(tǒng)設(shè)計(jì)流程圖
2.1 無線網(wǎng)絡(luò)撥號
3G是蜂窩移動通信技術(shù)的一種,它能夠同時傳送聲音及數(shù)據(jù)信息,支持高速數(shù)據(jù)傳輸。目前我國3大電信運(yùn)營商(電信、聯(lián)通和移動)分別使用CDMA2000、WCDMA和TD-SCDMA這3種國際標(biāo)準(zhǔn)。本系統(tǒng)根據(jù)當(dāng)?shù)貙?shí)際情況選取CDMA2000作為系統(tǒng)所用3G標(biāo)準(zhǔn),3G接入互聯(lián)網(wǎng)是通過PPP協(xié)議撥號實(shí)現(xiàn)的。PPP(點(diǎn)到點(diǎn)協(xié)議)是一種提供全雙工操作的鏈路層協(xié)議,能夠按照順序傳遞同等單元的數(shù)據(jù)包。
PPP撥號流程如圖4所示。
圖4 PPP撥號流程圖
用戶首先通過撥號接入ISP,撥號被調(diào)制解調(diào)器確認(rèn)后會建立一條物理連接(底層UP)。撥號客戶端向路由器發(fā)送一系列攜帶PPP參數(shù)的LCP分組,路由器會對參數(shù)進(jìn)行選擇并進(jìn)行相應(yīng)的網(wǎng)絡(luò)配置??蛻舳丝梢詮腘CP得到一個新的臨時IP地址,從而成為互聯(lián)網(wǎng)上的一個主機(jī)。3G PPP撥號是通過AT指令集實(shí)現(xiàn)的,AT指令集是指從終端設(shè)備向終端適配器發(fā)送的指令集合??蛻舳送ㄟ^AT指令可與ISP服務(wù)器進(jìn)行撥號交互,從而完成撥號。
2.2 帶寬聚合
帶寬聚合是本系統(tǒng)的核心,通過帶寬聚合可以將多張3G網(wǎng)卡綁定成一張?zhí)摂M網(wǎng)卡,在客戶端和服務(wù)器端形成一條高帶寬的邏輯通道。3G網(wǎng)卡撥號后,需要進(jìn)行策略路由定制、虛擬隧道建立以及多網(wǎng)卡綁定。以下將以兩張3G網(wǎng)卡為例介紹帶寬聚集全過程。
2.2.1 策略路由定制
策略路由是一種根據(jù)自定義策略進(jìn)行路由包轉(zhuǎn)發(fā)的機(jī)制。單條ISP通常使用基于目標(biāo)的路由規(guī)則來實(shí)現(xiàn),策略路由可根據(jù)目標(biāo)地址和源地址進(jìn)行策略定制,通常用于多條鏈路的數(shù)據(jù)包路由。相比于傳統(tǒng)的路由,靈活性有很大的增強(qiáng)。本系統(tǒng)使用多條鏈路進(jìn)行視頻傳輸,在建立虛擬隧道之前,需要定制策略路由。
定制策略路由之前,需要對不同策略建立相應(yīng)的路由表。普遍做法是不同的策略單獨(dú)使用一個路由表,當(dāng)然也可以不同策略使用同一張路由表。當(dāng)數(shù)據(jù)包進(jìn)行路由時,路由機(jī)制會根據(jù)其對應(yīng)的路由表中的策略進(jìn)行篩選,不符合策略的按照默認(rèn)路由進(jìn)行轉(zhuǎn)發(fā),符合某條策略的按照策略進(jìn)行轉(zhuǎn)發(fā)。策略路由分為兩種:目標(biāo)地址路由和源地址路由。本系統(tǒng)服務(wù)器地址唯一,客戶端有多個IP地址,因此使用源地址路由技術(shù)。
2.2.2 虛擬隧道建立
虛擬隧道技術(shù)是在公共網(wǎng)絡(luò)的基礎(chǔ)設(shè)施之間,建立專用網(wǎng)絡(luò)實(shí)現(xiàn)加密數(shù)據(jù)通信,任何通過虛擬隧道的數(shù)據(jù)包都將被隧道協(xié)議加密傳輸。傳輸過程中,原來的傳輸內(nèi)容將被全部封裝到新的加密包中。本系統(tǒng)使用Vtun開源軟件,在客戶端與服務(wù)器之間建立多條虛擬隧道。Vtun虛擬隧道建立過程與虛擬隧道通信過程如圖5所示。
圖5 Vtun原理圖
圖5中的虛擬網(wǎng)卡TAP/TUN是虛擬隧道建立后生成的。虛擬網(wǎng)卡的建立首先是通過客戶端與服務(wù)器端的物理網(wǎng)卡建立Socket連接,接下來服務(wù)器端和客戶端會根據(jù)相應(yīng)的配置文件設(shè)置虛擬網(wǎng)卡的特征,配置虛擬網(wǎng)卡的網(wǎng)絡(luò)地址和內(nèi)核路由等,最后在通信兩端生成虛擬網(wǎng)卡。
虛擬隧道建立后,客戶端和服務(wù)器端就可以通過虛擬隧道通信了。客戶端與服務(wù)器端的通信過程為:
① 客戶端的應(yīng)用程序?qū)?shù)據(jù)通過TCP/IP協(xié)議棧發(fā)送到虛擬網(wǎng)卡TPA/TUN。
② Vtun從虛擬網(wǎng)卡讀取數(shù)據(jù)包,虛線表示直接從虛擬網(wǎng)卡讀取數(shù)據(jù)而不對數(shù)據(jù)進(jìn)行處理。
③ 隧道封裝。Vtun進(jìn)程對讀取的數(shù)據(jù)加密,然后通過建立的虛擬隧道將數(shù)據(jù)發(fā)送,發(fā)送使用物理網(wǎng)卡eth0。
④ 數(shù)據(jù)包路由過程。
⑤ 隧道解封過程。
⑥ Vtun將數(shù)據(jù)寫到虛擬網(wǎng)卡。
⑦ 應(yīng)用程序從虛擬網(wǎng)卡接收數(shù)據(jù)。
2.2.3 多網(wǎng)卡綁定
圖6 bonding原理圖
本系統(tǒng)使用的是Linux中的bonding技術(shù)進(jìn)行多網(wǎng)卡綁定。bonding技術(shù)可以將多塊網(wǎng)卡接口綁定虛擬成為一塊網(wǎng)卡,從用戶角度看這個聚集的虛擬網(wǎng)卡就像是一個單獨(dú)的以太網(wǎng)接口設(shè)備。bonding原理如圖6所示。
其中,eth0和eth1為實(shí)際的網(wǎng)卡,其MAC地址分別為MAC0和MAC1。Bond0為使用bonding技術(shù)后生成的虛擬網(wǎng)卡,其MAC地址為MAC2。bonding技術(shù)將eht0和eth1的MAC地址均設(shè)置為相同,這樣Bond0從兩張網(wǎng)卡收到的數(shù)據(jù)被視為來自同一網(wǎng)卡,達(dá)到流量聚合的目的。用戶在使用過程中將把Bond0視為實(shí)際網(wǎng)卡。本系統(tǒng)在實(shí)際實(shí)現(xiàn)中綁定的網(wǎng)卡并非實(shí)際網(wǎng)卡,而是建立虛擬隧道中生成的虛擬網(wǎng)卡,具體過程將在系統(tǒng)實(shí)現(xiàn)中進(jìn)行描述。bonding技術(shù)一共有7種模式,分別是輪詢策略、主從備份策略、XOR策略、廣播策略、IEEE 802.3ad動態(tài)鏈路聚合、自適應(yīng)傳輸負(fù)載均衡以及自適應(yīng)負(fù)載均衡。這7種模式適用于不同的傳輸環(huán)境,本系統(tǒng)選用的3G網(wǎng)卡設(shè)備以及運(yùn)營商都相同,因此選擇負(fù)載均衡模式。
依據(jù)系統(tǒng)的模塊設(shè)計(jì)和系統(tǒng)設(shè)計(jì)流程,主要介紹3G撥號和3G帶寬聚合的實(shí)現(xiàn)過程。這兩部分都是基于TMS320DM3730開發(fā)板實(shí)現(xiàn)的。
3.1 3G撥號實(shí)現(xiàn)
3G撥號利用PPP撥號程序?qū)崿F(xiàn),為了能在開發(fā)板上進(jìn)行PPP撥號,編譯內(nèi)核時需要選擇PPP選項(xiàng),并且移植pppd撥號程序。PPP撥號原理如下:
① pppd程序首先調(diào)用chat會話程序;
② chat會話程序啟動后,將進(jìn)行撥號、啟動服務(wù)器端的pppd程序以及驗(yàn)證身份,完成后chat會話程序結(jié)束;
③ 由pppd程序與服務(wù)器端的pppd程序進(jìn)行握手,建立PPP連接。
連接建立、連接質(zhì)量控制、網(wǎng)絡(luò)層協(xié)議配置、連接終止等步驟由pppd程序完成。服務(wù)器端pppd的啟動過程以及連接建立過程中的交互由chat程序完成。本系統(tǒng)中pppd程序調(diào)用的參數(shù)腳本寫在ppp-on程序中,chat程序的交互參數(shù)寫在ppp-on-dialer中。ppp-on配置文件略——編者注。
3.2 3G帶寬聚合實(shí)現(xiàn)
3G帶寬聚合通過3個步驟實(shí)現(xiàn),以下過程均以兩張網(wǎng)卡為例:
① 策略路由過程。通過shell命令在Linux系統(tǒng)中實(shí)現(xiàn),命令略——編者注。
② 虛擬隧道建立過程。通過Vtun開源軟件進(jìn)行實(shí)現(xiàn),實(shí)現(xiàn)過程主要是vtun.conf文件進(jìn)行配置??蛻舳撕头?wù)器端內(nèi)容基本一致,服務(wù)器端配置略——編者注。
③ 多網(wǎng)卡綁定過程。本系統(tǒng)使用Bond0模式,即負(fù)載均衡模式。由于已經(jīng)建立了虛擬隧道,只用綁定客戶端和服務(wù)器端的虛擬網(wǎng)卡,綁定成功后在客戶端和服務(wù)器端各自再生成一個虛擬網(wǎng)卡Bond0,最終傳輸視頻時使用這兩張網(wǎng)卡進(jìn)行通信。Bond的具體過程需要在系統(tǒng)文件添加配置文件etc/sysconfig/network-scripts/ifcfg-bond0,文件內(nèi)容略——編者注。
3.3 視頻傳輸過程實(shí)現(xiàn)
本系統(tǒng)利用GSstreamer進(jìn)行視頻采集、編解碼、RTP傳輸以及播放,傳輸層使用UDP協(xié)議。GStreamer是一個開源的多媒體框架庫,利用它可以構(gòu)建一系列的媒體處理模塊。GStreamer核心函數(shù)庫是一個處理插件、數(shù)據(jù)流和媒體操作框架。利用管道技術(shù),開發(fā)人員可以根據(jù)自己的需求編寫相應(yīng)的插件。DM3730開發(fā)板自帶GStreamer,因此只需在服務(wù)器上安裝相應(yīng)插件。
本系統(tǒng)測試開發(fā)板運(yùn)行的嵌入式Linux系統(tǒng)內(nèi)核版本為2.6.37,服務(wù)器端運(yùn)行系統(tǒng)為ubuntu10.04,內(nèi)核版本為2.6.32。測試環(huán)境位于學(xué)校教學(xué)樓,3G信號較弱。攝像頭采集分辨率為720P,幀率設(shè)置為25 fps。攝像頭保持固定,分別進(jìn)行單張網(wǎng)卡傳輸和3張網(wǎng)卡綁定傳輸測試,并將測試結(jié)果進(jìn)行對比,測試結(jié)果如圖7所示。從中可以看出3張網(wǎng)卡綁定傳輸?shù)膫鬏斮|(zhì)量明顯好于單張網(wǎng)卡傳輸。
圖7 測試結(jié)果對比圖
針對高清實(shí)時視頻通過3G網(wǎng)絡(luò)傳輸帶寬不足的問題,本系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了一種基于TMS320DM3730處理器的視頻傳輸系統(tǒng),通過多塊3G網(wǎng)卡的綁定,有效聚合了帶寬,滿足了視頻傳輸過程中對帶寬的需求。
[1] 林志勇,葉樺,孫曉潔,等.3G視頻傳輸中碼率自適應(yīng)調(diào)整算法[J].東南大學(xué)學(xué)報(bào):自然科學(xué)版, 2012(1).
[2] 王海嬰,呂靜,袁璐,等.基于3G無線網(wǎng)絡(luò)的H.264視頻包抗誤碼傳輸方案[J].北京郵電大學(xué)學(xué)報(bào),2006,29(3):126-130.
[3] 孫豐岳,趙輝.基于3G的視頻會議中圖像質(zhì)量的研究[J].電氣電子教學(xué)學(xué)報(bào),2011,33(6):49-51.
[4] Stockhammer T, Hannuksela M M.H.264/AVC Video for Wireless Transmission[J].Wireless Communications,2005,12(4):6-13.
[5] 秦臻,曹劍中.基于TMS320DM365的高速網(wǎng)絡(luò)攝像機(jī)的設(shè)計(jì)[J].電子工程設(shè)計(jì),2011,19(10):121-124.
[6] Wei Z,Tang K L,Ngan K N.Implementation of H.264 on Mobile Device[J].Consumer Electronics, 2007,53(3):1109-1116.
[7] 趙卓卓.基于H.264的無線視頻傳輸系統(tǒng)的研究和方案實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2011.
[8] 章磊.帶寬測量技術(shù)研究和MPEG-4自適應(yīng)傳輸應(yīng)用[D].上海:復(fù)旦大學(xué),2005.
[9] 謝紅華,陸以勤,呂錦.基于3G無線網(wǎng)絡(luò)的高質(zhì)量實(shí)時視頻監(jiān)視系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2007,24(10):313-317.
[10] 高曼穎,李明,胡瑞敏.基于RTP速率控制單元的無線視頻傳輸控制[J].計(jì)算機(jī)應(yīng)用研究,2005(5).
萬云杰(碩士生),主要研究方向?yàn)?G視頻多路并行傳輸。
安森美半導(dǎo)體推動物聯(lián)網(wǎng)的連接性
安森美半導(dǎo)體(ON Semiconductor)推出全新的NCS3651x系列系統(tǒng)單芯片(SoC)收發(fā)器,支持高性能、可靠及高效通信,用于物聯(lián)網(wǎng)(IoT)及智能電表應(yīng)用。NCS3651x系列基于安森美半導(dǎo)體的高集成度混合信號集成器件技術(shù)和射頻(RF)設(shè)計(jì)開發(fā)。
NCS3651x屬于2.4 GHz極低功率無線收發(fā)器系列,基于IEEE 802.15.4-2006標(biāo)準(zhǔn),支持ZigBee、6loWPAN、WirelessHART等協(xié)議及專有版本。這些方案最適用于智能電表及消費(fèi)電器等涉及低數(shù)據(jù)率、間歇通信IoT的應(yīng)用。所有器件經(jīng)優(yōu)化達(dá)到低功耗及高能效,使用一個標(biāo)準(zhǔn)電池(1.0~3.6 V)的單電源操作,具備極佳的低接收及傳輸電流。這促進(jìn)了市場對替代能源方案的不斷增長需求,如能量采集。此外,還可支持其他電池類型,且大幅延長了電池壽命。
NCS3651x采用強(qiáng)大的32位 ARM Cortex-M3處理器,以及多種數(shù)據(jù)存儲的RAM配置和程序存儲的閃存。完整的內(nèi)存配置使客戶可支持多種應(yīng)用及軟件協(xié)議。借助多種外圍設(shè)備,使用最少的外部元件即可設(shè)計(jì)出完整的無線網(wǎng)絡(luò)。
安森美半導(dǎo)體工業(yè)及時序產(chǎn)品副總裁Ryan Cameron說:“低功耗、強(qiáng)固及集成無線通信將是物聯(lián)網(wǎng)及智能電表發(fā)揮巨大及令人興奮潛力的關(guān)鍵。安森美半導(dǎo)體具備豐富的RF無線器件設(shè)計(jì)經(jīng)驗(yàn)。配合我們廣泛的混合信號及集成技術(shù),可以開發(fā)出低功耗和高性能的通信產(chǎn)品?!?/p>
Wan Yunjie1,Zhang Lei1,Guo Xiao1,Hou fenghan2
(1.Institute of Communication Engineering,PLA University of Science and Technology,Nanjing 210007,China;2.Henan Polytechnic Institute)
Traditional 3G video transmission system improves the quality of video transmission through the optimization of encoding the video stream, packing or transmission control and so on. But the problem of lacking bandwidth has not been solved effectively. Using the existing technology of policy routing,virtual tunnel and bonding multicard,this paper proposes a design scheme of 3G video transmission system based on bandwidth aggregation technology, and gives the implementing process which is realized on the TMS320DM3730 development kit. Experiment results show that the system can aggregate 3G bandwidth effectively and improve the quality of the real-time video transmission.
3G;video transmission;bandwidth aggregation; policy routing;virtual tunnel; embedded system
TP368
A
士然
2014-07-20)