CN113176961A - 桌面帧处理方法、装置、设备及存储介质 - Google Patents

桌面帧处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113176961A
CN113176961A CN202110529447.8A CN202110529447A CN113176961A CN 113176961 A CN113176961 A CN 113176961A CN 202110529447 A CN202110529447 A CN 202110529447A CN 113176961 A CN113176961 A CN 113176961A
Authority
CN
China
Prior art keywords
line
current
desktop frame
initial
pixel block
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.)
Granted
Application number
CN202110529447.8A
Other languages
English (en)
Other versions
CN113176961B (zh
Inventor
胡朝新
张俊麒
廖颜华
何凌峰
陈涛
苏小康
张开翔
范瑞彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202110529447.8A priority Critical patent/CN113176961B/zh
Priority claimed from CN202110529447.8A external-priority patent/CN113176961B/zh
Publication of CN113176961A publication Critical patent/CN113176961A/zh
Application granted granted Critical
Publication of CN113176961B publication Critical patent/CN113176961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种桌面帧处理方法、装置、设备及存储介质,所述方法包括:获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;根据所述位置信息在所述当前桌面帧中划分出活跃区域;将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。本发明实现了传输的数据量从原来的整个桌面帧的像素信息减少为活跃区域内的像素信息,降低了数据量,从而提高了传输效率,提高了带宽利用率。

Description

桌面帧处理方法、装置、设备及存储介质
技术领域
本发明涉及远程桌面技术领域,尤其涉及一种桌面帧处理方法、装置、设备及存储介质。
背景技术
目前,在很多应用场景中可以实现用户操作终端,通过网络远程访问操作系统桌面,在远程环境中完成特定业务。在实现过程中,需要远程桌面主机需要将更新的桌面帧的像素信息传输给用户终端显示。但是,如果将整个桌面帧的像素信息传输给用户终端,由于数据量较大导致传输效率低。
发明内容
本发明的主要目的在于提供一种桌面帧处理方法、装置、设备及存储介质,旨在解决将整个桌面帧的像素信息传输给用户终端,传输效率低的技术问题。
为实现上述目的,本发明提供一种桌面帧处理方法,所述方法包括以下步骤:
获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;
根据所述位置信息在所述当前桌面帧中划分出活跃区域;
将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。
可选地,所述位置信息为所述操作对象在所述当前桌面帧中的当前坐标值,所述当前坐标值包括横坐标值和/或纵坐标值,所述根据所述位置信息在所述当前桌面帧中划分出活跃区域的步骤包括:
将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线;
根据所述初始边沿线在所述当前桌面帧中划分出活跃区域。
可选地,当所述当前坐标值为纵坐标值,所述初始边沿线包括与所述当前桌面帧的上下边界平行的初始上沿线和初始下沿线时,所述根据所述初始边沿线在所述当前桌面帧中划分出活跃区域的步骤包括:
将所述当前桌面帧以切分横坐标轴的方式划分为多列像素块组,其中,各列所述像素块组均包括以切分纵坐标轴的方式划分的多个像素块;
分别在各列所述像素块组中确定所述初始边沿线穿过的初始像素块;
从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块,其中,查找操作的停止条件包括第一条件,或包括所述第一条件和第二条件,所述第一条件为所述边界锁定块与所述上一桌面帧中对应位置的像素块之间的不同比例大于第一预设阈值且小于第二预设阈值,所述第二条件为查找次数达到预设次数;
将各列所述像素块组中由所述边界锁定块所包围的区域作为活跃区域。
可选地,所述从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块的步骤包括:
计算作为本次查找对象的像素块与上一桌面帧中对应位置的像素块之间的不同比例,其中,第一次查找对象为所述初始像素块;
当所述不同比例大于所述第一预设阈值且小于所述第二预设阈值时,将所述目标像素块作为查找到的边界锁定块;
当所述不同比例不大于所述第一预设阈值或不小于所述第二预设阈值时,将中间线在所述初始像素块所在像素块组中穿过的像素块作为下一次查找对象,从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线,其中,所述中间线为所述当前上沿线与所述当前下沿线中间位置的直线,第一次查找时的上沿线和下沿线是从所述初始上沿线、所述初始下沿线、所述当前桌面帧的上边界和下边界中所选取的。
可选地,所述从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线的步骤包括:
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线;
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线。
可选地,所述将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线的步骤包括:
获取与所述用户操作事件的事件类型对应预设的移动尺度;
将所述当前坐标值所在的直线按照所述移动尺度进行平移得到初始边沿线。
可选地,所述将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息的步骤之后,还包括:
计算所述活跃区域占所述当前桌面帧的面积比例;
当所述面积比例大于第三预设阈值时,提高桌面分辨率;
当所述面积比例小于或等于第四预设阈值时,降低桌面分辨率,其中,所述第三预设阈值大于或等于所述第四预设阈值。
为实现上述目的,本发明还提供一种桌面帧处理装置,所述装置包括:
获取模块,用于获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;
划分模块,用于根据所述位置信息在所述当前桌面帧中划分出活跃区域;
确定模块,用于将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。
为实现上述目的,本发明还提供一种桌面帧处理设备,所述桌面帧处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的桌面帧处理程序,所述桌面帧处理程序被所述处理器执行时实现如上所述的桌面帧处理方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有桌面帧处理程序,所述桌面帧处理程序被处理器执行时实现如上所述的桌面帧处理方法的步骤。
本发明中,通过获取当前桌面帧和最近一次用户操作事件的操作对象在当前桌面帧中的位置信息,根据位置信息在当前桌面帧中划分出活跃区域,将当前桌面帧中活跃区域内容的像素信息作为待传输帧信息,使得传输的数据量从原来的整个桌面帧的像素信息减少为活跃区域内的像素信息,降低了数据量,从而提高了传输效率,提高了带宽利用率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明桌面帧处理方法第一实施例的流程示意图;
图3为本发明实施例涉及的一种边沿线示意图;
图4为本发明实施例涉及的一种边界锁定块查找场景示意图;
图5为本发明实施例涉及的一种边界锁定块查找场景示意图;
图6为本发明桌面帧处理装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例桌面帧处理设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
如图1所示,该桌面帧处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对桌面帧处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及桌面帧处理程序。操作系统是管理和控制设备硬件和软件资源的程序,支持桌面帧处理程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的桌面帧处理程序,并执行以下操作:
获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;
根据所述位置信息在所述当前桌面帧中划分出活跃区域;
将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。
进一步地,所述位置信息为所述操作对象在所述当前桌面帧中的当前坐标值,所述当前坐标值包括横坐标值和/或纵坐标值,所述根据所述位置信息在所述当前桌面帧中划分出活跃区域的步骤包括:
将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线;
根据所述初始边沿线在所述当前桌面帧中划分出活跃区域。
进一步地,当所述当前坐标值为纵坐标值,所述初始边沿线包括与所述当前桌面帧的上下边界平行的初始上沿线和初始下沿线时,所述根据所述初始边沿线在所述当前桌面帧中划分出活跃区域的步骤包括:
将所述当前桌面帧以切分横坐标轴的方式划分为多列像素块组,其中,各列所述像素块组均包括以切分纵坐标轴的方式划分的多个像素块;
分别在各列所述像素块组中确定所述初始边沿线穿过的初始像素块;
从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块,其中,查找操作的停止条件包括第一条件,或包括所述第一条件和第二条件,所述第一条件为所述边界锁定块与所述上一桌面帧中对应位置的像素块之间的不同比例大于第一预设阈值且小于第二预设阈值,所述第二条件为查找次数达到预设次数;
将各列所述像素块组中由所述边界锁定块所包围的区域作为活跃区域。
进一步地,所述从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块的步骤包括:
计算作为本次查找对象的像素块与上一桌面帧中对应位置的像素块之间的不同比例,其中,第一次查找对象为所述初始像素块;
当所述不同比例大于所述第一预设阈值且小于所述第二预设阈值时,将所述目标像素块作为查找到的边界锁定块;
当所述不同比例不大于所述第一预设阈值或不小于所述第二预设阈值时,将中间线在所述初始像素块所在像素块组中穿过的像素块作为下一次查找对象,从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线,其中,所述中间线为所述当前上沿线与所述当前下沿线中间位置的直线,第一次查找时的上沿线和下沿线是从所述初始上沿线、所述初始下沿线、所述当前桌面帧的上边界和下边界中所选取的。
进一步地,所述从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线的步骤包括:
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线;
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线。
进一步地,所述将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线的步骤包括:
获取与所述用户操作事件的事件类型对应预设的移动尺度;
将所述当前坐标值所在的直线按照所述移动尺度进行平移得到初始边沿线。
进一步地,所述将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息的步骤之后,处理器1001还可以用于调用存储器1005中存储的桌面帧处理程序,执行以下操作:
计算所述活跃区域占所述当前桌面帧的面积比例;
当所述面积比例大于第三预设阈值时,提高桌面分辨率;
当所述面积比例小于或等于第四预设阈值时,降低桌面分辨率,其中,所述第三预设阈值大于或等于所述第四预设阈值。
基于上述的结构,提出桌面帧处理方法的各个实施例。
参照图2,图2为本发明桌面帧处理方法第一实施例的流程示意图。
本发明实施例提供了桌面帧处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明桌面帧处理方法各个实施例的执行主体可以是智能手机、个人计算机和服务器等设备,为便于描述,以下各实施例中以服务端为执行主体进行阐述。在本实施例中,桌面帧处理方法包括:
步骤S1,获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;
服务端和用户终端之间可预先同步更新桌面帧的频率,例如每0.1秒传输一帧。服务端根据频率对桌面进行捕捉(例如通过截屏)获得桌面帧,于当前时刻捕捉到的桌面帧称为当前桌面帧,于上一时刻捕捉到的桌面帧称为上一桌面帧。桌面帧的分辨率(也即桌面分辨率)可以根据用户终端的屏幕宽高比设置。例如,用户终端可以预先将其屏幕的宽高比r发送给服务端,服务端根据经验确定常用桌面显示比例β和常用桌面默认宽度BaseWidth,再计算桌面宽像素数width=BaseWidth×β,桌面高像素数height=width×r。假设r=1.6,经验值BaseWidth=1440,β=100%,则计算得到得到width=1440,height=900。服务端调用操作系统API(Application Programming Interface,应用编程接口)设置桌面分辨率为width*height。
服务端获取当前桌面帧,并获取用户操作事件的操作对象在当前桌面帧中的位置信息。其中,用户操作事件是最近一次触发的用户操作事件。具体地,用户终端可以记录用户触发的用户操作事件,例如鼠标点击事件、键盘输入事件、拖动滚轮事件等类型的事件。
在一实施方式中,服务端可以从用户终端获取用户操作事件的操作对象在当前桌面帧的像素坐标系上的移动轨迹,将该移动轨迹作为操作对象在当前桌面帧中的位置信息。操作对象可以是鼠标或键盘,鼠标的移动轨迹即鼠标光标的移动轨迹,键盘的移动轨迹即键盘光标的移动轨迹。移动轨迹可以采用像素坐标系上的坐标值表示。
在另一实施方式中,服务端可以在捕捉当前桌面帧的同时获取操作对象在当前桌面帧中的位置信息,也即将操作对象的当前位置的信息作为操作对象在当前桌面帧中的位置信息。其中,鼠标的位置即鼠标光标的位置,键盘的位置即键盘光标的位置;当前位置可以采用像素坐标值或像素坐标范围来表示;服务端可以通过操作系统API获取操作对象的位置。
需要说明的是,用户操作事件的操作对象可以根据用户操作事件的类型确定,例如,鼠标点击事件和拖动滚轮事件的操作对象是鼠标,键盘输入事件的操作对象是键盘。
步骤S2,根据所述位置信息在所述当前桌面帧中划分出活跃区域;
服务端在获取到当前桌面帧和位置信息后,可以根据位置信息在当前桌面帧中划分出活跃区域。具体地,位置信息可能是一个像素点的位置信息,则服务端可以将该像素点周围的一定范围作为从当前桌面帧中划分出的活跃区域,例如,可以将当前桌面帧中以该像素点为中心的、边长为一定长度的正方形区域作为活跃区域;位置信息可能是多个像素点的位置信息,或一片区域的位置信息,则服务端可以将该多个像素点或该区域本身或周围一定范围作为从当前桌面帧中划分出的活跃区域,例如,选取该多个像素点或该多个区域中的一个像素点(一般取位置最靠近中间的),将当前桌面帧中以该像素点为圆心的、半径为一定长度的圆形区域作为活跃区域。可以理解的是,该活跃区域被认为是当前桌面帧相对于上一桌面帧像素发生变化的区域。
步骤S3,将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。
当前桌面帧的像素信息可以采用位图格式的像素矩阵表示,即为一个(桌面宽像素数*桌面高像素数)的二维矩阵,矩阵里的每个数值可以是一个三元组[R,G,B],表示该像素的红、绿、蓝值。假如当前的桌面分辨率为1440*900,则当前桌面帧的像素信息为一个宽1440高900的二维矩阵。服务端在确定活跃区域后,可将当前桌面帧中该活跃区域内的像素信息作为待传输帧信息。服务端可将待传输帧信息传输给用户终端。进一步地,服务端可以采用与用户终端预先约定的流处理算法将待传输帧信息序列化为二进制字节流,使用压缩算法对二进制字节流进行压缩,最后发出压缩的二进制字节流、及当前的桌面分辨率给到用户终端。用户终端根据当前桌面分辨率和压缩的字节流,还原出整个活跃区域,并将其直接覆盖到用户终端暂留的上一桌面帧上,展示给用户,以完成一次桌面更新。
在本实施例中,通过获取当前桌面帧和最近一次用户操作事件的操作对象在当前桌面帧中的位置信息,根据位置信息在当前桌面帧中划分出活跃区域,将当前桌面帧中活跃区域内容的像素信息作为待传输帧信息,使得传输的数据量从原来的整个桌面帧的像素信息减少为活跃区域内的像素信息,降低了数据量,从而提高了传输效率,提高了带宽利用率。并且,用户的操作和远程桌面的变化通常存在强相关关系,例如,当用户的鼠标发生点击和滚动,那么桌面的变化大概率是在鼠标光标附近;当键盘发生输入,那么桌面的变化大概率是在当前活动输入光标附近,因此,根据用户操作事件的操作对象在当前桌面帧中的位置信息划分出的活跃区域往往是像素信息发生变化的区域,从而将该活跃区域的像素信息传输给用户终端,使得用户终端能够较准确地更新桌面帧。并且,对于用户来说,可以通过对想要查看的区域进行鼠标点击或键盘输入的操作来刷新该区域的内容。
进一步地,在一实施方式中,用户终端与作为服务端的远程桌面主机进行通信连接,用户终端收集用户的操作事件,并发到远程桌面主机,并接受远程桌面主机返回的桌面帧信息。远程桌面主机包括控制模块和远程桌面服务模块。其中,远程桌面服务模块负责对桌面进行捕捉,并生成帧信息提交给控制模块。控制模块负责对远程桌面服务模块传来的帧信息划分活跃区域和非活跃区域,将活跃区域的帧信息返回终端。
进一步地,基于上述第一实施例,提出本发明桌面帧处理方法第二实施例,在本实施例中,所述步骤S2包括:
步骤S21,将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线;
在本实施例中,位置信息可以是操作对象在当前桌面帧中的当前坐标值,当前坐标值可以包括一个横坐标值和/或一个纵坐标值。具体地,服务端可以在捕捉当前桌面帧的同时获取操作对象在当前桌面帧中的横坐标值和/或纵坐标值,作为当前坐标值。服务端件当前坐标值所在的直线按照预设的移动尺寸进行平移,得到初始边沿线。其中,横坐标值所在的直线是指所有横坐标的值为该横坐标值的像素点所构成的直线,该直线与当前桌面帧的左右边界是平行的,将该直线进行平移即往左平移和往右平移;纵坐标值所在的直线是指所有纵坐标的值为该纵坐标值的像素点所构成的直线,该直线与当前桌面帧的上下边界是平行的,将该直线进行平移即往上平移和往下平移。平移的移动尺度可以根据需要进行设置,例如左右平移的移动尺度可以设置为桌面总宽度的n%,上下平移的移动尺度可以设置为桌面总高度的m%,n和m根据经验设置,在此不做限制。若当前坐标值只包括横坐标值,则通过往左平移得到一个左沿线,通过往右平移得到一个右沿线,将左沿线和右沿线作为初始边沿线。若当前坐标值只包括纵坐标值,则通过往上平移得到一个上沿线,往下平移得到一个下沿线,将上沿线和下沿线作为初始边沿线。若当前坐标值包括横坐标值和纵坐标值,则可通过将横坐标值所在直线往左平移和往右平移得到左沿线和右沿线,将纵坐标值所在直线往上平移和往下平移得到上沿线和下沿线,将左沿线、右沿线、上沿线和下沿线作为初始边沿线。需要说明的是,当平移抵达边界时以边界作为边沿线。
如图3所示,最近一次用户操作事件是鼠标点击事件,鼠标光标在当前桌面帧中的当前纵坐标值为y1,当前桌面帧的总高度为H,当桌面坐标系的纵坐标方向是向上时,将直线Y=y1向上平移H*m%得到上沿线Y=y1+H*m%,向下平移H*m%得到下沿线Y=y1-H*m%。
步骤S22,根据所述初始边沿线在所述当前桌面帧中划分出活跃区域。
服务端可根据初始边沿线在当前桌面帧中划分出活跃区域。具体地,服务端可以直接将初始边沿线在当前桌面帧中所包围出的区域作为活跃区域,例如,初始边沿线包括上沿线和下沿线时,将上沿线和下沿线中间的区域作为活跃区域,初始边沿线包括左沿线和右沿线时,将左沿线和右沿线中间的区域作为活跃区域,初始边沿线包括左沿线、右沿线、上沿线和下沿线时,将左沿线、右沿线、上沿线和下沿线中间包围出的区域作为活跃区域。
或者,在其他实施方式中,也可以对初始边沿线在当前桌面帧中所包围出的区域进行调整,将调整后的区域作为活跃区域。具体地,调整有多种,在本实施例中不做限制。例如,在一实施方式中,可以将初始边沿线切分为多个小段,各小段的长度可以相同也可以不同;对于每个小段,在当前桌面帧中在该小段的周围扩展出一定大小的一个像素块,扩展方式不限,例如以该小段为边的矩形像素块;计算该像素块与上一桌面帧中对应位置的像素块的不同比例,具体是将两个像素块中对应位置的像素点进行两两比对,如果两个像素点的RGB值相同,则认为两个像素点相同,否则认为不同,统计出现不同的次数,再除以像素块的总像素数,得到不同比例;若不同比例大于第一预设阈值且小于第二预设阈值,则认为当前桌面帧中的该像素块是活跃区域的边界,可以将该像素块作为边界锁定块;若不同比例不大于第一预设阈值,则认为当前桌面帧中的该像素块与上一桌面帧中对应位置的像素块相同,此时可将该小段往该小段的平移方向相反的方向移动;若不同比例不小于第二预设阈值,则认为当前桌面帧中的该像素块与上一桌面帧中对应位置的像素块不同,此时可将该小段往该小段的平移方向相同的方向移动;对于平移后的小段,则再次以该小段为基准扩展出一个像素块,计算不同比例,根据不同比例进行移动,直到找到边界锁定块。每次移动小段的距离可以根据需要进行设置,第一预设阈值和第二预设阈值也可以根据需要进行设置,第一预设阈值设置得小于第二预设阈值。小段的平移方向是指该小段所在的初始边沿线的平移方向,上沿线的平移方向即往上方向,下沿线的平移方向即往下方向,左沿线的平移方向即往左方向,右沿线的平移方向即往右方向;那么,对于上沿线中的小段,将该小段往平移方向相同的方向移动就是往上移动,往平移方向相反的方向移动就是往下移动。基于每个小段可以得到一个边界锁定块,将各个边界锁定块在当前桌面帧上包围的区域作为活跃区域。通过将边沿线划分为小段,根据小段扩展出像素块,通过计算像素块的不同比例,以及根据不同比例对小段进行移动,最终找到准确的边界锁定块,将边界锁定块所包围的区域作为活跃区域,进一步地提高了对桌面帧中像素发生变化的区域的定位准确度,从而提高了桌面帧更新的准确度。
进一步地,在一实施方式中,所述步骤S21包括:
步骤S211,获取与所述用户操作事件的事件类型对应预设的移动尺度;
服务端中预先可以设置不同类型的用户操作事件对应的不同的移动尺度。其中,事件类型的划分在本实施例中并不做限制,例如可以划分为鼠标点击事件、键盘输入事件和拖动滚轮事件,或者还可以细分鼠标双击和单击,键盘输入的内容,滚轮拖动的距离等。例如,对于鼠标点击事件,向上平移和向下平移的移动尺度可以设置为当前桌面帧总高度的20%,对于拖动滚轮事件,向上平移和向下平移的移动尺度可以设置为当前桌面帧总高度的40%,对于键盘输入事件,向上平移和向下平移的移动尺度可以设置为当前桌面帧总高度的10%。
步骤S212,将所述当前坐标值所在的直线按照所述移动尺度进行平移得到初始边沿线。
服务端根据用户操作事件的事件类型获取对应预设的移动尺度,并按照获取到的该移动尺度对当前坐标值所在的直线进行平移得到初始边沿线。
在本实施例中,考虑到不同的用户操作事件桌面帧中像素发生变化的区域的范围是不同的,针对不同类型的用户操作事件设置了不同的移动尺度,并按照对应的移动尺度来对当前坐标值所在的直线进行平移得到初始边沿线,提高了初始边沿线对像素发生变化的区域的定位准确度,从而根据初始边沿线来划分活跃区域能够提升桌面帧更新的准确度。
进一步地,基于上述第一和/或第二实施例,提出本发明桌面帧处理方法第三实施例,在本实施例中,所述步骤S22包括:
步骤S221,将所述当前桌面帧以切分横坐标轴的方式划分为多列像素块组,其中,各列所述像素块组均包括以切分纵坐标轴的方式划分的多个像素块;
在本实施例中,设置服务端获取到的当前坐标值只包括一个纵坐标值,对应地,根据该纵坐标值所在直线平移得到上沿线和下沿线(以下称为初始上沿线和初始下沿线以示区别)。可以理解的是,初始上沿线和初始下沿线是与当前桌面帧的上下边界平行的。
服务端可以将当前桌面帧以切分横坐标的方式划分多列像素块组,其中,各列像素块组均包括以切分纵坐标的方式划分的多个像素块,每个像素块包括多个像素点。划分方式、像素块组的列数和各列像素块组中的像素块的个数可以根据需要进行设置,在本实施例中并不做限制。例如,将当前桌面帧划分为n x n的像素块,n>1,如出现无法整除,则最后余数部分以非正方形像素块铺设。当前桌面帧宽为W,高为H,则将当前桌面帧划分成了
Figure BDA0003067470650000131
列(向上取整)、
Figure BDA0003067470650000132
行(向上取整),每列有
Figure BDA0003067470650000133
个像素块,每行有
Figure BDA0003067470650000134
个像素块。若当前桌面帧的宽为1440,高为900,假设n=10,则当前桌面帧被分成了144列和90行,每行共144块,每列共90块,共90*144个像素块,每块里有10*10=100个像素点。
步骤S222,分别在各列所述像素块组中确定所述初始边沿线穿过的初始像素块;
服务端遍历各列像素块组,确定初始边沿线在该列像素块组中穿过的像素块,将该像素块作为初始像素块。可以理解的是,一列像素块组中有两个初始像素块,一个是初始上沿线穿过的像素块,一个是初始下沿线穿过的像素块。初始边沿线的高度(纵坐标值)在该像素块的上边界高度和下边界高度之间(包含上边界高度和下边界高度),即可确定初始边沿线穿过了该像素块。
步骤S223,从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块,其中,查找操作的停止条件包括第一条件,或包括所述第一条件和第二条件,所述第一条件为所述边界锁定块与所述上一桌面帧中对应位置的像素块之间的不同比例大于第一预设阈值且小于第二预设阈值,所述第二条件为查找次数达到预设次数;
对于每列像素块组,服务端从该列像素块组中的初始像素块开始在该像素块组中进行查找得到边界锁定块。也即,该初始像素块是第一次查找的对象,查找操作的停止条件可以只包括第一条件,也即,在满足第一条件时停止;也可以包括第一条件和第二条件,也即,在满足第一条件或满足第二条件时停止。其中,第一条件是服务端查找到的该边界锁定块与上一桌面帧中对应位置的像素块之间的不同比例大于第一预设阈值且小于第二预设阈值,也即,当服务端当前查找的像素块对应的不同比例大于第一预设阈值且小于第二预设阈值时,认为该像素块是活跃区域的边界,服务端将该像素块作为边界锁定块;第二条件是查找的次数达到了预设次数,预设次数可以根据需要进行设置,例如设置为4次,当达到预设次数时不论当前查找的像素块对应的不同比例为多少,均将该像素块作为边界锁定块。设置第二条件的目的是限制像素块的比对次数,从而减少服务端的计算量,提高计算效率。在查找完一个像素块后,下一个像素块的确定方式有多种,在本实施例中并不做限制。例如,将与当前查找的像素块间隔一定距离的像素块作为下一次查找的像素块,例如,间隔两个像素块。
需要说明的是,对于一列像素块组中的两个初始像素块,服务端分别以该两个初始像素块作为第一次查找对象进行查找,也即进行两轮查找,最终查找到两个边界锁定块,两个边界锁定块的位置一般是不同的,但特殊情况下,这两个边界锁定块也可能是重合的,也即实质上得到一个边界锁定块。那么,每列像素块组最终查找到一个或两个边界锁定块。
步骤S224,将各列所述像素块组中由所述边界锁定块所包围的区域作为活跃区域。
服务端将各列像素块组中由边界锁定块包围的区域作为活跃区域。也即,每列像素块组中边界锁定块本身和两个边界锁定块中间的像素块是该列像素块组中的活跃区域(如果是只有一个边界锁定块那个该边界锁定块就是该列像素块组的活跃区域),各列像素块组的活跃区域组成了当前桌面帧中的活跃区域。
进一步地,服务端可以将当前桌面帧中活跃区域内的像素信息作为待传输帧信息。具体地,待传输帧信息可以包括每列像素块组的活跃区域内的像素信息,每列像素块组的活跃区域内的像素信息可以表示为:“列n:起始像素块,终止像素块,[从左到右从上到下每个像素块的RGB值]”。例如,假设第4列的第11及12像素块是活跃区域的,那么本列的像素信息表示为:“4,11,12,[(0,0,3),(7,8,12),…],[(192,11,232),(7,8,12),…]”。
在本实施例中,通过将当前桌面帧划分为多列像素块组,对每列像素块组以初始边沿线穿过的初始像素块为起点进行查找,得到各列像素块中组中的边界锁定块,将边界锁定块包围的区域作为活跃区域,提高了对桌面帧中像素发生变化的区域的定位准确度,从而提高了桌面帧更新的准确度。并且,当服务端以第一条件为停止条件时,查找到的边界锁定块一定是位于活跃区域边界上的像素块,所以能够进一步地提高对桌面帧中像素发生变化的区域的定位准确度。当服务端以第一条件和第二条件为停止条件时,在能够保障一定定位准确度的基础上,提高了服务端的计算效率。
进一步地,基于上述第三实施例,提出本发明桌面帧处理方法第四实施例,在本实施例中,所述步骤S223中从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块的步骤包括:
步骤S2231,计算作为本次查找对象的像素块与所述上一桌面帧中对应位置的像素块之间的不同比例,其中,第一次查找对象为所述初始像素块;
服务端可将初始像素块作为第一次查找对象,在该初始像素块所在的像素块组中进行至少一次的查找。对于作为本次查找对象的像素块,服务端可以计算该像素块与上一桌面帧中对应位置的像素块之间的不同比例。例如,在第一次查找时,查找对象是初始像素块,服务端将该初始像素块与上一桌面帧中对应位置的像素块件比对,计算不同比例。
步骤S2232,当所述不同比例大于所述第一预设阈值且小于所述第二预设阈值时,将所述目标像素块作为查找到的边界锁定块;
服务端将计算得到的不同比例与第一预设阈值和第二预设阈值进行比较。可以理解的是,当前桌面帧相对于上一桌面帧像素信息发生变化的区域有一个边界,在边界内发生变化的像素点数量较多,在边界外发生变化的像素点数量比较少甚至没有,而在边界线附近发生变化的像素点数量则趋于中间值。因此,在本实施例中,可以预先根据经验设置第一预设阈值和第二预设阈值两个阈值,第一预设阈值设置得小于第二预设阈值,当像素块对应的不同比例大于第一预设阈值且小于第二预设阈值时,说明该像素块位于活跃区域的边界上,服务端可以将该像素块作为查找到的边界锁定块。
步骤S2233,当所述不同比例不大于所述第一预设阈值或不小于所述第二预设阈值时,将中间线在所述初始像素块所在像素块组中穿过的像素块作为下一次查找对象,从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线,其中,所述中间线为所述当前上沿线与所述当前下沿线中间位置的直线,第一次查找时的上沿线和下沿线是从所述初始上沿线、所述初始下沿线、所述当前桌面帧的上边界和下边界中所选取的。
当不同比例不大于第一预设阈值或不小于第二预设阈值时,可以将当前上沿线和当前下沿线中间位置的直线作为中间线,例如上沿线的高度为h1,下沿线的高度为h2,则中间线的高度为(h1+h2)/2。其中,当前上沿线和当前下沿线即本次查找时的上沿线和下沿线,第一次查找时的上沿线和下沿线是从初始上沿线、初始下沿线、当前桌面帧的上边界和下边界中所选取的,从第一次查找开始,通过从当前上沿线、当前下沿线和两者的中间线中选取下一次查找时的上沿线和下沿线。下一次的查找对象则是中间线在初始像素块所在像素块组中穿过的像素块。
需要说明的是,从初始上沿线、初始下沿线、当前桌面帧的上边界和下边界中选取第一次查找时的上沿线和下沿线的方式在本实施例中并不做限制。例如,在一实施方式中,可以从四条线中随机选取两个不同的线作为上沿线和下沿线。
在另一实施方式中,可以结合两个初始像素块(一个是初始上沿线穿过的初始像素块,以下称为初始上沿像素块,另一个是初始下沿线穿过的初始像素块,以下称为初始下沿像素块)的状态来选取第一次查找时的上沿线和下沿线。其中,像素块的状态有三种可能性,一种是与上一桌面帧对应位置的像素块相同(也即与上一桌面帧对应位置像素块的不同比例不大于第一预设阈值,以下简称相同状态),一种是与上一桌面帧对应位置的像素块不同(也即与上一桌面帧对应位置像素块的不同比例不小于第二预设阈值,以下简称不同状态),还有一种是与位于边界(也即与上一桌面帧对应位置像素块的不同比例大于第一预设阈值且小于第二预设阈值,以下简称边界状态)。当以初始上沿像素块作为第一次查找对象时,初始上沿像素块已排除了是边界状态的可能,也即,初始上沿像素块的状态此时有相同状态和不同状态两种可能;当初始上沿像素块的状态为相同状态时,可以选取初始上沿线作为第一次查找时的上沿线,选取初始下沿线作为第一次查找时的下沿线;当初始上沿像素块的状态为不同状态,可以选取初始上沿线作为第一次查找时的下沿线,选取当前桌面帧的上边界作为第一次查找时的上沿线。当以初始下沿像素块为作为第一次查找对象时,初始下沿像素块也已排除了是边界状态的可能,也即,初始下沿像素块的状态此时有相同状态和不同状态两种可能;当初始下沿像素块的状态为相同状态时,可以选取初始上沿线作为第一次查找时的上沿线,选取初始下沿线作为第一次查找时的下沿线;当初始下沿像素块的状态为不同状态,可以选取初始下沿线作为第一次查找时的上沿线,选取当前桌面帧的下边界作为第一次查找时的下沿线。
从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线的方式在本实施例中并不做限制。例如,在一实施方式中,可以从三条线中随机选取两个不同的线作为上沿线和下沿线。
在另一实施方式中,可以在确定下一次查找对象后,根据下一次查找对象的状态和本次查找对象的状态来从当前上沿线、当前下沿线和两者的中间线中选取下一次查找时的上沿线和下沿线。可以理解的是,下一次查找对象是中间线穿过的像素块,本次查找对象是当前上沿线或当前下沿线穿过的像素块。当下一次查找对象和本次查找对象其中一个状态是不同状态另一个状态是相同状态时,将中间线与穿过本次查找对象的当前边沿线(当前上沿线或当前下沿线)中靠近当前桌面帧上边界的线作为下一次查找时的上沿线、靠近下边界的线作为下一次查找时下沿线,否则,将中间线和另一当前边沿线(没有穿过本次查找对象的当前边沿线)中靠近当前桌面帧上边界的线作为下一次查找时上沿线、靠近下边界的线作为下一次查找时下沿线。
在本实施例中,通过中间线的方式确定下一次查找对象,可以提高查找到活跃区域边界的效率,相比于对整个桌面帧的像素点进行一一比对确定变化区域,需要对比的像素点数量大大减少,从而也提高了计算效率。
进一步地,基于上述第四实施例,提出本发明桌面帧处理方法第五实施例,在本实施例中,所述S2233中从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线的步骤包括:
步骤a,当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线;
当本次查找对象的不同比例不大于第一预设阈值,且第一次查找对象为初始上沿线穿过的初始像素块时,服务端可以选取当前上沿线和当前下沿线的中间线作为下一次查找时的上沿线,选取当前下沿线作为下一次查找时的下沿线。也即,本次查找的序号为i,当前上沿线的高度为pi up,当前下沿线的高度为pi down,则下一次查找时的上沿线pi+1 up=(pi up+pi down)/2,下一次查找时的上沿线pi+1 down=pi down
步骤b,当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当本次查找对象的不同比例不大于第一预设阈值,且第一次查找对象为初始下沿线穿过的初始像素块时,服务端可以选取当前上沿线作为下一次查找时的上沿线,选取当前上沿线和当前下沿线的中间线作为下一次查找时的下沿线。也即,本次查找的序号为i,当前上沿线的高度为pi up,当前下沿线的高度为pi down,则下一次查找时的上沿线pi+1 up=pi up,下一次查找时的上沿线pi+1 down=(pi up+pi down)/2。
步骤c,当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当本次查找对象的不同比例不小于第二预设阈值,且第一次查找对象为初始上沿线穿过的初始像素块时,服务端可以选取当前上沿线作为下一次查找时的上沿线,选取当前上沿线和当前下沿线的中间线作为下一次查找时的下沿线。也即,本次查找的序号为i,当前上沿线的高度为pi up,当前下沿线的高度为pi down,则下一次查找时的上沿线pi+1 up=pi up,下一次查找时的上沿线pi+1 down=(pi up+pi down)/2。
步骤d,当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线。
当本次查找对象的不同比例不小于第二预设阈值,且第一次查找对象为初始下沿线穿过的初始像素块时,服务端可以选取当前上沿线和当前下沿线的中间线作为下一次查找时的上沿线,选取当前下沿线作为下一次查找时的下沿线。也即,本次查找的序号为i,当前上沿线的高度为pi up,当前下沿线的高度为pi down,则下一次查找时的上沿线pi+1 up=(pi up+pi down)/2,下一次查找时的上沿线pi+1 down=pi down
如图4所示,演示了以初始上沿线穿过的初始像素块P1为第一次查找对象进行查找得到边界锁定块P4的过程。图中桌面帧的左上角是坐标原点,不同区域即当前桌面帧相对于上一桌面帧像素发生变化的区域。第1次查找时,查找对象是P1,当前的上沿线选取初始上沿线220,下沿线选取初始下沿线580,由于P1的不同比例小于第一预设阈值,所以选取当前上沿线220和当前下沿线580的中间线400穿过的像素块P2作为第2次查找对象,选取中间线400作为第2次查找时的上沿线,当前下沿线580作为第2次查找时的下沿线;第2次查找时,查找对象P2的不同比例大于第二预设阈值,选取当前上沿线400和当前下沿线580的中间线490穿过的像素块P3作为第3次查找对象,选取当前上沿线400作为第3次查找时的上沿线,选取中间线490作为第3次查找时的下沿线;第3次查找时,查找对象P3的不同比例小于第一预设阈值,所以选取当前上沿线400和当前下沿线490的中间线445穿过的像素块P4作为第4次查找对象,选取中间线445作为第4次查找时的上沿线,当前下沿线490作为第4次查找时的下沿线;第4次查找时,查找对象P4的不同比例大于第一预设阈值且小于第二预设阈值,将P4作为查找到的边界锁定块。
如图5所示,演示了以初始下沿线穿过的初始像素块P1为第一次查找对象进行查找得到边界锁定块P4的过程。图中桌面帧的左上角是坐标原点。第1次查找时,查找对象是P1,当前的上沿线选取初始上沿线220,下沿线选取初始下沿线580,由于P1的不同比例小于第一预设阈值,所以选取当前上沿线220和当前下沿线580的中间线400穿过的像素块P2作为第2次查找对象,选取中间线400作为第2次查找时的下沿线,当前上沿线220作为第2次查找时的上沿线;第2次查找时,查找对象P2的不同比例大于第二预设阈值,选取当前上沿线220和当前下沿线400的中间线310穿过的像素块P3作为第3次查找对象,选取当前下沿线400作为第3次查找时的下沿线,选取中间线310作为第3次查找时的上沿线;第3次查找时,查找对象P3的不同比例小于第一预设阈值,所以选取当前上沿线310和当前下沿线400的中间线335穿过的像素块P4作为第4次查找对象,选取中间线335作为第4次查找时的下沿线,当前上沿线310作为第4次查找时的上沿线;第4次查找时,查找对象P4的不同比例大于第一预设阈值且小于第二预设阈值,将P4作为查找到的边界锁定块。
进一步地,基于上述第一、第二、第三、第四和/或第五实施例,提出本发明桌面帧处理方法第六实施例,在本实施例中,所述方法还包括
步骤S4,计算所述活跃区域占所述当前桌面帧的面积比例;
步骤S5,当所述面积比例大于第三预设阈值时,提高桌面分辨率;
步骤S6,当所述面积比例小于或等于第四预设阈值时,降低桌面分辨率,其中,所述第三预设阈值大于或等于所述第四预设阈值。
在本实施例中,服务端在确定活跃区域后,可以计算活跃区域占当前桌面帧的面积比例。具体地,可以将活跃区域的像素点数除以当前桌面帧的像素点总数得到面积比例;当按照上述第三实施例中的方式将各列像素块组中由边界锁定块包围的区域作为活跃区域时,也可以将活跃区域内的像素块数除以总像素块数得到面积比例。服务端将面积比例与预先设置的第三预设阈值和第四预设阈值进行比较,其中,两个阈值可以根据经验进行设置,且第三预设阈值设置得小于或等于第四预设阈值。当面积比例大于第三预设阈值时,服务端可以提高桌面分辨率,也即在当前桌面帧的分辨率的基础上提高分辨率,后续各时刻的桌面帧的分辨率即采用提高后的桌面分辨率。提高的方式可以是提高为当前桌面帧的分辨率的1+K倍,K可以根据需要进行设置;也可以是预先设置了不同大小的分辨率,选取一个比当前桌面帧的分辨率大的分辨率作为提高后的桌面分辨率。当面积比例小于或等于第四预设阈值时,服务端可以降低桌面分辨率,也即在当前桌面帧的分辨率的基础上降低分辨率,后续各时刻的桌面帧的分辨率即采用降低后的桌面分辨率。降低的方式可以是降低为当前桌面帧的分辨率的1-K倍,K可以根据需要进行设置;也可以是预先设置了不同大小的分辨率,选取一个比当前桌面帧的分辨率小的分辨率作为降低后的桌面分辨率。
当第三预设阈值设置得大于第四预设阈值时,若面积比例不大于第三预设阈值且大于第四预设阈值,则服务端可以将维持当前的桌面分辨率不变。
如果屏幕活跃区域过少,则说明可能对用户可操作的显示区域过多过精密,则会“没必要”再显示这么多内容,因此本实施例中当活跃区域的面积比例小于或等于第四预设阈值时,通过降低桌面分辨率来提高带宽利用率;当屏幕活跃区域过多时,则说明用户可操作的显示区域需要更加精密的显示内容,因此,本实施例中当活跃区域的面积比例大于第三预设阈值时,通过提高桌面分辨率来为用户提高更加精密的显示内容。
此外,此外本发明实施例还提出一种桌面帧处理装置,参照图6,所述装置包括:
获取模块10,用于获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;
划分模块20,用于根据所述位置信息在所述当前桌面帧中划分出活跃区域;
确定模块30,用于将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。
进一步地,所述位置信息为所述操作对象在所述当前桌面帧中的当前坐标值,所述当前坐标值包括横坐标值和/或纵坐标值,所述划分模块20包括:
平移单元,用于将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线;
划分单元,用于根据所述初始边沿线在所述当前桌面帧中划分出活跃区域。
进一步地,当所述当前坐标值为纵坐标值,所述初始边沿线包括与所述当前桌面帧的上下边界平行的初始上沿线和初始下沿线时,所述划分单元包括:
划分子单元,用于将所述当前桌面帧以切分横坐标轴的方式划分为多列像素块组,其中,各列所述像素块组均包括以切分纵坐标轴的方式划分的多个像素块;
第一确定子单元,用于分别在各列所述像素块组中确定所述初始边沿线穿过的初始像素块;
查找子单元,用于从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块,其中,查找操作的停止条件包括第一条件,或包括所述第一条件和第二条件,所述第一条件为所述边界锁定块与所述上一桌面帧中对应位置的像素块之间的不同比例大于第一预设阈值且小于第二预设阈值,所述第二条件为查找次数达到预设次数;
第二确定子单元,用于将各列所述像素块组中由所述边界锁定块所包围的区域作为活跃区域。
进一步地,所述查找子单元还用于:
计算作为本次查找对象的像素块与上一桌面帧中对应位置的像素块之间的不同比例,其中,第一次查找对象为所述初始像素块;
当所述不同比例大于所述第一预设阈值且小于所述第二预设阈值时,将所述目标像素块作为查找到的边界锁定块;
当所述不同比例不大于所述第一预设阈值或不小于所述第二预设阈值时,将中间线在所述初始像素块所在像素块组中穿过的像素块作为下一次查找对象,从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线,其中,所述中间线为所述当前上沿线与所述当前下沿线中间位置的直线,第一次查找时的上沿线和下沿线是从所述初始上沿线、所述初始下沿线、所述当前桌面帧的上边界和下边界中所选取的。
进一步地,所述查找子单元还用于:
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线;
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线。
进一步地,所述平移单元包括:
获取子单元,用于获取与所述用户操作事件的事件类型对应预设的移动尺度;
平移子单元,用于将所述当前坐标值所在的直线按照所述移动尺度进行平移得到初始边沿线。
进一步地,所述装置还包括:
计算模块,用于计算所述活跃区域占所述当前桌面帧的面积比例;
提高模块,用于当所述面积比例大于第三预设阈值时,提高桌面分辨率;
降低模块,用于当所述面积比例小于或等于第四预设阈值时,降低桌面分辨率,其中,所述第三预设阈值大于或等于所述第四预设阈值。
本发明桌面帧处理装置的具体实施方式的拓展内容与上述桌面帧处理方法各实施例基本相同,在此不做赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有桌面帧处理程序,所述桌面帧处理程序被处理器执行时实现如下所述的桌面帧处理方法的步骤。
本发明桌面帧处理设备和计算机可读存储介质各实施例,均可参照本发明桌面帧处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种桌面帧处理方法,其特征在于,所述方法包括以下步骤:
获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;
根据所述位置信息在所述当前桌面帧中划分出活跃区域;
将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。
2.如权利要求1所述的桌面帧处理方法,其特征在于,所述位置信息为所述操作对象在所述当前桌面帧中的当前坐标值,所述当前坐标值包括横坐标值和/或纵坐标值,所述根据所述位置信息在所述当前桌面帧中划分出活跃区域的步骤包括:
将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线;
根据所述初始边沿线在所述当前桌面帧中划分出活跃区域。
3.如权利要求2所述的桌面帧处理方法,其特征在于,当所述当前坐标值为纵坐标值,所述初始边沿线包括与所述当前桌面帧的上下边界平行的初始上沿线和初始下沿线时,所述根据所述初始边沿线在所述当前桌面帧中划分出活跃区域的步骤包括:
将所述当前桌面帧以切分横坐标轴的方式划分为多列像素块组,其中,各列所述像素块组均包括以切分纵坐标轴的方式划分的多个像素块;
分别在各列所述像素块组中确定所述初始边沿线穿过的初始像素块;
从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块,其中,查找操作的停止条件包括第一条件,或包括所述第一条件和第二条件,所述第一条件为所述边界锁定块与所述上一桌面帧中对应位置的像素块之间的不同比例大于第一预设阈值且小于第二预设阈值,所述第二条件为查找次数达到预设次数;
将各列所述像素块组中由所述边界锁定块所包围的区域作为活跃区域。
4.如权利要求3所述的桌面帧处理方法,其特征在于,所述从所述初始像素块开始在所述初始像素块所在的像素块组中进行查找得到边界锁定块的步骤包括:
计算作为本次查找对象的像素块与上一桌面帧中对应位置的像素块之间的不同比例,其中,第一次查找对象为所述初始像素块;
当所述不同比例大于所述第一预设阈值且小于所述第二预设阈值时,将所述目标像素块作为查找到的边界锁定块;
当所述不同比例不大于所述第一预设阈值或不小于所述第二预设阈值时,将中间线在所述初始像素块所在像素块组中穿过的像素块作为下一次查找对象,从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线,其中,所述中间线为所述当前上沿线与所述当前下沿线中间位置的直线,第一次查找时的上沿线和下沿线是从所述初始上沿线、所述初始下沿线、所述当前桌面帧的上边界和下边界中所选取的。
5.如权利要求4所述的桌面帧处理方法,其特征在于,所述从当前上沿线、当前下沿线和所述中间线中选取下一次查找时的上沿线和下沿线的步骤包括:
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线;
当所述不同比例不大于所述第一预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始上沿线穿过的初始像素块时,选取所述当前上沿线作为下一次查找时的上沿线,选取所述中间线作为下一次查找时的下沿线;
当所述不同比例不小于所述第二预设阈值,且第一次查找对象为所述初始下沿线穿过的初始像素块时,选取所述中间线作为下一次查找时的上沿线,选取所述当前下沿线作为下一次查找时的下沿线。
6.如权利要求2所述的桌面帧处理方法,其特征在于,所述将所述当前坐标值所在的直线按照预设的移动尺度进行平移得到初始边沿线的步骤包括:
获取与所述用户操作事件的事件类型对应预设的移动尺度;
将所述当前坐标值所在的直线按照所述移动尺度进行平移得到初始边沿线。
7.如权利要求1至6任一项所述的桌面帧处理方法,其特征在于,所述将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息的步骤之后,还包括:
计算所述活跃区域占所述当前桌面帧的面积比例;
当所述面积比例大于第三预设阈值时,提高桌面分辨率;
当所述面积比例小于或等于第四预设阈值时,降低桌面分辨率,其中,所述第三预设阈值大于或等于所述第四预设阈值。
8.一种桌面帧处理装置,其特征在于,所述装置包括:
获取模块,用于获取当前桌面帧和用户操作事件的操作对象在所述当前桌面帧中的位置信息,其中,所述用户操作事件为最近一次触发的用户操作事件;
划分模块,用于根据所述位置信息在所述当前桌面帧中划分出活跃区域;
确定模块,用于将所述当前桌面帧中所述活跃区域内的像素信息作为待传输帧信息。
9.一种桌面帧处理设备,其特征在于,所述桌面帧处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的桌面帧处理程序,所述桌面帧处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的桌面帧处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有桌面帧处理程序,所述桌面帧处理程序被处理器执行时实现如权利要求1至7中任一项所述的桌面帧处理方法的步骤。
CN202110529447.8A 2021-05-14 桌面帧处理方法、装置、设备及存储介质 Active CN113176961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110529447.8A CN113176961B (zh) 2021-05-14 桌面帧处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110529447.8A CN113176961B (zh) 2021-05-14 桌面帧处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113176961A true CN113176961A (zh) 2021-07-27
CN113176961B CN113176961B (zh) 2024-05-31

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1732690A (zh) * 2002-12-31 2006-02-08 英国电讯有限公司 视频流传输
CN102566910A (zh) * 2011-12-14 2012-07-11 广州杰赛科技股份有限公司 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统
WO2017201893A1 (zh) * 2016-05-24 2017-11-30 深圳Tcl数字技术有限公司 视频处理方法和装置
CN109076110A (zh) * 2018-02-27 2018-12-21 华为技术有限公司 图像发送方法、装置及存储介质
CN111049829A (zh) * 2019-12-13 2020-04-21 南方科技大学 视频流传输方法、装置、计算机设备和存储介质
CN112291588A (zh) * 2020-10-12 2021-01-29 北京文香信息技术有限公司 显示内容的共享方法及装置、设备、可读存储介质
JP2021013145A (ja) * 2019-07-09 2021-02-04 キヤノン株式会社 動画像伝送装置、動画像伝送方法
CN112486450A (zh) * 2021-02-04 2021-03-12 江苏北弓智能科技有限公司 一种移动云桌面同屏互动的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1732690A (zh) * 2002-12-31 2006-02-08 英国电讯有限公司 视频流传输
CN102566910A (zh) * 2011-12-14 2012-07-11 广州杰赛科技股份有限公司 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统
WO2017201893A1 (zh) * 2016-05-24 2017-11-30 深圳Tcl数字技术有限公司 视频处理方法和装置
CN109076110A (zh) * 2018-02-27 2018-12-21 华为技术有限公司 图像发送方法、装置及存储介质
JP2021013145A (ja) * 2019-07-09 2021-02-04 キヤノン株式会社 動画像伝送装置、動画像伝送方法
CN111049829A (zh) * 2019-12-13 2020-04-21 南方科技大学 视频流传输方法、装置、计算机设备和存储介质
CN112291588A (zh) * 2020-10-12 2021-01-29 北京文香信息技术有限公司 显示内容的共享方法及装置、设备、可读存储介质
CN112486450A (zh) * 2021-02-04 2021-03-12 江苏北弓智能科技有限公司 一种移动云桌面同屏互动的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ZHANG, FQ 等: "Research on Improved Algorithm of Frame Detection for COFDM High-Definition Wireless Transmission System and FPGA Implementation", 《2018 4TH INTERNATIONAL CONFERENCE ON ENVIRONMENTAL SCIENCE AND MATERIAL APPLICATION》, 31 December 2018 (2018-12-31) *
侯文慧;王俊峰;: "面向云桌面协议的视频区域侦测算法", 计算机应用, no. 05, 25 January 2018 (2018-01-25) *
樊晓平等: "无线多媒体传感器网络视频编码研究", 《通信学报》, vol. 32, no. 9, 30 September 2011 (2011-09-30) *

Similar Documents

Publication Publication Date Title
US10037184B2 (en) Systems, methods, and devices for manipulation of images on tiled displays
EP2449550B1 (en) Method and apparatus for providing mobile device interoperability
US8774536B1 (en) Efficient processing of streams of images within a moving window session
CN109074657B (zh) 一种目标跟踪方法、装置、电子设备和可读存储介质
US20150153836A1 (en) Method for operating terminal device with gesture and device
US8531488B2 (en) Image processing apparatus and method, content creating support apparatus and method and data structure of image file with speed map to determine speed of viewpoint change
US20130064473A1 (en) Image processing apparatus, method and program
CN109298806B (zh) 一种基于对象识别的远程快速界面交互方法及装置
CN111913633B (zh) 一种在拼接屏上实现地图同步交互方法和装置
US20150121301A1 (en) Information processing method and electronic device
CN110704770A (zh) 一种基于WebGIS环境下扩展瓦片地图的显示方法及装置
CN110007786B (zh) 一种手柄映射到鼠标灵敏度的优化方法和相关装置
CN113986076A (zh) 图标显示控制方法、装置、电子设备及存储介质
JP2011013791A (ja) 文書処理装置及びプログラム
CN113204401B (zh) 浏览器渲染方法,终端及存储介质
CN113176961B (zh) 桌面帧处理方法、装置、设备及存储介质
CN113176961A (zh) 桌面帧处理方法、装置、设备及存储介质
CN106535002B (zh) 一种桌面启动器模板布局的更新方法及装置
US20170270218A1 (en) Mapping of Defined Regions Within a Webpage
CN112929601A (zh) 一种车辆监控视频传输系统及传输方法
CN112613409A (zh) 手部关键点检测方法、装置、网络设备及存储介质
CN114527948B (zh) 剪切区域的计算方法、装置、智能设备及存储介质
CN112558850B (zh) 多显示器鼠标无缝移动方法、装置、计算机设备及介质
CN111383310B (zh) 一种图片分裂方法及装置
CN113490035B (zh) 一种显示方法、装置、电视及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant