• 
    

    
    

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

      ?

      基于X.264的嵌入式無線視頻傳輸單元及其優(yōu)化

      2015-06-06 12:40:44創(chuàng)
      西南科技大學(xué)學(xué)報 2015年1期
      關(guān)鍵詞:實時性嵌入式編碼

      趙 創(chuàng) 張 華 王 姮 張 靜

      (西南科技大學(xué)特殊環(huán)境機器人技術(shù)四川省重點實驗室 四川綿陽 621010)

      ?

      基于X.264的嵌入式無線視頻傳輸單元及其優(yōu)化

      趙 創(chuàng) 張 華 王 姮 張 靜

      (西南科技大學(xué)特殊環(huán)境機器人技術(shù)四川省重點實驗室 四川綿陽 621010)

      針對無線視頻傳輸中因視頻編碼產(chǎn)生的圖像清晰度差、實時性弱等問題,設(shè)計了一種基于X.264的嵌入式無線視頻傳輸單元。該無線視頻傳輸單元基于Linux操作系統(tǒng),以S3C2440A處理器為核心,利用Linux內(nèi)核提供的視頻數(shù)據(jù)采集接口V4L2控制攝像頭采集視頻,之后經(jīng)過X.264編碼的視頻流通過WiFi無線網(wǎng)絡(luò)和RTP流媒體傳輸協(xié)議傳送至PC客戶端顯示。針對X.264編碼中UMH運動估計算法的不足,采用3×3搜索模板和動態(tài)搜索窗口策略,改進的UMH算法有效降低了算法的編碼時間和運動估計時間,提高了編碼過程的實時性。實驗表明,在不影響圖像質(zhì)量和碼率的前提下,應(yīng)用優(yōu)化算法的無線視頻傳輸單元,運動估計時間效率最大提高32.9%,編碼時間效率最大提高9.18%。

      視頻傳輸 嵌入式系統(tǒng) V4L2 X.264 RTP UMH算法

      穩(wěn)定可靠的視頻圖像無線傳輸方法及其在嵌入式系統(tǒng)中的實現(xiàn)技術(shù),在安防、遙控機器人、視頻會議等眾多應(yīng)用領(lǐng)域都有重要應(yīng)用意義。

      伴隨視頻編解碼技術(shù)高速發(fā)展,X.264編碼器大量運用在視頻傳輸系統(tǒng)中,但是X.264編碼器采用高精度的運動矢量,計算量急劇增加,運動估計消耗時間占到整個編碼過程的60%~80%。因此,對實時性要求較高的視頻傳輸單元而言,研究快速運動估計算法具有重大意義。文獻[1]提出的模式判別算法采用跳過不必要的塊模型,降低運算量,進而降低編碼時間。文獻[2]提出的基于螺旋子集匹配誤差法,采用螺旋子集匹配誤差搜索算子,利用減少搜索點數(shù),降低計算的時間復(fù)雜度,提高編碼效率。目前,X.264編碼器的運動估計算法采用的是2003年清華大學(xué)提出的非均勻十字形多層次六邊形格點搜索算法(UMH)[3],它改善了失真性能,但是UMH算法使用5×5搜索模板和固定搜索窗口。針對X.264中UMH算法的編碼效率的不足,本文提出了一種基于X.264嵌入式無線視頻傳輸單元的優(yōu)化方法,采用3×3搜索模板和動態(tài)搜索窗口策略,降低算法的編碼時間和運動估計時間,提高編碼過程的實時性。本文從整個視頻傳輸單元的硬件、軟件等方面對視頻傳輸單元進行表述,并通過實際的測試來驗證系統(tǒng)的正確性。

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

      本文采用優(yōu)化的UMH算法設(shè)計并實現(xiàn)基于X.264編碼無線視頻傳輸單元。無線視頻傳輸單元主要包括攝像頭采集原始視頻、X.264對視頻編碼和RTP傳輸視頻流等功能。在原始視頻采集過程中,需要V4L2接口調(diào)用攝像頭驅(qū)動程序,操作USB攝像頭,完成JPEG格式圖像采集;其次需要移植LibJPEG庫完成JPEG圖像格式轉(zhuǎn)化,以獲得可直接用于X.264編碼的YUV420格式;最后把經(jīng)過X.264編碼的視頻流通過RTP/RTCP協(xié)議傳輸?shù)絇C客戶端顯示。整個無線視頻流程如圖1所示。

      圖1 基于X.264無線視頻傳輸流程圖
      Fig.1 The X.264 based wireless video transmission chart

      2 系統(tǒng)硬件平臺

      系統(tǒng)硬件部分主要由S3C2440A微處理器芯片、OV7725攝像頭、Lb-link無線WiFi模塊、256 M NandFlash、64 M SdRam、USB HUB、LCD接口、JTAG接口、RS232接口、以太網(wǎng)接口等部分組成。系統(tǒng)硬件設(shè)計框架如圖2所示。

      3 系統(tǒng)軟件設(shè)計

      系統(tǒng)軟件主要包括引導(dǎo)加載程序Bootloader、Linux內(nèi)核、設(shè)備驅(qū)動程序和應(yīng)用層程序。系統(tǒng)軟件的總體設(shè)計框圖如圖3所示。

      圖2 系統(tǒng)硬件設(shè)計框架Fig.2 The system hardware’s design framework

      圖3 系統(tǒng)軟件設(shè)計框架Fig.3 The system software’s design framework

      3.1 V4L2視頻采集模塊設(shè)計

      在Linux 操作系統(tǒng)下,進行視頻圖像采集所使用的接口是Video4Linux2(V4L2)。V4L2是 Linux 系統(tǒng)下視頻設(shè)備驅(qū)動程序,為上層應(yīng)用程序提供了一系列的接口函數(shù),可實現(xiàn)對USB攝像頭、視頻捕捉卡等視頻設(shè)備的操作??紤]到所采用型號為OV7725的USB攝像頭輸出的碼流是JPEG格式并不支持YUV420格式以及嵌入式開發(fā)板的處理器主頻僅為400 MHz,在對其進行X.264的編碼時難以達到系統(tǒng)實時性,因此采用圖像裁剪策略,通過圖像裁剪以及RGB到Y(jié)UV格式轉(zhuǎn)換,減少視頻數(shù)據(jù)量,降低轉(zhuǎn)化時間復(fù)雜度,縮短轉(zhuǎn)化消耗時間。

      JPEG解碼后所獲得RGB圖像大小為320×240,根據(jù)圖像裁剪策略,從存儲的RGB緩沖區(qū)中提取視頻信息,使用循環(huán)遍歷把320×240大小的圖片從中心截取為176×144的RGB格式圖片。由于本文中使用YUV420格式圖像,因此需要完成RGB顏色空間到Y(jié)UV顏色空間的轉(zhuǎn)化,轉(zhuǎn)化公式如式(1)所示。

      (1)

      根據(jù)提出的圖像裁剪策略以及V4L2的設(shè)計規(guī)范,可得到基于V4L2視頻采集流程如圖4所示。

      圖4 基于V4L2視頻采集流程Fig.4 The V4L2-based video capture process

      3.2 優(yōu)化UMH算法的X.264視頻編碼模塊設(shè)計

      2003年3月,ITU-T 和 ISO/IEC 共同發(fā)布了H.264視頻編碼標準,與以往的視頻編碼標準相比,H.264具有較高的數(shù)據(jù)壓縮比率,在同等帶寬的條件下,視頻質(zhì)量提高2~4倍,同時其具有更好的網(wǎng)絡(luò)親和性,加強了對網(wǎng)絡(luò)傳輸?shù)恼`碼和丟包處理能力[4]。結(jié)合嵌入式的特點,本文采用X.264編碼器進行視頻編碼。在X.264編碼過程中,運動估計時間大約占到總編碼時間的60%~80%,在不影響圖像質(zhì)量和碼率的前提下,設(shè)法減少編碼算法的運動估計消耗時間就能有效提高視頻編碼的效率,全搜索算法采用搜索窗口中窮舉匹配當(dāng)前編碼圖像塊,這樣雖然能夠獲得最高的編碼效率,但是其時間復(fù)雜度非常高,因此提出了一些快速運動估計算法來降低視頻編碼的時間復(fù)雜度,比如采用四步搜索法[5]、菱形搜索法[6]、六邊形搜索法[7]等,但是這些算法在不同程度上會陷入局部最優(yōu)。2003年清華大學(xué)提出UMH算法是X.264編碼器標準運動估計算法之一,該算法能夠解決局部最優(yōu)問題。在X.264編碼器中,UMH算法代碼位于x264_me_search_ref()函數(shù)中,不同的宏塊采用不同的閾值,16×16宏塊設(shè)置的閾值分別是threshold1=2 000,threshold2=500。

      UMH搜索算法實現(xiàn)的基本步驟如下:

      Step 1:搜索起始點預(yù)測。

      在x264_mb_predict_mv_16x16()函數(shù)中根據(jù)參考幀與運動矢量的空間相關(guān)性,計算當(dāng)前宏塊的左、中、右3個相鄰宏塊的運動矢量(mva,mvb,mvc)的中值(mvp)作為運動預(yù)測矢量,在加上參考幀的原點mvo=(0,0)的運動矢量,以上的5個點運動矢量(mvo,mva,mvb,mvc,mvp)作為候選點,計算出它們的SAD值,SAD值的最小點標記為最小誤差點(MBD),并以該點(mv)作為搜索起始點。

      Step 2:小菱形模板搜索。

      以Step1中的搜索起始點(mv)為中心進行小菱形模板搜索(小菱形搜索模板如圖5所示),如果搜索起點不等于(0,0),還要以(0,0)點為中心進行小菱形搜索,計算出MBD點以及對應(yīng)的SAD值,如果SAD的值小于threshold1,跳轉(zhuǎn)Step3,否則跳轉(zhuǎn)Step5。

      Step 3:中菱形搜索。

      以Step2的MBD點為中心,以中菱形模板(中菱形搜索模板如圖6所示)進行搜索,得到新的MBD和對應(yīng)的SAD值,如果SAD的值小于threshold2,則結(jié)束搜索,那么當(dāng)前MBD點就是最優(yōu)匹配點,否則轉(zhuǎn)Step 4。

      Step4:非對稱十字模板和正八邊形搜索。

      以Step3的MBD點位中心,采用非對稱十字模板(搜索長度橫軸是縱軸的2倍,非對稱十字模板搜索如圖7所示)進行搜索,可以得到新的MBD點,之后再以該點為中心進行正八邊形搜索(正八邊形搜索如圖8所示),如果MBD點不改變,則結(jié)束搜索,否則轉(zhuǎn)Step5。

      Step5:非對稱十字模板和5×5模板搜索。

      以上面的MBD點為中心,采用非對稱十字模板搜索,計算出MBD點,以該點為中心進行5×5的逐步搜索(5×5搜索模板如圖9所示),如果計算出的MBD值保持不變,轉(zhuǎn)Step7,否則轉(zhuǎn)Step6。

      Step6:擴展六邊形搜索。

      以Step5得到的MBD點為中心,大六邊形模板搜索(擴展六邊形搜索模板如圖10所示),開始搜索半徑是4,以后逐步加4進行搜索,直到搜索邊界為止,再轉(zhuǎn)Step7。

      Step7:以上面的MBD為中心,完成一次六邊形搜索的全部過程。

      通過分析UMH算法的搜索過程,可以發(fā)現(xiàn)UMH算法采用復(fù)合式模板搜索,由中心點分級向外擴展搜索,最大限度地避免了搜索點的重復(fù)計算。但深入分析后發(fā)現(xiàn)UMH算法還是存在以下不足:

      (1)采用5×5逐步搜索模板,急劇增加搜索點數(shù),增大運算量。

      (2)采用固定窗口,在X.264 編碼器中,運動估計中分塊有 4×4 到16×16 等7種不同的大小,顯然對于不同大小的分塊使用同樣大小的搜索窗口不合理,對于小分塊來講這樣必然會增大運動估計的時間復(fù)雜度,而對于大分塊降低運動估計的時間復(fù)雜度。

      針對不足(1),根據(jù)對標準視頻序列運動矢量

      統(tǒng)計,80%的運動矢量集中在5×5像素范圍內(nèi),但是在中間3×3像素范圍內(nèi)運動矢量就高達70%,雖然5×5模板運動矢量比3×3模板高10%,但是搜索點數(shù)卻增加了64%,增大運算量,因此本文采用3×3模板,只需修改模板參數(shù)為3即可。

      針對不足(2),本文采用了一種動態(tài)搜索窗口的優(yōu)化措施。針對不同的當(dāng)前塊每次動態(tài)生成新的搜索窗口,可以采用中值預(yù)測(MVPu)和上層預(yù)測(MVPu)進行動態(tài)搜索窗口大小。如圖11所示,其中:A:原始所搜窗口大小 ;B:動態(tài)搜索窗口大小 ;C:動態(tài)搜索窗口中固定窗口大小 ;D:動態(tài)搜索窗口中可變窗口大小 。

      圖11 動態(tài)搜索窗口Fig.11 Dynamic search window

      動態(tài)搜索窗口計算步驟如下:

      Step1:計算中值預(yù)測值與上層預(yù)測值在x,y分量的絕對差值。

      (2)

      Step2:選取在x,y分量上的絕對差值中的最大值作為動態(tài)搜索部分的值。

      variable_part=max(mvx,mvy)

      (3)

      Step3:動態(tài)搜索窗口大小就等于固定部分與動態(tài)部分之和。

      dynamic_search_range=fixed_part+

      variable_part

      (4)

      3.3 基于RTP/RTCP協(xié)議的視頻數(shù)據(jù)傳輸

      實時性和傳輸質(zhì)量是無線視頻網(wǎng)絡(luò)傳輸?shù)闹攸c,在ISO模型中,實時傳送協(xié)議(Real-timeTransportProtocol/Real-timeTransportProtocol,RTP/RTCP)、實時流協(xié)議(Real-timeStreamingProtocol,RTSP)等傳輸協(xié)議是保證視頻傳輸質(zhì)量的關(guān)鍵因素之一,本文選用RTP/RTCP流媒體協(xié)議。

      RTP是針對音視頻等具有實時性的數(shù)據(jù)提供端對端傳送服務(wù)的協(xié)議,其目的是保證時間信息和實現(xiàn)流同步。RTP一般建立在用戶數(shù)據(jù)包協(xié)議UDP上,RTP只能保證數(shù)據(jù)實時傳輸,但是這種實時傳輸不可靠,RTP協(xié)議一般要求RTCP協(xié)議相互配合來保證傳輸質(zhì)量[9],RTP報文封裝如圖12所示。

      在嵌入式開發(fā)中,可以通過移植RTP庫為應(yīng)用

      程序編寫提供RTP接口。具體的實現(xiàn)過程為:RTP會話的初始化,申請會話流結(jié)構(gòu)體,設(shè)置服務(wù)器IP、端口號、RTP類型、分組負載大小、時鐘頻率等;RTP分組初始化,分配緩沖區(qū),打開Socket使用UDP傳輸;IP數(shù)據(jù)包的發(fā)送,把緩沖區(qū)的數(shù)據(jù)RTP分組,并打包加上頭部信息、時間戳等信息,最后交給IP發(fā)送到網(wǎng)絡(luò)。

      圖12 RTP 報文封裝Fig.12 RTP message encapsulation

      4 實驗平臺搭建及結(jié)果分析

      4.1 實驗平臺搭建

      為驗證所設(shè)計的無線視頻傳輸單元,搭建實驗平臺。通過無線網(wǎng)卡Lb-Link搭建無線網(wǎng)絡(luò)環(huán)境,在ARM視頻采集端設(shè)置IP 地址為 192.168.2.1,端口號為 5 000,啟動傳輸單元測試程序。在PC客戶端,本文選擇了一款免費開源的VLC來測試,VLC 可以作為網(wǎng)絡(luò)流媒體播放器,支持H.264標準。

      4.2 實驗結(jié)果分析

      基于3×3模板和動態(tài)搜索窗口的UMH改進算法,選用3種不同的qcif測試序列進行實驗:container,mobile,foreman。其中encoder_main.cfg配置文件主要配置如下:FramesToBeEncoded=100 f(編碼幀數(shù)),F(xiàn)rameRate=30 f/s(編碼幀率)。

      表1比較了X.264編碼器中原有的X264_ME_DIA,X264_ME_HEX,X264_ME_UMH 3種不同版本算法的編碼性能。在視頻質(zhì)量方面,采用X264_ME_UMH算法的視頻圖像質(zhì)量相對較高,但是在編碼速度方面,X264_ME_UMH編碼速度則比較緩慢,所需的編碼時間要遠遠高于X264_ME_DIA和X264_ME_HEX消耗的時間,這主要是因為X264_ME_UMH搜索的點數(shù)高于X264_ME_DIA和X264_ME_HEX。

      表1 X.264中不同算法版本的性能比較Table 1 Performances of different algorithms in X.264 encoder

      表2比較了原始X264_ME_UMH算法和基于3×3模板和動態(tài)搜索窗口的改進X264_ME_UMH算法,從中可以看出,在編碼碼率的變化不大的情況下,改進的X264_ME_UMH算法采用在一定程度上犧牲視頻圖像質(zhì)量為代價,換來高效的編碼速度,實驗結(jié)果表明,視頻質(zhì)量并沒有很大的改變,但是運動估計時間效率提高最大為32.9%,最小為30.3%,編碼時間效率提高最大為9.18%,最小為8.87%。

      最終實驗效果為,播放器可以獲得較為清晰和流暢的畫面,為解決無線視頻傳輸中視頻數(shù)據(jù)編碼中的圖像清晰度差、實時性弱等問題提供了新的解決方案。

      表2 改進的UMH算法與原始UMH算法比較Table 2 Comparison between optimized UMH algorithm and original UMH algorithm

      5 結(jié)束語

      本文設(shè)計并實現(xiàn)了一種基于X.264的嵌入式無線視頻傳輸單元,對嵌入式硬件平臺等做了簡單的介紹,重點分析了軟件系統(tǒng),包括V4L2視頻采集模塊程序設(shè)計、優(yōu)化UMH算法的X.264視頻編碼模塊設(shè)計以及RTP流媒體傳輸模塊設(shè)計。在X.264視頻編碼期間,為了降低運動估計時間與編碼時間,在分析UMH算法的基礎(chǔ)上,采用了3×3模板和動態(tài)搜索窗口的策略,優(yōu)化UMH算法的X.264編碼器,不僅具有更好的網(wǎng)絡(luò)親和性,并且降低算法的時間復(fù)雜度,提高編碼器的實時性。本系統(tǒng)構(gòu)建了高實時性、低成本、低功耗的嵌入式無線視頻傳輸平臺,對于實時性和視頻質(zhì)量有較高要求的場合,該系統(tǒng)具有一定的應(yīng)用價值。

      [1] ELYOUSFI A, TAMTAOUI A, BOUYAKHF EL H. Fast mode decision algorithm for intra prediction in X.264/AVC video coding[J]. International Journal of Computer Science and Network Security, 2007, 7(1):356-362.

      [2] 毛小明,鮑可進.一種基于X.264/AVC的高性能快速運動估計算法[J]. 計算機應(yīng)用研究,2012,29(4) :1598-1600.

      [3] CHEN Zhi-Bo, HE Yun, XU Jiang-feng. Hybridunsymmetrical cross multi-hexagon-grid search strategy for integer pel motion estimation in X.264[J]. Coding Symposium Saint-Malo, 2003. 17-22.

      [4] WIEGAND T, SULLIVAN G J, BJONTEGAARD G,et al. Overview of the X.264/AVC video coding standard[J]. IEEE Transaction on Circuit and System Video Technology, 2003, 13(7):560-576.

      [5] PO Lai-man, MA Wing-chuang. A novel four-step search algorithm for fast block motion estimation[J]. IEEE. On Circuits and System for video Technology. 1996.4(3):313-317.

      [6] ZHU Shan, MA kai-kuang. A new diamond search algorithm for fast block-matchingmotion estimation[J]. IEEE Transactions on image processing. 2000.2(2):287-290.

      [7] ZHU Ce, LIN Xiao. Hexagon-based search patten for fast block motion estimation[J]. IEEE. On Circuits and System for video Technology. 2002.12(5):349-255.

      [8] CHEN Zhen-xing, SONG Yang, IKENAGA T. A dynamic search range algorithm for variable block size motion estimation in X.264/AVC[J]. IEEE Processing of 2007 6th International Conference on Information, Communications & Signal Processing. 2007.1-4.

      [9] 李校林,劉利權(quán),張杰. 基于RTP的H.264視頻流實時打包傳輸?shù)难芯縖J]. 計算機工程與科學(xué),2012, 34(5):168-171.

      [10] 毛劍飛,張杰,蔣莉. 基于改進的X.264的視頻監(jiān)控系統(tǒng)[J]. 計算機系統(tǒng)應(yīng)用,2014, 23(4):84-90.

      [11] 李勇,袁友偉,汪世瑜,徐偉雷. 運動估計UMHexagonS算法的分析與優(yōu)化[J]. 杭州電子科技大學(xué)學(xué)報,2013, 33(6):49-52.

      [12] 葉文龍,袁友偉,汪世瑜. X.264塊匹配運動估計中UMHexagonS算法的優(yōu)化[J]. 計算機工程與應(yīng)用,2011,47(25):133-136.

      The Embedded Wireless Video Transmission Unit Based on Optimization X.264

      ZHAO Chuang, ZHANG Hua, WANG Heng, ZHANG Jing

      (KeyLaboratoriesforSpecialEnvironmentRobotTechnologyofSichuanProvince,SouthwestUniversityofScienceandTechnology,Mianyang621010,Sichuan,China)

      Aimed at the poor image clarity and weak real-time performance during the video transmission due to the limitation of the conventional video coding technology, a remote wireless video transmission unit based on X.264 standard was designed. With the S3C2440A microprocessor as the core chip and Linux as the operating system and using the video data acquisition interface (V4L2), the camera captures the video signal, which is then X.264 encoded and transmitted to the PC client though the wireless network and RTP streaming media protocol. The 3*3 pattern and dynamic search window has been proposed to solve the lack of the UMH motion estimation algorithm in the X.264 standard. The experimental results show that the improved UMH algorithm can greatly decrease the motion estimation time by 32.9% and improve the encoding time by 9.18% while maintaining the image quality and encoding rate.

      Video transmission; Embedded system; V4L2; X.264; RTP; UMH algorithm

      2014-10-22

      2014四川省科技廳支撐計劃項目(2014gz0021);2013四川省科技廳支撐計劃項目(2013GZX0152)。

      趙創(chuàng)(1988—),男,碩士研究生,主要研究方向為嵌入式技術(shù)。E-mail:zhaochuang0527@126.com

      TP3

      A

      1671-8755(2015)01-0060-06

      猜你喜歡
      實時性嵌入式編碼
      基于規(guī)則實時性的端云動態(tài)分配方法研究
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
      《全元詩》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      Genome and healthcare
      搭建基于Qt的嵌入式開發(fā)平臺
      基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
      航空電子AFDX與AVB傳輸實時性抗干擾對比
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      Altera加入嵌入式視覺聯(lián)盟
      瑞安市| 枣庄市| 措勤县| 新郑市| 太湖县| 商洛市| 泰兴市| 南川市| 双桥区| 桐乡市| 伊春市| 邵阳县| 奇台县| 克什克腾旗| 江都市| 威海市| 池州市| 乐安县| 响水县| 惠东县| 公主岭市| 绥中县| 南皮县| 满城县| 遵化市| 内丘县| 嘉兴市| 永平县| 剑阁县| 梁平县| 苏尼特左旗| 南丰县| 博乐市| 屏南县| 泰宁县| 霍山县| 德安县| 宿州市| 公主岭市| 湛江市| 绩溪县|