(计算机应用技术专业论文)异构系统远程控制的研究.pdf_第1页
(计算机应用技术专业论文)异构系统远程控制的研究.pdf_第2页
(计算机应用技术专业论文)异构系统远程控制的研究.pdf_第3页
(计算机应用技术专业论文)异构系统远程控制的研究.pdf_第4页
(计算机应用技术专业论文)异构系统远程控制的研究.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)异构系统远程控制的研究.pdf.pdf 免费下载

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

文档简介

摘要 随着计算机技术的快速发展,特别是对远程办公、远程协作、远程维护和远 程教学的需要,远程控制技术越来越引起人们的关注。远程控制是指从本机通过 软件操作远程计算机的屏幕、键盘和鼠标,从而使用远程计算机的功能,管理和 维护远程计算机。远程控制技术克服了地域性的差异而带来的不便性,大大提高 了办公效率,因而在网络管理,远程协作,远程办公等领域都有着广泛的应用。 现有远程控制软件具有的共同特点是仅仅支持w 抽d o w s 平台而缺乏对异构系统 的支持。 本文的研究重点为在异构系统下如何实现远程控制,将集中讨论被控端 f r a m es e r v e r 的设计、控制端v j e w e r 的设计以及系统之间的消息交互。被控端运 行在u n i x 脚肌x 上,而控制端运行在w i n d o w s 上,使用w i n d o w s 上的控制端软 件远程操作u i l i x l j l l u x 系统的被控端计算机,两者都工作在g u i 方式下。f r a m e s e n r e r 的设计包括运行结构设计、网络处理、图像编码、键盘和鼠标处理等内容。 e w e r 的设计基于w 血d a w s 消息机制和图像处理a _ p i ,包括运行结构设计、键 盘和鼠标处理、图像解码等内容。本系统的运行基于r f b 协议,从而很好地解 决了异构系统之间的消息通讯;采用加多路复用机制和链表结构,实现在多个 v i c w e r 之间共享显示。根据图形桌面的显示特点,本文对图像编码作了深入研 究,将二维行程编码和z u b 编码等多种编码方式应用于屏幕图像压缩,使e w e r 的屏幕图像数据得到实时更新,而且图像编码方式与平台无关。并且对w 诅d o w s 和xw 缅d o w 之间的输入转换进行了详细地阐述,使c w e r 的输入能够被f r 锄e s e r v e r 正确理解并处理。 关键词:远程控制;r f b 协议;xw i n d o w ;图像编码:i 0 多路复用 异构系统远程控制的研究 a b s t r a c t w i t ht h ed e v c l o p m e n to fc o m p u t e rt e c h n o l o g y a 1 1 dp a n i c u l 盯l yi nn e e do f 瑚n o t e w o r k ,r e m o t ec o l l a b o r a t i o n ,r c m o t em a i n t e a n c ea l l dt e l e 血c a t i o n ,t h er e m o t e n t m l t e c l l 】l i q u ei s m i n gt op e o p l e s n o t i c cm o r e 柚dm o r e t h er e m o t e n t r o lt e c h n i q u e i st t l a tt h ed c v i c c so fr e m o t ec o n l p u t c r 蛐c h 笛m i t o r ,k c y b o a r da i l dm o u s ec a nb e o p e 阳t c db yt h es o f t w a r cn l 皿i i l go nl o c a lm a c h i n e ,t h u st h ef e m o t ec o m p u t e tc a i lb e a d m i n i s t e r c d m a i l l t e n a n c c d ,姐dm a d eu s eo ft l l ef i l n c t i o 璐姐df e s o u r c e s n o v e r o o m 髑t h ei n c o n v e n j e n c eb r o u g h tb ym er e 酉o n a ld i f ! f e r c n c c s ,a n df e a t l y i m p r o v e so m c ee 蚯c i e n c y t h e r e f o r ei t i su s e dg e n e m l l yi nn e t 、】l r o r km a l l a g e m e n t , i e m o t ec o l l a b o r a t i o na l l dr e m o t ew o r k t o d a yt h er e m o t ec o n t m ls o f h a r eo n l y s u p p o n sw i n d o w s ,a n dp a n i c i l l a r l y 】a c k st h es u p p o no ft h eh e t e r o g e n e o u ss y s t e m t h et h e s i sf o c u s e sm a i n l yo nh o wt 0 i m p l e m e n tm er e m o t ec o n t r o l ,a i l d c o n c e n 仃a t c so nd i s c u s s i n gt h ed e s i 印o ff f 锄es e r v e r ,t h ed e s i 印o f c w e ra n d m e s s a g c se x c h 孤g eb e m e e nt h es y s t c m s f r a m es e r v c ri sr u i l i i i n go nu n i x & l i n u x , a n dv i e w e ri sn l 曲i n go nw i n d o w s n es o 脚黜o fv 至c w e rc o u l dc o n t r o lt h e c 衄叩u t e ro ff r 蛳es e e ri e m o t e l y b o t l lo ft l l e ma r em n n i n go nt l l em o d eo fg u i 1 1 l ed e s i 印o ff f a m es e e ri n d u d e st h es 咖c t u r ed e s i 弘,i l c 锕o r kp m c e s s ,i m a g c e n c o d i n g ,k c y b o 甜d 柚dm o u s ep m c e 辐,e t c b 鹞e do nt l l em e 鼹a g em e c h 姐i s m 锄d 孕印h i ca p io fw i n d o w s ,t l l e e w e ri n c l u d e sk e y b o a r dp m c 鹤s ,m o u s ep r o c e s sa n d i m a g ed e c o d i n g ,e t c t h es y s t e mi sb a s e d0 nr f bp r o t o c o l ,w h i c hg 陀a u ys c t e s m e s s a g e se x c h 柚g eb e 俩e e nt h eh e t e f o g 锄e o u ss y s t e m s t h ei 0m u l t i p l c x 柚dt h e 1 i n kl i s ta r ce x p l o i t e d 沁s h a r cd i s p l a yb e 南踟v i e w e r s 觚0 r d i n gt ot l l e c h a r a c t c i i s t i co f 掣a p h i cd e s i 【t 叩,t h ep a p c rt a k e sd e e p l yr e s e a r c ho ni m a g ee n c o d i n 岛 a n dm a i l ye n d i n gm e t h o d sa r c 印p l i e dt oi m a g c m p r e s s i o ni no r d e rt or e 舶s h v i e w e r ss c r c e nt i l l l e ly s u c h 如砌也,z l i b m o r e o v e r t h ei i i l a g ec n c o d i n gi sp l a 怕m _ i n d e p e n t e n t i na d d i t j o n ,m ei n p u tt 啪s f o 姗b e 押e e nw i n d o w sa n dx w i d o wi s e x p a n d e do n ,w l l i c hc o u l dm a k et h ef i 锄es e r v e ri n t e r p r e tc o r r e c t l ya n dd e a lw i t ht h e i n d u t sf r o mt h ev i e w e l k e yw o r d s :r e m o t ec o n 仃o l ;r f bp r o t o c o l ;xw j n d o w ;i l n a g ec 0 d i n g ;i 0m u l t i p l e x l i 异构系统远j 控制的研究 第1 章绪论 1 1 研究背景 随着计算机技术的快速发展,特别是对远程办公、远程协作、远程维护和远 程教学的需要,远程控制技术越来越引起人们的关注。 如今,很多人经常不在办公室内工作而选择在家办公或异地办公,如现场销 售人员、技术服务人员和顾问等就是这样。原因一方面在于便携式计算机在商务 旅行的人群中日益流行,网络也将人们日益紧密地联系在一起,另一方面也能方 便地访问用户。远程用户希望在离开办公室时能够访问在公司的远程计算机上的 信息和企业网络资源,而且工作环境也是移动的,即无论在哪个位置,只要存在 网络连接,用户就可以操纵他自己的应用程序,从一台计算机到另一个计算机之 间这些应用程序的状态都会保持,从而拥有一个熟悉的具有统一视图的计算环 境。 通常支持远程用户比支持在企业内工作的传统用户要更复杂并且开销更大。 遇到问题时,通常不可能或立即派技术人员到现场去解决问题,因此,信息技术 管理人员不断寻求更经济更有效的途径,以解决位于企业总部之外的技术支持问 题。企业内部或者i t 公司都有技术支持业务,其任务是通过电话解答疑难问题, 努力减少支持人员到现场服务或者让用户把设备送到支持中心进行维护,这种技 术支持方式尽管被普遍采用,但效率不高并且大大增加了技术支持成本。通常技 术支持必须依赖技术人员和用户之间的口头交流来进行,这种交流既耗时又容易 出错。许多商业用户对计算机知之甚少,然而当遇到问题时,他们必须向技术人 员提供故障情况,比如向无法看到计算机屏幕的技术人员描述问题的症状,按技 术人员的提示精确描述屏幕上的内容等。在尝试解决问题时,技术人员可能指导 用户执行一系列复杂的过程,而这些过程对用户来说也许完全不熟悉。如果用户 不能正确地按要求操作,就有可能使问题恶化。另外,有些修改本来就不能或不 该由最终用户进行,但若维护人员图省事,口头指挥用户操作,很可能产生严重 的后果。以上这些情形既费时又费事,如果通过电话不能解决问题,那么在技术 人员亲自到用户现场解决问题之前,计算机将一直不能使用。 近年来,远程教学迅速发展,这种全新的网上教学模式自由灵活,受时间和 空间约束较少,使学习者可以完全按照个人的需要进行学习。目前,远程教学多 以传播信息的方式进行,比如观看教师上课录像,浏览相关网页,通过发邮件留 言的方式向老师提问,通过论坛的方式进行讨论等。这些技术和方法有一个共同 缺点就是普遍缺乏实时性,特别是对某些操作性很强的课程,学习者希望在观看 教师操作软件的同时能够实际操作计算机,并得到教师现场帮助时更是如此。 无论是对于网络管理员和技术服务人员来说,还是对于需要访问公司信息和 计算资源的异地办公人员柬说,以及为提高远程教学实时性和增强学习者感性认 识来说,远程控制都提供了一种便捷、高效的手段。远程控制是指从本机通过软 件,操作远程计算机的屏幕、键盘和鼠标,从而使用远程计算机的功能,管理和 维护远程计算机,并利用其计算资源。远程控制技术克服了地域性差异而带来的 不便性,大大提高了办公效率。 作为桌面市场的主流操作系统,w i n d o w s 拥有众多的应用软件,包括远程控 异构系统远群控制的研究 制软件,利用这些软件,可对安装了w i n d o w s 系列操作系统的计算机进行远程 维护和远程技术支持。现有的软件有n e t m e e t i n g 、r c m o t e a d m i n i s t r a t o r 、r e m o t e l v a j l y w h e r e 、p c a m y w h e r e 等,还有一些黑客工具,例如r e ds p i d c r 。这些软件大 多能实现操作计算机、查看界面等功能,但是这些软件具有的共同特点是仅仅支 持w i i l d o w s 平台而缺乏对异构系统的支持。 u n i x 】l i n u x 操作系统已经被广泛采用作为文件服务器、数据库服务器、中间 件服务器和多媒体服务器等,事实证明其健壮、可靠,扩展性好,功能强大。 u n i x “n u x 操作系统也是一种日常办公环境,很多科学计算软件和图像处理软件 运行在该操作系统上,很多开发人员和管理员在u 1 1 i 】【舢n u x 平台下工作。另外 随着u n j x 】0 n u x 被广泛关注,很多培训机构开设了相关的课程,讲授u l l i x ,l i n u x 的使用知识。然而,由于习惯性等因素和u n i x u n u x 在易使用性、友好性方面 差强人意,对u n i x i j n u x 的使用普遍感觉困难,进行维护的也都是专业人员。 因此需要一种u n i x u n u x 下的远程图形界面控制方式,为处于移动计算环境下 的办公人员提供与公司台式机相同的图形访问界面,给技术支持人员提供友好易 用的基于图形界面的维护手段及时解决系统故障,也给学习者提供实时的远程教 学环境来学习操作u n i x u n 呔。这些要求的实现,利用上面现有的那些软件是难 以实现的。 1 2 研究工作和内容安排 本文研究的系统面向以下类型的应用:以安装有u i 】【u n u x 操作系统的计算 机作为被控端,而控制端运行在w 妯d o w s 操作系统上,使用w i n d o w s 上的控制 端软件远程控制u n i x u n l l 】【操作系统的计算机,两者都工作在g u i 方式下。因 为现有的远程控制软件大多针对w i n d o w s 操作系统,即被控端软件和控制端软 件都运行在w i n d o w s 操作系统上,无法提供异构系统的图形操作方式,但是安 装u n i x 几i n u x 操作系统的计算机大多承担非常重要的任务,如果能够提供友好、 易用的基于图形界面的系统,使用这些计算机的计算资源,对这些计算机进行远 程维护和查看其工作状况等等无疑具有很大的实用价值和现实意义。通过对异构 系统提供支持,一方面控制端工作在w i n d o w s 环境下,具有很好的可用性,另 一方面又可以远程操作u n i x 门l i n u x 计算机,使用其强大的功能。 本文设计的系统采用客户机服务器体系,被控端( 即f f a m es e r v e r ) 是 u n j x l i n u x 下的一个应用程序,它作为服务器,主要用于接收控制端命令、执行 命令和修改界面帧缓冲内容等,而控制端( 即e w e r ) 运行在w i n d o w s 下,它 作为客户机,主要用于捕获本地输入、发出命令和显示f r a m es e e r 的帧缓冲内 容等。首先启动u n i x l i n u x 下的被控端f r a m es e r v e r 程序,在w i n d o w s 下执行 控制端v i e w e r 程序,与f r a m es e e r 程序建立可靠网络连接,然后通过网络连 接交互各种命令消息,操作f r a m es e r v e r ,输入指令和查看结果。比如:获取远 端计算机屏幕图像,记录并提取远端键盘事件和鼠标事件,激活、中止远端程序 进程,管理远端计算机的文件和文件央,关闭或者重新启动远端计算机等,所有 这些都将在e w e r 本地操作并显示在屏幕上。本文中的被控端和控制端工作在 t c m p 的网络中,目前的开发和测试均为局域网。 本文的研究工作主要讨论被控端f t m es e e r 的设计和控制端v i e w e r 的设 计,它们包括: 1 ) f m m es e r v e r 的设计。f r a m es e r v e r 以x f r e e 8 6 为基础进行设计,包括运行结 异构系统远程控制的研究 构设计、网络处理、图像编码、键盘和鼠标处理等。本文采用r f b 协议来 处理异构系统之问的消息通信,从而很好地解决了异构系统之间的消息通 讯。对图像编码作了深入研究,将二维行程编码和z l i b 编码等多种编码方式 应用于屏幕图像压缩,使e w e r 的屏幕图像数据得到实时更新,同时图像 编码方式与平台无关。 2 ) v i e w e f 的设计。e w e r 程序基于w i n d a w s 消息机制和图像处理a p i ,包括 运行结构设计、键盘和鼠标处理、图像解码等。本文解决了w i n d o 啪和x w i n d o w 之间的输入转换,使得e w e r 的输入能够正确被f r 蜘es e e r 理解 并且处理。图形的显示方式简单,提高了显示效率。 3 1 网络运行设计。控制端与被控端通过网络相连,控制指令和显示图像都通过 流式套接字传输。本文采用i o 多路复用机制,使得f r a m es e r v e r 可以同时 处理多个c w e r 连接,并且在多个e w e r 之间共享显示。另外,考虑到本 系统是一个交互性很强的系统,为增强交互效果对套接字选项上也作了相应 的优化。 本文的内容安排如下: 1 ) 第一章讲述本文研究的背景和意义,提出了本文的主要研究目标和研究工 作; 2 ) 第二章详细介绍了r f b 协议、图像编码和系统使用的若干编码方式、x w i n d o w 系统构成、xw i n d o w 协议等; 3 ) 第三章进行总体设计,分析系统工作原理,分析f r a l l l es e n ,e r 和e w e r 之间 的消息交互等; 4 ) 第四章详细阐述f h m es e n ,e r 的运行流程和关键问题的处理与实现: 5 ) 第五章详细阐述e w e r 的运行流程和关键问题的处理与实现; 6 ) 第六章总结全文并提出下一步的研究工作; 刀最后为参考文献。 异构系统远程控制的研究 2 1r f b 协议 第2 章关键技术和方法介绍 r f b 协议是一个用来提供远程图形用户接口访问的协议。由于它工作在帧缓 冲( 即屏幕像素阵列) 级别,因此它适用于所有的操作系统、窗口系统或应用程 序,包含x 、m sw 抽d o w s 和m a c i i l t o s h 等。用户所操作的远程终端,包含一台 显示器,键盘和鼠标。远程终端所引起的帧缓冲变化请求将通知到服务器上。 协议强调对客户端的要求应尽量少,这样客户端能运行在更广范围的硬件环 境和软件环境下,也相对比较简单,因此r f b 协议是一个真正意义上的瘦客户 机协议。客户端以一种无状态方式运行。如果一个客户端断开和一个服务器的连 接后,随后再次连接同一个服务器,用户的图形界面上的所有状态会被保持,如 打开窗口的数目,位置,大小,颜色,鼠标位置,键盘输入的字符等,而且多个 客户端能连接到同一个服务器上,在新打开的客户端上用户所见到的将会是与开 始的客户端完全一致的同一个图形界面。这样,从另一个角度来说,用户应用程 序的图形界面将完全变成可移动的,无论在哪个位置,只要存在网络连接,用户 就可以操纵他自己的应用程序,而从一个终端到另一个终端之间,这些应用程序 的状态都会保持,这样将给用户提供一个熟悉的具有统一视图的计算构架。 2 1 1 界面显示 界面的显示基于以下原理:把整个图形界面看作由若干矩形区域组成,界面 的显示即为给定若干矩形区域的坐标( x ,y ) 和高度h ,宽度w ,输出该区域的 像素数据。当然,粗略一看这种做法可能难以绘制如此众多的图形界面元素,如 菜单,按钮,工具栏等。但是采取一系列不同的像素数据编码方式可以较好解决 该问题,而且这些编码方式在很大程度上提供了足够的灵活性来应付网络带宽、 客户端显示速度以及服务器端编码处理速度等问题。 界面的变化由一连串的矩形序列组成。界面的修改就是帧缓冲从一种状态变 换到另一种状态,如同视频中的帧切换。当服务器端接收到客户端的事件后,改 变帧缓冲中的内容,把界面的变化作为对客户端事件的响应发送回客户端,因此 界面何时变化是由客户端的事件进行驱动的。帧缓冲的变化由客户端的事件驱动 使得系统具有较好的环境适应性,具体体现在运行计算机速度或网络速度上。比 如,对于一个应用,在对帧缓冲中某个区域的修改频频发生时,如果客户端较慢 或者网络较慢,帧缓冲中某些中间态被忽略了,仅发出最新的状态,这样可以减 轻网络负担或者减少慢客户端的绘制次数。反之,客户端越快或者网络越快,帧 缓冲的修改速度也越快。 2 1 2 输入 对输入的规定建立在标准工作站模式上,即一个键盘,一个鼠标作为标准输 入设备。当用户击键或按鼠标时,或移动鼠标时,产生一个相应的输入,该输入 作为事件发送到服务器上。当然输入事件也可以由其他非标准的i o 设备产生, 编码处理。 4 异构系统远程控制的研究 2 1 - 3 像素数据的表示 客户端与服务器之间进行交互的初始阶段有一个非常重要的工作,就是对双 方的像素格式和编码方式进行能力协商。协议规定,该能力协商工作对客户端来 说应尽可能简单,服务器应尽量支持客户端希望的像素格式和编码方式。当然, 如果客户端能够支持若干像素格式和编码方式,那么客户端可以选择对服务器来 说实现较为简单的一种方式,与服务器进行交互。 像素格式指在一个像素值中各颜色如何表示,包含每像素所占位数、颜色深 度、r g b 各颜色最大取值和相应偏移量等信息。对于真彩色来说,像素值中的 r g b 各分量直接对应r g b 3 基色的值,而其他情况下则需依赖颜色映射表,m s w i n d o w s 下为调色板,此时像素值实际上是一个索引值,该索引值作为颜色映射 表中某一项的入口地址,根据该地址可查找该像素值所包含的实际r g b 值。 图像编码方式指一个矩形区域中包含的像素数据如何在网络上组织发送。对 于一个矩形区域来说,首先是该矩形相对于屏幕左上角的坐标( x ,y ) ,区域的 宽度和高度,接着描述该矩形区域究竟采取何种编码,最后是矩形区域具体的像 素数据。 图像编码方式是可扩展的,可以根据需要加入新的编码方法。目前的编码包 括:原始图像( r a w ) 编码,矩形复制( c o p y r e c t ) 编码,二维行程( r r e ) 编 码,紧凑r r e ( c o r r e ) 编码,1 6 1 6 网状( h e x t i l e ) 编码等,这些编码方式 充分考虑了图形桌面的显示特点。当然,相对于其他的显示要求可以考虑加入新 的编码方式,比如利用j p e g 编码来处理静态图片,利用m p e g 编码来处理运动 图像等。本系统在r f b 协议已有的编码方式之外,还实现了一种z l i b 编码,取 得了很好的效果。 2 1 4 消息 r f b 协议可以运行在任何可靠的网络传输协议之上,典型的如t c p 。整个协 议的工作分为两个阶段:握手阶段,消息交互阶段。 握手阶段包括以下内容:协议版本协商,身份鉴别,客户端之间是否共享内 容,服务器端帧缓冲的设置。客户端和服务器端都要进行协议版本协商。 握手阶段结束后随之进入正常的消息交互阶段。在这个阶段,客户端可以发 出本地输入等消息,同时接收服务器端的响应。所有的消息编码时均以一个字节 的消息类型开始,然后是消息数据。 2 2 图像编码 图像包含的数据量是很大的,例如幅1 0 2 4 7 6 8 的2 4 位b m p 图像,其数 据量约为2 2 5 m ,如何快速有效地存储或传输这些数据成为当前的一个研究热 点。如此庞大的数据量,无疑给存储器的容量、网络的传输带宽以及计算机的处 理能力提出了更高要求,而且单纯依靠提高计算机硬件和通信设施的性能来解决 上述问题是无法跟上应用需求的。因此,必须针对图像的特点对其进行编码和压 缩,以提高存储、传输和处理速度。 5 异构系统远程控制的研究 2 2 1 图像编码的基本原理 虽然表示图像需要大量数据,但图像数据往往是高度相关的,或者说存在冗 余信息,去掉这些冗余信息后可以有效压缩图像,同时又不会损害图像的有效信 息。图像的冗余主要表现为以下几种形式: 空间冗余:图像内部相邻像素之间存在较强的相关性所造成的冗余。 时间冗余:视频图像序列中不同帧之间的相关性所造成的冗余。 视觉冗余:指人眼不能感知或不敏感的那些图像信息。 信息熵冗余:也称编码冗余,如果图像中平均每个像素使用的比特数大于该 图像的信息熵,则图像存在冗余。 结构冗余:指图像中存在很强的纹理结构或自相似性。 知识冗余:指有些图像中包含与某些先验知识有关的信息。 图像数据的这些冗余为对图像进行压缩编码提供了依据。例如,利用人眼对 蓝光不敏感的视觉特性,在对彩色图像编码时可以用较低的精度对蓝色分量进行 编码。图像编码的目的就在于充分利用图像中存在的各种冗余信息,特别是空间 冗余、时间冗余以及视觉冗余,以尽量少的位数来表示图像,从而提高效率。 2 2 2 图像编码的方法 存在多种图像编码方法,下面按照不同的方式和标准对其进行分类。 根据编码过程中是否存在信息损耗,可将图像编码分为无损压缩和有损压 缩。无损压缩无信息损失,解压缩时能够从压缩数据中精确恢复原始图像;有损 压缩不能精确重建原始图像,存在一定程度的失真。 根据编码原理,可将图像编码分为: 熵编码。熵编码是纯粹基于信号统计特性的编码技术,为无损编码。基本原 理是给出现概率较大的符号赋予一个短码字,而给出现概率较小的符号赋予 一个长码字,从而使得最终的平均码长很小。常用的熵编码有行程编码、哈 夫曼编码和算术编码。 预测编码。预测编码基于图像数据的空间或时间冗余特性,用相邻的已知像 素( 块) 来预测当前像素( 块) 的值,然后再对预测误差进行量化和编码。 预测编码有帧内预测和帧间预测。常用的预测编码有差分脉码调制( d p c m ) 和运动补偿。 变换编码。变换编码通常是将空间域上的图像经过正交变换映射到另一变换 域上,使变换后的系数之间的相关性降低。图像变换本身并不能压缩数据, 但变换后图像的大部分能量只集中到少数几个变换系数上,采用适当的量化 和熵编码就可以有效地压缩图像。 混合编码。混合编码是综合了熵编码、变换编码或预测编码的编码方法,如 j p e g 和m p e g 。 根据对压缩编码后的图像进行重建的准确程度,可将编码方法分为: 信息保持编码。即无失真编码,它要求在编码和解码过程中保证图像信息不 丢失,从而可以完整地重建图像。信息保持编码的压缩比一般比较低,不超 过3 :1 ,主要用于图像的数字存储。 保真度编码。主要利用人眼的视觉特性,在允许的失真条件下或一定的保真 度前提下,最大限度地压缩图像。保真度编码可以实现较大地压缩比,主要 用于数字电视、娱乐等方面,此时图像中的过高空间分辨率和过多灰度层不 6 异构系统远稗控制的研究 仅增加了数据量,而且人眼也接收不到,因此在编码时可以丢掉这些人眼不 敏感的信息,在保证视觉效果的同时提高压缩比。 特征提取。在进行图像识别、图像分析和分类时往往不需要全部图像信息, 而只对其中感兴趣的部分特征信息进行编码即可压缩数据。 2 _ 2 - 3 图像编码的评价 随着众多图像编码算法的出现,如何评价这些图像编码算法就成为重要的课 题。一般来说,评价图像编码算法的优劣参数主要有: 1 1 算法的编码效率 算法的编码效率通常有几种表现形式,比如,平均码字长度,图像的压缩比, 图像熵与平均码长之比等。 2 ) 编码图像的质量 图像质量评价可分为客观质量评价和主观质量评价。常用的客观质量评价指 标为均方误差和峰值信噪比。主观质量评价指由一批观察者对编码图像进行观察 并打分,然后综合所有人的评判结果给出图像的质量评价。客观质量评价能够快 速有效地评价编码图像的质量,但符合客观质量评价指标的图像不一定具有好的 主观质量。 3 ) 算法的适用范围 特定的图像编码算法具有相应的适用范围,并不对所有图像都有效。一般柬 说,大多数基于图像信息统计特性的压缩算法具有较广泛的适用范围,而一些特 定的编码算法适用面较窄。 4 1 算法的复杂度 算法的复杂度指完成图像压缩和解压缩所需的运算量,以及硬件实现该算法 的难易程度。好的图像编码算法要求有较高的压缩比,压缩和解压缩快,算法较 为简单,易于实现,还要求解压缩后的图像质量较好。选用编码算法时一定要考 虑图像信源本身的统计特性、系统硬件和软件产品的适应能力、应用环境和技术 标准等因素。 2 3 编码方式 由于e w e r 在远端控制f r a m es e r v e r ,因此需要在本地完全恢复远端服务器 的帧缓冲内容,所以本系统在进行设计时采用无损编码方法。无损图像编码算法 可分为基于统计概率的方法和基于字典技术两大类。 基于统计的方法是根据信息论中的变长编码定理和信息嫡的有关知识,用较 短代码代表出现概率大的符号,用较长代码代表出现概率小的符号,从而实现数 据压缩。统计编码方法中最有代表性的是利用概率分布特性的哈夫曼编码,它根 据每个字符出现的概率大小进行一一对应地编码;另一种也是利用概率分郑特性 的编码方法为算术编码,它是对字符序列而不是字符序列中单个字符进行编码, 其编码效率高于哈夫曼编码。这些编码方法已广泛使用于数据编码压缩系统中, 并被国际静止图像编码专家组列入推荐算法的一部分。 字典算法是把文本中出现频率比较多的单词或词汇组合做成一个对应的字 典列表,并用特殊代码柬表示这个单词或词汇,是较为简单的压缩算法之一。基 于字典技术的图像压缩技术有两种:一种是行程编码,适用于灰度级不多、数据 7 异构系统近稃控制的研究 相关性很强的图像数据的压缩,但不适用于每个像素都与它周围的像素不同的情 况。另一种为l z 7 7 及其变种算法,它也是基于字典的技术实现数据压缩。 根据本系统的特点,下面阐述几种系统中涉及到的编码。 2 3 1 原始图像编码 原始图像编码是对像素数据进行的最为简单直接的编码。在原始图像编码 下,假定像素数据量为n ,则n = w h ,其中w 和h 分别为矩形区域的宽度和 高度( 以像素为单位) 。这n 个像素值按照对矩形区域从左向右,从上到下扫描 而来。当然,采用原始图像编码时图像的像素数据量很大,效率较低,但是原始 图像编码具有最广泛的适应性。所有的客户端都必须至少支持原始图像编码,如 果客户端没有特别申明需使用其他编码方式的话,服务器可以仅按照原始图像编 码生成帧缓冲数据。 2 3 2 二维行程编码 “ 现实世界中有许多这样的图像,一幅图像中具有许多颜色相同的图块,在这 些图块中,许多行都具有相同的颜色,或者在一行上有许多连续的像素都具有相 同的颜色值。在这种情况下就不需要存储每一个像素的颜色值,而仅仅存储一个 像素的颜色值,以及具有相同颜色的像素数目,或具有相同颜色值的行数即可, 这种图像的编码方式就是行程( r l e ) 编码,具有相同颜色并且是连续的像素数 目称为行程长度。例如:表2 1 中所示的各像素数据可编码为( 4 ,3 ) ( 3 ,1 ) ( 5 , 4 ) ( 4 ,2 ) ( 3 ,2 ) ( 2 ,1 ) ( 3 ,1 ) ( 2 ,2 ) 。 4443 5555 4433 23 2 2 表2 - 1 行程编码示意 显然,如果一幅图像是由很多块颜色相同的大面积区域组成,那么采用行程 编码的压缩效率是惊人的。行程编码尤其适用于计算机生成的图像,如标准的界 面元素,它对减少图像文件的存储空间非常有效。然而,行程编码对颜色丰富的 自然图像就显得力不从心,因为在同一行上具有相同颜色的连续像素往往很少, 而连续几行都具有相同颜色值的连续行数就更少。如果仍然使用行程编码方法, 不仅不能压缩图像数据,反而可能使原来的数据变得更大。请注意,这并不是说 行程编码方法不适用于自然图像的编码,只不过是不能单纯使用行程一种编码方 法,需要和其他的压缩编码技术联合应用。目前,p c x 和b m p 格式的图像都采 用行程编码。 行程编码分为定长和不定长编码两种。定长编码指编码的行程长度所用位数 固定,而变长行程编码指对不同范围的行程长度使用不同位数进行编码,使用变 长行程编码需要增加标志位来标明所使用的位数。 二维行程编码是行程编码在二维尺度上的实现,其基本思想与r l e 相似。 它将像素颜色相同的某一个矩形区域作为一个整体传输,此时传输的内容包括一 个代表矩形区域的背景色像素值以及该像素对应的矩形区域信息( 顶点坐标、宽 8 异构系统远程控制的研究 度和高度) 表不。 采用二维行程编码对给定像素矩阵进行编码时要做的首先是找到一个背景 色,该颜色应该是在所要编码的图像区域上出现频率较高的颜色:接着是对图像 区域进行分块,即分成若干个颜色单一的小矩形。在数据传输时,先传送小矩形 的数量,接着传送背景颜色,然后将每个小矩形以像素值加上区域信息的形式进 行传送。下面是二维行程编码示意图: 图2 1 二维行程编码示意 该图背景色为c b ,有3 个矩形区域分别有不同的前景色f 1 ,f 2 ,f 3 ,矩形区 域信息分别为r e c c 。( x 。,y i ,w l ,h 。) ,按照二维行程编码,则最终的编码序列为 ( 3 ,c b ,f 1 ,r e c t l ,f 2 ,r e c l 2 ,f 3 ,r e c t 3 ) 。 二维行程编码不但能达到甚至能超过r l e 编码的压缩效果,更重要的是因 为数据按照上述既定的格式传递,客户端解码过程简单。只要先在指定区域填满 背景色,然后再将所有的小矩形依次填充到指定位置即可还原被压缩的图像,整 个解码过程相对于编码过程要更方便,因此即便是对于最简单的图形引擎也能快 速有效地在当前屏幕上绘制原图像。二维行程编码主要面向服务器功能强大而客 户端的计算能力较差的场合,按照二维行程编码进行处理后,客户端可以快速解 码,从而使得整个交互性不致出现大的影响。 2 - 3 31 6 x 1 6 网状编码 1 6 1 6 网状编码是二维行程编码的变体。此时整个矩形区域按照1 6 1 6 像 素大小分割成一些小片,这些片按从左到右、从上到下的顺序排列。由于按照固 定大小分割矩形区域,整个分割过程实际上已经是按照预定顺序进行,每个片的 大小和位置没必要显式说明,编码后每个片内容也按照既定顺序排列。当最右边 片的宽度超出整个矩形区域时,片宽就作相应的减少,这一原则同样适应于位于 矩形区域最下面的片。下图为1 6 1 6 网状编码示意: 图2 2 1 6 1 6 网状编码示意 9 异构系统远程控制的研究 由于片大小为1 6 1 6 ,每个片的区域信息可以采用更小的存储空间来表示, x 坐标和y 坐标用同一个字节表示,宽度和高度也用同一个字节表示,也就是说 一个字节中高4 位分别存x 坐标和宽度,低4 位分别存y 坐标和高度。 对每片的片内信息,有两种编码策略:一种是将片内像素值按原始图像编码 进行传输,另一种与二维行程编码类似,将片再细分为若干小矩形,每个小矩形 内像素颜色一致,不同的是,该编码中每个片的背景色不用明确指定,如果不指 出该信息,那么,该信息就延用上一片对应的信息。另外,如果片内所有的小矩 形具有同样的像素值,则整个片采用同一种颜色。 1 6 1 6 网状编码的解码过程也相当的方便和高效,根据编码信息逐个还原图 像的每个片便可得到原图像。 2 3 4z l i b 编码 z l i b 是一套多用途的无损压缩库,可以应用于文件和图像数据等的压缩处理, 比如z i p 文件和p n g 图形格式均采用z l i b 。事实上,z l i b 可以使用在任何计算机 硬件和操作系统上,而且z l i b 数据格式可以在不同平台上移植。 z l i b 对于要压缩的数据或文件,综合使用l z 7 7 算法和h u f h l l a n 编码。下面 分别阐述u 玎7 算法和h u 胁a n 编码。 1 ) l z 7 7 算法的压缩原理和工作过程 l z 7 7 算法由j a c o b z i v 和a b r a h a m k m p e l 于1 9 7 7 年提出,所以命名为l z 7 7 。 l z 7 7 算法的基本原理是如果数据中有两块内容相同的话,那么只要知道前一块 的位置和大小就可以确定后一块的内容,所以可以用两者之间的距离和匹配长度 这样一对信息来替换后一块内容。由于( 两者之间的距离,匹配长度) 这一对信 息的大小小于被替换内容的大小,所以数据得到了压缩。 比如:对于“h t t p :枷n n s i n a c o mh t t p :伽n n v s o h u m ”这部分数据,其中有 些部分的内容前面已经出现过了,下面用( ) 括起来的部分就是相同的部分: “h t t p :,w w w s 如a m ( h t t p : n n ,s ) o h u ( c o m ) ” 使用( 两者之间的距离,匹配长度) 这样对信息,来替换后一块内容,分 别为:( 2 0 ,1 2 ) 和( 2 0 ,4 ) 。对于( 2 0 ,1 2 ) ,2 0 为相同内容块与当前位置之间的距 离,1 2 为相同内容的长度,同理,( 2 0 ,4 ) 值对也是下一个相同内容块与当前位 置之间的距离和相同内容的长度。由于( 两者之间的距离,匹配长度) 这一对信 息的大小,小于被替换内容的大小,所以数据得到了压缩。 使用l z 7 7 算法进行压缩时,从读入的数据开始到结束,一个字节一个字节 地向后处理。用当前处理字节开始的串,与滑动窗口中的每个串进行匹配,寻找 最长的匹配串。这里的串是一个任意字节序列。 滑动窗口是一个固定大小的窗口,在当前处理字节之前,并且紧挨着当前处 理字节,它随着处理的字节而不断地向后滑动。处理文件中第一个字节的时候, 窗口在当前处理字节之前,也就是还没有滑到文件上,这时窗口中没有任何内容, 被处理的字节就会不做改动的输出。随着处理的不断向后,窗口越来越多的滑入 文件,最后整个窗口滑入文件,然后整个窗口在文件上向后滑动,直到整个文件 结束。 如果当前处理字节开始的串在窗口中有匹配串,就先输出一个标志位,表明 下面是一个( 两者之间的距离,匹配长度) 对,然后输出( 两者之间的距离,匹 配长度) 对,接着从刚才处理完的串之后的下一个字节继续处理。如果当前处理 字节开始的串在窗口中没有匹配串,就先输出一个标志位,表明下面是一个没有 1 0 异构系统远程控制的研究 改动的字节,然后不做改动的输出当前处理字节,接着继续处理当前处理字节的 下一个字节。 解压缩时,从读入的数据开始到结束,每次先读一位标志位,通过这个标志 位来判断下面是一个( 两者之间的距离,匹配长度) 对,还是一个没有改动的字 节。如果是一个( 两者之间的距离,匹配长度) 对,就读出固定位数的( 两者之 间的距离,匹配长度) 对,然后根据对中的信息将匹配串输出到当前位置。如果 是一个没有改动的字节,就读出一个字节,然后输出这个字节。以上可以看出, u 刀7 压缩时需要做大量的匹配工作,而解压缩时需要做的工作很少,也就是说 解压缩相对于压缩要快的多,这对于需要进行一次压缩,多次解压缩的情况是一 个很大的优点。 h u f a n 编码 h u f f i n a n 编码是1 9 5 2 年为压缩文本文件而提出的一种编码方法,该方法完全 依据字符出现的概率来构造码字,对频繁出现的字符使用较短的码字,而对出现 次数较少的字符使用较长的码字。这样一来,文件的一些部分位数变少了,一些 部分位数变多了,由于变小的部分比变大的部分多,所以整个文件的大小还是会 减小,所以文件得到了压缩。h u f f i n a i l 编码是一种无失真编码,在相同信源概率 分布前提下,它的平均码字长度比其他任何一种编码方法都短。 进行h u m n a n 编码时,首先要把整个文件读一遍,在读的过程中,统计每个 符号的出现次数。然后根据符号的出现次数,建立h u f 缸a n 树,通过h u m n a n 树得到每个符号的新的编码。对于文件中出现次数较多的符号,它的编码位数比 较少。对于文件中出现次数较少的符号,它的编码的位数比较多。然后把文件中 的每个字节替换成新的编码。 h u 蛳l a n 编码的一般实现如下: a ) 首先统计信源中各符号出现的概率,按符号出现的概率从大到小排列; b 1 把最小的两个概率相加合并成新的概率,与剩下的概率组成新的概率集合; c ) 对新的概率集合重新排序,再次把其中最小的两个概率相加,组成新的概率 集合。如此重复进行,直到最后两个概率的和为1 ; d ) 分配码字。码字的分配从最后一步开始反方向进行,对于每次相加的两个概 率,给大的赋值0 ,给小的赋值1 ( 或者相反) 。如果两个概率相等,则从中 任选一个赋值为o ,另一个赋值为1 。读出时由该符号开始一直走到最后的 概率和1 ,将路线上所遇到的0 和1 按最低位到最高位的顺序排好,就是该 符号的h u 铀孤编码。 e ) 建立一张信源符号和编码的对照表: f ) 再次读入信源,依对照表转换成代码。 比如:设一幅灰度为8 ( 用e o e 7 表示

温馨提示

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

最新文档

评论

0/150

提交评论