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

基于FPGA云的實時圖像處理在線驗證平臺設計

2022-02-20 10:25:24黃繼業劉鑫董哲康
實驗室研究與探索 2022年11期

黃繼業,劉鑫,董哲康

(杭州電子科技大學電子信息學院,杭州 310018)

0 引言

高清視頻編碼、傳輸技術的快速發展對傳統圖像處理系統的實時性提出了更高的要求,現場可編程門陣列(Field Programmable Gate Array,FPGA)技術在視頻、圖像處理領域的應用愈發廣泛[1-2]。如何在行業標準不斷變化、算法快速更新迭代的大背景下,實現對基于FPGA的圖像處理算法的快速驗證成為行業發展關鍵之一。算法快速驗證平臺通過提供通用的測試環境,允許用戶在硬件條件未達到的情況下,以FPGA實現目標算法的硬件邏輯設計,評估算法的效果與可行性[3]。

FPGA云基于FPGA 即服務(FPGA as a Service,FaaS)技術,其作為公有云基礎設施的一部分,向用戶提供基于FPGA的云服務[8-9],具備強大的計算力、良好的遷移性和使用靈活性,近年來被廣泛應用于各類計算加速系統[10-12]。對于圖像處理算法驗證這一典型的計算密集型應用場景,FPGA 云技術具有極高的適用性。

本文針對FPGA 圖像處理算法快速驗證需求,構建基于FPGA云的實時圖像處理在線驗證平臺,通過設計通用FPGA算法測試平臺、定義統一的虛擬用戶接口,抽象測試平臺底層邏輯設計,簡化外設架構,使用戶能夠專注于算法設計和驗證本身,降低開發成本,縮短研發周期,提高驗證效率。

1 在線驗證平臺軟硬件架構設計

1.1 平臺總體設計

傳統圖像處理驗證平臺以高速相機實時采集數據作為輸入,以顯示器顯示圖像作為輸出,通過高速硬件接口進行數據傳輸;本文提出的基于FPGA 云的實時圖像處理在線驗證平臺,以圖片或視頻作為虛擬輸入、輸出,通過虛擬的數字視頻端口(Digital Video Port,DVP)進行模塊間數據交互,二者對比如圖1 所示。

圖1 2種驗證平臺對比

在線驗證平臺搭建基于具有FPGA計算加速功能的云服務器。硬件邏輯主要包括圖像虛擬捕獲模塊、圖像虛擬輸出模塊以及虛擬DVP 接口3 部分。軟件驅動基于Intel 開源可編程加速引擎[13](Open Programmable Accelerator Engine,OPAE),實現用戶應用與FPGA邏輯間的高效數據交互。在線驗證平臺總體結構如圖2 所示。

圖2 基于FPGA云的實時圖像處理在線驗證平臺總體結構

在線驗證平臺利用軟件驅動將服務器上用戶自定義圖片或視頻數據通過PCIe3.0 ×16 高速數據接口寫入FPGA。FPGA接口單元(FPGA Interface Unit,FIU)接收數據,轉換為核心緩存接口協議(Core Cache Interface Protocol,CCI-P)格式向后級模塊發送。圖像虛擬捕獲模塊以RGB888 格式捕獲圖像數據進行幀緩存,存滿1 幀后通過虛擬DVP接口發送至圖像處理模塊。圖像處理模塊執行用戶自定義算法進行數據處理,處理結果經虛擬DVP 接口、圖像虛擬輸出模塊、FPGA接口單元、PCIe3.0 ×16 接口返回服務器。

本文設計的平臺采用阿里云彈性計算服務(Elastic Compute Service,ECS)服務器FPGA 計算型F1 實例實現,該實例搭載Intel Arria10 GX1150FPGA,板載8 GB DDR4 內存,以PCIe3.0 ×16 高速數據接口實現服務器與FPGA 之間的高速數據傳輸,滿足本設計在資源和帶寬方面的需求。

1.2 FPGA邏輯設計

FPGA邏輯設計基于FIU,FIU是Intel定義的CPU與FPGA 加速功能單元(Accelerator Functional Unit,AFU)間的通信接口,負責CPU 側PCIe3.0 ×16 接口與AFU側CCI-P接口之間的數據格式轉換。FPGA邏輯主要包含圖像虛擬捕獲模塊,圖像虛擬輸出模塊和虛擬DVP用戶接口,總體設計架構如圖3 所示。

