一种虚拟现实场景渲染方法、装置和头戴显示设备与流程

文档序号:13615958阅读:344来源:国知局
一种虚拟现实场景渲染方法、装置和头戴显示设备与流程

本发明涉及计算机技术领域,具体涉及一种虚拟现实场景渲染方法、装置和头戴显示设备。



背景技术:

随着虚拟现实(virtualreality,vr)技术的快速发展,用户对vr设备的沉浸感提出了更高的要求。vr设备在为用户呈现vr场景时,三维场景的渲染至关重要,只有低延迟、高画质的渲染才能保证用户体验。现有技术中必须对三维场景进行两次渲染才能为用户呈现三维场景的二维图像,导致资源消耗严重,而且在复杂场景下帧率很低,尤其在保证高画质渲染的前提下两次渲染很难保证低延迟,降低了用户体验。



技术实现要素:

本发明提供了一种虚拟现实场景渲染方法、装置和头戴显示设备,以解决现有技术中需要对虚拟现实场景进行两次渲染获取二维图像导致资源消耗严重以及复杂场景下帧率低、延迟较长和用户体验低问题。

根据本发明的一个方面,提供了一种虚拟现实场景渲染方法,所述方法包括:

获取头戴显示设备待渲染的三维物体的图像;

根据所述图像确定所述三维物体所有像素点在所述图像上的位置信息,,以及根据所述图像确定所述三维物体所有像素点的颜色信息与所述位置信息的映射表;

根据所述头戴显示设备左右透镜间的距离、所述程序开发引擎相机的视场角以及所述位置信息,确定所述三维物体所有像素点相对于所述左右透镜的位置信息;

根据所述映射表分别为所述三维物体所有像素点相对于所述左右透镜的位置信息加载颜色信息,完成所述三维物体的渲染,生成所述三维物体相对于左右眼的二维图像。

根据本发明的另一个方面,提供了一种虚拟现实场景渲染装置,所述装置包括:

图像获取单元,用于获取头戴显示设备待渲染的三维物体的图像;

距离信息获取单元,用于根据所述图像确定所述三维物体所有像素点在所述图像上的位置信息;

映射表获取单元,用于根据所述图像确定所述三维物体所有像素点的颜色信息与所述位置信息的映射表;

像素点位置信息获取单元,用于根据所述头戴显示设备左右透镜间的距离、所述程序开发引擎相机的视场角以及所述位置信息,确定所述三维物体所有像素点相对于所述左右透镜的位置信息;

渲染单元,用于根据所述映射表分别为所述三维物体所有像素点相对于所述左右透镜的位置信息加载颜色信息,完成所述三维物体的渲染,生成所述三维物体相对于左右眼的二维图像。

根据本发明的另一个方面,提供了另一种虚拟现实场景渲染装置,所述装置包括存储器和处理器,所述存储器存储有能够被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时能够实现上述的方法步骤。

根据本发明的再一个方面,提供了一种头戴显示设备,所述头戴显示设备包括上述的虚拟现实场景渲染装置。

本发明的有益效果是:本发明的技术方案通过获取头戴显示设备待渲染的三维物体的图像;根据图像确定三维物体所有像素点在图像上的位置信息,以及根据图像确定三维物体所有像素点的颜色信息与位置信息的映射表;根据头戴显示设备左右透镜间的距离、程序开发引擎相机的视场角以及三维物体所有像素点在图像上的位置信息,确定三维物体所有像素点相对于左右透镜的位置信息;根据映射表分别为三维物体所有像素点相对于左右透镜的位置信息加载颜色信息,完成三维物体的渲染,生成三维物体相对于左右眼的二维图像,实现通过一次渲染即可将三维场景渲染成二维图像,从而与现有技术中需要对虚拟现实场景进行两次渲染获取二维图像相比,简化了虚拟现实场景的渲染过程,实现对复杂的虚拟现实场景进行渲染时,在保证高画质的前提下,减少了资源消耗,缩短了延迟时间,提升了帧率,进而提升了用户体验。

附图说明

图1是本发明一个实施例的一种虚拟现实场景渲染方法的流程图;

图2是本发明一个实施例的一种虚拟现实场景渲染的原理示意图;

图3是本发明一个实施例的一种虚拟现实场景渲染装置的结构示意图;

图4是本发明一个实施例的另一种虚拟现实场景渲染装置的结构示意图;

图5是本发明一个实施例的一种头戴显示设备的示意图。

具体实施方式

