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

文档序号:34301660发布日期:2023-05-31 16:53阅读:48来源:国知局
一种图像帧的渲染方法及相关装置与流程

本技术涉及计算机,尤其涉及一种图像帧的渲染方法及相关装置。


背景技术:

1、移动终端和移动互联网的快速发展给人们的生活带来了极大的便利,其中手机游戏的出现更是丰富了人们的娱乐生活。人们可以随时随地打开手机,进入虚拟的游戏世界,畅玩游戏。随着时代的发展,玩家对游戏高画质、高帧率的呼声越来越强。而手机产商为了满足玩家的诉求,也在不断努力地提升硬件性能,使得具有高刷新率屏幕的手机层出不穷。

2、目前,高刷新率屏幕手机的普及,使得游戏厂商提高游戏帧率以适应高刷新率。在提高游戏帧率后,虽然能够很好地提升游戏流畅性,但也带来了大量渲染帧的浪费以及过高的手机功耗,进而导致手机发热严重以及影响手机的续航能力。

3、因此,目前亟需一种能够在保证游戏帧率的同时,降低手机渲染功耗的方法。


技术实现思路

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、可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。本技术提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。

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