摘 要:為了提高高分辨率圖像的質(zhì)量,實(shí)現(xiàn)快速的圖像增強(qiáng)算法,提出在離散余弦變換(DCT)的對(duì)比度測(cè)度下,通過(guò)DCT矩陣中不同頻率的系數(shù)關(guān)系對(duì)DCT系數(shù)塊進(jìn)行分類(lèi),對(duì)不同類(lèi)型的系數(shù)塊做不同強(qiáng)度的自適應(yīng)增強(qiáng)算法,并在FPGA上得到實(shí)現(xiàn)。提出的方法在不影響原始圖像壓縮性能的情況下有效地增強(qiáng)了圖像明亮或黑暗區(qū)域的細(xì)節(jié),同時(shí)減少了因圖像增強(qiáng)而帶來(lái)的壓縮圖像塊效應(yīng)。給出算法原理及在FPGA上的具體實(shí)現(xiàn)方法,并給出了實(shí)驗(yàn)結(jié)果。結(jié)果表明,該算法在改善圖像主、客觀質(zhì)量方面和運(yùn)算效率上都能夠達(dá)到較好的效果。
關(guān)鍵詞:圖像增強(qiáng);DCT;FPGA;塊效應(yīng)
中圖分類(lèi)號(hào):TP751.1文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)04-052-03
High Resolution Image Enhancement in DCT Domain Based on FPGA
TANG Yao1,2,CAO Jianzhong1,LIU Bo3
(1.Xi′an Institute of Optics and Precision Mechanics,Chinese Academy of Sciences,Xi′an,710119,China;
2.Graduate University,Chinese Academy of Sciences,Beijing,100039,China;
3.Center for Space Science and Applied Research,Chinese Academy of Sciences,Beijing,100190,China)
Abstract:For improving the quality of high resolution image and realizing the image enhancement algorithm,an image enhancement algorithms is proposed.It enhances the image adaptive based on a contrast measure defined within the Discrete Cosine Transform (DCT) domain.An improved classified method is proposed to classify the DCT matrix in the image and the image is adaptive enhanced by using different weight in different type DCT matrix.The algorithm is implemented on FPGA.It enhances the details in the dark and bright areas of image and gets rid of blocking artifacts.The algorithm uses low computations without affecting the compressibility of the original image,and the experiment on FPGA results show the satisfactory visual effect for computer and human vision.
Keywords:image enhancement;DCT;FPGA;block effect
0 引 言
高分辨率數(shù)碼圖像內(nèi)容豐富,細(xì)節(jié)多變,但在拍攝過(guò)程中常受到氣候、環(huán)境和大氣衰減等影響。為了改善圖像的視覺(jué)效果,利于后續(xù)圖像處理,提高圖像的清晰度,必須對(duì)圖像進(jìn)行增強(qiáng)處理。圖像增強(qiáng)算法從衡量的標(biāo)準(zhǔn)上可以被分為直接對(duì)比度增強(qiáng)型和間接對(duì)比度增強(qiáng)型。對(duì)于直接對(duì)比度增強(qiáng)算法,關(guān)鍵是要建立一種適合圖像特性的對(duì)比度測(cè)度。DCT域的對(duì)比度測(cè)度被定義為DCT矩陣子帶中高頻成份與低頻成份的比率。測(cè)度還具有類(lèi)似于人類(lèi)視覺(jué)系統(tǒng)的多尺度形式。
另一方面,高分辨率圖像具有數(shù)據(jù)量大的特點(diǎn)。在飛行過(guò)程中,為了保證拍攝區(qū)域一定的圖像重疊率,就需要在較短的時(shí)間內(nèi)處理大量的圖像數(shù)據(jù)。為了提高存儲(chǔ)和傳輸?shù)男?,常需要?duì)圖像進(jìn)行壓縮。JPEG[1](Joint Photographic Expert Group)是一種基于DCT變換的有損壓縮算法。與原始圖像相比,JPEG壓縮圖像的影像質(zhì)量在多數(shù)情況下都是可以接受的[2]。本文中的圖像壓縮處理器采用FPGA,實(shí)現(xiàn)了JPEG基線壓縮算法。
對(duì)于基于FPGA硬件實(shí)現(xiàn)復(fù)雜圖像的高速增強(qiáng)處理,采用運(yùn)算復(fù)雜或是單一不變的處理方式都難以適應(yīng)要求。所以在基于DCT域?qū)Ρ榷葴y(cè)度圖像增強(qiáng)算法[3]的基礎(chǔ)上,本文采用改進(jìn)自適應(yīng)圖像增強(qiáng)算法,通過(guò)對(duì)DCT系數(shù)進(jìn)行計(jì)算分類(lèi),直接對(duì)DCT系數(shù)進(jìn)行操作,對(duì)不同類(lèi)型的DCT矩陣進(jìn)行不同強(qiáng)度的自適應(yīng)增強(qiáng)。
基于壓縮域?qū)崿F(xiàn)圖像的增強(qiáng),首先,不會(huì)影響圖像壓縮的性能;其次,不需要對(duì)圖像進(jìn)行其他的變換與反變換,降低了算法的復(fù)雜度;最后,量化后的DCT系數(shù)矩陣中存在很多零值,相對(duì)降低了硬件實(shí)現(xiàn)時(shí)的運(yùn)算量和存儲(chǔ)需求。在不影響原始圖像壓縮性能的情況下,能有效增強(qiáng)圖像明亮或黑暗區(qū)域的細(xì)節(jié),同時(shí)降低因圖像增強(qiáng)而帶來(lái)壓縮圖像的塊效應(yīng)。
這里的圖像增強(qiáng)方法具有較好的效果和較低的復(fù)雜度,適合于硬件的實(shí)現(xiàn)。在研究改進(jìn)傳統(tǒng)圖像增強(qiáng)算法的基礎(chǔ)上,在FPGA上實(shí)現(xiàn)了可直接嵌入JPEG壓縮流程的自適應(yīng)圖像增強(qiáng)處理器。下面對(duì)算法的FPGA實(shí)現(xiàn)進(jìn)行了詳細(xì)的介紹。
1 圖像增強(qiáng)原理
1.1 圖像增強(qiáng)原理
為了壓縮圖像的動(dòng)態(tài)范圍,增強(qiáng)圖像局部對(duì)比度,可采用對(duì)DCT變換矩陣中系數(shù)進(jìn)行處理的方法。DCT變換可表示為:
dk,l=c(k)c(l)4∑7i=0∑7j=0xi,jcos[(2i+1)kπ/16]#8226;
cos[(2j+1)lπ/16](1)
式中:k,l=0,1,2,…,7,且:
c(k)=1/2,if k=0
1,otherwise(2)
對(duì)于DCT變換矩陣,如下式所示:
D=d00d01d02d03d04d05d06d07d08
d10d11d12d13d14d15d16d17d18
d20d21d22d23d24d25d26d27d28
d30d31d32d33d34d35d36d37d38
d40d41d42d43d44d45d46d47d48
d50d51d52d53d54d55d56d57d58
d60d61d62d63d64d65d66d67d68
d70d71d72d73d74d75d76d77d78
式中:左上角的d0,0代表DC系數(shù),實(shí)質(zhì)上是圖像中每個(gè)8×8塊值的平均,可以看作是照度分量;矩陣中越向右下方的分量越代表遞增水平和垂直的空間頻率分量。這種空間頻率特性為在DCT域定義對(duì)比度測(cè)度提供了一種途徑。已知人類(lèi)視覺(jué)分辨依賴于高頻成分與低頻成分之比。因此,局部對(duì)比度測(cè)度可以被定義為DCT矩陣頻帶中高頻分量與低頻分量之比。
cn=En/∑n-1t=0Et(3)
式中:En為第n個(gè)頻帶的平均幅度:
Et=(∑k+l=t|dk,l|)/N(4)
N=t+1, t<8
14-t+1,t≥8(5)
設(shè)原始圖像塊的對(duì)比度為c=(c1,c2,…,c14);cn是對(duì)應(yīng)En頻帶的對(duì)比度;另設(shè)增強(qiáng)后DCT矩陣塊的對(duì)比度為c=(c1,c2,…,c14)。如果是增強(qiáng)所有頻帶的對(duì)比度,則cn=λcn。由此,根據(jù)式(3)有:
En/∑n-1t=0Et=cn=λcn=λEn/∑n-1t=0Et(6)
式(6)可表示為:
En=λHnEn,n≥1(7)
式中:Hn=∑n-1t=0Et/∑n-1t=0Et,n≥1。
通過(guò)式(7),可得到增強(qiáng)后的DCT系數(shù)為:
dk,l=λHk+ldk,l, k+l≥1(8)
Hn(n=1,2,…,14)可以通過(guò)遞歸的方式算出。
1.2 算法的應(yīng)用與改進(jìn)
人眼對(duì)不同類(lèi)型區(qū)域的細(xì)節(jié)變化敏感程度不同,所以對(duì)不同區(qū)域的圖像應(yīng)考慮增強(qiáng)方式的區(qū)別。圖像中細(xì)節(jié)非常豐富,對(duì)于圖像復(fù)雜區(qū)域會(huì)有掩蓋效應(yīng),塊效應(yīng)不會(huì)很明顯,因此可以著重加強(qiáng)。邊沿區(qū)也是人眼能敏銳感知的部分,也需要進(jìn)行增強(qiáng)。對(duì)平坦區(qū),因?yàn)榧?xì)節(jié)少,增強(qiáng)后塊效應(yīng)很明顯,所以不需要增強(qiáng),這樣可以減少平坦區(qū)域塊效應(yīng)的出現(xiàn)。對(duì)于整個(gè)圖像,將DCT系數(shù)塊分成直流部分、低頻部分、中頻部分和高頻部分。各部分系數(shù)絕對(duì)值之和的分布可以作為平坦區(qū)、邊沿區(qū)和紋理區(qū)的判據(jù)。通過(guò)改進(jìn),算法對(duì)不同類(lèi)型的DCT系數(shù)矩陣增強(qiáng)過(guò)程中取不同的λ值,以達(dá)到對(duì)不同區(qū)域不同特性圖像內(nèi)容自適應(yīng)增強(qiáng)的目的。
圖1中實(shí)線框表示JPEG壓縮的流程原理框圖。在編碼過(guò)程中,輸入的原始圖像被分為多個(gè)相互不重疊的8×8子塊,JPEG對(duì)每個(gè)小塊進(jìn)行二維DCT變換,在得到DCT系數(shù)后應(yīng)用指定的量化表對(duì)其進(jìn)行量化,量化是一個(gè)有損的過(guò)程。之后對(duì)DCT系數(shù)矩陣進(jìn)行之字形掃描,并進(jìn)行熵編碼。
圖1 嵌入圖像增強(qiáng)算法的JPEG壓縮原理框圖
算法實(shí)現(xiàn)方面,DCT系數(shù)由第0個(gè)頻帶,即DC系數(shù)開(kāi)始,遞增地計(jì)算15個(gè)頻帶的增強(qiáng)系數(shù)。由于頻帶的遞增與之字形掃描順序一致,故將算法集成在JPEG壓縮步驟的之字形掃描之后。這種設(shè)計(jì)的好處在于首先通常DCT矩陣中高頻部分較小的系數(shù)都會(huì)被量化為零值,降低了算法的計(jì)算量。另外,由于之字形掃描后的順序無(wú)需再做調(diào)整,降低了存儲(chǔ)空間的需求。如圖1所示,虛線框所示為圖像增強(qiáng)算法模塊。
2 算法的FPGA實(shí)現(xiàn)
對(duì)于本文中的高分辨率相機(jī),對(duì)圖像壓縮和增強(qiáng)的速度要求較高,設(shè)計(jì)采用流水線結(jié)構(gòu)。圖2是詳細(xì)的算法在FPGA中實(shí)現(xiàn)的原理圖。
圖2 基于FPGA實(shí)現(xiàn)的圖像增強(qiáng)算法原理圖
在圖像增強(qiáng)處理器設(shè)計(jì)中,計(jì)算是基于DCT變換后8×8塊進(jìn)行的,系數(shù)矩陣輸入圖像增強(qiáng)模塊的次序與之字形掃描后的次序一致。在每個(gè)DCT系數(shù)矩陣輸入前,先對(duì)反饋參數(shù)初始化,使H0=1/λ。當(dāng)輸入DC系數(shù)d0,0時(shí),E0=d0,0,E0=d0,0,d0,0=d0,0。由此得到H1=1,d0,1=λH1d0,1,以此類(lèi)推。待計(jì)算完系數(shù)矩陣中64個(gè)系數(shù)后,進(jìn)入下一個(gè)8×8矩陣的運(yùn)算。
在此,采用的FPGA中嵌入了乘法器,方便了算法的實(shí)現(xiàn)。由于涉及到除法運(yùn)算,所以先通過(guò)查表法將對(duì)除數(shù)取倒數(shù),將除法運(yùn)算轉(zhuǎn)換成乘法進(jìn)行運(yùn)算。
3 實(shí)驗(yàn)結(jié)果
在上述原理圖單元的基礎(chǔ)上,完成JPEG壓縮和圖像增強(qiáng)算法的設(shè)計(jì)。采用一片Altera EP2S30F672I8 FPGA,約27 104個(gè)邏輯單元,128個(gè)9 b DSP block單元,本設(shè)計(jì)占用片上資源22%左右,當(dāng)系統(tǒng)速度為50 MHz時(shí),完成一幀8 000×6 000圖像壓縮與增強(qiáng)需要時(shí)間約1 s。圖3(a),(b)分別給出原圖及經(jīng)FPGA增強(qiáng)后的效果圖。
圖3 原圖和經(jīng)FPGA增強(qiáng)后效果圖
可以看出增強(qiáng)后的圖像在整體對(duì)比度增加的情況下細(xì)節(jié)表現(xiàn)更為突出。在圖像增強(qiáng)的過(guò)程中,沒(méi)有因?yàn)閷?duì)某一部分信息的強(qiáng)調(diào)而損失另一部分信息。既滿足了人眼主觀的要求,又適應(yīng)了高分辨率數(shù)碼圖像的特點(diǎn)。
4 結(jié) 語(yǔ)
在圖像增強(qiáng)算法中,采用DCT域的圖像增強(qiáng)算法,在不損失圖像局部細(xì)節(jié)的前提下,增強(qiáng)了整幅圖像的對(duì)比度,改善了圖像質(zhì)量。
在數(shù)碼相機(jī)系統(tǒng)中使用FPGA作為圖像壓縮與增強(qiáng)處理器,成功地在JPEG壓縮流程中實(shí)現(xiàn)了本文中提出的圖像增強(qiáng)算法。實(shí)驗(yàn)表明,因采用流水線結(jié)構(gòu),算法被嵌入到JPEG壓縮流程中后,與單純實(shí)現(xiàn)JPEG壓縮對(duì)比,拍攝間隔沒(méi)有受到影響,并且基于DCT系數(shù)的分塊操作沒(méi)有因?yàn)楦叻直媛实膱D像而增加額外的FPGA片外硬件存儲(chǔ)資源。基于FPGA硬件處理后圖像與原圖對(duì)比,圖像的細(xì)節(jié)更加豐富,畫(huà)面整體效果有了很大提高,達(dá)到了增強(qiáng)圖像的目的。
參考文獻(xiàn)
[1]Digital Compression of Coding of Continuous-Tone Still Images-Part1:Requirements and Guidelines,ISO/IEC JTC1 CD 10918,1993.
[2]C Chang-Hsin,T Mu-Changsai,H Chun-Lung.A Novel 2-D DCT Realization using Low Cost Residue/Quotient Technique[J].IEEE Trans.,2009,17(8):1 079-1 084.
[3]Tang J,Kim J,Peli E.Image Enhancement in the JPEG Domain for People with Vision impairment[J].IEEE Trans.on Biomedical Engineering,2004,51(2):2 013-2 023.
[4]Fu J,Zeng B.Directional Discrete Cosine Transforms:A Theoretical Analysis[A].Proc.Int.Acoustics,Speech and Signal Processing Conf.[C].2007:1 105-1 108.
[5]An Kebin,Ni Qiang,Sun Jun.A Contrast Enhancement Method for Compressed Images[J].IEIC Electronics Express,2004,1(18):582-587.
[6]Amir Z Averbuch,Alon Schclar,David L Donoho.Deblocking of Block-transform Compressed Images using Weighted Sums of Symmetrically Aligned Pixels[J].IEEE Trans.on Image Processing,2005,14(2):200-212.
[7]L Yuh-Rueyee,L Chia-Wen.Visual Quality Enhancement in DCT-Domain Spatial Downscaling Transcoding using Genera-lized DCT Decimation[J].IEEE Trans.on Circuits and Systems for Video Technology,2007,17(8):1 079-1 084.
[8]朱劍英.基于DCT 變換的圖像編碼方法研究[D].南京:南京理工大學(xué),2004.
[9]鐘文榮,陳建發(fā).二維DCT 算法的高速芯片設(shè)計(jì)[J].廈門(mén)大學(xué)學(xué)報(bào):自然科學(xué)版,2005,44(2):198-201.
[10]Gonzalez R C,Woods R E.Digital Image Processing[M].Prentice Hall,2007.