亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

        0 引 言

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

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

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

        ARM 子系統(tǒng)運行Linux操作系統(tǒng),負責系統(tǒng)的總體控制及網(wǎng)絡(luò)傳輸,VPSS負責視頻的采集,HDVICP2用于實現(xiàn)視頻的編碼工作,DSP 負責相應(yīng)的圖像處理算法,Syslink/IPC用于完成處理器之間的數(shù)據(jù)通信,解碼芯片采用TVP7002.VPSS采集到一幀數(shù)據(jù)后傳遞給DSP視頻處理模塊進行必要的視頻處理,處理后的數(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)下可以選擇多進程或者多線程設(shè)計,但線程之間的切換需要操作系統(tǒng)做的工作比進程之間的切換少的多,且同一個進程內(nèi)的線程之間共享全局變量,文件描述符,信號處理函數(shù)等,這樣對系統(tǒng)資源的占用也相對較?。?],故本文采用多線程設(shè)計,線程之間使用管道PIPE進行數(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標準的解碼芯片驅(qū)動編譯成內(nèi)核模塊加載到系統(tǒng)中,就可在應(yīng)用程序中通過V4L2 接口完成視頻的采集。

        2.3 視頻處理

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

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

        圖4 Codec Engine框架

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

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

        2.4 視頻壓縮

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

        HDVICP2支持目前大部分編解碼和變換編碼標準,能夠完成分辨率高達1080P60Hz的H.264實時視頻壓縮。

        HDVICP2中的視頻壓縮算法通過OpenMax API來調(diào)用,OpenMax程序有多個組件組成,每個組件負責特定的功能,每個組件由一到多個不等的端口,組件之間通過端口進行數(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ù)包括時間載量標識、數(shù)據(jù)序列、時間戳、傳輸控制等等。實時傳輸控制協(xié)議RTCP主要是用來進行流量控制和擁塞控制,RTP通過RTCP獲取數(shù)據(jù)傳輸相關(guān)的控制信息,RTP傳輸過程如圖6所示。

        圖5 編碼流程

        圖6 RTP傳輸過程

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

        對此,RFC3984標準規(guī)定了對H.264數(shù)據(jù)流進行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īng)過壓縮編碼后通過網(wǎng)絡(luò)傳輸至PC 客戶端,使用VLC 播放器進行播放。效果如圖8所示。

        圖8 VLC播放效果

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

        4 結(jié)束語

        本文在DM8148的基礎(chǔ)上設(shè)計了一款高性能的嵌入式網(wǎng)絡(luò)視頻服務(wù)器,將監(jiān)控視頻的分辨率提高到了720P,最高可支持1080P;此外系統(tǒng)的可擴展性強,針對有視頻處理需求的應(yīng)用可以將相關(guān)的圖像處理算法移植到DSP處理器中;本設(shè)計至多可擴展四通道采集,能很好的滿足有多通道視頻監(jiān)控需求應(yīng)用的要求;此外,可進一步開發(fā)自主的顯示界面,并通過網(wǎng)絡(luò)協(xié)議實現(xià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). [陳曉,張學杰.基于DAVINCI雙核芯片的網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計技術(shù)研究 [J].云南大學學報 (自然科學版),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].南京:南京理工大學,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].杭州:浙江大學,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].成都:電子科技大學,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遠程視頻監(jiān)控系統(tǒng)的設(shè) 計 [J].吉 林 大 學 學 報 (理 學 版),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和快速稀疏編碼的合成孔徑雷達圖像配準
        《全元詩》未編碼疑難字考辨十五則
        子帶編碼在圖像壓縮編碼中的應(yīng)用
        電子制作(2019年22期)2020-01-14 03:16:24
        通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
        Genome and healthcare
        淺談linux多線程協(xié)作
        得形忘意的服務(wù)器標準
        計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
        Linux線程實現(xiàn)技術(shù)研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        久久无码专区国产精品s| 少妇被粗大的猛进69视频| 无码啪啪人妻| 国产一区二区不卡av| 人人超碰人人爱超碰国产| 樱桃视频影院在线播放| 男女18禁啪啪无遮挡| 国产精品自线在线播放| av在线免费观看麻豆| 无码国产精品久久一区免费| 亚洲av无码成人黄网站在线观看| 亚洲av永久青草无码精品| 日本一区二区三区清视频| 免费日本一区二区三区视频| 亚洲欧美国产精品久久| 久久国产精品二国产精品| 久久er这里都是精品23| 高清不卡av一区二区| 亚洲乱码日产精品一二三| 欧美性开放bbw| 狠狠亚洲婷婷综合色香五月| 97人妻精品一区二区三区免费| 亚洲av永久无码精品一福利| 久久精品国产亚洲av忘忧草18| 亚洲无码毛片免费视频在线观看| 国产女优一区在线观看| 少妇高潮惨叫久久久久久电影| 欧美精品久久久久久久久| 中文字幕国产精品专区| 亚洲中文久久精品字幕| 久久国产热这里只有精品| 日韩精品久久久中文字幕人妻| 国产一区二区三区乱码在线| 亚洲国产系列一区二区| 久久久久久无码av成人影院| 久久狠狠第一麻豆婷婷天天| 午夜一区二区在线视频| 日本丰满老妇bbw| 亚洲欧洲日产国码高潮αv| 男女在线免费视频网站| 日韩乱码中文字幕在线|