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

基于SoC的小型集成化視頻采集處理系統研究

2019-01-07 11:57:24
計算機測量與控制 2018年12期
關鍵詞:系統

(北京特種機械研究所,北京 100143)

0 引言

目前實時視頻采集與處理系統在智能武器裝備、工業自動化生產等領域有著廣泛的應用。由于實時視頻采集與處理系統要求處理器具有較高的數據帶寬和處理速度,這對于高配置的PC機系統能滿足要求,但PC機系統一般體積較大,操作系統規模大,不穩定性增多,同時功耗較大,存在散熱問題;而對于多數DSP或單FPGA方案存在難以滿足高數據帶寬和處理速度的要求,對于DSP+FPGA的擴展方案,系統又變得復雜,且產品也難以滿足小型化、集成化要求。為此,本文基于Xilinx公司高性能Zynq-7000SoC芯片,設計了一種小型集成化通用視頻采集與處理平臺系統,利用HLS工具將圖像預處理算法快速打包生成IP核,在PL中實現圖像算法硬件加速設計,提高了視頻采集與處理快速性和實時性,通過實例和性能對比測試驗證了系統的有效性。

1 系統硬件設計

基于SoC的實時視頻高速采集處理系統原理框圖如圖1所示,系統主要由高速CMOS攝像頭傳感器, Zynq-7000 SoC可擴展處理平臺、數據存儲單元DDR3和VGA視頻顯示器等組成。Zynq-7000 SoC可擴展平臺作為整個實時處理系統的核心,包括ARM處理系統(Processing System,PS)和FPGA可編程邏輯(Programmable Logic,PL)兩部分,其中PS部分包含了最高可運行在1 GHz的雙Cortex-A9核,高性能的DDR3控制接口和大量的通用外設接口,PL部分為Xilinx最新的28 nm工藝FPGA,可提供100 Gb/s的內部帶寬,內部邏輯資源非常豐富,PS和PL之間通過高速AXI總線互聯進行通信,片內帶寬足夠大,消除了芯片間互聯存在的帶寬瓶頸問題。

根據數據流向,系統讀取外界視頻數據信息的流程為:PL部分負責從CMOS圖像傳感器中獲取視頻信息,通過數據轉換IP核將視頻數據從BAYER格式轉化為RGB數據格式,然后傳送到圖像預處理模塊實現對RGB像素信息的各種預處理,如灰度化、濾波、邊緣化等,此模塊利用Xilinx的HLS工具,通過C語言編程實現各種圖像預處理IP核的快速定制,而后通過VDMA IP核將處理后的視頻數據傳輸至DDR3內存芯片中存儲,最后PS從DDR3內存芯片中讀取經幀緩沖的圖像數據,進一步對視頻特征信息進行處理和計算,處理結果不僅可以通過千兆以太網進行遠傳,而且可以通過VDMA IP核、VGA接口控制IP核在顯示器上進行實時顯示。

圖1 系統原理框圖

1.1 攝像頭數據轉換模塊

攝像頭模塊采用OmniVision公司的0V5640攝像頭模塊,具有高幀頻、可配置、低功耗、低成本等優點,該攝像頭模塊CMOS陣列大小為2592×1944,能夠采集多種分辨率的圖像,最高可支持500萬像素分辨率,在最高分辨率下幀率可達15fps,在1080p時幀率可達30fps。同時,可通過SPI口配置OV5640片上控制寄存器,實現對攝像頭時序、信號極性等功能靈活配置。

0V5640攝像頭使用Bayer顏色格式,即CMOS芯片的感光陣列中,每個單元都只含有紅、綠、藍三者之一的濾鏡。為了得到RGB像素,需要通過相應的算法將Bayer顏色格式轉換為RGB格式,即首先根據攝像頭輸出的同步信號以及數據有效信號,采集攝像頭原始數據;然后運用雙線性插值法將這些原始數據進行處理,最終得到RGB像素。該算法通過在PL內封裝攝像頭數據轉換IP核實現,以提高數據的處理速度。

1.2 視頻預處理模塊

視頻預處理模塊用于實現對視頻圖像的預處理功能,如灰度化、二值化、濾波、邊緣化等。本文利用Xilinx公司的HLS工具,將圖像預處理算法通過C語言代碼綜合、仿真生成高效的RTL電路,并打包生成IP核,在PL中實現了圖像預處理算法的并行計算,通過這種算法的硬件加速模式使視頻圖像處理的實時性得到極大提高。下文利用HLS工具對Sobel邊緣檢測算子的硬件加速過程進行了詳細介紹。

