桌面截屏控制方法及系统与流程

文档序号:12377427研发日期:2016年阅读:690来源:国知局
技术简介:
本发明针对传统截屏方法效率低、适应性差的问题,提出一种动态截屏控制方案。通过检测系统配置自动选择DX/DXGI或GDI截屏方式,结合网络环境采用高/低画质压缩算法,并在低帧率时关闭虚拟桌面以提升性能,实现截屏效率与画质的自适应优化。
关键词:动态截屏方法,自适应压缩算法,多环境优化

本发明涉及计算机技术领域,特别涉及一种桌面截屏控制方法及系统。



背景技术:

随着通信技术的迅速发展,智能终端之间可实现远程桌面,即可通过操作一台智能终端可实现对其他智能终端的远程控制。

在智能终端之间使用远程桌面时,首先远程控制端向受控端发送远程桌面请求,受控端根据请求进行截屏获得截屏图像并发送给远程控制端,远程控制端接收截屏图像并显示。传统的技术方案是受控端采取固定单一的截屏方式进行桌面图像采集,将采集的桌面图像发送到远程控制端,实现远程桌面。然而,传统的通过固定单一的截屏方式来捕获桌面图像,这样在受控端的软件或硬件系统配置较差时通过单一的截屏方式进行截屏时,会导致截屏效率低。



技术实现要素:

基于此,有必要针对截屏效率低的问题,提供一种能提高截屏效率的桌面截屏控制方法及系统。

一种桌面截屏控制方法,包括以下步骤:

获取远程桌面请求;

根据所述远程桌面请求,检测系统配置;

当所述系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像;

当所述系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像;

发送所述截屏图像。

本发明还提供一种桌面截屏控制装置,包括:

请求获取模块,用于获取远程桌面请求;

检测模块,用于根据所述远程桌面请求,检测系统配置;

第一截屏模块,用于当所述系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像;

第二截屏模块,用于当所述系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像;

发送模块,用于发送所述截屏图像。

上述桌面截屏控制方法及系统,首先获取远程桌面请求,根据所述远程桌面请求,检测系统配置;当所述系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像;当所述系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像,发送所述截屏图像。通过上述判断系统配置是否满足第一预设条件,来选择不同的截屏方式,即满足时,表示系统配置满足了一定的条件,可支持第一预设条件对应的截屏方式进行截屏,即直接访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,也就是说直接访问缓存区中的内容就可以捕捉到屏幕图像以获得截屏图像,无需通过拍照这种程序进行桌面截屏,提高截屏效率。不满足时,表示系统配置没能满足第一预设条件对应的截屏方式进行截屏的条件,若使用访问缓存区捕捉屏幕图像的截屏方式进行截屏,会由于没有满足通过访问缓存区捕捉屏幕图像的截屏方式进行截屏的条件而导致截屏效率极低,此时,通过屏幕快照的进行桌面截屏,以提高截屏效率,从而,不再是通过单一的截屏方式对桌面进行截屏,而是根据系统配置的情况选择对应的截屏方式进行截屏,可有效提高截屏效率。

附图说明

图1为一种实施例的桌面截屏控制方法的流程图;

图2为另一种实施例的桌面截屏控制方法中当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像的步骤的子流程图;

图3为另一种实施例的桌面截屏控制方法的流程图;

图4为本具体实施例的桌面截屏控制方法的流程图;

图5为一种实施例的桌面截屏控制系统的模块图;

图6为另一种实施例的桌面截屏控制系统中第一截屏模块的子模块图;

图7为另一种实施例的桌面截屏控制系统的模块图。

具体实施方式

在进行远程桌面时,受控端和远程控制端通过网络连接进行通信,远程控制端需要对受控端进行远程桌面控制时,向受控端发送远程桌面请求,受控端接收远程控制端的远程桌面请求时,对自身桌面进行截屏,获得截屏图像并发送给远程控制端,远程控制端接收受控端发送的截屏图像并显示,实现远程桌面显示,在远程控制端进行操作可实现对受控端的控制。为了实现双向通信,作为请求远程桌面的远程控制端和作为发送截屏图像的受控端的功能可以互换。

请参阅图1,提供一种实施例的桌面截屏控制方法,包括以下步骤:

S110:获取远程桌面请求。

远程控制端需要通过远程桌面对受控端进行控制时,需要向受控端发送远程桌面请求,以请求受控端发送桌面截屏,以实现远程控制端对受控端桌面的远程显示,受控端接收远程控制端发送的远程桌面请求,以触发执行后续步骤。

S130:根据远程桌面请求,检测系统配置。

受控端和远程控制端均分别对应处在不同的系统环境中,不同的系统环境对应不同的系统配置,当系统配置较好时,工作效率也会较高。例如,当受控端所处的系统环境中安装有显卡驱动,用于驱动显卡工作,则受控端在显示图像或播放视频时,可提高显示和播放的速度。受控端在接收到远程控制端发送的远程桌面请求后,对自身所处系统环境的系统配置进行检测,以便获知系统配置的情况,为后续截屏方式选择提供依据。

S150:当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像。

S170:当系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像。

受控端截屏方式有多种,受控端在对系统配置检测完后,获知系统配置的情况后,可根据系统配置,选择不同的截屏方式对桌面进行截屏以获取截屏图像。在本实施例中,通过设置第一预设条件作为截屏方式选择的依据,即当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像,缓存区存储有屏幕图像信息,即保存了和桌面相关的显存内容,实质上就是屏幕图像,通过访问缓存区就可以捕捉到当前屏幕的内容。当系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像,即根据系统配置的情况选择不同的截屏方式对桌面进行截屏。访问缓存区捕捉屏幕图像的截屏方式的截屏速度快于屏幕快照的截屏方式的截屏速度,由于访问缓存区捕捉屏幕图像的截屏方式进行截屏是有截屏条件的,即访问缓存区捕捉屏幕图像的截屏方式只有在有显卡驱动对显卡可驱动情况下,也就是具有显存即缓存区对屏幕图像进行缓存时,访问缓存区捕捉屏幕图像的截屏方式才能访问缓存区中的屏幕图像进行截屏,只要当系统配置满足访问缓存区捕捉屏幕图像的截屏方式的截屏条件即第一预设条件,就通过访问缓存区捕捉屏幕图像的截屏方式进行截屏以提高截屏效率。当系统配置不满足第一预设条件时,也就是说系统配置不满足访问缓存区捕捉屏幕图像的截屏方式的截屏条件,此时,若再通过访问缓存区捕捉屏幕图像的截屏方式进行截屏会导致截屏效率极低,此时,就通过屏幕快照的截屏方式进行截屏,以提高截屏效率。

S190:发送截屏图像。

受控端根据系统配置情况选择对应的截屏方式进行桌面截屏获得截屏图像后,将截屏图像发送给远程控制端,远程控制端接收到截屏图像后进行显示,实现远程桌面功能。

上述桌面截屏控制方法,首先获取远程桌面请求,根据远程桌面请求,检测系统配置;当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像;当系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像,发送截屏图像。通过上述判断系统配置是否满足第一预设条件,来选择不同的截屏方式,即满足时,表示系统配置满足了一定的条件,可支持第一预设条件对应的截屏方式进行截屏,即直接访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,也就是说直接访问缓存区中的内容就可以捕捉到屏幕图像以获得截屏图像,无需通过拍照这种程序进行桌面截屏,提高截屏效率。不满足时,表示系统配置没能满足第一预设条件对应的截屏方式进行截屏的条件,若使用访问缓存区捕捉屏幕图像的截屏方式进行截屏,会由于没有满足通过访问缓存区捕捉屏幕图像的截屏方式进行截屏的条件而导致截屏效率极低,此时,通过屏幕快照的进行桌面截屏,以提高截屏效率,从而,不再是通过单一的截屏方式对桌面进行截屏,而是根据系统配置的情况选择对应的截屏方式进行截屏,可有效提高截屏效率。

在本实施例中,系统配置包括显卡驱动信息,第一预设条件为显卡驱动信息不为空,也就是表示受控端有安装显卡驱动以驱动显卡,也就是具有显卡驱动驱动显卡使显存即缓存区对屏幕图像进行缓存时,采用访问缓存区捕捉屏幕图像的截屏方式进行截屏。其中访问缓存区捕捉屏幕图像的截屏方式包括DX(Direct eXtension,多媒体编程接口)截屏方式和DXGI(Directx Graphics Infrastructure,图形的基础设施)截屏方式,屏幕快照的截屏方式包括GDI(GraphicsDeviceInterface,图形设备接口)截屏方式。

受控端在接收远程桌面请求后,对显卡驱动信息进行检测,即是对系统环境中是否安装有显卡驱动进行检测,当安装有显卡驱动时,可检测到有显卡驱动信息,即显卡驱动信息不为空,若没有安装显卡驱动,在系统环境中没有显卡驱动信息,则显卡驱动信息为空,检测不到显卡驱动信息。当显卡驱动信息不为空时,表示受控端的系统配置满足第一预设条件,通过DX截屏方式或DXGI截屏方式进行桌面截屏获得截屏图像,当显卡驱动信息为空时,表示受控端的系统配置不满足第一预设条件,通过GDI截屏方式进行桌面截屏获得截屏图像。

请参阅图2,在其中一个实施例中,当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像的步骤S250包括:

S251:当系统配置满足第一预设条件,且不满足第二预设条件时,通过DX截屏方式进行桌面截屏,获得截屏图像。

S253:当系统配置满足第一预设条件,且满足第二预设条件时,通过DXGI截屏方式进行桌面截屏,获得截屏图像。

为了进一步确定系统配置的情况,以选择截屏方式进行桌面截屏,提高截屏效率,在系统配置满足第一预设条件情况下,还需对系统配置是否满足第二预设条件进行判断,当不满足第二预设条件时,通过DX截屏方式进行桌面截屏,当满足第二预设条件时,通过DXGI截屏方式进行桌面截屏。通过上述进一步地对系统配置的判断,可进一步获知受控端所处系统环境的好坏,更明确地选择与系统配置情况匹配的截屏方式进行截屏,可进一步提高截屏效率。

在本实施例中,系统配置还包括操作系统版本信息,第二预设条件为操作系统版本信息不低于Windows8。即对系统配置进行检测,获知受控端所处系统环境的操作系统的版本,即可获知操作系统版本信息,在系统配置满足第一预设条件,即安装显卡驱动的情况下,判断操作系统版本,当操作系统版本信息低于Windows8时,可通过DX截屏方式进行桌面截屏,当操作系统版本信息不低于Windows8时,可通过DXGI截屏方式进行桌面截屏,获得截屏图像。

请参阅图3,在其中一个实施例中,发送截屏图像的步骤S390之前还包括:

S381:获取截屏帧率。

S383:当截屏帧率不低于预设速率时,对截屏图像进行压缩。

S385:当截屏帧率低于预设速率时,关闭桌面虚拟效果,并对截屏图像进行压缩。

由于受控端自身软硬件配置或采用的截屏方式不同,受控端截屏帧率也会不同,其中,截屏帧率为截屏时每秒获得的图像帧的数量。为了提高截屏图像传送至远程控制端的速度,对截屏图像进行压缩,以减小传输数据的大小。然而,受控端在接收远程控制端发送的远程桌面请求时,根据远程桌面请求会在桌面显示虚拟桌面,即受控端会在桌面显示虚拟效果,当截屏帧率较低时,为了提高受控端工作效率,关闭虚拟桌面,即会关闭桌面虚拟效果,减少受控端的工作量,再进行截屏图像压缩。在本实施例中,预设速率为每秒10帧。

在其中一个实施例中,对截屏图像进行压缩包括步骤:当处于局域网络中时,通过第一压缩算法对截屏图像进行压缩;当处于非局域网络中时,通过第二压缩算法对截屏图像进行压缩。

也就是说,当截屏帧率不低于预设速率,且处于局域网络中时,通过第一压缩算法对截屏图像进行压缩。类似地,当截屏帧率低于预设速率,且处于局域网络中时,关闭虚拟桌面,也通过第一压缩算法对截屏图像进行压缩。无论截屏帧率是否低于预设速率,只要受控端是处于局域网络中,采用第一压缩算法进行压缩。

当截屏帧率不低于预设速率,且处于非局域网络中时,通过第二压缩算法对截屏图像进行压缩。类似地,当截屏帧率低于预设速率,且处于非局域网络中时,关闭虚拟桌面,通过第二压缩算法对截屏图像进行压缩。无论截屏帧率是否低于预设速率,只要受控端是处于非局域网络中,采用第二压缩算法进行压缩。

也就是说,受控端进行桌面截屏,需要判断受控端所处的网路环境,当受控端处于局域网络中时,即受控端连接的网络为局域网,与远程控制端通过局域网通信,通过第一压缩算法对截屏图像进行压缩。当受控端处于非局域网络中时,例如,受控端所处的网络为广域网,通过第二压缩算法对截屏图像进行压缩。

