虚拟现实系统及其场景呈现方法与流程

文档序号:12122129阅读:250来源:国知局
虚拟现实系统及其场景呈现方法与流程

本发明涉及虚拟现实技术领域,尤其是涉及一种虚拟现实系统及其场景呈现方法。



背景技术:

虚拟现实(Virtual Reality,简称VR)是近年来出现的高新技术,也称灵境技术(我国著名科学家钱学森翻译)。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身临其境一般,可以及时、没有限制地观察三维空间内的事物。

非虚拟现实的应用,如传统射击游戏,内容显示的流程如图1A所示,包括视角变化110,CPU计算120,GPU渲染130以及屏幕显示140。这个流程所花的时间通常在几十到上百毫秒。在虚拟现实应用中,视角变化110由用户头显中的惯性传感器(IMU)姿态变化解算获得。如果采用上面的流程,头显中显示的场景会由几十到上百毫秒前用户头部姿态确定的视角决定,从而造成视场与用户预期看到的场景不符,即人耳前庭系统所感受到的运动状态和视觉系统不一致,使用户产生晕眩感。时间扭曲技术是解决这个问题的一个常用方案。

时间扭曲技术或重投影技术的原理是在以上流程中屏幕显示140前GPU渲染130末端添加一步获取当前视角并根据当前视角相对渲染视角的变化对渲染好的场景做一次投影变换,使用户看到的场景与用户当前头部姿态基本一致,显著缩短了从头部转动到头显中的显示内容反映视角变化之间的延迟。

但是,时间扭曲技术或重投影技术会引起新的问题。如图1B所示,直线框为第一时刻用户的第一视角显示范围1,虚线框为第二时刻用户的第二视角显示范围2(第一视角与第二视角的显示范围的大小差异仅为视觉差异),时间扭曲技术或重投影技术将第一视角渲染的场景按照第二视角进行重投影,造成渲染场景的缩小,在视场的边界由于场景信息的缺失产生黑色边界(简称黑边)。在使用有线头显的虚拟现实系统中,间隔时间较短,黑边问题并不显著。但是在第一时刻与第二时刻的时间间隔较长的系统中,或者使用无线头显,场景渲染装置与头显无线通信的系统中,头部快速转动时,黑边问题较为显著,如果不进行处理会影响用户体验。

因此,仍然需要一种新的虚拟现实场景呈现方案以解决上述问题。



技术实现要素:

本发明要解决的技术问题是提供一种虚拟现实系统及其场景呈现方法,以解决视场延迟带来的眩晕问题和采用时间扭曲技术或重投影技术等方案带来的黑色边界问题,给用户带来更好沉浸感,提升用户的使用体验。

根据本发明的一个方面,提供了一种虚拟现实系统,该虚拟现实系统可以包括:

视角确定装置,可以用于确定用户的视角;

图形处理器,可以用于响应于视角确定装置确定了第一时刻用户的第一视角,渲染要呈现给用户的对应于第一视角的第一虚拟场景图像,并且响应于视角确定装置确定了第一时刻之后的第二时刻用户的第二视角,可以对第一虚拟场景图像进行投影变换,以得到对应于第二视角的第二虚拟场景图像;以及

虚拟场景呈现装置,可以用于向用户呈现第二虚拟场景图像,

其中,第一虚拟场景图像的场景范围大于虚拟场景呈现装置向用户实际呈现的场景范围。

优选地,视角确定装置可以包括:姿态感测装置,用于感测用户头部姿态变化;数据计算装置,用于根据第一视角和从第一时刻到第二时刻所感测到的用户头部姿态变化,计算第二视角。

优选地,该虚拟现实系统还可以包括:内容计算装置,用于针对第一视角计算要呈现给用户的对应于第一视角的第一虚拟场景内容,图形处理器根据第一虚拟场景内容渲染第一虚拟场景图像。

在一个实施例中,第一虚拟场景图像的场景范围可以是基于第一时刻和第二时刻之间的时间间隔长度预先确定的。

