云游戏应用程序中的显示控件的制作方法

文档序号:35131305发布日期:2023-08-15 04:32阅读:66来源:国知局
云游戏应用程序中的显示控件的制作方法

1.本发明实施方案中的至少一个实施方案整体涉及一种用于控制云游戏应用程序中的图像编码的方法和装置。


背景技术:

0、2.背景技术

1、云游戏允许将游戏渲染过程部分地卸载到位于云中的一些远程游戏服务器。

2、图1示意性地表示云游戏基础结构。基本上,需要昂贵且耗电的设备的游戏引擎10和3d图形渲染11由云中的服务器1实现。然后用规则视频编码器12将生成的帧传统地编码在视频流中,并经由网络3将其发送到用户游戏系统2。然后,在用户游戏系统2侧上用规则/标准视频解码器20对视频流进行解码,用于在显示设备上渲染。附加的轻质模块21负责管理玩家交互命令(即,负责注册用户动作)。

3、游戏应用程序中用户舒适度的一个关键因素是被称为运动到光子(motion-to-photon)的延迟,即用户动作(运动)与该动作的结果在显示设备上的显示(光子)之间的延迟。

4、图2示意性地描述了在传统游戏应用程序中的典型运动到光子路径。

5、有关图2所描述的步骤全部由用户游戏系统(诸如pc或控制台)实现。这里我们假设用户游戏系统包括输入设备(诸如游戏手柄)和显示设备。

6、在步骤200中,由输入设备对用户动作进行注册并且将其发送到主处理模块。

7、在步骤202中,游戏引擎使用所注册的动作来计算下一个游戏状态(或下一些游戏状态)。游戏状态包括用户状态(位置等),以及所有其他实体状态,所有其他实体状态可以是由游戏引擎计算的或者可以是在多玩家游戏的情况下的外部状态。

8、在步骤203中,从游戏状态计算帧渲染。在步骤206中,首先将所得的帧放置于视频缓冲器中,然后在步骤207中,将视频缓冲器的内容显示在显示设备上。

9、上述步骤中的每个步骤都引入了处理延迟。在图2中,带有点背景的框表示由于硬件计算而引入延迟的步骤。一般来讲,该延迟是固定的、小的并且不会轻易改变。带有白色背景的框表示由于软件计算而引入延迟的步骤。一般来讲,该延迟是较长的并且能够被动态地调适。

10、总之,运动到光子的延迟通常低于“100”毫秒(ms)。通常,当延迟高于“200”ms时,用户不适开始。需注意,对于基于使用头戴式耳机可视化的虚拟现实的游戏而言,通常需要较低的延迟以获得良好的用户舒适度。

11、图3示意性地描述了云游戏应用程序中的典型运动到光子路径。

12、有关图3所描述的步骤不再由单个设备实现,而是如图1所示,需要服务器1与用户游戏系统2(即,客户端系统)之间的协作。

13、步骤200由用户游戏系统2执行。

14、在步骤301中,经由网络3将表示用户动作的信息传输到服务器1。

15、游戏引擎202步骤和渲染203步骤由服务器1实现。

16、渲染之后在步骤304中由视频编码器12进行视频编码。

17、然后在步骤305中,由视频编码器12生成的视频流经由网络3传输到用户游戏系统2,并且在步骤306中由视频解码器20解码。

18、与图2的过程相比,引入了附加的延迟:

19、·传输延迟。传输延迟取决于网络的连接质量。该延迟的范围可以从几ms到几“100”ms。

20、·编码器延迟:在此类框架中,编码器典型地用于低延迟配置中,即只要帧到达,就对其进行编码并且在视频流中进行发送。当实时视频编码器在硬件中实现时,该视频编码器通常在几ms内对帧进行编码。

21、·解码器延迟:典型的视频解码器可以在几ms内对帧进行解码。

22、可以看出,附加的延迟(特别是传输延迟)可能潜在地增加全局延迟,使得所述全局延迟对于用户而言变得无法接受。此外,由于网络状态改变,延迟方差也增加了。

23、希望提出允许克服上述问题的解决方案。具体地,希望提出一种有助于减少游戏应用程序中的延迟的方法和装置。

24、3.
技术实现要素:

25、在第一方面,本发明实施方案中的一个或多个实施方案提供了一种用于控制基于网络的游戏应用程序中表示游戏的状态的帧的显示的方法,该方法包括:向服务器发送表示用户动作的信息;接收表示根据该用户动作预测的该游戏的预测状态的至少一个帧;获得允许确定所述至少一个帧是否对应于该用户动作的信息;以及;在该至少一个帧对应于所述用户动作的情况下,根据执行此用户动作的时间和所述信息来确定何时显示该至少一个帧中的一个帧。

26、在一个实施方案中,所述信息表示在执行此用户动作的时间与显示对应于所述用户动作的帧的时间之间的延时。

27、在一个实施方案中,该方法由用户系统执行,并且其中该信息允许通过允许将该用户系统的时钟与该服务器的时钟同步来确定何时显示该至少一个帧中的一个帧。

28、在一个实施方案中,以包括元数据的编码视频流的形式接收该至少一个帧,所述元数据包括所述信息。

29、在一个实施方案中,传输到该服务器的表示该用户动作的该信息包括该用户动作的标识符,并且该元数据包括所述标识符。

30、在一个实施方案中,该元数据包括表示延时的信息,该延时固定预测对应于该用户动作的预测状态的时间。

31、在一个实施方案中,接收多个帧,每个帧表示根据该用户动作预测的该游戏的预测状态,并且该方法还包括根据表示该游戏的实际状态的信息与表示由该多个帧中的帧表示的预测状态的信息之间的比较来确定显示该多个帧中的哪个帧。

32、在一个实施方案中,对于该多个帧中的每个帧,该元数据包括表示由所述帧表示的该游戏的该状态的信息。

33、在一个实施方案中,表示该游戏的实际状态的信息和表示由该多个帧中的帧表示的预测状态的信息是表示用户动作序列的信息。

34、在第二方面,本发明实施方案中的一个或多个实施方案提供了一种用于控制基于网络的游戏应用程序中表示游戏的状态的帧的显示的方法,该方法包括:从用户系统接收表示用户动作的信息,该信息包括所述用户动作的标识符;根据该用户动作预测该游戏的至少一个状态;对于至少一个预测状态,渲染表示所述预测状态的帧;在视频流的一部分中用包括所述用户动作的该标识符的元数据编码至少一个渲染帧;以及将视频流的该部分传输到该用户系统。

35、在一个实施方案中,该元数据包括表示延时的信息,该延时固定预测对应于该用户动作的预测动作的时间。

36、在一个实施方案中,用包括表示每个预测状态的信息的元数据来渲染和编码多个帧,每个帧表示根据该用户动作预测的该游戏的预测状态。

37、在一个实施方案中,表示该游戏的预测状态的该信息表示用户动作序列。

38、在一个实施方案中,该多个帧的该编码使用多层编码,该多层编码考虑到表示该游戏的至少一个真实状态或预测状态的信息。

39、在第三方面,本发明实施方案中的一个或多个实施方案提供了一种用于控制基于网络的游戏应用程序中表示游戏的状态的帧的编码的方法,该方法包括:从用户系统接收表示用户动作的信息,该信息包括所述用户动作的标识符;根据该用户动作预测该游戏的被称为预测状态的多个状态;对于每个预测状态,渲染表示所述预测状态的帧;以及编码该渲染帧,每个帧在视频流的多个层中的一个层中使用多层编码进行编码,该多层编码考虑到表示该游戏的至少一个真实状态或预测状态的信息。

40、在一个实施方案中,表示预测状态的信息是所述预测状态的概率。

41、在一个实施方案中,对应于最高概率的帧在被称为基底层的层中被编码,在没有来自任何其他层的任何预测的情况下被编码,并且该帧可用作某个其他层的预测的参考。

42、在一个实施方案中,为每个层分配比特率,以根据所述层的概率编码所述层。

43、在一个实施方案中,表示真实状态的信息是表示由多个帧被传输到的用户系统显示的所述多个帧中的帧的信息。

44、在一个实施方案中,根据由用户系统显示的多个帧中的帧来确定提供用于第二层的当前帧的时间预测的帧的第一层。

45、在一个实施方案中,表示由用户系统显示的多个帧中的帧的信息是表示从该用户系统所接收的用户动作的信息。

46、在一个实施方案中,表示预测状态的信息包括该预测状态之间的差异。

47、在第四方面,本发明实施方案中的一个或多个实施方案提供了一种用于控制基于网络的游戏应用程序中表示游戏的状态的帧的显示的设备,该设备包括:用于向服务器发送表示用户动作的信息的装置;用于接收表示根据该用户动作预测的该游戏的预测状态的至少一个帧的装置;获得允许确定所述至少一个帧是否对应于该用户动作的信息的装置;以及;用于以下操作的装置:在所述至少一个帧对应于所述用户动作的情况下,根据执行此用户动作的时间和所述信息来确定何时显示所述至少一个帧中的一个帧。