1.2.1 Sobel邊緣檢測

Sobel邊緣檢測算子主要用于灰度圖像的邊緣檢測,能夠有效檢測出物體的輪廓。Sobel算子包含兩組矩陣,大小為3×3,如圖2所示,分別為橫向算子和縱向算子。在一幅圖像中,用算子對圖像進行卷積運算,分別得到圖像橫向和縱向的亮度差分近似值。

圖2 Sobel算子

如果以A代表待處理的圖像,以GX和Gy分別代表經過橫向、縱向算子卷積后的圖像灰度值,那么公式如(1)、(2)所示:

*A

(1)

(2)

以f(x,y)表示圖像A中(x,y)點的灰度值,那么由式(1)、(2)展開得式(3)、(4):

GX=[f(x+1,y-1)+2×f(x+1,y)+

f(x+1,y+1)]-[f(x-1,y-1)+2×f(x-1,y)+

f(x-1,y+1)]

(3)

Gy=[f(x-1,y-1)+2×f(x,y-1)+

f(x+1,y-1)]-[f(x-1,y+1)+2×f(x,y+1)+

f(x+1,y+1)]

(4)

圖像中每一個像素的橫向及縱向灰度值大小由式(5)計算得到。

(5)

為了在FPGA中提高運算效率,將式(5)近似為式(6)。

G=|GX|+|Gy|

(6)

1.2.2 HLS實現Sobel算子

在HLS工具中,包含了一個專用于視頻處理的Vivado HLS視頻處理開源函數庫,庫中的函數和OpenCV函數具有相似的接口和算法,可用于實現很多基本的OpenCV函數功能,但它是針對FPGA架構實現的圖像處理函數,與OpenCV函數又有著本質的區別。由于在HLS視頻處理函數庫中有Sobel函數,因此可以直接采用此函數通過C或C++代碼綜合、仿真生成高效的RTL電路,而后打包生成功能IP核,從而大大提高了圖像預處理算法開發效率。Sobel算子IP核的開發設計流程如圖3所示。

圖3 基于HLS實現Sobel算子設計流程

首先利用HLS工具自帶約束指令將接口約束為AXl4-Stream總線,并利用HLS視頻處理函數庫中提供的AXl4-Stream與hls::Mat轉換函數實現Mat類型的轉換,定義hls::Mat類型的變量,用于存放處理過程中的臨時Mat。

然后,將Mat類型的圖像由三通道的彩色圖像轉換成單通道的灰度圖像:

RGB_IMAGE src(rows,cols);

GRAY_IMAGE gray(rows,cols);

GRAY_IMAGE sobel(rows,cols);

其中,RGB-IMAGE與GRAY-IMAGE的區別在于通道數,RGB_IMAGE有三通道,GRAY-IMAGE有一個通道。每個hls::Mat的高度為rows,寬度為cols。

而后通過調用HLS函數庫中的Sobel算法對灰度化圖像進行邊緣化處理,并將處理后的Mat類型圖像轉換成視頻流的格式輸出,核心函數為:

#program HLS dataflow

hls::AXIvideo2Mat(input,src);

hls::CvtColor(src,gray);

hls::Sobel<1,0,3>(gray,sobel);

hls::Mat2AXIvideo(sobel,output);

最后進行代碼綜合,綜合完畢后,需要對HLS的RTL進行仿真。HLS工具可以通過調用hls_opencv.h頭文件,調用OpenCV函數,對生成的模塊進行功能仿真,最終打包生成sobel算子IP核。在打包生成IP核同時也生成了一些頭文件和C文件,這些文件中包含IP核的寄存器定義和偏移地址,以及IP核的驅動函數API等。

1.3 VDMA模塊

存儲器直接訪問(Direct Memory Access,DMA)技術是用于數據快速交換的一種重要技術,它具有獨立于CPU的后臺批量數據傳輸能力,能夠滿足實時圖像處理中高速數據傳輸要求,利用PS上的AXI_HP高速接口完成把經預處理的圖像經過VDMA(視頻直接內存存取)直接緩存在由設備驅動程序預設的DDR3內存中,從而大大提高可編程邏輯部分與處理器部分圖像傳輸速度,為視頻數據高速傳輸提供了保障。