在另一个实施例中,第一虚拟场景图像的场景范围可以是基于第一时刻和第二时刻之间的时间间隔长度和第一时刻之前的先前时刻到第一时刻所测得的用户视角变化量实时确定的。

根据本发明的另一方面,提供了一种虚拟现实场景呈现方法,该方法可以包括:

确定第一时刻用户的第一视角;

响应于确定了第一视角,渲染要呈现给用户的对应于第一视角的第一虚拟场景图像;

确定第一时刻之后的第二时刻用户的第二视角;

响应于确定了第二视角,对第一虚拟场景图像进行投影变换,以得到要呈现给用户的对应于第二视角的第二虚拟场景图像;以及

向用户呈现第二虚拟场景图像,

其中,第一虚拟场景图像的场景范围大于虚拟场景呈现装置向用户实际呈现的场景范围。

优选地,确定第二视角的步骤可以包括:

感测从第一时刻到第二时刻用户头部姿态变化;根据第一视角和用户头部姿态变化,计算第二视角。

优选地,该方法还可以包括:针对第一视角计算要呈现给用户的对应于第一视角的第一虚拟场景内容,其中,第一虚拟场景图像是根据第一虚拟场景内容渲染的。

在一个实施例中,第一虚拟场景图像的场景范围可以是基于第一时刻和第二时刻之间的时间间隔长度预先确定的。

在另一个实施例中,第一虚拟场景图像的场景范围可以是基于第一时刻和第二时刻之间的时间间隔长度和第一时刻之前的先前时刻到第一时刻所测得的用户视角变化量实时确定的。

根据本发明的虚拟现实系统及其场景呈现方法,可以解决视场延迟带来的眩晕问题和时间扭曲等解决方案带来的黑色边界问题,给用户带来更好的沉浸感,提升用户的使用体验。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1A为现有的非虚拟现实的应用内容显示流程。

图1B为现有的虚拟现实场景呈现结果示意图。

图2示出了根据本发明一个实施例的虚拟现实场景呈现方法示意性流程图。

图3示出了根据本发明一个实施例的确定第二视角的步骤的示意性流程图。

图4A示出了根据本发明一个实施例的虚拟现实系统的示意性框图。

图4B示出了根据本发明一个实施例的虚拟现实场景呈现的结果示意图。

图5示出了根据本发明一个实施例的视角确定装置的示意性框图。

图6示出了根据本发明另一个实施例的虚拟现实系统的示意性框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

如前所述,现有的时间扭曲技术或重投影技术会造成用户观看到的视场边界信息部分缺失,形成黑色边界,使用户不能很好地沉浸于虚拟现实环境中,影响用户的使用体验。针对这种现象,发明人经过深入研究后发现,如果增大用户在第一时刻的第一视角所对应的虚拟场景图像的场景范围,将场景范围增大后的虚拟场景图像根据用户在第二时刻的第二视角进行重投影时,得到的虚拟场景图像可以完整地覆盖第二视角所对应的场景范围,不会出现视场边界信息的缺失,即可以解决黑边问题。

基于这种思路,本发明提出了一种新的虚拟现实系统及场景呈现方法。在对本发明进行详细描述之前,首先就本发明的虚拟现实场景呈现方法可以适用的工作场景进行简要说明。

在本发明的上下文中,视角可以是指人眼视线方向在虚拟空间中的方位角。虚拟空间中的视角可以随人头部在现实空间中姿态的变化而变化。优选地,虚拟空间中的视角的变化与人头部在现实空间中姿态的变化同速且同方向。本发明的虚拟现实场景呈现方法可以应用于虚拟现实系统,虚拟现实系统可以为用户提供虚拟场景图像。例如,可以由虚拟现实显示系统中的处理器(例如可以是PC端、主机等)模拟出虚拟的三维场景,用户可以佩戴头部显示装置(简称头显)或者虚拟现实眼镜等设备观看虚拟场景图像。具体地,可以在设备上距用户的左右眼部位正前方预定距离处设有小型显示屏幕(例如LCD显示器件等,呈圆形、矩形或者不规则形状等),用户可以通过左右眼显示屏幕观看到虚拟场景图像。

用户佩戴的头显或虚拟现实眼镜等设备上还可以安装有可以确定用户的视角的相关装置。其中,这些相关装置可以包括感测用户头部姿态变化的装置,其可以在用户使用头显或虚拟现实眼镜的过程中感测头部的转动、移动等运动及其姿态变化,并对各项运动进行解算,得到相关的运动参数(例如运动的速度、角度等),根据得到的运动参数就可以确定用户的视角。

另外,相关装置还可以包括监测用户头部位置、高度、朝向等的装置,例如可以是用户头显或虚拟现实眼镜上设有的定位光束接收器。此时,用户在佩戴头显或虚拟现实眼镜等设备所在的空间中可以设有定位系统,该定位系统可以与用户佩戴的头显或虚拟现实眼镜上的相关装置(例如多个定位光束接收器)进行定位通信,确定用户在此空间中的具体位置、高度、朝向等数据,然后可以由其它装置(例如,PC端、主机等)将上述数据转换为用户头部在虚拟现实空间中的相关位置、高度、朝向等(例如可以是相关的坐标值等)数据。由此,也可以得到用户的视角。

另外,相关装置还可以包括对用户视角进行计算的装置,例如该装置可以根据用户前一时刻的视角及用户头部的姿态变化,对下一时刻用户的视角进行计算,确定用户在下一时刻的视角。应当明白,确定用户视角的相关装置可以包括但不限于上述提及的装置。

图2示出了根据本发明一个实施例的虚拟现实场景呈现方法的示意性流程图。

如图2所示,在步骤S210中,确定第一时刻用户的第一视角。

第一时刻用户的第一视角的确定可以有多种方式。

例如,在第一时刻为初始时刻的情况下,可以将人为规定的某一方向的视角定义为第一视角。具体来说,例如,可以将用户佩戴头显或虚拟现实眼镜等设备时的第一个视角作为第一视角,即当用户佩戴好设备并进入虚拟现实环境的瞬间的视角为第一时刻的第一视角。

或者,可以根据第一时刻的先前时刻的视角及用户头部在先前时刻到第一时刻之间的姿态变化计算得到第一视角。

或者,可以基于通过定位或其它方式确定的用户头部在第一时刻在现实空间中的位置和方向确定第一视角。

应当明白,用户第一视角的确定可以包括但不限于上述确定方式,本发明对第一视角的具体确定方式不做具体要求。

在步骤S220中,响应于确定了第一视角,渲染要呈现给用户的对应于第一视角的第一虚拟场景图像。

这里,所渲染的第一虚拟场景图像的场景范围可能并不仅限于虚拟场景呈现装置向用户实际呈现的场景范围,而是相比于向用户实际呈现的场景范围更大。这是因为,在采用时间扭曲技术或重投影技术中,要呈现给用户的第一虚拟场景图像会在第二时刻以第二视角呈现,而以第二视角对第一虚拟场景图像进行重投影会造成场景的缩小,这样会造成视场边界的信息部分缺失,引起黑边问题。因此第一虚拟场景图像的场景范围需要比用户第一视角对应的实际场景范围大。由此,可以针对第一视角计算要呈现给用户的对应于第一视角的第一虚拟场景内容,然后根据第一虚拟场景内容渲染场景范围较大的第一虚拟场景图像。

具体来说,在时间间隔较长或者用户运动幅度较大时,渲染的场景范围可以适当扩大,即渲染的第一虚拟场景图像的场景范围可以大于用户第一视角所能看到的场景范围,增大第一虚拟场景图像的场景范围可以解决在重投影过程中场景缩小而导致的黑边的问题。

相应地,在时间间隔较短或者用户运动幅度较小,即第二时刻相对于第一时刻视角变化较小时,向用户呈现的第二虚拟场景图像相较于第一虚拟场景图像变化较小,此时使用第一虚拟场景图像进行重投影后黑边问题不明显。在这种情况下,渲染的第一虚拟场景图像的场景范围也可以与向用户实际呈现的场景范围相同。

这里需要说明的是,为了实现渲染场景范围更大的第一虚拟场景图像,可以通过计算第一视角下用户所能看到的场景范围更大的场景内容,然后对该场景内容进行渲染,以得到对应于更大范围的场景内容的第一虚拟场景图像。

其中,对于第一虚拟场景图像的场景范围可以有多种确定方式。在一个实施例中,第一虚拟场景图像的场景范围可以是基于第一时刻和第二时刻之间的时间间隔长度预先确定的。这里,可以默认用户头部转动或运动的速度为其能够达到的最快速度,如此,根据第一时刻和第二时刻之间的时间间隔长度可以预先确定第一虚拟场景图像的场景范围。这样得到的第一虚拟场景图像的场景范围总是最大的,第一时刻与第二时刻之间的时间间隔更长时,也可以获得充足的场景范围。

在另一实施例中,第一虚拟场景图像的场景范围可以是基于第一时刻和第二时刻之间的时间间隔长度和第一时刻之前的先前时刻到第一时刻所测得的用户视角变化量实时确定的。这里,可以将用户在先前时刻到第一时刻用户的运动情况视为用户在第一时刻到第二时刻的运动情况,如此,根据第一时刻与第二时刻之间的时间间隔以及前述的运动情况,估算用户在第二时刻的第二视角,基于第二视角确定第一虚拟场景图像的场景范围,使得在按照第二视角对第一虚拟场景图像进行投影变换时尽量避免场景缩小引起的黑边问题。

此外,第一虚拟场景图像的场景范围还可以包括其它未述及的确定方式,在此不再赘述。

在确定了第一视角后,还可以针对第一视角计算要呈现给用户的对应于第一视角的第一虚拟场景内容。这里,第一虚拟场景图像就可以是根据计算得到的第一场景内容渲染得到的。如上文所述,这里可以计算第一视角下用户所能看到的场景范围更大的内容作为第一场景内容,也可以仅计算第一视角下用户所能看到的场景范围的内容作为第一场景内容。

在步骤S230中,确定第一时刻之后的第二时刻用户的第二视角。

第二时刻在第一时刻之后,并且两者的时间间隔可以较长(例如1s),也可以较短(例如5ms),两者的时间间隔可以是固定的,也可以是随机的,在此不做具体要求。

第二时刻可以是第一时刻之后向人眼呈现下一帧虚拟场景图像的时刻。

或者,在用户头部转动较快的情况下,第二时刻还可以是更长时间之后的时刻。换言之,不但紧接着第一时刻之后的下一时刻的虚拟场景图像可以按照本发明的方法来得到,而且,在头部转动较快的情况下,之后的若干个图像呈现时刻的虚拟场景图像也可以按照本发明的方法来得到。

这里,可以通过感测从第一时刻到第二时刻用户头部姿态变化,然后根据第一视角和用户头部姿态变化,计算第二视角(如图3所示,步骤S231及步骤S235)。另外,也可以通过定位装置来确定用户的第二视角,例如可以在检测到用户的视线到达某个方向或者位置视为用户到达第二视角。这里,第二视角的确定可以有多种确定方式,在此不做具体要求。

需要说明的是,第二视角可以在第二时刻确定,也可以在第一时刻和第二时刻之间确定。在一个优选实施例中,可以在第一时刻确定了第一视角,对第一虚拟场景内容进行渲染,同时,根据用户头部在第一时刻的视角和用户头部从第一时刻到第二时刻的姿态变化,计算确定用户头部在第二时刻的第二视角。

在步骤S240中,响应于确定了第二视角,对第一虚拟场景图像进行投影变换,以得到要呈现给用户的对应于第二视角的第二虚拟场景图像。

