《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于達芬奇技術的嵌入式網絡攝像機系統研究
基于達芬奇技術的嵌入式網絡攝像機系統研究
來源:微型機與應用2011年第22期
肖 軍,徐熙平,李沛松
(長春理工大學 光電工程學院,吉林 長春130022)
摘要: 達芬奇技術是一種專門針對數字視頻應用和信號處理的解決方案,它把算法處理和應用層相分離,大大簡化了程序編寫。介紹了一種基于達芬奇技術的網絡攝像機設計方案,詳細闡述了該系統的視頻采集、H.264編碼實現、RTSP服務器調度和RTP發送。
Abstract:
Key words :

摘  要: 達芬奇技術是一種專門針對數字視頻應用和信號處理的解決方案,它把算法處理和應用層相分離,大大簡化了程序編寫。介紹了一種基于達芬奇技術的網絡攝像機設計方案,詳細闡述了該系統的視頻采集、H.264編碼實現、RTSP服務器調度和RTP發送。
關鍵詞: 達芬奇技術;H.264;RTSP服務器;RTP

    隨著多媒體技術和網絡技術的發展,網絡攝像機已經廣泛運用于網絡監控和視頻會議領域中。網絡攝像機的發展趨勢集視頻采集、視頻壓縮、視頻發送為一體,并且按照需求添加相應圖像識別、圖像疊加、運動偵測、云臺控制和報警等功能。因此要求處理芯片具有強大的控制能力和數據處理能力。TI公司推出了達芬奇技術,專門應用于多媒體系統,它把圖像處理的編碼算法封裝成標準API,應用程序調用這些API函數即可實現圖像的編碼處理。
    TMS320DM368芯片是基于達芬奇技術的音視頻數字媒體片上系統(DMSoC)[1],它以ARM926EJ-STM為內核,擁有兩個視頻圖像協處理器(HDVICP和MJCP),廣泛運用于中低端音視頻處理系統。本系統采用DM368來構建網絡攝像機視頻服務器,通過訪問服務器可實時查看監控視頻。
1 系統總體方案設計
    TMS320DM368只有一個ARM內核,通過嵌入Linux系統來實現圖像的采集處理和網絡通信。系統總體框圖如圖1所示,CMOS圖像采集模塊把采集的數字圖像發送給TMS320DM368主芯片,然后調用算法API函數實現H.264編碼。UDP接收負責接收參數控制命令,經過命令解析把參數傳遞給對應模塊。RTSP負責等待客戶端訪問,然后創建用于RTP數據包發送的套接字。

    為了實現系統功能,應用程序主要分為以下幾個線程:CMOS視頻采集線程、視頻編碼線程、RTSP任務調度線程、RTP視頻數據發送線程、UDP命令接收線程和命令解析線程。CMOS視頻采集線程負責按要求初始化CMOS芯片,采集視頻圖像;視頻編碼線程調用算法API接口,實現數據圖像的編碼壓縮;RTSP任務調度線程創建TCP套接字,等待客戶端的訪問連接,然后把所訪問客戶端的地址信息存放在調度任務中;RTP視頻數據發送線程把視頻數據通過RTP協議發送給指定客戶端;UDP命令接收線程負責接收客戶端發送的控制命令,然后發送給命令解析線程;命令解析線程把接收到的命令解析處理,把參數傳遞給對應模塊。
2 視頻采集和編碼
2.1 視頻采集模塊

    視頻采集選用MT9P031型CMOS數字圖像傳感器芯片,感光面為1/2.5英寸,最大像素為2592×1944。該芯片利用像素跳躍和像素混合技術,在不改變視場的情況下減少輸出圖像分辨率。它還提供I2C接口,主控器可以通過I2C接口設置CMOS輸出圖像的屬性,并且還集成了ADC轉換器,直接輸出12 bit數字圖像數據,在時鐘和行場同步信號作用下輸出每一幀圖像,如圖2所示。每一個場同步信號FV有效(高)表示一幀圖像,每一個場同步信號LV有效(高)表示該幀的一行,在行場同步都有效時每一個像素時鐘脈沖的Dout輸出就是對應像素的RGB值。若輸出一幀720 p的圖像,像素大小為1280×720,每一個FV高電平區間就有720個LV高電平,在每一個LV高電平區間又有1 280個PCLK時鐘脈沖。

    TMS320DM368有一個ISIF接口,專門用于接收數字的視頻數據,芯片內部集成了ISIF圖像接收模塊,每接收到一幀完整的數據,芯片就會產生一個ISIF_INT中斷信號,在中斷響應程序里面可以把數據存放到指定地址。MT9P031和TMS320DM368的連接如圖3所示。MT9P031芯片的時鐘源由DM368GIO37引腳輸出提供,頻率為24 MHz,GIO91和GIO93引腳分別接復位和使能端。

2.2 H.264編碼模塊
    對所采集的視頻數據進行編碼是通過調用Codec Engine算法包來實現的[2]。Codecs Engine是一組用來調用xDAIS算法的API,不管是在ARM端還是在DSP端,不管操作系統的差異,調用的API函數都是一致的。用戶只需要配置相應的*.cfg文件即可指定需要調用的算法,然后在應用程序中即可調用API函數進行算法編解碼。
    H.264是一種高性能的視頻編解碼標準,繼承了H.263和MPEG1/2/4視頻編碼器的優點。H.264標準中定義了兩個層次:視頻編碼層(VCL)和網絡抽象層(NAL),VCL負責高效的數字視頻數據壓縮,NAL提供適當的接口對數據進行打包和傳送。
    為了得到H.264格式的視頻流,本系統采用的H.264算法為TI發布的Codec Engine,配置alg_server.cfg文件來實現對已經編譯算法的接口聲明,文件配置如下:
    var H264ENC=xdc.useModule
('ti.sdo.codecs.h264enc.ce.H264ENC'); //指定調用的算法
    var myEngine=Engine.create("alg_server", [{name: "h264enc",
mod: H264ENC, local: true, groupId: 1}]);
    其中,name為調用算法的名字;mod用來標識實際的算法實現模塊;loacl指定算法運行在ARM端(true)或者DSP端(false)。
    在應用程序中調用的接口函數有:VIDENC1_create、VIDENC1_control、VIDENC1_process和VIDENC1_delete。
3 視頻服務器的建立
3.1 搭建RTSP服務器

    RTSP(Real Time Streaming Protocol)實時流協議是為了建立并控制一個或幾個時間同步的連續流媒體[3],它本身不發送連續媒體流,只充當多媒體服務器的網絡遠程控制。
    RTSP服務器需要預定義的方法有OPTION、DESCRIBE、SETUP、PLAY和TEARDOWN,在OPTION響應中需要實現服務器基本信息描述,DESCRIBE響應中需要向客戶端發送視頻的SDP信息,SETUP響應需要根據客戶端端口信息建立RTP(實時傳輸協議)視頻發送套接字,PLAY響應實現由RTP向客戶端發送視頻數據,TEAREOWN響應關閉對應RTP套接字,并且釋放對應的系統資源,流程如圖4所示。

 

 

3.2 RTP發送H.264視頻流
    RTP(Real-Time Transport Protocol)實時傳輸協議是在多點傳送或單點傳送的網絡服務上提供端對端的網絡傳輸功能,適用于實時數據傳輸的場合[4]。RTP固定報頭格式如圖5所示。
    定義報頭的數據格式如下:
typedef  struct
{
    unsigned char  u4CSrcLen:4;//CC
    unsigned char  u1Externsion:1;//X
    unsigned char  u1Padding:1;//P
    unsigned char  u2Version:2;//V
    unsigned char  u7Payload:7;//PT
    unsigned char  u1Marker:1;//M
    unsigned short  u16SeqNum;//SN
    unsigned long  u32TimeStamp;//時間戳
    unsigned long  u32SSrc;//SSRC
}RtpHdr;
    經編碼模塊輸出的H.264視頻流由一系列NAL單元(NALU)構成,每個NALU由起始碼前綴(0x00000001)分隔開來[5],所以RTP發送線程可以在輸出編碼流中提取出每個NALU,經過RTP協議轉換發送給客戶端。從編碼流中提取NALU單元流程如圖6所示。
    經過驗證,對于720 p的H.264編碼輸出NALU負載長度不一,最大達到幾十字節,從網絡性能方面考慮,不宜發送過大的RTP數據包,為此采用RFC3984標準的FU-A方法對NALU進行分割,設置每個RTP包最大長度為1 400 B。于是對于不同負載長度的NALU,RTP發送的數據包格式如表1所示。

    定義結構體:
typedef  struct
{
    unsigned char  u5Type:5;
    unsigned char  u2Nri:2;
    unsigned char  u1F:1;
}NaluHdr, FuIndic;
typedef  struct
{
    unsigned char  u5Type:5;
    unsigned char  u1R:1;
    unsigned char  u1E:1;
    unsigned char  u1S:1;
}FuHdr;
    其中,參數NaluHdr和FuIndic由NALU第一個字節決定,參數FuHdr用于設置分片發送的起始和結束RTP包。
    本文研究了基于達芬奇技術的網絡攝像機系統,著重介紹了視頻采集、H.264算法的調用、RTSP視頻服務器以及利用RTP數據報發送。系統的應用程序采用多線程技術,提高了資源利用率和綜合性能。搭建的服務器專門用于H.264格式的視頻流發送,執行效率高,便于維護,對類似系統有很大的參考價值?;赥MS320DM368的網絡攝像機投入成本低,開發周期短,可以廣泛運用于各種監控系統。
參考文獻
[1] Texas Instruments Incorporated.TMS320DM368 Digital Media System-on-Chip(DMSoC)[EB/OL].[2011-06-30]. http://www.ti.com/lit/gpn/tms320dm368.
[2] Texas Instruments Incorporated.Codec Engine Application Developer User s Guide[A].http://www.ti.com/lit/ug/sprue67d/sprue67d.pdf.
[3] SCHULZRINNE H,RAO A,LANPHIER R.Real time streaming protocol(RTSP)[S].RFC 2326,1998.
[4] SCHULZRINNE H,CASNER S,FREDERICK R.RTP:A
     transport protocolfor real-time applications[S].RFC 3550,2003.
