CN116137047A - 一种加速渲染的方法及装置 - Google Patents
一种加速渲染的方法及装置 Download PDFInfo
- Publication number
- CN116137047A CN116137047A CN202111343115.7A CN202111343115A CN116137047A CN 116137047 A CN116137047 A CN 116137047A CN 202111343115 A CN202111343115 A CN 202111343115A CN 116137047 A CN116137047 A CN 116137047A
- Authority
- CN
- China
- Prior art keywords
- rendering
- resolution
- rendering result
- result
- image frame
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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
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)
- Software Systems (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)
- Computer Graphics (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种加速渲染的方法及装置,涉及图形图像处理领域,以提高获取高分辨率高质量的渲染结果的效率。所述方法包括:获取图像帧在第一分辨率的第一渲染结果以及第二渲染结果;第一渲染结果的SPP大于或等于第一预设值;获取第一渲染结果及第二渲染结果在第二分辨率的第一特征,第一特征为第一渲染结果与第二渲染结果融合后的特征;获取图像帧在第三分辨率的第三渲染结果,第三分辨率大于第一分辨率,第三渲染结果为渲染最终结果;获取第三渲染结果在第二分辨率的第二特征;获取图像帧在第四分辨率的第四渲染结果,第四渲染结果融合了第一特征及第二特征,第四渲染结果的像素收敛至第二预设值。
Description
技术领域
本申请涉及图形图像处理领域,尤其涉及一种加速渲染的方法及装置。
背景技术
随着终端显示设备性能的提升,业界对于渲染结果分辨率的要求日益增高。尽管近年来图形处理器(graphics processing unit,GPU)算力持续不断的快速增长,但获取高分辨率高质量的渲染结果的效率依然不足。
目前,为了加速渲染过程,在计算机图形学(computer graphics,CG)内容渲染的过程中主要使用蒙特卡洛方法来求解渲染方程。但蒙特卡洛求解同样依赖于有效的样本,有效的样本越多,渲染结果质量越高,但是时间也会越长。例如,一些高质量电影中单帧画面就需要单个中央处理器(central processing unit,CPU)渲染1000小时。
因此,提高获取高分辨率高质量的渲染结果的效率成为业界亟待解决的问题。
发明内容
本申请提供一种加速渲染的方法及装置,以提高获取高分辨率高质量的渲染结果的效率。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供.一种加速渲染的方法,该方法可以包括:获取图像帧在第一分辨率的第一渲染结果以及第二渲染结果;其中,第一渲染结果为渲染最终结果,第二渲染结果为渲染中间结果;第一渲染结果的像素内采样数(samples per pixel,SPP)大于或等于第一预设值;获取第一渲染结果及第二渲染结果在第二分辨率的第一特征,第一特征为第一渲染结果与第二渲染结果融合后的特征;获取图像帧在第三分辨率的第三渲染结果,第三分辨率大于第一分辨率,第三渲染结果为渲染最终结果;获取第三渲染结果在第二分辨率的第二特征;获取图像帧在第四分辨率的第四渲染结果,第四渲染结果融合了第一特征及第二特征,第四渲染结果的像素收敛至第二预设值。
本申请提供的加速渲染的方法,由于第一分辨率下的高SPP渲染结果,在渲染速度快的前提下,可以保证渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低;第三分辨率下的渲染结果,可以补充渲染结果的在低分辨率下的信息缺失;因此,最后将第一分辨率下的渲染结果与第三渲染结果融合后的特征,作为最终的渲染结果,在渲染速度快的前提下,保证了渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低,实现了高效的获取高质量的渲染结果。
进一步的,本申请上述方案中将多个尺度的渲染结果缩放至第二分辨率,能够根据当前设备的算力适应性的调整不同尺度输入的融合尺寸,能够显著减少算力需求,提升算法适用场景。自适应融合网络能够利用深度学习模型更好的融合不同尺度的输入,实现更加高质量的输出。
在一种可能的实现方式中,本申请提供的加速渲染的方法还可以包括:获取图像帧在第五分辨率的第五渲染结果,第五渲染结果为渲染中间结果,第五渲染结果的SPP小于或等于第三预设值;第五分辨率大于第四分辨率;获取第五渲染结果在第二分辨率的第三特征;相应的,在该实现方式中,获取图像帧在第四分辨率的第四渲染结果,包括:将第一特征、第二特征及第三特征进行特征融合后,进行自适应融合,得到第四渲染结果。本申请上述方案,通过引入多个不同尺度的渲染目标和渲染输入,能够有效的补充低分辨率上采样到高分辨率所存在的高频信息缺失,能够使输出结果保持更多的纹理细节,同时低分辨率高SPP的输入不仅能够提升降噪效果,更能够提升最终结果的收敛程度,获得更加高质量的高分辨率输出;使用更高分辨率的渲染中间结果能够有效的补充高质量的几何纹理信息,使最终的结果细节丰富程度更加接近原生渲染结果。通过引用更高分辨率(第五分辨率)的渲染结果,可以更好的补充渲染结果中的几何纹理等高频信息,提高渲染结果的质量;且第五渲染结果为渲染中间结果,获取效率高,也就提高了获取高质量渲染结果的效率。
在另一种可能的实现方式中,第三分辨率大于或等于图像帧的目标分辨率。通过第三分辨率的分支,有效的补充低分辨率上采样到高分辨率所存在的高频信息缺失,能够使输出结果保持更多的纹理细节。
在另一种可能的实现方式中,第四分辨率为图像帧的目标分辨率,这样就可以高效的获取目标分辨率的高质量渲染结果。
在另一种可能的实现方式中,获取图像帧在第四分辨率的第四渲染结果,包括:将图像帧的历史帧的第一特征及第二特征,根据运动矢量映射至所述图像帧,并与图像帧的第一特征及第二特征进行特征融合后,进行自适应融合,得到第四渲染结果。其中,历史帧包括所述图像帧之前的一个或多个图像帧。本申请上述方案中的多帧融合,能够借助历史帧的特征信息,对当前图像帧采样存在的错误信息进行一定的修正,同时对当前图像帧信息实现有效的补充,多帧的融合能够保证渲染结果时序上的稳定,减少时域锯齿等问题。
在另一种可能的实现方式中,本申请提供的加速渲染的方法还可以包括:获取渲染参数,渲染参数包括渲染质量和/或渲染时长;根据渲染参数,确定第二分辨率。能够根据当前设备的算力适应性的调整不同尺度输入的融合尺寸,能够显著减少算力需求,提升算法适用场景。自适应融合网络能够利用深度学习模型更好的融合不同尺度的输入,实现更加高质量的输出。
在另一种可能的实现方式中,本申请描述的渲染中间结果包括:法线图,或者,深度图。
在另一种可能的实现方式中,通过训练后的神经网络进行特征融合,或者,自适应融合。
在另一种可能的实现方式中,本申请提供的方案可以部署于云端,作为一种云端服务向用户提供。
在另一种可能的实现方式中,本申请提供的加速渲染的方法还可以包括:获取用户输入的渲染参数,该渲染参数可以包括:第一分辨率至第五分辨率中一个或多个,或者,上采样倍数,或者,渲染时长,或者,渲染质量。
第二方面,提供另一种加速渲染的方法,该方法可以包括:获取图像帧在第六分辨率的第六渲染结果,第六渲染结果为渲染最终结果;其中,第六渲染结果的SPP大于或等于第四预设值;获取图像帧的亚像素信息,亚像素信息用于描述图像帧中亚像素的特征,亚像素的尺寸小于像素的尺寸;根据亚像素信息,对第六渲染结果上采样至第七分辨率,得到第七渲染结果;其中,第七分辨率大于第六分辨率;根据第七渲染结果,获取图像帧的第八渲染结果,第八渲染结果的像素收敛至第五预设值。
本申请提供的加速渲染的方法,由于第六分辨率下的高SPP渲染结果,在渲染速度快的前提下,可以保证渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低;引入sub-pixel信息作为上采样像素值,更加符合渲染数据分布,增加了输入的有效信息最终能够得到细节更加丰富,更加符合原生渲染图像的高分辨结果;因此,最终的渲染结果,在渲染速度快的前提下,保证了渲染输出包含更加丰富的细节、更加逼近理论收敛,同时符合渲染数据分布,实现了高效的获取高质量的渲染结果。
在一种可能的实现方式中,根据第七渲染结果,获取图像帧的第八渲染结果,包括:将图像帧的历史帧的第七渲染结果,根据运动矢量映射至图像帧,并与图像帧的第七渲染结果进行特征融合后,进行自适应融合,得到第八渲染结果;其中,历史帧包括图像帧之前的一个或多个图像帧。本申请上述方案中的多帧融合,能够借助历史帧的特征信息,对当前图像帧采样存在的错误信息进行一定的修正,同时对当前图像帧信息实现有效的补充,多帧的融合能够保证渲染结果时序上的稳定,减少时域锯齿等问题。
在一种可能的实现方式中,本申请提供的加速渲染的方法还可以包括:获取图像帧在第六分辨率的第九渲染结果,第九渲染结果为渲染中间结果;对第九渲染结果上采样至第七分辨率,得到第十渲染结果;相应的,根据第七渲染结果,获取图像帧的第八渲染结果,包括:对第七渲染结果及第十渲染结果进行特征融合后,进行特征提取得到第四特征,作为第八渲染结果。通过引入第六分辨率下的渲染中间结果,在不明显增加渲染时长的前提下,补充缺失信息,提高渲染结果的质量。
在另一种可能的实现方式中,本申请提供的加速渲染的方法还可以包括:获取图像帧在第六分辨率的第九渲染结果,第九渲染结果为渲染中间结果;对第九渲染结果上采样至第七分辨率,得到第十渲染结果;相应的,根据第七渲染结果,获取图像帧的第八渲染结果,包括:对第七渲染结果及第十渲染结果进行特征融合后,进行特征提取得到第四特征将所述图像帧的历史帧的第四特征,根据运动矢量映射至所述图像帧,并与图像帧的第四特征进行特征融合后,进行自适应融合,得到第八渲染结果。其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。本申请上述方案中的多帧融合,能够借助历史帧的特征信息,对当前图像帧采样存在的错误信息进行一定的修正,同时对当前图像帧信息实现有效的补充,多帧的融合能够保证渲染结果时序上的稳定,减少时域锯齿等问题。
在另一种可能的实现方式中,本申请描述的渲染中间结果包括:法线图,或者,深度图。
在另一种可能的实现方式中,第七分辨率为图像帧的目标分辨率。
在另一种可能的实现方式中,通过训练后的神经网络进行特征融合,或者,自适应融合。
在另一种可能的实现方式中,本申请提供的方案可以部署于云端,作为一种云端服务向用户提供。
在另一种可能的实现方式中,本申请提供的加速渲染的方法还可以包括:获取用户输入的渲染参数,该渲染参数可以包括:第六分辨率至第十分辨率中一个或多个,或者,上采样倍数,或者,渲染时长,或者,渲染质量。
第三方面,提供一种加速渲染的装置,该装置可以包括:第一获取单元、第二获取单元、第三获取单元、第四获取单元。其中:
第一获取单元,用于获取图像帧在第一分辨率的第一渲染结果以及第二渲染结果;其中,第一渲染结果为渲染最终结果,第二渲染结果为渲染中间结果;第一渲染结果的SPP大于或等于第一预设值。
第二获取单元,用于获取第一渲染结果及第二渲染结果在第二分辨率的第一特征,第一特征为第一渲染结果与第二渲染结果融合后的特征。
第一获取单元还用于,获取图像帧在第三分辨率的第三渲染结果。其中,第三分辨率大于第一分辨率;第三渲染结果为渲染最终结果。
第三获取单元,用于获取第三渲染结果在第二分辨率的第二特征。
第四获取单元,用于获取图像帧在第四分辨率的第四渲染结果,第四渲染结果融合了第一特征及第二特征,第四渲染结果的像素收敛至第二预设值。
本申请提供的加速渲染的装置,由于第一分辨率下的高SPP渲染结果,在渲染速度快的前提下,可以保证渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低;第三分辨率下的渲染结果,可以补充渲染结果的在低分辨率下的信息缺失;因此,最后将第一分辨率下的渲染结果与第三渲染结果融合后的特征,作为最终的渲染结果,在渲染速度快的前提下,保证了渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低,实现了高效的获取高质量的渲染结果。
在一种可能的实现方式中,第一获取单元还用于,获取图像帧在第五分辨率的第五渲染结果,第五渲染结果为渲染中间结果,第五渲染结果的SPP小于或等于第三预设值;第五分辨率大于第四分辨率。该加速渲染的装置还可以包括第五获取单元,用于获取第五渲染结果在第二分辨率的第三特征。相应的,第四获取单元具体可以用于:将第一特征、第二特征及第三特征进行特征融合后,进行自适应融合,得到第四渲染结果。本申请上述方案,通过引入多个不同尺度的渲染目标和渲染输入,能够有效的补充低分辨率上采样到高分辨率所存在的高频信息缺失,能够使输出结果保持更多的纹理细节,同时低分辨率高SPP的输入不仅能够提升降噪效果,更能够提升最终结果的收敛程度,获得更加高质量的高分辨率输出;使用更高分辨率的渲染中间结果能够有效的补充高质量的几何纹理信息,使最终的结果细节丰富程度更加接近原生渲染结果。通过引用更高分辨率(第五分辨率)的渲染结果,可以更好的补充渲染结果中的几何纹理等高频信息,提高渲染结果的质量;且第五渲染结果为渲染中间结果,获取效率高,也就提高了获取高质量渲染结果的效率。
在另一种可能的实现方式中,第三分辨率大于或等于图像帧的目标分辨率。通过第三分辨率的分支,有效的补充低分辨率上采样到高分辨率所存在的高频信息缺失,能够使输出结果保持更多的纹理细节。
在另一种可能的实现方式中,第四分辨率为图像帧的目标分辨率,这样就可以高效的获取目标分辨率的高质量渲染结果。
在另一种可能的实现方式中,将图像帧的历史帧的第一特征及第二特征,根据运动矢量映射至所述图像帧,并与图像帧的第一特征及第二特征进行特征融合后,进行自适应融合,得到第四渲染结果。其中,历史帧包括所述图像帧之前的一个或多个图像帧。本申请上述方案中的多帧融合,能够借助历史帧的特征信息,对当前图像帧采样存在的错误信息进行一定的修正,同时对当前图像帧信息实现有效的补充,多帧的融合能够保证渲染结果时序上的稳定,减少时域锯齿等问题。
在另一种可能的实现方式中,该加速渲染的装置还可以包括第六获取单元和确定单元。其中,第六获取单元用于获取渲染参数,渲染参数包括渲染质量和/或渲染时长。确定单元,用于根据第六获取单元获取的渲染参数,确定第二分辨率。能够根据当前设备的算力适应性的调整不同尺度输入的融合尺寸,能够显著减少算力需求,提升算法适用场景。自适应融合网络能够利用深度学习模型更好的融合不同尺度的输入,实现更加高质量的输出。
在另一种可能的实现方式中,本申请描述的渲染中间结果包括:法线图,或者,深度图。
在另一种可能的实现方式中,通过训练后的神经网络进行特征融合,或者,自适应融合。
在另一种可能的实现方式中,该加速渲染的装置可以部署于云端,作为一种云端服务向用户提供。
需要说明的是,第三方面提供的加速渲染的装置,用于执行上述第一方面或其任一种可能的实现方式所述的方法,可以与上述第一方面描述的方案达到相同的效果,其具体实现不再一一赘述。
第四方面,提供另一种加速渲染的装置,该加速渲染的装置可以包括:第一获取单元、第二获取单元、放大单元、第三获取单元。其中:
第一获取单元,用于获取图像帧在第六分辨率的第六渲染结果,第六渲染结果为渲染最终结果。其中,第六渲染结果的SPP大于或等于第四预设值。
第二获取单元,用于获取图像帧的亚像素信息,亚像素信息用于描述图像帧中亚像素的特征,亚像素的尺寸小于像素的尺寸。
放大单元,用于根据第二获取单元获取的亚像素信息,对第六渲染结果上采样至第七分辨率,得到第七渲染结果。其中,第七分辨率大于第六分辨率。
第三获取单元,用于根据放大单元得到的第七渲染结果,获取图像帧的第八渲染结果,第八渲染结果的像素收敛至第五预设值。
本申请提供的加速渲染的装置,由于第六分辨率下的高SPP渲染结果,在渲染速度快的前提下,可以保证渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低;引入sub-pixel信息作为上采样像素值,更加符合渲染数据分布,增加了输入的有效信息最终能够得到细节更加丰富,更加符合原生渲染图像的高分辨结果;因此,最终的渲染结果,在渲染速度快的前提下,保证了渲染输出包含更加丰富的细节、更加逼近理论收敛,同时符合渲染数据分布,实现了高效的获取高质量的渲染结果。
在一种可能的实现方式中,第三获取单元具体可以用于:将图像帧的历史帧的第七渲染结果,根据运动矢量映射至图像帧,并与图像帧的第七渲染结果进行特征融合后,进行自适应融合,得到第八渲染结果。其中,历史帧包括图像帧之前的一个或多个图像帧。本申请上述方案中的多帧融合,能够借助历史帧的特征信息,对当前图像帧采样存在的错误信息进行一定的修正,同时对当前图像帧信息实现有效的补充,多帧的融合能够保证渲染结果时序上的稳定,减少时域锯齿等问题。
在一种可能的实现方式中,第一获取单元还可以用于:获取图像帧在第六分辨率的第九渲染结果,第九渲染结果为渲染中间结果。放大单元还可以用于:对第九渲染结果上采样至第七分辨率,得到第十渲染结果。第三获取单元具体可以用于:对第七渲染结果及第十渲染结果进行特征融合后,进行特征提取得到第四特征,作为第八渲染结果。通过引入第六分辨率下的渲染中间结果,在不明显增加渲染时长的前提下,补充缺失信息,提高渲染结果的质量。
在一种可能的实现方式中,第一获取单元还可以用于:获取图像帧在第六分辨率的第九渲染结果,第九渲染结果为渲染中间结果。放大单元还可以用于:对第九渲染结果上采样至第七分辨率,得到第十渲染结果。第三获取单元具体可以用于:对第七渲染结果及第十渲染结果进行特征融合后,进行特征提取得到第四特征,将图像帧的历史帧的第四特征,根据运动矢量映射至所述图像帧,并与所述图像帧的第四特征进行特征融合后,进行自适应融合,得到所述第八渲染结果;其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。本申请上述方案中的多帧融合,能够借助历史帧的特征信息,对当前图像帧采样存在的错误信息进行一定的修正,同时对当前图像帧信息实现有效的补充,多帧的融合能够保证渲染结果时序上的稳定,减少时域锯齿等问题。
在另一种可能的实现方式中,本申请描述的渲染中间结果包括:法线图,或者,深度图。
在另一种可能的实现方式中,第七分辨率为图像帧的目标分辨率。
在另一种可能的实现方式中,通过训练后的神经网络进行特征融合,或者,自适应融合。
在另一种可能的实现方式中,该渲染组昂志可以部署于云端,作为一种云端服务向用户提供。
需要说明的是,第四方面提供的加速渲染的装置,用于执行上述第二方面或其任一种可能的实现方式所述的方法,可以与上述第二方面描述的方案达到相同的效果,其具体实现不再一一赘述。
第五方面,本申请提供了一种渲染设备,该渲染设备可以实现上述第一方面或第二方面或其任一种可能的实现方式描述的方法示例中的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。该图像配准设备可以以芯片的产品形态存在。
在一种可能的实现方式中,该渲染设备的结构中包括处理器和收发器,该处理器被配置为支持该渲染设备执行上述方法中相应的功能。该收发器用于支持该渲染设备与其他设备之间的通信。该渲染设备还可以包括存储器,该存储器用于与处理器耦合,其保存该渲染设备必要的程序指令和数据。
第六方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面或其任一种可能的实现方式提供的加速渲染的方法。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或其任一种可能的实现方式提供的加速渲染的方法。
第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述方法中相应的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
其中,需要说明的是,上述各个方面中的任意一个方面的各种可能的实现方式,在方案不矛盾的前提下,均可以进行组合。
附图说明
图1为本申请实施例提供的一种渲染系统的架构示意图;
图2为本申请实施例提供的一种电子设备的结构示意图;
图3为本申请实施例提供的一种电子设备的软件结构示意图;
图4为本申请实施例提供的一种加速渲染的方法的总体流程示意图;
图5为本申请实施例提供的一种加速渲染的方法的流程示意图;
图6为本申请实施例提供的一种上采样的原理示意图;
图7为本申请实施例提供的一种下采样的原理示意图;
图8为本申请实施例提供的一种当前图像帧与历史帧融合的场景示意图;
图9为本申请实施例提供的一种渲染结果的转换场景示意图;
图10为本申请实施例提供的另一种加速渲染的方法的流程示意图;
图11为本申请实施例提供的另一种加速渲染的方法的流程示意图;
图12为本申请实施例提供的再一种加速渲染的方法的流程示意图示意图;
图13为本申请实施例提供的再一种加速渲染的方法的流程示意图示意图;
图14为本申请实施例提供的结合历史帧的加速渲染的方法的流程示意图;
图15为本申请实施例提供的一种加速渲染的装置的结构示意图;
图16为本申请实施例提供的另一种加速渲染的装置的结构示意图;
图17为本申请实施例提供的再一种加速渲染的装置的结构示意图;
图18为本申请实施例提供的又一种加速渲染的装置的结构示意图;
图19为本申请实施例提供的又一种加速渲染的装置的结构示意图。
具体实施方式
本申请实施例的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一分辨率、第二分辨率等是用于区别不同分辨率取值,而不是用于描述分辨率的大小。
为了便于理解,下面先对本申请实施例涉及的相关术语和概念进行介绍。
图像渲染:是指计算机将存储在内存中的形状转换成实际绘制在屏幕上的对应的过程。场景和实体用三维形式表示,更接近于现实世界,便于操纵和变换,而图形的显示设备大多是二维的光栅化显示器和点阵化打印机,因此,图像渲染是将三维的光能传递处理转换为一个二维图像的过程。从三维实体场景的表示N--维光栅和点阵化的表示就是图像渲染--即光栅化。例如,图像渲染的过程可以包括:把三维(3Dimensions,3D)坐标转换为二维(3Dimensions,2D)坐标,把2D坐标转变为实际的有颜色的像素。
分辨率:决定了图像细节的精细程度。通常情况下,图像的分辨率越高,所包含的像素就越多,图像就越清晰。
目标分辨率:是指图像渲染时期望的最终分辨率。例如,目标分辨率可以由显示设备的显示能力,或者,可以由图像渲染的目的来决定。
亚像素:比像素更小的单位。像素是图像的基本单位,通常被称为图像的物理分辨率,亚像素是算法层面上对于像素的进一步细化。
上采样(upsampling):也称为放大图像或图像插值(interpolating),其主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。例如,上采样可以采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。
下采样(subsampled):也称为缩小图像或降采样(downsampled),其主要目的是使得图像符合显示区域的大小,或者生成对应图像的缩略图。例如,对于一幅图像I尺寸为M*N,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的得分辨率图像。如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值。
无论是上采样还是下采样,采样方式有很多种,如最近邻插值,双线性插值,均值插值,中值插值等方法,本申请对此不予限定。
深度:用于表示每个像素点距离观察者的距离。在一些示例中,物体距离用户远近与深度值的关系可以是:物体距离用户越近,则物体的像素点的深度值越小,物体距离用户越远,则物体的像素点的深度值越大。或者,物体距离用户越近,则物体的像素点的深度值越大,物体距离用户越远,则物体的像素点的深度值越小。本申请实施例中对于深度与物体距离观察者的关系不予限定。
渲染方程(Render Equation):是一个积分方程,在计算机图形学中,真实感渲染的目标就是求解渲染方程。它是所有全局照明方法的理论基础(光线跟踪,路径跟踪,辐射度等),其表达式如下:
Lo(p,ωo)=Le(p,ωo)+∫Ω+Li(p,ωi)fr(p,ωi,ωo)(n·ωi)dωi
蒙特卡洛方法(Monte Carlo Method):或蒙特卡洛积分,是一类通过随机采样来求解问题的算法的统称,要求解的问题是某随机事件的概率或某随机变量的期望。采用蒙特卡洛法来估计积分,该方法在图形渲染中起到非常重要的作用,其表达式如下:
图像的特征:用于表示图像的特点的信息。图像的特征具有可重复性、可区分性、集中以及高效等特性,同时能够应对图像亮度变化、尺度变化、旋转和仿射变换等变化的影响。示例性的,计算机视觉中通常把角点(corner)作为是图像的特征。当然,本申请实施例对于与图像的特征的具体内容以及形式不予限定。可以通过模型提取图像的特征。
特征融合:是指将多个图像的特征进行合并处理后,得到一个图像的特征,作为融合后的图像的特征。特征融合可以为计算特征值的数学值或者其他,本申请实施例对此不予限定。其中,该数学值可以为叠加或者其他运算。
自适应融合:是指对多个图像中具有的不同特征,按照规则自适应的融合,得到一个图像的特征。其中,不同特征,可以指参与融合的图像中部分具有而其他没有的特征。例如,可以向特征配置全红,按照不同特征的权重进行自适应融合。当然,在实际应用中,可以根据实际需求配置自适应融合的具体方案,本申请实施例对此不予限定。
渲染最终结果:是指完成了渲染过程得到的二维的图像。渲染最终结果可以直接向用户呈现。
渲染中间结果:是指渲染过程中的中间图像,可以为某一维度的图像。例如,渲染中间结果可以为法线图,或者,深度图,或者其他。例如,渲染中间结果也称之为gbuffer信息。gbuffer信息可以包括albedo,normal,position等。
由于本申请实施例涉及神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络(neural network,NN)
神经网络是机器学习模型,是一种模拟人脑的神经网络以能够实现类人工智能的机器学习技术。可以根据实际需求配置神经网络的输入及输出,并通过样本数据对神经网络训练,以使得其输出与样本数据对应的真实输出的误差最小。神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,/>是输入向量,/>是输出向量,b是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量/>经过如此简单的操作得到输出向量/>由于DNN层数多,则系数W和偏移向量b的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为/>上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为/>需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
CNN是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播算法,不过有一点区别:即,如果将RNN进行网络展开,那么其中的参数,如W,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法Back propagation Through Time(BPTT)。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(6)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
如前述,随着终端显示设备性能的提升,业界对于渲染结果分辨率的要求日益增高。而渲染结果分辨率的增高,势必会增加渲染的时长。高分辨率的渲染结果也称为高质量的渲染结果。
当前,业界为了节省算力,提升获取高质量渲染结果的渲染效率,普遍采用两种不同的策略进行图像渲染,在得到高质量渲染结果的同时,尽可能的缩短渲染时长,进而提高渲染效率:
策略1、高分辨率下低SPP渲染配合高质量蒙特卡洛降噪方法,该类型方法存在收敛性不足且结果模糊的问题。
策略2、低分辨率下高SPP渲染配合高质量超采样方法,该类方法同样会出现模糊的问题。
下面对当前业界主流的图像加速渲染技术进行简单说明。
其中一种图像加速渲染技术,是发布的Optix denoise技术,该技术基于神经网络方法解决蒙特卡洛渲染的低样本数渲染图片噪声的工具,通过使用GPU加速的深度学习算法,来显著减少渲染高质量图像所需要的时间。该方案渲染得到的图像在视觉上是无噪声的,利用该算法能够实现渲染引擎实时状态下的交互,从而能够提供超快速的交互式反馈,提升用户使用体验。该算法降噪时间快,侧重于实时应用的场景,能够实现实时降噪,但降噪效果一般,虽然提高了渲染效率,但渲染质量并不高。
另一种图像加速渲染技术,是Open Image Denoise技术,该技术是一种高性能,高质量的光线追踪图像去噪的开源库,该技术中包含了一系列基于深度学习的降噪滤波器,能够实现高质量,高效率的蒙特卡洛降噪,能够显著的减少渲染过程中所需要的SPP数目。该算法能够实现不同SPP数目下的渲染降噪,涵盖范围从1SPP到渲染图像近乎收敛。该算法在降噪质量上优于Optix Denoise。该算法侧重于实时场景下的降噪,时间消耗上要比Optix denoise要多,虽然实现了高质量渲染,但渲染效率不高。
再一种图像加速渲染技术,是采用对比度自适应锐化(contrast adaptiveSharpening,CAS)与上采样相结合的方案,来利用低分辨率高质量的渲染结果获取高分辨率的渲染结果,CAS算法是一种根据对比度自适应调整锐化程度的算法,能够提升对象内部的细节,同时保留了大部分高对比度的边缘。由于图像在上采样过程中会不可避免的损失高频信息,造成输出图像的模糊,将CAS算法与上采样相结合后能够提升上采样结果中的高频信息,从而实现高质量上采样的效果。在CAS的基础上,FidelityFX Super Resolution(FSR)采用先进的优化升级技术,能够在无需用户升级显卡的情况下帮助提高帧率,带来高质量、高分辨率的游戏体验。在FSR“性能”模式下,部分游戏在4K画质下性能最高可达2.5倍,实现超高画质边缘和细节,带来接近原始分辨率的游戏体验。如果想在4K屏幕下追求更高的性能,可以利用上述CAS或FSR算法,在1800p或者80%的分辨率下运行,效果上接近原生图像,几乎没有效果上的损失,但是对于更高分辨率的提升,效果损失就会明显增大。CAS、FSR算法在上采样倍数上仍然限制在2倍以下,相比于其他超分算法,在上采样比例上存在明显的不足,影响了渲染质量。
再一种图像渲染技术,是CG领域成熟的上采样方案,该方案是基于时间性抗锯齿(temporal anti-aliasing,TAA)的上采样,该算法的核心是保持输入分辨率不变的情况下根据采样点的位置和放大倍数来增加输出分辨率,以提高渲染质量。由于其能够保证较快的上采样速度和一定的效果,目前已经应用于商业引擎中。该算法存在算法参数需要人工精细调整的问题,可能会导致上采样结果模糊,画面出现鬼影,时域上的延迟,抖动等问题,因此渲染质量也不高。
基于此,本申请实施例提供一种加速渲染的方法,使用多尺度渲染分辨率作为输入,通过融合不同尺度的特征信息,以生成高分辨率高质量收敛效果好的渲染结果,实现高效率高质量的图像渲染。或者,使用低分辨率渲染结果通过亚像素信息上采样相结合的方式,来加快图像渲染的速度,实现高效的高分辨率图像的渲染。
本申请实施例提供的加速渲染的方法,可以应用于图1所示的渲染系统中。如图1所示,该渲染系统包括渲染引擎101、加速渲染的装置102、显示设备103。
其中,渲染引擎101用于按照分辨率获取渲染最终结果和/或渲染中间结果,加速渲染的装置102用于执行本申请提供的方案,根据渲染引擎101的输出,高效的获取高质量的渲染最终结果,由显示设备103显示渲染结果。
示例性的,加速渲染的装置102可以部署于云端,由显示设备103请求云端的加速渲染的装置102,执行本申请提供的方案以高效的获取高质量的渲染结果,由显示设备103显示渲染结果。当然,加速渲染的装置102可以部署于网络中的其他位置,本申请实施例对此不予限定。
需要说明的是,渲染引擎101、加速渲染的装置102可以集中部署为一个设备,也可以为分离式单独部署,本申请实施例对于渲染系统的架构部署不进行具体限定。
示例性的,本申请提供的加速渲染的方法可以有如下应用场景:
应用场景1:游戏中的实时超级采样。在包括3A游戏在内的一系列高质量游戏应用中,可以通过本申请提供的加速渲染的方法,借助超采样技术先降低渲染图像分辨率,然后通过超采样算法在保持画面质量的同时快速进行画面上采样,上采样的消耗时间相比于渲染时间占比较低,可以实现在保证画面质量的同时不影响游戏画面的渲染速度,提升渲染帧率,从而可以大幅提升了游戏质量和玩家游戏体验。
应用场景2:高质量CG内容制作(例如电影,动画,宣传片等)。在高质量CG内容生成制作上,现有的方案为设置非常高的SPP数值,使最终渲染得到的结果达到近乎收敛,噪声水平极低的状态,但这个过程需要很长的渲染时间和极高的算力需求,通过本申请提供的方案,能够实现高质量内容的高效快速生成,能够显著减少算力需求,降低开发成本,缩短开发周期。
应用场景3:室内家装设计。在家装设计领域,设计师需要根据用户需求实时呈现设计的高质量渲染结果,以便于方案的及时调整与修改,从而能够加速设计环节,提升用户参与程度和最终设计方案的质量。在完成整体设计后,设计师可能还需要将设计方案转换成对应的高质量渲染视频,方便用户查看方案,该过程借助本申请提供的方案,可以提升高质量展示视频的生成速度,缩短设计周期,进而提高用户体验。
需要说明的是,上述应用场景仅为举例说明,并不是对本申请方案应用场景的限定。
示例性的,上述显示设备103可以为电子设备。例如,该电子设备具体可以是大屏显示设备、手机、笔记本电脑、平板电脑、车载设备、可穿戴设备(如智能手表)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、人工智能(artificial intelligence)设备等具有显示功能的终端设备,本申请实施例对电子设备的具体类型不作任何限制。
在本申请中,电子设备的结构可以如图2所示。如图2所示,电子设备100可以包括处理器110,外部存储器接口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可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,在本申请中,处理器110可以获取第一播放速度,可选的,第一播放速度与用户播放设置相关;获取第一信息,第一信息包括视频的图像信息和/或视频的语音信息;以及基于第一播放速度和第一信息得到第二播放速度。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100的显示屏194上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该电子设备100的主屏幕。一般来说,电子设备100的显示屏194的尺寸是固定的,只能在该电子设备100的显示屏194中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令,执行本申请提供的播放视频的方法,获取电子设备100播放的视频的播放速度。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如视频中语音播放、音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口,或者其他。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。陀螺仪传感器180B还可以判断电子设备100是否处于移动状态。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。还可以用于判断电子设备100是否处于移动状态。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的iOS操作系统,谷歌公司所开发的Android开源操作系统,微软公司所开发的Windows操作系统等。在该操作系统上可以安装运行应用程序。
电子设备100的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构或其他架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图3是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。例如,在拍照时,相机应用可以访问应用程序框架层提供的相机接口管理服务。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:动态图像专家组(moving picture experts group,MPEG)4,H.264,MP3,高级音频编码(advanced audio coding,AAC),自适应多速率(adaptive multi rate,AMR),联合摄影制图专家组(joint photo graphic expertsgroup,JPEG),可移植网络图形格式(portable network graphic format,PNG)等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
二维(2dimensions,2D)图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
一方面,本申请实施例提供一种加速渲染的方法,该设备可以由加速渲染的装置(执行本申请提供的加速渲染的方法的装置)执行,以高效的获取高质量的渲染图像。
其中,加速渲染的装置可以先获取渲染参数,按照获取的渲染参数执行下述加速渲染的方法。
一种可能的实现方式中,加速渲染的装置可以通过与用户的交互界面,获取用户输入的渲染参数,该渲染参数可以包括下述内容中至少一项:下述实施例中任一分辨率值,渲染质量,或者渲染时长。
另一种可能的实现方式中,上述渲染参数也可以为配置的固定参数,无需用户输入,加速渲染的装置读取固定参数即可获取到渲染参数。
本申请实施例对于渲染参数的获取方式不予限定。
本申请实施例提供的加速渲染的方法的总体流程如图4所示,用户首先会在渲染引擎交互界面进行相应的渲染参数的设置,例如可以包括但不限于下述一项或多项内容:上采样倍数,SPP数、不同分辨率,输出类型等。用户设置完成后,渲染引擎根据用户的设置进行渲染,并输出一个或多个分辨率下的渲染最终结果以及所需要的渲染中间结果,这些输出接下来会作为输入信息输入到本申请提供的加速渲染的装置,本申请提供的加速渲染的装置通过执行本申请提供的方案,在很短的时间内完成模型推理,得到最终高分辨率下的高质量渲染结果。加速渲染的装置的输出结果经过一系列后处理算法后,最终在显示器显示或者进行存储以便后续使用。
本申请实施例提供的加速渲染的方法的流程可以如图5所示,可以包括:
S501、加速渲染的装置获取图像帧在第一分辨率的第一渲染结果以及第二渲染结果。
其中,第一分辨率可以为预设或者用户输入的低于渲染目标分辨率。渲染目标分辨率是指图像渲染最终的分辨率。
可选的,第一分辨率可以为固定值,或者,第一分辨率可以为根据渲染期望质量或渲染期望时长计算出的分辨率,本申请对于第一分辨率的具体取值以及获取方式不予限定。
例如,预先配置了渲染期望质量或渲染期望时长与第一分辨率的关系式,S501中加速渲染的装置根据该关系式即可确定第一分辨率,本申请实施例对于该关系式的具体内容不予赘述,可以根据实际需求配置。
第一渲染结果为渲染最终结果。第二渲染结果为渲染中间结果。
具体的,第一渲染结果的SPP大于或等于第一预设值。
例如,第一渲染结果的SPP可以为1024SPP。较高的spp能够保证渲染输出包含更加丰富的细节,更加逼近理论收敛值。
其中,第一预设值可以根据实际需求配置,本申请实施例对此不予限定。
示例性的,第一预设值可以为业界或企业提供的高质量图像的最低SPP门限值。第一渲染结果为高质量的渲染结果。
进一步的,对于渲染获取第一渲染结果时的SPP值的选取,可以根据实际需求实现,只要大于或等于第一预设值即可,本申请实施例对于渲染获取第一渲染结果时的SPP值不予具体限定。
一种可能的实现方式中,S501中加速渲染的装置可以在获取第一渲染结果的过程中,将渲染中间结果作为第二渲染结果。
另一种可能的实现方式中,S501中加速渲染的装置可以并行渲染获取第一渲染结果及第二渲染结果。
S502、加速渲染的装置获取第一渲染结果及第二渲染结果在第二分辨率的第一特征。
其中,第二分辨率为用于缩放的分辨率,第二分辨率用于将不同尺度的信息缩放到同一尺寸。第二分辨率可以为设置的固定参数,也可以为前述加速渲染的装置获取的渲染参数中的内容,或者,第二分辨率可以为根据前述加速渲染的装置或者的渲染参数中的内容确定的分辨率。
一种可能的实现方式中,缩放尺寸的选择取决于对于算法计算量和计算时间的限制,因此,可以根据渲染参数确定第二分辨率。例如,本申请实施例提供的加速渲染的方法可以包括:加速渲染的装置获取渲染参数,该渲染参数包括渲染质量和/或渲染时长;加速渲染的装置根据获取的渲染参数,确定第二分辨率。
示例性的,当需要算法以更低的计算量和更快计算时间运行时,可以确定较低的第二分辨率,以实现将中、高分辨率分支的输入,进行下采样操作至第二分辨率,降低计算量加快计算时间;当计算资源充足时,可以确定较高的第二分辨率,以实现将低、中分辨率分支输入,进行上采样操作至第二分辨率,从而能够获得更准确的输出结果。
另一种可能的实现方式中,第二分辨率可以为图像帧的目标分辨率。
其中,第一特征为第一渲染结果与第二渲染结果融合后的特征。
示例性的,S502中加速渲染的装置可以将第一渲染结果与第二渲染结果分别进行特征提取后,再进行特征融合,然后将融合后的特征,缩放至第二分辨率,得到第一特征。
其中,加速渲染的装置可以通过特征提取模型,提取渲染结果的特征。本申请实施例对于特征提取的具体实现不予限定。例如,可以通过残差卷积模型或注意力模型提取特征。
可选的,特征提取模型用于提取对应路径下渲染结果的特征信息,不同路径下的特征提取模型为了减少参数量,可以进行权重共享。
进一步的,在本申请的实施例中,加速渲染的装置可以通过训练后的神经网络进行特征融合。
其中,进行特征融合的神经网络的类型以及具体结果,本申请实施例均不进行具体限定,可以根据实际需求配置。
示例性的,本申请实施例中所使用的上采样可以包括但不限于Sub-pixel上采样、转置卷积,bilinear上采样等或其他。其中Sub-pixel上采样模块使用与Deshuffle模块相反的操作方式,将通道维度的信息转换到空间维度。
如图6所示,示意了一种Sub-pixel上采样的原理。如图6所示,将a2C×H×W的图像,上采样为C×aH×aW的图像,其中,a表示上采样倍数,C表示特征图数据,H表示特征图的高度,W表示特征图的宽度。
示例性的,本申请实施例中所使用的下采样包括但不限于Deshuffle、bilinear,bicubic,maxpooling等下采样方式。其中Deshuffle下采样是通过无损的方式将空间分布的特征信息转换到通道层级。
如图7所示,示意了一种Deshuffle下采样的原理。如图7所示,将C×aH×aW的图像,下采样为a2C×H×W的图像。
S503、加速渲染的装置获取图像帧在第三分辨率的第三渲染结果。
其中,第三分辨率大于第一分辨率。第三分辨率可以大于或等于进行渲染的图像帧的目标分辨率。第三渲染结果为渲染最终结果。
具体的,可以根据实际需求配置第三分辨率的具体取值,本申请实施例对于第三分辨率的具体取值不予限定。
例如,第三分辨率配置的越高,渲染时可以补充更多的高频信息,提高渲染结果的质量,但是会增加渲染复杂度增加渲染时长;相反的,第三分辨率配置的越低,渲染时只能补充部分高频信息,但是可以降低渲染复杂度缩短渲染时长。
S504、加速渲染的装置获取第三渲染结果在第二分辨率的第二特征。
示例性的,S504中加速渲染的装置可以将第三渲染结果进行特征提取后缩放至第二分辨率,得到第二特征。
S505、加速渲染的装置获取图像帧在第四分辨率的第四渲染结果,第四渲染结果融合了第一特征及第二特征。
其中,第四渲染结果的像素收敛至第二预设值。第二预设值大于或等于图像收敛的门限值。在实际应用中,可以根据实际需求配置图像收敛的门限值的具体取值,本申请实施例对此不予限定。
一种可能的实现方式中,第四分辨率为图像帧的目标分辨率。
另一种可能的实现方式中,第四分辨率可以小于图像帧的目标分辨率。加速渲染的装置可以通过循环多次执行S501至S505的过程,每一次执行S501至S505的过程时递增第四分辨率的取值,直至第四分辨率递增至图像帧的分辨率,即可获取到图像帧在目标分辨率的渲染结果。
具体的,加速渲染的装置在S505中可以将第一特征与第二特征进行特征融合,将特征融合的结果,作为第四渲染结果。
当第四分辨率为图像帧的目标分辨率时,第四渲染结果则为该图像帧的高质量渲染结果,加速渲染的装置将其输出即可。
需要说明的是,由于第一分辨率下的渲染结果与第三分辨率下的渲染结果,均缩放至第二分辨率,S505中需将融合后的特征缩放至第四分辨率,以得到第四渲染结果。
一种可能的实现方式中,加速渲染的装置在S505中,可以结合当前图像帧的历史帧在渲染过程中的特征,以提高渲染结果的稳定性及准确性。具体的,S505中加速渲染的装置获取图像帧在第四分辨率的第四渲染结果,可以实现为:加速渲染的装置将当前图像帧的历史帧的第一特征及第二特征,根据运动矢量映射至图像帧,并与当前图像帧的第一特征及第二特征进行特征融合后,进行自适应融合,得到第四渲染结果。
其中,历史帧包括图像帧之前的一个或多个图像帧。历史帧的第一特征及第二特征可以指每个历史帧的第一特征与第二特征融合(历史累加)后的特征。
例如,历史帧的第一特征及第二特征可以为当前图像帧的前一个图像帧的最终渲染结果。
示例性的,历史帧Xt-1能够包含多个不同SPP的累加结果,通过motion vector信息依次映射到当前图像帧。
进一步的,在本申请的实施例中,加速渲染的装置可以通过训练后的神经网络进行自适应特征融合。
示例性的,神经网络的训练阶段,可以使用高分辨率高SPP(例如720p,4096SPP)的降噪之后的渲染结果作为ground truth。
其中,进行自适应特征融合的神经网络的类型以及具体结果,本申请实施例均不进行具体限定,可以根据实际需求配置。
例如,可以才用重构网络(Reconstruction Network)进行自适应特征融合。
示例性的,加速渲染的装置可以通过通过重构网络来学习当前图像帧与历史帧对应的融合权重,自适应的来融合特征信息,以修正历史帧和当前图像帧特征中的错误信息,提升历史帧和当前帧的融合效果。
示例性的,该重构网络可以采用编码-解码网络(例如UNet encoder-decoder结构),网络主要包括卷积层,池化层,激活函数,上采样模块构成;Encoder部分通过池化层对特征进行下采样,在扩大网络感受野的同时进行特征的提取融合;Decoder部分通过上采样模块对低分辨率的特征进行上采样,上采样之后的特征与对应尺度的encoder部分特征通过跳跃链接skip connection相融合进行后续的特征提取。
示例性的,该重构网络可以采用不变尺度的深层特征提取网络(例如DenseNet等)。
可选的,为了提升效果,该重构网络可以采用残差模块。为了减少计算量,该重构网络可以使用较低的网络深度(例如网络中所包含的卷积层数)和网络宽度(例如网络中每一层卷积所包含的卷积核数),同时采用depthwise convolution来进一步减少网络参数和计算量。
其中,历史帧的特征信息通过运动矢量(motion vector)信息后向映射到当前图像帧,为了保持尺寸一致,motion vector可以通过bilinear上采样得到。
图8示意了一种当前图像帧与历史帧融合的场景。
本申请提供的加速渲染的方法,由于第一分辨率下的高SPP渲染结果,在渲染速度快的前提下,可以保证渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低;第三分辨率下的渲染结果,可以补充渲染结果的在低分辨率下的信息缺失;因此,最后将第一分辨率下的渲染结果与第三渲染结果融合后的特征,作为最终的渲染结果,在渲染速度快的前提下,保证了渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低,实现了高效的获取高质量的渲染结果。
进一步的,图9示意了渲染结果的转换场景。本申请实施例所使用的渲染结果可以进行了如图9中的(a)所示的颜色空间转换(RGB到YUV),色调映射(ToneMapping),加速渲染的装置获取的第四渲染结果,可以分别经过如图9中的(b)色调映射逆变换和颜色空间转换(YUV向RGB),得到最终的RGB格式的输出结果。
进一步可选的,为了更好的补充渲染结果中的几何纹理等高频信息,如图10所示,本申请提供的加速渲染的方法还可以包括S506和S507:
S506、加速渲染的装置获取图像帧在第五分辨率的第五渲染结果,第五渲染结果的SPP小于或等于第三预设值。
其中,第五分辨率可以大于第四分辨率。第五渲染结果可以为渲染中间结果。
例如,第五渲染结果的SPP可以为4SPP。高分辨率下较低spp能够实现较快的渲染速度。
其中,第三预设值可以根据实际需求配置,本申请实施例对此不予限定。
示例性的,第三预设值可以为业界或企业提供的低质量图像的最高SPP门限值。第五渲染结果为低质量的渲染结果。
进一步的,对于渲染获取第五渲染结果时的SPP值的选取,可以根据实际需求实现,只要小于或等于第三预设值即可,本申请实施例对于渲染获取第五渲染结果时的SPP值不予具体限定。
S507、加速渲染的装置获取第五渲染结果在第二分辨率的第三特征。
示例性的,S507中加速渲染的装置可以将第五渲染结果进行特征提取后缩放至第二分辨率,得到第三特征。
一种可能的实现方式中,当本申请提供的加速渲染的方法包括S506和S507,S505中获取图像帧在第四分辨率的第四渲染结果,具体可以实现为:将第一特征、第二特征及第三特征进行特征融合后,进行自适应融合,得到第四渲染结果。
在图10示意的加速渲染的方法中,第五分辨率的渲染结果仅包含高分辨率下渲染的gbuffer信息,相比于通过着色器得到最终的渲染结果,gbuffer信息能够更加快速计算得到,其中的normal,albedo等信息能够提供更加丰富的几何纹理等高频信息。
一种可能的实现方式中,加速渲染的装置在S505中,可以结合当前图像帧的历史帧在渲染过程中的特征,以提高渲染结果的稳定性及准确性。具体的,S505中加速渲染的装置获取图像帧在第四分辨率的第四渲染结果,可以实现为:加速渲染的装置将当前图像帧的历史帧的第一特征、第二特征及第三特征,根据运动矢量映射至图像帧,并与当前图像帧的第一特征、第二特征及第三特征进行特征融合后,进行自适应融合,得到第四渲染结果。
其中,历史帧的第一特征、第二特征及第三特征可以指,每个历史帧的第一特征、第二特征及第三特征融合(历史累加)后的特征。
需要说明的是,对于当前图像帧与历史帧的自适应融合的过程,已经在S505中进行了详细描述,此处不再赘述。
进一步可选的,为了更好的补充渲染结果中的几何纹理等高频信息,如图11所示,本申请提供的加速渲染的方法还可以包括S508:
S508、加速渲染的装置获取图像帧在第三分辨率的渲染中间结果,并获取其在第二分辨率的第五特征。
一种可能的实现方式中,当本申请提供的加速渲染的方法包括S508,S505中获取图像帧在第四分辨率的第四渲染结果,具体可以实现为:将第一特征、第二特征及第五特征进行特征融合后,进行自适应融合,得到第四渲染结果。
一种可能的实现方式中,加速渲染的装置在S505中,可以结合当前图像帧的历史帧在渲染过程中的特征,以提高渲染结果的稳定性及准确性。具体的,S505中加速渲染的装置获取图像帧在第四分辨率的第四渲染结果,可以实现为:加速渲染的装置将当前图像帧的历史帧的第一特征、第二特征及第五特征,根据运动矢量映射至图像帧,并与当前图像帧的第一特征、第二特征及第五特征进行特征融合后,进行自适应融合,得到第四渲染结果。
其中,历史帧的第一特征、第二特征及第五特征可以指,每个历史帧的第一特征、第二特征及第五特征融合(历史累加)后的特征。
需要说明的是,对于当前图像帧与历史帧的自适应融合的过程,已经在S505中进行了详细描述,此处不再赘述。
本申请上述方案,通过引入多个不同尺度的渲染目标和渲染输入,能够有效的补充低分辨率上采样到高分辨率所存在的高频信息缺失,能够使输出结果保持更多的纹理细节,同时低分辨率高SPP的输入不仅能够提升降噪效果,更能够提升最终结果的收敛程度,获得更加高质量的高分辨率输出;使用更高分辨率的渲染中间结果能够有效的补充高质量的几何纹理信息,使最终的结果细节丰富程度更加接近原生渲染结果。
进一步的,本申请上述方案中的多帧融合,能够借助历史帧的特征信息,对当前图像帧采样存在的错误信息进行一定的修正,同时对当前图像帧信息实现有效的补充,多帧的融合能够保证渲染结果时序上的稳定,减少时域锯齿等问题。
进一步的,本申请上述方案中通过神经网络进行自适应融合,能够自适应的融合不同的特征信息,通过该网络能够修正历史帧和当前帧特征中的错误信息,解决传统固定式或者启发式权重设置所导致的鬼影,抖动,拖帧等问题,提升历史帧和当前帧的融合准确性。
进一步的,本申请上述方案中将多个尺度的渲染结果缩放至第二分辨率,能够根据当前设备的算力适应性的调整不同尺度输入的融合尺寸,能够显著减少算力需求,提升算法适用场景。自适应融合网络能够利用深度学习模型更好的融合不同尺度的输入,实现更加高质量的输出。
进一步的,本申请提供的方案中的渲染结果(除第四渲染结果之外的渲染结果),均为包含蒙特卡洛噪声的未降噪渲染结果,使用含噪声输入能够避免因降噪算法所带来的高频信息缺失,输入模糊的问题。将超分和降噪任务融合在一起,能够融合更多层次的输入信息,避免单个任务所带来的瑕疵会后续任务的影响。
由上述方案描述可知,本申请提供的方案能够利用低分辨率高SPP(lowresolution high spp,LRHS)和高分辨率低SPP(high resolution low spp,HRLS)输入所提供的不同层次的信息,生成高分辨率降噪之后的高质量渲染结果。
从效果上看,本申请上述方案在2×2倍上采样比例的情况下仅使用中(4SPP)、低分辨率(1024SPP)模型推理得到的结果能够与原生中等分辨率下1024SPP渲染结果相当,部分区域细节信息甚至明显优于后者,实现3倍以上渲染速度的提升。在4×4倍上采样的情况下能够在保证输出结果高质量的同时,实现渲染速度最高20倍的提升。
从效果上看,本申请上述方案借助更大的gbuffer输入能够实现更加丰富的输出细节,使用高(第五分辨率)、中(第三分辨率)、低分辨率(第一分辨率)输入模型推理得到的结果能够与4096SPP渲染结果近似,且在复杂镜面,部分几何轮廓等区域呈现更佳的噪声水平和细节信息。
从渲染效率上看,本申请上述方案能够实现3-20倍速度的提升,在节省算力的同时能够进一步提升输出结果与理论收敛值之间的差距,提升最终渲染图像的质量,更加适用于离线高质量CG内容的制作。
本申请上述方案相比于Optix Denoise,Open Image denoise等渲染引擎中常用的降噪算法,能够提供更高质量的降噪效果和输出结果提升效果;相比于深度学习降噪算法,本申请上述方案能够提供更加丰富的纹理、几何等高频细节,能够实现明显超越的效果;相比于CAS upscale和FSR等传统上采样算法,本申请上述方案能够提供更高上采样比例和更加接近真实渲染输出的结果;相比于DLSS算法,本申请上述方案可以实现离线场景下高质量高效率渲染,前者侧重于实时场景下快速渲染。
另一方面,本申请实施例提供另一种加速渲染的方法,如图12所示,本申请实施例提供的渲染可以包括:
S1201、加速渲染的装置获取图像帧在第六分辨率的第六渲染结果,第六渲染结果为渲染最终结果。
其中,第六分辨率可以为预设或者用户输入的低于渲染目标分辨率。渲染目标分辨率是指图像渲染最终的分辨率。
可选的,第六分辨率可以为固定值,或者,第六分辨率可以为根据渲染期望质量或渲染期望时长计算出的分辨率,本申请对于第六分辨率的具体取值以及获取方式不予限定。
例如,预先配置了渲染期望质量或渲染期望时长与第六分辨率的关系式,S1201中加速渲染的装置根据该关系式即可确定第六分辨率,本申请实施例对于该关系式的具体内容不予赘述,可以根据实际需求配置。
其中,第六渲染结果的像素内采样数SPP大于或等于第四预设值。
例如,第六渲染结果的SPP可以为1024SPP。较高的spp能够保证渲染输出包含更加丰富的细节,更加逼近理论收敛值。
其中,第四预设值可以根据实际需求配置,本申请实施例对此不予限定。
示例性的,第四预设值可以为业界或企业提供的高质量图像的最低SPP门限值。第六渲染结果为高质量的渲染结果。
进一步的,对于渲染获取第六渲染结果时的SPP值的选取,可以根据实际需求实现,只要大于或等于第四预设值即可,本申请实施例对于渲染获取第六渲染结果时的SPP值不予具体限定。
S1202、加速渲染的装置获取图像帧的亚像素信息。
其中,该亚像素信息用于描述图像帧中亚像素的特征,亚像素的尺寸小于像素的尺寸。
示例性的,亚像素信息包含Jitter信息,可以通过相机抖动获取。
示例性的,Jitter信息可以通过Halton等低差异序列产生。
S1203、加速渲染的装置根据亚像素信息,对第六渲染结果上采样至第七分辨率,得到第七渲染结果。
其中,第七分辨率大于第六分辨率。
一种可能的实现方式中,第七分辨率可以为图像帧的目标分辨率。
一种可能的实现方式中,第七分辨率可以小于图像帧的目标分辨率。
需要说明的是,第七分辨率的具体取值,可以根据实际需求配置,或者由用户配置,本申请实施例对此不予限定。
示例性的,亚像素信息可以具体描述亚像素的下述信息中一项或多项:在图像中的位置、颜色、亮度或其他相关信息,加速渲染的装置可以根据亚像素信息,对第六渲染结果上采样至第七分辨率,该上采样可以为相机抖动上采样(Jitter Upscale),即按照亚像素的具体位置,映射至第七分辨率,实现图像的放大,具体的映射过程,本申请实施例对此不予限定。
可选的,对于Jitter upscale上采样结果中存在的空白像素,可以通过bilinear等插值的方式进行填充。
S1204、加速渲染的装置根据第七渲染结果,获取图像帧的第八渲染结果,第八渲染结果的像素收敛至第五预设值。
其中,第五预设值大于或等于图像收敛的门限值。在实际应用中,可以根据实际需求配置图像收敛的门限值的具体取值,本申请实施例对此不予限定。
可选的,S1204中加速渲染的装置根据第七渲染结果,获取图像帧的第八渲染结果,可以通过但不限于下述三种方案中任一种方案实现:
方案1:加速渲染的装置将第七渲染结果直接作为第八渲染结果。
另一种可能的实现方式中,S1024中加速渲染的装置根据第七渲染结果,获取图像帧的第八渲染结果,具体可以实现为:加速渲染的装置将图像帧的历史帧的第七渲染结果,根据运动矢量映射至当前图像帧,并与当前图像帧的第七渲染结果进行特征融合后,进行自适应融合,得到第八渲染结果。其中,历史帧包括所述图像帧之前的一个或多个图像帧。
需要说明的是,对于当前图像帧与历史帧的融合过程,可以参考前述S505中描述的相关内容,此处不再赘述。
方案2:加速渲染的装置获取图像帧在所述第六分辨率的第九渲染结果,第九渲染结果为渲染中间结果,对第九渲染结果上采样至第七分辨率,得到第十渲染结果;对第七渲染结果及第十渲染结果进行特征融合后,进行特征提取得到第四特征,作为第八渲染结果。
方案3:加速渲染的装置获取图像帧在第六分辨率的第九渲染结果,第九渲染结果为渲染中间结果,对第九渲染结果上采样至第七分辨率,得到第十渲染结果;对第七渲染结果及第十渲染结果进行特征融合后,进行特征提取得到第四特征;将图像帧的历史帧的第四特征,根据运动矢量映射至图像帧,并与图像帧的第四特征进行特征融合后,进行自适应融合,得到第八渲染结果。
其中,历史帧的特征信息通过运动矢量(motion vector)信息后向映射到当前图像帧,为了保持尺寸一致,motion vector可以通过bilinear上采样得到。
示例性的,静态场景下,motion vector信息为0,当前图像帧Xt和历史帧Xt-1对应的不同SPP的渲染结果以及对应的gbuffer信息,历史帧Xt-1能够包含多个不同SPP的累加结果。
方案2、方案3中,如图13所示,本申请提供加速渲染的方法还可以包括S1205和S1206。
S1205、加速渲染的装置获取图像帧在所述第六分辨率的第九渲染结果。
一种可能的实现方式中,加速渲染的装置可以在获取第六渲染结果的过程中,将渲染中间结果作为第九渲染结果。
另一种可能的实现方式中,加速渲染的装置可以并行渲染获取第六渲染结果及第九渲染结果。
S1206、加速渲染的装置对第九渲染结果上采样至第七分辨率,得到第十渲染结果。
示例性的,第九渲染结果可以包括albedo,normal,position等,S1206中可以通过bilinear或者bicubic等线性上采样方式采样到第七分辨率,得到第十渲染结果。
图14示意了结合历史帧的加速渲染的方法的流程图。获取历史帧的第四特征的过程与获取当前图像帧的第四特征的过程相同。
一种可能的实现方式中,第七分辨率小于图像帧的目标分辨率,加速渲染的装置可以通过循环多次执行S1201至S1204的过程,每一次执行S1201至S1204的过程时递增第七分辨率的取值,直至第七分辨率递增至图像帧的分辨率,即可获取到图像帧在目标分辨率的渲染结果。
进一步的,本申请实施例所使用的渲染结果可以进行了如图9中的(a)所示的颜色空间转换(RGB到YUV),色调映射(ToneMapping),加速渲染的装置获取的第八渲染结果,可以分别经过如图9中的(b)色调映射逆变换和颜色空间转换(YUV向RGB),得到最终的RGB格式的输出结果。
本申请提供的加速渲染的方法,由于第六分辨率下的高SPP渲染结果,在渲染速度快的前提下,可以保证渲染输出包含更加丰富的细节、更加逼近理论收敛,同时也保证了渲染结果噪声较低;引入sub-pixel信息作为上采样像素值,更加符合渲染数据分布,增加了输入的有效信息最终能够得到细节更加丰富,更加符合原生渲染图像的高分辨结果;因此,最终的渲染结果,在渲染速度快的前提下,保证了渲染输出包含更加丰富的细节、更加逼近理论收敛,同时符合渲染数据分布,实现了高效的获取高质量的渲染结果。
本申请上述方案相比于一般超分算法,能够实现更加快速的推理速度;相比于传统的TAAU算法,能够减少其存在的伪影,模糊等问题,生成更高质量的前后帧融合结果;相比于CAS upscale和FSR算法,能够提供更高上采样比例。
需要说明的是,本申请实施例提供的加速渲染的方法包括的各个步骤的执行顺序,可以根据实际需求配置,附图中仅提供了一种可能的实现顺序,并不是对各个步骤执行顺序的限定。
上述主要从设备的工作原理角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述加速渲染的装置件为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对本申请提供的加速渲染的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图15示出了上述实施例中所涉及的加速渲染的装置的一种可能的结构示意图。该加速渲染的装置150可以为功能模块或者芯片。如图15所示,加速渲染的装置150可以包括:第一获取单元1501、第二获取单元1502、第三获取单元1503、第四获取单元1504。其中,第一获取单元1501用于执行图5或图10中的过程S501、S503;或者,第一获取单元1501还可以用于执行图10中S506;第二获取单元1502用于执行图5或图10中的过程S502;第三获取单元1503用于执行图5或图10中的过程S504;第四获取单元1504用于执行图5或图10中的过程S505。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
进一步的,如图16所示,该加速渲染的装置150还可以包括第五获取单元1505,用于执行图10中的过程S507。
在采用集成的单元的情况下,图17示出了上述实施例中所涉及的加速渲染的装置的一种可能的结构示意图。加速渲染的装置170可以包括:处理模块1701、通信模块1702。处理模块1701用于对加速渲染的装置170的动作进行控制管理,通信模块1702用于与其他设备通信。例如,处理模块1701用于执行图5或图10中的过程S501至S505中任一项,或者执行图10中的过程S506或S507。加速渲染的装置170还可以包括存储模块1703,用于存储加速渲染的装置170的程序代码和数据。
其中,处理模块1701可以是处理器或控制器。例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理模块1701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1702可以为可以是通信端口,或者可以是收发器、收发电路或通信接口等。或者,上述通信接口可以通过上述具有收发功能的元件,实现与其他设备的通信。上述具有收发功能的元件可以由天线和/或射频装置实现。=
如前述,本申请实施例提供的加速渲染的装置150或加速渲染的装置170可以用于实施上述本申请各实施例实现的方法中相应的功能,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请各实施例。
在采用对应各个功能划分各个功能模块的情况下,图18示出了上述实施例中所涉及的加速渲染的装置的一种可能的结构示意图。该加速渲染的装置180可以为功能模块或者芯片。如图18所示,加速渲染的装置180可以包括:第一获取单元1801、第二获取单元1802、放大单元1803、第三获取单元1804。其中,第一获取单元1801用于执行图12中的过程S1201;第二获取单元1802用于执行图12中的过程S1202;放大单元1803用于执行图12中的过程S1203;第三获取单元1804用于执行图12中的过程S1204。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图19示出了上述实施例中所涉及的加速渲染的装置的一种可能的结构示意图。加速渲染的装置190可以包括:处理模块1901、通信模块1902。处理模块1901用于对加速渲染的装置190的动作进行控制管理,通信模块1902用于与其他设备通信。例如,处理模块1901用于执行图12中的过程S1201至S1204中任一项。加速渲染的装置190还可以包括存储模块1903,用于存储加速渲染的装置190的程序代码和数据。
其中,处理模块1901可以是处理器或控制器。例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理模块1901也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1902可以为可以是通信端口,或者可以是收发器、收发电路或通信接口等。或者,上述通信接口可以通过上述具有收发功能的元件,实现与其他设备的通信。上述具有收发功能的元件可以由天线和/或射频装置实现。=
如前述,本申请实施例提供的加速渲染的装置180或加速渲染的装置190可以用于实施上述本申请各实施例实现的方法中相应的功能,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请各实施例。
作为本实施例的另一种形式,提供一种非瞬时性计算机可读存储介质,包括程序代码,该程序代码被执行时执行上述方法实施例中的方法。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行时执行上述方法实施例中的方法。
本申请实施例再提供一种芯片系统,该芯片系统包括处理器,用于实现本发明实施例的技术方法。在一种可能的设计中,该芯片系统还包括存储器,用于保存本发明实施例必要的程序指令和/或数据。在一种可能的设计中,该芯片系统还包括存储器,用于处理器调用存储器中存储的应用程序代码。该芯片系统,可以由一个或多个芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (31)
1.一种加速渲染的方法,其特征在于,所述方法包括:
获取图像帧在第一分辨率的第一渲染结果以及第二渲染结果;其中,所述第一渲染结果为渲染最终结果,所述第二渲染结果为渲染中间结果;所述第一渲染结果的像素内采样数SPP大于或等于第一预设值;
获取所述第一渲染结果及所述第二渲染结果在第二分辨率的第一特征,所述第一特征为所述第一渲染结果与所述第二渲染结果融合后的特征;
获取所述图像帧在第三分辨率的第三渲染结果;其中,所述第三分辨率大于所述第一分辨率;所述第三渲染结果为渲染最终结果;
获取所述第三渲染结果在所述第二分辨率的第二特征;
获取所述图像帧在第四分辨率的第四渲染结果,所述第四渲染结果融合了所述第一特征及所述第二特征,所述第四渲染结果的像素收敛至第二预设值。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:获取所述图像帧在第五分辨率的第五渲染结果,所述第五渲染结果为渲染中间结果,所述第五渲染结果的SPP小于或等于第三预设值;所述第五分辨率大于所述第四分辨率;获取所述第五渲染结果在所述第二分辨率的第三特征;
所述获取所述图像帧在第四分辨率的第四渲染结果,包括:将所述第一特征、所述第二特征及所述第三特征进行特征融合后,进行自适应融合,得到所述第四渲染结果。
3.根据权利要求1或2所述的方法,其特征在于,所述第三分辨率大于或等于所述图像帧的目标分辨率。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第四分辨率为所述图像帧的目标分辨率。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取所述图像帧在第四分辨率的第四渲染结果,包括:
将所述图像帧的历史帧的第一特征及第二特征,根据运动矢量映射至所述图像帧,并与所述图像帧的第一特征及第二特征进行特征融合后,进行自适应融合,得到所述第四渲染结果;其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
获取渲染参数,所述渲染参数包括渲染质量和/或渲染时长;
根据所述渲染参数,确定所述第二分辨率。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述渲染中间结果包括:法线图,或者,深度图。
8.根据权利要求1-7任一项所述的方法,其特征在于,通过训练后的神经网络进行所述特征融合,或者,所述自适应融合。
9.一种加速渲染的方法,其特征在于,所述方法包括:
获取图像帧在第六分辨率的第六渲染结果,所述第六渲染结果为渲染最终结果;其中,所述第六渲染结果的像素内采样数SPP大于或等于第四预设值;
获取所述图像帧的亚像素信息,所述亚像素信息用于描述所述图像帧中亚像素的特征,所述亚像素的尺寸小于像素的尺寸;
根据所述亚像素信息,对所述第六渲染结果上采样至第七分辨率,得到第七渲染结果;其中,所述第七分辨率大于所述第六分辨率;
根据所述第七渲染结果,获取所述图像帧的第八渲染结果,所述第八渲染结果的像素收敛至第五预设值。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第七渲染结果,获取所述图像帧的第八渲染结果,包括:
将所述图像帧的历史帧的第七渲染结果,根据运动矢量映射至所述图像帧,并与所述图像帧的第七渲染结果进行特征融合后,进行自适应融合,得到所述第八渲染结果;其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取所述图像帧在所述第六分辨率的第九渲染结果,所述第九渲染结果为渲染中间结果;
对所述第九渲染结果上采样至所述第七分辨率,得到第十渲染结果;
所述根据所述第七渲染结果,获取所述图像帧的第八渲染结果,包括:对所述第七渲染结果及所述第十渲染结果进行特征融合后,进行特征提取得到第四特征,作为所述第八渲染结果;
或者,
将所述图像帧的历史帧的第四特征,根据运动矢量映射至所述图像帧,并与所述图像帧的第四特征进行特征融合后,进行自适应融合,得到所述第八渲染结果;其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。
12.根据权利要求11所述的方法,其特征在于,所述渲染中间结果包括:法线图,或者,深度图。
13.根据权利要求9-12任一项所述的方法,其特征在于,所述第七分辨率为所述图像帧的目标分辨率。
14.根据权利要求9-13任一项所述的方法,其特征在于,通过训练后的神经网络进行特征融合,或者,自适应融合。
15.一种加速渲染的装置,其特征在于,所述装置包括:
第一获取单元,用于获取图像帧在第一分辨率的第一渲染结果以及第二渲染结果;其中,所述第一渲染结果为渲染最终结果,所述第二渲染结果为渲染中间结果;所述第一渲染结果的像素内采样数SPP大于或等于第一预设值;
第二获取单元,用于获取所述第一渲染结果及所述第二渲染结果在第二分辨率的第一特征,所述第一特征为所述第一渲染结果与所述第二渲染结果融合后的特征;
所述第一获取单元还用于,获取所述图像帧在第三分辨率的第三渲染结果;其中,所述第三分辨率大于所述第一分辨率;所述第三渲染结果为渲染最终结果;
第三获取单元,用于获取所述第三渲染结果在所述第二分辨率的第二特征;
第四获取单元,用于获取所述图像帧在第四分辨率的第四渲染结果,所述第四渲染结果融合了所述第一特征及所述第二特征,所述第四渲染结果的像素收敛至第二预设值。
16.根据权利要求15所述的装置,其特征在于,
所述第一获取单元还用于,获取所述图像帧在第五分辨率的第五渲染结果,所述第五渲染结果为渲染中间结果,所述第五渲染结果的SPP小于或等于第三预设值;所述第五分辨率大于所述第四分辨率;
所述装置还包括第五获取单元,用于获取所述第五渲染结果在所述第二分辨率的第三特征;
所述第四获取单元具体用于:将所述第一特征、所述第二特征及所述第三特征进行特征融合后,进行自适应融合,得到所述第四渲染结果。
17.根据权利要求15或16所述的装置,其特征在于,所述第三分辨率大于或等于所述图像帧的目标分辨率。
18.根据权利要求15-17任一项所述的装置,其特征在于,所述第四分辨率为所述图像帧的目标分辨率。
19.根据权利要求15-18任一项所述的装置,其特征在于,所述第四获取单元具体用于:
将所述图像帧的历史帧的第一特征及第二特征,根据运动矢量映射至所述图像帧,并与所述图像帧的第一特征及第二特征进行特征融合后,进行自适应融合,得到所述第四渲染结果;其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。
20.根据权利要求15-19任一项所述的装置,其特征在于,所述装置还包括:
第六获取单元,用于获取渲染参数,所述渲染参数包括渲染质量和/或渲染时长;
确定单元,用于根据所述第六获取单元获取的所述渲染参数,确定所述第二分辨率。
21.根据权利要求15-20任一项所述的装置,其特征在于,所述渲染中间结果包括:法线图,或者,深度图。
22.根据权利要求15-21任一项所述的装置,其特征在于,通过训练后的神经网络进行所述特征融合,或者,所述自适应融合。
23.一种加速渲染的装置,其特征在于,所述装置包括:
第一获取单元,用于获取图像帧在第六分辨率的第六渲染结果,所述第六渲染结果为渲染最终结果;其中,所述第六渲染结果的像素内采样数SPP大于或等于第四预设值;
第二获取单元,用于获取所述图像帧的亚像素信息,所述亚像素信息用于描述所述图像帧中亚像素的特征,所述亚像素的尺寸小于像素的尺寸;
放大单元,用于根据所述第二获取单元获取的所述亚像素信息,对所述第六渲染结果上采样至第七分辨率,得到第七渲染结果;其中,所述第七分辨率大于所述第六分辨率;
第三获取单元,用于根据所述放大单元得到的所述第七渲染结果,获取所述图像帧的第八渲染结果,所述第八渲染结果的像素收敛至第五预设值。
24.根据权利要求23所述的装置,其特征在于,所述第三获取单元具体用于:
将所述图像帧的历史帧的第七渲染结果,根据运动矢量映射至所述图像帧,并与所述图像帧的第七渲染结果进行特征融合后,进行自适应融合,得到所述第八渲染结果;其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。
25.根据权利要求23所述的装置,其特征在于,
所述第一获取单元还用于:获取所述图像帧在所述第六分辨率的第九渲染结果,所述第九渲染结果为渲染中间结果;
所述放大单元还用于:对所述第九渲染结果上采样至所述第七分辨率,得到第十渲染结果;
所述第三获取单元具体用于:对所述第七渲染结果及所述第十渲染结果进行特征融合后,进行特征提取得到第四特征,作为所述第八渲染结果;或者,将所述图像帧的历史帧的第四特征,根据运动矢量映射至所述图像帧,并与所述图像帧的第四特征进行特征融合后,进行自适应融合,得到所述第八渲染结果;其中,所述历史帧包括所述图像帧之前的一个或多个图像帧。
26.根据权利要求25所述的装置,其特征在于,所述渲染中间结果包括:法线图,或者,深度图。
27.根据权利要求23-26任一项所述的装置,其特征在于,所述第七分辨率为所述图像帧的目标分辨率。
28.根据权利要求23-27任一项所述的装置,其特征在于,通过训练后的神经网络进行特征融合,或者,自适应融合。
29.一种渲染设备,其特征在于,所述渲染设备包括:处理器和存储器;
所述存储器与所述处理器连接;
所述存储器用于存储计算机指令,当所述处理器执行所述计算机指令时,所述渲染设备执行如权利要求1至14中任一项所述的方法。
30.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行权利要求1至14中任一项所述的方法。
31.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111343115.7A CN116137047A (zh) | 2021-11-12 | 2021-11-12 | 一种加速渲染的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111343115.7A CN116137047A (zh) | 2021-11-12 | 2021-11-12 | 一种加速渲染的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116137047A true CN116137047A (zh) | 2023-05-19 |
Family
ID=86334024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111343115.7A Pending CN116137047A (zh) | 2021-11-12 | 2021-11-12 | 一种加速渲染的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116137047A (zh) |
-
2021
- 2021-11-12 CN CN202111343115.7A patent/CN116137047A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112717370B (zh) | 一种控制方法和电子设备 | |
CN111738122B (zh) | 图像处理的方法及相关装置 | |
CN113538273B (zh) | 图像处理方法及图像处理装置 | |
WO2021078001A1 (zh) | 一种图像增强方法及装置 | |
WO2022007862A1 (zh) | 图像处理方法、系统、电子设备及计算机可读存储介质 | |
CN112262563A (zh) | 图像处理方法及电子设备 | |
CN113099146A (zh) | 一种视频生成方法、装置及相关设备 | |
WO2024021742A9 (zh) | 一种注视点估计方法及相关设备 | |
CN113452969B (zh) | 图像处理方法和装置 | |
WO2022068326A1 (zh) | 一种图像帧预测的方法及电子设备 | |
CN113724151B (zh) | 一种图像增强方法、电子设备和计算机可读存储介质 | |
CN115908120A (zh) | 图像处理方法和电子设备 | |
WO2022078116A1 (zh) | 笔刷效果图生成方法、图像编辑方法、设备和存储介质 | |
CN116137047A (zh) | 一种加速渲染的方法及装置 | |
WO2021190097A1 (zh) | 图像处理方法和装置 | |
CN115964231A (zh) | 基于负载模型的评估方法和装置 | |
CN111722896B (zh) | 动画播放方法、装置、终端以及计算机可读存储介质 | |
CN116206041A (zh) | 一种渲染方法及其相关设备 | |
CN114758334A (zh) | 一种对象注册方法及装置 | |
CN116206040A (zh) | 一种获取ao贴图的方法及装置 | |
CN117036206B (zh) | 一种确定图像锯齿化程度的方法及相关电子设备 | |
CN116708931B (zh) | 图像处理方法及电子设备 | |
CN116668773B (zh) | 增强视频画质的方法与电子设备 | |
US20240107092A1 (en) | Video playing method and apparatus | |
WO2024103872A1 (zh) | 图像处理方法及电子设备 |
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 |