3D游戏流传输场景中的航位推测和延时改进制造技术

技术编号:26977165 阅读:28 留言:0更新日期:2021-01-06 00:15
本文中描述的示例总体上涉及用于在客户端设备处流传输视频游戏的系统和方法。客户端设备可以向流传输服务器传输视频游戏控制。客户端设备可以从流传输服务器接收视频流,视频流对响应于视频游戏控制而被生成的视频图像编码。客户端设备可以确定要在帧中显示的视频流的视频图像在帧的显示之前的指定时间尚未被完全接收到。客户端设备可以基于视频图像的历史和针对视频流的运动矢量来确定图像变换。客户端设备可以将图像变换应用于与先前帧对应的一个或多个图像的一部分。客户端设备可以在帧中显示包括已变换图像的一部分的替代视频图像。

【技术实现步骤摘要】
【国外来华专利技术】3D游戏流传输场景中的航位推测和延时改进
技术介绍
本公开涉及流传输视频游戏,并且更具体地涉及减轻流传输视频游戏中的延时。流传输视频游戏可以被定义为如下视频游戏:其中客户端设备经由网络向运行游戏的服务器提供控制命令,服务器对控制命令进行动作以生成视频流,视频流经由网络被发送到客户端设备以在客户端设备的屏幕上显示。流传输视频游戏可能不同于更常规的视频游戏,在常规视频游戏中,即使服务器执行某个处理,客户端设备也会绘出呈现给用户的视频图像。例如,在多玩家游戏中,服务器可以计算玩家之间的交互,但是服务器通常将场景信息发送到客户端设备以绘出视频图像。与在客户端设备上运行游戏相比,流传输视频游戏可以提供集中化游戏处理并且允许更薄、更不复杂的客户端设备和更不复杂的客户端软件的优势。例如,流传输视频游戏可以适用于可能缺少专用图形处理卡的移动设备。流传输视频游戏可能会遇到用于流传输视频的通信网络的延时和延时变化(抖动)的问题。也就是说,由于网络延时,客户端设备可能在预期时间没有接收到视频分组。由于抖动,接收视频分组的实际时间可能难以预测。特别地,尽管无线网络提供足够的带宽来流传输视频,但是与具有类似带宽的有线网络相比,无线网络可能会经历更大的延时和抖动。与传统的流传输视频(例如,电影)不同,缓冲可能不适用于流传输视频游戏,因为视频基于用户输入,因此要在将来的帧中呈现的视频图像是事先不可用的。另外,与其中客户端设备运行并行游戏引擎的常规多玩家游戏不同,用于流媒体游戏的客户端设备可能不具有当前游戏状态的信息。因此,当没有接收到用于显示的新的视频图像时,客户端设备可能会冻结。因此,在本领域中需要改进用于计算机设备上的视频游戏流传输的图形处理。
技术实现思路
以下给出了本公开的一个或多个实现的简化概述,以提供对这样的实现的基本理解。该概述不是所有预期实现的广泛概述,并且既不旨在标识所有实现的关键或重要元素,也不旨在界定任何或所有实现的范围。其唯一目的是以简化的形式呈现本公开的一个或多个实现的一些概念,作为稍后呈现的更详细描述的序言。一个示例实现涉及一种用于玩流传输视频游戏的计算机设备。该计算机设备可以包括:存储数据和指令的存储器;与存储器通信的中央处理单元;与通信网络被通信地耦合的网络接口;客户端应用;以及显示控制组件。该计算机设备可以可操作以经由网络接口向流传输服务器传输视频游戏控制。该计算机设备可以可操作以经由网络接口从流传输服务器接收视频流,视频流对响应于视频游戏控制而被生成的视频图像编码。该计算机设备可以可操作以确定要在帧中显示的视频流的视频图像在帧的显示之前的指定时间尚未被完全接收到。该计算机设备可以可操作以至少基于视频图像的历史和针对视频流的运动矢量来确定图像变换。该计算机设备可以可操作以将图像变换应用于与一个或多个先前帧对应的一个或多个图像的至少一部分,以生成替代视频图像。该计算机设备可以可操作以响应于要在帧中显示的视频图像在指定时间未被完全接收到的确定,在帧中显示包括已变换的图像的至少一部分的替代视频图像。另一示例实现涉及一种用于在计算机设备上玩流传输视频游戏的方法。该方法可以包括向流传输服务器传输视频游戏控制命令。该方法可以包括从流传输服务器接收视频流,视频流对响应于视频游戏控制而被生成的视频图像编码。该方法可以包括确定要在帧中显示的视频流的视频图像在帧的显示之前的指定时间尚未被完全接收到。该方法可以包括至少基于视频图像的历史和针对视频流的运动矢量来确定图像变换。该方法可以包括将图像变换应用于与一个或多个先前帧对应的一个或多个图像的至少一部分,以生成替代视频图像。该方法可以包括响应于要在帧中显示的视频图像在指定时间未被完全接收到的确定,在帧中显示包括已变换的先前显示的图像的至少一部分的替代视频图像。另一示例实现涉及一种计算机可读介质,该计算机可读介质包括由一个或多个处理器可执行以用于在计算设备上玩流传输视频游戏的代码。该计算机可读介质可以包括用于向流传输服务器传输视频游戏控制的代码。该计算机可读介质可以包括用于从流传输服务器接收视频流的代码,视频流对响应于视频游戏控制而被生成的视频图像编码。该计算机可读介质可以包括用于确定要在帧中显示的视频流的视频图像在帧的显示之前的指定时间尚未被完全接收到的代码。该计算机可读介质可以包括用于至少基于与先前帧对应的视频流的图像和针对先前帧、基于相机变换矩阵而被选择的运动矢量来确定图像重新投影的代码。该计算机可读介质可以包括用于将图像重新投影应用于与一个或多个先前帧对应的视频流的一个或多个图像的至少一部分,以生成替代视频图像的代码。该计算机可读介质可以包括用于响应于要在帧中显示的视频图像在指定时间未被完全接收到的确定而在帧中显示包括重新投影的图像的至少一部分的替代视频图像的代码。与本公开的实现有关的另外的优点和新颖特征将在以下的描述中部分地阐述,并且在对以下内容进行检查或通过实践学习之后对于本领域技术人员将部分地变得更加明显。附图说明在附图中:图1是根据本公开的实现的用于玩流传输视频游戏的示例系统的示意性框图;图2是示出根据本公开的实现的用于玩流传输视频游戏的过程和通信的图;图3是根据本公开的实现的包括替代视频帧的流传输视频游戏的视频流的示例;图4是根据本公开的实现的用于播放流传输视频游戏的方法的流程图;以及图5是根据本公开的实现的示例计算机设备的示意性框图。具体实施方式本公开提供了用于流传输视频游戏的系统和方法。如本文中使用的,术语“流传输视频游戏”是指一种其中流传输服务器执行视频游戏,生成图像并且将对图像编码的视频流发送到流客户端设备的布置。流传输服务器可以通过对流客户端设备执行绘出过程来生成图像。但是,流传输服务器实际上可能不会在屏幕或监视器(monitor)上显示所生成的图像。相反,流传输服务器可以将图像编码为视频流。视频流可以编码与视频帧对应的图像。帧可以是用于显示图像的连续时间段。编码可以包括图像和/或指示与每个帧对应的图像的改变信息(例如,运动矢量)。对于网络通信,可以将已编码视频流分为多个视频分组,每个视频分组包括视频流的一部分。视频分组可能在传输中丢失,可能乱序到达,或者可能被延迟,使得当视频分组到达时,用于显示对应帧的时间已经过去。例如,在一种实现中,本公开提供了用于减少网络延时对流客户端设备处的用户体验的影响的系统和方法。具体地,本公开解决了流客户端设备未及时接收视频分组以在流客户端设备的显示器上呈现与帧对应的图像的问题。本公开提供了一种航位推测方法,其中当一个或多个视频分组没有被及时接收到时,基于所生成的图像的历史和针对视频流的运动矢量来生成替代图像。流客户端设备可以确定用于显示视频帧的视频数据的至少一部分(例如,一个或多个视频分组)在显示视频帧之前的时间没有被接收到。流客户端设备可以基于视频帧的历史和针对视频流的运动矢量来确定图像变换。流客户端可以将图像变换应用于一个或多个先前帧的至少一部分,以生成替代视频帧。如果视频数据在显示时间尚未到达,则流客户端本文档来自技高网
...

【技术保护点】
1.一种计算机设备,包括:/n存储器,存储数据和指令;/n中央处理单元,与所述存储器通信;/n网络接口,与通信网络被通信地耦合;/n客户端应用和显示控制组件,与所述存储器、所述中央处理单元和所述网络接口通信,可操作以:/n经由所述网络接口向流传输服务器传输视频游戏控制;/n经由所述网络接口从所述流传输服务器接收视频流,所述视频流对响应于所述视频游戏控制而被生成的视频图像编码;/n维持指示虚拟相机相对于所述视频图像的位置的相机矩阵,/n确定要在帧中显示的所述视频流的视频图像在所述帧的显示之前的指定时间尚未被完全接收到;/n至少基于所述视频图像的历史、针对所述视频流的运动矢量和所述相机矩阵来确定图像变换;/n将所述图像变换应用于与一个或多个先前帧对应的一个或多个图像的至少一部分,以生成替代视频图像;以及/n响应于要在所述帧中显示的所述视频图像在所述指定时间未被完全接收到的所述确定,在所述帧中显示包括已变换的图像的所述至少一部分的所述替代视频图像。/n

【技术特征摘要】
【国外来华专利技术】20180524 US 15/989,0111.一种计算机设备,包括:
存储器,存储数据和指令;
中央处理单元,与所述存储器通信;
网络接口,与通信网络被通信地耦合;
客户端应用和显示控制组件,与所述存储器、所述中央处理单元和所述网络接口通信,可操作以:
经由所述网络接口向流传输服务器传输视频游戏控制;
经由所述网络接口从所述流传输服务器接收视频流,所述视频流对响应于所述视频游戏控制而被生成的视频图像编码;
维持指示虚拟相机相对于所述视频图像的位置的相机矩阵,
确定要在帧中显示的所述视频流的视频图像在所述帧的显示之前的指定时间尚未被完全接收到;
至少基于所述视频图像的历史、针对所述视频流的运动矢量和所述相机矩阵来确定图像变换;
将所述图像变换应用于与一个或多个先前帧对应的一个或多个图像的至少一部分,以生成替代视频图像;以及
响应于要在所述帧中显示的所述视频图像在所述指定时间未被完全接收到的所述确定,在所述帧中显示包括已变换的图像的所述至少一部分的所述替代视频图像。


