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

        ?

        基于嵌入式S3C6410的H.264視頻采集系統(tǒng)設(shè)計

        2016-06-08 08:50:55張洪濤胡順興詹云峰李奇風
        湖北工業(yè)大學學報 2016年2期
        關(guān)鍵詞:嵌入式優(yōu)化系統(tǒng)

        張洪濤, 胡順興, 詹云峰, 龔 力, 李奇風, 張 珠, 顏 貝

        (湖北工業(yè)大學電氣與電子工程學院, 湖北 武漢 430068)

        基于嵌入式S3C6410的H.264視頻采集系統(tǒng)設(shè)計

        張洪濤, 胡順興, 詹云峰, 龔力, 李奇風, 張珠, 顏貝

        (湖北工業(yè)大學電氣與電子工程學院, 湖北 武漢 430068)

        [摘要]為解決視頻采集系統(tǒng)成本較高,耗費大量人力資源,視頻占用空間大等缺陷,設(shè)計的系統(tǒng)以S3C6410為硬件平臺和Linux操作系統(tǒng)為軟件平臺,通過外接USB攝像頭采集視頻數(shù)據(jù),并采用H.264壓縮算法來提高了編碼效率,最后以AVI視頻格式存儲視頻。論述了V4L2的視頻采集過程,針對x264編碼速度慢、復雜耗時的特點,提出了一種改進型的率失真優(yōu)化策略。最后經(jīng)測試結(jié)果顯示視頻采集系統(tǒng)采集速度快,存儲空間小,準確,穩(wěn)定,實時性強,達到預(yù)期效果。

        [關(guān)鍵詞]S3C6410;視頻采集系統(tǒng);H.264;V4L2 ;RDO

        不經(jīng)任何處理的視頻數(shù)據(jù)信息中存有各種冗余信息,如空間冗余、時間冗余和視覺冗余等[1]。由于這些冗余信息的存在,會使原始視頻數(shù)據(jù)量極大,為了解決視頻數(shù)據(jù)量過大而造成的各種問題,冗余數(shù)據(jù)能夠被很好地去除就很有必要,故視頻壓縮算法的研究就是一項很關(guān)鍵的技術(shù)。目前市場已有的嵌入式采集方案大多采用專用芯片,雖然這種方法實時性好,但是可選芯片少且算法不夠靈活;當前也有采用ARM和DSP雙處理器或者是雙核DSP處理器實現(xiàn),這兩種方法都采用了DSP,這使得開發(fā)難度和成本都大大增加,而假如采用較低成本的處理器則會使系統(tǒng)性能降低,視頻系統(tǒng)采集到的圖像質(zhì)量和實時性達不到要求。

        根據(jù)以上問題,設(shè)計了采用ARM內(nèi)核三星S3C6410處理器和嵌入式Linux操作系統(tǒng)的視頻采集方案,同時也利用由ITU-T和ISO/IEC聯(lián)合組建的數(shù)字視頻編碼標準H.264中性能優(yōu)異的x264進行編碼運算[2]。系統(tǒng)最終實現(xiàn)了良好的幀間壓縮、較高的圖像質(zhì)量以及穩(wěn)定的視頻采集。

        1系統(tǒng)總體設(shè)計

        該系統(tǒng)主要構(gòu)成:S3C6410、攝像頭和PC機。以運行Linux操作系統(tǒng)的S3C6410開發(fā)板作為視頻采集終端,S3C6410的USB接口外接攝像頭進行視頻數(shù)據(jù)的采集,采集到的視頻經(jīng)混合編碼壓縮后以AVI格式進行存儲、預(yù)覽和播放。PC機上運行ubuntu12.04操作系統(tǒng),其負責視頻采集系統(tǒng)的開發(fā)、調(diào)試和壓縮算法的優(yōu)化驗證。而視覺信息可以通過攝像頭、攝影機等手段來捕獲,并且以視頻信息形式存儲或傳輸。采集處理的整個過程可以分為:攝像頭采集視頻信息,信息的混合壓縮編碼、存儲、解碼、播放[3]。其過程見圖1。

        圖 1 視頻采集系統(tǒng)處理過程

        2視頻采集硬件系統(tǒng)

        2.1S3C6410

        本系統(tǒng)的開發(fā)平臺采用了主頻為667MHz的高性能S3C6410處理器,S3C6410采用了由AXI、AHB和APB總線組成的64/32位內(nèi)部總線結(jié)構(gòu)[4],并通過這些總線與外圍模塊相連。為了提高整體功能和減少系統(tǒng)總成本,S3C6410包括很多硬件外設(shè),如IIS總線接口,IIC總線,USB主設(shè)備,通用輸入輸出端口,系統(tǒng)管理器等等。處理器S3C6410內(nèi)部集成的多媒體解碼器支持MPEG4、H.263、H.264的編解碼[5],因而可以廣泛應(yīng)用于視頻監(jiān)控系統(tǒng)、實時視頻會議系統(tǒng)等系統(tǒng)的開發(fā)和設(shè)計。Linux系統(tǒng)內(nèi)核的裁剪、制定和移植,H.264編解碼庫的移植以及視頻采集系統(tǒng)應(yīng)用程序的開發(fā)在此處理器開發(fā)平臺基礎(chǔ)上實現(xiàn)。

        2.2系統(tǒng)硬件框架

        系統(tǒng)硬件結(jié)構(gòu)主要由天嵌公司生產(chǎn)的TQ S3C6410處理器核心模塊、Video4Linux2視頻采集模塊、H.264視頻編碼模塊、USB攝像頭驅(qū)動模塊,ARM TQ6410采用Samsung公司生產(chǎn)的S3C6410處理器,具有256MB的內(nèi)存以及2GB的NANDFLASH,系統(tǒng)具有高速度、低功耗、體積小、處理能力強等特點,而且嵌入式Linux操作系統(tǒng)能夠在其上很好的運行。系統(tǒng)硬件架構(gòu)見圖2。

        圖 2 系統(tǒng)硬件架構(gòu)

        3視頻采集系統(tǒng)軟件設(shè)計

        視頻采集系統(tǒng)軟件設(shè)計部分:系統(tǒng)軟件平臺的搭建和視頻采集應(yīng)用軟件的設(shè)計,開發(fā)環(huán)境的搭建參照ARM S3C6410用戶使用手冊上的步驟即可進行bootloader、內(nèi)核、文件系統(tǒng)和logo的裁剪和移植。應(yīng)用軟件的設(shè)計可以分為三個部分,分別是視頻采集、視頻編碼和H.264的率失真優(yōu)化。

        3.1視頻采集

        V4L2是Video For Linux Two的簡稱,是V4L的改進版。V4L2 為Linux系統(tǒng)的視頻設(shè)備訪問提供一套API接口和相關(guān)的標準[6],其并不直接與硬件交流,主要職責就是對視頻數(shù)據(jù)時序性的處理和數(shù)據(jù)緩沖區(qū)的內(nèi)存管理,而圖片、視頻、音頻等信息的采集是通過視頻采集設(shè)備、驅(qū)動程序以及API接口來實現(xiàn),V4L2模塊應(yīng)用范圍廣泛[7]。在Linux系統(tǒng)中對USB攝像頭的操作是通過訪問視頻設(shè)備文件來實現(xiàn)的,因在系統(tǒng)中的所有外設(shè)都被視為設(shè)備文件。

        Linux系統(tǒng)下V4L2的視頻采集流程見圖3。

        圖 3 視頻采集流程

        1)采用非阻塞式打開視頻設(shè)備文件

        int cameraFd;

        cameraFd = open("/dev/video0", O_RDWR | O_NONBLOCK, 0);

        2) 設(shè)定屬性及采集方式打開視頻設(shè)備,根據(jù)需要可選擇設(shè)置該視頻設(shè)備的裁剪、縮放等屬性,檢查當前視頻設(shè)備支持的標準,并使用ioctl函數(shù)對設(shè)備的I/O通道進行管理[8]。

        extern int ioctl (int _fd, unsigned long int _request, …) _THROW;

        _fd:設(shè)備的ID

        _request:具體的命令標志符

        3)設(shè)置視頻捕獲格式

        structv4l2_formatfmt;

        memset(&fmt,0,sizeof(fmt));

        fmt.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;

        fmt.fmt.pix.width=480;

        fmt.fmt.pix.height=320;

        fmt.fmt.pix.pixelformat=V4L2_PIX_FMT_YUYV;

        fmt.fmt.pix.field=V4L2_FIELD_INTERLACED;

        if (ioctl(fd, VIDIOC_S_FMT, &fmt) == -1) {return -1;}

        目前,在沒有適合替代材料的情況下,放棄使用所有有危害的傳統(tǒng)材料并不現(xiàn)實,而應(yīng)對它們進行無害化管理,盡量避免危害,以符合安全及環(huán)保要求。

        4)分配內(nèi)存,為捕獲到的視頻信息分配內(nèi)存:

        structv4l2_requestbuffersreq;

        if (ioctl(fd, VIDIOC_REQBUFS, &req) == -1) {return -1;}

        5)獲取并記錄緩存的物理空間緩存?zhèn)€數(shù)-req.count通過VIDIOC_REQBUFS來獲取,接著經(jīng)VIDIOC_QUERYBUF命令來獲取這些緩存的地址,然后將這些緩存地址轉(zhuǎn)換成應(yīng)用程序中的絕對地址,并把緩存放入緩存隊列:

        typedefstructVideoBuffer{

        void*start;

        size_tlength;

        } VideoBuffer;

        6)處理采集數(shù)據(jù)V4L2數(shù)據(jù)緩存中的req.count數(shù)量的緩存數(shù)據(jù)采用先來先服務(wù)的方式[9],這個過程需要用到兩個ioctl命令,VIDIOC_DQBUF和VIDIOC_QBUF。

        7)關(guān)閉視頻設(shè)備使用close函數(shù)關(guān)閉一個視頻設(shè)備close(cameraFd);

        3.2基于x264視頻編碼設(shè)計

        設(shè)計中采用開源的x264編碼庫,該算法基于塊的幀內(nèi)、幀間混合編碼技術(shù),然后通過對預(yù)測值進行變換、量化、最后熵編碼。編碼幀類型為I幀(x264_type_i)、P幀(x264_type_p)、B幀(x264_type_b),在H.264中叫圖像片slice。X264把幀圖像看作一個slice,片中有slice_type_i、slice_type_p、slice_type_b之分。I幀只有slice_type_i,P幀有slice_type_i、slice_type_p,B幀三種片均有。

        x264的視頻編碼過程主要有三步:首先根據(jù)規(guī)則判定當前幀的編碼類型,如果是B幀還要存放、獲取,然后對待編碼圖像采用幀內(nèi)預(yù)測、幀間預(yù)測、整數(shù)DCT變換、量化和熵編碼,最后把壓縮后的碼流進行NAL層打包輸出。視頻編碼流程見圖4。

        圖 4 視頻編碼流程

        3.3H.264的率失真優(yōu)化改進

        H.264中率失真是一個很重要的技術(shù),所謂率失真優(yōu)化是指獲得最小失真以及獲取最佳編碼模式。即在限比特率為R值不能超過最大信道傳輸率,并使失真 D最小化,約束條件為:R≤Rc[10]。為了實現(xiàn)這目的,需在R和D之間選擇一個最佳點。RDO對應(yīng)的公式:J(mode)=SSD+λ*R(ref,mode,mv,residual),SSD是指重建塊與源圖像的差值均方和;λ是拉格朗日乘子[11];R就是該模式下宏,塊編碼的實際碼流,包括對參考幀、模式、運動矢量、殘差等的比特率[12]。假如當模式是幀內(nèi)模式時SSD就需重建圖像,但這一過程涉及到變換量化、

        熵編碼、反變換反量化、重建等,這無疑會使運算量巨大,為解決這一問題,采用替代公式:J(mode)=SAD+λ*R(ref,mode,mv),J(mode)=SATD+λ*R(ref,mode,mv),SAD就是該模式下預(yù)測塊與源圖像的絕對誤差和。SATD:殘差經(jīng)哈德曼變換的4×4塊的預(yù)測殘差絕對值總和,因此在替代公式R計算時也忽略了residual。

        for (j=0;j<16;j)

        {

        for (i=0;i<16;i)

        {

        M1[ i ][j]=imgY_org[img->opix_y+j][img->opix_x+i]-img->mprr_2[k][j][ i ]; M0[i%4][i/4][j%4][j/4]=M1[ i ][j];

        }

        }

        在H.264中,RDO代價函數(shù)不是一成不變的,而是根據(jù)運動搜索、參考幀擇優(yōu)、模式?jīng)Q策三個方面來選擇。同時為滿足不同的需要,有時候也將非RDO代價函數(shù)列為可選模式。標準H.264只是采用簡單的遍歷算法來率失真優(yōu)化,并沒有對不同分割模式與運動矢量之間的相關(guān)性等關(guān)鍵因素考慮在內(nèi),這使得率失真算法還有一定的上升空間。據(jù)此本文提出一種基于率失真優(yōu)化的快速幀間宏塊編碼模式選擇算法,此算法通過對待編碼宏塊在8×8塊運動矢量的分析得到該宏塊可能采用的所有編碼模式,然后通過率失真優(yōu)化計算得到最佳模式,經(jīng)這一優(yōu)化后的編碼效率有了很大的提高。

        改進優(yōu)化后的算法流程如下:1)將待編碼宏塊進行宏塊8×8分割;2)將分割后的宏塊進行8×8塊運動預(yù)測,從而獲得四個8×8塊運動矢量;3)通過對矢量完全相當、僅X或Y相當、矢量完全相當?shù)娜齻€不同矢量特點進行判斷分析,并采集相對應(yīng)的編碼模式集合;4)根據(jù)優(yōu)化算法選取宏塊最佳編碼模式。

        測試結(jié)果見表1、表2。

        表1 測試結(jié)果 QP=28

        表2 測試結(jié)果 QP=32

        實驗結(jié)果表明,視頻信息經(jīng)優(yōu)化算法進行壓縮后,除個別宏塊的最佳劃分模式在矢量分析后可能被誤排除而出現(xiàn)細微出入外,不管是背景復雜還是相對簡單的視頻信息都能不同程度地提高編碼速度。

        4系統(tǒng)測試結(jié)果及分析

        連接好視頻采集系統(tǒng)的所有設(shè)備,接通電源并啟動開發(fā)板,打開SecureCRT串行端口,并連接到開發(fā)板S3C6410。串行端口進入S3C6410的Linux系統(tǒng)配置環(huán)境,確保平臺順利運行。輸入ifconfig 命令查看設(shè)備IP地址,使用 ifconfig eth0 命令配置IP。使用ping命令來查看是否與監(jiān)控主機連接成功,輸入視頻采集系統(tǒng)程序的命令,啟動攝像頭后便可以實現(xiàn)實時監(jiān)控并采集視頻。通過攝像頭獲得的圖像大小為480*320像素點,格式為JPEG。圖4采用H.264壓縮算法固定的時間點抓拍到的圖像,圖5采用H.264壓縮后的采集視頻播放效果。從實驗可知,采集后的視頻以AVI格式存儲并播放,視頻實時性好,圖像清晰,存儲空間小。從主觀質(zhì)量上觀察視頻播放流暢度較好,但是對劇烈抖動和較快的速度的采集表現(xiàn)差。由于采集、壓縮和傳輸過程的延時,觀察存在 0.5~1.5 s 左右的延時。

        圖 5 H.264壓縮算法固定的時間點抓拍到的圖像

        圖 6 視頻播放效果圖

        5結(jié)束語

        基于S3C6410的H.264視頻采集系統(tǒng),使用x264編碼庫進行編碼并對率失真進行優(yōu)化,將視頻編解碼庫移植到S3C6410。最終研發(fā)出的視頻采集系統(tǒng)穩(wěn)定、可靠,運行快捷,操作簡單,開發(fā)成本低,調(diào)試方便,具有很強的實用性。測試表明,設(shè)計的系統(tǒng)視頻采集效率高、圖像連續(xù)性好、運行穩(wěn)定,并將采集到的視頻信息進行實時壓縮,以AVI形式存儲、播放,實現(xiàn)了視頻圖像的實時傳輸與播放,在后續(xù)研究中,將進一步從攝像頭接口電路和核心控制板電路方面對該系統(tǒng)提出改進和完善。

        [參考文獻]

        [1]陳博明. MPEG-4視頻編解碼的數(shù)據(jù)布局優(yōu)化與多任務(wù)調(diào)度策略[D].武漢:華中科技大學,2007.

        [2]肖圣. 視頻壓縮編碼預(yù)處理技術(shù)的研究[D].上海:上海交通大學,2006.

        [3]左明文,李鵬,張麗娟,等. 監(jiān)控系統(tǒng)中視頻服務(wù)器的設(shè)計與實現(xiàn)[R].昆明: 第十五屆全國煤礦自動化學術(shù)年會和中國煤炭學會煤礦自動化專業(yè)委員會學術(shù)會議,2005.

        [4]周超.Linux操作系統(tǒng)在ARM硬件平臺上的移植[D].成都:電子科技大學 ,2012

        [5]郝俊, 孟傳良. 基于V4L2的ARM11 USB視頻采集終端的設(shè)計與實現(xiàn)[J].貴州大學學報(自然科學版),2011,28(04):74-18.

        [6]張凱, 李臨生. 基于嵌入式ARM的視頻監(jiān)控系統(tǒng)的實現(xiàn)[J].電子科技,2013,26(05):34-36

        [7]付榮, 嚴建寬. 智能家居遠程視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機技術(shù)與展,2012,22(03):137-140.

        [8]程少煉. 基于H.264的嵌入式視頻監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].武漢:武漢科技學,2011.

        [9]陳少祥,李臨生. 嵌入式Linux視頻采集系統(tǒng)設(shè)計與研究[J].電子世界, 2013(01):14-15.

        [10] Ce Zhu, Bing Xiong. Transform-exempted calculation of sum of absolute hadamard transformed differences[J]. IEEE Journals & Magazines ,2009 : 1183 - 1188.

        [11] Lina Xun. Yonghua Fang. Anomaly detection based on high-order statistics in hyperspectral imagery[J].IEEE Conference Publications ,2006 : 10416 - 10419.

        [12] 丁楊. H.264視頻編碼技術(shù)研究及DSP實現(xiàn)[D].成都:電子科技大學,2008.

        [責任編校: 張巖芳]

        Design of Embedded Video Surveillance System Based on S3C6410 and H.264

        ZHANG Hongtao, HU Shunxing, ZHAN Yunfeng, GONG Li, LI Qifeng, ZHANG Zhu, YAN Bei

        (SchoolofElectrical&ElectronicEngin.,HubeiUniv.ofTech.,Wuhan430068,China)

        Abstract:In view of the large video space and the high cost of the traditional video monitoring, the system attempts to encode the data with H.264 and improve the efficiency of encoder to store video in AVI video format via an external USB camera capture video data with the S3c6410 processor. After describing the slow encoding and time consuming of x264 in the process of capturing V4L2 video, this paper proposes an improved-rate distortion optimization strategy. The test results prove that the video capture system is fast, accurate and stable with small storage space, and it achieves the expected requirements.

        Keywords:S3c6410;video capture system;H.264;V4L2;RDO

        [收稿日期]2015-04-20

        [基金項目]武漢市十城千輛新動力汽車計劃項目(2013011801010600); 大學生創(chuàng)業(yè)實踐項目(201410500040)

        [作者簡介]張洪濤(1963-), 男, 內(nèi)蒙古包頭人,工學博士,湖北工業(yè)大學教授,研究方向為納米材料及其光電性質(zhì) [通信作者] 詹云峰(1975-),男,湖北武漢人,湖北工業(yè)大學講師,研究方向為電子信息技術(shù)

        [文章編號]1003-4684(2016)02-0068-05

        [中圖分類號]TP316.14

        [文獻標識碼]:A

        猜你喜歡
        嵌入式優(yōu)化系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
        民用建筑防煙排煙設(shè)計優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        搭建基于Qt的嵌入式開發(fā)平臺
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        男人天堂插插综合搜索| 全免费a级毛片免费看视频| 国产精品高清视亚洲乱码有限公司 | 国产女高清在线看免费观看| 日本岛国一区二区三区| 精品少妇一区二区三区免费| 亚洲成av人片在www| 狠干狠爱无码区| 国产一区二区三区白浆在线观看| 精品国产一区二区三区av免费 | 亚洲av男人的天堂在线| 日日噜噜夜夜狠狠va视频v| 成人一区二区免费视频| 国产超碰人人一区二区三区 | 虎白女粉嫩粉嫩的18在线观看 | 成人天堂资源www在线| 久久精品韩国日本国产| 亚洲两性视频一三区| 亚洲av高清在线一区二区三区| 少妇一级淫片中文字幕| 国产特级毛片aaaaaaa高清| 熟妇无码AV| 中文字幕一区二区三区6| 欧洲成人一区二区三区| 在线播放亚洲第一字幕| 亚洲蜜芽在线精品一区| 国产成人自拍视频播放| 欧美 国产 综合 欧美 视频| 亚洲国产精品久久久久秋霞1| 国产一区二区三区在线观看蜜桃| 中文无码人妻有码人妻中文字幕| 亚洲av无码1区2区久久| 国产女人体一区二区三区| 亚洲一区亚洲二区视频在线| 久久婷婷人人澡人人喊人人爽 | 国产婷婷色一区二区三区在线| 五十路熟久久网| 极品少妇一区二区三区四区| 女人被狂躁的高潮免费视频| a级毛片毛片免费观看久潮喷| AV无码系列一区二区三区|