一种虚拟桌面补帧方法、装置、电子设备及可读存储介质与流程

文档序号:22686272发布日期:2020-10-28 12:53阅读:116来源:国知局
一种虚拟桌面补帧方法、装置、电子设备及可读存储介质与流程

本申请涉及虚拟桌面技术领域,特别涉及一种虚拟桌面补帧方法、装置、电子设备及计算机可读存储介质。



背景技术:

虚拟桌面是一种支持企业级实现桌面系统的远程动态访问与数据中心统一托管的技术。虚拟桌面技术可以让我们通过任何设备、在任何时间、任何地点访问在网络中属于我们个人的桌面系统。为了减少虚拟桌面的数据发送量,更好地利用有限的带宽,虚拟桌面技术中往往采用有损压缩与无损压缩相结合的方法来对桌面内容进行编码。

然而,有损压缩在降低编码数据发送量的同时也会带来了一定程度的画面质量问题,尤其是采用较差的视频压缩算法使得桌面内容的质量明显降低或者出现失真等问题,用户往往会对此类问题十分敏感,会直接降低用户对存在此类问题的虚拟桌面产品的使用评价,使得产品竞争力较低。

现有技术提供了一种通过补帧来解决此类问题的方案,即通过使用额外帧替换可能存在明显画面质量问题的普通帧的方式来减少此类问题的出现,但现有技术大多是在如何生成额外帧这一方面做研究,画质较高的额外帧必然会带来较大的额外数据发送量,画质较低的额外帧却不一定能够解决问题(因为问题本身就是因为有损压缩算法使用不当导致的画面问题)。

因此,如何通过较好的把控额外帧的发送时机来实现额外数据发送量与画面质量间的平衡,使得在不明显增加额外数据发送量的基础上,尽可能多的改善画面质量问题,是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的在于提供一种虚拟桌面补帧方法、装置、电子设备及可读存储介质,旨在通过把控好额外帧发送时机的方式来尽可能的解决现有技术中额外数据发送量与画面质量间不平衡的问题。

为实现上述目的,本申请提供一种虚拟桌面补帧方法,该方法包括:

检测虚拟桌面的界面是否处于连续静默状态;其中,所述界面的图像数据在预设时长内未发生变化的状态为所述连续静默状态;

当处于所述连续静默状态时,根据所述界面的最新图像数据生成额外帧;

将所述额外帧补发至客户端,以使所述客户端利用所述额外帧的图像数据替换原有图像数据进行显示。

可选的,在根据所述界面的最新图像数据生成额外帧之前,还包括:

检测处于所述连续静默状态下的最后一个普通帧的画面失真情况,得到检测结果;其中,所述普通帧为区别于所述额外帧的帧;

当根据所述检测结果确定所述最后一个普通帧中存在画面失真情况时,执行所述根据所述界面的最新图像数据生成额外帧的步骤。

可选的,检测处于所述连续静默状态下的最后一个普通帧的画面失真情况,得到检测结果,包括:

接收所述客户端返回的对处于所述连续静默状态下的最后一个普通帧的画面失真情况进行检测后得到的检测结果。

可选的,根据所述界面的最新图像数据生成额外帧,包括:

将所述界面的最新图像数据利用第一压缩算法进行压缩,得到所述额外帧;其中,利用所述第一压缩算法压缩得到的额外帧的画面质量高于普通帧的画面质量。

可选的,该虚拟桌面补帧方法还包括:

当检测到所述界面在任意时刻跳出所述连续静默状态时,初始化所述额外帧的生成操作和/或补发操作。

为实现上述目的,本申请还提供了一种虚拟桌面补帧装置,该装置包括:

连续静默状态检测单元,用于检测虚拟桌面的界面是否处于连续静默状态;其中,所述界面的图像数据在预设时长内未发生变化的状态为所述连续静默状态;

额外帧生成单元,用于当处于所述连续静默状态时,根据所述界面的最新图像数据生成额外帧;

额外帧补发单元,用于将所述额外帧补发至客户端,以使所述客户端利用所述额外帧的图像数据替换原有图像数据进行显示。

可选的,该虚拟桌面补帧装置还包括:

画面失真情况检测单元,用于在根据所述界面的最新图像数据生成额外帧之前,检测处于所述连续静默状态下的最后一个普通帧的画面失真情况,得到检测结果;其中,所述普通帧为区别于所述额外帧的帧;

