CN116704101B - 一种基于光线追踪渲染的像素填充方法和终端 - Google Patents
一种基于光线追踪渲染的像素填充方法和终端 Download PDFInfo
- Publication number
- CN116704101B CN116704101B CN202211102580.6A CN202211102580A CN116704101B CN 116704101 B CN116704101 B CN 116704101B CN 202211102580 A CN202211102580 A CN 202211102580A CN 116704101 B CN116704101 B CN 116704101B
- Authority
- CN
- China
- Prior art keywords
- pixel
- model
- terminal
- pixels
- rendering
- 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 251
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004040 coloring Methods 0.000 claims description 68
- 230000015654 memory Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 114
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000016776 visual perception Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005293 physical law Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 229920001621 AMOLED Polymers 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
Abstract
本申请实施例提供了一种基于光线追踪渲染的像素填充方法和终端。在该方法中,在对模型进行光线追踪渲染时,确定该模型中部分像素为空洞像素,其他像素(已着色像素)的颜色值为使用光线追踪渲染计算的。对于该模型中的空洞像素,利用该空洞像素周围的已着色像素的颜色值作为该空洞像素的颜色值。后续在对该模型中全部像素的颜色值进行锐化处理,得到该模型对应的全部像素的颜色值。
Description
技术领域
本申请涉及终端及图像处理领域,尤其涉及一种基于光线追踪渲染的像素填充方法和终端。
背景技术
图形渲染可以应用于游戏、虚拟仿真、虚拟现实(virtual reality,VR)或者增强现实(augmented reality,AR)等领域,提升渲染图像(渲染后得到的图像)的真实度是业界研究的方向。其中光线追踪技术这一图形渲染方式(光线追踪渲染)遵循物理规律:是通过追踪与场景中物体发生交互作用的光线,模拟光的反射和散射,可以自然实现阴影和环境光遮蔽的效果,带来高质量的渲染结果,因此备受关注。
随着硬件加速的实时光线追踪渲染在指令计数器(program counter,PC)和控制台(console)领域应用越来越广泛,终端基于vulkan的光线追踪渲染也被诸多芯片产品(终端中的)所支持。然而即便是利用了硬件加速,光线追踪渲染在终端中依然是重度负载的技术。终端在使用光线追踪渲染时,相应的在软件层面的加速方案也被提出,旨在降低终端光线追踪渲染的功耗,扩展到更多的应用场景和提升使用时长。
如何在光线追踪渲染时降低功耗,且高质量完成图像渲染是值得研究的方向。
发明内容
本申请提供了一种基于光线追踪渲染的像素填充方法和终端,降低光线追踪渲染功耗的同时,使得图形渲染得到的图像中各像素都具备真实的颜色值。
第一方面,本申请提供了一种基于光线追踪渲染的像素填充方法,该方法包括:终端为场景中包括的W个第一类模型分配标识号;该终端分别确定W个第一类模型的着色率;该W为大于等于1的整数;该终端分别基于每一个第一类模型的着色率、标识号对该每一个第一类模型进行光线追踪渲染,得到待填充渲染结果;该待填充渲染结果中至少包括待填充图像中各像素的颜色值;该待填充图像中各像素包括该W个第一类模型对应的全部像素;该W个第一类模型中包括第一模型,该第一模型的着色率为p,则该待填充图像中所示第一模型对应的已着色像素在该第一模型对应的全部像素中的占比为p,所示第一模型对应的空洞像素在该第一模型对应的全部像素中的占比为1-p;该已着色像素为该第一模型对应的全部像素中通过光线追踪渲染确定颜色值的像素;每一个空洞像素的颜色值为第一预设值或者为空;该终端利用第i个第一类型模型对应的已着色像素更新该第i个第一类模型对应的各空洞像素的颜色值,得到待锐化图像;其中,该i为整数,且从1变更至W;该终端将该待锐化图像中全部第一类型模型对应的全部像素进行锐化处理,得到目标图像;其中第一类型模型对应的全部像素中包括第一像素,该终端对该第一像素进行锐化处理包括:基于该第i个第一类模型的着色率,以及该第一像素周围K个像素的颜色值确定该第一像素的颜色值,该K为大于等于1的整数。
上述实施例中,终端可以在对模型进行光线追踪渲染时,减少通过光线追踪渲染确定颜色值的像素数量,进而减少发射光线数量,以节约光线追踪渲染的功耗。后期对未经过光线追踪渲染确定颜色值的像素的颜色值进行更新(填充)以及锐化,保证了目标图像的真实感、三维既视感。这样,兼顾高质量的渲染结果同时降低图形渲染功耗或者提升图形渲染速度。
结合第一方面,在一些实施例中,该终端分别确定W个第一类模型的着色率,具体包括:该终端确定该第i个第一类模型的建立精度级别;该第i个第一类模型的建立精度级别用于指示该第i个第一类模型到相机的距离,以及该第i个第一类模型对应的像素量占比的加权和;其中,该第i个模型的像素量占比为:该第i个第一类模型对应的全部像素在该目标图像的全部像素中的占比;该终端通过该第i个第一类模型的建立精度级别确定该建立精度级别对应的着色率作为该第i个第一类模型的着色率。
上述实施例中,终端通过模型到相机的距离以及第一类模型对应的像素量占比的加权和确定着色率。该加权和越高,则表示模型在目标图像中越重要,则其对应的建立精度级别越高,相应的着色率也高。这样,可以使得光追渲染的资源尽量给到更重要的模型中。实现资源的合理分配。
结合第一方面,在一些实施例中,该终端确定该第i个第一类模型的建立精度级别,具体包括:该终端将该第i个第一类模型到相机的距离的a倍,加上,该第i个第一类模型对应的像素量占比的b倍作为该第i个第一类模型的建立精度值;其中,a+b=1,且a小于b;确定该第i个第一类模型的建立精度值所对应的建立精度级别。
上述实施例中,在确定建立精度级别时,重点考虑的仍然是模型对应的像素量占比。这样,更加符合物理规律。
结合第一方面,在一些实施例中,该场景中还包括E个第二类模型,该终端分别基于每一个第一类模型的着色率、标识号对该每一个第一类模型进行光线追踪渲染,得到待填充渲染结果,具体包括:该终端分别对每一个第二类模型进行其他方式的渲染,以及基于每一个第一类模型的着色率、标识号对该每一个第一类模型进行光线追踪渲染,得到待填充渲染结果;其中,该待填充渲染结果中包括颜色图像以及语义图像;该颜色图像中包括待填充图像中各像素的颜色值,还包括该待填充图像中各像素的填充标识;该待填充图像中各像素除了包括该W个第一类模型对应的全部像素,还包括该E个第二类模型对应的全部像素;该语义图像中包括该待填充图像中各像素所对应模型的渲染方式标识以及该待填充图像中各像素所对应模型的着色率;该待填充图像中各像素中包括第二像素;在该第二像素为该第i个第一类模型中的一个像素,且该第二像素为已着色像素的情况下,该终端确定该颜色图像中该第二像素的填充标识为0;在该第二像素为该第i个第一类模型中的一个像素,且该第二像素为空洞像素的情况下,该终端确定该颜色图像中该第二像素的填充标识为1;在该第二像素为该第i个第一类模型中的一个像素的情况下,该终端确定该第二像素在该语义图像中的渲染方式标识为该第i个第一类模型的标识号;以及,确定该第二像素在该语义图像中的着色率为该第i个第一类模型的着色率;在该第二像素为该第二类模型中的一个像素的情况下,该终端确定该颜色图像中该第二像素的填充标识为0,且,确定该第二像素在该语义图像中的渲染方式标识为第二预设值,以及,该第二像素在该语义图像中的着色率为0。
上述实施例中,终端可以用语义图像以及颜色图像记录各像素的信息,后续,便于基于该各像素的信息生成目标图像。
结合第一方面,在一些实施例中,终端为场景中包括的W个第一类模型分配标识号,具体包括:终端为场景中包括的W个第一类模型分配不等于该第二预设值的标识号。
上述实施例中,因为第二预设值已经作为了第二类模型的渲染方式标识。这里为了不引起歧义,影响目标图像的生成,则第一类模型的标识号不可以等于第二预设值。
结合第一方面,在一些实施例中,该终端利用第i个第一类型模型对应的已着色像素更新该第i个第一类模型对应的各空洞像素的颜色值,得到待锐化图像,具体包括:该终端按照预设顺序获取该待填充图像中填充标识为1的像素作为第一空洞像素;该终端确定与该第一空洞像素邻近的,且符合预设条件的第三像素;该符合预设条件包括:该第三像素的填充标识为0,且该第三像素的渲染方式标识与该第一空洞像素的渲染方式标识相同;该终端将该第一空洞像素的颜色值更新为该第三像素的颜色值。
上述实施例中,利用空洞像素邻近的已着色像素的颜色值将该空洞像素的颜色值进行更新,可以更大程度上使得该空洞像素获取到正确的颜色值。从而使得目标图像更真实。
结合第一方面,在一些实施例中,基于该第i个第一类模型的着色率以及该第一像素周围K个像素的颜色值确定该第一像素的颜色值,具体包括:该终端获取与该第一像素邻近的八个像素的颜色值;该第一像素的颜色值包括绿色值、红色值以及蓝色值;基于该八个像素的绿色值以及该第一像素所对应第一类模型的着色率计算该锐化系数;该终端基于该锐化系数以及该第一像素的颜色值确定该第一像素的颜色值。
上述实施例中,基于一个像素周围K个像素对该像素的颜色值进行锐化,可以最大程度的使得该像素的颜色变得真实。提升目标图像的清晰度。
结合第一方面,在一些实施例中,该其他方式的渲染包括光栅渲染。
结合第一方面,在一些实施例中,该a为0.3,该b为0.7。
结合第一方面,在一些实施例中,第四像素处于该目标图像中的第c行,第f列,与该第四像素邻近的像素在目标图像中的位置包括:(第c+1行,第f列)、(第c-1行,第f列)、(第c行,第f-1列)、(第c行,第f+1列)、(第c+1行,第f+1列)、(第c-1行,第f-1列)、(第c+1行,第f-1列)以及(第c-1行,第f+1列);该第四像素为第一空洞像素或者第一像素。
第二方面,本申请提供了一种终端,该终端包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
上述实施例中,终端可以在对模型进行光线追踪渲染时,减少通过光线追踪渲染确定颜色值的像素数量,进而减少发射光线数量,以节约光线追踪渲染的功耗。后期对未经过光线追踪渲染确定颜色值的像素的颜色值进行更新(填充)以及锐化,保证了目标图像的真实感、三维既视感。这样,兼顾高质量的渲染结果同时降低图形渲染功耗或者提升图形渲染速度。
第三方面,本申请实施例提供了一种芯片系统,该芯片系统应用于终端,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
上述实施例中,终端可以在对模型进行光线追踪渲染时,减少通过光线追踪渲染确定颜色值的像素数量,进而减少发射光线数量,以节约光线追踪渲染的功耗。后期对未经过光线追踪渲染确定颜色值的像素的颜色值进行更新(填充)以及锐化,保证了目标图像的真实感、三维既视感。这样,兼顾高质量的渲染结果同时降低图形渲染功耗或者提升图形渲染速度。
第四方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在终端上运行时,使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
上述实施例中,终端可以在对模型进行光线追踪渲染时,减少通过光线追踪渲染确定颜色值的像素数量,进而减少发射光线数量,以节约光线追踪渲染的功耗。后期对未经过光线追踪渲染确定颜色值的像素的颜色值进行更新(填充)以及锐化,保证了目标图像的真实感、三维既视感。这样,兼顾高质量的渲染结果同时降低图形渲染功耗或者提升图形渲染速度。
第五方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在终端上运行时,使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
上述实施例中,终端可以在对模型进行光线追踪渲染时,减少通过光线追踪渲染确定颜色值的像素数量,进而减少发射光线数量,以节约光线追踪渲染的功耗。后期对未经过光线追踪渲染确定颜色值的像素的颜色值进行更新(填充)以及锐化,保证了目标图像的真实感、三维既视感。这样,兼顾高质量的渲染结果同时降低图形渲染功耗或者提升图形渲染速度。
附图说明
图1示出了终端进行图像渲染时涉及的一个示意图;
图2示出了终端执行基于光线追踪渲染的像素填充方法得到目标图像时涉及的一个示例性流程图;
图3A中示出了终端为场景中的模型设置标识号的示意图;
图3B示出了终端基于场景中的Q个模型进行光栅渲染或者光追渲染得到待填充渲染结果的示意图;
图3C示出了对空洞像素的颜色值进行更新的示例性图;
图4为像素E邻近的8个像素的示意图;
图5是本申请实施例提供的终端的结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
由于本申请实施例涉及图形渲染的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及概念进行介绍。
(1)光栅渲染以及光线追踪渲染
光栅渲染一种常见的图形渲染方式。图形渲染可以理解为基于至少一个模型(三维的)进行处理(例如几何变换、投影变换等)得到二维图形的方式,该二维图形中可以呈现该至少一个模型,该二维图形具体三维既视感,真实感。
图1示出了终端进行图像渲染时涉及的一个示意图。
如图1所示,模型可以包括模型101、模型102以及模型103,终端可以设置虚拟相机,已该虚拟相机为参考,在模型101-模型103都在虚拟相机的视场角中时,终端可以将模型101、模型102以及模型103进行图形渲染(例如几何变换、投影变换等)得到目标图像(二维的),使得该目标图像中包括模型101、模型102以及模型103,该目标图像中还可以反映虚拟相机为参考时,各模型的相对位置关系。
光栅渲染将每个几何体(模型)投影到屏幕上,然后遍历每个像素,把被几何体覆盖的像素填充得到渲染结果。应该理解的是,光栅渲染对硬件要求较低(相比于下述涉及的光线追踪渲染),但是,通过光栅渲染得到的渲染结果,例如渲染得到的图像中存在明显的不足,包括缺少阴影和环境光遮蔽的全局光照效果,导致分子结构无法清晰理解。
光线追踪渲染是另一种图形渲染方式,是通过追踪与场景中物体发生交互作用的光线,模拟光的反射和散射,可以自然实现阴影和环境光遮蔽的效果,带来高质量的渲染结果。但是渲染过程计算量很大,一直以来受限于硬件性能瓶颈(对图形处理器硬件要求较高,适用范围受限),因此光线追踪常用于离线渲染图片和视频,难以达到实时交互的帧率要求。
下文中为了便于叙述,可以将光线追踪渲染简称为光追渲染。
现有技术中,为了兼顾高质量的渲染结果同时降低图形渲染功耗或者提升图形渲染速度。通常可以采用光栅渲染与光线追踪渲染结合的方式来实现图形渲染。对于不需要自然实现阴影和环境光遮蔽的效果的模型,可以使用光栅渲染,对于需要自然实现阴影和环境光遮蔽的效果的模型,可以使用光线追踪渲染。
但是,一旦涉及到了光线追踪渲染对硬件性能就会提高,在图像渲染时也会消耗终端更多的功耗。需要光线追踪渲染的像素数量越多,则光线追踪渲染的功耗更多。
本申请实施例,提出一种基于光线追踪渲染的像素填充方法。这里以场景中包括W个第一类模型可以进行光线追踪渲染为例进行说明,其中,W为大于等于1的正整数。在终端对该W个第一类模型使用光线追踪渲染输出目标图像的过程中,可以按照预设规则,降低W个第一类模型中部分或者全部第一类模型的着色率:设置第一类模型的部分三维点不通过光线追踪渲染进行着色,该部分未着色的三维点对应的像素的颜色值可以设置为默认值,即在对该第一类模型进行光线追踪渲染之后,第一类模型对应的全部像素中包括未着色的像素(称为空洞像素),以及已着色像素(通过光线追踪渲染进行着色的像素)。一个第一类模型的着色率越低,则目标图像中,该第一类模型对应的全部像素中,未着色的空洞像素越多。这样,可以降低光线追踪的功耗。
后续,终端可以对第一类型模型对应的空洞像素进行像素填充,计算空洞像素的颜色值。例如,对于第一类模型A对应用的一个空洞像素A,终端可以确定第一类模型A中该空洞像素A周围的一个已着色像素的颜色值作为该空洞像素A的颜色值。在更新W个第一类模型对应的全部空洞像素的颜色值之后,由于W个第一类模型对应的空洞像素的颜色值与周围已着色像素的颜色值相同,则会导致得到的图像变得模糊。因此,终端可以对该第一类模型对应的全部像素进行锐化处理,得到目标图像,以提升目标图像的清晰度。
其中,对一个像素进行锐化处理是指,基于该像素周围的R个像素的颜色值以及该像素所对应模型的着色率重新估算该像素的颜色值。该像素锐化之后的颜色值与周围R个像素的颜色值可以相关,但通常不是相同的,这样,在提升目标图像清晰度的同时,也保证了目标图像的真实感。
应该理解的是,该场景中还可以包括E个第二类模型,该第二类模型可以利用光栅渲染进行处理得到目标图像中该E个第二模型对应的像素信息。
图2示出了终端执行基于光线追踪渲染的像素填充方法得到目标图像时涉及的一个示例性流程图。
该过程可以参考下述对步骤S101-步骤S106的描述。
S101.终端为Q个模型分配标识号(ID),且确定其中进行光追渲染的W个第一类模型,以及后续进行光栅渲染的E个第二类模型;其中,Q、W为大于等于1的整数,Q=W+E。
标识号(ID)可以用于唯一标识一个模型,即不同模型对应的标识号不同。
这里以场景中包括Q个模型为例进行说明。该Q个模型中包括W个第一类模型以及E个第二类模型。其中,Q、W为大于等于1的整数,Q=W+E。
该第一类模型为可以进行光追渲染的模型,该第二类模型为可以进行光栅渲染的模型。应该理解的是,通常情况下,一个模型可以进行光栅渲染则可以不进行光追渲染,或者,一个模型可以进行光追渲染则可以不进行光栅渲染。一个模型具体是进行光栅渲染还是进行光追渲染可以是终端预先设置的。
在一些可能的情况下,第一类模型的标识号还可以用于确定该模型的渲染方式标识。其中,渲染方式包括前述涉及的光栅渲染以及光追渲染。终端可以设置进行光栅渲染的模型(第二模型)对应的渲染方式标识为预设值A(例如0或者其他字符)。设置进行光追渲染的模型(第一类模型)对应的渲染方式标识为该第一类型模型的标识号。因此,终端在为Q个模型分配标识号时,第一类模型对应的标识号不可以等于预设值A。
图3A中示出了终端为场景中的模型设置标识号的示意图。
如图3A所述,场景中包括的W个模型可以是模型101、模型102、模型103以及其他模型。这里具体以模型101-模型103进行举例说明,其他模型的处理方式可以参考对该模型101-模型103的描述。进一步的,这里以模型101为可以第二模型,模型102、模型103为第一类模型,以及,预设值A等于0为例进行说明。终端可以将模型101的标识号定义为1;将模型102的标识号定义为与预设值A(0)不同,例如,定义为2;将模型103的标识号定义为与预设值A(0)不同,例如,定义为3。
应该理解的是,第二类模型的标识号可以为预设值A相同,也可以与该预设值A不相同,本申请实施例对此不做限定。在一些可能的情况下,终端可以在drawcall绘制中,为不同的模型分别标识号。
S102.对于W个第一类模型,终端基于不同第一类模型到相机的距离,以及在目标图像中的占比确定不同第一类模型的建立精度(LOD)级别,得到W个第一类模型的LOD级别。
对于W个第一类模型中的第i个第一类模型,终端可以将该第i个第一类模型到相机的距离的a倍,加上,该第i个第一类模型对应的像素量占比的b倍作为所述第i个第一类模型的建立精度值。然后,将建立精度值转换成为对应的建立精度级别。其中,a+b=1,且a小于b;i为整数,且从1变更至W。其中,该第i个第一类模型对应的像素量占比为:该第i个第一类模型在目标图像中的占比,即可以表示为该第i个第一类模型对应的全部像素在目标图像的全部像素中的占比。
其中,终端确定第i个第一类模型到相机的距离时涉及的过程可以参考以下描述:
终端确定基于相机(图形渲染中涉及的虚拟相机)建立的世界坐标系中,该相机的世界坐标(X0,Y0,Z0),以及,模型的空间矩阵(也可以被称为相机空间矩阵)中,该第i个第一类模型在该世界坐标系中的世界坐标(X,Y,Z)。然后,终端将相机的世界坐标(X0,Y0,Z0)以及该第i个第一类模型的世界坐标(Xi,Yi,Zi)之间的距离作为第i个第一类模型到相机的距离,涉及的计算过程可以参考下述公式(1)。
公式(1)中,Di则表示第i个第一类模型到相机的距离。
终端确定该第i个第一类模型对应的像素量占比的过程,可以参考以下描述:
终端可以通过计算第i个第一类模型的包围球中的像素量与目标图像中的全部像素量之比,作为该第i个第一类模型对应的像素量占比。其中,第i个第一类模型的包围球表示包围该第i个第一类模型的最小球体,除了可以用包围球以外,还可以用包围盒等,只要可以将该第i个第一类模型作最小包围即可,本申请实施例对此不作限定。该过程涉及的公式,如下述公式(2)。
公式(2)中,R表示该第i个第一类模型的包围球的像素量。width以及height分别表示目标图像分辨率的宽度和高度,单位为像素。R表示该包围球的半径上的像素量。
然后,终端可以结合第i个第一类模型到相机的距离以及该第i个第一类模型对应的像素量占比确定该第i个第一类模型的建立精度值。该过程可以参考下述对公式(3)的描述。
Li=a×Di+b×Pi公式(3)
其中,Li表示该第i个模型的建立精度值,a表示第i个第一类模型到相机的距离对第i个第一类模型的建立精度值的贡献程度(权重),b表示第i个第一类模型对应的像素量占比对第i个第一类模型的建立精度值的贡献程度(权重),通常来说,a+b=1,且a小于b。例如,a=0.3,b=0.7。
然后,终端可以将该第i个模型的建立精度值转化为对应的建立精度级别,该过程的具体描述如下:
终端中包括精度参数表,该精度参数表中记录了不同建立精度值与精度建立级别的对应关系。终端可以通过查找该精度参数表,确定该第i个第一类模型的建立精度值对应的建立精度级别。例如,下述表1描述了一种示例性的精度参数表。
表1
建立精度值 | 建立精度级别 |
范围A | 0(最高级) |
范围B | 1 |
范围C | 2 |
范围D | 3 |
… | … |
如表1所示,建立精度值在不同的范围时,对应的建立精度级别不同。例如,在建立精度值属于范围A时,该建立精度级别为第0级。
应该理解的是,除了前述步骤S102中记录的确定模型的建立精度级别的方式以外,终端还可以通过其他的方式确定建立精度级别。例如,基于该第i个第一类模型对应的像素量占比确定精度级别,像素量占比越高则,精度级别越高。相应的,该精度级别对应的着色率越高。在一些可能的情况下,终端可以将模型的着色率通过uniform变量传输至光追shader。
S103.终端基于W个第一类模型的LOD级别分别确定不同第一类模型的着色率;其中,第i个第一类型模型的LOD级别越低,则该第一类模型的着色率越低,该第一类型模型的着色率表示该第一类模型对应的可着色像素在该第一类模型对应的全部像素中的占比,可着色像素表示可以通过光追渲染确定颜色值的像素;第一类模型对应的全部像素为待填充图像中第一类模型对应的全部像素,第一类模型对应的全部像素中除了包括可着色像素,还包括空洞像素;空洞像素为可以不通过光追渲染确定颜色值的像素;该待填充图像中包括Q个模型进行渲染之后的各像素的颜色值。
终端中包括着色率参数表,该着色率参数表中记录了不同建立精度级别与着色率之间的对应关系。终端可以通过查找该着色率参数表,确定该第i个第一类模型的建立精度级别对应的着色率。例如,下表2描述了一种示例的着色率参数表。
表2
建立精度级别(LOD级别) | 着色率 |
0(最高级) | 1 |
1 | 0.5 |
2 | 0.25 |
3 | 0.0625 |
… | … |
如表2所示,不同LOD级别对应的着色率不同。其中,一个第一类模型的着色率为1表示该第一类模型对应的全部像素都可以通过光线追踪渲染确定颜色值。一个第一类模型的着色率越小,则在对第一类模型进行光线追踪渲染之后,存在的空洞像素越多。空洞像素为在对该第一类模型进行光线追踪渲染时,不利用光线追踪渲染确定颜色值的像素。该空洞像素的颜色值可以根据该空洞像素所在第一类模型中邻近的已着色像素的颜色进行确定,对该国学的描述可以参加下述对步骤S105的描述,此处不再赘述。
这里应该理解的是,该第i个第一类模型的着色率为p,则该第i个第一类模型对应的可着色像素在该第一类模型对应的全部像素中的占比为p。该第i个第一类模型对应的空洞像素在该第一类模型对应的全部像素中的占比为1-p。其中,可着色像素表示可以通过光追渲染确定颜色值的像素。
第一类模型对应的全部像素为待填充图像中第一类模型对应的全部像素,该待填充图像中的包括的像素与待锐化图像、目标图像中的像素数量相同。且,待填充图像、待锐化图像以及目标图像中第i行,第j列的像素指示的模型的三维点相同。其中,待填充图像是将Q个模型分别进行光栅渲染或者光线追踪渲染之后得到的图像。关于该待填充图像的相关描述可以参考下述对步骤S104的描述。关于待锐化图像以及目标图像的相关描述可以分别参考下述对步骤S105以及步骤S106的描述。
S104.终端基于W个第一类模型的着色率、标识号进行光追渲染,以及基于E个第二类模型的标识号进行光栅渲染,得到待填充渲染结果,该待填充渲染结果中包括颜色图像以及语义图像;其中,颜色图像中包括待填充图像中各像素的颜色值,以及各像素的填充标识;语义图像中包括待填充图像中各像素所对应模型的渲染方式标识(预设值A或标识号),以及各像素所对应模型的着色率,该待填充图像的各像素中包括已着色像素以及空洞像素,已着色像素的颜色值为渲染后的结果,未着色像素的颜色值为空或者为预设值B。
应该理解的是,步骤S104中,终端对第二类模型进行光栅渲染的操作是可选的。其原因在于,该场景中可以不包括第二类模型,即E=0。
终端可以基于W个第一类模型的着色率、标识号进行光追渲染,得到待填充渲染结果,该待填充渲染结果中包括待填充图像中各像素的颜色值。该待填充图像中各像素包括该W个第一类模型对应的全部像素。该W个第一类模型中包括第i个第一类模型,该第i个第一模型的着色率为p,则待填充图像中该第i个第一类模型对应的全部像素中包括的已着色像素占该i个第一类模型的比例为p,该第i个第一类模型对应的全部像素中包括的空洞像素占该i个第一类模型的比例为1-p。其中,已着色像素为将前述涉及的待着色像素利用光线追踪渲染确定颜色值之后的待着色像素。
在E不为0的情况下,终端可以基于E个第二类模型的标识号进行光栅渲染,这时,待填充渲染结果包括的待填充图像中还可以包括该E个第二模型对应的全部像素。
应该理解的是,一个模型的标识号可以与该模型的渲染方式(光栅渲染或者光追渲染)对应。终端可以通过该模型的标识号确定该模型是利用光栅渲染确定像素的颜色值,还是通过光追渲染确定像素的颜色值。
待填充渲染结果中除了可以包括前述涉及的待填充图像中各像素的颜色值以外,还可以包括待填充图像中各像素的填充标识。还可以包括待填充图像中各像素的渲染方式标识以及各像素所对应模型的着色率。其中,待填充图像中各像素的颜色值、各像素的填充标识可以包括与颜色图像中;待填充图像中各像素的渲染方式标识以及各像素所对应模型的着色率可以包括于语义图像中。
即待填充渲染结果中可以包括颜色图像以及语义图像。一个像素在该待填充渲染结果中可以包括颜色值、填充标识、渲染方式标识以及该像素所对应的模型的着色率。下面以该待填充图像中各像素中包括像素A;该像素A可以为待填充像素中的任一像素,描述该像素A在待填充渲染结果中的颜色值、填充标识、渲染方式标识以及该像素所对应的模型的着色率的确定方式:
在该像素A为第i个第一类模型中的一个像素,且该像素A为已着色像素的情况下,则终端确定颜色图像中该像素A的填充标识为0;在该像素A为该第i个第一类模型中的一个像素,且该像素A为空洞像素的情况下,该终端确定该颜色图像中该像素A的填充标识为1;即填充标识为0表示该像素A的颜色值是通过光追渲染进行确定。填充标识为1则表示该像素A的颜色值为空或者为预设值B。其中,在该像素A的颜色值在RGB空间中表示时,该预设值B可以定义为(0,0,0),也可以为其他值本申请实施例对此不作限定。由此可见,待填充图像中,空洞像素的颜色值不是真实的颜色值。
在该像素A为该第i个第一类模型中的一个像素的情况下,该终端确定该像素A在语义图像中的渲染方式标识为该第i个第一类模型的标识号;以及,确定该像素A在该语义图像中的着色率为该第i个第一类模型的着色率。
在该像素A为该第二类模型中的一个像素的情况下,该终端确定颜色图像中该像素A的填充标识为0,且,确定该像素A在该语义图像中的渲染方式标识为预设值A,以及,该像素A在该语义图像中的着色率为0。这里以预设值A为0进行举例,也可以为其他的值,本申请实施例对此不作限定。
应该理解的是,在确定像素A的渲染方式标识等于0时,即可确定该像素A对应的模型的渲染方式为光栅渲染。在确定像素A的渲染方式标识不等于0时,即可确定该像素A对应的模型的渲染方式为光追渲染。且不为0的渲染方式标识与该像素A对应的模型的标识号相同,还可以用于确定该像素A所对应的模型。
终端基于第i个第一类模型的着色率以及标识号进行光线追踪渲染,得到待填充图像中该第i个第一类模型对应的全部像素的颜色值的过程如下:
这里以像素B为例进行详细描述,该像素B可以为该第i个第一类模型对应的全部像素中的任一像素。终端确定该像素B的像素坐标(U0,V0),确定该像素B相近(邻近)的[1/α]或者[1/α]+1个像素(标识号与该像素B相同,即与该像素B都对应该第i个第一类模型)中是否存在已经通过光追渲染确定了颜色值的像素C。如果存在像素C,则可以不对该像素B进行光线追踪渲染;如果不存在像素C,则可以对该像素B进行光线追踪渲染。其中,[1/α]表示对1/α进行取整。
在一些可能的情况下,像素B处于所述图像中的第c行,第f列,与该像素B邻近的像素在图像中的位置包括:(第c+1行,第f列)、(第c-1行,第f列)、(第c行,第f-1列)、(第c行,第f+1列)、(第c+1行,第f+1列)、(第c-1行,第f-1列)、(第c+1行,第f-1列)以及(第c-1行,第f+1列)。
图3B示出了终端基于场景中的Q个模型进行光栅渲染或者光追渲染得到待填充渲染结果的示意图。
这里仍然以前述涉及的模型101-模型103,且模型101为可以第二模型,模型102、模型103为第一类模型为例进行说明。
如图3B所示,待填充渲染结果中包括颜色图像以及语义图像,该颜色图像中包括4个通道,分别是R通道、G通道、B通道以及A通道。其中,颜色图像中的R通道、G通道、B通道用于记录待填充图像中各像素的颜色值,A通道用于记录待填充图像中各像素的填充标识。该语义图像中可以包括2个通道,分别是R通道以及G通道。其中,语义图像中的R通道用于记录待填充图像中各像素的渲染方式标识,G通道用于记录待填充图像中各像素的着色率。
像素101为模型101(第二类模型)中的一个像素,则终端可以利用光栅渲染确定该像素101的颜色值,填充标识记为0,则终端可以在颜色图像中,该像素101对应的R、G、B、A通道中分别填入a3、b3、c3以及0。在语义图像中,该像素101对应的R、G通道中分别填入0。
像素102为模型102(着色率为1的第一类模型)中的一个像素,则终端在对该模型102进行渲染时,可以对该像素102发射光线进行光追渲染,以确定该像素102的颜色值。此时,终端可以在颜色图像中,该像素102对应的R、G、B、A通道中分别填入a2、b2、c2以及0。在语义图像中,该像素102对应的R、G通道中分别填入2、1。
像素1003以及像素104为模型103(着色率为0.5的第一类模型)中的一个像素,则终端在对该模型103进行渲染时,可以对该像素1003发射光线进行光追渲染,以确定该像素1003的颜色值。此时,终端可以在颜色图像中,该像素1003对应的R、G、B、A通道中分别填入a1、b1、c1以及0。在语义图像中,该像素1003对应的R、G通道中分别填入3、0.5。可以不对该像素104发射光线进行光追渲染,即不通过光追渲染确定该像素104的颜色值。此时,终端可以在颜色图像中,该像素104对应的R、G、B、A通道中分别填入0、0、0以及1。在语义图像中,该像素104对应的R、G通道中分别填入3、0.5。
应该理解的是,模型103中存在部分像素(0.5倍模型103对应的全部像素)可以不通过光追渲染确定颜色值,则终端可以在对模型103进行光追渲染时节约部分功耗。
可以理解的是,前述像素1003以及像素102为已着色像素、像素104位空洞像素。
待填充像素中包括的空洞像素的颜色值可以更新为该空洞像素周围的一个已着色像素(与该空洞像素对应的模型相同)的颜色值。对该过程的具体描述可以参考下述对步骤S105的描述。
在一些可能下,终端可以通过多目标渲染(MRT)完成对该Q个模型的渲染,得到待填充渲染目标。
S105.结合待填充渲染结果中包括的语义图像,对该待填充图像中的各空洞像素进行颜色填充,更新各空洞像素的颜色值,得到待锐化渲染结果,该待锐化渲染结果的颜色图像中包括待锐化图像中各像素的颜色值,以及各像素的填充标识,还包括语义图像,该待锐化图像中的各像素包括第二模型对应的像素以及第一类模型对应的像素(包括已着色像素以及更新后的空洞像素)。
终端可以按照第一顺序获取所述待填充图像中填充标识为0的像素(空洞像素A),对该空洞像素A的颜色值进行更新。将其更新为该空洞像素邻近的,且符合预设条件的像素D。该预设条件包括:该像素D的填充标识为0,且该像素D的渲染方式标识与该空洞像素的渲染方式标识相同。即该空洞像素A与像素D所对应的模型相同。
其中,该第一顺序包括从第1个空洞像素到最后一个空洞像素;或者,从最后一个空洞像素到第一个空洞像素,只要可以按照该第一顺序将全部的空洞像素遍历完成即可,本申请实施例对此不作限定。
终端可以将待填充图像中的每一个空洞像素的颜色值更新为与该空洞像素邻近的,且符合预设条件的像素的颜色值,这样,即可得到待锐化图像。即终端将待填充渲染结果中的待填充图像更新为待锐化图像的情况下,终端即可得到待锐化渲染结果。
图3C示出了对空洞像素的颜色值进行更新的示例性图。
这里以更新前述图3B中涉及的像素104(空洞像素)的颜色值为例进行说明。终端可以将像素1003确定为该像素104邻近的,且符合预设条件的像素。后续,终端可以将该像素104的颜色值从(0,0,0)更新为(a1,b1,c1)。更新后,该像素104对应的R、G、B、A通道中分别为a1、b1、c1以及1。该像素1003对应的R、G、B、A通道中分别为a1、b1、c1以及0。
待填充图像的全部空洞像素中包括空洞像素A,这里以更新该空洞像素A的颜色值为例进行说明,则终端确定该空洞像素A邻近的,且符合预设条件的像素D的过程可以参考下述描述。
确定该空洞像素A的着色率,该空洞像素A的像素坐标(U1,V1),着色率α1,偏移步长为m(初始化为1),偏移方向dir预设为向量(X1,Y1)。终端执行以下步骤1-步骤6确定该像素D的像素坐标(U2,V2)。
步骤1.确定当前偏移步长m是否小于[1/α1]。
如果偏移步长m小于[1/α1],则执行下述步骤2。
如果偏移步长m大于或者等于[1/α1],则结束更新该空洞像素A的颜色值,确定其对应的颜色值为预设值B。
步骤2.确定偏移方向dir为一下预设向量中的一个。预设向量包括第8个预设向量,分别为:(1,0)、(0,1)、(-1,0)、(0,-1)、(1,1)、(-1,1)、(-1,-1)、(1,-1),即向量(X1,Y1)可以为前述多个预设向量中的第j(j的初始值=1)个预设向量。j从1更新到8;该8个预设向量的序号(第几个预设向量)不作限定,一个预设向量对应一个序号。
步骤3.终端确定j=j+1。
步骤4.终端确定j是否小于等于8;
在终端确定j小于等于8的情况下,执行下述步骤5。
在终端确定j大于8的情况下,终端确定m=m+1,j=1。后续,终端执行前述步骤1。
步骤5.终端确定像素坐标(U2,V2)=(U1,V1)+(X1,Y1)*m。
步骤6.终端确定像素坐标(U2,V2)对应的像素的渲染方式标识是否与空洞像素A的渲染方式标识相同,且该像素坐标(U2,V2)对应的像素的填充标识是否为0。
如果确定像素坐标(U2,V2)对应的像素的渲染方式标识与空洞像素A的渲染方式标识相同,且该像素坐标(U2,V2)对应的像素的填充标识为0。则终端将步骤6中确定的像素坐标(U2,V2)对应的像素作为像素D的像素坐标(U2,V2),且结束本次计算,按照第一顺序确定下一个空洞像素,并按照步骤1-步骤6确定该下一个空洞像素的邻近的,符合预设条件的像素。
如果确定像素坐标(U2,V2)对应的像素的渲染方式标识与空洞像素A的渲染方式标识不相同,或者该像素坐标(U2,V2)对应的像素的填充标识为1。则终端执行前述步骤2。
其中,在一些可能的情况下,空洞像素A的像素坐标(U1,V1)=(X2,Y2)*(width,height),其中,width以及height分别表示目标图像分辨率的宽度和高度,(X2,Y2)表示该空洞像素的空间坐标。
S106.结合待锐化渲染结果中包括的语义图像,对该待锐化渲染结果中待锐化图像中第一类模型对应的全部像素的颜色值进行锐化处理,得到目标渲染结果,将目标渲染结果中各像素的颜色值作为目标图像;其中,待处理像素为颜色值是通过填充着色或者光追渲染着色所得到的像素。
按照第二顺序获取待锐化图像中的像素。在确定该像素的渲染方式标识为0的情况下,保持该像素的颜色值不改变,且按照第二顺序获取下一个像素。在确定该像素的渲染方式不为0的情况下,确定该像素为待锐化像素,定义该像素为像素E。后续,终端可以基于该像素E所对应模型的着色率,以及该像素周围K(例如8个等)像素的颜色值重新确定该像素E的颜色值,将像素E当前的颜色值更改为该重新确定的颜色值。
终端将该待锐化图像中的全部待锐化像素进行锐化处理之后,即可得到目标图像。这里应该理解的是待锐化像素即是对应的模型为第一类模型的像素。
其中,基于该像素E所对应模型的着色率,以及该像素周围K(例如8个等)像素的颜色值重新确定该像素E的颜色值的过程(该过程可以称为对像素E进行锐化处理)可以参考下述描述:
首先,终端在待锐化图像中获取像素E邻近的8个像素。如图4所示,为像素E邻近的8个像素的示意图。该8个像素为:像素1-像素8。
后续,终端基于该8个像素以及像素E的绿色值(颜色图像的G通道中的数据)、结合像素E的着色率α2,确定像素E的锐化系数。该过程的详细描述可以参考下述公式(4)。
公式(4)中,w_final(E)为像素E的锐化系数;α2为像素E的着色率。max_g为该8个像素以及像素E中最大的绿色值。min_g为该8个像素以及像素E中最小的绿色值。
然后,终端可以基于该像素E的锐化系数,将该像素E的颜色值进行锐化。像素E的颜色值在RGB空间下表示时,该像素E的颜色值包括红色值(R值)、绿色值(G值)以及蓝色值(B值)。其中,对像素E的红色值进行锐化的公式可以参考下述公式(5)。
公式(5),R_E为锐化前该像素E的红色值,color_E_R为锐化后该像素E的红色值,R(k)表示像素1-像素8中,第k个像素的红色值。w_final(E)表示像素E的锐化系数。
应该理解的是,关于像素E的绿色值的锐化过程,以及像素E的蓝色值的锐化过程,与前述对像素E的红色值的锐化过程相同,可以参考相关描述。此处不再赘述。
该第二顺序可以待锐化图像中的第一个像素到待锐化图像中的最后一个像素;还可以为待锐化图像中的最后一个像素到待锐化图像中的第一个像素;还可以为其他顺序,只要按照该第二顺序可以将该待锐化图像中的像素遍历完成即可,本申请实施例对此不作限定。
这样,即可以实现在对模型进行光线追踪渲染时,减少通过光线追踪渲染确定颜色值的像素数量,进而减少发射光线数量,以节约光线追踪渲染的功耗。后期对未经过光线追踪渲染确定颜色值的像素的颜色值进行更新(填充)以及锐化,保证了目标图像的真实感、三维既视感。
应该理解的是,本申请实施例,第二模型对应的渲染方式,除了可以是光栅渲染,还包括其他除光追渲染以外的渲染方式,本申请实施对此不作限定。
本申请实施例中,本申请实施例中涉及的第i个第一类模型也可以被称为第一模型。预设值B也可以被称为第一预设值;第一像素可以为待锐化图像中的任意一个第一类模型中的像素,例如前述涉及的像素E。第一顺序又可以被称为预设顺序;空洞像素A又可以被称为第一空洞像素。待填充图像中的各像素中的任意像素都可以被称为第二像素。像素D可以被称为第三像素。第二类模型对应的渲染方式标识(预设值A)可以被称为第二预设值。
下面介绍本申请实施例提供的示例性终端。
图5是本申请实施例提供的终端的结构示意图。
下面以终端为例对实施例进行具体说明。应该理解的是,终端可以具有比图5中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图5中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
终端可以包括:处理器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等。
可以理解的是,本申请实施例示意的结构并不构成对终端的具体限定。在本申请另一些实施例中,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器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)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端的结构限定。在本申请另一些实施例中,终端也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
终端的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在终端上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。
调制解调处理器可以包括调制器和解调器。
无线通信模块160可以提供应用在终端上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),等无线通信的解决方案。
在一些实施例中,终端的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端可以通过无线通信技术与网络以及其他设备通信。
终端通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示面板还可以采用有机发光二极管(organiclight-emitting diode,OLED),有源矩阵有机发光二极体等制造。在一些实施例中,终端可以包括1个或N个显示屏194,N为大于1的正整数。
终端可以通过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等格式的图像信号。在一些实施例中,终端可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)等;
非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展终端的存储能力。
终端可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。
触摸传感器180K,也称“触控面板”。
按键190包括开机键,音量键等。马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。
本申请实施例中,该处理器110可以调用内部存储器121中存储的计算机指令,以使得终端执行本申请实施例中基于光线追踪渲染的像素填充方法。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (13)
1.一种基于光线追踪渲染的像素填充方法,其特征在于,所述方法包括:
终端为场景中包括的W个第一类模型分配标识号;
所述终端分别确定W个第一类模型的着色率;所述W为大于等于1的整数;
所述终端分别基于每一个第一类模型的着色率、标识号对所述每一个第一类模型进行光线追踪渲染,得到待填充渲染结果;所述待填充渲染结果中至少包括待填充图像中各像素的颜色值;所述待填充图像中各像素包括所述W个第一类模型对应的全部像素;所述W个第一类模型中包括第一模型,所述第一模型的着色率为p,则所述待填充图像中所示第一模型对应的已着色像素在所述第一模型对应的全部像素中的占比为p,所示第一模型对应的空洞像素在所述第一模型对应的全部像素中的占比为1-p;所述已着色像素为所述第一模型对应的全部像素中通过光线追踪渲染确定颜色值的像素;每一个空洞像素的颜色值为第一预设值或者为空;
所述终端利用第i个第一类型模型对应的已着色像素更新所述第i个第一类模型对应的各空洞像素的颜色值,得到待锐化图像;其中,所述i为整数,且从1变更至W;
所述终端将所述待锐化图像中全部第一类型模型对应的全部像素进行锐化处理,得到目标图像;其中第一类型模型对应的全部像素中包括第一像素,所述终端对所述第一像素进行锐化处理包括:基于所述第i个第一类模型的着色率,以及所述第一像素周围K个像素的颜色值确定所述第一像素的颜色值,所述K为大于等于1的整数。
2.根据权利要求1所述的方法,其特征在于,所述终端分别确定W个第一类模型的着色率,具体包括:
所述终端确定所述第i个第一类模型的建立精度级别;所述第i个第一类模型的建立精度级别用于指示所述第i个第一类模型到相机的距离,以及所述第i个第一类模型对应的像素量占比的加权和;其中,所述第i个模型的像素量占比为:所述第i个第一类模型对应的全部像素在所述目标图像的全部像素中的占比;
所述终端通过所述第i个第一类模型的建立精度级别确定所述建立精度级别对应的着色率作为所述第i个第一类模型的着色率。
3.根据权利要求1或2所述的方法,其特征在于,所述终端确定所述第i个第一类模型的建立精度级别,具体包括:
所述终端将所述第i个第一类模型到相机的距离的a倍,加上,所述第i个第一类模型对应的像素量占比的b倍作为所述第i个第一类模型的建立精度值;其中,a+b=1,且a小于b;
确定所述第i个第一类模型的建立精度值所对应的建立精度级别。
4.根据权利要求3所述的方法,其特征在于,所述场景中还包括E个第二类模型,所述终端分别基于每一个第一类模型的着色率、标识号对所述每一个第一类模型进行光线追踪渲染,得到待填充渲染结果,具体包括:
所述终端分别对每一个第二类模型进行其他方式的渲染,以及基于每一个第一类模型的着色率、标识号对所述每一个第一类模型进行光线追踪渲染,得到待填充渲染结果;其中,所述待填充渲染结果中包括颜色图像以及语义图像;所述颜色图像中包括待填充图像中各像素的颜色值,还包括所述待填充图像中各像素的填充标识;所述待填充图像中各像素除了包括所述W个第一类模型对应的全部像素,还包括所述E个第二类模型对应的全部像素;所述语义图像中包括所述待填充图像中各像素所对应模型的渲染方式标识以及所述待填充图像中各像素所对应模型的着色率;所述待填充图像中各像素中包括第二像素;
在所述第二像素为所述第i个第一类模型中的一个像素,且所述第二像素为已着色像素的情况下,所述终端确定所述颜色图像中所述第二像素的填充标识为0;在所述第二像素为所述第i个第一类模型中的一个像素,且所述第二像素为空洞像素的情况下,所述终端确定所述颜色图像中所述第二像素的填充标识为1;
在所述第二像素为所述第i个第一类模型中的一个像素的情况下,所述终端确定所述第二像素在所述语义图像中的渲染方式标识为所述第i个第一类模型的标识号;以及,确定所述第二像素在所述语义图像中的着色率为所述第i个第一类模型的着色率;
在所述第二像素为所述第二类模型中的一个像素的情况下,所述终端确定所述颜色图像中所述第二像素的填充标识为0,且,确定所述第二像素在所述语义图像中的渲染方式标识为第二预设值,以及,所述第二像素在所述语义图像中的着色率为0。
5.根据权利要求4所述的方法,其特征在于,终端为场景中包括的W个第一类模型分配标识号,具体包括:
终端为场景中包括的W个第一类模型分配不等于所述第二预设值的标识号。
6.根据权利要求5所述的方法,其特征在于,所述终端利用第i个第一类型模型对应的已着色像素更新所述第i个第一类模型对应的各空洞像素的颜色值,得到待锐化图像,具体包括:
所述终端按照预设顺序获取所述待填充图像中填充标识为1的像素作为第一空洞像素;
所述终端确定与所述第一空洞像素邻近的,且符合预设条件的第三像素;所述符合预设条件包括:所述第三像素的填充标识为0,且所述第三像素的渲染方式标识与所述第一空洞像素的渲染方式标识相同;
所述终端将所述第一空洞像素的颜色值更新为所述第三像素的颜色值。
7.根据权利要求5或6所述的方法,其特征在于,基于所述第i个第一类模型的着色率以及所述第一像素周围K个像素的颜色值确定所述第一像素的颜色值,具体包括:
所述终端获取与所述第一像素邻近的八个像素的颜色值;所述第一像素的颜色值包括绿色值、红色值以及蓝色值;
基于所述八个像素的绿色值以及所述第一像素所对应第一类模型的着色率计算锐化系数;
所述终端基于所述锐化系数以及所述第一像素的颜色值确定所述第一像素的颜色值。
8.根据权利要求4所述的方法,其特征在于,所述其他方式的渲染包括光栅渲染。
9.根据权利要求5、6、8中任一项所述的方法,其特征在于,所述a为0.3,所述b为0.7。
10.根据权利要求9所述的方法,其特征在于,第四像素处于所述目标图像中的第c行,第f列,与所述第四像素邻近的像素在目标图像中的位置包括:(第c+1行,第f列)、(第c-1行,第f列)、(第c行,第f-1列)、(第c行,第f+1列)、(第c+1行,第f+1列)、(第c-1行,第f-1列)、(第c+1行,第f-1列)以及(第c-1行,第f+1列);所述第四像素为第一空洞像素或者第一像素。
11.一种终端,其特征在于,所述终端包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述终端执行如权利要求1至10中任一项所述的方法。
12.一种芯片系统,其特征在于,所述芯片系统应用于终端,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述终端执行如权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211102580.6A CN116704101B (zh) | 2022-09-09 | 2022-09-09 | 一种基于光线追踪渲染的像素填充方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211102580.6A CN116704101B (zh) | 2022-09-09 | 2022-09-09 | 一种基于光线追踪渲染的像素填充方法和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116704101A CN116704101A (zh) | 2023-09-05 |
CN116704101B true CN116704101B (zh) | 2024-04-09 |
Family
ID=87832765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211102580.6A Active CN116704101B (zh) | 2022-09-09 | 2022-09-09 | 一种基于光线追踪渲染的像素填充方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116704101B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110089565A (ko) * | 2010-02-01 | 2011-08-09 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
CN110400367A (zh) * | 2018-04-16 | 2019-11-01 | 脸谱科技有限责任公司 | 降低渲染延迟的系统和方法 |
CN113744379A (zh) * | 2021-08-25 | 2021-12-03 | 北京字节跳动网络技术有限公司 | 图像生成方法、装置和电子设备 |
CN114049421A (zh) * | 2021-11-23 | 2022-02-15 | 中山大学 | 基于cpu的静态场景光线追踪棋盘渲染方法、系统及存储介质 |
CN114332331A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 一种图像处理方法和装置 |
CN114581589A (zh) * | 2020-11-30 | 2022-06-03 | 华为技术有限公司 | 图像处理方法及相关装置 |
WO2022131531A1 (ko) * | 2020-12-15 | 2022-06-23 | 세종대학교산학협력단 | 동적 장면에 대한 집중도 기반의 레이 트레이싱 방법 및 장치 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8259131B2 (en) * | 2007-07-31 | 2012-09-04 | International Business Machines Corporation | Adaptive sub-sampling for reduction in issued rays |
US11030937B2 (en) * | 2019-04-24 | 2021-06-08 | Glenfly Technology Co., Ltd. | Sub-pixel rendering method and device |
-
2022
- 2022-09-09 CN CN202211102580.6A patent/CN116704101B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110089565A (ko) * | 2010-02-01 | 2011-08-09 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
CN110400367A (zh) * | 2018-04-16 | 2019-11-01 | 脸谱科技有限责任公司 | 降低渲染延迟的系统和方法 |
CN114332331A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 一种图像处理方法和装置 |
CN114581589A (zh) * | 2020-11-30 | 2022-06-03 | 华为技术有限公司 | 图像处理方法及相关装置 |
WO2022131531A1 (ko) * | 2020-12-15 | 2022-06-23 | 세종대학교산학협력단 | 동적 장면에 대한 집중도 기반의 레이 트레이싱 방법 및 장치 |
CN113744379A (zh) * | 2021-08-25 | 2021-12-03 | 北京字节跳动网络技术有限公司 | 图像生成方法、装置和电子设备 |
CN114049421A (zh) * | 2021-11-23 | 2022-02-15 | 中山大学 | 基于cpu的静态场景光线追踪棋盘渲染方法、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
Image based rendering with stable frame rates;Huamin Qu;Proceedings Visualization 2000;第2000卷;251-258 * |
延迟着色的渲染管线优化;陈虎;杨克俭;;现代计算机(专业版)(06);38-41 * |
Also Published As
Publication number | Publication date |
---|---|
CN116704101A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110533707B (zh) | 照明估计 | |
US11189071B2 (en) | Electronic device for providing avatar animation and method thereof | |
US9135678B2 (en) | Methods and apparatus for interfacing panoramic image stitching with post-processors | |
US20220092803A1 (en) | Picture rendering method and apparatus, terminal and corresponding storage medium | |
CN110838084B (zh) | 一种图像的风格转移方法、装置、电子设备及存储介质 | |
CN112598780B (zh) | 实例对象模型构建方法及装置、可读介质和电子设备 | |
CN112927363A (zh) | 体素地图构建方法及装置、计算机可读介质和电子设备 | |
WO2022068326A1 (zh) | 一种图像帧预测的方法及电子设备 | |
CN112738389A (zh) | 用于提供滑动变焦视图合成的系统和方法 | |
CN116824016A (zh) | 渲染模型训练、视频的渲染方法、装置、设备和存储介质 | |
WO2023207379A1 (zh) | 图像处理方法、装置、设备及存储介质 | |
CN110956571B (zh) | 基于slam进行虚实融合的方法及电子设备 | |
KR20190067438A (ko) | 이미지를 제공하기 위한 방법 및 이를 지원하는 전자 장치 | |
CN112991208B (zh) | 图像处理方法及装置、计算机可读介质和电子设备 | |
CN112967193A (zh) | 图像校准方法及装置、计算机可读介质和电子设备 | |
CN116704101B (zh) | 一种基于光线追踪渲染的像素填充方法和终端 | |
CN116703995B (zh) | 视频虚化处理方法和装置 | |
CN116188724A (zh) | 动画渲染的方法、装置、设备及存储介质 | |
TW202217749A (zh) | 三維紋理化三維模型的方法以及用於紋理化三維模型的電子裝置 | |
CN113936089A (zh) | 界面渲染方法及装置、存储介质及电子设备 | |
CN112435169A (zh) | 一种基于神经网络的图像生成方法及设备 | |
CN115714888B (zh) | 视频生成方法、装置、设备与计算机可读存储介质 | |
WO2024104170A1 (zh) | 图像渲染方法、介质、产品及电子设备 | |
CN112950516B (zh) | 图像局部对比度增强的方法及装置、存储介质及电子设备 | |
CN116664630B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |