网络监控中屏幕图像实时传输方法和实现.docVIP

网络监控中屏幕图像实时传输方法和实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络监控中屏幕图像实时传输方法和实现

网络监控中屏幕图像实时传输方法和实现   摘 要 介绍了远程屏幕图像传输涉及的关键技术,就网络传输协议的选择和改进做了重点分析,结合一个具体的远程屏幕图像传输系统,给出了系统的总体架构和思路,并介绍了在.NET平台下实现系统的相关类及重要方法。   【关键词】屏幕图像 图像传输 传输协议 .Net框架   远程屏幕图像传输是网络管理、远程监控和电子教室等应用中的关键技术,主要涉及屏幕图像的捕捉、压缩、传输、解压缩和显示等技术。本文较为全面地分析了屏幕图像传输的关键技术,着重介绍网络传输协议的选择和改进,并给出在.NET平台下实现远程屏幕传输系统的总体构架,以及在实施过程中涉及到的关键技术和所采取的方案。   1 系统关键技术分析   1.1 屏幕图像捕捉   屏幕图像的捕捉是远程屏幕图像传输的前提,占用较多的处理时间,必须谨慎选择图像捕捉的方法。屏幕捕获算法大致分为两类:   (1)利用操作系统底层的GUI指令,如Windows提供的远程终端服务采用这种原理;   (2)利用屏幕拷贝和图像压缩的方法。这种方法不涉及操作系统底层GUI指令, 对于很多高层的应用较为简单和方便。本文所实现的屏幕图像传输技术是相对独立的软件模块,能够应用于网络管理和远程教育等多种场合,因此采用第二种方法。   该方法获取屏幕图像的技术有两种:创建屏幕设备描述表(Device Context,DC)方法和DirectX(DX)方法。在CPU为Athlon XPl700+,显卡为Geforce2 GTS并安装DirectX8.I的测试环境中使用DC和DirectX两种方法分别进行试验。结果显示DX方法在速度方面明显优于屏幕DC方法。但是,DX方式适用范围窄而屏幕DC方法适用范围广。   1.2 图像压缩   通常,屏幕图像的数据量非常大,在屏幕分辨率为1024×768,颜色质量为24位的情况下,一个标准系统桌面的位图图像,大小约为2.25MB,要在接收端屏幕流畅显示,发送端必须传送至少24帧图像。这样大的数据在Internet或局域网上传输,容易造成网络堵塞或瘫痪,所以必须进行压缩以保证良好的实时性。   为了进一步提高图像传输的实时性,要充分利用屏幕图像特点增大压缩率,减少图像传输的数据。计算机屏幕作为一类特殊的图形图像,不是时刻发生变化的,并且其变化具有局部性特点,因此,可以对屏幕图像采用分块传输的方法,仅对发生改变的图像块进行传输。屏幕分块的个数应根据实际情况来设定,过多或过少都会导致传输实时性的下降。根据参考文献[4],采用16×8屏幕块划分方式,这时数据传输效率最高。   对屏幕图像分块传输,需要判断图像块是否发生改变,对数据比较有三种方法即MemCmp、CRC和XOR方法。通过对它们进行测试,最后选择效率最高的XOR方法。   1.3 传输协议的选择与改进   屏幕图像在网络中传输涉及到网络协议,目前,TCP/IP协议得到了最广泛的应用,它为数据传输提供两种不同的协议,分别为传输控制协议TCP和用户数据报协议UDP。   TCP是一种面向连接的协议,保证数据的可靠传输,但是处理复杂,效率不高。UDP是一种简单的、面向无连接的协议,它消除了TCP协议生成连接时造成的系统延迟,又由于取消了数据重传机制,所以速度比TCP更快,很适合一些对数据可靠性要求不高的数据传输,如实时的语音、图像、广播信息等。本系统主要应用在误码率低、网络带宽较高的局域网中,并且图像传输具有“差错包容,延迟敏感”的特点,故采用UDP协议。   由于UDP面向无连接,不进行数据的确认与重传,这就使它不适合传送命令等关键信息,所以本系统在UDP协议的基础上在应用层设计了数据重传机制。   为了从应用程序中访问基于IP的网络,要用到Windows Sockets,它是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口,它提供的数据发送和接收机制隐藏了网络底层复杂的结构和协议,使得编程人员可以简单的操纵网络。   1.4 多线程处理   多线程是指操作系统支持一个进程中执行多个线程的能力,多个线程有助于提高程序并发程度、简化设计以及更好的利用CPU时间。屏幕图像传输过程主要包括图像捕捉、分块压缩编码、图像传输、接收、重组显示等,单线程难以同时进行这些工作。所以,将整个系统按处理过程划分为多个线程,还有一个主线程负责各线程的协调。   2 系统设计与实现   基于网络的远程屏幕传输系统属于典型的客户/服务器结构,由客户端与服务器端两部分构成。首先服务器端获取屏幕图像,然后对该图像进行软件编码实现图像分块压缩,将压缩后的图像块通过网络进行传输,客户端从网络接收图像数据后进行解压缩、重组图像块还原图像,最后,显示在屏幕上,系统数

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档