渲染控制方法、设备以及系统与流程

文档序号:28952548发布日期:2022-02-19 11:00阅读:163来源:国知局
渲染控制方法、设备以及系统与流程

1.本技术涉及图像渲染,尤其涉及一种渲染控制方法、设备以及系统。


背景技术:

2.渲染是指用软件从模型生成图像的过程,其中,模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。渲染这个术语类似于“艺术家对于场景的渲染”,另外,渲染也用于描述“计算视频编辑文件中的效果,以生成最终视频输出的过程”。渲染可以包括预渲染(pre-rendering/offline rendering)或者实时渲染(real-time rendering/online rendering),其中,预渲染通常是用于电影、广告等有预定脚本的实景仿真;实时渲染通常是用于飞行训练、3d游戏和交互式建筑演示等无预定脚本的实景仿真。
3.渲染是指用软件从模型生成图像的过程,其中,模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。渲染这个术语类似于“艺术家对于场景的渲染”,另外,渲染也用于描述“计算视频编辑文件中的效果,以生成最终视频输出的过程”。渲染可以包括预渲染(pre-rendering/offline rendering)或者实时渲染(real-time rendering/online rendering),其中,预渲染通常是用于电影、广告等有预定脚本的实景仿真;实时渲染通常是用于飞行训练、3d游戏和交互式建筑演示等无预定脚本的实景仿真。
4.实时渲染对计算的速度要求是非常高的。以3d游戏为例,对于每秒30帧的刷新速率来说,每一帧图像的时间约为33毫秒,因此,每一帧图像的渲染时间绝对不能超过33毫秒。为了满足计算速度要求,通常采用光线跟踪渲染的方法来进行实时渲染。但是,光线跟踪渲染的方法需要耗费大量的资源。


技术实现要素:

5.为了解决上述问题,本技术提供了一种渲染控制方法、设备以及系统,能够有效减少资源的需求。
6.第一方面,提供了一种云渲染控制方法,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
7.所述终端设备获取第一操作数据,其中,所述第一操作数据是用户在第一时刻对所述渲染应用客户端进行操作产生的;
8.根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,重复显示所述第一时刻显示的渲染图像,并向所述云渲染平台发出暂停渲染指令,以指示所述渲染应用停止图像渲染。
9.在上述方案中,在第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,云渲染平台可以停止进行图像渲染,终端设备可以将第一时刻显示的渲染图像重复进行显示,从而有效减少云渲染平台的资源的浪费。
10.在一些可能的设计中,所述终端设备获取第二操作数据,其中,所述第二操作数据是所述用户在第二时刻对所述渲染应用客户端进行操作产生的,所述第二时刻晚于所述第一时刻;根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或等于所述预设阈值,向所述云渲染平台发出恢复渲染指令,以指示所述渲染应用恢复图像渲染。
11.可以理解,第一时刻在终端设备上进行操作的用户和第二时刻在终端设备上进行操作的用户可以是同一个人,也可以不是同一个人,这里,第一时刻在终端设备上进行操作的用户和第二时刻在终端设备上进行操作的用户是指对具有同一个具有唯一的设备标识的终端设备进行操作的用户。
12.在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;所述方法还包括:
13.所述终端设备获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的;
14.根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值,重复显示所述另一第一时刻显示的渲染图像,并向所述云渲染平台发出另一暂停渲染指令,以指示所述渲染应用停止图像渲染。
15.在一些可能的设计中,所述终端设备获取另一第二操作数据,其中,所述另一第二操作数据是所述另一用户在另一第二时刻对所述另一渲染应用客户端进行操作产生的;
16.根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或等于所述预设阈值,停止重复显示所述另一第二时刻显示的渲染图像,并向所述云渲染平台发出另一恢复渲染指令,以指示所述渲染应用恢复进行图像渲染。
17.在上述方案中,另一用户在另一终端设备对另一渲染应用客户端进行操作引起终端设备的渲染应用客户端另一第二时刻之后将要显示的图像和所述另一第二时刻显示的渲染图像的区别大于或等于所述预设阈值,指示云渲染平台恢复进行渲染,能够很好地避免其他用户的操作不被显示,导致终端设备的画面出现跳跃。
18.在一些可能的设计中,所述终端设备重复显示所述第一时刻显示的渲染图像,包括:所述终端设备重复显示存储在自身的所述第一时刻显示的渲染图像。
19.在上述方案中,终端设备可以将存储在自身的渲染图像进行重复显示,能够有效减少云渲染平台重复进行图像渲染所需要的计算资源,以及,云渲染平台向终端设备发送的数据所需要的带宽资源。
20.在一些可能的设计中,所述终端设备重复显示所述第一时刻显示的渲染图像,包
括:所述终端设备重复接收并显示所述云渲染平台发送的所述第一时刻显示的渲染图像。
21.在上述方案中,云渲染平台可以将之前已经渲染好的第一时刻显示的渲染图像重复发送给所述终端设备,能够有效减少云渲染平台进行图像渲染所述需要的计算资源,同时,终端设备只需要按照原来的机制将接收到的第一时刻显示的渲染图像进行显示即可,不需要另外设置重复显示机制,以将存储在自身的所述第一时刻显示的渲染图像进行重复显示。
22.第二方面,提供了一种云渲染控制方法,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述方法包括:
23.所述云渲染平台接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
24.根据所述暂停渲染指令停止进行图像渲染。
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.所述确定模块用于根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或等于所述预设阈值,
73.所述发送模块用于向所述云渲染平台发出恢复渲染指令,以指示所述渲染应用恢复图像渲染。
74.在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
75.所述获取模块用于获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的;
76.所述确定模块用于根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值,
77.所述显示模块用于重复显示所述另一第一时刻显示的渲染图像;
78.所述发送模块用于向所述云渲染平台发出另一暂停渲染指令,以指示所述渲染应用停止图像渲染。
79.在一些可能的设计中,所述终端设备获取另一第二操作数据,其中,所述另一第二操作数据是所述另一用户在另一第二时刻对所述另一渲染应用客户端进行操作产生的;
80.所述确定模块用于根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或等于所述预设阈值,
81.所述显示模块用于停止重复显示所述另一第二时刻显示的渲染图像;
82.所述发送模块用于向所述云渲染平台发出另一恢复渲染指令,以指示所述渲染应用恢复进行图像渲染。
83.在一些可能的设计中,所述显示模块用于重复显示存储在自身的所述第一时刻显示的渲染图像。
84.在一些可能的设计中,所述终端设备还包括接收模块,
85.所述接收模块用于重复接收所述云渲染平台发送的所述第一时刻显示的渲染图像;
86.所述显示模块用于显示所述云渲染平台发送的所述第一时刻显示的渲染图像。
87.第六方面,提供了一种云渲染平台,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,包括:接收模块以及渲染模块,
88.所述接收模块用于接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
89.所述渲染模块用于根据所述暂停渲染指令停止进行图像渲染。
90.在一些可能的设计中,所述接收模块用于接收所述终端设备发送的恢复渲染指令,其中,所述恢复渲染指令是所述终端设备根据第二操作数据生成的,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的,所述第二操作数据用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
91.所述渲染模块用于根据所述恢复渲染指令恢复进行图像渲染。
92.在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
93.所述接收模块用于接收所述终端设备发送的另一暂停渲染指令,其中,所述另一暂停渲染指令是所述终端设备根据另一第一操作数据生成的,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第一操作数据用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
94.所述渲染模块用于根据所述另一暂停渲染指令停止进行图像渲染。
95.在一些可能的设计中,所述方法还包括:
96.所述接收模块用于接收所述终端设备发送的另一恢复渲染指令,其中,所述另一恢复渲染指令是所述终端设备根据另一第二操作数据生成的,所述另一第二操作数据是在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的,所述另一第二操作数据用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
97.所述渲染模块用于根据所述另一恢复渲染指令恢复进行图像渲染。
98.在一些可能的设计中,所述云渲染平台还包括发送模块,所述发送模块用于重复向所述终端设备发送所述第一时刻显示的渲染图像。
99.第七方面,提供了一种终端设备,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述终端设备包括发送模块,接收模块以及显示模块,
100.所述发送模块用于向所述云渲染平台发送第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
101.所述接收模块用于接收云渲染平台发送的重复显示命令,其中,所述重复显示命令是所述云渲染平台根据所述第一操作数据生成的,所述第一操作数用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
102.所述显示模块用于根据所述重复显示命令重复显示所述第一时刻显示的渲染图像。
103.在一些可能的设计中,所述终端设备向所述云渲染平台发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
104.所述接收模块用于接收所述云渲染平台发送的恢复显示命令,其中,所述恢复显示命令是所述云渲染平台根据所述第二操作数据生成的,所述第二操作数用于指示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值;
105.所述显示模块用于根据所述恢复显示命令停止重复显示所述第二时刻显示的渲染图像。
106.在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
107.所述接收模块用于接收所述云渲染平台发送的另一重复显示命令,其中,所述另一重复显示命令是所述云渲染平台根据另一第一操作数据生成的,所述另一第一操作数用于指示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
108.所述显示模块用于根据所述另一重复显示命令重复显示所述另一第一时刻显示的渲染图像。
109.在一些可能的设计中,所述终端设备向所述云渲染平台发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述另一用户对所述另一渲染应用客户端进行操作产生的;
110.所述接收模块用于接收所述云渲染平台发送的另一恢复显示命令,其中,所述另一恢复显示命令是所述云渲染平台根据所述另一第二操作数据生成的,所述另一第二操作数用于指示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另
一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
111.所述显示模块用于根据所述另一恢复显示命令停止重复显示所述另一第二时刻显示的渲染图像。
112.在一些可能的设计中,所述显示模块用于重复显示存储在自身的所述第一时刻显示的渲染图像。
113.在一些可能的设计中,所述接收模块用于重复接收所述云渲染平台发送的所述第一时刻显示的渲染图像;
114.所述显示模块用于显示所述云渲染平台发送的所述第一时刻显示的渲染图像。
115.第八方面提供了一种云渲染平台,应用于云渲染系统,所述云渲染系统包括中终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,包括接收模块、确定模块、渲染模块、生成模块以及发送模块,
116.所述接收模块用于接收所述终端设备发送的第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
117.所述确定模块用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
118.所述渲染模块用于停止进行图像渲染;
119.所述生成模块用于生成重复显示命令;
120.所述发送模块用于向所述终端设备发送所述重复显示命令,其中,所述重复显示命令用于指示所述终端设备重复显示所述第一时刻显示的渲染图像。
121.在一些可能的设计中,所述云渲染平台接收所述终端设备发送第二操作数据,其中,所述第二操作数据是在第二时刻所述用户对所述渲染应用客户端进行操作产生的;
122.所述确定模块用于根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
123.所述渲染模块用于恢复进行图像渲染;
124.所述生成模块用于生成恢复显示命令;
125.所述发送模块用于向所述终端设备发送所述恢复显示命令,其中,所述恢复显示命令用于指示所述终端设备停止重复显示所述第二时刻显示的渲染图像。
126.在一些可能的设计中,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像;
127.所述接收模块用于接收所述终端设备发送另一第一操作数据,其中,所述另一第一操作数据是在另一第一时刻另一用户对所述另一渲染应用客户端进行操作产生的;
128.所述确定模块用于根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值;
129.所述渲染模块用于停止进行图像渲染;
130.所述生成模块用于生成另一重复显示命令;
131.所述发送模块用于向所述终端设备发送所述另一重复显示命令,其中,所述另一重复显示命令用于指示所述终端设备重复显示所述另一第一时刻显示的渲染图像。
132.在一些可能的设计中,所述接收模块用于接收所述终端设备发送另一第二操作数据,其中,所述另一第二操作数据是在另一第二时刻所述用户对所述另一渲染应用客户端进行操作产生的;
133.所述确定模块用于根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于所述预设阈值;
134.所述渲染模块用于恢复进行图像渲染;
135.所述生成模块用于生成另一恢复显示命令;
136.所述发送模块用于向所述终端设备发送所述另一恢复显示命令,其中,所述另一恢复显示命令用于指示所述终端设备停止重复显示所述另一第二时刻显示的渲染图像。
137.第九方面,提供了一种终端设备,所述终端设备包括处理器以及存储器,所述处理器执行所述存储器中的程序,从而执行如第一方面或者第三方面任一项所述的方法。
138.第十方面,提供了一种云渲染平台,所述云渲染平台包括多个云渲染节点,每个云渲染节点包括处理器以及存储器,所述处理器执行所述存储器中的程序,从而执行如第二方面或者第四方面任一项所述的方法。
139.第十一方面,提供了一种计算机可读存储介质,其特征在于,包括指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面或者第三方面任一项所述的方法。
140.第十二方面,提供了一种计算机可读存储介质,其特征在于,包括指令,当所述指令在云渲染节点上运行时,使得所述云渲染节点执行如第二方面或者第四方面任一项所述的方法。
141.第十三方面,提供了一种云渲染系统,包括终端设备、网络设备以及云渲染平台,其中,所述终端设备通过所述网络设备连接所述云渲染平台,所述云渲染平台包括多个云渲染节点,当所述终端设备用于执行第一方面任一项所述的方法时,所述云渲染节点用于执行第二方面任一项所述的方法;当所述终端设备用于第三方面任一项所述的方法时,所述云渲染节点用于执行第四方面任一项所述的方法。
附图说明
142.为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
143.图1a-图1b是本技术提供的一些云渲染系统的结构示意图;
144.图2是本技术提供的一种云渲染方法的流程示意图;
145.图3是本技术提供的一种从不同角度观察渲染场景的示意图;
146.图4是本技术提供的第一种云渲染控制方法的流程示意图;
147.图5是本技术提供的一种预测模型的结构示意图;
148.图6是本技术提供的第二种云渲染控制方法的流程示意图;
149.图7是本技术提供的第三种云渲染控制方法的流程示意图;
150.图8是本技术提供的第四种云渲染控制方法的流程示意图;
151.图9是本技术提供的一种云渲染系统的示意图;
152.图10是本技术提供的另一种云渲染系统的示意图;
153.图11是一种实现方式的智能终端的结构框图;
154.图12是一种实现方式的电脑的结构框图;
155.图13是一种实现方式的云渲染平台的结构框图。
具体实施方式
156.参见图1a,图1a是本技术涉及的一种云渲染系统的结构示意图。本技术的云渲染系统用于通过渲染方法对渲染场景的3d模型进行渲染得到的2d图像,即渲染图像。其中,渲染方法可以包括光线跟踪渲染等等。本技术的云渲染系统可以包括:终端设备110、网络设备120以及云渲染平台130。
157.终端设备110是可以运行渲染应用客户端,渲染应用客户端是用户和服务器之间中介,用户向渲染应用客户端输入指令,渲染应用客户端将指令翻译成数据发送给云渲染平台130,云渲染平台130对数据处理完毕后返回渲染图像,然后,再由渲染应用客户端将渲染图像进行呈现给用户,例如,游戏应用客户端、vr应用客户端、电影特效应用客户端以及动画应用客户端等等。终端设备110的数量可以是一个,也可以是多个。以终端设备110的数量为两个为例,一个终端设备110上可以安装有一个渲染应用客户端,该终端设备110上的渲染应用客户端可以与云渲染平台130中的渲染应用进行通信,另一终端设备110上可以安装有另一渲染应用客户端,该另一终端设备110上的渲染应用客户端也可以与云渲染平台130中的渲染应用进行通信。在一些具体的实施例中,终端设备110可以是用于显示飞行训练情景的虚拟现实设备(virtual reality,vr)、可以是用于显示虚拟游戏情景的电脑以及用于显示虚拟商城场景的智能手机等等,此处不作具体限定。终端设备可以是高配置、高性能(例如,多核、高主频、内存大等等)的设备,也可以是低配置,低性能(例如,单核、低主频、内存小等等)的设备。
158.网络设备120用于在终端设备110通过任何通信机制/通信标准的通信网络与云渲染平台23之间传输数据。其中,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
159.云渲染平台130包括多个云渲染节点,每个云渲染节点自下而上包括渲染硬件、虚拟化服务、渲染引擎以及渲染服务端应用。其中,
160.渲染硬件包括计算资源、存储资源以及网络资源。计算资源可以采用异构计算架构,例如,可以采用中央处理器(central processing unit,cpu)+图形处理器(graphics processing unit,gpu)架构,cpu+ai芯片,cpu+gpu+ai芯片架构等等,此处不作具体限定。存储资源可以包括内存等等。这里,计算资源可以被分成多个计算单位资源,存储资源可以被分成多个存储单位资源,网络资源可以被分成多个网络单位资源。因此,云渲染平台可以按照用户的资源需求以单位资源为基础进行自由组合,从而用户的需要提供资源。例如,计算资源可以被分成5u的计算单位资源,存储资源可以被分成10g的存储单位资源,则计算资
源和存储资源的组合可以是,5u+10g,5u+20g,5u+30u,

,10u+10g,10u+20g,10u+30u,

。虚拟化服务是通过虚拟化技术将多个物理主机的资源构建为统一的资源池,并按照用户的需要灵活地隔离出相互独立的资源以运行用户的应用程序的服务。
161.虚拟化服务可以包括虚拟机(virtual machine,vm)服务、裸金属服务器(bare metal server,bms)服务以及容器(container)服务。其中,vm服务可以是通过虚拟化技术在多个物理主机上虚拟出虚拟机(virtual machine,vm)资源池以为用户按需提供vm进行使用的服务。bms服务是在多个物理主机上虚拟出bms资源池以为用户按需提供bms进行使用的服务。容器服务是在多个物理主机上虚拟出容器资源池以为用户按需提供容器进行使用的服务。vm是模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。bms是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以达到隔离用户空间、进程和资源的目的。应理解,上述虚拟化服务中的vm服务、bms服务以及容器服务仅仅是作为具体的事例,在实际应用中,虚拟化服务还可以其他轻量级或者重量级的虚拟化服务,此处不作具体限定。
162.渲染引擎可以用于实现图像渲染算法,例如,optix、unity等等。
163.渲染服务端应用可以用于调用渲染引擎以完成渲染图像的渲染,常见的渲染服务端应用可以包括:游戏服务端应用、vr服务端应用、电影特效服务端应用以及动画服务端应用等等。
164.应理解,图1a所示的云渲染系统仅仅是作为具体的示例,在实际应用中个,如图1b所示还可以包括管理设备140,管理设备140可以是第三方设备,例如,提供3d游戏的应用程序的游戏开发商的设备等等,此处不作具体限定。
165.参见图2,图2是本技术提供的一种云渲染方法的流程示意图。如图2所示,本技术的云渲染方法包括如下步骤:
166.s101:终端设备向网络设备发送渲染请求。相应地,网络设备接收终端设备发送的渲染请求。
167.s102:网络设备向云渲染平台发送渲染请求。相应地,云渲染平台接收网络设备发送的渲染请求。
168.s103:云渲染平台根据渲染请求进行渲染从而得到渲染图像。
169.s104:云渲染平台将渲染图像发送给网络设备。相应地,网络设备接收云渲染平台发送的渲染图像。
170.s105:网络设备将渲染图像发送给终端设备。相应地,终端设备接收网络设备发送的渲染图像。
171.上述图2所示的云渲染方法中,终端设备可以通过网络设备连接到云渲染平台,借助云渲染平台的强大硬件进行复杂的渲染工作从而得到渲染图像,然后,把渲染图像传输到终端设备,因此,终端设备只需要具备普通运算能力即可。云渲染系统将计算负载从终端设备分离出来,渲染应用的运行不再受制于终端设备侧的硬件能力,有利于渲染应用的开发和推广销售。但是,游戏进行中,云渲染平台是持续不断地进行渲染的,也就是说,即使游戏画面处于静止状态时,仍然会进行重复渲染,需要占用巨大的计算资源,同时,云渲染平台和终端设备还需要不断地将进行数据传输(包括渲染请求以及渲染图像),需要占用大量的网络资源和存储资源。
172.为了解决上述问题,本技术提出了一种云渲染控制方法、设备以及系统,能够有效降低对资源的需求。
173.渲染图像通常取决于渲染场景以及视角。其中,渲染场景可以是游戏场景、虚拟购物商城场景、模拟实战场景等等,渲染场景包括至少一个光源以及至少一个3维模型,例如,游戏场景中的游戏角色是3维模型、湖是3维模型、山是3维模型、怪物是3维模型等等。视角为用户观察所述渲染场景的角度。不言而喻,当视角相同,渲染场景不同时,渲染图像的将会不同,这个非常容易理解,此处不额外举例说明。当渲染场景相同,视角不同时,渲染图像也会不相同,以图3所示为例,渲染场景可以如图3中的(a)所示,此时,当用户通过第一角度观察渲染场景时,得到的渲染图像如图3中的(b)所示,当用户通过第二角度观察渲染场景时,得到的渲染图像如图3中的(c)所示。相反,当渲染场景相同,并且,视角相同时,渲染图像也相同。
174.渲染场景的变化将会影响渲染图像的变化,而,渲染场景是否发生变化的影响因素有很多,不同的渲染场景,影响因素也各不相同。以渲染场景为游戏场景为例,渲染场景是否发生变化可能是以下因素导致的:用户操作的游戏角色的位置是否发生了变化、用户观察所述渲染场景的角度是否发生了变化、游戏辅助操作发生是否了变化、他人操作是否引起了变化。
175.具体地,在忽略其他因素的情况下,如果用户操作的游戏角色的位置发生了变化,渲染场景将会发生变化,如果用户操作的游戏角色的位置没有发生变化,渲染场景将不会发生变化。在忽略其他因素的情况下,如果用户操作的游戏角色观察渲染场景的角度发生了变化,渲染场景将会发生变化,如果用户操作的游戏角色观察渲染场景的角度没有发生变化,渲染场景将不会发生变化。在忽略其他因素的情况下,如果游戏辅助操作发生了变化,渲染场景将会发生变化,如果游戏辅助操作没有发生变化,渲染场景将不会发生变化。在忽略其他因素的情况下,如果他人操作引起了变化,渲染场景将会发生变化,如果他人操作没有引起变化,渲染场景将不会发生变化。
176.结合一些具体的例子进行说明,对于游戏角色的位置来说,假设用户操作的游戏角色从位置从湖边移动到了山边,明显地,游戏场景将会发生变化。对于游戏辅助操作来说,假设进行了游戏角色的换装操作,明显地,游戏场景将会发生变化。对于游戏角色观察渲染场景的角度来说,假设用户操作的游戏角色从抬头看天空变成低头看地面,明显地,游戏场景将会发生变化。对于他人操作来说,假设用户和他人在联机玩游戏,用户操作的游戏角色和他人操作的游戏角色都在湖边杀怪,明显地,他人灭杀怪物,也会引起游戏场景将会发生变化。应理解,上述例子中游戏角色位置、游戏辅助操作以及他人操作引起游戏场景的变化的例子仅仅是作为具体举例,此处不作具体限定。
177.下面将以用户操作的游戏角色的位置、游戏辅助操作以及他人操作为例,详细说明渲染图像是否发生变化的影响因素是如何检测出来的。具体地,
178.用户操作的游戏角色的位置是否发生变化可以通过以下方式检测出来:假设游戏角色的第一位置(x1,y1),之后,游戏角色行进到第二位置(x2,y2),如果x
2-x1≠0或者y
2-y1≠0,则用户操作的游戏角色的位置发生了变化,如果x
2-x1=0,并且,y
2-y1=0,则用户操作的游戏角色的位置没有发生变化。其中,x1为游戏角色在屏幕(显示屏或者触摸屏)中的第一横坐标,y1为游戏角色在屏幕(显示屏或者触摸屏)中的第一纵坐标,x2为游戏角色在屏幕
(显示屏或者触摸屏)中的第二横坐标,y2为游戏角色在屏幕(显示屏或者触摸屏)中的第二纵坐标。当终端设备为电脑时,用户可以通过键盘上的方向键控制游戏角色前后左右行进,或者,通过鼠标的滚轮控制游戏角色前后行进,当终端设备为智能手机时,用户可以通过点击触摸屏控制游戏角色前后左右行进,当终端设备为vr设备时,用户可以通过手柄或者手势检测控制戏角色前后左右行进。可以理解,上述游戏角色的行进方式仅仅是作为举例,在其他的应用中,还可以是通过鼠标的左右键控制游戏角色前后行进等等,此处不作具体限定。
179.游戏角色观察渲染场景的角度是否发生变化可以通过以下方式检测出来:假设游戏角色观察渲染场景的角度为第一角度θ1,之后,游戏角色观察渲染场景的角度变为第二角度θ2,如果θ
2-θ1≠0,则用户操作的游戏角色观察渲染场景的角度发生了变化,如果θ
2-θ1=0,则用户操作的游戏角色观察渲染场景的角度没有发生变化。
180.游戏辅助操作是否发生了变化可以通过以下方式检测出来:假设游戏具有n项游戏辅助操作p1,p2,