在本系統中,VDMA IP核將AXI4-Stream數據轉換成AXI4總線,實現視頻數據的DDR3存儲;同樣也將AXI4總線轉換成AXI4-Stream數據流,實現存儲器數據的讀取;具體的讀寫地址、讀寫數據量的大小等由PS端通過AXI4-Lite總線進行配置。VDMA IP核實質是一個總線轉換IP,實現AXl4-Stream與AXl4總線間數據的高速轉換。本文調用了Vivado中自帶的VDMA IP核,其結構如圖4所示。

圖4 VDMA IP核結構框圖

1.4 VGA接口控制模塊

該模塊實現將VDMA 的AXI4-Stream格式的輸出信號轉換成VGA時序信號,以便能夠和VGA接口顯示器相連。FPGA并行計算的優勢,滿足了VGA數據實時更新與顯示的要求。VGA接口控制IP核的結構如圖5所示,主要由異步FIFO、FIFO的寫邏輯、輸出同步模塊以及數據格式轉換器等組成。AXI4-Stream的Valid信號控制FIFO的寫使能,而Ready信號則由FIFO的滿信號取反得到,輸出同步模塊根據FIFO的狀態參數(如當前FIFO內數據個數等)、eol、sof等參數信號,讀取FIFO,其功能是將video時序信號與FIFO讀取出的AXl4-Stream的數據進行同步。通過Verilog語言編寫的邏輯程序,數據格式轉換器將輸出視頻信號的行場同步數據,數據有效信號等轉換成VGA接口需要的RGB數據,行場同步以及VGA時鐘。其中,轉換出的24位RGB數據信號分別為8位的R信號,8位的G信號, 8位的B信號。不同分辨率下,VGA接口控制模塊的像素時鐘不同,像素時鐘根據需求由可配置時鐘模塊產生。

圖5 VGA接口控制IP核

2 系統軟件設計

系統硬件工程在Vivado綜合完畢后,在生成PL硬件Bit流的同時,會生成一個BSP板級支持包,在PL內部通過AXl4-Lite總線與PS相連的各功能IP核的物理地址信息都包含在這個BSP板級支持包里。系統驅動軟件基于BSP包內地址信息實現各IP核初始化配置,通信控制等功能。

系統軟件基于Vivado自帶的SDK開發平臺進行設計,采用C語言編程,系統軟件流程圖如圖6所示。首先,系統上電后,PS先啟動,經過硬件平臺初始化,IO輸入輸出接口(GPIO)初始化,攝像頭參數配置,基于BSP包的各IP核配置以及VDMA配置等一系列配置操作后,PL部分的IP核開始進入正常工作模式。配置結束后,軟件進入主循環,分配VDMA的讀寫緩沖區,分配完畢后從緩沖區中讀取、處理圖像,并寫入DDR3相應地址。每一次循環都需要重新分配緩沖區的地址,最后將處理完畢的圖像通過千兆以太網進行遠傳或者在顯示器上進行實時顯示。

圖6 系統軟件流程圖

3 系統功能及性能測試

系統功能和性能在SnowLeo開發平臺上進行測試,該開發平臺大小為80 cm×60 cm,板載Zynq-7020SoC芯片,外設主要由CMOS攝像頭、VGA顯示器、上位機組成。上位機通過仿真器與SnowLeo平臺連接,將系統軟件燒寫到芯片中,SnowLeo平臺通過VGA接口與顯示屏VGA接口相連,用于顯示視頻處理結果。SoC視頻處理系統功能測試連接關系如圖7所示,圖8為系統功能的驗證結果,圖8(a)所示為視頻圖像原始信息,圖8(b)為圖8(a)經Sobel算子加速后得到的處理結果,可見系統功能正常,能夠正確檢測并清晰顯示圖像的邊緣信息。

圖7 系統測試連接關系

圖8 系統功能測試結果

為了測試本文提出的視頻處理系統的性能,利用Opencv在PS部分應用層軟件也實現了Sobel邊緣檢測算法,然后對圖像處理的幀率進行了比較測試。

基于Opencv的Sobel圖像處理函數的API定義如下:

void sobel(char*rgb_data_in,char*rgb_data_out,int height,int width,int stride)

其中,*rgb_data_in為指向輸入端某一幀幀緩存圖像初始地址rgb_data_in的指針。*rgb_data_out為指向輸出端某一幀幀緩存圖像初始地址rgb_data_out的指針。形參中還包括height,width與stride三個參數,表示了一幀圖像的高度、寬度與步長。