这里,投影变换是指按照第二视角的参数(例如位置坐标值、高度、方向数据等)对第一虚拟场景图像进行重新计算,以将第一虚拟场景图像按照第二视角显示。投影变换过程中不改变需要显示的第一虚拟场景图像的场景内容,仅改变场景内容各个像素的相关参数,例如,同比例改变虚拟场景中各个物体的相对大小、相对距离等。

其中,第二视角可以在第二时刻确定,也可以在第一时刻和第二时刻之间确定。

在一个实施例中,可以在第一时刻确定第一视角,对第一虚拟场景内容进行渲染,同时,计算确定用户头部在第二时刻的第二视角,渲染完成后对第一视角场景图像进行投影变换,在第二时刻予以显示。

在另一个实施例中,可以在第一时刻确定第一视角,对第一虚拟场景内容进行渲染,在第二时刻确定用户的第二视角,第二视角确定后对第一虚拟场景图像进行投影变换,并予以显示。投影变换所需的时间相对于渲染所需的时间较短,从第二视角的确定到第二虚拟场景图像的显示时间极短,用户的视角变化较小,期间造成的误差可以忽略不计。

在步骤S250中,向用户呈现第二虚拟场景图像。

在前面的重投影计算(步骤S240)和实际呈现之间会有一些短暂的延迟。这里,可以在重投影计算完成后由呈现装置呈现给用户计算后的第二虚拟场景图像。

至此,结合图2-3详述了关于本发明的虚拟现实场景呈现方法的流程及原理,通过上述描述可知,本发明的虚拟现实场景呈现方法可以解决视场延迟带来的眩晕问题和时间扭曲等解决方案带来的黑色边界问题,给用户带来更好的沉浸感,提升用户的使用体验。

此外,本发明的虚拟现实场景呈现方法可以实现为一种虚拟现实系统,下面重点就虚拟现实系统的结构进行详细说明,其中涉及的原理和细节可以参见上文方法中的相关描述。

图4A示出了根据本发明一个实施例的虚拟现实系统的结构的示意性框图。

如图4A所示,本发明的虚拟现实系统400可以包括视角确定装置410、图形处理器420和虚拟场景呈现装置430。

视角确定装置410用于确定用户的视角。

在本发明的上下文中,视角可以是指人眼视线方向在虚拟空间中的方位角。虚拟空间中的视角可以随人头部在现实空间中姿态的变化而变化。优选地,虚拟空间中的视角的变化与人头部在现实空间中姿态的变化同速且同方向。

视角确定装置410可以确定第一时刻用户的第一视角,也可以确定第二时刻用户的第二视角,或者用户在其它任意时刻的视角等。

这里,视角确定装置410可以佩戴在用户头部,例如可以是头部显示装置(简称头显)或者虚拟现实眼镜,视角确定装置可以安装在头显或虚拟现实眼镜内,例如可以在用户眼睛的正前方,便于用户可以通过视角确定装置,直观的捕获用户的视角及视角变化。

其中,视角确定装置410还可以确定用户视角的坐标值。例如,可以在虚拟空间中构建坐标系,虚拟空间中虚拟的三维环境中各个内容有其相应的的坐标,用户佩戴头显运动时,视角发生变化,相应的内容的坐标值也发生变化,头显可以记录坐标值的变化情况,根据坐标值确定视角的变化。

第一视角的确定可以有多种方式。在一个实施例中,第一视角可以是用户佩戴头显等设备时所对应的第一个视角为第一视角。在另一个实施例中,第一视角可以是用户佩戴头显等设备运动到某一方向时所确定的视角。在另一个优选实施例中,第一视角可以是头显等设备中安装的计算装置计算得到的。

第二时刻用户的第二视角的确定可以与第一视角的确定相同或不同,可以预先设定视角确定装置410的视角确定方式,也可以在实际使用时实时调节。

图形处理器420可以用于响应于视角确定装置确定了第一时刻用户的第一视角,渲染要呈现给用户的对应于第一视角的第一虚拟场景图像,并且响应于视角确定装置确定了第一时刻之后的第二时刻用户的第二视角,可以对第一虚拟场景图像进行投影变换,以得到对应于第二视角的第二虚拟场景图像。

