梁發(fā)云,何 輝,施建盛,劉 果
(1.南昌大學(xué) 裸眼立體技術(shù)與虛擬現(xiàn)實(shí)研究中心,江西 南昌 330031;2. 南昌興亞光電科技發(fā)展有限公司,江西 南昌 330031)
嵌入式系統(tǒng)軟硬件可裁剪使得嵌入式設(shè)備體積小,功耗和成本低,在消費(fèi)電子產(chǎn)品等應(yīng)用有其獨(dú)特的優(yōu)勢(shì)[1]。裸眼3D技術(shù)被認(rèn)為是繼高清顯示技術(shù)的下一代主流顯示技術(shù),旨在解決人們擺脫3D眼鏡的束縛體驗(yàn)身臨其境的立體場(chǎng)景,感受新的視覺(jué)沖擊。嵌入式裸眼3D設(shè)備是立體顯示技術(shù)與嵌入式系統(tǒng)的結(jié)合,良好的立體顯示效果和便攜性使其在消費(fèi)電子領(lǐng)域具有廣闊的市場(chǎng)前景。嵌入式裸眼3D設(shè)備需要完成視頻文件解碼、視頻信號(hào)轉(zhuǎn)換、裸眼立體顯示屏3個(gè)方面的研究工作[2-3]。
近年,立體視頻拍攝、圖像的編解碼和顯示設(shè)備等技術(shù)有了很大的進(jìn)步,裸眼立體顯示技術(shù)作為獲得立體效果的關(guān)鍵環(huán)節(jié)成為研究熱點(diǎn)[4-6]。而如何對(duì)數(shù)據(jù)量較大的立體圖像進(jìn)行實(shí)時(shí)、準(zhǔn)確的處理,成為裸眼3D視頻信號(hào)處理的主要研究方向之一。本文主要研究在win CE嵌入式系統(tǒng)支持下,采用ARM與FPGA相結(jié)合的硬件結(jié)構(gòu),嵌入式裸眼3D設(shè)備對(duì)視頻圖像數(shù)據(jù)處理的重點(diǎn)問(wèn)題[7-8],并討論了ARM系統(tǒng)視頻信號(hào)接口、視頻數(shù)據(jù)的采集、左右格式立體圖像特點(diǎn)及列插值融合的硬件實(shí)現(xiàn)方法。實(shí)驗(yàn)證明采用ARM+FPGA硬件結(jié)構(gòu)的嵌入式裸眼3D設(shè)備能夠完成視頻信號(hào)的實(shí)時(shí)獲取和轉(zhuǎn)換,在滿(mǎn)足系統(tǒng)要求的同時(shí),使系統(tǒng)具有結(jié)構(gòu)緊湊、可靠性高等特點(diǎn)。
系統(tǒng)總體設(shè)計(jì)方案如圖1所示。硬件設(shè)計(jì)采用了ARM+FPGA結(jié)構(gòu),ARM選用三星公司的S3C6410嵌入式處理器。該處理器具有功耗低、性能高和成本低等優(yōu)勢(shì),支持對(duì)2D和3D圖形加速,集成了多格式編解碼器,支持MPEG4/H.263/H.264格式編解碼。同時(shí)支持多種嵌入式操作系統(tǒng),友好的人機(jī)界面和強(qiáng)大的外設(shè)控制能力,這些特點(diǎn)使得S3C6410具有出色的視頻解碼能力[9]。FPGA作為視頻信號(hào)處理核心,高速并行的數(shù)據(jù)處理能力成為裸眼3D視頻信號(hào)處理的較優(yōu)選擇。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 System global structure chart
FPGA邏輯設(shè)計(jì)由4個(gè)部分組成:數(shù)據(jù)采集模塊、時(shí)鐘管理模塊、信號(hào)轉(zhuǎn)換模塊、液晶屏控制模塊[10]。頂層模塊控制4個(gè)子模塊協(xié)調(diào)工作,視頻數(shù)據(jù)通過(guò)采集模塊緩存后,進(jìn)入到信號(hào)轉(zhuǎn)換模塊中進(jìn)行格式轉(zhuǎn)換,液晶屏控制模塊從信號(hào)轉(zhuǎn)換模塊中取出轉(zhuǎn)換好的數(shù)據(jù)傳送給裸眼3D液晶屏。ARM+FPGA硬件結(jié)構(gòu)發(fā)揮了兩者各自的優(yōu)勢(shì),ARM核心板安裝Windows CE6.0系統(tǒng)支持外設(shè)和立體視頻解碼播放,F(xiàn)PGA通過(guò)邏輯設(shè)計(jì)構(gòu)造出高速并行的視頻信號(hào)采集和轉(zhuǎn)換處理單元,將左右格式立體圖像數(shù)據(jù)處理成與裸眼3D液晶屏匹配的奇、偶列交錯(cuò)的雙目立體圖像。
S3C6410帶有一個(gè)TFT-LCD液晶屏控制器,顯示輸出接口可以支持24位并行RGB和I80接口,最大輸出分辨率為1 024×1 024。Windows CE6.0嵌入式系統(tǒng)應(yīng)用軟件對(duì)視頻文件解碼播放,顯示模式采用24位并行RGB輸出接口。一般圖像數(shù)據(jù)采集使用圖像傳感器,COMS圖像傳感器是其中常用的一種。以O(shè)V3640為例視頻輸出信號(hào)包括:CMOS_PCLK(像素時(shí)鐘)、CMOS_HREF(行同步信號(hào))、CMOS_VSYNC(場(chǎng)同步信號(hào))、CMOS_CLK(工作時(shí)鐘)、CMOS_D0~D7(8位視頻數(shù)據(jù))。ARM和CMOS圖像傳感器兩者的視頻信號(hào)對(duì)比如表1。
ARM液晶屏控制器和CMOS圖像傳感器都是在像素脈沖的控制下輸出圖像數(shù)據(jù),行、場(chǎng)同步信號(hào)控制消隱等時(shí)序,數(shù)據(jù)有效信號(hào)設(shè)定圖像數(shù)據(jù)輸出范圍。CMOS傳感器圖像輸出格式可以通過(guò)配置寄存器設(shè)定,不同格式按照8位數(shù)據(jù)寬度輸出到控制器,由控制器進(jìn)行格式的轉(zhuǎn)換。根據(jù)數(shù)據(jù)信號(hào)的相似性,可以使用FPGA采集ARM系統(tǒng)視頻輸出接口數(shù)據(jù),并進(jìn)行緩存和相應(yīng)的信號(hào)轉(zhuǎn)換。
表1 ARM和CMOS圖像傳感器視頻信號(hào)對(duì)比
目前基于視差的立體視頻中,常見(jiàn)的是將一幀圖像分為兩個(gè)對(duì)等的區(qū)域,立體對(duì)圖像中的奇列像素區(qū)和偶列像素區(qū)分配到這兩個(gè)對(duì)等區(qū)域中,奇、偶列像素區(qū)含有雙目視差信息是立體顯示的關(guān)鍵。由于模擬人眼視差的立體拍攝系統(tǒng)多采用左右配置的雙視覺(jué)傳感器結(jié)構(gòu),其視頻圖像存儲(chǔ)方式多采用左右格式。左右格式的圖像如圖2所示。
圖2 左右格式立體圖像Fig.2 Left and right format stereo image
左右格式的立體圖像是每行像素的前半行對(duì)應(yīng)左眼視圖(奇列像素區(qū)),后半行是對(duì)應(yīng)的右眼視圖(偶列像素區(qū)),每一幅圖像包含一個(gè)左右眼視圖的立體對(duì)。以一幅2n×m分辨率的圖像為例,每行2n個(gè)像素,共m行,這些像素與液晶屏的物理像素相對(duì)應(yīng)。圖2中第1~n列n×m個(gè)像素是對(duì)應(yīng)左眼視圖,第n+1~2n列n×m個(gè)像素對(duì)應(yīng)右眼視圖,整幅圖像包含了水平方向視差。
根據(jù)線(xiàn)光源背照明裸眼3D液晶屏的結(jié)構(gòu),要得到立體圖像顯示效果不僅需要液晶屏工作在3D模式,而且需要將具有視差的左右格式立體圖像的左眼視圖和右眼視圖分離和融合[11]。按照左眼視圖的n列像素對(duì)應(yīng)顯示在裸眼3D液晶屏的奇列物理像素上,右眼視圖的n列像素顯示在裸眼3D液晶屏的偶列物理像素上,用圖3來(lái)表示左右格式立體圖像經(jīng)過(guò)左、右眼視圖分離和融合形成匹配裸眼3D液晶屏上的奇偶列交錯(cuò)的立體對(duì)圖像。
經(jīng)過(guò)照明板的線(xiàn)光源對(duì)奇偶列像素照明,分離后的視差圖像分別到達(dá)觀看者對(duì)應(yīng)的眼睛,具有視差的圖像通過(guò)視網(wǎng)膜傳到大腦,大腦的視覺(jué)神經(jīng)中樞利用視差產(chǎn)生遠(yuǎn)近的深度信息,從而獲得立體感。
圖3 圖像融合Fig.3 Fusion of image
左右格式立體圖像的特點(diǎn)是奇、偶列像素分布在每行數(shù)據(jù)前、后半行,分離和融合處理過(guò)程可以以行像素為單位進(jìn)行。TFT-LCD顯示屏采用水平逐行掃描方式時(shí),也是以一行像素為單位向顯示屏傳輸數(shù)據(jù)。因此系統(tǒng)立體圖像融合邏輯設(shè)計(jì)成兩級(jí)緩沖結(jié)構(gòu),對(duì)每行像素?cái)?shù)據(jù)進(jìn)行處理。邏輯設(shè)計(jì)中數(shù)據(jù)流向如圖4所示。
圖4 數(shù)據(jù)流向圖Fig.4 Data flow diagram
數(shù)據(jù)緩存FIFO在數(shù)據(jù)采集模塊中作為數(shù)據(jù)的第一級(jí)緩存,F(xiàn)IFO的左端由ARM系統(tǒng)控制,當(dāng)VM(數(shù)據(jù)有效)信號(hào)為高電平時(shí)將數(shù)據(jù)總線(xiàn)上的24 bits像素?cái)?shù)據(jù)寫(xiě)入到FIFO中。為了立體視頻數(shù)據(jù)能準(zhǔn)確地分離和融合,使用FPGA內(nèi)部嵌入式存儲(chǔ)器塊構(gòu)成的兩個(gè)大小相同的Dual-PORT RAM作為雙緩沖池,分別為ram1和ram2。系統(tǒng)設(shè)計(jì)了通用的液晶屏控制器產(chǎn)生液晶屏的時(shí)序[12],F(xiàn)IFO的右端在系統(tǒng)像素時(shí)鐘p_clk的控制下,當(dāng)液晶屏控制器rdf_req(FIFO讀請(qǐng)求信號(hào))有效時(shí)從FIFO中讀出數(shù)據(jù)寫(xiě)入雙緩沖池中。對(duì)于分辨率2n×m的左右格式立體圖像,每行有2n個(gè)像素,每個(gè)像素24位,共m行,系統(tǒng)中采用了800×480的分辨率。
當(dāng)選擇3D模式時(shí)通過(guò)ram1和ram2的讀寫(xiě)地址變換完成左右格式立體圖像的列插值,當(dāng)液晶屏控制器rdf_req為高電平時(shí),視頻數(shù)據(jù)從FIFO中讀出寫(xiě)入到ram1中。按照前n個(gè)像素存入地址wrram1_addr=2i(i=0,1,…n-1),后n個(gè)像素存入ram1地址wrram1_addr=2i+1(i=0,1…n-1),讀出時(shí)按照順序地址讀取,ram1讀取地址rdram1_addr=i(i=0,1,…2n-1),ram2操作和ram1相同。兩個(gè)Dual-PORT RAM第一行和第二行數(shù)據(jù)存入和讀出方式如圖5所示,其中L1n,L2n代表立體圖像的第一行和第二行的像素點(diǎn)。
圖5 Dual-PORT RAM存取方式圖Fig.5 Access mode of Dual-PORT RAM
第一個(gè)行顯示周期,輸入的圖像數(shù)據(jù)寫(xiě)入到ram1中,當(dāng)ram1寫(xiě)入完成后,第二個(gè)行顯示周期,通過(guò)計(jì)數(shù)器和顯示有效信號(hào)來(lái)控制ram1與ram2的切換,輸入圖像數(shù)據(jù)通過(guò)選擇單元切換存入到ram2中,同時(shí)兩個(gè)Dual-PORT RAM的讀使能通過(guò)輸出選擇單元選擇讀取ram1中已經(jīng)處理好的圖像數(shù)據(jù)。第三個(gè)行顯示周期,通過(guò)切換選擇信號(hào),將數(shù)據(jù)存入到ram1中,讀出ram2中處理好的圖像數(shù)據(jù),通過(guò)對(duì)雙緩沖池輪序的操作從內(nèi)部看數(shù)據(jù)是分行處理,外部立體顯示屏獲得連續(xù)的圖像數(shù)據(jù)。wr_ram1_en、wr_ram2_en、rd_ram1_en、rd_ram2_en是計(jì)數(shù)器和顯示有效信號(hào)來(lái)控制的RAM讀寫(xiě)有效信號(hào)。
為兼容裸眼立體顯示屏的2D顯示模式,在邏輯設(shè)計(jì)時(shí),使用一個(gè)撥動(dòng)開(kāi)關(guān)來(lái)控制Dual-PORT RAM的地址變換實(shí)現(xiàn)2D與3D模式的切換,當(dāng)選擇在2D模式時(shí),兩個(gè)Dual-PORT RAM的寫(xiě)入地址都為wrram_addr=i(i=0,1,…2n-1),對(duì)輸入圖像的每行數(shù)據(jù)按順序地址寫(xiě)入,然后按順序地址讀出送到裸眼立體顯示屏,顯示2D圖像。
使用ModelSim對(duì)系統(tǒng)進(jìn)行了功能仿真驗(yàn)證,圖6中采用順序數(shù)列0~799作為24位寬的像素?cái)?shù)據(jù)rgb_datainn在de_inn信號(hào)的控制下寫(xiě)入第一級(jí)緩存FIFO中。液晶屏控制器按照液晶屏?xí)r序產(chǎn)生讀FIFO請(qǐng)求信號(hào)rdf_req讀出數(shù)據(jù)輪流寫(xiě)入到雙緩沖池中,key=0時(shí)按照3D模式列插值方式寫(xiě)入Dual-PORT RAM,key=1時(shí)數(shù)據(jù)順序?qū)懭?,兼容裸?D液晶屏的2D模式。de_out是液晶屏控制器的數(shù)據(jù)有效信號(hào),8位寬的r,g,b是經(jīng)過(guò)系統(tǒng)轉(zhuǎn)換后輸出到液晶屏的視頻數(shù)據(jù)。圖6中是選擇在3D模式的仿真波形。
圖6 系統(tǒng)功能仿真Fig.6 Function simulation of system
仿真驗(yàn)證了系統(tǒng)功能的正確性后進(jìn)行時(shí)序約束和管腳分配。硬件平臺(tái)加載配置文件,進(jìn)行板級(jí)調(diào)試。圖7是撥動(dòng)開(kāi)關(guān)斷開(kāi)時(shí)使用普通2D屏全屏播放左右格式視頻,圖8中將開(kāi)關(guān)閉合使得雙緩沖池工作在3D模式,對(duì)左右格式立體視頻進(jìn)行列插值后融合成奇、偶列交錯(cuò)的立體對(duì)圖像。
圖7 左右格式立體視頻Fig.7 Left and right format stereo video
圖8 列插值融合后的圖像Fig.8 Image of fusion by columns interpolation
提出的ARM+FPGA硬件結(jié)構(gòu)適合立體視頻信號(hào)的處理,充分發(fā)揮了ARM的視頻解碼和FPGA高速數(shù)據(jù)處理能力。FPGA邏輯設(shè)計(jì)只使用內(nèi)部資源完成視頻數(shù)據(jù)采集、緩存和左右格式立體圖像數(shù)據(jù)的列插值,簡(jiǎn)化了系統(tǒng)設(shè)計(jì)的復(fù)雜度,提高了系統(tǒng)的可靠性,降低了成本,使用純硬件方式實(shí)現(xiàn)立體圖像數(shù)據(jù)分離和融合在應(yīng)對(duì)高清晰度的高速視頻數(shù)據(jù)流發(fā)展趨勢(shì)上有其獨(dú)特的優(yōu)勢(shì),為嵌入式裸眼3D設(shè)備的設(shè)計(jì)和應(yīng)用提供參考。
[1] 雷豐中,劉鵬.基于S3C6410的多媒體系統(tǒng)設(shè)計(jì)[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].儀器儀表學(xué)報(bào),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的智能圖像門(mén)控系統(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” 計(jì)算機(jī)圖像處理技術(shù)的研究[J]. 南昌大學(xué)學(xué)報(bào):工科版,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è)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程科學(xué),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] 吳繼華,蔡海寧,王誠(chéng). Altera FPGA/CPLD設(shè)計(jì)(高級(jí)篇)[M].北京:人民郵電出版社,2011.
Wu J H,Cai H N,Wang C.AlteraFPGA/CPLDDesign(AdvancedPiece)[M]. Beijing:Posts&Telecom Press,2011. (in Chinese)
[11] 梁發(fā)云,鄧善熙,楊永躍. 裸眼立體顯示液晶屏的光學(xué)結(jié)構(gòu)及設(shè)計(jì)[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è)計(jì)和實(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)