CN102496173A - 一种用于采样点分离的数字偏移方法 - Google Patents
一种用于采样点分离的数字偏移方法 Download PDFInfo
- Publication number
- CN102496173A CN102496173A CN 201110400138 CN201110400138A CN102496173A CN 102496173 A CN102496173 A CN 102496173A CN 201110400138 CN201110400138 CN 201110400138 CN 201110400138 A CN201110400138 A CN 201110400138A CN 102496173 A CN102496173 A CN 102496173A
- Authority
- CN
- China
- Prior art keywords
- delta
- circleplus
- sequence
- integral
- digimigration
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种计算机图像渲染方法,该方法基于(t,s)序列,使用数字偏移实现采样点的分离,与基于Halton序列,使用Cranley-Patterson旋转实现采样点分离的方法相比,本发明能够显著提高图像的渲染质量。
Description
技术领域
本发明涉及一种计算机图像渲染方法,特别是一种利用拟随机数(quasi-randomnumbers)确定采样点位置的渲染方法。
背景技术
在计算机图像渲染领域,为模拟各种光影效果,例如,景深、运动模糊、全局光照等,需要对具有如下形式的积分进行求值:
其中x为一s维变量,Is为s维单位立方体,函数f(·)由所要模拟的效果及输入的场景数据决定。公式(1)一般无法精确求解,在实际的渲染过程中总是使用数值计算的方法求其近似值:
确定公式(2)中采样点位置xi的方法可分为两类,一类是使用随机数的方法,另一类是使用拟随机数的方法。拟随机数是一种具有良好结构的分布模式,在公式(2)的积分估计中能够提供比随机数更高的效率。
采样点的分离(splitting)是另一种提高公式(2)效率的方法,该方法将公式(2)中的变量x分解为两个或更多的部分x=(x(1),x(2),...,x(n)),其中x(p)的维度为sp,1≤p≤n,在对高维部分求值的过程中保持低维部分不变:
其中N1,N2,...,Nn为采样点在不同层次上的分离次数。
为同时获得使用拟随机数和采样点分离的好处,美国专利US Patent No.7,358,971公开日期2007年9月27日提供了一种基于Halton序列,使用Cranley-Patterson旋转(Cranley-Patterson rotations)实现采样点分离的方法。
上述Halton序列为拟随机数序列的一种,(t,s)序列为另一种拟随机数序列且能提供优于Halton序列的质量。生成b进制(t,s)序列中第i个点的第j维分量的小数部分数字矢量的方法如下:
其中为(t,s)序列的第j维生成矩阵(generator matrices),其系数为有限域Fb中元素。br(i)表示整数i在b进制表示下的第r位数字,即M为所选择的在b进制表示下的最大精度。已知小数部分数字矢量求其对应值的方法为:
(t,s)序列的例子包括:Sobol序列、Faure序列、Niederreiter序列和Niederreiter-Xing序列等。不同的(t,s)序列的区别在于其生成矩阵的构造方法不同。
任何拟随机数都可直接用于公式(2),但要用于公式(3)则须作适当的变换。Cranley-Patterson旋转和数字偏移(digital shifts)均为满足所需要求的变换方式,但Cranley-Patterson旋转会破坏拟随机数的结构,而数字偏移则不会。
发明内容
本发明提供了一种计算机图像渲染方法,该方法基于(t,s)序列,使用数字偏移实现采样点的分离。
实现本发明技术目的的方案,包括以下步骤:
(A)对于渲染图像时需要求值的积分
使用数值计算的方法求其近似值,包括以下步骤:
将变量x分解为两个或更多的部分x=(x(1),x(2),...,x(n)),其中x(p)的维度为sp,1≤p≤n,在对高维部分求值的过程中保持低维部分不变
2≤j≤sp,2≤p≤n;
其中,
M为所选择的在b进制表示下的最大精度;
b(i)表示整数i在b进制表示下的各位数字所组成的数字矢量,即b(i):=(bM-1(i),bM-2(i),...,b0(i))T;
函数h(·)将b进制数字矢量转化为对应的小数值,对一b进制数字矢量d=(dM-1,dM-2,...,d0)T,h(d):=(b-1,b-2,...,b-M)(dM-1,dM-2,...,d0)T;
对于变量组使用步骤(B)所述方法确定其值;
1≤v≤q,2≤Δ≤pv+1-pv;
1≤v≤q,2≤Δ≤pv+1-pv,
1≤v≤q,2≤Δ≤pv+1-pv;
其中ξv,ξv,0,ξv,1,...,ξv,b-1,ξv,0,0,...,ξv,b-1,b-1,...,ξv,b-1,...,b-1,1≤v≤q,为相互独立的随机数。
本发明具有以下优点:
由于本发明基于(t,s)序列,使用数字偏移实现采样点的分离,与基于Halton序列,使用Cranley-Patterson旋转实现采样点分离的方法相比,本发明能够显著提高图像的渲染质量。
具体实施方式
以下结合实施例对本发明进行详细说明。
表1列出了计算2进制Niederreiter序列的C++代码示例:
表1
在表1所示代码中,最大精度设为32位。设定一个最大精度的原因是,在数值计算中,既不可能也无必要进行无限精度的计算。
在表1所示代码中,最大维度设为12维。设定最大维度的作用在于,一方面,计算(t,s)序列需要用到的生成矩阵的数据需事先存储在计算机可读的介质中,而现实中的任何设备都不可能存储无限多的数据;另一方面,拟随机数的质量虽优于随机数,但随着维度的增大,拟随机数的质量会逐渐下降,所以在实际中也无必要使用无限维的拟随机数。
对不同的(t,s)序列,最大维度的选取要根据其质量参数(quality parameters)t和设定的最大精度来决定,其原则是,所选择的最大维度的质量参数不应超过设定的最大精度。
表2列出了2进制Sobol序列、Niederreiter序列和Niederreiter-Xing序列在不同维度中的质量参数。该参数越小表示质量越高,最小为0。
表2
维度 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 |
Sobol | 0 | 0 | 1 | 3 | 5 | 8 | 11 | 15 | 19 | 23 | 27 | 31 | 35 | 40 | 45 | 71 |
Niederreiter | 0 | 0 | 1 | 3 | 5 | 8 | 11 | 14 | 18 | 22 | 26 | 30 | 34 | 38 | 43 | 68 |
Niederreiter-Xing | 0 | 0 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 13 | 15 | 21 |
从上表可以看出,对于2进制Sobol序列和Niederreiter序列,如果最大精度设为32位,则最大维度应选为12维,因为12维的Sobol序列和Niederreiter序列的质量参数分别为31和30,未超过32,而13维的Sobol序列和Niederreiter序列的质量参数分别为35和34,超过了32。
为充分发挥拟随机数的效率,在实现采样点分离的数字偏移运算中有时需先将左操作数的数字位向右移动若干位后再作数字偏移运算。将左操作数的数字位向右移动的位数记为Ej(m),其中1≤j≤s,m为满足bm≥N的最小非负整数,s为采样的维度,N为采样点的数量,b为(t,s)序列的基数,则Ej(m)须满足1≤j≤s,0≤k<Ej(m)}为线性无关矢量组,其中为(t,s)序列的第j维生成矩阵的系数。
对任一(t,s)序列,当m>t时,任何满足的非负整数Ej(m)均符合上述要求。尽管对Ej(m)的选择并不唯一,但为了使各个维度的采样质量尽可能相同,一种选择Ej(m)的方式是:若m≤t,则Ej(m)=0,1≤j≤s;若m>t,设m-t=qb+r,其中0≤q,0≤r<b,当1≤j≤r时Ej(m)=q+1,当r<j≤s时Ej(m)=q。
需要注意的是,上述Ej(m)的选择方式可用于任何(t,s)序列,但对于Sobol序列和Niederreiter序列这种质量参数在低维部分小于高维部分的(t,s)序列,应根据不同维度的质量参数来选择Ej(m)以提高效率。表3列出了在对2进制Niederreiter序列使用数字偏移实现采样点分离的过程中,计算左操作数的数字位向右移动位数的C++代码示例:
表3
使用(t,s)序列需要设定一个最大维度,但渲染图像时所需采样点的维度可能超过该设定值。对于这种情况,需要对(t,s)序列的序号执行一次置换操作,置换后的序号可用于原(t,s)序列生成新的分量。表4列出了实现该置换操作的C++代码示例:
表4
表5列出了在对2进制Niederreiter序列使用数字偏移实现采样点分离的过程中,计算所需偏移量的C++代码示例,其中用到了在表1和表4中所示代码:
表5
表6列出了基于2进制Niederreiter序列,使用数字偏移实现采样点的分离的C++代码示例,其中用到了在表1、表3和表5中所示代码:
表6
表7列出了在渲染过程中使用表6所示代码的C++代码示例:
表7
在表6所示代码中,对采样点在不同层次上的分离均使用了相同的(t,s)序列,即2进制Niederreiter序列,除使用相同的(t,s)序列外也可使用基数相同但类型不同的(t,s)序列,例如,2进制Niederreiter-Xing序列。Niederreiter-Xing序列的质量虽优于Sobol序列和Niederreiter序列,但在使用上存在一个限制,即必须事先确定总的采样维度,因而不适宜作为图像渲染中一种普遍适用的方法,不过如果已知当前采样点的分离不会有更高维的采样,则可用Niederreiter-Xing序列替换Niederreiter序列以获得更好的渲染效果。
一种(t,s)序列的扩展称之为随机化(t,s)序列(randomized(t,s)sequences),其作用在于能估计积分近似值的误差大小。虽然渲染图像时不必去估计积分近似值的误差大小,但这种随机化方法可用于在动画的渲染中缓解图像中的瑕疵,即对动画渲染中不同的图像帧使用不同的随机数对采样点进行随机化,以淡化可能存在的瑕疵图案。表8列出了在表5所示代码的基础上增加了随机化步骤的C++代码示例:
表8
Claims (4)
1.一种计算机图像渲染方法,其特征为,包括以下步骤:
(A)对于渲染图像时需要求值的积分
使用数值计算的方法求其近似值,包括以下步骤:
将变量x分解为两个或更多的部分x=(x(1),x(2),...,x(n)),其中x(p)的维度为sp,1≤p≤n,在对高维部分求值的过程中保持低维部分不变
2≤j≤sp,2≤p≤n;
其中,
b(i)表示整数i在b进制表示下的各位数字所组成的数字矢量,即b(i):=(bM-1(i),bM-2(i),...,b0(i))T;
函数h(·)将b进制数字矢量转化为对应的小数值,对一b进制数字矢量d=(dM-1,dM-2,...,d0)T,h(d):=(b-1,b-2,...,b-M)(dM-1,dM-2,...,d0)T;
1≤v≤q,2≤Δ≤pv+1-pv;
1≤v≤q,2≤Δ≤pv+1-pv;
其中ξv,ξv,0,ξv,1,...,ξv,b-1,ξv,0,0,...,ξv,b-1,b-1,...,ξv,b-1,...,b-1,1≤v≤q,为相互独立的随机数。
2.如权利要求1.所述方法,还包括,对采样点在不同层次上的分离使用相同的(t,s)序列或基数相同但类型不同的(t,s)序列。
3.如权利要求1.所述方法,其中,所述(t,s)序列包括Sobol序列、Faure序列、Niederreiter序列和Niederreiter-Xing序列。
4.如权利要求1.所述方法,其中,所述(t,s)序列还包括随机化的(t,s)序列。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110400138 CN102496173A (zh) | 2011-12-06 | 2011-12-06 | 一种用于采样点分离的数字偏移方法 |
PCT/CN2012/084738 WO2013082992A1 (zh) | 2011-12-06 | 2012-11-16 | 一种用于采样点分离的数字偏移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110400138 CN102496173A (zh) | 2011-12-06 | 2011-12-06 | 一种用于采样点分离的数字偏移方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102496173A true CN102496173A (zh) | 2012-06-13 |
Family
ID=46187995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110400138 Pending CN102496173A (zh) | 2011-12-06 | 2011-12-06 | 一种用于采样点分离的数字偏移方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102496173A (zh) |
WO (1) | WO2013082992A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013082992A1 (zh) * | 2011-12-06 | 2013-06-13 | Yang Sai | 一种用于采样点分离的数字偏移方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4100625B2 (ja) * | 2001-06-07 | 2008-06-11 | メンタル イメージズ ゲーエムベーハー | サンプル・ポイントのコースシーケンスを発生させるための確定的な方法論を用いた画像表示 |
US8659616B2 (en) * | 2010-02-18 | 2014-02-25 | Nvidia Corporation | System, method, and computer program product for rendering pixels with at least one semi-transparent surface |
CN102496173A (zh) * | 2011-12-06 | 2012-06-13 | 阳赛 | 一种用于采样点分离的数字偏移方法 |
-
2011
- 2011-12-06 CN CN 201110400138 patent/CN102496173A/zh active Pending
-
2012
- 2012-11-16 WO PCT/CN2012/084738 patent/WO2013082992A1/zh active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013082992A1 (zh) * | 2011-12-06 | 2013-06-13 | Yang Sai | 一种用于采样点分离的数字偏移方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013082992A1 (zh) | 2013-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210142522A1 (en) | Point cloud attribute compression method based on deleting 0 elements in quantisation matrix | |
Luijten et al. | Boundary between long-range and short-range critical behavior in systems with algebraic interactions | |
TW389866B (en) | Computer graphics animation method and device | |
CN100542298C (zh) | 一种柱面全景视频编码的块尺寸计算方法和传输方法 | |
CA2529044A1 (en) | Three-dimensional modeling from arbitrary three-dimensional curves | |
CN104036502B (zh) | 一种无参考模糊失真立体图像质量评价方法 | |
CN102724529B (zh) | 虚拟视点视频序列的生成方法及生成装置 | |
CN103716641B (zh) | 预测图像生成方法和装置 | |
KR20100054973A (ko) | 2차원 영상으로부터 3차원 영상을 재구성하는 방법 및 장치 | |
CN103493482B (zh) | 一种提取及优化图像深度图的方法与装置 | |
CN102496173A (zh) | 一种用于采样点分离的数字偏移方法 | |
CN101076830A (zh) | 数据处理设备和方法 | |
CN111986298A (zh) | 一种基于二维码技术的关键帧动画效果分享方法 | |
CN105807093B (zh) | 一种基于粒子图像测速技术的加速度测量方法及装置 | |
CN101860753B (zh) | 一种基于分形的视频压缩与解压缩方法 | |
CN102496170A (zh) | 一种用于采样任务分解的方法 | |
JP2009509259A5 (zh) | ||
CN106504236B (zh) | 基于稀疏表示的无参考立体图像质量客观评价方法 | |
CN111311724B (zh) | 3d文字的阴影添加方法、介质、设备及装置 | |
CN102496171A (zh) | 一种用于(t,s)序列的层级化置换方法 | |
CN102843560B (zh) | 图像变换处理方法、设备和系统 | |
CN103646376A (zh) | 一种数字水印图像生成方法 | |
JP2003135428A5 (zh) | ||
CN102495718A (zh) | 一种用于图像渲染的拟随机数生成方法 | |
CN106355567B (zh) | 基于区间估计的显微成像系统三维点扩散函数的选取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120613 |