CN115546019B - 一种渲染数据的采集方法及电子设备 - Google Patents
一种渲染数据的采集方法及电子设备 Download PDFInfo
- Publication number
- CN115546019B CN115546019B CN202210023500.1A CN202210023500A CN115546019B CN 115546019 B CN115546019 B CN 115546019B CN 202210023500 A CN202210023500 A CN 202210023500A CN 115546019 B CN115546019 B CN 115546019B
- Authority
- CN
- China
- Prior art keywords
- data
- resolution
- rendering
- rendered
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 296
- 238000000034 method Methods 0.000 title claims abstract description 140
- 238000012545 processing Methods 0.000 claims abstract description 92
- 230000008569 process Effects 0.000 claims abstract description 71
- 239000013598 vector Substances 0.000 claims description 59
- 230000003068 static effect Effects 0.000 claims description 50
- 238000003062 neural network model Methods 0.000 claims description 17
- 238000012805 post-processing Methods 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000004043 dyeing Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种渲染数据的采集方法、装置及电子设备,涉及终端技术领域。其中,该渲染数据的采集方法包括:对待渲染数据集进行高分辨率渲染处理,同时对所述待渲染数据集进行低分辨率渲染处理;在所述高分辨率渲染处理的时域抗锯齿处理之后进行高分辨率数据采集,以获取高分辨率数据;在所述低分辨率渲染处理的主场景渲染之后,且在所述低分辨率渲染处理的时域抗锯齿处理之前进行低分辨率数据采集,以获取低分辨率数据;利用所述高分辨率数据和所述低分辨率数据形成所述待渲染数据集对应的渲染数据。利用该方法,能够提升渲染数据集的采集效率与准确性。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种渲染数据的采集方法及电子设备。
背景技术
随着技术的不断发展,电子设备的屏幕画面质量日益提升,用户在使用电子设备运行应用程序时,也开始追求更高帧率及更高分辨率的体验,导致应用程序实时渲染带来的负载日益升高,对电子设备的处理器的性能提出了更高的要求。
为了降低实时渲染对于处理器性能的要求,目前常用的做法是降低渲染分辨率,再通过一些插值手段来恢复画面质量,但这样的做法对渲染负载的减轻很有限,画面质量也很难让人满意。
随着深度神经网络(Deep Neural Networks,DNN)在图像超分辨率领域,以及视频超分辨率领域的应用逐渐推广,使用深度神经网络模型来替代传统插值算法,以实现超分辨率是未来的趋势,而深度神经网络模型需要大量的数据集进行离线训练才会表现出很好的效果。目前采集渲染数据集的方法为先获取高分辨率数据,再对高分辨率数据使用双三次线性插值降采样得到低分辨率数据,但是这种采集方法的效率低,并且异步采集得到的数据准确性较低。
发明内容
为了解决上述问题,本申请提供了一种渲染数据的采集方法及电子设备,能够提升渲染数据集的采集效率与准确性。
第一方面,本申请提供了一种渲染数据的采集方法,该方法用于训练进行超分辨率处理的深度神经网络模型,该方法包括:对待渲染数据集进行高分辨率渲染处理,同时对所述待渲染数据集进行低分辨率渲染处理;在所述高分辨率渲染处理的时域抗锯齿处理之后进行高分辨率数据采集,以获取高分辨率数据;在所述低分辨率渲染处理的主场景渲染之后,且在所述低分辨率渲染处理的时域抗锯齿处理之前进行低分辨率数据采集,以获取低分辨率数据;利用所述高分辨率数据和所述低分辨率数据形成所述待渲染数据集对应的渲染数据。
综上所述,利用本申请提供的方案,通过同时对待渲染数据集进行高分辨率渲染处理和低分辨率渲染处理,得到了真实渲染的高分辨率数据和真实渲染的低分辨率数据,相较于异步采样方式中低分辨率数据不是根据真实渲染处理得到的,本方案确保了渲染数据的准确性,且与测试场景在数据上没有偏差,并且同时渲染获取高分辨率数据和低分辨率数据,而不是先获取高分辨率数据,再对高分辨率数据使用双三次线性插值降采样得到低分辨率数据,因此还提升了渲染数据的获取效率。
在一种可能的实现方式中,对待渲染数据集进行第一分辨率渲染处理,同时对待渲染数据集进行第二分辨率渲染处理,具体包括:
按照第一分辨率对待渲染数据集进行第一分辨率渲染处理,同时按照第二分辨率对待渲染数据集进行第二分辨率渲染处理,第一分辨率和第二分辨率的比例为预设比例。
保持进行第一分辨率渲染处理和进行第二分辨率渲染处理的相机视角一致。
其中一个相机视角对应高分辨率渲染处理,另一个相机视角对应于低分辨率渲染处理,由于在两个视角中进行图像渲染是同步的,此时获取的高分辨率数据和低分辨率数据能够保证其成对性。
在一种可能的实现方式中,利用第一分辨率数据和第二分辨率数据形成第一图像对应的渲染数据之前,方法还包括:
获取对待渲染数据集进行第二分辨率渲染处理时的全场景运动向量、深度纹理数据以及第二颜色纹理数据;
获取对待渲染数据集进行第一分辨率渲染处理时的第一颜色纹理数据。
利用第一分辨率数据和第二分辨率数据形成待渲染数据集对应的渲染数据,具体包括:
根据深度纹理数据、第一颜色纹理数据、全场景运动向量和第二颜色纹理数据,形成待渲染数据集对应的渲染数据。
在一种可能的实现方式中,获取对待渲染数据集进行第二分辨率渲染处理时的全场景运动向量,具体包括:
确定对待渲染数据集进行第二分辨率渲染处理时,各静态物体对应的静态运动向量,静态运动向量用于表征静态物体的静态运动,静态运动由第二分辨率渲染处理过程中的相机视角变化引起;
根据静态运动向量与待渲染数据集对应的动态运动向量,确定对待渲染数据集进行第二分辨率渲染处理时的全场景运动向量,动态运动向量用于表征动态物体的动态运动,动态运动由第二分辨率渲染处理过程中的相机视角变化以及物体运动引起。
在一种可能的实现方式中,确定对待渲染数据集进行第二分辨率渲染处理时,各静态物体对应的静态运动向量,具体包括:
根据当前帧图像中各静态物体的位置、当前帧图像对应的观察-投影矩阵以及上一帧图像对应的观察-投影矩阵,确定上一帧图像中各静态物体的位置;
根据上一帧图像中各静态物体的位置,以及根据当前帧图像中各静态物体的位置,确定对待渲染数据集进行第二分辨率渲染处理时,各静态物体对应的静态运动向量。
在一种可能的实现方式中,根据深度纹理数据、第一颜色纹理数据、全场景运动向量和第二颜色纹理数据,形成待渲染数据集对应的渲染数据,具体包括:
利用深度纹理数据和全场景运动向量生成第一组合数据,第一组合数据为三通道的数据;
利用第一组合数据,第一颜色纹理数据和第二颜色纹理数据,形成待渲染数据集对应的渲染数据。
第一组合数据为三通道的数据,可以有效降低数据保存时的带宽消耗。
在一种可能的实现方式中获取待渲染数据集对应的全场景运动向量之前,方法还包括:
实时检测当前是否进行抗锯齿处理,若是则保存深度纹理数据、第一颜色纹理数据、第二颜色纹理数据以及全场景运动向量;
从显示存储器读取深度纹理数据、第一颜色纹理数据、第二颜色纹理数据以及全场景运动向量。
在一种可能的实现方式中,第一分辨率渲染处理和第二分辨率渲染处理的后处理过程中,在抗锯齿处理之后还包括以下中的至少一项:泛光处理、曝光处理或色调映射处理。
在一种可能的实现方式中,利用第一分辨率数据和第二分辨率数据形成待渲染数据集对应的渲染数据之后,方法还包括:
将待渲染数据集对应的渲染数据转换为NumPy数据类型,并保存为层次数据格式第5代h5文件。
在一种可能的实现方式中,抗锯齿处理具体为时域抗锯齿处理。时域抗锯齿处理为样本点分摊在时域上的超采样,能在延迟渲染上使用,以后处理的方式融入渲染,
第二方面,本申请还提供了一种渲染数据集的采集设备,具体包括染单元、第一采集单元、第二采集单元以及第一处理单元。其中,渲染单元用于对待渲染数据集进行第一分辨率渲染处理,同时对待渲染数据集进行第二分辨率渲染处理,第一分辨率大于第二分辨率。第一采集单元用于在第一分辨率渲染处理的抗锯齿处理之后进行第一分辨率数据采集,以获取第一分辨率数据。第二采集单元用于在述第二分辨率渲染处理的主场景渲染之后,且在所第二分辨率渲染处理的抗锯齿处理之前进行第二分辨率数据采集,以获取第二分辨率数据。第一处理单元用于利用第一分辨率数据和第二分辨率数据形成待渲染数据集对应的渲染数据。
该渲染数据集的采集设备,通过同时对待渲染数据集进行高分辨率渲染处理和低分辨率渲染处理,得到了真实渲染的高分辨率数据和真实渲染的低分辨率数据,相较于异步采样方式中低分辨率数据不是根据真实渲染处理得到的,本方案确保了渲染数据的准确性,且与测试场景在数据上没有偏差,并且同时渲染获取高分辨率数据和低分辨率数据,而不是先获取高分辨率数据,再对高分辨率数据使用双三次线性插值降采样得到低分辨率数据,因此还提升了渲染数据的获取效率。
第三方面,本申请还提供了一种电子设备,电子设备包括:存储器、一个或多个处理器。其中,存储器用于存储一个或多个计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述一个或多个处理器执行以上任意一种实现方式所述的渲染数据的采集方法。
第四方面,本申请还提供了一种芯片系统,芯片系统包括程序代码,当所述程序代码在电子设备上运行时,使得所述电子设备中的一个或多个处理器执行如以上任意一种实现方式所述的渲染数据的采集方法。
第五方面,本申请还提供了一种电子设备,所述电子设备包括至少两个处理器,所述至少两个处理器中的至少一个处理器用于运行深度神经网络模型,所述深度神经网络模型利用以上任一项所述的渲染数据的采集方法采集的渲染数据完成训练,所述深度神经网络模型用时实现超分辨率处理。
在一种可能的实现方式中,所述电子设备还包括存储器。其中,所述存储器用于存储一个或多个计算机程序代码,所述计算机程序代码包括计算机指令,当所述至少两个处理器执行所述计算机指令时,所述至少两个处理器执行如以上任意一种实现方式所述的渲染数据的采集方法。
第六方面,本申请还提供了一种计算机存储介质,计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备中的一个或多个处理器执行如以上任意一种实现方式所述的渲染数据的采集方法。
附图说明
图1为一种电子设备的结构示意图;
图2为一种图像渲染的过程示意图;
图3为另一种图像渲染的过程示意图;
图4为本申请实施例提供的一种渲染数据的采集方法的流程图;
图5为本申请实施例提供的一种延迟渲染管线的示意图;
图6为本申请实施例提供的另外一种渲染数据的采集方法的流程图;
图7为本申请实施例提供的分屏游戏模式的设置界面示意图;
图8为本申请实施例提供的关卡蓝图玩家二视角设置的示意图;
图9为本申请实施例提供的渲染管线中的数据集采集位置的示意图;
图10为本申请实施例提供的一种运动向量的示意图;
图11为本申请实施例提供的一种渲染数据的采集设备的示意图;
图12为本申请实施例提供的一种电子设备的示意图;
图13为本申请实施例提供的另一种电子设备的示意图。
具体实施方式
为了使本技术领域的人员更清楚地理解本申请的方案,下面首先说明本申请技术方案的应用场景。
本申请提供的方案渲染数据集的数据集应用于对深度神经网络模型进行训练,训练后的深度神经网络模型应用于电子设备上,在一些实施例中,对深度神经网络模型的训练过程也可以在电子设备上进行。本申请对电子设备的类型不作具体限定,电子设备可以为手机、笔记本电脑、可穿戴电子设备(例如智能手表)、平板电脑、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备以及车载设备等,下面举例说明电子设备的结构。
参见图1,该图为一种电子设备的结构示意图。
电子设备100可以包括处理器11,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线组1,天线组2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
对于以上各部分的具体功能在此不再一一详述,下面具体说明电子设备的处理器的实现方式。
处理器11可以包括一个或多个处理单元,例如:处理器11可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器11中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器11中的存储器为高速缓冲存储器。该存储器可以保存处理器11刚用过或循环使用的指令或数据。如果处理器11需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器11的等待时间,因而提高了系统的效率。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器11可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
下面继续以图1所示的电子设备为例具体说明图像渲染的过程。
参见图2,该图为一种图像渲染的过程示意图。
在用户使用电子设备的过程中,电子设备可以通过显示屏向用户显示图像。
以视频流为例,一个视频流一般包括多帧图像,电子设备可以在显示屏上依次显示每帧图像,实现在显示屏上显示视频流。其中图像显示可以由电子设备中的应用程序触发,应用程序可以向电子设备发出针对不同图像的渲染命令,电子设备响应渲染命令进行图像的渲染,并基于图像的渲染结果进行显示。
每帧图像对应多个帧缓冲(FrameBuffer,FB),每个FB用于存储图像的部分元素的渲染结果,如存储部分元素的图像数据,图像数据用于绘制出对应的元素。例如图像包括人物、树木等元素,FB中可以存储人物的图像数据和树木的图像数据,电子设备可以基于FB中存储的图像数据进行绘制。在本申请中,电子设备的一种可选结构以及基于FB进行渲染的过程如图2所示,电子设备可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、内部存储器和显示屏,内部存储器也可以称为内存。
在图2中,电子设备中安装的应用程序(如游戏应用程序、视频应用程序)启动后,应用程序可以通过显示屏显示图像,在显示图像过程中,应用程序下发渲染命令,CPU可以获取应用程序下发的渲染命令。
然后CPU响应渲染命令,在内存中为第i帧图像的渲染处理创建对应的FB,例如在图2中CPU可以为第i帧图像创建3个FB,分别记为FB0、FB1和FB2。
CPU可以根据渲染命令,向GPU下发渲染指令,GPU响应渲染指令,执行与渲染指令对应的渲染。
如一种示例中,GPU响应渲染指令,对第i帧图像的FB1和FB2进行渲染处理。在完成渲染处理后,FB1和FB2中分别存储第i帧图像的图像数据,例如FB1可以用于存储第i帧图像的一部分元素的图像数据(称为第一图像数据),FB2可以用于存储第i帧图像的另一部分元素的图像数据(称为第二图像数据)。在显示第i帧图像时,GPU将第一图像数据以及第二图像数据融合(或称为渲染)到FB0中,FB0中存储第i帧图像的完整的图像数据。GPU从FB0中读取第i帧图像的图像数据,根据第i帧图像的图像数据,在显示屏中显示出第i帧图像。
但是随着显示技术的发展,显示屏的屏幕刷新率和图像的分辨率向更高阶段发展,如显示屏的屏幕刷新率从60Hz(Hertz,赫兹)发展到90Hz,又从90Hz发展到120Hz;图像的分辨率从720P(1280×720)发展到1080P(1920×1080),又从1080P发展到2k(2560×1440),使得电子设备的渲染朝运行更流畅、场景更复杂和画质更高的方向发展,对电子设备的算力提出更高的需求。
即便电子设备使用算力很强的芯片,电子设备以CPU和GPU的渲染方式进行渲染时仍可以占用过多的算力开销,且CPU和GPU的渲染方式难以满足快速增长的算力需求。在以CPU和GPU的渲染方式进行渲染时消耗过多的算力资源,使得电子设备的功耗提升以及出现发热严重,甚至出现运行卡顿的问题。
为例缓解以上问题,在一种可能的实现方式中,电子设备中配置有的NPU也参与了渲染过程,在CPU、GPU和NPU共同控制渲染过程时,NPU生成高分辨率图像和/或超高分辨率图像,也即通过主动调用NPU的算力完成超分辨率渲染,满足高分辨率图像和/或超高分辨率图像的算力要求,以降低电子设备的功耗,减少出现发热严重的现象。并且NPU可以分担GPU的计算量,缩短渲染过程所花费的时间,从而提高渲染流畅度,解决运行卡顿的问题。
其中,超分辨率(Super-Resolution)即通过硬件或软件的方法提高原有图像的分辨率,通过一系列低分辨率的图像或视频来得到高分辨率的图像或视频过程就是超分辨率重建。也即超分辨率渲染用于对图像数据完成分辨率的提升,分辨率的提升可以是从低分辨率到高分辨率或超高分辨率的提升,也可以是从高分辨率到超高分辨率的提升。
在另一种可能的实现方式中,电子设备中配置数字信号处理器(Digital SignalProcessor,DSP),以CPU、GPU和DSP控制渲染过程,DSP可以完成超分辨率渲染。
在又一种可能的实现方式中,电子设备中配置NPU和DSP,以CPU、GPU、NPU和DSP控制渲染过程,NPU和DSP可以完成超分辨率渲染,其中NPU和DSP的超分辨率渲染可以对应不同分辨率。
一种示例中,NPU可以对应低分辨率到高分辨率的转换,DSP可以对应低分辨率到超高分辨率的提升;另一种示例中,NPU可以对应低分辨率到超高分辨率的提升,DSP可以对应低分辨率到高分辨率的提升;再一种示例中,NPU可以对应低分辨率到高分辨率的提升,DSP可以对应高分辨率到超高分辨率的提升。
在再一种可能的实现方式中,NPU和DSP可以协同完成超分辨率渲染,例如NPU和DSP可以协同应对低分辨率到高分辨率的提升;又例如NPU和DSP可以协同应对低分辨率到超高分辨率的提升,其中协同应对是指一帧图像的超分辨率渲染过程中NPU和DSP共同参与。
低分辨率可以是540P(960×540)和720P,高分辨率可以是1080P,超高分辨率可以是2k甚至是大于2k,电子设备通过显示屏显示图像时,GPU可以生成540P的图像数据和720P的图像数据,NPU可以完成从540P到1080P的提升,也可以完成从720P到1080P的提升,以利用NPU生成1080P的图像数据,此外NPU还可以生成2k甚至是分辨率大于2k的图像数据。
渲染方法的一种使用场景是:电子设备输出的画面质量高于应用程序要求的画面质量,其方式可以是电子设备可以提升应用程序所需图像的分辨率,在应用程序所需图像的分辨率为低分辨率时,电子设备可以将其分辨率提升到高分辨率或超高分辨率,自动改善应用程序的画面质量;又或者在应用程序所需图像的分辨率为高分辨率时,电子设备提升至超高分辨率,也可以自动改善应用程序的画面质量。
参见图3,该图为另一种图像渲染的过程示意图。
应用程序所需图像的分辨率为低分辨率,电子设备执行渲染方法可以将图像的低分辨率提升到高分辨率,从而自动改变图像的分辨率,以此来提升画面质量。
其中,CPU、NPU和GPU的处理过程包括:CPU截取应用程序下发的渲染命令;CPU响应渲染命令,在内存中为图像的渲染处理创建对应的FB;CPU基于渲染命令获得图像的分辨率为低分辨率后,向GPU发送渲染指令;GPU基于渲染指令生成低分辨率的图像数据,将低分辨率的图像数据发送给NPU;NPU对低分辨率的图像数据进行超分辨率渲染处理,得到高分辨率的图像数据,将高分辨率的图像数据发送给GPU;GPU接收到高分辨率的图像数据后,基于高分辨率的图像数据进行用户界面(User Interface,UI)渲染与后处理,以完成一帧图像的绘制。
例如GPU基于高分辨率的图像数据,对渲染命令指向的FB进行渲染处理,得到渲染结果,渲染结果可以是图像中部分元素的图像数据。在得到所有FB的渲染结果后,GPU基于渲染结果将绘制后的图像显示在显示屏上。
NPU在参与进行超分辨率渲染处理时,需要利用深度神经网络(Deep NeuralNetworks,DNN)模型,但是DNN模型需要大量的数据集进行离线训练才会表现出很好的效果,因此如何自动化的采集大量的、真实的、准确的渲染数据是亟待解决的问题。
为了解决以上技术问题,本申请提供了一种超分辨率渲染数据的采集方法及电子设备。其中,该方法可以自动化地、高效地、准确地采集数据集,以便于后续训练得到准确高效的深度神经网络模型。
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例提供了一种超分辨率渲染数据的采集方法,下面结合附图具体说明。
参见图4,该图为本申请实施例提供的一种渲染数据的采集方法的流程图。
S101:对待渲染数据集进行高分辨率渲染处理,同时对待渲染数据集进行低分辨率渲染处理。
其中,高分辨率为第一分辨率,低分辨率为第二分辨率,第一分辨率大于第二分辨率。
超分辨率领域常用的渲染数据包括多组数据,每组数据至少包括低分辨率数据和高分辨率数据,也即低分辨率图片与高分辨率图片。
通过对待渲染数据集进行低分辨率渲染以得到低分辨率数据,通过对第一图像经过高分辨率渲染以得到高分辨率数据。
其中,低分辨率数据为样本,用data表示;高分辨率数据为标签,用label表示。则模型通过不断学习多组(data,label)间的映射关系,实现将低分辨率的图片转换到高质量的高分辨率图片。
参见图5,该图为本申请实施例提供的一种延迟渲染管线的示意图。
为了方便说明,考虑到游戏渲染场景下的渲染管线较为复杂,下面以渲染引擎为游戏引擎为例进行说明,而对于其它类型的较为简单的场景渲染,例如装修设计渲染的原理类似,在此不再赘述。
游戏引擎中延迟渲染管线流程大概可分为:顶点遮挡预处理(Z-Prepass)、预处理(PreProcess)、主场景渲染、光照渲染(Lighting Shadows)、屏幕空间反射(Reflections)和后处理(Post Process)等。
其中,后处理指在正常渲染管线结束后,对最终渲染图像进行的后期加工后处理,一般依次包括有时域抗锯齿(Temporal Anti-aliasing,TAA)处理、泛光(Bloom)处理、曝光(EyeAdaption)处理、色调映射(Tone Mapping)处理等。
在渲染数据采集过程中,需要的是真实渲染的高分辨率数据和真实渲染的低分辨率数据,这样的数据集才是最准确的,且与测试场景在数据上没有偏差。由于整个渲染过程中开放图形库(Open Graphics Library,OpenGL)的状态复杂多变,只有同时渲染出来的高分辨率数据和低分辨率数据才能保证其成对性。
S102:在高分辨率渲染处理的抗锯齿处理之后进行高分辨率数据采集,以获取高分辨率数据。
抗锯齿(Anti-aliasing,AA)也称反走样或消除混叠,是一种消除输出画面中图像物体边缘出现凹凸锯齿的技术。本申请实施例对具体使用的抗锯齿技术不作限定,在一种可能的实现方式中,该抗锯齿技术具体为TAA,TAA为样本点分摊在时域上的超采样,能在延迟渲染上使用,以后处理的方式融入渲染,处理时相机随时间抖动时,引入了额外的子像素信息,通过融合子像素获得时域上的超采样效果,使得静态场景中与超级采样抗锯齿(Super Sampling Anti-aliasing,SSAA)效果一致。
在整个渲染管线执行过程中,实时渲染的数据一直在发生着变化。在对一帧图像的渲染过程中,大部分的GPU算力集中消耗在主场景渲染中,因此降低主场景的分辨率可以有效降低应用程序的负载,且后处理中的部分特效实现超分辨率的难度很大,容易造成画面质量降低,所以合适的数据采集位置是后处理中的TAA之前与TAA之后。
也即最终使用渲染数据训练得到的深度神经网络模型最适合的位置是取代后处理中的TAA,模型对图像实现超分辨率和抗锯齿。
S103:在低分辨率渲染处理的主场景渲染之后,且在低分辨率渲染处理的抗锯齿处理之前进行低分辨率数据采集,以获取低分辨率数据。
也即低分辨率数据为未进行抗锯齿处理的数据。
S104:利用高分辨率数据和低分辨率数据形成待渲染数据集对应的渲染数据。
利用获取的低分辨率数据和高分辨率数据形成的渲染数据,对深度神经网络进行训练,利用该深度神经网络取代后处理中的TAA,对图像实现超分辨率和抗锯齿处理。
以上步骤的划分仅是为了方便说明,并不构成对于本申请技术方案的限定,实际应用中,可以根据实际情况对以上步骤进行调整,例如可以将S102和S103的步骤进行调换。
综上所述,利用本申请实施例提供的方案,通过同时对待渲染数据集进行高分辨率渲染处理和低分辨率渲染处理,得到了真实渲染的高分辨率数据和真实渲染的低分辨率数据,相较于异步采样方式中低分辨率数据不是根据真实渲染处理得到的,本方案确保了渲染数据的准确性,且与测试场景在数据上没有偏差,并且同时渲染获取高分辨率数据和低分辨率数据,而不是先获取高分辨率数据,再对高分辨率数据使用双三次线性插值降采样得到低分辨率数据,因此还提升了渲染数据的获取效率。
下面结合具体的实现方式进行说明。
参见图6,该图为本申请实施例提供的另一种渲染数据的采集方法的流程图。
S201:对待渲染数据集同时进行高分辨率渲染和低分辨率渲染。
通过同时对待渲染数据集进行真实的渲染,得到的高分辨率数据和低分辨率数据才是最准确的,且与测试场景在数据上没有偏差。并且由于整个渲染过程中OpenGL的状态复杂多变,因此同时渲染出来的高分辨率数据和低分辨率数据才能保证其成对性。
实际应用中,高分辨率渲染和低分辨率渲染同时进行的一种实现方式为,在渲染引擎中开启分屏模式,具体的,以渲染引擎为游戏引擎为例,可以在游戏引擎中开启多人分屏游戏模式。
一并参见图7和图8。其中,图7为本申请实施例提供的分屏游戏模式的设置界面示意图;图8为本申请实施例提供的关卡蓝图玩家二视角设置的示意图。
具体的,可以依次通过项目设置-地图和模式-本地多人的选项,实现开启多人分屏游戏模式。
两名玩家分屏布局,可以选择为水平,将两名玩家对应的相机视角保持为同一视角,通过修改引擎源函数LayoutPlayers(),可以调整分屏的预设比例。即按照第一分辨率对待渲染数据集进行高分辨率渲染处理,同时按照第二分辨率对待渲染数据集进行低分辨率渲染处理,第一分辨率和第二分辨率的比例为预设比例,以获取任意比例的高分辨率渲染数据和低分辨率的成对渲染数据。
关卡蓝图(Level Blueprint)是一种专业类型的蓝图,用作关卡范围的全局事件图。在默认情况下,项目中的每个关卡都创建了自己的关卡蓝图,关于关卡蓝图在游戏引擎中的应用方法本实施例在此不再赘述。
例如:通过修改引擎源函数LayoutPlayers(),将高分辨率与低分辨率的比例,也即第一分辨率与第二分辨率的比例修改为4;1,其伪代码具体如下:
以上的分屏比例仅是示意性的说明,还可以根据需求采用其它的比例,本申请实施例对此不作具体限定。
其中一个相机视角对应高分辨率渲染处理,另一个相机视角对应于低分辨率渲染处理,由于游戏引擎在两个视角中进行图像渲染是同步的,此时获取的高分辨率数据和低分辨率数据能够保证其成对性。
S202:获取第一分辨率数据以及第二分辨率数据。
继续参见图5所示延迟渲染管线的示意图,下面继续以游戏引擎为例进行说明。
参见图9,该图为本申请实施例提供的渲染管线中的数据集采集位置的示意图。
在整个渲染管线执行过程中,实时渲染的数据一直在发生着变化。在对一帧图像的渲染中,大部分的GPU算力集中消耗在主场景渲染中,因此降低主场景的分辨率可以有效降低应用程序的负载,且后处理中的部分特效实现超分辨率的难度很大,容易造成画面质量降低,所以合适的数据采集位置是后处理中的TAA之前与TAA之后。
游戏引擎中的函数Render()是渲染管线流程的总入口,执行到函数AddPostProcessingPasses()开始进行后处理。
UpscalerToUse->AddPasses()是后处理中TAA的入口,需要采集这个函数执行前的低分辨率数据和执行后的高分辨率数据。在这个函数中,SceneDepthTexture(表征深度纹理)、SceneColorTexture(表征颜色纹理)、GBufferVelocityTexture(表征动态运动向量)都是需要的纹理数据,但还不能直接进行数据的采集,因为这个函数中TAA并未真正执行,纹理数据都还是空的,它只会将输入数据指针封装成统一的格式,并将TAA这个任务插入GraphBuilder队列中,待所有任务填充入队列中,渲染线程会调用GraphBuilder.Execute()按顺序执行这些任务,在执行过程中,真正的数据资源才会产生。
GraphBuilder任务队列执行时,有些被分配给计算管线,调用Dispatch()来执行,有些被分配给渲染管线,调用DrawCall()来执行,TAA是被分配给计算管线处理的,所以通过修改Dispatch()源码,实时检测当前的任务是不是TAA,若数据正确,则保存深度纹理数据、第一颜色纹理数据、第二颜色纹理数据以及全场景运动向量保存下来。其中,第一颜色纹理数据为高分辨率数据,第二颜色纹理数据为低分辨率数据。
在实现数据集的采集时,在以上两个相机视角下分别进行渲染,在TAA前进行采集以获取低分辨率数据,在TAA后进行采集以获取高分辨率数据。
S203:构建全场景运动向量与深度纹理图。
在视频超分辨率处理时,通过对相邻帧图像的特征提取可以明显的提高超分辨率后的画面质量,特征提取前的一个重要操作是图片对齐。
参见图10,该图为本申请实施例提供的一种运动向量的示意图。
图10中,Frame N表示当前帧中物体的位置,Frame N-1表示上一帧中物体的位置。运动向量反映的是在屏幕空间内当前帧的像素点会出现在上一帧的位置。例如,数据格式为(1920,1080,2),其中,1920和1080表示分辨率,2表示每个像素点包含两通道的数据,分别为x轴方向上的相对位移和y轴方向上的相对位移,这个信息对图片对齐十分有效,可以显著提高超分辨率后的画面质量,因此数据集采集时将会生成这个信息,并一同采集下来,作为模型的输入。
场景中的物体分为动态物体和静态物体。其中,动态物体最终在屏幕上的位置取决于相机视角的变换以及自身发生的运动,动态运动向量用于表征动态物体的动态运动;静态物体最终在屏幕上的位置只取决于相机视角的变化,静态运动向量用于表征静态物体的静态运动。
渲染引擎会自动计算动态物体的动态运动向量以便于实现一些后处理效果,比如TAA、运动模糊等,保存在GBufferVelocityTexture中。
但此时需要的是全场景的运动向量,所以还需要确定静态物体的运动向量,与动态物体运动向量融合起来,静态物体运动向量计算方式如下:
mv=Pn-1-Pn (2)
式(1)中的Pn表示当前帧中的静态物体的位置,Pn-1表示上一帧中静态物体的位置,M表示观察-投影(view-projection)矩阵。式(2)中的mv表示运动向量。也即根据当前帧图像中各静态物体的位置、当前帧图像对应的观察-投影矩阵以及上一帧图像对应的观察-投影矩阵,确定上一帧图像中各静态物体的位置。根据上一帧图像中各静态物体的位置,以及根据当前帧图像中各静态物体的位置,确定对待渲染数据集进行所述第二分辨率渲染处理时,各静态物体对应的静态运动向量。
利用以上的式(1)和式(2)确定出静态物体的位置向量,并与动态物体对应的动态运动向量进行融合,以确定全场景运动向量。
具体的,确定对待渲染数据集进行第二分辨率渲染处理时,各静态物体对应的静态运动向量,根据静态运动向量与待渲染数据集对应的动态运动向量,确定对待渲染数据集进行第二分辨率渲染处理时的全场景运动向量。
该动态运动向量用于表征动态物体的动态运动,动态运动由所述第二分辨率渲染处理过程中的相机视角变化以及物体运动引起。
此外,深度纹理数据也对提升画面质量有一定的帮助,保存在SceneDepthTexture中,因此一并采集下来。将深度纹理数据和全场景运动向量组合生成第一组合数据,第一组合数据为三通道的数据,可以有效降低数据保存时的带宽消耗。
S204:渲染处理结束后从显示存储器中读取并保存数据。
显示存储器,简称显存,也称帧缓存,用于存储显示芯片处理过或者即将读取的渲染数据。
在一些实施例中,使用glReadPixels()接口可以将显存上的深度纹理数据、第一颜色纹理数据、第二颜色纹理数据以及全景运动向量读回CPU侧。深度纹理数据以及全景运动向量形成第一组合数据。
然后分别将用于表征低分辨率图片的第二颜色纹理数据、用于表征高分辨率图片的第一颜色纹理数据,以及第一组合数据的原始数据写入文件中。
S205:将所述待渲染数据集对应的渲染数据转换为NumPy数据类型,并保存为h5文件。
得到连续帧的低分辨率图片、第一组合数据、高分辨率图片的原始数据后,读取其内容,经过数据预处理,转换成((低分辨率当前帧图片、低分辨率历史帧图片、第一组合数据),高分辨率图片)格式的NumPy数据,保存成层次数据格式第5代(Hierarchical DataFormat,HDF5)文件,供后面模型训练使用。
其中,NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。
以上步骤的划分仅是为了方便说明,并不构成对于本申请技术方案的限定,实际应用中可以根据具体情况进行调整。
利用本申请实施例提供的以上方法,通过修改渲染管线流程,捕捉中间缓存数据,可以自动化的、高效的采集获取准确的数据集,解决了对数据进行人工降采样带来不准确和偏差,有效提升了数据集采集工作的效率,帮助模型获得更好的鲁棒性。以上的数据集的采样可以应用于游戏、室内设计、实物渲染、VR和AR等场景下的渲染数据集的采集。
基于以上实施例提供的超分辨率渲染数据的采集方法,本申请实施例还提供了一种渲染数据集的采集设备,下面结合具体的实现方式进行说明。
参见图11,该图为本申请实施例提供的一种渲染数据集的采集设备的示意图。
该渲染数据集的采集设备包括渲染单元110、第一采集单元111、第二采集单元112以及第一处理单元113。
其中,渲染单元110用于对待渲染数据集进行第一分辨率渲染处理,同时对所述待渲染数据集进行第二分辨率渲染处理,所述第一分辨率大于所述第二分辨率。
第一采集单元111用于在第一分辨率渲染处理的抗锯齿处理之后进行第一分辨率数据采集,以获取第一分辨率数据。
第二采集单元112,用于在述第二分辨率渲染处理的主场景渲染之后,且在所第二分辨率渲染处理的抗锯齿处理之前进行第二分辨率数据采集,以获取第二分辨率数据。
第一处理单元113用于利用第一分辨率数据和第二分辨率数据形成待渲染数据集对应的渲染数据。
以上的渲染数据集的采集设备装置包括处理器和存储器,上述渲染单元110、第一采集单元111、第二采集单元112以及第一处理单元113单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
本申请实施例不具体限定渲染数据集的采集设备的类型,可以为计算机、服务器、手机、笔记本电脑、可穿戴电子设备(例如智能手表)、平板电脑、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备以及车载设备等。
综上所述,利用本申请提供的渲染数据集的采集设备,通过同时对待渲染数据集进行高分辨率渲染处理和低分辨率渲染处理,得到了真实渲染的高分辨率数据和真实渲染的低分辨率数据,相较于异步采样方式中低分辨率数据不是根据真实渲染处理得到的,本方案确保了渲染数据的准确性,且与测试场景在数据上没有偏差,并且同时渲染获取高分辨率数据和低分辨率数据,而不是先获取高分辨率数据,再对高分辨率数据使用双三次线性插值降采样得到低分辨率数据,因此还提升了渲染数据的获取效率。
基于以上实施例提供的超分辨率渲染数据的采集方法,本申请实施例还提供了一种电子设备,下面结合附图具体说明。
参见图12,该图为本申请实施例提供的一种电子设备的示意图。
电子设备200包括存储器202、总线203以及一个或多个处理器201,图12中以包括一个处理器201为例。
存储器202和处理器201通过总线203实现连接。其中,存储器202用于存储一个或多个计算机程序代码,计算机程序代码包括计算机指令,当处理器201执行计算机指令时,实现本申请提供的渲染数据的采集方法。
关于渲染数据的采集方法的具体说明可以参见以上实施例,在此不再赘述。
本申请实施例不具体限定电子设备的类型,可以为计算机、服务器、手机、笔记本电脑、可穿戴电子设备(例如智能手表)、平板电脑、AR设备、VR设备以及车载设备等。
综上所述,本申请提供的电子设备,通过同时对待渲染数据集进行高分辨率渲染处理和低分辨率渲染处理,得到了真实渲染的高分辨率数据和真实渲染的低分辨率数据,相较于异步采样方式中低分辨率数据不是根据真实渲染处理得到的,本方案确保了渲染数据的准确性,且与测试场景在数据上没有偏差,并且同时渲染获取高分辨率数据和低分辨率数据,而不是先获取高分辨率数据,再对高分辨率数据使用双三次线性插值降采样得到低分辨率数据,因此还提升了渲染数据的获取效率。
在另一些实施例中,以上的渲染数据的采集方法在电子设备上进行,并且在电子设备上实现对于深度神经网络模型的训练,也即电子设备上还存储有用于实现超分辨率处理的深度神经网络模型,下面结合附图具体说明。
参见图13,该图为本申请实施例提供的另一种电子设备的示意图。
电子设备200包括存储器202、总线203以及多个处理器,图13中以电子设备包括三个处理器为例,三个处理器分别为第一处理器201a、第二处理器201b以及第三处理器201c。
存储器202和各处理器通过总线203实现连接。
其中,存储器202用于存储一个或多个计算机程序代码,计算机程序代码包括计算机指令,当各处理器执行计算机指令时,实现本申请提供的渲染数据的采集方法。
关于渲染数据的采集方法的具体说明可以参见以上实施例,在此不再赘述。
第一处理器201a用于运行深度神经网络模型,该深度神经网络模型利用以上渲染数据的采集方法采集的渲染数据完成训练,深度神经网络模型用时实现超分辨率处理。
在一种可能的实现方式中,第一处理器201a具体为NPU。第二处理器201b以及第三处理器201c分别为CPU和GPU。
本申请实施例不具体限定电子设备的类型,可以为计算机、服务器、手机、笔记本电脑、可穿戴电子设备(例如智能手表)、平板电脑、AR设备、VR设备以及车载设备等。
本申请的一些实施例提供一种芯片系统,芯片系统包括程序代码,当程序代码在电子设备上运行时,使得电子设备中的至少一个处理器执行上述的渲染数据的采集方法。
本申请的一些实施例提供一种处理器,处理器包括处理单元和存储器;其中,存储器用于存储一个或多个计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,处理器执行上述的渲染数据的采集方法。
本申请的一些实施例提供一种计算机存储介质,计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备中的一个或多个处理器执行上述的渲染数据的采集方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种渲染数据的采集方法,其特征在于,所述渲染数据用于训练深度神经网络,所述方法包括:
对待渲染数据集进行第一分辨率渲染处理,同时对所述待渲染数据集进行第二分辨率渲染处理,所述第一分辨率大于所述第二分辨率;
在所述第一分辨率渲染处理的抗锯齿处理之后进行第一分辨率数据采集,以获取第一分辨率数据;
在所述第二分辨率渲染处理的主场景渲染之后,且在所述第二分辨率渲染处理的抗锯齿处理之前进行第二分辨率数据采集,以获取第二分辨率数据;
利用所述第一分辨率数据和所述第二分辨率数据形成所述待渲染数据集对应的渲染数据。
2.根据权利要求1所述的采集方法,其特征在于,所述对待渲染数据集进行第一分辨率渲染处理,同时对所述待渲染数据集进行第二分辨率渲染处理,具体包括:
按照第一分辨率对待渲染数据集进行第一分辨率渲染处理,同时按照第二分辨率对所述待渲染数据集进行第二分辨率渲染处理,所述第一分辨率和所述第二分辨率的比例为预设比例;
保持进行所述第一分辨率渲染处理和进行所述第二分辨率渲染处理的相机视角一致。
3.根据权利要求1所述的采集方法,其特征在于,所述利用所述第一分辨率数据和所述第二分辨率数据形成所述待渲染数据集对应的渲染数据之前,所述方法还包括:
获取对所述待渲染数据集进行所述第二分辨率渲染处理时的全场景运动向量、深度纹理数据以及第二颜色纹理数据;
获取对所述待渲染数据集进行所述第一分辨率渲染处理时的第一颜色纹理数据;
所述利用所述第一分辨率数据和所述第二分辨率数据形成所述待渲染数据集对应的渲染数据,具体包括:
根据所述深度纹理数据、所述第一颜色纹理数据、所述全场景运动向量和所述第二颜色纹理数据,形成所述待渲染数据集对应的渲染数据。
4.根据权利要求3所述的采集方法,其特征在于,所述获取对所述待渲染数据集进行所述第二分辨率渲染处理时的全场景运动向量,具体包括:
确定对所述待渲染数据集进行所述第二分辨率渲染处理时,各静态物体对应的静态运动向量,所述静态运动向量用于表征静态物体的静态运动,所述静态运动由所述第二分辨率渲染处理过程中的相机视角变化引起;
根据所述静态运动向量与所述待渲染数据集对应的动态运动向量,确定对所述待渲染数据集进行所述第二分辨率渲染处理时的全场景运动向量,所述动态运动向量用于表征动态物体的动态运动,所述动态运动由所述第二分辨率渲染处理过程中的相机视角变化以及物体运动引起。
5.根据权利要求4所述的采集方法,其特征在于,所述确定对所述待渲染数据集进行所述第二分辨率渲染处理时,各静态物体对应的静态运动向量,具体包括:
根据当前帧图像中各静态物体的位置、所述当前帧图像对应的观察-投影矩阵以及上一帧图像对应的观察-投影矩阵,确定上一帧图像中各静态物体的位置;
根据所述上一帧图像中各静态物体的位置,以及所述根据当前帧图像中各静态物体的位置,确定对所述待渲染数据集进行所述第二分辨率渲染处理时,各静态物体对应的静态运动向量。
6.根据权利要求5所述的采集方法,其特征在于,所述根据所述深度纹理数据、所述第一颜色纹理数据、所述全场景运动向量和所述第二颜色纹理数据,形成所述待渲染数据集对应的渲染数据,具体包括:
利用所述深度纹理数据和所述全场景运动向量生成第一组合数据,所述第一组合数据为三通道的数据;
利用所述第一组合数据,所述第一颜色纹理数据和所述第二颜色纹理数据,形成所述待渲染数据集对应的渲染数据。
7.根据权利要求4至6中任一项所述的采集方法,其特征在于,所述获取所述待渲染数据集对应的全场景运动向量之前,所述方法还包括:
实时检测当前是否进行抗锯齿处理,若是则保存所述深度纹理数据、所述第一颜色纹理数据、所述第二颜色纹理数据以及所述全场景运动向量;
从显示存储器读取所述深度纹理数据、所述第一颜色纹理数据、所述第二颜色纹理数据以及所述全场景运动向量。
8.根据权利要求1所述的采集方法,其特征在于,所述第一分辨率渲染处理和所述第二分辨率渲染处理的后处理过程中,在抗锯齿处理之后还包括以下中的至少一项:
泛光处理、曝光处理或色调映射处理。
9.根据权利要求1所述的采集方法,其特征在于,所述利用所述第一分辨率数据和所述第二分辨率数据形成所述待渲染数据集对应的渲染数据之后,所述方法还包括:
将所述待渲染数据集对应的渲染数据转换为NumPy数据类型,并保存为层次数据格式第5代h5文件。
10.根据权利要求1所述的采集方法,其特征在于,所述抗锯齿处理具体为时域抗锯齿处理。
11.一种电子设备,其特征在于,所述电子设备包括:存储器、一个或多个处理器;其中,所述存储器用于存储一个或多个计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述一个或多个处理器执行如权利要求1至10中任意一项所述的渲染数据的采集方法。
12.一种芯片系统,其特征在于,所述芯片系统包括程序代码,当所述程序代码在电子设备上运行时,使得所述电子设备中的一个或多个处理器执行如权利要求1至10中任意一项所述的渲染数据的采集方法。
13.一种电子设备,其特征在于,所述电子设备包括至少两个处理器,所述至少两个处理器中的至少一个处理器用于运行深度神经网络模型,所述深度神经网络模型利用权利要求1至10中任一项所述的渲染数据的采集方法采集的渲染数据完成训练,所述深度神经网络模型用于实现超分辨率处理。
14.根据权利要求13所述的电子设备,其特征在于,所述电子设备还包括存储器;其中,所述存储器用于存储一个或多个计算机程序代码,所述计算机程序代码包括计算机指令,当所述至少两个处理器执行所述计算机指令时,所述至少两个处理器执行如权利要求1至10中任意一项所述的渲染数据的采集方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备中的一个或多个处理器执行如权利要求1至10中任意一项所述的渲染数据的采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023500.1A CN115546019B (zh) | 2022-01-10 | 2022-01-10 | 一种渲染数据的采集方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023500.1A CN115546019B (zh) | 2022-01-10 | 2022-01-10 | 一种渲染数据的采集方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115546019A CN115546019A (zh) | 2022-12-30 |
CN115546019B true CN115546019B (zh) | 2023-07-11 |
Family
ID=84724467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210023500.1A Active CN115546019B (zh) | 2022-01-10 | 2022-01-10 | 一种渲染数据的采集方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115546019B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2977051C (en) * | 2015-02-17 | 2023-02-07 | Nextvr Inc. | Methods and apparatus for generating and using reduced resolution images and/or communicating such images to a playback or content distribution device |
CN109741289B (zh) * | 2019-01-25 | 2021-12-21 | 京东方科技集团股份有限公司 | 一种图像融合方法和vr设备 |
-
2022
- 2022-01-10 CN CN202210023500.1A patent/CN115546019B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115546019A (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110910486B (zh) | 室内场景光照估计模型、方法、装置、存储介质以及渲染方法 | |
US20210233210A1 (en) | Method and system of real-time super-resolution image processing | |
CN111681177B (zh) | 视频处理方法及装置、计算机可读存储介质、电子设备 | |
CN114078135A (zh) | 利用图像分割将复杂的3d对象嵌入到增强现实场景中 | |
US9811334B2 (en) | Block operation based acceleration | |
CN112348937A (zh) | 人脸图像处理方法及电子设备 | |
CN108416722A (zh) | 一种图像显示方法、存储介质及终端设备 | |
CN115668300A (zh) | 利用纹理解析的对象重建 | |
WO2024021742A1 (zh) | 一种注视点估计方法及相关设备 | |
CN110290285B (zh) | 图像处理方法、图像处理装置、图像处理系统及介质 | |
WO2023202283A1 (zh) | 图像生成模型的训练方法、图像生成方法、装置及设备 | |
CN112766215A (zh) | 人脸融合方法、装置、电子设备及存储介质 | |
CN116248955A (zh) | 一种基于ai抽帧补帧的vr云渲染图像增强方法 | |
CN111612068A (zh) | 图像标注方法、装置、计算机设备及存储介质 | |
CN106886974A (zh) | 图像加速器设备及相关方法 | |
CN111583329B (zh) | 增强现实眼镜显示方法、装置、电子设备和存储介质 | |
CN115546019B (zh) | 一种渲染数据的采集方法及电子设备 | |
CN116055895B (zh) | 图像处理方法及其装置、芯片系统和存储介质 | |
CN115908120B (zh) | 图像处理方法和电子设备 | |
CN116091292B (zh) | 数据处理方法和相关装置 | |
CN111696034A (zh) | 图像处理方法、装置及电子设备 | |
CN113436247B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
Pulli et al. | Mobile visual computing | |
Zhu et al. | A shared augmented virtual environment for real‐time mixed reality applications | |
US20220157012A1 (en) | Relighting Images and Video Using Learned Lighting and Geometry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |