《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的3D圖像傳感器設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的3D圖像傳感器設(shè)計(jì)與實(shí)現(xiàn)
2018年電子技術(shù)應(yīng)用第2期
劉 星1,梁發(fā)云1,2,楊金遠(yuǎn)1,何 磊1
1.南昌大學(xué) 裸眼立體技術(shù)與虛擬現(xiàn)實(shí)研究中心,江西 南昌330031; 2.南昌興亞光電科技發(fā)展有限公司,江西 南昌330031
摘要: 針對(duì)現(xiàn)有3D拍攝設(shè)備體積龐大、價(jià)格昂貴等問(wèn)題,利用FPGA高速并行處理能力與圖像傳感器,設(shè)計(jì)了微型嵌入式3D圖像傳感器。通過(guò)FPGA同步設(shè)置,采集雙CMOS圖像傳感器圖像數(shù)據(jù),傳輸至SDRAM進(jìn)行緩存并按行像素合并后,將左右立體對(duì)圖像儲(chǔ)存至SD卡中。為了對(duì)拍攝場(chǎng)景進(jìn)行監(jiān)控,進(jìn)一步研究了左右眼圖像按像素進(jìn)行重配后在裸眼3D顯示屏上顯示的邏輯控制方法。系統(tǒng)通過(guò)仿真及實(shí)驗(yàn)表明3D圖像傳感器的硬件邏輯方法是有效的。
中圖分類號(hào): TN873;TP212
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.173394
中文引用格式: 劉星,梁發(fā)云,楊金遠(yuǎn),等. 基于FPGA的3D圖像傳感器設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(2):62-65.
英文引用格式: Liu Xing,Liang Fayun,Yang Jinyuan,et al. Design and implementation of 3D image sensor based on FPGA[J]. Application of Electronic Technique,2018,44(2):62-65.

Design and implementation of 3D image sensor based on FPGA
Liu Xing1,Liang Fayun1,2,Yang Jinyuan1,He Lei1
1.3D & VR Research Center,Nanchang University,Nanchang 330031,China; 2.Nanchang Properasla Optoelec Sci-Tech Dev Co.,Ltd.,Nanchang 330031,China
Abstract: Aiming at the problems of large volume and expensive price of existing 3D shooting equipment, a miniature embedded 3D image sensor is designed by using FPGA high-speed parallel processing capability and image sensor. Through the FPGA synchronization settings,image data of dual CMOS image sensor is acquired, which is transferred to the SDRAM to cache and merged by line pixel,and then the left and right stereo images are stored in the SD card. In order to monitor the shooting scence, we further study the logic control method displaying the right and left eye images reassembled by pixels on the naked eye 3D display screen. The simulation and experiment show that the hardware logic method of 3D image sensor is effective.
Key words : naked eye 3D technology;3D image sensor;pixel reconfiguration;logic design

0 引言

    裸眼3D技術(shù)是《“十三五”國(guó)家戰(zhàn)略性新興產(chǎn)業(yè)發(fā)展規(guī)劃》中指出的重點(diǎn)發(fā)展領(lǐng)域,規(guī)劃表明了加快虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、全息成像、裸眼三維圖形顯示(裸眼3D)等核心技術(shù)創(chuàng)新發(fā)展[1]的決心。影視拍攝的3D攝像機(jī)體積龐大、結(jié)構(gòu)復(fù)雜且價(jià)格昂貴,不適合嵌入式系統(tǒng)的應(yīng)用,嚴(yán)重制約了裸眼3D技術(shù)的產(chǎn)業(yè)化應(yīng)用。而便攜式產(chǎn)品、電視機(jī)的CPU不具備同步采集3D圖像的接口和能力,因此圖像3D傳感器只能使用FPGA或CPLD器件來(lái)高速并行處理圖像數(shù)據(jù)[2]。

    本文根據(jù)人眼仿生學(xué)原理設(shè)計(jì)一種嵌入式的微型3D圖像傳感器,研究硬件邏輯方法以實(shí)現(xiàn)3D圖像的采集、傳輸、存儲(chǔ)及顯示,為便攜式領(lǐng)域提供獲取3D圖像數(shù)據(jù)的手段,力求解決裸眼3D技術(shù)產(chǎn)品化面對(duì)的技術(shù)瓶頸問(wèn)題。