,pn,如果没有执行了pi项游戏辅助操作,则该项游戏辅助操作可以记为0,如果执行了pi项游戏辅助操作,则该项游戏辅助操作可以记为1。这里,游戏辅助操作可以是指为游戏角色更换衣服,添加放烟花特效,为游戏角色增加攻击武器等等操作。
181.举个例子说明,如果游戏辅助操作的第一操作记录为(p1=0,p2=0,

,pn=0),之后,游戏辅助操作的第二操作记录为(p1=0,p2=1,

,pn=1),则可以判断游戏辅助操作发生了变化,如果游戏辅助操作的第一操作记录为(p1=0,p2=0,

,pn=0),之后,游戏辅助操作的第二操作记录为(p1=0,p2=0,

,pn=0),则可以判断游戏辅助操作没有发生变化。当终端设备为电脑时,用户可以快捷键进行游戏辅助操作,或者,通过鼠标对游戏的菜单进行点击从而执行游戏辅助操作,当终端设备为智能手机时,用户可以通过触控触摸屏,从而进行游戏辅助操作,当终端设备为vr设备时,用户可以通过手柄或者手势检测进行游戏辅助操作。
182.他人操作是否引起了变化可以通过以下方式检测出来:假设游戏场景中具有n个模型,每个模型可以是其他游戏人物或环境特征等,记为m1,m2,

,mn。选择能够出现在该用户视野范围内的模型子集,记为s1,s2,

,sk。如果该游戏模型子集中模型si发生了变化,则该模型变化可以记为si=1;如果该模型没有变化可以记为si=0。举个例子说明,如果游戏场景的第一变化记录为(s1=0,s2=0,

,sn=0),之后,游戏场景的第二变化记录为(s1=0,s2=1,

,sn=0),则可以判断该用户的视野空间因为他人操作引起了变化,反之,如果游戏场景的第一变化记录为(s1=0,s2=0,

,sn=0),之后,游戏场景的第二变化记录为(s1=0,s2=0,

,sn=0),则可以判断该用户的视野空间没有因为他人操作引起了变化。
183.应理解,上述例子中是以游戏角色的位置、游戏角色观察渲染场景的角度、游戏辅助操作以及他人操作为例进行说明的,在其他的实施例中,渲染场景是否发生变化的影响因素还可以是游戏定时操作引起的变化,例如,游戏定时投放怪物引起的变化,此处不作具体限定。
184.参见图4,图4是本技术提供的第一种云渲染控制方法的流程示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像。如图4所
示,本实施方式的云渲染控制方法能够在图1a或者图1b所示的云渲染系统上实现,包括如下步骤:
185.s201:终端设备获取第一操作数据,其中,所述第一操作数据是根据用户在第一时刻对所述渲染应用客户端的操作状态产生的。
186.在一些可能的实施方式中,用户可以是指使用终端设备的人,使用该终端设备的人可以是同一个人,也可以是不同的人。例如,当渲染应用客户端是安装在个人电脑中的游戏应用客户端时,使用该渲染应用客户端的人可以是一直不变的,当渲染应用客户端是安装在公司电脑中的电影特效应用客户端时,使用该渲染应用客户端的人可能会发生变化,即,由不同的员工轮流对该渲染应用客户端进行操作。
187.在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,第一操作数据可以包括第一用户位置数据,第一视角方向数据以及第一游戏辅助操作数据。其中,第一用户位置数据用于表示在第一时刻是否由于用户操作引起游戏角色的位置发生变化。以二元化数据表示时,第一用户位置数据为“0”时,表示在第一时刻没有由于用户操作引起游戏角色的位置发生变化,第一用户位置数据为“1”时,表示在第一时刻由于用户操作引起游戏角色的位置发生变化。第一视角方向数据用于表示在第一时刻是否由于用户操作引起游戏角色观察游戏场景的视角发生了变化。以二元化数据表示时,第一视角方向数据为“0”时,表示在第一时刻没有由于用户操作引起游戏角色观察游戏场景的视角发生变化,第一视角方向数据为“1”时,表示在第一时刻由于用户操作引起游戏角色观察游戏场景的视角发生了变化。第一游戏辅助操作数据用于表示在第一时刻是否由于用户辅助操作引起了渲染场景发生了变化。以二元化数据表示时,第一游戏辅助操作数据为“0”时,表示在第一时刻没有由于用户辅助操作引起了渲染场景发生了变化,第一游戏辅助操作数据为“1”时,表示在第一时刻由于用户辅助操作引起了渲染场景发生了变化。
188.s202:终端设备根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
189.在一些可能的实施方式中,所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值意味着:渲染应用客户端在第一时刻之后要显示的渲染图像和第一时刻显示的渲染图像没有差别,或者,差别不大。这里,没有差别是指在第一时刻之后要显示的渲染图像和第一时刻显示的渲染图像完全相同,即,第一时刻之后要显示的渲染图像减去第一时刻显示的渲染图像得到的残差图像中的元素全部为零,差别不大是指在第一时刻之后要显示的渲染图像和第一时刻显示的渲染图像并不完全相同,即,第一时刻之后要显示的渲染图像减去第一时刻显示的渲染图像得到的残差图像中的元素不是元素全部为零,但是,这种差别人的肉眼是难以发现的。
190.在一些可能的实施方式中,第一时刻和第一时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,第一时刻和第一时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
191.在一些可能的实施方式中,根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的方法为:
192.将所述第一操作数据输入预测模型,从而得到第一预测结果,其中,第一预测结果
用于表示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
193.y1=f(x1)
194.其中,y1为第一预测结果,x1为第一操作数据。f()包含第一操作数据与第一预测结果的映射关系。
195.在一具体的实施例中,如图5所示,预测模型可以包括深度神经网络(deep neural networks,dnn)。其中,深度神经网络包括输入层、隐藏层以及输出层。
196.输入层:
197.假设输入层的输入为第一操作数x1,输出和输入相等si=x1,即,不对输入进行任何处理。为了陈述简便,此处假设输入层不作任何处理,但是,在实际应用中,可以对输入层进行归一化等等处理,此处不作具体限定。
198.隐藏层:
199.将输入层输出的si作为隐藏层的输入,假设总共l(l 2)层隐藏层,设z
l
表示第l层的输出结果,当l=1时,z1=si,其中,1≤l≤l,那么,第l层和第l+1层之间的关系为:
200.a
l+1
=w
lzl
+b
l
201.z
l+1
=f
l+1
(a
l+1
)
202.其中,w
l
为第l层的权值向量,b
l
为第l层的偏置向量,a
l+1
为第l+1层的中间向量,f
l+1
为第l+1层的激励函数,z
l+1
为第l+1层的隐藏层结果。激励函数可以是sigmoid函数,双曲正切函数,relu函数,elu(exponential linear units)函数等等中的任意一种。
203.输出层:
204.假设第l层的预测结果z
l
具体为(z1,z2),其中,z1用于表示渲染客户端应用的下一帧的渲染图像的画面内容和当前帧的渲染图像的画面内容没有发生变化,z2用于表示渲染客户端应用的下一帧的渲染图像的画面内容和当前帧的渲染图像的画面内容发生了变化,则通过softmax函数得到的运行数据的预测结果z1以及z2的观察概率为:
[0205][0206]
其中,为z1的观察概率,为z2的观察概率,e为自然数。可以理解,上述例子中以softmax函数为例进行说明,但是,在实际的应用中,还可以采用逻辑斯谛函数(logistic)函数等等,此处不作具体限定。
[0207]
当预测结果z1的观察概率大于预测结果z2的观察概率时,第一预测结果y1为预测结果z1;当预测结果z1的观察概率小于或者等于预测结果z2的观察概率时,第一预测结果y1为预测结果z2。
[0208]
预测模型可以是这样训练得到的:对于单次训练来说,因为预测模型的输出尽可能的接近真正想要的预测结果,所以,可以将已知运行数据输入预测模型,从而得到预测值,并将对应的已知预测结果作为真正想要的目标值,比较预测值和目标值,再根据两者之间的差异值来更新预测模型中的深度神经网络的每一层的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为预测模型中的各层预先配置参数)。依照上述的方式不断地调整,直到预测模型输出的预测值与目标值的差异值足够的小。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值之间的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么预测模型的训练就变成了尽可能缩小这个loss的过程。
[0209]
s203:在确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的情况下,终端设备重复显示存储在自身的第一时刻显示的渲染图像。
[0210]
s204:终端设备通过网络设备向云渲染平台发出暂停渲染指令。相应地,云渲染平台接收终端设备通过网络设备发送的暂停渲染指令。
[0211]
s205:云渲染平台根据所述暂停渲染指令停止进行图像渲染。
[0212]
s206:终端设备获取第二操作数据,其中,所述第二操作数据是根据用户在第二时刻对所述渲染应用客户端的操作状态产生的。
[0213]
在一些可能的实施方式中,第一时刻和第二时刻使用所述终端设备的用户可以是同一个人,也可以不是同一个人。
[0214]
在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,第二操作数据可以包括第二用户位置数据,第二视角方向数据以及第二游戏辅助操作数据。其中,第二用户位置数据用于表示在第二时刻是否由于用户操作引起游戏角色的位置发生变化。以二元化数据表示时,第二用户位置数据为“0”时,表示在第二时刻没有由于用户操作引起游戏角色的位置发生变化,第二用户位置数据为“1”时,表示在第二时刻由于用户操作引起游戏角色的位置发生变化。第二视角方向数据用于表示在第二时刻是否由于用户操作引起游戏角色观察游戏场景的视角发生了变化。以二元化数据表示时,第二视角方向数据为“0”时,表示在第二时刻没有由于用户操作引起游戏角色观察游戏场景的视角发生变化,第二视角方向数据为“1”时,表示在第二时刻由于用户操作引起游戏角色观察游戏场景的视角发生了变化。第二游戏辅助操作数据用于表示在第二时刻是否由于用户辅助操作引起了渲染场景发生了变化。以二元化数据表示时,第二游戏辅助操作数据为“0”时,表示在第二时刻没有由于用户辅助操作引起了渲染场景发生了变化,第二游戏辅助操作数据为“1”时,表示在第二时刻由于用户辅助操作引起了渲染场景发生了变化。
[0215]
s207:终端设备根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值。
[0216]
在一些可能的实施方式中,所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值意味着:渲染应用客户端在第二时刻之后要显示的渲染图像和第二时刻显示的渲染图像差别比较大。这里,差别比较大是第二时刻之后要显示的渲染图像减去第二时刻显示的渲染图像得到的残差图像中的元素大部分不为零,这种差别人的肉眼是容易发现的。
[0217]
在一些可能的实施方式中,第二时刻和第二时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,第二时刻和第二时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
[0218]
在一些可能的实施方式中,根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等
于预设阈值的方法为:
[0219]
将所述第二操作数据输入预测模型,从而得到第二预测结果,其中,第二预测结果用于表示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
[0220]
y2=f(x2)
[0221]
其中,y2为第二预测结果,x2为第二操作数据。f()包含第二操作数据与第二预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程与步骤s202中的使用预测模型进行预测的过程,以及,预测模型的训练过程相类似,具体可以参见步骤s202,此处不再展开描述。
[0222]
在一具体的实施例中,第二时刻晚于第一时刻,如果从第一时刻至第二时刻,第一时刻要显示的渲染图像和第二时刻要显示的渲染图像没有差别或者差别不大,那么,第一时刻显示的渲染图像和第二时刻显示的渲染图像可以是同一帧渲染图像。
[0223]
s208:在所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,终端设备停止重复显示第二时刻显示的渲染图像。
[0224]
s209:终端设备通过网络设备向云渲染平台发出恢复渲染指令。相应地,云渲染平台通过网络设备接收终端设备发送的恢复渲染指令。
[0225]
s210:云渲染平台根据所述恢复渲染指令恢复进行图像渲染,从而得到新的渲染图像。
[0226]
s211:云渲染平台将所述新的渲染图像发送给终端设备。相应地,终端设备接收云渲染平台发送的新的渲染图像。
[0227]
s212:终端设备在第三时刻显示所述云渲染平台发送的所述新的渲染图像。
[0228]
在上述例子中,预测模型可以是离线训练好的,然后,设置在终端设备中的。云渲染平台在接收到暂停渲染指令之后,停止进行图像渲染,终端设备将存储在自身的第一时刻显示的渲染图像进行重复显示,可以有效地减少云渲染平台的计算资源的浪费,也可以有效地减少终端设备和云渲染平台之间进行数据传输所需要的带宽资源。
[0229]
应理解,上述例子中是以终端设备将自身存储的第一时刻显示的渲染图像进行重复显示为例进行说明,在其他的应用中,终端设备还可以重复接收云渲染平台发送的第一时刻显示的渲染图像并显示,此时,尽快需要占据终端设备和云渲染平台之间进行数据传输所需要的带宽资源,但是,终端设备只需要正常接收第一时刻显示的渲染图像即可,不需要对终端设备进行改进。
[0230]
参见图6,图6是本技术提供的第二种云渲染控制方法的流程示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像。如图6所示,本实施方式的云渲染控制方法能够在图1a或者图1b所示的云渲染系统上实现,包括如下步骤:
[0231]
s301:终端设备获取第一操作数据,其中,所述第一操作数据是根据用户在第一时刻对所述渲染应用客户端的操作状态产生的。
[0232]
s302:终端设备向云渲染平台发送第一操作数据。相应地,云渲染平台接收终端设备发送的第一操作数据。
[0233]
s303:云渲染平台根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
[0234]
在一些可能的实施方式中,根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的方法为:
[0235]
将所述第一操作数据输入预测模型,从而得到第一预测结果,其中,第一预测结果用于表示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
[0236]
y1=f(x1)
[0237]
其中,y1为第一预测结果,x1为第一操作数据。f()包含第一操作数据与第一预测结果的映射关系。
[0238]
s304:在确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值的情况下,云渲染平台停止进行图像渲染,并生成重复显示命令。
[0239]
s305:云渲染平台通过网络设备向终端设备发出重复显示命令。相应地,终端设备接收云渲染平台通过网络设备发送的重复显示命令。
[0240]
s306:终端设备根据所述重复显示命令,重复显示存储在自身的第一时刻显示的渲染图像。
[0241]
s307:终端设备获取第二操作数据,其中,所述第二操作数据是根据用户在第二时刻对所述渲染应用客户端的操作状态产生的。
[0242]
s308:终端设备向云渲染平台发送第二操作数据。相应地,云渲染平台接收终端设备发送的第二操作数据。
[0243]
s309:云渲染平台根据所述第二操作数据确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值。
[0244]
在一些可能的实施方式中,将所述第二操作数据输入预测模型,从而得到第二预测结果,其中,第二预测结果用于表示所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
[0245]
y2=f(x2)
[0246]
其中,y2为第二预测结果,x2为第二操作数据。f()包含第二操作数据与第二预测结果的映射关系。
[0247]
s310:在确定所述渲染应用客户端在所述第二时刻之后将要显示的渲染图像和所述第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,云渲染平台恢复进行图像渲染从而得到新的渲染图像,并生成恢复显示命令。
[0248]
s311:云渲染平台通过网络设备向终端设备发出恢复显示命令以及新的渲染图像。相应地,终端设备接收云渲染平台通过网络设备发送的恢复显示命令以及新的渲染图
像。
[0249]
s312:终端设备根据所述恢复显示命令,停止重复显示存储在自身的第二时刻显示的渲染图像,并显示所述新的图像。
[0250]
在本实施例中,预测模型设置在云渲染平台中,采用离线训练或者在线训练。云渲染平台在接收到暂停渲染指令之后,停止进行图像渲染,终端设备将存储在自身的第一时刻显示的渲染图像进行重复显示,可以有效地减少云渲染平台的计算资源的浪费,也可以有效地减少终端设备和云渲染平台之间进行数据传输所需要的带宽资源,并且,预测模型设置在云渲染平台可以有效减少对终端设备的要求,有利于降低终端设备的成本。
[0251]
上述图4以及图6所示的云渲染控制方法可以应用于单机模式或者多机模式下。
[0252]
参见图7,图7是本技术提供的第二种云渲染控制方法的流程示意图。本实施方式的云渲染控制方法,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述云渲染系统还包括另一终端设备,所述另一终端设备设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像。如图7所示,本实施方式的云渲染控制方法能够在图1a或者图1b所示的云渲染系统上实现,包括如下步骤:
[0253]
s401:终端设备获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的。
[0254]
在一些可能的实施方式中,另一用户可以是指使用另一终端设备的人,使用该另一终端设备的人可以是同一个人,也可以是不同的人。例如,当另一渲染应用客户端是安装在个人电脑中的游戏应用客户端时,使用该另一渲染应用客户端的人可以是一直不变的,当该另一渲染应用客户端是安装在公司电脑中的电影特效应用客户端时,使用该另一渲染应用客户端的人可能会发生变化,即,由不同的员工轮流对该另一渲染应用客户端进行操作。
[0255]
在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,另一第一操作数据可以包括第一他人操作数据,其中,第一他人操作数据用于表示在另一第一时刻是否由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。以二元化数据表示时,第一他人操作数据为“0”时,表示在另一第一时刻没有由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化,第一他人操作数据为“1”时,表示在另一第一时刻由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。
[0256]
s402:终端设备根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值。
[0257]
在一些可能的实施方式中,所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值意味着:渲染应用客户端在另一第一时刻之后要显示的渲染图像和另一第一时刻显示的渲染图像没有差别,
或者,差别不大。这里,没有差别是指在另一第一时刻之后要显示的渲染图像和另一第一时刻显示的渲染图像完全相同,即,另一第一时刻之后要显示的渲染图像减去另一第一时刻显示的渲染图像得到的残差图像中的元素全部为零,差别不大是指在另一第一时刻之后要显示的渲染图像和另一第一时刻显示的渲染图像并不完全相同,即,另一第一时刻之后要显示的渲染图像减去另一第一时刻显示的渲染图像得到的残差图像中的元素不是元素全部为零,但是,这种差别人的肉眼是难以发现的。
[0258]
在一些可能的实施方式中,另一第一时刻和另一第一时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,另一第一时刻和另一第一时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
[0259]
在一些可能的实施方式中,根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的方法为:
[0260]
将所述另一第一操作数据输入预测模型,从而得到第三预测结果,其中,第三预测结果用于表示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
[0261]
y3=f(x3)
[0262]
其中,y3为第三预测结果,x3为另一第一操作数据。f()包含另一第一操作数据与第三预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程与步骤s202中的使用预测模型进行预测的过程,以及,预测模型的训练过程相类似,具体可以参见步骤s202,此处不再展开描述。
[0263]
s403:在确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的情况下,终端设备重复显示存储在自身的另一第一时刻显示的渲染图像。
[0264]
s404:终端设备通过网络设备向云渲染平台发出另一暂停渲染指令。相应地,云渲染平台接收终端设备通过网络设备发送的另一暂停渲染指令。
[0265]
s405:云渲染平台根据所述另一暂停渲染指令停止进行图像渲染。
[0266]
s406:终端设备获取另一第二操作数据,其中,所述另一第二操作数据是根据另一用户在另一第二时刻对所述另一渲染应用客户端的操作状态产生的。
[0267]
在一些可能的实施方式中,另一第一时刻和另一第二时刻使用所述另一终端设备的另一用户可以是同一个人,也可以不是同一个人。
[0268]
在一些可能的实施方式中,另一第一操作数据可以包括第二他人操作数据,其中,第二他人操作数据用于表示在另一第二时刻是否由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。以二元化数据表示时,第二他人操作数据为“0”时,表示在另一第二时刻没有由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化,第二他人操作数据为“1”时,表示在另一第二时刻由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。
[0269]
s407:终端设备根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值。
[0270]
在一些可能的实施方式中,所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值意味着:渲染应用客户端在另一第二时刻之后要显示的渲染图像和另一第二时刻显示的渲染图像差别比较大。这里,差别比较大是另一第二时刻之后要显示的渲染图像减去另一第二时刻显示的渲染图像得到的残差图像中的元素大部分不为零,这种差别人的肉眼是容易发现的。
[0271]
在一些可能的实施方式中,另一第二时刻和另一第二时刻之后的时间间隔长度可以根据需要进行设置,例如,可以是30毫秒,1秒、2秒等等。另外,另一第二时刻和另一第二时刻之后的时间间隔长度可以相隔1帧图像,2帧图像或者更多。
[0272]
在一些可能的实施方式中,根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值的方法为:
[0273]
将所述另一第二操作数据输入预测模型,从而得到第四预测结果,其中,第四预测结果用于表示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
[0274]
y4=f(x4)
[0275]
其中,y4为第四预测结果,x4为另一第二操作数据。f()包含另一第二操作数据与第四预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程可以参见步骤s202,此处不再展开描述。
[0276]
在一具体的实施例中,另一第二时刻晚于另一第一时刻,如果从另一第一时刻至另一第二时刻,另一第一时刻要显示的渲染图像和另一第二时刻要显示的渲染图像没有差别或者差别不大,那么,另一第一时刻显示的渲染图像和另一第二时刻显示的渲染图像可以是同一帧渲染图像。
[0277]
s408:在所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,终端设备停止重复显示另一第二时刻显示的渲染图像。
[0278]
s409:终端设备通过网络设备向云渲染平台发出另一恢复渲染指令。相应地,云渲染平台通过网络设备接收终端设备发送的另一恢复渲染指令。
[0279]
s410:云渲染平台根据所述另一恢复渲染指令恢复进行图像渲染,从而得到新的渲染图像。
[0280]
s411:云渲染平台将所述另一新的渲染图像发送给终端设备。相应地,终端设备接收云渲染平台发送的另一新的渲染图像。
[0281]
s412:终端设备在另一第三时刻显示所述云渲染平台发送的所述另一新的渲染图像。
[0282]
参见图8,图8是本技术提供的第四种云渲染控制方法的流程示意图。本实施方式的云渲染控制方法,应用于云渲染系统,所述云渲染系统包括终端设备以及云渲染平台,所述云渲染平台上设置有渲染应用,所述终端设备设置有渲染应用客户端,所述渲染应用与所述渲染应用客户端之间建立通信,所述渲染应用客户端用于在所述终端设备上显示所述渲染应用渲染得到的渲染图像,所述云渲染系统还包括另一终端设备,所述另一终端设备
设置有另一渲染应用客户端,所述渲染应用与所述另一渲染应用客户端建立通信,所述另一渲染应用客户端用于在所述另一终端设备上显示所述渲染应用渲染得到的另一渲染图像。如图8所示,本实施方式的云渲染控制方法能够在图1a或者图1b所示的云渲染系统上实现,包括如下步骤:
[0283]
s501:终端设备获取另一第一操作数据,其中,所述另一第一操作数据是另一用户在另一第一时刻对所述另一渲染应用客户端进行操作产生的。
[0284]
在一些可能的实施方式中,另一用户可以是指使用另一终端设备的人,使用该另一终端设备的人可以是同一个人,也可以是不同的人。例如,当另一渲染应用客户端是安装在个人电脑中的游戏应用客户端时,使用该另一渲染应用客户端的人可以是一直不变的,当该另一渲染应用客户端是安装在公司电脑中的电影特效应用客户端时,使用该另一渲染应用客户端的人可能会发生变化,即,由不同的员工轮流对该另一渲染应用客户端进行操作。
[0285]
在一些可能的实施方式中,以渲染应用客户端为游戏应用客户端为例,另一第一操作数据可以包括第一他人操作数据,其中,第一他人操作数据用于表示在另一第一时刻是否由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。以二元化数据表示时,第一他人操作数据为“0”时,表示在另一第一时刻没有由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化,第一他人操作数据为“1”时,表示在另一第一时刻由于他人在另一渲染应用客户端进行操作引起本渲染应用客户端的渲染场景发生变化。
[0286]
s502:终端设备向云渲染平台发送另一第一操作数据。相应地,云渲染平台接收终端设备发送的另一第一操作数据。
[0287]
s503:云渲染平台根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值。
[0288]
在一些可能的实施方式中,根据所述另一第一操作数据确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的方法为:
[0289]
将所述另一第一操作数据输入预测模型,从而得到第三预测结果,其中,第三预测结果用于表示所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别是否小于预设阈值,具体表示为:
[0290]
y3=f(x3)
[0291]
其中,y3为第三预测结果,x3为另一第一操作数据。f()包含另一第一操作数据与第三预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程与步骤s202中的使用预测模型进行预测的过程,以及,预测模型的训练过程相类似,具体可以参见步骤s202,此处不再展开描述。
[0292]
s504:在确定所述渲染应用客户端在所述另一第一时刻之后将要显示的渲染图像和所述另一第一时刻显示的渲染图像的区别小于预设阈值的情况下,云渲染平台停止进行图像渲染,并生成另一重复显示命令。
[0293]
s505:云渲染平台通过网络设备向终端设备发出另一重复显示命令。相应地,终端
设备接收云渲染平台通过网络设备发送的另一重复显示命令。
[0294]
s506:终端设备根据所述另一重复显示命令,重复显示存储在自身的另一第一时刻显示的渲染图像。
[0295]
s507:终端设备获取另一第二操作数据,其中,所述另一第二操作数据是根据用户在另一第一时刻对所述渲染应用客户端的操作状态产生的。
[0296]
s508:终端设备向云渲染平台发送另一第二操作数据。相应地,云渲染平台接收终端设备发送的另一第二操作数据。
[0297]
s509:云渲染平台根据所述另一第二操作数据确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值。
[0298]
在一些可能的实施方式中,将所述另一第二操作数据输入预测模型,从而得到第四预测结果,其中,第四预测结果用于表示所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别是否大于或者等于预设阈值,具体表示为:
[0299]
y4=f(x4)
[0300]
其中,y4为第四预测结果,x4为另一第二操作数据。f()包含另一第二操作数据与第四预测结果的映射关系。具体的使用预测模型进行预测的过程,以及,预测模型的训练过程可以参见步骤s202,此处不再展开描述。
[0301]
在一具体的实施例中,另一第二时刻晚于另一第一时刻,如果从另一第一时刻至另一第二时刻,另一第一时刻要显示的渲染图像和另一第二时刻要显示的渲染图像没有差别或者差别不大,那么,另一第一时刻显示的渲染图像和另一第二时刻显示的渲染图像可以是同一帧渲染图像。
[0302]
s510:在确定所述渲染应用客户端在所述另一第二时刻之后将要显示的渲染图像和所述另一第二时刻显示的渲染图像的区别大于或者等于预设阈值的情况下,云渲染平台恢复进行图像渲染从而得到新的渲染图像,并生成另一恢复显示命令。
[0303]
s511:云渲染平台通过网络设备向终端设备发出另一恢复显示命令以及另一新的渲染图像。相应地,终端设备接收云渲染平台通过网络设备发送的另一恢复显示命令以及新的渲染图像。
[0304]
s512:终端设备根据所述另一恢复显示命令,停止重复显示存储在自身的另一第二时刻显示的渲染图像,并显示所述另一新的图像。
[0305]
上述图7以及图8所示的云渲染控制方法可以应用于多机模式下,例如,双人对战游戏等等。应理解,在多机模式下,可以结合图7所示的云渲染控制方法以及图4所示的云渲染控制方法进行使用,可以结合图8所示的云渲染控制方法以及图6所示的云渲染控制方法进行使用,此处不作具体限定。
[0306]
为了简便起见,图4、图6-图8所示的云渲染控制方法并没有展开描述,具体请参见上文中云渲染平台、渲染图像的画面内容、渲染场景以及视角引起画面内容的变化、渲染图像的画面内容是否发生变化的影响因素的检测方法等等,此处不再展开描述。
[0307]
参见图9,图9是本技术提供的一种云渲染系统的示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台。其中,所述终端设备与所述云渲染平台之间相互通信。其
中,所述终端设备包括:获取模块210、确定模块220、显示模块230以及发送模块240。所述云渲染平台包括:接收模块310、渲染模块320以及发送模块330。
[0308]
在一具体的实施方式中,终端设备和云渲染平台可以分别用于实现以下功能:
[0309]
终端设备中的各个模块可以用于实现以下功能:
[0310]
所述获取模块210用于获取第一操作数据,其中,所述第一操作数据是用户在第一时刻对所述渲染应用客户端进行操作产生的;
[0311]
所述确定模块220用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值,
[0312]
所述显示模块230用于重复显示所述第一时刻显示的渲染图像;
[0313]
所述发送模块240用于向所述云渲染平台发出暂停渲染指令,以指示所述渲染应用停止图像渲染。
[0314]
云渲染平台中的各个模块可以用于实现以下功能:
[0315]
所述接收模块310用于接收所述终端设备发送的暂停渲染指令,其中,所述暂停渲染指令是所述终端设备根据第一操作数据生成的,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的,所述第一操作数据用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
[0316]
所述渲染模块320用于根据所述暂停渲染指令停止进行图像渲染。
[0317]
所述发送模块330用于重复向所述终端设备发送所述第一时刻显示的渲染图像。
[0318]
应理解,图9所示的云渲染系统能够运行如图4以及图7所示的云渲染控制方法,具体请参见图4以及图7以及相关描述,此处不再展开赘述。
[0319]
参见图10,图10是本技术提供的一种云渲染系统的示意图。本实施方式的云渲染系统包括终端设备以及云渲染平台。其中,所述终端设备与所述云渲染平台之间相互通信。所述终端设备包括:发送模块410,接收模块420以及显示模块430,所述云渲染平台包括:接收模块510、确定模块520、渲染模块530、生成模块540以及发送模块550。
[0320]
在一具体的实施方式中,终端设备可以用于实现以下功能:
[0321]
所述发送模块410用于向所述云渲染平台发送第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的。
[0322]
所述接收模420块用于接收云渲染平台发送的重复显示命令,其中,所述重复显示命令是所述云渲染平台根据所述第一操作数据生成的,所述第一操作数用于指示所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值。
[0323]
所述显示模块430用于根据所述重复显示命令重复显示所述第一时刻显示的渲染图像。
[0324]
在一具体的实施方式中,云渲染平台可以用于实现以下功能:
[0325]
所述接收模块510用于接收所述终端设备发送的第一操作数据,其中,所述第一操作数据是在第一时刻用户对所述渲染应用客户端进行操作产生的;
[0326]
所述确定模块520用于根据所述第一操作数据确定所述渲染应用客户端在所述第一时刻之后将要显示的渲染图像和所述第一时刻显示的渲染图像的区别小于预设阈值;
[0327]
所述渲染模块530用于停止进行图像渲染;
[0328]
所述生成模块540用于生成重复显示命令;
[0329]
所述发送模块550用于向所述终端设备发送所述重复显示命令,其中,所述重复显示命令用于指示所述终端设备重复显示所述第一时刻显示的渲染图像。
[0330]
应理解,图10所示的云渲染系统能够运行如图6以及图8所示的云渲染控制方法,具体请参见图6以及图8以及相关描述,此处不再展开赘述。
[0331]
本技术提出的一实施例的云渲染系统,包括终端设备、网络设备以及云渲染平台。其中,终端设备可以通过网络设备与云渲染平台进行通信。终端设备可以是vr设备、电脑以及智能手机等等。云渲染平台包括一个或者多个云渲染节点。
[0332]
以终端设备为智能终端为例,图11是一种实现方式的智能终端的结构框图。如图11所示,智能终端可包括:基带芯片710、存储器715,包括一个或多个计算机可读存储介质、射频(rf)模块716、外围系统717。这些部件可在一个或多个通信总线714上通信。
[0333]
外围系统717主要用于实现智能终端和用户/外部环境之间的交互功能,主要包括智能终端的输入输出装置。具体实现中,外围系统717可包括:触摸屏控制器718、按键控制器719、音频控制器720以及传感器管理模块721。其中,各个控制器可与各自对应的外围设备,例如触摸屏723、按键724、音频电路725以及传感器726,耦合。在一些实施例中,传感器726中的手势传感器可用于接收用户输入的手势控制操作。传感器726中的压力传感器可设置于触摸屏723的下方,可用于采集用户通过触摸屏723输入触控操作时作用于触摸屏723上的触控压力。需要说明的,外围系统717还可以包括其他i/o外设。
[0334]
基带芯片710可集成包括:一个或多个处理器711、时钟模块712以及电源管理模块713。集成于基带芯片710中的时钟模块712主要用于为处理器711产生数据传输和时序控制所需要的时钟。集成于基带芯片710中的电源管理模块713主要用于为处理器711、射频模块716以及外围系统提供稳定的、高精确度的电压。
[0335]
射频(rf)模块716用于接收和发送射频信号,主要集成了智能终端的接收器和发射器。射频(rf)模块716通过射频信号与通信网络和其他通信设备通信。具体实现中,射频(rf)模块716可包括但不限于:天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec芯片、sim卡和存储介质等。此外,射频模块716还可以包括wifi,蓝牙等等短距离无线通信模块。在一些实施例中,可在单独的芯片上实现射频(rf)模块716。
[0336]
存储器715可以包括是随机存取存储器(random access memory,ram)、快闪存储器(flashmemory)等,也可以是ram,只读存储器(read-onlymemory,rom)或者硬盘(hard disk drive,hdd)或固态硬盘(solid-statedrive,ssd)。存储器815可以存储操作系统、通信程序、用户界面程序、浏览器、渲染应用。其中,渲染应用包括游戏应用以及其他渲染应用。
[0337]
以终端设备为电脑为例,图12是一种实现方式的电脑的结构框图。如图12所示,电脑可包括:主机810、输出设备820以及输入设备830。
[0338]
主机810可集成包括:一个或多个处理器、时钟模块以及电源管理模块。集成于主机810中的时钟模块主要用于为处理器产生数据传输和时序控制所需要的时钟。集成于主机810中的电源管理模块主要用于为处理器、输出设备820以及输入设备830提供稳定的、高
精确度的电压。主机810还集成了存储器,用于存储各种软件程序和/或多组指令。具体实现中,存储器可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器可以存储操作系统,例如android,ios,windows,或者linux等嵌入式操作系统。存储器还可以存储通信程序,该通信程序可用于与一个或多个输入设备或者输出设备进行通信。存储器还可以存储用户界面程序,该用户界面程序可以通过图形化的操作界面将浏览器的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对浏览器的控制操作。存储器还可以存储操作系统、通信程序、用户界面程序、浏览器以及渲染应用等等。其中,渲染应用包括游戏应用以及其他渲染应用。
[0339]
输出设备820主要包括显示器,显示器可包括阴极射线管显示器(cathode ray tube,crt),等离子显示器(plasma display panel,pdp),液晶显示器(liquid crystal display,lcd)等等。以显示器为lcd为例,液晶显示包括液晶面板以及背光模组,其中,液晶显示面板包括偏振膜、玻璃基板、黑色矩阵、彩色滤光片、保护膜、普通电极、校准层、液晶层(液晶、间隔、密封剂)、电容、显示电极、棱镜层、散光层。背光模组包括:照明光源、反射板、导光板、扩散片、增亮膜(棱镜片)及框架等等。
[0340]
输入设备830可以包括键盘和鼠标。键盘和鼠标是最常用也是最主要的输入设备,通过键盘可以将英文字母、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等,通过鼠标可以快速地进行纵横坐标定位,从而简化操作。其中,键盘可以包括机械键盘、塑料薄膜式键盘(mechanical)、导电橡胶式键盘(membrane),无接点静电电容键盘(capacitives)等等,鼠标可以包括滚球鼠标、光电鼠标以及无线鼠标等等。
[0341]
图13是一种实现方式的云渲染平台的结构框图。如图13所示云渲染平台可以包括一个或者多个云渲染节点。云渲染节点包括:处理系统910、第一存储器920、智能网卡930以及总线940。
[0342]
处理系统910可以是采用异构结构,即,包括一个或者多个通用处理器,以及,一个或者多个特殊处理器,例如,gpu或者ai芯片等等,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(central processing unit,cpu)、微处理器、微控制器、主处理器、控制器以及专用集成电路(application specific integrated circuit,asic)等等。通用处理器执行各种类型的数字存储指令,例如存储在第一存储器920中的软件或者固件程序。在一具体的实施例中,通用处理器可以是x86处理器等等。通用处理器通过物理接口将命令发送给第一存储器920,以完成存储相关的任务,例如,通用处理器可以提供的命令包括读取命令、写入命令、复制命令以及擦除命令等等。所述命令可以指定与第一存储器920的特定页和块有关的操作。特殊处理器用于完成图像渲染的复杂运算等等。
[0343]
第一存储器920可以包括是随机存取存储器(random access memory,ram)、快闪存储器(flashmemory)等,也可以是ram,只读存储器(read-onlymemory,rom)或者硬盘(hard disk drive,hdd)或固态硬盘(solid-statedrive,ssd)。第一存储器920存储了实现渲染引擎以及渲染应用的程序代码。
[0344]
智能网卡930,还被称为网络接口控制器、网络接口卡或者局域网(local area network,lan)适配器。每块智能网卡930都有一个唯一的mac地址,是智能网卡930厂家在生产时烧入只读存储芯片中的。智能网卡930包括处理器931、第二存储器932以及收发器933。
处理器931与通用处理器相类似,但是,处理器931的性能要求可以低于通用处理器的性能要求。在一具体的实施例中,处理器931可以是arm处理器等等。第二存储器932也可以是快闪存储器、hdd或者sdd,第二存储器932的存储容量可以小于第一存储器920的存储容量。收发器933可以用于接收和发送报文,并将接收到的报文上传给处理器931进行处理。智能网卡930还可以包括多个端口,端口可以是粗缆接口、细缆接口和双绞线接口三种接口类型中的任意一种或者多种。
[0345]
这里,本实施例的云渲染系统中的终端设备可以用于执行图4、图6-图8中的云渲染控制方法中终端设备所执行的步骤,本实施例的云渲染系统中的云渲染平台可以用于执行图4、图6-图8中的云渲染控制方法中云渲染平台所执行的步骤。另外,本实施例的云渲染系统中的终端设备还可以是图9-图10中云渲染系统中的终端设备,本实施例的云渲染系统中的云渲染平台还可以是图9-图10中云渲染系统中的云渲染平台。
[0346]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态存储盘solid state disk(ssd))等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1