2.根据权利要求1所述的计算机设备,其中所述显示控制组件被配置为从对所述视频流的所述编码提取所述运动矢量。


3.根据权利要求1所述的计算机设备,其中所述图像变换是与所述一个或多个先前帧对应的所述一个或多个图像的所述一部分的重新投影,其中所述显示控制组件被配置为确定针对与所述一个或多个先前帧对应的所述一个或多个图像的点的深度值,并且其中所述重新投影基于所述深度值。


4.根据权利要求3所述的计算机设备,其中所述显示控制组件被配置为将针对所述视频游戏而被训练的机器学习模型应用于与所述一个或多个先前帧对应的所述一个或多个图像,以确定所述深度值。


5.根据权利要求1所述的计算机设备,其中所述显示控制组件被配置为应用机器学习模型,以对与所述一个或多个先前帧对应的所述一个或多个图像执行分段,并且将所述运动矢量应用于所标识的图像分段。


6.根据权利要求1所述的计算机设备,其中所述客户端应用被配置为从所述流传输服务器接收深度信息。


7.根据权利要求1所述的计算机设备,其中所述客户端应用被配置为从所述流传输服务器周期性地接收已更新相机矩阵。


8.根据权利要求1所述的计算机设备,其中所述客户端应用被配置为从所述流传输服务器接收与所述视频图像对应的几何表示。


9.一种用于在计算机设备上玩流传输视频游戏的方法,包括:
向流传输服务器传输视频游戏控制命令;

【专利技术属性】
技术研发人员:M·L·布龙德I·内弗雷弗
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1