CN105976306B - 一种基于能耗-误差预算的实时绘制方法 - Google Patents
一种基于能耗-误差预算的实时绘制方法 Download PDFInfo
- Publication number
- CN105976306B CN105976306B CN201610278727.5A CN201610278727A CN105976306B CN 105976306 B CN105976306 B CN 105976306B CN 201610278727 A CN201610278727 A CN 201610278727A CN 105976306 B CN105976306 B CN 105976306B
- Authority
- CN
- China
- Prior art keywords
- rendering parameter
- energy consumption
- error
- subspace
- video camera
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Studio Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于能耗‑误差预算的实时绘制方法,包括:对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖确定待绘制场景的空间层次结构;在进行自适应空间剖分的过程中,每次剖分完成后针对得到的每个位置子空间,获取摄像机在包围该位置子空间的包围体的每个顶点处的各个视线子空间中使用若干组预设的绘制参数绘制待绘制三维场景的误差和能耗,并根据误差和能耗构建相应顶点和视线子空间的帕累托线;根据当前摄像机的视点信息,在空间层次结构中搜索得到目标帕累托线以确定满足预算条件的一组绘制参数作为最优绘制参数进行绘制。本发明节约大量能耗的同时保证绘制效果的质量,延长电池的使用寿命。
Description
技术领域
本发明涉及图像技术领域,尤其涉及一种基于能耗或误差预算的最优实时绘制框架。
背景技术
绘制是将三维几何模型转换程图形图像的一个过程。对一个动画场景的绘制是一项非常耗时的过程,因为一个动画一般都是由成千上万帧构成的。随着人们对视觉效果的要求越来越高,每一帧的分辨率也越来越高,像素也越来越高,一幅图片有可能要花上好几个小时才能绘制完。
随着现代图形硬件加速技术的进步,GPU的高速发展极大的提高了计算机图形处理的速度和质量,并促进了与计算机图形相关应用领域的快速发展。于此同时,GPU绘制流水线的高速度和并行性,为GPU的通用计算提供了良好的平台。
近年来随着GPU在电池供电的移动设备上的普及,大量需要实时绘制技术的应用程序出现在了这样的设备上。运行这些应用程序所需的计算会迅速消耗电池电量,一方面对电池的生命周期有显著影响,更重要的是大大缩短了移动设定的待机时长,限定了移动设备使用者。
在这样的背景下,能够在能耗预算的条件下进行绘制已成为一个实际需求。降低绘制相关应用程序的能耗需求是计算机图形学领域未来的挑战之一。然而目前并不存在通用的解决方案,在这个方面还有很多的可能性没有被探索。在降低运行在电池供电设备上图形应用程序能耗需求的策略中,减少在图形绘制流水线中的计算量被证明是一个有效的解决方案。然而,多数已有方案的应用范围有限,通常只适用于某个具体的应用程序。
另外,现有的方法绝大多数是基于具体的图形流水线设计和硬件实现来达到优化资源并降低能耗的目的。由于通过底层硬件实现,需要改变现有设备的硬件结构,成本高。
此外,另一些方法通过自适应调节显示设备的亮度以降低能耗,但是其并不能够保证画质,也并未从实际上解决问题。
发明内容
针对现有技术的不足,本发明提出了一种基于能耗-误差预算的实时绘制方法,在满足预算条件下寻找最优的绘制参数,能够在保证画质的前提下显著降低了绘制过程的能耗需求延长了电池的使用时间,或保证能耗要求的前提下降低绘制误差。
一种基于能耗-误差预算的实时绘制方法,包括如下步骤:
(1)对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分得到若干个具有空间层次关系的位置子空间和视线子空间,并根据位置子空间和视线子空间的空间层次关系确定待绘制场景的空间层次结构;
在对摄像机的位置空间进行自适应空间剖分的过程中,每次剖分完成后针对得到的每个位置子空间,获取摄像机在包围该位置子空间的包围体的每个顶点处的各个视线子空间中使用若干组预设的绘制参数绘制待绘制三维场景的图像误差和能耗,并根据误差和能耗构建相应顶点和视线子空间的能耗-误差二维帕累托线;
(2)根据当前摄像机的视点信息,在所述的空间层次结构中搜索得到能耗-误差二维目标帕累托线,并利用目标帕累托线确定满足预算条件的一组绘制参数作为最优绘制参数用以绘制待绘制三维场景;
所述的视点信息包括摄像机的位置和方向,所述的预算条件为能耗预算或误差预算。
本发明的帕累托线即为能耗-误差帕累托线,该帕累托线上对应有若干组能耗-误差最优的绘制参数,能耗-误差最优的绘制参数为使用这些绘制参数得到的能耗与误差在使用其他绘制参数得到的能耗与误差所组成的空间中的帕累托最优。
本发明中每一组绘制参数至少包括一个控制实时绘制质量的绘制变量的取值。当绘制参数对应的绘制变量的个数超过1时,可以采用向量表示一组绘制参数。
本发明中获取摄像机在包围该位置子空间的包围体的每个顶点处的各个视线子空间中使用若干组预设的绘制参数绘制待绘制三维场景的误差和能耗时使用的若干组绘制参数对应的画质关系是确定的。具体使用的绘制参数的组数组数越多,最终得到的绘制参数越精确,但是会消耗大量的时间,因此需要根据实际应用需要设定。
本发明中,对于每一组绘制参数对应的能耗为使用该组绘制参数绘制待绘制场景所需的能耗。
进一步优选,每组绘制参数对应的误差为使用该绘制参数绘制待绘制的三维场景得到的图像与最高质量的绘制参数绘制待绘制的三维场景得到的图像的差异;
若干组预设的绘制参数中各组绘制参数的对应得到的绘制图像质量的高低关系已知,直接从中选择最绘制图像质量最高的一组绘制参数作为最高质量的绘制参数即可。
对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分时,先进行空间位置剖分得到相应的位置子空间,然后在包围该位置子空间的包围体的各个顶点处,将该顶点处允许用户浏览的摄像机视线空间进行划分得到相应的视线子空间。
作为优选,将每个顶点处允许用户浏览的摄像机视线空间按照方向进行划分得到相应的视线子空间。
进一步优选,按照六个方向进行划分,划分时在该顶点处构建一个三维直角坐标系,按照该三维直角坐标系中各个坐标轴的正向与负向进行划分。
对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分的过程中,每次剖分前针对当前待剖分的位置子空间,根据包围该位置子空间的包围体的各个顶点处的帕累托线进行如下操作:
(a)若包围当前位置子空间的包围体的所有边上的两个顶点在每一个视线空间中对应的两条帕累托线均满足收敛条件,则停止对该位置子空间的剖分;所述收敛条件为两条帕累托线间的能耗距离小于能耗阈值或误差距离小于距离阈值;
(b)否则,继续对该位置子空间进行剖分。
作为优选,所述的能耗阈值为0.5,误差阈值为0.005,以保证最终得到的结果能够在保证画质的条件下达到能耗最低的目的。在实际应用时,能耗阈值和误差阈值也可以根据应用需求设定。
两条帕累托线间的能耗距离和误差距离的定义如下:
其中,c0和c1分别表示帕累托线对应的摄像机的视点信息,为帕累托线之间的误差距离,为帕累托线之间的能耗距离,
为帕累托线到帕累托线的误差的半距离函数,为帕累托线到帕累托线的误差的半距离函数,
为帕累托线到帕累托线的能耗的半距离函数,为帕累托线到帕累托线的能耗的半距离函数,
分别根据如下公式计算:
其中,c0和c1分别表示帕累托线对应的摄像机视点信息,摄像机视点信息由摄像机当前所在的位置和方向决定;N为帕累托线上的绘制参数的个数,s0j为帕累托线上的第j个绘制参数,为摄像机的视点信息为c0、绘制参数设置为s0j时的误差,为摄像机的视点信息为c1、绘制参数设置为s0j时的误差,为摄像机的视点信息为c0、绘制参数设置为s0j时的误差相对于位于摄像机的视点信息为c1、绘制参数设置为s0j时的误差的差值;为摄像机的视点信息为c0、绘制参数设置为s0j时的能耗,为摄像机的视点信息为c1、绘制参数设置为s0j时的能耗,为摄像机的视点信息为c0、绘制参数设置为s0j时的能耗相对于摄像机的视点信息为c1处绘制参数设置为s0j时的能耗的差值;
M为帕累托线上的绘制参数的个数,s1j为帕累托线上的第j个绘制参数,为摄像机的视点信息为c0、绘制参数设置为s1j时的误差,为摄像机的视点信息为c1、绘制参数设置为s1j时的误差,为摄像机的视点信息为c1、绘制参数设置为s1j时的误差相对于位于摄像机的视点信息为c0、绘制参数设置为s1j时的误差的差值;为摄像机的视点信息为c1、绘制参数设置为s1j时的能耗,为摄像机的视点信息为c0、绘制参数设置为s1j时的能耗,为摄像机的视点信息为c1、绘制参数设置为s1j时的能耗相对于摄像机的视点信息为c0处绘制参数设置为s1j时的能耗的差值。、
针对每次剖分得到的位置子空间,每个包围该位置子空间的包围体的顶点处各个视线子空间上的帕累托线根据如下方法计算:
若该顶点为包围上一层剖分得到的位置子空间的包围体的顶点,则不计算;
若该顶点位于上一层剖分得到的包围位置子空间的包围体的边上,且该边的两个顶点满足收敛条件,则从该条边的两个顶点任选一个顶点的帕累托线作为该顶点的帕累托线;
否则,计算该顶点的帕累托线。
为了高效的获取各个帕累托线,作为优选,基于遗传算法计算顶点的帕累托线,具体如下:
首先随机初始化若干绘制参数向量构建初始参数集合,然后迭代进行如下操作直至达到最大迭代次数,并根据最后一次迭代得到的参数集合中的绘制参数向量构建帕累托线:
对初始参数集合中的绘制参数向量进行繁殖和变异产生新的绘制参数向量以形成候选集合;
针对候选集合中的任意两个绘制参数向量u和u′,若满足u<u′,则淘汰u′,否则,保留u′,并结束本次迭代,并以本次迭代得到的集合作为初始集合以进行下一次迭代,
u<u′表示e(c,u)≤e(c,u′)且p(c,u)≤p(c,u′),其中,c为视点信息,e(c,s)表示摄像机视点信息为c、绘制参数向量为s时绘制的误差,p(c,s)表示摄像机视点信息为c、绘制参数向量为s时绘制的能耗。
作为优选,最大迭代次数为绘制参数向中所有绘制变量可取数值的个数的平均值。
根据当前摄像机的位置和方向在所述的空间层次结构中搜索得到目标帕累托线方法如下:
根据当前摄像机的视点信息搜索空间层次结构,得到摄像机的位置所在的位置子空间以及该位置子空间中与该位置距离最近的顶点,并从距离最近的包围该位置子空间的包围体的顶点的视线子空间中确定当前摄像机的方向所在的视线子空间,并以该视线子空间对应的帕累托线作为目标帕累托线。确定满足预算条件的当前最优绘制参数方法如下:
若预设的预算条件为能耗预算,则搜索目标帕累托线找到满足能耗预算且误差最小的绘制参数作为最优绘制参数;
若预设的预算条件为误差预算,则搜索目标帕累托线找到满足误差预算且能耗最小的绘制参数作为最优绘制参数。
得到最优绘制参数后在预设的过渡时间内还对当前得到的最优绘制参数和实时绘制过程中与本次最优绘制参数不同、且时间上最邻近的最优绘制参数进行插值处理得到最终绘制参数用于进行实时绘制。
根据如下公式进行插值处理:
其中,soptimal为最终绘制参数,sold表示实时绘制过程中与本次最优绘制参数不同、且时间上最邻近的最优绘制参数,snew表示当前得到的最优绘制参数;t表示利用当前得到的最优绘制参数进行绘制的绘制时间,T为预设的过渡时间,方括号表示向下取整。
本发明中对最优绘制参数进行插值处理以避免绘制参数波动过大,进而保证绘制效果的连贯性,减少由绘制参数变动造成的图像跳动。
本发明针对当前待绘制的三维场景,可以预先完成步骤(1),即将整个绘制过程划分为预计算和实时绘制两个过程,通过预计算构建八叉树以供实时绘制使用,可以有效提高绘制效率。
未作特殊说明,本发明误差度量所使用的方法是基于感知的SSIM,能耗测量数据由NVML库所提供的API获取。
与现有技术相比,本发明的有益效果如下:
应用范围广泛,不局限于某一具体应用程序,本发明的绘制方法可以应用于OpenGL绘制框架以及UnrealEngine 4商用游戏引擎,可以被推广到其他不同的平台,比如桌面PC和移动设备;
节约大量能耗的同时保证绘制效果的质量,延长电池的使用寿命,使用预计算生成的数据,绘制程序在运行时可以十分迅速的找到符合预算的最优绘制设置。
具体实施方式
下面将结合具体实施例对本发明进行详细说明。
本实施例的基于能耗-误差预算的实时绘制方法,包括如下步骤:
(1)通过对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分得到若干个具有空间层次关系的位置子空间和视线子空间,并根据位置子空间和视线子空间的空间层次关系确定待绘制场景的空间层次结构;
在对摄像机的位置空间进行自适应空间剖分的过程中,每次剖分完成后针对得到的每个位置子空间,获取摄像机在包围该位置子空间的包围体的每个顶点处的各个视线子空间中使用若干组预设的绘制参数绘制待绘制三维场景的图像误差和能耗,并根据误差和能耗构建相应顶点和视线子空间的能耗-误差二维帕累托线;
每一组绘制参数至少包括一个控制实时绘制质量的绘制变量的取值。当绘制参数对应的绘制变量的个数超过1时,可以采用向量表示一组绘制参数。
获取摄像机在该包围该位置子空间的包围体的每个顶点处的各个视线子空间中使用若干组预设的绘制参数绘制待绘制三维场景的误差和能耗时使用的若干组绘制参数对应的画质关系是确定。具体使用的绘制参数的组数组数越多,最终得到的绘制参数越精确,但是会消耗大量的时间,因此需要根据实际应用需要设定。
本实施例中对于每一组绘制参数对应的能耗为使用该组绘制参数绘制待绘制场景所需的能耗;每组绘制参数对应的误差为使用该绘制参数绘制待绘制的三维场景得到的图像与最高质量的绘制参数绘制待绘制的三维场景得到的图像的差异;若干组预设的绘制参数中各组绘制参数的对应得到的绘制图像质量的高低关系已知,直接从中选择最绘制图像质量最高的一组绘制参数作为最高质量的绘制参数即可。
对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分时,先进行空间位置剖分得到相应的位置子空间,然后在包围体该位置子空间的包围体的各个顶点处,将该顶点处允许用户浏览的摄像机视线空间进行划分得到相应的视线子空间。
本实施例中将每个顶点处允许用户浏览的摄像机视线空间按照方向进行划分得到相应的视线子空间,划分时在该顶点处构建一个三维直角坐标系,按照该三维直角坐标系中各个坐标轴的正向与负向进行划分。
对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分的过程中,每次剖分前针对当前待剖分的位置子空间,根据包围该位置子空间的包围体的各个顶点处的帕累托线进行如下操作:
(a)若包围当前位置子空间的包围体的所有边上的两个顶点在每一个视线空间中对应的两条帕累托线均满足收敛条件,则停止对该位置子空间的剖分;所述收敛条件为两条帕累托线间的能耗距离小于能耗阈值或误差距离小于距离阈值;
(b)否则,继续对该位置子空间进行剖分。
本实施例中,最大迭代次数为50,能耗阈值为0.5W,误差阈值为0.005。
两条帕累托线间的能耗距离和误差距离的定义如下:
其中,c0和c1分别表示帕累托线对应的摄像机的视点信息,为帕累托线之间的误差距离,为帕累托线之间的能耗距离,
为帕累托线到帕累托线的误差的半距离函数,为帕累托线到帕累托线的误差的半距离函数,
为帕累托线到帕累托线的能耗的半距离函数,为帕累托线到帕累托线的能耗的半距离函数,
分别根据如下公式计算:
其中,c0和c1分别表示帕累托线对应的摄像机视点信息,摄像机视点信息由摄像机当前所在的位置和方向决定;N为帕累托线上的绘制参数的个数,s0j为帕累托线上的第j个绘制参数,为摄像机的视点信息为c0、绘制参数设置为s0j时的误差,为摄像机的视点信息为c1、绘制参数设置为s0j时的误差,为摄像机的视点信息为c0、绘制参数设置为s0j时的误差相对于位于摄像机的视点信息为c1、绘制参数设置为s0j时的误差的差值;为摄像机的视点信息为c0、绘制参数设置为s0j时的能耗,为摄像机的视点信息为c1、绘制参数设置为s0j时的能耗,为摄像机的视点信息为c0、绘制参数设置为s0j时的能耗相对于摄像机的视点信息为c1处绘制参数设置为s0j时的能耗的差值;
M为帕累托线上的绘制参数的个数,s1j为帕累托线上的第j个绘制参数,为摄像机的视点信息为c0、绘制参数设置为s1j时的误差,为摄像机的视点信息为c1、绘制参数设置为s1j时的误差,为摄像机的视点信息为c1、绘制参数设置为s1j时的误差相对于位于摄像机的视点信息为c0、绘制参数设置为s1j时的误差的差值;为摄像机的视点信息为c1、绘制参数设置为s1j时的能耗,为摄像机的视点信息为c0、绘制参数设置为s1j时的能耗,为摄像机的视点信息为c1、绘制参数设置为s1j时的能耗相对于摄像机的视点信息为c0处绘制参数设置为s1j时的能耗的差值。
针对每次剖分得到的位置子空间,包围该位置子空间的包围体的每个顶点处各个视线子空间上的帕累托线根据如下方法计算:
若该顶点为包围上一层剖分得到的位置子空间的包围体的顶点,则不计算;
若该顶点位于上一层剖分得到的包围位置子空间的包围体的边上,且该边的两个顶点满足收敛条件,则从该条边的两个顶点任选一个顶点的帕累托线作为该顶点的帕累托线;
否则,计算该顶点的帕累托线。
本实施例中基于遗传算法计算顶点的帕累托线:首先随机初始化若干绘制参数向量构建初始参数集合,然后迭代进行如下操作直至达到最大迭代次数,并根据最后一次迭代得到的参数集合中的绘制参数向量构建帕累托线:
对初始参数集合中的绘制参数向量进行繁殖和变异产生新的绘制参数向量以形成候选集合;
针对候选集合中的任意两个绘制参数向量u和u',若满足u<u′,则淘汰u′,否则,保留u′,并结束本次迭代,并以本次迭代得到的集合作为初始集合以进行下一次迭代,
u<u′表示e(c,u)≤e(c,u′)且p(c,u)≤p(c,u′),其中,c为视点信息,e(c,s)表示摄像机视点信息为c、绘制参数向量为s时绘制的误差,p(c,s)表示摄像机视点信息为c、绘制参数向量为s时绘制的能耗。
本实施例中采用八叉树描述自适应空间剖分得到个具有空间层次关系的位置子空间和视线子空间的空间层次结构,并记录所有的帕累托线。
八叉树中每个结点与相应剖分层数下得到的子空间一一对应,每个节点的节点信息包括摄像机分别位于对应子空间的各个顶点时在六个方向下的帕累托线。
(2)根据当前摄像机的视点信息,在空间层次结构(即八叉树)中搜索得到目标帕累托线,并利用目标帕累托线确定满足预算条件的一组绘制参数作为最优绘制参数用以绘制待绘制三维场景;
其中,当前摄像机的视点信息包括摄像机的位置和方向,预算条件为能耗预算或误差预算。
根据当前摄像机的视点信息在空间层次结构中搜索得到目标帕累托线方法如下:
根据当前摄像机的视点信息搜索空间层次结构,得到摄像机的位置所在的位置子空间以及包围该位置子空间的包围体上与该位置距离最近的顶点,并从距离最近的顶点的视线子空间中确定当前摄像机的方向所在的视线子空间,并以该视线子空间对应的帕累托线作为目标帕累托线。
确定满足预算条件的当前最优绘制参数方法如下:
若预设的预算条件为能耗预算,则搜索目标帕累托线找到满足能耗预算且误差最小的绘制参数作为最优绘制参数;
若预设的预算条件为误差预算,则搜索目标帕累托线找到满足误差预算且能耗最小的绘制参数作为最优绘制参数。
本实施例中为进一步保证绘制效果的连贯性,得到最优绘制参数后在预设的过渡时间内还对当前得到的最优绘制参数和实时绘制过程中与本次最优绘制参数不同、且时间上最邻近的最优绘制参数进行插值处理得到最终绘制参数用于进行实时绘制。根据如下公式进行插值处理:
其中,soptimal为最终绘制参数,sold表示实时绘制过程中与本次最优绘制参数不同、且时间上最邻近的最优绘制参数,snew表示当前得到的最优绘制参数;t表示利用当前得到的最优绘制参数进行绘制的绘制时间(即得到的该最优绘制参数的时刻与插值处理时刻的时间间隔),T为预设的过渡时间(本实施例中T为2s),方括号表示向下取整。
利用本实施例的方法和现有方法对场景绘制时的实验仿真结果(包括平均能耗和平均误差)如表所示,其中,最高画质为Unreal Engine 4扩展性设置中所有参数取3,中高画质为参数取2,中低画质为参数取1,最低画质为参数取0,优化参数为本发明动态选择的结果。可以看出,本发明的方法可以在误差和能耗之间取得良好的平衡,在该场景中使用本优化方法只需7.87W的能耗,这相对于最高画质来说节约了50.4%的能耗,同时误差要比最低画质参数下的结果小一个数量级。
表1
以上所述仅为本发明的优选实施方式,本发明的保护范围并不仅限于上述实施方式,凡是属于本发明原理的技术方案均属于本发明的保护范围。对于本领域的技术人员而言,在不脱离本发明的原理的前提下进行的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种基于能耗-误差预算的实时绘制方法,其特征在于,包括如下步骤:
(1)对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分得到若干个具有空间层次关系的位置子空间和视线子空间,并根据位置子空间和视线子空间的空间层次关系确定待绘制场景的空间层次结构;
在对摄像机的位置空间进行自适应空间剖分的过程中,每次剖分完成后针对得到的每个位置子空间,获取摄像机在包围该位置子空间的包围体的每个顶点处的各个视线子空间中使用若干组预设的绘制参数绘制待绘制三维场景的图像误差和能耗,并根据误差和能耗构建相应顶点和视线子空间的能耗-误差二维帕累托线;
(2)根据当前摄像机的视点信息,在所述的空间层次结构中搜索得到能耗-误差二维目标帕累托线,并利用目标帕累托线确定满足预算条件的一组绘制参数作为最优绘制参数用以绘制待绘制三维场景;
所述的视点信息包括摄像机的位置和方向,所述的预算条件为能耗预算或误差预算。
2.如权利要求1所述的基于能耗-误差预算的实时绘制方法,其特征在于,每组绘制参数对应的误差为使用该绘制参数绘制待绘制的三维场景得到的图像与最高质量的绘制参数绘制待绘制的三维场景得到的图像的差异;
若干组预设的绘制参数中各组绘制参数对应得到的绘制图像质量的高低关系已知。
3.如权利要求1所述的基于能耗-误差预算的实时绘制方法,其特征在于,对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分时,先进行空间位置剖分得到相应的位置子空间,然后在包围该位置子空间的包围体的各个顶点处,将该顶点处允许用户浏览的摄像机视线空间进行划分得到相应的视线子空间。
4.如权利要求3所述的基于能耗-误差预算的实时绘制方法,其特征在于,将每个顶点处允许用户浏览的摄像机视线空间按照方向进行划分得到相应的视线子空间。
5.如权利要求1~4中任意一项所述的基于能耗-误差预算的实时绘制方法,其特征在于,对待绘制三维场景中允许用户浏览的摄像机的位置空间和视线空间进行自适应空间剖分的过程中,每次剖分前针对当前待剖分的位置子空间,根据包围该位置子空间的包围体的各个顶点处的帕累托线进行如下操作:
(a)若包围当前位置子空间包围体的所有边上的两个顶点在每一个视线空间中对应的两条帕累托线均满足收敛条件,则停止对该位置子空间的剖分;所述收敛条件为两条帕累托线间的能耗距离小于能耗阈值或误差距离小于距离阈值;
(b)否则,继续对该位置子空间进行剖分。
6.如权利要求5所述的基于能耗-误差预算的实时绘制方法,其特征在于,两条帕累托线间的能耗距离和误差距离的定义如下:
其中,c0和c1分别表示帕累托线对应的摄像机的视点信息,为帕累托线之间的误差距离,为帕累托线之间的能耗距离,
为帕累托线到帕累托线的误差的半距离函数,为帕累托线到帕累托线的误差的半距离函数,
为帕累托线到帕累托线的能耗的半距离函数,为帕累托线到帕累托线的能耗的半距离函数,
分别根据如下公式计算:
其中,c0和c1分别表示帕累托线对应的摄像机视点信息,摄像机视点信息由摄像机当前所在的位置和方向决定;N为帕累托线上的绘制参数的个数,s0j为帕累托线上的第j个绘制参数,为摄像机的视点信息为c0、绘制参数设置为s0j时的误差,为摄像机的视点信息为c1、绘制参数设置为s0j时的误差,为摄像机的视点信息为c0、绘制参数设置为s0j时的误差相对于位于摄像机的视点信息为c1、绘制参数设置为s0j时的误差的差值;为摄像机的视点信息为c0、绘制参数设置为s0j时的能耗,为摄像机的视点信息为c1、绘制参数设置为s0j时的能耗,为摄像机的视点信息为c0、绘制参数设置为s0j时的能耗相对于摄像机的视点信息为c1处绘制参数设置为s0j时的能耗的差值;
M为帕累托线上的绘制参数的个数,s1j为帕累托线上的第j个绘制参数,为摄像机的视点信息为c0、绘制参数设置为s1j时的误差,为摄像机的视点信息为c1、绘制参数设置为s1j时的误差,为摄像机的视点信息为c1、绘制参数设置为s1j时的误差相对于位于摄像机的视点信息为c0、绘制参数设置为s1j时的误差的差值;为摄像机的视点信息为c1、绘制参数设置为s1j时的能耗,为摄像机的视点信息为c0、绘制参数设置为s1j时的能耗,为摄像机的视点信息为c1、绘制参数设置为s1j时的能耗相对于摄像机的视点信息为c0处绘制参数设置为s1j时的能耗的差值。
7.如权利要求6所述的基于能耗-误差预算的实时绘制方法,其特征在于,针对每次剖分得到的位置子空间,包围该位置子空间的包围体的每个顶点处各个视线子空间上的帕累托线根据如下方法计算:
若该顶点为上一层剖分得到的包围位置子空间的包围体的顶点,则不计算;
若该顶点位于上一层剖分得到的包围位置子空间的包围体的边上,且该边的两个顶点满足收敛条件,则从该条边的两个顶点任选一个顶点的帕累托线作为该顶点的帕累托线;
否则,计算该顶点的帕累托线。
8.如权利要求7所述的基于能耗-误差预算的实时绘制方法,其特征在于,基于遗传算法计算顶点的帕累托线时:首先随机初始化若干绘制参数向量构建初始参数集合,然后迭代进行如下操作直至达到最大迭代次数,并根据最后一次迭代得到的参数集合中的绘制参数向量构建帕累托线:
对初始参数集合中的绘制参数向量进行繁殖和变异产生新的绘制参数向量以形成候选集合;
针对候选集合中的任意两个绘制参数向量u和u′,若满足则淘汰u′,否则,保留u′,并结束本次迭代,并以本次迭代得到的集合作为初始集合以进行下一次迭代,
表示e(c,u)≤e(c,u′)且p(c,u)≤p(c,u′),其中,c为视点信息,e(c,s)表示摄像机视点信息为c、绘制参数向量为s时绘制的误差,p(c,s)表示摄像机视点信息为c、绘制参数向量为s时绘制的能耗。
9.如权利要求8所述的基于能耗-误差预算的实时绘制方法,其特征在于,根据当前摄像机的位置和方向在所述的空间层次结构中搜索得到能耗-误差二维目标帕累托线方法如下:
根据当前摄像机的视点信息搜索空间层次结构,得到摄像机的位置所在的位置子空间以及包围该位置子空间的包围体上与该位置距离最近的顶点,并从距离最近的顶点的视线子空间中确定当前摄像机的方向所在的视线子空间,并以该视线子空间对应的帕累托线作为目标帕累托线。
10.如权利要求9所述的基于能耗-误差预算的实时绘制方法,其特征在于,确定满足预算条件的当前最优绘制参数方法如下:
若预设的预算条件为能耗预算,则搜索目标帕累托线找到满足能耗预算且误差最小的绘制参数作为最优绘制参数;
若预设的预算条件为误差预算,则搜索目标帕累托线找到满足误差预算且能耗最小的绘制参数作为最优绘制参数。
11.如权利要求10所述的基于能耗-误差预算的实时绘制方法,其特征在于,得到最优绘制参数后在预设的过渡时间内还对当前得到的最优绘制参数和实时绘制过程中与本次最优绘制参数不同、且时间上最邻近的最优绘制参数进行插值处理得到最终绘制参数用于进行实时绘制。
12.如权利要求11所述的基于能耗-误差预算的实时绘制方法,其特征在于,根据如下公式进行插值处理:
其中,soptimal为最终绘制参数,sold表示实时绘制过程中与本次最优绘制参数不同、且时间上最邻近的最优绘制参数,snew表示当前得到的最优绘制参数;t表示利用当前得到的最优绘制参数进行绘制的绘制时间,T为预设的过渡时间,方括号表示向下取整。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610278727.5A CN105976306B (zh) | 2016-04-28 | 2016-04-28 | 一种基于能耗-误差预算的实时绘制方法 |
US16/097,529 US10733791B2 (en) | 2016-04-28 | 2017-04-18 | Real-time rendering method based on energy consumption-error precomputation |
PCT/CN2017/080859 WO2017186019A1 (zh) | 2016-04-28 | 2017-04-18 | 一种基于能耗-误差预算的实时绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610278727.5A CN105976306B (zh) | 2016-04-28 | 2016-04-28 | 一种基于能耗-误差预算的实时绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105976306A CN105976306A (zh) | 2016-09-28 |
CN105976306B true CN105976306B (zh) | 2019-06-04 |
Family
ID=56994557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610278727.5A Active CN105976306B (zh) | 2016-04-28 | 2016-04-28 | 一种基于能耗-误差预算的实时绘制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10733791B2 (zh) |
CN (1) | CN105976306B (zh) |
WO (1) | WO2017186019A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976306B (zh) * | 2016-04-28 | 2019-06-04 | 浙江大学 | 一种基于能耗-误差预算的实时绘制方法 |
CN109191555B (zh) * | 2018-07-12 | 2020-05-08 | 浙江大学 | 一种基于能耗-误差预测及预算的实时绘制方法 |
CN112150631B (zh) * | 2020-09-23 | 2021-09-21 | 浙江大学 | 一种基于神经网络的实时能耗优化绘制方法和装置 |
CN114418917B (zh) * | 2022-03-11 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183276A (zh) * | 2007-12-13 | 2008-05-21 | 上海交通大学 | 基于摄像头投影仪技术的交互系统 |
CN103914124A (zh) * | 2014-04-04 | 2014-07-09 | 浙江工商大学 | 面向三维场景的节能颜色映射方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7019742B2 (en) * | 2003-11-20 | 2006-03-28 | Microsoft Corporation | Dynamic 2D imposters of 3D graphic objects |
CN101369345B (zh) | 2008-09-08 | 2011-01-05 | 北京航空航天大学 | 一种基于绘制状态的多属性对象绘制顺序优化方法 |
US8587583B2 (en) * | 2011-01-31 | 2013-11-19 | Microsoft Corporation | Three-dimensional environment reconstruction |
CN105976306B (zh) * | 2016-04-28 | 2019-06-04 | 浙江大学 | 一种基于能耗-误差预算的实时绘制方法 |
-
2016
- 2016-04-28 CN CN201610278727.5A patent/CN105976306B/zh active Active
-
2017
- 2017-04-18 US US16/097,529 patent/US10733791B2/en active Active
- 2017-04-18 WO PCT/CN2017/080859 patent/WO2017186019A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183276A (zh) * | 2007-12-13 | 2008-05-21 | 上海交通大学 | 基于摄像头投影仪技术的交互系统 |
CN103914124A (zh) * | 2014-04-04 | 2014-07-09 | 浙江工商大学 | 面向三维场景的节能颜色映射方法 |
Non-Patent Citations (1)
Title |
---|
基于GPU的海量城市管线高校建模与实时绘制;李融 等;《计算机辅助设计与图形学学报》;20150430;第27卷(第4期);第597-604页 |
Also Published As
Publication number | Publication date |
---|---|
US20190147641A1 (en) | 2019-05-16 |
CN105976306A (zh) | 2016-09-28 |
WO2017186019A1 (zh) | 2017-11-02 |
US10733791B2 (en) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105976306B (zh) | 一种基于能耗-误差预算的实时绘制方法 | |
CN102272798B (zh) | 曲面细分时间随曲面细分量线性增长的镶嵌器 | |
US20130127853A1 (en) | System and method for automatic rigging of three dimensional characters for facial animation | |
CN108492247A (zh) | 一种基于网格变形的眼妆贴图方法 | |
CN112506476B (zh) | 一种数字孪生车间系统快速架构方法及装置 | |
CN111260764A (zh) | 一种制作动画的方法、装置及存储介质 | |
CN104658027A (zh) | 一种面向不规则海洋流场数据的三维流线动态可视化算法 | |
WO2023087893A1 (zh) | 对象处理方法、装置、计算机设备、存储介质及程序产品 | |
CN105976421A (zh) | 一种渲染程序的在线优化方法 | |
CN103400404A (zh) | 一种高效渲染位图运动轨迹的方法 | |
CN110378992A (zh) | 面向大场景模型web端动态渲染LOD处理方法 | |
US20230298237A1 (en) | Data processing method, apparatus, and device and storage medium | |
CN115018992B (zh) | 发型模型的生成方法、装置、电子设备及存储介质 | |
CN103544727B (zh) | 一种基于预测分支的场景渲染优化方法、系统和移动终端 | |
CN110781446A (zh) | 海洋中尺度涡旋拉格朗日平均涡度偏差快速计算方法 | |
CN104270437B (zh) | 分布式混合架构的海量数据处理和可视化系统及方法 | |
CN101169871A (zh) | 面向大规模静态场景实时渲染的hlod预处理方法 | |
CN104157000A (zh) | 模型表面法线的计算方法 | |
CN104200508B (zh) | 基于Intel众核架构对等模式的光线追踪加速方法 | |
CN110472588A (zh) | 锚点框确定方法、装置、计算机设备和存储介质 | |
CN108010126A (zh) | 基于体素构建大规模复杂地形的方法及系统 | |
CN108629837A (zh) | 一种用于虚拟试衣的布料实时仿真方法 | |
CN109635999B (zh) | 一种基于粒子群-细菌觅食的水电站调度方法及系统 | |
Romeiro et al. | Hardware-assisted rendering of csg models | |
KR101281156B1 (ko) | 레이 트레이싱 코어 및 레이 트레이싱 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |