999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Zynq-7000的視頻處理系統框架設計

2017-06-05 14:15:40張索非
計算機技術與發展 2017年5期
關鍵詞:嵌入式系統設計

李 朗,張索非,楊 浩

(1.南京郵電大學 電子科學與工程學院,江蘇 南京 210003;2.南京郵電大學 物聯網學院,江蘇 南京 210003)

基于Zynq-7000的視頻處理系統框架設計

李 朗1,張索非2,楊 浩1

(1.南京郵電大學 電子科學與工程學院,江蘇 南京 210003;2.南京郵電大學 物聯網學院,江蘇 南京 210003)

隨著嵌入式機器視覺技術的不斷發展,對視頻數據帶寬、處理速度和數據精度的要求越來越高。針對當前基于ARM及DSP的嵌入式圖像處理系統存在的采集速度慢、帶寬有限等缺點,提出了一個基于內部集成ARM+FPGA結構的Zynq-7000芯片且能夠實現軟硬件協同工作的視頻處理系統框架。該系統框架采用FPGA并行處理算法實現圖像預處理環節,采用ARM處理器進行程序流程控制以及實現復雜的圖像識別算法,通過DDR緩存以實現軟件與硬件的協同工作,在保證處理速度與帶寬的基礎上兼顧了系統功能的靈活性,并且降低了系統功耗。測試驗證結果表明,所提出的系統框架不僅可以提供高速彩色圖像采集和預處理的方案,同時還可以實現高性能的中端圖像處理算法,并能夠將結果快速送達顯示端顯示。

Zynq-7000;圖像采集;圖像處理;軟硬件協同

0 引 言

視頻采集和處理系統在視頻監控、自動化生產等領域有著廣泛的應用需求。而越來越廣泛的應用對視頻流處理的分辨率、清晰度以及實時性等指標也提出了更高的要求。傳統的數字信號處理(Digital Signal Process,DSP)加片上處理器芯片(如ARM)構成的解決方案[1]逐漸顯現出帶寬過窄、處理性能不足等缺陷。而單純以現場可編程門陣列(Field Programmable Gate Array,FPGA)作為解決方案[2],雖然在處理速度上可以達到要求,卻無法像傳統的嵌入式開發一樣以較短的周期進行復雜的圖像算法流程實現,從而使整個系統的功能受到了限制。以工業自動化生產以及機器人等視頻處理需求密集的行業為例,現代視頻采集處理系統通常由視頻采集前端、圖像預處理以及圖像信息提取三個部分構成。其中視頻采集以及預處理部分需要系統高速處理視頻流信號以滿足高清視頻格式的要求,而圖像信息提取則要求系統能夠調用圖像特征提取、匹配等功能,將圖像信號轉換為高級語義信息。三部分功能的結合對于系統的軟硬件性能以及通信帶寬都提出了更高的要求。

針對新興的應用需求,基于Xilinx公司推出的Zynq-7000[3]平臺來構建彩色視頻采集和顯示系統。Zynq基于可擴展處理平臺(Embedded Processing Platform,EPP)結構,將雙精度浮點引擎的ARM Cortex-A9雙核處理器與低功耗可編程邏輯緊密結合,提供了強大的靈活性、可配置性和系統性能。平臺主要由處理系統(Processing System,PS)和可編程邏輯(Programmable Logic,PL)兩大功能模塊構成。其中,PS主要包括應用處理單元(Application Processing Unit,APU)、存儲器接口、I/O外設;PL則采用FPGA技術實現擴展功能以滿足特定的功能要求。兩部分以高速片上總線AXI(Advanced eXtensible Interface)互聯,保證整個系統的處理帶寬。鑒于以上優點,Zynq解決方案在工業視覺以及視頻監控領域獲得了越來越多的關注[4-6]。以Zynq平臺為基礎,以DDR3內存為圖像緩存設計視頻采集、硬件預處理、軟件處理的程序流程,實現了軟硬件協同的視頻信號采集、處理以及顯示功能。

1 系統硬件總體框架

系統硬件框圖如圖1所示,包含采集、緩存、處理以及顯示四個模塊,分別由PS和PL部分協同完成,而各部分通過AXI總線內部互聯[7]。

圖1 系統硬件結構框圖

(1)圖像采集部分在PL端完成,OV7725 CMOS攝像頭使用排線和ZYNQ-7000相連,信號通過Verilog HDL描述的控制器進入系統。PS通過IIC協議來配置和初始化OV7725攝像頭,采集到的圖像數據轉化為AXI-Stream總線型數據以便使用Xilinx的Video IP核進行圖像校正增強的預處理。OV7725攝像頭采用常見的30萬像素格式采集圖片(640×480),幀率為60 fps/s,每像素通信帶寬32 bit,理論上所需的最小IO吞吐量為562.5 Mbit/s,而系統的高速IO接口最高達到10 G/s帶寬,完全滿足了系統的要求。

(2)PL部分采集圖像通過AXI-VDMA(視頻直接內存訪問接口)存入DDR3進行緩存,AXI總線協議包括9個物理接口,分別為AXI-GP0~AXI-GP3,AXI-HP0~AXI-HP3,AXI-ACP。其中兩個AXI-GP為主機接口,雖然寬帶性能較低,卻具有發起讀寫的權限。通過把PL映射到DDR3中的相應地址,ARM就可以利用該接口訪問PL,如同讀寫自己的內部存儲器。其余接口則為被動接口,允許PL部分以高速主動讀寫。

(3)圖像處理功能由PL和PS協作完成,PL使用一系列IP核對原始圖像進行預處理,經過Video Pipeline轉化為32位ARGB格式的數據流。數據流通過雙端口AXI VDMA存入DDR,PS調用該緩存地址圖片并使用軟件算法進行信息提取,實現軟硬件協同處理功能。

(4)處于PL中的視頻顯示部分通過一個雙端口的AXI-VDMA從DDR中讀取含有軟件處理結果的渲染后圖片,并將圖片送入HDMI輸出控制器以實現圖像顯示。

2 系統數據處理流程

視頻流數據經過系統各環節處理的流程如圖2所示。采集圖像首先通過陣列插值、顏色校正以及亮度校正等一系列基礎預處理模塊獲得比較理想的顯示質量,然后通過高層次綜合(High-Level Synthesis,HLS)的IP模塊進行處理。HLS為Xilinx推出的新型開發工具,可以由C/C++標準規范直接綜合至寄存器傳輸級別(Register Transfer Level,RTL)模型,以較短的周期實現硬件開發。通常一些并行化程度高的像素級算法操作可以放入該模塊進行高速實現。

經過圖像預處理后,圖片被緩存于Buffer1中,PS部分從緩存中讀取圖片并進行軟件算法處理,在輸出結果的同時將渲染后的結果圖像送至Buffer2進行緩存。而顯示部分讀取圖片以后將RGB通道圖片轉為YUV通道圖片,最終送至HDMI顯示控制器進行顯示。圖像的采集和顯示都由PL部分實現,保證了整個流程的處理速度。而圖像算法一方面由HLS通過硬件實現預處理,另一方面通過PS軟件實現后續算法。其中軟件實現部分可以使用OpenCV[8]等開源庫構建標準C/C++規范流程,在保證系統靈活性和功能的同時,兼顧了執行效率和開發周期。

圖2 系統處理流程圖

3 驅動設計及系統移植

3.1 嵌入式Linux系統搭建

嵌入式Linux是將Linux內核進行剪裁和修改,使之能夠運行在嵌入式系統上的一個小型系統。Xilinx公司提供了一個Linux平臺的嵌入式Linux開發環境Petalinux[9]。Petalinux工具不僅提供了Linux內核(Kernel)、U-boot、文件系統以及嵌入式應用程序的配置和編譯方法,還整合了同步Vivado FPGA硬件設計工程到Petalinux中的方法,方便了軟硬件協同設計。在以Zynq為核心的硬件系統中,U-boot、Linux內核、驅動程序以及應用程序的編譯工作都要借助整合在Petalinux中的arm-xilinx-linux-gnueabi-gcc交叉編譯器來完成。該交叉編譯器可將各系統組件程序進行預處理、編譯、匯編和鏈接,最終生成能夠運行在Zynq體系結構中的二進制可執行文件。

3.2 驅動程序設計

設備驅動程序是建立在硬件與軟件之間互聯的一種接口程序。Linux系統將存儲器和外設大致分為三類,分別為字符設備、塊設備和網絡設備。在PL中實現了視頻采集和視頻顯示的各個IP核模塊,在驅動中則要為每一個IP核添加對應的驅動程序。PS與該模塊交互的方式主要有三種[10]:通過PS部分的專用串行接口直接訪問,作為AXI總線外設供PS部分訪問,作為IP核虛擬成獨立的邏輯器件單獨訪問。該系統采用第二種方式訪問,打開IP核的AXI Lite總線接口,使得PS能通過AXI Lite總線接口來配置IP核寄存器。

由于OV7725攝像頭采集的圖像格式為Bayer,圖像數據中每一個像素點只有R、G、B中的一個顏色分量,還需要通過彩色濾波陣列(ColorFilterArray,CFA)插值算法對信號進行插值處理,即在每個通道上使用相鄰像素點的對應值對當前像素進行估計。現以CFAIP核為例說明驅動程序的設計方法。

由于Linux內核中的V4L2驅動框架為視頻設備提供了供上層訪問的統一接口[11],對于CFAIP核的驅動設計的主要思路是將CFA作為一個視頻處理模塊整合進V4L2的框架之下。V4L2驅動框架支持視頻輸入輸出設備、VBI設備以及Audio設備等,通常這些設備要通過多個I2C總線或SPI總線實現和CPU的通訊。將設備掛載至總線作為子設備(Sub-devices)即可使用V4l2框架,將CFA模塊掛載為V4l2_Subdev并驅動設備的工作流程如圖3所示。

圖3 CFA驅動工作流程圖

具體設計流程如下:

(1)構建CFADevice結構體。

(2)基于Platform虛擬總線設計設備初始化和退出函數,并關聯相應設備樹資源。

(3)構建CFA的視頻操作函數、V4L2內部處理函數、Media操作函數。

(4)根據Sysfs文件系統結構設計設備屬性讀寫函數,創建屬性組并注冊相應的V4L2-Subdev設備。

(5)驅動完成調試后加入Linux內核編譯,以內嵌模式加入內核,并最終生成系統鏡像uImage。

4 測試結果分析

平臺基于OV7725攝像頭運行測試并進行性能分析,每一幀640×480分辨率圖像通過PL進行預處理存入DDR,應用層軟件通過V4L2驅動框架調出圖片進行軟件處理,處理后結果圖片經過顏色空間轉換變為YUV格式送至HDMI顯示,圖4為整個系統的實物圖及運行示例。

圖4 視頻處理系統平臺實物圖

系統實現了一種經典的Harris角點檢測算法[12]。首先將輸入圖像轉換為單通道灰度圖像,后使用Harris方法檢測角點,最終檢測結果渲染至原彩色圖像進行顯示,檢測結果參見圖5。其中圖5(b)是在PS部分與應用層以OpenCV方案實現角點檢測,而圖5(c)則是在PL部分使用HLS[13-14]方案實現檢測。可以發現兩種方法最終的檢測結果基本一致。而從表1中的算法執行效率對比中可以發現,軟硬件協同處理一幀圖像只需要3 458μs,與純ARM實現角點檢測算法相比效率提高了15.2倍。

(a)原始采集圖像 (b)軟件實現角點檢測結果圖像 (c)硬件實現角點檢測結果圖像

圖5 檢測結果

表1 圖像處理算法的執行速度比較

5 結束語

針對高分辨率、高帶寬下ARM及DSP芯片處理視頻數據效率低的問題,提出了一套基于Zynq-7000平臺使用軟硬件協同處理的視頻采集、處理及顯示方法,并結合CMOS攝像頭有效地驗證了設計的正確性。實驗結果表明,所設計的基于Zynq-7000的視頻采集處理框架具備了完整的圖像采集、存儲、處理和顯示功能。同時,平臺可以根據實際需求在PL及PS部分繼續添加各種圖像處理環節,實現更為復雜的功能,為后續的視頻處理系統實現提供了基礎。

[1] 肖政宏,韓秋鳳,朱麗群.基于ARM和DSP的遠程視頻監控系統的設計與實現[J].計算機工程與科學,2006,28(9):53-55.

[2] 祝長鋒,肖鐵軍.基于FPGA的視頻圖像采集系統的設計[J].計算機工程與設計,2008,29(17):4404-4407.

[3] 何 賓.XilinxAllProgrammableZynq-7000SoC設計指南[M].北京:清華大學出版社,2013.

[4] 劉 宏,符意德.基于Zynq芯片的圖像處理系統平臺設計[J].計算機與現代化,2015(8):43-47.

[5] 楊曉安,羅 杰,蘇 豪,等.基于Zynq-7000高速圖像采集與實時處理系統[J].電子科技,2014,27(7):151-154.

[6] 孟繁星.基于ZYNQ-7000的視頻圖像處理系統設計[J].信息通信,2015(8):60-62.

[7] 陸佳華,潘祖龍,彭競宇.嵌入式系統軟硬件協同設計實戰指南[M].北京:機械工業出版社,2014.

[8]BradskiG,KaehlerA.LearningOpenCV:computervisioninC++withtheOpenCVlibrary[M].[s.l.]:O'ReillyMedia,Inc.,2013.

[9]XilinxInc.XilinxPetaLinuxSDKuserguide:gettingstartedguide[EB/OL].2013-04-22.http://www.xilinx.com/support/documentation/sw_manuals/petalinux2013_04/ug977-petalinux-getting-started.pdf.

[10] 葉 棽,謝捷如.基于SoC和嵌入式Linux的數據采集系統設計[J].計算機技術與發展,2015,25(8):203-207.

[11] 張 輝.基于V4L2的嵌入式視頻驅動程序開發與實現[D].合肥:安徽大學,2010.

[12]HarrisC.Acombinedcornerandedgedetector[C]//Alveyvisionconference.[s.l.]:[s.n.],1988:147-151.

[13]LiC,ChengWS,FanJZ,etal.Parallelimageprocessingtechnologyofsurfacedetectionsystem[J].SemiconductorPhotonicsandTechnology,2008,14(4):217-223.

[14]Colodro-CondeC,Toledo-MoreoFJ,Toledo-MoreoR,etal.ApracticalevaluationoftheperformanceoftheimpulseCoDeveloperHLStoolforimplementinglarge-kernel2-Dfilters[J].JournalofReal-TimeImageProcessing,2014,9(1):79-83.

Design of Video Processing System Framework with Zynq-7000

LI Lang1,ZHANG Suo-fei2,YANG Hao1

(1.College of Electronic Science and Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China;2.College of Internet of Things,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)

With the continuous development of embedded machine vision technology,the requirement of video data bandwidth,processing speed and data accuracy has become higher and higher.Current embedded image processing system are mainly based on ARM with DSP framework.Such designs normally come with deficiencies as low acquisition speed and limited processing bandwidth.To address this problem,Zynq-7000 has been adopted to realize a video processing framework by synergy of FPGA as hardware and ARM as software.FPGA acts as an implementation of parallelized image preprocessing algorithm as well as ARM processing unit to control the program flow and to implement the complex image processing algorithms are integrated in this framework.A DDR buffer has been exploited to coordinate the hardware and software.Such synergy ensures the processing efficiency and bandwidth of system,while considering the flexibility of system simultaneously.The experimental results show that not only can the design provide a high speed color image acquisition and preprocessing,but also can implement a high performance image processing algorithm with video display of graphic results.

Zynq-7000;image acquisition;image processing;synergy of software and hardware

2016-05-26

2016-09-09 網絡出版時間:2017-03-13

國家自然科學基金面上項目(41471329)

李 朗(1990-),男,碩士研究生,研究方向為嵌入式系統、圖像處理;楊 浩,博士,副教授,研究方向為物聯網、機器視覺。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170313.1546.062.html

TP302

A

1673-629X(2017)05-0192-04

10.3969/j.issn.1673-629X.2017.05.040

猜你喜歡
嵌入式系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 97精品伊人久久大香线蕉| 最新国产高清在线| 亚洲日韩在线满18点击进入| 8090午夜无码专区| 秋霞午夜国产精品成人片| 色欲色欲久久综合网| 婷婷久久综合九色综合88| 毛片网站在线播放| 丰满人妻被猛烈进入无码| 又污又黄又无遮挡网站| 国产在线自在拍91精品黑人| 视频在线观看一区二区| 99视频有精品视频免费观看| 99精品一区二区免费视频| 国产成人精品第一区二区| 婷婷午夜天| 亚洲黄色视频在线观看一区| 中国一级特黄视频| 亚洲最新在线| 制服丝袜国产精品| 四虎成人精品在永久免费| 欧美日韩理论| 午夜电影在线观看国产1区| 天天色天天综合| 中文字幕亚洲另类天堂| 久久精品午夜视频| 成人午夜在线播放| 亚洲成a人片在线观看88| 国产免费黄| 久久久久亚洲精品无码网站| 成人日韩视频| 国产精品嫩草影院视频| 国产AV毛片| 日韩一区二区三免费高清| 欧美a在线视频| 欧美在线黄| 亚洲成人黄色在线| 91丝袜在线观看| 欧美精品H在线播放| 91在线播放免费不卡无毒| 久久久久青草线综合超碰| 日韩无码黄色| 国产黄在线免费观看| 人妻无码一区二区视频| 亚洲欧美色中文字幕| 久久青草热| 国产人碰人摸人爱免费视频| 国产女人爽到高潮的免费视频| 中文字幕免费视频| 中文字幕亚洲乱码熟女1区2区| 一本大道香蕉久中文在线播放 | 国内毛片视频| 国产精品免费p区| 欧美成人综合在线| www.精品视频| 国产精品亚欧美一区二区| 极品国产一区二区三区| 在线观看av永久| 欧美另类视频一区二区三区| 亚洲国语自产一区第二页| 国模极品一区二区三区| 亚洲欧洲日产国产无码AV| 久久不卡精品| 久久99国产乱子伦精品免| 国内精品视频| 国产成人高精品免费视频| 亚洲经典在线中文字幕| 亚洲日韩精品综合在线一区二区| 午夜激情福利视频| 精品第一国产综合精品Aⅴ| 欧美日韩中文字幕二区三区| 亚洲愉拍一区二区精品| 最新国产精品第1页| 午夜久久影院| 国产成人亚洲欧美激情| 色成人综合| 99精品免费在线| 伊人成人在线| 国产91线观看| 99久久精品免费看国产电影| 欧美中文字幕无线码视频| 成人一区专区在线观看|