对图像进行压缩的算法有多种,采用不同的压缩算法,压缩效率以及压缩后得到的数据大小也不同,为了让压缩后的截屏图像与受控端所处的网络情况对应,实现更好地传输,还需对受控端所处的网路环境进行判断。在本实施例中,第一压缩算法为高画质图像压缩算法,第二压缩算法为低画质图像压缩算法,即通过第一压缩算法压缩后的图像的画质高于通过第二压缩算法压缩后的图像的画质。图像在压缩过程中,难免会影响图像画质,高画质图像压缩算法为确保压缩后的图像画质高的一种图像压缩算法,使图像压缩后的画质损失尽可能小,例如,第一压缩算法可为采用哈夫曼编码的哈夫曼压缩算法。低画质图像压缩算法是将图像压缩后图像的画质会受到一定程度的影响,画质会比采用高画质压缩算法压缩得到的图像画质差,但是这种压缩算法速度快,可提高压缩效率,例如,第二压缩算法可为JPEG(Joint Photographic Experts Group,联合图象专家组)压缩算法等。

下面以一具体实施例对上述桌面截屏控制方法加以具体说明。

请参阅图4,首先,受控端收到远程控制端发送的远程桌面请求,受控端根据远程桌面请求,会在显示屏幕上显示虚拟桌面,即在受控端呈现桌面虚拟效果。

受控端根据远程桌面请求,判断自身系统环境中是否安装显卡驱动,如果没有安装显卡驱动则采用GDI截屏方式来采集桌面图像,如果安装了显卡驱动,受控端判断自身系统环境中的操作系统版本,如果操作系统版本不低于Windows8操作系统,采用DXGI截屏方式采集桌面图像,如果操作系统版本低于Windows8版本,采用DX截屏方式采集桌面图像。

受控端判断当前截屏帧率是否大于10帧/s,如果截屏帧率低于10帧/s,则受控端关闭桌面效果再执行后续步骤,如果截屏帧率大于10帧/s,则不作操作,执行后续步骤。

受控端判断当前所处网络场景是否为局域网,如果在局域网情况下,则采用高画质图像压缩算法即第一压缩算法压缩采集到的桌面图像。如果在非局域网例如广域网情况下,则采用低画质图像压缩算法即第二压缩算法来压缩采集到的桌面图像。最后,将压缩后的桌面图像发送给远程控制端进行显示,实现远程桌面。

通过上述桌面截屏控制方法进行受控端桌面截屏时,考虑了系统配置情况来动态地选择合适的截屏方式,即实现桌面图像采集自适应,极大程度提高了截屏效率,且考虑了受控端所处网络状况等因素来动态地选择压缩方式,即图像压缩算法自适应,可满足不同网络状况,以提高压缩和传输效率。另外,还考虑了截屏帧率,截屏帧率的大小是和受控端中的CPU性能相关的,CPU性能越高,截屏帧率越大,当截屏帧率较低时,为了确保受控端CPU工作性能,受控端显示屏幕自适应,即关闭虚拟桌面。

请参阅图5,还提供一种实施方式的桌面截屏控制装置,包括:

请求获取模块510,用于获取远程桌面请求。

远程控制端需要通过远程桌面对受控端进行控制时,需要向受控端发送远程桌面请求,以请求受控端发送桌面截屏,以实现远程控制端对受控端桌面的远程显示,受控端接收远程控制端发送的远程桌面请求,以触发执行后续步骤。

检测模块530,用于根据远程桌面请求,检测系统配置。

受控端和远程控制端均分别对应处在不同的系统环境中,不同的系统环境对应不同的系统配置,当系统配置较好时,工作效率也会较高。例如,当受控端所处的系统环境中安装有显卡驱动,用于驱动显卡工作,则受控端在显示图像或播放视频时,可提高显示和播放的速度。受控端在接收到远程控制端发送的远程桌面请求后,对自身所处系统环境的系统配置进行检测,以便获知系统配置的情况,为后续截屏方式选择提供依据。

第一截屏模块550,用于当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像。

第二截屏模块570,用于当系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像。

受控端截屏方式有多种,受控端在对系统配置检测完后,获知系统配置的情况后,可根据系统配置,选择不同的截屏方式对桌面进行截屏以获取截屏图像。在本实施例中,通过设置第一预设条件作为截屏方式选择的依据,即当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像,缓存区存储有屏幕图像信息,即保存了和桌面相关的显存内容,实质上就是屏幕图像,通过访问缓存区就可以捕捉到当前屏幕的内容。当系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像,即根据系统配置的情况选择不同的截屏方式对桌面进行截屏。访问缓存区捕捉屏幕图像的截屏方式的截屏速度快于屏幕快照的截屏方式的截屏速度,由于访问缓存区捕捉屏幕图像的截屏方式进行截屏是有截屏条件的,即访问缓存区捕捉屏幕图像的截屏方式只有在有显卡驱动对显卡可驱动情况下,也就是具有显存即缓存区对屏幕图像进行缓存时,访问缓存区捕捉屏幕图像的截屏方式才能访问缓存区中的屏幕图像进行截屏,只要当系统配置满足访问缓存区捕捉屏幕图像的截屏方式的截屏条件即第一预设条件,就通过访问缓存区捕捉屏幕图像的截屏方式进行截屏以提高截屏效率。当系统配置不满足第一预设条件时,也就是说系统配置不满足访问缓存区捕捉屏幕图像的截屏方式的截屏条件,此时,若再通过访问缓存区捕捉屏幕图像的截屏方式进行截屏会导致截屏效率极低,此时,就通过屏幕快照的截屏方式进行截屏,以提高截屏效率。

发送块590,用于发送截屏图像。

受控端根据系统配置情况选择对应的截屏方式进行桌面截屏获得截屏图像后,将截屏图像发送给远程控制端,远程控制端接收到截屏图像后进行显示,实现远程桌面功能。

上述桌面截屏控制装置,首先获取远程桌面请求,根据远程桌面请求,检测系统配置;当系统配置满足第一预设条件时,通过访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,获得截屏图像;当系统配置不满足第一预设条件时,通过屏幕快照的截屏方式进行桌面截屏,获得截屏图像,发送截屏图像。通过上述判断系统配置是否满足第一预设条件,来选择不同的截屏方式,即满足时,表示系统配置满足了一定的条件,可支持第一预设条件对应的截屏方式进行截屏,即直接访问缓存区捕捉屏幕图像的截屏方式进行桌面截屏,也就是说直接访问缓存区中的内容就可以捕捉到屏幕图像以获得截屏图像,无需通过拍照这种程序进行桌面截屏,提高截屏效率。不满足时,表示系统配置没能满足第一预设条件对应的截屏方式进行截屏的条件,若使用访问缓存区捕捉屏幕图像的截屏方式进行截屏,会由于没有满足通过访问缓存区捕捉屏幕图像的截屏方式进行截屏的条件而导致截屏效率极低,此时,通过屏幕快照的进行桌面截屏,以提高截屏效率,从而,不再是通过单一的截屏方式对桌面进行截屏,而是根据系统配置的情况选择对应的截屏方式进行截屏,可有效提高截屏效率。

在本实施例中,系统配置包括显卡驱动信息,第一预设条件为显卡驱动信息不为空,也就是表示受控端有安装显卡驱动以驱动显卡,也就是具有显卡驱动驱动显卡使显存即缓存区对屏幕图像进行缓存时,采用访问缓存区捕捉屏幕图像的截屏方式进行截屏。其中访问缓存区捕捉屏幕图像的截屏方式包括DX(Direct eXtension,多媒体编程接口)截屏方式和DXGI(Directx Graphics Infrastructure,图形的基础设施)截屏方式,屏幕快照的截屏方式包括GDI(GraphicsDeviceInterface,图形设备接口)截屏方式。

受控端在接收远程桌面请求后,对显卡驱动信息进行检测,即是对系统环境中是否安装有显卡驱动进行检测,当安装有显卡驱动时,可检测到有显卡驱动信息,即显卡驱动信息不为空,若没有安装显卡驱动,在系统环境中没有显卡驱动信息,则显卡驱动信息为空,检测不到显卡驱动信息。当显卡驱动信息不为空时,表示受控端的系统配置满足第一预设条件,通过DX截屏方式或DXGI截屏方式进行桌面截屏获得截屏图像,当显卡驱动信息为空时,表示受控端的系统配置不满足第一预设条件,通过GDI截屏方式进行桌面截屏获得截屏图像。

请参阅图6,在其中一个实施例中,第一截屏模块650包括:

第一截屏单元651,用于当系统配置满足第一预设条件,且不满足第二预设条件时,通过DX截屏方式进行桌面截屏,获得截屏图像。

第二截屏单元653,用于当系统配置满足第一预设条件,且满足第二预设条件时,通过DXGI截屏方式进行桌面截屏,获得截屏图像。

