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

        ?

        基于FPGA云的實(shí)時(shí)圖像處理在線驗(yàn)證平臺(tái)設(shè)計(jì)

        2022-02-20 10:25:24黃繼業(yè)劉鑫董哲康
        實(shí)驗(yàn)室研究與探索 2022年11期

        黃繼業(yè),劉鑫,董哲康

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

        0 引言

        高清視頻編碼、傳輸技術(shù)的快速發(fā)展對(duì)傳統(tǒng)圖像處理系統(tǒng)的實(shí)時(shí)性提出了更高的要求,現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)技術(shù)在視頻、圖像處理領(lǐng)域的應(yīng)用愈發(fā)廣泛[1-2]。如何在行業(yè)標(biāo)準(zhǔn)不斷變化、算法快速更新迭代的大背景下,實(shí)現(xiàn)對(duì)基于FPGA的圖像處理算法的快速驗(yàn)證成為行業(yè)發(fā)展關(guān)鍵之一。算法快速驗(yàn)證平臺(tái)通過(guò)提供通用的測(cè)試環(huán)境,允許用戶在硬件條件未達(dá)到的情況下,以FPGA實(shí)現(xiàn)目標(biāo)算法的硬件邏輯設(shè)計(jì),評(píng)估算法的效果與可行性[3]。

        FPGA云基于FPGA 即服務(wù)(FPGA as a Service,F(xiàn)aaS)技術(shù),其作為公有云基礎(chǔ)設(shè)施的一部分,向用戶提供基于FPGA的云服務(wù)[8-9],具備強(qiáng)大的計(jì)算力、良好的遷移性和使用靈活性,近年來(lái)被廣泛應(yīng)用于各類計(jì)算加速系統(tǒng)[10-12]。對(duì)于圖像處理算法驗(yàn)證這一典型的計(jì)算密集型應(yīng)用場(chǎng)景,F(xiàn)PGA 云技術(shù)具有極高的適用性。

        本文針對(duì)FPGA 圖像處理算法快速驗(yàn)證需求,構(gòu)建基于FPGA云的實(shí)時(shí)圖像處理在線驗(yàn)證平臺(tái),通過(guò)設(shè)計(jì)通用FPGA算法測(cè)試平臺(tái)、定義統(tǒng)一的虛擬用戶接口,抽象測(cè)試平臺(tái)底層邏輯設(shè)計(jì),簡(jiǎn)化外設(shè)架構(gòu),使用戶能夠?qū)W⒂谒惴ㄔO(shè)計(jì)和驗(yàn)證本身,降低開(kāi)發(fā)成本,縮短研發(fā)周期,提高驗(yàn)證效率。

        1 在線驗(yàn)證平臺(tái)軟硬件架構(gòu)設(shè)計(jì)

        1.1 平臺(tái)總體設(shè)計(jì)

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

        圖1 2種驗(yàn)證平臺(tái)對(duì)比

        在線驗(yàn)證平臺(tái)搭建基于具有FPGA計(jì)算加速功能的云服務(wù)器。硬件邏輯主要包括圖像虛擬捕獲模塊、圖像虛擬輸出模塊以及虛擬DVP 接口3 部分。軟件驅(qū)動(dòng)基于Intel 開(kāi)源可編程加速引擎[13](Open Programmable Accelerator Engine,OPAE),實(shí)現(xiàn)用戶應(yīng)用與FPGA邏輯間的高效數(shù)據(jù)交互。在線驗(yàn)證平臺(tái)總體結(jié)構(gòu)如圖2 所示。

        圖2 基于FPGA云的實(shí)時(shí)圖像處理在線驗(yàn)證平臺(tái)總體結(jié)構(gòu)

        在線驗(yàn)證平臺(tái)利用軟件驅(qū)動(dòng)將服務(wù)器上用戶自定義圖片或視頻數(shù)據(jù)通過(guò)PCIe3.0 ×16 高速數(shù)據(jù)接口寫入FPGA。FPGA接口單元(FPGA Interface Unit,F(xiàn)IU)接收數(shù)據(jù),轉(zhuǎn)換為核心緩存接口協(xié)議(Core Cache Interface Protocol,CCI-P)格式向后級(jí)模塊發(fā)送。圖像虛擬捕獲模塊以RGB888 格式捕獲圖像數(shù)據(jù)進(jìn)行幀緩存,存滿1 幀后通過(guò)虛擬DVP接口發(fā)送至圖像處理模塊。圖像處理模塊執(zhí)行用戶自定義算法進(jìn)行數(shù)據(jù)處理,處理結(jié)果經(jīng)虛擬DVP 接口、圖像虛擬輸出模塊、FPGA接口單元、PCIe3.0 ×16 接口返回服務(wù)器。

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

        1.2 FPGA邏輯設(shè)計(jì)

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

        于是康師傅根據(jù)這個(gè)情況因地制宜,幫助當(dāng)?shù)亟⒘耸畮兹f(wàn)畝的環(huán)境友好蔬菜基地。僅此一個(gè)項(xiàng)目,就帶動(dòng)貧困人口6000人,使貧困農(nóng)民人均年增收近萬(wàn)元。康巴諾爾基地生產(chǎn)的蔬菜既新鮮又安全,深受消費(fèi)者喜愛(ài),滿足了當(dāng)前消費(fèi)者消費(fèi)升級(jí)的需求。

        圖3 FPGA邏輯總體設(shè)計(jì)架構(gòu)

        1.2.1 圖像虛擬捕獲模塊

        本文的圖像虛擬捕獲模塊實(shí)現(xiàn)圖像數(shù)據(jù)捕獲,幀緩存,以及虛擬DVP 接口輸出時(shí)序控制,如圖3 右側(cè)框圖所示。

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

        圖4 IMEM_CTRL模塊

        IMEM_CTRL模塊內(nèi)置24 位寬,深度為640 ×480的寫緩存RAM,當(dāng)檢測(cè)到寫數(shù)據(jù)請(qǐng)求后開(kāi)始連續(xù)捕獲圖像數(shù)據(jù)進(jìn)行幀緩存,寫滿1 行后以HREF 信號(hào)進(jìn)行行同步,寫滿1 幀(640 ×480)后以VSYNC 信號(hào)進(jìn)行幀同步,開(kāi)始向圖像處理模塊連續(xù)發(fā)送1 幀數(shù)據(jù)。限于研發(fā)時(shí)間成本,本平臺(tái)寫緩存RAM使用片上BRAM實(shí)現(xiàn),但此設(shè)計(jì)模式完全適用于容量更大、帶寬更高的DDR4 實(shí)現(xiàn),此結(jié)論已在另一Xilinx平臺(tái)上得到驗(yàn)證。

        圖像虛擬捕獲模塊與后級(jí)模塊通信采用虛擬DVP接口。目前常見(jiàn)的CMOS 相機(jī)接口為DVP 接口和移動(dòng)產(chǎn)業(yè)處理器接口(Mobile Industry Processor Interface,MIPI)2 種。DVP 是并行數(shù)據(jù)接口,支持8/10/12bit數(shù)據(jù)傳輸,像素時(shí)鐘極限頻率在96 MHz 左右,傳統(tǒng)使用中存在易受干擾、信號(hào)完整性差問(wèn)題。MIPI是MIPI聯(lián)盟發(fā)起的為移動(dòng)應(yīng)用處理器制定的開(kāi)放標(biāo)準(zhǔn)規(guī)范,采用低壓差分串行傳輸,抗干擾能力強(qiáng)。

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

        圖5 虛擬DVP輸出時(shí)序

        1.2.2 圖像虛擬輸出模塊

        本文的圖像虛擬輸出模塊接收?qǐng)D像處理結(jié)果進(jìn)行幀緩存,收到CPU讀命令后開(kāi)始輸出圖像數(shù)據(jù),如圖3左側(cè)框圖所示。

        CPU通過(guò)OPAECAPI 中的fpgaReadMMIO64 函數(shù)向FPGA發(fā)送讀命令并從指定寄存器讀出數(shù)據(jù)。讀命令包括讀圖像數(shù)據(jù)命令和其他命令,讀返回?cái)?shù)據(jù)包含調(diào)試輸出信息和圖像數(shù)據(jù)等。為避免命令沖突,同時(shí)實(shí)現(xiàn)對(duì)讀返回?cái)?shù)據(jù)流的控制,設(shè)計(jì)預(yù)讀式讀命令FIFO和讀返回FIFO對(duì)讀命令和讀返回?cái)?shù)據(jù)進(jìn)行緩存。設(shè)置配置寄存器、轉(zhuǎn)換狀態(tài)指示寄存器、讀圖片寄存器、調(diào)試寄存器(DFX)以及Scratch Reg用于平臺(tái)配置、返回處理狀態(tài)、返回圖像數(shù)據(jù)、輸出調(diào)試信息以及讀測(cè)試。

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

        圖6 OMEM_CTRL模塊

        圖7 虛擬DVP輸入時(shí)序

        圖8 圖像虛擬輸出模塊狀態(tài)轉(zhuǎn)移圖

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

        1.3 基于OPAE的FPGA PCIe設(shè)備驅(qū)動(dòng)框架

        OPAE將底層FPGA 硬件資源進(jìn)行抽象,在用戶空間為軟件開(kāi)發(fā)人員提供通用的API;在Linux內(nèi)核空間實(shí)現(xiàn)完整的FPGA PCIe 設(shè)備驅(qū)動(dòng);在FPGA 硬件上實(shí)現(xiàn)FIU單元,為用戶提供CCI-P 接口。OPAE 框架下FPGA PCIe設(shè)備驅(qū)動(dòng)架構(gòu)如圖9 所示。

        圖9 FPGAPCIe設(shè)備驅(qū)動(dòng)框架

        CPU 將FPGA 視為PCIe 設(shè)備,以FPGA PCIe Driver驅(qū)動(dòng)部署在FPGA 硬件上的FPGA 管理引擎(FPGA Management Engine,F(xiàn)ME)和AFU。其中,F(xiàn)ME負(fù)責(zé)向CPU提供AFU 的錯(cuò)誤報(bào)告、資源報(bào)告以及其他運(yùn)行信息,與內(nèi)核空間的FPGA PCIe Driver 直接交互;AFU是加速功能單元,允許用戶自定義,對(duì)應(yīng)本文FPGA邏輯設(shè)計(jì)部分,通過(guò)Port 與內(nèi)核驅(qū)動(dòng)交互。AFU內(nèi)置可配置MMIO 地址空間,CPU 通過(guò)BAR 寄存器對(duì)其進(jìn)行訪問(wèn)。

        基于上述架構(gòu),本平臺(tái)在用戶應(yīng)用層實(shí)現(xiàn)了AFU快速配置和圖像/視頻流控制。配置功能基于OPAE C API,實(shí)現(xiàn)枚舉AFU、開(kāi)啟AFU、Map MMIO、關(guān)閉AFU等操作。圖像/視頻流控制部分基于通用C API,實(shí)現(xiàn)圖像數(shù)據(jù)的存取、預(yù)處理、發(fā)送/接收?qǐng)D像數(shù)據(jù)。

        2 實(shí)驗(yàn)驗(yàn)證

        2.1 彩色圖片高斯濾波實(shí)驗(yàn)

        實(shí)時(shí)圖像處理系統(tǒng)在獲取圖像過(guò)程中容易受干擾而引入高斯噪聲,表現(xiàn)為幅值強(qiáng)度按照高斯分布函數(shù)分布在整個(gè)圖像中。高斯濾波器作為一種低通線性平滑濾波器,以中心像素點(diǎn)及其鄰域像素的線性組合取代中心點(diǎn)像素值,對(duì)高斯噪聲有很好的抑制作用。

        二維高斯分布函數(shù)數(shù)學(xué)定義如下[14]:

        式中:x為二維坐標(biāo)系橫坐標(biāo);y為二維坐標(biāo)系縱坐標(biāo);σ為高斯函數(shù)的標(biāo)準(zhǔn)差;G(x,y)為坐標(biāo)(x,y)處的高斯函數(shù)值。

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

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

        對(duì)上述g矩陣進(jìn)行歸一化和取整處理后得到高斯濾波模板系數(shù)矩陣:

        此時(shí),高斯濾波算法可表示為

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

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

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

        2.2 彩色圖片高斯濾波實(shí)驗(yàn)結(jié)果分析

        高斯濾波算法實(shí)現(xiàn)包括方形窗生成和中心像素點(diǎn)計(jì)算2 步。本文實(shí)驗(yàn)在對(duì)每個(gè)通道進(jìn)行高斯濾波時(shí),使用shift_ram,通過(guò)緩存5 行數(shù)據(jù)的方式生成5 ×5 方形窗[16],該過(guò)程的QuestaSim仿真結(jié)果如圖11 所示。

        圖11 5 ×5方形窗QuestaSim仿真結(jié)果

        圖12 為高斯濾波實(shí)驗(yàn)前后的結(jié)果對(duì)比,對(duì)前幾行像素?cái)?shù)據(jù),由于鄰域像素不完整,無(wú)法完成高斯濾波計(jì)算,故而在圖12(b)高斯濾波后圖像底部可見(jiàn)明顯黑色線條。為便于展示實(shí)驗(yàn)結(jié)果,將高斯濾波前后圖片進(jìn)行局部放大,對(duì)比原始圖像與經(jīng)高斯濾波后的圖像,前者花瓣邊緣明顯,線條清晰,后者整體上較前者更為模糊,細(xì)節(jié)不明顯,達(dá)到了高斯濾波的預(yù)期效果。

        圖12 實(shí)驗(yàn)結(jié)果對(duì)比圖

        3 結(jié)語(yǔ)

        本文設(shè)計(jì)了一個(gè)基于FPGA云的實(shí)時(shí)圖像處理在線驗(yàn)證平臺(tái),完成了FPGA 圖像處理算法通用測(cè)試環(huán)境搭建。相較于傳統(tǒng)驗(yàn)證模式,基于FPGA 云的在線驗(yàn)證平臺(tái)簡(jiǎn)化了外設(shè)架構(gòu),使用靈活性更高。通過(guò)彩色圖像高斯濾波實(shí)驗(yàn)表明,本文設(shè)計(jì)的平臺(tái)能夠快速整合、驗(yàn)證用戶自定義圖像處理模塊,提高圖像算法研發(fā)和驗(yàn)證效率;對(duì)亟需驗(yàn)證FPGA 圖像處理算法而又不具備驗(yàn)證條件的工程研發(fā)人員,具有一定使用價(jià)值。同時(shí),也可作為高校復(fù)雜圖像處理實(shí)驗(yàn)教學(xué)平臺(tái)。

        2018国产精华国产精品| 日本大片一区二区三区| 国产91人妻一区二区三区| 亚洲妇女自偷自偷图片| 久久国产精品久久精品国产| 国产精品美女久久久浪潮av| 国产色av一区二区三区| 草草地址线路①屁屁影院成人| 精品无码专区久久久水蜜桃| 小13箩利洗澡无码免费视频| 清纯唯美亚洲经典中文字幕| 中国孕妇变态孕交xxxx| 在线亚洲欧美日韩精品专区| 亚洲日韩区在线电影| 国产福利一区二区三区在线观看 | 999精品免费视频观看| 国产一区二区杨幂在线观看性色| 中文字幕无码成人片| 国产成人亚洲精品无码mp4| 精品福利一区| 熟女少妇av一区二区三区| 色欲网天天无码av| а中文在线天堂| 日本黄色一区二区三区视频| 亚洲精品中文字幕一区二区| 欧美a级情欲片在线观看免费| 天天狠天天透天干天天| 亚洲精品中文字幕乱码3 | 经典黄色一区二区三区| 97se亚洲国产综合自在线观看| 国产内射合集颜射| 亚洲青涩在线不卡av| 日产精品高潮一区二区三区5月| 蜜桃无码一区二区三区| 午夜国产一区二区三区精品不卡| 久久2020精品免费网站| 亚洲av永久无码天堂网| 欧性猛交ⅹxxx乱大交| 一区二区在线视频大片| 凌辱人妻中文字幕一区| 国产亚洲一区二区手机在线观看|