检测结果判定及执行单元,用于当根据所述检测结果确定所述最后一个普通帧中存在画面失真情况时,执行所述根据所述界面的最新图像数据生成额外帧的步骤。

可选的,所述画面失真情况检测单元包括:

客户端检测结果接收子单元,用于接收所述客户端返回的对处于所述连续静默状态下的最后一个普通帧的画面失真情况进行检测后得到的检测结果。

可选的,所述额外帧生成单元包括:

高质量额外帧生成子单元,用于将所述界面的最新图像数据利用第一压缩算法进行压缩,得到所述额外帧;其中,利用所述第一压缩算法压缩得到的额外帧的画面质量高于普通帧的画面质量。

可选的,该虚拟桌面补帧装置还包括:

连续静默状态中断处理单元,用于当检测到所述界面在任意时刻跳出所述连续静默状态时,初始化所述额外帧的生成操作和/或补发操作。

为实现上述目的,本申请还提供了一种电子设备,该电子设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述内容所描述的虚拟桌面补帧方法。

为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的虚拟桌面补帧方法。

从本申请提供的技术方案可以看出,本申请预先将虚拟桌面的工作状态分为连续静默状态和非连续静默状态,由于存在明显画面质量问题的普通帧会被非连续静默状态下不断产生的新普通帧替换掉,使得明显画面质量问题变得难以被用户感知;而在没有新普通帧的产生的连续静默状态下,不变的最后一个普通帧中的明显画面质量问题将变得异常明显。因此,考虑到非连续静默状态下的实际情况,本申请将能够触发补帧逻辑的条件限定为连续静默状态,限缩的触发条件使得仅需较少的额外数据发送量就能够使画面质量得到较好的改善,使得额外数据发送量与画面质量得到了较好的平衡。本申请同时还提供了一种虚拟桌面补帧装置、电子设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种虚拟桌面补帧方法的流程图;

图2为本申请实施例提供的另一种虚拟桌面补帧方法的流程图;

图3为本申请实施例提供的一种虚拟桌面补帧装置的结构框图;

图4为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

本申请的目的在于提供一种虚拟桌面补帧方法、装置、电子设备及可读存储介质,旨在通过把控好额外帧发送时机的方式来尽可能的解决现有技术中额外数据发送量与画面质量间不平衡的问题。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

实施例一

请参见图1,图1为本申请实施例提供的一种虚拟桌面补帧方法的流程图,其包括以下步骤:

s101:检测虚拟桌面的界面是否处于连续静默状态;

本申请旨在检测是否满足触发补帧逻辑的触发条件,即虚拟桌面的界面是否处于连续静默状态。

其中,连续静默状态是静默状态的持续化状态,指的是静默状态已经维持有一段时间,而静默状态是指界面的图像数据未发生变化的状态,简单的说,就是检测虚拟桌面是否因没有新操作导致的没有新普通帧产生,因为没有新普通帧的产生也就意味着客户端当前显示的图像数据已经保持了一定的时间。需要说明的是,判定为连续静默状态的具体时间参数可以根据实际情况灵活制定,也可以能够表征时间的关联参数的变化来表示,例如每隔相同时间间隔的计时周期等等,此处并不做具体限定。

通过上面的论述可以看出,若处于连续静默状态下的最后一个普通帧中存在明显画面质量问题,将因没有新普通帧来替换当前帧使得画面质量问题变得异常明显,因此相比于用户感知度较低的非连续静默状态下存在的明显画面质量问题,存在于连续静默状态下的明显画面质量问题显得更为致命和重要。

相比于将补帧方案应用在非连续静默状态下带来的锦上添花效果,在连续静默状态下应用补帧方案所带来的效果是非常明显的,对用户使用体验和满意度的提升也是明显的。同时,根据虚拟桌面技术的使用规律,非连续静默状态的占比也明显大于连续静默状态。因此,考虑到上述几点,本申请仅将补帧方案的应用范围限缩在连续静默状态,使得仅需付出较少的额外数据发送量就能够比较明显的改善画面质量和用户的使用体验,不会显著增加因大量额外帧带来的大额外数据发送量。

s102:当处于连续静默状态时,根据界面的最新图像数据生成额外帧;

在s101的基础上,本步骤旨在处于连续静默状态时触发补发逻辑中的额外帧生成步骤,也就是根据界面的最新图像数据生成额外帧,具体来说就是将通过取画布的方式取得虚拟桌面服务端界面上的最新图像数据,并将取到的最新图像数据处理为该额外帧。

