游戏应用程序中利用基于深度学习的预测的延迟管理制造技术

技术编号:38003333 阅读:22 留言:0更新日期:2023-06-30 10:17
一种用于减少游戏应用程序中的延迟的方法,该方法包括:获得(305B)第一帧,所述第一帧表示在游戏应用程序中由用户执行的第一动作;获得(500)表示在该游戏应用程序中由该用户执行的第二动作的信息,所述第二动作在该第一动作之后;以及,使用神经网络从至少包括该第一帧和表示第二动作的该信息的数据预测(500)对应于该第二动作的第二帧。应于该第二动作的第二帧。应于该第二动作的第二帧。

【技术实现步骤摘要】
【国外来华专利技术】游戏应用程序中利用基于深度学习的预测的延迟管理
1.

[0001]本实施方案中的至少一个实施方案整体涉及一种用于减少游戏应用程序中的延迟的方法和装置。
2.
技术介绍

[0002]云游戏允许将游戏渲染过程部分地卸载到位于云中的一些远程游戏服务器。
[0003]图1示意性地表示云游戏基础结构。基本上,需要昂贵且耗电的设备的游戏引擎10和3D图形渲染11由云中的服务器1实现。然后用规则视频编码器12将生成的帧传统地编码在视频流中,并经由网络3将其发送到用户游戏系统2。然后,在用户游戏系统2侧上用规则/标准视频解码器20对视频流进行解码,用于在显示设备上渲染。附加的轻质模块21负责管理玩家交互命令(即,负责注册用户动作)。
[0004]游戏应用程序中用户舒适度的一个关键因素是被称为运动到光子(motion

to

photon)的延迟,即用户动作(运动)与该动作的结果在显示设备上的显示(光子)之间的延迟。
[0005]图2示意性地描述了在传统游戏应用程序中的典型运动到光子路径。
[0006]有关图2所描述的步骤全部由用户游戏系统(诸如PC或控制台)实现。这里我们假设用户游戏系统包括输入设备(诸如游戏手柄)和显示设备。
[0007]在步骤200中,由输入设备对用户动作进行注册并且将其发送到主处理模块。
[0008]在步骤202中,游戏引擎使用所注册的动作来计算下一个游戏状态(或下一些游戏状态)。游戏状态包括用户状态(位置等),以及所有其他实体状态,所有其他实体状态可以是由游戏引擎计算的或者可以是在多玩家游戏的情况下的外部状态。
[0009]在步骤203中,从游戏状态计算帧渲染。在步骤206中,首先将所得的帧放置于视频缓冲器中,然后在步骤207中,将视频缓冲器的内容显示在显示设备上。
[0010]上述步骤中的每个步骤都引入了处理延迟。在图2中,带有点背景的框表示由于硬件计算而引入延迟的步骤。一般来讲,该延迟是固定的、小的并且不会轻易改变。带有白色背景的框表示由于软件计算而引入延迟的步骤。一般来讲,该延迟是较长的并且能够被动态地调适。
[0011]总之,运动到光子的延迟通常低于“100”ms。通常,当延迟高于“200”ms时,用户不适开始。需注意,对于基于使用头戴式耳机可视化的虚拟现实的游戏而言,通常需要较低的延迟以获得良好的用户舒适度。
[0012]图3示意性地描述了云游戏应用程序中的典型运动到光子路径。
[0013]有关图3所描述的步骤不再由单个设备实现,而是如图1所示,需要服务器1与用户游戏系统2(即,客户端系统)之间的协作。
[0014]步骤200由用户游戏系统2执行。
[0015]在步骤301中,经由网络3将表示用户动作的信息传输到服务器1。
[0016]游戏引擎202步骤和渲染203步骤由服务器1实现。
[0017]渲染之后在步骤304中由视频编码器12进行视频编码。
[0018]然后在步骤305中,由视频编码器12生成的视频流经由网络3传输到用户游戏系统2,并且在步骤306中由视频解码器20解码。
[0019]与图2的过程相比,引入了附加的延迟:
[0020]·
传输延迟。传输延迟取决于网络的连接质量。该延迟的范围可以从几ms到几“100”ms。
[0021]·
编码器延迟:在此类框架中,编码器典型地用于低延迟配置中,即只要帧到达,就对其进行编码并且在视频流中进行发送。当实时视频编码器在硬件中实现时,该视频编码器通常在几ms内对帧进行编码。
[0022]·
解码器延迟:典型的视频解码器可以在几ms内对帧进行解码。
[0023]可以看出,附加的延迟(特别是传输延迟)可能潜在地增加全局延迟,使得所述全局延迟对于用户而言变得无法接受。此外,由于网络状态改变,延迟方差也增加了。
[0024]希望提出允许克服上述问题的解决方案。特别地,希望提出一种允许减少游戏应用程序中的延迟的方法和装置。
3.
技术实现思路

