• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于DM8148的嵌入式網(wǎng)絡(luò)視頻服務(wù)器設(shè)計

      2015-12-23 01:11:36田時舜章明朝隋永新
      計算機工程與設(shè)計 2015年5期
      關(guān)鍵詞:線程編碼服務(wù)器

      田時舜,章明朝,周 躍,閆 豐,隋永新

      (1.中國科學(xué)院 長春光學(xué)精密機械與物理研究所 應(yīng)用光學(xué)國家重點實驗室,吉林 長春130033;2.中國科學(xué)院大學(xué) 大珩學(xué)院,北京100049)

      0 引 言

      視頻監(jiān)控系統(tǒng)目前已發(fā)展到基于IP網(wǎng)絡(luò)的數(shù)字視頻監(jiān)控系統(tǒng)。文獻(xiàn)-[1]中基于DM6446的網(wǎng)絡(luò)服務(wù)器能滿足上述行業(yè)的視頻監(jiān)控,但它使用DSP 處理器來實現(xiàn)視頻壓縮算法,使得DSP的負(fù)載較高,系統(tǒng)可擴(kuò)展性不高,且編碼能力有限,最高只能支持到D1分辨率,應(yīng)用有一定的局限性。在森林火災(zāi)監(jiān)控、機器故障檢測、氣象、醫(yī)學(xué)等需要對視頻進(jìn)行相關(guān)處理的應(yīng)用領(lǐng)域中,DM6446 略顯不足,相比而言,DM8148性能更好、可擴(kuò)展性更高。DM8148含有兩個可配置的視頻采集端口,可以完成至多四路視頻的采集;配置的HDVICP2 高清視頻協(xié)處理器中集成有H.264等主流視頻壓縮算法,最高可支持1080P60Hz的實時H.264視頻編碼;高性能DSP C674x能很好地運行相應(yīng)的圖像處理算法[3],可以用于對視頻信息的提取和圖像的融合。本文設(shè)計了一種基于DM8148的高性能、可擴(kuò)展的嵌入式網(wǎng)絡(luò)視頻服務(wù)器,最高能支持1080P60Hz的實時視頻監(jiān)控,并測試完成了720P 高清視頻信號的采集、壓縮,以及RTP實時網(wǎng)絡(luò)傳輸。系統(tǒng)集成度高,可擴(kuò)展性強,具有廣泛的應(yīng)用前景。

      1 系統(tǒng)總體設(shè)計及硬件平臺

      本文采用TI公司的TMS320DM8148芯片設(shè)計了一款網(wǎng)絡(luò)視頻服務(wù)器,系統(tǒng)由視頻采集模塊,視頻處理模塊,視頻壓縮模塊和網(wǎng)絡(luò)傳輸模塊構(gòu)成。使用的壓縮標(biāo)準(zhǔn)為H.264,網(wǎng)絡(luò)傳輸協(xié)議為RTP協(xié)議。

      ARM 子系統(tǒng)運行Linux操作系統(tǒng),負(fù)責(zé)系統(tǒng)的總體控制及網(wǎng)絡(luò)傳輸,VPSS負(fù)責(zé)視頻的采集,HDVICP2用于實現(xiàn)視頻的編碼工作,DSP 負(fù)責(zé)相應(yīng)的圖像處理算法,Syslink/IPC用于完成處理器之間的數(shù)據(jù)通信,解碼芯片采用TVP7002.VPSS采集到一幀數(shù)據(jù)后傳遞給DSP視頻處理模塊進(jìn)行必要的視頻處理,處理后的數(shù)據(jù)被傳遞至編碼模塊,編碼模塊通過調(diào)用HDVICP2實現(xiàn)H.264編碼,采用RTP實時傳輸協(xié)議將壓縮后的視頻數(shù)據(jù)發(fā)送至客戶端。系統(tǒng)總體框架如圖1所示。

      圖1 系統(tǒng)框架

      2 軟件平臺設(shè)計

      軟件平臺設(shè)計包括本系統(tǒng)各功能模塊的具體實現(xiàn),是本設(shè)計的核心內(nèi)容。

      2.1 Linux的多線程程序設(shè)計

      本設(shè)計中,有視頻采集,視頻壓縮及網(wǎng)絡(luò)傳輸多個任務(wù)同時運行,這就需要系統(tǒng)同時處理多個任務(wù)。在Linux操作系統(tǒng)下可以選擇多進(jìn)程或者多線程設(shè)計,但線程之間的切換需要操作系統(tǒng)做的工作比進(jìn)程之間的切換少的多,且同一個進(jìn)程內(nèi)的線程之間共享全局變量,文件描述符,信號處理函數(shù)等,這樣對系統(tǒng)資源的占用也相對較?。?],故本文采用多線程設(shè)計,線程之間使用管道PIPE進(jìn)行數(shù)據(jù)傳遞。主線程用于系統(tǒng)的控制,為各功能模塊分別創(chuàng)建一個線程。

      2.2 視頻采集

      V4L2是Linux內(nèi)核中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動,它為Linux中視頻設(shè)備訪問提供了通用接口[5]。DM8148處理器的視頻采集通過VPSS模塊來完成。具體架構(gòu)如圖2所示。

      圖2 VPSS結(jié)構(gòu)

      最底層是VPSS硬件采集接口,M3VPSS Firmware是運行在Cortex-M3 控制器上的基礎(chǔ)控件,BIOS Notify Library與Kernel Notify Library是Syslink Library的一部分,用于完成A8 與M3 之間的通信,VPSS FVID2Library是TI提供的一個硬件抽象層,用于控制M3控制器上運行的固件[6]。同時也為上層驅(qū)動 (V4L2)提供一套API,F(xiàn)BDEV 則是用于管理圖片顯示的幀緩沖區(qū)的模塊,V4L2 通過調(diào)用VPSS FVID2Library完成對硬件的訪問,應(yīng)用程序通過調(diào)用V4L2接口即可完成視頻的采集工作。視頻采集過程如圖3所示。

      DM8148有兩個24bit的視頻輸入端口,每個端口至多可采集雙通道的8bit視頻,即系統(tǒng)最多可以完成4路視頻的采集,能很好的滿足系統(tǒng)的要求。

      本文中配置VIN0 為單通道的16bit YCbCr視頻采集模式,解碼芯片使用TVP7002,將解碼芯片信息加入內(nèi)核,以下是關(guān)鍵內(nèi)核配置信息:

      圖3 V4L2視頻采集流程

      Linux內(nèi)核通過相應(yīng)的I2C 地址去配置對應(yīng)的解碼芯片。再將V4L2標(biāo)準(zhǔn)的解碼芯片驅(qū)動編譯成內(nèi)核模塊加載到系統(tǒng)中,就可在應(yīng)用程序中通過V4L2 接口完成視頻的采集。

      2.3 視頻處理

      在一些特定的視頻監(jiān)控領(lǐng)域還需要對所采集的視頻進(jìn)行一些必要的處理,在引言提到,此處不再贅述。

      編解碼引擎 (codec engine)是TI達(dá)芬奇處理器的軟件框架[7]。在此框架下,DSP 可集成多個算法,成為算法服務(wù)器,ARM 應(yīng)用軟件作為客戶端動態(tài)地請求DSP 創(chuàng)建算法任務(wù)。系統(tǒng)框架如圖4所示。

      圖4 Codec Engine框架

      算法必須符合xDM 標(biāo)準(zhǔn),VISA API為這些算法提供了接口,將這些算法集成入一個算法服務(wù)器,ARM 應(yīng)用程序就可以通過相同的VISA API來調(diào)用相應(yīng)的DSP 算法。當(dāng)ARM 應(yīng)用程序調(diào)用某個算法時,算法服務(wù)器將創(chuàng)建此算法實體。

      本文中將視頻處理算法封裝到DSP 算法服務(wù)器中,在ARM 端應(yīng)用程序中創(chuàng)建視頻處理線程,從視頻采集線程中獲取原始數(shù)據(jù),通過Codec Engine調(diào)用DSP視頻處理算法對視頻進(jìn)行處理,并將數(shù)據(jù)傳遞至視頻壓縮線程。

      2.4 視頻壓縮

      H.264算法是由國際電信聯(lián)盟標(biāo)準(zhǔn)化組織的視頻圖像專家組和國際標(biāo)準(zhǔn)化組織的運動圖像專家組共同組成的聯(lián)合視頻組所開發(fā)的最新的視頻編碼標(biāo)準(zhǔn),相對于更早的MPEG-x和H.263視頻壓縮算法,H.264算法提供了更高的編碼壓縮效率和良好的網(wǎng)絡(luò)適應(yīng)性,具有低碼率,容錯能力強,應(yīng)用目標(biāo)范圍較寬等特點[8]。

      HDVICP2支持目前大部分編解碼和變換編碼標(biāo)準(zhǔn),能夠完成分辨率高達(dá)1080P60Hz的H.264實時視頻壓縮。

      HDVICP2中的視頻壓縮算法通過OpenMax API來調(diào)用,OpenMax程序有多個組件組成,每個組件負(fù)責(zé)特定的功能,每個組件由一到多個不等的端口,組件之間通過端口進(jìn)行數(shù)據(jù)傳輸。在本系統(tǒng)中只用到編碼組件,視頻壓縮組件通過其輸入端口從圖像處理線程獲取YUV 視頻數(shù)據(jù),將壓縮后的H.264 碼流通過輸出端口輸出存儲至SD 卡,并傳遞給網(wǎng)絡(luò)傳輸線程。編碼流程如圖5所示。

      2.5 網(wǎng)絡(luò)傳輸

      H.264數(shù)據(jù)流的NAL支持多種基于包的有線或者無限網(wǎng)絡(luò)傳輸,為了滿足基于IP網(wǎng)絡(luò)的視頻傳輸,互聯(lián)網(wǎng)工程組提出了一些音視頻數(shù)據(jù)傳輸?shù)膮f(xié)議,如RTP/RTCP、RTSP、RSVP、SIP等。本文中考慮使用RTP/RTCP協(xié)議。

      基于UDP協(xié)議的實時傳輸協(xié)議RTP更加側(cè)重于數(shù)據(jù)傳輸?shù)膶崟r性[9]。RTP協(xié)議提供的服務(wù)包括時間載量標(biāo)識、數(shù)據(jù)序列、時間戳、傳輸控制等等。實時傳輸控制協(xié)議RTCP主要是用來進(jìn)行流量控制和擁塞控制,RTP通過RTCP獲取數(shù)據(jù)傳輸相關(guān)的控制信息,RTP傳輸過程如圖6所示。

      圖5 編碼流程

      圖6 RTP傳輸過程

      通常IP網(wǎng)絡(luò)的最大傳輸單元MTU 為1500字節(jié),當(dāng)傳輸包的大小大于MTU 時,網(wǎng)絡(luò)層會將其進(jìn)行分割,由于UDP協(xié)議并不保證傳輸可靠,一個數(shù)據(jù)包的丟失會影響同一個原始包的其它分割包,這樣會降低傳輸效率。

      對此,RFC3984標(biāo)準(zhǔn)規(guī)定了對H.264數(shù)據(jù)流進(jìn)行RTP打包的策略,分為單一NAL打包模式、組合打包模式和分片打包模式。MTU 為1500字節(jié),IP/UDP/RTP/協(xié)議頭的總長度至少占40字節(jié),所以RTP 的最大載荷為1460,本設(shè)計中設(shè)定的閾值為1360字節(jié)。由于本系統(tǒng)中視頻源的分辨率較高,長度小于1360字節(jié)的幀極少,為了降低程序的復(fù)雜度,故未使用組合打包模式[10]。

      H.264的RTP打包框架如圖7所示。

      圖7 RTP打包框架

      3 系統(tǒng)測試

      采用720P高清視頻源對系統(tǒng)進(jìn)行測試,視頻經(jīng)過壓縮編碼后通過網(wǎng)絡(luò)傳輸至PC 客戶端,使用VLC 播放器進(jìn)行播放。效果如圖8所示。

      圖8 VLC播放效果

      使用Wireshark工具進(jìn)行網(wǎng)絡(luò)抓包效果如圖9所示。

      4 結(jié)束語

      本文在DM8148的基礎(chǔ)上設(shè)計了一款高性能的嵌入式網(wǎng)絡(luò)視頻服務(wù)器,將監(jiān)控視頻的分辨率提高到了720P,最高可支持1080P;此外系統(tǒng)的可擴(kuò)展性強,針對有視頻處理需求的應(yīng)用可以將相關(guān)的圖像處理算法移植到DSP處理器中;本設(shè)計至多可擴(kuò)展四通道采集,能很好的滿足有多通道視頻監(jiān)控需求應(yīng)用的要求;此外,可進(jìn)一步開發(fā)自主的顯示界面,并通過網(wǎng)絡(luò)協(xié)議實現(xiàn)對遠(yuǎn)程系統(tǒng)的控制,如調(diào)節(jié)相機曝光量、聚焦等等,增加系統(tǒng)的集成度。

      圖9 網(wǎng)絡(luò)抓包

      [1]CHEN Xiao,ZHANG Xuejie.Research of network video server design technology based on DAVINCI dual-core chips[J].Journal of Yunnan University (Natural Sciences Edition),2009,31 (S1):122-127 (in Chinese). [陳曉,張學(xué)杰.基于DAVINCI雙核芯片的網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計技術(shù)研究 [J].云南大學(xué)學(xué)報 (自然科學(xué)版),2009,31 (S1):122-127.]

      [2]LAI Haijun.Design of dual-channel video capture and pre-processing system based on FPGA [D].Nanjing:Nanjing University of Science and Technology,2013 (in Chinese). [來海軍.基于FPGA 的雙通道視頻采集與預(yù)處理系統(tǒng)設(shè)計 [D].南京:南京理工大學(xué),2013.]

      [3]WANG Jingxiong.Software development of video processing system based on DM8148processor[D].Hangzhou:Zhejiang University,2013 (in Chinese).[王靖熊.基于DM8148處理器的視頻處理系統(tǒng)軟件研發(fā) [D].杭州:浙江大學(xué),2013.]

      [4]Neil Matthew,Rick Stones.Beginning Linux programming [M].4th ed.New York:Wiley Publishing,2007:495-497.

      [5]LIU Sheng,ZHAO Jingjing,F(xiàn)AN Xiuli.The embedded video surveillance system based on V4L2 [J].Microcomputer Application,2011,32 (1):37-42 (in Chinese). [劉升,趙晶晶,范秀麗.基于V4L2的嵌入式視頻監(jiān)控系統(tǒng) [J].微計算機應(yīng)用,2011,32 (1):37-42.]

      [6]YANG Zhenyong,WANG Yanjie,SUN Haijiang,et al.Design and implementation of SOC high definition video processing system based on TMS320DM8168 [J].Chinese Journal of Liquid Crystals and Display,2013,28 (5):764-769 (in Chinese). [楊振永,王延杰,孫海江,等.基于TMS320DM 8168的SOC高清視頻處理系統(tǒng)的設(shè)計與實現(xiàn) [J].液晶與顯示,2013,28 (5):764-769.]

      [7]SONG Jintao.Research and implementation of video processing platform based on Codec Engine software framework [D].Chengdu:University of Electronic Science and Technology of China,2013 (in Chinese).[宋金濤.基于Codec Engine軟件框架的視頻處理平臺研究與實現(xiàn) [D].成都:電子科技大學(xué),2013.]

      [8]ZHOU Qiang,F(xiàn)EI Zhangjun,WANG Qiang,et al.Design and development of H.264-based embedded network video server[J].Journal of Computer Applications,2010,30 (2):555-559 (in Chinese). [周強,費章君,王強,等.基于H.264的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計與開發(fā) [J].計算機應(yīng)用,2010,30 (2):555-559.]

      [9]WANG Hongzhi,YU Haolin.Design of enbedded remote monitoring system based on ARM-Linux [J].Journal of Jilin University (Science Edition),2014,52 (1):103-107 (in Chinese).[王宏志,宇皓林.基于ARM-Linux遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè) 計 [J].吉 林 大 學(xué) 學(xué) 報 (理 學(xué) 版),2014,52 (1):103-107.]

      [10]JIANG Junjie,WANG Zhiming.Design of embedded video surveillance system based on X264 [J].Computer Engineering and Design,2013,34 (12):4199-4203 (in Chinese).[江俊杰,王志明.基于X264 的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機工程與設(shè)計,2013,34 (12):4199-4203.]

      猜你喜歡
      線程編碼服務(wù)器
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      《全元詩》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計與實現(xiàn)
      Genome and healthcare
      淺談linux多線程協(xié)作
      得形忘意的服務(wù)器標(biāo)準(zhǔn)
      計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      Linux線程實現(xiàn)技術(shù)研究
      么移動中間件線程池并發(fā)機制優(yōu)化改進(jìn)
      电白县| 林甸县| 法库县| 广安市| 扶绥县| 化德县| 皮山县| 武山县| 建瓯市| 开阳县| 中超| 车险| 台湾省| 常熟市| 三门县| 垦利县| 桂东县| 当阳市| 伊川县| 堆龙德庆县| 沙湾县| 黄石市| 锡林浩特市| 大丰市| 尼木县| 巴南区| 郧西县| 敦煌市| 巴楚县| 桦南县| 湟源县| 黑河市| 宁明县| 噶尔县| 赣州市| 钦州市| 大关县| 喜德县| 施甸县| 丰城市| 西丰县|