一种应用于VR场景下的图像处理方法、装置及电子设备与流程

文档序号:17472780发布日期:2019-04-20 05:55阅读:162来源:国知局
一种应用于VR场景下的图像处理方法、装置及电子设备与流程

本发明涉及图像处理技术领域,尤其涉及一种应用于vr场景下的图像处理方法、装置及电子设备。



背景技术:

在vr(virtualreality,虚拟现实/灵境技术)场景渲染显示过程中,由于硬件的瓶颈,会出现画面帧率不一致,显示延时等问题。下面通过对常规的vr渲染流程进行介绍来说明现有的vr场景所存在的问题。

首先通过传感器采集用户头部信息并传送到中央处理器,中央处理器根据获取的用户头部信息计算当前时段用户头部的姿态,根据用户头部当前姿态渲染当前的虚拟场景,并生成相关图形处理器指令,传递到图形处理器执行。图形处理器执行相关渲染指令,并生成用来显示的目标图像。图形处理器和显示设备合作,在下一个垂直同步的起点,扫描图形处理器生成图像并显示到显示器。

上述渲染流程,是在图形处理器和中央处理器运算资源足够充裕的情况下发生的。这种情况下,显示器可以按照预期在每一个垂直同步的时间点获取一个最新的图像结果,并显示到屏幕上,此时用户能感知到一个比较舒适的vr画面,但是即使在这个比较理想的状态下,如果屏幕的刷新率比较低,还是会引起较大的显示延时。如当中央处理器开始渲染vr画面的时候,使用的用户姿态是第一时间点采集的,而显示器扫描并转换成用户可观看的画面的时间点是第二时间点。在第一时间点至第二时间点的期间内用户的姿态可能已经发生了比较大的变化。

下面再来看一个不理想的状态,当中央处理器和图像处理器渲染出现瓶颈的情况下,在显示器扫描最新图像并显示到屏幕上时会出现问题,由于中央处理器和图像处理器的运算过于复杂,在下一个垂直同步时间点到来的时候,并没有完成当前帧的渲染,屏幕不能显示最新的一帧画面,只能重复显示上一次的渲染结果,出现跳帧,这将导致两个问题同时存在,画面帧率不一致,画面显示存在较大的延时。

以上为现有的vr场景所存在的问题,用户在体验存在画面帧率不一致、显示延时问题的vr场景时,能明显感觉到画面存在抖动和重影的弊端,在长时间进行观看时,用户会出现眩晕,给用户带来不佳的观看体验。



技术实现要素:

本发明实施例提供一种应用于vr场景下的图像处理方法、装置及电子设备,以解决现有的vr场景由于硬件瓶颈所导致的画面帧率不一致显示延迟,影响用户观看体验的问题。

本发明实施例提供一种应用于vr场景下的图像处理方法,包括:

获取第一时刻用户的第一头部姿态信息,根据所述第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息;

根据所述第一头部姿态信息生成第一头部姿态矩阵,根据所述第一头部姿态矩阵,将所述第一图像信息进行缓存处理;

获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵;

根据所述第一头部姿态矩阵、所述第二头部姿态矩阵以及经过缓存处理的所述第一图像信息,生成在所述显示屏幕上显示的目标图像。

其中,所述获取第一时刻用户的第一头部姿态信息,根据所述第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息的步骤,包括:

根据地磁传感器、加速度传感器以及陀螺仪在第一时刻采集的用户头部姿态数据信息,融合出用户在第一时刻所对应的第一头部姿态信息;

根据所述第一头部姿态信息,确定所述虚拟摄像机所对应的拍摄方向;

获取所述虚拟摄像机在所对应的拍摄方向上所拍摄的第一图像信息。

其中,所述根据所述第一头部姿态信息生成第一头部姿态矩阵,根据所述第一头部姿态矩阵,将所述第一图像信息进行缓存处理的步骤,包括:

根据所述第一头部姿态信息计算所对应的第一头部姿态矩阵;

根据所述第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵,计算第一变换矩阵;

根据所述第一变换矩阵,将所述第一图像信息渲染至离屏纹理上进行缓存。

其中,所述根据所述第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵,计算第一变换矩阵的步骤,包括:

计算所述模型矩阵、所述视图矩阵、所述第一头部姿态矩阵以及所述投影矩阵的乘积,获取所述第一变换矩阵。

其中,所述根据所述第一变换矩阵,将所述第一图像信息渲染至离屏纹理上进行缓存的步骤,包括:

根据所述第一变换矩阵,对所述第一图像信息中的物体进行顶点坐标变换,生成所述第一图像信息所对应的像素点信息;根据所述第一图像信息所对应的像素点信息进行图像处理,将处理后的所述第一图像信息进行离屏缓存。

其中,所述获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵的步骤,包括:

在显示所述目标图像的时刻,根据地磁传感器、加速度传感器和陀螺仪采集的用户头部姿态数据信息,融合出用户当前的第二头部姿态信息;

根据所述第二头部姿态信息计算所对应的第二头部姿态矩阵。

其中,所述根据所述第一头部姿态矩阵、所述第二头部姿态矩阵以及经过缓存处理的所述第一图像信息,生成在所述显示屏幕上显示的目标图像的步骤,包括:

将根据所述第一头部姿态矩阵进行缓存处理的第一图像信息,映射至所述虚拟摄像机远截面上,获取映射图像信息;

根据所述第一头部姿态矩阵的逆矩阵、所述第二头部姿态矩阵以及投影矩阵,生成第二变换矩阵;

根据所述第二变换矩阵,对所述映射图像信息进行重投影计算,生成在所述显示屏幕上显示的所述目标图像。

其中,所述根据所述第一头部姿态矩阵的逆矩阵、所述第二头部姿态矩阵以及投影矩阵,生成第二变换矩阵的步骤,包括:

计算所述第一头部姿态矩阵的逆矩阵、所述第二头部姿态矩阵以及所述投影矩阵的乘积,获取所述第二变换矩阵。

本发明实施例还提供一种应用于vr场景下的图像处理装置,包括:

第一获取模块,用于获取第一时刻用户的第一头部姿态信息,根据所述第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息;

处理模块,用于根据所述第一头部姿态信息生成第一头部姿态矩阵,根据所述第一头部姿态矩阵,将所述第一图像信息进行缓存处理;

第二获取模块,用于获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵;

生成模块,用于根据所述第一头部姿态矩阵、所述第二头部姿态矩阵以及经过缓存处理的所述第一图像信息,生成在所述显示屏幕上显示的目标图像。

其中,所述第一获取模块包括:

第一融合子模块,用于根据地磁传感器、加速度传感器以及陀螺仪,在第一时刻采集的用户头部姿态数据信息,融合出用户在第一时刻所对应的第一头部姿态信息;

确定子模块,用于根据所述第一头部姿态信息,确定所述虚拟摄像机所对应的拍摄方向;

第一获取子模块,用于获取所述虚拟摄像机在所对应的拍摄方向上所拍摄的第一图像信息。

其中,所述处理模块包括:

第一计算子模块,用于根据所述第一头部姿态信息计算所对应的第一头部姿态矩阵;

第二计算子模块,用于根据所述第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵,计算第一变换矩阵;

缓存子模块,用于根据所述第一变换矩阵,将所述第一图像信息渲染至离屏纹理上进行缓存。

其中,所述第二计算子模块进一步用于:

计算所述模型矩阵、所述视图矩阵、所述第一头部姿态矩阵以及所述投影矩阵的乘积,获取所述第一变换矩阵。

其中,所述缓存子模块进一步用于:

根据所述第一变换矩阵,对所述第一图像信息中的物体进行顶点坐标变换,生成所述第一图像信息所对应的像素点信息;根据所述第一图像信息所对应的像素点信息进行图像处理,将处理后的所述第一图像信息进行离屏缓存。

其中,所述第二获取模块包括:

第二融合子模块,用于在显示所述目标图像的时刻,根据地磁传感器、加速度传感器和陀螺仪采集的用户头部姿态数据信息,融合出用户当前的第二头部姿态信息;

第三计算子模块,用于根据所述第二头部姿态信息计算所对应的第二头部姿态矩阵。

其中,所述生成模块包括:

