一种图像渲染的方法及装置与流程

文档序号:37735023发布日期:2024-04-25 10:01阅读:4来源:国知局
一种图像渲染的方法及装置与流程

本技术涉及计算机,具体涉及一种图像渲染的方法及装置。


背景技术:

1、计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学,渲染是计算机图形学中的重要的研究内容。

2、移动终端由于中央处理器(central processing unit,cpu)和图形处理器(graphics processing unit,gpu)等硬件设备的限制,往往难以达到在个人计算机(personal computer,pc)上同等的渲染真实感和性能。以游戏场景为例,手游相对于端游在渲染的效果和性能方面会有更大的挑战。

3、随着用户对移动终端的依赖度越来越高,在移动终端上进行高帧率、高画质的渲染已经成为未来的趋势,但这样对移动终端的性能也产生了极大的挑战。


技术实现思路

1、本技术提供一种图像渲染的方法,用于以较低的算力提供高画质的图像。本技术还提供了相应的装置、电子设备、计算机可读存储介质和计算机程序产品等。

2、本技术第一方面提供一种图像渲染的方法,包括:按照第一分辨率渲染第一数据帧得到第一图像帧,第一数据帧是电子设备正在运行的应用中一个应用场景的第一个数据帧;按照第二分辨率渲染多个第二数据帧得到多个第二图像帧,第二分辨率低于第一分辨率,多个第二数据帧是一个应用场景中的,且时序上位于第一数据帧之后的数据帧,多个第二数据帧与多个第二图像帧一一对应;以第一图像帧为参考帧,对多个第二图像帧中的每个第二图像帧进行渲染数据的补偿。

3、本技术中,第一分辨率可以理解为是高分辨率,第二分辨率可以理解为是低分辨率,第二分辨率通常为第一分辨率的一半。

4、本技术中,第一数据帧和第二数据帧都可以是渲染指令。

5、本技术中,电子设备正在运行的应用可以是游戏应用,也可以是其他类型需要进行实时渲染的应用。该应用中通常会包括多个应用场景。

6、本技术提供的方案,针对第一场景中的数据帧,只对第一个数据帧按照高分辨率进行渲染,该应用场景的其他数据帧都按照低分辨进行渲染,从而降低了渲染负载,然后再以第一图像帧为参考帧对每个第二图像帧进行渲染数据的补偿,从而补偿了以低分辨渲染得到的第二图像帧中的高频信息,从而提高了第二图像帧的图像画质。这样本技术在图像渲染时就可以以较低的算力提供高画质的图像。

7、在一种可能的实施方式中,电子设备包括第一缓存和第二缓存,第一缓存的大小与第一分辨率对应,第二缓存的大小与第二分辨率对应;第一缓存用于缓存参考帧,第二缓存用于缓存多个第二图像帧中的任一第二图像帧;上述步骤:以第一图像帧为参考帧,对多个第二图像帧中的每个第二图像帧进行渲染数据的补偿,包括:根据第一缓存中的参考帧的渲染数据,对第二缓存中的任一第二图像帧进行渲染数据的补偿。

8、本技术中,因为第一分辨率和第二分辨率不同,所以,采用第一分辨率渲染得到的第一图像帧和采用第二分辨率渲染得到的第二图像帧的大小不同,如:采用第一分辨率渲染得到的第一图像帧是8m,采用第二分辨率渲染得到的第二图像帧是4m。因此,在配置第一缓存和第二缓存时,需要结合第一分辨率和第二分辨率,使得配置的第一缓存的大小可以满足存储第一图像帧的需求,第二缓存的大小可以满足存储第二图像帧的需求。第一缓存的大小即第一缓存的存储容量,如:8m,第二缓存的大小即第二缓存的存储容量,如4m。当然,这里只是举例,并不限定第一缓存和第二缓存的具体数值。

