一种头戴显示设备及图像渲染方法与流程

文档序号:14859449发布日期:2018-07-04 06:10阅读:189来源:国知局
一种头戴显示设备及图像渲染方法与流程

本发明涉及可穿戴头戴显示设备领域,尤其涉及一种头戴显示设备及图像渲染方法。



背景技术:

vr(virtualreality;虚拟现实)显示或者ar(augmentedreality;增强现实)显示主要分为两个步骤:第一步是通过gpu(graphicsprocessingunit;图形处理器)进行离线的场景渲染,即通过gpu将需要显示的场景绘制到左右眼纹理上;第二步是将渲染后的纹理提交给gpu进行在线的纹理合成,同时进行反畸变处理和异步时间扭曲timewarp,最终合成显示在屏幕上。

一般来讲,上述两个步骤通过复用gpu实现,由于场景绘制属于比较繁琐的任务,而纹理合成又属于实时任务,因此,可以通过设置不同的优先级来区分这两个任务,给场景绘制任务正常的优先级,给纹理合成任务更高的优先级,从而保证在需要将左眼纹理数据和右眼纹理数据合成到屏幕时,可以使得gpu及时从场景绘制任务中切换到纹理合成任务,从而将左眼纹理数据和右眼纹理数据合成到屏幕缓存中进行显示。

然而,复用gpu通常会导致gpu负载过高,在一些对实时性要求比较高的场景下,需要gpu和显示控制器同时读写屏幕缓存中的数据,如果gpu纹理合成不及时,可能会出现gpu向屏幕缓存写入数据和显示控制器从屏幕缓存读取数据的时序出错,导致屏幕撕裂(即,显示器把两帧或更多帧显示在同一画面),可见,现有技术中需要一种新的渲染方式,以保证纹理合成任务的实时性。



技术实现要素:

本发明的目的是提供一种头戴显示设备及图像渲染方法,用于解决现有技术中存在的由于gpu纹理合成不及时导致屏幕撕裂的技术问题。

为了实现上述发明目的,本发明实施例第一方面提供一种头戴显示设备,包括:

图形处理器gpu,用于对待显示场景进行场景绘制,生成左眼纹理数据和右眼纹理数据;

硬件合成模块,用于根据所述左眼纹理数据和所述右眼纹理数据进行纹理合成,生成当前帧图像。

可选的,所述头戴显示设备还包括显示控制器;

所述显示控制器用于产生垂直同步vsync信号;

所述硬件合成模块用于读取所述vsync信号,并根据所述vsync信号进行纹理合成。

可选的,所述头戴显示设备还包括中央处理器cpu;

所述cpu用于向所述硬件合成模块发送左眼纹理编号和右眼纹理编号;

所述硬件合成模块用于根据所述左眼纹理编号和所述右眼纹理编号,获得所述左眼纹理数据和所述右眼纹理数据的缓存地址,并基于所述缓存地址,从所述头戴显示设备的纹理缓存中读取所述左眼纹理数据和所述右眼纹理数据。

可选的,所述头戴显示设备还包括传感器;

所述传感器用于在用户佩戴所述头戴显示设备时,检测用于表征用户的头部转动的方向信息;

所述硬件合成模块用于根据所述方向信息,对所述左眼纹理数据和所述右眼纹理数据进行方向校正,并根据校正后的左眼纹理数据和右眼纹理数据合成中间帧图像。

可选的,所述头戴显示设备还包括传感器;

所述传感器用于在用户佩戴所述头戴显示设备时,检测用于表征用户在空间中的位置的用户位置信息;

所述硬件合成模块用于根据所述用户位置信息和物体在所述当前帧图像中的图像位置信息,对所述物体在下一帧图像中的位置进行估计,生成中间帧图像。

可选的,所述硬件合成模块用于确定所述当前帧图像中的运动物体,以及所述运动物体在包括所述当前帧图像在内的相邻n帧图像中的运动轨迹,并根据所述运动轨迹对所述运动物体在下一帧图像中的位置进行估计,生成中间帧图像,n为大于等于2的正整数。

可选的,所述硬件合成模块还用于根据所述头戴显示设备的透镜信息对所述左眼纹理数据和所述右眼纹理数据进行畸变校正,并根据畸变校正后的左眼纹理数据和右眼纹理数据合成所述当前帧图像。

可选的,所述硬件合成模块为现场可编程门阵列fpga、专用集成电路asic或另一gpu。

本发明实施例第二方面提供一种图像渲染方法,包括:

头戴显示设备的图形处理器gpu对待显示场景进行场景绘制,生成左眼纹理数据和右眼纹理数据;

所述头戴显示设备的硬件合成模块根据所述左眼纹理数据和所述右眼纹理数据进行纹理合成,生成当前帧图像。

可选的,所述方法还包括:

所述硬件合成模块读取所述头戴显示设备的垂直同步vsync信号,并根据所述vsync信号进行纹理合成。

本发明实施例中的一个或者多个技术方案,至少具有如下技术效果或者优点:

本发明实施例的方案中,头戴显示设备包括gpu和硬件合成模块,gpu用于对待显示场景进行场景绘制,生成左眼纹理数据和右眼纹理数据,硬件合成模块用于对左眼纹理数据和右眼纹理数据进行纹理合成,生成当前帧图像,通过将场景绘制和纹理合成分配在不同的硬件模块上执行,由专用的硬件合成模块执行纹理合成任务,避免了场景绘制任务和纹理合成任务复用gpu,降低了gpu的负载,从而解决现有技术中存在的由于gpu纹理合成不及时导致屏幕撕裂的技术问题,保证纹理合成任务的实时性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:

图1为本发明实施例提供的头戴显示设备的功能模块示意图;

图2为本发明实施例提供的头戴显示设备的另一功能模块示意图;

图3为本发明实施例提供的图像渲染方法的流程示意图。

具体实施方式

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

本发明实施例中,头戴显示设备(英文全称:headmountdisplay;英文简称:hmd)通过向眼睛发送光学信号,可以实现vr、ar(augmentedreality;增强现实)、mr(mixreality;混合现实)等不同效果,例如:头戴显示设备可以为vr一体机、穿透式hmd等等。

请参考图1,图1为本发明实施例提供的头戴显示设备的功能模块示意图,该头戴显示设备包括:图形处理器gpu10,用于对待显示场景进行场景绘制,生成左眼纹理数据和右眼纹理数据;硬件合成模块11,用于根据所述左眼纹理数据和所述右眼纹理数据进行纹理合成,生成当前帧图像。

具体的,gpu10根据头戴显示设备的传感器检测到的最新的方向信息,绘制待显示场景,生成左眼纹理数据和右眼纹理数据,传感器可以为陀螺仪、加速度计和磁力计中的一种或多种,头戴显示设备通过融合三种传感器的数据来得出最终的方向信息,该方向信息用于表征用户头部的转动。然后,gpu10将绘制结果,即左眼纹理数据和右眼纹理数据输出到头戴显示设备的纹理缓存中,使得硬件合成模块11在需要进行纹理合成时,从纹理缓存中读取左眼纹理数据和右眼为纹理数据,进行纹理合成,生成当前帧图像,并将当前帧图像写入头戴显示设备的帧缓冲存储器中,然后,头戴显示设备的显示控制器从帧缓冲存储器中取出数据,并显示在屏幕上。

其中,硬件合成模块11可以为fpga(field-programmablegatearray;现场可编程门阵列),asic(applicationspecificintegratedcircuits;专用集成电路)或者另一gpu。帧缓冲存储器,又称帧缓存(framebuffer)、显存或屏幕缓存,它是屏幕所显示画面的一个直接映象,帧缓存的每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像,硬件合成模块11通过不停的向帧缓存中写入数据,显示控制器就自动的从帧缓存中取出数据并在屏幕上显示出来。

本发明实施例中,gpu10用于场景绘制,硬件合成模块11用于纹理合成,通过将场景绘制和纹理合成分配在不同的硬件模块上执行,由专用的硬件合成模块11执行纹理合成任务,避免了场景绘制任务和纹理合成任务复用gpu10,降低了gpu10的负载,从而解决现有技术中存在的由于gpu10纹理合成不及时导致屏幕撕裂的技术问题,保证纹理合成任务的实时性。

进一步,现有技术中gpu绘制一帧场景的过程中,由于gpu需要兼做纹理合成任务,由于纹理合成的优先级更高,会不时打断gpu当前的绘制任务,这样gpu就会频繁的切换任务,导致gpu的缓存使用率很低,降低了gpu的渲染效率,本发明实施例中,通过将场景绘制和纹理合成分配在不同的硬件模块上执行,可以减少任务切换带来的gpu10的缓存开销,提高gpu10的渲染效率。

本发明实施例中,如图2所示,头戴显示设备还包括显示控制器12,用于产生vsync(verticalsynchronization;垂直同步)信号,在整个屏幕完成一次刷新后,显示控制器12会产生vsync信号,vsync信号的作用是让gpu10的运算速度和屏幕刷新频率一致,以输出稳定的画面质量。gpu10在执行纹理合成任务时,需要进行vsync信号同步,具体的,在vsync信号产生后,cpu控制gpu10进行下一帧图像的渲染,如果cpu或gpu10的资源被占用,就可能会出现cpu或gpu10调度不及时,使得gpu10向帧缓存写入数据和显示控制器12从帧缓存读取数据的时序出错,进而引起显示撕裂问题。

而本发明实施例中,硬件合成模块11直接读取vsync信号,并根据vsync信号进行纹理合成,通过硬件合成模块11同步vsync信号进行纹理合成,可以使硬件合成模块11生成帧的速率与屏幕刷新频率一致,并且,gpu渲染管线一般包括应用程序处理阶段,几何形状处理阶段,光栅化处理阶段,而硬件合成模块11的渲染管线包括像素处理阶段,可见,硬件合成模块11采用更短的渲染管线,相比gpu10渲染一帧图像的时间,硬件合成模块11进行纹理合成的时间非常短,从而避免由于上述cpu或gpu10调度不及时,引起的屏幕显示撕裂问题,保证纹理合成的实时性。

本发明实施例中,头戴显示设备还包括中央处理器cpu13,cpu13在控制gpu10进行场景绘制后,可以向硬件合成模块11发送最新的左眼纹理编号(即纹理id)和右眼纹理编号,则硬件合成模块11在需要读取纹理数据时,根据所述左眼纹理编号和右眼纹理编号,获得左眼纹理数据和右眼纹理数据的缓存地址,并基于缓存地址,从头戴显示设备中的纹理缓存中读取所述左眼纹理数据和右眼纹理数据,然后将左眼纹理数据和右眼纹理数据合成当前帧图像,并写入帧缓存中。当获取到下一帧图像的纹理数据后,硬件合成模块11释放上一帧数据的纹理数据,并开始新的纹理合成。

本发明实施例中,硬件合成模块11还可以根据上一帧图像(即当前帧图像)的左眼纹理数据和右眼纹理数据,生成中间帧图像,使得头戴显示设备可以保持在较低帧率运行,也就是说,通过插入中间帧图像,在gpu10的渲染帧率较低,或者vr内容的帧率较低的情况下,头戴显示设备的渲染质量也不会有明显的下降,接下来,对以下几种生成中间帧图像的方式进行说明,在具体实施过程中,不限于以下几种实施方式。

一种可能的实施方式为,头戴显示设备还包括传感器14,传感器14可以为陀螺仪、加速度计和磁力计中的一种或多种,传感器14用于在用户佩戴头戴显示设备时,检测用于表征用户的头部转动的方向信息,然后,所述硬件合成模块11用于根据所述方向信息,对所述左眼纹理数据和所述右眼纹理数据进行方向校正,并根据校正后的左眼纹理数据和右眼纹理数据合成中间帧图像。

具体来讲,在使用头戴显示设备时,如果用户头部转动过快,而gpu10渲染一帧图像的时间太长,就会造场景渲染的延迟,也就是说,用户的头已经转过去了,但是相应的图像还没有渲染出来,或者渲染的是上一帧的图像,画面就会产生抖动。为了解决上述问题,本发明实施例中,所述硬件合成模块11用于根据所述方向信息,对上一帧图像(即当前帧图像)的左眼纹理数据和右眼纹理数据进行方向校正,并根据校正后的左眼纹理数据和右眼纹理数据合成中间帧图像,然后将中间帧图像显示出来,从而有效减少显示画面的抖动。其中,方向信息为传感器14检测的用户头部转动的方向信息。

