goback
月期刊咨询网
当前位置:首页>>计算机网络论文>>正文

计算机科技论文屏幕共享方案研究与实现


所属栏目:计算机网络论文
发布时间:2014-09-23 13:16:40  更新时间:2014-09-23 13:51:39

已签订领域:化学工程/制药,医学题目:**作为抗癌剂***催化剂**取代苯丙***SCI四区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:用**电***生物传感器**癌症**SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:**氧化石墨烯纳米***材料的生物传感器***结肠癌生物**癌胚****SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:聚合物纳米***a-硫辛酸***在神经炎症***应用***临床分析SCI二区 直击了解更多选题

已签订领域:计算机视觉/遥感/智能驾驶/汽车题目:**深度学习***高分辨率遥感***车辆检***SCI三区 直击了解更多选题

已签订领域:企业管理题目:社会交流***领导***倾向***方向SSCI,SCI三区,二区 直击了解更多选题

已签订领域:企业管理题目:**中小企业社交媒体****可持续绩效***因素探析SSCI,SCI三区,二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:利用硫氨酸***石墨烯纳米***电化学***传感器实现癌胚抗原***SCI二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:基于抗***纳米复合***高性能***早起癌症诊断***SCI二区 直击了解更多选题

已签订领域:经济,能源题目:***政治冲突****绿色金融、金融**、气***化***SCI四区 直击了解更多选题

已签订领域:经济,能源题目:冲***中能源不安全对***和环境***SCI四区 直击了解更多选题

已签订领域:教育题目:大学生***社交媒体***成绩影响***SSCI三区 直击了解更多选题

已签订领域:教育题目:巴基斯坦***学习实施的***的**SSCI二区 直击了解更多选题

已签订领域:教育题目:大学生对****下网络教学**思***SSCI二区 直击了解更多选题

已签订领域:教育题目:**教师和学生对影响***医疗**效果的****看法SSCI三区 直击了解更多选题

已签订领域:计量经济学题目:**货币、黄金、**和美国***的波动***相互依赖性:**数据的分析SSCI一区 直击了解更多选题

已签订领域:计量经济学题目:东南亚***内**趋同***中等收入**:新**的***SSCI二区 直击了解更多选题

已签订领域:建筑,历史题目:历史景点在***旅游发***中的***影响**(**研究:**历史***)SSCI,SCI一区 直击了解更多选题

已签订领域:领导力,管理题目:量化**领导对角色绩效***响:**冲突与工作自主性***作用SCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:数字***环境对学生学习成绩***:游戏**和***现实在教育***作用SSCI四区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***续决策之间的***:创新***识的**作用SSCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:课程**对大学生***发展的影响:学习习惯和***的***作用SSCI一区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***与可持续决策**:高等***学生认知***作用SSCI二区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语****学**与人工智能****学习SCI三区 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐**对学生成绩***的影响SCI三区 直击了解更多选题

已签订领域:人体工程,心理学题目:基于预先处理模型***模式人体工程学***女生肌肉骨骼***预防行为*** 直击了解更多选题

已签订领域:人体工程,心理学题目:制定一个***人体工程学**,以识别、优先考虑***职业压力源的*** 直击了解更多选题

已签订领域:人体工程,心理学题目:多重工作**压力和工作***:***工效学方法的混合方法*** 直击了解更多选题

已签订领域:数学,经济题目:数学模型***结构调整和经济转型****研究 直击了解更多选题

已签订领域:数学,经济题目:***时间**数学模型在***媒体营销**中的应用*** 直击了解更多选题

已签订领域:数学,经济题目:***时间**模型在***物流运**能力***研究 直击了解更多选题

已签订领域:数学,经济题目:碳****经济的数学模型****研究 直击了解更多选题

已签订领域:农村经济题目:农****社区**发展***分**SCI四区 直击了解更多选题

已签订领域:农村经济题目:创业***对乡村****发展的****SCI四区 直击了解更多选题

已签订领域:农村经济题目:农村创业****的空间*****究SCI四区 直击了解更多选题

已签订领域:医学,电化学题目:纳米颗粒*****及其在癌症****和重金属*****检测中的应用SCI三区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****前列腺癌药物氟****检测方法的*****腺癌治疗SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:气海***********金纳米颗粒的新型****************粘土及其对胃癌********************抗癌SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于抗***********GCE纳米***********材料的高性能*******************早期癌症SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:用******电化学生物传感器*****癌症***************SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****石墨烯纳米****材料的生物传感******用于测定结肠*****生物*****SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:聚合***纳米复合电极*****疏辛酸电化学检测*********SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:利用****酸/**糖**石墨烯纳米复合修饰的电化学*****SCI二区 直击了解更多选题

已签订领域:环境能源,绿色投资题目:环境能源、绿色投资、城市化和环境类方向SCI三区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语教学**人工智能***习SCI 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐形式*学生***影响SCI三区 直击了解更多选题

已签订领域:经济,绿色投资题目:***能源效率***化之间的***SCI三区 直击了解更多选题

已签订领域:经济政策题目:***阐明**印度经济***的关系SCI三区 直击了解更多选题

已签订领域:经济,金融题目:***国家的能源***重***SCI 直击了解更多选题

已签订领域:经济,金融投资题目:***融新之间***直接投资***SCI三区 直击了解更多选题

已签订领域:经济,数学,统计学,管理学题目:非***想重限制下***袭评价***SSCI四区 直击了解更多选题

已签订领域:经济,数字,管理学题目:基干***生产系统***SSCI四区 直击了解更多选题

已签订领域:农业,土壤科学题目:不同***有机覆盖***养分循环SSCI 直击了解更多选题

已签订领域:电力与能源系统,管理题目:pv***氢定价的***随***型稀SSCI,SCI二区 直击了解更多选题

已签订领域:建筑规划,计算机题目:使用***因子分析法***可持续***SCI三区 直击了解更多选题

已签订领域:工程技术,纺织工程,材料科学题目:甘***淀粉酶的提取***退浆中的应用SCI四区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:饲料***镉毒性的交互***生长***病理学***SCI二区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:****鱼水源***起的生******SCI三区 直击了解更多选题

已签订领域:金融,环境经济题目:*****预算在能效、绿色***的作用SCI 直击了解更多选题

已签订领域:应用数学/计算物理题目:***非线性库***自相位调制***SCI三区 直击了解更多选题

已签订领域:计算机,医学检测题目:***COVID-19***力***算法***决策SCI三区 直击了解更多选题

已签订领域:计算机,物联网,智慧城市题目:基于***物联网****算法SCI三区 直击了解更多选题

  屏幕共享是一个很早就有的想法,它最初是在1968年被Engelbart展示出来的[1],但当时的共享主要是通过硬件实现的。后来随着网络的发展,逐渐出现了软件实现的屏幕共享方式。相对于硬件实现方式,软件实现方式很大程度上降低了成本,同时降低了复杂度。

  摘 要: 针对远程教学中学生机端同步显示教师机端教学内容的需求,提出了一种基于Mirror Driver的教师机端屏幕共享解决方案。该方案基于教师机端对DirectDraw非高依赖和Mirror Driver能精确高效捕捉屏幕变化区域的特点,首先对教师机端屏幕高效捕捉;然后将捕捉的变化图像压缩成JPEG格式,通过网络传输到学生机端;最后学生机端提取JPEG数据,并转换成BMP图像,将多变化区域图像合成显示。实验结果表明,此方案能够实现高效的屏幕捕捉并同步显示,具有良好的实时性,可以应用于远程监控、远程教学等领域。

  关键词: 计算机科技论文,Mirror Driver,屏幕共享,图像合成,JPEG

  Research and implementation of screen sharing scheme based on Mirror Driver

  Zhou Shuyi1, Li Bin2, He Yuhu1

  (1. Modern Technological Center in Education, Beijing University of Technology, Beijing 100124, China;

  2. Department of Computer Science, Beijing University of Technology)

  Abstract: To meet the demand of synchronous display between student-side and teacher-side in distant teaching, a resolution of teacher-side screen sharing technology based on Mirror Driver is introduced. In view of the characteristics of non-high dependence of DirectDraw on the teacher-side and Mirror Driver captures the screen variation region efficiently and precisely, this resolution firstly captures the teacher-side screen effectively. It compress the snapped varying picture to JPEG format and transmit it to the student-side over the network. The student-side extracts the JPEG data, converts them to BMP picture, composites and displays the changing area. The practice shows that this method can capture screen efficiently, and display synchronously. It has a good real-time performance, and may be applied in the domain of remote monitoring and distant teaching.

  Key words: Mirror Driver; screen sharing; image synthesis; JPEG

  0 引言

  目前主要有基于Hook和基于Mirror Driver的软件屏幕共享技术。Hook是Windows提供的一种重要的系统接口,当屏幕重绘消息被系统处理之前,会被Hook捕捉到并处理。基于 Hook的方法计算量比较小,速度比较快,占用系统资源较少[1],能较好地平衡CPU占用率和生成文件的大小[2],但无法捕捉控制台等DOS窗口的变化[1],并且对屏幕变化的跟踪具有不确定性[2]。Mirror Driver是虚拟设备的显示驱动,对一个或多个额外的显示设备进行绘图映射,并且能够精确地捕捉屏幕的变化区域。基于Mirror Driver的方法在精确度、准确度、CPU占用率及稳定性等方面均满足理想要求。由于不支持DirectDraw,会对DirectDraw依赖较高的应用程序产生较大的影响,丧失硬件加速功能[3]。

  综合考虑目前软件屏幕共享技术的优缺点,本文提出一种基于C/S(客户机/服务器)体系结构的远程教师机屏幕共享方案。

  1 架构设计

  1.1 系统体系结构

  C/S软件体系结构是基于资源不对等,为实现资源共享提出来的[4],并且很多分布式系统都是以此体系结构实现的。该方案以教师机端作为服务器,学生机端作为客户端,实现学生机端同步显示教师机屏幕的功能。该方案的系统体系结构如图1所示。

  1.2 系统功能设计

  教师机端采用Mirror Driver技术实现屏幕动态变化区域捕捉,为了保证变化图像的稳定准确传输,将捕获到的图像压缩成JPEG(Joint Photographic Experts Group)格式,压缩后的图像压缩率达到95%以上,同时图像也能保证较高的清晰度。   由于学生机端接收到JPEG图像后,需要将图像在指定位置显示,因此,教师机端需要对传输的JPEG图像加入包头信息,用于描述图像的位置、长度、捕捉的顺序等信息。

  UDP协议不提供可靠通信保证[5],不能保证传输的数据能够到达目的地,是一种面向无连接的通信协议;TCP具备可靠的传输特性,能够保证数据准确有序到达目的地,是一种面向连接[6]的协议。在网络传输过程中丢帧会造成学生机端接收的图像出现不连续、花屏等现象,因此,为了保证变化图像能够准确有序地到达学生机端并显示,教师机端采用TCP协议传输变化图像。

  由多幅JPEG图像内容合成的图像中往往存在质量因子或分块位置不一致[7] 等问题。为了保证合成后图像的一致性和位置的准确性,同时降低图像合成的复杂性,并提高图像合成的效率,将学生机端接收到的JPEG图像转换成 BMP(BitMap)图像。该方案实现的系统功能如图2所示。

  2 系统实现

  2.1 Mirror Driver技术

  Mirror Driver由Display Driver与Video Miniport Driver驱动构成。Mirror Driver功能的实现主要依赖Display Driver驱动实现。Display Driver通过Win32 API与内核模式下GDI(Graphics Device Interface)组件交互,并且必须支持GDI调用所需的接口,这些接口是 DrvEnableDriver,DrvGetModes,DrvEnablePDEV,DrvCompletePDEV,DrvEnableSurface,DrvDisableSurface,DrvDisablePDEV,DrDisableDriver,DrvAssertMode[3]。

  2.2 打包格式

  对将要发送的JPEG数据加入包头信息,其中序列号表示捕获的变化图像的顺序,保证学生机端以正确顺序显示变化图像;数据长度表示JPEG图像实际长度,用于在一次Socket接收的数据中分离出一个变化图像;起点x和起点y表示捕获图像在桌面左上角坐标;终点x和终点y表示捕获图像在桌面右下角的坐标。包头格式如图3所示。

  2.3 学生机端接收缓冲区设置

  Windows MFC对底层Socket[9-10]实现进行了面向对象的封装,使用起来更加方便。本系统使用CSyncSocket类实现网络中数据的异步传输。

  当教师机端捕捉变化图像过多,学生机端没有足够缓冲区接收的情况下,就会出现丢帧现象,但是TCP协议会对丢失的帧进行超时重传,这样会影响学生机端对服务器端变化图像的实时显示。为解决这个问题,学生机端需要将底层Socket的缓冲区设置到尽可能大,使用CSyncSocket类中 SetSockOpt函数设置,第一个参数使用SO_RCVBUF(用于指定接收缓冲区的大小)。

  学生机端每接收一次数据,都需要在接收的数据中提取出JPEG图像,并且提取出的JPEG图像可能有很多个,然后发送消息通知应用程序接收数据,但应用程序不一定能及时处理缓冲区中的消息,如果不能及时处理接收到的数据,会出现丢帧现象,此时TCP不会重传丢失的帧。丢帧会造成客户端图像显示不连续等问题,为了解决此问题,本系统使用动态分配内存的循环缓冲队列方法。

  当学生机端接收到数据后,需要根据图3中定义的包格式提取JPEG图像信息。由于JPEG图像的数据长度相差过大,若是提前分配空间,会造成空间浪费现象。此时可以分配足够大的数组空间用于记录已经分配空间的指针,该方案分配30个数组空间,使用WIN7操作系统,4 核CPU,在高负载的情况下最高使用15个堆空间,并运转正常。使用循环队列的方式对指向堆空间的指针进行管理,当有数据到来时则分配堆空间,图像合成显示后则销毁指针指向的堆空间。动态分配循环队列缓冲区如图4所示。

  2.4 JPEG图像转换成BMP图像

  为了实现图像转换,本系统选用目前广泛使用的开源库Libjpeg[11]。Libjpeg库是一个完全由C语言实现的库,包含了JPEG解码、JPEG编码功能的实现。在这里为了能够将接收到的JPEG图像数据转换成BMP数据,并将转换后的BMP图像放入内存,需要对Libjpeg进行如下修改。

  在结构体djpeg_dest_ptr中删除FILE*output_file,添加PBYTE pData和UINT nDataLen,记录输出缓冲区的地址和输出缓冲区的大小。

  修改write_bmp_header函数,删除函数中写入位图文件[8]的信息,并将位图信息写入内存,添加如下代码:

  memcpy(dest->pub.pData,bmpinfoheader,40);

  修改finish_output_bmp函数信息,将转换后BMP图像写入输出缓存,添加如下代码:

  for (col=dest->row_width; col>0; col--) {

  memcpy(pData+i,data_ptr,1);

  i++;

  data_ptr++;

  }

  dinfo是jpeg_decompress_struct结构体类型,记录解压过程中的所有信息。JPEG图像转换成BMP图像过程如图5所示。

  [初始化dinfo

  jpeg_create_decompress()][将接收的jpeg图像数据写入缓存

  jpeg_mem_src()][读取JPEG图像的头信息,写入dinfo

  jpeg_read_header()][初始化输出缓冲区

  jinit_write_bmp()][JPEG图像解压开始   jpeg_start_decompress()] [将解压数据输出到虚缓冲区

  start_output()][从虚缓冲区读数据到输出缓冲区

  jpeg_read_scanlines()

  put_pixel_rows()][解压完成

  finish_output()][清除剩余资源

  jpeg_finish_decompress()

  jpeg_destroy_decompress()]

  图5 JPEG图像转换成BMP图像

  2.5 BMP图像的合成显示

  学生机端第一次连接教师机端时,会接收到完整的屏幕图像。根据图3中描述的坐标信息,可以知道教师机端屏幕的分辨率,然后根据分辨率建立屏幕显示缓冲区。根据坐标信息,将转换后的BMP图像填充到缓冲区指定位置。BMP图像存储时要求每行的字节数是4的整数倍,若不满足此要求,需要对该行填充字节信息。为了保证图像正常显示,在将接收到的图像数据放到缓冲区指定位置前,去掉填充字节,然后利用Windows提供的GDI库对桌面显示缓冲的图像进行显示[12]。位图显示过程如图6所示。

  3 实验结果

  该方案实现后,教师机端能够高效捕捉变化区域图像,学生机端可以及时接收教师机端传送的变化图像。在教师机端传输变化图像过多时,学生机端依然能够对变化图像合成并正确显示。学生机端接收的JPEG图像和转换后的BMP图像清晰度对比如图7、图8所示。两个图像分辨率都是110×108。

  该方案以教师机端每分钟鼠标移动次数为基准,对教师机端和学生机端进行性能测试,测试环境如下。

  教师机端:操作系统,WIN7,32位;CPU,双核,3.0GHZ;内存3G。

  学生机端:操作系统,WIN7,64位;CPU,四核,2.66GHZ;内存4G。

  测试结果如表1所示。

  实验结果表明,经过JPEG压缩,然后转换成BMP图像后,屏幕图像能够保持很好的清晰度,能够准确显示远端教师机屏幕变化;随着每分钟鼠标移动次数的增多,教师机端CPU使用率有很小幅度的升高,学生机端CPU使用率基本上没有变化, 效率较高。

  4 结束语

  本文旨在提供一种对远端计算机屏幕变化图像进行捕捉,通过网络传输到客户端,并合成显示的完整解决方案。此方案可以应用于远程教学,将教师机桌面变化及时呈现到学生机端;可以应用到远程监控,将多个计算机的屏幕变化图像统一传输到监控客户端,并统一显示。实际部署及应用结果表明,采用本方案实现的系统,性能优良,具有良好的应用前景。

  参考文献:

  [1] 杨红生,田地,王丰贵等.基于Hook和轮询检测机制的屏幕共享技

  术[J].计算机工程与应用,2009.45(5):29-31

  [2] 倪晓军,郑龙.基于Mirror Driver的自适应屏幕录制算法[J].计算机工

  程,2011.37(11):281-282

  [3] 周恕义,陈圣奇,贺玉虎等.基于Mirror Driver的屏幕图像捕捉技术[J].

  计算机工程,2013.39(6):295-303

  [4] 张友生,陈松乔.C/S与B/S混合软件体系结构模型[J].计算机工程

  与应用,2002.23:138-140

  [5] 赵飞,叶震.UDP协议与TCP协议的对比分析与可靠性改进[J].计算

  机技术与发展,2006.16(9):219-221

  [6] 张艺濒,张志斌,赵咏等.TCP与UDP网络流量对比分析研究[J].计算

  机应用究,2010.27(6).

  [7] 李晟,张新鹏.利用JPEG压缩特性的合成图像检测[J].应用科学学

  报,2008.26(3):281-283

  [8] 徐殿武.位图文件操作的程序设计的研究[J].微计算机信息,

  2007.05X:176-178

  [9] 张允刚,刘常春,刘伟等.基于Socket和多线程的远程监控系统[J].控

  制工程,2006.13(2):175-177

  [10] 于涛,王健.基于Socket通讯技术的上层监控软件的实现[J].计算机

  技术与发展,2009.19(3):243-245



月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!
  • 水利学报是ei吗?EI+北大核心+CSCD(附水利类最厉害三个期刊)

    2025-04-11
    《水利学报》是EI期刊,而且也是北大核心和CSCD核心期刊 ,显示了其在国内外学术界的认可度和极高的含金量,以及学术价值。作为一名水利工程师,投稿《水利学报》对于评职称无疑是一个加分项,具体详情如下: 1、基本信息 创刊:1956年 复合影响因子:4.871 综合影响因
  • 审稿快速,1-3个月录用的SCI期刊推荐

    2025-04-10
    每位作者都想要发表sci期刊论文,但想要成功发表,必须确保论文质量、创新性和数据的真实性、科学性和有效性,并符合目标期刊的要求。今天在这里为大家推荐部分 审稿快速,1-3个月录用的SCI期刊 ,供大家参考: 1、 BRAIN RESEARCH IF:2.7 2023-2024自引率:3.70% 审
  • sci论文图片来源怎么注明(附sci论文投稿流程详解)

    2025-04-10
    不同sci期刊对论文图片来源要求和规范存在差异性,作者在投稿之前,一定要遵循目标期刊的要求上传,以免出现不必要的问题。那么, sci论文图片来源怎么注明 ?详情如下: 1、了解期刊要求 在上传图片前,仔细阅读目标sci期刊的《作者指南》(Instructions for Authors
  • 教你如何摆脱中式英文,搞定SCI论文写作英文难题

    2025-04-09
    对于国内作者而言,撰写一篇高质量的SCI论文是非常困难的,毕竟国内外语言风格、习俗和时态存在一定的差异性。今天 教你如何摆脱中式英文,搞定SCI论文写作英文难题 ,助你撰写高质量的sci论文,快速完成发表。 一、SCI写作须避免使用中式英语 1、理解文化差异 中式英
  • 教师评副高正高级职称对发表的学术期刊有什么要求

    2025-04-09
    学术期刊论文是教师评高级职称成果之一,虽然一些单位还要去出版著作或申请专利,但一定要根据单位评审文件要求准备适合的学术期刊。今天在这里为大家介绍介绍 教师评副高正高级职称对发表的学术期刊有什么要求 。 一、期刊基本要求 1、正规期刊 期刊须具备CN刊号(国
回到顶部