48、在一个实施方案中,所述信息表示在执行此用户动作的时间与显示对应于所述用户动作的帧的时间之间的延时。

49、在一个实施方案中,该信息通过允许将该设备的时钟与该服务器的时钟同步来允许确定何时显示该至少一个帧中的一个帧。

50、在一个实施方案中,以包括元数据的编码视频流的形式接收该至少一个帧,所述元数据包括所述信息。

51、在一个实施方案中,传输到该服务器的表示该用户动作的该信息包括该用户动作的标识符,并且该元数据包括所述标识符。

52、在一个实施方案中,该元数据包括表示延时的信息,该延时固定预测对应于该用户动作的预测动作的时间。

53、在一个实施方案中,接收多个帧,每个帧表示根据用户动作预测的游戏的预测状态,并且其中该设备还包括用于根据表示该游戏的实际状态的信息与表示由该多个帧中的帧表示的预测状态的信息之间的比较来确定显示该多个帧中的哪个帧的装置。

54、在一个实施方案中,对于该多个帧中的每个帧,该元数据包括表示由所述帧表示的该游戏的该状态的信息。

55、在一个实施方案中,表示该游戏的实际状态的信息和表示由该多个帧中的帧表示的预测状态的信息是表示用户动作序列的信息。

56、在第五方面,本发明实施方案中的一个或多个实施方案提供了一种用于控制基于网络的游戏应用程序中表示游戏的状态的帧的显示的设备,该设备包括:用于从用户系统接收表示用户动作的信息的装置,该信息包括所述用户动作的标识符;用于根据该用户动作预测该游戏的至少一个状态的装置;用于对于至少一个预测状态,渲染表示所述预测状态的帧的装置;用于在视频流的一部分中用包括所述用户动作的该标识符的元数据编码至少一个渲染帧的装置;和用于将视频流的该部分传输到该用户系统的装置。

57、在一个实施方案中,该元数据包括表示延时的信息,该延时固定预测对应于该用户动作的预测动作的时间。

58、在一个实施方案中,用包括表示每个预测状态的信息的元数据来渲染和编码多个帧,每个帧表示根据该用户动作预测的该游戏的预测状态。

59、在一个实施方案中,表示该游戏的预测状态的该信息表示用户动作序列。

60、在一个实施方案中,该多个帧的该编码使用多层编码,该多层编码考虑到表示该游戏的至少一个真实状态或预测状态的信息。

61、在第六方面,本发明实施方案中的一个或多个实施方案提供了一种用于控制基于网络的游戏应用程序中表示游戏的状态的帧的编码的设备,该设备包括:用于从用户系统接收表示用户动作的信息的装置,该信息包括所述用户动作的标识符;用于根据该用户动作预测该游戏的被称为预测状态的多个状态的装置;用于对于每个预测状态渲染表示所述预测状态的帧的装置;和用于编码该渲染帧的装置,每个帧在视频流的多个层中的一个层中使用多层编码进行编码,该多层编码考虑到表示该游戏的至少一个真实状态或预测状态的信息。

62、在一个实施方案中,表示预测状态的信息是所述预测状态的概率。

63、在一个实施方案中,对应于最高概率的帧在被称为基底层的层中被编码,在没有来自任何其他层的任何预测的情况下被编码,并且该帧可用作某个其他层的预测的参考。

64、在一个实施方案中,为每个层分配比特率,以根据所述层的概率编码所述层。

65、在一个实施方案中,表示真实状态的信息是表示由多个帧被传输到的用户系统显示的所述多个帧中的帧的信息。

66、在一个实施方案中,根据由用户系统显示的多个帧中的帧来确定提供用于第二层的当前帧的时间预测的帧的第一层。

67、在一个实施方案中,表示由用户系统显示的多个帧中的帧的信息是表示从该用户系统所接收的用户动作的信息。

68、在一个实施方案中,表示预测状态的信息包括该预测状态之间的差异。

69、在第七方面,本发明实施方案中的一个或多个实施方案提供了一种装置,该装置包括根据第四方面、第五方面或第六方面所述的设备。

70、在第八方面,本发明实施方案中的一个或多个实施方案提供了一种信号,该信号是由第二方面的方法或由第五方面或第六方面的设备生成的。

71、在第九方面,本发明实施方案中的一个或多个实施方案提供了一种计算机程序,该计算机程序包括用于实现根据第一方面、第二方面或第三方面所述的方法的程序代码指令。

72、在第十方面,本发明实施方案中的一个或多个实施方案提供了一种非暂态信息存储介质,该非暂态信息存储介质存储用于实现根据第一方面、第二方面或第三方面所述的方法的程序代码指令。


技术实现思路

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