由于相比gpu10渲染一帧图像的时间,硬件合成模块11生成中间帧图像的时间非常短,并且通过硬件合成模块11生成中间帧图像,不会抢占gpu10的资源,因此不会影响gpu10的场景绘制任务,并且,由于硬件合成模块11可以直接读取显示控制器12的vsync信号,并根据vsync信号进行纹理合成,因此,在gpu10的渲染帧率较低,或者vr内容的帧率较低的情况下,硬件合成模块11可以同步vsync信号进行纹理合成,使得硬件合成模块11的帧率与屏幕刷新频率一致,从而减少显示画面抖动。

另一种可能的实施方式为,传感器14还用于在用户佩戴头戴显示设备时,检测用于表征用户在空间中的位置的用户位置信息;然后,所述硬件合成模块11用于根据所述用户位置信息和物体在所述当前帧图像中的图像位置信息,对所述物体在下一帧图像中的位置进行估计,生成中间帧图像。

具体来讲,用户佩戴头戴显示设备在空间中移动时,头戴显示设备可以确定用户在空间中的位置,然后根据用户在空间中的位置渲染相应的场景。如果头戴显示设备的渲染速度跟不上用户的移动速度,就会导致显示画面不流畅。为了解决上述问题,本发明实施例中,所述硬件合成模块11用于根据传感器14检测到的用户位置信息和物体在所述当前帧图像中的图像位置信息,对所述物体在下一帧图像中的位置进行估计,生成中间帧图像,然后将中间帧图像显示出来,从而提升显示画面的流畅性。

由于相比gpu10渲染一帧图像的时间,硬件合成模块11生成中间帧图像的时间非常短,因此,通过硬件合成模块11根据用户的位置信息对下一帧图像中物体的位置进行估计,生成当前帧图像,并将当前帧图像显示出来,可以使得头戴显示设备的渲染速度与用户的移动速度匹配,从而提升显示画面的流畅性。

第三种可能的实施方式为,对于显示场景中运动的物体,所述硬件合成模块11还用于确定所述当前帧图像中运动物体,以及所述运动物体在包括所述当前帧图像在内的相邻n帧图像中的运动轨迹,并根据所述运动轨迹对所述运动物体在下一帧图像中的位置进行估计,生成中间帧图像,n为大于等于2的正整数。

其中,n的取值可以根据头戴显示设备的运算量进行设置,n的值越大,运算量越大,位置估计越准确。举例来讲:n的取值可以为2,假设当前帧图像中的运动物体为篮球,在当前帧图像和当前帧图像的前一帧图像中,篮球的运动轨迹为从下向上移,则硬件合成模块11会根据该运动轨迹对篮球在下一帧图像中的位置进行预测,从而确定篮球在下一帧图像中的位置,生成中间帧图像,相比当前帧图像,中间帧图像中的篮球从下向上移,然后将中间帧图像显示出来,使得场景中篮球的运动变得更加流畅。

可见,在上述几种实施方式中,通过插入中间帧图像,在gpu10的渲染帧率较低,或者vr内容的帧率较低的情况下,头戴显示设备的渲染质量也不会有明显的下降,使得头戴显示设备可以保持在较低的帧率运行。

本发明实施例中,硬件合成模块11还用于根据所述头戴显示设备的透镜信息对所述左眼纹理数据和所述右眼纹理数据进行畸变校正,并根据畸变校正后的左眼纹理数据和右眼纹理数据合成所述当前帧图像。其中,所述透镜信息包括透镜组的放大倍数和畸变参数等等,硬件合成模块11可以根据放大倍数和畸变参数等对左眼纹理数据和右眼纹理数据进行畸变校正,然后再合成到帧缓存中,以减小图像失真。

