本公开涉及数据处理领域,尤其涉及一种应用虚拟化方法和设备、云服务器、零终端及存储介质。
背景技术:
1、当前,应用程序虚拟化技术(简称应用虚拟化)是一种基于云计算的虚拟化技术,它将用户的应用程序从本地计算机转移到云服务器上运行和管理,可以提高应用程序的移动性、集中化管理、安全性、兼容性,从而提高用户的工作效率和便携性。
2、但是,当用户拖动应用窗口时,窗口边缘附近区域会存在残影,现有技术均无法彻底消除窗口边缘附近残影内容,视觉体验改善不明显,而且还可能会增加硬件成本和其他成本,因此需进一步分析解决,改善用户体验。
技术实现思路
1、本公开实施例提供一种应用虚拟化方法和设备、云服务器、零终端及存储介质,能够改善拖动应用程序窗口场景下应用虚拟化用户体验差的问题。技术方案如下:
2、根据本公开实施例的第一方面,提供一种应用虚拟化方法,应用于云服务器,该方法包括:采集当前帧桌面图像,并记录目标应用窗口在采集当前帧桌面图像的前一时刻和后一时刻的坐标位置数据;基于记录的坐标位置数据得到目标应用窗口的位置数据,并基于目标应用窗口的位置数据生成与当前帧桌面图像相对应的目标应用窗口信息;将当前帧桌面图像和目标应用窗口信息整合至一个最小编码单元进行编码后,得到应用码流;向零终端发送应用码流。
3、基于上述方案,通过同步数据采集、数据合并编码并传输,使得零终端可以同步图像渲染显示和遮罩处理,确保桌面图像数据和应用窗口信息数据在采集、编码、传输和渲染显示及遮罩处理所有关键环节都同步处理。目的是实现遮罩窗口和桌面图像中应用窗口同步同速同方向移动,消除两者之间的位置偏移,从根本上消除残影,进而解决拖动应用程序窗口场景下应用虚拟化不如运行本地应用体验好问题,改善用户体验。
4、在一些实施例中,基于记录的坐标位置数据得到目标应用窗口的位置数据,包括:通过计算采集当前帧桌面图像的前一时刻的坐标位置数据与采集当前帧桌面图像的后一时刻的坐标位置数据的算术平均值得到目标应用窗口的位置数据。
5、在一些实施例中,方法还包括:与零终端建立会话连接;启动应用程序。
6、根据本公开实施例的第二方面,提供一种应用虚拟化方法,应用于零终端,该方法包括:接收来自云服务器的应用码流;对应用码流进行解码,得到当前帧桌面图像和与当前帧桌面图像相对应的目标应用程序窗口信息;对当前帧图像进行渲染显示处理,同时,基于目标应用窗口信息进行遮罩处理。
7、基于上述方案,通过同步图像渲染显示和遮罩处理经过同步数据采集、数据合并编码并传输的桌面图像数据和应用窗口信息数据,确保桌面图像数据和应用窗口信息数据在采集、编码、传输和渲染显示及遮罩处理所有关键环节都同步处理。目的是实现遮罩窗口和桌面图像中应用窗口同步同速同方向移动,消除两者之间的位置偏移,从根本上消除残影,进而解决拖动应用程序窗口场景下应用虚拟化不如运行本地应用体验好问题,改善用户体验。
8、在一些实施例中,对当前帧图像进行渲染显示处理,同时,基于目标应用窗口信息进行遮罩处理,包括:将当前帧图像与目标应用窗口信息封装至一个显示数据单元;解封一个显示数据单元,获取当前帧图像与目标应用窗口信息;对当前帧图像进行渲染显示处理,同时,基于目标应用窗口信息进行遮罩处理。
9、在一些实施例中,方法还包括:与云服务器建立会话连接。
10、根据本公开实施例的第三方面,提供一种应用虚拟化设备,包括存储器和处理器。存储器拥有存储程序。当程序在处理器中执行时,处理器用于执行第一方面及第一方面任一实施例的方法。
11、基于上述设备,通过同步数据采集、数据合并编码并传输,使得零终端可以同步图像渲染显示和遮罩处理,确保桌面图像数据和应用窗口信息数据在采集、编码、传输和渲染显示及遮罩处理所有关键环节都同步处理。目的是实现遮罩窗口和桌面图像中应用窗口同步同速同方向移动,消除两者之间的位置偏移,从根本上消除残影,进而解决拖动应用程序窗口场景下应用虚拟化不如运行本地应用体验好问题,改善用户体验。
12、根据本公开实施例的第四方面,提供一种应用虚拟化设备,包括存储器和处理器。存储器拥有存储程序。当程序在处理器中执行时,处理器用于执行第二方面及第二方面任一实施例的方法。
13、基于上述设备,通过同步图像渲染显示和遮罩处理经过同步数据采集、数据合并编码并传输的桌面图像数据和应用窗口信息数据,确保桌面图像数据和应用窗口信息数据在采集、编码、传输和渲染显示及遮罩处理所有关键环节都同步处理。目的是实现遮罩窗口和桌面图像中应用窗口同步同速同方向移动,消除两者之间的位置偏移,从根本上消除残影,进而解决拖动应用程序窗口场景下应用虚拟化不如运行本地应用体验好问题,改善用户体验。
14、根据本公开实施例的第五方面,提供一种云服务器,包括:记录模块,用于采集当前帧桌面图像,并记录目标应用窗口在采集当前帧桌面图像的前一时刻和后一时刻的坐标位置数据;生成模块,用于基于记录的坐标位置数据得到目标应用窗口的位置数据,并基于目标应用窗口的位置数据生成与当前帧桌面图像相对应的目标应用窗口信息;编码模块,用于将当前帧桌面图像和目标应用窗口信息整合至一个最小编码单元进行编码后,得到应用码流;发送模块,用于向零终端发送应用码流。
15、在一些实施例中,记录模块具体包括:计算子模块,用于通过计算采集当前帧桌面图像的前一时刻的坐标位置数据与采集当前帧桌面图像的后一时刻的坐标位置数据的算术平均值得到目标应用窗口的位置数据。
16、在一些实施例中,云服务器还包括:建立模块,用于与零终端建立会话连接;启动模块,用于启动应用程序。
17、根据本公开实施例的第六方面,提供一种零终端,包括:接收模块,用于接收来自云服务器的应用码流;解码模块,用于对应用码流进行解码,得到当前帧桌面图像和与当前帧桌面图像相对应的目标应用程序窗口信息;处理模块,用于对当前帧图像进行渲染显示处理,同时,基于目标应用窗口信息进行遮罩处理。
18、在一些实施例中,处理模块具体包括:封装子模块,用于将当前帧图像与目标应用窗口信息封装至一个显示数据单元;解封子模块,用于解封一个显示数据单元,获取当前帧图像与目标应用窗口信息;处理子模块,用于对当前帧图像进行渲染显示处理,同时,基于目标应用窗口信息进行遮罩处理。
19、在一些实施例中,零终端还包括:建立模块,用于与云服务器建立会话连接。
20、根据本公开实施例的第七方面,提供一种计算机可读存储介质,其特征在于,计算机程序存储介质具有程序指令,当程序指令被处理器执行时,使得处理器执行第一方面及第一方面任一实施例的方法,或第二方面及第二方面任一实施例的方法。
21、根据本公开实施例的第八方面,提供一种芯片系统,其特征在于,芯片系统包括至少一个处理器,当程序指令在至少一个处理器中执行时,使得至少一个处理器执行第一方面及第一方面任一实施例的方法,或第二方面及第二方面任一实施例的方法。
22、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。