第二获取子模块,用于将根据所述第一头部姿态矩阵进行缓存处理的第一图像信息,映射至所述虚拟摄像机远截面上,获取映射图像信息;

第一生成子模块,用于根据所述第一头部姿态矩阵的逆矩阵、所述第二头部姿态矩阵以及投影矩阵,生成第二变换矩阵;

第二生成子模块,用于根据所述第二变换矩阵,对所述映射图像信息进行重投影计算,生成在所述显示屏幕上显示的所述目标图像。

其中,所述第一生成子模块进一步用于:

计算所述第一头部姿态矩阵的逆矩阵、所述第二头部姿态矩阵以及所述投影矩阵的乘积,获取所述第二变换矩阵。

本发明实施例还提供一种计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行上述的方法。

本发明实施例还提供一种电子设备,所述电子设备包括一个或多个处理器,所述处理器被配置为执行如下方法:

获取第一时刻用户的第一头部姿态信息,根据所述第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息;

根据所述第一头部姿态信息生成第一头部姿态矩阵,根据所述第一头部姿态矩阵,将所述第一图像信息进行缓存处理;

获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵;

根据所述第一头部姿态矩阵、所述第二头部姿态矩阵以及经过缓存处理的所述第一图像信息,生成在所述显示屏幕上显示的目标图像。

本发明技术方案,通过在第一时刻获取第一头部姿态信息,根据第一头部姿态信息获取第一图像信息,利用第一头部姿态信息对应的第一头部姿态矩阵将第一图像信息进行缓存处理,并获取第二头部姿态矩阵,利用第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息生成目标图像,可以实现将vr渲染流程分解成两个同时运作的场景渲染线程和场景重投影线程,由场景渲染线程对第一图像信息进行场景渲染,场景重投影线程检查场景渲染结果,并使用用户当前最新的头部姿态进行计算,可以得到符合用户当前头部姿态的目标图像,同时可以保证画面帧率的一致性以及显示的及时性,解决画面抖动和重影的弊端,提高用户的观看体验。

附图说明

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1表示本发明实施例应用于vr场景下的图像处理方法示意图;

图2表示本发明实施例获取第一图像信息的方式示意图;

图3表示本发明实施例渲染第一图像信息的方法示意图;

图4表示本发明实施例获取第二头部姿态矩阵的方法示意图;

图5表示本发明实施例生成目标图像的方法示意图;

图6a表示本发明实施例应用于vr场景下的图像处理装置示意图之一;

图6b表示本发明实施例应用于vr场景下的图像处理装置示意图之二。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种应用于vr场景下的图像处理方法,如图1所示,包括:

步骤101、获取第一时刻用户的第一头部姿态信息,根据第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息。

本发明实施例应用于vr场景,具有vr功能的电子设备首先在对应的第一时刻(即采集时刻)获取用户所对应的第一头部姿态信息,在获取第一头部姿态信息之后,根据第一头部姿态信息确定虚拟摄像机的拍摄方向,然后根据确定的拍摄方向控制虚拟摄像机进行拍摄获取对应的第一图像信息。

步骤102、根据第一头部姿态信息生成第一头部姿态矩阵,根据第一头部姿态矩阵,将第一图像信息进行缓存处理。

在获取第一时刻所对应的第一头部姿态信息之后,根据所获取的第一头部姿态信息生成第一头部姿态矩阵,根据所生成的第一头部姿态矩阵对虚拟摄像机拍摄的第一图像信息进行缓存处理。

在本发明实施例中,将vr渲染流程分解成两个同时运作的场景渲染线程和场景重投影线程。场景渲染线程采集用户的第一头部姿态信息、根据第一头部姿态信息渲染第一图像信息。具体为根据第一头部姿态信息生成第一头部姿态矩阵,并根据第一头部姿态矩阵生成对应的第一次顶点变换的变换矩阵。场景渲染线程根据第一次顶点变换的变换矩阵渲染场景中的内容到离屏图像上,并传递离屏图像到场景重投影线程。

步骤103、获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵。