在另一实施例中,在生成中间帧图像之前,硬件合成模块11也可以对纹理数据进行畸变校正,然后,根据畸变校正后的额纹理数据合成中间帧图像,其中,中间帧图像可以为根据前述三种实施方式中的任一种实施方式,生成的图像,在此不作限制。

基于同一发明构思,本发明实施例还提供一种图像渲染方法,如图3所示,包括:

步骤30,头戴显示设备的图形处理器gpu对待显示场景进行场景绘制,生成左眼纹理数据和右眼纹理数据;

步骤31,所述头戴显示设备的硬件合成模块根据所述左眼纹理数据和所述右眼纹理数据进行纹理合成,生成当前帧图像。

可选的,所述方法还包括:

所述硬件合成模块读取所述头戴显示设备的垂直同步vsync信号,并根据所述vsync信号进行纹理合成。

可选的,所述方法还包括:

所述头戴显示设备的中央处理器cpu向所述硬件合成模块发送左眼纹理编号和右眼纹理编号;

所述硬件合成模块根据所述左眼纹理编号和所述右眼纹理编号,获得所述左眼纹理数据和所述右眼纹理数据的缓存地址,并基于所述缓存地址,从所述头戴显示设备的纹理缓存中读取所述左眼纹理数据和所述右眼纹理数据。

可选的,所述方法还包括:

在用户佩戴所述头戴显示设备时,所述头戴显示设备的传感器检测表征用户的头部转动的方向信息;

所述硬件合成模块根据所述方向信息,对所述左眼纹理数据和所述右眼纹理数据进行方向校正,并根据校正后的左眼纹理数据和右眼纹理数据合成中间帧图像。

可选的,所述方法还包括:

在用户佩戴所述头戴显示设备时,所述头戴显示设备的传感器检测表征用户在空间中的位置的用户位置信息;

所述硬件合成模块根据所述用户位置信息和物体在所述当前帧图像中的图像位置信息,对所述物体在下一帧图像中的位置进行估计,生成中间帧图像。

可选的,所述方法还包括:

所述硬件合成模块确定所述当前帧图像中运动物体,以及所述运动物体在包括所述当前帧图像在内的相邻n帧图像中的运动轨迹,并根据所述运动轨迹对所述运动物体在下一帧图像中的位置进行估计,生成中间帧图像,n为大于等于2的正整数。

可选的,所述方法还包括:

所述硬件合成模块根据所述头戴显示设备的透镜信息对所述左眼纹理数据和所述右眼纹理数据进行畸变校正,并根据畸变校正后的左眼纹理数据和右眼纹理数据合成所述当前帧图像。

前述图1实施例中的头戴显示设备中的各种变化方式和具体实例同样适用于本实施例的图像渲染方法,通过前述对头戴显示设备的详细描述,本领域技术人员可以清楚的知道本实施例中图像渲染方法的实施方法,所以为了说明书的简洁,在此不再详述。

基于同一发明构思,本发明实施例还提供一种分体设备,包括主机和头戴显示设备,主机包括图形处理器gpu,用于对待显示场景进行场景绘制,生成左眼纹理数据和右眼纹理数据;头戴显示设备包括硬件合成模块,用于根据所述左眼纹理数据和所述右眼纹理数据进行纹理合成,生成当前帧图像。主机和头戴显示设备可以通过hdmi(highdefinitionmultimediainterface;高清晰度多媒体接口)、mhl(mobilehigh-definitionlink;高清影音标准接口)或者usb3.0(universalserialbus;通用串行总线)有线连接或无线连接。

本发明实施例中的一个或者多个技术方案,至少具有如下技术效果或者优点:

本发明实施例的方案中,头戴显示设备包括gpu和硬件合成模块,gpu用于对待显示场景进行场景绘制,生成左眼纹理数据和右眼纹理数据,硬件合成模块用于对左眼纹理数据和右眼纹理数据进行纹理合成,生成当前帧图像,通过将场景绘制和纹理合成分配在不同的硬件模块上执行,由专用的硬件合成模块执行纹理合成任务,避免了场景绘制任务和纹理合成任务复用gpu,降低了gpu的负载,从而解决现有技术中存在的由于gpu纹理合成不及时导致屏幕撕裂的技术问题,保证纹理合成任务的实时性。

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

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