[0025]在第一方面,本专利技术实施方案中的一个或多个实施方案提供了一种用于减少游戏应用程序中的延迟的方法,该方法包括:获得第一帧,所述第一帧表示在游戏应用程序中由用户执行的第一动作;获得表示在游戏应用程序中由用户执行的第二动作的信息,所述第二动作在第一动作之后;并且,使用神经网络从至少包括第一帧和表示第二动作的信息的数据预测对应于第二动作的第二帧。
[0026]由于该方法,延迟减少了。
[0027]在一个实施方案中,该方法还包括显示第二帧。
[0028]在一个实施方案中,该方法还包括连同第一帧一起获得元数据,所述元数据至少表示在对应于第一动作的时间的游戏的状态和/或第一动作,使用神经网络从元数据进一步预测第二帧。
[0029]在一个实施方案中,表示游戏的状态的元数据包括表示用户的信息和/或表示动态对象和/或游戏中的其他用户的信息。
[0030]在一个实施方案中,神经网络使用以下参数:使用在游戏应用程序的离线执行期间收集的表示帧、用户动作和游戏的状态的数据进行离线训练的;或者,使用在游戏应用程序的当前执行期间收集的表示帧、用户动作和游戏的状态的数据进行联机训练的;或者,使用参数在游戏应用程序的执行开始时进行初始化的,该参数是使用在游戏应用程序的离线执行期间收集的表示帧、用户动作和游戏的状态的数据进行离线训练的,并且然后使用在游戏应用程序的当前执行期间收集的表示帧、用户动作和游戏的状态的数据进行联机训练的。
[0031]在一个实施方案中,神经网络的参数的训练考虑到第一动作的发生与第一帧的获得之间的时间差。
[0032]在一个实施方案中,当对神经网络的参数进行离线训练时,训练多个参数集,每个参数集针对被称为离线时间差的不同的时间差值进行训练,并且其中,在游戏应用程序的
当前执行期间,该方法包括选择多个参数集中对应于最接近表示实际时间差的信息的离线时间差的参数集。
[0033]在一个实施方案中,神经网络的参数的训练使用损失函数,损失函数估计对应于由神经网络预测的第二动作的第二帧与由游戏应用程序生成的对应于相同的第二动作的实际帧之间的差,并且其中仅显示第二帧被称为显示的部分的子部分(),损失函数仅考虑该显示的部分。
[0034]在一个实施方案中,游戏应用程序是基于网络的游戏应用程序,其中游戏由经由网络与客户端系统通信的服务器管理,该方法由客户端系统执行,其中:
[0035]第一动作由用户在第一时间执行并且由客户端系统注册,并且将表示第一动作的信息传输到服务器;以及;通过对从服务器接收的视频流的一部分进行解码来获得第一帧和/或元数据。
[0036]在一个实施方案中,视频流的一部分包括表示与第一帧相关联的第一动作的元数据。
[0037]在一个实施方案中,表示第一动作的元数据表示第一动作被执行时的时间。
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于减少游戏应用程序中的延迟的方法,所述方法包括:获得(305B)第一帧,所述第一帧表示在所述游戏应用程序中由用户执行的第一动作;获得(500)表示在所述游戏应用程序中由所述用户执行的第二动作的信息,所述第二动作在所述第一动作之后;以及,使用神经网络从至少包括所述第一帧和表示第二动作的所述信息的数据预测(500)对应于所述第二动作的第二帧。2.根据权利要求1所述的方法,其中所述方法还包括显示所述第二帧。3.根据权利要求1或2所述的方法,其中所述方法还包括连同所述第一帧一起获得元数据,所述元数据至少表示在对应于所述第一动作的时间时游戏的状态和/或表示所述第一动作,使用所述神经网络从所述元数据进一步预测所述第二帧。4.根据权利要求3所述的方法,其中表示所述游戏的状态的所述元数据包括表示所述用户的信息和/或表示动态对象和/或表示所述游戏中的其他用户的信息。5.根据任一前述权利要求所述的方法,其中所述神经网络使用以下参数:使用在所述游戏应用程序的离线执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行离线训练的;或者,使用在所述游戏应用程序的当前执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行联机训练的;或者,使用参数在所述游戏应用程序的执行开始时进行初始化的,所述参数是使用在所述游戏应用程序的离线执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行离线训练的,并且然后使用在所述游戏应用程序的当前执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行联机训练的。6.根据权利要求5所述的方法,其中所述神经网络的所述参数的训练考虑到所述第一动作的发生与所述第一帧的获得之间的时间差。7.根据权利要求6所述的方法,其中,当对所述神经网络的所述参数进行离线训练时,训练多个参数集,每个参数集针对被称为离线时间差的不同的时间差值进行训练,并且其中,在所述游戏应用程序的当前执行期间,所述方法包括选择所述多个参数集中对应于最接近表示实际时间差的信息的离线时间差的参数集。8.根据权利要求2至7中任一前述权利要求所述的方法,其中所述神经网络的所述参数的所述训练使用损失函数,所述损失函数估计由所述神经网络预测的对应于所述第二动作的所述第二帧与由所述游戏应用程序生成的对应于相同的第二动作的实际帧之间的差,并且其中仅显示所述第二帧的被称为显示的部分的子部分,所述损失函数仅考虑所述显示的部分。9.根据任一前述权利要求所述的方法,其中所述游戏应用程序是基于网络的游戏应用程序,其中游戏由经由网络(3)与客户端系统(2)通信的服务器(1)管理,所述方法由所述客户端系统执行,其中:所述第一动作由所述用户在第一时间执行并且由所述客户端系统注册(200),并且将表示所述第一动作的信息传输(301A)到所述服务器;以及;通过对从所述服务器接收(305B)的视频流的一部分进行解码(306bis)来获得所述第一帧和/或所述元数据。
10.根据权利要求9所述的方法,其中,所述视频流的所述一部分包括表示与所述第一帧相关联的所述第一动作的元数据。11.根据权利要求11所述的方法,其中表示所述第一动作的所述元数据表示所述第一动作被执行时的时间。12.根据权利要求9、10或11所述的方法,其中所述元数据包括表示实际时间差的所述信息。13.根据权利要求9、10、11或12所述的方法,其中所述元数据由SEI消息输送。14.根据权利要求9至14中任一前述权利要求所述的方法,其中:所述第一帧对应于在所述第一时间之后的第二时间时所述用户的第二动作,所述第二动作由所述服务器从表示所述第一动作的所述信息和表示在所述第一时间时所述游戏应用程序的状态的信息进行预测;并且所述方法还包括:将所述第一帧的重建版本存储(708)在用于下一些帧的时间预测的帧缓冲器中;在向所述服务器传输表示由所述用户在所述第二时间执行的动作的数据之后,从所述服务器接收(305B)对应于所述第二时间的帧,所述帧被称为实际帧;以及,对所述实际帧进行解码(306bis)并且由所述帧缓冲器中的所述实际帧的重建版本替换(706)所述预测帧的重建版本。15.一种用于减少游戏应用程序中的延迟的方法,所述方法包括:从客户端系统接收(301B)表示在所述游戏应用程序中由用户在第一时间执行的第一动作的信息;从表示第一动作的所述信息和表示在所述第一时间时所述游戏应用程序的状态的信息预测(701)对应于在所述第一时间之后的第二时间时的第二动作;生成(702、703)对应于所述第二动作的帧,所述帧被称为预测帧;对所述预测帧进行编码(704),并且将所述预测帧的重建版本存储在用于下一些帧的时间预测的帧缓冲器中;将所编码的预测帧传输(705)到所述客户端系统;当接收到表示由所述用户在所述第二时间执行的动作的数据时,生成(301B、202、203)对应于所述第二时间的帧,所述帧被称为实际帧;以及,对所述实际帧进行编码(304bis)并且由所述帧缓冲器中的所述实际帧的重建版本替换(700)所述预测帧的所述重建版本。16.一种用于减少游戏应用程序中的延迟的设备,所述设备包括电子电路,所述电子电路适于:获得(305B)第一帧,所述第一帧表示在所述游戏应用程序中由用户执行的第一动作;获得(500)表示在所述游戏应用程序中由所述用户执行的第二动作的信息,所述第二动作在所述第一动作之后;以及,使用神经网络从至少包括所述第一帧和表示第二动作的所述信息的数据预测(500)对应于所述第二动作的第二帧。17.根据权利要求16所述的设备,其中所述电子电路还适于控制所述第二帧的显示。18.根据权利要求16或17所述的设备,其中所述电子电路还适于连同所述第一帧一起
获得元数据,所述元数据至少表示在对应于所述第一动作的时间时游戏的状态和/或表示所述第一动作,使用所述神经网络从所述元数据进一步预测所述第二帧。19.根据权利要求18所述的设备,其中表示所述游戏的状态的所述元数据包括表示所述用户的信息和/或表示动态对象和/或表示所述游戏中的其他用户的信息。20.根据权利要求16至19中任一前述权利要求所述的设备,其中所述神经网络使用以下参数:使用在所述游戏应用程序的离线执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行离线训练的;或者,使用在所述游戏应用程序的当前执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行联机训练的;或者,使用参数在所述游戏应用程序的执行开始时进行初始化的,所述参数是使用在所述游戏应用程序的离线执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行离线训练的,并且然后使用在所述游戏应用程序的当前执行期间收集的表示帧、用户动作和所述游戏的状态的数据进行联机训练的。21.根据权利要求20所述的设备,其中所述神经网络的所述参数的训练考虑到所述第一动作的发生与所述第一帧的获得之间的时间差。22.根据权利要求21所述的设备,其中,当对所述神经网络的所述参数进行离线训练时,训练多个参数集,每个参数集针对被称为离线时间差的不同的时间差值进行训练,并且其中,在所述游戏应用程序的当前执行期间,所述电子电路还适于选择所述多个参数集中对应于最接近表示实际时间差的信息的离线时间差的参数集。23.根据权利要求17至22中任一前述权利要求所述的设备,其中所述神经网络的所述参数的所述训练使用损失函数,所述损失函数估计由所述神经网络预测的对应于所述第二动作的所述第二帧与由所述游戏应用程序生成的对应于相同的第二动作的实际帧之间的差,并且其中仅显示所述第二帧被称为显示的部分的子部分,所述损失函数仅考虑所述显示的部分。24.根据权利要求16至23中任一前述权利要求所述的设备,其中所述游戏应用程序是基于网络的游戏应用程序,其中游戏由经由网络(3)与设备(2)通信的服务器(1)管理,所述电子电路还适于:注册(200)所述第一动作,所述第一动作由用户在第一时间执行;将表示所述第一动作的信息传输到所述服务器;以及;通过对从所述服务器接收(305B)的视频流的一部分进行解码(306bis)来获得所述第一帧和/或所述元数据。25.根据权利要求24所述的设备,其中所述视频流的所述一部分包括表示与所述第一帧相关联的所述第一动作的元数据。26.根据权利要求25所述的设备,其中表示所述第一动作的所述元数据表示所述第一动作被执行时的时间。27.根据权利要求24、25或26所述的设备,其中所述元数据包括表示实际时间差的所述信息。28.根据权利要求24、25、26或27所述的设备,其中所述元数据由SEI消息输送。
29.根据权利要求24至28中任一前述权利要求所述的设备,其中:所述第一帧对应于在所述第一时间之后的第二时间时所述用户的第二动作,所述第二动作由所述服务器从表示所述第一动作的所述信息和表示在所述第一时间时所述游戏应用程序的状态的信息进行预测;并且所述电子电路还适于:将所述第一帧的重建版本存储(708)在用于下一些帧的时间预测的帧缓冲器中;在向所述服务器传输表示由所述用户在所述第二时间执行的动作的数据之后,从所述服务器接收(305B)对应于所述第二时间的帧,所述帧被称为实际帧;以及,对所述实际帧进行解码(306bis)并且由所述帧缓冲器中的所述实际帧的重建版本替换(706)所述预测帧的重建版本。30.一种用于减少游戏应用程序中的延迟的设备,所述设备包括电子电路,所述电子电路适于:从客户端系统接收(301B)表示在所述游戏应用程序中由用户在第一时间执行的第一动作的信息;从表示第一动作的所述信息和表示在所述第一时间时所述游戏应用程序的状态的信息预测(701)对应于在所述第一时间之后的第二时间时的第二动作;生成(702、703)对应于所述第二动作的帧,所述帧被称为预测帧;对所述预测帧进行编码(704),并且将所述预测帧的重建版本存储在用于下一些帧的时间预测的帧缓冲器中;将所编码的预测帧传输(705)到所述客户端系统;当接收到表示由所述用户在所述第二时间执行的动作的数据时,生成(301B、202、203)对应于所述第二时间的帧,所述帧被称为实际帧;以及,对所述实际帧进行编码(304bis)并且由所述帧缓冲器中的所述实际帧的重建版本替换(700)所述预测帧的所述重建版本。31.一种装置,所述装置包括根据权利要求16至30中任一前述权利要求所述的设备。32.一种系统,所述系统包括客户端系统和服务器,所述客户端系统包括根据权利要求16至29中任一前述权利要求所述的设备,所述服务器包括根据权利要求30所述的设备。33.一种信号,所述信号由权利要求15所述的方法或由权利要求30所述...

【专利技术属性】
技术研发人员:F
申请(专利权)人:交互数字VC控股法国有限公司
类型:发明
国别省市:

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

1