徐 凱,錢 燕,魏宗群,蔡 俊,仇 捷
(南京農(nóng)業(yè)大學(xué) 電氣工程系,江蘇 南京 210031)
在視頻監(jiān)控應(yīng)用中,傳統(tǒng)視頻監(jiān)控由于圖像清晰度不高,管理和維護(hù)諸多線纜難度大,配置眾多設(shè)備結(jié)構(gòu)復(fù)雜,擴(kuò)展不便,這些因素嚴(yán)重制約了安保管理效能的提升[1],同時(shí)也為高清視頻監(jiān)控的發(fā)展帶來了契機(jī)。以往的有線圖像視頻傳輸系統(tǒng)往往需要鋪設(shè)大量的地上、地下設(shè)備線路,因而有成本高,施工周期長等諸多問題。近年來,無線圖像的采集與傳輸以其直觀、方便、信息內(nèi)容豐富而被應(yīng)用于各種場合[2]。隨著計(jì)算機(jī)通信技術(shù)和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,3G技術(shù)已成為計(jì)算機(jī)網(wǎng)絡(luò)中一個(gè)至關(guān)重要的組成部分。由此,基于3G的視頻采集傳輸系統(tǒng)應(yīng)運(yùn)而生。相比較其他的無線傳輸方式,3G以其不受距離限制,網(wǎng)絡(luò)帶寬寬,實(shí)時(shí)性好而成為研究的重點(diǎn)[3]。3G視頻傳輸技術(shù)的發(fā)展已對(duì)無線移動(dòng)網(wǎng)絡(luò)的架構(gòu)和協(xié)議產(chǎn)生了深遠(yuǎn)的影響。
基于達(dá)芬奇技術(shù)的新型TMS320DM365數(shù)字媒體處理器延續(xù)了DavinciTM家族DM355處理器的架構(gòu)[4],集成了一顆ARM926EJ-S內(nèi)核、一個(gè)圖像處理子系統(tǒng)VPSS、一個(gè)H.264高清編碼器協(xié)處理器HDVICP和一個(gè)MPEG-4/JPEG高清編碼器協(xié)處理器,支持多格式編解碼器,其中包括符合生產(chǎn)要求的 H.264、MPEG-4、MPEG-2、MJPEG與 VC1編解碼器,可使視頻實(shí)現(xiàn)高度的靈活性。
作者設(shè)計(jì)了一種基于TMS320DM365的3G實(shí)時(shí)視頻傳輸系統(tǒng)。該系統(tǒng)設(shè)計(jì)用于農(nóng)田感知車的視頻采集、傳輸。將采集的視頻信息經(jīng)過后期的處理(邊緣檢測、運(yùn)動(dòng)目標(biāo)分析等),為機(jī)械小車在農(nóng)田的行走、自主駕駛、自主導(dǎo)航等活動(dòng)提供農(nóng)田周圍環(huán)境信息。系統(tǒng)將攝像頭采集的視頻信息,經(jīng)過DM365內(nèi)嵌硬件壓縮器處理成H.264格式,然后通過RTP以及RTCP編碼后經(jīng)3G無線路由器發(fā)送出去,服務(wù)器接收端利用VLC播放器對(duì)視頻實(shí)時(shí)顯示。該系統(tǒng)更可以廣泛應(yīng)用于現(xiàn)代化農(nóng)場、智能樓宇、智能交通、醫(yī)院校園和生活小區(qū)等領(lǐng)域?,F(xiàn)將有關(guān)結(jié)果報(bào)道如下。
系統(tǒng)整體框架如圖1所示,由TB-2054BD攝像頭、嵌入式視頻處理器 DMS365、3G無線路由器、客戶端等組成。
圖1 系統(tǒng)的整體框架
圖像采集采用的是拓邦電子的TB-2054BD型號(hào)CCD攝像機(jī)。系統(tǒng)中模擬視頻信號(hào)經(jīng)過視頻解碼芯片TVP5150鉗位、抗混疊濾波、A/D轉(zhuǎn)換后,按預(yù)先的設(shè)置,從 TVP5150的 YOUT[0:7]引腳輸出ITU-R BT.6568-bit 4:2:2格式的數(shù)字視頻數(shù)據(jù)到DM365的視頻處理前端,并由其進(jìn)行縮放和白平衡等預(yù)處理后送到視頻處理后端對(duì)數(shù)字視頻信號(hào)進(jìn)行H.264編碼。
控制系統(tǒng)采用 ARM926EJ-S內(nèi)核的TMS320DM365處理器 (SEED-DVS365開發(fā)板)。DM365高度集成了眾多組件,它內(nèi)部包含一個(gè)ARM926EJ-S精簡指令的 CPU,擁有獨(dú)立的16KB的指令緩存和8KB的數(shù)據(jù)緩存[5],還有圖像處理子系統(tǒng) (VPSS)[6]等模塊,其工作頻率高達(dá)300MHz。DM365處理器的作用是管理和控制整個(gè)系統(tǒng),包括初始化硬件協(xié)處理器、圖像處理子系統(tǒng)、大部分的外設(shè)以及片外存儲(chǔ)器,并且完成對(duì)壓縮后的視頻打包及進(jìn)行網(wǎng)絡(luò)傳輸。
通信模塊采用宏電H7921-RHH3G無線路由器。它采用高性能32位處理器,基于通用基礎(chǔ)平臺(tái),模塊化設(shè)計(jì),內(nèi)置國內(nèi)外主流工業(yè)級(jí)無線核心模塊,采用嵌入式操作系統(tǒng),并針對(duì)無線網(wǎng)絡(luò)帶寬的不穩(wěn)定性、延遲較大等特性進(jìn)行了優(yōu)化設(shè)計(jì),充分保證了設(shè)備穩(wěn)定性和網(wǎng)絡(luò)連接的可靠性。它采用標(biāo)準(zhǔn)以太網(wǎng)協(xié)議,實(shí)現(xiàn)網(wǎng)絡(luò)路由,可通過3G網(wǎng)絡(luò)或VPDN、APN等運(yùn)營商專用網(wǎng)絡(luò)構(gòu)建移動(dòng)數(shù)據(jù)通信網(wǎng)絡(luò),應(yīng)用極為廣泛。
客戶端采用 VLC多媒體播放器[7]對(duì)音頻與視頻進(jìn)行解碼與顯示。VLC多媒體播放器 (最初命名為VideoLAN客戶端)是VideoLAN計(jì)劃的多媒體播放器。它支持眾多音頻與視頻解碼器及檔案格式,并支持DVD影碟,VCD影碟及各類串流協(xié)定。
系統(tǒng)的軟件開發(fā)基于MontaVista Linux嵌入式操作系統(tǒng)。MontaVista Linux提供所有開放源碼的開發(fā)工具和附加應(yīng)用,它基于Linux內(nèi)核,具有高效、實(shí)時(shí)、穩(wěn)定、內(nèi)核可裁減等特點(diǎn)[8],并且能夠支持廣泛的CPU芯片系列,支持多種目標(biāo)板結(jié)構(gòu),并提供強(qiáng)大的網(wǎng)絡(luò)協(xié)議支持,擁有豐富的驅(qū)動(dòng)程序和API。TI針對(duì)達(dá)芬奇平臺(tái)提供了達(dá)芬奇多媒體應(yīng)用程序接口 (Davinci Multimedia Application Interface,DMAI)。DMAI是DSP提供給ARM端應(yīng)用程序的調(diào)用接口,是操作系統(tǒng)和編解碼引擎之上的應(yīng)用接口,使用它可以方便地編寫出用于達(dá)芬奇平臺(tái)上的應(yīng)用程序。
安裝并配置CCStudio v3.3 IDE環(huán)境。配置完成后,啟動(dòng) CCStudio v3.3,配置 ARM的 GEL文件。基于CCStudio v3.3 IDE環(huán)境對(duì)NAND FLASH進(jìn)行ubl、u-boot燒寫操作時(shí),需要對(duì)DVS365平臺(tái)的硬件部分進(jìn)行配置。
將仿真器的JTAG連接器與DVS365平臺(tái)的J7仿真器插座連接;將DVS365的SW1全部置 “0”;DVS365平臺(tái)的S3連接12V電源,給系統(tǒng)上電。
CCStudio v3.3啟動(dòng)完畢后,選擇ARM端打開,加載GEL,連接ARM端。
在CCS中用 File→Load Program.命令,加載Flash_Writer目錄下的*.out文件運(yùn)行程序;程序會(huì)彈出輸入U(xiǎn)BL對(duì)話框,輸入U(xiǎn)BL所在路徑,進(jìn)行ubl的燒寫;ubl燒寫完成后,按要求輸入u-boot文件的路徑,進(jìn)行u-boot的燒寫。等待片刻,在Stdout窗口將會(huì)顯示 “NAND boot preparation was successful!”字樣,說明燒寫完成。
當(dāng)用戶對(duì)DVS365下的內(nèi)核驅(qū)動(dòng)源碼進(jìn)行調(diào)整或者添加新的設(shè)備驅(qū)動(dòng)后,需要對(duì)內(nèi)核進(jìn)行重新配置,生成內(nèi)核鏡像后,可以通過 TFTP下載到DVS365平臺(tái)上啟動(dòng),進(jìn)行測試。Linux內(nèi)核的使用方法如下。
將SW1所有位置調(diào)“0”;使用串口線將SEED-DVS365與 PC機(jī)相連:一端接 SEEDDVS365的J3位置,另一端接 PC機(jī)的 RS232口;使用網(wǎng)線將SEED-DVS365與3G路由器相連,給平臺(tái)的S3連接12V電源。
硬件連接完成后,即可通過TFTP服務(wù)下載內(nèi)核。配置PC機(jī)端的超級(jí)終端,設(shè)置串口參數(shù):波特率115200,數(shù)據(jù)位8,奇偶校驗(yàn)無,停止位1,數(shù)據(jù)流控制無;打開Windows PC機(jī)超級(jí)終端,SEED-DVS365平臺(tái)采用12V電源上電,此時(shí)Windows PC機(jī)超級(jí)終端顯示啟動(dòng)信息如圖2。至此,基于 TFTP燒寫 uImage完成。
配置啟動(dòng)參數(shù),在提示符下輸入:
圖2 基于TFTP的uImage燒寫和更新
setenv bootargs mem=80M console=ttyS0,115200n8 root =/dev/nfsnoinitrd rw ip =192.168.1.18:192.168.253.1: 255.255.255.0 nfsroot=192.168.1.100:/opt/nfs/davinci_enc_mngr.ch0_output=TV davinci_capture.device_type=4 dm365_imp.oper_mode=0。
其中rw ip后IP為SEED-DVS365平臺(tái)的IP地址,nfsroot后IP為Linux服務(wù)器的IP地址;然后,配置bootcmd并保存設(shè)置,輸入啟動(dòng)命令啟動(dòng)系統(tǒng),出現(xiàn)如圖3所示信息說明啟動(dòng)完成。
圖3 系統(tǒng)的啟動(dòng)完成
系統(tǒng)采用實(shí)時(shí)傳輸協(xié)議 (Real-time Transport Protocol,RTP)以及實(shí)時(shí)傳輸控制協(xié)議 (Real-time Transport Control Protocol,RTCP)作為視頻傳輸?shù)膮f(xié)議。RTP和RTCP連接緊密,RTP實(shí)施實(shí)際數(shù)據(jù)的傳輸,RTCP則就服務(wù)質(zhì)量做出反饋。RTP本身并沒有提供按時(shí)發(fā)送機(jī)制或其他服務(wù)質(zhì)量 (QoS)保證,而是依賴于低層服務(wù)去實(shí)現(xiàn)這一過程。在RTP會(huì)話期間,各參與者周期性的傳送 RTCP包,RTCP包中含有已發(fā)送的數(shù)據(jù)包的數(shù)據(jù)、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計(jì)資料,因此服務(wù)器可以利用這些信息動(dòng)態(tài)的改變傳輸速率,甚至改變有效載荷類型[9]。
RTP利用混合器 (Mixer)和翻譯器(Translator)完成實(shí)時(shí)數(shù)據(jù)的傳輸[10]?;旌掀鹘邮諄碜砸粋€(gè)或多個(gè)發(fā)送方的RTP數(shù)據(jù)塊,并把它們組合成一個(gè)新的RTP分組繼續(xù)轉(zhuǎn)發(fā)。這種組合數(shù)據(jù)塊將有一個(gè)新的SSRC標(biāo)識(shí)。具有新標(biāo)識(shí)的特別發(fā)送方被作為特別信源加入到RTP數(shù)據(jù)塊中。因?yàn)閬碜圆煌貏e發(fā)送方的數(shù)據(jù)塊可以非同步到達(dá)(它們可以經(jīng)不同的路徑經(jīng)過這個(gè)網(wǎng)絡(luò)),所以混合器改變了該媒體流的臨時(shí)結(jié)構(gòu)。與混合器不同,翻譯器只改變數(shù)據(jù)塊內(nèi)容,而不把媒體流組合在一起。翻譯器只是對(duì)單個(gè)媒體流進(jìn)行操作??赡苓M(jìn)行編碼轉(zhuǎn)換或者協(xié)議翻譯。一個(gè)典型的RTP包傳輸流程如圖4。
圖4 典型RTP包傳輸流程
其中S1,S2,S3,S4數(shù)據(jù)源的發(fā)送端,R1為最終RTP包流的接收端。
H.264是一種高性能的視頻編解碼技術(shù)。它是由2大標(biāo)準(zhǔn)化組織聯(lián)合組建的聯(lián)合視頻組 (JVT)共同制定的新數(shù)字視頻編碼標(biāo)準(zhǔn),所以它既是ITU-T的H.264,又是 ISO/IEC的 MPEG-4高級(jí)視頻編碼 (AdvancedVideoCoding,AVC)。在同等圖像質(zhì)量的條件下,H.264的壓縮比是MPEG-2的2倍以上,是 MPEG-4的1.5~2倍。而且,H.264在具有高壓縮比的同時(shí)還擁有高質(zhì)量流暢的圖像,經(jīng)過H.264壓縮的視頻數(shù)據(jù),在網(wǎng)絡(luò)傳輸過程中所需要的帶寬更少,也更加經(jīng)濟(jì)[11]。
進(jìn)入程序所在目錄,控制臺(tái)提示符下執(zhí)行如下命令:
其中:-r表示輸出分辨率;-i參數(shù)后面的IP為PC機(jī)服務(wù)器的IP地址。為了正確接收RTP協(xié)議的數(shù)據(jù)包,需要手動(dòng)編寫 SDP(Session Description Protocol)文件,在SDP文件中指定接收端的1P地址,端口號(hào)以及待接收的媒體文件負(fù)載類型,使用的傳輸協(xié)議等信息[12]。通過 SDP,客戶端才可以正確的接收發(fā)送端發(fā)送的數(shù)據(jù)。使用VLC播放器,打開video.sdp文件,點(diǎn)擊“播放”按鈕就會(huì)看到采集到的圖像。
在終端里看到的視頻采集速率等信息如圖5。視頻采集流程圖如圖6所示。
圖5 視頻采集信息
圖6 視頻采集流程
設(shè)計(jì)了一種基于TMS320DM365的3G實(shí)時(shí)視頻傳輸系統(tǒng)。系統(tǒng)利用攝像頭采集視頻信息,經(jīng)過DM365內(nèi)嵌硬件壓縮器壓縮成H.264視頻格式,然后通過RTP以及RTCP編碼后經(jīng)3G無線路由器發(fā)送,服務(wù)器接收端利用開源播放器VLC對(duì)視頻實(shí)時(shí)顯示。
本系統(tǒng)在實(shí)驗(yàn)室環(huán)境下進(jìn)行了測試,可以將采集的視頻數(shù)據(jù)通過3G路由器發(fā)送給PC上的VLC播放器,實(shí)現(xiàn)視頻信息的實(shí)時(shí)顯示。由于PC上VLC默認(rèn)緩沖池比較大,觀看時(shí)會(huì)稍有延遲的現(xiàn)象,可以手動(dòng)調(diào)整VLC上的緩沖池大小,減少延遲。另外,3G網(wǎng)絡(luò)的信號(hào)質(zhì)量也會(huì)影響視頻的實(shí)時(shí)顯示效果。本系統(tǒng)經(jīng)濟(jì)適用,在遠(yuǎn)程監(jiān)控、智能樓宇、智能交通、車載監(jiān)控等領(lǐng)域有廣泛市場前景。
[1]王雄勇.基于DM365的視頻編碼器的硬件設(shè)計(jì) [J].電子設(shè)計(jì)工程,2011,19(8):128-129,136.
[2]柴遠(yuǎn)波,郭云飛.3G高速數(shù)據(jù)無線傳輸技術(shù) [M[.北京:電子工業(yè)出版社,2009:20-29.
[3]Hanzo L, Cherriman P. Video compression and communications[M].Beijing:Posts&Telecom Press,2011:276-288.
[4]TMS320DM365:基于達(dá)芬奇技術(shù)的新型數(shù)字媒體處理器[J].世界電子元器件,2009(4):24.
[5]Texas Instruments Incorporated.TMS320DM36x digital media system on Chip DMSoC video processing front end VPFE user s guide[EB/OL]. [2009-03].http://focus.ti.com.cn/cn/lit/ug/sprufg8c/sprufg8c.pdf.
[6]秦臻,曹劍中.基于TMS320DM365的高速網(wǎng)絡(luò)攝像機(jī)的設(shè)計(jì) [J].電子設(shè)計(jì)工程,2011,19(10):121-124.
[7]許進(jìn)虎,劉文濤.運(yùn)用VLC媒體播放器增加HDTV播出頻道的實(shí)踐 [J].中國有線電視,2006,15(6):532-534.
[8]宋建勛,劉峰.基于TMS320DM365多平臺(tái)實(shí)時(shí)視頻傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].電視技術(shù),2011,35(7):32-35,40.
[9]賀貴明.基于內(nèi)容的視頻編碼與傳輸控制技術(shù) [M].武漢:武漢大學(xué)出版社,2005:13-15.
[10]張洪宇.基于 RTP協(xié)議流媒體服務(wù)器的研究 [G] //成都:2007.
[11]李閃閃,王洪玉.H.264視頻解碼過濾器的設(shè)計(jì)與實(shí)現(xiàn)[G] //殷福亮,陳喆.中國通信學(xué)會(huì)學(xué)術(shù)會(huì)議文集:2010年通信理論與信號(hào)處理學(xué)術(shù)年會(huì)論文集.北京:電子工業(yè)出版社,2010:577-584.
[12]李家清,劉峰.基于 TMS320DM365的無線視頻傳輸系統(tǒng)[G] //殷福亮,陳喆.中國通信學(xué)會(huì)學(xué)術(shù)會(huì)議文集:2010年通信理論與信號(hào)處理學(xué)術(shù)年會(huì)論文集.北京:電子工業(yè)出版社2010:662-668.