为了进一步确定系统配置的情况,以选择截屏方式进行桌面截屏,提高截屏效率,在系统配置满足第一预设条件情况下,还需对系统配置是否满足第二预设条件进行判断,当不满足第二预设条件时,通过DX截屏方式进行桌面截屏,当满足第二预设条件时,通过DXGI截屏方式进行桌面截屏。通过上述进一步地对系统配置的判断,可进一步获知受控端所处系统环境的好坏,更明确地选择与系统配置情况匹配的截屏方式进行截屏,可进一步提高截屏效率。

在本实施例中,系统配置还包括操作系统版本信息,第二预设条件为操作系统版本信息不低于Windows8。即对系统配置进行检测,获知受控端所处系统环境的操作系统的版本,即可获知操作系统版本信息,在系统配置满足第一预设条件,即安装显卡驱动的情况下,判断操作系统版本,当操作系统版本信息低于Windows8时,可通过DX截屏方式进行桌面截屏,当操作系统版本信息不低于Windows8时,可通过DXGI截屏方式进行桌面截屏,获得截屏图像。

请参阅图7,在其中一个实施例中,还包括:

帧率获取模块781,用于获取截屏帧率。

第一压缩模块783,用于当截屏帧率不低于预设速率时,对截屏图像进行压缩。

第二压缩模块785,用于当截屏帧率低于预设速率时,关闭桌面虚拟效果,并对截屏图像进行压缩。

由于受控端自身软硬件配置或采用的截屏方式不同,受控端截屏帧率也会不同,其中,截屏帧率为截屏时每秒获得的图像帧的数量。为了提高截屏图像传送至远程控制端的速度,对截屏图像进行压缩,以减小传输数据的大小。然而,受控端在接收远程控制端发送的远程桌面请求时,根据远程桌面请求会在桌面显示虚拟桌面,即受控端会在桌面显示虚拟效果,当截屏帧率较低时,为了提高受控端工作效率,关闭虚拟桌面,即会关闭桌面虚拟效果,减少受控端的工作量,再进行截屏图像压缩。在本实施例中,预设速率为每秒10帧。

在其中一个实施例中,第一压缩模块783以及第二压缩模块785,均还用于当处于局域网络中时,通过第一压缩算法对截屏图像进行压缩;当处于非局域网络中时,通过第二压缩算法对截屏图像进行压缩。

也就是说,当截屏帧率不低于预设速率,且处于局域网络中时,通过第一压缩算法对截屏图像进行压缩。类似地,当截屏帧率低于预设速率,且处于局域网络中时,关闭虚拟桌面,也通过第一压缩算法对截屏图像进行压缩。无论截屏帧率是否低于预设速率,只要受控端是处于局域网络中,采用第一压缩算法进行压缩。

当截屏帧率不低于预设速率,且处于非局域网络中时,通过第二压缩算法对截屏图像进行压缩。类似地,当截屏帧率低于预设速率,且处于非局域网络中时,关闭虚拟桌面,通过第二压缩算法对截屏图像进行压缩。无论截屏帧率是否低于预设速率,只要受控端是处于非局域网络中,采用第二压缩算法进行压缩。

也就是说,受控端进行桌面截屏,需要判断受控端所处的网路环境,当受控端处于局域网络中时,即受控端连接的网络为局域网,与远程控制端通过局域网通信,通过第一压缩算法对截屏图像进行压缩。当受控端处于非局域网络中时,例如,受控端所处的网络为广域网,通过第二压缩算法对截屏图像进行压缩。

对图像进行压缩的算法有多种,采用不同的压缩算法,压缩效率以及压缩后得到的数据大小也不同,为了让压缩后的截屏图像与受控端所处的网络情况对应,实现更好地传输,还需对受控端所处的网路环境进行判断。在本实施例中,第一压缩算法为高画质图像压缩算法,第二压缩算法为低画质图像压缩算法,即通过第一压缩算法压缩后的图像的画质高于通过第二压缩算法压缩后的图像的画质。图像在压缩过程中,难免会影响图像画质,高画质图像压缩算法为确保压缩后的图像画质高的一种图像压缩算法,使图像压缩后的画质损失尽可能小,例如,第一压缩算法可为采用哈夫曼编码的哈夫曼压缩算法。低画质图像压缩算法是将图像压缩后图像的画质会受到一定程度的影响,画质会比采用高画质压缩算法压缩得到的图像画质差,但是这种压缩算法速度快,可提高压缩效率,例如,第二压缩算法可为JPEG(Joint Photographic Experts Group,联合图象专家组)压缩算法等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!