文献标识码: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.