为了在保证相同画面质量提升效果的基础上,进一步减少额外数据发送量,还可以检验处于连续静默状态下的最后一个普通帧中是否存在明显画面质量问题,并在确定存在明显画面质量问题时才执行额外帧的生成操作,减少在不存在明显画面质量问题时也执行额外帧生成操作时做的无用功。

进一步的,是否存在明显画面质量问题的检测方可以是下发每个普通帧的虚拟桌面服务端,也可以是接收并显示每个普通帧的虚拟桌面客户端,相比于服务端,客户端作为检测方还可以包括因帧数据在从服务端传输至客户端过程中因各种不可预知的干扰因素导致的明显画面质量问题。

一种包括但不限于的实现方式为:

接收客户端返回的对处于连续静默状态下的最后一个普通帧的画面失真情况进行检测后得到的检测结果,即由客户端对接收到的普通帧进行画面失真情况的检测,并将检测结果返回给服务端,以使服务端根据接收到的检测结果确定是否存在明显画面质量问题。

更进一步的,还可以对检测到画面质量问题进行评级,并相应制定可触发补帧逻辑的画面质量问题等级,使得在过滤掉一些存在不明显画面质量问题的情况下,进一步的减少额外数据发送量。

为了尽可能的减少额外数据发送量,防止在此生成的额外帧依然存在明显画面质量问题,可以使用相比于压缩处理普通帧时所使用的有损压缩算法更优的有损压缩算法,甚至还可以使用不会造成图像信息损失的无损压缩算法,将使用无损压缩算法得到的无损图像数据作为额外帧。

s103:将额外帧补发至客户端,以使客户端利用额外帧的图像数据替换原有图像数据进行显示。

在s102的基础上,本步骤旨在将生成的额外帧补发给虚拟桌面客户端,使得接收到该额外帧的客户端使用该额外帧的图像数据替换先前可能存在明显画面质量问题的普通帧。

进一步的,当检测到界面在任意时刻跳出连续静默状态时,将初始化额外帧的生成操作和/或补发操作,初始化额外帧的生成操作和/或补发操作是指停止、不再执行,将执行进程“清零”,因为跳出连续静默状态就表示有新的普通帧要生成,客户端将接收新普通帧,因此先前担心的问题也将随着跳出连续静默状态而不复存在,因为无论是使用额外帧进行替换还是使用新普通帧进行替换,从消除明显画面质量问题这方面来讲都是相同的,而相比于额外帧,存在实际意义的新普通帧明显优先级更高。简单的说,在客户端真正开始利用额外帧的图像数据替换原有图像数据进行显示前的任何一个步骤,因为跳出连续静默状态,都将终止本次补帧逻辑的判定和执行,并直至再次处于连续静默状态下是再重新开始判定。

同时,一旦正常的完成了一次额外帧的补发操作,还可以设定两次额外帧补发操作的执行间隔,以尽可能的减少额外数据发送量。执行间隔的时长可以根据实际情况自行设置,此处并不做具体限定。

总的来说,若在本申请提供的补帧过程中有新画面更新而中断补帧时将终止正常执行的补帧逻辑,而在一次补帧完成后的短时间内也无需再次触发补帧逻辑,都是为了减少不必要发送的数据量。

根据本实施例提供的技术方案可以看出,本申请预先将虚拟桌面的工作状态分为连续静默状态和非连续静默状态,由于存在明显画面质量问题的普通帧会被非连续静默状态下不断产生的新普通帧替换掉,使得明显画面质量问题变得难以被用户感知;而在没有新普通帧的产生的连续静默状态下,不变的最后一个普通帧中的明显画面质量问题将变得异常明显。因此,考虑到非连续静默状态下的实际情况,本申请将能够触发补帧逻辑的条件限定为连续静默状态,限缩的触发条件使得仅需较少的额外数据发送量就能够使画面质量得到较好的改善,使得额外数据发送量与画面质量得到了较好的平衡。

实施例二

请参见图2,图2为本申请实施例提供的另一种虚拟桌面补帧方法的流程图,区别于实施例一,本实施例提供了一种将检测最后一个普通帧中是否存才画面失真情况考虑在内的虚拟桌面补帧方法,使得补帧逻辑的触发条件进一步的得到限缩,进一步减少了传输的额外数据发送量,包括以下步骤:

s201:检测虚拟桌面的界面是否处于连续静默状态;

本步骤与s101相同,具体的解释说明可参见s101,此处不再赘述。

