摘 要:利用FPGA處理數(shù)據(jù)量大、處理速度快,結(jié)合CMOS圖像傳感器MT9M001和BayerCFA格式圖像的特點(diǎn),設(shè)計(jì)一種基于FPGA的圖像數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng),提出用硬件實(shí)現(xiàn)Bayer格式到RGB格式轉(zhuǎn)換的設(shè)計(jì)方案,研究CFA圖像插值算法,實(shí)現(xiàn)基于FPGA的實(shí)時線性插值算法,對Bayer圖像格式進(jìn)行插值恢復(fù)全彩色圖像,實(shí)現(xiàn)從黑白圖像還原高清彩色圖像。整個設(shè)計(jì)模塊能夠滿足高幀率和高清晰的實(shí)時圖像處理,占用系統(tǒng)資源很少,用較少的時間完成了圖像數(shù)據(jù)的轉(zhuǎn)換,提高了效率。
關(guān)鍵詞:MT9M001圖像傳感器;Bayer格式;紅綠藍(lán)三原色;FPGA
中圖分類號:TP391.41文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2010)02-122-03
Conversion from Bayer to RGB Based on FPGA
YANG Hua,TONG Shoufeng
(Opto_electronics Engineering College,Changchun University of Science and Technology,Changchun,130022,China)
Abstract:Because of the high speed and large amount of processing consume,an image data transform system based on FPGA is presented by CMOS digital image sensor MT9M001 and Bayer CFA,a design scheme to realize comversion from Bayer to RGB by hardware is proposed,CFA algorithm and real_time linear interpolation algorithm are realized.The structure of the system is facile by using FPGA of altera,the module can work correctly using least time .The efficiency is improved.
Keywords:MT9M001 sensor;Bayer fomat;RGB;FPGA
0 引 言
隨著CMOS工藝的不斷發(fā)展,CMOS圖像傳感器的系統(tǒng)集成度、動態(tài)范圍、感光度、功耗等性能大幅提高,使得CMOS傳感器越來越多的進(jìn)入不同的領(lǐng)域。利用FPGA處理數(shù)據(jù)量大、處理速度快,結(jié)合CMOS圖像傳感器MT9M001和BayerCFA格式圖像的特點(diǎn),設(shè)計(jì)一種基于FPGA的圖像數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng),提出用硬件實(shí)現(xiàn)Bayer格式到RGB格式轉(zhuǎn)換的設(shè)計(jì)方案,研究CFA圖像插值算法,實(shí)現(xiàn)基于FPGA的實(shí)時線性插值算法,對Bayer圖像格式進(jìn)行插值恢復(fù)全彩色圖像,實(shí)現(xiàn)從黑白圖像還原高清彩色圖像。
1 CMOS圖像傳感器
由色度學(xué)理論得知,任何顏色都可由紅(R),綠(G),藍(lán)(B)三種基本顏色按不同的比例混合得到。因此RGB被稱為三原色。自然界的圖像可用基于位坐標(biāo)的三維函數(shù)來表示,即:
f(x,y,z)={f(x,y,z),f(x,y,z),f(x,y,z)}
大多數(shù)彩色CMOS圖像傳感器,是在黑白圖像傳感器的基礎(chǔ)上增加色彩濾波陣列(CFA),從而實(shí)現(xiàn)彩色成像。其中應(yīng)用最為廣泛的是BayerCFA。由于人的視覺對綠色信息最為敏感,所以在BayerCFA中G分量是R和B分量的2倍,每個像素點(diǎn)上只能獲取一種色彩分量的信息;然后通過內(nèi)插算法得到全彩色圖像。 MT9M001圖像傳感器具有130萬像素分辨率,輸出高保真的數(shù)字圖像,提供SXGA,VGA,QVGA,CIF等多種工作模式,且輸出為Bayer顏色格式,如圖1所示。
圖1 Bayer色彩濾波陣列及數(shù)據(jù)讀出格式
2 系統(tǒng)硬件結(jié)構(gòu)單元
由于要實(shí)時采集處理圖像數(shù)據(jù),要求速度快,設(shè)計(jì)中盡量減少延時,為滿足要求,系統(tǒng)采用FPGA作為主控制器。結(jié)構(gòu)如圖2所示,系統(tǒng)上電后,F(xiàn)PGA首先從epcs芯片里面讀取數(shù)據(jù)配置CMOS傳感器的相關(guān)寄存器,按要求驅(qū)動傳感器,然后根據(jù)輸出時序采集圖像數(shù)據(jù),直接采集到的圖像是RAW圖,即Bayer格式,接著進(jìn)行RGB彩色圖像的轉(zhuǎn)換。
圖2 系統(tǒng)結(jié)構(gòu)框圖
2.1 CMOS圖像傳感器單元
MT9M001具有大量可編程寄存器,配置方式靈活,可以進(jìn)行實(shí)時在線控制。根據(jù)課題需要,CMOS傳感器工作窗配置為最大的1 280×1 024,輸出配置為連續(xù)模式,選擇工作時鐘為40 MHz。工作時候根據(jù)實(shí)際對比,可對兩線串行接口進(jìn)行配置,調(diào)節(jié)RGB平衡。
2.2 FPGA單元
FPGA(Field Programmbale Gate Array)作為系統(tǒng)的控制器,負(fù)責(zé)傳感器的控制,數(shù)據(jù)緩存以及圖像處理的算法實(shí)現(xiàn)。考慮到實(shí)際需要,選用Altera公司Cyclone 2型FPGA,整個系統(tǒng)使用Verilog HDL語言編寫,在Quartus 6.0環(huán)境下實(shí)現(xiàn)編譯綜合。外部時鐘選擇50 MHz,利用FPGA鎖相環(huán)產(chǎn)生40 MHz時鐘驅(qū)動CMOS圖像傳感器。
3 數(shù)據(jù)格式的轉(zhuǎn)換
由于MT9M001采用的是色彩濾波陣列,數(shù)據(jù)逐行讀出。讀出數(shù)據(jù)除了有效的圖像數(shù)據(jù)外,還包括水平消影信號和垂直消影信號,利用CMOS傳感器輸出的行有效和場有效可以確定行場的開始位置,如圖3所示。
圖3 四種可能的插值情況分布
可以看出,Bayer模式每一個像素只取RGB顏色空間中一種顏色分量,奇數(shù)行包含G,B分量,偶數(shù)行包含R,G分量,奇數(shù)列包含G,R分量,偶數(shù)列包含B,G分量。實(shí)現(xiàn)Bayer格式到RGB格式的轉(zhuǎn)換,在每一個像素點(diǎn)需要插入另外兩種丟失的顏色分量,才能還原為彩色RGB格式,對幾種插值法(臨近、線性、樣條)進(jìn)行評估,基于硬件的可行性及速度的考慮,這里采取線性插值。對于每一個像素,都有以下四種可能的情況,如圖4所示。
設(shè)置行列計(jì)數(shù)器Y_Cont ,X_Cont,列計(jì)數(shù)器從場有效到達(dá)后第一個有效像素開始計(jì)數(shù),計(jì)數(shù)到一行結(jié)束即1 280個像素后,重新計(jì)數(shù),同時行計(jì)數(shù)器加1。由行列計(jì)數(shù)器二進(jìn)制值的最后一位確定奇偶行奇偶列,即iY_Cont[0],iX_Cont[0]有00,01,10,11四種可能;與上述四種情況相對應(yīng),在目標(biāo)插值點(diǎn)取相鄰點(diǎn)的另外兩種不同顏色分量進(jìn)行插值,使得目標(biāo)點(diǎn)產(chǎn)生RGB三原色。
圖4 altshift_taps的IP核
以圖4的四種分布情況,分別對右下角第一個元素進(jìn)行插值,對應(yīng)如下:
(1) B=B21,R=R12,G=G11+G22;
(2) G=G12+G21,B=B11,R=R22;
(3) R=R21,G=G12+G21,B=B12;
(4) G=G12+G21,R=R11,B=B22;
對于算法的實(shí)現(xiàn),可以采用兩FIFO緩存來并行緩存數(shù)據(jù),這里,巧妙利用Quartus 6.0提供的IP 核altshift_taps,如圖4所示。
CMOS圖像傳感器輸出信號為數(shù)字信號,即數(shù)字圖像數(shù)據(jù)所以圖像的采集要通過FPGA將圖像數(shù)據(jù)緩存,采用雙taps,taps之間的寬度為1 280,即CMOS傳感器的行數(shù)。由于MT9M001傳感器輸出的數(shù)據(jù)為10 b,所以這里位寬也用10 b。時鐘與CMOS傳感器輸出時鐘一致,時鐘使能與場有效一致。圖像像元首先進(jìn)入第一行,按照圖中箭頭的指向,像元經(jīng)過第二行的時候會被讀取保存;然后再進(jìn)入第三行,再次被讀出且保存,按照兩次保存的像元,根據(jù)比鄰的像元規(guī)律,即可得出每一像元的RGB三色值。
具體固件程序如下:
mDATAd_0 <= mDATA_0;
mDATAd-1 <= mDATA-1;
mDVAL <= {iY_Cont[0]|iX_Cont[0]}?1′b0:
iDVAL;
if({iY_Cont[0],iX_Cont[0]}==2′b01)
begin
mCCD_R <= mDATA_0;
mCCD_G <= mDATAd_0+mDATA-1;
mCCD_B <= mDATAd-1;
end
else if({iY_Cont[0],iX_Cont[0]}==2′b00)
begin
mCCD_R <= mDATAd_0;
mCCD_G <= mDATA_0+mDATAd-1;
mCCD_B <= mDATA-1;
end
else if({iY_Cont[0],iX_Cont[0]}==2′b11)
begin
mCCD_R <= mDATA-1;
mCCD_G <= mDATA_0+mDATAd-1;
mCCD_B <= mDATAd_0;
end
else if({iY_Cont[0],iX_Cont[0]}==2′b10)
begin
mCCD_R <= mDATAd-1;
mCCD_G <= mDATAd_0+mDATA-1;
mCCD_B <= mDATA_0;
end
4 測試結(jié)果及分析
系統(tǒng)使用Verilog語言編寫,在Quartus 6.0環(huán)境下進(jìn)行綜合,SignalTap Ⅱ嵌入邏輯分析儀集成到Quartus設(shè)計(jì)軟件中,能夠捕獲和顯示可編程單芯片系統(tǒng)(SoPC)設(shè)計(jì)中實(shí)時信號的狀態(tài),如圖5所示為連續(xù)采樣的波形圖。
圖5 連續(xù)采用波形圖
圖像最重要特性之一就是能夠準(zhǔn)確顯示圖像的色彩,并能調(diào)整亮度和對比度。因?yàn)橹車沫h(huán)境不同,需要進(jìn)行圖像色彩調(diào)整。對于現(xiàn)有的在RGB空間進(jìn)行色彩調(diào)整方法,因?yàn)镽GB不能與亮度、色調(diào)及飽和度直接建立的聯(lián)系,導(dǎo)致亮度和色彩同時變化,圖像容易出現(xiàn)偏色,現(xiàn)有的對比度調(diào)整方法不能適應(yīng)更寬的調(diào)整范圍,調(diào)整參數(shù)的時候必須小心仔細(xì),讓色彩達(dá)到最好的效果。
5 結(jié) 語
在此基于Altera公司FPGA提出一種Bayer圖像轉(zhuǎn)換為彩色圖像的方法,F(xiàn)PGA芯片不僅可實(shí)現(xiàn)圖像的采集,還能對圖像做算法處理,很好地控制CMOS圖像傳感器。這種從圖像Bayer格式到RGB彩色格式算法靈活高效,具有很好的實(shí)時性及可移植性,產(chǎn)生高清彩色圖像。
參考文獻(xiàn)
[1]李曉雯,李國林.Bayer圖像的準(zhǔn)無損壓縮方法\\.數(shù)字電視與數(shù)字視頻,2005(8):14-27.
[2]Zhang N,Wu X L.Lossless Compression of Color Mosaic Images\\.ICIP\\.2004.
[3]崔巍,汶德勝,馬濤.Bayer圖像無損壓縮算法及其FPGA實(shí)現(xiàn)\\.科學(xué)技術(shù)與工程,2006(9):9-11.
[4]Sezqin M,Survey over Image Thresholding Techniques and Quantitative Performance Evaluation [J].Electronic Imaging,2004,13(1):146-168.
[5]Koh C C,Mitra S K.New Efficient Method of Image Compression in Digital Cameras with Color Filter Array\\.IEEE Trans.on Consumer Electronics,2003,49(4):1 448-1 456.
[6]黃素貞,尹立新.黑白CMOS圖像傳感器OV9121的原理與應(yīng)用\\.國外電子元器件,2004(12):59-63.
[7]趙龍寶,范天翔.基于OV5017和CPLD的圖像采集顯示系統(tǒng)\\.微計(jì)算機(jī)信息,2005(7):104-105.
[8]鄧華,方濱.基于CPLD技術(shù)的CMOS圖像傳感器高速采集系統(tǒng)\\.現(xiàn)代電子技術(shù),2004,27(7):104-105.
[9]王阿川.基于FPGA的高速圖像采集卡的研制\\.自動化儀表,2005(6):21-23.
[10]Blagomir Donehev,Georgi Kuzmanov.Extemal Memory Controller for Virtex11 Pro.,2006.
[11]王慶有.圖像傳感器應(yīng)用技術(shù)\\.北京:電子工業(yè)出版社,2003.