[5] 張多英.嵌入式視頻監控傳輸系統的設計與實現[J].計算機工程與設計,2010,31(4):724-728.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲永久免费精品| 久久免费的精品国产v∧| 欧美一区2区三区4区公司二百| 日韩视频免费在线| 亚洲国产精品悠悠久久琪琪 | 国产亚洲精品久久久| 国产精品久久久久久久久搜平片 | 欧美日韩国产探花| 欧美激情aaaa| 欧美激情一区二区| 欧美激情在线| 欧美日韩国产综合一区二区| 欧美日一区二区在线观看 | 亚洲成色999久久网站| 精品成人国产| 亚洲第一黄色网| 亚洲国产精品va在线观看黑人| 亚洲国产精品传媒在线观看 | 在线亚洲自拍| 欧美人成免费网站| 欧美精品乱人伦久久久久久 | 欧美一进一出视频| 亚洲福利专区| 亚洲欧洲综合| 一区二区三区欧美视频| 亚洲专区在线| 欧美淫片网站| 久久在线免费| 欧美精彩视频一区二区三区| 欧美日韩一区二区在线观看| 国产精品久久久久久久久久久久久| 国产精品乱看| 国产综合色产在线精品| 亚洲成色777777在线观看影院| 亚洲精品乱码久久久久久蜜桃91| 一区二区三区成人| 午夜久久福利| 亚洲人成网站精品片在线观看 | 国产综合色在线视频区| 亚洲第一区色| 亚洲美女在线看| 亚洲字幕一区二区| 欧美有码在线视频| 日韩一区二区精品| 欧美一区2区视频在线观看| 久久精品二区亚洲w码| 欧美福利在线| 国产精品久久二区| 9色国产精品| 亚洲一级电影| 国产精品久久久久久久久久久久久| 欧美理论电影在线播放| 国产精品激情电影| 国模大胆一区二区三区| 激情久久影院| 一区二区三区日韩精品视频| 午夜久久美女| 久久aⅴ国产欧美74aaa| 久久久av毛片精品| 欧美中文在线观看| 性欧美大战久久久久久久久| 亚洲伦理久久| 午夜精品久久久久久| 裸体歌舞表演一区二区| 欧美日韩精品一区二区三区四区| 欧美一级黄色网| 亚洲天堂免费观看| 亚洲国产精品欧美一二99| 亚洲日本视频| 欧美中文字幕在线观看| 亚洲免费高清视频| 久久精品视频在线免费观看| 欧美精品一级| 国产专区一区| 亚洲无线一线二线三线区别av| 欧美亚洲免费高清在线观看| 99视频在线观看一区三区| 久久久久久久久综合| 欧美日韩情趣电影| 在线精品一区二区| 亚洲欧美在线网| 亚洲午夜一区| 欧美精品在线一区二区三区| 国产一区二区精品久久91| 一区二区三区免费网站| 亚洲精品一区二区三区福利| 久久精品国产亚洲a| 欧美性大战久久久久| 亚洲第一区中文99精品| 欧美一区二区三区免费视频| 亚洲一本视频| 久久综合精品国产一区二区三区| 国产精品综合网站| 一区二区三区欧美亚洲| 亚洲最新中文字幕| 老鸭窝毛片一区二区三区| 国产欧美日韩一区二区三区在线| 一区二区三区精品| 一本大道久久a久久精品综合| 免费黄网站欧美| 国产一区二区福利| 亚洲欧美日韩国产综合精品二区| 亚洲自拍电影| 欧美日韩精品一区二区| 亚洲精品日韩欧美| 日韩视频在线免费观看| 久久精视频免费在线久久完整在线看| 国产精品高潮呻吟久久| av成人老司机| 亚洲色图制服丝袜| 欧美伦理91| 亚洲黄色小视频| 亚洲区一区二区三区| 男人插女人欧美| 樱桃国产成人精品视频| 久久精品国产综合精品| 久久精品视频免费播放| 国产亚洲亚洲| 欧美一二三区在线观看| 久久精品一区二区三区四区 | 男人的天堂亚洲在线| 好看的av在线不卡观看| 久久er99精品| 久久久无码精品亚洲日韩按摩| 国产午夜精品全部视频在线播放 | 国产日韩欧美一区二区三区四区| 亚洲私人影院在线观看| 国产精品视频99| 欧美亚洲一级| 午夜视黄欧洲亚洲| 国产精品亚洲综合天堂夜夜| 亚洲一区二区三区777| 亚洲天堂成人在线观看| 欧美日韩综合一区| 亚洲视频日本| 亚洲一区二区3| 国产精品日韩欧美一区二区三区 | 免费成人av| 亚洲成人在线| 亚洲最快最全在线视频| 欧美日韩三级| 亚洲性感美女99在线| 欧美一区二区视频网站| 国模精品一区二区三区色天香| 亚洲国产老妈| 老鸭窝亚洲一区二区三区| 最新精品在线| 亚洲综合不卡| 国产一区99| 日韩视频在线观看国产| 欧美午夜宅男影院在线观看| 午夜精品区一区二区三| 麻豆精品精华液| 一本久久青青| 久久精品视频在线看| 亚洲国产精品一区制服丝袜| 亚洲午夜电影在线观看| 国产日韩欧美日韩| 亚洲乱码国产乱码精品精天堂| 国产精品久久久久一区二区| 久久国产日韩| 欧美国产先锋| 亚洲欧美日韩国产综合精品二区| 蜜臀99久久精品久久久久久软件 | 在线性视频日韩欧美| 国产精品成人免费精品自在线观看| 亚洲欧美日韩中文在线制服| 免费不卡在线观看| 亚洲视频你懂的| 免费看黄裸体一级大秀欧美| 中文日韩电影网站| 美女精品国产| 亚洲一区二区欧美日韩| 男人插女人欧美| 亚洲在线国产日韩欧美| 久久黄色网页| 亚洲免费av观看| 国产精品丝袜久久久久久app| 亚洲国内在线| 欧美性生交xxxxx久久久| 久久精品国产精品亚洲精品| 欧美激情欧美狂野欧美精品| 亚洲欧美中文另类| 欧美激情视频一区二区三区免费| 精品电影一区| 午夜精品理论片| 最新亚洲一区| 午夜精品福利视频| 亚洲国产精品一区在线观看不卡| 午夜久久久久| 亚洲伦理在线| 狂野欧美激情性xxxx| 亚洲一级黄色av| 亚洲尤物在线视频观看| 亚洲激情在线| 先锋影音久久久| 欧美午夜理伦三级在线观看| 国产精品99久久久久久宅男 | 久久久精品国产免费观看同学| 一区二区电影免费观看|