一种实时电子游戏渲染图像的超分辨率训练集生成系统的制作方法

文档序号:33484834发布日期:2023-03-15 14:23阅读:45来源:国知局
一种实时电子游戏渲染图像的超分辨率训练集生成系统的制作方法

1.本发明属于渲染图像技术领域,具体为一种实时电子游戏渲染图像的超分辨率训练集生成系统。


背景技术:

2.超分辨率是一种使低成本设备能运行高分辨率画面的常用手段,往往运用于视频采集、图形渲染等应用。其基本原理是使用设备采集或者绘制较低分辨率的图像,然后再通过超分辨率的硬件单元将图像分辨率放大,同时尽可能地保留更多细节。传统的超分辨率算法一般普适性不强,针对某些特定的超分辨率算法在另外一些场景中可能并不适用。基于深度学习的超分辨率是将学习得到的超分辨率模型应用于图像放大的过程,通过对大量超分辨率数据集的学习得到超分辨率网络模型,再将该网络模型运用于低分辨率图像进行推理生成合理的更高分辨率图像的像素数据,从而提高图像的分辨率。该方法可以适用于任何应用场景的图像,但是对训练集的要求比较高。训练集的图像样本越丰富训练得到的超分辨率网络生成的高分辨率图像效果越好。
3.超分辨率训练集中要求至少2张图像作为一组训练对象,这两张图像展现的是同一画面的不同分辨率,从而用于超分辨率网络的训练。一般训练集的产生过程是先生成或者抓取一组高分辨率的图像,再通过降采样的方式生成对应的低分辨率图像。例如在电子游戏应用中,可以先通过截图工具抓取一组设置为4k分辨率的游戏图像,再通过降采样产生1080p分辨率的图像,将同一场景的两张图像作为训练对象。但是通过这种方法产生的训练集训练得到的深度学习超分辨率网络的超分辨率结果的视觉效果存在一定的瑕疵。与视频采集不同的是,电子游戏的图像画面是通过图形处理器渲染得到,而不是通过图像采集装置直接采集得到的。渲染的过程是首先对场景进行3d建模,之后将3d场景投影到2d平面后在2d平面上逐个像素点的绘制。同一场景在不同分辨率的设置下,可能3d场景投影到2d平面上得到模型的位置、模型的精细程度、光影效果都会有略微的不同,而这是不可能通过对高分辨率渲染后图像进行降采样的方式模拟得到。因此,如果想要在电子游戏画面的场景下训练得到更真实的超分辨率图像,需要同时对同一场景生成高低分辨率的不同图像。
4.但是由于电子游戏中大部分的场景都涉及到与玩家交互,即使重复游玩同一场景,由于操作的不同渲染的画面也会有差距,因此同一个场景几乎无法复现两次。所以没有办法通过后期处理的方法生成同一场景的不同分辨率渲染画面。但是电子游戏中每个场景的渲染过程都是由特定的渲染指令和渲染数据构成,只要保证渲染指令和渲染数据相同,图形处理器就会渲染得到同样的场景。同一场景的不同渲染图像也是通过修改渲染指令的相关参数即可得到。


技术实现要素:

5.本发明的目的在于:为了解决上述提出的问题,提供一种实时电子游戏渲染图像的超分辨率训练集生成系统。
6.本发明采用的技术方案如下:一种实时电子游戏渲染图像的超分辨率训练集生成系统,所述实时电子游戏渲染图像的超分辨率训练集生成系统为嵌入于图形库调用图形处理器底层驱动的中间层软件系统;
7.所述实时电子游戏渲染图像的超分辨率训练集生成系统包括绘图指令采集器、绘图数据采集器、多分辨率绘图指令生成器、多帧渲染调度器和多分辨率帧缓存存储控制器。
8.在一优选的实施方式中,所述实时电子游戏渲染图像的超分辨率训练集生成系统包括以下步骤:
9.s1:电子游戏应用程序调用绘图api,对绘图场景进行描述;例如描述场景的模型和光源、渲染器的渲染程序、3d模型到2d画面的投影方法等参数;
10.s2:绘图api调用图形库,生成图形处理器所需的绘图指令和绘图数据;绘图指令表示的是场景中图形绘制以及渲染程序调用的先后顺序,绘图数据指的是场景中模型和光源相关的参数,例如组成模型的图形中各个顶点的位置、颜色、纹理坐标、光照向量;这些绘图指令会被驱动程序进一步解析成平台相关的图形绘制指令,用于图形处理器的读取以及绘制;
11.s3:在绘图指令和绘图数据送入到驱动层之前,将绘图指令复制成针对不同分辨率的渲染窗口的绘图指令;每一份绘图指令的复制只修改与渲染后图像分辨率相关的指令部分,即仅修改渲染窗口的分辨率设置函数,其他指令保持不变;从而可以保证每个渲染指令的复制使用的绘图数据一致,绘图指令只有分辨率的差别;
12.s4:驱动层调用图形处理器并行地进行图形渲染,进而得到同一场景的不同分辨率渲染图像;
13.s5:渲染得到的图像存储于存储设备中,形成训练集数据。
14.在一优选的实施方式中,所述绘图数据采集器:监控图形库发送至图形处理器内存的数据,采集电子游戏应用绘制游戏场景的绘图数据。
15.在一优选的实施方式中,所述多分辨率绘图指令生成器:根据采集得到的绘图指令,逐条分析每条指令,筛选指令中与渲染后图像分辨率有关系的所有指令,并复制为多份不同分辨率的指令,存储于指令缓存中;优选的设置有渲染窗口、设置投影矩阵指令。
16.在一优选的实施方式中,所述多帧渲染调度器:根据复制得到的多帧渲染指令,调用图形处理器并行地绘制多个分辨率的渲染图像,当所有分辨率的渲染图像绘制完毕后,再通知应用层当前场景绘制完毕,并允许发送新的绘图指令和绘图数据。
17.在一优选的实施方式中,所述多分辨率帧缓存存储控制器:生成的多个分辨率的渲染图像会被临时存储于图形处理器的存储系统中,该存储系统被称为帧缓存;多分辨率帧缓存存储控制器负责读取帧缓存中多分辨率的渲染图像,并传输到上位机的存储器中,最终存储为超分辨率的训练集。
18.在一优选的实施方式中,所述绘图指令采集器:通过监控电子游戏应用调用图形库的函数,采集电子游戏应用绘制游戏场景的绘图指令。
19.综上所述,由于采用了上述技术方案,本发明的有益效果是:
20.本发明中,设计了一种实时生成同一游戏场景的高低分辨率渲染图像的方法,从而生成适用于电子游戏渲染画面的超分辨率训练集。本发明提出在游戏运行过程中的每个场景(每一帧)都同时采用不同分辨率的渲染指令渲染多幅图像,从而可以保证这些图像一
定是同一场景的不同分辨率的渲染结果。最终生成的一系列高低分辨率图像组成电子游戏画面的超分辨率训练集;针对电子游戏超分辨率训练集的生成过程中,由于游戏场景无法复现,而后处理生成的低分辨率画面无法真实反映低分辨率渲染得到的图像从而无法提供高质量游戏超分辨率训练集的问题,提出一种实时生成同一游戏场景的高低分辨率渲染图像的方法,进而生成适用于电子游戏渲染画面的超分辨率训练集。本发明提出了在图形库与图形处理器驱动软件之间运行实时电子游戏渲染图象的超分辨率训练集生成系统,在游戏运行过程中的每个场景(每一帧)都同时采用不同分辨率的渲染指令渲染多幅图像,从而可以保证这些图像一定是同一场景的不同分辨率的渲染结果。最终生成的一系列高低分辨率图像组成电子游戏画面的超分辨率训练集。
附图说明
21.图1为本发明的实时电子游戏渲染图像的超分辨率训练集生成方法流程图;
22.图2为本发明中实时电子游戏渲染图像的超分辨率训练集生成系统框图;
23.图3为本发明中实时电子游戏渲染图像的超分辨率训练集的安卓移动设备平台实现方法框图。
具体实施方式
24.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
25.实施例:
26.参照图1-3,
27.一种实时电子游戏渲染图像的超分辨率训练集生成系统,所述实时电子游戏渲染图像的超分辨率训练集生成系统为嵌入于图形库调用图形处理器底层驱动的中间层软件系统;
28.所述实时电子游戏渲染图像的超分辨率训练集生成系统包括绘图指令采集器、绘图数据采集器、多分辨率绘图指令生成器、多帧渲染调度器和多分辨率帧缓存存储控制器。
29.所述实时电子游戏渲染图像的超分辨率训练集生成系统包括以下步骤:
30.s1:电子游戏应用程序调用绘图api,对绘图场景进行描述;例如描述场景的模型和光源、渲染器的渲染程序、3d模型到2d画面的投影方法等参数;
31.s2:绘图api调用图形库,生成图形处理器所需的绘图指令和绘图数据;绘图指令表示的是场景中图形绘制以及渲染程序调用的先后顺序,绘图数据指的是场景中模型和光源相关的参数,例如组成模型的图形中各个顶点的位置、颜色、纹理坐标、光照向量;这些绘图指令会被驱动程序进一步解析成平台相关的图形绘制指令,用于图形处理器的读取以及绘制;
32.s3:在绘图指令和绘图数据送入到驱动层之前,将绘图指令复制成针对不同分辨率的渲染窗口的绘图指令;每一份绘图指令的复制只修改与渲染后图像分辨率相关的指令部分,即仅修改渲染窗口的分辨率设置函数,其他指令保持不变;从而可以保证每个渲染指令的复制使用的绘图数据一致,绘图指令只有分辨率的差别;
33.s4:驱动层调用图形处理器并行地进行图形渲染,进而得到同一场景的不同分辨率渲染图像;
34.s5:渲染得到的图像存储于存储设备中,形成训练集数据。
35.所述绘图数据采集器:监控图形库发送至图形处理器内存的数据,采集电子游戏应用绘制游戏场景的绘图数据。
36.所述多分辨率绘图指令生成器:根据采集得到的绘图指令,逐条分析每条指令,筛选指令中与渲染后图像分辨率有关系的所有指令,并复制为多份不同分辨率的指令,存储于指令缓存中;优选的设置有渲染窗口、设置投影矩阵指令。
37.所述多帧渲染调度器:根据复制得到的多帧渲染指令,调用图形处理器并行地绘制多个分辨率的渲染图像,当所有分辨率的渲染图像绘制完毕后,再通知应用层当前场景绘制完毕,并允许发送新的绘图指令和绘图数据。
38.所述多分辨率帧缓存存储控制器:生成的多个分辨率的渲染图像会被临时存储于图形处理器的存储系统中,该存储系统被称为帧缓存;多分辨率帧缓存存储控制器负责读取帧缓存中多分辨率的渲染图像,并传输到上位机的存储器中,最终存储为超分辨率的训练集。
39.所述绘图指令采集器:通过监控电子游戏应用调用图形库的函数,采集电子游戏应用绘制游戏场景的绘图指令。
40.实施例中,通过移动设备(如手机、平板电脑)的安卓应用调用opengl es图形api,之后调用本系统生成手机游戏的超分辨率训练集,进而生成适合移动端基于安卓应用开发的手机游戏的超分辨率训练集。具体的实施步骤如下所示:
41.如图3所示,游戏开发公司开发的安卓游戏应用在运行时会调用opengl es api进行游戏画面的渲染。移动平台(如安卓手机、安卓平板电脑)会提供图形库解析图形渲染api并生成对应的绘图指令和绘图数据。本系统则运行于安卓操作系统之上,并实时监视图形库的调用情况。当应用程序通过opengl es api调用图形库渲染时,本系统会将绘图指令复制为多个分辨率的绘图指令,之后调用手机端图形处理器进行图形渲染,进一步生成多个分辨率的渲染图像。之后,多分辨率的渲染图像被本系统采集并存储于手机的存储器中,后续可以通过数据线传输至其他存储设备,用于超分辨率的训练集。
42.本发明中,针对电子游戏超分辨率训练集的生成过程中,由于游戏场景无法复现,而后处理生成的低分辨率画面无法真实反映低分辨率渲染得到的图像从而无法提供高质量游戏超分辨率训练集的问题,提出一种实时生成同一游戏场景的高低分辨率渲染图像的方法,进而生成适用于电子游戏渲染画面的超分辨率训练集。本发明提出了在图形库与图形处理器驱动软件之间运行实时电子游戏渲染图象的超分辨率训练集生成系统,在游戏运行过程中的每个场景(每一帧)都同时采用不同分辨率的渲染指令渲染多幅图像,从而可以保证这些图像一定是同一场景的不同分辨率的渲染结果。最终生成的一系列高低分辨率图像组成电子游戏画面的超分辨率训练集。
43.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
44.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1