對于本文提出的基于PL硬件實現Sobel邊緣檢測,由于沒有PS參與處理,因此通過示波器測量圖像處理模塊IP核的中斷信號測試幀率。對于基于Opencv軟件實現Sobel邊緣檢測算法,每一幀處理完畢都會產生一個中斷信號,因此只需測量相鄰兩個中斷信號之間的時間,即可計算出幀率。表1為基于PL硬件實現Sobel邊緣檢測和基于Opencv軟件實現Sobel邊緣檢測兩種情況下幀率的測試結果,為了提高測試精度,各測試3次,每次測20幀圖像數據,然后求平均時間。測試攝像頭分辨率配置成640x480,幀率為30 fps。

表1 性能測試結果對比

可見,將基于PL硬件實現Sobel邊緣檢測平均時間換算成幀率,仍為攝像頭的幀率,這是因為硬件中,窗口數據的處理為實時的流處理,只要滿足時序約束,圖像處理的幀率即和攝像頭輸入幀率保持一致。而基于Opencv軟件實現Sobel邊緣檢測由于采取的是純軟件串行處理的模式,幀率只有攝像頭輸入幀率的1/15倍,可見本文提出的系統視頻圖像信息處理的快速性和實時性較好。

4 結束語

本文基于Xilinx公司高性能Zynq-7000 SoC芯片,提出了一種小型集成化通用視頻采集處理系統設計方法,利用HLS工具將圖像預處理算法快速打包生成IP核,在PL中實現了圖像預處理算法的硬件加速,與傳統設計方案相比,視頻圖像處理的快速性和實時性得到了極大提高,而且滿足了視頻處理設備小型化、集成化、低功耗發展需求,通過設計實例驗證了系統的有效性。本設計采用的基于可編程SoC視頻圖像處理技術,將會是未來視頻圖像處理技術的發展方向,在智能武器裝備,工業自動化生產等軍民領域具有廣闊的應用前景。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 亚洲色图另类| 青青青国产视频手机| 国产高清在线观看91精品| 18禁黄无遮挡网站| 永久天堂网Av| 天天爽免费视频| 四虎精品国产AV二区| 午夜电影在线观看国产1区| 国产在线视频导航| 色网站在线免费观看| 国产一级视频久久| 精品国产香蕉在线播出| 国产va免费精品观看| a级毛片在线免费| 国产精品99一区不卡| 91久久国产热精品免费| 91亚洲免费| 色婷婷天天综合在线| 久久国产拍爱| 国产玖玖视频| 国产xx在线观看| 黄色网址免费在线| 人与鲁专区| 无码一区二区波多野结衣播放搜索| 在线国产资源| 欧美国产菊爆免费观看| 红杏AV在线无码| 亚洲一区二区成人| 91在线无码精品秘九色APP| 国产91小视频在线观看| 狠狠干欧美| 久久青青草原亚洲av无码| 婷五月综合| 国产在线一区视频| 国产色偷丝袜婷婷无码麻豆制服| 欧洲av毛片| 熟妇丰满人妻| 一区二区偷拍美女撒尿视频| 久久成人国产精品免费软件 | 色综合国产| 国产超薄肉色丝袜网站| 无码精油按摩潮喷在线播放| a亚洲天堂| 国产丝袜第一页| 国产成人精品三级| 欧美亚洲欧美| 久久99精品久久久大学生| 四虎在线高清无码| 亚洲天堂视频网站| 青青热久免费精品视频6| 中文字幕久久精品波多野结| 九色综合伊人久久富二代| 人人91人人澡人人妻人人爽| 免费在线一区| 国产精品大尺度尺度视频| 亚洲精品亚洲人成在线| 国产精品极品美女自在线看免费一区二区| 久久精品中文字幕免费| 日本人妻丰满熟妇区| 国产丝袜啪啪| 欧洲日本亚洲中文字幕| 91精品综合| 在线观看国产网址你懂的| 国产精品亚洲综合久久小说| 色九九视频| 成人亚洲天堂| 国产h视频在线观看视频| 婷婷六月在线| 精品色综合| 四虎在线观看视频高清无码| 亚洲欧美日韩天堂| 亚洲成人一区二区| 中文无码伦av中文字幕| 欧美日韩v| 免费毛片a| 天堂在线视频精品| 亚洲午夜片| 色综合久久88| 极品国产一区二区三区| 精品亚洲欧美中文字幕在线看| 毛片免费观看视频| 99久久亚洲精品影院|