虚拟现实设备间的同步控制方法及系统与流程

文档序号:15981581发布日期:2018-11-17 00:23阅读:209来源:国知局

本发明涉及虚拟现实技术领域,更具体地,涉及一种虚拟现实设备间的同步控制方法和一种虚拟现实系统。

背景技术

虚拟现实(virtualreality),简称vr技术,是虚拟现实头戴设备模拟产生一个三度空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。

现在开发人员越来越看重在虚拟现实环境中用户的沉浸式体验。用户通过虚拟现实头戴设备和外接设备的配合使用,完成沉浸式体验。现有技术中,用户通过虚拟现实头戴设备和外接设备的配合使用时,由于虚拟现实头戴设备记录的系统时间和外接设备记录的系统时间不统一,导致存在虚拟现实头戴设备和外接设备同步性较差的问题,使得用户体验较差。

因此,需要提供一种新的技术方案,针对上述现有技术中的问题进行改进。



技术实现要素:

本发明的一个目的是提供一种的虚拟现实头戴设备和外接设备的同步的新技术方案。

根据本发明的第一方面,提供了一种虚拟现实设备间的同步控制方法,包括:

虚拟现实头戴设备的第一处理器触发第一无线芯片的第一io中断,并将所述第一处理器的系统时间发送至所述第一无线芯片,以及,所述第一无线芯片执行计时操作,记录为第一计时时间;

所述第一无线芯片将所述第一计时时间和所述系统时间进行相加处理,得到第一系统时间,并将所述第一系统时间传输至所述外接设备上的第二无线芯片

所述第二无线芯片接收到所述第一系统时间时,触发第二处理器的第二io中断,并将所述第一系统时间发送至所述第二处理器,以及,所述第二处理器执行计时操作,记录为第二计时时间;

所述第二处理器将所述第二计时时间和所述第一系统时间进行相加处理,得到第二系统时间,并将所述第二系统时间作为所述外接设备记录的系统时间。

可选地,在所述第二处理器将所述第二计时时间和所述第一系统时间进行相加处理,得到第二系统时间,并将所述第二系统时间作为所述外接设备记录的系统时间之后,所述方法还包括:

所述虚拟现实头戴设备的第一惯性测量单元产生第一姿态数据时,触发所述第一处理器的第三io中断,并将所述第一姿态数据发送至所述第一处理器;

所述第三io中断时,所述第一处理器读取当前系统时间,并将所述当前系统时间作为所述第一姿态数据的时间戳。

可选地,在所述第二处理器将所述第二计时时间和所述第一系统时间进行相加处理,得到第二系统时间,并将所述第二系统时间作为所述外接设备记录的系统时间之后,所述方法还包括:

所述外接设备的第二惯性测量单元产生第二姿态数据时,触发所述第二处理器的第四io中断,并将所述第二姿态数据发送至所述第二处理器;

所述第四io中断时,所述第二处理器读取所述外接设备记录的当前系统时间,并将所述外接设备记录的当前系统时间作为所述第二姿态数据的时间戳。

可选地,所述第四io中断时,所述第二处理器读取所述外接设备记录的当前系统时间,并将所述外接设备记录的当前系统时间作为所述第二姿态数据的时间戳之后,所述方法还包括:

所述第二处理器将所述第二姿态数据和所述第二姿态数据的时间戳发送至所述第二无线芯片;

所述第二无线芯片将所述第二姿态数据和所述第二姿态数据的时间戳传输至所述第一无线芯片;

所述第一无线芯片将接收到的所述第二姿态数据和所述第二姿态数据的时间戳发送至所述第一处理器;

所述第一处理器对具有相同时间戳的第一姿态数据和第二姿态数据进行处理,得到虚拟现实头戴设备的姿态信息和外接设备的姿态信息。

可选地,虚拟现实头戴设备的第一处理器将所述第一处理器的系统时间发送至所述第一无线芯片,包括:

所述第一处理器通过i2c接口或者spi接口,将所述第一处理器的系统时间发送至所述第一无线芯片;和/或,

所述第二无线芯片将所述第一系统时间发送至所述第二处理器,包括:

所述第二无线芯片通过i2c接口或者spi接口,将所述第一系统时间发送至所述第二处理器。

根据本发明的第二方面,提供了一种虚拟现实系统,包括:虚拟现实头戴设备和外接设备,其中,所述虚拟现实头戴设备包括第一处理器和第一无线芯片,所述外接设备包括第二处理器和第二无线芯片;

所述第一处理器用于触发第一无线芯片的第一io中断,并将所述第一处理器的系统时间发送至所述第一无线芯片;

所述第一无线芯片用于执行计时操作,记录为第一计时时间,以及将所述第一计时时间和所述系统时间进行相加处理,得到第一系统时间,并将所述第一系统时间传输至所述第二无线芯片;

所述第二无线芯片用于接收到所述第一系统时间时,触发所述第二处理器的第二io中断,并将所述第一系统时间发送至所述第二处理器;

所述第二处理器用于执行计时操作,记录为第二计时时间,以及在接收到所述第一系统时间时,将所述第二计时时间和所述第一系统时间进行相加处理,得到第二系统时间,并将所述第二系统时间作为所述外接设备记录的系统时间。

可选地,所述虚拟现实头戴设备还包括第一惯性测量单元,其中,

所述第一惯性测量单元用于产生第一姿态数据时,触发所述第一处理器的第三io中断,并将所述第一姿态数据发送至所述第一处理器;

所述第一处理器还用于所述第三io中断时,读取当前系统时间,并将所述当前系统时间作为所述第一姿态数据的时间戳。

可选地,所述外接设备还包括:第二惯性测量单元,其中,

所述第二惯性测量单元用于产生第二姿态数据时,触发所述第二处理器的第四io中断,并将所述第二姿态数据发送至所述第二处理器;

所述第二处理器还用于所述第四io中断时,读取所述外接设备记录的当前系统时间,以及将所述外接设备记录的当前系统时间作为所述第二姿态数据的时间戳。

可选地,所述第二处理器还用于将所述第二姿态数据和所述第二姿态数据的时间戳发送至所述第二无线芯片;

所述第二无线芯片还用于将所述第二姿态数据和所述第二姿态数据的时间戳传输至所述第一无线芯片;

所述第一无线芯片还用于将接收到的所述第二姿态数据和所述第二姿态数据的时间戳发送至所述第一处理器;

所述第一处理器还用于对具有相同时间戳的第一姿态数据和第二姿态数据进行处理,得到虚拟现实头戴设备的姿态信息和外接设备的姿态信息。

可选地,所述第一处理器通过i2c接口或者spi接口,将所述第一处理器的系统时间发送至所述第一无线芯片;和/或,

所述第二无线芯片通过i2c接口或者spi接口,将所述第一系统时间发送至所述第二处理器。

本发明一个实施例的有益效果在于,提高了虚拟现实头戴设备的系统时间和外接设备从虚拟现实头戴设备中获取的系统时间的一致性,进而提高了虚拟现实头戴设备和外接设备的同步性。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是根据本发明一个实施例的虚拟现实设备间的同步控制方法的处理流程图。

图2是根据本发明一个实施例的虚拟现实系统的结构示意图。

图3是根据本发明又一个实施例的虚拟现实系统的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明的一个实施例提供了一种虚拟现实设备间的同步控制方法。本发明实施例涉及的虚拟现实设备包括虚拟现实头戴设备和外接设备。本发明实施例涉及的虚拟现实头戴设备可为与智能终端配合使用的虚拟现实眼镜,还可为虚拟现实一体机。本发明实施例涉及的外接设备可为手柄、手环、手套、遥控器中任一种。

图1是根据本发明一个实施例的虚拟现实设备间的同步控制方法的处理流程图。参见图1,该方法至少包括步骤s101至步骤s104。

步骤s101,虚拟现实头戴设备的第一处理器触发第一无线芯片的第一io中断,并将第一处理器的系统时间发送至第一无线芯片,以及,第一无线芯片执行计时操作,记录为第一计时时间。

本发明的一个例子中,虚拟现实头戴设备与外接设备建立连接时,第一处理器触发第一无线芯片的第一io中断,并且通过i2c接口或者spi接口将第一处理器的系统时间发送至第一无线芯片。第一无线芯片检测到第一io中断时,第一无线芯片的计时器开始执行计时操作。

步骤s102,第一无线芯片将第一计时时间和系统时间进行相加处理,得到第一系统时间,并将第一系统时间传输至外接设备上的第二无线芯片。

本发明的一个例子中,第一无线芯片和第二无线芯片之间可以进行无线通信。第一无线芯片可以通过该无线通信将第一系统时间传输至第二无线芯片。

步骤s103,第二无线芯片接收到第一系统时间时,触发第二处理器的第二io中断,并将第一系统时间发送至第二处理器,以及,第二处理器执行计时操作,记录为第二计时时间。

本发明的一个例子中,第二无线芯片通过i2c接口或者spi接口,将第一系统时间发送至第二处理器。第二处理器的第二io中断时,第二处理器开始执行计时操作。

步骤s104,第二处理器将第二计时时间和第一系统时间进行相加处理,得到第二系统时间,并将第二系统时间作为外接设备记录的系统时间。

通过本发明实施例提供的虚拟现实设备间的同步控制方法,提高了虚拟现实头戴设备的系统时间和外接设备从虚拟现实头戴设备中获取的系统时间的一致性,进而提高了虚拟现实头戴设备和外接设备的同步性。

本发明的一个例子中,虚拟现实头戴设备还包括第一惯性测量单元。第一惯性测量单元可以包括加速度计、陀螺仪和磁力计中的部分或者全部。在第二处理器将第二计时时间和第一系统时间进行相加处理,得到第二系统时间,并将第二系统时间作为外接设备记录的系统时间之后,第一惯性测量单元产生第一姿态数据(即产生新的一帧姿态数据)时,触发第一处理器的第三io中断,并将其产生的第一姿态数据发送至第一处理器。例如,第一惯性测量单元通过i2c接口或者spi接口,将第一姿态数据发送至第一处理器。第三io中断时,第一处理器读取当前系统时间。在第一处理器接收到第一姿态数据时,第一处理器将其读取的当前系统时间作为第一姿态数据的时间戳。这样使得第一姿态数据的生成时间和第一处理器为第一姿态数据添加的时间戳具有一致性,避免了由于数据传输导致的第一姿态数据对应的时间戳滞后的问题。

