梁發(fā)云,何 輝,施建盛,劉 果
(1.南昌大學 裸眼立體技術(shù)與虛擬現(xiàn)實研究中心,江西 南昌 330031;2. 南昌興亞光電科技發(fā)展有限公司,江西 南昌 330031)
嵌入式系統(tǒng)軟硬件可裁剪使得嵌入式設(shè)備體積小,功耗和成本低,在消費電子產(chǎn)品等應用有其獨特的優(yōu)勢[1]。裸眼3D技術(shù)被認為是繼高清顯示技術(shù)的下一代主流顯示技術(shù),旨在解決人們擺脫3D眼鏡的束縛體驗身臨其境的立體場景,感受新的視覺沖擊。嵌入式裸眼3D設(shè)備是立體顯示技術(shù)與嵌入式系統(tǒng)的結(jié)合,良好的立體顯示效果和便攜性使其在消費電子領(lǐng)域具有廣闊的市場前景。嵌入式裸眼3D設(shè)備需要完成視頻文件解碼、視頻信號轉(zhuǎn)換、裸眼立體顯示屏3個方面的研究工作[2-3]。
近年,立體視頻拍攝、圖像的編解碼和顯示設(shè)備等技術(shù)有了很大的進步,裸眼立體顯示技術(shù)作為獲得立體效果的關(guān)鍵環(huán)節(jié)成為研究熱點[4-6]。而如何對數(shù)據(jù)量較大的立體圖像進行實時、準確的處理,成為裸眼3D視頻信號處理的主要研究方向之一。本文主要研究在win CE嵌入式系統(tǒng)支持下,采用ARM與FPGA相結(jié)合的硬件結(jié)構(gòu),嵌入式裸眼3D設(shè)備對視頻圖像數(shù)據(jù)處理的重點問題[7-8],并討論了ARM系統(tǒng)視頻信號接口、視頻數(shù)據(jù)的采集、左右格式立體圖像特點及列插值融合的硬件實現(xiàn)方法。實驗證明采用ARM+FPGA硬件結(jié)構(gòu)的嵌入式裸眼3D設(shè)備能夠完成視頻信號的實時獲取和轉(zhuǎn)換,在滿足系統(tǒng)要求的同時,使系統(tǒng)具有結(jié)構(gòu)緊湊、可靠性高等特點。
系統(tǒng)總體設(shè)計方案如圖1所示。硬件設(shè)計采用了ARM+FPGA結(jié)構(gòu),ARM選用三星公司的S3C6410嵌入式處理器。該處理器具有功耗低、性能高和成本低等優(yōu)勢,支持對2D和3D圖形加速,集成了多格式編解碼器,支持MPEG4/H.263/H.264格式編解碼。同時支持多種嵌入式操作系統(tǒng),友好的人機界面和強大的外設(shè)控制能力,這些特點使得S3C6410具有出色的視頻解碼能力[9]。FPGA作為視頻信號處理核心,高速并行的數(shù)據(jù)處理能力成為裸眼3D視頻信號處理的較優(yōu)選擇。

圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 System global structure chart
FPGA邏輯設(shè)計由4個部分組成:數(shù)據(jù)采集模塊、時鐘管理模塊、信號轉(zhuǎn)換模塊、液晶屏控制模塊[10]。頂層模塊控制4個子模塊協(xié)調(diào)工作,視頻數(shù)據(jù)通過采集模塊緩存后,進入到信號轉(zhuǎn)換模塊中進行格式轉(zhuǎn)換,液晶屏控制模塊從信號轉(zhuǎn)換模塊中取出轉(zhuǎn)換好的數(shù)據(jù)傳送給裸眼3D液晶屏。ARM+FPGA硬件結(jié)構(gòu)發(fā)揮了兩者各自的優(yōu)勢,ARM核心板安裝Windows CE6.0系統(tǒng)支持外設(shè)和立體視頻解碼播放,F(xiàn)PGA通過邏輯設(shè)計構(gòu)造出高速并行的視頻信號采集和轉(zhuǎn)換處理單元,將左右格式立體圖像數(shù)據(jù)處理成與裸眼3D液晶屏匹配的奇、偶列交錯的雙目立體圖像。
S3C6410帶有一個TFT-LCD液晶屏控制器,顯示輸出接口可以支持24位并行RGB和I80接口,最大輸出分辨率為1 024×1 024。Windows CE6.0嵌入式系統(tǒng)應用軟件對視頻文件解碼播放,顯示模式采用24位并行RGB輸出接口。一般圖像數(shù)據(jù)采集使用圖像傳感器,COMS圖像傳感器是其中常用的一種。以O(shè)V3640為例視頻輸出信號包括:CMOS_PCLK(像素時鐘)、CMOS_HREF(行同步信號)、CMOS_VSYNC(場同步信號)、CMOS_CLK(工作時鐘)、CMOS_D0~D7(8位視頻數(shù)據(jù))。ARM和CMOS圖像傳感器兩者的視頻信號對比如表1。
ARM液晶屏控制器和CMOS圖像傳感器都是在像素脈沖的控制下輸出圖像數(shù)據(jù),行、場同步信號控制消隱等時序,數(shù)據(jù)有效信號設(shè)定圖像數(shù)據(jù)輸出范圍。CMOS傳感器圖像輸出格式可以通過配置寄存器設(shè)定,不同格式按照8位數(shù)據(jù)寬度輸出到控制器,由控制器進行格式的轉(zhuǎn)換。根據(jù)數(shù)據(jù)信號的相似性,可以使用FPGA采集ARM系統(tǒng)視頻輸出接口數(shù)據(jù),并進行緩存和相應的信號轉(zhuǎn)換。

表1 ARM和CMOS圖像傳感器視頻信號對比
目前基于視差的立體視頻中,常見的是將一幀圖像分為兩個對等的區(qū)域,立體對圖像中的奇列像素區(qū)和偶列像素區(qū)分配到這兩個對等區(qū)域中,奇、偶列像素區(qū)含有雙目視差信息是立體顯示的關(guān)鍵。由于模擬人眼視差的立體拍攝系統(tǒng)多采用左右配置的雙視覺傳感器結(jié)構(gòu),其視頻圖像存儲方式多采用左右格式。左右格式的圖像如圖2所示。

圖2 左右格式立體圖像Fig.2 Left and right format stereo image
左右格式的立體圖像是每行像素的前半行對應左眼視圖(奇列像素區(qū)),后半行是對應的右眼視圖(偶列像素區(qū)),每一幅圖像包含一個左右眼視圖的立體對。以一幅2n×m分辨率的圖像為例,每行2n個像素,共m行,這些像素與液晶屏的物理像素相對應。圖2中第1~n列n×m個像素是對應左眼視圖,第n+1~2n列n×m個像素對應右眼視圖,整幅圖像包含了水平方向視差。
根據(jù)線光源背照明裸眼3D液晶屏的結(jié)構(gòu),要得到立體圖像顯示效果不僅需要液晶屏工作在3D模式,而且需要將具有視差的左右格式立體圖像的左眼視圖和右眼視圖分離和融合[11]。按照左眼視圖的n列像素對應顯示在裸眼3D液晶屏的奇列物理像素上,右眼視圖的n列像素顯示在裸眼3D液晶屏的偶列物理像素上,用圖3來表示左右格式立體圖像經(jīng)過左、右眼視圖分離和融合形成匹配裸眼3D液晶屏上的奇偶列交錯的立體對圖像。
經(jīng)過照明板的線光源對奇偶列像素照明,分離后的視差圖像分別到達觀看者對應的眼睛,具有視差的圖像通過視網(wǎng)膜傳到大腦,大腦的視覺神經(jīng)中樞利用視差產(chǎn)生遠近的深度信息,從而獲得立體感。

圖3 圖像融合Fig.3 Fusion of image
左右格式立體圖像的特點是奇、偶列像素分布在每行數(shù)據(jù)前、后半行,分離和融合處理過程可以以行像素為單位進行。TFT-LCD顯示屏采用水平逐行掃描方式時,也是以一行像素為單位向顯示屏傳輸數(shù)據(jù)。因此系統(tǒng)立體圖像融合邏輯設(shè)計成兩級緩沖結(jié)構(gòu),對每行像素數(shù)據(jù)進行處理。邏輯設(shè)計中數(shù)據(jù)流向如圖4所示。

圖4 數(shù)據(jù)流向圖Fig.4 Data flow diagram
數(shù)據(jù)緩存FIFO在數(shù)據(jù)采集模塊中作為數(shù)據(jù)的第一級緩存,F(xiàn)IFO的左端由ARM系統(tǒng)控制,當VM(數(shù)據(jù)有效)信號為高電平時將數(shù)據(jù)總線上的24 bits像素數(shù)據(jù)寫入到FIFO中。為了立體視頻數(shù)據(jù)能準確地分離和融合,使用FPGA內(nèi)部嵌入式存儲器塊構(gòu)成的兩個大小相同的Dual-PORT RAM作為雙緩沖池,分別為ram1和ram2。系統(tǒng)設(shè)計了通用的液晶屏控制器產(chǎn)生液晶屏的時序[12],F(xiàn)IFO的右端在系統(tǒng)像素時鐘p_clk的控制下,當液晶屏控制器rdf_req(FIFO讀請求信號)有效時從FIFO中讀出數(shù)據(jù)寫入雙緩沖池中。對于分辨率2n×m的左右格式立體圖像,每行有2n個像素,每個像素24位,共m行,系統(tǒng)中采用了800×480的分辨率。
當選擇3D模式時通過ram1和ram2的讀寫地址變換完成左右格式立體圖像的列插值,當液晶屏控制器rdf_req為高電平時,視頻數(shù)據(jù)從FIFO中讀出寫入到ram1中。按照前n個像素存入地址wrram1_addr=2i(i=0,1,…n-1),后n個像素存入ram1地址wrram1_addr=2i+1(i=0,1…n-1),讀出時按照順序地址讀取,ram1讀取地址rdram1_addr=i(i=0,1,…2n-1),ram2操作和ram1相同。兩個Dual-PORT RAM第一行和第二行數(shù)據(jù)存入和讀出方式如圖5所示,其中L1n,L2n代表立體圖像的第一行和第二行的像素點。

圖5 Dual-PORT RAM存取方式圖Fig.5 Access mode of Dual-PORT RAM
第一個行顯示周期,輸入的圖像數(shù)據(jù)寫入到ram1中,當ram1寫入完成后,第二個行顯示周期,通過計數(shù)器和顯示有效信號來控制ram1與ram2的切換,輸入圖像數(shù)據(jù)通過選擇單元切換存入到ram2中,同時兩個Dual-PORT RAM的讀使能通過輸出選擇單元選擇讀取ram1中已經(jīng)處理好的圖像數(shù)據(jù)。第三個行顯示周期,通過切換選擇信號,將數(shù)據(jù)存入到ram1中,讀出ram2中處理好的圖像數(shù)據(jù),通過對雙緩沖池輪序的操作從內(nèi)部看數(shù)據(jù)是分行處理,外部立體顯示屏獲得連續(xù)的圖像數(shù)據(jù)。wr_ram1_en、wr_ram2_en、rd_ram1_en、rd_ram2_en是計數(shù)器和顯示有效信號來控制的RAM讀寫有效信號。
為兼容裸眼立體顯示屏的2D顯示模式,在邏輯設(shè)計時,使用一個撥動開關(guān)來控制Dual-PORT RAM的地址變換實現(xiàn)2D與3D模式的切換,當選擇在2D模式時,兩個Dual-PORT RAM的寫入地址都為wrram_addr=i(i=0,1,…2n-1),對輸入圖像的每行數(shù)據(jù)按順序地址寫入,然后按順序地址讀出送到裸眼立體顯示屏,顯示2D圖像。
使用ModelSim對系統(tǒng)進行了功能仿真驗證,圖6中采用順序數(shù)列0~799作為24位寬的像素數(shù)據(jù)rgb_datainn在de_inn信號的控制下寫入第一級緩存FIFO中。液晶屏控制器按照液晶屏時序產(chǎn)生讀FIFO請求信號rdf_req讀出數(shù)據(jù)輪流寫入到雙緩沖池中,key=0時按照3D模式列插值方式寫入Dual-PORT RAM,key=1時數(shù)據(jù)順序?qū)懭耄嫒萋阊?D液晶屏的2D模式。de_out是液晶屏控制器的數(shù)據(jù)有效信號,8位寬的r,g,b是經(jīng)過系統(tǒng)轉(zhuǎn)換后輸出到液晶屏的視頻數(shù)據(jù)。圖6中是選擇在3D模式的仿真波形。

圖6 系統(tǒng)功能仿真Fig.6 Function simulation of system
仿真驗證了系統(tǒng)功能的正確性后進行時序約束和管腳分配。硬件平臺加載配置文件,進行板級調(diào)試。圖7是撥動開關(guān)斷開時使用普通2D屏全屏播放左右格式視頻,圖8中將開關(guān)閉合使得雙緩沖池工作在3D模式,對左右格式立體視頻進行列插值后融合成奇、偶列交錯的立體對圖像。

圖7 左右格式立體視頻Fig.7 Left and right format stereo video