1 系統(tǒng)設(shè)計(jì)思想

    根據(jù)立體視覺(jué)原理,3D圖像應(yīng)同步采集并滿足成像清晰度、光軸會(huì)聚、視差匹配等要求。

    3D圖像傳感器系統(tǒng)結(jié)構(gòu)包含兩只CMOS型圖像傳感器及緩存圖像數(shù)據(jù)的SDRAM,為了對(duì)兩只圖像傳感器進(jìn)行同步配置和采集,只能選用FPGA(或CPLD)作為邏輯控制芯片。

    系統(tǒng)總體結(jié)構(gòu)圖如圖1所示,采用FPGA+雙CMOS+雙SDRAM硬件結(jié)構(gòu)。FPGA選用Altera公司的EP3C25Q240C8N為主控芯片;為滿足圖像傳感器分辨率的要求,CMOS圖像傳感器采用500萬(wàn)像素的OV5640;FPGA對(duì)OV5640獲取的圖像數(shù)據(jù)進(jìn)行采集并緩存至SDRAM,其容量應(yīng)滿足一幀高清晰度圖像數(shù)據(jù)的存儲(chǔ)要求。3D圖像傳感器的圖像拍攝和視頻錄制方法的指導(dǎo)思想為把同步采集的兩只OV5640的圖像數(shù)據(jù)按行像素進(jìn)行合并,以左右格式的全寬或半寬立體對(duì)圖像儲(chǔ)存至SD卡中。使用裸眼3D液晶屏作為實(shí)時(shí)監(jiān)控設(shè)備,F(xiàn)PGA邏輯控制左右圖像的像素重配后,再輸入至裸眼3D顯示屏顯示。

ck7-t1.gif

    由于FPGA并不是CPU結(jié)構(gòu),而是一個(gè)可定制的能實(shí)現(xiàn)復(fù)雜邏輯電路的器件,因此需要為所連接的器件設(shè)計(jì)邏輯控制模塊。根據(jù)3D圖像傳感器的功能要求,按照?qǐng)D像數(shù)據(jù)的流向,F(xiàn)PGA的內(nèi)部邏輯設(shè)計(jì)應(yīng)包括圖像采集模塊、SDRAM緩存控制模塊、SD卡儲(chǔ)存模塊、裸眼3D LCD顯示控制模塊及系統(tǒng)控制模塊。

    OV5640工作時(shí)鐘為24 MHz,F(xiàn)PGA外部時(shí)鐘為50 MHz,SDRAM工作時(shí)鐘為100 MHz,LCD的工作時(shí)鐘為25 MHz,所以系統(tǒng)控制模塊需解決跨時(shí)鐘域數(shù)據(jù)通信的問(wèn)題。FPGA內(nèi)部邏輯設(shè)計(jì)如圖2所示。

ck7-t2.gif

2 圖像數(shù)據(jù)采集與緩存方法

    3D拍攝時(shí),如果兩只圖像傳感器未有效同步,則運(yùn)動(dòng)物體的曝光成像就會(huì)存在時(shí)間差,其后果是左右眼圖像不同步,從而使3D視覺(jué)無(wú)法形成而導(dǎo)致顯示失敗。因此3D圖像傳感器必須保證像素級(jí)的同步,使用FPGA的硬件邏輯控制來(lái)完成圖像傳感器準(zhǔn)確的同步配置和同步采集。

2.1 圖像傳感器同步配置及其數(shù)據(jù)采集

    通過(guò)SCCB(串行攝像機(jī)控制總線)對(duì)OV5640的工作寄存器進(jìn)行配置[3],本文把圖像傳感器的圖像輸出數(shù)據(jù)設(shè)置為RGB565,再根據(jù)圖像監(jiān)控設(shè)備的分辨率1 024×768和800×600,把左右眼圖像傳感器的分辨率按半寬原則設(shè)置為512×768和400×600,幀頻為30 f/s,以此來(lái)驗(yàn)證FPGA的邏輯算法是否正確。

    OV5640初始化完成后,圖像傳感器開(kāi)始啟動(dòng)工作,按設(shè)置的幀頻從數(shù)據(jù)接口輸出圖像數(shù)據(jù)。FPGA在PCLK(像素時(shí)鐘)、HREF(行同步信號(hào))和VSYNC(場(chǎng)同步信號(hào))的控制下開(kāi)始采集OV5640的圖像數(shù)據(jù)Data[7..0],設(shè)計(jì)邏輯算法將采集到的相鄰的兩個(gè)字節(jié)數(shù)據(jù)轉(zhuǎn)換為16位的圖像數(shù)據(jù)。使用Signal-tapII在線采集行場(chǎng)信號(hào)與數(shù)據(jù)信號(hào)的時(shí)序波形如圖3所示,當(dāng)PCLK處于上升沿時(shí)檢測(cè)行場(chǎng)信號(hào),VSYNC處于低電平且HREF為高電平時(shí)表示正在采集圖像數(shù)據(jù),當(dāng)VSYNC信號(hào)由低電平轉(zhuǎn)高電平時(shí),表示開(kāi)始采集新的一幀圖像數(shù)據(jù)。觀察圖3波形可知,設(shè)計(jì)的圖像傳感器數(shù)據(jù)采集的邏輯算法正確。

ck7-t3.gif

2.2 圖像數(shù)據(jù)緩存

    為解決跨時(shí)鐘域數(shù)據(jù)通信問(wèn)題,F(xiàn)PGA內(nèi)部構(gòu)建了wr_FIFO和rd_FIFO連接OV5640和SDRAM,wr_FIFO用于接收OV5640采集的圖像數(shù)據(jù),rd_FIFO用于緩存輸出至LCD的圖像數(shù)據(jù)。當(dāng)wr_FIFO接收到wr_req(寫數(shù)據(jù)請(qǐng)求)時(shí),OV5640采集到的數(shù)據(jù)緩存至wr_FIFO中;當(dāng)rd_FIFO接收到rd_req(讀數(shù)據(jù)請(qǐng)求)時(shí),rd_FIFO將緩存的數(shù)據(jù)輸出至LCD顯示。

    由于3D視頻圖像數(shù)據(jù)量大、傳輸速度高、像素級(jí)同步的要求,為了保證數(shù)據(jù)的有效處理,設(shè)計(jì)了SDRAM控制模塊,運(yùn)用了輪序法對(duì)SDRAM進(jìn)行分時(shí)操作[4]。當(dāng)SDRAM進(jìn)行寫操作時(shí),數(shù)據(jù)首先寫入BANK0,寫完一幀圖像數(shù)據(jù)后,切換為BANK3;當(dāng)SDRAM進(jìn)行讀操作時(shí)采用相同邏輯,切換BANK。根據(jù)以上邏輯,將輪序法操作SDRAM算法封裝成SDRAM控制器,使得圖像數(shù)據(jù)在SDRAM中的緩存更為簡(jiǎn)化和高效。左圖像傳感器的數(shù)據(jù)緩存操作流程如圖4所示。

ck7-t4.gif

3 圖像儲(chǔ)存

    SD卡具有尺寸小、功耗低、讀取速度快等優(yōu)點(diǎn),所以在便攜式儲(chǔ)存領(lǐng)域應(yīng)用廣泛[5]。SPI以主從方式工作,系統(tǒng)采用SPI模式實(shí)現(xiàn)SD卡與FPGA的通信,由SPI_CLK(時(shí)鐘信號(hào))、SPI_MISO(主機(jī)輸入從機(jī)輸出)、SPI_MOSI(主機(jī)輸出從機(jī)輸入)、SPI_CSN(片選信號(hào))組成。

    分辨率為2 048×768的左右立體對(duì)圖像以BMP格式儲(chǔ)存在SD卡中,分為三個(gè)過(guò)程:立體對(duì)圖像數(shù)據(jù)轉(zhuǎn)化為BMP圖像數(shù)據(jù)格式;SD卡初始化;SD卡寫操作控制[6]。3D圖像傳感器采集的圖像數(shù)據(jù)為RGB565,SD卡則以真彩色RGB888格式進(jìn)行儲(chǔ)存,所以需RGB565轉(zhuǎn)RGB888操作,有兩種方案選擇,一是采取低位補(bǔ)零方法,二是RGB565數(shù)據(jù)向高位移位后低位補(bǔ)原數(shù)據(jù)的高位,系統(tǒng)對(duì)兩個(gè)方案都進(jìn)行了實(shí)驗(yàn),觀看效果一致。SD卡的初始化按照SD卡的初始化流程實(shí)現(xiàn)。采用FAT16文件系統(tǒng)對(duì)SD卡進(jìn)行扇區(qū)管理,以便立體對(duì)圖像數(shù)據(jù)的正確寫入,使用Verilog_HDL(硬件描述語(yǔ)言)將FAT表、根目錄及54 B的BMP文件信息寫入SD卡對(duì)應(yīng)的物理地址。在左右數(shù)據(jù)通道的控制下,將左右圖像數(shù)據(jù)寫入SD卡的數(shù)據(jù)區(qū),左數(shù)據(jù)通道選通時(shí)序圖如圖5所示,右數(shù)據(jù)通道選通時(shí)序關(guān)系同理。

ck7-t5.gif

4 圖像顯示

    采用8英寸裸眼3D顯示屏對(duì)采集到的圖像進(jìn)行顯示,該裸眼3D顯示屏能兼容2D和3D顯示,所以分別設(shè)計(jì)了左右立體對(duì)顯示和像素重配后的3D顯示兩種邏輯算法。系統(tǒng)采用LCD的驅(qū)動(dòng)模式為DE模式,DE信號(hào)相當(dāng)于行場(chǎng)兩個(gè)同步信號(hào)的復(fù)合信號(hào),通過(guò)h_cnt和v_cnt兩個(gè)計(jì)數(shù)器控制DE_h和DE_v兩個(gè)同步信號(hào),邏輯為DE=DE_h&DE_v,當(dāng)DE為高電平時(shí),LCD顯示接收到的圖像數(shù)據(jù)。

    2D顯示時(shí),將具有一定視差的左右立體對(duì)圖像映射至LCD,根據(jù)時(shí)序標(biāo)準(zhǔn),切換左、右數(shù)據(jù)選通信號(hào),使得左、右圖像數(shù)據(jù)按行傳輸至LCD上顯示。硬件上設(shè)計(jì)了VGA接口和LCD接口,分別將立體對(duì)圖像映射至液晶電視和LCD上顯示,兩者映射原理相同,只是時(shí)序不同,左右立體對(duì)圖像映射至LCD的示意圖如圖6所示。

ck7-t6.gif

    3D顯示時(shí),將左、右圖像數(shù)據(jù)分別映射至裸眼3D顯示屏左、右眼亞屏幕[7],即左圖像數(shù)據(jù)映射在屏幕的奇列像素上,右圖像數(shù)據(jù)映射在屏幕的偶列像素上,將左右圖像數(shù)據(jù)進(jìn)行行壓縮邏輯設(shè)計(jì),按照時(shí)鐘頻率交替寫入LCD中,完成像素重配。裸眼3D顯示屏在結(jié)構(gòu)上和普通2D顯示屏有很大的不同,觀看角度上也存在差異。當(dāng)人眼處于獨(dú)立視區(qū)時(shí),左右眼能獨(dú)立地看到左右亞屏幕上的圖像,通過(guò)大腦視覺(jué)中樞融合形成裸眼3D效果[8]。當(dāng)人眼處于非獨(dú)立視區(qū)時(shí),左右眼分別能看到左右亞屏幕上的圖像,此時(shí)形成重影而影響觀看效果。左右立體對(duì)圖像像素重配后映射至LCD的示意圖如圖7所示。

ck7-t7.gif

5 仿真分析及實(shí)驗(yàn)

    OV5640采集8 bit的圖像數(shù)據(jù)在SDRAM緩存過(guò)程中需轉(zhuǎn)換為RGB565格式的16 bit數(shù)據(jù),使用嵌入式邏輯分析儀Signal-tapII對(duì)該轉(zhuǎn)換進(jìn)行仿真分析,仿真波形如圖8所示,通過(guò)觀察信號(hào)的值可驗(yàn)證該邏輯設(shè)計(jì)正確。對(duì)像素重配后在裸眼3D屏上顯示的圖像數(shù)據(jù)進(jìn)行仿真分析,其波形如圖9所示,通過(guò)在線仿真可看出3D顯示時(shí)的圖像數(shù)據(jù)和左右圖像傳感器獲取的圖像數(shù)據(jù)嚴(yán)格一致。

ck7-t8.gif

ck7-t9.gif

    系統(tǒng)使用了液晶電視和裸眼3D顯示屏進(jìn)行了實(shí)驗(yàn),準(zhǔn)確穩(wěn)定地將采集到的高清立體對(duì)圖像輸入并顯示。3D圖像傳感器將立體對(duì)圖像像素重配后輸入至裸眼3D顯示屏顯示,效果良好。實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的3D圖像傳感器及其邏輯算法能對(duì)3D圖像進(jìn)行完整的采集、傳輸、儲(chǔ)存、顯示,驗(yàn)證了系統(tǒng)硬件邏輯算法的正確性。

6 結(jié)論

    便攜式3D拍攝設(shè)備具有廣闊的發(fā)展前景,根據(jù)人眼立體視覺(jué)仿生原理設(shè)計(jì)的3D圖像傳感器利用了FPGA高速并行處理的優(yōu)勢(shì),使得硬件構(gòu)架上更為集成化,解決了3D視頻圖像來(lái)源、儲(chǔ)存和像素重配等問(wèn)題。系統(tǒng)工作穩(wěn)定,移植性好,通過(guò)修改模塊程序即可支持不同的圖像傳感器和顯示器,支持2D和3D顯示,具有較好的兼容性。

    3D圖像傳感器提供了3D圖像獲取的手段,使用者可隨時(shí)隨地記錄3D場(chǎng)景,可在裸眼3D設(shè)備上復(fù)現(xiàn)三維場(chǎng)景,獲得臨場(chǎng)感和沉浸感。3D圖像傳感器的研制為3D圖像傳感器的專用集成電路設(shè)計(jì)提供了有益的參考。

參考文獻(xiàn)

[1] “十三五”國(guó)家戰(zhàn)略性新興產(chǎn)業(yè)發(fā)展規(guī)劃(全文)[J].中國(guó)戰(zhàn)略新興產(chǎn)業(yè),2017(1):57-81.

[2] 梁發(fā)云,何輝,施建盛,等.基于FPGA的視頻信號(hào)采集技術(shù)研究[J].電視技術(shù),2014,38(7):54-57.

[3] Omini Vision.OV5640 datasheet[Z].2011.

[4] 戚翔宇.3D傳感器左右視頻合成技術(shù)研究[D].南昌:南昌大學(xué),2016.

[5] 劉敏,梁發(fā)云,王興鵬.裸眼3D系統(tǒng)SD卡FPGA讀取顯示研究[J].電視技術(shù),2015,39(9):40-43.

[6] 陳輝.高清3D傳感器數(shù)據(jù)處理技術(shù)研究[D].南昌:南昌大學(xué),2017.

[7] Liang Fayun,Cheng Jie,Tie Zhicheng,et al.Dynamical assembly for naked-eye-stereoscopic LCD screen[J].Advanced Materials Research,2011,403-408(11):3095-3098.

[8] 梁發(fā)云,鄧善熙,楊永躍.自由立體顯示器的視覺(jué)特性測(cè)量與研究[J].儀器儀表學(xué)報(bào),2006,27(10):1350-1353.

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