虚拟现实设备中的数据处理方法及装置与流程

文档序号:11153832阅读:586来源:国知局
虚拟现实设备中的数据处理方法及装置与制造工艺

本发明涉及数据领域,特别涉及虚拟现实(VR,Virtual Reality)设备中的数据处理方法及装置。



背景技术:

VR设备如按硬件形态来分,主要可以分为移动端头显、外接式头显和一体机头显三种。其中,移动端头显需将移动终端放入VR设备,外接式头显需要连接个人电脑(PC,Personal Computer),一体机头显具有独立的中央处理器(CPU,Central Processing Unit)及输入输出功能。

无论哪一种VR设备,都需要单独配置物理控制外设,例如遥控器和手柄等,来实现对VR设备中应用的操作。以通过VR设备玩射击游戏为例,用户需要手执遥控器,来完成视角、瞄准等控制。这些物理控制外设都是针对特定设备而配置,不具有通用性,并且功能简单不能扩展。



技术实现要素:

本发明实施例提供了VR设备中的数据处理方法及装置。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

根据本发明实施例的第一方面,提供了一种VR设备中的数据处理方法,包括:接收移动终端中的第一感测部件产生的第一操作数据;利用所述第一操作数据,在所述VR设备中模拟所述第一感测部件;利用所述第一操作数据和所述VR中的第二感测部件产生的第二操作数据,生成针对所述VR设备中的同一应用的不同控制操作事件。

可选地,所述利用所述第一操作数据,在所述VR设备中模拟所述第一感测部件,包括:将应用层接收的所述第一操作数据,经由框架(Framework)层和硬件模拟层(HAL,Hardware Abstraction Layer)传递到内核(Kernel)层;在所述Kernel层将所述第一操作数据封装成设定格式。

可选地,所述利用所述第一操作数据和所述VR设备中的第二感测部件产生的第二操作数据,生成针对所述VR设备中的同一应用的不同控制操作事件,包括:将所述第一操作数据和所述第二操作数据,经由HAL和Framework层上报至应用层;在所述应用层生成针对所述同一应用的不同控制操作事件。

可选地,述将所述第一操作数据和所述第二操作数据,经由HAL和Framework层上报至应用层,包括:针对所述第一操作数据和所述第二操作数据,按照所对应感测部件的类型分组;将分组后的数据,经由HAL和Framework层上报至应用层。

可选地,所述在所述应用层生成针对所述同一应用的不同控制操作事件,包括:按照设定优先级,在应用层分别调用所述第一操作数据和所述第二操作数据,分别生成不同控制操作事件。

根据本发明实施例的第二方面,提供一种VR设备中的数据处理装置,包括:接收模块,用于接收移动终端中的第一感测部件产生的第一操作数据;模拟模块,用于利用所述第一操作数据,在所述VR设备中模拟所述第一感测部件;生成模块,用于利用所述第一操作数据和所述VR设备中的第二感测部件产生的第二操作数据,生成针对所述VR设备中的同一应用的不同控制操作事件。

可选地,所述模拟模块,包括:传递子模块,用于将应用层接收的所述第一操作数据,经由Framework层和HAL传递到Kernel层;封装子模块,用于在所述Kernel层将所述第一操作数据封装成设定格式。

可选地,所述生成模块,包括:上报子模块,用于将所述第一操作数据和所述第二操作数据,经由HAL和Framework层上报至应用层;生成子模块,用于在所述应用层生成针对所述同一应用的不同控制操作事件。

可选地,上报子模块,包括:分组子模块,用于针对所述第一操作数据和所述第二操作数据,按照所对应感测部件的类型分组;执行子模块,用于将分组后的数据,经由HAL和Framework层上报至应用层。

根据本发明实施例的第三方面,提供了一种VR设备中的数据处理装置,处理器;存储所述处理器执行的指令的存储器;其中,所述处理器被配置为:接收移动终端中的第一感测部件产生的第一操作数据;利用所述第一操作数据,在所述VR设备中模拟所述第一感测部件;利用所述第一操作数据和所述VR设备中的第二感测部件产生的第二操作数据,生成针对所述VR设备中的同一应用的不同控制操作事件。

本发明实施例提供的技术方案可以包括以下有益效果:

利用来自移动终端中第一感测部件的第一操作数据,在VR设备中模拟第一感测部件,并利用第一操作数据和VR设备中第二感测部件产生的第二操作数据,生成针对VR设备中的同一应用的不同控制操作,从而使得用户通过移动终端即可实现对VR设备中应用的多元化控制,具有通用性,且基于移动终端的多样化功能,能够实现更丰富的控制操作。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的VR设备中的数据处理方法的流程图;

图2是根据一示例性实施例示出的安卓系统架构示意图;

图3是根据一示例性实施例示出的VR设备中的数据处理方法的流程图;

图4是根据一示例性实施例示出的VR设备中的数据处理装置的示意图;

图5是根据一示例性实施例示出的VR设备中的数据处理装置的示意图;

图6是根据一示例性实施例示出的VR设备中的数据处理装置的示意图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

图1是根据一示例性实施例示出的VR设备中的数据处理方法的流程图。

在步骤101中,接收移动终端中的第一感测部件产生的第一操作数据。

所述移动终端可为用户手机或平板等便携式的终端。第一感测部件可为移动终端内的重力感应器、陀螺仪感应器、光线感应器、触摸屏和麦克风中的一个或多个。第一操作数据为第一感测部件产生的数据,即重力感应器产生重力感应数据,陀螺仪感应器产生陀螺仪数据,光线感应器产生光感数据,触摸屏产生触摸事件数据,麦克风产生声音数据。

在步骤102中,利用所述第一操作数据,在所述VR设备中模拟所述第一感测部件。

VR设备为移动端头显、外接头戴式和一体机头显中任意一种设备。VR设备对接收到的移动终端的第一操作数据进行处理,以在VR设备中模拟第一感测部件,实现移动终端对VR设备中的应用的控制。

在步骤103中,利用所述第一操作数据和所述VR设备中的第二感测部件产生的第二操作数据,生成针对所述VR设备中的同一应用的不同控制操作事件。

VR设备本身具有第二感测部件,可以为重力感应器和陀螺仪感应器等感测部件中的一个或多个。第二操作数据为第二感测部件产生的数据,即重力感应器产生重力感应数据,陀螺仪感应器产生陀螺仪数据。通过步骤102中模拟第一感测部件,再结合VR设备中本身具有的第二感测部件,当利用移动终端对VR设备中的应用控制操作时,VR设备中存在两部分数据,分别为第一操作数据和第二操作数据。VR设备根据两部分数据实现同一应用不同控制操作。

综上所述,本实施例提供的方法,利用来自移动终端中第一感测部件产生的第一操作数据,在VR设备中模拟第一感测部件,并利用第一操作数据和VR设备中第二感测部件产生的第二操作数据,生成针对VR设备中的同一应用的不同控制操作,从而使得用户通过移动终端即可实现对VR设备中应用的多元化控制,具有通用性,且基于移动终端的多样化功能,能够实现更丰富的控制操作。

图2是根据一示例性实施例示出的安卓系统架构示意图。

安卓系统架构从上往下分为应用层201,Framework层202,HAL203,Kernel层204和Hardware层205。上面的五个层次,下层为上层服务,上层需要下层的支持,调用下层的服务。

图3是根据一示例性实施例示出的VR设备中的数据处理方法的流程图。

为了便于说明,不再对与前述实施例相同的步骤或相似的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图1和图3中,对于前述实施例相同或相似的步骤,采用了相同的附图标记。

在步骤101中,接收移动终端中的第一感测部件产生的第一操作数据。

移动终端通过网络与VR设备建立通信,通信方式为套接字(socket)通信。VR设备在应用层201接收移动终端中的第一感测部件产生的第一操作数据。

在步骤302中,将应用层201接收的所述第一操作数据,经由Framework层202和HAL203传递到Kernel层204。

在步骤303中,在所述Kernel层204将所述第一操作数据封装成设定格式。

在本实施例中,VR设备系统中预先安装位于Kernel层的驱动程序,驱动程序将第一操作数据封装成VR设备能够识别的格式,例如标准的安卓数据格式。

在步骤304中,针对所述第一操作数据和所述第二操作数据,按照所对应感测部件的类型分组。

当第一感测部件和第二感测部件为相同类型的部件,则VR设备中包含两组相同类型的数据。例如:第一感测部件和第二感测部件同为重力传感器,则VR设备中包含两组重力感应数据。第一感测部件和第二感测部件同为陀螺仪传感器,则VR设备中包含两组陀螺仪感应数据。当第一感测部件和第二感测部件为不同类型的部件,则VR设备中包含两组不同类型的数据。当第一感测部件为多个,第二感测部件与第一感测部件中的一个类型相同时,则VR设备中包含相同类型和不同类型的数据。例如:第一感测部件为触摸屏和陀螺仪感应器,第二感测部件为陀螺仪感应器。则第一操作数据为触摸事件数据和陀螺仪数据,第二操作数据为陀螺仪数据。则VR设备中存在两组陀螺仪数据和一组触摸事件数据。

驱动程序针对所述第一操作数据和所述第二操作数据,按照所对应感测部件的类型分组,便于对数据进行调用生成不同控制操作事件。

在步骤305中,将分组后的数据,经由HAL和Framework层上报至应用层。

驱动程序对第一操作数据和第二操作数据分组后,由驱动程序接口输出数据经由HAL203和Framework层202向应用层201上报。

在步骤306中,按照设定优先级,在应用层分别调用所述第一操作数据和所述第二操作数据,分别生成不同控制操作事件。

对于移动终端产生的第一操作数据和VR设备产生的第二操作数据的调用顺序事先设定优先级。例如:当同时存在第一操作数据和第二操作数据时,先调用第一操作数据生成对应用的控制操作事件,然后调用第二操作数据生成对同一应用的不同控制操作事件。

综上所述,本实施例提供的方法,利用来自移动终端中第一感测部件的第一操作数据,在VR设备中模拟第一感测部件,对第一操作数据和VR设备中第二感测部件产生的第二操作数据进行分组,按照预先设定的优先级,调用第一操作数据和第二操作数据生成针对VR设备中的同一应用的不同控制操作,从而使得用户通过移动终端即可实现对VR设备中应用的多元化控制,具有通用性,且基于移动终端的多样化功能,能够实现更丰富的控制操作。

针对VR设备中无法操控的一些情况,通过在VR设备中模拟移动终端中的第一感测部件,可以实现通过移动终端控制VR设备中的应用,下面给出几个举例。

在一些实施例中,VR设备里面安装了一个需要重力感应器或陀螺仪感应器才能玩的应用,原来需要晃动头部,根据VR设备产生的重力感应数据或陀螺仪数据控制操作游戏。根据本实施例提出的方法,如在VR设备中模拟移动终端中的第一感测部件,则只需要晃动移动终端,根据移动终端产生的重力感应数据或陀螺仪数据便可以控制操作游戏。

在另一些实施例中,VR设备里安装了一个需要触摸的才能玩的应用,VR设备本身是无法完成触摸操作的,或者需要使用物理操控器才能完成触摸操作,根据本实施例提出的方法,如在VR设备中模拟移动终端中的第一感测部件,只需要触摸移动终端的屏幕,移动终端产生触摸事件数据就能完成触摸操作。

在另一些实施例中,VR设备里安装了一个需要录音的应用,原来需要额外插入麦克风,根据本实施例提出的方法,如在VR设备中模拟移动终端中的第一感测部件,只需要移动终端的麦克风产生声音数据即可完成控制操作。

针对VR设备中具有第二感测部件的情况,下面也给出举例。

VR设备里安装了一个射击类游戏,用户需要手执遥控器,来完成视角、瞄准等控制。根据本实施例提出的方法,如在VR设备中模拟移动终端中的第一感测部件,用户晃动移动终端,控制瞄准方向,并晃动头部,控制视角。用户晃动移动终端,移动终端的陀螺仪感应器产生第一操作数据陀螺仪数据,并将陀螺仪数据发送给VR设备,VR设备在应用层201接收移动终端的陀螺仪数据,通过步骤302经由Framework层202和HAL203传递到Kernel层204,通过步骤303由VR设备预先安装的驱动程序封装成标准的安卓数据格式。用户晃动头部,VR设备的陀螺仪感应器产生第二操作数据陀螺仪数据。此时,VR设备中有两组陀螺仪数据。通过步骤304驱动程序针对所述第一操作数据和所述第二操作数据,按照所对应感测部件的类型分组。然后通过步骤305将分组后的数据经由HAL203和Framework层202上报至应用层201。在VR设备中对于调用数据的先后顺序设定优先级,通过步骤306按照设定优先级,在应用层分别调用所述第一操作数据和所述第二操作数据,分别生成不同控制操作事件。例如:当存在两组相同类型的操作数据时,先调用第一操作数据,则此时先调用移动终端产生的陀螺仪数据调整武器(例如:刀或枪)的瞄准方向,然后调用VR设备产生的陀螺仪数据调整视角;当存在两组相同类型的操作数据时,先调用第二操作数据,则此时先调用VR设备产生的陀螺仪数据调整视角,然后调用移动终端产生的陀螺仪数据调整武器的瞄准方向。

针对移动终端中的第一感测部件包括两个,VR设备中的第二感测部件为一个的情况,下面也给出举例。

VR设备里安装了一个射击类游戏,用户需要手执遥控器,来完成视角、瞄准、加速前进等控制。根据本实施例提出的方法,如在VR设备中模拟移动终端中的第一感测部件,用户晃动头部,控制视角;晃动移动终端,控制瞄准方向;点击触摸屏,控制前进速度。用户晃动移动终端,移动终端的陀螺仪感应器产生第一操作数据陀螺仪数据,在移动终端的应用程序中设置一个加速前进按钮,当游戏中的人物距离下一目的地较远时,需要加速前进,此时用户点击触摸屏,移动终端的触摸屏产生第一操作数据触摸事件数据,并将陀螺仪数据和触摸事件数据发送给VR设备,VR设备在应用层201接收移动终端的陀螺仪数据和触摸事件数据,通过步骤302经由Framework层202和HAL203传递到Kernel层204,通过步骤303由VR设备预先安装的驱动程序封装成标准的安卓数据格式。用户晃动头部,VR设备的陀螺仪感应器产生第二操作数据陀螺仪数据。此时,VR设备中有两组陀螺仪数据和一组触摸事件数据。通过步骤304驱动程序针对所述第一操作数据和所述第二操作数据,按照所对应感测部件的类型分组,分成两组分别为陀螺仪数据和触摸事件数据,然后通过步骤305将分组后的数据经由HAL203和Framework层202上报至应用层201。在VR设备中对于调用数据的先后顺序设定优先级,通过306按照设定优先级,在应用层分别调用所述第一操作数据和所述第二操作数据,分别生成不同控制操作事件。例如:当存在两组不同类型的操作数据时,先调用陀螺仪数据,然后调用触摸事件数据;当存在两组相同类型的第一操作数据和第二操作数据时,先调用第一操作数据。则此时先调用移动终端产生的陀螺仪数据调整武器(例如:刀或枪)的瞄准方向,再调用VR设备产生的陀螺仪数据调整视角,然后调用移动终端产生的触摸事件数据调整前进速度。若当存在两组不同类型的操作数据时,先调用陀螺仪数据,然后调用触摸事件数据;当存在两组相同类型的第一操作数据和第二操作数据时,先调用第二操作数据。则此时先调用VR设备产生的陀螺仪数据调整视角,再调用移动终端产生的陀螺仪数据调整武器的瞄准方向,然后调用移动终端产生的触摸事件数据调整前进速度。若当存在两组不同类型的操作数据时,先调用触摸事件数据,然后调用陀螺仪数据;当存在两组相同类型的第一操作数据和第二操作数据时,先采用第一操作数据。则此时先调用移动终端产生的触摸事件数据调整前进速度,再调用移动终端产生的陀螺仪数据调整武器的瞄准方向,然后调用VR设备产生的陀螺仪数据调整视角。若当存在两组不同类型的操作数据时,先调用触摸事件数据,然后调用陀螺仪数据;当存在两组相同类型的第一操作数据和第二操作数据时,先调用第二操作数据。则此时先调用移动终端产生的触摸事件数据调整前进速度,再调用VR设备产生的陀螺仪数据调整视角,然后调用移动终端产生的陀螺仪数据调整武器的瞄准方向。

在本实施例中,利用来自移动终端中第一感测部件的第一操作数据,在VR设备中模拟第一感测部件,并利用第一操作数据和VR设备中第二感测部件产生的第二操作数据,生成针对VR设备中的射击类游戏的不同控制操作,VR设备产生的陀螺仪数据调整武器的瞄准方向,移动终端产生的陀螺仪数据调整视角,从而使得用户通过移动终端即可实现对VR设备中应用的多元化控制,移动终端可以与多台VR设备配合使用,具有通用性,且基于移动终端的多样化功能,能够实现更丰富的控制操作。

图4是根据一示例性实施例示出的VR设备中的数据处理装置的示意图。该数据装置应用于VR设备中,如图4所示,该数据处理装置包括:接收模块401、模拟模块402、生成模块403。

接收模块401,用于接收移动终端中的第一感测部件产生的第一操作数据。

模拟模块402,用于利用接收模块401接收的所述第一操作数据,在所述VR设备中模拟所述第一感测部件。

生成模块403,用于利用所述第一操作数据和所述VR设备中的第二感测部件产生的第二操作数据,生成针对所述VR设备中的同一应用的不同控制操作事件。

综上所述,本实施例提供的装置,通过接收模块401接收移动终端发送的第一操作数据,模拟模块402利用该第一操作数据在VR设备中模拟产生该第一操作数据的第一感测部件,生成模块403利用第一操作数据和VR设备产生的第二操作数据生成对VR设备中同一应用的操作事件,解决了物理控制外设都是针对特定设备而配置,不具有通用性,达到了利用移动终端即可实现对VR设备中应用的多元化控制,具有通用性的效果。

图5是根据一示例性实施例示出的VR设备中的数据处理装置的示意图。

为了便于说明,不再对与前述实施例相同的模块进行详细展开,而仅重点说明与前述实施例的不同之处。在图5中,对于前述实施例相同的模块,采用了相同的附图标记。

可选地,模拟模块402包括传递子模块501和封装子模块502。传递子模块501,用于将应用层201接收的所述第一操作数据,经由Framework层202和HAL203传递到Kernel层204。封装子模块502,用于在所述Kernel层204将所述第一操作数据封装成设定格式。

可选地,生成模块403包括上报子模块503和生成子模块504。上报子模块503,用于将所述第一操作数据和所述第二操作数据,经由HAL203和Framework层202上报至应用层201。生成子模块504,用于在所述应用层201生成针对所述同一应用的不同控制操作事件。所述生成子模块504,按照设定的优先级,在应用层201调用所述第一操作数据和所述第二操作数据,分别生成不同控制操作事件。

综上所述,本实施例提供的装置,封装子模块502对移动终端发送的第一操作数据进行封装处理,使得第一操作数据可以被VR设备采用,传递子模块501和上报子模块503对第一操作数据和VR设备产生的第二操作数据在各个数据层间进行传递,生成子模块504对第一操作数据和第二操作数据按照优先级依次调用,实现了通过移动终端实现对VR设备中应用的多元化控制,具有通用性,且基于移动终端的多样化功能,能够实现更丰富的控制操作。

图6是根据一示例性实施例示出的VR设备中的数据处理装置的示意图。

为了便于说明,不再对与前述实施例相同的模块进行详细展开,而仅重点说明与前述实施例的不同之处。在图6中,对于前述实施例相同的模块,采用了相同的附图标记。

可选地,上报子模块503包括分组子模块601和执行子模块602。分组子模块601,用于针对所述第一操作数据和所述第二操作数据,按照所对应感测部件的类型分组。执行子模块602,用于将分组后的数据,经由HAL203和Framework层202上报至应用层201。

综上所述,本实施例提供的装置,分组子模块601对移动终端发送的第一操作数据和VR设备产生的第二操作数据按照对应的感测部件进行分组,执行子模块602,将分组后的数据上传到应用层201,实现了数据的合理化处理。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成前文所述的方法。上述非临时性计算机可读存储介质可以是只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁带和光存储设备等。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。所属技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本文所披露的实施例中,应该理解到,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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