这里,图形处理器420的功能可以包括但不限于场景内容的渲染、场景图像的投影变换。

投影变换是指按照第二视角以及用户的运动情况对第一虚拟场景图像执行投影计算并进行投影操作,使得第一虚拟场景图像能够以第二视角显示,以便于用户看到的场景与用户当前头部姿态基本一致,缩短从头部转动到头显中的显示内容反映视角变化之间的延迟。

视角确定装置410还可以确定第一时刻之后的第二时刻用户的第二视角,图形处理器420响应于第二视角,对第一虚拟场景图像进行投影变化,以得到对应于第二视角的第二虚拟场景图像。

这里,第二视角可以是计算得到的,或者规定的距离第一视角预定角度的视角。

其中,由于用户在运动过程中视角变化,相应的视角坐标值等参数也有一定的变化,虚拟现实系统需要对此进行计算,以便于渲染的显示在用户眼中的场景可以与其运动姿态变化基本一致。然而在每次场景渲染时所需要的时间较多,不能够在每次显示之前渲染完成。为此,本发明提出,在第二时刻显示第一时刻的虚拟场景图像。由于用户的运动,第二时刻相较于第一时刻用户的视角发生变化,因此,如果直接将对应于第一时刻第一视角的场景图像予以显示,呈现在用户眼中的第二虚拟场景图像失真较为严重,为此,可以在显示之前按照第二视角将第一虚拟场景图像做以投影变换,尽量减少图像显示时的失真。

虚拟场景呈现装置430,用于向用户呈现第二虚拟场景图像,

虚拟现实呈现装置430也可以是用户佩戴的头显或虚拟现实眼镜等设备,用于向用户呈现第二虚拟现实图像。其中,虚拟现实呈现装置430可以是显示器,用户佩戴时可以处于用户眼睛的正前方,可以距离用户的眼睛有一定的距离。该虚拟现实呈现装置430可以将需要显示场景图像缩小显示,例如,可以是凹透镜,并且具有一定的缩放比例,将第二虚拟场景图像按比例缩小,并呈现给用户,且图像呈现时不改变图像的清晰度等参数。

其中,虚拟场景呈现装置430向用户实际呈现的场景范围可以是固定尺寸的。第一虚拟场景图像的场景范围大于虚拟场景呈现装置向用户实际呈现的场景范围。

这里,由于图形处理器420在对第一虚拟场景图像进行投影变换时,导致得到的对应于第二视角的第二虚拟场景图像相较于第一虚拟场景图像缩小,在虚拟场景呈现装置中呈现第二虚拟场景图像时,视场边界的信息部分损失,形成黑色边界(简称黑边),影响用户的沉浸感。因此,可以在对对应于第一视角的第一虚拟场景内容进行渲染时,适当扩大渲染范围,使得第一虚拟场景图像的场景范围大于虚拟场景呈现装置向用户实际呈现的场景范围,解决投影变换时场景缩小的问题。

其中,第一虚拟场景图像的场景范围的确定可以有多种方式。在一个实施例中,第一虚拟场景图像的场景范围可以是基于第一时刻和第二时刻之间的时间间隔长度预先确定的。在一个实施例中,设定用户的头部其可以达到的最快的速度运动,在第一时刻用户的第一视角确定后,视角确定装置410可根据第一时刻与第二时刻之间的时间间隔确定视角变化,由此确定第一虚拟场景图像的场景范围。

以如图4B所示的实施例为例,以黑色实线框表示第一时刻用户的第一视角显示范围1,以窄黑色虚线表示第二时刻用户的第二视角显示范围2,以宽黑色虚线表示渲染的第一虚拟场景图像1'。从图中可以看出,渲染的第一虚拟场景图像1'相对于第一视角显示范围1可以是在长度方向和宽度方向以相同的幅度增大的,或者也可以以上文述及的其它方式确定第一虚拟场景图像的场景范围。按照第二视角显示范围2将第一虚拟场景图像进行投影变换,可以解决时间扭曲技术或重投影技术带来的视场边界缺失引起黑色边界的问题。

