一种利用手机设备传感器进行全景定位和朝向的方法与流程

文档序号:16398793发布日期:2018-12-25 20:00阅读:1381来源:国知局
一种利用手机设备传感器进行全景定位和朝向的方法与流程

本发明涉及了一种全景定位的方法,尤其是涉及了一种利用手机设备传感器进行全景定位和朝向的方法。



背景技术:

随着虚拟现实产业的发展,移动端的VR体验需求越来越大,例如VR游戏、全景视频功能等。2015年是国内智能手机领域最火热的一年,各大国产手机厂商相继推出了众多优秀的产品,而这些产品都有一个共同的特点:搭载Android智能系统。

根据一般市场调查,智能系统在所有移动端OS中占比最高,从2015年度智能手机尺寸的关注比例可以看出,5寸-5.5寸手机的关注比例最高,这也是市面上移动版VR眼镜适配效果最好的尺寸范围。市面上智能手机的主流分辨率为1080P,部分手机已达到了2K,这也为移动端的全景视频观感提供了保证。体验过全景视频的人一定知道,视频的每一帧经过渲染、显示在手机屏幕上大约只有原本画面的三分之一(120度FOV),这就对视频源本身以及手机屏幕的要求非常高。

目前在手机上全景视频播放器所遇到的主要技术问题是漂移、上下颠倒和实时同步朝向,如何利用设备已有的传感器,参照现实世界精确、平滑地定位头部朝向便是本发明需要解决的问题。



技术实现要素:

为了解决背景技术中存在的问题,本发明的目的在于提供一种利用手机设备传感器进行全景定位和朝向的方法,解决了手机陀螺仪漂移的问题,用于虚拟现实场景的呈现,并利用OPENGL_ES开源库实现全景视频、全景图片的渲染开发工作。

本发明为实现上述功能,采用的技术方案是:

在手机系统中,通过手机内置的陀螺仪采集获得手机本体相对于本身初始位置在设备坐标系三轴上的旋转角度,通过手机内置的方向传感器采集获得手机本体在世界坐标系中的方位数据,将旋转角度和方位数据融合以进行矫正;矫正后将解码之后的帧数据生成纹理并渲染呈现至VR球模型的内表面,将相机模型置于球模型的球心,相机模型作为人眼球,VR球模型的内表面作为显示屏幕,根据移动设备的方位同步改变相机朝向。

所述的数据融合采用加权滤波器(Weighting Filter),将方向传感器获取的方位数据设置方位权重值λ=0.02,设置陀螺仪的旋转角度数据的角度权重值为(1-λ)=0.98,具体采用以下公式融合:

f=λ×a+(1-λ)×g

当所述陀螺仪的旋转角度数据g与方向传感器的方位数据a正负不一致时,虚拟VR世界会上下颠倒,这与现实世界是矛盾的,所以需要将其中为负的数据进行反转处理,并且使取值范围始终落在(-π,π)间,采用以下方式:

当方位数据a和旋转角度数据g的取值正负一致时,不进行反转处理;

当旋转角度数据g<-π/2并且方位数据a>0.0时,将旋转角度数据g加上2π再进行加权融合,将加权融合后的视觉方位数据f与π比较,若视觉方位数据f>π,则将视觉方位数据f减2π,否则不做处理;

当旋转角度数据g>0.0并且方位数据a<-π/2时,将方位数据a加上2π再进行加权融合,将加权融合后的视觉方位数据f与π比较,若视觉方位数据f>π,则视觉方位数据f减2π,否则不做处理。

具体是采用以下公式:

第一种情况:当g<-π/2并且a>0.0时,则f=λ×a+(1-λ)×(g+2π)

第二种情况:当g>0.0并且a<-π/2时,则f=λ×(a+2π)+(1-λ)×g

若上面两种情况融合后的计算数据f>π时,则继续f=f-2π,否则不做处理

所述的方向传感器采用磁力计和加速度计。

所述的陀螺仪的回调频率和方位数据的刷新频率均大于显示屏幕每秒刷新的频率。

陀螺仪获取的数据是手机在设备坐标系的三个轴上的角速度,将其在时间上进行积分,便可获取手机在三个轴上旋转的角度。虽然陀螺仪获取的数据较为精细,但是随着时间的推移,所积累的误差会越来越大。因此,需要设备获取在世界坐标系(图2)中的方位数据用以矫正。

设置陀螺仪的回调频率可为每10ms(即100Hz)回调一次,数据的刷新频率必须要快于这个数值。

现有技术中手机均进行采用陀螺仪进行旋转定位和朝向,磁力计仅是用于对磁场单纯的检测使用,而本发明是有效利用磁力计的磁场信息,加入到定位和朝向的处理中来获得更准确的数据效果,实现有效定位。

本发明的有益效果是:

本发明方法解决手机陀螺仪漂移的问题,并进一步实现VRD全景播放时的全景定位和朝向。在手机系统中通过陀螺仪、磁力计、加速度计三种传感器辅 以加权滤波器能够平滑,精准地定位设备的朝向,从而很好的解决了全景播放定位和朝向问题。

附图说明

图1是本发明实施例的Android系统中设备坐标系示意图。

图2是本发明实施例Android系统中虚拟VR世界渲染在世界坐标系示意图。

图3是采用本发明方法与未采用本发明处理的数据采集结果对照示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细说明。

本发明的实施例如下:

在带有Android系统的手机中,利用OPENGL_ES开源库实现全景渲染播放。

在Android系统中,通过陀螺仪传感器计算出手机相对于初始位置在设备坐标系(图1)三个轴上的旋转角度。

陀螺仪获取的数据是手机在设备坐标系的三个轴上的角速度,将其在时间上进行积分,便可获取手机在三个轴上旋转的角度,再通过手机内置的磁力计和加速度计结合获取在世界坐标系(图2)中的方位数据用以矫正。

具体实施中的数据融合采用加权滤波器(Weighting Filter),将方向传感器获取的方位数据权重配置为0.02,即λ取0.02,而陀螺仪方向数据配置为0.98,这样便可达到视角过渡圆滑、消除误差的效果。

f=0.02×a+0.98×g

当陀螺仪数据与方向传感器数据正负不一致时,进行反转修正,使虚拟VR世界和真实世界表现一致,这里忽略其他情况。

设置陀螺仪的回调频率可为每10ms(即100Hz)回调一次,具体实施把定时器的执行间隔设置为10ms。因为Android设备屏幕每秒刷新频率普遍为60Hz,即两次刷新间隔大约为16.66ms。

实施例采用基于带有android5.1系统的手机,采用本发明方法实现的方位数据采集结果与未采用本发明处理的进行对照比较,如图3所示,按照方案中建议的10ms时钟采集,手机静止平放在桌面,在大概3.3秒内采集到330个数据。从图3中可以看出,融合前的数据为实线表示,有比较明显的噪声(数据有明显的振幅),存在明显漂的问题;融合后的数据为虚线表示,数据很平滑,波动小,基本上没有漂的问题。

最终通过手机内置的渲染模块解码帧数据并生成纹理,并渲染至球模型的 内面,将Camera置于球心,根据移动设备的方位改变同步Camera朝向,便可获得全景视频的沉浸式观感效果。

本发明经过软件实现的全景播放器很好地解决了陀螺仪漂移的问题。在Android系统中,通过陀螺仪、磁力计、加速度计三种传感器辅以加权滤波器能够平滑,精准地定位设备的朝向,从而可以很好的解决全景播放器中Camera的朝向问题。

由此可见,本发明相比同类型的其他全景播放器,既解决了手机陀螺仪漂移的问题,又解决虚拟VR世界上下颠倒旋转问题,并进一步实现VR全景播放时的全景定位和朝向与真实世界表现一致,能够平滑且精准地定位设备的朝向,获得全景视频的沉浸式观感效果,其技术效果显著突出。

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