CN111682988B - 远程控制方法、装置、存储介质和处理器 - Google Patents
远程控制方法、装置、存储介质和处理器 Download PDFInfo
- Publication number
- CN111682988B CN111682988B CN202010560808.0A CN202010560808A CN111682988B CN 111682988 B CN111682988 B CN 111682988B CN 202010560808 A CN202010560808 A CN 202010560808A CN 111682988 B CN111682988 B CN 111682988B
- Authority
- CN
- China
- Prior art keywords
- predicted
- cursor
- motion data
- position information
- target
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种远程控制方法、装置、存储介质和处理器。其中,该方法包括:获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻;确定指点设备的光标在目标时刻的第一预测位置信息;向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。本发明解决了现有技术中远程控制的网络延迟较大的技术问题。
Description
技术领域
本发明涉及控制领域,具体而言,涉及一种远程控制方法、装置、存储介质和处理器。
背景技术
目前,在进行远程控制时,端到端交互延迟是决定操作者用户体验的重要因素,其中,交互延迟的时间取决于多种因素,包括终端侧的处理时间,网络延迟,主机侧的处理时间,这里既包括软件延时也包括硬件延时。
降低网络延迟的主要方法有确保网络电器特性正常,确保网络线路通畅,确保足够的可用带宽避免网络拥塞,增加边缘节点和维护主干网,应用质量服务(QualityofService,简称为QoS)和等级服务(Class of Service,简称为CoS)等。但是,这些方法都需要增加软硬件成本,包括提升服务等级,甚至是巨额投入,但带来的效果并不能令人满意。尤其是当网络路径较长或网络背景流量较复杂时,效果对比在本地或小型局域网内的交互体验还相差很远,从而还仍然存在着远程控制的网络延迟较大的技术问题。
针对上述现有技术中的远程控制的网络延迟较大的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种远程控制方法、装置、存储介质和处理器,以至少解决现有技术中远程控制的网络延迟较大的技术问题。
根据本发明实施例的一个方面,提供了一种远程控制方法。该方法可以包括:获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻;确定指点设备的光标在目标时刻的第一预测位置信息;向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。
可选地,指点设备的光标在目标时刻的第一预测位置信息,包括:获取指点设备的历史光标数据,其中,历史光标数据为当前时刻以及当前时刻之前的目标时间段内的光标的数据;按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息。
可选地,按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息,包括:第一预测步骤,在当前时刻按照第一预测规则对历史光标数据进行预测处理,得到第一预测位置信息;第一获取步骤,获取光标在目标时刻的第一真实位置信息;第一确定步骤,在第一预测位置信息和第一真实位置信息之间的差值大于第一阈值的情况下,将至少一种预测规则中选择除第一预测规则之外的预测规则重新确定为第一预测规则,或者,在第一预测位置信息和第一真实位置信息之间的差值小于第一阈值的情况下,保留第一预测规则,将目标时刻确定为当前时刻,并返回第一预测步骤。
可选地,在按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息之前,该方法还包括:分别按照至少一种预测规则对光标的光标数据样本进行预测处理,得到至少一种第二预测位置信息;确定每种第二预测位置信息和与光标数据样本对应的第二真实位置信息之间的第一差值,得到多个第一差值;将多个第一差值中的最小第一差值对应的预测规则确定为目标预测规则;按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息,包括:按照目标预测规则对历史光标数据进行预测处理,得到第一预测位置信息。
可选地,在目标时间段内的光标的位置与当前时刻的光标的位置在时间上具有连续性,且具有相同的运动向量和加速度变化趋势。
可选地,至少一种预测规则包括以下至少一种:时间序列预测规则;航位推算规则;线性拟合规则;曲线拟合规则;二维卡尔曼滤波规则;线性神经网络预测规则。
可选地,在确定指点设备的光标在目标时刻的第一预测位置信息之后,该方法还包括:在第一预测位置信息符合目标条件的情况下,对第一预测位置信息进行修正;在第一预测位置信息不符合目标条件的情况下,则丢弃第一预测位置信息。
可选地,在以下至少之一情况下,确定第一预测位置信息不符合目标条件:获取光标在当前时刻的位置与第一预测位置信息所指示的位置之间的第一距离,确定第一距离不在第一阈值范围内;获取光标在当前时刻的位置与第一预测位置信息所指示的位置的连线的第一方向角,光标在当前时刻的位置与光标的历史位置的连线的第二方向角,确定第一方向角和第二方向角之间的夹角超过第二阈值。
可选地,向远程设备发送第一预测位置信息,包括:至少向远程设备发送修正后的第一预测位置信息。
根据本发明实施例的另一方面,还提供了另一种远程控制方法。该方法可以包括:获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻;基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息;向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。
可选地,基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息,包括:获取指点设备的历史运动数据,其中,历史运动数据为当前时刻以及当前时刻之前的目标时间段内的指点设备的运动数据;按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据;按照第一预测运动数据生成第一预测位置信息。
可选地,按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据,包括:第二预测步骤,在当前时刻按照第一预测规则对历史运动数据进行预测处理,得到第一预测运动数据;第二获取步骤,获取指点设备在目标时刻的第一真实运动数据;确定步骤,在第一预测运动数据和第一真实运动数据之间的差值大于第三阈值的情况下,将至少一种预测规则中选择除第一预测规则之外的预测规则重新确定为第一预测规则,或者,在第一预测运动数据和第一真实运动数据之间的差值小于第三阈值的情况下,保留第一预测规则,将目标时刻确定为当前时刻,并返回预测步骤。
可选地,在按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据之前,该方法还包括:分别按照至少一种预测规则对指点设备的运动数据样本进行预测处理,得到至少一种第二预测运动数据;确定每种第二预测运动数据和与运动数据样本对应的第二真实运动数据之间的第二差值,得到多个第二差值;将多个第二差值中的最小第二差值对应的预测规则确定为目标预测规则;按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据,包括:按照目标预测规则对历史运动数据进行预测处理,得到第一预测运动数据。
可选地,在目标时间段内的指点设备的运动数据与当前时刻的指点设备的运动数据在时间上具有连续性,且具有相同的运动向量和加速度变化趋势。
可选地,至少一种预测规则包括以下至少一种:时间序列预测规则;航位推算规则;线性拟合规则;曲线拟合规则;二维卡尔曼滤波规则;线性神经网络预测规则。
可选地,在按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据之后,该方法还包括:在第一预测运动数据符合目标条件的情况下,对第一预测运动数据进行修正;在第一预测运动数据不符合目标条件的情况下,则丢弃第一预测运动数据。
可选地,在以下至少之一情况下,确定第一预测运动数据不符合目标条件:获取指点设备在当前时刻的位置与第一预测运动数据所指示的位置之间的第二距离,确定第二距离不在第二阈值范围内;获取指点设备在当前时刻的位置与第一预测运动数据所指示的位置的连线的第三方向角,指点设备在当前时刻的位置与指点设备的历史位置的连线的第四方向角,确定第三方向角和第四方向角之间的夹角超过第四阈值。
可选地,向远程设备发送第一预测位置信息,包括:至少向远程设备发送基于修正后的第一预测运动数据确定的第一预测位置信息。
根据本发明实施例的另一方面,还提供了一种远程控制装置。该装置可以包括:控制芯片,用于获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻;数字信号处理器,用于基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息;发送设备,用于向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。
可选地,数字信号处理器用于输出指点设备在当前时刻的运动数据,还用于缓存指点设备的历史运动数据,其中,历史运动数据为当前时刻以及当前时刻之前的目标时间段内的指点设备的运动数据。
可选地,数字信号处理器用于按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据,通过驱动程序将第一预测运动数据生成第一预测位置信息。
可选地,数字信号处理器还用于在第一预测运动数据符合目标条件的情况下,对第一预测运动数据进行修正;在第一预测运动数据不符合目标条件的情况下,则丢弃第一预测运动数据。
根据本发明实施例的另一方面,还提供了一种存储介质。该存储介质包括存储的程序,其中,在程序被处理器运行时控制存储介质所在设备执行本发明实施例的远程控制方法。
根据本发明实施例的另一方面,还提供了一种处理器。该处理器用于运行程序,其中,程序运行时执行本发明实施例的远程控制方法。
在本发明实施例中,采用获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻;确定指点设备的光标在目标时刻的第一预测位置信息;向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。也就是说,本申请能够预测指点设备的光标在当前时刻加上网络延时后的目标时刻的位置信息,并将预测的位置信息作为预测结果发送给远程设备,使得远程设备按照预测结果产生目标时刻的相应输出,这样可以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,从而解决了远程控制的网络延迟较大的技术问题,进而达到了降低远程控制的网络延迟的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的远程控制方法的流程图;
图2是根据本发明实施例的另一种远程控制方法的流程图;
图3是根据本发明实施例的一种远程控制装置的示意图;
图4是根据本发明实施例的另一种远程控制方法的流程图;
图5是根据本发明实施例的一种预置曲线、历史光标位置和光标移动的方向的示意图;
图6为根据本发明实施例的一种最优预测法筛选的示意图;
图7是根据本发明实施例的另一种远程控制方法的流程图;以及
图8是根据本发明实施例的另一种远程控制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种远程控制方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的远程控制方法的流程图。如图1所示,该方法可以包括以下步骤:
步骤S102,获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻。
在本发明上述步骤S102提供的技术方案中,指点设备(pointing device)为一种移动指针定位设备,可以包括但不限于鼠标、触摸屏、触摸板、滚轴鼠标、轨迹球、数位画图板、指点杆等移动指针定位设备,其共同特点是具有产生出连续的、非离散的、线性的、平滑轨迹的能力,可以通过有线或无线与发送端设备相连接。其中,该实施例根据指点设备的光标数据的流向,将指点设备连接的本地控制终端统称为发送端、本地控制终端,远端的主机统称为接收端、远程设备。
在该实施例中,获取指点设备在当前时刻对应的网络延时,该网络延时为发送端持续地、实时地测量并经过计算和统计处理的最终值,能够最大程度地反映从当前时刻到未来某一时刻之间的真实网络延时,该实施例可以基于当前时刻和网络延时确定目标时刻,比如,当前时刻加上网络延时,从而得到目标时刻。需要说明的是,该实施例在每轮流程开始前都需要获取最新的网络延时。
步骤S104,确定指点设备的光标在目标时刻的第一预测位置信息。
在本发明上述步骤S104提供的技术方案中,在基于当前时刻和网络延时确定目标时刻之后,可以确定指点设备的光标在目标时刻的第一预测位置信息。该实施例可以预测指点设备的光标在当前时刻加上网络延时后的时刻的位置信息,将其称为第一预测位置信息,也即,预测结果,可以用于指示预测光标位置,可以包括光标位置坐标值,可以包括在x轴和y轴上的两个值。
步骤S106,向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。
在本发明上述步骤S106提供的技术方案中,在确定指点设备的光标在目标时刻的第一预测位置信息之后,可以向远程设备发送第一预测位置信息。可选地,该实施例还可以向远程设备发送当前时刻的光标的位置坐标以及其它光标参数等,比如,光标参数为光标类型。上述这些数据一般由传输程序按照一定格式从发送端发送远程设备,并且当前时刻的光标数据还要输入给显示处理程序以在本地进行显示。
该实施例的远程设备在接收到第一预测位置信息之后,会按照第一预测位置信息在目标时刻输出对应的结果,比如,产生相应的画面输出,这些画面以图像数据或图像原语的形式在回传到发送端显示出来,从而达到交互的目的。
通过本申请上述步骤S102至步骤S106,获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻;确定指点设备的光标在目标时刻的第一预测位置信息;向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。也就是说,该实施例能够预测指点设备的光标在当前时刻加上网络延时后的目标时刻的位置信息,并将预测的位置信息作为预测结果发送给远程设备,使得远程设备按照预测结果产生目标时刻的相应输出,这样可以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,从而解决了远程控制的网络延迟较大的技术问题,进而达到了降低远程控制的网络延迟的技术效果。
下面对该实施例的上述方法进行进一步介绍。
作为一种可选的实施方式,步骤S104,确定指点设备的光标在目标时刻的第一预测位置信息,包括:获取指点设备的历史光标数据,其中,历史光标数据为当前时刻以及当前时刻之前的目标时间段内的光标的数据;按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息。其中,至少一种预测规则包括以下至少一种:时间序列预测规则;航位推算规则;线性拟合规则;曲线拟合规则;二维卡尔曼滤波规则;线性神经网络预测规则。
在该实施例中,在实现指点设备的光标在目标时刻的第一预测位置信息时,可以获取指点设备的历史光标数据,该历史光标数据为当前时刻以及从当前时刻倒退目标时间段内的光标数据,这些光标数据可以从指点设备的驱动来获得,可以包括但不限于光标位置、光标移动速度、加速度和方位角等。
可选地,在该实施例中,上述光标位置可以是光标在屏幕坐标系中的位置的坐标,可以包括x轴和y轴两个值,是用于确定第一预测位置信息所使用的基本数据;上述光标移动速度、加速度和方位角等是确定第一预测位置信息使用的辅助数据,根据实际应用的确定第一预测位置信息的方法的不同,会需要不同的辅助数据来提高预测的准确度或者纠正预测偏差。
可选地,在该实施例中,如果指点设备的驱动不能提供辅助数据,则部分辅助数据可以通过上述基本数据计算得到。比如,从一组连续的光标位置的数据就可以计算出该时间段内的光标移动速度,从多组连续的光标位置的数据就可以计算出该时间段内的光标加速度,其中包括运动方向等。
在获取指点设备的历史光标数据之后,可以按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息。该实施例可以根据历史光标数据中的基本数据以及基于基本数据解算出来的辅助数据,通过一定的预测规则,获得第一预测位置信息,该第一预测位置信息可以用于指示光标在目标时刻的位置坐标值,其中,预测规则可以包括但不限于时间序列预测、航位推算(Dead Reckoning)、线性拟合法、曲线拟合法、二维卡尔曼滤波、线性神经网络预测等。
可选地,在该实施例中,用于确定第一预测位置信息的方法包括一种近似预置曲线拟合法,内部可以预置一些经典曲线函数,在进行曲线拟合时,可以将历史光标位置坐标带入预置函数,以快速找到近似函数,再通过找到的近似函数求出目标时刻的光标位置坐标值,从而得到第一预测位置信息。其中,历史光标数据包括历史光标位置坐标,在历史光标位置坐标和光标移动的方向近似重合的情况下,可以利用预置函数进行预测。上述经典曲线函数包括但不限于:幂函数、指数函数、对数函数、(反)三角函数、(反)双曲函数、抛物线函数、概率密度函数、贝塞尔曲线函数等。
作为一种可选的实施方式,按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息,包括:第一预测步骤,在当前时刻按照第一预测规则对历史光标数据进行预测处理,得到第一预测位置信息;第一获取步骤,获取光标在目标时刻的第一真实位置信息;第一确定步骤,在第一预测位置信息和第一真实位置信息之间的差值大于第一阈值的情况下,将至少一种预测规则中选择除第一预测规则之外的预测规则重新确定为第一预测规则,或者,在第一预测位置信息和第一真实位置信息之间的差值小于第一阈值的情况下,保留第一预测规则,将目标时刻确定为当前时刻,并返回第一预测步骤。
在该实施例中,确定第一预测位置信息包括一个动态反馈过程。该实施例可以在初始状态下根据软硬件环境等因素预配置第一预测规则,在预测过程中,在每一次当前时刻按照第一预测规则对历史光标数据进行预测处理,得到第一预测位置信息,并且获取光标在目标时刻的第一真实位置信息,该第一真实位置信息为观察或结算的真实结果,将第一预测位置信息与第一真实位置信息进行比较,在多次比较后如果统计成功率不佳,则对该方法进行标记,比如,在第一预测位置信息和第一真实位置信息之间的差值大于第一阈值的情况下,对该第一预测规则进行标记,然后将至少一种预测规则中选择除第一预测规则之外的其它预测规则重新确定为第一预测规则;如果第一预测位置信息和第一真实位置信息之间的差值小于第一阈值,则保留第一预测规则,重复执行上述过程,直至找到最优的预测规则,这种方法不需要事先至少一种预测规则中进行筛选,而是可以与用户的使用过程同时进行。
作为一种可选的实施方式,在按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息之前,该方法还包括:分别按照至少一种预测规则对光标的光标数据样本进行预测处理,得到至少一种第二预测位置信息;确定每种第二预测位置信息和与光标数据样本对应的第二真实位置信息之间的第一差值,得到多个第一差值;将多个第一差值中的最小第一差值对应的预测规则确定为目标预测规则;按照至少一种预测规则对历史光标数据进行预测处理,得到第一预测位置信息,包括:按照目标预测规则对历史光标数据进行预测处理,得到第一预测位置信息。
在该实施例中,确定第一预测位置信息的方法还包括一种最优预测法筛选。该实施例可以对于指定的使用场景,事先做筛选测试,分别按照至少一种预测规则对光标的光标数据样本进行预测处理,得到至少一种第二预测位置信息,其中,光标样本数据为用于测试预测规则的预先采集的数据。然后确定每种第二预测位置信息和与光标数据样本对应的第二真实位置信息之间的第一差值,得到多个第一差值,也即,该实施例同时使用多种可选的预测规则,持续比较使用每种预测规则得到的预测结果与真实结果,该实施例可以将多个第一差值中的最小第一差值对应的预测规则确定为目标预测规则,也即,最优的预测规则。可选地,该实施例可以从多个维度统计各方法的适应性,比如,预测成功率、预测花费的时间、预测稳定性、预测需要的算力资源等。在对各种预测规则经过一段时间的测试之后,可以找到该指定场景下的目标预测规则,筛选测试结束,这样在实际使用中就可以使用该目标预测规则,也即,可以按照目标预测规则对历史光标数据进行预测处理,得到第一预测位置信息。其中,该实施例的多个维度统计可以通过配置筛选规则来控制具体的实施策略。
作为一种可选的实施方式,在目标时间段内的光标的位置与当前时刻的光标的位置在时间上具有连续性,且具有相同的运动向量和加速度变化趋势。
在该实施例中,上述目标时间段的确定原则是,在目标时间段内的光标的位置与当前时刻的光标的位置具有时间连续性,处于相近的区域,在统一的轨迹上,光标移动模式具有相同的运动向量和加速度变化趋势。比如,结合上述原则可以设置一个统计经验值,或者选取时间上最接近当前时刻的一组光标数据。
作为一种可选的实施方式,在确定指点设备的光标在目标时刻的第一预测位置信息之后,该方法还包括:在第一预测位置信息符合目标条件的情况下,对第一预测位置信息进行修正;在第一预测位置信息不符合目标条件的情况下,则丢弃第一预测位置信息。
在该实施例中,可以对第一预测位置信息进行纠偏处理。在该实施例中,可以判断第一预测位置信息是否符合目标条件,该目标条件也即用于对第一预测位置信息进行合理性判断的条件,可以包括位置合理性判断和移动方向角合理性判断等。在该实施例中,如果判断出第一预测位置信息符合目标条件,则可以对第一预测位置信息采取修正措施(包括调整),其中,修正措施可以包括但不限于比较指点设备按键事件、比较指点设备和其他设备(比如,键盘)组合按键事件、光标移动加速度补偿、屏幕显示范围检查和接收端网络延迟校正等。在第一预测位置信息不符合目标条件的情况下,则可以丢弃第一预测位置信息。其中,在无法实现对第一预测位置信息进行修正的情况下,也可以丢弃第一预测位置信息。
在该实施例中,上述比较指点设备按键事件为考察当前是否有指点设备产生的按键事件,如果有,则丢弃第一预测位置信息;比较指点设备和其他设备(如键盘)组合按键事件为考察当前是否有其它设备产生的组合按键事件,如果有,则丢弃第一预测位置信息;指点设备驱动程序一般具有加速度功能,即当光标移动速度超过某阈值后,会在光标实际位移的基础上增大位移值,其中,上述光标移动加速度补偿为考察上述情形的发生,在符合加速度条件时,对预测光标位置实施类似的加速度补偿;上述屏幕显示范围检查为检测预测光标位置是否超出屏幕显示范围,如果超出则修正为屏幕边缘位置,该屏幕范围可以包括但不限于物理屏幕范围,也包括虚拟机、模拟器、容器和沙盒等应用程序的虚拟屏幕范围。
作为一种可选的实施方式,在以下至少之一情况下,确定第一预测位置信息不符合目标条件:获取光标在当前时刻的位置与第一预测位置信息所指示的位置之间的第一距离,确定第一距离不在第一阈值范围内;获取光标在当前时刻的位置与第一预测位置信息所指示的位置的连线的第一方向角,光标在当前时刻的位置与光标的历史位置的连线的第二方向角,确定第一方向角和第二方向角之间的夹角超过第二阈值。
在该实施例中,可以对第一预测位置信息进行位置合理性判断,可以比较光标在当前时刻的位置与第一预测位置信息所指示的位置,如果按照当前计算出的光标移动速度,并补偿加速度后得到的光标在当前时刻的位置与第一预测位置信息所指示的位置不在第一阈值范围内的情况下,可以确定第一预测位置信息不符合目标条件,也即,认为预测光标位置不合理,其中,光标在当前时刻的位置也即当前光标位置,第一预测位置信息所指示的位置也即预测光标位置,第一阈值范围为预先设置的合理范围。
该实施例还可以对第一预测位置信息进行移动方向角合理性判断,可以先确定光标在当前时刻的位置与第一预测位置信息所指示的位置之间的连线,然后确定该连线的第一方向角,然后确定光标在当前时刻的位置与光标的历史位置之间的连线,然后确定该连线的第二方向角,进而判断该第一方向角和第二方向角之间的夹角是否超过第二阈值,如果判断出上述夹角超过第二阈值,则可以确定第一预测位置信息不符合目标条件,也即,认为预测光标位置不合理。
在该实施例中,与前述各种纠偏方法不同的是,对于网络设备的网络延迟校正,也即,在向远程设备发送第一预测位置信息之后,远程设备接收到第一预测位置信息时,就可以基于第一预测位置信息解算出该数据的真实延迟时间;如果真实网络延时时间与上述步骤S102获取到的网络延时之间的差距在一定范围内,则可以对第一预测位置信息所指示的预测光标位置进行调整,例如,在当前光标的位置与第一预测信息所指示的预测光标位置的连线方向上增加或减小位移;可选地,如果真实网络延时时间与上述步骤S102获取到的网络延时之间的差距超过一定范围,则而已丢弃上述第一预测位置信息。
作为一种可选的实施方式,步骤S106,向远程设备发送第一预测位置信息,包括:至少向远程设备发送修正后的第一预测位置信息。
在该实施例中,修改后的第一预测位置信息可以用于指示纠偏过的预测光标位置坐标,在向远程设备发送第一预测位置信息时,可以输出纠偏过的预测光标位置坐标和当前时刻的光标位置坐标以及其它光标参数,比如,输出光标类型等。这些数据可以由传输程序按一定格式从本地控制终端(发送端)发送给远程设备(接收端),并且当前时刻的光标数据还要输入给显示处理程序在本地显示。
本发明实施例还提供了另一种远程控制方法。
图2是根据本发明实施例的另一种远程控制方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤S202,获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻。
在本发明上述步骤S202提供的技术方案中,获取指点设备在当前时刻对应的网络延时,该网络延时为发送端持续地、实时地测量并经过计算和统计处理的最终值,能够最大程度地反映从当前时刻到未来某一时刻之间的真实网络延时,该实施例可以基于当前时刻和网络延时确定目标时刻,比如,当前时刻加上网络延时,从而得到目标时刻。需要说明的是,该实施例在每轮流程开始前都需要获取最新的网络延时。
步骤S204,基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息。
在本发明上述步骤S204提供的技术方案中,在基于当前时刻和网络延时确定目标时刻之后,基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息。
在该实施例中,指点设备的工作原理是在移动过程中,指点设备的传感器产生一系列特征点数据,核心部件定位数字信号处理器(Digital Signal Processor,简称为DSP)用于实时分析这些数据并计算出指点设备的运动数据,包括移动方向和距离,这些运动数据是以时间顺序产生。该实施例不仅可以确定指点设备当前的运动数据,还可以缓存指点设备的历史运动数据。该实施例可以根据当前运动数据和历史运动数据计算出预测运动数据,以提供给驱动程序生成第一预测位置信息,该第一预测位置信息用于指示预测光标位置,还可以生产光标的当前光标位置,最终将其输出给上层应用程序。
步骤S206,向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。
在本发明上述步骤S206提供的技术方案中,在基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息之后,向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。可选地,该实施例还可以向远程设备发送当前时刻的光标的位置坐标以及其它光标参数等,比如,光标参数为光标类型。上述这些数据一般由传输程序按照一定格式从发送端发送远程设备,并且当前时刻的光标数据还要输入给显示处理程序以在本地进行显示。
该实施例的远程设备在接收到第一预测位置信息之后,会按照第一预测位置信息在目标时刻输出对应的结果,比如,产生相应的画面输出,这些画面以图像数据或图像原语的形式在回传到发送端显示出来,从而达到交互的目的。
通过本申请上述步骤S202至步骤S206,获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻;基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息;向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。也就是说,该实施例能够预测指点设备的光标在当前时刻加上网络延时后的目标时刻的位置信息,并将预测的位置信息作为预测结果发送给远程设备,使得远程设备按照预测结果产生目标时刻的相应输出,这样可以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,从而解决了远程控制的网络延迟较大的技术问题,进而达到了降低远程控制的网络延迟的技术效果。
下面对该实施例的上述方法进行进一步介绍。
作为一种可选的实施方式,步骤S204,基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息,包括:获取指点设备的历史运动数据,其中,历史运动数据为当前时刻以及当前时刻之前的目标时间段内的指点设备的运动数据;按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据;按照第一预测运动数据生成第一预测位置信息。其中,至少一种预测规则包括以下至少一种:时间序列预测规则;航位推算规则;线性拟合规则;曲线拟合规则;二维卡尔曼滤波规则;线性神经网络预测规则。
在该实施例中,在实现基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息时,可以先获取指点设备的历史运动数据,该历史运动数据为当前时刻以及当前时刻倒退目标时间段内的指点设备的运动数据,可以包括但不限于位移方向、位移距离、移动速度和移动加速度等。
一般指点设备的运动数据仅包含位移方向、位移距离,也即,下一步预测要使用的基本运动数据,而该实施例可以计算出移动速度和移动加速度等作为下一步预测的辅助数据。根据实际应用的预测规则的不同,该实施例会需要不同的运动数据来预测以及提高预测的准确度或者纠正预测偏差。
在该实施例中,可以按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据。可选地,该实施例根据历史运动数据,通过一定的预测规则,可以获得[Tc+td-Δt,Tc+td+Δt)区间内的一组基本运动数据,可以是位移方向和距离,其中,Tc用于表示当前时刻,td用于表示网络延时,Δt用于表示时间变化量。
可选地,该实施例的基本运动数据与光标并非一一对应,因而,上述Δt大小的确定原则是:驱动程序可以利用在[Tc+td-Δt,Tc+td+Δt)区间内的一组基本运动数据重建出一个光标位置。
在该实施例中,预测规则可以包括但不限于时间序列预测、航位推算、线性拟合法、曲线拟合法、二维卡尔曼滤波、线性神经网络预测等。
在该实施例中,第一预测运动数据可以通过近似预置曲线拟合法得到,可以内部预置一些经典曲线函数,在进行曲线拟合时,将历史运动数据抽象为一组位置点带入预置函数,以快速找到近似函数,再通过找到的近似函数求出[Tc+td-Δt,Tc+td+Δt)区间内的位置点,沿着曲线轨迹的方向和位移距离即作为预测运动数据。
在该实施例中,在历史运动数据和运动数据的方向近似重合的情况下,可以利用该曲线函数进行预测;经典曲线函数可以包括但不限于:幂函数、指数函数、对数函数、(反)三角函数、(反)双曲函数、抛物线函数、概率密度函数、贝塞尔曲线函数。
作为一种可选的实施方式,按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据,包括:第二预测步骤,在当前时刻按照第一预测规则对历史运动数据进行预测处理,得到第一预测运动数据;第二获取步骤,获取指点设备在目标时刻的第一真实运动数据;确定步骤,在第一预测运动数据和第一真实运动数据之间的差值大于第三阈值的情况下,将至少一种预测规则中选择除第一预测规则之外的预测规则重新确定为第一预测规则,或者,在第一预测运动数据和第一真实运动数据之间的差值小于第三阈值的情况下,保留第一预测规则,将目标时刻确定为当前时刻,并返回预测步骤。
在该实施例中,确定第一预测运动数据包括一个动态反馈过程。该实施例可以在初始状态下根据软硬件环境等因素预配置第一预测规则,在预测过程中,在每一次当前时刻按照第一预测规则对历史运动数据进行预测处理,得到第一预测运动数据,并获取指点设备在目标时刻的第一真实运动数据,该第一真实运动数据为观察或结算的真实结果,将第一预测运动数据与第一真实运动数据进行比较,在多次比较后如果统计成功率不佳,则对该方法进行标记,比如,在第一预测运动数据和第一真实运动数据之间的差值大于第三阈值的情况下,对该第一预测规则进行标记,然后将至少一种预测规则中选择除第一预测规则之外的其它预测规则重新确定为第一预测规则;如果第一预测运动数据和第一真实运动数据之间的差值小于第三阈值,则保留第一预测规则,重复执行上述过程,直至找到最优的预测规则,这种方法不需要事先至少一种预测规则中进行筛选,而是可以与用户的使用过程同时进行。
作为一种可选的实施方式,在按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据之前,该方法还包括:分别按照至少一种预测规则对指点设备的运动数据样本进行预测处理,得到至少一种第二预测运动数据;确定每种第二预测运动数据和与运动数据样本对应的第二真实运动数据之间的第二差值,得到多个第二差值;将多个第二差值中的最小第二差值对应的预测规则确定为目标预测规则;按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据,包括:按照目标预测规则对历史运动数据进行预测处理,得到第一预测运动数据。
在该实施例中,确定第一预测运动数据的方法还包括一种最优预测法筛选。该实施例可以对于指定的使用场景,事先做筛选测试,分别按照至少一种预测规则对指点设备的运动数据样本进行预测处理,得到至少一种第二预测运动数据,其中,运动数据样本为用于测试预测规则的预先采集的数据。然后确定每种第二预测运动数据和与运动数据样本对应的第二真实运动数据之间的第二差值,得到多个第二差值,也即,该实施例同时使用多种可选的预测规则,持续比较使用每种预测规则得到的预测结果与真实结果,该实施例可以将多个第二差值中的最小第二差值对应的预测规则确定为目标预测规则,也即,最优的预测规则。可选地,该实施例可以从多个维度统计各方法的适应性,比如,预测成功率、预测花费的时间、预测稳定性、预测需要的算力资源等。在对各种预测规则经过一段时间的测试之后,可以找到该指定场景下的目标预测规则,筛选测试结束,这样在实际使用中就可以使用该目标预测规则,也即,可以按照目标预测规则对历史运动数据进行预测处理,得到第一预测运动数据。其中,该实施例的多个维度统计可以通过配置筛选规则来控制具体的实施策略。
作为一种可选的实施方式,在目标时间段内的指点设备的运动数据与当前时刻的指点设备的运动数据在时间上具有连续性,且具有相同的运动向量和加速度变化趋势。
在该实施例中,目标时间段的确定原则是在目标时间段内的指点设备的运动数据与当前时刻的指点设备的运动数据具有时间连续性,位置区域相近,位置在统一的轨迹上,移动模式具有相同的运动向量和加速度变化趋势。比如,结合上述原则设置一个统计经验值,或者选取时间上最接近当前时刻的一组运动数据。
作为一种可选的实施方式,在按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据之后,该方法还包括:在第一预测运动数据符合目标条件的情况下,对第一预测运动数据进行修正;在第一预测运动数据不符合目标条件的情况下,则丢弃第一预测运动数据。
在该实施例中,可以在预测运动数据、生成第一预测位置信息、输出第一预测位置信息所指示的光标位置后,进行纠偏处理。该实施例可以对第一预测运动数据进行纠偏处理。在该实施例中,可以判断第一预测运动数据是否符合目标条件,该目标条件也即用于对第一预测运动数据进行合理性判断的条件,可以包括位置合理性判断和移动方向角合理性判断等。在该实施例中,如果判断出第一预测运动数据符合目标条件,则可以对第一预测运动数据采取修正措施(包括调整),其中,修正措施可以包括但不限于比较指点设备按键事件、比较指点设备和其他设备(比如,键盘)组合按键事件、光标移动加速度补偿、屏幕显示范围检查和接收端网络延迟校正等。在第一预测运动数据不符合目标条件的情况下,则可以丢弃第一预测运动数据。其中,在无法实现对第一预测运动数据进行修正的情况下,也可以丢弃第一预测运动数据。
在该实施例中,上述比较指点设备按键事件为考察当前是否有指点设备产生的按键事件,如果有,则丢弃第一预测运动数据;比较指点设备和其他设备(如键盘)组合按键事件为考察当前是否有其它设备产生的组合按键事件,如果有,则第一预测运动数据;指点设备驱动程序一般具有加速度功能,即当光标移动速度超过某阈值后,会在光标实际位移的基础上增大位移值,其中,上述光标移动加速度补偿为考察上述情形的发生,在符合加速度条件时,对预测光标位置实施类似的加速度补偿;上述屏幕显示范围检查为检测预测光标位置是否超出屏幕显示范围,如果超出则修正为屏幕边缘位置,该屏幕范围可以包括但不限于物理屏幕范围,也包括虚拟机、模拟器、容器和沙盒等应用程序的虚拟屏幕范围。
作为一种可选的实施方式,在以下至少之一情况下,确定第一预测运动数据不符合目标条件:获取指点设备在当前时刻的位置与第一预测运动数据所指示的位置之间的第二距离,确定第二距离不在第二阈值范围内;获取指点设备在当前时刻的位置与第一预测运动数据所指示的位置的连线的第三方向角,指点设备在当前时刻的位置与指点设备的历史位置的连线的第四方向角,确定第三方向角和第四方向角之间的夹角超过第四阈值。
在该实施例中,可以对第一预测运动数据进行位置合理性判断,可以比较指点设备在当前时刻的位置与第一预测运动数据所指示的位置,如果按照当前计算出的光标移动速度,并补偿加速度后得到的光标在当前时刻的位置与第一预测运动数据所指示的位置不在第二阈值范围内的情况下,可以确定第一预测运动数据不符合目标条件,也即,认为预测位置不合理,其中,光标在当前时刻的位置也即当前光标位置,第一预测运动数据所指示的位置也即预测光标位置,第二阈值范围为预先设置的合理范围。
该实施例还可以对第一预测运动数据进行移动方向角合理性判断,可以先确定光标在当前时刻的位置与第一预测运动数据所指示的位置之间的连线,然后确定该连线的第三方向角,然后确定指点设备在当前时刻的位置与指点设备的历史位置的连线,然后确定该连线的第四方向角,进而判断该第三方向角和第四方向角之间的夹角是否超过第四阈值,如果判断出上述夹角超过第四阈值,则可以确定第一预测运动数据不符合目标条件,也即,认为预测位置不合理。
在该实施例中,可以对第一预测位置信息进行位置合理性判断,可以比较光标在当前时刻的位置与第一预测位置信息所指示的位置,如果按照当前计算出的光标移动速度,并补偿加速度后得到的光标在当前时刻的位置与第一预测位置信息所指示的位置不在第一阈值范围内的情况下,可以确定第一预测位置信息不符合目标条件,也即,认为预测光标位置不合理,其中,光标在当前时刻的位置也即当前光标位置,第一预测位置信息所指示的位置也即预测光标位置,第一阈值范围为预先设置的合理范围。
该实施例还可以对第一预测位置信息进行移动方向角合理性判断,可以先确定光标在当前时刻的位置与第一预测位置信息所指示的位置之间的连线,然后确定该连线的第一方向角,然后确定光标在当前时刻的位置与光标的历史位置之间的连线,然后确定该连线的第二方向角,进而判断该第一方向角和第二方向角之间的夹角是否超过第二阈值,如果判断出上述夹角超过第二阈值,则可以确定第一预测位置信息不符合目标条件,也即,认为预测光标位置不合理。
在该实施例中,与前述各种纠偏方法不同的是,对于网络设备的网络延迟校正,也即,在向远程设备发送第一预测位置信息之后,远程设备接收到第一预测位置信息时,就可以基于第一预测位置信息解算出该数据的真实延迟时间;如果真实网络延时时间与上述步骤S202获取到的网络延时之间的差距在一定范围内,则可以对第一预测位置信息所指示的预测光标位置进行调整,例如,在当前光标的位置与第一预测信息所指示的预测光标位置的连线方向上增加或减小位移;可选地,如果真实网络延时时间与上述步骤S202获取到的网络延时之间的差距超过一定范围,则而已丢弃上述第一预测位置信息。
作为一种可选的实施方式,向远程设备发送第一预测位置信息,包括:至少向远程设备发送基于修正后的第一预测运动数据确定的第一预测位置信息。
在该实施例中,修改后的第一预测运动数据可以用于指示纠偏过的预测光标位置坐标,在向远程设备发送第一预测位置信息时,可以输出纠偏过的预测光标位置坐标和当前时刻的光标位置坐标以及其它光标参数,比如,输出光标类型等。这些数据可以由传输程序按一定格式从本地控制终端(发送端)发送给远程设备(接收端),并且当前时刻的光标数据还要输入给显示处理程序在本地显示。
在该实施例的远程控制方法该能够预测指点设备的光标在当前时刻加上网络延时后的目标时刻的位置信息,并将预测的位置信息作为预测结果发送给远程设备,使得远程设备按照预测结果产生目标时刻的相应输出,这样可以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,并且基于软件实现,灵活性比较好,可以适用于各种不同厂家不同形态的指点设备,解决了远程控制的网络延迟较大的技术问题,达到了降低远程控制的网络延迟的技术效果。
实施例2
本发明实施例还提供了一种远程控制装置。需要说明的是,该实施例的远程控制装置可以用于执行本发明实施例图2所示的远程控制方法,可以设置在指点设备上。
图3是根据本发明实施例的一种远程控制装置的示意图。如图3所示,该远程控制装置30可以包括:控制芯片31、数字信号处理器32和发送设备33。
控制芯片31,用于获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻。
在该实施例中,控制芯片31可以通过驱动程序获取网络延时,并将该网络延时通知给数字信号处理器32。
数字信号处理器32,用于基于指点设备的运动数据确定指点设备的光标在目标时刻的第一预测位置信息。其中,数字信号处理器32用于输出指点设备在当前时刻的运动数据,还用于缓存指点设备的历史运动数据,其中,历史运动数据为当前时刻以及当前时刻之前的目标时间段内的指点设备的运动数据。
该实施例的数字信号处理器32可以为定位DSP芯片。指点设备的工作原理是在移动过程中,传感器产生一系列特征点数据,核心部件定位DSP芯片用于实时分析这些数据并计算出指点设备的运动数据,包括移动方向和距离。这些运动数据是以时间顺序产生,一般的指点设备只会把这些数据提供给驱动程序,而不会保留。而该实施例的定位DSP芯片不仅会输出指点设备当前的运动数据,而且还可以从存储器中获取并缓存历史运动数据。根据当前运动数据和历史运动数据计算出预测运动数据,提供给驱动程序生成当前光标位置和预测光标位置,最终输出给上层应用程序。
可选地,该实施例的装置的驱动程序也可以控制装置不预测运动数据和光标位置,此时装置在功能上就等同于通常的指点设备。
在该实施例中,由于需要缓存一段时间内的历史运动数据,所以该实施例的数字信号处理器32可以是使用有较大片内存储器的DSP,基于成本原因也可以选用片外存储器,但低速的输入与输出(Input/Output,简称为I/O)操作会影响处理速度。
在该实施例中,一般的指点设备的运动数据仅包含前位移方向、位移距离,也即,下一步预测要使用的基本运动数据,而该实施例的数字信号处理器32还将计算出移动速度和移动加速度等作为下一步预测的辅助数据。根据实际应用的预测规则的不同,会需要不同的运动数据来预测以及提高预测的准确度或者纠正预测偏差。
发送设备33,用于向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。
该实施例的发送设备33可以是控制芯片I/O模块,可以向远程设备发送当前时刻的光标的位置坐标以及其它光标参数等,比如,光标参数为光标类型。远程设备在接收到第一预测位置信息之后,会按照第一预测位置信息在目标时刻输出对应的结果,比如,产生相应的画面输出,这些画面以图像数据或图像原语的形式在回传到发送端显示出来,从而达到交互的目的。
作为一种可选的实施方式,数字信号处理器32用于按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据,通过驱动程序将第一预测运动数据生成第一预测位置信息。
该实施例的数字信号处理器32可以按照至少一种预测规则对历史运动数据进行预测处理,得到第一预测运动数据,其中,预测规则可以包括但不限于时间序列预测、航位推算、线性拟合法、曲线拟合法、二维卡尔曼滤波、线性神经网络预测等,进而通过驱动程序将第一预测运动数据生成第一预测位置信息。
作为一种可选的实施方式,数字信号处理器32还用于在第一预测运动数据符合目标条件的情况下,对第一预测运动数据进行修正;在第一预测运动数据不符合目标条件的情况下,则丢弃第一预测运动数据。
在该实施例中,数字信号处理器32可以在预测运动数据、生成第一预测位置信息、输出第一预测位置信息所指示的光标位置后,进行纠偏处理。数字信号处理器32可以对第一预测运动数据进行纠偏处理。在该实施例中,数字信号处理器32可以判断第一预测运动数据是否符合目标条件,该目标条件也即用于对第一预测运动数据进行合理性判断的条件,可以包括位置合理性判断和移动方向角合理性判断等。在该实施例中,如果判断出第一预测运动数据符合目标条件,则可以对第一预测运动数据采取修正措施(包括调整),其中,修正措施可以包括但不限于比较指点设备按键事件、比较指点设备和其他设备(比如,键盘)组合按键事件、光标移动加速度补偿、屏幕显示范围检查和接收端网络延迟校正等。在第一预测运动数据不符合目标条件的情况下,则可以丢弃第一预测运动数据。其中,在无法实现对第一预测运动数据进行修正的情况下,也可以丢弃第一预测运动数据。
该实施例的上述远程控制装置则基于硬件实现,因为预测处理是在数字信号处理器内部完成的,并且预测处理的对象是原始的运动数据,而不是经过设备驱动程序转换后的光标位置,从而使得光标位置预测得更快更精准,以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,从而解决远程控制的网络延迟较大的技术问题,进而达到降低远程控制的网络延迟的技术效果。
实施例3
下面结合优选的实施方式对本发明实施例的技术方案进行进一步地举例说明。
随着云桌面、云应用和云手机等远程可视化(remote visualization)或远程显示(remote display)技术的发展,含有远程控制交互的各类应用场景越来越多,也即,操作者使用终端设备远程控制远端的主机侧的桌面或应用程序,远端主机响应操作者的控制,产生相应的画面输出,这些画面可以以图像数据或图像原语的形式在回传到终端设备显示出来,从而达到交互的目的;在远程控制时,端到端交互延迟是决定操作者用户体验的重要因素,其中,交互延迟可以理解为从操作者开始移动鼠标或按下键盘到操作者看到屏幕画面更新的时间,该时间取决于多种因素,包括终端侧的处理时间,网络延迟,主机侧的处理时间,这里既包括软件延时也包括硬件延时。
一般认为总的交互延迟时间超过120毫秒后,操作者便会明显感知到,从而影响交互体验,而这个指标并不是绝对的。比如。在一些专业设计和视频游戏等对反馈灵敏度要求较高的领域,希望有更低的交互延迟。
为了达到更好的用户体验就要求有更低的交互延迟。解决这个问题既可以从降低交互延迟时间本身入手,也可以从其它方面辅助。比如,减少图像处理时间、减少网络传输时间,减少图像显示时间,增加显示帧率,缩短输入设备轮询时间等。
其中,网络传输时间即网络链路延迟,属于网络本身的物理属性,在广域网环境或复杂拓扑的A类网络环境下的链路延迟是交互延迟时间的主要组成部分,并且有很强的不可控性、不可知性和随机性,网络链路中的任何一个节点在任何时刻都有可能引起延迟。降低网络延迟的主要方法可以有确保网络电器特性正常,确保网络线路通畅,确保足够的可用带宽避免网络拥塞,增加边缘节点和维护主干网,应用QoS和CoS措施,加速网络路径中的主要节点,动态选择最短最佳路由,架设专线等。
但是,上述方法都需要增加软硬件成本,包括提升服务等级,甚至是巨额投入,但带来的效果并不能令人满意。尤其是当网络路径较长或网络背景流量较复杂时,效果对比在本地或小型局域网内的交互体验还相差很远,比如,局域网内网络延迟大概可以2毫秒以下,而国际线路的网络延迟在比较理想的状态下也很难达到100毫秒以下。
而在本申请实施例中,能够预测指点设备的光标在当前时刻加上网络延时后的目标时刻的位置信息,并将预测的位置信息作为预测结果发送给远程设备,使得远程设备按照预测结果产生目标时刻的相应输出,这样可以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,从而解决了远程控制的网络延迟较大的技术问题,进而达到了降低远程控制的网络延迟的技术效果。下面对其进行进一步介绍。
图4是根据本发明实施例的另一种远程控制方法的流程图。如图4所示,该方法可以包括以下步骤:
步骤S401,获取网络延时。
在该实施例中,每轮流程开始前都要获取最新的网络延时td。
在该实施例中,网络延时td为系统在发送端持续地、实时地测量并经过计算和统计处理的最终值,能够最大程度反映从当前时刻Tc到未来某时间点之间的真实网络延时。
步骤S402,获取历史光标数据。
在该实施例中,历史光标数据为当前时刻Tc以及从当前时刻Tc倒退一段时间th内的历史光标数据,这些数据从指点设备的驱动获得,这些数据可以包括但不限于光标位置、光标移动速度、加速度和方位角等。
在该实施例中,上述th时间的确定原则是,在th内的光标位置与当前时刻Tc的光标位置有时间连续性,处于相近的区域,在统一的轨迹上,光标移动模式具有相同的运动向量和加速度变化趋势。比如,结合上述原则设置一个统计经验值,或者选取时间上最接近Tc的一组光标数据。
步骤S403,预测光标位置。
该实施例可以根据历史光标数据以及从历史光标数据中解算出来的辅助数据,通过一定的预测规则,获得(Tc+td)时刻的光标位置坐标值,预测规则可以包括但不限于时间序列预测、航位推算、线性拟合法、曲线拟合法、二维卡尔曼滤波、线性神经网络预测等。
在该实施例中,预测光标位置包括一种近似预置曲线拟合法:内部预置一些经典曲线函数,在进行曲线拟合时,将历史光标位置坐标带入预置函数,快速找到近似函数,再通过找到的近似函数求出(Tc+td)时刻的光标位置坐标值。
图5是根据本发明实施例的一种预置曲线、历史光标位置和光标移动的方向的示意图。如图5所示,虚线用于表示一种预置曲线,粗实线用于表示历史光标位置,箭头用于表示光标移动的方向,可以看到两者近似重合,所以可以利用该曲线进行预测。
在该实施例中,预测光标位置还包括一个动态反馈过程,即在初始状态下根据软硬件环境等因素预配置一种预测方法,在预测过程中,把每一次的预测结果与下一次观察或解算的真实结果做比较,在多次比较后如果统计成功率不佳,则对该方法进行标记,然后从方法候选列表中选出另一种预测方法,再重复上述过程,直到找到最优的预测方法,这种方法不需要事先筛选,可以与用户的使用同时进行。
该实施例的预测光标位置还包括一种最优预测法筛选,图6为根据本发明实施例的一种最优预测法筛选的示意图。如图6所示,即对于指定的使用场景,事先做筛选测试,即同时使用多种可选的预测方法1、预测方法2……预测方法k,持续比较预测值与真实值,从多个维度统计各方法的适应性:预测成功率、预测花费的时间、预测稳定性、预测需要的算力资源等,经过一段时间的测试,可以找到该指定场景下最优的预测方法,筛选测试结束,在实际使用中就可以使用该最优方法了;所述多个维度统计可以通过配置筛选规则来控制具体实施策略。
步骤S404,纠偏预测数据。
在该实施例中,纠偏预测数据的处理包括合理性判断和预测值修正,发生在S403、S405后。
可选地,对步骤S403输出的光标预测位置进行合理性判断,包括位置合理性判断和移动方向角合理性判断等;如果判断不合理,则丢弃该预测值;如果判断合理,就按照一定原则对预测值进行修正或调整,其中,修正措施可以包括但不限于比较指点设备按键事件、比较指点设备和其他设备(如键盘)组合按键事件、光标移动加速度补偿、屏幕显示范围检查和接收端网络延迟校正等,如果无法修正,则丢弃该预测值。
在该实施例中,位置合理性判断即比较当前光标位置与预测光标位置,如果按照当前计算出的光标移动速度,并补偿加速度后,当前光标位置与预测光标位置的距离不在一个合理的范围内,则认为预测光标位置不合理。
该实施例的上述移动方向角合理性判断即当前光标位置与预测光标位置连线的方向角与历史光标位置连线的方向角夹角超过某阈值,则认为预测光标位置不合理。
该实施例的上述比较指点设备按键事件即考察当前是否有指点设备产生的按键事件,如果有,则丢弃预测光标位置。
该实施例的上述比较指点设备和其他设备(如键盘)组合按键事件即考察当前是否有其它设备产生的组合按键事件,如果有,则丢弃预测光标位置。
该实施例的指点设备的驱动程序一般具有加速度功能,即当光标移动速度超过某阈值后,会在光标实际位移的基础上增大位移值,所述光标移动加速度补偿即考察这种情形的发生,在符合加速度条件时,对预测光标位置实施类似的加速度补偿。
上述屏幕显示范围检查即检测预测光标位置是否超出屏幕显示范围,如果超出则修正为屏幕边缘位置,所述屏幕范围包括物理屏幕范围,也包括虚拟机、模拟器、容器和沙盒等应用程序的虚拟屏幕范围。
与前述各种纠偏方法不同,上述接收端网络延迟校正发生在接收端,即在步骤S405之后,接收端接收到光标数据时,就可以解算出该数据的真实延迟时间;如果真实延时tdr与td的差距在一定范围内,则对预测光标位置做出调整。例如,在当前光标位置与预测光标位置的连线方向上增加或减小位移;如果tdr与td的差距超过一定范围,则丢弃预测值。
步骤S405,输出光标位置。
在该实施例中,输出纠偏过的预测光标位置坐标和当前时刻Tc的光标位置坐标连同其它光标参数(如光标类型等),这些数据一般将由传输程序按一定格式从本地控制终端(发送端)发送给远端的主机(接收端),并且当前时刻的光标数据还要输入给显示处理程序在本地显示。
在输出光标位置之后,再返回执行步骤S402。
对应的,该实施例还包括一种远程控制装置,它在一般指点设备的基础上增加了预测光标位置的功能,用来替代传统的指点设备。指点设备的工作原理是在移动过程中,指点设备的传感器产生一系列特征点数据,核心部件定位DSP芯片用于实时分析这些数据并计算出指点设备的运动数据,包括移动方向和距离。这些运动数据是以时间顺序产生,一般的指点设备只会把这些数据提供给驱动程序,而不会保留。
该实施例的上述装置中的定位DSP芯片不仅输出当前的运动数据,还要缓存历史运动数据。根据当前和历史运动数据计算出预测运动数据,提供给驱动程序生成当前光标位置和预测光标位置,最终输出给上层应用程序;上述装置的驱动程序也可以控制所述装置不预测运动数据和光标位置,此时上述装置在功能上就等同于通常的指点设备。
因为需要缓存一段时间内的历史运动数据,所以需要使用有较大片内存储器的DSP,基于成本原因也可以选用片外存储器,但低速的I/O操作会影响处理速度。
该实施例的上述远程控制方法一般基于软件实现,灵活性比较好,可以适用于各种不同厂家不同形态的指点设备。
下面对该实施例的上述远程控制装置执行的方法进行进一步介绍。
图7是根据本发明实施例的另一种远程控制方法的流程图。如图7所示,该方法可以包括以下步骤:
步骤S701,获取网络延时。
该实施例的装置的控制芯片通过驱动程序获取网络延时td,并将td通知给定位DSP。
步骤S702,获取历史运动数据。
在该实施例中,定位DSP从存储器中获取历史运动数据,上述历史运动数据为当前时刻Tc以及从当前时刻Tc倒退一段时间th内的历史运动数据,可以包括但不限于位移方向、位移距离、移动速度和移动加速度等。
一般指点设备的运动数据仅包含前两项,即下一步预测要使用的基本运动数据,而该实施例的上述装置的定位DSP还将计算出移动速度和移动加速度等作为下一步预测的辅助数据。根据实际应用的预测方法的不同,会需要不同的运动数据来预测以及提高预测的准确度或者纠正预测偏差。
该实施例的上述th时间的确定原则是在th内的上述装置的运动数据与当前时刻Tc的上述装置的运动数据有时间连续性,位置区域相近,位置在统一的轨迹上,移动模式具有相同的运动向量和加速度变化趋势。比如,结合上述原则设置一个统计经验值,或者选取时间上最接近Tc的一组运动数据。
步骤S703,预测运动数据。
在该实施例中,根据历史运动数据,可以通过一定的预测规则,获得[Tc+td-Δt,Tc+td+Δt)区间内的一组基本运动数据,也即,位移方向和距离。
可选地,基本运动数据与光标并非一一对应,因而上述Δt大小的确定原则是:驱动程序可以利用在[Tc+td-Δt,Tc+td+Δt)区间内的一组基本运动数据重建出一个光标位置。
该实施例的上述预测规则可以包括但不限于时间序列预测、航位推算、线性拟合法、曲线拟合法、二维卡尔曼滤波、线性神经网络预测等,这一步由上述定位DSP完成。
该实施例的上述预测运动数据包括一种近似预置曲线拟合法:内部预置一些经典曲线函数,在进行曲线拟合时,将历史运动数据抽象为一组位置点带入预置函数,快速找到近似函数,再通过找到的近似函数求出[Tc+td-Δt,Tc+td+Δt)区间内的位置点,沿着曲线轨迹的方向和位移距离即作为预测运动数据。
类似的,如图5所示,虚线可以用于表示一种预置曲线,粗实线可以用于表示历史运动数据,箭头表示运动数据的方向,可以看到两者近似重合,因而可以利用该曲线做预测;
在该实施例中,预测运动数据还包括一个动态反馈过程,即初始状态下根据软硬件环境等因素预配置一种预测方法。在预测过程中,把每一次的预测结果与下一次观察或解算的真实结果做比较,在多次比较后如果统计成功率不佳,则对该方法进行标记,然后从方法候选列表中选出另一种预测方法,再重复上述过程,直到找到最优的预测方法。这种方法不需要事先筛选,可以与用户的使用同时进行。
该实施例的上述预测运动数据还包括一种最优预测法筛选,如图6所示,对于指定的使用场景,事先做筛选测试,即同时使用多种可选的预测方法,持续比较预测值与真实值,从多个维度统计各方法的适应性:预测成功率、预测花费的时间、预测稳定性、预测需要的算力资源等。在经过一段时间的测试智慧,可以找到该指定场景下最优的预测方法,筛选测试结束,在实际使用中就可以使用该最优方法了。
上述多个维度统计可以通过配置筛选规则来控制具体实施策略。
步骤S704,纠偏预测数据。
该实施例的纠偏预测数据的处理包括合理性判断和预测值修正,发生在步骤S703、步骤S705、步骤S706之后。在该实施例中,合理性判断包括位置合理性判断和移动方向角合理性判断等,修正措施可以包括但不限于比较指点设备按键事件、比较指点设备和其他设备(如键盘)组合按键事件、光标移动加速度补偿、屏幕显示范围检查和接收端网络延迟校正等。这一步由所述定位DSP完成(除接收端网络延迟校正)。
该实施例对步骤S703获得的预测运动数据进行合理性判断,可以包括位置合理性判断和移动方向角合理性判断等,如果判断不合理,则丢弃这一组预测数据;如合理则继续执行步骤S705。
该实施例该可以对步骤S705,获得的预测光标位置进行合理性判断,判断不合理,则丢弃该预测光标位置,如合理则继续进行修正,如果无法修正,则丢弃该预测值。
在该实施例中,位置合理性判断即比较当前位置与预测位置,如果按照当前计算出的移动速度,并补偿加速度后,当前位置与预测位置的距离不在一个合理的范围内,则认为预测位置不合理。
在该实施例中,移动方向角合理性判断即当前位置与预测位置连线的方向角,和当前位置与历史位置连线的方向角之间的夹角超过某阈值,则认为预测位置不合理。
与前述各种纠偏方法不同,接收端网络延迟校正发生在接收端,即在步骤S706后,当接收端接收到光标数据时,就可以解算出该数据的真实延迟时间。如果真实延时tdr与td的差距在一定范围内,则对预测光标位置做出调整,比如,在当前光标位置与预测光标位置的连线方向上增加或减小位移;如果tdr与td的差距超过一定范围,则丢弃预测值。
步骤S705,生成预测光标位置。
所述装置的驱动程序按照运动数据生成光标的当前位置和预测位置。
步骤S706,输出光标位置。
该实施例的装置的控制芯片I/O模块可以用于输出纠偏过的预测光标位置坐标和当前时刻Tc的光标位置坐标连同其它光标参数(如光标类型等),这些数据一般将由传输程序按一定格式从本地控制终端(发送端)发送给远端的主机(接收端),并且当前时刻的光标数据还要输入给显示处理程序在本地显示。
该实施例的上述远程控制装置则基于硬件实现,因为预测处理是在所述定位DSP芯片内部完成的,并且预测处理的对象是原始的运动数据,而不是经过设备驱动程序转换后的光标位置,从而使得预测位置得更快更精准。
下面对上述方法进行举例说明:
S1,获取当前网络延时td毫秒。
S2,根据经验值获取th毫秒内的历史光标位置。
S3,筛选历史光标位置。
可选地,该实施例可以选取最近的方向与当前光标位置一致并处于同一区域的若干个位置,其中包含当前光标位置,这里假设th毫秒内的历史光标位置P0(x0,y0),P1(x1,y1),P2(x2,y2),P3(x3,y3),…,Pk-1(xk-1,yk-1)都被选中。
S4,按照时间序列预测法对所选历史光标位置做加权平均,得到光标位置在x轴和y轴的变化量(Δx,Δy)。
Δx=((xk-1-xk-2)×wk-1+…+(x3-x2)×w3+(x2-x1)×w2+(x1-x0)×w1)/(w1+w2+w3+…+wk-1)
Δy=((yk-1-yk-2)×wk-1+…+(y3-y2)×w3+(y2-y1)×w2+(y1-y0)×w1)/(w1+w2+w3+…+wk-1)
其中,上述w用于表示权重。
S5,将当前光标位置Pk-1(xk-1,yk-1)加上(Δx,Δy)再乘以时间系数td/th,从而得到预测光标位置Pk(xk,yk)。
xk=xk-1+Δx×td/th
yk=yk-1+Δy×td/th
S6,对预测光标位置Pk进行纠偏得到Pk’。
S7,输出当前光标位置Pk-1(xk-1,yk-1)和修正后的预测光标位置Pk’(xk’,yk’)。
在另一种实施例中,该实施例的方法还可以包括如下步骤:
S1,获取当前网络延时td毫秒。
S2,获取最近一组在时间上连续的历史光标位置P0(x0,y0),P1(x1,y1),P2(x2,y2),P3(x3,y3),…,Pk-1(xk-1,yk-1),最后的Pk-1为当前时刻Tc的光标位置。
S3,选择航位推算法预测(Tc+td)时刻的光标位置Pk(xk,yk)。
S4,按照航位推算方法,先计算初始方位角,即直线(P0P1)与坐标x轴之间的夹角θ0。
S5,以航位推算公式计算Pk(xk,yk)坐标。
在该实施例的上述技术方案中,可以预测指点设备的光标在当前时刻Tc加上网络延时td的时刻(Tc+td)的位置,并将预测的位置作为预测结果发送给远端主机;远端主机按照预测结果产生(Tc+td)时刻的相应输出。这样可以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,从而解决了远程控制的网络延迟较大的技术问题,进而达到了降低远程控制的网络延迟的技术效果。
实施例4
本发明实施例还提供了另一种远程控制装置。需要说明的是,该实施例的远程控制装置可以用于执行本发明实施例的远程控制方法。
图8是根据本发明实施例的另一种远程控制装置的示意图。如图8所示,该远程控制装置80可以包括:获取单元81、确定单元82和发送单元83。
获取单元81,用于获取指点设备在当前时刻对应的网络延时,并基于当前时刻和网络延时确定目标时刻,其中,目标时刻为当前时刻之后的时刻。
确定单元82,用于确定指点设备的光标在目标时刻的第一预测位置信息。
发送单元83,用于向远程设备发送第一预测位置信息,其中,第一预测位置信息用于触发远程设备在目标时刻输出对应的结果。
该实施例的远程控制装置能够预测指点设备的光标在当前时刻加上网络延时后的目标时刻的位置信息,并将预测的位置信息作为预测结果发送给远程设备,使得远程设备按照预测结果产生目标时刻的相应输出,这样可以至少抵消一个方向上的网络延迟,使得总体交互延迟能够减少约一半,从而解决了远程控制的网络延迟较大的技术问题,进而达到了降低远程控制的网络延迟的技术效果。
实施例5
根据本发明实施例,还提供了一种存储介质,该存储介质包括存储的程序,其中,所述程序执行实施例1中所述的远程控制方法。
实施例6
根据本发明实施例,还提供了一种处理器,该处理器用于运行程序,其中,所述程序运行时执行实施例1中所述的远程控制方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (25)
1.一种远程控制方法,其特征在于,包括:
获取指点设备在当前时刻对应的网络延时,并基于所述当前时刻和所述网络延时确定目标时刻,其中,所述目标时刻为所述当前时刻之后的时刻;
确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
向远程设备发送所述第一预测位置信息,其中,所述第一预测位置信息用于触发所述远程设备在所述目标时刻输出对应的结果;
其中,所述方法还包括:获取所述光标在所述当前时刻的第一真实位置信息,将所述光标在所述当前时刻的第一真实位置信息与所述当前时刻的第一预测位置信息进行比较,确定预测规则,其中,所述预测规则用于确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
其中,在向远程设备发送第一预测位置信息之后,所述方法包括:基于所述第一预测位置信息确定所述指点设备在所述目标时刻对应的第一网络延时;在所述第一网络延时和所述网络延时之间的差值小于目标阈值的情况下,确定所述第一预测位置信息的真实位置信息,或者,在所述第一网络延时和所述网络延时之间的差值大于所述目标阈值的情况下,丢弃所述第一预测位置信息。
2.根据权利要求1所述的方法,其特征在于,确定所述指点设备的光标在所述目标时刻的第一预测位置信息,包括:
获取所述指点设备的历史光标数据,其中,所述历史光标数据为所述当前时刻以及所述当前时刻之前的目标时间段内的所述光标的数据;
按照至少一种所述预测规则对所述历史光标数据进行预测处理,得到所述第一预测位置信息。
3.根据权利要求2所述的方法,其特征在于,按照至少一种预测规则对所述历史光标数据进行预测处理,得到所述第一预测位置信息,包括:
第一预测步骤,在所述当前时刻按照第一预测规则对所述历史光标数据进行预测处理,得到所述第一预测位置信息;
第一获取步骤,获取所述光标在所述目标时刻的第一真实位置信息;
第一确定步骤,在所述第一预测位置信息和所述第一真实位置信息之间的差值大于第一阈值的情况下,将所述至少一种预测规则中选择除所述第一预测规则之外的预测规则重新确定为所述第一预测规则,或者,在所述第一预测位置信息和所述第一真实位置信息之间的差值小于所述第一阈值的情况下,保留所述第一预测规则,将所述目标时刻确定为所述当前时刻,并返回所述第一预测步骤。
4.根据权利要求2所述的方法,其特征在于,
在按照至少一种预测规则对所述历史光标数据进行预测处理,得到所述第一预测位置信息之前,所述方法还包括:分别按照所述至少一种预测规则对所述光标的光标数据样本进行预测处理,得到至少一种第二预测位置信息;确定每种所述第二预测位置信息和与所述光标数据样本对应的第二真实位置信息之间的第一差值,得到多个第一差值;将所述多个第一差值中的最小第一差值对应的预测规则确定为目标预测规则;
按照至少一种预测规则对所述历史光标数据进行预测处理,得到所述第一预测位置信息,包括:按照所述目标预测规则对所述历史光标数据进行预测处理,得到所述第一预测位置信息。
5.根据权利要求2所述的方法,其特征在于,在所述目标时间段内的所述光标的位置与所述当前时刻的所述光标的位置在时间上具有连续性,且具有相同的运动向量和加速度变化趋势。
6.根据权利要求2所述的方法,其特征在于,所述至少一种预测规则包括以下至少一种:
时间序列预测规则;
航位推算规则;
线性拟合规则;
曲线拟合规则;
二维卡尔曼滤波规则;
线性神经网络预测规则。
7.根据权利要求1所述的方法,其特征在于,在确定所述指点设备的光标在所述目标时刻的第一预测位置信息之后,所述方法还包括:
在所述第一预测位置信息符合目标条件的情况下,对所述第一预测位置信息进行修正;
在所述第一预测位置信息不符合所述目标条件的情况下,则丢弃所述第一预测位置信息。
8.根据权利要求7所述的方法,其特征在于,在以下至少之一情况下,确定所述第一预测位置信息不符合所述目标条件:
获取所述光标在当前时刻的位置与所述第一预测位置信息所指示的位置之间的第一距离,确定所述第一距离不在第一阈值范围内;
获取所述光标在当前时刻的位置与所述第一预测位置信息所指示的位置的连线的第一方向角,所述光标在当前时刻的位置与所述光标的历史位置的连线的第二方向角,确定所述第一方向角和所述第二方向角之间的夹角超过第二阈值。
9.根据权利要求7所述的方法,其特征在于,向远程设备发送所述第一预测位置信息,包括:
至少向所述远程设备发送修正后的所述第一预测位置信息。
10.一种远程控制方法,其特征在于,包括:
获取指点设备在当前时刻对应的网络延时,并基于所述当前时刻和所述网络延时确定目标时刻,其中,所述目标时刻为所述当前时刻之后的时刻;
基于所述指点设备的运动数据确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
向远程设备发送所述第一预测位置信息,其中,所述第一预测位置信息用于触发所述远程设备在所述目标时刻输出对应的结果;
其中,所述方法还用于:获取所述光标在所述当前时刻的第一真实位置信息,将所述光标在所述当前时刻的第一真实位置信息与所述当前时刻的第一预测位置信息进行比较,确定预测规则,其中,所述预测规则用于确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
其中,在向远程设备发送第一预测位置信息之后,所述方法包括:基于所述第一预测位置信息确定所述指点设备在所述目标时刻对应的第一网络延时;在所述第一网络延时和所述网络延时之间的差值小于目标阈值的情况下,确定所述第一预测位置信息的真实位置信息,或者,在所述第一网络延时和所述网络延时之间的差值大于所述目标阈值的情况下,丢弃所述第一预测位置信息。
11.根据权利要求10所述的方法,其特征在于,基于所述指点设备的运动数据确定所述指点设备的光标在所述目标时刻的第一预测位置信息,包括:
获取所述指点设备的历史运动数据,其中,所述历史运动数据为所述当前时刻以及所述当前时刻之前的目标时间段内的所述指点设备的运动数据;
按照至少一种预测规则对所述历史运动数据进行预测处理,得到第一预测运动数据;
按照所述第一预测运动数据生成所述第一预测位置信息。
12.根据权利要求11所述的方法,其特征在于,按照至少一种预测规则对所述历史运动数据进行预测处理,得到第一预测运动数据,包括:
第二预测步骤,在所述当前时刻按照第一预测规则对所述历史运动数据进行预测处理,得到所述第一预测运动数据;
第二获取步骤,获取所述指点设备在所述目标时刻的第一真实运动数据;
确定步骤,在所述第一预测运动数据和所述第一真实运动数据之间的差值大于第三阈值的情况下,将所述至少一种预测规则中选择除所述第一预测规则之外的预测规则重新确定为所述第一预测规则,或者,在所述第一预测运动数据和所述第一真实运动数据之间的差值小于所述第三阈值的情况下,保留所述第一预测规则,将所述目标时刻确定为所述当前时刻,并返回所述预测步骤。
13.根据权利要求11所述的方法,其特征在于,
在按照至少一种预测规则对所述历史运动数据进行预测处理,得到第一预测运动数据之前,所述方法还包括:分别按照所述至少一种预测规则对所述指点设备的运动数据样本进行预测处理,得到至少一种第二预测运动数据;确定每种所述第二预测运动数据和与所述运动数据样本对应的第二真实运动数据之间的第二差值,得到多个第二差值;将所述多个第二差值中的最小第二差值对应的预测规则确定为目标预测规则;
按照至少一种预测规则对所述历史运动数据进行预测处理,得到第一预测运动数据,包括:按照所述目标预测规则对所述历史运动数据进行预测处理,得到所述第一预测运动数据。
14.根据权利要求11所述的方法,其特征在于,在所述目标时间段内的所述指点设备的运动数据与所述当前时刻的所述指点设备的运动数据在时间上具有连续性,且具有相同的运动向量和加速度变化趋势。
15.根据权利要求11所述的方法,其特征在于,所述至少一种预测规则包括以下至少一种:
时间序列预测规则;
航位推算规则;
线性拟合规则;
曲线拟合规则;
二维卡尔曼滤波规则;
线性神经网络预测规则。
16.根据权利要求11所述的方法,其特征在于,在按照至少一种预测规则对所述历史运动数据进行预测处理,得到第一预测运动数据之后,所述方法还包括:
在所述第一预测运动数据符合目标条件的情况下,对所述第一预测运动数据进行修正;
在所述第一预测运动数据不符合所述目标条件的情况下,则丢弃所述第一预测运动数据。
17.根据权利要求16所述的方法,其特征在于,在以下至少之一情况下,确定所述第一预测运动数据不符合所述目标条件:
获取所述指点设备在当前时刻的位置与所述第一预测运动数据所指示的位置之间的第二距离,确定所述第二距离不在第二阈值范围内;
获取所述指点设备在当前时刻的位置与所述第一预测运动数据所指示的位置的连线的第三方向角,所述指点设备在当前时刻的位置与所述指点设备的历史位置的连线的第四方向角,确定所述第三方向角和所述第四方向角之间的夹角超过第四阈值。
18.根据权利要求16所述的方法,其特征在于,向远程设备发送所述第一预测位置信息,包括:
至少向所述远程设备发送基于修正后的所述第一预测运动数据确定的所述第一预测位置信息。
19.一种远程控制装置,其特征在于,包括:
控制芯片,用于获取指点设备在当前时刻对应的网络延时,并基于所述当前时刻和所述网络延时确定目标时刻,其中,所述目标时刻为所述当前时刻之后的时刻;
数字信号处理器,用于基于所述指点设备的运动数据确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
发送设备,用于向远程设备发送所述第一预测位置信息,其中,所述第一预测位置信息用于触发所述远程设备在所述目标时刻输出对应的结果;
其中,所述装置还用于获取所述光标在所述当前时刻的第一真实位置信息,将所述光标在所述当前时刻的第一真实位置信息与所述当前时刻的第一预测位置信息进行比较,确定预测规则,其中,所述预测规则用于确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
其中,所述装置还用于在向远程设备发送第一预测位置信息之后执行以下步骤:基于所述第一预测位置信息确定所述指点设备在所述目标时刻对应的第一网络延时;在所述第一网络延时和所述网络延时之间的差值小于目标阈值的情况下,确定所述第一预测位置信息的真实位置信息,或者,在所述第一网络延时和所述网络延时之间的差值大于所述目标阈值的情况下,丢弃所述第一预测位置信息。
20.根据权利要求19所述的装置,其特征在于,
所述数字信号处理器用于输出所述指点设备在所述当前时刻的运动数据,还用于缓存所述指点设备的历史运动数据,其中,所述历史运动数据为所述当前时刻以及所述当前时刻之前的目标时间段内的所述指点设备的运动数据。
21.根据权利要求20所述的装置,其特征在于,所述数字信号处理器用于按照至少一种预测规则对所述历史运动数据进行预测处理,得到第一预测运动数据,通过驱动程序将所述第一预测运动数据生成所述第一预测位置信息。
22.根据权利要求21所述的装置,其特征在于,所述数字信号处理器还用于在所述第一预测运动数据符合目标条件的情况下,对所述第一预测运动数据进行修正;在所述第一预测运动数据不符合所述目标条件的情况下,则丢弃所述第一预测运动数据。
23.一种远程控制装置,其特征在于,包括:
获取单元,用于获取指点设备在当前时刻对应的网络延时,并基于所述当前时刻和所述网络延时确定目标时刻,其中,所述目标时刻为所述当前时刻之后的时刻;
确定单元,用于确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
发送单元,用于向远程设备发送所述第一预测位置信息,其中,所述第一预测位置信息用于触发所述远程设备在所述目标时刻输出对应的结果;
其中,所述装置还用于获取所述光标在所述当前时刻的第一真实位置信息,将所述光标在所述当前时刻的第一真实位置信息与所述当前时刻的第一预测位置信息进行比较,确定预测规则,其中,所述预测规则用于确定所述指点设备的光标在所述目标时刻的第一预测位置信息;
其中,所述装置还用于在向远程设备发送第一预测位置信息之后执行以下步骤:基于所述第一预测位置信息确定所述指点设备在所述目标时刻对应的第一网络延时;在所述第一网络延时和所述网络延时之间的差值小于目标阈值的情况下,确定所述第一预测位置信息的真实位置信息,或者,在所述第一网络延时和所述网络延时之间的差值大于所述目标阈值的情况下,丢弃所述第一预测位置信息。
24.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序被处理器运行时控制所述存储介质所在设备执行权利要求1至18中任意一项所述的方法。
25.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至18中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010560808.0A CN111682988B (zh) | 2020-06-18 | 2020-06-18 | 远程控制方法、装置、存储介质和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010560808.0A CN111682988B (zh) | 2020-06-18 | 2020-06-18 | 远程控制方法、装置、存储介质和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111682988A CN111682988A (zh) | 2020-09-18 |
CN111682988B true CN111682988B (zh) | 2022-10-04 |
Family
ID=72455699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010560808.0A Active CN111682988B (zh) | 2020-06-18 | 2020-06-18 | 远程控制方法、装置、存储介质和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111682988B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732105B (zh) * | 2020-12-31 | 2023-03-28 | 贵阳动视云科技有限公司 | 一种鼠标抖动控制方法及装置 |
CN112689237B (zh) * | 2021-03-15 | 2021-05-25 | 四川北控聚慧物联网科技有限公司 | 一种基于WiFi的室内定位方法 |
CN114670981B (zh) * | 2022-03-24 | 2023-05-26 | 阿里云计算有限公司 | 用于控制相机的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111077549A (zh) * | 2019-12-31 | 2020-04-28 | 深圳一清创新科技有限公司 | 位置数据修正方法、装置和计算机可读存储介质 |
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621434A (en) * | 1993-08-11 | 1997-04-15 | Object Technology Licensing Corp. | Cursor manipulation system and method |
CN101800882B (zh) * | 2010-01-19 | 2012-02-01 | 华为技术有限公司 | 优化延迟的方法、装置、设备及系统 |
US9047688B2 (en) * | 2011-10-21 | 2015-06-02 | Here Global B.V. | Depth cursor and depth measurement in images |
CN103076874B (zh) * | 2011-10-26 | 2015-12-02 | 中国科学院声学研究所 | 一种改善计算机视觉体感输入设备高延迟的方法及系统 |
CN103220339B (zh) * | 2013-03-27 | 2016-01-13 | 北京奇虎科技有限公司 | 远程操作中的光标轨迹显示方法、装置和系统 |
WO2014155672A1 (ja) * | 2013-03-29 | 2014-10-02 | 楽天株式会社 | 閲覧装置、情報処理システム、閲覧装置の制御方法、記録媒体、及び、プログラム |
US20180046265A1 (en) * | 2013-06-06 | 2018-02-15 | Idhl Holdings, Inc. | Latency Masking Systems and Methods |
US9148802B2 (en) * | 2013-07-10 | 2015-09-29 | Google Inc. | Predictive indicator of network slowdown |
JP6515787B2 (ja) * | 2015-11-02 | 2019-05-22 | 富士通株式会社 | 仮想デスクトッププログラム、仮想デスクトップ処理方法、および仮想デスクトップシステム |
CN106909265B (zh) * | 2015-12-23 | 2020-06-26 | 阿里巴巴集团控股有限公司 | 终端系统光标事件的处理方法及装置、鼠标 |
CN108762600A (zh) * | 2018-02-27 | 2018-11-06 | 珠海市魅族科技有限公司 | 一种光标控制方法及装置、终端和可读存储介质 |
CN110947181A (zh) * | 2018-09-26 | 2020-04-03 | Oppo广东移动通信有限公司 | 游戏画面显示方法、装置、存储介质及电子设备 |
CN109443097A (zh) * | 2018-11-16 | 2019-03-08 | 南京理工大学 | 一种针对旋翼无人机的捕获装置及捕获方法 |
CN109597544A (zh) * | 2018-11-23 | 2019-04-09 | 青岛海信电器股份有限公司 | 输入交互方法、装置、设备和存储介质 |
CN110209449B (zh) * | 2019-05-21 | 2022-02-15 | 腾讯科技(深圳)有限公司 | 一种游戏中光标定位方法和装置 |
CN111181798B (zh) * | 2019-08-28 | 2022-07-22 | 腾讯科技(深圳)有限公司 | 网络时延测量方法、装置、电子设备及存储介质 |
-
2020
- 2020-06-18 CN CN202010560808.0A patent/CN111682988B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111167116A (zh) * | 2019-09-29 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种平滑显示的方法、终端和计算机存储介质 |
CN111077549A (zh) * | 2019-12-31 | 2020-04-28 | 深圳一清创新科技有限公司 | 位置数据修正方法、装置和计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
Supervising Remote Humanoids Across Intermediate Time Delay;Kimberly Hambuchen等;《2006 6th IEEE-RAS International Conference on Humanoid Robots》;20070226;全文 * |
机器人遥操作中关键技术的研究;尹继超;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20110515;全文 * |
遥操作机器人预测显示的研究和实现;周等;《自动化与仪表》;20070715(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111682988A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111682988B (zh) | 远程控制方法、装置、存储介质和处理器 | |
US11350150B2 (en) | Method for estimation of quality of experience (QoE) metrics for video streaming using passive measurements | |
CN105827472B (zh) | 网络数据流类型检测方法及装置 | |
US8559728B2 (en) | Image processing apparatus and image processing method for evaluating a plurality of image recognition processing units | |
US10425849B1 (en) | Visualization of personalized quality of experience regarding mobile network | |
KR20220133858A (ko) | 태스크 스케줄링 방법 및 장치, 전자 기기, 저장 매체 및 프로그램 제품 | |
CN108304758A (zh) | 人脸特征点跟踪方法及装置 | |
CN102186239A (zh) | 射频指纹定位方法、装置及网络设备 | |
CN111898765A (zh) | 特征分箱方法、装置、设备及可读存储介质 | |
CN112994980B (zh) | 时延测试方法、装置、电子设备和存储介质 | |
CN108390775B (zh) | 一种基于spice的用户体验质量评价方法及系统 | |
KR101797870B1 (ko) | 영상통화 품질 측정 방법 및 시스템 | |
CN110348519A (zh) | 金融产品欺诈团伙的识别方法和装置 | |
EP3474499A1 (en) | Network performance detection method and apparatus | |
CN115474228A (zh) | 状态检测方法、装置、终端及存储介质 | |
CN113950125A (zh) | 一种应用程序中网络加速的方法、装置以及存储介质 | |
EP3593493B1 (en) | Prediction of a performance indicator | |
JP2007036839A (ja) | パケット交換網における品質劣化切り分け装置および切り分けシステム、ならびに切り分け方法 | |
JP5957419B2 (ja) | QoE推定装置、QoE推定方法及びプログラム | |
CN114543797A (zh) | 位姿预测方法和装置、设备、介质 | |
CN107438268B (zh) | 一种用于为移动设备加速无线网络的方法与设备 | |
US9692685B2 (en) | Heterogeneous network system, network apparatus, and rendezvous path selection method thereof | |
CN114599042A (zh) | 网络状态感知方法及装置、电子设备和存储介质 | |
CN115086194A (zh) | 云应用的数据传输方法、计算设备及计算机存储介质 | |
US20110255430A1 (en) | Communication device, communication method, and program |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220812 Address after: 401122 No. 99, datagu Middle Road, Xiantao street, Yubei District, Chongqing Applicant after: Chongqing Jingxiang Microelectronics Co.,Ltd. Address before: Room 302, 3 / F, workshop 4, 3G intelligent terminal Industrial Park, 8 Tangyan South Road, hi tech Zone, Xi'an City, Shaanxi Province 710075 Applicant before: XI'AN VANXVM ELECTRONICS TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |