目前的电子白板定位系统分为前视定位和后视定位两种,对于前视定位方法,这方面的技术已经比较成熟,市场上Smart Board公司、SONY公司都均推出了拥有自己专利的产品。本章重点分析后视定位技术的工作原理及其结构组成,并且作为后视定位技术的重要组成部分,重点分析CCD输出的全电视信号的特征以及光电笔的构造原理。
7.1.1 系统工作原理
该电子白板系统的核心是用户的操作笔点轨迹能够在大屏幕上实时地显示出来,并且同时能够实现鼠标或键盘按键的功能。为实现这种功能,需要拍摄带有光笔轨迹的图像,在图像中检测出光笔斑点的坐标,最后显示在屏幕上。
其基本原理是:在大屏幕后面放置图像获取设备CCD传感器;大屏幕平面显示界面的显示内容由计算机主机通过VGA视频线控制投影仪直投或背投所得,与计算机显示器显示界面同步显示。作为“粉笔”使用的特制光笔由操作者手持在大屏幕平面显示界面上描迹书写。由于光笔头部带有微压力传感器,当光笔处于笔触书写状态时,光笔头部的光源启亮;当光笔处于抬笔状态时,光源关闭。书写轨迹完全与光源启亮时的运动轨迹相同。置于屏幕后面的CCD拍摄到图像后,将实时图像信号交给图像处理系统处理,可以得到光笔书写轨迹的离散序列点(X,Y㊣)坐标值。将序列点坐标值合成编码后通过串行口输入计算机,在实时描迹跟踪应用软件的驱动下,可实现对显示界面的实时描迹跟踪显示。基于CCD后视定位的交互式电子白板的整体组成示意图如图7-1所示。
图7-1 交互式电子白板的总体框图
图7-1中包括了系统的所有设备单元。其中1为大屏幕显示界面,可以为投影屏、墙面、背投式显示屏或等离子体显示屏等等,其界面显示的内容由计算机主机4通过视频线6控制投影光学引擎3直接前投或背投投射到屏幕所得,其内容与计算机显示屏5显示内容同步。指点笔2由操作者手持在大屏幕显示界面上指点、描迹、书写和控制计算机等。指点笔头部有一特殊点光源,保证它发出的光与投影光束及外界自然光保持着一定的信噪比;另外,指点笔中还包含模拟鼠标按键信息发生器、模拟键盘按键信息发生器及信息无线发送装置。该笔点所发出的光点在显示屏上的图像被CCD光学传感器8探测并记录下来,图像信息经过图像处理信息板9处理,将得到的光点运动轨迹的离散序列点坐标值合成编码后通过串行通信线7传给计算机,在专门的应用软件的驱动下对计算机进行操作,实现人机交互操作。整个系统工作原理如图7-2所示。
图7-2 系统工作原理框图(胡佳,2007年)
7.1.2 数字光笔
光笔是用户直接操作的输入器件,其基本功能包括两个方面:其一为产生可供CCD摄像器件获取的光点,其二为发送触发鼠标事件的按键信息。在设计光笔(如图7-3所示)时,除了完成光笔的基本功能外,还应考虑用户对光笔的适应,即用户使用数字笔的习惯。从我们自小使用笔的经验来说,都需要笔尖触碰到纸的表面才开始写字或者画画。因此数字光笔笔尖处含有装置,使得系统可以判断笔尖是否接触到了屏幕表面。如果光笔被判断接触到屏幕,则有光信号发出(射频,Radio Frequency,RF);如果光笔未接触到屏幕,则无光信号发出。此外,由于用户可能在各种演示场合均用到该系统,光笔与处理系统的距离可能比较远,所以按键信息必须采用无线通道进行传输。
图7-3 发射笔结构示意图
光笔的逻辑组成如图7-4所示,其硬件电路包括三个部分:一是位于笔尖的光源驱动小电路板,二是承载触力传感器的电路板,三是带有按键开关和处理机的主电路板。其间关系为:光源电路板通过弹力杆作用于触力传感器电路(小功率,无放大、无补偿的惠斯顿电桥电路设计可在力范围内提供内在稳定的mV输出),触力传感器电路通过中断0口向处理机提出申请,由处理机控制光源的点亮和关闭。此外,三个按键开关通过中断1向处理机发出申请,处理机通过判断口线的0/1状态来确定按键状态,再通过无线信号传输模组(RF传输模组)将按键信息传送至下位处理机。
图7-4 光笔逻辑组成框图
在大屏幕背投(或前投)光学系统中放置带红外滤波光学镜头的CCD摄像器件采集光笔在大屏幕上工作时信号源的运动轨迹,通过对CCD器件输出信号的处理,解析出信号源产生光点的二维坐标位置,再通过USB2.0口输送至计算机,经计算机处理后实现电子白板的各种功能。
整个人机交互系统的工作原理图如图7-5所示,大屏幕背投显示界面的显示内容由计算机主机通过VGA视频线输入所得,与计算机显示器显示界面同步显示。
图7-5 人机交互系统原理图
光笔由操作者手持在大屏幕平面显示界面上描迹书写。光笔头红外激光器发光时的光点运动轨迹由其后的广角光学系统聚焦至一个面阵列CCD摄像器件上,硬件电路系统对CCD输出信号中的特殊光点信号进行筛选采集和处理,可以得到光笔书写轨迹的离散序列点(X,Y)㊣坐标值。将序列点坐标值合成编码后通过USB2.0传输到计算机,在实时描迹跟踪应用软件的驱动下,可实现对显示界面的实时描迹跟踪显示。
为使系统对光点的探测相对于高亮度的可见光显示界面有足够的信噪比,一个比较好的处理方法是选取近红外LED作为发光光源,同时在光学系统中加入特制的透红外玻璃来消除可见光显示屏幕对光点信号的影响。
7.1.3 CCD摄像器件及图像信号
CCD是利用少数载流子的注入、存储和转移等物理过程来完成几种电路功能,将图像信号变为电信号的器件。CCD是一种MOS(金属-氧化物-半导体)结构的器件,其基本结构是一种密排的MOS电容器,能够存储由入射光在CCD像敏单元激发出的光信息电荷,并能在适当相序的时钟脉冲驱动下,把存储的电荷以电荷包的形式定向传输转移,实现自扫描,完成从光信号到电信号的转换,且这种电信号通常是符合电视标准的视频信号,可在电视屏幕上复原成物体的可见光像,也可将信号转换为数字信号,输入计算机进行图像增强、识别、存储等处理。因此,CCD器件是理想的摄像器件。CCD的像元尺寸小、几何精度高,配置适当的光学系统可以获得很高的空间分辨率,且CCD器件一般具有体积小、重量轻、功耗低、可靠性好以及光谱响应宽等特点,因此在各种图像传感和无接触在线测量等方面有着广泛的应用。
CCD摄像器件主要分为两大类型:线阵CCD摄像器件和面阵CCD摄像器件。此两类器件都需要光学成像系统将图像成像在其光敏面上。采用线阵或面阵CCD摄像器件来探测指点笔的特殊光点在大屏幕显示界面上的二维位置信息,两种方案各有优缺点。使用线阵CCD摄像器件,视频处理相对比较简单,但是需要根据实际的应用场合设计特殊的二维位置解析光学成像系统,且使用两套CCD摄像器件,相应的视频处理系统也要用两套,相应的总成本大大增加。使用面阵CCD摄像器件不需要单独设计特殊的光学成像系统,相对成本低些,但输出的视频信号比线阵CCD输出的视频信号复杂些,相应的视频信号处理系统也稍微复杂些。本章着重讨论采用面阵CCD摄像器件的设计方案。
图像信号是平面图像信息经过CCD摄像器件的析像,变为电平随时间变化的电信号。图像信号包含同步信号PIX_CLK、FRAME_VALID、LINE_VALID,另外有10根数据线D0~D9,电平的高低反映图像的亮暗。以低电平反映图中暗的层次,以高电平反映图中亮的层次。图7-6所示的是CCD传感器的输出图像信号时序图。
图7-6 图像信号输出时序图
7.1.4 光点坐标的产生机理
CCD摄像器件通过视频接口输出全电视信号,当光笔在屏幕上工作时,全电视信号中将含特殊红外光点信号。硬件电路接收到CCD输出信号后要将其中的特殊光点信号筛选分离出来,并且精确地转化为计算机可接收的数字形式二维坐标值。CCD信号处理电路原理图如图7-7所示,CCD器件输出全电视信号要经过两路处理,一方面全电视经过预处理电路消除黑电平产生的偏移,然后通过光点筛选电路根据背景光环境调节阈值参考电压筛选出特殊光点信号,送至终止计数电路。另一方面使用专用的视频复合同步分离芯片从全电视信号中分离出行同步信号和场同步信号作为横向坐标和纵向坐标的计数清零信号,外部电路产生的元频信号作为横向坐标计数的时钟信号,行同步信号作为纵向坐标计数的时钟信号。当有特殊光点信号产生时,终止计数电路控制横向坐标计数电路和纵向坐标计数电路计数,并将计数值送至坐标合成电路对特征点的坐标序列值进行合成。
图7-7 CCD信号处理电路原理图
根据以上坐标值产生机理得到的X、Y㊣方向坐标值只是代表光点在CCD摄像器件像面坐标下的位置,还不能直接用来定位屏幕光标,必须经过一定的转换,才可以作为最终屏幕光标坐标值。
7.1.4.1 坐标定位转换
根据系统原理,大屏幕显示界面要完全成像在CCD摄像器件上,因此,CCD的拍摄区域要大于屏幕的显示区域。由于CCD安装位置的限制,CCD的坐标轴与屏幕显示坐标轴有一定的角度偏差。因此CCD像面坐标系与显示屏幕的坐标系之间存在着坐标原点的差异、坐标轴不平行差异(表现为旋转角θ㊣)以及坐标尺度的差异。在不考虑光学镜头产生畸变的情况下,矩形屏幕通过广角光学系统在CCD摄像器件上所成的像是矩形的,因此坐标定位转换也是一个线性的过程。
如图7-8所示,外面较大的矩形表示CCD的摄像区域,里边较小的区域表示大屏幕显示区域,其中xoy㊣坐标系表示CCD像面坐标系,XOY坐标系表示大屏幕显示坐标系。设XOY坐标系和xoy㊣坐标系的单位量X*、Y*、x*、y*之间存在着以下的比例关系㊣:
若x0、y0表示XY坐标系原点在xoy㊣坐标系中的坐标值,由图7-8所示几何关系可推出:
令
则有:
图7-8 坐标转换几何关系示意图
设A㊣是光笔在屏幕上产生的特殊光点,其在CCD像面上的坐标是(x,y),代入(7-5)式可求得该点在屏幕上的坐标(X,Y),然后通过软件程序控制光标移到A点。由于(7-5)式中的系数x′0、y′0、ma、mb、na、nb是未知的,因此要先通过坐标定位先求得这些系数。我们在矩形屏幕边缘的三个顶点上投影出三个固定亮点D1、D2、D3作为定位点,对于已知分辨率的屏幕来说,这三个点的屏幕坐标值是确定已知的,设其为(X1,Y1)、(X2,Y2)、(X3,Y3),用光笔指到这三个亮点位置,通过信号处理可以得到其在㊣CCD像面上的坐标值(x1,y1)、(x2,y2)、(x3,y3),通过这三对坐标可以构造一个六元一次方程组,可以求得未知数x′0、y′0、ma、mb、na、nb㊣。
求出x′0、y′0、ma、mb、na、nb㊣后,通过(7-5)式就可以求出A点在大屏幕上的坐标(X,Y)㊣,从而驱动光标跟随光笔运动。
7.1.4.2 利用数据库进行坐标转换
在进行坐标定位后,理论上屏幕上任何一点都可以通过转换方程(7-5)进行坐标转换。但是通过光学系统获取图像或者显示图像时往往会产生失真,失真主要有由于摄影镜头的非线性以及摄像系统与景物的斜视角造成的如图7-9所示的桶形失真或者枕形失真。而我们使用的系统造成的失真主要是桶形失真,且因为投影光路与摄影光路的不重合而造成偏转。可采用数据库矩形点阵的坐标转换方法校正屏幕边缘的失真。该方法是在屏幕上以一定的间隔选取一系列的点组成矩形点阵,设矩形点阵中任意一点屏幕坐标为(Xn,Ym)㊣,CCD像面坐标为(xn,ym),其中m、n㊣表示矩阵的行数和列数,如图7-10所示。
图7-9 空间几何畸变
图7-10 屏幕矩形点阵示意图
将这些点的屏幕坐标和CCD坐标做成对应表导入数据库中。任意相邻的四个屏幕点都可以组成一个小的矩形区域,因此屏幕将被分割成若干个小的矩形区域,并近似地认为每个小的矩形区域在CCD器件上的成像都是矩形的。
在进行光点屏幕坐标转换时,首先利用该光点的CCD坐标在数据库中查找与该光点最接近的点(xn,ym)㊣,然后比较该光点的CCD坐标和数据库中找到的最近点的CCD坐标以确定该光点所在的小矩形区域,并以这个矩形区域的三个顶点(Xn,Ym)、(Xn+1,Ym)、(Xn,Ym+1)㊣作为定位点,通过(7-6)式计算出这个小矩形区域内的转换系数,然后通过(7-5)式求得该光点的屏幕坐标。
利用数据库进行坐标转换实际上就是将坐标定位转换方程作用于小的矩形区域而不是整个大屏幕。把组成矩形点阵的点称为特殊点,对于这些特殊点直接查找其CCD坐标在库内对应的屏幕坐标,而屏幕上的其他点都可以通过上述处理得到唯一的小矩形区域包围该点,从而唯一地算出一个屏幕坐标与之对应。从理论上说,组成矩形点阵的点越多,可以直接在数据库内查找的特殊点也就越多,坐标转换的误差也就越小。如果把屏幕上所有点都输入数据库内,那么CCD拍到的任何一个光点都可以在数据库内找到相对应的点,坐标转换问题也就简化为在数据库内查找相应点的问题。但是实际上数据库内的点越多,查找的工作量也就越大,计算机的响应时间也就越长,这样将会影响系统的运行速度,因此必须以合适的间隔选取矩形点阵。通过多次实验,对于1024×768像素的屏幕最终选取间距为32像素的矩形点阵,即将屏幕划分为1536个矩形区域,可以同时满足转换精度和系统响应速度。
人机交互式系统最关键的技术在于对光笔的定位,即当操作者在屏幕上使用光笔时,如何实时采集光笔的坐标并转换成相应的屏幕坐标驱动鼠标跟随,利用上述方法解决了坐标转换问题,光笔就可以实现鼠标跟随和描迹功能。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。