基于虚拟现实应用反畸变网格的空间点映射方法技术

技术编号:16757393 阅读:114 留言:0更新日期:2017-12-09 03:05
本发明专利技术公开了一种基于虚拟现实应用反畸变网格的空间点映射方法,其特征在于改变凝视白点的绘制时序,在异步时间扭曲线程中绘制凝视白点。本发明专利技术是基于异步时间扭曲(ATW)等追帧算法,在这个算法的基础上对凝视白点的绘制进行深度的优化,能够平滑的绘制凝视白点的同时,不会对现在主流的移动VR的解决方案增加计算量,也不需要修改现在ATW等追帧算法的工作流程。

Space point mapping method based on anti distortion grid based on virtual reality

The invention discloses a spatial point mapping method based on virtual reality application anti distortion grid, which is characterized by changing drawing timing of staring white dots and drawing staring white dots in asynchronous time warping threads. The invention is based on asynchronous time warping (ATW) after the frame algorithm, optimize the depth of draw white gaze based on this algorithm, can smooth rendering staring white at the same time, not the amount of calculation is now the mainstream mobile VR solution increases, and does not need to modify the ATW algorithm after now work flow.

【技术实现步骤摘要】
基于虚拟现实应用反畸变网格的空间点映射方法
本专利技术属于虚拟现实
,具体是一种基于虚拟现实应用反畸变网格的空间点映射方法。
技术介绍
虚拟现实技术综合利用计算机图形学、光电成像技术、传感技术、计算机仿真、人工智能等多种技术,并借助各种交互设备,旨在为用户提供一个逼真的、具有多重感知的虚拟世界。近年来,随着Facebook以20亿美金的价格收购Oculus,虚拟现实技术在全球开始广泛引人关注。目前的虚拟现实应用中通常需要用户通过一个中间视线凝视点来指示用户视线在三维场景中的相对关系,这个凝视点用来表示当前视线和场景的交互关系,比如选中界面控件等。这个凝视点我们称之为凝视白点。而另一方面为了防止用户眩晕,虚拟现实设备刷新率要求能稳定在60帧及以上,然而受到硬件性能和功耗的限制,应用的图形渲染刷新率往往很难稳定保持在一定的刷新率,这个指标通常需要60帧及以上。业界为了解决这个问题,提出了一种图形算法插帧的方案(例如Oculus的ATW技术,睿悦信息nibiru的DTR技术,Google提出的Scanlineracing技术等)来解决在系统刷新率不够时候的刷新率稳定问题。然而不管是哪种插帧方案,由于都是图像变化算法,当插帧数过多的时候,算法结果和真实状态的偏差,会导致凝视白点在头部旋转过程中明显抖动。如图1所示,给出了现有的渲染流程。现有技术中,由于VR的渲染是通常采用ATW技术,而凝视白点的绘制是发生在场景绘制的流程中,故这个绘制流程存在延时,导致人看到的凝视白点存在抖动的情况。
技术实现思路
本专利技术针对
技术介绍
中存在的问题,提出将凝视白点的绘制结合插帧算法进行深度优化,改变凝视白点在目前主流的插帧算法中的绘制顺序,解决凝视白点抖动问题。技术方案:一种基于虚拟现实应用反畸变网格的空间点映射方法,该方法改变凝视白点的绘制时序,在异步时间扭曲线程中绘制凝视白点。具体步骤为:S1、场景绘制;S2、获得渲染结果Colorbuffer;S3、根据硬件设备的参数进行追帧算法时间扭曲图形计算;S4、根据视线和场景的关系在一定的空间位置绘制凝视白点;S5、将结果输出到屏幕上。优选的,S4中绘制凝视白点的方法具体为:已知当前的MVP矩阵M1,凝视白点的世界坐标是P,根据当前的世界坐标P推算出景深,确定凝视白点在观察坐标系中坐标p_camera;凝视白点在规范化设备坐标系ndc中表示为:p1=mp*p式中,mp为当前P的投影矩阵projectionmatrix;根据反畸变算法,推算出p在屏幕上的UV坐标p_screen;在将图像输出到硬件屏幕上之前,将接近p_screen的屏幕像素值设置成为预定义的颜色;或者,在p_screen的位置绘制一个凝视白点的可视化的图像,这个凝视白点就完成。更优的,P在屏幕上的UV坐标p_screen的推导公式为:P_screen=P*(1+k1*r^2+k2*r^4)其中k1、k2是VR透镜的光学参数,r是p距离反畸变中心的距离。在最后的屏幕上确定接近凝视白点距离像素的方法是设定一个阈值dd,d为像素坐标p3到p_screen的距离,判断d和dd的大小关系:若d<dd,则认为像素坐标p3是接近p_screen的屏幕像素值,并设置为预定义的颜色;若d>dd,则不改变该像素坐标p3的颜色。本专利技术的有益效果本专利技术是基于异步时间扭曲(ATW)等追帧算法,在这个算法的基础上对凝视白点的绘制进行深度的优化,能够平滑的绘制凝视白点的同时,不会对现在主流的移动VR的解决方案增加计算量,也不需要修改现在ATW等追帧算法的工作流程。附图说明图1为现有技术凝视白点的渲染流程图图2为本专利技术凝视白点的渲染流程图图3为透视投影视锥的参数示意图图4为最终渲染结果示意图图5为反畸变算法获得的网格示意图具体实施方式下面结合实施例对本专利技术作进一步说明,但本专利技术的保护范围不限于此:结合图2。S1、场景绘制;S2、获得渲染结果Colorbuffer;S3、根据硬件设备的参数进行追帧算法时间扭曲图形计算;S4、根据视线和场景的关系在一定的空间位置绘制凝视白点;S5、将结果输出到屏幕上。本专利技术将绘制凝视白点放在ATW等追帧算法线程中,这个线程在VR绘制中通常是具有高优先级的,绘制不存在明显的延时,可以很好的解决抖动感。原理说明:在一个三维的VR场景中,凝视白点可以理解为当前视线和场景的交点的显示表现。在三维渲染场景中,可以认为这个凝视白点是三位空间中相机坐标系中的一个位置为(0,0,z)的空间点,z是景深,通常由视线与场景中的实体求交获得。由于主流的追帧算法,都可以获得一帧渲染的Framebuffer信息,这样在做追帧算法的时候在Framebuffer的Colorbuffer上绘制一个点的信息就比较简单。而通常在将获得的场景渲染结果绘制到屏幕上的过程中,会根据VR设备的光学透镜进行图像的反畸变,反畸变算法会将图像进行压缩,所以为了维持凝视白点和场景的相对位置关系,需要计算凝视白点在渲染的Colorbuffer中的UV坐标值。故具体实施时,首先通过对场景的管理,获得当前视线和场景的最近的交点,从而获得交点的景深信息,然后按照ATW等追帧算法绘制实际的场景到一个Framebuffer中,获得这个Framebuffer的Colorbuffer。然后根据交点的景深信息与绘制场景的透视投影矩阵,求解获得凝视白点在Colorbuffer中的位置信息,该信息使用UV坐标数值表示。透视投影矩阵推导如下:当前相机的位置为:p1(x1,y2,z2),相机的上方单位向量为:up(x2,y2,z2),相机的瞄向单位向量为aim(x3,y3,z3),记为mcamera,那么相机的变换矩阵可以表达为:各分量的计算方法如下:sx=fy*z2+fz*y2sy=fz*x2+fx*z2sz=fx*y2+fy*x2ux=sy*fz-sz*fyuy=sz*fx-sx*fzuz=sx*fy-sy*fx那么相机的变换矩阵中:m0=sxm1=uxm2=-fxm3=0m4=sym5=uym6=-fym7=0m8=szm9=uzm10=-fzm11=0m12=m0*x1+m4*y1+m8*z1m13=m1*x1+m5*y1+m9*z1m14=m2*x1+m6*y1+m10*z1m15=m3*x1+m7*y1+m11*z1透视投影视锥的参数表达为:left,right,bottom,top,near,far;如图3所示。那么透视投影矩阵可以表达为:记为mpro,各分量的计算方法如下:p0=2*near/(right-left)p1=0p2=0p3=0p4=0p5=2*near/(top-bottom)p6=0p7=0p8=(right+left)/(right-left)p9=(top+bottom)/(top-bottom)p10=(far+near)/(near-far)p11=-1p12=0p13=0p14=2*far*near*(near-far)p15=0凝视白点的UV坐标数值推导如下:假定视线射线和当前的场景存在一个交点(即为凝视白点),齐次坐标表达为p0(x0,y0,z0,w0);那么经过计算机图形学计算,在最后的标准化设备坐标(NDC)的坐标可以表达为:pndc本文档来自技高网...
基于虚拟现实应用反畸变网格的空间点映射方法

【技术保护点】
一种基于虚拟现实应用反畸变网格的空间点映射方法,其特征在于改变凝视白点的绘制时序,在异步时间扭曲线程中绘制凝视白点。

【技术特征摘要】
1.一种基于虚拟现实应用反畸变网格的空间点映射方法,其特征在于改变凝视白点的绘制时序,在异步时间扭曲线程中绘制凝视白点。2.根据权利要求1所述的空间点映射方法,其特征在于具体步骤为:S1、场景绘制;S2、获得渲染结果Colorbuffer;S3、根据硬件设备的参数进行追帧算法时间扭曲图形计算;S4、根据视线和场景的关系在一定的空间位置绘制凝视白点;S5、将结果输出到屏幕上。3.根据权利要求1或2所述的空间点映射方法,其特征在于S4中绘制凝视白点的方法具体为:已知当前的MVP矩阵M1,凝视白点的世界坐标是P;凝视白点在规范化设备坐标系ndc中表示为:p1=mp*p式中,mp为当前P的投影矩阵projectionmatrix;根据反畸变算法,推算出p在屏幕上的UV坐标p_screen;在将...

【专利技术属性】
技术研发人员:曹俊孙开权
申请(专利权)人:南京睿悦信息技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1