Nvidia专区_基于虚拟显卡的网络教学系统设计与实现

来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:06:57
基于虚拟显卡的网络教学系统设计与实现

2009-10-13 作者: 卢恩姿 来源: 万方数据

网络教学,即通过网络或借助于物理媒体和网络应用软件相结合的一种教学活动模式,本文提出一种基于虚拟显卡的屏幕信息抓取技术的思想,并给出网络教学系统的解决方案。

  引言

  随着网络这种新兴信息媒体的飞速发展。依靠网络支持的网络通讯、电子商务、网络办公、虚拟企业、社区服务等也正以一种无法估量的速度在蓬勃兴起,网络教学也是同期的产品之一。

  网络教学,即通过网络或借助于物理媒体和网络应用软件相结合的一种教学活动模式。即普通的教学活动应用于网络即是网络教学。和大多数网络应用一样,它受到两方面的支持和制约,一方面是网络带宽,表现为信息传输的速度,即每秒能传输的字节数,另一方面是多媒体形式,即图像、文字、声音和影像等。一个好的网络教学系统,不仅要求有适当的、令人愉快的传输速度.也要求内容图文并茂、生动活泼、富有吸引力。但二者之间往往存在着矛盾,大量采用图像、声音、影像,易造成需要传输的数据增多,在网络拥塞的情况下,极不利于传输和浏览。本文提出一种基于虚拟显卡的屏幕信息抓取技术,可大大提高多媒体信息的传输速度。从而更加优化网络教学系统的效率和性能。

  1、网络教学系统的总体框架

  1.1网络教学资源的相互关系

  网络教学由学生、教师、系统管理员三大主体组成。一个管理员可以对多个教师提供教学资源管理,也还可以负责一些别的非网络资源的运行和维护。教师组建和维护教学资源.并通过它与多个学生发生教学关系,学生彼此之间也可以通过网络交互。进行共同探讨、共同娱乐等,三者的关系如下图。

  1.2网络教学系统的构成

  网络教学系统支持环境由教师机和学生机两部分组成,即服务器和客户机。教师机主要的职能是负责管理工作。教师在某一特定时间段启动,等待多个学生的加入,当教师认为学生数足够时。就宣布开始上课。教师机(即服务器)和学生机(即客户机)在启动顺序上有一定的规定,虽然用的是广播方式进行数据传输,但还要涉及点名.因此要求教师机先启动,启动特定的侦听程序。以统计到课的人数。学生机在教师机启动后登录,得到确认后进入学习环境。在自己的显示器上观看教师机播发的课件内容,并在教师机的控制之下完成电子举手、发言、讨论等学习功能,在课件的进行过程中,新的学生可以随时加入,进行听课.已在课堂的学牛可以随时退出.而不影响“网络教学。的正常进行。以下是网络教学的环境框架示意图。

  本系统定位为局域网上的分布式多媒体教学支持系统.操作系统使用WIN XP/2K平台,软件开发平台采用Visual C++6.0开发环境,确保程序的稳定性和可移植性。

  2、网络教学系统功能设计

  具体地说有如下功能:

  2.1教学功能

  这是该系统最主要的功能,教师通过该功能进行日常教学工作。它有两个功能.教学演示和语音传输。

  教学演示就是教学课件的演示和广播。教师在教师机首先运行服务程序,再打开提前准备好的课件,进入授课模式,这时教师机将抓取教师机的屏幕生成图像数据,压缩再广播到学生机,使得每一个学生机得到的图像都与服务器(教师机)的图像相一致.在授课的过程中任何时刻,学生机的内容都和教师机的内容相同,同时为了使学生知道教师的讲课进度,教师机的鼠标将经过处理。传输到学生机时,将会成醒目的红色。

  2.2课堂控制功能

  在教学过程中,教师需要控制课堂的进行,如:什么时候等待学生的加入、什么时候开始授课、什么时间进行课堂讨论,并且教师还要时刻了解学生机的状态和本机的状态等,教师机和学生机的状态大致如下:

  教师机状态有:等待学生加入、开始授课、正在教学、教学暂停、课堂讨论、听取发言,信息管理。

  学生机状态有:联机状态、正在听课、电子举手、正在讨论、发言、聆听发言、离线。

  学生机和教师机通过相互发送数据包协调相互的状态,但学生机状态的转换得依赖教师机控制。

  2.3学生机发言功能

  在教师的正常授课过程中,会出现教师向某个学生提问或学生请求提出疑问的情况,此时教师可以使用此功能对学生机进行控制.如何处理由教师决定(教师可以允许提问或发言。也可以拒绝请求等等),这期问存在状态转换的问题,如下图:

  2.4信息管理

  为网络服务的正常进行和网络资源信息的“新鲜性”不被恶意破坏。还要有网络管理员对网络服务器进行日常的维护和更新。

  2.5电子白板

  此功能是供学生在被安排讨论活动时,教师启动系统的讨论功能,即使用“电子白板”,让学生自由发表自己意见用的,借此可以加深对课程的理解。

 3、系统主要功能模块设计及实现

  根据系统设计的目标和系统功能设计,将整个系统平台划分成若干核心功能模块.这些功能模块都町以单独开发调试以便于分工合作,当这些核心功能模块都实现后进行集合,分别进行教师机程序集合和学生机程序集合,最后进行联合调试陶,该系统町分成下列几个核心功能模块。

  3.1核心功能模块简介

  3.1.1屏幕抓图模块

  该模块的主要日标功能是抓取教师机的屏幕指定教学区域数据。指定教学区域的原因是,因为在这个系统中,学生机仅仅可以看到教师机的教学课件部分.而教师机的控制管理部分在学生机是不可以看到的;并且将这些数据存放到指定的公共变量中以供其他函效访问。如接下来的数据压缩、数据传输等。在该部分中。为了使教师机的教学区域全部被抓取,采用抓取指定控件的方法。

  本文采用“虚拟显卡”的屏幕抓图技术来实现。Mirror driver是Windows NT下的一种镜像驱动,对于虚拟显卡驱动(Mirror Display driver)系统.发往物理显卡的所有命令也同样发送给Mirror Di印hydriV口,口J以在Mirror Display driver中模拟出当前系统的显示内容,因此称之为mirror。利用这个特性.就能很方便的捕获到当前屏幕的内容以及系统委绘制的Ⅸ域(变化部分)。是一种速度很快的截屏方法。

  3.1.2数据压缩模块

  该模块功能是对上一模块抓取的图像数据进行压缩,以便为后面的数据传输做准备。考虑到目前的网络带宽对多媒体数据传输带来的滞后问题,使用了压缩技术。可以使数据量大大减少。从而使得传输的速度大大提高。

  位图图像是围像文件格式存储的主要形式,它通过定义一个长·宽的二维矩阵.使图像的每一个像素点对应于矩阵中的一个坐标位置(X。Y).全部图像的像素点组成了长t宽矩阵的数据流(也称原始位图图像),为了减少数据的冗余,往往采用固定的格式和压缩算法把原始图像存储为位图格式的图像文件;在图像处理领域,由于显示的图像具有很小的随机性。它所使用的颜色限于全部调色板很小的一部分.而且往往在一小块很小的区域重复出现相同和相似的像素字节,而不是平均分配到整个显示区域,因此,位图图像很适合于压缩处理。目前,数据压缩算法很多,压缩效率也不尽相同。压缩又分为有损压缩和无损压缩两类。无损压缩就是经过压缩处理后的数据所表示的信息没有发生改变.但其压缩率很有限,有损压缩则以损失一部分次要数据为代价,来提高压缩率,经过分析本系统是在局域网中运行。所以就采用了无损压缩算法JPEG算法。

  3.1.3数据广播

  该模块实现了将教师机获取的并经过压缩处理的图像数据广播到每一台学生机上,以达到教学的目的。这样一来,网络教学的初步功能已经实现。即学生机已经可以看到教师机的授课内容。

  套接字SOCKET的通信方式有两种.即一个是面向连接的流式SOCK_STREM和面向无连接的报式SOCK_DGRAM。它们之间的区别在于前者在每一次完整的数据传输过程中都要经过建立连接、使用连接、终止连接的过程,在数据的传输过程中,各数据分组不携带目的地址,而使用连接号(ConnectID);而后者则以数据撤的方式进行信息的传递,每个分组都携带完整的目的地址,各分组在系统中独立传递,且不保证分组的先后顺序.不进行分组出错的恢复与重传。

  在本系统中传输屏幕数据时.经过分析,采用了数据报UDP无连接的传输方式.这样做的原因是减少CPU的消耗。无论多少学牛都只要一次发送操作就可以了,并且即使出现一些数据报丢失。学生机只会出现一闪Ifli过的乱屏而已,不会造成太大的后果。

  3.1.4终端控制

  此功能模块的功能是实现在授课过程中对听课学生机发送的消息的控制。如在授课的过程中.学生机要求提问不懂的问题或在教师机的授课过程中插入了提问,学生机答题的情况,即下一模块的电子举手的控制。

  3.1.5电子举手

  电子举手是在教师机授课或提问的过程中。学生机被动或主动地向教师机提出要求答题或提fnl问题的申请的一个动作。

  3.2教师机学生机功能集成

  这是该系统的最后一个阶段,即将各功能模块继成为一体。教师机功能集成的主要任务是将备功能模块集成为教师机程序.提供方便统一的用户接口界面,例如:窗口、菜单、图标、快捷键等。该项任务包括集成环境的控制、教师机的状态控制、学生机的登录控制与身份验证等。

  学生机功能的主要任务是将各功能模块集成为学生机程序.提供方便、统一的用户接口界面,例如:窗口、菜单、图标、快捷键等。该项任务包括集成环境的控制、学生机的状态控制,学生登录的控制,序列化等。

  4、结语

  近年来,随着技术的发展,网络教学系统使用的屏幕图像捕获方案越来越高效.本文提出的虚拟显卡正是提供这样一种新的思路。但因这些软件对于网络的依赖性都非常高.再高效的算法也需要优良的通信协议配合。相信在不久的将来,在保证高速的前提下,能够获得高分辨率的域质,使网络的各类应用达到更好的效果。