该虚拟现实系统400中的视角确定装置410、图形处理器420和虚拟现实场景呈现装置430相连,其连接方式可以是直接或间接、有线或无线的方式相连,具体的连接方式不做具体要求。

此外,视角确定装置410可以包括如图5所示的姿态感测装置411和数据计算装置412。

姿态感测装置411可以用于感测用户头部姿态变化。在一个优选实施例中,姿态感测装置可以是惯性传感器(IMU),用于实时感测用户头部运动(例如转动)的速度、角度等相关参数,并对其进行解算(例如可以解算得到用户运动的视角对应的场景内容在虚拟现实环境中对应的坐标值等),便于及时获得用户的运动情况。

数据计算装置412,可以用于根据第一视角和第一时刻到第二时刻所感测到的用户头部姿态变化,计算第二视角。第一视角可以是由视角确定装置410确定的,第一时刻到第二时刻用户头部姿态变化可以由姿态感测装置411确定,数据计算装置412可以分别与视角确定装置410和姿态感测装置411相连接,可以是有线连接也可以是无线连接,便于从视角确定装置410和姿态感测装置411处获得相应数据,以计算第二视角。

在一个实施例中,用户在第一时刻(例如50ms)时的第一视角及对应于第一时刻用户的运动情况(例如,运动的方向、速度等)确定,数据计算装置可以以此为基础,计算在第二时刻(例如100ms)时,用户预计达到的位置及其对应的视角,即计算得到第二视角。

另外,第二视角也可以是相对于第一视角预定角度的视角。第二视角的确定可以有多种方式,不限于上述实施例的相关描述。

此外,该虚拟现实系统400中还可以增加内容计算装置440(如图6所示),用于针对第一视角计算要呈现给用户的对应于第一视角的第一虚拟场景内容,图形处理器420可以根据第一虚拟场景内容渲染第一虚拟场景图像。这里,内容计算装置440针对用户的第一视角对需要呈现的场景内容进行计算,例如,可以计算虚拟现实场景中各个物体的位置、大小、相对距离等,还可以包括场景的颜色,为图形处理器420提供更为详细的渲染内容。

其中,呈现给用户的第一虚拟场景图像可以与用户第一视角所能看到的场景内容相同,内容计算装置可以针对第一视角计算与第一视角相匹配的第一虚拟场景图像,图形处理器420对此予以渲染。

另外,用户的头部运动可能导致第二视角相对于第一视角有变化,此时以第二视角显示的第一虚拟场景图像可能存在黑边问题,因此,内容计算装置440可以根据第一时刻和第二时刻之间的时间间隔预先确定需要向用户呈现的第一虚拟场景内容,图形处理器420对此予以渲染。在一个实施例中,假定用户的头部以其可以达到的最快速度转动,内容计算装置440可以根据第一时刻与第二时刻之间的时间间隔预先确定需要在第二时刻向用户呈现的场景内容,图形处理器420对场景内容进行渲染得到第一虚拟场景图像。或者内容计算装置440可以基于第一时刻和第二时刻之间的时间间隔长度和第一时刻之间的先前时刻到第一时刻所测得的用户视角变化量实时确定第一虚拟场景内容。在一个实施例中,虚拟现实场景以60帧/秒的帧率显示,则图形处理器420根据用户视角变化量对此60帧中每帧分别进行渲染,得到第一虚拟场景图像。

其中,该虚拟现实系统400中的视角确定装置410、图形处理器420、虚拟现实场景呈现装置430和内容计算装置440相连,其连接方式可以是直接或间接、有线或无线的方式相连,具体的连接方式不做具体要求。

上述图形处理器还可以执行本发明未述及的相关操作,在此不再赘述。

上文中已经参考附图详细描述了根据本发明的虚拟现实场景呈现方案。

此外,根据本发明的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

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

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

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