基于S3C44B0X的双目立体数码照相机
扫描二维码
随时随地手机看文章
摘 要:综合三值光计算机编码器和解码器的工作原理,提出了在双层液晶显示器上实现立体显示的新构思。在此基础上,设计了基于S3C44B0X的双目立体数码照相机方案,详细介绍了这个方案的硬件接口和软件结构,其原理样机获上海市嵌入式系统创新设计应用竞赛优秀奖。
关键词:立体数码照相机;S3C44B0X微处理器;双层液晶显示器
1 引言
随着光学、微电子学以及计算机技术的发展,根据人眼“双目视差立体成像”原理,形成了多种三维立体成像与立体显示技术,目前人们开始利用这些技术研制立体电视机、立体照相机和立体摄像机等装置。 [2]
近期我们尝试了一种新构思的立体摄像和立体显示系统,其基本原理为:摄像时用双镜头同时摄像来模仿人眼双目视差立体成像过程,然后分别存储获得的两幅图像数据。显示时把两幅图像数据分时送给一个双层液晶构成的显示器,该显示器分别用垂直偏振光和水平偏振光分时显示所摄得的左眼像和右眼像,人眼通过特制的偏振眼镜观看这对具有一定视差的左右眼像,经大脑视神经的处理和融合,感受到物体的立体视觉效果。
系统中的双层液晶显示器是我们的主要创新点,它利用了液晶的旋光性和偏振器对正交线偏振光的选择吸收性。本文总结这一工作如下。
2 硬件设计
双目立体数码照相机由两个摄像头(由图像传感器OV7620和镜头组成)、一个ARM微处理器(型号为S3C44B0X)、SDRAM、液晶显示屏(型号为G35II)、液晶旋光器以及偏振眼镜组成,其结构如图1所示。图中带箭头粗线表示电信号(控制和数据信号),带箭头细线表示光信号。
S3C44B0X微处理器内置有存储控制器和LCD控制器,具有71个通用I/O端口、8个外部中断源和串行I2C总线接口,在系统中用作控制核心。两个摄像头用于立体图像对(左眼像和右眼像)采集。液晶显示屏和液晶旋光器构成的双层液晶显示器用于图像对的立体显示。SDRAM作为图像数据的存储体,图像采集时存储两个图像传感器输出的图像数据,显示时从中分时取出图像数据提供给双层液晶显示器。偏振眼镜的左镜片为垂直偏振片,右镜片为水平偏振片。
2.1双层液晶显示器的制作和立体显示原理
双层液晶显示器由一片G35II型液晶显示屏和其上覆盖的一片液晶旋光器构成,G35II的出射光为水平线偏振光。旋光器是将深圳耀宇公司的M12864COG型图形点阵液晶模块剥去两个偏振片和背光板后自制而成,它用于对从液晶显示屏射出的图像光进行偏振调制。当G35II显示左眼像时,对旋光器的每个像素不加电压,它将入射的线偏振光的偏振方向旋转90度,成为垂直偏振光;当G35II显示右眼像时,对旋光器的每个像素加电压,它不改变入射光的偏振方向,这样左眼像和右眼像分别以相互垂直的两种偏振光从双层液晶显示器中分时射出,人的左右眼通过偏振眼镜分别观察到左眼像和右眼像。
2.2 微处理器与双层液晶显示器的接口
双层液晶显示器由G35II型液晶显示屏和一片液晶旋光器构成,所以微处理器与它的接口也有两部分,如图2所示。
2.2.1 微处理器与液晶显示屏的接口
G35II型液晶显示屏是STN型液晶图形显示模块,16级灰度,带EL背光,其外部接口信号定义如下:
VFRAME:帧同步信号;VLINE:水平同步信号;VCLK:像素时钟信号;VM:驱动器交流信号;VD[0..7]:数据信号;DISP:显示控制信号。
微处理器与液晶显示屏的接口,如图2所示:用S3C44B0X的PC、PD和PG口作为G35II的驱动接口,初始化时设置PC口的GPC4~GPC7为VD[4..7]功能、PD口的GPD0~GPD7为VD[0..3]功能和GPG4为输出功能。
2.2.2 微处理器与旋光器的接口
旋光器本质上是一片M12864COG型液晶模块,它内置有LCD控制器NT7502芯片和显示数据存储器(DDRAM),其外部接口信号定义如下:
D[0..7]:数据总线;RES1B:复位信号,低电平有效;E:读写使能信号,电平为高时有效;A0:数据/指令控制信号,高电平为数据,低电平为指令;R/W :读写控制信号,低电平为写操作,高电平为读操作;VCC/GND:电源,3V。
微处理器与旋光器的接口,如图2所示:用S3C44B0X的PE和PG口作为旋光器的驱动接口,初始化时,设置PE口的GPE0~GPE7和PG口的GPG0~GPG3为输出功能。
2.3 微处理器与摄像头的接口
摄像头由图像传感器OV7620和镜头组成,OV7620集成有图像感光阵列、帧(行)控制电路、视频时序产生电路、模拟信号处理电路、A/D转换电路、数字信号处理电路、数字视频输出电路及SCCB编程接口。[4]
其外部接口信号定义如下:
VSYNC:帧同步;HREF:水平同步;PCLK:像素时钟;Y[7..0]:8位图像数据;RESET:复位;SIO_1:SCCB总线时钟;SIO_0:SCCB总线数据;SBB:SCCB总线接口使能;SLAEN:模式使能;CS0~CS2:SCCB总线Slave ID配置。MID:多SCCB slave IDs使能。
微处理器图与像传感器的接口,如图2所示:
用S3C44B0X的PF和PC口作为左图像传感器的驱动接口,初始化时,设置PF口的GPF2~GPF4为输入功能,GPF0和GPF5~GPF8为输出功能以及PC口的GPC8~GPC15为输入功能,GPF1在写操作时为输出功能,读操作时为输入功能。
用S3C44B0X的PE、PF、PG和PC口作为右图像传感器的驱动接口,由于Y[7..0]和旋光器的D[0..7]复用GPE0~GPE7,因此该图像传感器工作时,要设置GPE0~GPE7和GPG4~GPG6为输入功能,GPC0~GPC3为输出功能。CS0~CS2和Y[7]、Y[6]、Y[4]复用,对应的S3C44B0X GPIO口设为输出功能。。
3 系统工作过程
3.1 立体图像对的采集
初始化时,微处理器通过SCCB总线配置功能寄存器,将两个图像传感器的工作方式和初始工作状态设置为:单通道8位Y输出、逐行扫描、输出窗口为320×240的标准VGA格式以及自动曝光、自动增益和自动白平衡等。
图像传感器工作状态稳定后,连续输出视频数字数据和3个同步信号:帧同步信号VSYNC、水平同步信号HREF和像素时钟信号PCLK。微处理器分时接收两个图像传感器发送来的数字视频信号和同步信号,产生相应的数据、地址和控制总线信号,并将图像数据写入相应的图像缓冲区。
当图像传感器采用单通道8位Y输出、逐行扫描工作方式时,每秒可采集30帧图像,即采集一幅图像用时大约为30分之一秒,两个图像传感器采集图像对总用时大约15分之一秒多,因此拍照时要求被摄像物保持基本静止大约十分之一秒。为提高系统的整体处理速度,在SDRAM中为图像传感器每个开辟两块图像缓冲区(称为左眼像缓冲区和右眼像缓冲区),一块用于存储采集来的图像数据,另一块用来向液晶显示屏提供图像数据,两块轮换使用。
3.2 立体图像对的显示
G35II液晶显示屏初始化时,首先通过配置LCD控制器的寄存器设置LCD的分辨率、显示模式和颜色数目等,然后在内存中分配一块连续区域作为帧缓冲区,并将其地址写入LCD控制器的缓冲区地址寄存器,同时配置颜色查表寄存器和抖动模式寄存器。
液晶旋光器初始化时,首先置RES1B为低电平,当电压稳定后,再将RES1B为高电平,然后用控制命令设置行列的输出方向、偏压比率、内部电阻率和全屏显示等。
在本设计中,将液晶旋光器的显存DDRAM全部置为0,开显示时,LCD全屏像素打开旋光功能,而关显示时,LCD全屏像素关闭旋光功能,因此用显示命令作为旋光器的旋光开关。
显示立体图像对时,分时交替地将SDRAM中左眼像缓冲区和右眼像缓冲区中保存的图像数据送入帧缓冲区,微处理器内置的LCD 控制器用DMA方式将帧缓冲区中图像数据送G35II液晶显示屏显示。
显示左眼像时,打开液晶旋光器的旋光功能;而显示右眼像时,关闭液晶旋光器的旋光功能。
4 软件设计
系统采用基于裸机的软件开发方式,程序用C语言和汇编语言混合编写。因此软件包括两个部分:引导程序(Bootloader)和应用程序。
引导程序完成系统硬件的初始化,如嵌入式微处理器、SDRAM、中断、堆栈、PLL时钟以及C语言所需的存储器空间配置等。
应用程序有三个模块:外部设备初始化模块,完成对摄像头和双层液晶显示器的设置;图像采集模块,完成摄像功能,即同时采集左眼像和右眼像并存于存储器SDRAM的不同区域;立体显示模块,完成把存储器中的图像对分时送到液晶显示屏,并同步旋光器。其中图像采集模块的流程图见图3。
5 结论
综合三值光计算机编码器和解码器的工作原理,用嵌入式微处理器S3C44B0X、双层液晶显示器和CMOS图像传感器OV720构造的双目立体数码照相机原理可靠、技术可行、成品实用,原理样机参加了2006年上海市嵌入式系统创新设计应用竞赛,获优秀奖。
本文作者创新点:根据液晶的旋光性和偏振器对正交线偏振光的选择吸收性,构造一个双层液晶显示器实现立体显示。
参考文献:
[1]严军勇,金翊等. 三值光计算机多位编码器与解码器的可行性实验研究[J].计算机工程,2004(14):175~177
[2]隋婧,金伟其.双目立体视觉技术的实现及其进展[J]. 电子技术应用,2004(10):4~6
[3]S3C44B0X Data Sheet. SAMSUNG Electronics Corp, www.samsung.com
[4]OV7620 Data Sheet. OmniVision Technologies Inc, www.ovt.com.cn
[5]胥静.嵌入式系统设计与开发实例详解[M].北京航空航天大学出版社,2005.1
[6]贺安坤,陈明等.基于S3C44B0X微处理器税控收款机系统的设计[J].微计算机信息,2006,22-1:128-130