CN1303518C - 远程服务器主机画面监控系统及其方法 - Google Patents
远程服务器主机画面监控系统及其方法 Download PDFInfo
- Publication number
- CN1303518C CN1303518C CNB2003101243905A CN200310124390A CN1303518C CN 1303518 C CN1303518 C CN 1303518C CN B2003101243905 A CNB2003101243905 A CN B2003101243905A CN 200310124390 A CN200310124390 A CN 200310124390A CN 1303518 C CN1303518 C CN 1303518C
- Authority
- CN
- China
- Prior art keywords
- xor
- image
- pixel
- screen picture
- compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Closed-Circuit Television Systems (AREA)
- Digital Computer Display Output (AREA)
Abstract
一种远程服务器主机画面监控系统及其方法,采集与发送服务器端的屏幕图像到控制台(Console),将撷取的图像进行完全异或(XOR)运算,通过压缩后进行发送;控制台端接收到图像后,经过解压缩和完全异或运算后显示出来,从而使服务器端的屏幕图像实时地传送到控制台端。
Description
技术领域
本发明涉及一种远程控制中图像处理系统及方法,特别涉及一种远程服务器主机画面监控系统及其方法。
背景技术
远程服务器主机画面监控(Console Redirection)可将服务器端的屏幕画面显现在远程管理者的计算机屏幕上,让管理者如同在服务器前面操作,方便管理者进行远程管理的工作。
采用远程服务器主机画面监控,管理员就可以对服务器进行远程管理。控制台(Console)重定向无需为每台服务器配备单独的显示器和键盘。这种优点在高密度计算安装(如高性能计算群集器)中特别有用,因为管理员可以在一个位置监控多台远程控制台。通常的主机画面监控(ConsoleRedirection)需要将服务器端的屏幕图像实时传送到控制台端,以保证两边的图像一致。由于服务器端的屏幕图像是变化的,因此好的远程服务器主机画面监控就要保证控制台端能尽快地得到服务器端的屏幕图像,同时尽量减少图像的失真。
远程服务器主机画面监控的关键在于屏幕图像的撷取以及屏幕图像数据的压缩与解压缩,公知的远程控制系统在图像采集上往往撷取全部,或者利用操作系统(如Windows)的事件响应区域进行撷取。由于图像是连续变化的,上述两种方法都会在两幅图之间采集到重复的内容,利用操作系统的事件响应区域进行截取虽然比较好,但仍然会采集到重复的内容,而且会受到操作系统的限制,不具备通用性。一些其它的影像采集技术,如MEPG4,但采集后处理时间比较长,而且存在失真,因此无法满足实时快速和无失真的要求。对于屏幕图像数据的压缩与解压缩这一点,主要追求的是较高的压缩率与较快的压缩与解压缩速度,公知的远程服务器主机画面监控常通过选取一定的压缩与解压缩算法如RLE、JPEG等来实现。RLE算法的压缩率比较小,改进的RLE方法又比较费时,而JPEG方法压缩存在图像失真比较严重,不适合计算机系统显示的文字、图形。
因此如何保证控制台端能尽快地得到服务器端的图像,同时尽量减少图像的失真,从而满足实时快速和无失真的要求,是当前远程控制系统中亟待解决的问题。
发明内容
有鉴于此,本发明乃为解决上述问题而提出一种远程服务器主机画面监控系统及其方法,主要的目的在于:远程服务器主机画面监控过程中满足屏幕图像显示实时、快速、无失真的要求,从而更加方便远程监控。
所以为达到上述目的,本发明提供一种远程服务器主机画面监控系统,用以将该服务器端的屏幕图像实时地传送到该控制台端,包括:一服务器端,用以回应该控制台端的请求,并采集与发送其屏幕图像,以及一控制台端,主要是用以向该服务端发出获取其屏幕图像的请求,并将从该服务端发送而来的屏幕图像在本地实时显示出来,其中该服务器端包括:屏幕撷取模块,用以撷取当前服务器端的该屏幕图像;异或模块,其用以将采集到的该屏幕图像与其前一幅图像进行完全异或运算;压缩模块,其用以将该异或后的图像进行行内、行间以及斜向压缩;发送模块,用以将该压缩后的图像放入发送队列进行发送;其中该控制台端包括:接收模块,用以接收该服务器端发送的图像数据;解压模块,解压接收到的该图像数据;异或模块,将该解压后的图像与本地上一幅图像进行完全异或运算;显示模块,用以将该异或后的图像显示出来。
另外,本发明提供一种远程服务器主机画面监控方法,用以将该服务器端的屏幕图像实时传送到该控制台端,首先控制台端向该服务端发出获取其屏幕图像的请求;然后服务器端响应该控制台端的请求,并采集与发送其屏幕图像,包括:撷取该服务器端的一屏幕图像;将该屏幕图像与其前一幅图像进行完全异或(XOR)运算;将该异或后的图像进行行内、行间以及斜向压缩;以及将该压缩后的图像放入发送队列进行发送;接着该控制台端接收从该服务端发送而来的屏幕图像,并将其在本地实时显示出来,包括:接收服务器端的该图像;解压缩该接收到的图像;将该解压缩后的图像与其上一幅图像进行完全异或运算;以及显示该异或后的图像。
根据本发明所提出的远程服务器主机画面监控系统及其方法,可以只采集到变化的内容,采用压缩方法可以将大多数的计算机屏幕内容(主要是图形和文字)压缩率到10%以下,而又没有失真。同时,采用异或运算只需要一个时钟周期就可以完成,所以处理速度比较快。
有关本发明的详细内容及技术,现在配合附图说明如下。
附图说明
图1是本发明所提出的远程服务器主机画面监控系统的模块架构图;
图2是本发明所提出的远程服务器主机画面监控方法的主体流程图;
图3是本发明服务器端采集与发送其屏幕图像的流程图;
图4是本发明控制台接收并显示图像的流程图;
图5是远程控制实现流程图;
图6是本发明图像采集示意图;
图7是本发明图像压缩示意图;
图8是本发明通过Windows应用程序显示Windows服务器端屏幕的示意图;及
图9是本发明通过IE显示Windows Sever端屏幕的示意图。
其中,附图标号说明如下:
110 服务器端
111 屏幕撷取模块
112 异或模块
113 压缩模块
114 发送模块
120 控制台端
121 接收模块
122 解压模块
123 异或模块
124 显示模块
步骤210控制台端向服务端发出获取其屏幕图像的请求
步骤220服务器端回应控制台端的请求,并采集与发送其屏幕图像
步骤230控制台端接收从服务端发送而来的屏幕图像,并将其在本地实时显示出来
步骤221撷取服务器端一屏幕图像
步骤222将该屏幕图像与其前一幅图像进行完全异或运算
步骤223将该异或后的图像进行行内、行间以及斜向压缩
步骤224将该压缩后的图像放入发送队列进行发送
步骤231接收服务器端的图像
步骤232解压缩接收到的图像
步骤233将解压缩后的图像与其上一幅图像进行二次完全异或运算
步骤234显示异或后的图像
步骤510服务器端图像采集
步骤520服务器端图像压缩
步骤530络传输
步骤540控制台端解压缩
步骤550控制台端图像显示
610 服务器端采集图像
620 服务器端图像缓冲区
630 控制台端图像缓冲区
640 控制台端图像显示
步骤710遍历图像中所有像素
步骤720判断是否为第一行
步骤731做行内压缩
步骤741做行间压缩
步骤742做行间斜向压缩
具体实施方式
本发明为一种远程服务器主机画面监控系统及其方法,首先请参见图1,该图是本发明所提出的远程服务器主机画面监控系统的模块架构图。其中,服务器端110用以响应该控制台端的请求,并采集与发送其屏幕图像,包括屏幕撷取模块111,异或模块112,压缩模块113以及发送模块114。下面对服务器端进行详细说明:
(1)屏幕撷取模块111,用以撷取当前服务器端的该屏幕图像;
(2)异或模块112,其用以将采集到的该屏幕图像与其前一幅图像进行完全异或运算,所述完全异或运算将当前图像的每一个像素都与其前一幅图像相同位置像素进行异或运算;
(3)压缩模块113,其用以将该异或后的图像进行行内、行间以及斜向压缩;及
(4)发送模块114,用以将该压缩后的图像放入发送队列进行发送。
控制台端120,主要是用以向该服务端发出获取其屏幕图像的请求,并将从该服务端发送而来的屏幕图像在本地实时显示出来,包括接收模块121,解压模块122,异或模块123以及显示模块124,下面分别对其进行详细说明:
(1)接收模块121,用以接收该服务器端发送的图像数据;
(2)解压模块122,解压接收到的该图像数据;
(3)异或模块123,将该解压后的图像与本地上一幅图像进行完全异或运算;及
(4)显示模块124,用以将该异或后的图像显示出来。
接着,通过图2来说明本发明的流程,该图是本发明所提出的远程服务器主机画面监控方法的主体流程图,说明如下:首先控制台端向该服务端发出获取其屏幕图像的请求(步骤210),然后服务器端响应该控制台端的请求,并采集与发送其屏幕图像(步骤220),控制台端接收从该服务端发送而来的屏幕图像,并将其在本地实时显示出来(步骤230)。
请参见图3,其中上述服务器端采集与发送其屏幕图像的过程进一步包括撷取该服务器端的一屏幕图像(步骤221),将该屏幕图像与其前一幅图像进行完全异或运算(步骤222),将该异或后的图像进行行内、行间以及斜向压缩(步骤223),将该压缩后的图像放入发送队列进行发送(步骤224)。
请参见图4,其中控制台接收并显示图像的过程更包括接收服务器端的该图像(步骤231),解压缩该接收到的图像(步骤232),将该解压缩后的图像与其上一幅图像进行完全异或运算(步骤233),显示该异或后的图像(步骤234)。
通常主机画面监控需要将服务器端的图像实时传送到控制台端,保证两边图像一致,由于服务器端的图像是变化的,因此就要保证控制台端能尽快地得到服务器端的图像。这个过程请参见图5,该图是远程控制的流程图,如图所示,服务器端首先采集图像(步骤510),然后图像在服务器端被压缩(步骤520),经过网络传输后(步骤530),图像在控制台端解压缩(步骤540),最后将解压缩的图像显示出来(步骤550)。
由于服务器端所撷取的屏幕图像一般资料量较大,若直接发送则会导致占用网络带宽过大、实时性差、占用系统资源过多、稳定性差等问题,因此需经过压缩后才能将其发送给控制台端,而控制台端相应地也要将接收到的屏幕图像数据进行解压缩后才能正确地将屏幕图像显示出来。
请参见图6,该图是本发明图像采集的示意图。包括四个区域分别为:服务器端采集图像610,服务器端图像缓冲区620,控制台端图像缓冲区630,以及控制台端图像显示640。如图所示,本发明的第一幅图像不经过任何采集处理,直接放到服务器端图像缓冲区620,经过压缩后由传输介质传输到控制台端,控制台端接收到图像数据后,解压缩数据到图像缓冲区630,然后在控制台端图像显示640中将其显示出来。第二幅以后的图像则都要与其前一幅图像进行完全的异或运算。以第二幅图像为例,服务器端撷取第二幅图像之后,将其与第一幅图像进行完全的异或运算,即每一个像素都要与其前一幅图像相同位置的像素进行异或运算,然后将异或后的结果放入缓冲区。由于异或具有以下特性:
1 XOR 1=0
0 XOR 0=0
1 XOR 0=1
100111011110101101 XOR 100111011110101101=0000000000000000
100111011110100000 XOR 100111011110101101=0000000000001101
因此,两幅图像中相同的像素异或后为0(黑色),不同的像素异或后为一新的值,这样,经过异或运算后,只要是非黑色的像素就是两幅图像不同的部分。这种异或运算只需要一个时钟周期就可以完成,所以处理速度比较快。
然后将运算所得的图像进行压缩。图像经过异或运算之后,可以实现很高的数据压缩率。因为一般情况下屏幕图像总是在一个局部而非整个屏幕发生变化,将当前屏幕图像与上一屏幕图像进行异或运算后,所得屏幕位图未变化部分的位元值将为0,而变化部分的位元值为1,当屏幕图像变化范围较小时,则所撷取的屏幕图像位图的大量位将为0,同时压缩率除与压缩算法有关外,还与待压缩的资料本身有关,压缩时颜色相同的部分会压缩到很小,大部分为变化的像素,因此这样对其进行压缩将取得更加理想的压缩效果,从而减小了传输量。
由于与相邻位置像素相同概率比较大,正常图像95%以上的像素会与同一行或上一行相邻位置像素相同,因此本发明利用这一特点进行行内和行间压缩。可以将压缩率控制在10%以内。请参见图7,该图是本发明压缩过程的示意图。系统遍历图像中的所有像素(步骤710),然后判断当前行是否为第一行(步骤720),如果为第一行,则做行内压缩(步骤731)。行内压缩是将一行内连续相同的像素进行压缩,记录第一个像素的值和连续的个数。如果不是第一行,则判断当前像素是否与其前一个像素相同,如果相同,则做行内压缩(步骤731);然后再判断当前像素是否与正上方像素相同,如果相同则做行间压缩(步骤741),行间压缩是将行间连续相同的像素进行压缩,只记录连续与正上方的像素相同的个数;再判断当前像素是否与斜上方像素相同,如果相同则做行间斜向压缩(步骤742),行间斜向压缩是将连续与斜上方像素相同的像素进行压缩,只记录连续与斜上方像素相同的个数。另外,在上述压缩过程中对像素的遍历是对整个该屏幕图像从前向后逐个进行的。
经过压缩的图像再通过网络发送到控制台端,控制台端对其进行解压缩,解压缩是压缩的逆过程,解压缩后的图像可以恢复到服务器端异或后的结果。由于异或运算具有可逆性,将异或后的图像再进行第二次异或后,就会重新得到原来的图像。采用的异或原理为:
A XOR B=C
C XOR A=B
在控制台端,得到服务器端异或结果的图像后,只要再将当前图像与本地的上一幅图像进行第二次异或,就可以得到服务器端的最新图像了。最后再将得到的图像显示出来。如图8所示,可以通过Windows应用程控显示Windows Sever端,还可以通过IE浏览器显示Windows Sever端,如图9所示。
虽然本发明以前述的较佳实施例揭示如上,然而它们并非用以限定本发明,故任何熟悉本领域的技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附的权利要求所界定的为准。
Claims (6)
1、一种远程服务器主机画面监控系统,用以将服务器端的屏幕图像实时地传送到控制台端,其特征在于,该系统包括:
一服务器端,用以响应该控制台端的请求,并采集与发送其屏幕图像,包括:
一屏幕撷取模块,用以撷取当前服务器端的该屏幕图像;
一异或模块,其用以将采集到的该屏幕图像的每一个像素与其前一幅图像相同位置像素进行异或运算;一压缩模块,其用以将该异或后的图像进行行内、行间以及斜向压缩,其中所述行内压缩是将该行内连续相同的像素进行压缩,记录其第一个像素值和连续的个数,所述行间压缩是将行间连续相同的像素进行压缩,记录连续与正上方的像素相同的个数,所述斜向压缩是将连续与斜上方像素相同的像素进行压缩,记录连续与斜上方像素相同的个数;及
一发送模块,用以将该压缩后的图像放入发送队列进行发送;及
一控制台端,用以向该服务端发出获取其屏幕图像的请求,并将从该服务端发送而来的屏幕图像在本地实时显示出来,包括:
一接收模块,用以接收该服务器端发送的图像数据;
一解压模块,解压接收到的该图像数据;
一异或模块,将所述解压后的图像的每一个像素与本地上一幅图像相同位置像素进行异或运算;及
一显示模块,用以将该异或后的图像显示出来。
2、如权利要求1所述的远程服务器主机画面监控系统,其中所述异或模块对第一幅该屏幕图像不进行异或运算。
3、如权利要求1所述的远程服务器主机画面监控系统,其特征在于,所述压缩模块对异或后的图像进行遍历,是对整个图像从前向后进行的。
4、一种远程服务器主机画面监控方法,用以将服务器端的屏幕图像实时地传送到控制台端,包括如下步骤:
该控制台端向该服务端发出获取其屏幕图像的请求;
该服务器端响应该控制台端的请求,并采集与发送其屏幕图像,包括:
撷取该服务器端的一屏幕图像;
将该屏幕图像的每一个像素与其前一幅图像相同位置像素进行完全异或运算;将该异或后的图像进行行内、行间以及斜向压缩;及
将该压缩后的图像放入发送队列进行发送;及
该控制台端接收从该服务端发送而来的屏幕图像,并将其在本地实时显示出来,包括:
接收服务器端的该图像;
解压缩该接收到的图像;
将该解压缩后的图像与其上一幅图像进行二次完全异或运算;及
显示该异或后的图像,
其中所述行内压缩是将该行内连续相同的像素进行压缩,记录其第一个像素值和连续的个数,所述行间压缩是将行间连续相同的像素进行压缩,记录连续与正上方的像素相同的个数,所述斜向压缩是将连续与斜上方像素相同的像素进行压缩,记录连续与斜上方像素相同的个数,
其中所述二次完全异或运算的原理为:A XOR B=C,C XOR A=B。
5、如权利要求4所述的远程服务器主机画面监控方法,其中所述进行完全异或运算的步骤,若为第一幅该屏幕图像,则不做异或运算。
6、如权利要求4所述的远程服务器主机画面监控方法,其中所述压缩过程中对像素的遍历是对整个从服务器端撷取的一屏幕图像从前向后逐个进行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101243905A CN1303518C (zh) | 2003-12-30 | 2003-12-30 | 远程服务器主机画面监控系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101243905A CN1303518C (zh) | 2003-12-30 | 2003-12-30 | 远程服务器主机画面监控系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1635466A CN1635466A (zh) | 2005-07-06 |
CN1303518C true CN1303518C (zh) | 2007-03-07 |
Family
ID=34845002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101243905A Expired - Fee Related CN1303518C (zh) | 2003-12-30 | 2003-12-30 | 远程服务器主机画面监控系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1303518C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007096802A2 (en) * | 2006-02-20 | 2007-08-30 | Philips Intellectual Property & Standards Gmbh | A method of deriving a graphical representation of domain-specific display objects on an external display |
CN101651827B (zh) * | 2009-07-16 | 2012-06-13 | 上海交通大学 | 屏幕编码的码率控制方法 |
CN102664939A (zh) * | 2012-04-13 | 2012-09-12 | 江苏诚迈科技有限公司 | 一种屏幕镜像移动终端的方法及设备 |
CN104202380A (zh) * | 2014-08-26 | 2014-12-10 | 四川亿信信用评估有限公司 | 基于智能手机的电脑远程控制方法 |
CN104202381A (zh) * | 2014-08-26 | 2014-12-10 | 四川亿信信用评估有限公司 | 基于智能手机的电脑远程控制系统 |
CN105100639B (zh) * | 2015-07-20 | 2017-11-24 | 京东方科技集团股份有限公司 | 一种显示方法及显示装置 |
CN108021347A (zh) * | 2017-12-29 | 2018-05-11 | 航天科工智慧产业发展有限公司 | 一种Android终端屏幕共享的方法 |
CN111625211B (zh) * | 2019-12-03 | 2023-11-28 | 蘑菇车联信息科技有限公司 | 一种屏幕投屏方法、装置、安卓设备及显示设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6664969B1 (en) * | 1999-11-12 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Operating system independent method and apparatus for graphical remote access |
-
2003
- 2003-12-30 CN CNB2003101243905A patent/CN1303518C/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6664969B1 (en) * | 1999-11-12 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Operating system independent method and apparatus for graphical remote access |
Also Published As
Publication number | Publication date |
---|---|
CN1635466A (zh) | 2005-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7684483B2 (en) | Method and apparatus for digitizing and compressing remote video signals | |
CN1455372A (zh) | 基于ip网络的屏幕共享和同步录制方法 | |
US20050105608A1 (en) | Method and apparatus for caching, compressing and transmitting video signals | |
CN102457544B (zh) | 基于互联网的屏幕共享系统中用于采集屏幕图像的方法和系统 | |
CN103501310B (zh) | 一种基于可视电话的电脑桌面共享的控制方法 | |
CN101035344A (zh) | 一种应用在移动监控终端的运动检测方法及系统 | |
CN1303518C (zh) | 远程服务器主机画面监控系统及其方法 | |
CN1669233A (zh) | 视频压缩系统 | |
CN102668495A (zh) | 低延时传输协议的方法和系统 | |
CN101068345A (zh) | 视频监控方法和系统以及网络传输设备 | |
CN1417697A (zh) | 图像显示方法及信息设备 | |
CN104618473A (zh) | 虚拟机桌面显示方法及装置 | |
CN1797299A (zh) | 一种显示设备的光标的控制系统及方法 | |
CN1622618A (zh) | 一种屏幕广播方法 | |
CN110740352B (zh) | 显卡透传环境下基于spice协议的差异图像显示方法 | |
WO2018032696A1 (zh) | 桌面截屏控制方法及系统 | |
CN106851053A (zh) | 一种基于互联网的导播方法、终端和系统 | |
WO2017150792A1 (en) | Apparatus and method for providing contents using web-based virtual desktop protocol | |
US20050128511A1 (en) | Componentized application sharing | |
CN1750653A (zh) | 一种具有本地存储功能的网络摄像装置 | |
CN2828928Y (zh) | 多任务控制的计算机切换装置和计算机切换系统 | |
CN101719985A (zh) | 一种图像采集和处理的方法和装置 | |
CN102957700A (zh) | 一种实现一机多用的装置及其使用方法 | |
CN107666610A (zh) | 桌面视频内容分析方法 | |
CN107318021B (zh) | 一种远程显示的数据处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070307 Termination date: 20101230 |