本技术涉及图像渲染领域,尤其涉及一种图像生成方法、设备以及存储介质和程序产品。
背景技术:
1、渲染是指用软件从三维模型生成图像的过程,其中,三维模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。
2、但是,远程计算节点和终端设备之间需要传输大量数据才能完成远程计算节点和终端设备之间的协同渲染,导致大量的传输资源被占据。
技术实现思路
1、为了解决上述问题,本技术提供了一种图像生成方法、设备以及存储介质和程序产品,可以减少传输资源的浪费,并且预测出来的图像呈现更逼真的效果。
2、第一方面,提供了一种图像生成方法,应用于终端装置,所述终端装置所在的渲染系统还包括远端装置,所述方法包括:
3、发送第一状态信息至所述远端装置,其中,所述第一状态信息包括所述终端装置所在的终端设备的第一位置信息和第一姿态信息;
4、根据所述第一状态信息对应的第一渲染图像、所述第一渲染图像中运动区域的指示信息、所述运动区域的纹理信息和所述运动区域的运动趋势,获得中间渲染图像;
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、第九方面,提供了一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如第一方面或者第二方面任一项所述的方法。