CN110456927B - 设备间的操作映射方法、装置及计算机设备 - Google Patents

设备间的操作映射方法、装置及计算机设备 Download PDF

Info

Publication number
CN110456927B
CN110456927B CN201910745805.1A CN201910745805A CN110456927B CN 110456927 B CN110456927 B CN 110456927B CN 201910745805 A CN201910745805 A CN 201910745805A CN 110456927 B CN110456927 B CN 110456927B
Authority
CN
China
Prior art keywords
point
information
input system
operation point
time
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.)
Active
Application number
CN201910745805.1A
Other languages
English (en)
Other versions
CN110456927A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910745805.1A priority Critical patent/CN110456927B/zh
Publication of CN110456927A publication Critical patent/CN110456927A/zh
Application granted granted Critical
Publication of CN110456927B publication Critical patent/CN110456927B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks

Landscapes

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

Abstract

本申请涉及一种设备间的操作映射方法、装置及计算机设备,该方法在对第一设备的第一输入系统与第二设备的第二输入系统进行操作映射时,除了将第一输入系统采集的操作点信息映射为了第二输入系统的操作点信息,还考虑到第一、第二输入系统在操作点采样方面的差异对操作映射过程进行了补点处理,并具体基于第一输入系统采集操作点时的第一时间间隔大于第二输入系统采集操作点时的第二时间间隔(第一输入系统的采样频率低于第二输入系统的采样频率)的特点,对第二输入系统进行了操作点补点,尽可能模拟了第二输入系统的操作点采样特征,可有效解决因第一、第二输入系统之间的差异而导致的第二输入系统对操作信息进行误识别或识别精度不够的问题。

Description