于是康師傅根據這個情況因地制宜,幫助當地建立了十幾萬畝的環境友好蔬菜基地。僅此一個項目,就帶動貧困人口6000人,使貧困農民人均年增收近萬元。康巴諾爾基地生產的蔬菜既新鮮又安全,深受消費者喜愛,滿足了當前消費者消費升級的需求。

圖3 FPGA邏輯總體設計架構

1.2.1 圖像虛擬捕獲模塊

本文的圖像虛擬捕獲模塊實現圖像數據捕獲,幀緩存,以及虛擬DVP 接口輸出時序控制,如圖3 右側框圖所示。

CPU 對FPGA 數據寫入基于BAR 寄存器,通過OPAE C應用程序編程接口(Application Programming Interface,API)中的fpgaWriteMMIO64 函數實現。對應的,在圖像虛擬捕獲模塊中,設置寫圖片寄存器和Scratch Reg,用于捕獲圖像數據和寫測試命令。寄存器位寬64 bit,使用低24 bit 進行數據傳輸,系統工作頻率可調,默認100 MHz,默認帶寬300MB/s。此外,設計IMEM_CTRL 子模塊進行幀緩存以及虛擬DVP輸出時序控制,IMEM_CTRL子模塊如圖4 所示。

圖4 IMEM_CTRL模塊

IMEM_CTRL模塊內置24 位寬,深度為640 ×480的寫緩存RAM,當檢測到寫數據請求后開始連續捕獲圖像數據進行幀緩存,寫滿1 行后以HREF 信號進行行同步,寫滿1 幀(640 ×480)后以VSYNC 信號進行幀同步,開始向圖像處理模塊連續發送1 幀數據。限于研發時間成本,本平臺寫緩存RAM使用片上BRAM實現,但此設計模式完全適用于容量更大、帶寬更高的DDR4 實現,此結論已在另一Xilinx平臺上得到驗證。

圖像虛擬捕獲模塊與后級模塊通信采用虛擬DVP接口。目前常見的CMOS 相機接口為DVP 接口和移動產業處理器接口(Mobile Industry Processor Interface,MIPI)2 種。DVP 是并行數據接口,支持8/10/12bit數據傳輸,像素時鐘極限頻率在96 MHz 左右,傳統使用中存在易受干擾、信號完整性差問題。MIPI是MIPI聯盟發起的為移動應用處理器制定的開放標準規范,采用低壓差分串行傳輸,抗干擾能力強。

本文設計提供給用戶的時鐘默認為100 MHz,接口時鐘頻率不受接口限制,且由于是虛擬接口,對接口抗干擾性要求不高,因而采用時序更為簡單的DVP時序及接口。主要使用DVP 接口的HREF、VSYNC、PCLK、DATA共4 個信號。由于標準DVP接口只有1路DATA信號用于數據傳輸,而本文設計需要同時傳輸RGB的3 通道共24 bit數據,因而額外增加2 路數據通路。虛擬DVP接口簡化時序圖如圖5 所示。

圖5 虛擬DVP輸出時序

1.2.2 圖像虛擬輸出模塊

本文的圖像虛擬輸出模塊接收圖像處理結果進行幀緩存,收到CPU讀命令后開始輸出圖像數據,如圖3左側框圖所示。

CPU通過OPAECAPI 中的fpgaReadMMIO64 函數向FPGA發送讀命令并從指定寄存器讀出數據。讀命令包括讀圖像數據命令和其他命令,讀返回數據包含調試輸出信息和圖像數據等。為避免命令沖突,同時實現對讀返回數據流的控制,設計預讀式讀命令FIFO和讀返回FIFO對讀命令和讀返回數據進行緩存。設置配置寄存器、轉換狀態指示寄存器、讀圖片寄存器、調試寄存器(DFX)以及Scratch Reg用于平臺配置、返回處理狀態、返回圖像數據、輸出調試信息以及讀測試。

設計的OMEM_CTRL 子模塊接收處理后圖像數據并實現讀時序控制,如圖6 所示。OMEM_CTRL 模塊控制讀緩存RAM的寫使能信號,將1 幀圖像數據連續存入RAM,當1 幀數據存滿后將處理狀態指示輸出信號置為1。模塊輸入采用DVP時序,簡化時序圖如圖7 所示。圖像虛擬輸出模塊工作狀態受有限狀態機(Finite State Machine,FSM)控制。其工作過程為FSM啟動后進入命令等待狀態,接收到讀命令后判斷是否為讀圖像數據命令:若是,則檢查圖像處理模塊處理狀態,處理完成后輸出圖像數據;若非,則根據命令中包含的寄存器地址(Memory Map I/O,MMIO)直接輸出對應寄存器中所含信息。狀態轉移圖如圖8 所示。

圖6 OMEM_CTRL模塊

圖7 虛擬DVP輸入時序

圖8 圖像虛擬輸出模塊狀態轉移圖

各狀態含義:0000 為IDLE;0001 為接收并解讀命令;0010 為獲取非圖像數據;0100 為獲取圖像數據;1000 為輸出圖像或其他信息。

1.3 基于OPAE的FPGA PCIe設備驅動框架

OPAE將底層FPGA 硬件資源進行抽象,在用戶空間為軟件開發人員提供通用的API;在Linux內核空間實現完整的FPGA PCIe 設備驅動;在FPGA 硬件上實現FIU單元,為用戶提供CCI-P 接口。OPAE 框架下FPGA PCIe設備驅動架構如圖9 所示。

圖9 FPGAPCIe設備驅動框架

CPU 將FPGA 視為PCIe 設備,以FPGA PCIe Driver驅動部署在FPGA 硬件上的FPGA 管理引擎(FPGA Management Engine,FME)和AFU。其中,FME負責向CPU提供AFU 的錯誤報告、資源報告以及其他運行信息,與內核空間的FPGA PCIe Driver 直接交互;AFU是加速功能單元,允許用戶自定義,對應本文FPGA邏輯設計部分,通過Port 與內核驅動交互。AFU內置可配置MMIO 地址空間,CPU 通過BAR 寄存器對其進行訪問。

基于上述架構,本平臺在用戶應用層實現了AFU快速配置和圖像/視頻流控制。配置功能基于OPAE C API,實現枚舉AFU、開啟AFU、Map MMIO、關閉AFU等操作。圖像/視頻流控制部分基于通用C API,實現圖像數據的存取、預處理、發送/接收圖像數據。

2 實驗驗證

2.1 彩色圖片高斯濾波實驗

實時圖像處理系統在獲取圖像過程中容易受干擾而引入高斯噪聲,表現為幅值強度按照高斯分布函數分布在整個圖像中。高斯濾波器作為一種低通線性平滑濾波器,以中心像素點及其鄰域像素的線性組合取代中心點像素值,對高斯噪聲有很好的抑制作用。

二維高斯分布函數數學定義如下[14]:

式中:x為二維坐標系橫坐標;y為二維坐標系縱坐標;σ為高斯函數的標準差;G(x,y)為坐標(x,y)處的高斯函數值。

生成高斯濾波模板,需要將其離散化[15]:

式中:r為高斯濾波模板的半徑,通常取為偶數,則模板尺寸為2r;i為模板橫坐標,i∈N,i≤2r;j為模板縱坐標,j∈N,i≤2r;G(i,j)為坐標(i,j)處的高斯函數值。對于5 ×5 模板,r=2,若取σ =1.05,根據式(2)計算得到的高斯系數矩陣:

對上述g矩陣進行歸一化和取整處理后得到高斯濾波模板系數矩陣:

此時,高斯濾波算法可表示為

式中:r=2;Gi,j為G第i行第j列元素;Ii,j為5 ×5 像素矩陣I 第i行第j列元素;F為高斯濾波值。使用FPGA實現時需要對高斯濾波模板進行量化。設上述G的分子矩陣為G′,分母近似取為256,則式(3)可改寫為

式中:代表矩陣G′第i行第j列元素;F′為十六進制表示的高斯濾波值;H表示十六進制;>>表示右移運算。本文實驗根據式(4)進行彩色圖片高斯濾波實驗,使用5 ×5 模板,對測試圖片的RGB的3 通道數據分別進行高斯濾波,處理后通過軟件驅動重新融合RGB數據并寫入新圖片。彩色圖像高斯濾波實驗原理如圖10 所示。

圖10 彩色圖像高斯濾波原理

2.2 彩色圖片高斯濾波實驗結果分析

高斯濾波算法實現包括方形窗生成和中心像素點計算2 步。本文實驗在對每個通道進行高斯濾波時,使用shift_ram,通過緩存5 行數據的方式生成5 ×5 方形窗[16],該過程的QuestaSim仿真結果如圖11 所示。

圖11 5 ×5方形窗QuestaSim仿真結果

圖12 為高斯濾波實驗前后的結果對比,對前幾行像素數據,由于鄰域像素不完整,無法完成高斯濾波計算,故而在圖12(b)高斯濾波后圖像底部可見明顯黑色線條。為便于展示實驗結果,將高斯濾波前后圖片進行局部放大,對比原始圖像與經高斯濾波后的圖像,前者花瓣邊緣明顯,線條清晰,后者整體上較前者更為模糊,細節不明顯,達到了高斯濾波的預期效果。

圖12 實驗結果對比圖

3 結語

本文設計了一個基于FPGA云的實時圖像處理在線驗證平臺,完成了FPGA 圖像處理算法通用測試環境搭建。相較于傳統驗證模式,基于FPGA 云的在線驗證平臺簡化了外設架構,使用靈活性更高。通過彩色圖像高斯濾波實驗表明,本文設計的平臺能夠快速整合、驗證用戶自定義圖像處理模塊,提高圖像算法研發和驗證效率;對亟需驗證FPGA 圖像處理算法而又不具備驗證條件的工程研發人員,具有一定使用價值。同時,也可作為高校復雜圖像處理實驗教學平臺。

主站蜘蛛池模板: 国产噜噜噜视频在线观看| 亚洲综合经典在线一区二区| 亚洲天堂高清| 亚洲天堂网在线播放| 2020精品极品国产色在线观看| 久久国产高潮流白浆免费观看| 日韩成人免费网站| 丰满人妻被猛烈进入无码| 亚洲精品手机在线| 久久综合干| 福利一区在线| 黄色国产在线| 99精品一区二区免费视频| 国产精品一区在线麻豆| 19国产精品麻豆免费观看| 美女一区二区在线观看| 日韩精品无码不卡无码| 亚洲第一区欧美国产综合| 啊嗯不日本网站| 亚洲天堂色色人体| 日本欧美视频在线观看| 嫩草在线视频| 日本精品中文字幕在线不卡| 国产精品免费露脸视频| 五月天天天色| 国产在线视频导航| 青青操视频在线| 中文字幕精品一区二区三区视频 | 免费a级毛片18以上观看精品| 真实国产精品vr专区| 久久熟女AV| 日本午夜网站| 精品国产美女福到在线直播| 国产一区二区三区视频| 亚洲第一色视频| 欧美一区精品| 人妻免费无码不卡视频| 国产波多野结衣中文在线播放 | h视频在线播放| 天天摸天天操免费播放小视频| 亚洲无码精品在线播放| 亚洲人精品亚洲人成在线| 91精品视频在线播放| 免费无码又爽又黄又刺激网站| 久久久亚洲色| 欧美区一区| 国产精品一线天| 亚洲第一成人在线| 91免费观看视频| 成人国产精品网站在线看| 国产精品专区第一页在线观看| 色婷婷国产精品视频| 欧美a在线看| 天天干天天色综合网| 免费观看三级毛片| 欧美中文字幕无线码视频| 毛片网站在线看| 91精品视频播放| 巨熟乳波霸若妻中文观看免费| 一区二区影院| 五月丁香在线视频| 亚洲综合18p| 在线免费不卡视频| 青草娱乐极品免费视频| av在线人妻熟妇| 午夜丁香婷婷| 精品国产福利在线| 久热中文字幕在线| 91久久国产综合精品| 谁有在线观看日韩亚洲最新视频 | 在线观看网站国产| 伊人激情综合网| 欧美成a人片在线观看| 免费人成黄页在线观看国产| 日本在线亚洲| aaa国产一级毛片| 911亚洲精品| 亚洲另类国产欧美一区二区| 91探花国产综合在线精品| 亚洲小视频网站| 亚洲色成人www在线观看| 制服丝袜一区|