曹亞輝,劉 峰
(南京郵電大學(xué) 圖像處理與圖像通信江蘇省重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210003)
?
基于FPGA的高清實(shí)時(shí)視頻去霧系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
曹亞輝,劉 峰
(南京郵電大學(xué) 圖像處理與圖像通信江蘇省重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210003)
實(shí)現(xiàn)了基于Xilinx XC6SLX45 FPGA的高清實(shí)時(shí)視頻去霧系統(tǒng),詳細(xì)介紹了系統(tǒng)的邏輯框架及主要的算法實(shí)現(xiàn)。首先,介紹了整個(gè)系統(tǒng)的硬件框架及FPGA內(nèi)部的邏輯框架;其次,描述了改進(jìn)的暗原色先驗(yàn)去霧算法,給出了在FPGA中的算法實(shí)現(xiàn)過程;最后,對(duì)系統(tǒng)進(jìn)行測(cè)試。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)實(shí)現(xiàn)了預(yù)期的高清視頻實(shí)時(shí)去霧,并具有自適應(yīng)功能,去霧效果良好。
高清;實(shí)時(shí);暗原色先驗(yàn);視頻去霧;FPGA
近年來環(huán)境的惡化導(dǎo)致霧霾天氣增多,圖像去霧的研究漸成熱點(diǎn)。尤其是戶外場(chǎng)景的視頻監(jiān)控更需要實(shí)時(shí)地對(duì)采集的視頻圖像去霧。同時(shí),視頻監(jiān)控的高清化對(duì)視頻去霧系統(tǒng)提出了更高的實(shí)時(shí)要求。文獻(xiàn)[1]實(shí)現(xiàn)了PAL視頻尺寸的實(shí)時(shí)去霧,但其沒有考慮到色度信號(hào)的信息,還有一定可優(yōu)化的空間。文獻(xiàn)[2]通過利用GPU實(shí)現(xiàn)了圖像去霧算法,但其目前主要應(yīng)用于通用PC機(jī)平臺(tái),沒有考慮到小型嵌入式系統(tǒng)的應(yīng)用。文獻(xiàn)[3]實(shí)現(xiàn)了基于暗原色先驗(yàn)[4]的PAL制視頻去霧,但暫不支持高清視頻去霧。文獻(xiàn)[5]實(shí)現(xiàn)了基于DSP+FPGA高清實(shí)時(shí)視頻去霧,但其不適用于低成本設(shè)備。本文采用了一種FPGA實(shí)時(shí)視頻處理框架,并基于暗原色先驗(yàn)去霧算法,實(shí)現(xiàn)了720p視頻60 Hz實(shí)時(shí)視頻去霧,并具有自適應(yīng)功能,系統(tǒng)成本低,且具有良好的擴(kuò)展性,非常容易向1 080p視頻去霧系統(tǒng)升級(jí)。
1.1 視頻處理框架
視頻處理的實(shí)時(shí)性以及高分辨率特點(diǎn)對(duì)整個(gè)視頻處理系統(tǒng)的時(shí)延和帶寬都提出了較高的要求,因此高效的視頻處理框架是系統(tǒng)邏輯設(shè)計(jì)的關(guān)鍵之一。本系統(tǒng)的視頻處理框架如圖1所示,整個(gè)視頻處理框架基于ARM AMBA AXI4[6]協(xié)議,使得整個(gè)框架具有高帶寬、低時(shí)延、擴(kuò)展性好等特點(diǎn)。首先貫穿整個(gè)處理框架的是AXI4 Stream[7]協(xié)議,它無需傳輸?shù)刂?,并且具有無限長(zhǎng)突發(fā)傳輸特點(diǎn),適宜于寬帶信號(hào)互聯(lián)。同時(shí)該框架采用AXI4映射的外部?jī)?nèi)存幀緩沖進(jìn)行輸入輸出時(shí)鐘域的同步。最后FPGA內(nèi)部還綜合出一個(gè)MicroBlaze軟核,通過AXI4-Lite協(xié)議配置IP的寄存器并提供額外的運(yùn)算能力現(xiàn)了圖像去霧IP核,具體內(nèi)容將在下一節(jié)介紹。
1.2 系統(tǒng)資源
本視頻去霧系統(tǒng)以Xilinx 的低成本Spartan 6 LX45為核心,內(nèi)部集成了43 661個(gè)邏輯單元,2 088 kbit RAM,58個(gè)DSP Slice,并且還集成了內(nèi)存控制器硬核,最大支持800 Mbit/s速率、12.8 Gbit/s峰值帶寬,為高清視頻處理提供了足夠帶寬。整個(gè)系統(tǒng)的輸入輸出基于HDMI接口,采用TI的TMDS141作為驅(qū)動(dòng)器,兼容HDMI 1.3a標(biāo)準(zhǔn),最高支持1 080p分辨率。
圖1 視頻處理框架
本系統(tǒng)實(shí)現(xiàn)的FPGA去霧算法主要參考文獻(xiàn)[5]基于暗原色先驗(yàn)的方法,同時(shí)為了實(shí)現(xiàn)高清實(shí)時(shí)視頻去霧,在去霧的效果和系統(tǒng)性能上做了一些折中。另外,本系統(tǒng)還借助于視頻處理框架中的MicroBlaze軟核實(shí)現(xiàn)了自適應(yīng)算法,提高了去霧視頻的用戶體驗(yàn)。
2.1 邏輯設(shè)計(jì)
去霧算法的邏輯實(shí)現(xiàn)如圖2所示。整個(gè)去霧分成3個(gè)模塊實(shí)現(xiàn),輸入圖像依次經(jīng)過暗通道圖像計(jì)算模塊A、霧天透射率計(jì)算模塊B和無霧圖像生成模塊C,最后完成圖像去霧后輸出。為了實(shí)現(xiàn)圖像處理的流水線操作,整個(gè)圖像處理IP基于像素流,即所有的像素都是串行地依次經(jīng)過模塊A、B、C并輸出,從而每一個(gè)模塊都是基于逐個(gè)像素進(jìn)行處理,并配合FIFO進(jìn)行各個(gè)模塊之間緩沖,有利于實(shí)現(xiàn)高帶寬、低時(shí)延的IP核。下面依次介紹各個(gè)模塊的實(shí)現(xiàn)。
圖2 算法邏輯框圖
1) 暗通道圖像計(jì)算模塊
暗原色先驗(yàn)是針對(duì)戶外無霧圖像統(tǒng)計(jì)得出的規(guī)律,即在絕大部分非天空局部區(qū)域中,每個(gè)像素至少會(huì)有一個(gè)通道具有極低的密度。由該密度值組成的圖像稱為暗通道圖像,因此圖像中被濃霧覆蓋區(qū)域的暗通道往往具有較高的強(qiáng)度值。暗通道圖像可以近似地估計(jì)出圖像透射率,即為模塊B霧天透射率計(jì)算模塊所用。
暗通道的數(shù)學(xué)模型定義為
(1)
式中:Jc是J的一個(gè)顏色通道;Ω(x)是以x為中心的區(qū)域。
為了便于實(shí)現(xiàn)基于逐個(gè)像素處理的IP核,本文將中心區(qū)域定為單像素區(qū)域,即直接求取每個(gè)像素的RGB三通道的最小值。雖然這樣在效果上存在一定程度的損失,但是換取了運(yùn)算速度性能的極大提高。為了快速地求取最小值,利用2個(gè)數(shù)字比較器實(shí)現(xiàn)了RGB最小值求取運(yùn)算,具體實(shí)現(xiàn)如圖3所示。
圖3 暗通道圖像邏輯實(shí)現(xiàn)框圖
2) 霧天透射率計(jì)算模塊
霧天透射率即霧天圖像的傳輸函數(shù),由該傳輸函數(shù)即可從有霧圖像恢復(fù)出原圖。傳輸?shù)臄?shù)學(xué)模型定義為
(2)
透射率模塊的實(shí)現(xiàn)借助于Spartan 6的DSP Slice實(shí)現(xiàn)了流水線乘加運(yùn)算。由于求取大氣光強(qiáng)度A需要遍歷圖像所有的像素點(diǎn),嚴(yán)重影響圖像的實(shí)時(shí)性,并且考慮到實(shí)際視頻中的亮度特性,于是系統(tǒng)將大氣光求取的運(yùn)算留給了MicroBlaze軟核,由軟核負(fù)責(zé)遍歷圖像求取大氣光亮度并更新參數(shù)A。同時(shí)為了增加更多的靈活性,增加保留遠(yuǎn)處霧氣的參數(shù)ω也通過軟核配置更新。最后為了使去霧后的天空區(qū)域更加真實(shí),有必要給透射率設(shè)置下限R并通過軟核配置更新,以上涉及到的參數(shù)均通過AXI4-Lite映射到MicroBlaze地址空間,從而能夠直接訪問。
3) 無霧圖像生成模塊
無霧圖像生成模塊的主要功能是利用得到的透射率圖像以及輸入的有霧圖像計(jì)算出無霧圖像。數(shù)學(xué)模型定義為
(3)