《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的數(shù)字高清CMOS遙感成像技術(shù)
基于FPGA的數(shù)字高清CMOS遙感成像技術(shù)
2015年電子技術(shù)應(yīng)用第4期
方彩婷,葉 盛,汪雪峰,袁承宗,吳紅松
上海航天電子技術(shù)研究所,上海201109
摘要: 為得到高質(zhì)量的數(shù)字高清遙感圖像,設(shè)計了一種基于FPGA的CMOS遙感成像系統(tǒng)。首先闡述了以FPGA為主處理器的硬件平臺結(jié)構(gòu),然后從模塊化的角度詳細(xì)介紹了如何用FPGA器件實現(xiàn)硬件系統(tǒng)的數(shù)字功能并得到高質(zhì)量的遙感圖像,這些內(nèi)容主要包括主控制接口、傳感器接口、圖像預(yù)處理、DDR2控制、數(shù)字視頻合成等模塊。通過軟件仿真和硬件測試,驗證了設(shè)計方案的正確性和有效性。
中圖分類號: TP212;TN791;TP391.41
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)04-0043-03
High-definition digital and remote sensing imaging for CMOS sensor based on FPGA
Fang Caiting,Ye Sheng,Wang Xuefeng,Yuan Chengzong,Wu Hongsong
Shanghai Aerospace Electronic Technology Institute,Shanghai 201109,China
Abstract: To get high-quality and high-definition digital image, a remote sensing image system for CMOS sensor based on FPGA is designed. The hardware structure of the system with FPGA as its main processor is introduced at first, the detail of how to realize the function of the system and how to improve the quality of the image are described later. The FPGA design is consist of modules which including main control, sensor interface control, image preprocessing, double date rate synchronous dynamic random access(DDR2) control, video organization, etc. The validity of the design is proved by software simulation and hardware test at the end of the paper.
Key words : CMOS sensor;FPGA;image preprocess

  

0 引言

  近年來,快速發(fā)展的CMOS圖像傳感器因具有高集成、功耗低、工藝簡單和開發(fā)周期短等優(yōu)點,已被廣泛應(yīng)用在工業(yè)、監(jiān)控、航空和航天等眾多領(lǐng)域[1-2]。目前我國航天領(lǐng)域中攝像設(shè)備的分辨率普遍不高,畫面質(zhì)量有待提高,嚴(yán)重制約著我國空間可視監(jiān)控技術(shù)的進(jìn)一步發(fā)展[3],因此研究以CMOS圖像傳感器作為光電轉(zhuǎn)換器件的數(shù)字高清遙感成像技術(shù),在航天領(lǐng)域具有較高的實際應(yīng)用價值。

1 硬件平臺及基本工作原理


001.jpg

  本文主要采用了CMOS圖像傳感器、可編程邏輯門陣列FPGA、第二代雙倍速率同步動態(tài)隨機存儲器(Double Date Rate Synchronous Dynamic Random Access,DDR2)、視頻串行器等,搭建了一個可實現(xiàn)圖像實時采集、預(yù)處理及傳輸功能的高清成像系統(tǒng),如圖1所示。本文采用的傳感器是APTINA公司的MT9M034,它集成了模擬圖像采樣和模數(shù)轉(zhuǎn)換及在片自動曝光等功能,并支持720p60的高清視頻,具有重量輕、體積小、功耗低、動態(tài)范圍寬等優(yōu)點,適合航天的應(yīng)用場景。

  FPGA作為系統(tǒng)主處理器,主要完成對傳感器的初始化和接口控制,并對傳感器輸出的圖像數(shù)據(jù)進(jìn)行采集和預(yù)處理,以提高圖像質(zhì)量并供顯示,這些處理主要包括時序調(diào)整、圖像類型轉(zhuǎn)換、圖像預(yù)處理、數(shù)據(jù)存儲、高清數(shù)字分量串行接口(High Definition Serial Digital Interface,HD-SDI)視頻合成等。本文FPGA選用的是Xilinx公司的 XC6SLX75t,它內(nèi)部具有豐富的邏輯、存儲資源及用戶接口。

  為了將圖像傳輸至監(jiān)視器上呈現(xiàn)出來,本系統(tǒng)選用了National Semiconductor公司的芯片LHM0340作為數(shù)字視頻串行器,它對接收到的亮度和色差信號的并行數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,輸出HD-SDI數(shù)據(jù)流并送往監(jiān)視器。

2 FPGA設(shè)計

  根據(jù)模塊化的設(shè)計思路,將FPGA的功能分為主控制接口、傳感器接口、圖像預(yù)處理等6個子模塊來實現(xiàn),如圖2所示。

002.jpg

  2.1 時鐘管理模塊

  時鐘管理模塊接收外部晶振輸入的74.25 MHz時鐘,再利用FPGA的時鐘管理資源和全局時鐘資源產(chǎn)生74.25 MHz和148.5 MHz的全局時鐘。其中,除DDR2控制模塊和數(shù)字視頻合成模塊使用了兩個全局時鐘外,其他模塊均使用74.25 MHz全局時鐘。

  2.2 主控制接口模塊

  如圖2所示,該模塊連接其他各模塊并控制它們的運作,產(chǎn)生其他各模塊的復(fù)位信號并通過對寄存器讀寫的方式產(chǎn)生系統(tǒng)控制信號;另外,主控接口模塊還支持通過異步串口連接上位機進(jìn)行通信和控制。

  2.3 傳感器接口模塊

  傳感器接口模塊的主要功能是對CMOS傳感器進(jìn)行復(fù)位及內(nèi)部寄存器的配置、采集傳感器輸出的Bayer模式圖像數(shù)據(jù)并輸出符合格式要求的圖像數(shù)據(jù)。該模塊與傳感器通過I2C接口進(jìn)行通信,由于傳感器的分辨率是1 280×960,為符合數(shù)字高清的標(biāo)準(zhǔn),需對其稍作調(diào)整,轉(zhuǎn)換為1 280×720的分辨率。

  2.4 圖像預(yù)處理模塊

  由于航天應(yīng)用場景中存在多種光照環(huán)境,且遙感畫面動態(tài)范圍較大,為了使獲得的圖像在各種光照環(huán)境下都能呈現(xiàn)最佳的效果,圖像預(yù)處理模塊采用了多種算法對傳感器輸出的圖像信號進(jìn)行處理,這些處理包括壞點校正、去馬賽克、自動白平衡、色彩校正、伽馬校正、色度空間轉(zhuǎn)換、寬動態(tài)處理以及色度/亮度/飽和度/對比度調(diào)整。在FPGA設(shè)計時,將該模塊分割為8個算法子模塊和一個控制子模塊,如圖3所示。

003.jpg

  各模塊的輸入?yún)?shù)均通過主控模塊配置。其中,寬動態(tài)處理、色彩校正和色度空間轉(zhuǎn)換均采用了Xilinx公司的IP核予以實現(xiàn),色度/亮度/飽和度/對比度調(diào)整則采用Lattice公司的IP核,對其他幾個模塊介紹如下。

  2.4.1 壞點校正模塊

004.jpg

  本模塊接收到的Bayer陣列型圖像數(shù)據(jù),其特點如圖4所示,對任一像素而言,若其為壞點,則可利用同一行中其左右相鄰?fù)至康膬蓚€像素值來糾正。

  為得到3個相鄰的同類型分量像素,需得到5個連續(xù)的像素。因此將模塊的輸入圖像數(shù)據(jù)作4級延遲,與當(dāng)前輸入的數(shù)據(jù)一起組成5個像素。對于這5個像素的中心像素,計算出其左右相鄰兩個同分量像素的平均值,再分別乘上1.25、1.5和2的系數(shù)構(gòu)成3種閾值以供不同場景使用。

  根據(jù)主控制接口模塊的指示,從3種閾值中選擇一種作為當(dāng)前閾值,對中心像素進(jìn)行判斷,若超出該閾值則判為壞點,用已計算出的其相鄰?fù)至康钠骄荡嬖撓袼氐闹?,否則保持不變。利用FPGA來設(shè)計這一算法,可實現(xiàn)流水線式的壞點檢測與校正功能。

  2.4.2 自動白平衡

  自動白平衡算法有很多,其中應(yīng)用極為廣泛的是基于灰度世界理論:對于任一幅圖像,當(dāng)它有足夠的色彩變化時,則它的RGB分量的均值會趨于相等。

  相對于其他算法而言,該算法簡單可靠且便于硬件實現(xiàn),本文采用的即是這種基于灰度世界假設(shè)的算法[4],如圖5所示。

005.jpg

  圖像分割判斷模塊首先把圖像分塊,對每一塊計算其像素的標(biāo)準(zhǔn)差(即顏色變化的情況),判斷是否是大色塊,是否是過亮塊、過暗塊。對于標(biāo)準(zhǔn)差越大的圖像塊,說明其顏色越豐富,越符合灰度世界理論的假設(shè),權(quán)重越大;而標(biāo)準(zhǔn)差越小的塊則權(quán)重越小。

  計算模塊根據(jù)圖像分割模塊提供的信息,進(jìn)行全局的塊選取,并按照灰度世界的假設(shè)進(jìn)行計算,得到矯正過的圖像數(shù)據(jù)。

  2.4.3 去馬賽克

  去馬賽克算法的目的是將Bayer格式的圖像信號通過插值處理去馬賽克,轉(zhuǎn)化成完整的RGB信號。本模塊選用的是改進(jìn)的線性插值法[5]。

  本模塊設(shè)有4個行緩存,用于接收輸入的圖像數(shù)據(jù)。將當(dāng)前輸入的圖像數(shù)據(jù)以及從4個行緩存中讀出的數(shù)據(jù)分別進(jìn)行5級延遲,則可得到5×5的Bayer數(shù)據(jù)塊。按照數(shù)據(jù)塊中心像素為R/G/B何種分量以及與其領(lǐng)域各像素相對關(guān)系的不同,可總結(jié)出4種情況,分別如圖6所示,中心像素點的坐標(biāo)為(3,3)。對待插值像素(中心像素)的5×5鄰域內(nèi)數(shù)據(jù)塊在不同情況下通過不同的公式進(jìn)行插值運算即可得出中心像素點R、G、B三分量的值。

006.jpg

  2.4.4 伽馬校正

  大多數(shù)的顯示設(shè)備的輸入電壓與顯示的彩色圖像強度成非線性的關(guān)系,為了使顯示圖像和真實圖像相符,得到更加自然、真實、悅目的畫面,有必要對因為顯示器特性造成的非線性誤差進(jìn)行伽馬校正。

  本模塊通過預(yù)先設(shè)定伽馬校正數(shù)據(jù)表,通過上位機經(jīng)過異步串口寫入FPGA,存入只讀存儲器中,再進(jìn)行查表獲取伽馬校正后的數(shù)據(jù)。

  2.5 DDR2控制模塊


007.jpg

  DDR2控制模塊通過管理DDR2存儲芯片將圖像預(yù)處理模塊輸出的YCbCr格式數(shù)據(jù)進(jìn)行緩存并輸出。其功能通過3個子模塊來實現(xiàn),如圖7所示。子模塊1將接收到的16 bit并行數(shù)據(jù)進(jìn)行緩存;子模塊2為Xilinx公司的DDR2控制器IP核,它將子模塊1中的緩存數(shù)據(jù)以32位寫入DDR2,同樣以32位讀出發(fā)送至子模塊3再次進(jìn)行緩存,最終恢復(fù)成16 bit并行數(shù)據(jù)輸出。

  2.6 數(shù)字視頻合成模塊

  數(shù)字視頻合成模塊按照HD-SDI格式將數(shù)據(jù)合成為并行數(shù)據(jù),并送入串行器進(jìn)行并串轉(zhuǎn)換。該模塊的功能通過3個子模塊來實現(xiàn),分別是打包子模塊、編碼子模塊、串行器接口子模塊。

  打包子模塊接收DDR2控制模塊輸出的圖像數(shù)據(jù),通過對Y分量和C分量分別低位填零擴展至20 bit并行,再根據(jù)2.2節(jié)所述主控制接口模塊的指示,在圖像數(shù)據(jù)中插入HD-SDI格式所需的時間基準(zhǔn)信號及消隱,打包輸出至編碼子模塊。

  編碼子模塊為Xilinx公司的IP核,它通過檢測輸入的視頻數(shù)據(jù)流,提取時間基準(zhǔn)并進(jìn)行CRC校驗,再進(jìn)行HD-SDI編碼,以20 bit并行輸出至串行器接口子模塊。

  串行器接口子模塊將輸入的20 bit并行數(shù)據(jù)用148.5 MHz時鐘進(jìn)行高速采樣,再利用FPGA的ODDR2資源雙沿發(fā)送將數(shù)據(jù)提速,拆分成5 bit并行數(shù)據(jù),最后用OBUFDS資源將其轉(zhuǎn)換為差分信號發(fā)送至串行器。

3 系統(tǒng)驗證


  本文通過ISE14.1開發(fā)環(huán)境進(jìn)行了FPGA代碼設(shè)計和仿真驗證。圖8是HD-SDI合成模塊的仿真結(jié)果,圖9是本文成像系統(tǒng)在監(jiān)視器上的顯示結(jié)果對比,其中(a)是未啟動白平衡算法和伽馬校正的原始圖像,(b)是經(jīng)過白平衡算法和伽馬校正等預(yù)處理后的圖像,從兩者對比可以看出,未經(jīng)過預(yù)處理的圖像顏色失真,而經(jīng)本文預(yù)處理后的圖像畫面逼真,質(zhì)量更高。

4 結(jié)論

  本文設(shè)計了一種基于FPGA的數(shù)字高清CMOS遙感成像系統(tǒng),以FPGA為主處理器,經(jīng)過對傳感器控制、圖像采集與圖像預(yù)處理,得到了高質(zhì)量的遙感圖像。通過軟件仿真和硬件測試,驗證了該設(shè)計方案的正確性和有效性。

  參考文獻(xiàn)

  [1] 范鐵道.基于FPGA的數(shù)字高清CCD攝像機技術(shù)研究[D].西安:中國科學(xué)院研究生院(西安光學(xué)精密機械研究所),2009.

  [2] 趙鵬,沈庭芝,單寶堂.基于CMOS圖像傳感器的微型無人機遙感系統(tǒng)設(shè)計[J].光子學(xué)報,2008,37(8):1657-1661.

  [3] 劉海英.基于CMOS圖像傳感器的數(shù)字高清成像技術(shù)研究[D].西安:中國科學(xué)院研究生院(西安光學(xué)精密機械研究所),2008.

  [4] 谷元保,付守卓.一種基于灰度世界模型自動白平衡方法[J].計算機仿真,2005,22(9):185-188.

  [5] MALVAR H S,He Liwei,CUTLER R.High-quality linear interpolation for demosaicing of Bayer-patterned color im-ages[C].IEEE International Conference on Acoustics,Speechand Signal Processing.Montreal:IEEE,Piscataway,NJ,2004.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。