在生成第一头部姿态矩阵之后,可以获取用户的第二头部姿态信息所对应的第二头部姿态矩阵,用户的第二头部姿态信息为显示屏幕上显示目标图像的时刻所对应的用户头部姿态信息。由于在显示屏幕上显示目标图像的时刻与第一头部姿态信息的采集时刻间隔一定时长,在此期间用户的头部姿态可能会发生变化,因此需要获取在显示目标图像的时刻用户的第二头部姿态信息,进而获取第二头部姿态信息所对应的第二头部姿态矩阵。

步骤104、根据第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息,生成在显示屏幕上显示的目标图像。

在获取第一头部姿态矩阵以及第二头部姿态矩阵之后,可以根据第一头部姿态矩阵、第二头部姿态矩阵以及场景渲染线程所提交的经过缓存处理的第一图像信息,生成最终在显示屏幕上进行显示的、符合用户当前头部姿态的目标图像。

其中获取第二头部姿态矩阵,根据第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息生成目标图像,都是场景重投影线程所对应的操作。

本发明实施例的上述方案,通过将vr渲染流程分解成两个同时运作的场景渲染线程和场景重投影线程,由场景渲染线程对第一图像信息进行场景渲染,场景重投影线程在每个垂直同步周期的起点检查场景渲染结果,并使用用户当前最新的头部姿态进行计算,可以得到符合用户当前头部姿态的目标图像,同时可以保证画面帧率的一致性以及显示的及时性,解决画面抖动和重影的弊端,提高用户的观看体验。

在本发明实施例中,在获取第一时刻用户的第一头部姿态信息,根据第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息时,如图2所示,包括:

步骤201、根据地磁传感器、加速度传感器以及陀螺仪在第一时刻采集的用户头部姿态数据信息,融合出用户在第一时刻所对应的第一头部姿态信息。

步骤202、根据第一头部姿态信息,确定虚拟摄像机所对应的拍摄方向。

步骤203、获取虚拟摄像机在所对应的拍摄方向上所拍摄的第一图像信息。

在第一时刻可以使用地磁传感器、加速度传感器以及陀螺仪来获取用户头部姿态数据信息,并根据所获取的信息融合出用户在第一时刻所对应的第一头部姿态信息;其中用户头部姿态数据信息为第一时刻用户头部在三维空间内所对应的姿态信息。

在通过上述传感器获取用户的第一头部姿态信息之后,可以根据所获取到的第一头部姿态信息确定虚拟摄像机所对应的拍摄方向,然后基于所确定的拍摄方向控制虚拟摄像机进行拍摄,从而获取虚拟摄像机所拍摄的第一图像信息。

通过用户的第一头部姿态信息来确定虚拟摄像机的拍摄方向时,具体可以为基于用户的第一头部姿态信息确定用户在虚拟场景中的朝向,根据所确定的用户在虚拟场景中的朝向来确定虚拟摄像机的拍摄方向,保证通过虚拟摄像机所拍摄的信息与用户当前头部姿态相匹配。

在本发明实施例中,根据第一头部姿态信息生成第一头部姿态矩阵,根据第一头部姿态矩阵,将第一图像信息进行缓存处理的步骤,包括:

根据第一头部姿态信息计算所对应的第一头部姿态矩阵;根据第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵,计算第一变换矩阵;根据第一变换矩阵,将第一图像信息渲染至离屏纹理上进行缓存。

在场景渲染线程对虚拟摄像机所拍摄的第一图像信息进行离屏缓存处理时,需要首先根据所采集的用户的第一头部姿态信息进行计算来获取对应的第一头部姿态矩阵,在获取第一头部姿态矩阵之后,可以根据第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵进行计算得到第一变换矩阵,然后基于所得到的第一变换矩阵,将虚拟摄像机所拍摄的第一图像信息渲染至离屏纹理上进行缓存。其中模型矩阵、视图矩阵以及投影矩阵均为已知参数,在计算时可以直接进行调用。

其中,根据第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵,计算第一变换矩阵的步骤,包括:计算模型矩阵、视图矩阵、第一头部姿态矩阵以及投影矩阵的乘积,获取第一变换矩阵。

根据第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵,计算第一变换矩阵时,可采用如下公式进行计算:

r=mvht1p

其中,m表示模型矩阵,v表示视图矩阵,ht1表示第一头部姿态矩阵,p表示投影矩阵,r表示第一变换矩阵,也就是第一次顶点变换的变换矩阵。

模型矩阵将模型的顶点从局部坐标空间转换到世界坐标空间,视图矩阵将模型顶点从世界坐标空间转换到视图坐标空间,投影矩阵将模型在视图坐标空间的顶点规范化后投影到二维平面上。

在根据上述公式计算得到第一变换矩阵r之后,利用第一变换矩阵将第一图像信息渲染至离屏纹理上进行缓存。

上述过程,通过用户的第一头部姿态信息来确定对应的第一头部姿态矩阵,根据所确定的第一头部姿态矩阵计算第一变换矩阵,并利用第一变换矩阵实现将虚拟摄像机所拍摄的第一图像信息渲染至离屏纹理上进行缓存,可实现对第一图像信息的初步处理。

在本发明实施例中,根据第一变换矩阵,将第一图像信息渲染至离屏纹理上进行缓存的步骤,如图3所示,包括:

步骤301、根据第一变换矩阵,对第一图像信息中的物体进行顶点坐标变换,生成第一图像信息所对应的像素点信息。

步骤302、根据第一图像信息所对应的像素点信息进行图像处理,将处理后的第一图像信息进行离屏缓存。

在得到第一变换矩阵时,可以实现三维空间中的物体通过第一头部姿态信息投影到二维平面上,具体的处理过程为:根据第一变换矩阵对三维空间中的物体进行顶点变换,使得三维空间中的物体顶点投影到二维平面上,在进行坐标变换之后,可以对经过坐标变换后的第一图像信息进行图像处理,将处理后的第一图像信息进行离屏缓存,即可完成渲染过程。

在本发明实施例中,获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵的步骤,如图4所示,包括:

步骤401、在显示目标图像的时刻,根据地磁传感器、加速度传感器和陀螺仪采集的用户头部姿态数据信息,融合出用户当前的第二头部姿态信息。

步骤402、根据第二头部姿态信息计算所对应的第二头部姿态矩阵。

在获取第二头部姿态矩阵时,可以在显示目标图像的时刻,使用地磁传感器、加速度传感器以及陀螺仪来获取用户头部姿态数据信息,并根据所获取的信息融合出用户当前所对应的第二头部姿态信息,用户头部姿态数据信息为三维空间内所对应的姿态信息。

在获取第二头部姿态信息之后,可以根据第二头部姿态信息计算对应的第二头部姿态矩阵,其中根据第二头部姿态信息计算第二头部姿态矩阵的过程与根据第一头部姿态信息计算第一头部姿态矩阵的过程相同,均是采用现有技术,这里不再赘述。

需要说明的是,整个处理流程包括两个线程,场景渲染线程和场景重投影线程,在场景渲染线程中,生成离屏图像,该离屏图像使用第一头部姿态矩阵生成。在场景重投影线程中,重投影使用第二头部姿态矩阵重投影图像,并提交到屏幕显示,在这两个过程中,都存在对用户头部姿态计算的过程,场景渲染线程使用的头部姿态信息采集的时间点相对于显示的时间点有一定的滞后,需要场景重投影线程在重投影图像时重新采集最新时间点的头部姿态信息,对渲染时间点的图像做重投影修正,让用户能观看到更符合当前头部姿态的图像内容。

在本发明实施例中,根据第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息,生成在显示屏幕上显示的目标图像时,如图5所示,包括:

步骤501、将根据第一头部姿态矩阵进行缓存处理的第一图像信息,映射至虚拟摄像机远截面上,获取映射图像信息。

步骤502、根据第一头部姿态矩阵的逆矩阵、第二头部姿态矩阵以及投影矩阵,生成第二变换矩阵。

步骤503、根据第二变换矩阵,对映射图像信息进行重投影计算,生成在显示屏幕上显示的目标图像。

