减少移动等待时间的视差遮挡渲染的制作方法

文档序号:35776590发布日期:2023-10-21 10:15阅读:23来源:国知局
减少移动等待时间的视差遮挡渲染的制作方法


背景技术:

1、交互式视频流式传输系统通过网络将视频帧从服务器流式传输到客户端设备,同时允许用户与由流式传输的视频表示的虚拟环境交互。例如,游戏流式传输系统流式传输表示游戏环境的视频帧,同时允许用户经由头戴式显示器(hmd)、游戏控制器或其他输入设备与游戏环境交互。用户操纵输入设备来以期望的方式与游戏环境交互,并且客户端设备通过网络向服务器传输表示交互的信令,诸如相机视角的改变。作为响应,服务器改变对应于游戏环境的游戏状态,并且基于新的游戏状态经由网络将表示游戏环境的视频帧传输到客户端设备。

2、到服务器已经渲染帧并将其传输到客户端设备以供显示时,客户端设备处的相机视角可能已经改变,从而导致显示不对应于当前相机视角的帧。在输入设备是hmd的情况下,当前相机视角与所显示帧的相机视角之间的差的对应性或等待时间可能对用户体验具有很大影响,甚至导致晕动病。即使当能够在服务器处实现低等待时间时,网络性能也可能导致等待时间的尖峰,这导致差的用户体验。

3、一些游戏流式传输系统尝试经由预测性流式传输来解决等待时间,其中,服务器预测预期的用户输入,基于预测来更新游戏状态,并且在客户端设备处接收到实际用户输入之前将所得的视频帧流式传输到客户端设备,使得客户端设备能够响应于实际用户输入而快速显示所得的视频帧。然而,预测流式传输具有有限的精度,并且通常在诸如相机移动的动作上不足,特别是不容易预测的相机移动,诸如不精确地向前、向后、向左或向右的移动。虚拟现实(vr)游戏中的移动特别难以预测,因为用户不倾向于以精确的直线移动。即使相对小的预测错误可能导致流式传输的视频帧中的可感知错误,诸如表示游戏环境的与用户预期的不同部分的视频帧。

4、此外,vr游戏的帧速率和响应性要求是计算密集型的,并且通常导致图形的复杂性和细节降低。此外,性能问题有时导致帧丢失和等待时间增加,从而导致差的用户体验。

5、本公开的目的是提供一种基于当前相机视图在客户端设备处更新渲染内容的方法,该方法消除或减轻了与已知方法相关联的一个或多个问题,无论是在本文中还是以其他方式识别的。


技术实现思路

1、所提出的解决方案具体涉及用于通过在显示修改的内容之前基于客户端设备处的当前相机视图修改渲染的内容来减少游戏流式传输系统中的等待时间的技术。通过在客户端设备处修改渲染的内容,游戏流式传输系统能够快速响应于指定的输入,诸如相机视角的改变。此外,因为修改是针对已经在游戏流式传输系统的服务器处渲染的内容,所以本文描述的技术能够用具有相对小的渲染或计算能力的客户端设备来实现。也就是说,游戏流式传输系统能够以相对较少的等待时间响应客户端设备处的用户输入,同时仍然采用服务器的强大渲染资源,从而为用户提供沉浸式且令人满意的游戏体验。

2、根据一般方面,服务器渲染来自最后已知的相机方位和位置(称为“第一相机视图”)的场景的图像。图像包括场景中的一个或多个对象的详细几何形状和阴影信息。另外,服务器生成指示从第一相机视图到图像的每个像素的距离的高度图。图像和高度图统称为“视差像素图(parallax pixel map)”。客户端设备从服务器接收视差像素图,并基于当前相机方位和位置的视角(称为“当前相机视图”)更新视差像素图。客户端设备基于当前相机视图将更新的视差像素图投影到场景的图像上以生成当前显示帧。然后,客户端设备提供当前显示帧以供显示。

3、根据第一方面,提供了一种方法,包括客户端设备接收视差像素图,视差像素图包括场景的第一图像和高度图,其中,第一图像包括来自第一相机视图的视角的多个像素,并且其中,高度图指示图像的每个像素距第一相机视图的距离。方法进一步包括基于客户端设备处的第一当前相机视图更新视差像素图,以生成包括更新的第一图像和更新的高度图中的至少一个的更新的视差像素图;基于更新的视差像素图渲染当前显示帧;以及提供当前显示帧以供显示。

4、生成当前显示帧可以包括将更新的视差像素图的多个像素投影到帧缓冲器处的图像的对应像素上。

5、方法可以进一步包括基于在客户端设备处从第一当前相机视图可见的场景的一部分来识别视差像素图的一部分,以及投影视差像素图可以包括将视差像素图的部分投影到图像上以生成当前显示帧。

6、更新视差像素图可以包括基于第一图像的每个像素距客户端设备处的第一当前相机视图的距离来更新高度图。

7、更新视差像素图可以基于从第一相机视图到第一当前相机视图的旋转或位置的改变。

8、方法可以进一步包括识别第一图像中没有更新的视差像素图的对应像素的空白像素;以及向空白像素分配值。分配给空白像素的值可以基于以下之一:与空白像素相邻的像素的值;或者基于第一相机视图和第一当前相机视图之间的角度的体素。

9、视差像素图可以包括用于渲染从第一相机视图的视角不可见的像素的信息。

10、方法可以进一步包括基于客户端设备处的第二当前相机视图更新视差像素图;基于更新的视差像素图生成第二当前显示帧;以及提供第二当前显示帧以在客户端设备处显示。

11、根据第二方面,提供一种方法,包括:客户端设备接收视差像素图和高度图,视差像素图包括来自包括多个像素的第一相机视图的场景的图像,高度图指示图像的每个像素距第一相机视图的距离。方法进一步包括识别视差像素图的从当前相机视图可见的部分;将视差像素图的部分投影到帧缓冲器处的图像的对应像素上,以从当前相机视图生成当前显示帧;以及提供当前显示帧以在客户端设备处显示。

12、方法可以进一步包括在客户端设备处基于当前相机视图更新视差像素图。更新可以包括基于场景的图像的每个像素距当前相机视图的距离来更新高度图。更新可以基于从第一相机视图到当前相机视图的旋转或位置的改变。

13、方法可以进一步包括识别图像中没有更新的视差像素图的对应像素的空白像素;以及向空白像素分配值。分配给空白像素的值可以基于以下之一:与空白像素相邻的像素的值;或者基于第一相机视图和当前相机视图之间的角度的体素。

14、方法可以进一步包括从已经基于第一相机视图渲染图像的服务器接收视差像素图。视差像素图可以是流式传输到客户端设备的渲染游戏内容的一部分。

15、根据第三方面,提供一种客户端设备,包括:中央处理单元,其用于接收视差像素图和高度图,视差像素图包括场景的图像,场景包括来自第一相机视图的多个像素,高度图指示图像的每个像素距第一相机视图的距离。客户端设备进一步包括图形处理单元gpu,其用于基于当前相机视图更新视差像素图;将更新的视差像素图投影到图像的对应像素上以生成当前显示帧;以及提供当前显示帧以供显示。

16、gpu可以通过基于场景的图像的每个像素距当前相机视图的距离更新高度图来更新视差像素图。gpu可以基于从第一相机视图到当前相机视图的旋转或位置的改变来更新视差像素图。

17、gpu可以识别图像中不具有更新的视差像素图的对应像素的空白像素;以及为空白像素分配值。gpu可以基于以下之一向空白像素分配值:与空白像素相邻的像素的值;或者基于第一相机视图和当前相机视图之间的角度的体素。

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