本发明的设计构思是:针对现有技术中需要对虚拟现实场景进行两次渲染获取二维图像导致资源消耗严重以及复杂场景下帧率低、延迟较长和用户体验低问题,发明人想到,获取头戴显示设备待渲染的三维物体的图像;根据图像确定三维物体所有像素点在图像上的位置信息以及三维物体所有像素点的颜色信息与位置信息的映射表;根据头戴显示设备左右透镜间的距离、程序开发引擎相机的视场角以及三维物体所有像素点在图像上的位置信息,确定三维物体所有像素点相对于左右透镜的位置信息;根据映射表分别为三维物体所有像素点相对于左右透镜的位置信息加载颜色信息,完成三维物体的渲染,生成三维物体相对于左右眼的二维图像,简化了虚拟现实场景的渲染过程,实现对复杂的虚拟现实场景进行渲染时,在保证高画质的前提下,减少了资源消耗,缩短了延迟时间,提升了帧率,进而提升了用户体验。

实施例一

图1是本发明一个实施例的一种虚拟现实场景渲染方法的流程图,如图1所示,

在步骤s110中,获取头戴显示设备待渲染的三维物体的图像;

在步骤s120中,根据所述图像确定所述三维物体所有像素点在所述图像上的位置信息,以及根据所述图像确定所述三维物体所有像素点的颜色信息与所述位置信息的映射表;

在步骤s130中,根据所述头戴显示设备左右透镜间的距离、所述程序开发引擎相机的视场角以及所述位置信息,确定所述三维物体所有像素点相对于所述左右透镜的位置信息;

在步骤s140中,根据所述映射表分别为所述三维物体所有像素点相对于所述左右透镜的位置信息加载颜色信息,完成所述三维物体的渲染,生成所述三维物体相对于左右眼的二维图像。

通过图1所示的方法,可知,本发明的技术方案通过获取头戴显示设备待渲染的三维物体的图像;根据图像确定三维物体所有像素点在图像上的位置信息,以及根据图像确定三维物体所有像素点的颜色信息与位置信息的映射表;根据头戴显示设备左右透镜间的距离、程序开发引擎相机的视场角以及三维物体所有像素点在图像上的位置信息,确定三维物体所有像素点相对于左右透镜的位置信息;根据映射表分别为三维物体所有像素点相对于左右透镜的位置信息加载颜色信息,完成三维物体的渲染,生成三维物体相对于左右眼的二维图像,实现通过一次渲染即可将三维场景渲染成二维图像,从而与现有技术中需要对虚拟现实场景进行两次渲染获取二维图像相比,简化了虚拟现实场景的渲染过程,实现对复杂的虚拟现实场景进行渲染时,在保证高画质的前提下,减少了资源消耗,缩短了延迟时间,提升了帧率,进而提升了用户体验。

在本发明的一个实施例中,所述头戴显示设备左右透镜间的距离由用户瞳距确定。需要说明的是,由于每个人的瞳距不同,在佩戴头戴显示设备时,用户需要根据自己的瞳距对头戴显示设备的透镜距离进行调整,在调整的过程中,头戴显示设备会记录当前用户的瞳距(即左右透镜间的距离)。

图2是本发明一个实施例的一种虚拟现实场景渲染的原理示意图,如图2所示,∠acb为程序开发引擎相机的视场角θ,a为左透镜(相当于左相机),b为右透镜(相当于右相机),ab为用户瞳距dx,m为虚拟现实场景中的三维物体所在的位置,c为程序开发引擎相机(例如,unity3d相机)所在的位置,程序开发引擎相机(例如,unity3d相机)拍摄三维物体,获取到包含三维物体的图像后,根据该三维物体的图像确定出该三维物体所有像素点在图像上的位置信息即mc(例如,(xmc,ymc)),ma为三维物体所有像素点相对于左透镜的位置信息(例如,(xma,yma)),mb为三维物体所有像素点相对于右透镜的位置信息(例如,(xmb,ymb))。

根据公式计算三维物体所有像素点相对于所述左透镜的位置信息,其中,为左透镜到右透镜的矢量距离;

根据公式计算所述三维物体所有像素点相对于所述右透镜的位置信息,其中,为右透镜到左透镜的矢量距离;

也就是说,根据ma=f(θ,-dx/2,x)计算三维物体所有像素点相对于所有左透镜的位置信息;

根据公式mb=f(θ,dx/2,x)计算三维物体所有像素点相对于所述右透镜的位置信息;

其中,θ为∠acb,即已知的视场角fov,dx为左右眼瞳距的位置参数,例如,假设瞳距为0.062,对于左眼dx=-0.031,对于右眼dx=0.031,x为该三维物体所有像素点在图像上的位置信息,即mc(例如,(xmc,ymc))。

需要说明的是,左透镜(相当于是左相机)、右透镜(相当于是右相机)和程序开发引擎相机的视场角、近切面和远切面相同,在视场角fov、瞳距ab和三维物体所有像素点在图像上的位置信息mc已知的情况下,即可计算三维物体所有像素点相对于左透镜的位置信息ma和三维物体所有像素点相对于右透镜的位置信息mb。

实施例二

图3是本发明一个实施例的一种虚拟现实场景渲染装置的结构示意图,如图3所示,虚拟现实场景渲染装置300包括:

图像获取单元310,用于获取头戴显示设备待渲染的三维物体的图像;

距离信息获取单元320,用于根据所述图像确定所述三维物体所有像素点在所述图像上的位置信息;

映射表获取单元330,用于根据所述图像确定所述三维物体所有像素点的颜色信息与所述位置信息的映射表;

像素点位置信息获取单元340,用于根据所述头戴显示设备左右透镜间的距离、所述程序开发引擎相机的视场角以及所述位置信息,确定所述三维物体所有像素点相对于所述左右透镜的位置信息;

渲染单元350,用于根据所述映射表分别为所述三维物体所有像素点相对于所述左右透镜的位置信息加载颜色信息,完成所述三维物体的渲染,生成所述三维物体相对于左右眼的二维图像。

在本发明的一个实施例中,装置300还包括透镜距离获取单元360,用于所述头戴显示设备左右透镜间的距离由用户瞳距确定。

在本发明的一个实施例中,所述像素点位置信息获取单元340,具体用于根据所述头戴显示设备左右透镜间的距离确定所述左右透镜的矢量距离;根据所述程序开发引擎相机的视场角、所述左右透镜的矢量距离的一半以及所述三维物体所有像素点在所述图像上的位置信息,确定所述三维物体所有像素点相对于所述左右透镜的位置信息。

在本发明的一个实施例中,根据公式ma=f(θ,-dx/2,x)计算三维物体所有像素点相对于所述左透镜的位置信息;

根据公式mb=f(θ,dx/2,x)计算三维物体所有像素点相对于所述右透镜的位置信息;

其中,θ为所述程序开发引擎相机的视场角,dx为头戴显示设备左右透镜间的距离,x为所述三维物体所有像素点在所述图像上的位置信息。

需要说明的是,图3所示的虚拟现实场景渲染装置的工作过程与图1所示的虚拟现实场景渲染方法的各实施例的实现步骤对应相同,相同的部分不再赘述。

实施例三

图4是本发明一个实施例的另一种虚拟现实场景渲染装置的结构示意图,如图4所示,所述装置400包括存储器420和处理器410,所述存储器420存储有能够被所述处理器410执行的计算机程序,所述计算机程序被所述处理器410执行时能够实现如图1所示的方法步骤。其中,存储器420和处理器410之间通过内部总线430通讯连接。

在不同的实施例中,存储器420可以是内存或者非易失性存储器。其中非易失性存储器可以是:存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。内存可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存。进一步,非易失性存储器和内存作为机器可读存储介质,其上可存储由处理器410执行的虚拟现实场景渲染的计算机程序。

需要说明的是,本实施例中请求保护的虚拟现实场景渲染装置400的工作过程与图1所示的方法的各实施例的实现步骤对应相同,相同的部分不再赘述。

实施例四

图5是本发明一个实施例的一种头戴显示设备的示意图,如图5所示,所述头戴显示设备500包括如图3所示的的虚拟现实场景渲染装置300或者如图4所示的的虚拟现实场景渲染装置400。

综上所述,本发明的技术方案通过获取头戴显示设备待渲染的三维物体的图像;根据图像确定三维物体所有像素点在图像上的位置信息,以及根据图像确定三维物体所有像素点的颜色信息与位置信息的映射表;根据头戴显示设备左右透镜间的距离、程序开发引擎相机的视场角以及三维物体所有像素点在图像上的位置信息,确定三维物体所有像素点相对于左右透镜的位置信息;根据映射表分别为三维物体所有像素点相对于左右透镜的位置信息加载颜色信息,完成三维物体的渲染,生成三维物体相对于左右眼的二维图像,实现通过一次渲染即可将三维场景渲染成二维图像,从而与现有技术中需要对虚拟现实场景进行两次渲染获取二维图像相比,简化了虚拟现实场景的渲染过程,实现对复杂的虚拟现实场景进行渲染时,在保证高画质的前提下,减少了资源消耗,缩短了延迟时间,提升了帧率,进而提升了用户体验。

以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围以权利要求的保护范围为准。

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