在获取第一头部姿态矩阵、预测得到第二头部姿态矩阵之后,可以根据第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息生成目标图像。其中生成目标图像的具体过程为:将离屏缓存处理的第一图像信息映射至虚拟摄像机远截面上,以获取映射图像信息,然后根据第一头部姿态矩阵生成对应的逆矩阵,根据第一头部姿态矩阵的逆矩阵、第二头部姿态矩阵以及投影矩阵,生成第二变换矩阵,最后根据所生成的第二变换矩阵对获取的映射图像信息进行重投影计算,生成目标图标。

上述过程对应于场景重投影线程的操作,场景重投影线程在每个垂直同步周期的起点,检查最新的场景渲染线程的结果,也就是可以在第二时刻获取经过离屏缓存处理的第一图像信息,将离屏缓存处理的第一图像信息映射至虚拟摄像机远截面上以获取映射图像信息,然后获取第二时刻对应的用户的第二头部姿态矩阵,根据用户当前的头部姿态对vr场景进行重投影计算。

其中,根据第一头部姿态矩阵的逆矩阵、第二头部姿态矩阵以及投影矩阵,生成第二变换矩阵的步骤,包括:计算第一头部姿态矩阵的逆矩阵、第二头部姿态矩阵以及投影矩阵的乘积,获取第二变换矩阵。

根据第一头部姿态矩阵的逆矩阵、第二头部姿态矩阵以及投影矩阵生成第二变换矩阵时,可采用如下公式进行计算:

其中,是第一头部姿态矩阵的逆矩阵,ht2是第二头部姿态矩阵,p是投影矩阵,r′表示第二变换矩阵,也就是第二次顶点变换的变换矩阵。

在根据上述公式计算得到第二变换矩阵r′之后,对虚拟摄像机远截面上的映射图像信息进行重投影计算,生成新的纹理图像,扫描重投影后的图像到显示屏幕上进行显示,以实现目标图像的显示。

以上为vr场景下图像处理方法的实施过程,下面以一种非理想的状态为例,针对异步重投影对vr延时的改善情况进行说明。

将vr渲染流程分解成两个同时运作的场景渲染线程和场景重投影线程,在运算资源不充足的情况下场景渲染线程不能完成当前帧的渲染。场景重投影线程获取在显示时刻用户的头部姿态,并使用用户头部姿态数据,对最近提交的vr图像进行重投影,这样可以近似的得到一张符合用户当前头部姿态的图像,改善用户的观看体验。

本发明实施例提供的应用于vr场景下的图像处理方法,通过在第一时刻获取第一头部姿态信息,根据第一头部姿态信息获取第一图像信息,利用第一头部姿态信息对应的第一头部姿态矩阵将第一图像信息进行缓存处理,并获取第二头部姿态矩阵,利用第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息生成目标图像,可以实现将vr渲染流程分解成两个同时运作的场景渲染线程和场景重投影线程,由场景渲染线程对第一图像信息进行场景渲染,场景重投影线程在每个垂直同步周期的起点检查场景渲染结果,并使用用户当前最新的头部姿态进行计算,可以得到符合用户当前头部姿态的目标图像,同时可以保证画面帧率的一致性以及显示的及时性,解决画面抖动和重影的弊端,提高用户的观看体验。

本发明实施例还提供一种应用于vr场景下的图像处理装置,如图6a所示,包括:

第一获取模块10,用于获取第一时刻用户的第一头部姿态信息,根据第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息;

处理模块20,用于根据第一头部姿态信息生成第一头部姿态矩阵,根据第一头部姿态矩阵,将第一图像信息进行缓存处理;

第二获取模块30,用于获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵;

生成模块40,用于根据第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息,生成在显示屏幕上显示的目标图像。

其中,如图6b所示,第一获取模块10包括:

第一融合子模块11,用于根据地磁传感器、加速度传感器以及陀螺仪在第一时刻采集的用户头部姿态数据信息,融合出用户在第一时刻所对应的第一头部姿态信息;

确定子模块12,用于根据第一头部姿态信息,确定虚拟摄像机所对应的拍摄方向;

第一获取子模块13,用于获取虚拟摄像机在所对应的拍摄方向上所拍摄的第一图像信息。

其中,处理模块20包括:

第一计算子模块21,用于根据第一头部姿态信息计算所对应的第一头部姿态矩阵;