9、该种可能的实现方式中,因为采用第一分辨率渲染得到的第一图像帧和采用第二分辨率渲染得到的第二图像帧的大小不同,所以配置了两套分别与第一分辨率和第二分辨率对应的缓存,这样既能很好的缓存不同分辨率的图像,又不需要配置过大的缓存,从而减少了对存储资源的浪费。

10、在一种可能的实施方式中,上述步骤:按照第一分辨率渲染第一数据帧得到第一图像帧之前,该方法还包括:获取第一数据帧对应的场景指示信息,场景指示信息用于确定是否发生应用场景变换;若根据场景指示信息确定发生应用场景变换,则确定按照第一分辨率渲染第一数据帧。

11、本技术中,场景指示信息指的是可以指示是否发生场景变化的信息,该场景指示信息可以包括虚拟相机的信息、场景标识、模型(model,m)矩阵、视图(view,v)矩阵、投影(projection,p)矩阵、渲染通道信息或渲染指令等。其中,虚拟相机的信息可以是虚拟相机的位置或者角度,如果虚拟相机发生变化那么场景发生了切换,如果同一虚拟相机发生了旋转,若虚拟相机旋转的角度很小,可以理解为场景未发生变换,如果虚拟相机旋转的角度超过一阈值,则可以理解为场景发生了变换。场景标识可以是指示场景发生了切换的信息,该场景标识可以是上层传递下来的信息,如游戏场景中,人物打开了一扇门,或者人物在变换方向运动等。mvp矩阵如果发生变化也可以指示场景发生了变换。当然,场景指示信息不限于此处列举的几种,其他可以指示场景发生变换的信息都属于本技术场景指示信息的范畴。

12、该种可能的实现方式中,通过场景指示信息确定是否发生应用场景变换,只有在发生应用场景变换时才对该应用场景的第一个数据帧进行高分辨渲染,这样既可以保留该应用场景的高频信息,又可以降低渲染负载。

13、在一种可能的实施方式中,上述步骤:按照第二分辨率渲染多个第二数据帧得到多个第二图像帧之前,该方法还包括:针对任一第二数据帧,获取任一第二数据帧对应的场景指示信息,场景指示信息用于确定是否发生应用场景变换;若根据场景指示信息确定未发生应用场景变换,则确定按照第二分辨率渲染任一第二数据帧。

14、该种可能的实现方式中,当应用场景未发生变换时第一个数据帧之后的所有第二数据帧都采用低分辨率进行渲染,这样有效的降低了渲染负载。

15、在一种可能的实施方式中,上述步骤:以第一图像帧为参考帧,对多个第二图像帧中的每个第二图像帧进行渲染数据的补偿,包括:对第二缓存中的任一第二图像帧进行上采样,以得到上采样后的第一临时图像;相对任一第二图像帧,重投影第一缓存中的参考帧得到第一重投影图像;用第一重投影图像中像素点的渲染数据,对第一临时图像中对应位置的像素点进行渲染数据的补偿。

16、本技术中,上采样和下采样都是对缓存中图像的操作,上采样指的是放大图像,下采样是缩小图像。重投影指的是将参考帧的渲染数据重用于新的观察位置和方向,也就是将参考帧重用于任一第二图像帧的位置。

17、该种可能的实现方式中,采用重投影的方式,用参考帧对对采用低分辨率渲染的图像进行对应到像素点的补偿,可以很好的补偿采用低分辨率渲染的第二图像帧中缺失的高频信息,从而提高第二图像帧的图像画质。

