局域网内多媒体教学系统的研究与实现_毕业论文(编辑修改稿)内容摘要:

时支持 WebLogic Server,支持 EJB 和 EJB ,可以快速开发J2EE 的电子商务应用。 4. 利用 Jbuilder 可创建 (没有专有代码和标记 )纯 JAVA2 应用。 由于 Jbuilder是用纯 JAVA 语言编写的,其代码不含任何专属代码和标记,它支持最新的 JAVA标准。 5. Jbuilder 拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种 JDK 版本 , 包括 J2ME/J2SE/J2EE。 Jbuilder 环境开发程序方便,它是纯的 JAVA 开发环境,适合企业的 J2SE开发。 本系统采用的 图像压缩算法 本系统采用 用软件编/解码的方法对图像数据压缩和解压缩。 在授课中屏幕图像变化率很低,有时屏幕电子教案可能要延用几分钟。 这种运动图像信号,除帧内像素间相关外,帧 与帧之间的像素值也有很强的相关性,且帧变化较平稳。 若能利用帧之间的数据相关性,通过特殊变换,屏蔽帧与帧之间的变化,使之表现为大量连续相同数据,只保留差异,则使用简单高效的行程编码就能得到较高的压缩比。 本 系统对帧间编码使用了两种方案,一种是基于异或运算的帧间无损压缩,一种是基于差值量化的帧间有损压缩。 1. 基于异或运算的无损压缩:利用异或运算性质可知,令 X 为时刻获取的屏幕图像的像素值, Y为时刻获取的屏幕图像的像素值,在传送端,对两幅图像的 像 6 素按位进行异或运算,相同的像素异或结果为 0。 如果帧与帧之间的变化很少, 则会出现大量连续的 0。 再用简单的行程编码对异或结果进行压缩,可以得到较好的压缩结果。 传输压缩后的数据,在接收端接收并解压缩,与上一帧图像像素再次进行异或运算可还原该图像。 [3] 2. 基于差值量化的有损压缩:由人的视觉、生理、心理学的论证可知,肉眼对大面积图像能分辨出的灰度等级比对小块图像或细节部分的灰度等级大得多。 亦即,如果相邻像素的色值差别很小,人的眼睛无法分辨,可考虑将相邻且相近的色值量化为 1 个色值。 [3] 7 第三章 多媒体教学平台的设计 需求 分析 现有教学系统的问题 目前,市场上现 有的网络多媒体教学系统成本相对较高,系统依赖性强,针对 本 校的情况,如果要在 每一个 计算机 教室 都安装这样的系统,那么超额的成本使这项工作难以进行。 针对这个问题,研发一个具有自主知识产权的跨平台的多媒体教学系统是一项势在必行的工作。 本 系统功能模块分析 本系统采用 C/S(Client/Server)模式。 学生机作为 Client(客户端 ),而教师机作为 Server(服务端 )。 教师机为学生机提供服务,并对学生机进行管理。 本 系统需要有教师机和学生机这两个部分 , 教师端功能:屏幕广播, 教师端发布作业,屏幕录制, 屏幕回放,屏幕监视,提问问题、问题答疑, 显示学生机的 IP,在线人数统计,网上聊天,发出警告,关机、重启、注销;学生端功能: 学生端 提交作业,接受广播,接受监视,接受警告,接受关机、重启和注销,向老师 请教 问题等。 功能模块 如图 31: 屏幕操作 显示学生 IP 显示在线人数 屏幕回放 屏幕广播 屏幕录制 屏幕监视 远程控制 发出警告 远程关机 联机 讨论问题 联机互动 提问问题 远程注销 远程重启 回答问题 教师端 教师端发布作业 8 图 31 功能模块图 系统基本结构 本系统的 设计 主要是针对局域网内一台教师机和多台学生机的模型,教师机充当服务器的角色,学生机充当客户机的角色,其系统的 基本 结构 示意图 如 图 32所示 : 图 32 系统结构示意图 屏幕操作 学生端 联机互动 接受警告 接受远程控制 学生端 提交作业 接受屏幕广播 接受屏幕监视 接受远程关机 接受远程重启 接受远程注销 联机 讨论 问题 向老师请教问题 回答老师提问的问题 9 协议设计 的模型 基于 UDP多媒体转输协议设计的模型系统,与 RTP/RTCP 协议 相比, 系统设计的时候简化了排序处理等流程,同样采用 了 客户端 /服务器模型。 下面分别给出服务器的发送程序流程图和客户机的接收流程图,如图 33和图 34所示。 图 33 服务器的发送程序流程图 发送端首先获取经过压缩的一帧视频数据,递交给 UDP 分组处理。 然后将一帧视频数据按照要求分解为适合网络传输的一系列小的数据包 ,并加上此协议的分组包头,其中包括数据包的顺序号、时间戳,视频数据的压缩格式等参数,然后完成发送。 发送端根据接收端反馈的延迟估计和接收质量报告调整发送速度。 客户端从端口获取数据包后写入接收缓冲区。 根据数据包头信息确认数据包是否丢失,做出相应处理。 由于在发送端控制每个发送的数据包小于 1024 字节, 所以在止常的网络状况下传输的延迟比较小。 而且由于发送的数据包大小一样, 并且严格控制数据包发送的时间间隔,传输抖动现象发生的可能性很小。 所以,在客户端只按照接收到的数据包的序列号的顺序判断是否有丢失现象发生。 如果接收的 数据包是有序的,则认为没有丢失现象发生加果接收的数据包是乱序的,则作否 是 是 是 否 否 开始 获取一帧视频数据 发送数据包头 添加数据包头 生成数据包头 视频数据等分为若干数据包 获取成功 发送完毕 结束 结束 10 为丢失数据包处理。 经过查阅相关资料证明了这种处理方法是简单有效的。 再接收到一个完整的帧数据的所有分组后,根据序列号是否连续判断是否发生数据包的丢失,分离数据包头,最后恢复成一帧完整的视频数据,再根据缩格式标记送往相应的解码流程。 图 34 客户端的发送程序流程图 是 否 否 是 否 是 开始 丢失这帧数据 解码提示 回复一帧数据 分离数据包头 写入缓冲区 读数据包头序列号 读出端口数据 是否丢失数据 接收完毕 结束 结束 11 第四章 多媒体教学平台的实现 屏幕录制 由于屏幕截取 比较接近操作系统的操作,在 Windows 操作系统下,该操作几乎成了 VC、 VB 等的专利,事实上,使用 Java JDK 提供 的 一个 Robot 类,来完成屏幕截取操作,更加简单。 Robot 类的 对象,可以完成对屏幕像素的拷贝 ,完成屏幕图像截取操作。 该类用于产生与本地操作系统有关的底层输入、测试应用程序运 行 或 自 动 控 制 应 用 程 序 运 行。 Robot 类 提 供 了 一 个 方 法 :createScreenCapture(), 可以直接将全屏幕或某个屏幕区域的像素拷贝到一个BufferedImage 对象中,我们只需要将该对象写入到一个图像文件之中,就完成了屏幕到图像的拷贝过程。 循环这个操作,将 一系列图像文件 保存到硬盘上的某个文件夹中,这样就可以完成屏幕录制了,在本课题软件中捕获的是全屏幕区域。 实现的流程图如图 41所示: 图 41 屏幕录制 执行过程 流程图 //取得当前显示器的分辨率: screenSize = ().getScreenSize()。 //获得屏幕大小 否 是 开始 用 ()进行 图像捕获 把 捕获后 的图像 存放到 图像数据缓冲区 BufferedImage 图像编码保存 成 JPG 格式 录制完成 结束 通过 FileOutputStream 文件输出流 往指定的文件夹写入图片 关闭输出流 睡眠 40 毫秒 12 rectangle = new Rectangle(screenSize)。 //可以捕获屏幕区域 //实现录制过程的主要代码如下: while (true){ try{ BufferedImage image = (rectangle)。 //把捕获到的指定屏幕矩形区域图像存放到可访问的图像数据缓冲区 Image, createScreenCapture 捕获 指定 屏幕矩形区域 的图像 fos = new FileOutputStream(C:\\records\\ + i + .jpg)。 //创建一个文件输出流对象 ,往指定的文件里面写图片 //FileOutputStream 创建一个向指定 File 对象表示的文件中写入数据的文件输出流 (fos).encode(image)。 //图像编码成JPEG ()。 //关闭输出流 i = i + 1。 //进行下一张的图片写入 (40)。 //每秒 25 帧 ,每 40 毫秒保存一张 } } 当在主界面上点击“屏幕录制”按钮 的时候,会弹出一个录制的对话框,效果如图 42 所示: 图 42 屏幕录制界面 13 屏幕播放 屏幕播放可以让教师预先录制好屏幕图像,以 JPG 格式的图片形式存储,以后通过“屏幕回放”功能可以进行播放,再现录制时的屏幕图像画面。 这既可以方便老师提前备课,又解决了学生跟不上教学进度的问题,还可以让学生在课余的时间自己去温习上课的内容,极大提高教学效率这个功能是建立在屏幕录制之后的,把屏幕录制保存下来的一系列连续的图片调出来并与屏幕录制相同的速度显示在电脑屏幕上,这样就可以看到之前录制的屏幕了。 其实现的流程图 如图 43如下: 图 43 屏幕播放 执行过程 流程图 实现的主要代码如下: public void run(){ int i = 0。 //定义图片从序号 0开始 while(true){ try{ cimage = loadImage(i + .jpg)。 //取得一张图片 i = i + 1。 否 是 开始 取得要播放图片的文件夹 从序号 0 开始 取一张 的图片 把图片 显示到屏幕上 播放完成 结束 按录制时的先后顺序 从 0 开始编号图片 睡眠 40 毫秒 取下一张图片 14 repaint()。 //重 绘 (40)。 //与录像时每秒帧数一致 }catch(Exception e){ ()。 //打印异常的消息 (e)。 } } } 当在主界面上点击“屏幕播放”按钮的时候,就会看到一个播放的对话框,效果如图 44所示: 图 44 屏幕播放界面 图 教师机与学生。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。