吳 安 金 西, 杜學(xué)亮 張克寧 姚春赫 馬淑芬
1(中國科學(xué)院強(qiáng)耦合量子材料物理重點實驗室(中國科學(xué)技術(shù)大學(xué)物理學(xué)院) 合肥 230026)2 (國家專用集成電路設(shè)計工程技術(shù)研究中心合肥分中心 合肥 230026) (wuan@mail.ustc.edu.cn)
HDR視頻算法優(yōu)化及硬件實現(xiàn)
吳 安1金 西1,2杜學(xué)亮2張克寧1姚春赫1馬淑芬2
1(中國科學(xué)院強(qiáng)耦合量子材料物理重點實驗室(中國科學(xué)技術(shù)大學(xué)物理學(xué)院) 合肥 230026)2(國家專用集成電路設(shè)計工程技術(shù)研究中心合肥分中心 合肥 230026) (wuan@mail.ustc.edu.cn)
高動態(tài)范圍(high dynamic range,HDR)視頻算法計算復(fù)雜度高,硬件實現(xiàn)需要大量邏輯和存儲資源,且現(xiàn)有的算法難以滿足高分辨率下的實時性要求.針對上述問題,提出一種優(yōu)化的HDR視頻流水線算法,同時利用FPGA的并行可重構(gòu)特性,完成該算法的硬件實現(xiàn).算法首先將相機(jī)響應(yīng)函數(shù)內(nèi)置于FPGA的查找表(look-up table, LUT)中,對3幀低動態(tài)范圍(low dynamic range, LDR)圖像進(jìn)行合并,轉(zhuǎn)換后的數(shù)據(jù)通過多路并行流水緩存在FPGA的BRAM中; 然后使用快速的全局色調(diào)映射算法將結(jié)果實時顯示輸出.最終算法在Xilinx Kintex-7開發(fā)板上實驗通過,在120 MHz系統(tǒng)時鐘頻率下,對于1 920×1 080分辨率的視頻流,處理速度達(dá)到65 f/s,滿足了實時性要求.
現(xiàn)場可編程門陣列;高動態(tài)范圍視頻;色調(diào)映射;相機(jī)響應(yīng)函數(shù)查找表;輝度圖
HDR視頻算法廣泛應(yīng)用于視頻監(jiān)控[1]、醫(yī)療成像[2]、汽車電子[3]、游戲渲染[4]、嵌入式系統(tǒng)[5-7]等領(lǐng)域.其算法主要包括HDR視頻流生成算法、HDR視頻編碼算法和色調(diào)映射算法.區(qū)別于HDR圖像算法,HDR視頻算法要求更高的實時性,其算法在有限資源的硬件平臺上實現(xiàn)問題一直沒有很好地解決.
針對HDR視頻算法優(yōu)化及硬件實現(xiàn),Kang等人[8]最早提出該算法的流水結(jié)構(gòu),并解決了前后2幀之間的圖像配準(zhǔn)問題,然而他們處理1幀分辨率為768×1 024的圖像需要10 s,實現(xiàn)速度較慢;Mantiuk等人[9]提出一種向后兼容的HDR轉(zhuǎn)MPEG-4視頻壓縮方法,該方法的核心是將浮點的像素流明值轉(zhuǎn)換為10~11位的整數(shù),再通過標(biāo)準(zhǔn)的MPEG-4壓縮編碼對視頻進(jìn)行壓縮,其數(shù)據(jù)量龐大導(dǎo)致處理速度偏慢;Akyüz等人[10]提出了基于GPU平臺的HDR視頻算法,它使用Debevec等人[11]提出的方法恢復(fù)圖像照度值,使用Reinhard等人[12]算法完成色調(diào)映射,HDR視頻合成速度為65 f/s,色調(diào)映射速度為103 f/s,但其沒有考慮加載紋理所需要的時間;Mann等人[13]設(shè)計了一種基于FPGA平臺的HDR視頻系統(tǒng),該系統(tǒng)使用一組FIFO來緩存每幀圖像的像素值,F(xiàn)IFO的數(shù)量等同于恢復(fù)HDR圖像所需的LDR圖像數(shù)量,視頻獲取速度可以達(dá)到120 f/s,但其視頻分辨率較低;Lapray等人[14]在Mann基礎(chǔ)上完成了分辨率為1 280×1 024、系統(tǒng)速度為60 f/s的HDR視頻系統(tǒng),能夠滿足實時顯示需求,但其沒有提出算法的流水線結(jié)構(gòu);近年來,國內(nèi)學(xué)者針對HDR視頻算法的硬件架構(gòu)進(jìn)行了深入研究,羅雪梅等人[15]利用色外觀模型重新再現(xiàn)高動態(tài)范圍圖像;陳懷章等人[16]使用帶有DMD和FPGA器件的實驗平臺來擴(kuò)展成像的動態(tài)范圍;周繼權(quán)等人[17]采用相機(jī)陣列的方式實現(xiàn)HDR視頻成像;趙再騫等人[18]利用GPU協(xié)處理器完成航天飛船交會對接時訓(xùn)練電視圖像的HDR渲染.
上述方法均在一定程度上對HDR視頻算法進(jìn)行優(yōu)化和改進(jìn),但仍無法滿足當(dāng)前嵌入式領(lǐng)域?qū)DR視頻的實時性要求,本文在文獻(xiàn)[10,13-14]的基礎(chǔ)上提出一種細(xì)粒度并行流水結(jié)構(gòu)的HDR視頻算法,利用FPGA器件內(nèi)置的LUT資源和BRAM資源等,對HDR視頻算法進(jìn)行優(yōu)化并完成硬件實現(xiàn).
1.1 HDR視頻算法硬件實現(xiàn)瓶頸
當(dāng)前HDR視頻算法硬件實現(xiàn)主要的瓶頸在于:1)存儲資源需求高.對于分辨率為1 920×1 080的彩色圖像,采用RGBE格式對HDR視頻幀數(shù)據(jù)進(jìn)行存儲,使用Reinhard色調(diào)映射算法需要消耗1 920×1 080×4 B=7.9 MB的片上存儲資源來存儲1幀圖像,這對于片上存儲資源有限的FPGA器件是不能接受的.2)實時性難以保證.HDR視頻存儲每個像素點的流明值,其動態(tài)范圍在[2-128,2127](RGBE格式),大量的運(yùn)算過程基于浮點值進(jìn)行.因此,其算法不僅需要更多的存儲資源,且需要調(diào)用FPGA器件內(nèi)部的DSP資源對加法、乘法操作進(jìn)行處理.對于分辨率為1 920×1 080的彩色圖像,3幀LDR圖像融合1幀HDR圖像情況下,使用Debevec算法需要計算1 920×1 080×3×3×(2+1)=55 987 200次.在100 MHz時鐘頻率下,其需要0.559 872 s(1.8 f/s),無法滿足實時性要求.
本文針對上述瓶頸對算法進(jìn)行了優(yōu)化,通過漏積分器參數(shù)自適應(yīng)生成、相機(jī)響應(yīng)函數(shù)查找表以及多級細(xì)粒度并行流水方法提高系統(tǒng)實時性瓶頸;通過壓縮流明值編碼的方式解決高存儲資源需求瓶頸.針對已有算法,本文還提出了一種新的權(quán)值函數(shù)來降低成像過程疊加的噪聲信號.
1.2 權(quán)值函數(shù)的選取和優(yōu)化
不同的權(quán)值函數(shù)影響HDR圖像質(zhì)量,恢復(fù)流明值的過程會同樣將噪聲信號疊加到結(jié)果中,權(quán)值函數(shù)可以有效地抑制成像過程疊加的噪聲信號,另外還可以用來過濾掉圖像中沒有用的信息點.表1列舉了4種最主流的權(quán)值函數(shù),并將本文所選取的權(quán)值函數(shù)列在了最后.Mann和Picard[19]利用相機(jī)對光線變換的敏感度作為權(quán)值,其大小等于相機(jī)響應(yīng)函數(shù)的微分;Debevec和Malik[11]使用簡單的帽子函數(shù)作為權(quán)值,即計算當(dāng)前像素值到0或255的絕對值;Mitsunaga和Nayar[20]為了改善信號放大時帶來的信噪比(signal noise ratio, SNR)增大效應(yīng),將相機(jī)響應(yīng)函數(shù)的微分乘以相機(jī)響應(yīng)函數(shù)的反函數(shù);Ward等人[21]在此基礎(chǔ)上將權(quán)值函數(shù)乘以一個寬帽形過濾函數(shù),用來過濾圖像中的飽和點和噪聲點.
盡管Ward算法可以有效地過濾掉圖像中飽和點和噪聲點,但是當(dāng)某個像素值在靠近最大或最小值間有波動時,正常的像素點也會被當(dāng)作無用的信息點過濾掉.例如1個像素點在高曝光圖像中的像素值為253,由于噪聲信號干擾,在低曝光圖像中其像素值為255,導(dǎo)致該像素點對應(yīng)的權(quán)值有顯著的變化,最終在合成的HDR圖像中該點色彩將偏向RGB其中1個顏色通道.針對Ward算法可能過濾掉正常像素點這一缺陷,本文在Ward算法基礎(chǔ)上對像素值進(jìn)行預(yù)判處理,對于高曝光點像素值低于低曝光點的情況,判定為低曝光點值存在噪聲干擾,其值用高曝光點像素值代替,表1中給出了本文算法具體的公式.
Table1 Comparison of Different Weight Functions表1 不同權(quán)值函數(shù)選取對比
Note:f(x) indicates the camera response function, whileg(x) indicates the inverse function off(x).
對于N幀不同曝光度圖像,每個像素點的流明值(Ei,j)計算為
(1)
其中,權(quán)值函數(shù)用ω(Zp,i,j)表示,Zp,i,j則表示第p幀LDR圖像中第i行、第j列像素點對應(yīng)的像素值.
1.3 色調(diào)映射算子的選取
采用局部色調(diào)映射算子(tone mapping operator,TMO)對圖像的細(xì)節(jié)部分進(jìn)行優(yōu)化,算法運(yùn)算復(fù)雜,且占用大量存儲資源,其硬件實現(xiàn)難以做到實時處理.全局TMO對于每個像素的處理方法相同,算法運(yùn)算簡單,適用于硬件實現(xiàn).然而,不同的全局TMO其硬件實現(xiàn)效果不同,且有些需要手動進(jìn)行參數(shù)調(diào)整.文獻(xiàn)[22-24]是目前廣泛使用的3種全局色調(diào)映射算法.文獻(xiàn)[22]以人眼感知特性為依據(jù)構(gòu)造基于對數(shù)函數(shù)的色調(diào)映射算子,其算法需要調(diào)整顯示最大亮度值、偏差值和最大曝光量值.對偏差值參數(shù)b的選擇最為關(guān)鍵,其值的選取要保證映射的動態(tài)范圍在顯示設(shè)備可以接受的范圍內(nèi),如果b值過大將會出現(xiàn)圖片高亮區(qū)域的像素值溢出,導(dǎo)致圖像出現(xiàn)失真點.一般情況下,偏差值取0.5~1.0之間.
針對失真點問題和參數(shù)手動調(diào)整問題,文獻(xiàn)[23-24]基于攝影學(xué)原理構(gòu)建色調(diào)映射算子,該算子也稱為Reinhard算子.首先使用平均對數(shù)亮度作為key值對圖像進(jìn)行動態(tài)范圍壓縮,然后對對比度大的區(qū)域進(jìn)行自動的曝光和遮光處理.該算法需要調(diào)整縮放參數(shù)α和最大純白值參數(shù)Lwhite.相比于文獻(xiàn)[22],該算法不會出現(xiàn)像素點失真,歸一化過程簡單,但壓縮后的圖像對比度較差,因此在進(jìn)行動態(tài)壓縮后需要再對局部區(qū)域進(jìn)行自動曝光和遮光處理.文獻(xiàn)[24]對參數(shù)計算方法進(jìn)行了規(guī)定,使其算法可以根據(jù)圖像自適應(yīng)的選擇參數(shù).
此外,全局TMO還包括基于S曲線的算法[25]、基于直方圖的算法[26]等.本文結(jié)合文獻(xiàn)[22-23]算法的優(yōu)點,完成色調(diào)映射算法的硬件實現(xiàn).
1.4 色調(diào)映射算子的優(yōu)化
文獻(xiàn)[22]硬件實現(xiàn)簡單,但圖像容易出現(xiàn)失真,而文獻(xiàn)[23]的流水線性能瓶頸在于平均亮度的計算上,其過程需要等待平均亮度計算完成才能進(jìn)行下一步歸一化流水,無法實現(xiàn)1幀7.9 MB數(shù)據(jù)的片上緩存,且該過程耗費(fèi)大量時鐘周期,不能滿足實時性要求.
本文首先對自適應(yīng)的對數(shù)公式進(jìn)行重新調(diào)整,加入像素點鉗位功能,解決出現(xiàn)隨機(jī)像素點問題,針對Reinhard算子性能瓶頸,提出自適應(yīng)的平均亮度選取方法,實現(xiàn)完全可并行處理的HDR視頻優(yōu)化算法.
文獻(xiàn)[18]的自適應(yīng)對數(shù)算子為
(2)
其中,第1個乘積項為傳統(tǒng)的對數(shù)壓縮方法,為了提高壓縮后圖像的對比度,受Gamma校正方法的啟發(fā),本文在傳統(tǒng)對數(shù)壓縮公式基礎(chǔ)上乘以第2個乘積項.其中,Lw/Lwmax比值衡量圖像的對比度,lnb/ln 0.5為其權(quán)重.然而,該算子在Ldmax>100,b<0.5時,圖像高亮區(qū)域的像素點第2個乘積項會大于1,最終導(dǎo)致Ld>1,引起圖像失真.失真圖像如圖1所示,其中圖1(a)(b)為正常的色調(diào)映射后圖像,圖1(c)為出現(xiàn)失真點和失真區(qū)域的不正常圖像.需要對公式做重新的修改和鉗位處理,本文對該算法優(yōu)化為
(3)
式(3)等號右邊第2個乘積項在0~1之間,因此圖像不會出現(xiàn)失真點,且保留了圖像對比度可以調(diào)整的功能.
文獻(xiàn)[23-24]的攝影學(xué)TMO算子首先需要計算整幅圖像的平均亮度值:
(4)
其中,Lw為真實世界亮度,δ是一個很小的量,其目的是為了保證lg公式的結(jié)果不為0.Lav表征整幅圖像的亮度等級,而每個像素點的亮度值需要根據(jù)平均亮度值重新調(diào)整:
(5)
Fig. 1 Distorted image in adaptive TMO algorithm*The original test images come form Debevec homepage. http://www.pauldebevec.com/Research/HDR/#creating圖1 自適應(yīng)對數(shù)算法的飽和失真圖像
參數(shù)α即為調(diào)整縮放參數(shù),該值為整幅圖片的亮度表征值.最終Reinhard算子歸一化亮度值為
(6)
該算子結(jié)合傳統(tǒng)的非線性動態(tài)壓縮方法,將攝影學(xué)經(jīng)驗公式作為限制條件,Lwhite參數(shù)表征被映射到純白色的最小亮度值.在Lwhite很大的情況下,第2項可以近似忽略.參數(shù)α可以自動計算得出:
α=0.18×22(B-A)(A+B),
A=Lmax-Lav,
B=Lav-Lmin.
(7)
本文采用對數(shù)方法和攝影學(xué)方法相結(jié)合的方式完成色調(diào)映射過程,既能保證壓縮映射時不會出現(xiàn)失真點,也能保證圖像有較好的對比度,本文算法的歸一化亮度值為
(8)
將自適應(yīng)對數(shù)算法、攝影學(xué)算法、HDR工具軟件Photomatix Pro 5.1版和本文算法顯示結(jié)果進(jìn)行對比,顯示效果如圖2所示.在參數(shù)不變的情況下計算本文算法效果,圖2(a)整體偏暗,而圖2(b)中天窗部分過于明亮,圖2(d)中有效抑制了高亮部分,保證了很好的對比度,整體圖像飽和度相比自適應(yīng)對數(shù)算法要好很多.
Fig. 2 Comparison of four different tone mapping algorithms①圖2 4種不同色調(diào)映射算法效果對比
然而,上述算法優(yōu)化仍不適用視頻影像的硬件實現(xiàn),主要原因在于:1)該算法的大部分操作在浮點數(shù)下進(jìn)行,F(xiàn)PGA內(nèi)部浮點運(yùn)算模塊資源有限,不能完成大規(guī)模的浮點運(yùn)算;2)該算法仍未解決每幀圖像的平均亮度值和參數(shù),實時性難以保證;3)在視頻影像中,使用該算法往往會出現(xiàn)2幀之間的參數(shù)α,b相差巨大,導(dǎo)致視頻出現(xiàn)閃爍(flicker)現(xiàn)象.
可以使用漏積分器(leaky integrator)模型來減小參數(shù)的巨大變換,從而減小色調(diào)映射后的HDR視頻閃爍現(xiàn)象,上述另外2種問題將在硬件實現(xiàn)中予以解決.漏積分器模型相當(dāng)于一個低通濾波器,減小幀和幀之間的快速參數(shù)變換,其計算公式為
An=(1-αA)An-1+αAA,
Bn=(1-αB)Bn-1+αBB,
Ln=(1-α)Ln-1+αL0.
(9)
如果只對參數(shù)α和B使用漏積分器模型,則當(dāng)場景進(jìn)行切換時因參數(shù)未及時變化導(dǎo)致視頻亮度失真,因此對參數(shù)A和B進(jìn)行積分處理,同時對參數(shù)B和平均亮度值L進(jìn)行同樣處理.其結(jié)果是使得各幀之間的參數(shù)變換減緩,從而使得視頻圖像不會產(chǎn)生劇烈變化.
2.1 HDR算法并行流水結(jié)構(gòu)系統(tǒng)總體架構(gòu)
HDR算法并行流水結(jié)構(gòu)系統(tǒng)總體架構(gòu)如圖3所示:
Fig. 3 Comparison of several different tone mapping algorithms圖3 HDR視頻流水線總體架構(gòu)
實時處理過程分為3個階段:
1) 流明值計算階段.該階段完成像素值和流明值的映射,本文在該階段提出一種相機(jī)響應(yīng)函數(shù)查找表結(jié)構(gòu).
2) 流明值壓縮編碼階段.該階段對多路通道的流明值進(jìn)行壓縮和浮點格式編碼,同時將壓縮后的幀數(shù)據(jù)存儲在720×32 b雙端口RAM的乒乓緩沖區(qū).本文在該階段提出一種壓縮流明值編碼方法.
3) 色調(diào)映射階段.該階段首先計算該幀圖像的TMO參數(shù),根據(jù)參數(shù)值完成色調(diào)映射過程,最終通過VGA接口實時顯示出來.本文在該階段對TMO算子進(jìn)行2路融合處理,優(yōu)化了生成視頻的圖像對比度,解決了圖像失真問題.
2.2 流明值生成模塊
Fig. 4 The pipeline structure of radiance map圖4 流明值生成模塊并行流水結(jié)構(gòu)
流明值的計算模塊根據(jù)相機(jī)響應(yīng)函數(shù)得到輝度值,再經(jīng)過權(quán)值濾波器去除噪聲和失真部分,最終根據(jù)式(1)計算流明值.該模塊主要結(jié)構(gòu)為相機(jī)響應(yīng)函數(shù)查找表(comparametric camera response function,CCRF LUT)和權(quán)值函數(shù)查找表.利用FPGA器件本身具有的LUT特性,可以方便地構(gòu)建上述2種查找表結(jié)構(gòu).該模塊框架如圖4所示.3幀不同曝光度的像素數(shù)據(jù)分別讀入CCRF查找表和權(quán)值函數(shù)查找表,檢索出來的輝度值通過加權(quán)平均電路重新計算得到較為真實的流明值.
相機(jī)響應(yīng)函數(shù)查找表的基本結(jié)構(gòu)如圖5所示,該查找表保存相機(jī)響應(yīng)函數(shù)的像素值到輝度值的映射過程.對相機(jī)響應(yīng)函數(shù)的曲線進(jìn)行四叉樹壓縮編碼,保證每1個樹形結(jié)構(gòu)的末端為1個像素值到輝度值的映射.Z0,i,j,Z1,i,j,Z2,i,j為相機(jī)響應(yīng)函數(shù)的橫坐標(biāo)數(shù)值,尋址電路根據(jù)輸入的Z0,i,j,Z1,i,j,Z2,i,j查找曲線中對應(yīng)的縱坐標(biāo)數(shù)值,通過四叉樹解碼電路輸出.四叉樹解碼電路的每個LUT模塊為FPGA最小查找表單元,多路選擇器將編碼值讀入解碼電路單元,經(jīng)過LUT模塊查找相應(yīng)輝度值.由于查找表為固定結(jié)構(gòu),整個流明值生成模塊只占用4拍的流水線時鐘.
Fig. 5 CCRF LUT architecture圖5 相機(jī)響應(yīng)函數(shù)查找表結(jié)構(gòu)
2.3 流明值編碼模塊
流明值編碼模塊采用定制的浮點格式進(jìn)行壓縮,壓縮編碼方式為8 b尾數(shù)加指數(shù)位.對18 b RAW格式視頻數(shù)據(jù)進(jìn)行壓縮存儲,存儲方法計算為
v=fpe(Lw(x,y)?8),
H(Lw(x,y))=(Lw(x,y)?v)+v×28.
(10)
其中,fpe為1個優(yōu)先級編碼器,對數(shù)據(jù)的9~18位進(jìn)行優(yōu)先級編碼,?是移位操作.
表2中說明了輸入流明值和存儲值之間的對應(yīng)關(guān)系,最終RAM中存儲的是Hw值.采用該存儲方法只需要2 816個RAM存儲空間來處理流明值的中間數(shù)據(jù),而一般RAW格式需要262 144個RAM存儲空間.本文算法大大節(jié)省了HDR視頻在FPGA中所需要的存儲資源.
Table 2 Data Structures in Radiance Map Module表2 流明值生成模塊數(shù)值結(jié)構(gòu)變換
2.4 色調(diào)映射模塊
色調(diào)映射模塊需要進(jìn)行大量浮點值計算,因此其主要的運(yùn)算單元通過調(diào)用FPGA器件的浮點運(yùn)算單元實現(xiàn).該模塊有4個輸入?yún)?shù),如圖6所示,其中bn,Lav和lnαw從漏積分器模塊傳入,lnHw為流明值編碼模塊輸出.首先分別計算自適應(yīng)對數(shù)方法歸一化值和Reinhard方法歸一化值,計算過程并行獨立的完成;然后將2路結(jié)果融合為1路,完成最終24位真彩色像素輸出.漏積分器參數(shù)αA,αB,αL為0~1之間的常量,本文取0.8.
該模塊占用時間為最長路徑消耗時間,自適應(yīng)對數(shù)方法需要更長的時鐘周期來完成計算,為了保證最終的歸一化結(jié)果正確,在Reinhard模塊加入移位寄存器組來保證時鐘節(jié)拍的一致性.
圖7為HDR視頻色調(diào)映射算法測試結(jié)果,圖7(a)為3種不同曝光度的原始測試視頻,本文只截取了第36幀到第39幀的視頻幀圖像;圖7(b)經(jīng)過本文色調(diào)映射算法處理后最終得到第36幀到第41幀的視頻幀圖像.
Fig. 6 Tone mapping algorithm for hardware implementation圖6 色調(diào)映射算法硬件實現(xiàn)
Fig. 7 Video frame sequences results of tone mapping algorithm*The original test video comes form Kalantari homepage. http://www.ece.ucsb.edu/~psen/PaperPages/HDRVideo/圖7 色調(diào)映射算法的視頻幀效果顯示
本文算法在Xilinx Kintex-7 KC705開發(fā)板上驗證實現(xiàn),利用單片XC7K325T-2FFG900C FPGA芯片,配合4 GB的DDR3內(nèi)存作為原始視頻和算法生成視頻的片外存儲介質(zhì),最終的視頻結(jié)果利用GeForce GTX 550顯卡實現(xiàn)輸出.
不同的相機(jī),其相機(jī)響應(yīng)函數(shù)不同,因此,需要預(yù)先對相機(jī)響應(yīng)函數(shù)進(jìn)行擬合,然后將得到的擬合曲線固定在FPGA的LUT結(jié)構(gòu)中.利用FPGA軟件工具Vivado13.3對各個模塊進(jìn)行綜合和布局布線,使用iMPACT軟件工具進(jìn)行FGPA器件的燒寫和擦除,同時使用ChipScope工具對測試信號進(jìn)行檢查.表3是本文算法最終使用FPGA資源情況.BRAM資源的消耗僅在壓縮編碼模塊,而流明值生成模塊占用了將近一半的LUT資源.DSP48E模塊完成浮點數(shù)據(jù)處理,在色調(diào)映射模塊調(diào)用最為密集.表4對其處理速度和其他文獻(xiàn)進(jìn)行了對比,在120 MHz的系統(tǒng)時鐘下,對1 920×1 080分辨率的19.58 MB標(biāo)準(zhǔn)視頻數(shù)據(jù),可在15.3 ms內(nèi)完成1幀視頻圖像的輸出,幀率高達(dá)65.4 f/s.
Table 3 FPGA Resource Consumption in Kintex-7 KC705表3 Kintex-7 KC705 FGPA的資源利用率
由表4可以看出,近年來越來越多算法實現(xiàn)基于FPGA,GPU,DSP等硬件平臺實現(xiàn),基于CPU的方法由于算法處理速度較慢,應(yīng)用面較窄,近年來已經(jīng)不再有相關(guān)研究.同時,根據(jù)3幀圖像恢復(fù)1幀高動態(tài)范圍圖像的方法已經(jīng)成為主流,而在視頻處理領(lǐng)域,低分辨率的圖像合成方法已經(jīng)研究的較為成熟.本文基于FGPA的方法具有成本低、可擴(kuò)展性好、靈活性好等特點,同時不需要任何數(shù)據(jù)預(yù)處理的過程,可以完全做到現(xiàn)場數(shù)據(jù)的實時處理,適用于對實時性要求較高的嵌入式應(yīng)用領(lǐng)域.
Table 4 Different Hardware Platform Performance List表4 不同硬件平臺的HDR處理性能對比
針對HDR視頻算法復(fù)雜度高的問題,本文采用了一種優(yōu)化的HDR視頻流水線算法,并針對FPGA器件進(jìn)行了結(jié)構(gòu)優(yōu)化,實現(xiàn)了高分辨率的HDR視頻實時處理.通過壓縮流明值的方式解決了HDR視頻算法中高存儲資源的瓶頸.本文算法最終在Xilinx Kintex-7開發(fā)板上實現(xiàn),對于1 920×1 080分辨率的視頻流,處理速度可以達(dá)到65 f/s.
本文部分源代碼和RTL級網(wǎng)表開源,代碼內(nèi)容可以在主頁:http://home.ustc.edu.cn/~wuan下載,所有代碼遵循LGPL v3協(xié)議.
[1]Natale D J, Baran M S, Tutwiler R L. High dynamic range (HDR) video processing for the exploitation of high bit-depth sensors in human-monitored surveillance[C] //Proc of the IEEE AIPR’14. Piscataway, NJ: IEEE, 2014: 1-6
[2]K?stler H, Stürmer M, Pohl T. Performance engineering to achieve real-time high dynamic range imaging[J]. Journal of Real-Time Image Processing, 2013, 44(3): 127-139
[3]Krawczyk G, Myszkowski K, Seidel H P. Perceptual effects in real-time tone mapping[C] //Proc of the 21st Spring Conf on Computer Graphics. New York: ACM, 2005: 195-202
[4]Luksch C. Realtime HDR rendering[OL]. 2007[2015-05-04]. https://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf
[5]Belbachir A N, Schraml S, Mayerhofer M, et al. A novel HDR depth camera for real-time 3D 360° panoramic vision[C] //Proc of the IEEE CVPRW’14. Piscataway, NJ: IEEE, 2014: 425-432
[6]Kiser C, Reinhard E, Tocci M, et al. Real time automated tone mapping system for HDR video[C] //Proc of the IEEE IP’12. Piscataway, NJ: IEEE, 2012: 2749-2752
[7]Mann S, Lo R C H, Ovtcharov K, et al. Realtime HDR (high dynamic range) video for eyetap wearable computers, fpga-based seeing aids, and glasseyes (eyetaps)[C] //Proc of the 25th IEEE Canadian Conf on Electrical & Computer Engineering (CCECE). Piscataway, NJ: IEEE, 2012: 1-6
[8]Kang S B, Uyttendaele M, Winder S, et al. High dynamic range video[J]. ACM Trans on Graphics, 2003, 22(3): 319-325
[9]Mantiuk R, Efremov A, Myszkowski K, et al. Backward compatible high dynamic range MPEG video compression[J]. ACM Trans on Graphics, 2006, 25(3): 713-723
[10]Gen?tav A, Akyüz A O. Evaluation of radiometric camera response recovery methods[C] //Proc of the ACM SIGGRAPH-2011. New York: ACM, 2011: 15-16
[11]Debevec P E, Malik J. Recovering high dynamic range radiance maps from photographs[C] //Proc of the ACM SIGGRAPH-2008. New York: ACM, 2008: 31-32
[12]Reinhard E, Stark M, Shirley P, et al. Photographic tone reproduction for digital images[J]. ACM Trans on Graphics, 2002, 21(3): 267-276
[13]Mann S, Lo R C H, Ovtcharov K, et al. Realtime HDR (high dynamic range) video for eyetap wearable computers, fpga-based seeing aids, and glasseyes (eyetaps)[C] //Proc of the 25th IEEE Canadian Conf on Electrical & Computer Engineering (CCECE). Piscataway, NJ: IEEE, 2012: 1-6
[14]Lapray P J, Heyrman B, Ginhac D. Hardware-based smart camera for recovering high dynamic range video from multiple exposures[J]. Optical Engineering, 2014, 53(10): 1-10
[15]Luo Xuemei, Wang Yifeng, Zeng Ping. High dynamic range image reproduction based on color appearance mapping[J]. Journal of Computer Research and Development, 2013, 50(8): 1787-1796 (in Chinese)(羅雪梅, 王義峰, 曾平. 色外觀匹配的高動態(tài)范圍圖像再現(xiàn)[J]. 計算機(jī)研究與發(fā)展, 2013, 50(8): 1787-1796)
[16]Chen Huaizhang, Wang Yanjie, Sun Honghai. High dynamic range imaging detection based on DMD and image sensor[J]. Infrared and Laser Engineering, 2013, 42(12): 3402-3409 (in Chinese)(陳懷章, 王延杰, 孫宏海. DMD結(jié)合圖像傳感器的高動態(tài)場景成像探測[J]. 紅外與激光工程, 2013, 42(12): 3402-3409)
[17]Zhou Jiquan, Wang Qing. Camera array-based HDR image synthesis method[J]. Application Research of Computers, 2013, 30(9): 2859-2860 (in Chinese)(周繼權(quán), 王慶. 基于相機(jī)陣列的高動態(tài)范圍圖像合成方法[J]. 計算機(jī)應(yīng)用研究, 2013, 30(9): 2859-2860)
[18]Zhao Zaiqian, Chao Jiangang, Wang Jinkun. Real-time HDR rendering for simulated TV-graphics of rendezvous and docking in astronaut training[J]. Journal of Computer-Aided Design & Computer Graphics, 2015, 27(2): 279-286 (in Chinese)(趙再騫, 晁建剛, 王金坤. 交會對接航天員訓(xùn)練電視圖像實時高動態(tài)范圍渲染[J]. 計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報, 2015, 27(2): 279-286)
[19]Mann S, Picard R W. On Being ‘Undigital’with digital cameras: Extending dynamic range by combining differently exposed pictures[C] //Proc of the 48th IEEE Annual Conf on Computing Section. Piscataway, NJ: IEEE, 1994: 422-428
[20]Mitsunaga T, Nayar S K. Radiometric self calibration[C] //Proc of the IEEE CSCCVPR’99. Piscataway, NJ: IEEE, 1999: 374-380
[21]Reinhard E, Ward G, Debevec P, et al. High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting[M]. San Francisco, CA: Morgan Kaufmann, 2010
[22]Drago F, Myszkowski K, Annen T, et al. Adaptive logarithmic mapping for displaying high contrast scenes[J]. Computer Graphics Forum, 2003, 22(3): 419-426
[23]Reinhard E, Stark M, Shirley P, et al. Photographic tone reproduction for digital images[J]. ACM Trans on Graphics, 2002, 21(3): 267-276
[24]Reinhard E, Devlin K. Dynamic range reduction inspired by photoreceptor physiology[J]. IEEE Trans on Visualization and Computer Graphics, 2005, 11(1): 13-24
[25]Huang M, Huang H, Chan Z. An S-function based of tone reproduction algorithm for digital photographic[J]. IEEE Trans on Image Proeessing, 2003, 6(7): 230-234
[26]Pouli T, Reinhard E. Progressive histogram reshaping for creative color transfer and tone reproduction[C] //Proc of the 8th Int Symp on Non-Photorealistic Animation and Rendering. New York: ACM, 2010: 81-90
Optimizing and Implementing the High Dynamic Range Video Algorithom
Wu An1, Jin Xi1,2, Du Xueliang2, Zhang Kening1, Yao Chunhe1, and Ma Shufen2
1(Key Laboratory of Strongly-Coupled Quantum Matter Physics (School of Physical Sciences, University of Science and Technology of China), Chinese Academy of Sciences, Hefei 230026)2(Hefei Branch Center of National ASIC Design Engineering Technology Research Center, Hefei 230026)
In contrast to the HDR image processing algorithm, the computation complexity of HDR video processing algorithm make the hardware implementation consume much more logics and storage resources, which poses an enormous obstacle for the existing algorithms to achieve real-time processing. As a consequence, a new algorithm for real-time hardware implementation is demanded. In this paper, we propose a fully pipelined hardware system processing HDR video in real-time, which takes advantage of parallel configurable characteristics of FPGA. Our system obtains a series of low dynamic range (LDR) images adopting varying exposure time algorithm and places their camera response curves in the FPGA look-up table (LUT). Then the translated float data is stored in the BRAM or FIFO modules in parallel pipeline. Finally, the image is displayed in the device by adopting rapid global Tone Mapping algorithm. The entire HDR video processing system is realized in Xilinx Kintex-7 FPGA board. Results show that the processing efficiency can reach 65 f/s for the 1 920×1 080 resolution video when the system clock rate is 120 MHz, which is sufficient for the real-time processing requirements.
FPGA; high dynamic range video (HDR); tone mapping; comparametric camera response function LUT (CCRF LUT); radiance map
Wu An, born in 1990. PhD. His main research interests include SoC design technology, VLSI design technology, VLSI design and FPGA-based hardware accelerator design.
Jin Xi, born in 1970. Associate professor and PhD supervisor. His main research interests include SoC design technology, VLSI design, computer-aided design meth-odologies for SoC system integration and FPGA-based hardware structure design.
Du Xueliang, born in 1982. PhD, associate professor. His main research interests include high-performance SoC design, DSP design and FPGA-based prototyping.
Zhang Kening, born in 1992. Master candidate. His main research interests include SoC design technology, image processing and FPGA-based hardware accelerator design.
Yao Chunhe, born in 1994. Master candidate. His main research interests include image processing algorithm design and high-speed vision chip design.
Ma Shufen, born in 1993. Master. Her main research interests include image processing and 3D model retriecval.
2016-03-06;
2016-06-30
中國科學(xué)院戰(zhàn)略性先導(dǎo)科技專項課題(XDA06010402-4) This work was supported by the State Priority Research Program of the Chinese Academy of Sciences (XDA06010402-4).
金西(jinxi@ustc.edu.cn)
TP391