本发明的一个例子中,外接设备还包括第二惯性测量单元。第二惯性测量单元可以包括加速度计、陀螺仪和磁力计中的部分或者全部。在第二处理器将第二计时时间和第一系统时间进行相加处理,得到第二系统时间,并将第二系统时间作为外接设备记录的系统时间之后,第二惯性测量单元产生第二姿态数据(即产生新的一帧姿态数据)时,触发第二处理器的第四io中断,并将其产生的第二姿态数据发送至第二处理器。例如,第二惯性测量单元通过i2c接口或者spi接口,将第二姿态数据发送至第二处理器。第四io中断时,第二处理器读取其记录的当前系统时间。在第二处理器接收到第二姿态数据时,第二处理器将其读取的当前系统时间作为第二姿态数据的时间戳。这样使得第二姿态数据的生成时间和第二处理器为第二姿态数据添加的时间戳具有一致性,避免了由于数据传输导致的第二姿态数据对应的时间戳滞后的问题。

本发明的一个例子中,第二处理器将第二姿态数据和第二姿态数据的时间戳发送至第二无线芯片。第二无线芯片通过与第一无线芯片建立的无线通信,将第二姿态数据和第二姿态数据的时间戳传输至第一无线芯片。第一无线芯片将接收到的第二姿态数据和第二姿态数据的时间戳发送至第一处理器。第一处理器对具有相同时间戳的第一姿态数据和第二姿态数据进行处理,得到虚拟现实头戴设备的姿态信息和外接设备的姿态信息。

本发明实施例提供的虚拟现实头戴设备间的同步控制方法,提高了虚拟现实头戴设备的系统时间和外接设备从虚拟现实头戴设备中获取的系统时间的一致性,以及提高了虚拟现实头戴设备为第一姿态数据添加的时间戳和外接设备为第二姿态数据添加的时间戳的一致性,进而提高了虚拟现实头戴设备的姿态信息和外接设备的姿态信息的同步性。

基于同一发明构思,本发明的一个实施例提供了一种虚拟现实系统。

图2是根据本发明一个实施例的虚拟现实系统的结构示意图。参见图2,该虚拟现实系统包括虚拟现实头戴设备1000和外接设备2000。虚拟现实头戴设备1000包括第一处理器1010和第一无线芯片1020。外接设备2000包括第二处理器2010和第二无线芯片2020。

第一处理器1010用于触发第一无线芯片1020的第一io中断,并将第一处理器的系统时间发送至第一无线芯片1020。例如,第一处理器1010通过i2c接口或者spi接口,将第一处理器的系统时间发送至第一无线芯片1020。

第一无线芯片1020用于执行计时操作,记录为第一计时时间,以及将第一计时时间和系统时间进行相加处理,得到第一系统时间,并将第一系统时间传输至外接设备的第二无线芯片2020。

第二无线芯片2020用于接收到第一系统时间时,触发第二处理器2010的第二io中断,并将第一系统时间发送至第二处理器2010。例如,第二无线芯片2020通过i2c接口或者spi接口,将第一系统时间发送至第二处理器2010。

第二处理器2010用于执行计时操作,记录为第二计时时间,以及在接收到第一系统时间时,将第二计时时间和第一系统时间进行相加处理,得到第二系统时间,并将第二系统时间作为外接设备记录的系统时间。

参见图3,虚拟现实头戴设备1000还包括第一惯性测量单元1030。第一惯性测量单元1030用于产生第一姿态数据时,触发第一处理器1010的第三io中断,并将第一姿态数据发送至第一处理器1010。例如,第一惯性测量单元1030通过i2c接口或者spi接口,将第一姿态数据发送至第一处理器1010。

第一处理器1010还用于第三io中断时,读取当前系统时间,并将当前系统时间作为第一姿态数据的时间戳。

参见图3,外接设备2000还包括第二惯性测量单元2030。第二惯性测量单元2030用于产生第二姿态数据时,触发第二处理器2010的第四io中断,并将第二姿态数据发送至第二处理器2010。例如,第二惯性测量单元2030通过i2c接口或者spi接口,将第二姿态数据发送至第二处理器2010。

第二处理器2010还用于第四io中断时,读取外接设备记录的当前系统时间,以及将外接设备记录的当前系统时间作为第二姿态数据的时间戳。

本发明的一个例子中,第二处理器2010还用于将第二姿态数据和第二姿态数据的时间戳发送至第二无线芯片2020。第二无线芯片2020还用于将第二姿态数据和第二姿态数据的时间戳传输至第一无线芯片1020。第一无线芯片1020还用于将接收到的第二姿态数据和第二姿态数据的时间戳发送至第一处理器1010。第一处理器1010还用于对具有相同时间戳的第一姿态数据和第二姿态数据进行处理,得到虚拟现实头戴设备的姿态信息和外接设备的姿态信息。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1