文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.012
中文引用格式: 劉 敏,梁發云,王興鵬,等. 裸眼3D液晶屏FPGA時序控制技術研究[J].電子技術應用,2015,41(7):44-46,49.
英文引用格式: Liu Min,Liang Fayun,Wang Xingpeng,et al. Research on FPGA timing control of naked-eye 3D LCD[J].Application of Electronic Technique,2015,41(7):44-46,49.
0 引言
裸眼3D技術利用LCD面板顯示左右眼圖像來實現3D效果,其制作工藝與現有LCD液晶工藝兼容,具有較明顯的成本優勢。裸眼3D設備實現立體效果需要特定的視頻格式的支持,目前裸眼3D視頻的實現主要將具有視差的立體圖像的左右眼視圖先分離后融合,裸眼3D視頻的字幕大多是2D字幕,本文在某款8英寸光屏障式裸眼3D屏的工作原理下提出裸眼3D字幕顯示算法。
FPGA可編程的靈活性、時序控制能力強和高速并行的處理能力使之在數據處理領域應用廣泛。本文利用FPGA搭建硬件平臺,通過Verilog的編寫,實現裸眼3D液晶屏時序的FPGA控制,最終在裸眼3D液晶屏上驗證顯示,實驗效果良好,可為裸眼3D視頻的3D字幕匹配以及裸眼3D廣告等提供支持。
1 裸眼3D圖像顯示算法
裸眼3D顯示器利用人雙眼具有視差的特性,在不佩戴眼鏡等輔助設備的情況下,使左眼和右眼獲得各自應該獲得的圖像,從而獲取具有立體效果的新型顯示器。本文采用的裸眼3D屏采用光屏障式技術。該3D屏幕基于TFT-LCD的線光源照明原理,在屏幕形成奇偶列交錯的兩個顯示單元,將屏幕上的視差圖像分別送到左右眼中,再通過大腦立體融合,形成立體視覺效果。
在立體顯示器上,按屏幕列像素進行屏幕的分區,所使用的8寸3D屏顯示分辨率為800×600。分區時左眼視圖顯示區對應屏幕的奇數列像素,相對應的右眼視圖顯示區則為屏幕的偶數列像素。因此整個屏幕就分為左眼視圖區像素矩陣400(列)×600(行)和右眼視圖區像素矩陣400(列)×600(行)。整個屏幕像素可以用矩陣P2D來表示,i、j分別表示3D屏的行坐標和列坐標,f(i、j)表示每個像素點的顏色值,用P3DL、P3DR表示左眼視區像素矩陣和右眼視區像素矩陣:
因此屏幕上的像素矩陣為左右視區圖像像素矩陣的組合:P2D=P3DL+P3DR。裸眼3D字幕進行顯示時需滿足兩個條件:
(1)數據寫入屏幕時需偏移一定的像素以造成視差;
(2)數據按照P3DL矩陣形式完整寫入裸眼3D屏。
2 裸眼3D屏時序分析
LCD采用SYNC模式進行驅動。為確保數據正確地輸入,在寫數據到屏幕時需遵從其特有的時序約束條件。所使用的裸眼3D屏兼容2D模式,通過switch信號進行切換。設計中,OUTDE信號是HS、VS信號的綜合,OUTDE信號作為使能控制數據的有效輸入。裸眼3D液晶屏正常工作需要兩個時鐘輸入:40 MHz和60 Hz。40 MHz作為DCLK,產生計數器cnt_h、cnt_v和OUTDE信號;60 Hz由60 MHz進行一萬分頻產生,用于3D顯示。VESA標準中LCD顯示需要各自的同步脈沖、顯示前沿、顯示時序段和顯示后沿,各段像素分布如表1所示。3D屏的DE模式時序如圖1所示。
3 硬件搭建
3.1 總體框架
利用Verilog或VHDL的硬件描述語言完成電路設計,經過綜合之后燒錄至FPGA進行驗證測試,是如今IC設計驗證的主要方式。FPGA具有功耗低、設計周期短、開發成本低和豐富的觸發器及I/O等特點,系統采用基于FPGA的實現方式。
FPGA選用Altera Cyclone II系列的EP2C8Q208C8,EP2C芯片具有8256個邏輯資源,36個M4K RAM塊,2個PLL鎖相環,18個嵌入式乘法器,總RAM比特數達165 888。FPGA的接口信號有:RGB像素數據線、OUTDE(顯示數據有效信號)、DISP(3D液晶屏顯示開關,本系統直接加10 kΩ電阻拉高)、OUTCLK(像素時鐘)、CLK60(3D顯示時鐘)。FPGA將字幕數據處理之后輸入3D液晶屏的接口,系統總體框圖如圖2所示。
3.2 LED驅動電路設計
3D液晶屏的正常工作,除滿足時鐘輸入條件外,還需要供電電壓23.4 V,供電電流300 mA,功率為23.4×0.3=7.02 W,為保持LED亮度均勻,緩解串并聯方式的不均流問題,LED背光驅動電路選用恒流驅動方式。電路選用XL6004芯片,XL6004是具有400 kHz固定頻率的升壓恒流驅動器,輸入電壓3.6 V~32 V,可驅動16顆串聯1 W功率的LED,且輸出電流可通過芯片FB引腳連接的電阻設定。
4 FPGA邏輯設計
為完成數據按照寫入屏幕時需偏移一定的像素以造成視差和按照P3DL、P3DR矩陣形式完整寫入裸眼3D屏的條件,FPGA的邏輯設計應該包括系統控制模塊、LCD驅動模塊、單口ROM的建立。EP2C8Q208C8的外部輸入時鐘為50 MHz,LCD驅動模塊的OUTCLK為40 MHz,用于3D的60 Hz則是通過60 MHz進行一萬分頻產生,因此在系統控制模塊中通過PLL鎖相環使得該模塊具有時鐘管理功能,產生40 MHz和60 MHz 2個時鐘信號,同時利用D觸發器和與非門組成邊沿檢測確保復位信號的穩定。單口ROM用于存儲字幕數據,LCD模塊通過對時序的控制實現將字幕數據正確寫入3D液晶屏。FPGA邏輯設計結構圖如圖3所示。
數據通過軟件以逐列式的方式生成,假設輸入字幕為W,長寬像素為128×128,生成的十六進制文件轉換為mif文件時選擇128 bit data,便于在LCD控制讀取數據時只需關注列像素的變化。利用EP2C內部M4K資源建立單口只讀ROM,建立時將mif文件導入。LCD模塊控制從ROM中按照奇數列插值的同時按照偶數列插值并作像素偏移的順序讀出字幕數據。根據有效位的判斷,相應的賦予RGB值。從ROM中讀取數據部分Verilog編寫如下:
wire valid=((cnt_h>10′d360)&&(cnt_h<=10′d616))&&(cnt_v>=10′d255)&&(cnt_v<=10′d383);
wire [8:0] rom_addr=cnt_h[9:0]-9′d360;
…
if (valid==1′b1)
if(rom_data[7′d127-cnt_v[6:0]]==1′b1)begin
red<=8′b1111_1111;green<=8′b0000_0000;
blue<=8′b0000_0000;end
讀取數據時rom_addr與rom_data必須在同一邏輯原點,由于有效顯示是從cnt_h=360開始,所以rom_addr(mif文件的原點地址應該是rom_addr=cnt_h[9:0]-9′d360;相對應的由于縱坐標cnt_v從255開始,255的二進制為1111_1111,同時需要保證rom_data的第一個數據的序號也為0,取cnt_v的后七位即cnt_v[6:0],參考縱坐標有效開始,7位都取1,轉換為十進制即為7′d127。
5 仿真分析與實驗
Quartus軟件提供了嵌入式邏輯分析儀以便進行在線調試,將sof配置文件導入硬件平臺可以捕獲FPGA邏輯設計實現裸眼3D字幕顯示的信號和數據。圖4為使用該邏輯分析儀的部分信號波形圖截圖。
從圖中可看出,DE信號由DE_h和DE_v決定,當兩者都為1時,DE信號有效,數據有效顯示。每次從ROM中讀出128 bit數據,為簡化時序控制和完成奇數列和偶數列的插值,每完成一次ROM中字幕數據的讀取,就插入128 bit的128′d0。
系統使用8寸裸眼3D液晶屏進行實驗,完成字幕數據的完整讀取和正確插值,系統工作正常,復位穩定。只進行單獨奇數列和偶數列插值的比較圖如圖5所示。所拍角度下左邊為只進行奇數列插值字幕A,右邊為只進行偶數列插值,在不同角度觀看下,左右兩個字幕A亮度會有差別且觀察下具有一定的深度感。
裸眼3D的效果需要人們大腦的立體融合,使用相機不能展現所實現的效果,圖6(a)為完成完整插值后2D模式下效果圖,圖6(b)為透過相機觀看3D模式下效果,可看出字幕的視差效果。
6 小結
裸眼3D技術具有廣闊的發展和市場前景,本文利用FPGA實現了裸眼3D液晶屏時序的控制,并基于裸眼3D技術提出裸眼3D顯示算法原理,通過FPGA完成字幕數據的正確讀取與插值,實現較好的3D顯示效果,為裸眼3D液晶屏的顯示和時序控制提供支持,同時也可用于裸眼3D廣告機等。系統工作穩定可靠,具有較好的通用性。
參考文獻
[1] 梁發云,何輝,施建盛,等.裸眼3D視頻信號轉換技術研究[J].液晶與顯示,2014,29(4):569-574.
[2] 歐陽俊林.裸眼3D顯示技術研究[J].計算機光盤軟件與應用,2012(19):86-87.
[3] 劉濤.LED恒流驅動開關電源的控制[D].成都:電子科技大學,2009.
[4] 張永斌,胡金高.基于DSP的LCD顯示控制與設計[J].液晶與顯示,2011,26(5):626-630.
[5] 梁發云,鄧善熙,楊永躍.立體圖像視頻格式及其轉換技術研究[J].儀器儀表學報,2005,26(12):1233-1238.