CN107808370B - 一种基于区域求和的立方体图的图像滤波方法 - Google Patents
一种基于区域求和的立方体图的图像滤波方法 Download PDFInfo
- Publication number
- CN107808370B CN107808370B CN201710871132.5A CN201710871132A CN107808370B CN 107808370 B CN107808370 B CN 107808370B CN 201710871132 A CN201710871132 A CN 201710871132A CN 107808370 B CN107808370 B CN 107808370B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- sat
- sacm
- cube
- cube map
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000001914 filtration Methods 0.000 title claims description 35
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 13
- 230000010354 integration Effects 0.000 abstract description 6
- 238000012026 site acceptance test Methods 0.000 description 53
- 238000010586 diagram Methods 0.000 description 8
- 238000009877 rendering Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 102100040149 Adenylyl-sulfate kinase Human genes 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002910 structure generation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/12—Shadow map, environment map
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
区域求和表(summed area table,SAT)技术原本是用来处理二维矩形的数据。根据球面函数的特性,SAT并不能直接处理球面函数和立方体图。本发明针对立方体图,设计了一个新SAT的表示方式,将立方体图看作三维辅助函数的一部分,这个三维辅助函数定义在三维矩形空间内。其主要思路是将立方体上的二维积分过程转换为三维辅助函数上的三维积分。本发明实际上为三维辅助函数创建了一个三维的SAT,然后利用这个三维的SAT实现三维积分。这个三维的SAT并不是球面的SAT,但是它具有一些良好的特性使其能保存在本发明的数据结构中,这个数据结构就是区域求和立方体图(summed‑area cube map,SACM)。而SACM适用于标准的立方体图纹理当中,SACM的取值方法能被高效地应用在现有的图形设备中,同时继承了原始的SAT的特性。
Description
技术领域
本发明涉及计算机图像渲染和计算机视觉领域,可以应用于图像渲染中环境映射、全局光照和阴影绘制过程,视觉领域的目标识别过程。
背景技术
环境贴图(environment map)是将离散图像组成的数字化图像,在场景的渲染过程中需要对环境贴图进行滤波,以实现反走样、柔和阴影、高光反射等效果。在这些应用中,滤波算法的速度和质量直接决定了渲染的速度与图像的质量。图像滤波需要对环境贴图上任意的一个区域进行积分。对于区域长宽为w像素的滤波,直接采用点采样方式进行滤波的时间复杂度为O(w2)。当区域滤波较大时,这在要求实时速度的应用中是不可行的。对于二维图像可行的常数时间滤波方法,有基于预计算的Mipmap方法和区域求和法(summed areatable,SAT)。这类方法一般通过读取一个预先计算的数据结构中的相应位置并进行简单运算,得到最终需要的滤波结果,从而实现对任意大小的区域的固定时间的滤波。
然而,与二维图像不同的是,环境贴图是对球面(闭合曲面)函数的参数化采样,其数据连续无边界。其中最常用的立方体图(cube map),环境的信息会分布在立方体的六个面上,相邻面之间的内容是连续的。当滤波区域分布在多个面上时,直接利用Mipmap或者SAT方法分别对每个面进行滤波会忽视内容的连续性,从而导致滤波失真。
本发明保证了滤波内容连续的基础上,利用预计算的思想设计了立方体图和SAT相结合的数据结构和读取方法,实现高质量的实时常数时间滤波。将立方体图定义为在三维矩形空间中的三维辅助函数的一部分,把立方体图上的二维积分过程转换为三维辅助函数上的三维积分。事实上,本发明为三维辅助函数定义了三维SAT,利用三维的SAT完成三维积分。这种特殊的三维的SAT被称为区域求和立方体图(summed-area cube map,SACM),能被存储在标准的立方体图纹理中。SACM的滤波方法可以有效地应用在现有的图形硬件当中,并且拥有原始SAT的良好特性。
发明内容
在保证滤波内容连续的基础上,本发明将立方体图与SAT相结合,定义了一个新的数据结构SACM和对应的滤波方法。新的数据结构SACM继承了原始SAT的特性,能够在固定时间内快速完成区域积分,并且利用数据冗余可以这个数据结构存储在标准的立方体纹理中,其滤波方法可以高效地应用在现有的GPU图形设备上,实现高质量的实时的O(1)时间内滤波。
本发明内容由两个部分组成,首先是SACM数据结构的生成过程,然后是基于SACM的滤波技术。
1.SACM数据结构的生成
SACM数据结构的生成由两个部分组成:二维SAT的生成,以及SACM数据结构的生成。
1.1二维SAT的生成
二维SAT生成过程是一项基本步骤,在SACM数据结构生成时将用到这个基本步骤。这个过程的输入为一维的闭合函数,如图1所示一维的闭合函数;输出为二维的SAT。其流程如算法1所示:
1.2 SACM数据结构的生成
与生成二维SAT的过程类似,生成SACM过程需要生成6个二维SAT。给出一个立方体图,需要分别生成6个二维SAT,其原点在面的中心。在生成的过程中,这6个二维SAT必须与三维SAT的方向一致。生成过程如算法2所示。
计算相邻公共边的值为两个邻接的SAT的边界上的和,计算相邻角点的值为三个邻接的SAT的角点的和。如图3所示,SACM由6个独立的面组成,这6个二维的SAT面必须与三维的SAT方向一致。立方体图的采样点位于纹素的中心,而且SAT的采样点位于立方体图纹素的角落。如图4所示,SACM一个面的局部结构。
2.基于SACM的滤波技术
在滤波的时候,对于一个给定的立方体图上的滤波核(filter kernel),本方法将在三维空间定义一个矩形长方体(即三维滤波壳,3D filter box),如图5所示基于SACM滤波的简略流程。下面将详细说明基于SACM的滤波技术。
令Ω为立方体上的滤波核,F(Ω)为对应的滤波值。本方法将核Ω转换为一个定义在三维空间上的轴对齐的长方体B,使得长方体B和SAT立方的相交之处尽可能近的覆盖核Ω。令H(B)为SACM的滤波值。如果能找出这样的一个长方体B,使得F(Ω)=H(B),那么问题变为如何定义B。在得到B的八个顶点之后,需要一种读取方式从SACM中读取SAT的值。
长方体B定义取决于核Ω的位置和大小,下面分为三种情况。对于每种情况都满足以下的三个条件:
●核Ω的中心c位于立方体图的+Y面上,即c=(xc,1,zc);
●核Ω为正方形,边长为2wc;
●|xc|>|zc|。
2.1滤波核位于一个面上
如图6(a)所示,滤波核Ω的足迹位于一个面上。图6(b)所示,长方体的中心cB位于区间[(xc,1-wc,zc),(xc,1+wc,zc)]之内,长方体B正好覆盖了滤波核Ω。令cB=(xc,1-+wc,zc),其中1-表示比1略小的数,则滤波值可以通过如下公式计算:
其中{vi}为长方体B的顶点。可以通过长方体的中心和边宽计算得到。
由于三维SAT的H(v)定义在三维空间,但是SACM却存放在一个立方体图的纹理当中,根据SACM的定义,对于{v5,…,v8},H(vi)=0。而{v1,…,v4},将其映射到SACM的+Y面上的灰色区域(图6(c)),通过下式获取H(vi)的值:
当滤波核Ω靠近边界的时候,其足迹如图7(a)所示覆盖了立方体图上的两个面,是一个折叠后的矩形。为了达到平滑过渡的效果,令长方体的中心cB=(xc,1+(1-|xc|),zc),如图7(b)所示长方体B的中心与滤波核Ω中心的距离为(1-|xc|),B正好覆盖Ω。
SAT的值可以通过如下方式获得。对于{v5,v8},H(vi)=0。对于其他的顶点,需要从SACM中获取。其中{v1,v4},将其映射到+Y面上的灰色区域,如图7(c),按照下式计算:
其中{v6,v7},将其映射至+X面上的灰色区域,如图7(c),按照下式计算:
其中{v2,v3},需将其映射至+Y面上黄色区域的外框边上,如图7(c),对SAT立方体公共边的采样保存在外框边上,按照下式计算:
2.3滤波核位于多个面上
当滤波核Ω靠近角落的时候,或者当其尺寸非常大的时候,这个核的足迹将至少跨跃立方体图上的3个面。这种情形存在多种分布的可能,图8所示两种可能分布,一个是重复覆盖图8(a),另一个是缺失图8(b)。重复覆盖不适合GPU的应用,本方法只考虑缺失的情况。
当滤波Ω靠近角落,其足迹跨域三个面如图9所示,由于足迹的形状过于复杂,很难找到了一个长方体B正好覆盖住滤波Ω。令长方体的中心cB=(xc,1+(1-|xc|),zc),长方体B与SAT立方体相交的部分包含了一个多余的区域R,如图9(b)。令L为由顶点v9,v10,v11,v12四个顶点组成的区域,如图10(a)和(b)。
由于区域R相对整个相交部分而言很小,F(Ω)可用下式近似得到:
F(Ω)≈H(B)-γF(I); 式(6)
其中γ是区域R和I的比例,由下面的式子计算:
为了计算F(I),定义一个新的矩形长方体如图10(b)。新的长方体由这8个顶点组成而且顶点v13(的投影)和v12()之间的距离为1个像素大小。由于三维函数的值(并不是三维SAT的值)在SAT立方体12条边上的值为0,F(I)可由下面的式子计算得到:
利用式(6)和式(8)可得:
式(11)在应用时,SAT的值H(v8)等于0,其他顶点的SAT值需要从SACM中获取,如图10(d)。对于顶点v4和v7的SAT值可分别使用式(2)和式(4)计算,对于顶点v3可以使用式(5)计算。对于顶点v′1、v′2和v′6的SAT值可以在立方体纹理上进行插值计算得到:
在上述讨论足迹跨越3个面的情况中,需要重新调整顶点一次。如果滤波核的尺寸非常大,那么其足迹将会覆盖多于3个面。可以使用相同方法,近似计算来自第4个和第5个面的贡献。这样情况下需要重新整理顶点2到3次。如图11所示,对应的重新整理的结果。
通过枚举所有的情况,下面总结了一个通用的计算公式:
对于给定的B的2个斜对角,对其重新调整:
v′=v+βsign(v)max(abs(v)-1,0); 式(14)
可以计算出8个重新调整的顶点,{v′1,…,v′8}。
通过下列式子计算SAT的值:
对应的读取点vi″的计算方法如下:
附图说明
图1为一维闭合函数示意图。
图2为二维SAT的生成实例示意图,(a)生成4段一维的SAT,(b)将相邻的一维SAT的两个端点相加。
图3为SACM数据结构生成示意图,(a)三维SAT的坐标轴,(b)立方体图的局部,(c)SACM的局部。
图4为SACM一个面的结构示意图,(a)SAT取值的采样位置,(b)原始立方体图的采样位置,(c)从原始立方体图+Y面得到的SAT取值,(d)从原始立方体图的+Y面和一个邻接面得到的SAT取值,(e)从原始立方体图的+Y面和两个邻接面得到的SAT取值。
图5为基于SACM滤波的简略流程图,(a)立方体图上滤波,(b)三维滤波过程,(c)从SACM中读取SAT的值。
图6为滤波核位于一个面上的示意图,(a)滤波核Ω,(b)长方体B,(c)从SACM上读取SAT的值。
图7为滤波核跨越两个面的示意图,(a)滤波核Ω,(b)长方体B,其中心cB离核Ω中心,(c)SACM对应的映射。
图8为跨越多个面的两种分布情况示意图,(a)多重覆盖的折叠,(b)缺失的折叠。
图9为跨域三个面的滤波核示意图,(a)滤波核Ω,(b)长方体B。
图10为长方体的顶点重新分布情况示意图,(a)第三个面的尺寸,(b)为插值而添加的新顶点,(c)投影新的顶点到长方体B,(d)映射顶点到SACM上获取对应的SAT值。
图11为跨越多个面的滤波核和顶点重新分布示意图,第一行表示滤波核跨越4个面,第二行表示滤波核跨越5个面,(a)(b)中深色区域表示滤波核Ω,虚线部分表示由矩形长方体B构建的滤波核;(c)顶点重新整理后的俯视图。
图12为本发明的基本流程及一个应用实例,(a)—个展开的立方体图,(b)构造一个三维辅助函数,(c)设计基于三维区域求和表的预计算方法对辅助函数进行预计算,(d)设计一个可以储存在立方体图中的数据结构,(e)需要被渲染的物体,(f)根据应用需求确定滤波区域,(g)设计读取算法对预计算的数据结构进行滤波,把不规则区域积分转化为规则区域体积分,(h)渲染的结果。其中图(b)(c)(g)中的栅格无物理意义,只是为了展示离散效果。
具体实施方式
实施方式由两个步骤构成:SACM数据结构的生成,基于SACM数据结构进行滤波。
输入一个立方体图,这个面的大小为m×m,按照下面两个步骤处理:
步骤1、对立方体图的每一个面,在面的中心以及面的边上插入一行和一列“0”,如图3(b)(c),以面的中心为原点生成二维的SAT;
步骤2、对每个面,利用二维SAT的值,计算相邻公共边和相邻角点的值(如图3(c))。
得到一个SACM数据结构,每个面的大小为(m+3)×(m+3)。
而后基于SACM数据结构进行滤波,虽然滤波的情况多种,但是可以利用通用公式进行计算:
对于给定的B的2个斜对角,利用式(14)和式(15)对其重新调整,可以计算出8个重新调整的顶点,{v′1,…,v′8};
利用式(16)和式(17)计算H(v′i)的SAT值。
Claims (1)
1.一种基于区域求和的立方体图的图像滤波方法,其特征包括如下两个步骤:
步骤1、区域求和立方体图SACM数据结构的生成,具体包括如下两个子步骤:1.1对立方体图的每一个面,在面的中心以及面的边上插入一行和一列“0”,然后以面的中心为原点生成二维的SAT;1.2对立方体图的每个面,利用二维SAT的值,计算相邻公共边和相邻角点的值;
步骤2、基于区域求和立方体图SACM的滤波:其通用计算公式包括如下两步骤:2.1令Ω为立方体上的滤波核,其滤波中心为c,滤波核宽度2wc,F(Ω)为对应的滤波值;将滤波核Ω转换为定义在三维空间上的轴对齐的长方体Β,使得F(Ω)=H(B),其中H(B)为SACM的滤波值;以B的2个斜对角对其每个顶点v进行重新调整,计算出8个重新调整的顶点{v′1,…,v′8}:
v′=v+βsign(v)max(abs(v)-1,0);
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016110818538 | 2016-11-30 | ||
CN201611081853 | 2016-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107808370A CN107808370A (zh) | 2018-03-16 |
CN107808370B true CN107808370B (zh) | 2021-06-18 |
Family
ID=61584510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710871132.5A Active CN107808370B (zh) | 2016-11-30 | 2017-09-24 | 一种基于区域求和的立方体图的图像滤波方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107808370B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7242401B2 (en) * | 2004-06-25 | 2007-07-10 | Siemens Medical Solutions Usa, Inc. | System and method for fast volume rendering |
US8111264B2 (en) * | 2006-03-30 | 2012-02-07 | Ati Technologies Ulc | Method of and system for non-uniform image enhancement |
CN103679818A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种基于虚拟面光源的实时场景绘制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120004227A (ko) * | 2010-07-06 | 2012-01-12 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
-
2017
- 2017-09-24 CN CN201710871132.5A patent/CN107808370B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7242401B2 (en) * | 2004-06-25 | 2007-07-10 | Siemens Medical Solutions Usa, Inc. | System and method for fast volume rendering |
US8111264B2 (en) * | 2006-03-30 | 2012-02-07 | Ati Technologies Ulc | Method of and system for non-uniform image enhancement |
CN103679818A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种基于虚拟面光源的实时场景绘制方法 |
Non-Patent Citations (3)
Title |
---|
Adaptively Layered Statistical Volumetric Obscurance;Quintjin Hendrickx. et al.;《High Performance Graphics》;20150831;全文 * |
Fast Summed-Area Table Generation and its Applications;Justin Hensley,et al.;《EUROGRAPHICS》;20051231;第24卷(第3期);第7页 * |
基于移动平台的三维场景后处理特效研究与实现;胡方亮;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107808370A (zh) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9972129B2 (en) | Compression of a three-dimensional modeled object | |
US11967046B2 (en) | Methods and apparatus for enhancing optical images and parametric databases | |
US11164295B2 (en) | Methods and apparatus for enhancing optical images and parametric databases | |
Kobbelt et al. | A survey of point-based techniques in computer graphics | |
US20070018988A1 (en) | Method and applications for rasterization of non-simple polygons and curved boundary representations | |
US6600485B1 (en) | Polygon data generation method and image display apparatus using same | |
TWI443602B (zh) | 位移參數曲面的階層式邊界 | |
JP4199159B2 (ja) | 描画処理装置、描画処理方法、及び描画処理プログラム | |
US7148890B2 (en) | Displacement mapping by using two passes through the same rasterizer | |
Glassner | Adaptive precision in texture mapping | |
Liu et al. | Seamless: seam erasure and seam-aware decoupling of shape from mesh resolution. | |
US8576225B2 (en) | Seamless fracture in a production pipeline | |
US20050243101A1 (en) | Image generation apparatus and image generation method | |
TWI708208B (zh) | 圖形處理系統 | |
TW473693B (en) | Method and apparatus for handling translucency in 3D graphics | |
GB2581536A (en) | Joint shape and texture decoders for three-dimensional rendering | |
US20050017969A1 (en) | Computer graphics rendering using boundary information | |
Azariadis et al. | On using planar developments to perform texture mapping on arbitrarily curved surfaces | |
CN107808370B (zh) | 一种基于区域求和的立方体图的图像滤波方法 | |
US20110102436A1 (en) | Smooth shading and texture mapping using linear gradients | |
Li et al. | Approximation of Loop subdivision surfaces for fast rendering | |
US20210152737A1 (en) | Apparatus and method for stitching together multiple images | |
Islam et al. | Overview and challenges of different image morphing algorithms | |
Wong et al. | Projective transformations for image transition animations | |
Segre | Image warp preserving content intensity |
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 |