圖8 列插值融合后的圖像Fig.8 Image of fusion by columns interpolation
提出的ARM+FPGA硬件結(jié)構(gòu)適合立體視頻信號的處理,充分發(fā)揮了ARM的視頻解碼和FPGA高速數(shù)據(jù)處理能力。FPGA邏輯設(shè)計只使用內(nèi)部資源完成視頻數(shù)據(jù)采集、緩存和左右格式立體圖像數(shù)據(jù)的列插值,簡化了系統(tǒng)設(shè)計的復雜度,提高了系統(tǒng)的可靠性,降低了成本,使用純硬件方式實現(xiàn)立體圖像數(shù)據(jù)分離和融合在應對高清晰度的高速視頻數(shù)據(jù)流發(fā)展趨勢上有其獨特的優(yōu)勢,為嵌入式裸眼3D設(shè)備的設(shè)計和應用提供參考。
[1] 雷豐中,劉鵬.基于S3C6410的多媒體系統(tǒng)設(shè)計[J].電視技術(shù),2011,35(11):24-27.
Lei F Z,Liu P. Design of multimedia system based on S 3C6410 [J].VideoEngineering,2011,35(11):24-27. (in Chinese)
[2] 梁發(fā)云,鄧善熙,楊永躍.立體圖像視頻格式及其轉(zhuǎn)換技術(shù)研究[J].儀器儀表學報,2005,26(12):1233-1237.
Liang F Y,Deng S X,Yang Y Y. Research on Image and video transformation technology of stereoscopic display[J].ChineseJournalofScientificInstrument,2005,26(12):1233-1237. (in Chinese)
[3] 帖志成,梁發(fā)云,黃偉莉,等. 嵌入式設(shè)備立體圖像顯示技術(shù)研究[J].液晶與顯示,2013,28(1):71-75.
Tie Z C,Liang F Y,Huang W Li,etal. Stereoscopic display based on embedded system [J].ChineseJournalofLiquidCrystalsandDisplays,2013,28(1):71-75. (in Chinese)
[4] Smolic A. 3D video and free viewpoint video-From capture to display [J].PatternRecognition,2011,(44)9:1958-1968.
[5] Aksay A,Pehlivan S,Kurutepe K,etal.End-to-end stereoscopic video streaming with content-adaptive rate and format control [J].SignalProcessing:ImageCommunication,2007,22(2):157-168.
[6] Ryu S,Sohn K. Depth-based direct mode for multiview video coding [J].SignalProcessing:ImageCommunication,2012,(27)6:571-578.
[7] 張挺飛,樊永生,孫凌云.基于FPGA+ARM的智能圖像門控系統(tǒng)[J].電視技術(shù),2012,36(17):156-158.
Zhang T F,F(xiàn)an Y S,Sun L Y. Intelligent door control system based on FPGA + ARM [J].VideoEngineering,2012,36(17):156-158. (in Chinese)
[8] 吳祿慎,任丹. 面外“moire” 計算機圖像處理技術(shù)的研究[J]. 南昌大學學報:工科版,2000,12(22):1-5.
Wu L S,Ren D . Investigation of computer image processing technology on out of plane moire method [J].JournalofNanchangUniversity:Engineering&TechnologyEdition,2000,12(22):1-5. (in Chinese)
[9] 吳君欽,宋鍵,劉昊.基于S3C6410和ADV7180的嵌入式視頻采集系統(tǒng)設(shè)計與實現(xiàn)[J].計算機工程科學,2012,34(12):115-119.
Wu J Q,Song J,Liu H. Design and implementation of embedded video capture system based on ADV7180 and S3C6410 [J].ComputerEngineeringandScience,2012,34(12):115-119. (in Chinese)
[10] 吳繼華,蔡海寧,王誠. Altera FPGA/CPLD設(shè)計(高級篇)[M].北京:人民郵電出版社,2011.
Wu J H,Cai H N,Wang C.AlteraFPGA/CPLDDesign(AdvancedPiece)[M]. Beijing:Posts&Telecom Press,2011. (in Chinese)
[11] 梁發(fā)云,鄧善熙,楊永躍. 裸眼立體顯示液晶屏的光學結(jié)構(gòu)及設(shè)計[J].液晶與顯示,2005,20(6):544-548.
Liang F Y,Deng S X,Yang Y Y. Optical structure and designing of nakedness-eye stereoscopic LCD panel [J].ChineseJournalofLiquidCrystalsandDisplays,2005,20(6):544-548. (in Chinese)
[12] 王鳴浩,吳小霞.基于FPGA的通用液晶顯示控制器的設(shè)計和實現(xiàn)[J].液晶與顯示,2012,27(1):87-92.
Wang M H,Wu X X. Design and realization of general LCD controller based on FPGA [J].ChineseJournalofLiquidCrystalsandDisplays,2012,27(1):87-92. (in Chinese)