第二计算子模块22,用于根据第一头部姿态矩阵、模型矩阵、视图矩阵以及投影矩阵,计算第一变换矩阵;

缓存子模块23,用于根据第一变换矩阵,将第一图像信息渲染至离屏纹理上进行缓存。

其中,第二计算子模块22进一步用于:

计算模型矩阵、视图矩阵、第一头部姿态矩阵以及投影矩阵的乘积,获取第一变换矩阵。

其中,缓存子模块23进一步用于:

根据第一变换矩阵,对第一图像信息中的物体进行顶点坐标变换,生成第一图像信息所对应的像素点信息;根据第一图像信息所对应的像素点信息进行图像处理,将处理后的第一图像信息进行离屏缓存。

其中,第二获取模块30包括:

第二融合子模块31,用于在显示目标图像的时刻,根据地磁传感器、加速度传感器和陀螺仪采集的用户头部姿态数据信息,融合出用户当前的第二头部姿态信息;

第三计算子模块32,用于根据第二头部姿态信息计算所对应的第二头部姿态矩阵。

其中,生成模块40包括:

第二获取子模块41,用于将根据第一头部姿态矩阵进行缓存处理的第一图像信息,映射至虚拟摄像机远截面上,获取映射图像信息;

第一生成子模块42,用于根据第一头部姿态矩阵的逆矩阵、第二头部姿态矩阵以及投影矩阵,生成第二变换矩阵;

第二生成子模块43,用于根据第二变换矩阵,对映射图像信息进行重投影计算,生成在显示屏幕上显示的目标图像。

其中,第一生成子模块42进一步用于:

计算第一头部姿态矩阵的逆矩阵、第二头部姿态矩阵以及投影矩阵的乘积,获取第二变换矩阵。

本发明实施例提供的应用于vr场景下的图像处理装置,通过在第一时刻获取第一头部姿态信息,根据第一头部姿态信息获取第一图像信息,利用第一头部姿态信息对应的第一头部姿态矩阵将第一图像信息进行缓存处理,并获取第二头部姿态矩阵,利用第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息生成目标图像,可以实现将vr渲染流程分解成两个同时运作的场景渲染线程和场景重投影线程,由场景渲染线程对第一图像信息进行场景渲染,场景重投影线程在每个垂直同步周期的起点检查场景渲染结果,并使用用户当前最新的头部姿态进行计算,可以得到符合用户当前头部姿态的目标图像,同时可以保证画面帧率的一致性以及显示的及时性,解决画面抖动和重影的弊端,提高用户的观看体验。

本发明实施例还提供一种计算机可读存储介质,用于存储计算机程序,计算机程序可被处理器执行上述应用于vr场景下的图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种电子设备,电子设备包括一个或多个处理器,处理器被配置为执行如下方法:

获取第一时刻用户的第一头部姿态信息,根据第一头部姿态信息采用虚拟摄像机拍摄获取对应的第一图像信息;

根据第一头部姿态信息生成第一头部姿态矩阵,根据第一头部姿态矩阵,将第一图像信息进行缓存处理;

获取在显示屏幕上显示目标图像的时刻用户的第二头部姿态信息所对应的第二头部姿态矩阵;

根据第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息,生成在显示屏幕上显示的目标图像。

其中,处理器还可执行上述应用于vr场景下的图像处理方法实施例的其他过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例,通过在第一时刻获取第一头部姿态信息,根据第一头部姿态信息获取第一图像信息,利用第一头部姿态信息对应的第一头部姿态矩阵将第一图像信息进行缓存处理,并获取第二头部姿态矩阵,利用第一头部姿态矩阵、第二头部姿态矩阵以及经过缓存处理的第一图像信息生成目标图像,可以实现将vr渲染流程分解成两个同时运作的场景渲染线程和场景重投影线程,由场景渲染线程对第一图像信息进行场景渲染,场景重投影线程在每个垂直同步周期的起点检查场景渲染结果,并使用用户当前最新的头部姿态进行计算,可以得到符合用户当前头部姿态的目标图像,同时可以保证画面帧率的一致性以及显示的及时性,解决画面抖动和重影的弊端,提高用户的观看体验。

以上的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

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