立體液晶顯示器是近年來新出現(xiàn)的虛擬現(xiàn)實顯示設(shè)備,它真實地再現(xiàn)場景的三維信息,顯示具有縱深感的圖像。其最大特點就是觀察者無需使用任何附加設(shè)備,直接用肉眼就可看到屏幕上顯示的立體圖像。觀測者可以更容易、更快速地理解真實的景深信息,更全面、更直觀地洞察圖像空間位置的實際分布狀況。
目前,國內(nèi)外的自由立體液晶顯示方式通常采用計算機采集圖像并存儲,處理后輸出到液晶屏驅(qū)動電路板,然后通過板載模數(shù)轉(zhuǎn)換模塊等處理后在液晶屏顯示立體圖像。這種方式主要由計算機進行圖像采集和處理,其開發(fā)周期短,但成本較高,體積較大,且需要液晶屏廠商提供驅(qū)動電路板。因此,本文以FPGA為核心,設(shè)計并開發(fā)了一套專用于立體液晶顯示的圖像采集和顯示系統(tǒng),可廣泛應(yīng)用于立體顯微、測繪領(lǐng)域、工程設(shè)計、軍事指揮等各個方面,有望形成產(chǎn)業(yè)規(guī)模。
1 方案設(shè)計
人們通常是兩眼同時觀看物體。由于兩只眼睛視軸的間距(約65mm)及同一物體在兩眼的構(gòu)像不一致形成的生理視差,使得左眼和右眼所接收到的視覺圖像不同。而大腦通過眼球的運動、調(diào)整,綜合這兩幅圖像的信息,產(chǎn)生立體感。本設(shè)計通過兩個完全相同的攝像機,使兩個圖像平面位于同一平面Q,兩機坐標(biāo)軸平行,水平軸重合。通過兩攝像頭模擬人眼視差來恢復(fù)物體的深度信息。視差越大說明物體離透鏡的距離越近;反之,則越遠(yuǎn)[1]。
立體圖像獲取及顯示系統(tǒng)框圖如圖1所示。CMOS雙攝像頭嚴(yán)格水平放置,獲取立體圖像對。數(shù)字圖像數(shù)據(jù)并行進入FPGA,利用片上RAM作幀緩存,然后由FPGA中的圖像處理模塊模擬大腦對兩眼圖像的綜合處理,按照VGA時序輸出到液晶屏顯示。
采用松下10.4英寸工控液晶屏EDTCB03Q2F,其接口為TTL電平,可用FPGA直接驅(qū)動,分辨率為640×480像素,色彩為262K(6bit/color),工作電壓3.3V。
以O(shè)mniVision公司的OV9620這一較為典型的彩色1/2英寸CMOS圖像傳感器模塊作為核心,實現(xiàn)雙芯片成像系統(tǒng)。該芯片采用Bayer模式濾波,其中有1 310 720個有效像素,其他像素用于黑電平補償和內(nèi)插。它支持SXGA和VGA兩種模式,支持?jǐn)z像和快拍,帶有光學(xué)黑電平校正、可編程/自動曝光和增益控制、可編程白平衡控制、水平和垂直次采樣(4:2和4:2),可編程設(shè)定成像窗口和幀傳輸速率。內(nèi)部集成了SCCB控制接口便于訪問其57個片內(nèi)寄存器,以實現(xiàn)對圖像傳感器芯片各種工作狀態(tài)參數(shù)的設(shè)定[2]。
采用FPGA實現(xiàn)數(shù)據(jù)的采集、處理及作為液晶屏的顯示接口。相對普通微處理器,F(xiàn)PGA時鐘頻率高、接口多,滿足高速數(shù)據(jù)傳輸需要;相對DSP而言,用戶I/O較多,不需擴展即可實現(xiàn)數(shù)據(jù)實時采集和輸出,且便于實現(xiàn)外加存儲器擴展。采用Xilinx公司的spartan3系列XC3S1000,系統(tǒng)門級為1000K,片上分布式RAM為120Kbit,分塊RAM為432Kbit。用戶I/O共391個,片上鎖相環(huán)(DCM)4個[3]。它輸出紅、綠、藍(lán)各6位信號,時鐘信號、行/場同步信號以及復(fù)合消隱信號在液晶屏顯示。
2 系統(tǒng)實現(xiàn)
2.1 雙攝像頭成像系統(tǒng)設(shè)計
該成像系統(tǒng)主要由兩個CMOS圖像傳感器、外圍控制電路和光學(xué)鏡頭組成。系統(tǒng)設(shè)計的主要任務(wù)是:(1)通過對管腳信號的控制設(shè)置成像系統(tǒng)的工作狀態(tài),輸出VGA模式;(2)提供系統(tǒng)的工作時鐘信號,保證兩個攝像頭工作時鐘嚴(yán)格同步;(3)為系統(tǒng)提供穩(wěn)定的工作電源和電平設(shè)置;(4)光學(xué)鏡頭的設(shè)計。
CMOS芯片為TTL電平接口,與FPGA兼容,其輸出數(shù)據(jù)格式如表1所示。它輸出10位并行紅、綠、藍(lán)信號,行、場同步信號,時鐘信號供FPGA采集。
2.2 FPGA設(shè)計
FPGA作為整個圖像系統(tǒng)的控制核心,實現(xiàn)數(shù)據(jù)采集接口及立體圖像合成的功能。采用Top-down設(shè)計方法,首先劃分為不同的功能模塊,用VHDL語言進行行為級設(shè)計,然后采用原理圖進行頂層設(shè)計,經(jīng)過編程、綜合、仿真和實現(xiàn),最后在電路板上進行驗證。
2.2.1 VGA控制信號的產(chǎn)生模塊
參照VESA VGA標(biāo)準(zhǔn),像素時鐘頻率為25.175MHz,行頻為31.469kHz,每行包括800點,其中有效顯示640點,行同步時間96點,行消隱前肩16點,行消隱后肩48點,共160點行消隱期;場頻(刷新率)為59.94Hz,每場有525行,其中有效顯示480行,場同步時間2行,場消隱前肩11行,場消隱后肩32行,共45行[4]。
像素時鐘由FPGA外接50MHz晶振二分頻得到,作為液晶屏驅(qū)動控制信號發(fā)生的基準(zhǔn),行頻和場頻相與得到數(shù)據(jù)有效信號(DE)。
2.2.2 脈沖噪聲處理
數(shù)字圖像的噪聲主要來源于圖像的獲取和傳輸過程。在成像階段,因為成像系統(tǒng)的散焦、成像中的短暫停留、成像器材的固有缺陷等帶來傳感器噪聲;在傳輸過程中的噪聲主要因為電子電路噪聲以及數(shù)據(jù)傳輸環(huán)境的不理想。這樣,造成圖像退化的主要因素為脈沖噪聲(椒鹽噪聲),在數(shù)字傳輸結(jié)束后,總是以最大值表現(xiàn)出來。即負(fù)脈沖以黑點(胡椒點)出現(xiàn),正脈沖以白點(鹽點)出現(xiàn),且具有小面積的特點。由于FPGA片上存儲資源有限,以及視頻流固有的限制,只能參考當(dāng)前像素之前的像素進行處理??紤]到距離較遠(yuǎn)的像素相關(guān)性較小,如圖2所示:以像素5為當(dāng)前像素,選取1,2,3,4像素作為參考。標(biāo)定后,脈沖噪聲總是以數(shù)字化最大值表現(xiàn)出來,即黑椒點為0,鹽點為255。當(dāng)色彩數(shù)據(jù)進入FPGA時,首先判斷其數(shù)值:如果是椒鹽點,則該數(shù)據(jù)取1,2,3,4像素的該色彩分量平均值;如果不是椒鹽點,則送入色彩識別模塊。
2.2.3 色彩識別模塊
如表1所示,CMOS攝像頭輸出格式為:第一行BGBGBG……,第二行GRGRGR……,即RGB信號按此順序串行輸出,而液晶屏接收RGB信號并行輸入,必須識別出輸入數(shù)據(jù)屬于何種色彩分量,經(jīng)組合后輸出到數(shù)據(jù)處理模塊進行處理。
采用ModelSim對色彩識別模塊進行仿真,結(jié)果如圖3所示。攝像頭幀頻(vsIn)輸出一個脈沖表示一幀到來時,若行頻(hsIn)有效,則第一行開始,數(shù)據(jù)端口(dataIn)中的數(shù)據(jù)依次輸出到藍(lán)色分量端口(bOut)、綠色分量端口(gOut);若行頻無效,則無數(shù)據(jù)輸出;第二行依次按照綠色分量端口(gOut)、紅色分量端口(rOut)……如此循環(huán),使得相鄰四個像素共享藍(lán)色和紅色分量,橫向相鄰的兩個像素共享綠色分量。數(shù)據(jù)經(jīng)過判斷組合后,RGB信號并行存儲到片上RAM,加快處理速度,便于實時輸出至液晶屏。
2.2.4 圖像合成模塊
液晶屏上采用光柵對圖像進行空分處理,實現(xiàn)雙眼視差,只需對其輸入相應(yīng)數(shù)據(jù)即可實現(xiàn)立體顯示。兩個攝像頭的圖像數(shù)據(jù)并行讀入(由于液晶屏接收RGB各6位進行顯示,故只讀入攝像頭的高6位),經(jīng)噪聲處理及色彩識別并組合后放入片上RAM進行緩存。在VGA控制信號中的行、場頻控制下,計算RAM地址,從片上RAM中讀出數(shù)據(jù)并輸出至液晶屏,輸出效果如圖4。其中黑色表示左攝像頭數(shù)據(jù),白色表示右攝像頭數(shù)據(jù),以像素為單位交替出現(xiàn),即奇數(shù)列為左攝像頭數(shù)據(jù),偶數(shù)列為右攝像頭數(shù)據(jù)。
本設(shè)計采用雙CMOS攝像頭模擬人眼獲取圖像。以FPGA為核心設(shè)計了圖像采集、處理和顯示接口,其圖像數(shù)據(jù)可直接輸出到TTL接口的液晶屏顯示。對于目前市場上大部分LVDS接口的液晶屏,只需修改FPGA的I/O屬性即可,無需液晶屏廠家提供驅(qū)動電路板,實現(xiàn)了立體液晶顯示圖像采集和顯示系統(tǒng)的最小化設(shè)計,目前已成功運用于實時圖像的立體液晶顯示。整個系統(tǒng)結(jié)構(gòu)緊湊,擴展性強,生產(chǎn)成本低。此外,該系統(tǒng)只需對FPGA進行重新編程即可用于其他多路視頻采集、處理及顯示方案。
參考文獻
[1] 譚 軍,陸 波,余桂豐.立體電視技術(shù)的發(fā)展概況及基本原理[J].中國有線電視,2004,(12):25-27.
[2] OmniVision Technologies Inc.OV9620 CMOS SXGA(1.3 MPixel) CamerachipTM datasheet Version 2.5.2003,9.
[3] Xilinx Inc.The Spartan-3 Family Data Sheet.DS099,2005,8.
[4] 徐 欣,于紅旗,易 凡等.基于FPGA的嵌入式系統(tǒng)設(shè)計[M].北京:機械工業(yè)出版社,2005.
本課題受國家“863計劃”(2005AA311020)和江蘇省高技術(shù)研究計劃(BG2004031)資助