s202:获取处于连续静默状态下的最后一个普通帧的图像数据;

本步骤建立在s201的判断结果为界面处于连续静默状态下的基础上,本步骤旨在获取处于连续静默状态下的最后一个普通帧的图像数据,用于后续的画面失真情况检测判断步骤;

s203:根据图像数据判断最后一个普通帧中是否存在画面失真情况;

在s202的基础上,本步骤旨在根据图像数据判断最后一个普通帧中是否存在画面失真情况,其中,如果具体判断一帧图像数据中是否存在画面失真情况的方法并非是本申请的发明点,且本领域内已有多种成熟的实现方式,此处不再进行详细解释。

s204:根据界面的最新图像数据生成额外帧;

本步骤建立在s203的判断结果为最后一个普通帧中存在画面失真情况的基础上,说明满足了补帧逻辑的触发条件,因此将开始执行补帧逻辑的首个操作,即额外帧的生成操作。

s205:将额外帧补发至客户端,以使客户端利用额外帧的图像数据替换原有图像数据进行显示;

本步骤作为补帧逻辑中位于额外帧的生成操作后的另一个操作存在,即额外帧的补发操作。

s206:不触发补帧逻辑。

本步骤建立在s201的判断结果为界面处于非连续静默状态或s203的判断结果为最后一个普通帧中不存在画面失真情况的基础上,说明不满足补帧逻辑的触发条件,因此将不触发补帧逻辑。

因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。

实施例三

下面请参见图3,图3为本申请实施例提供的一种虚拟桌面补帧装置的结构框图,该装置可以包括:

连续静默状态检测单元100,用于检测虚拟桌面的界面是否处于连续静默状态;其中,界面的图像数据在预设时长内未发生变化的状态为连续静默状态;

额外帧生成单元200,用于当处于连续静默状态时,根据界面的最新图像数据生成额外帧;

额外帧补发单元300,用于将额外帧补发至客户端,以使客户端利用额外帧的图像数据替换原有图像数据进行显示。

进一步的,该虚拟桌面补帧装置还可以包括:

画面失真情况检测单元,用于在根据界面的最新图像数据生成额外帧之前,检测处于连续静默状态下的最后一个普通帧的画面失真情况,得到检测结果;其中,普通帧为区别于额外帧的帧;

检测结果判定及执行单元,用于当根据检测结果确定最后一个普通帧中存在画面失真情况时,执行根据界面的最新图像数据生成额外帧的步骤。

其中,该画面失真情况检测单元可以包括:

客户端检测结果接收子单元,用于接收客户端返回的对处于连续静默状态下的最后一个普通帧的画面失真情况进行检测后得到的检测结果。

其中,该额外帧生成单元300可以包括:

高质量额外帧生成子单元,用于将界面的最新图像数据利用第一压缩算法进行压缩,得到额外帧;其中,利用第一压缩算法压缩得到的额外帧的画面质量高于普通帧的画面质量。

更进一步的,该虚拟桌面补帧装置还可以包括:

连续静默状态中断处理单元,用于当检测到界面在任意时刻跳出连续静默状态时,初始化额外帧的生成操作和/或补发操作。

本实施例对应于上述方法实施例,本实例作为一个装置实施例存在,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图4是根据一示例性实施例示出的一种电子设备400的框图。如图4所示,电子设备400可以包括处理器401和存储器402,还可以进一步包括多媒体组件403、信息输入/信息输出(i/o)接口404以及通信组件405中的一者或多者。

其中,处理器401用于控制电子设备400的整体操作,以完成上述的虚拟桌面补帧方法中的部分或全部步骤;存储器402用于存储各种类型的数据以支持处理器401需要执行的各步骤操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如用于判断状态的状态数据、计时数据、图像数据等。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,sram)、电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、可编程只读存储器(programmableread-onlymemory,prom)、只读存储器(read-onlymemory,rom)、磁存储器、快闪存储器、磁盘或光盘中的一者或多者。

多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标等。通信组件405用于电子设备400与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的恶意样本增量方法。

优选的,该电子设备400可以是一种应用有本申请技术方案的虚拟桌面服务端。

在另一示例性实施例中,还提供了一种存储有程序指令的计算机可读存储介质,该程序指令将在被处理器执行时实现与该程序指令对应的操作。例如,该计算机可读存储介质可以为上述包括程序指令的存储器402,上述程序指令具体为可由电子设备400的处理器401在执行时完成上述实施例给出的恶意样本增量方法。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

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