设备间的操作映射方法、装置及计算机设备
技术领域
本申请属于跨设备的操作控制技术领域,尤其涉及一种设备间的操作映射方法、装置及计算机设备。
背景技术
在跨设备的操作控制中,当利用具有普通输入系统(仅具备基于鼠标等部件的基本输入能力、不具备手势识别能力)的个人PC等计算机设备对具有手势识别输入系统的智能手机等移动设备进行操作控制时,需将在普通输入系统的操作信息映射为手势识别输入系统的操作信息,以实现在PC侧对移动设备进行操作或控制。
目前,在从普通输入系统向手势识别输入系统进行操作映射时,通常是采用一对一映射方式对PC侧采集的操作点信息进行映射,即,PC侧的普通输入系统采样得到一个操作点,会将该操作点映射为手势识别输入系统的一个操作点,并具体将该操作点在普通输入系统下的按下(Press)、移动(Move)或抬起(Up)等操作类型相应映射为手势识别输入系统下的按下、移动或抬起等操作类型,同时将该操作点在普通输入系统下的输入坐标(x、y)映射为手势识别输入系统下的输入坐标(m、n)。
然而,上述映射方式未考虑普通输入系统与手势识别输入系统之间的差异,易导致出现手势识别输入系统对操作信息的误识别或识别精度不够的问题。
发明内容
有鉴于此,本申请的目的在于提供一种设备间的操作映射方法、装置及计算机设备,以通过操作点补点来克服不同输入系统的操作映射中,因输入系统之间的差异而导致的易对操作信息进行误识别或识别精度不够的问题。
为实现上述目的,一方面,本申请提供了一种设备间的操作映射方法,该方法包括:
获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息;所述第一输入系统基于第一时间间隔进行操作点采集;
将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息;所述第二输入系统基于第二时间间隔进行操作点采集,所述第一时间间隔大于所述第二时间间隔;
将所述第二操作点信息发送至所述第二设备的第二输入系统;
基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到相应的补点信息;所述补点信息包括:在所述当前时刻至下一个操作点信息的采集时刻的时间段内、以所述第二时间间隔为周期所划分的各个中间时间点中的至少部分中间时间点对应的操作点信息;
将所述补点信息映射为所述第二设备的第二输入系统的补点映射信息;
将所述补点映射信息发送至所述第二设备的第二输入系统。
另一方面,本申请还提供了一种设备间的操作映射装置,该装置包括:
获取单元,用于获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息;所述第一输入系统基于第一时间间隔进行操作点采集;
采样映射单元,用于将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息;所述第二输入系统基于第二时间间隔进行操作点采集,所述第一时间间隔大于所述第二时间间隔;
第一发送单元,用于将所述第二操作点信息发送至所述第二设备的第二输入系统;
补点单元,用于基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到相应的补点信息;所述补点信息包括:在所述当前时刻至下一个操作点信息的采集时刻的时间段内、以所述第二时间间隔为周期所划分的各个中间时间点中的至少部分中间时间点对应的操作点信息;
补点映射单元,用于将所述补点信息映射为所述第二设备的第二输入系统的补点映射信息;
第二发送单元,用于将所述补点映射信息发送至所述第二设备的第二输入系统。
再一方面,本申请还提供了一种计算机设备,该计算机设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于加载并执行所述计算机可执行指令,所述计算机可执行指令在被加载并执行时至少能用于实现如上所述的方法。
由以上方案可知,本申请提供的设备间的操作映射方法、装置及计算机设备,在对第一设备的第一输入系统与第二设备的第二输入系统进行操作映射时,除了将第一输入系统采集的操作点信息映射为了第二输入系统的操作点信息,还考虑到第一输入系统与第二输入系统在操作点采样方面的差异对操作映射过程进行了补点处理,并具体基于第一输入系统采集操作点时的第一时间间隔大于第二输入系统采集操作点时的第二时间间隔(也即,第一输入系统的采样频率低于第二输入系统的采样频率)的特点,对第二输入系统进行了操作点补点,尽可能模拟了第二输入系统的操作点采样特征,从而,可有效解决因第一、第二输入系统之间的差异而导致的第二输入系统对操作信息进行误识别或识别精度不够的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请可选实施例中在普通输入系统中对弹珠示例的操作事件进行采样的示意图;
图2是本申请可选实施例中在用户侧PC对远端云真机进行功能体验及测试这一远程映射操作场景的场景架构图;
图3是本申请可选实施例中在用户侧PC显示的“远端手机界面”的示例图;
图4是本申请可选实施例中设备间的操作映射方法所适用的计算机设备的一种结构示意图;
图5是本申请可选实施例中设备间的操作映射方法的一种流程示意图;
图6是本申请可选实施例中设备间的操作映射方法的另一种流程示意图;
图7是本申请可选实施例中设备间的操作映射方法的又一种流程示意图;
图8是本申请可选实施例中基于两条线程进行用户侧数据接收及操作信息映射处理的示意图;
图9是本申请可选实施例中利用第一线程接收用户侧操作数据并对其进行入队列处理的流程示意图;
图10是本申请可选实施例中利用第二线程对队列数据进行补点处理的流程示意图;
图11是本申请可选实施例中设备间的操作映射装置的一种结构示意图;
图12是本申请可选实施例中设备间的操作映射装置的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人发现,个人电脑(PC,Personal Computer)等计算机设备的普通输入系统对于鼠标事件的操作点采样频率,通常低于智能手机等移动设备的手势识别输入系统对触摸屏触控事件的操作点采样频率,目前,PC等计算机设备约33ms采集一次鼠标的操作点信息(如操作类型和坐标),而Android等智能手机的手势识别输入系统则10ms采集一次操作点的信息,两种系统的采样频率偏差较大,从而在基于目前的一对一映射方式,将PC等普通输入系统的操作信息映射至移动设备的手势识别输入系统时会造成手势识别输入系统的操作点输入精度较低,对于精细化操作敏感的用户来说会有较差的体验,例如,滑动轨迹连续性差或者缺少随滑动操作过程中的抖动操作而产生的抖动轨迹等。
另外,发明人发现,普通输入系统,只在输入发生变化时,才会产生输入内容,例如用户鼠标输入,仅鼠标移动时,浏览器才会通知页面鼠标操作事件,而在鼠标静止不动但用户尚未释放鼠标按键时,不会产生操作事件,相对应地也不会进行操作点采样。而手势识别输入系统则是高频采样,当一个操作开始时(通常为按下操作),无论操作是否有变化,只要操作没有结束(通常是抬起操作),手势识别输入系统都会按照相同的采样频率(10ms),持续将当前操作信息采集并写入系统,系统会根据用户的当前操作信息来识别手势。因此,普通输入系统在直接按照操作点一对一的映射方式向手势识别输入系统映射操作信息时,丢失了静止时数据,这就易导致在利用个人PC对移动设备进行操作与控制时,移动设备将用户期望的一个长按操作(如用户期望通过在电脑上远程长按手机好友列表中的某个好友条目来弹出相应子菜单)误识别为单击操作。
除此之外,发明人还发现,普通输入系统通常只根据用户操作的操作类型、坐标位置等对设备进行简单控制,而手势识别输入系统则会额外使用时间相关数据,如根据各操作点的时间及位置等信息计算操作点的速度,并基于操作点的速度执行相关操作等,更具体地说,比如,操作鼠标快速下滑后抬起鼠标使操作轨迹停止,在普通输入系统中,设备中的被控对象会基于抬起鼠标瞬间的操作点位置信息立刻停止(至此该操作结束,后续对于该操作不会再采集到操作点),如在Microsoft Word中,右侧滑动条用鼠标拖动快滑时松开鼠标左键,则滑动条/页面立刻停止,而在手势识别输入系统中,则认为是以松开鼠标左键瞬间映射过来的该操作点的移动速度为准继续快速下翻,这就导致在将普通输入系统的该操作信息映射至手势识别输入系统时,会导致手势识别输入系统将其误识别为快速下翻;再比如,在弹珠游戏中,利用鼠标拖动弹珠至某一位置时鼠标停止、并在停止的该位置维持一段时间如5s后抬起鼠标左键(假设操作者停止鼠标的移动时在考虑将弹珠移动至何处,最终决定将弹珠置于当前位置),则如图1所示,若鼠标在位置O停止移动,而普通输入系统基于其采样的离散性,在位置O之前基于33ms的时间间隔分别采集到a1、a2、a3、a4这些操作点,其中,假设a4与O之间有13ms的时间间隔,则普通输入系统基于目前的一对一映射方式会将采集的a1-a4这四个操作点的操作类型及位置等信息传输至手势识别输入系统,而对于O点后20ms处的操作点由于其位置相比于操作点a4的位置偏移较小,普通输入系统会将其作为抖动滤除掉,直至鼠标抬起时会因发生抬起事件而再次采集到操作点a5,并将其发送至手势识别输入系统,这就导致手势识别输入系统并未真正接收到时刻O对应的移动速度为0的操作采样点,而是接收距其最近的操作点a4的信息,该操作点a4显然有一个残留速度,这最终会导致用户抬起鼠标瞬间也即该操作结束时会基于该残留速度使得弹珠有一个小幅移动,而这并不是用户所期望的。
针对目前的一对一映射方式存在的上述缺陷(当然,这些缺陷仅是几个典型的缺陷,而并非全部),本申请提出了一种设备间的操作映射方法、装置及计算机设备,以通过操作点补点来克服不同输入系统的操作映射中,因输入系统之间的差异而导致的易对操作信息进行误识别或识别精度不够的问题。
作为本申请实施例的一个方面,本申请提供了一种设备间的操作映射方法,该方法可应用于利用具有普通输入系统的PC等计算机设备对具有手势识别输入系统的智能手机等移动设备进行跨设备操作与控制的场景中,更具体地说,比如,可以应用于但不限于通过用户PC端对远端云真机、虚拟机、定制机(如云端共享的智能手机等移动设备)进行功能体验及测试的远程映射操作场景中、或者普通用户利用其个人电脑对其手机进行远程操作与控制的场景中等等。且本申请提供的该设备间的操作映射方法,具体可以应用于上述场景中的用户PC侧或移动设备侧(如作为PC或移动设备的一个本地功能),或者还可以应用于上述场景中独立于PC侧与移动设备侧的个人计算机或服务器等计算机设备中,本申请对该方法的功能实现形式不作具体限定。
接下来,以将本申请的方法应用于一通过用户PC侧对远端云真机(如手机等移动设备)进行功能体验及测试的远程映射操作场景为例,对本申请的应用场景架构进行介绍,且在该场景中,具体将本申请方法应用于远端移动设备侧的独立于该移动设备的一计算机设备中,该计算机设备可以是用于提供远程操作映射平台功能的服务器或普通PC。
在该应用场景中,如图2所示,该场景包含了具有普通输入系统的用户侧PC、具有手势识别输入系统的远端移动设备以及独立于移动设备的用于提供远程操作映射平台功能的计算机设备,移动设备可通过有线(如USB数据线)或无线方式接入远程操作映射平台,其中,用户侧PC的普通输入系统可以通过浏览器或其他可视化客户端程序,来实现对云端移动设备的远程操作与控制,相对应地,参阅图3,用户可首先通过浏览器的web页面或其他可视化客户端程序来选择所希望控制的远端移动设备,并进入移动设备操作界面,用户侧PC的移动设备操作界面示例性地可参阅图3中的“远端手机界面”,之后,可基于用户侧PC的普通输入系统采集浏览器web页面或所述其他可视化客户端程序界面上的用户操作信息,并通过网络传输模块借助网络将采集的用户操作信息传输至用于远程操作映射平台,所述远程操作映射平台上运行着程序,用于通过网络接收用户侧操作信息,并通过执行本申请方法对其进行基于补点运算的操作映射处理,最终将映射所得的操作信息写入到连接于该平台的移动设备侧,最终移动设备会基于映射的操作信息完成对自身设备的相应操或控制,其中,移动设备基于所映射的操作信息对自身设备的操作与控制会以投屏形式同步显示在用户侧PC上的所述“远端手机界面”中。
参阅图4,其示出了本申请方法在上述应用场景中所适用的平台计算机设备的一种组成结构示意图。该计算机设备同样是本申请作为另一个方面所公开的计算机设备,如图4所示,该计算机设备可以包括:处理器401和存储器402。当然,还可以包括通信接口403、输入单元404、显示器405和通信总线406。
其中,处理器401、存储器402、通信接口403、输入单元404及显示器405,均通过通信总线406完成相互间的通信。
在本申请实施例中,该处理器401,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路(application-specific integrated circuit,ASIC),数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
该处理器401可以调用存储器402中存储的程序。
存储器402中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令(计算机可执行指令),在本申请实施例中,该存储器402中至少存储有用于实现以下功能的程序:
获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息;所述第一输入系统基于第一时间间隔进行操作点采集;
将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息;所述第二输入系统基于第二时间间隔进行操作点采集,所述第一时间间隔大于所述第二时间间隔;
将所述第二操作点信息发送至所述第二设备的第二输入系统;
基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到相应的补点信息;所述补点信息包括:在所述当前时刻至下一个操作点信息的采集时刻的时间段内、以所述第二时间间隔为周期所划分的各个中间时间点中的至少部分中间时间点对应的操作点信息;
将所述补点信息映射为所述第二设备的第二输入系统的补点映射信息;
将所述补点映射信息发送至所述第二设备的第二输入系统。
在一种可能的实现方式中,该存储器402可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如声音播放功能、图像播放功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,用户数据、用户访问数据以及音频数据等等。
此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
通信接口403可以为通信模块的接口,如GSM模块的接口。
输入单元404可以为触摸感应单元、键盘等等。显示器405可以包括显示面板,如触摸显示面板等。
当然,图4所示的终端设备结构并不构成对本申请实施例中终端设备的限定,在实际应用中该终端设备可以包括比图4所示的更多或更少的部件,或者组合某些部件。
另外,为了引用和清楚起见,这里同时对本申请下文所涉及的一些技术名词、简写或缩写总结解释如下:
输入系统:是指智能设备用于接收用户操作、输入的系统,包含触摸屏、键盘、鼠标、MIC、摄像头以及它们的软件系统处理部分。本申请中输入系统重点在于手操系统,如触摸屏系统、鼠标系统。
手势识别:一种在计算机设备中的智能化输入能力,对用户的复杂操作进行识别,提高简单输入所能表达的内容。例如,Android系统或iOS系统手机中,双指按在屏幕上聚拢、分离的操作,在照片浏览时,会被系统识别为缩小或放大操作;在部分浏览器中,点住左右键做“L”型鼠标移动时,会被认为是关闭Tab页面操作,等等诸如此类在简单输入上对输入轨迹的整体识别以增强输入能力的功能,被称为手势识别。
普通输入系统:保持最基本的输入能力的输入设备,本申请中重点指鼠标输入设备,且没有在软件系统层面增加手势识别能力。
手势识别输入系统:具有手势识别能力的输入设备,本专利内重点指在软件系统层面增加手势识别能力的包括触摸屏、鼠标等在内的输入系统。
加速度:物理上的加速度,本申请中重点指用户操作过程,鼠标轨迹移动或触摸板触摸移动的加速度。
操作点:鼠标或触摸屏输入系统,是数字离散化的,其输入一般是由一系列操作点组成,包括操作类型、操作坐标。
补点:补足操作点,以达到用户期待的输入目标。本申请中重点指,对普通输入系统操作点进行补充,以满足支持手势识别的输入系统,实现符合用户常规操作的预期,提高操作的人性化水平。
采集端:用户实际操作产生的终端,例如用户计算机,通过鼠标在云端真机映射的浏览器窗口内的视窗区域进行的一系列操作。
写入端:云端真机的物理真机,将用户操作经过转换后写入的移动端设备。
以下将基于本申请实施例涉及的上述共性方面,对本申请实施例进一步详细说明。如图5所示,为本申请一可选实施例提供的一种设备间的操作映射方法的流程示意图,该方法包括:
步骤S501、获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息;所述第一输入系统基于第一时间间隔进行操作点采集。
本申请中,所述第一设备为具有普通输入系统的PC等计算机设备,所述第一设备的第一输入系统,相对应地可以是所述普通输入系统,所述普通输入系统仅保持有基于鼠标等输入部件的基本输入能力,不具有手势识别能力。
在基于鼠标等部件的普通输入系统中,用户的每一个完整的有效操作,可以认为是一个由一系列原子操作构体的整体,包括严格按照顺序的“按下”、0个或多个“移动”以及“抬起”这些原子操作,任何有别于此的操作数据,都可以认为是异常操作数据,将做丢弃处理(因为任何一个操作,都必须按照顺序经过上述三种(或者在无移动的情况下,则是两种,如点击即包括“按下”与“抬起”这两种原子操作)原子操作过程,不可能没有按下就直接进入到移动阶段。
第一设备的第一输入系统采集的当前第一操作,相对应地可以为包括上述原子操作的任意类型的完整操作,如点击、拖动、滑动、长按等等。
具有普通输入系统的PC等计算机设备约33ms(即所述第一时间间隔)采集一次鼠标的操作类型(如按下、移动、抬起)及操作位置(可以是位置坐标的形式)等操作点信息,由此,本步骤中,所获取的所述第一操作点信息,可以包括但不限于当前第一操作在当前时刻的第一操作点的操作类型及操作位置等信息。
步骤S502、将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息;所述第二输入系统基于第二时间间隔进行操作点采集,所述第一时间间隔大于所述第二时间间隔。
在获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息,如第一操作点的操作类型或操作位置等信息后,为了实现在用户PC侧对远端移动设备进行操作与控制,需即时/实时地将所述第一操作点的操作类型或操作位置等信息,映射为远端移动设备的手势识别输入系统的第二操作点信息。
具体地,该映射过程可以包括:
1)将所述第一操作点的操作类型作为所述第二输入系统的第二操作点的操作类型;也即,对于普通输入系统的按下鼠标这一操作类型,可以将其映射为手势识别输入系统的按下手势,对于普通输入系统的移动鼠标这一操作类型,则将其映射为手势识别输入系统的移动手势,对于普通输入系统的抬起鼠标这一操作类型,则相应地将其映射为手势识别输入系统的抬起手势。
2)对所述第一操作点的操作位置进行从第一输入系统的至第二输入系统的坐标转换,得到所述第二输入系统的第二操作点的操作位置。
对于两个输入系统操作位置的映射,可以通过坐标转换来实现,具体的,可以基于用户侧PC上的web页面或其他可视化客户端程序所提供的操作区域的分辨率(如图3中所示出的“远端手机界面”的分辨率,也即该“远端手机界面”的像素数量)以及移动设备的分辨率(也即移动设备的显示屏的像素数量),将第一操作点在用户侧PC上的位置坐标(x、y)转换为移动设备上的第二操作点在移动设备上的位置坐标(m、n)。
当然,也可以直接基于PC侧操作区域的尺寸大小与移动设备侧显示屏的尺寸大小,来进行两者间的坐标转换,这与上述的基于分辨率的坐标转换无本质上的区别。
步骤S503、将所述第二操作点信息发送至所述第二设备的第二输入系统。
本申请中,所述第二设备,即为远端被控侧的智能手机等移动设备,第二设备的第二输入系统相对应为移动设备的手势识别输入系统。
在将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息后,可进一步将映射所得的所述第二操作点信息(如第二操作点的操作类型及操作位置)发送至第二设备的第二输入系统,以使得第二设备的第二输入系统基于该第二操作点信息进行相应手势识别,比如基于该第二操作点信息识别出当前操作点具体为处于位置A的按下手势等。
步骤S504、基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到相应的补点信息;所述补点信息包括:在所述当前时刻至下一个操作点信息的采集时刻的时间段内、以所述第二时间间隔为周期所划分的各个中间时间点中的至少部分中间时间点对应的操作点信息。
除了将第一输入系统采集的原始操作点信息映射为了第二输入系统的操作点信息,发明人考虑到普通输入系统与手势识别输入系统在操作点采样方面的差异,比如,普通输入系统为低频采样,每间隔33ms采集一次鼠标事件,手势识别系统为高频采样,每间隔10ms采集一次手势操作事件,且普通输入系统只在输入发生变化时,才会产生输入内容并进行操作点采样,而在输入未发生变化(如长按期间)则不会进行操作点采样,手势识别输入系统中,当一个操作开始时(通常为按下操作),无论操作是否有变化,只要操作没有结束(通常是抬起操作),手势识别输入系统都会按照相同采样频率进行持续采样等等,针对两种输入系统在操作点采样方面的上述差异,本申请提出了在将普通输入系统采集的原始操作点信息一对一映射为手势识别输入系统的操作点信息的基础上,进一步对手势识别输入系统进行操作点补点,以此来尽可能模拟手势识别输入系统的采样特征。
其中,在将普通输入系统在当前时刻采集的所述第一操作点信息映射为手势识别输入系统的第二操作点信息,并将映射所得第二操作点信息发送至手势识别输入系统后,对于普通输入系统来说,其至少会间隔33ms才会进行下一操作点的采集,也即,在当前时刻距获取所述下一操作点的时间间隔(该时间间隔可能是33ms,也可能大于33ms,如按下鼠标左键后长按1s才抬起,则该时间间隔为1s)内,普通输入设系统不会再采集操作点,这显然不符合手势识别系统的采样特征,由此,需在普通输入系统每采集两个操作点的时间间隔内(不小于所述33ms),对手势识别输入系统进行操作点补充。
本申请具体基于普通输入系统采集的当前最新的一组操作点信息,来对所述当前第一操作进行操作点补点处理,以此得到用于补充至手势识别输入系统的相应补点信息,且具体可基于手势识别输入系统的采样间隔即所述第二时间间隔(10ms),将普通输入系统每采集两个操作点所间隔的时间段进行周期性划分,得到多个中间时间点,并针对每个中间时间点,为其补充操作点信息,以普通输入系统采集两个操作点时的间隔时长为33ms为例,则可在该33ms的时长内,按10ms的补点间隔划分出2个中间时间点,而对于普通输入系统采集两个操作点时的间隔时长为1s的情况,则可在该1s的时长内,按10ms的补点间隔划分出99个中间时间点。
其中,根据普通输入系统针对当前的第一操作、所采集的最新一组操作点信息中包括的操作点数量的不同,参阅图6,可以将所述操作点补点处理分为以下几种情况:
1)所述最新的一组操作点信息中仅包括一个操作点的信息:直接采用该一个操作点的信息作为补点信息。
若所述最新的一组操作点信息仅包括一个操作点的信息,则该一个操作点的信息相对应地为所述第一操作点信息,在该情况下,由于所述最新的一组操作点信息中仅包括一个操作点的信息,没有其他的参照信息,从而可直接以所述一个操作点的信息也即所述第一操作点信息为参照,将所述至少部分中间时间点对应的操作点信息确定为所述第一操作点信息。
比如,对于用户侧PC的鼠标长按操作,假设在按下鼠标左键后长按1s才抬起,则普通输入系统会在按下时刻进行操作点采样,如,具体采集按下时刻的操作类型“按下”与该按下操作对应的坐标位置,在长按期间不会采集任何操作点,这就导致所述最新的一组操作点信息,在长按期间仅包括按下时刻的操作点信息,对于该情况,在向手势识别输入系统进行操作点补充时,可以直接将按下时刻采集的操作点信息,作为该1s的时间段内向手势识别输入系统补充的各个中间时间点的操作点信息,也即,在该1s的时间段内按10ms的时间间隔、以按下时刻采集的操作点信息为准重复对手势识别输入系统进行补点,直至抬起时刻获得新的采样点为止。
再比如,在用户在PC上执行基于“按下-多个移动-抬起”的滑动操作中,普通输入系统会以33ms的时间间隔持续采样,假设采集的一系列操作点分别为<“按下”、坐标1>-<“移动”、坐标2>-<“移动”、坐标3>…<“移动”坐标m>-<“抬起”、坐标m+1>,则每两个相邻的操作点的时间间隔至少为33ms,如果当前的采集进度仅采集到了第一个操作点<“按下”、坐标1>,则接下来需在第一个操作点与第二个操作点之间的间隔时长(33ms)内进行补点,由于在该33ms的时长内,在普通输入系统所采集的最新一组操作点信息中,仅有<“按下”、坐标1>这1个操作点的信息,从而,在该33ms的时长内以10ms的时间间隔所补充的2个补点信息,可以直接采用当前仅有的该<“按下”、坐标1>这1个操作点的信息。
2)所述最新的一组操作点信息中仅包括两个操作点的信息:执行基于速度的补点处理。
若所述最新的一组操作点信息仅包括两个操作点的信息,则该两个操作点的信息,相对应地为所述第一操作点信息以及第一操作点的上一个操作点的信息。
该情况具备两个操作点的信息作为参考,则可基于所述第一操作点及其上一操作点对应的操作位置及操作时间计算操作点的移动速度,之后可进一步基于所述移动速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算待补充的相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型。
仍以上述的滑动操作为例,假设当前的采集进度仅采集到了前两个操作点<“按下”、坐标1>-<“移动”、坐标2>,接下来需在第二个操作点与第三个操作点之间的间隔时长(33ms)内进行补点。
假设第一个操作点<“按下”、坐标1>对应的位置坐标及时间信息为(x1,y1,t1),第二个操作点<“移动”、坐标2>对应的位置坐标及时间信息为(x2,y2,t2),则可计算出该两个操作点间的速度为:
vx=(x2-x1)/(t2-t1);
vy=(y2-y1)/(t2-t1);
假设当前待补充的中间时间点对应的时间为t,则可计算出该中间时间点的操作点位置坐标(x、y)为:
x=x2+vx*dt1;
y=y2+vy*dt1;
其中,dt1=t-t2。
而对于该待补充的中间时间点的操作类型,则可以直接参照其上一最临近的操作点的操作类型,在本示例中,则可直接参照所述第二个操作点<“移动”、坐标2>的操作类型,将处于第二个操作点与第三个操作点之间的各个中间时间点的操作类型确定为“移动”。
(3)所述最新的一组操作点信息中至少包括三个操作点的信息:执行基于加速度的补点处理。
若所述最新的一组操作点信息至少包括三个操作点的信息,则该三个操作点的信息,相对应地为所述第一操作点信息以及该第一操作点的上两个操作点的信息。
该情况具备至少三个操作点的信息作为参考,参考信息更为丰富,在该情况下,可基于所述第一操作点(当前最新的操作点)及其前两个操作点对应的操作位置及操作时间计算操作点的移动加速度,进而基于所述移动加速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算待补充的相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型。
以下对该基于加速度的补点处理过程进行详述。
仍以上述的滑动操作为例,假设当前的采集进度仅采集到了前3个操作点<“按下”、坐标1>-<“移动”、坐标2>-<“移动”、坐标3>,则接下来需在第3个操作点与第4个操作点之间的间隔时长(33ms)内进行补点,对于该情况,可以以所述第1-3个操作点为参考,对第3与第4个操作点之间的2个中间时间点进行补点信息的计算。
假设第1-3个操作点对应的位置坐标及时间信息分别为:(x1,y1,t1)、(x2,y2,t2)、(x3,y3,t3),其中,(x3,y3,t3)最新,则可首先计算第一个操作点与第二个操作点之间的速度(vx1、vy1)、第二个操作点与第三个操作点之间的速度(vx2、vy2):
vx1=(x2-x1)/(t2-t1),vy1=(y2-y1)/(t2-t1);
vx2=(x3-x2)/(t3-t2),vy2=(y3-y3)/(t3-t2)。
之后,可基于计算出的速度(vx1、vy1)与(vx2、vy2),计算操作点的移动加速度(ax、ay):
ax=(vx1-vx2)/((t3-t1)/2);
ay=(vy2-vy1)/((t3-t1)/2)。
从而,对于当前待补充的中间时间点t,其对应速度(vx、vy)为:
vx=vx2+ax*(t-(t3+t2)/2);
vy=vy2+ay*(t-(t3+t2)/2)。
最终,可进一步计算出该中间时间点t的坐标位置(x、y):
x=x3+vx*(t-t3);
y=y3+vy*(t-t3)。
而对于上述滑动操作的后续每两个原始采集的相邻操作点之间的补点处理,与上述的第3、4个操作点之间的操作点补点过程类似,均是以最新即当前最邻近的3个原始采样的操作点信息为参考,进行操作点补充,这里不再一一详述。
步骤S505、将所述补点信息映射为第二设备的第二输入系统的补点映射信息。
具体地,可将所述补点信息中的操作类型如“按下”、“移动”、“抬起”,相应映射为手势识别输入系统的“按下”、“移动”、“抬起”手势类型,并可根据第一设备也即用户侧PC的操作区域分辨率与第二设备显示屏的分辨率,对所述补点信息的位置坐标(x、y)进行坐标转换,通过坐标转换将其缩放为对应于第二设备即移动设备的手势识别输入系统的坐标(m、n)。
步骤S506、将所述补点映射信息发送至所述第二设备的第二输入系统。
在按上述处理过程进行操作点补充,获得相应补点信息,并对补点信息进行映射处理,得到对应于第二输入系统也即手势识别输入系统的补点映射信息后,最终可按手势识别输入系统的采样特征向手势识别输入系统发送所述补点映射信息,比如,在每次对原始采样的操作点进行映射处理,并将映射所得的操作点发送给手势识别输入系统后,可继续以10ms的时间间隔向手势识别输入系统发送补点映射信息(当然,由于普通输入系统的采样间隔为33ms,由此可能存在13ms发送一次映射信息的情况),以此尽可能模拟了手势识别输入系统的采样特征,可尽可能使得用户在PC端普通输入系统的操作与移动设备端手势识别输入系统的操作趋于一致化。
由以上方案可知,本申请提供的设备间的操作映射方法,在对第一设备的第一输入系统与第二设备的第二输入系统进行操作映射时,除了将第一输入系统采集的操作点信息映射为了第二输入系统的操作点信息,还考虑到第一输入系统与第二输入系统在操作点采样方面的差异对操作映射过程进行了补点处理,并具体基于第一输入系统采集操作点时的第一时间间隔大于第二输入系统采集操作点时的第二时间间隔(也即,第一输入系统的采样频率低于第二输入系统的采样频率)的特点,对第二输入系统进行了操作点补点,尽可能模拟了第二输入系统的操作点采样特征,从而,可有效解决因第一、第二输入系统之间的差异而导致的第二输入系统对操作信息进行误识别或识别精度不够的问题。
在本申请实施例的一可选实施方式中,参阅图7示出的设备间的操作映射方法的流程示意图,该方法在所述步骤S501之前还可以包括:
步骤S701、利用第一线程接收第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息,所述第一操作点信息至少包括第一操作点的操作类型及操作位置。
具体实施中,可采用一预先建立的、可共享的数据存储队列,对从普通输入系统获得的原始采样数据进行缓存。且如图8所示,可在本申请方法的执行主体如计算机设备中,运行用于提供远程操作映射平台功能的程序,并在该程序中提供两条线程:第一线程、第二线程,其中,第一线程用于负责接收通过网络传输过来的用户PC侧的操作数据(原始采集的操作点信息),并将数据更新到所述数据存储队列中;第二线程负责对接收的用户PC侧操作数据进行基于补点的操作信息映射计算,并将映射所得的操作信息写入移动设备的手势识别输入系统中。
步骤S702、若所述第一操作点的操作类型为按下操作,则清空预先创建的数据存储队列,并将所述第一操作点信息及其接收时间缓存至所述数据存储队列的队尾,以使得从所述数据存储队列中获取所需的信息。
鉴于本申请中最多基于三个最新的操作点信息即可完成所需的补点处理,从而,优选地,可设定上述数据存储队列最多可存储三个操作点的信息,该数据存储队列对于每个操作点,除了可以存储其操作类型、操作位置这些最基本信息,还可以存储操作点对应的操作时间,实际应用中,可将第一线程接收操作点信息时的接收时间,近似认为是该操作点的操作时间,并以时间戳的形式将该接收时间存储至所述数据存储队列中。
该队列可以采用只读形式读取所有数据,且每次向队列添加数据时,可从队列尾部塞入数据,若当前队列已有3个操作点的数据,则将顶部数据也即队列头部数据移出队列,因此,队列中,靠近头部的数据总是相对较旧的数据,靠近尾部的数据总是更新的数据。
基于上文的陈述,可知,普通输入系统中的鼠标操作,均是以按下鼠标为一个完整操作的起始、以抬起鼠标为一个完整操作的终结,由此,若当前时刻所接收的最新的用户PC侧数据的操作类型,也即所述第一操作点的操作类型为按下操作,则表示当前开始了一个新的操作,也相应表示之前的操作已经结束,从而,在该情况下,可清除所述数据存储队列中已缓存的所有操作点信息,并进而将当前接收的所述第一操作点信息及其接收时间缓存至所述数据存储队列的队尾。
步骤S703、若所述第一操作点的操作类型为移动操作或抬起操作,则将所述第一操作点信息及其接收时间缓存至所述数据存储队列的队尾,并将所述数据存储队列中已存储的各操作点信息依次向队头移动一个存储位置,以使得从所述数据存储队列中获取所需的操作点信息。
反之,若所述第一操作点的操作类型为移动操作或抬起操作,则表示并未开始一个新的操作,不必清空所述数据存储队列中的数据,从而,直接将所述第一操作点信息及其接收时间缓存至所述数据存储队列的队尾即可,而对于所述数据存储队列中已存储的各操作点信息,则依次将其向队头移动一个存储位置,其中,若在添加所述第一操作点信息至所述数据存储队列之前,对头位置已存储有操作点信息,则将对头的操作点信息移出所述数据存储队列。
基于本实施例中数据存储队列的此种设计,可使得在进行操作点补点计算时,直接将数据存储队列中已缓存的所有数据作为补点计算所需参考的一组操作点信息,而不必进行其他复杂的参考操作点的选择、确认流程,其中,若该队列中仅缓存有一个操作点的信息,则表示当前开始了一个新的操作,未采集到足够的操作点信息,从而可直接以该一个操作点的信息为参考进行操作点补点,若该队列中仅缓存有两个操作点的信息,则可采用上文所述的基于速度的补点处理过程进行补点计算,若该队列中缓存有三个操作点的信息,则相应可采用上文所述的基于加速度的补点处理过程进行补点计算。
为了便于对本申请的设备间的操作映射方法进行理解,以下进一步结合本申请实施例的一种应用示例对本申请方法进行说明。在该示例中,参阅图9,具体可应用本申请方法在第一线程(也即接收用户PC侧操作数据的线程)执行以下处理:
步骤S901、创建一数据存储队列,以用于缓存操作点信息和对应的接收时间,该队列最多可缓存3个操作点的数据;
步骤S902、接收用户PC侧通过网络传输过来的操作点信息;
该操作点信息至少包括操作类型、操作坐标,除此之外,为了便于后续操作信息映射处理时的坐标转换,该操作点信息还可以包括PC侧操作区域的分辨率。
步骤S903、判断该操作点信息中的操作类型是否是按下操作,若是,则进入步骤S904,若否则进入步骤S906;
步骤S904、清空队列,并将接收的操作点信息和当前时刻作为当前操作点的数据加入队列,并进入步骤905;
步骤S905、设置状态为“按下”;
步骤S906、判断该操作点信息中的操作类型是否是抬起操作,若否,则进入步骤S907,若是,则进入步骤S909;
步骤S907、将接收的操作点信息和当前时刻作为当前操作点的数据加入队列;
步骤S908、维持当前状态为“移动”;
步骤S909、将接收的操作点信息和当前时刻作为当前操作点的数据加入队列;
步骤S910、设置状态为“抬起”,至此,当前的一个完整操作结束。
具体实施中,第一线程也即所述用于接收用户PC侧操作数据的线程,可以由无限循环实现;线程主要通过以上处理完成如下操作:
1)接收用户PC侧的一个操作点信息;
2)判断是否为“按下”、“抬起”,若是,则更新状态,若否,则维持移动状态;且在“按下”状态的情况下,首先清空队列;
3)将接收的操作点信息及其接收时间塞入队列。
而对于第二线程,则参阅图10,具体可通过以下处理实现操作映射中的补点处理:
步骤S1001、获取队列数据;
步骤S1002、判断是否只从队列中获取到一个操作点的数据,若是,则进入步骤S1003,若否,则进入步骤S1005;
步骤S1003、将所述当前一个操作点的坐标(x、y)作为补点的坐标;
步骤S1004、获取当前时间t,并进入步骤S1017的补点坐标转换处理中;
步骤S1005、判断是否只从队列中获取到两个操作点的数据,若是,则进入步骤S1006,若否,则进入步骤S1010;
步骤S1006、设两个操作点的数据为(x1,y1,t1),(x2,y2,t2),其中(x2,y2,t2)最新;
步骤S1007、计算两个操作点间的速度:vx=(x2-x1)/(t2-t1),vy=(y2-y1)/(t2-t1);
步骤S1008、获取当前待补充的操作点对应的时间t,并计算其与(x2,y2,t2)的时间差dt1=t-t2;
步骤S1009、计算当前待补充的操作点的坐标:x=x2+vx*dt1,y=y2+vy*dt1,并进入步骤S1017;
步骤S1010、设三组点为(x1,y1,t1),(x2,y2,t2),(x3,y3,t3),其中(x3,y3,t3)最新;
步骤S1011、计算点(x1,y1,t1)与点(x2,y2,t2)之间速度:vx1=(x2-x1)/(t2-t1),vy1=(y2-y1)/(t2-t1);
步骤S1012、计算点(x2,y2,t2)与点(x3,y3,t3)之间速度:vx2=(x3-x2)/(t3-t2),vy2=(y3-y3)/(t3-t2);
步骤S1013、计算加速度:ax=(vx1-vx2)/((t3-t1)/2),ay=(vy2-vy1)/((t3-t1)/2);
步骤S1014、获取当前待补充的操作点对应的时间t;
步骤S1015、计算当前时间t对应的速度:vx=vx2+ax*(t-(t3+t2)/2),vy=vy2+ay*(t-(t3+t2)/2);
步骤S1016、计算当前待补充的操作点的坐标:x=x3+vx*(t-t3),y=y3+vy*(t-t3);
步骤S1017、将(x,y)缩放为第二设备手势识别输入系统的比例坐标(m、n);
步骤S1018、判断当前状态是否是“按下”,若是,则进入步骤S1019,若否,则进入步骤S1021;
步骤S1019、设置当前待补充的操作点的操作类型为“按下”操作;
步骤S1020、将全局状态改为“移动”,并进入步骤S1023;
步骤S1021、判断当前状态是否是“抬起”,若否,则进入步骤S1022,若是,则进入步骤S1025;
步骤S1022、设置当前待补充的操作点的操作类型为“移动”操作;
步骤S1023、将当前待补充的操作点的信息写入手势识别输入系统;
步骤S1024、根据t设置定时计时器的唤醒计时时长(10ms)后进入休眠;
步骤S1025、设置当前待补充的操作点的操作类型为“抬起”操作;
步骤S1026、将当前待补充的操作点的信息写入手势识别输入系统;
步骤S1027、清空数据存储队列的数据,并结束。
基于本申请的上述操作点补点处理过程,对于用户PC侧的长按操作,虽然普通输入系统仅能针对按下鼠标与长按后抬起鼠标时的操作进行采样,但基于本申请方法,可实现在长按期间尽可能按手势识别输入系统的采样频率(每10ms进行一次操作点采样),对手势识别输入系统进行操作点补点,由此,在移动设备的手势识别输入系统中,不会因缺失操作点而导致将用户PC侧的长按操作误识别为点击操作,通过补充的操作点信息实现了移动设备对该长按操作的正确识别。
对于操作鼠标快速下滑后抬起鼠标使操作轨迹停止的情况,如,在MicrosoftWord中,右侧滑动条用鼠标拖动快滑时松开鼠标左键,则利用本申请方法,在鼠标抬起瞬间可通过基于加速度(该情况下加速度为负)的操作点补点,使得以10ms为单位补充的各个操作点对应的速度很快趋于零(体现在各个补点的位置坐标上的特征,则是各个补点的位置坐标趋于相同),这样,可使得通过基于加速度补充的几个操作点尽快控制滑动条/页面停止(由于10ms就作一次补点,通过几个补点将速度降为0的操作对于用户视觉来说几乎是感知不到的),而不是快速下翻,避免了对该操作的误识别。
再比如,在上文所述的弹珠游戏中,即使因普通输入系统采样的离散性,导致未在实际的鼠标停止位置O处进行采样,而是在O之前的13ms的a4处进行采样(O之后的20ms采样所得的操作点,会因与之前的位置非常接近而被普通输入系统滤除掉),则基于本申请方法,会在a4与a5之间持续进行基于加速度的补点处理,这样,通过几个补点信息的计算,即可将a4的残留速度减速为0(体现在各个补点的位置坐标上的特征,则是各个补点的位置坐标趋于相同),由于10ms即作一次补点,通过几个补点将速度降为0的操作对于用户视觉来说几乎是感知不到的(对于速度减速为0之后的其他补点,若计算得出其速度为负值,则表示计算得出的速度值不合规,可直接将其规范为0,也即维持弹珠的当前补点位置与前一个补点位置相同),基于该处理,实现了将用户PC原始传输过来的采样操作点的残留速度降为了0,从而,在该操作结束后也即抬起鼠标后不会再出现弹珠向前有一个小幅移动的现象。
除此之外,由于本申请通过上述的操作点补点处理,弥补了因普通输入系统与手势识别输入系统采样频率存在偏差、而导致的在进行操作映射时手势识别输入系统采样频率精度较低、缺失操作点的缺陷,从而可进一步提升操作映射时手势识别输入系统的操作与控制精度,不会使得对精细化操作敏感的用户有不好的体验,例如,不会出现诸如“滑动轨迹不连续”或者“滑动操作过程中缺少抖动操作对应的抖动轨迹”这些现象等。
另一方面,本申请还提供了一种设备间的操作映射装置。
参阅图11,其示出了本申请中设备间的操作映射装置的一种结构示意图,该装置具体可应用于利用具有普通输入系统的用户PC对具有手势识别输入系统的智能手机等移动设备进行跨设备操作与控制的场景中,且具体可应用于该场景中的用户PC侧或移动设备侧,或独立于用户PC侧及移动设备侧的服务器、个人PC等计算机设备中,该装置所适用的场景及所适用的计算机设备的组成结构,可以分别参阅前文的相关介绍,这里不再赘述。
如图11所示,该装置可以包括:
获取单元1101,用于获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息;所述第一输入系统基于第一时间间隔进行操作点采集;
采样映射单元1102,用于将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息;所述第二输入系统基于第二时间间隔进行操作点采集,所述第一时间间隔大于所述第二时间间隔;
第一发送单元1103,用于将所述第二操作点信息发送至所述第二设备的第二输入系统;
补点单元1104,用于基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到相应的补点信息;所述补点信息包括:在所述当前时刻至下一个操作点信息的采集时刻的时间段内、以所述第二时间间隔为周期所划分的各个中间时间点中的至少部分中间时间点对应的操作点信息;
补点映射单元1105,用于将所述补点信息映射为所述第二设备的第二输入系统的补点映射信息;
第二发送单元1106,用于将所述补点映射信息发送至所述第二设备的第二输入系统。
在本申请实施例的一可选实施方式中,所述获取单元1101,具体用于:获取所述第一输入系统采集的当前第一操作在当前时刻的第一操作点的操作类型及操作位置;所述采样映射单元,具体用于:将所述第一操作点的操作类型作为所述第二输入系统的第二操作点的操作类型;对所述第一操作点的操作位置进行从第一输入系统至第二输入系统的坐标转换,得到所述第二输入系统的第二操作点的操作位置。
在本申请实施例的一可选实施方式中,所述补点单元1104,具体用于:
若所述一组操作点信息仅包括所述第一操作点信息,则将所述至少部分中间时间点对应的操作点信息确定为所述第一操作点信息;
若所述一组操作点信息仅包括所述第一操作点及所述第一操作点的上一操作点的信息,则基于所述第一操作点及所述上一操作点对应的操作位置及操作时间计算操作点的移动速度,基于所述移动速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算所述相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型;
若所述一组操作点信息至少包括所述第一操作点及所述第一操作点的前两个操作点的信息,则基于所述第一操作点及所述前两个操作点对应的操作位置及操作时间计算操作点的移动加速度,基于所述移动加速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算所述相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型。
在本申请实施例的一可选实施方式中,参阅图12示出的设备间的操作映射装置的结构示意图,该装置还可以包括:
缓存单元1107,用于:
利用第一线程接收第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息,所述第一操作点信息至少包括第一操作点的操作类型及操作位置;
若所述第一操作点的操作类型为按下操作,则清空预先创建的数据存储队列,并将所述第一操作点信息及其接收时间缓存至所述数据存储队列的队尾,以使得从所述数据存储队列中获取所需的信息;
若所述第一操作点的操作类型为移动操作或抬起操作,则将所述第一操作点信息及其接收时间缓存至所述数据存储队列的队尾,并将所述数据存储队列中已存储的各操作点信息依次向队头移动一个存储位置,以使得从所述数据存储队列中获取所需的操作点信息;
其中,所述接收时间用于作为所述第一操作点的操作时间。
所述第一发送单元1103或所述第二发送单元1106,分别用于利用第二线程将所述第二操作点信息或所述补点映射信息发送至所述第二设备的第二输入系统。
再一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现如上任意一个实施例中所描述的设备间的操作映射方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种设备间的操作映射方法,其特征在于,包括:
获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息;所述第一输入系统基于第一时间间隔进行操作点采集;
将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息;所述第二输入系统基于第二时间间隔进行操作点采集,所述第一时间间隔大于所述第二时间间隔;
将所述第二操作点信息发送至所述第二设备的第二输入系统;
基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到操作点补点处理相应的补点信息;所述补点信息包括:在所述当前时刻至下一个操作点信息的采集时刻的时间段内,并以所述第二时间间隔为周期所划分的各个中间时间点中的至少部分中间时间点对应的操作点信息,所述当前最新的一组操作点信息包括所述第一操作点信息;
将所述补点信息映射为所述第二设备的第二输入系统的补点映射信息;
将所述补点映射信息发送至所述第二设备的第二输入系统。
2.根据权利要求1所述的方法,其特征在于,所述获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息,包括:
获取所述第一输入系统采集的当前第一操作在当前时刻的第一操作点的操作类型及操作位置,所述操作类型包括按下、移动以及抬起;
所述将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息,包括:
将所述第一操作点的操作类型作为所述第二输入系统的第二操作点的操作类型;对所述第一操作点的操作位置进行从第一输入系统至第二输入系统的坐标转换,得到所述第二输入系统的第二操作点的操作位置。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到操作点补点处理相应的补点信息,包括:
若所述一组操作点信息仅包括所述第一操作点信息,则将所述至少部分中间时间点对应的操作点信息确定为所述第一操作点信息;
若所述一组操作点信息仅包括所述第一操作点及所述第一操作点的上一操作点的信息,则基于所述第一操作点及所述上一操作点对应的操作位置及操作时间计算操作点的移动速度,基于所述移动速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算所述相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型;
若所述一组操作点信息至少包括所述第一操作点及所述第一操作点的前两个操作点的信息,则基于所述第一操作点及所述前两个操作点对应的操作位置及操作时间计算操作点的移动加速度,基于所述移动加速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算所述相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型。
4.根据权利要求1所述的方法,其特征在于,在所述获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息之前,该方法还包括:
利用第一线程接收第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息,所述第一操作点信息至少包括第一操作点的操作类型及操作位置;
若所述第一操作点的操作类型为按下操作,则清空预先创建的数据存储队列,并将所述第一操作点信息及所述第一操作点信息的接收时间缓存至所述数据存储队列的队尾,以使得从所述数据存储队列中获取所需的信息;
若所述第一操作点的操作类型为移动操作或抬起操作,则将所述第一操作点信息及所述第一操作点信息的接收时间缓存至所述数据存储队列的队尾,并将所述数据存储队列中已存储的各操作点信息依次向队头移动一个存储位置,以使得从所述数据存储队列中获取所需的操作点信息;
其中,所述接收时间用于作为所述第一操作点的操作时间。
5.根据权利要求4所述的方法,其特征在于,将所述第二操作点信息或所述补点映射信息发送至所述第二设备的第二输入系统,包括:
利用第二线程将所述第二操作点信息或所述补点映射信息发送至所述第二设备的第二输入系统。
6.一种设备间的操作映射装置,其特征在于,包括:
获取单元,用于获取第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息;所述第一输入系统基于第一时间间隔进行操作点采集;
采样映射单元,用于将所述第一操作点信息映射为第二设备的第二输入系统的第二操作点信息;所述第二输入系统基于第二时间间隔进行操作点采集,所述第一时间间隔大于所述第二时间间隔;
第一发送单元,用于将所述第二操作点信息发送至所述第二设备的第二输入系统;
补点单元,用于基于所述第一输入系统采集的当前最新的一组操作点信息,对所述当前第一操作进行预定的操作点补点处理,得到操作点补点处理相应的补点信息;所述补点信息包括:在所述当前时刻至下一个操作点信息的采集时刻的时间段内,并以所述第二时间间隔为周期所划分的各个中间时间点中的至少部分中间时间点对应的操作点信息,所述当前最新的一组操作点信息包括所述第一操作点信息;
补点映射单元,用于将所述补点信息映射为所述第二设备的第二输入系统的补点映射信息;
第二发送单元,用于将所述补点映射信息发送至所述第二设备的第二输入系统。
7.根据权利要求6所述的装置,所述获取单元,具体用于:获取所述第一输入系统采集的当前第一操作在当前时刻的第一操作点的操作类型及操作位置,所述操作类型包括按下、移动以及抬起;所述采样映射单元,具体用于:将所述第一操作点的操作类型作为所述第二输入系统的第二操作点的操作类型;对所述第一操作点的操作位置进行从第一输入系统至第二输入系统的坐标转换,得到所述第二输入系统的第二操作点的操作位置。
8.根据权利要求7所述的装置,所述补点单元,具体用于:
若所述一组操作点信息仅包括所述第一操作点信息,则将所述至少部分中间时间点对应的操作点信息确定为所述第一操作点信息;
若所述一组操作点信息仅包括所述第一操作点及所述第一操作点的上一操作点的信息,则基于所述第一操作点及所述上一操作点对应的操作位置及操作时间计算操作点的移动速度,基于所述移动速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算所述相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型;
若所述一组操作点信息至少包括所述第一操作点及所述第一操作点的前两个操作点的信息,则基于所述第一操作点及所述前两个操作点对应的操作位置及操作时间计算操作点的移动加速度,基于所述移动加速度、所述第一操作点的操作位置、操作时间以及相应中间时间点的时间信息,计算所述相应中间时间点对应的操作位置,并将所述相应中间时间点对应的操作类型确定为所述第一操作点的操作类型。
9.根据权利要求6所述的装置,其特征在于,还包括缓存单元,用于:
利用第一线程接收第一设备的第一输入系统采集的当前第一操作在当前时刻的第一操作点信息,所述第一操作点信息至少包括第一操作点的操作类型及操作位置;
若所述第一操作点的操作类型为按下操作,则清空预先创建的数据存储队列,并将所述第一操作点信息及所述第一操作点信息的接收时间缓存至所述数据存储队列的队尾,以使得从所述数据存储队列中获取所需的信息;
若所述第一操作点的操作类型为移动操作或抬起操作,则将所述第一操作点信息及所述第一操作点信息的接收时间缓存至所述数据存储队列的队尾,并将所述数据存储队列中已存储的各操作点信息依次向队头移动一个存储位置,以使得从所述数据存储队列中获取所需的操作点信息;
其中,所述接收时间用于作为所述第一操作点的操作时间;
所述第一发送单元,用于利用第二线程将所述第二操作点信息发送至所述第二设备的第二输入系统;
所述第二发送单元,用于利用第二线程将所述补点映射信息发送至所述第二设备的第二输入系统。
10.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于加载并执行所述计算机可执行指令,所述计算机可执行指令在被加载并执行时至少能用于实现如权利要求1-5任一项所述的方法。
CN201910745805.1A 2019-08-13 2019-08-13 设备间的操作映射方法、装置及计算机设备 Active CN110456927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910745805.1A CN110456927B (zh) 2019-08-13 2019-08-13 设备间的操作映射方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910745805.1A CN110456927B (zh) 2019-08-13 2019-08-13 设备间的操作映射方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN110456927A CN110456927A (zh) 2019-11-15
CN110456927B true CN110456927B (zh) 2021-07-16