18、在一种可能的实施方式中,上述步骤:用第一重投影图像中像素点的渲染数据,对第一临时图像中对应位置的像素点进行渲染数据的补偿,包括:确定第一像素块和第二像素块的相似度,第一像素块为第一重投影图像中的n*m个像素点的像素块,第二像素块为第一临时图像中的n*m个像素点的像素块,第一像素块在第一重投影图像中的位置与第二像素块在第一临时图像中的位置相对应,n和m中至少一个是大于1的整数;若相似度大于第一阈值,则用第一像素块中有效像素点的渲染数据替换第二像素块中与有效像素点位置对应的像素点的渲染数据,有效像素点为第一深度值和第二深度值的差值的绝对值小于第一阈值的像素点,第一深度值为第一重投影图像中像素点的深度值,第二深度值为第一临时图像中像素点的深度值。

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、在一种可能的实施方式中,补偿单元:具体用于确定第一像素块和第二像素块的相似度,第一像素块为第一重投影图像中的n*m个像素点的像素块,第二像素块为第一临时图像中的n*m个像素点的像素块,第一像素块在第一重投影图像中的位置与第二像素块在第一临时图像中的位置相对应,n和m中至少一个是大于1的整数;若相似度大于第一阈值,则用第一像素块中有效像素点的渲染数据替换第二像素块中与有效像素点位置对应的像素点的渲染数据,有效像素点为第一深度值和第二深度值的差值的绝对值小于第一阈值的像素点,第一深度值为第一重投影图像中像素点的深度值,第二深度值为第一临时图像中像素点的深度值。

46、在一种可能的实施方式中,补偿单元:具体用于根据参考帧中每个像素点的坐标、第一乘积和第二乘积,确定参考帧对应任一第二图像帧重投影对应的每个像素点的坐标,其中,第一乘积为参考帧的视图矩阵和投影矩阵的乘积,第二乘积为任一第二图像帧的视图矩阵和投影矩阵的乘积;根据重投影得到的每个像素点的深度值与对应的第一临时图像中像素点的深度值的比较结果得到第一重投影图像。

47、在一种可能的实施方式中,补偿单元:具体用于根据第一临时图像中每个像素点的第二深度值与对应的重投影的像素点的深度值得到差值的绝对值;若差值的绝对值小于第二阈值,则将重投影的像素点标记为有效像素点,以得到第一重投影图像。

48、在一种可能的实施方式中,补偿单元:具体用于确定第一缓存中的参考帧的残差图像;确定残差图像的第二重投影图像;根据第二重投影图像对第二缓存中的任一第二图像帧进行渲染数据的补偿。

49、在一种可能的实施方式中,补偿单元:具体用于按照第二分辨率对第一缓存中的参考帧进行下采样后再进行上采样,以得到第二临时图像;根据第一缓存中的参考帧和第二临时图像确定参考帧的残差图像。

50、在一种可能的实施方式中,补偿单元:具体用于根据残差图像中每个像素点的坐标、第一乘积和第二乘积,确定残差图像对应任一第二图像帧重投影的每个像素点的坐标,其中,第一乘积为参考帧的视图矩阵和投影矩阵的乘积,第二乘积为任一第二图像帧的视图矩阵和投影矩阵的乘积,以得到第二重投影图像。

51、本技术第三方面提供一种图像渲染的装置,该图像渲染的装置具有实现上述第一方面图像处理的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

52、本技术第四方面提供一种电子设备,包括收发器、处理器和存储器,收发器和处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得电子设备执行如上述第一方面或第一方面任一可能的实现方式的方法。

53、本技术中,处理器可以包括中央处理器(central processing unit,cpu)和图形处理器(graphics processing unit,gpu)中的至少一个;其中,cpu和gpu都可以执行上述第一方面或第一方面任一可能的实现方式所描述的图像渲染的过程,或者,cpu和gpu配合执行上述第一方面或第一方面任一可能的实现方式所描述的图像渲染的过程。

54、本技术第五方面提供一种芯片系统,该芯片系统包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,电子设备执行如上述第一方面或第一方面任一可能的实现方式的方法,处理器为cpu和gpu中的至少一个。

55、本技术第六方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在电子设备上运行时,使得电子设备执行如上述第一方面或第一方面任一可能的实现方式的方法。

56、本技术第七方面提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如上述第一方面或第一方面任一可能的实现方式的方法。

57、本技术第二方面至第七方面的相关特征和效果可以参阅第一方面或第一方面任一可能的实现方式中的相应介绍进行理解。

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