(光学工程专业论文)光电虚拟黑板系统研究与设计.pdf_第1页
(光学工程专业论文)光电虚拟黑板系统研究与设计.pdf_第2页
(光学工程专业论文)光电虚拟黑板系统研究与设计.pdf_第3页
(光学工程专业论文)光电虚拟黑板系统研究与设计.pdf_第4页
(光学工程专业论文)光电虚拟黑板系统研究与设计.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(光学工程专业论文)光电虚拟黑板系统研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 光电虚拟黑板系统是一种基于计算机、大屏幕平面投影和全电视信号处理 技术的新型的人机交互系统。它以大屏幕投影平面为黑板,以头部带特殊光点 的棒状指点器为粉笔,直接进行指点、描迹操作,并能够用棒状指点器模拟实 现鼠标器的功能。 本文在详细阐述光电虚拟黑板系统原理和技术构成的基础上,全面地介绍 了系统的设计过程,包括系统总体堡盥遮计,醒件曼计和堑! 丝计等等。重点 分析了c c d 萎像器馈输出的全电视信号以及w i n d o w s 操作系统的消息驱动机 制。此外,论文对本系统亍写体汉字输入识别功能实现做了探讨性的说明。 最后,本文对系统今后的发展方向进行了展望。 a b s t r a c t t h e p h o t o e l e c t r i cv i r t u a lb l a c k b o a r ds y s t e m ”i sak i n do fn e w m a r l c o m p u t e r i n t e r a c t i v es y s t e mb a s e do n c o m p u t e r , l a r g e s c r e e nd i s p l a yp r o j e c t o r , a n dv i d e os i g n a l p r o c e s s i n gt e c h n o l o g y i nt h i ss y s t e m ,al a r g es c r e e nd i s p l a yp l a n ei sr e g a r d e da s a b l a c k b o a r d ,a n dab a r p o i n tw i t has p e c i a lp o i n ts o u r c eo fl i g h to n i t sh e a di su s e da sa c h a l k u s i n gt h i ss y s t e m ,w ec a nd i r e c t l yd r a wa n dw r i t eo nt h el a r g es c r e e nd i s p l a y p l a n e f u r t h e r m o r e ,t h eb a r p o i n t c a ns i m u l a t et h ef u n c t i o n so fam o u s e i nt h i st h e s i s ,t h es y s t e mp r i n c i p l ea n dt e c h n o l o g yc o m p o s i t i o ni s c o m p l e t e l y i n t r o d u c e d b a s e do ni t ,t h ep r o c e s so ft h eo v e r a l ls y s t e md e s i g n i n g ,i n c l u d i n gt h e d e s i g no fs y s t e ms t r u c t u r e ,h a r d w a r ea n ds o f t w a r e ,i sa l s oi n t r o d u c e di nd e t a i l t h e c c d so u t p u t i n gf u l lt e l e v i s i o ns i g n a la n dt h em e s s a g ed r i v i n gm e t h o do fw i n d o w s o p e r a t i n gs y s t e mi se m p h a t i c a l l ya n a l y z e d m o r e o v e r , t h ef u n c t i o no fr e c o g n i z i n g s c r i p th a n d w r i t i n gc h i n e s e c h a r a c t e r so f t h i ss y s t e mi sb r i e f l yd i s c u s s e da sw e l l a tt h ee n do ft h i st h e s i s ,a na n t i c i p a t i o no ft h ed e v e l o p m e n to ft h i s s y s t e mi s g i v e n 致谢妒3 4 9 6 8 6 在此我由衷地感谢我的导师刘向东副教授! 在课题的研究过程中,刘向东 老师不仅在学术上对我进行悉心指导,使我在科研方面得到了严格的锻炼和培 养,科研能力得到了很大的提高,更重要的是他将踏实的工作作风和严谨的科 学态度传授给了我,使我受益非浅。在整个研究过程中,刘旭教授也给了我极 大的支持和关怀,传授给我分析解决问题的方法,为我将来从事科研工作奠定 了坚实的基础。两位老师虚怀若谷、平易近人的品质始终影响着我,他们将是 我人生永远的导师和学习的榜样。 此外,在工作中姚达老师也给予了我极大的支持和热情的帮助,和我一起 分析问题,解决问题,使我对科研工作中合作精神的意义有了更为深刻的理解。 司时我要感谢我的父母,感谢他们对我二十多年来的培养和教育。 最后,向所有曾经关心帮助过我的老师和同学们表示深深的谢意。 谷宇章 2 0 0 0 年2 月于杭州 浙江大学硕士学位论文 第1 章前言 随着科学技术进步和社会的发展,信息在人们的日常生活中发挥着越来越 重要的作用。作为人际交流、知识传授的载体,信息传递的方式也越来越受到 人们的重视。传统的“黑板式授课”是基于直接面授的一对多信息交流的古老 方式,人类常规教学活动是这种方式的典型应用。在计算机应用逐渐普及的今 天,尤其是伴随着近年来多媒体技术的应用和发展,出现了许多先进的教学模 式。计算机辅助教学( c a i ) 充分发挥了计算机、通信和现代显示技术的优势, 已成为计算机应用的重要领域。 1 1 课题的提出 基于传统的“黑板式授课”方式,教师在讲台上手持粉笔在黑板上书写, 对学生群面授。这种方式的缺点是显而易见的,如粉尘大,信息传授量小、由 于学生忙于笔记而导致授课效率低下等等。目前采用c a i 的教学方式主要有两 种,第一种是基于网络技术和终端应答的一对一交流模式,这种模式的特点是 可实时对话、传授信息量大、教学课件功能灵活等,但受教学生群的规模受网 络终端的限制,且传授缺乏生动性,细节交互探讨覆盖面小;第二种是基于现 代显示技术的一对多交流模式,该模式依靠带v g a 接口驱动的投影设备,将 显示器界面投影在大屏幕平面上,以此替代黑板来完成授课过程。第二种方式 弥补了第一种方式的缺陷,在利用现代科技成果的同时也兼顾了教学环节的固 有习惯,有效提高了教学的效率。 当代显示技术的发展方向是大屏幕、高分辨率、平板化以及高亮度投影式 1 2 1 。大屏幕、高分辨率的显示设备广泛应用于军事指挥、仿真模拟、答辩、会 议、讲座、放映、挂盘讲解、产品展示、教学以及各类办公自动化系统中p ih i 。 投影显示就是为满足人们对屏幕更大、清晰度更高的视觉效果要求而发展起来 的。体积小、光强大、功能齐全、甚至是便携式的投影仪通过并联接在计算机 的v g a 接口上,可在大屏幕上同步投影出计算机显示器界面,从而实现对黑 板的替代。 目前大屏幕平面显示的人机交互手段主要是使用键盘和鼠标对计算机直接 操作,最便利的当数带跟踪球的无线鼠标,但仍需要键盘辅助输入。这至少 有两点不足,一是操作者必须面对输入设备而不是面向听众,从而使授课缺乏 生动性和必要的情感交流;二是操作者不能象在黑板上书写那样自如地在显示 界面上随意发挥,或标识重点,或对显示内容进行增删,缺乏灵活性和便利性。 本设计提出的基于大屏幕平面显示技术和交互式视频图象描迹跟踪的“光 电虚拟黑板”系统,提供了一种弥补以上两点不足的新的人机交互手段。所谓 “光电虚拟黑板”系统,是指用一指点设备作为“粉笔”,将大屏幕平面显示界 面作为“黑板”,操作者能象使用粉笔在黑板上书写一样便利地使用指点设备在 大屏幕平面显示界面上指点、描迹。本系统需要设计一种能符合传统授课习惯 的新型的指点输入设备。 1 2 指点输入设备1 6 1 n 浙江大学硕士学位论文 近年来计算机输入设备的发展十分迅速。已有百年历史的键盘虽然仍作为 文本输入的主要设备,但随着计算机人机交互界面的图形化,键盘也在逐渐让 位给快速、高精度的指点输入设备。指点设备可用于以下四种主要的操作:选 择、定位、定向和描迹。这种借助于屏幕指点直接操纵的方式具有吸引力,因 为使用者能避免学习命令,减少在键盘上打字的差错,而且能把注意力集中于 屏幕。其结果往往是操作更快,差错较少,易学易用。指点设备按照操作方式 可分为在屏幕表面上直接控制类,如光笔、触摸屏幕以及电光笔等;和远离屏 幕的间接控制类,如鼠标器、跟踪球、控制杆、图画板和触摸板等。 1 2 1直接指点设备 光笔是一种手持笔形检测光信号的装置,是较早被使用的指点设备。操作 者能用它在屏幕上指点以执行选择、定位、定向和描迹等操作。与图形板、控 制杆或鼠标器所提供的间接控制不同,光笔允许通过在显示器上指着一个点进 行直接控制。大多数光笔装有一按钮,当光标停在屏幕上所希望的位置时,按 下按钮。 触摸屏幕不需要拿起什么部件,只需要用手指在屏幕上直接触摸就能控制。 一般红外式智能触摸屏幕采用外挂式结构,它由一个长方形框架体和一根电缆 组成。触摸屏幕的检测电路固定于框架体内,通过电缆向触摸屏幕供电并实现 触摸屏幕与计算机主机之间的通信。红外式触摸屏幕采用红外线检测技术,在 触摸屏的上下及左右边缘分别安装有若干组红外发射管和红外接收管,发射管 与接收管一一对应组成红外对管。检测电路的核心元件单片机控制着红外对管 以扫描的方式工作,左右方向的对管进行逐行扫描,上下方向的对管进行逐列 扫描,这样就在整个触摸屏幕框内形成了一个由水平检测光栅和垂直检测光栅 组成的红外检测区。触摸屏幕处于非触摸状态时,每对红外对管之间没有障碍 物,红外接收管能顺利地接收由红外发射管发出的红外线。当有手指接触到触 摸屏幕时,由于遮挡造成水平与垂直方向一条或几条光栅被挡,位于这些光栅 上的红外接收管无法接收相应的红外线,引起这些接收管的输出电平变化。单 片机检测到这样的电平变化就能确定触摸点的坐标。而且根据相邻两次扫描的 结果可以判断出触摸的状态,确定触摸点是进入点、退出点还是连续触摸点【8 j 。 早期的触摸屏幕被评价为:易造成疲劳、手遮挡屏幕、手离开键盘、不能精确 的指点,以及可能弄脏屏幕。一些触摸屏幕的设计本身有问题,如软件立即接 受触摸的“触及方案”,不给操作者验证确认所选点的正确性的机会。这些早期 设计基于物理的压力、撞击或红外光栅束。改进后的触摸屏幕精度很高,这种 电阻性、电容性或有表面声波的硬件可提供1 0 2 4 1 0 2 4 的灵敏度,而“离开方 案”能让用户指向单个象素。“离开方案”包括三个步骤。操作者手指接触表面, 然后看见一个可以在显示器上拖动的光标:操作者移动手指改变光标位置;当 操作者对该位置满意时,提起手指离开屏幕以启动操作。触摸屏幕对直接针对 新手,不需要键盘而且触摸是唯一界面机制的应用来说,是一种非常合适的指 点设备。触摸屏幕受到公用系统的设计者的高度评价,因为没有运动的部件, 在高使用率环境中的耐用性好,而且价格低。对家庭、建筑物、工艺过程或空 中交通控制系统、医疗仪器或军用系统的经常性用户来说,触摸屏幕也变得流 浙江大学硕士学位论文 行起来。在这些系统中,空间很宝贵,需要具有坚固的设计且没有运动部件, 而且可以引导用户进行复杂操作。由于在显示器制作工艺中触摸屏幕可以集成 化,所以成本很可能下降。在平面液晶显示器上的触摸屏幕可以构成很多新的 设备。从袖珍计算机到火车站中通过触摸可获得各种信息的大显示屏。每个汽 车、冰箱、照相机、电视机或其他家用电器可以随时给出提供帮助的解释、信 息源以及完整的使用手册。 1 , 2 2间接指点设备 鼠标器是最常用的一种间接指点设备。操作者的手可以放在一个舒适的位 置上,鼠标器上的按钮很容易按,即使是较长距离的移动也能很快,同时定位 精确。鼠标器的使用非常简单,只需要稍加说明和一些实践( 最多不超过一小 时) ,操作者就能够自如地使用它了。根据鼠标器移动传感原理不同,有机械式 鼠标器和光电式鼠标器等不同分类。 跟踪球曾被形容为倒过来的鼠标器。它通常装有一个直径为2 至6 英寸的 滚球,当它滚动时,在屏幕上的光标移动。跟踪球牢固地装在桌子上或一个固 体的匣子里,操作者按球,并使它旋转。跟踪球一直是像空中交通控制中心这 样高度紧张的领域里以及一些电子游戏中受偏爱的装置。小的跟踪球也已应用 于便携式的笔记本电脑中作为指点装置。 控制杆是一种历史很久的指点设备,它很适宜于跟踪目的,即追随屏幕上 一个移动目标。 图形板是一种和屏幕分离的触敏表面,通常平放在桌面上或放在使用者的 膝部。用图形板可做有限的数据输入。图形板通常采用压电、电子或接触式传 感器。 1 , 2 3本系统的指点输入设备 本设计的光电虚拟黑板系统使操作者能够面向受教群直接操作,既能发挥 计算机辅助教学和大屏幕显示技术的优势,又能兼顾符合传统的教学习惯的要 求。显然,本系统需要一种直接指点输入设备,该指点设备的定位、描迹操作 方式应与教鞭或粉笔相似,同时它的选择、确认操作方式要与鼠标相似。综上 所述,该指点输入设备的操作方式与传统的光笔比较相似。但实际上,光笔实 现指点输入的原理决定了它并不适宜于作为本设计所需的指点设备。 光笔由笔体、透镜组、光导纤维、光电转换器件、放大整形电路、开关和 导线等组成。通过笔体光孔检测计算机显示器的光信号,经透镜组、光导纤维 引出,再由光电转换器件得到电信号进行处理【”。其产生指点位置信息的机理 为:在某一分辨率m + n 下,逐行显示器逐个象素点扫描显示,从某一帧的第一 个扫描象素点开始计时,当扫描到光笔对着的象素点a 时,光笔检测到光信号, 停止计时,假设计时值为t i 。扫描一帧用时是固定的,假设为l 。则象素点a 在所有象素点中的排序值为( l 亿) + ( m + n ) 。则指点位置的y 坐标值为对 ( t t o ) + ( m + n ) m 取整;指点位置的x 坐标值为( t 丌。) + ( m + n ) ,m 的模。光笔描 迹的工作过程为:光笔指点信号经光电转换和放大整形,变成一个中断电信号, 浙江大学硕士学位论文 启动中断服务程序,得到光笔指点位置信息,然后通过显示接口,将光笔描迹 操作在显示器上反映出来。 不难发现光笔具有以下局限,使它不能应用于本系统。 第一,光笔需要直接引线将光信号经由光纤引出,这对于大屏幕指点操作 来讲使用上不方便。使用一个射频通道来实现光笔与计算机的通讯,则光笔要 完成光电转换和射频信号发送等功能,设计时还要与显示控制器有效连接,成 本较高。 第二,光笔需要检测屏幕上的光信号,如果屏幕上出现黑背景或暗背景则 光笔的使用将受到约束。作为种通用的输入设备,光笔是不适合的。 综上所述,本系统不采用传统的光笔作为指点输入设备。需要设计一种新 型的指点输入设备,本系统中称之为“棒状指点器”。现对该棒状指点器做些 简要的描述。棒状指点器形如普通的教鞭,其头部有一个近红外的发光二极管, 作为特殊光点目标被系统探测,用以确定指点位置。棒状指点器底部为手柄, 手柄处设置一个按钮,该按钮用以模拟鼠标的按键功能。棒状指点器由自带电 源对发光二极管供电,自带电源安装于手柄内。棒状指点器在常态下发光二极 管处于发光状态;按下按钮,发光二极管处于不发光状态:松开按钮,发光二 极管恢复发光状态。本文将在介绍系统基本原理时详细讨论棒状指点器指点功 能的实现机理。 第2 章系统原理与基本技术构成 2 1 系统原理 光电虚拟黑板系统原理框图如图2 1 所示。 图2 i l 光电虚拟黑板系统原理框图 在图2 - 1 中,系统包括的设备及单元计有计算机、带视频图形适配阵列 ( v g a ) 接口的大屏幕平面投影仪、电荷耦合器件( c c d ) 和视频信号处理装 鼍。作为“虚拟黑板”使用的大屏幕平面显示界面的显示内容是由计算机主机 4 浙江大学硕士学位论文 通过v g a 视频线控制投影仪直投或背投所得,与计算机显示器显示界面同步 显示。作为“粉笔”使用的棒状指点器由操作者手持在“虚拟黑板”上指点、 描迹、书写。棒状指点器头部有一点特殊点光源,其波长位于近红外区,以保 证其发出的光与投影光束及外界自然光有一定的信噪比。该光点二维位置坐标 的运动轨迹被c c d 摄像器件记录下来。视频信号处理装置对c c d 摄像器件输 出的视频信号进行处理,可以得到棒状指点器头部光点运动轨迹的离散序列点 坐标值。将序列点坐标值合成编码后馈入计算机,在实时描迹跟踪驱动软件的 作用下,可实现计算机屏幕光标对棒状指点器头部光点的实时描迹跟踪。棒状 指点器上设置一个按键装置,由该按键装置控制指点器头部光点的亮暗,并通 过编程来模拟鼠标器的按键功能。 2 2 c c d 摄像器件简介【1 0 i i l l c c d 摄像器件的功能是将二维光学图像信号转变成一维视频信号输出。它 主要分为两大类型:线阵c c d 摄像器件和面阵c c d 摄像器件。两类器件都需 要光学成像系统将景物图像成像在其光敏面上。光敏面将照在每一个光敏单元 上的图像照度信号转变为少数载流予数密度信号存储于光敏单元( m o s 电容) 中,然后再转移到c c d 的移位寄存器( 转移电极下的势阱) 中,在驱动脉冲的 作用下顺序地移出器件,成为视频信号。线阵c c d 摄像器件的光敏元成一维排 列,在本系统中如果使用线阵c c d 摄像器件,则系统中还需要设计一个二维位 置解析成像光学系统。 ( o ,0 图2 - 2 二维位置解析成像光学系统 浙江大学硕士学位论文 图2 2 所示为采用线阵c c d 摄像器件时所需光学系统的设计方案【l ”。图中 1 为视场平面直角坐标系:2 为棒状指点器头部特殊光点目标:3 为近红外滤色 片;4 为成象透镜;5 是半透半反镜;6 为子午柱面透镜;7 为弧矢柱面透镜;8 和9 分别是沿子午和弧矢两方向放置的线阵c c d 摄像器件。由4 至7 构成的光 学系统将2 在大屏幕平面显示界面上的二维位置聚焦分解成分别沿子午和弧矢 两方向的光点位置,分别由沿子午和孤矢两方向放置的线阵c c d 器件8 和9 进 行接收,经过视频信号处理,得到x 和y 的二维坐标值。近红外光点2 在1 上 的运动轨迹形成的x 和y 的序列坐标值,就是实现指点、描迹跟踪所需要的信 息。 按一定的方式将一维线阵c c d 摄像器件的光敏单元及移位寄存器排列成二 维阵列,即可以构成二维面阵c c d 摄像器件。由于排列方式不同,面阵c c d 摄像器件常有帧转移、隔列转移和线转移三种。面阵c c d 摄像器件光敏元成二 维排列,可以仅用成像光学系统直接将目标成像于其光敏面上,通过视频处理 得到光点像的二维坐标信息。 采用线阵或面阵c c d 摄像器件探测特殊光点位置信息,两种方案各有优缺 点。使用线阵c c d 摄像器件的设计方案的优点是视频处理环节较简单,缺点是 系统增加了一个光学分光子系统,而且使用两套c c d 摄像器件,相应的视频处 理系统也要用两套,成本大为增加。选择面阵c c d 器件避免了设计光学分光子 系统,成本较低,但是由于其输出的视频信号比线阵c c d 的输出复杂,所以相 应的视频信号处理系统要复杂一些。本系统拟采用台湾敏通公司的面阵c c d 摄 像器件m t v 2 5 1 0 c m 。 m t v 。2 5 1 0 c m 为线转移黑白c c d 摄像器件,图像传感区域面积为 4 8 m m * 3 6 m m ,成像系统为8 m m 的定焦镜头,隔行扫描,行频为1 5 6 2 5 k h z , 场频为5 0 h z ,每秒扫描5 0 场、6 2 5 行,总像素数为5 4 2 ( h ) 5 8 2 r v ) ,1 2 v 直流 供电,功率1 2 w ,输出正极性全电视信号。 2 3 全电视信号 1 4 1 1 1 5 1 实现系统的关键在于将c c d 摄像器件接收到的指点位置信息精确地转化为 计算机可接收的数字形式的二维坐标值。c c d 摄像器件输出的视频信号是全电 视信号。由于电视出现以来各个国家均发展各自的广播电视系统,制订自己的 国家标准,所以目前电视信号标准劳非统一。国际无线电咨询委员会( c c i r ) 建议采用1 3 种黑白电视体制标准,代号分别为c c i r a 、m 、n 、c 、b 、g 、 h 、l 、d 、k 、k 、l 、e 。我国采用c c i r - d 制。 我国电视系统每秒传送2 5 帧画面,帧频为f 。= 2 5 h z ,每帧画面扫描行数为 z = 6 2 5 行,相应的行频为丘= 秒f l = 6 2 5 + 2 5 = 1 5 6 2 5 k h z ,行周期为t 2 = i f 2 = 6 4 us , 这样活动画面的连续性和清晰度可以达到要求。但是仍然存在帧频闪烁问题, 即在每帧画面扫描结束后重新开始第一行扫描时,会产生严重的亮度闪烁。将 帧频增加一倍至5 0 h z 可以消除这种闪烁现象,但要增加图像通道的带宽。采 用隔行扫描方法可以在不增加电视信号带宽和不降低图像清晰度的前提下解决 帧频闪烁问题。所谓隔行扫描即把一帧画面分成两场来扫描,扫描奇数行称为 奇数场,扫描偶数行称为偶数场。场频f 3 = 2 f := 5 0 h z ,场周期t ,= 2 0 m s 。隔行扫 描中虽然每秒仍然传送2 5 帧画面,但由于实际上每秒显示了5 0 场画面,这样 浙江大学硕士学位论文 逐行扫描大面积的帧亮度闪烁现象被不易察觉的行亮度闪烁所替代。 全电视信号由三部分组成:图像信号、复合同步信号和复合消隐信号。正 极性全电视信号如图2 3 所示: 零电平( 0 ) 白色电平 ( 1 25 ) 图像区域 黑色电平 ( 7 5 、 同步底 ( 1 0 0 ) 图2 - 3 正极性全电视信号结构波形 我国规定的行同步信号特性为 周期:6 4 ps 消隐持续期:1 2us 后肩:5 8 i ts 同步脉冲宽度:4 7 1 - ts 我国规定的场同步信号特性为 周期:t 2 = 2 0 m s 前均衡脉冲持续期:2 5 t 同步脉冲持续期:2 5 t 后均衡脉冲持续期:2 5 t , 均衡脉冲宽度:2 3 5 us 开槽脉冲宽度:4 7 l as 2 3 1 图像信号 图像信号是平面图像信息经过c c d 摄像器件的析像,变为电平随时间变化 的电信号。这个电信号反映了图像的两个重要信息:亮度与空间。在图像信号 中,电平的高低反映图像的亮暗。以低电平反映图中暗的层次,以高电平反映 图中亮的层次,这样的信号称为“正极性”图像信号;反之,称为“负极性, 图像信号。图2 3 中所示为“正极性”图像信号,规定图像信号高电平处( 1 2 5 ) 对应图像白色,称为白色电平:低电平处( 7 5 ) 对应图像黑色,称为黑色电 平:黑白电平之间为灰色电平。本设计中,所需的图像信号是棒状指点器的光 浙江大学硕士学位论文 点信号,该信号处于灰色电平区域,通过合适的电平比较可将光点信号从全电 视信号中分离出来。 2 3 2复合同步信号 同步信号使电视信号接收机能够与c c d 摄像器件同步工作。由于电视扫描 是二维的,因此同步信号按照要求分为行同步信号与场同步信号。行、场同步 信号不是单独分开传送,他们要与图像信号一起组成全电视信号,在一个信道 内传送。首先将行、场同步信号组成复合的同步信号,然后在图像信号的消隐 期间把复合同步信号混合进去,组成全电视信号。为使复合同步信号区别于图 像信号,将同步信号安插在图像信号不可能出现的电平上( 如图2 3 ,在全电视 信号中同步脉冲电平高度为1 0 0 ) ,这样就能很容易地利用电平比较将同步信 号分离出来。 在复合同步信号中,行同步信号与场同步信号以脉冲宽度区分,行同步脉 冲窄,场同步脉冲的宽度为行周期t ,的2 5 倍。复合同步信号通过积分电路产 生波形如图2 - 4 所示,行同步脉冲只能产生很小的电平隆起。而场同步脉冲因 为延时长,可产生较高的积分电平。可利用比较电路将场同步信号从行同步信 号中分离出来。 复合阿步信号取 比较电平 积分波形 分离场同步 图2 4 分离场同步信号波形 如果简单地复合行、场同步信号,则在场同步期间行同步脉冲将被淹没, 以至画面最上边的一些行仍然有水平位错。为了使在场同步持续期间仍然保持 行同步,需要在场同步脉冲里“开槽”,并使槽的后沿时刻正对行同步脉冲的前 沿时刻。这样,在分离行同步脉冲时,在场同步脉冲期间可由开槽脉冲保证行 同步。 2 3 3 复合消隐信号 消隐信号的功能,是防止在扫描的逆程中检取光电图像信号。消隐信号的 另一个重要功能是提供一个正确显示亮度层次的参考电平。为了能起抹迹作用, 浙江大学硕士学位论文 消隐信号的电平应该等于或略低于黑色电平。消隐信号与图像信号复合前也要 先组成行场复合消隐信号,消隐信号在使用时不必分离出来。 对c c d 摄像器件输出全电视信号进行分析,可知通过适当的电路设计可以 分离出特殊光点信号、行同步信号、场同步信号( 在隔行扫描中,一帧分为两 场,通过场同步信号即可得到帧同步信号) 。这些信号将被用于生成特殊光点坐 标值。 2 4 特殊光点坐标值产生机理l c c d 摄像器件输出的全电视信号经过处理后,提供了特殊光点信号、行同 步信号、场同步信号,再加上专门电路输出的模拟元频信号,可以合成出光点 位置的x 、y 坐标值。方法是利用这些信号对计数器进行清零、计数、计数使 能、计数截止等操作,将x 、y 坐标值用计数器的计数值反映出来。x 、y 坐 标值的产生机理为: ( 1 ) x 方向坐标值的生成: 以元频信号作为计数脉冲信号,以光点信号作为停止计数信号,以行同步 信号作为清零信号,可实现对光点x 坐标的计数生成。这决定了系统在x 方向 上的指点精度。每一行扫描开始时,x 坐标清零,此后每扫描该行的一个光敏 源,通过模拟元频信号使计数加一,直到检测到光点信号时停止计数。至此, x 方向坐标计数完成。 要生成x 方向坐标值,需要元频信号作为计数脉冲。从全电视信号中,无 法直接提取元频信号。可以通过电路来模拟元频信号脉冲。元频信号的周期可 由c c d 摄像器件的行周期和显示行象素值求得:设元频信号的周期为t ,则t = 行周期显示行象素值。 ( 2 ) y 方向坐标值的生成: 以行同步信号作为计数脉冲信号,以光点信号作为停止计数信号,以场同 步信号作为清零信号,即可实现对光点y 坐标的计数生成。这决定了系统对y 方向指点的精度。每一场扫描开始时,y 坐标清零,此后每扫描该场的一行, 通过行同步信号使计数加一,直到检测到光点信号停止计数。至此,y 方向坐 标计数完成。 根据以上坐标值产生机理得到的x 、y 方向坐标值还不能够直接用来定位 屏幕光标,而是必须经过一定的转换,才可以作为最终的屏幕光标坐标值。 实际情况下,c c d 摄像器件接收区域与大屏幕投影区域并非完全重合,而是 投影区域落在c c d 接收区域内。按照上述计数原理得到的坐标值实际上是相对 于c c d 摄像器件接收区域的坐标值,而不是相对于投影区域的坐标值,所以还 应有一个坐标转换的过程。 堑坚盔堂堡主兰焦望塞一 如图2 ,5 所示,外面较大的矩形是c c d 摄像器件接收区域,相应的坐标系 为x ,0 ,y ,;里面较小的矩形是大屏幕投影区域,相应的坐标系为x o y 。x o y 与x ,0 ,y ,既有平移,又有旋转关系。计数得到的坐标值是坐标系x 0 y 下的 坐标值,而计算机屏幕上光标的位露应该是转换到坐标系x o y 下的坐标值。 要将图上a 点坐标转换为x o y 坐标系下坐标( a ;,氐) ,除了要知道x 0 y 坐标 系下a 点坐标( 气,氏) ,还要知道大屏幕投影区域四个顶点中三个在x 0 y 坤 的坐标。可以在系统初始化时提示用棒状指点器指点投影区域的四个顶点p 、q 、 r 、s ,记下它们的坐标值( p 。,p ) 、( q 。,q ,) 、( k ,r ) 、和( s 。,s ,) 。取其中三 个顶点坐标即可进行坐标转换。假设计算机的显示分辨率为m n ( 本系统中为 5 4 9 4 8 0 ) ,则有如下坐标转换算法: ( 2 - 1 ) 一丝! 竺g 二& :! ! 堡三& ! ! 笪! i 垒三垒坠逛三益:!(22)ti y 一 心,一耳) q ,一最。) 扭,。一p r ) x ,一已t ) 。 从上面的公式可以看出,a 点在屏幕上的坐标值是按比例算出来的。元频 信号可以模拟产生,它不必完全等于c c d 摄像器件真正的元频频率,最后只是 求一个比例值而已。保证模拟元频信号时钟频率足够高,可以保证系统的指点 分辨率要求。 要实现坐标转换,在使用时系统必须进行初始化操作。初始化将确保投影 屏幕包含于c c d 摄像器件视场中,并获得坐标转换公式中参考点坐标。有关初 始化的操作将在后面的章节中详细介绍。 2 5c c d 摄像器件扫描方式对列计数的影响 c c d 摄像器件有两种扫描方式,逐行扫描及隔行扫描。对于逐行扫描c c d 0 浙江大学硕士学位论文 摄像器件而言,按照2 4 中叙述的方法计数得到的y 值就是特殊光点纵坐标值; 如果使用隔行扫描c c d 摄像器件,计数得到的y 值要经过转换才能得到特殊 光点纵坐标值。 在隔行扫描状态下,全电视信号每一帧分为两场:奇数场和偶数场。我们 对全电视信号的处理顺序有随机性,前一场可能是奇数场,也可能是偶数场。 由于特殊光点的大小不会小到只占一帧图像中的一行,所以在一帧图像的奇数 场和偶数场中都会含有特殊光点信号。所以总能在前一场检测到特殊光点信号, 停止对y 的计数。假设特殊光点信号最先出现在第v 行。以下分四种情况讨论 计数值y 和对应的计数转换误差e ( e = y v ) : ( 1 ) 一帧中前一场为奇数场,特殊光点最先出现在偶数行v 。此种情况下,y 方向计数器计数到v 1 2 + 1 时将首先遇到第v + l 行的特殊光点信号,计数停 l e 。 y = z ( 善+ t ) = 矿+ 2 e = y - v = 2 ( 2 3 ) ( 2 ) 一帧中前一场为奇数场,特殊光点最先出现在奇数行v 。此种情况下,y 方向计数器计数到( v + 1 ) ,2 时将首先遇到第v 行的特殊光点信号,计数停止。 y = 2 二。二= v + l e = y v = 1 ( 2 - 4 ) z ( 3 ) 一帧中前一场为偶数场,特殊光点最先出现在偶数行v 。此种情况下,y 方向计数器计数到v 2 时将首先遇到第v 行的特殊光点信号,计数停止。 y = 2 三= ve y v0 ( 2 - 5 ) ( 4 ) 一帧中前一场为偶数场,特殊光点最先出现在奇数行v 。此种情况下,y 方向计数器计数到( v + 1 ) 2 时将首先遇到第v + 1 行的特殊光点信号,计数停 止。 矿1 y = 2 二二= v + 1 e = y 一矿= 1 ( 2 - 6 ) 在以上四种情况下,如果y 值均减1 ,则隔行扫描c c d 摄像器件y 方向 计数转换误差值将不超过1 个像素。 第3 章模拟鼠标功能的实现 3 1 w i n d o w s 的消息驱动机 制1 1 7 1 i l s l w i n d o w s 的核心就是它的消息驱动机制。w i n d o w s 应用程序与应用程序之 间、以及应用程序与w i n d o w s 之间的通信就建立在其消息驱动机制上。w i n d o w s 应用程序不同于预先确定执行顺序的d o s 应用程序,每个w i n d o w s 程序的目 的最终都可以归结为响应发送到目标窗口的消息。 在w i n d o w s 中,无论是用户还是操作系统本身的一举一动都被当做某个类 型的事件来处理。操作者敲键盘、按鼠标都会导致一系列的键盘事件、鼠标事 件产生;另外,诸如w i n d o w sa p i 中的函数、正在运行的应用程序或d l l 等, 浙江大学硕士学位论文 都可以产生事件。对于所发生的每个事件,w i n d o w s 都会以对应的某种消息的 形式标识并将其存放在一片称之为消息队列的内存区域中,然后w i n d o w s 程序 中的消息循环代码就会检测到消息队列中消息的存在,最后由消息系统中的消 息发送函数把消息发送到某个窗口,让目标窗口过程对其进行处理。所谓的消 息驱动,其实也就是事件驱动。 当w i n d o w s 运行时,它的功能及其a p i 函数驻留在k r n l 3 8 6 e x e 、g d i e x e 和u s e r e x e 三个外部库模块中。其中k r n l 3 8 6 e x e 负责内存和资源管理、 调度以及与d o s 交互作用;g d i e x e 负责屏幕和打印机上的图形显示与打印; u s e r e x e 负责窗口管理、用户输入和通信。 处理消息的程序代码大部分都分布在u s e re 中,不过在消息处理过程 中涉及任务切换的部分仍然是由k r n l 3 8 6 e x e 的任务调度函数完成的。从整 个w i n d o w s 的运行机制来看,k e i n e l 和u s e r 的和谐搭配是w i n d o w s 内核 运转的坚强基石。 3 1 1 w i n d o w s 的消息结构 在w i n d o w s 的消息系统中,使用了一个被称作为m s g 的数据结构,以保 存从消息队列中获取的消息及其相关信息,其结构如下所示。当然m s g 结构 和队列缓冲区( 尤其是系统队列) 中的消息格式不尽相同,对此,我们将在随 后对消息队列各域的详细解释中给出详细说明。 t y p e d e f s t r u c tt a g m s g h w n d h w n d ; u i n t m e s s a g e ; w p a r a m w p a r a m ; l p a r a m i p a r a m ; d w o r d t i m e ; p o i n t p t ; ) m s g ; m s g 结构中各域的含义为: h w n d 接收消息的窗口句柄 t i m e p t 消息号 每条消息的1 6 位附加信息。具体的含义依赖于消息值,不过它一 般被用作一个索引,或状态标记值,或窗1 3 的控制标识符等等 每条消息的3 2 位附加信息。具体的含义依赖于消息值,不过它一 般被用作一个指向字符串或函数或某个数据结构的长指针,或者是 光标位置,或者是启动终止代码和窗口句柄等等 消息被传递时的w i n d o w s 运行时间 消息被传递时光标在屏幕坐标中的位置 窗口旬柄h w n d 也可以是一个无效句柄值f f f f h ( h w n d _ b r o a d c a s t ) , 用来表示接收消息的是所有顶层窗口,包括未用的和不可见的无主窗口。 消息号m e s s a g e 实际上是一个整数数值,用来标识一个消息宏。数值小于 4 0 0 h 的消息号都是w m d o w s 系统保留的,而4 0 0 h 以上的消息号则是为用户自 定义所预备的,用户可以根据需要在自己的程序中随意定义。 盖姗 呲帅 阢 浙江大学硕士学位论文 w p a r a m 和i p a r a m 分别用来表示每条消息所带的附加信息,就象过程携带 的参数一样,可以用来表示与这条消息相关的信息。例如对于消息w m _ t i m e r 来说,它的w p a r a m 指明了定时器i d ,i p a r a m 则指向调用函数s e t t i m e r 安装 定时器时指定的w mt i m e r 处理函数。当然不一定每个消息都存在w p a r a m 和1 p a r a m ,例如w mt i m e r c h a n g e 就不存在附加信息。 消息结构中的时间是调用函数g e t t i c k c o u n t 获得的,它表示w i n d o w s 启动 后到消息产生为止所经过的毫秒数,而不是计算机的当前时间。 光标位置包括了消息被传递时光标在屏幕中的行列坐标。 3 1 2w i n d o w s 的任务队列 任务队列( t a s k q u e u e ) 也就是应用程序的消息队列。它是在创建一个任务 时,由任务启动代码调用u s e r 模块中的函数i n i t a p p 建立的。任务队列的长 度是1 1 f h 字节,它一般都位于低端内存中。因为任务队列对应的内存区域是 一个共享的固定段,所以指向它的通常都是一个选择符而不是句柄,但为了统 一起见我们仍然用任务队列句柄( h t a s k q u e u e ) 来标识它。 每个任务队列的h t a s k q u e u e 都保存在该任务对应的任务数据库( t d b ) 中 偏移2 0 h 处。未公开的函数g e t t a s k q u e u e 提供了获取h t a s k q u e u e 的手段。该 函数的传入参数是任务句柄( h t a s k ) 。如果h t a s k 为0 ,则返回当前任务的消息 队列句柄。另一个未公开的函数s e t t a s k q u e u e 可以设置指定任务的消息队列, 传入的参数是h t a s k q u e u e 和h t a s k 。如果h t a s k 为o ,则设置当前任务的消息 队列。 当然不一定非要通过t d b 才能得到任务队列句柄。w i n d o w s 中的每一个窗 口都对应着一个任务,因此也就存在着一个任务队列与其相对应。在保存窗口 信息和状态的w n d 数据结构的偏移1 8 h 处,同样存放着消息队列旬柄。在函 数p o s t m e s s a g e 0 就是利用这个域来判断应该把消息放入到哪个属于目标窗口 的消息队列中。 任务队列和任务数据库是密切相关的,它们共同记录着每个任务运行时的 最重要信息。不仅如此,它们还互相包含对方,也就是说,不单在t d b 中保存 有指向任务队列的选择符,而且在任务队列中同样存放着指向t d b 的句柄 t a s k q u e u e :0 0 0 2 。这样知道了一个消息队列,也就知道了拥有这个消息队列的到 底是哪个任务。 既然消息队列是任务所特有的,那么作为只有在运行时才动态链接的d l l , 是不可能具有任务队列的,但是d l l 可以通过访闻调用它的任务的消息队列来 获取有关信息。 3 1 3 w i n d o w s 的系统队列 系统队列( s y s t e m q u e u e ) 是用来保存w i n d o w s 中硬件输入消息( 主要是 键盘消息和鼠标消息) 的一片内存区域。和任务队列不同,系统队列是全局共 享段,也就是说它可以为所有的任务提供保存属于该任务的硬件消息的服务。 但要注意,这种共享服务并不是同时进行的,在某个时刻,系统队列只为处在 浙江大学硕士学位论文 那个时刻的当前任务所有,因为在w i n d o w s 中,所有的硬件输入事件都是与当 前任务有关的。当向系统队列中添加硬件消息时( 这个任务通常由 h a r d w a r ee v e n t ,m o u s ee v e n t ,k e y b d 三个函数完成),在置系统队列中消_event 息类型标记( 由队列偏移4 4 h 处的数据单元标识) 内的q s _ f o s t m s g 位的同时, 也会置当前任务的消息队列中消息类型标记内的硬件消息标记位( q sm o u s e 或 q s ) 。当系统队列中的硬件消息个数减少到时,不仅要清除系统队列的 消息_ k 类e y 型标记内的位,同时还要清除0 q s当前任务队列中消息类型标记_ p o s t m s g 内的硬件消息标记位( q sm o u s e 和q sk e y ) 。值得注意的是,消息类型标记内 的q sm o i l s e 或q s k e y 的置位表明分别有键盘消息和鼠标消息加入到系统队列 中。但是q s和的清除却是同时进行的。也即在判断硬件消息是_ m o u s eq sk e y 否为0 时,w m d o w s 并不区分是鼠标消息还是键盘消息,它是针对总的硬件消 息来说的。因此,任务队列的消息类型标记中q sm o l l s e 和q sk e y 的被置位, 并不意味着系统队列中就一定有对应的硬件消息,但至少存在着某一种硬件消 息。 和任务队列还有一点不同的是,系统队列是在k e r n e l 初始化时进行的, 准确她说是在k e r n e l 加载完u s e r e x e 后就立即创建的,而不是象任务队 列一样是在每次调用h f i t a p p 函数初始化一个任务时创建的。 系统队列和任务队列的格式并不完全相同,任务队列中的很多域在系统队 列中都被丢弃了。考虑到既然系统队列总是从属于某个当前的任务队列,因此 它也就可以共享任务队列中的很多域,而不必单独在其内部再使用这些数据单 元。例如:在检索系统队列中的硬件消息时,就可以直接把每条硬件消息的 e x t m i n f o 放入到任务队列中偏移1 8 h 处,以作为本次读取消息的e x t r a l n f o 。这 样做的另外一个好处是可以很方便地把硬件消息与拥有它的任务联系起来。 为了保证属于当前任务的硬件消息不被其他任务从系统队列中读走,可以 设置对系统队列的锁定。一旦系统队列在被某个任务锁定后,除非锁定它的任 务主动解锁,否则其它任务是不可能获得对系统队列的访问权的。 3 1 4 鼠标消息q s _ m o u s e 当移动鼠标或按下鼠标键时会产生一个i n t0 c h 中断。由m o i l s e d r v 安装 的鼠标中断服务程序截获这个中断后,将把鼠标事件以鼠标消息的形式存放在 系统队列中。在w i n d o w s h 中一共定义了2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论