Family

ID=68486367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910745805.1A Active CN110456927B (zh) 2019-08-13 2019-08-13 设备间的操作映射方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN110456927B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800890B (zh) * 2020-06-30 2023-09-19 联想(北京)有限公司 一种处理方法及输入设备
CN113163483B (zh) * 2021-04-19 2022-08-23 北京字节跳动网络技术有限公司 时间戳更新方法、装置和电子设备
CN113076051A (zh) * 2021-04-25 2021-07-06 广州酷狗计算机科技有限公司 从控终端同步方法、装置、终端及存储介质
CN113204494B (zh) * 2021-05-29 2023-05-12 长沙市到家悠享家政服务有限公司 终端远程测试平台及方法、电子设备及可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763197A (zh) * 2010-01-18 2010-06-30 友达光电股份有限公司 触控显示面板和触控感应方法
CN106293563A (zh) * 2015-06-01 2017-01-04 联想(北京)有限公司 一种控制方法和电子设备
EP3396594A1 (en) * 2017-04-28 2018-10-31 HTC Corporation Tracking system and method thereof
CA3063918A1 (en) * 2017-06-14 2018-12-20 Roborep Inc. Telepresence management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662556A (zh) * 2012-03-07 2012-09-12 中兴通讯股份有限公司 计算机终端的控制方法、装置及系统
KR101601187B1 (ko) * 2014-11-19 2016-03-08 경북대학교 산학협력단 손금 기반 사용자 인식 정보를 이용한 기기 컨트롤 장치 및 그 방법
CN105975122A (zh) * 2016-04-27 2016-09-28 集怡嘉数码科技(深圳)有限公司 一种触摸轨迹补偿的方法、装置及终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763197A (zh) * 2010-01-18 2010-06-30 友达光电股份有限公司 触控显示面板和触控感应方法
CN106293563A (zh) * 2015-06-01 2017-01-04 联想(北京)有限公司 一种控制方法和电子设备
EP3396594A1 (en) * 2017-04-28 2018-10-31 HTC Corporation Tracking system and method thereof
CA3063918A1 (en) * 2017-06-14 2018-12-20 Roborep Inc. Telepresence management

