CN115065850B - 体感操控方法及装置、存储介质、电子设备 - Google Patents

体感操控方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN115065850B
CN115065850B CN202210794471.9A CN202210794471A CN115065850B CN 115065850 B CN115065850 B CN 115065850B CN 202210794471 A CN202210794471 A CN 202210794471A CN 115065850 B CN115065850 B CN 115065850B
Authority
CN
China
Prior art keywords
somatosensory
instruction
control instruction
historical
state
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
CN202210794471.9A
Other languages
English (en)
Other versions
CN115065850A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210794471.9A priority Critical patent/CN115065850B/zh
Publication of CN115065850A publication Critical patent/CN115065850A/zh
Application granted granted Critical
Publication of CN115065850B publication Critical patent/CN115065850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开属于人机交互技术领域,涉及一种体感操控方法及装置、存储介质、电子设备。该方法包括:获取历史角速度值,并对历史角速度值进行信号序列化得到历史操控指令;根据历史操控指令预测体感操控指令,并根据体感操控指令确定目标体感状态;请求与历史操作指令关联的下一操控指令,并根据下一操控指令修正目标体感状态。本公开通过历史操控指令能够预测体感操控指令,用于体感操控业务的实时处理,降低了多端协同的体感操控业务的延迟,保证了用户对体感操控体验的要求。进一步的,根据下一操控指令对目标体感状态进行修正,降低了因丢包导致的操控精度误差的累计,提升了体感操控的精度。

Description

体感操控方法及装置、存储介质、电子设备
技术领域
本公开涉及人机交互技术领域,尤其涉及一种体感操控方法与体感操控装置、计算机可读存储介质及电子设备。
背景技术
在多端协同体感操控应用场景中,使用手机陀螺仪作为电视或者机顶盒等终端的体感输入。
但是,由于终端之间体感操控信号需要通过网络传输,网络抖动造成的丢包或延迟将造成体感输入偏差,降低体感业务的体验质量。
鉴于此,本领域亟需开发一种新的体感操控方法及装置。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种体感操控方法、体感操控装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的延迟高和精度低的技术问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本发明实施例的第一个方面,提供一种体感操控方法,所述方法包括:
获取历史角速度值,并对所述历史角速度值进行信号序列化得到历史操控指令;
根据所述历史操控指令预测体感操控指令,并根据所述体感操控指令确定目标体感状态;
请求与所述历史操控指令关联的下一操控指令,并根据所述下一操控指令修正所述目标体感状态。
在本发明的一种示例性实施例中,所述对所述历史角速度值进行信号序列化得到历史操控指令,包括:
获取与所述历史角速度值对应的间隔时间和时间单位;
对所述历史角速度值、所述间隔时间和所述时间单位进行信号序列化得到历史操控指令。
在本发明的一种示例性实施例中,所述根据所述体感操控指令确定目标体感状态,包括:
对所述体感操控指令和所述间隔时间、所述时间单位进行计算得到第一变更度数;
对所述第一变更度数和所述历史角速度值进行计算得到目标体感状态。
在本发明的一种示例性实施例中,所述根据所述下一操控指令修正所述目标体感状态,包括:
对所述体感操控指令和所述下一操控指令进行计算得到修正指令,并对所述修正指令和所述间隔时间、所述时间单位进行计算得到第二变更度数;
获取与所述下一操控指令关联的上一体感状态,并对所述第二变更度数和所述上一体感状态进行计算实现对所述目标体感状态的修正。
在本发明的一种示例性实施例中,所述根据所述历史操控指令预测体感操控指令,包括:
确定预测模型,并利用所述预测模型对所述历史操控指令进行预测得到体感操控指令。
在本发明的一种示例性实施例中,所述预测模型,包括:线性方程、卡尔曼滤波、神经网络模型、K均值聚类算法和广义线性模型。
在本发明的一种示例性实施例中,所述方法还包括:
若在指定时间内未请求到与所述历史操控指令关联的下一操控指令,不对所述目标体感状态进行修正。
根据本发明实施例的第二个方面,提供一种体感操控装置,包括:
数据获取模块,被配置为获取历史角速度值,并对所述历史角速度值进行信号序列化得到历史操控指令;
体感预测模块,被配置为根据所述历史操控指令预测体感操控指令,并根据所述体感操控指令确定目标体感状态;
状态修正模块,被配置为请求与所述历史操控指令关联的下一操控指令,并根据所述下一操控指令修正所述目标体感状态。
根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例中的体感操控方法。
根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的体感操控方法。
由上述技术方案可知,本公开示例性实施例中的体感操控方法、体感操控装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
在本公开的示例性实施例提供的方法及装置中,通过历史操控指令能够预测体感操控指令,用于体感操控业务的实时处理,降低了多端协同的体感操控业务的延迟,保证了用户对体感操控体验的要求。进一步的,根据下一操控指令对目标体感状态进行修正,降低了因丢包导致的操控精度误差的累计,提升了体感操控的精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种体感操控方法的流程示意图;
图2示意性示出本公开示例性实施例中信号序列化的方法的流程示意图;
图3示意性示出本公开示例性实施例中根据体感操控指令确定目标体感状态的方法的流程示意图;
图4示意性示出本公开示例性实施例中修正目标体感状态的方法的流程示意图;
图5示意性示出本公开示例性实施例中应用场景下的体感操控系统的结构示意图;
图6示意性示出本公开示例性实施例中应用场景下的体感操控方法的交互示意图;
图7示意性示出本公开示例性实施例中相关技术与应用场景下的体感操控方法的对比示意图;
图8示意性示出本公开示例性实施例中一种体感操控装置的结构示意图;
图9意性示出本公开示例性实施例中一种用于实现体感操控方法的电子设备;
图10意性示出本公开示例性实施例中一种用于实现体感操控方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
在多端协同体感操控应用场景中,使用手机陀螺仪作为电视或者机顶盒等终端的体感输入。
但是,由于终端之间体感操控信号需要通过网络传输,网络抖动造成的丢包或延迟将造成体感输入偏差,降低体感业务的体验质量。
具体的,在原有的多端协同的体感操控应用技术中,存在丢包导致的延期高和体感操控精度下降的问题。
其中,网络抖动导致手机的体感信号,例如三轴陀螺仪角速度发送到电视或者机顶盒的过程中产生丢包,电视或者机顶盒的体感应用需要等待重传的网络包到达才能进行体感业务处理,因此增加了业务延迟。
而电视或者机顶盒的体感应用通过持续的体感信号累加来计算手机目前的朝向与位置,体感信号的丢失将引起手机实际朝向与应用计算的朝向偏差逐渐增大,因此降低了操控精度。
针对相关技术中存在的问题,本公开提出了一种体感操控方法。图1示出了体感操控方法的流程图,如图1所示,体感操控方法至少包括以下步骤:
步骤S110.获取历史角速度值,并对历史角速度值进行信号序列化得到历史操控指令。
步骤S120.根据历史操控指令预测体感操控指令,并根据体感操控指令确定目标体感状态。
步骤S130.请求与历史操控指令关联的下一操控指令,并根据下一操控指令修正目标体感状态。
在本公开的示例性实施例中,通过历史操控指令能够预测体感操控指令,用于体感操控业务的实时处理,降低了多端协同的体感操控业务的延迟,保证了用户对体感操控体验的要求。进一步的,根据下一操控指令对目标体感状态进行修正,降低了因丢包导致的操控精度误差的累计,提升了体感操控的精度。
下面对体感操控方法的各个步骤进行详细说明。
在步骤S110中,获取历史角速度值,并对历史角速度值进行信号序列化得到历史操控指令。
在本公开的示例性实施例中,该历史角速度值可以是每隔预设时长获取的。举例而言,按照手机三轴陀螺仪而言,可以每隔20ms发生一次角速度信号得到历史角速度值。该历史角速度值可以包括vx=5°/10ms、vy=3°/10ms、vz=-4°/10ms,也可以包括vx=3°/10ms、vy=-1°/10ms、vz=-2°/10ms。
进一步的,可以对历史角速度值进行信号序列化。
在可选的实施例中,图2示出了信号序列化的方法的流程示意图,如图2所示,该方法至少可以包括以下步骤:在步骤S210中,获取与历史角速度值对应的间隔时间和时间单位。
举例而言,当间隔时间为20ms,且时间单位为10ms时,可以确定与历史角速度值对应的间隔时间和时间单位分别为20和10。
在步骤S220中,对历史角速度值、间隔时间和时间单位进行信号序列化得到历史操控指令。
举例而言,当历史角速度值是vx=5°/10ms、vy=3°/10ms、vz=-4°/10ms,且对应的间隔时间和时间单位分别为20和10时,对历史角速度值、间隔时间和时间单位进行信号序列化为历史操控指令可以是{[5、3、-4],[10],[20]}。其中,历史操控指令中的三个参数分别为三轴的历史角速度值、时间单位和间隔时间。
举例而言,当历史角速度值是vx=3°/10ms、vy=-1°/10ms、vz=-2°/10ms,且对应的间隔时间和时间单位分别为20和10时,对历史角速度值、间隔时间和时间单位进行信号序列化为历史操控指令可以是{[3、-1、-2],[10],[20]}。其中,历史操控指令中的三个参数分别为三轴的历史角速度值、时间单位和间隔时间。
在本示例性实施例中,通过对历史角速度值进行信号序列号能够得到对应的历史操控指令,为体感操控的预测提供了历史数据的支持和理论基础。
在步骤S120中,根据历史操控指令预测体感操控指令,并根据体感操控指令确定目标体感状态。
在本公开的示例性实施例中,在生成历史操控指令之后,机顶盒发现指定时间没收到体感操控指令的网络包,或收到了下一个序号的网络包,确定与历史操控指令对应的下一网络包丢失。
在丢包情况下,可以根据历史操控指令预测下一个体感操控指令。
在可选的实施例中,确定预测模型,并利用预测模型对历史操控指令进行预测得到体感操控指令。
其中,预测模型可以包括多种模型,并且,可以根据实际场景确定对应的预测模型,或者根据其他需求确定预测模型。
在可选的实施例中,预测模型,包括:线性方程、卡尔曼滤波、神经网络模型、K均值聚类算法和广义线性模型。
举例而言,当采用线性方程vxk=aTk+b作为预测模型进行预测时,可以按照历史操控指令中第一帧为[5、3、-4],第二帧为[3、-1、-2]进行预测。
具体的,根据线性方程可以得到vxk=-2Tk+5;vyk=-4Tk+3;vzk=2Tk-4,并对公式进行计算可以预测第三帧T3=2,那么,第三帧的角速度值为vx=1°/10ms、vy=-5°/10ms、vz=0°/10ms。
进一步的,将第三帧的角速度值进行信号序列号可以得到体感操控指令为{[1、-5、0],[10],[20]}。
在根据历史操控指令预测出体感操控指令之后,还可以根据体感操控指令确定目标体感状态。
在可选的实施例中,图3示出了根据体感操控指令确定目标体感状态的方法的流程示意图,如图3所示,该方法至少可以包括以下步骤:在步骤S310中,对体感操控指令和间隔时间、时间单位进行计算得到第一变更度数。
具体的,对体感操控指令进行计算的方式可以是Ax=1°/10ms*20ms=2°;Ay=-5°/10ms*20ms=-10°;Az=0°/10ms*20ms=0°,以得到第一变更度数分别为2°、-10°和0°。
在步骤S320中,对第一变更度数和历史角速度值进行计算得到目标体感状态。
在计算出第一变更度数之后,为计算出目标体感状态,还可以对历史角速度值进行计算得到历史角速度值对应的体感状态,以与第一度数进行计算得到目标体感状态。
对于历史角速度值对应的历史操控指令为{[5、3、-4],[10],[20]}时,可以计算出对应的变更度数为Ax=5°/10ms*20ms=10°;Ay=3°/10ms*20ms=6°;Az=-4°/10ms*20ms=-8°,进一步计算出对应的体感状态为X=0+10°=10°;Y=0+6°=6°;Z=0+-8°=-8°。
进一步的,下一帧的历史角度值对应的历史操控指令为{[3、-1、-2],[10],[20]}时,可以根据上一帧的体感状态计算此时的体感状态。具体的,此时的变更度数为Ax=3°/10ms*20ms=6°;Ay=-1°/10ms*20ms=-2°;Az=-2°/10ms*20ms=-4°,进一步计算此时的体感状态为X=10°+6°=16°;Y=6°+-2°=4°;Z=-8°+-4°=-12°。其中,10°、6°和-8°为上一帧的体感状态。
在计算出与历史角速度值对应的最近一帧的体感状态之后,可以对第一变更度数和该体感状态进行计算得到目标体感状态。
举例而言,目标体感状态可以是X=16°+2°=18°;Y=4°+-10°=-6°;Z=-12°+0°=-12°。其中,16°、4°和-12°即为与历史角速度值对应的最近一帧的体感状态,2°、-10°和0°即为第一变更度数。
在本示例性实施例中,通过历史角速度值和第一变更度数能够确定出目标体感状态,避免因丢包或者延迟带来的体感状态延迟的情况发生,提升了体感操控的精度和准确度。
在步骤S130中,请求与历史操控指令关联的下一操控指令,并根据下一操控指令修正目标体感状态。
在本公开的示例性实施例中,为了能够重新接收丢失的网络包,可以由机顶盒向手机等发送丢包重传请求,以请求发送与历史操控指令关联的下一帧的下一操控指令。
手机重传对应帧的下一操控指令时,可以传输至机顶盒上进行处理。例如,该下一操控指令可以是{[1、-3、1],[10],[20]}。
当机顶盒能够在指定时间,例如1s内接收到重传信号,则可以根据下一操控指令对目标体感状态进行修正。
在可选的实施例中,图4示出了修正目标体感状态的方法的流程示意图,如图4所示,该方法至少可以包括以下步骤:在步骤S410中,对体感操控指令和下一操控指令进行计算得到修正指令,并对修正指令和间隔时间、时间单位进行计算得到第二变更度数。
举例而言,当体感操控指令为{[1、-5、0],[10],[20]},实际的下一操控指令为{[1、-3、1],[10],[20]}时,可以根据对比得出修正指令的角速度参数=实际指令的角速度参数-预测指令的角速度参数,亦即对体感操控指令和下一操控指令进行计算得到修正指令为{[0、2、1],[10],[20]}。
进一步的,可以对修正指令计算出对应的第二变更度数为Ax=0°/10ms*20ms=0°;Ay=2°/10ms*20ms=4°;Az=1°/10ms*20ms=2°。
在步骤S420中,获取与下一操控指令关联的上一体感状态,并对第二变更度数和上一体感状态进行计算实现对目标体感状态的修正。
在对目标体感状态进行修正时,可能在历史操控指令对应的体感状态和预测的目标体感状态之后,还进行了其他后续的操控指令对应的体感状态,而由于对目标体感状态的修正需要以上一帧的体感状态进行修正,因此,可以获取与下一操控指令关联的上一体感状态。
其中,该上一体感状态可以是目标体感状态,也可以是在目标体感状态之后进行的其他体感状态,本示例性实施例对此不做特殊限定。
当在目标体感状态之后还进行其他的体感状态时,可以获取到上一体感状态为X=24°,Y=-8°,Z=-16°。
进一步的,对第二变更度数和上一体感状态进行计算,以完成对目标体感状态的修正。
举例而言,对第二变更度数和上一体感状态进行计算可以是X=24°+0°=24°;Y=-8°+4°=-4°;Z=-16°+2°=-14°,因此,修正后的当前体感状态为X=24°,Y=-4°,Z=-14°。
在本示例性实施例中,在预测出目标体感状态之后,还可以通过重传的下一操控指令对目标体感状态进行修正,在保证时延的同时,降低因丢包导致的操控精度的累计,满足了用户在多端协同的环境下的操控体验要求。
值得说明的是,当无法在指定时间内接收到下一操控指令时,则无需对目标体感状态进行修正。
在可选的实施例中,若在指定时间内未请求到与历史操控指令关联的下一操控指令,不对目标体感状态进行修正。
举例而言,当机顶盒没有在指定时间,例如1s内接收到下一操控指令,则不进行误差调整。亦即,无需对预测出的目标体感状态进行修正。
下面结合一应用场景对本公开实施例中的体感操控方法做出详细说明。
图5示出了应用场景下的体感操控系统的结构示意图,如图5所示,在手机端可以包括陀螺仪501、信号序列化模块502、指令传输模块503和重传控制模块504;在机顶盒端可以包括业务应用处理模块505、体感状态处理模块506、指令接收模块507、指令预测模块508、重传指令对比模块509、丢包处理模块510和重传指令处理模块511。
其中,陀螺仪501是一种角运动检测装置,可以检测手机在三轴或六轴方向上的角速度;信号序列化模块502可以将陀螺仪的各方向角速度信号按数据格式序列化,以生成控制指令;指令传输模块503通过网络将控制指令(角速度数据)发送到机顶盒;重传控制模块504可以响应机顶盒发送的重传请求,对丢包的指令进行传输。
业务应用处理模块505可以将体感状态作为输入,反馈到当前业务应用中,例如方向盘左转或右转,以及飞行游戏视觉调整等;体感状态处理模块506可以根据各方向角速度数据、运动时长计算和调整体感状态,例如朝向和位置等;指令接收模块507可以接收从网络发送来的指令(角速度数据);指令预测模块508可以根据前一段时间的输入预测丢包指令中的角速度数据,并作为本次指令输入;重传指令对比模块509在接收到重传数据后,对比本次重传数据与预测数据的差别,将误差修正作为指令输入调整体感状态;丢包处理模块510在丢包时请求丢包重传,并在指定时间内,指令接收模块收到丢包则进行对应处理,否则放弃该丢包;重传指令处理模块511能够处理重传过来的指令(角速度数据)。
图6示出了应用场景下的体感操控方法的交互示意图,如图6所示,该应用场景下可以分为两种情况,分别是未发生传输丢包时的正常体感操控,以及发生传输丢包时的体感操控。
在未发生传输丢包时的正常体感操控的情况下,主要包括指令收集与发送、指令接收与业务处理三个步骤。
在指令收集与发送的步骤中,可以是首先收集角速度信号,手机陀螺仪收集一段时间t内的角速度(vx、vy、vz);然后,进行角速度信号处理,亦即将角速度信号序列化为体感操控指令;最后,指令发送是将体感操控指令发送到机顶盒。
在指令接收的步骤中,首先是机顶盒接收体感指令,如果无丢包,亦即序号正常的情况下,由体感状态处理模块进行指令处理,否则进行丢包流程;然后是进行状态处理,具体的,体感状态处理模块根据加速度(vx、vy、vz)和时间t,计算体感状态,例如朝向/位置等。其中,X轴朝向可以是Xk=Xk-1+vxk*t,Y、Z轴计算方法相同,在此不再赘述。
在业务处理的步骤中,首先输入状态,亦即将当前体感状态输入体感应用;然后进行对应的体感应用处理,具体的,体感应用处理体感输入,反馈到体感应用的状态,例如VR(Virtual Reality,虚拟现实技术)镜头或者赛车方向盘等。
在发生传输丢包时的体感操控的情况下,除了包括未发生传输丢包时的正常体感操控的情况下的流程之外,还需要包括指令预测、丢包重传与误差调整三个步骤。
在指令预测的步骤中,首先可以导入预测模型,按照场景导入预测模型,例如场景可以是赛车游戏、飞行游戏、VR视频等;然后进行体感指令预测,具体的,在出现丢包时,按照预测模型输入之前几次的体感指令,以使预测模型输出预测的丢包的指令;最后进行指令处理,可以是在预测指令生成后,交给体感状态处理模块,体感状态处理模块按正常指令处理。
在丢包重传的步骤中,可以首先发送丢包重传请求,机顶盒在指令预测的通知向手机端发送丢包重传的请求,告知丢失的指令序号;然后进行丢包重传,手机端根据丢包的指令序号重发该指令包数据;最后接收丢包,可以是在指定时间内接收到丢包,则进行误差调整,否则视为超时,放弃该丢包接收。
在误差调整的步骤中,首先进行指令对比,可以是对比重传的指令数据和预测的指令数据的差异;进一步的,生成调整指令,可以是按照指令对比的差异生成调整指令;最后进行指令处理,可以将调整指令交给体感状态处理模块,按正常指令处理。
图7示出了相关技术与应用场景下的体感操控方法的对比示意图,如图7所示,第一种相关技术采用丢包重传的方式。
具体的,当产生丢包时,终端需要等待丢包重传。在等待重传时,终端暂停处理,直到接收到重传的网络包后,再继续进行指令处理。
这种方式会导致体感操控的延迟增大,使得操控卡顿。
第二种相关技术采用的是跳过丢包的方式。
具体的,在产生丢包时,不进行丢包重传,而是终端放弃该指令,继续进行下一个指令处理。
这种方式由于误差累加导致控制精度下降,影响用户后续的使用体验。
而在本方案的体感操控方法中采用预测和修正的方式。
具体的,在产生丢包时,进行丢包重传。终端不等待重传的网络包,而是根据预测模型预测信令进行处理。当重传包到达后,与预测的信令对比,以进行状态修正。
该方式能够在保证低延迟前提下,减少误差累加的影响。
在应用场景下,按照手机三轴陀螺仪,每隔20ms发生一次角速度信号。
手机与机顶盒终端开始进行多端协同的体感操控,例如玩飞行游戏,机顶盒设定体感状态方向可以为(X=0°、Y=0°、Z=0°)。
第一帧数据是正常传输,无丢包的。
在指令收集与发送的步骤中,手机收集到角速度信号(vx=5°/10ms、vy=3°/10ms、vz=-4°/10ms),将信号序列化为体感操控指令({[5、3、-4],[10],[20]},分别为三轴的角速度值、时间单位、间隔时间),并将体感操控指令传输到机顶盒上处理。
在指令处理的步骤中,机顶盒接收到体感信号,对体感状态进行调整,三轴角度变更度数分别为Ax=5°/10ms*20ms=10°;Ay=3°/10ms*20ms=6°;Az=-4°/10ms*20ms=-8°。
三轴角度状态,例如朝向变更为X=0+10°=10°;Y=0+6°=6;Z=0+-8°=-8°。
在业务处理的步骤中,将当前体感状态输入体感应用,例如将飞行游戏的机头朝向调整为(X=10°,Y=6°,Z=-8°)。
第二帧数据也是正常传输,无丢包的。
在指令收集与发送的步骤中,手机收集到角速度信号(vx=3°/10ms、vy=-1°/10ms、vz=-2°/10ms),将信号序列化为体感操控指令({[3、-1、-2],[10],[20]}),并将体感操控指令传输到机顶盒上处理。
在指令处理的步骤中,机顶盒接收到体感信号,对体感状态进行调整,三轴角度变更度数分别为Ax=3°/10ms*20ms=6°;Ay=-1°/10ms*20ms=-2°;Az=-2°/10ms*20ms=-4°。
三轴角度状态,亦即朝向变更为X=10°+6°=16°;Y=6°+-2°=4°;Z=-8°+-4°=-12°。
在业务处理的步骤中,将当前体感状态输入体感应用,例如将飞行游戏的机头朝向调整为(X=16°,Y=4°,Z=-12°)。
第三帧数据受干扰传输,产生丢包。
在指令收集和发送的步骤中,手机收集到角速度信号(vx=1°/10ms、vy=-3°/10ms、vz=1°/10ms),将信号序列化为体感操控指令({[1、-3、1],[10],[20]}),但体感操控指令传输丢包。
在指令预测的步骤中,机顶盒发现指定时间没收到体感操控指令的网络包,或收到了下一个序号(第4帧)的网络包,确定第3帧网络包丢失。
机顶盒进行指令预测,可以采用线性方程vxk=aTk+b来估算,其他预测模型还可以包含卡尔曼滤波、神经网络模型、K-means(基于欧式距离的聚类算法)、广义线性模型(Generalized Linear Model,GLM)等;
按照第一帧([5、3、-4])、第二帧([3、-1、-2])计算,可以得到vxk=-2Tk+5;vyk=-4Tk+3;vzk=2Tk-4,因此,预测第三帧T3=2,第三帧的角加速度为(vx=1°/10ms、vy=-5°/10ms、vz=0°/10ms),将信号序列化为预测的体感操控指令({[1、-5、0],[10],[20]}。
在指令处理的步骤中,机顶盒接收到体感信号,对体感状态进行调整,三轴角度变更度数分别为Ax=1°/10ms*20ms=2°;Ay=-5°/10ms*20ms=-10°;Az=0°/10ms*20ms=0°。
三轴角度状态,亦即朝向变更为X=16°+2°=18°;Y=4°+-10°=-6°;Z=-12°+0°=-12°。
在丢包重传的步骤中,机顶盒向手机发送丢包重传请求,请求发送第3帧的体感控制指令。
在业务处理的步骤中,将当前体感状态输入体感应用,例如将飞行游戏的机头朝向调整为(X=18°,Y=-6°,Z=-12°)。
第四帧数据也是正常传输,无丢包的。
在指令收集与发送的步骤中,手机收集到角速度信号(vx=3°/10ms、vy=-1°/10ms、vz=-2°/10ms),将信号序列化为体感操控指令({[3、-1、-2],[10],[20]}),并将体感操控指令传输到机顶盒上处理。
在指令处理的步骤中,机顶盒接收到体感信号,对体感状态进行调整,三轴角度变更度数分别为Ax=3°/10ms*20ms=6°;Ay=-1°/10ms*20ms=-2°;Az=-2°/10ms*20ms=-4°。
三轴角度状态,亦即朝向变更为X=18°+6°=24°;Y=-6°+-2°=-8°;Z=-12°+-4°=-16°。
在业务处理的步骤中,将当前体感状态输入体感应用,例如将飞行游戏的机头朝向调整为(X=24°,Y=-8°,Z=-16°)。
在第四帧数据之后,可以收到第三帧的重传数据,该重传数据是正常传输,无丢包的。
在手机重传第三帧的体感操控指令的步骤中,手机接收到重传请求,将第3帧的体感操控指令({[1、-3、1],[10],[20]}),传输到机顶盒上处理。
在重传接收的步骤中,机顶盒在指定时间内,例如1s接收到重传信号,并进行误差调整。
在预测指令与实际指令的对比的步骤中,预测指令可以是({[1、-5、0],[10],[20]}),实际指令可以是({[1、-3、1],[10],[20]})。
根据对比得出修正指令角速度参数=实际指令角速度参数-预测指令的角速度参数,因此,修正指令可以是({[0、2、1],[10],[20]})。
在修正指令处理时,对体感状态进行调整,三轴角度变更度数分别为Ax=0°/10ms*20ms=0°;Ay=2°/10ms*20ms=4°;Az=1°/10ms*20ms=2°。
三轴角度状态,例如朝向变更为X=24°+0°=24°;Y=-8°+4°=-4°;Z=-16°+2°=-14°。
在业务处理的步骤中,将当前体感状态输入体感应用,例如将飞行游戏的机头朝向调整为(X=24°,Y=-4°,Z=-14°)。
至此,三轴角度状态恢复到无丢包的预期状态。
在该应用场景下的体感操控方法,当终端之间传输的体感操控信号出现丢包或延迟时,接收端根据已接收到的体感操控信号对丢失操控信号进行预测,生成期望操控信号用于体感操控业务实时处理,同时保持终端状态。在接收到延迟到达或丢包重传的体操操控信号后,对终端朝向、位置等状态进行修正,从而降低多端协同体感操控业务的延迟,提升体感操控精度,也能够满足XR(Extended Reality,扩展现实)等业务的操控体验要求,极大地丰富了应用场景。
图8示出了体感操控装置的结构示意图,如图8所示,体感操控装置800,可以包括:数据获取模块810、体感预测模块820和状态修正模块830。其中:
数据获取模块810,被配置为获取历史角速度值,并对所述历史角速度值进行信号序列化得到历史操控指令;
体感预测模块820,被配置为根据所述历史操控指令预测体感操控指令,并根据所述体感操控指令确定目标体感状态;
状态修正模块830,被配置为请求与所述历史操控指令关联的下一操控指令,并根据所述下一操控指令修正所述目标体感状态。
在本发明的一种示例性实施例中,所述对所述历史角速度值进行信号序列化得到历史操控指令,包括:
获取与所述历史角速度值对应的间隔时间和时间单位;
对所述历史角速度值、所述间隔时间和所述时间单位进行信号序列化得到历史操控指令。
在本发明的一种示例性实施例中,所述根据所述体感操控指令确定目标体感状态,包括:
对所述体感操控指令和所述间隔时间、所述时间单位进行计算得到第一变更度数;
对所述第一变更度数和所述历史角速度值进行计算得到目标体感状态。
在本发明的一种示例性实施例中,所述根据所述下一操控指令修正所述目标体感状态,包括:
对所述体感操控指令和所述下一操控指令进行计算得到修正指令,并对所述修正指令和所述间隔时间、所述时间单位进行计算得到第二变更度数;
获取与所述下一操控指令关联的上一体感状态,并对所述第二变更度数和所述上一体感状态进行计算实现对所述目标体感状态的修正。
在本发明的一种示例性实施例中,所述根据所述历史操控指令预测体感操控指令,包括:
确定预测模型,并利用所述预测模型对所述历史操控指令进行预测得到体感操控指令。
在本发明的一种示例性实施例中,所述预测模型,包括:线性方程、卡尔曼滤波、神经网络模型、K均值聚类算法和广义线性模型。
在本发明的一种示例性实施例中,所述方法还包括:
若在指定时间内未请求到与所述历史操控指令关联的下一操控指令,不对所述目标体感状态进行修正。
上述体感操控装置800的具体细节已经在对应的体感操控方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了体感操控装置800的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
下面参照图9来描述根据本发明的这种实施例的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(ROM)923。
存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
参考图10所示,描述了根据本发明的实施例的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

Claims (8)

1.一种体感操控方法,其特征在于,所述方法包括:
获取历史角速度值,获取与所述历史角速度值对应的间隔时间和时间单位,对所述历史角速度值、所述间隔时间和所述时间单位进行信号序列化得到历史操控指令;
根据所述历史操控指令预测体感操控指令,并根据所述体感操控指令确定目标体感状态;
请求与所述历史操控指令关联的下一操控指令,对所述体感操控指令和所述下一操控指令进行计算得到修正指令,并对所述修正指令和所述间隔时间、所述时间单位进行计算得到第二变更度数;
获取与所述下一操控指令关联的上一体感状态,并对所述第二变更度数和所述上一体感状态进行计算实现对所述目标体感状态的修正。
2.根据权利要求1所述的体感操控方法,其特征在于,所述根据所述体感操控指令确定目标体感状态,包括:
对所述体感操控指令和所述间隔时间、所述时间单位进行计算得到第一变更度数;
对所述第一变更度数和所述历史角速度值进行计算得到目标体感状态。
3.根据权利要求1所述的体感操控方法,其特征在于,所述根据所述历史操控指令预测体感操控指令,包括:
确定预测模型,并利用所述预测模型对所述历史操控指令进行预测得到体感操控指令。
4.根据权利要求3所述的体感操控方法,其特征在于,所述预测模型,包括:线性方程、卡尔曼滤波、神经网络模型、K均值聚类算法和广义线性模型。
5.根据权利要求1所述的体感操控方法,其特征在于,所述方法还包括:
若在指定时间内未请求到与所述历史操控指令关联的下一操控指令,不对所述目标体感状态进行修正。
6.一种体感操控装置,其特征在于,包括:
数据获取模块,被配置为获取历史角速度值,获取与所述历史角速度值对应的间隔时间和时间单位,对所述历史角速度值、所述间隔时间和所述时间单位进行信号序列化得到历史操控指令;
体感预测模块,被配置为根据所述历史操控指令预测体感操控指令,并根据所述体感操控指令确定目标体感状态;
状态修正模块,被配置为请求与所述历史操控指令关联的下一操控指令,对所述体感操控指令和所述下一操控指令进行计算得到修正指令,并对所述修正指令和所述间隔时间、所述时间单位进行计算得到第二变更度数,获取与所述下一操控指令关联的上一体感状态,并对所述第二变更度数和所述上一体感状态进行计算实现对所述目标体感状态的修正。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任意一项所述的体感操控方法。
8.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-5中任意一项所述的体感操控方法。
CN202210794471.9A 2022-07-05 2022-07-05 体感操控方法及装置、存储介质、电子设备 Active CN115065850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210794471.9A CN115065850B (zh) 2022-07-05 2022-07-05 体感操控方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210794471.9A CN115065850B (zh) 2022-07-05 2022-07-05 体感操控方法及装置、存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN115065850A CN115065850A (zh) 2022-09-16
CN115065850B true CN115065850B (zh) 2024-01-12

Family

ID=83203788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210794471.9A Active CN115065850B (zh) 2022-07-05 2022-07-05 体感操控方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN115065850B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219587A (zh) * 2014-08-20 2014-12-17 深圳智意能电子科技有限公司 一种用于对应用进行操控的方法和装置
CN106951871A (zh) * 2017-03-24 2017-07-14 北京地平线机器人技术研发有限公司 操作体的运动轨迹识别方法、装置和电子设备
CN107179830A (zh) * 2017-05-25 2017-09-19 努比亚技术有限公司 体感应用的信息处理方法、移动终端及存储介质
CN108762497A (zh) * 2018-05-18 2018-11-06 深圳壹账通智能科技有限公司 体感交互方法、装置、设备及可读存储介质
CN109032339A (zh) * 2018-06-29 2018-12-18 贵州威爱教育科技有限公司 一种实时智能体感同步的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108885493A (zh) * 2017-12-22 2018-11-23 深圳市大疆创新科技有限公司 体感控制器控制云台的方法、云台、体感控制器和系统
US11340693B2 (en) * 2020-02-19 2022-05-24 Honeywell International Inc. Augmented reality interactive messages and instructions for batch manufacturing and procedural operations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219587A (zh) * 2014-08-20 2014-12-17 深圳智意能电子科技有限公司 一种用于对应用进行操控的方法和装置
CN106951871A (zh) * 2017-03-24 2017-07-14 北京地平线机器人技术研发有限公司 操作体的运动轨迹识别方法、装置和电子设备
CN107179830A (zh) * 2017-05-25 2017-09-19 努比亚技术有限公司 体感应用的信息处理方法、移动终端及存储介质
CN108762497A (zh) * 2018-05-18 2018-11-06 深圳壹账通智能科技有限公司 体感交互方法、装置、设备及可读存储介质
CN109032339A (zh) * 2018-06-29 2018-12-18 贵州威爱教育科技有限公司 一种实时智能体感同步的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive and Wireless Recordings of Electrophysiological Signals During Concurrent Magnetic Resonance Imaging;Ranajay Mandal;《IEEE Transactions on Biomedical Engineering》;全文 *
基于体感设备的虚拟沙画应用研究;石倩;《中国优秀硕士学位论文全文数据库》;全文 *

Also Published As

Publication number Publication date
CN115065850A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
US11833422B2 (en) Providing automated user input to an application
CN111292420B (zh) 用于构建地图的方法和装置
CN115257727B (zh) 障碍物信息融合方法、装置、电子设备和计算机可读介质
EP3985610A1 (en) Audio collection device positioning method and apparatus, and speaker recognition method and system
CN110975277B (zh) 增强现实游戏中信息处理的方法及装置、介质及电子设备
CN110717467A (zh) 头部姿势的估计方法、装置、设备及存储介质
CN115065850B (zh) 体感操控方法及装置、存储介质、电子设备
CN114038465B (zh) 语音处理方法、装置和电子设备
WO2019047604A1 (zh) 一种确定数据采集路线的方法与装置
CN112461239B (zh) 移动体路径规划方法、装置、设备及存储介质
CN114740854A (zh) 一种机器人避障控制方法和装置
CN114937059A (zh) 显示对象的运动控制方法及设备
CN114358419A (zh) 位姿预测方法、位姿预测装置、存储介质与电子设备
CN114285114A (zh) 一种充电控制方法、装置、电子设备和存储介质
CN115793873A (zh) 获取光标位置的方法、装置及存储介质
CN113407046B (zh) 用户动作识别方法、装置、电子设备及存储介质
CN110968925A (zh) 机器人及时间对齐方法、装置、电子设备、存储介质
WO2023207360A1 (zh) 图像分割方法、装置、电子设备及存储介质
CN113672137B (zh) 光标位置更新方法、装置和电子设备
WO2024002028A1 (zh) 一种车辆控制方法、系统及ar头显
CN110647998B (zh) 自动机器学习实现方法、系统、设备及存储介质
CN116212387A (zh) 轨迹预测方法及装置、计算机可读存储介质、电子设备
CN115827282A (zh) 鼠标漫游方法、装置、设备及存储介质
CN117744732A (zh) 深度学习模型的训练方法、推理方法、装置、设备和介质
CN118781173A (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
GR01 Patent grant