999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于鄰近插值法還原Bayer RGB的FPGA實現(xiàn)

2016-09-20 05:49:17曾維軍

王 健, 應(yīng) 駿, 曾維軍, 曾 爽

(上海師范大學(xué) 信息與機電工程學(xué)院,上海 200234)

?

基于鄰近插值法還原Bayer RGB的FPGA實現(xiàn)

王健, 應(yīng)駿, 曾維軍, 曾爽

(上海師范大學(xué) 信息與機電工程學(xué)院,上海 200234)

圖像傳感器在采集每一個像素時僅采集它的R、G、B其中一種顏色分量的強度信息.在彩色數(shù)字圖像系統(tǒng)中,需對傳感器圖像進(jìn)行實時處理和顏色插值.鄰近插值算法的時間復(fù)雜度和空間復(fù)雜度都較小,可以通過流處理實現(xiàn),這使得它容易在FPGA上實現(xiàn)且節(jié)省硬件資源.在進(jìn)行硬件實現(xiàn)之前首先通過MATLAB對鄰近插值法的還原效果進(jìn)行驗證.硬件設(shè)計中使用移位寄存器連接FIFO的架構(gòu),并使用標(biāo)準(zhǔn)Verilog代碼編寫實現(xiàn),最終用Modelsim仿真驗證設(shè)計.

鄰近插值法; 流處理; Bayer RGB; FPGA

1 圖像傳感器與Bayer RGB

圖1 人眼光譜響應(yīng)曲線

圖像傳感器,是組成數(shù)字?jǐn)z像頭的重要組成部分.根據(jù)原件的不同,可分為電荷耦合元件(CCD)和金屬氧化物半導(dǎo)體元件(CMOS).但是不論對于何種類型的圖像傳感器來說,它們在采集每一個像素時都僅采集它的R、G、B其中一種顏色分量的強度信息.Bayer模式是目前應(yīng)用最為廣泛的像素分布格式,它允許從一個單獨平面中得到彩色圖像[1].在傳感器和鏡頭之間有一個CFA(Color Filter Array)濾鏡.CFA濾鏡的每一個濾光單元和傳感器像素對應(yīng),光線透過CFA濾鏡投射在傳感器上.CFA圖像的結(jié)構(gòu)特點是在CFA圖像上每一行每一列的綠色位置是間隔排列的,且綠色分量占了一半[2].這是因為眼睛對綠色分量最敏感,能夠辨別更多的細(xì)節(jié),這也是綠色的特性所決定的.如圖1所示,它是電磁波的可見光譜中的中波部分,其波長是500~570 nm,綠光在光波中占有重要地位.并且綠色和亮度也具有較強的相關(guān)性[3].

在Bayer模式中,紅色分量的采樣率為25%,藍(lán)色分量的采樣率為25%,綠色分量的采樣率最高為50%,其排列順序如圖2所示.紅色分量僅出現(xiàn)在奇數(shù)行,偶數(shù)列.藍(lán)色分量僅出現(xiàn)在偶數(shù)行、奇數(shù)列.綠色分量呈菱形分布[4].

2 Bayer RGB還原方法

2.1插值法簡介

圖2 Bayer彩色排列格式

在彩色數(shù)字圖像系統(tǒng)中,需對傳感器圖像進(jìn)行顏色插值.好的插值方法可以提高圖像質(zhì)量,簡化硬件實現(xiàn)的難度.隨著國內(nèi)外學(xué)者的深入研究,最為流行的幾種插值法有鄰近插值法、雙線性插值法、邊緣差值法、中值濾波插值法等,還有許多算法使用了小波變換和空間域轉(zhuǎn)換方法,其優(yōu)點是恢復(fù)的圖像效果好,但是運算過程很復(fù)雜[5],無法應(yīng)用在數(shù)碼相機產(chǎn)品中.

2.2鄰近插值法

鄰近插值算法的時間復(fù)雜度和空間復(fù)雜度都較小,容易在FPGA上實現(xiàn)且節(jié)省硬件資源.該算法根據(jù)鄰近像素相關(guān)性最強的原理,用鄰近位置的顏色分量值來插值該位置的顏色分量值.這種算法在邊緣豐富或者色差跳躍很大的圖像中處理效果較差,對圖像質(zhì)量要求很高的場景不適合使用鄰近插值算法.但是對于圖像質(zhì)量要求并不苛刻的場景,這種算法簡單快捷,硬件實現(xiàn)容易,節(jié)省硬件資源.

圖3 插值前R分量  圖4 插值后R分量

圖5 插值前B分量  圖6 插值后B分量

圖7 插值前G分量     圖8 插值后G分量

使用鄰近插值法進(jìn)行插值,首先將Bayer RGB模式中的RGB 3種顏色分量分開,看做3個獨立的顏色通道,然后分別對單個顏色通道進(jìn)行插值.首先來看紅色分量的插值.去除Bayer RGB中藍(lán)色和綠色分量后可得到如圖3所示的紅色分量的通道.將紅色通道分量的整幅圖像分割成一個個只有右上角有紅色分量值的2×2小模塊,每個2×2小模塊中其他3個像素點的紅色分量值都為空.插值時,其他3個紅色分量為空的像素點位置都插入其所在的2×2小模塊右上角的已知值來作為它們的紅色分量.插值后如圖4所示.

對藍(lán)色分量的插值和紅色分量的插值采用類似方法.圖5所示為藍(lán)色分量的通道,同樣將藍(lán)色通道分量的整幅圖像看成2×2的小模塊,不同的是每個小模塊只有左下角有藍(lán)色值.插值時每個2×2小模塊中其他3個像素點的藍(lán)色分量值值都取左下角的已知值來填充.插值后如圖6所示.

對于綠色分量,它的分布和紅色分量,藍(lán)色分量略有不同,其呈菱形分布,每一行都有綠色值.圖7所示為綠色分量的通道,在插值的時候,對于奇數(shù)行,取其右邊像素的綠色分量進(jìn)行插值;對于偶數(shù)行,取其左邊像素的綠色分量進(jìn)行插值.插值后如圖8所示.

3 鄰近插值算法的FPGA實現(xiàn)

3.1最小子模塊

類似于JPEG編碼時需要對圖像進(jìn)行8×8子模塊的劃分.鄰近插值算法在還原Bayer RGB的時候需要對圖像做2×2子模塊的劃分.鄰近插值算法插入像素的顏色分量是直接從該像素的鄰近像素上獲取的,只要待插值像素的周邊像素中包含了它丟失的RGB分量值即可.在Bayer格式的圖像中任意選取一個2×2的子模塊,其中都有2個綠色分量,1個紅色分量,1個藍(lán)色分量,包含了全部的3種顏色分量.因此2×2的子模塊是進(jìn)行鄰近插值的最小子模塊.

3.2流處理

流處理具有固定的時鐘頻率,通常每像素1個時鐘周期,時鐘速率受輸入和輸出的限制.在輸入端時,傳送來的像素必須被處理,否則就會丟失.在輸出端時,每個時鐘周期必須產(chǎn)生一個像素,否則就沒有可顯示的數(shù)據(jù).因此,流處理系統(tǒng)的設(shè)計至少在輸入和輸出是同步的.輸入數(shù)據(jù)一旦從存儲器中讀入或者從相機中流入,就傳送到第一個操作,不是將結(jié)果返回主存儲器,而是直接傳送下一個操作,這種流處理克服了存儲器的數(shù)量和速度的瓶頸限制.流處理非常適合低級圖像處理操作.

3.3系統(tǒng)架構(gòu)

CMOS傳感器輸出像素是按逐行掃描的順序輸出數(shù)據(jù)的,如果在已經(jīng)獲取了第N行M列像素的時候,需要同時獲取第N+1行M列的像素就需要先將第N行M列像素保存起來,并進(jìn)行一個行掃描的延時,再將保存的像素讀出.例如在雙線性插值算法還原Bayer RGB時,插入像素值的顏色分量不僅與該像素左右鄰近像素呈線性關(guān)系,還與該像素上一行位置的像素和下一行位置的像素呈線性關(guān)系[6].所以在硬件實現(xiàn)雙線性插值算法時至少需要2個行延時來獲取周邊線性相關(guān)的像素[7].類似地,鄰近插值算法在硬件實現(xiàn)上也需要進(jìn)行行延時,由于鄰近插值的最小子模塊為2行2列.所以在硬件實現(xiàn)的時候只需要進(jìn)行一個行掃描的延時即可.

移位寄存器和FIFO在保存數(shù)據(jù)時都具有先入先出的特性.利用這種特性存儲傳感器按逐行掃描順序輸出的數(shù)據(jù),可以作為傳感器輸出數(shù)據(jù)的緩存.例如鎂光的MT9P006芯片輸出的圖像一行有2 592個像素,則2 592個相同數(shù)據(jù)寬度的移位寄存器或者長度為2592的FIFO正好可以存一行像素的顏色分量.但是由于隨著移位寄存器增加,編程時Verilog代碼量會隨之增加,調(diào)用2 000個以上移位寄存器會使編程變得困難[8];而FIFO是串行輸出,在讀取數(shù)據(jù)時沒有移位寄存器靈活.所以采用移位寄存器連接FIFO的設(shè)計實現(xiàn)2×2子模塊更加合理.

圖9 FIFO與移位寄存器連接方式圖

系統(tǒng)使用4個移位寄存器來存儲2×2子模塊里的數(shù)據(jù).為了使4個移位寄存器在同一時刻存儲的值為圖像中2×2子模塊的值,加入FIFO作為行緩存,FIFO的長度為傳感器圖像一行所包含的像素個數(shù)減2[9],根據(jù)FIFO反饋的存儲信號,設(shè)置外部邏輯控制FIFO的讀寫.在4個移位寄存器當(dāng)中,其中2個連接FIFO的輸入端,存儲第N行M列和第N行M+1列的數(shù)據(jù).另外2個移位寄存器連接FIFO的輸出端,存儲第N+1行M列和第N+1行M+1列的數(shù)據(jù),4個移位寄存器和FIFO的連接如圖9所示.

3.4子模塊類型

將4個移位寄存器命名為:SHIFT2_1、SHIFT2_2、SHIFT1_1、SHIFT1_2,分別對應(yīng)2×2子模塊的第1行第1列、第1行第2列、第2行第1列、第2行第2列.它們在同一時刻,按存儲的顏色分量類型不同可以將2×2子模塊分為4種類型[10],即R-Gr-Gb-B塊、Gr-R-B-Gb塊、Gb-B-R-Gr塊、B-Gb-Gr-R塊,分別如圖10~13所示.

圖10 R-Gr-Gb-B塊

圖11 Gr-R-B-Gb塊

圖12 Gb-B-R-Gr塊

圖13 B-Gb-Gr-R塊

3.5插值算法

如圖9所示,對應(yīng)于子模塊第一行的2個移位寄存器SHIFT2_1和SHIFT2_2連接在FIFO的輸出端.由于移位寄存器和FIFO都具有先入先出的特性,因此SHIFT2_2中存儲的數(shù)據(jù)和其他3個移位寄存器中的數(shù)據(jù)相比較是最先被傳感器輸出的.在SHIFT2_2輸出它所存儲的像素的同時,需要對該像素進(jìn)行丟失顏色分量的插值.而根據(jù)2×2子模塊的類型不同,插值方式也相應(yīng)不同.當(dāng)在SHIFT2_2中存儲的像素的顏色分量被輸出時,應(yīng)該從其他3個移位寄存器中取出該像素鄰近的2個像素的其他2個顏色分量作為該像素的顏色分量.

如圖11所示,當(dāng)SHIFT2_2中存儲的為R時,SHITF2_1中存儲的為Gr,SHIFT1_2中存儲的為Gb,SHIFT1_1中存儲的為B,其他3種不再贅述.

3.6系統(tǒng)時序

前端傳感器的像素時鐘頻率作為系統(tǒng)的最低工作頻率,在Xilinx的XC7Z020芯片上最高頻率可達(dá)452.49 MHz,整個系統(tǒng)均為同步觸發(fā).

圖像傳感器輸出的一行像素個數(shù)為N.FPGA系統(tǒng)獲取的傳感器輸出數(shù)據(jù),在第1時鐘周期里被存入移位寄存器SHIFT1_1,在第2個時鐘該數(shù)據(jù)被轉(zhuǎn)存到SHIFT1_2,在第3個時鐘該數(shù)據(jù)進(jìn)入FIFO.進(jìn)入FIFO后經(jīng)歷N-2個系統(tǒng)時鐘周期即在第N+1個時鐘周期時被轉(zhuǎn)存到SHIFT2_1,在第N+2個時鐘周期時被轉(zhuǎn)存到SHIFT2_2中.所以系統(tǒng)從獲取第一個傳感器輸出數(shù)據(jù)到傳出第一個完成插值的像素需要N+3個像素時鐘.第一個數(shù)據(jù)在系統(tǒng)中傳輸?shù)耐瑫r,第二個數(shù)據(jù)也緊接著在系統(tǒng)中傳輸,所以傳出第一個完成插值的像素到傳出第二個完成插值的像素需要一個系統(tǒng)時鐘.

由于系統(tǒng)為同步觸發(fā),所以當(dāng)在FIFO中已經(jīng)存入了N-1個數(shù)據(jù)的時候需要向系統(tǒng)做出反饋,在下一時刻將對FIFO進(jìn)行讀操作,讀出數(shù)據(jù)并存入SHIFT2_1;當(dāng)移位寄存器SHIFT2_2存入新數(shù)據(jù)的時候,用于判斷2×2子模塊類型的兩位計數(shù)器開始計數(shù),根據(jù)計數(shù)器中的數(shù)值確定插值類型.

4 實驗結(jié)果與仿真

在進(jìn)行系統(tǒng)設(shè)計之前首先對鄰近插值算法進(jìn)行了MATLAB的仿真.驗證鄰近插值算法的處理效果如圖14所示.

圖14依次給出了原始圖片、Bayer模式下的紅色分量通道、綠色分量通道、藍(lán)色分量通道以及未經(jīng)過處理的傳感器輸出圖像和經(jīng)過鄰近插值法處理后還原的圖像.對比傳感器直接輸出的圖像和經(jīng)過插值后還原的圖像,可以看出Bayer RGB經(jīng)過鄰近插值后消除了彩色馬賽克現(xiàn)象,但是存在一定的橫豎條紋.

FPGA鄰近插值法的系統(tǒng)設(shè)計代碼在Altera的QuartusII和Xilinx的ISE環(huán)境中均編譯通過,并在Modelsim中仿真驗證了結(jié)果的正確性.如圖15所示模擬給出0~255的八位像素顏色分量數(shù)據(jù).圖16中輸出得到每個像素的RGB 3種值.

可以看出輸入數(shù)據(jù)一旦從存儲器中讀入或者從相機中流入,就傳送到第一個操作,不是將結(jié)果返回主存儲器而是直接傳送下一個操作,這種流處理的實時性使得對于圖像邊緣像素的顏色插值存在色差.

圖14 鄰近插值法MATLAB仿真效果圖

圖15 存入FIFO的傳感器輸出數(shù)據(jù)

圖16 插值還原后像素的RGB分量值

5 總 結(jié)

對于相機、攝像頭等數(shù)碼產(chǎn)品需要進(jìn)行實時圖像處理,這就意味著每個操作也必須在有限的執(zhí)行時間內(nèi)完成.傳感器輸出的Bayer格式數(shù)據(jù)不能直接作為圖像顯示,為了實時的采集和顯示圖像,需要快速的還原Bayer RGB.采用鄰近插值法進(jìn)行圖像的還原,在色彩跳躍度不大的圖像中具有良好的圖像還原效果,并且系統(tǒng)占用硬件資源少,處理速度快.在Xilinx FPGA的XC7Z020芯片上綜合后顯示僅占用782個LUT查找表,占XC7Z020芯片LUT總數(shù)的1.4%,最高工作頻率可達(dá)452.49 MHz;在Altera FPGA較低端系列的CycloneII芯片上綜合后只占用195個LE邏輯單元,占CycloneII芯片LE總數(shù)的4%.最高工作頻率也能達(dá)到116.29 MHz.系統(tǒng)設(shè)計全部采用標(biāo)準(zhǔn)Verilog語言編寫,可移植性好.

[1]Zhang D,Wu X.Color reproduction from noisy CFA data of single sensor digital cameras [J].Image Processing,IEEE Transactions on,2007,16(9):2184-2197.

[2]Chung K H,Chan Y H.A lossless compression scheme for Bayer color filter array images [J].Image Processing,IEEE Transactions on,2008,17(2):134-144.

[3]Ma T,Wu D S,Cui W.Compression methods of Bayer image format and FPGA implementation [J].Science Technology and Engineering,2006,(6):1509-1510.

[4]Zhang Y.Color interpolation algorithm of CMOS image [D].Xi′an:Xi′an University of Science and Technology,2013.

[5]Li Y Y,Meng W.Real-time hardware Bayer color format image restoration algorithm and its implementation [J].Chinese optics and Applied Optics,2009,(12):539-541.

[6]Wang Y B.Study on the recovery of Bayer format in real time system based on FPGA [J].Microelectronics and computer,2013(5):78-80.

[7]Yang H,Tong S F.Conversion from Bayer to RGB based on FPGA [J].Modern Electronics technique,2010,33(2):122-124.

[8]Yang J Z.Design and implementation of image acquisition system by industrial camera based on FPGA [D].Chengdu:University of Electronic Science and technology,2014.

[9]Andriani S,Brendel H.Crosstalk correction technique for single sensor camera provided with bayer color filter array [C]//IEEE.International conference on Image Processing.Melbourne:IEEE,2013.

[10]Teng W,An B W.Preprocess of Bayer pattern image based on FPGA+DSP [J].Electronic Design Engineering,2010(10):145-147.

(責(zé)任編輯:包震宇)

Implementation of restoring Bayer RGB on FPGA throughNearest Neighbor Interpolation

WANG Jian, YING Jun, ZENG Weijun, ZENG Shuang

(College of Informiation,Mechanical and Electrical Engineering,Shanghai Normal University,Shanghai 200234,China)

Image sensors only sample the intensity information of one color component of RGB when each pixel is collected.In color digital image system,it needs real-time processing and color interpolation for the sensor image.Both time complexity and space complexity of Nearest Neighbor Interpolation(NNI) are smaller and can be achieved by stream processing,which makes it easy to be implemented in the FPGA hardware and is hardware resource-saving.First,the NNI′s restoration effect of neighbor interpolation method is verified by MATLAB before making hardware implementation.In the hardware design,shift register is used to connect FIFO′s framework,standard Verilog code is used for realization and finally Modelsim is used to simulate and verify design.

Nearest Neighbor Interpolation(NNI); sream processing; Bayer RGB; FPGA

10.3969/J.ISSN.1000-5137.2016.04.004

2015-02-04

應(yīng)駿,中國上海市徐匯區(qū)桂林路100號,上海師范大學(xué)信息與機電工程學(xué)院數(shù)字社區(qū)與智能家居研究中心,郵編:200234,E-mail:junying@shmiic.com

TP 391.41

A

1000-5137(2016)04-0411-06

主站蜘蛛池模板: 九九热在线视频| 国内毛片视频| 日本在线欧美在线| 日韩av手机在线| 欧美精品啪啪| 久久青草免费91线频观看不卡| 国产专区综合另类日韩一区| 色男人的天堂久久综合| 国产精品浪潮Av| 国产精品无码一二三视频| 2021最新国产精品网站| 亚洲中文字幕在线精品一区| 黄片在线永久| 精品国产欧美精品v| 国产午夜人做人免费视频中文| 国产综合欧美| 欧美精品一区二区三区中文字幕| 久久黄色免费电影| 又黄又湿又爽的视频| 亚洲av成人无码网站在线观看| 九九热精品在线视频| www中文字幕在线观看| 久久婷婷六月| av一区二区三区高清久久| 午夜限制老子影院888| 国产国拍精品视频免费看| 亚洲无限乱码| 激情综合图区| 国产精品分类视频分类一区| 日韩欧美中文在线| 国产资源免费观看| 亚洲精品午夜天堂网页| 四虎成人免费毛片| 国产成人AV综合久久| 亚洲中文字幕无码爆乳| 国产精品无码一二三视频| 成人精品视频一区二区在线| 在线视频亚洲色图| 成人精品视频一区二区在线| 黄色成年视频| 91精品啪在线观看国产91九色| 国产精品无码AⅤ在线观看播放| 中文无码日韩精品| 国产精品99久久久久久董美香| 欧美一级黄片一区2区| 亚洲AⅤ永久无码精品毛片| 精品少妇人妻av无码久久| 国产精品嫩草影院av | 亚洲91在线精品| 凹凸精品免费精品视频| 欧洲亚洲欧美国产日本高清| 久久中文无码精品| 久草国产在线观看| 色妺妺在线视频喷水| 热热久久狠狠偷偷色男同| 精品国产免费观看| 91po国产在线精品免费观看| 国产永久无码观看在线| 国产精品天干天干在线观看 | 免费A级毛片无码无遮挡| 欧美国产日韩另类| 成人国内精品久久久久影院| 久久夜色精品国产嚕嚕亚洲av| 亚洲V日韩V无码一区二区| 精品国产毛片| 亚洲天堂网站在线| 九九久久精品免费观看| 中文字幕首页系列人妻| 欧美激情综合一区二区| 一本大道在线一本久道| 亚洲色图在线观看| 久久久精品无码一二三区| 97视频在线观看免费视频| 亚洲精品福利网站| 99成人在线观看| 日韩专区欧美| 国产屁屁影院| 色欲综合久久中文字幕网| 少妇被粗大的猛烈进出免费视频| 老司机精品久久| 欧美国产综合色视频| 日本国产精品|