Also Published As

Publication number Publication date
CN110456927A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN110456927B (zh) 设备间的操作映射方法、装置及计算机设备
CN107122119B (zh) 信息处理方法、装置、电子设备及计算机可读存储介质
JP6659644B2 (ja) 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理
US10042537B2 (en) Video frame loupe
US20130212541A1 (en) Method, a device and a system for receiving user input
EP3046094A1 (en) Map information display device, map information display method, and map information display program
US20130307765A1 (en) Contactless Gesture-Based Control Method and Apparatus
JP6427559B6 (ja) 手書き入力のための永久同期システム
US20140351758A1 (en) Object selecting device
EP2458490B1 (en) Information processing apparatus and operation method thereof
EP2442220A1 (en) Touch-enebled circle control for time and date entry
US20080295015A1 (en) Button discoverability
JP6004756B2 (ja) 表示制御装置及びその制御方法
CN103677621A (zh) 具有触摸面板功能的显示控制设备和显示控制方法
JP6270495B2 (ja) 情報処理装置、情報処理方法、コンピュータプログラム、及び記憶媒体
CN110032296A (zh) 终端中虚拟对象的确定方法、装置、终端及存储介质
JP6041742B2 (ja) タッチパネル表示制御装置
US11301124B2 (en) User interface modification using preview panel
CN111433735A (zh) 实现通用硬件-软件接口的方法、设备和计算机可读介质
EP3649543A1 (en) Proximal menu generation
US9235694B2 (en) Recording medium, authentication device, and authentication method
CN105353883A (zh) 人机交互方法、人机交互系统和计算装置
CN106909265B (zh) 终端系统光标事件的处理方法及装置、鼠标
US20200341607A1 (en) Scrolling interface control for computer display
KR20130080218A (ko) 모션센서를 이용한 텍스트 에디터의 커서 이동 방법, 그리고 모션센서를 이용한 텍스트 에디터의 커서 이동 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

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
GR01 Patent grant