CN102495718A - 一种用于图像渲染的拟随机数生成方法 - Google Patents

一种用于图像渲染的拟随机数生成方法 Download PDF

Info

Publication number
CN102495718A
CN102495718A CN2011104494721A CN201110449472A CN102495718A CN 102495718 A CN102495718 A CN 102495718A CN 2011104494721 A CN2011104494721 A CN 2011104494721A CN 201110449472 A CN201110449472 A CN 201110449472A CN 102495718 A CN102495718 A CN 102495718A
Authority
CN
China
Prior art keywords
sigma
quasi
dimension
random number
satisfying
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
Application number
CN2011104494721A
Other languages
English (en)
Inventor
阳赛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN2011104494721A priority Critical patent/CN102495718A/zh
Publication of CN102495718A publication Critical patent/CN102495718A/zh
Priority to PCT/CN2012/084752 priority patent/WO2013097557A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

本发明提供了一种计算机图像渲染方法,该方法利用了一种新的拟随机数生成方法确定采样点的位置,能够直接计算出落入指定区域的采样点的位置而无需求解方程组,所生成的拟随机数的基数亦不受用于存储渲染结果的数据结构的维度的影响,与基于现有的拟随机数序列,通过求解方程组确定采样点位置的方法相比,本发明可显著提高图像渲染程序的运行效率。

Description

一种用于图像渲染的拟随机数生成方法
技术领域
本发明涉及一种计算机图像渲染方法,特别是一种利用拟随机数(quasi-randomnumbers)确定采样点位置的渲染方法。
背景技术
在计算机图像渲染领域,为模拟各种光影效果,例如,景深、运动模糊、全局光照等,需要对具有如下形式的积分进行求值:
Figure BSA00000646426100011
其中x为一s维变量,Is为s维单位立方体,函数f(·)由所要模拟的效果及输入的场景数据决定。公式(1)一般无法精确求解,在实际的渲染过程中总是使用数值计算的方法求其近似值:
∫ I S f ( x ) dx ≈ 1 N Σ i = 0 N - 1 f ( x i ) - - - ( 2 )
确定公式(2)中采样点位置xi的方法可分为两类,一类是使用随机数的方法,另一类是使用拟随机数的方法。拟随机数是一种具有良好结构的分布模式,在公式(2)的积分估计中能够提供比随机数更高的效率。
除确定采样点的位置外,有时还需确定落入指定区域的采样点的位置,例如,要将渲染结果存储在二维图像中,则需要确定位于每一像素中的采样点的位置。
上述问题可叙述为:将s维单位立方体IS沿第j维等分为Mj份,得到共
Figure BSA00000646426100013
个互不相交的子立方体
Figure BSA00000646426100014
其中1≤j≤s,0≤ij<Mj,Mj≥1为用于存储渲染结果的数据结构在第j维中的分辨率;需要一种生成拟随机数的方法,该方法能够在每一个子立方体
Figure BSA00000646426100015
中生成一个s维拟随机数作为采样点的位置,且对于任意一个指定的子立方体
Figure BSA00000646426100017
该方法均能够快速计算出所需s维拟随机数的值。
为解决上述技术问题,美国专利申请US PatentApplication No.12/241,928公开日期2009年6月4日提供了一种基于现有的拟随机数序列,通过求解方程组确定采样点位置的方法。该方法主要有以下几个缺陷:
需要求解方程组;
所用拟随机数序列的基数须随用于存储渲染结果的数据结构的维度的增长而增长,而不能使用一个固定的值。
发明内容
本发明提供了一种计算机图像渲染方法,该方法利用了一种新的拟随机数生成方法确定采样点的位置。
实现本发明技术目的的方案,包括以下步骤:
(A)对于渲染图像时需要求值的积分
∫ I S f ( x ) dx
使用数值计算的方法求其近似值
∫ I S f ( x ) dx ≈ 1 N Σ i 1 = 0 M 1 - 1 Σ i 2 = 0 M 2 - 1 . . . Σ i s = 0 M s - 1 f ( x i 1 , i 2 , . . . , i s ) ;
其中,
Figure BSA00000646426100023
为采样点的数量,Mj为用于存储渲染结果的数据结构在第j维中的分辨率;
(B)确定步骤(A)中所述变量
Figure BSA00000646426100024
的值的方法,其中0≤ij≤Mj-1,1≤j≤s,包括以下步骤:
x i 1 , i 2 , . . . , i s ( j ) = b m j M j Σ r = 1 m Σ b - r D j , r ( i 1 , i 2 , . . . , i s ) , 1 ≤ j ≤ s ;
D j , d ( i 1 , i 2 , . . . , i s ) : = b m j - d + 1 ( i j ) , 1 ≤ j ≤ s , 1 ≤ d ≤ m j ;
D j , m j + d ( i 1 , i 2 , . . . , i s ) : = Σ Δ = 1 L j , h ( j , d ) c d - σ j , h ( j , d ) - 1 , Δ ( n ) b j , h ( j , d ) , Δ ( i 1 , i 2 , . . . , i s ) ,
1≤j≤s,1≤d≤m-mj
其中,
Figure BSA00000646426100028
表示的第j维分量的值;
b为拟随机数的基数;
br(i)表示整数i在b进制表示下的第r位数字;
Figure BSA000006464261000210
mj为满足
Figure BSA000006464261000211
的最小非负整数;
Lj,k:=card{t:1≤t<s∧m(j+t)mods≥k},1≤j≤s,1≤k≤max{m1,m2,...,ms},并约定Lj,0=0;
σ j , k : = Σ r = 0 k L j , r , 1 ≤ j ≤ s , 0 ≤ k ≤ max { m 1 , m 2 , . . . , m s } ;
h(j,d)为满足σj,h(j,d)-1<d≤σj,h(j,d)的非负整数,其中1≤j≤s,1≤d≤m-mj
bj,k,Δ(i1,i2,...,is):=bk(i(j+t(j,k,Δ))mods),1≤j≤s  ,1≤k≤max{m1,m2,...,ms},1≤Δ≤Lj,k,其中t(j,k,Δ)为满足m(j+t(j,k,Δ))mods≥k的非负整数,且t(j,k,Δ)<s,当1≤Δ′<Δ″≤Lj,k时,t(j,k,Δ′)<t(j,k,Δ″);
Figure BSA00000646426100032
为矩阵
Figure BSA00000646426100033
的元素,其中C(n)为一bn×bn矩阵,其构造方法为
C(0)=1,
Figure BSA00000646426100034
n为满足bn≥s-1的最小非负整数。
本发明具有以下优点:
由于本发明利用了一种新的拟随机数生成方法,该方法可直接计算出落入指定区域的采样点的位置而无需求解方程组,所生成的拟随机数的基数亦不受用于存储渲染结果的数据结构的维度的影响,与基于现有的拟随机数序列,通过求解方程组确定采样点位置的方法相比,本发明可显著提高图像渲染程序的运行效率。
具体实施方式
以下结合实施例对本发明进行详细说明。
表1列出了计算2进制拟随机数所需数据结构的C++代码示例:
表1
Figure BSA00000646426100035
Figure BSA00000646426100041
在表1所示代码中,采样点的维度通过模板参数加以指定,用于存储渲染结果的数据结构的分辨率则以数组的形式通过函数参数加以指定。
表2列出了计算2进制拟随机数的C++代码示例,其中用到了在表1中所示代码:
表2
Figure BSA00000646426100052
Figure BSA00000646426100061
表3列出了在渲染过程中使用表2所示代码的C++代码示例:
表3
Figure BSA00000646426100062
Figure BSA00000646426100071
本发明所使用的拟随机数生成方法可直接计算出落入指定区域的采样点的位置,若采样点的数量为bm,其中b为拟随机数的基数,用于存储渲染结果的数据结构的维度为s,则该方法的时间复杂度为O(bmms2);如果基于现有的拟随机数序列,通过求解方程组确定采样点的位置,则其时间复杂度为O(bm(m3+m2s)),当m>>s时,bm(m3+m2s)>>bmms2
另一方面,由于本发明采用的拟随机数生成方法所生成的拟随机数的基数不受用于存储渲染结果的数据结构的维度的影响,因而可使用一固定的值,例如,在表1和表2中所示代码均以2为基数,由于计算机硬件技术的特点,以2为基数可获得最佳的计算效率。如果基于现有的拟随机数序列,例如Faure序列,通过求解方程组确定采样点的位置,则所用拟随机数序列的基数须随用于存储渲染结果的数据结构的维度的增长而增长,例如,如果用于存储渲染结果的数据结构的维度为4,则须使用3进制Faure序列,与2进制相比,其计算效率将明显下降。

Claims (1)

1.一种计算机图像渲染方法,其特征为,包括以下步骤:
(A)对于渲染图像时需要求值的积分
∫ I S f ( x ) dx
使用数值计算的方法求其近似值
∫ I S f ( x ) dx ≈ 1 N Σ i 1 = 0 M 1 - 1 Σ i 2 = 0 M 2 - 1 . . . Σ i s = 0 M s - 1 f ( x i 1 , i 2 , . . . , i s ) ;
其中,为采样点的数量,Mj为用于存储渲染结果的数据结构在第j维中的分辨率;
(B)确定步骤(A)中所述变量
Figure FSA00000646426000014
的值的方法,其中0≤ij≤Mj-1,1≤j≤s,包括以下步骤:
x i 1 , i 2 , . . . , i s ( j ) = b m j M j Σ r = 1 m Σ b - r D j , r ( i 1 , i 2 , . . . , i s ) , 1 ≤ j ≤ s ;
D j , d ( i 1 , i 2 , . . . , i s ) : = b m j - d + 1 ( i j ) , 1 ≤ j ≤ s , 1 ≤ d ≤ m j ;
D j , m j + d ( i 1 , i 2 , . . . , i s ) : = Σ Δ = 1 L j , h ( j , d ) c d - σ j , h ( j , d ) - 1 , Δ ( n ) b j , h ( j , d ) , Δ ( i 1 , i 2 , . . . , i s ) ,
1≤j≤s,1≤d≤m-mj
其中,
表示
Figure FSA00000646426000019
的第j维分量的值;
b为拟随机数的基数;
br(i)表示整数i在b进制表示下的第r位数字;
mj为满足
Figure FSA000006464260000111
的最小非负整数;
Lj,k:=card{t:1≤t<s∧m(j+t)mods≥k},1≤j≤s  ,1≤k≤max{m1,m2,...,ms},并约定Lj,0=0;
σ j , k : = Σ r = 0 k L j , r , 1 ≤ j ≤ s , 0 ≤ k ≤ max { m 1 , m 2 , . . . , m s } ;
h(j,d)为满足σj,h(j,d)-1<d≤σj,h(j,d)的非负整数,其中1≤j≤s,1≤d≤m-mj
bj,k,Δ(i1,i2,...,is):=bk(i(j+t(j,k,Δ))mods),1≤j≤s,1≤k≤max{m1,m2,...,ms},1≤Δ≤Lj,k,其中t(j,k,Δ)为满足m(j+t(j,k,Δ))mods≥k的非负整数,且t(j,k,Δ)<s,当1≤Δ′<Δ″≤Lj,k时,t(j,k,Δ′)<t(j,k,Δ″);
Figure FSA00000646426000021
为矩阵
Figure FSA00000646426000022
的元素,其中C(n)为一bn×bn矩阵,其构造方法为
C(0)=1,
Figure FSA00000646426000023
n为满足bn≥s-1的最小非负整数。
CN2011104494721A 2011-12-29 2011-12-29 一种用于图像渲染的拟随机数生成方法 Pending CN102495718A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011104494721A CN102495718A (zh) 2011-12-29 2011-12-29 一种用于图像渲染的拟随机数生成方法
PCT/CN2012/084752 WO2013097557A1 (zh) 2011-12-29 2012-11-16 一种用于图像渲染的拟随机数生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104494721A CN102495718A (zh) 2011-12-29 2011-12-29 一种用于图像渲染的拟随机数生成方法

Publications (1)

Publication Number Publication Date
CN102495718A true CN102495718A (zh) 2012-06-13

Family

ID=46187547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104494721A Pending CN102495718A (zh) 2011-12-29 2011-12-29 一种用于图像渲染的拟随机数生成方法

Country Status (2)

Country Link
CN (1) CN102495718A (zh)
WO (1) WO2013097557A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097557A1 (zh) * 2011-12-29 2013-07-04 Yang Sai 一种用于图像渲染的拟随机数生成方法
CN109741432A (zh) * 2018-12-03 2019-05-10 广州纬纶信息科技有限公司 一种渲染预估用时计算方法、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7432935B2 (en) * 2002-11-19 2008-10-07 Mental Images Gmbh Image synthesis methods and systems for generating sample points in a graphics scene
CN1967595A (zh) * 2006-10-26 2007-05-23 上海交通大学 基于分块的蒙特卡洛体绘制方法
CN102495718A (zh) * 2011-12-29 2012-06-13 阳赛 一种用于图像渲染的拟随机数生成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097557A1 (zh) * 2011-12-29 2013-07-04 Yang Sai 一种用于图像渲染的拟随机数生成方法
CN109741432A (zh) * 2018-12-03 2019-05-10 广州纬纶信息科技有限公司 一种渲染预估用时计算方法、电子设备及存储介质
CN109741432B (zh) * 2018-12-03 2022-11-01 广州纬纶信息科技有限公司 一种渲染预估用时计算方法、电子设备及存储介质

Also Published As

Publication number Publication date
WO2013097557A1 (zh) 2013-07-04

Similar Documents

Publication Publication Date Title
CN104620136B (zh) 组合多点统计和基于对象的方法的计算机系统和混合方法
JP2018514031A (ja) DeepStereo:実世界の画像から新たなビューを予測するための学習
CN110334434A (zh) 一种高效的岩土体参数随机场建模方法
EP2503286A3 (en) Geomagnetic field measurement device, offset determination method, and computer readable recording medium therefor
DE602004024333D1 (de) Azimut-messeinrichtung
CN106646508A (zh) 面向斜坡区域的基于多线激光雷达的斜坡角度估计方法
CN108627798A (zh) 基于线性判别分析和梯度提升树的wlan室内定位算法
CN104299241A (zh) 基于 Hadoop 的遥感图像显著性目标检测方法及系统
CN109255777A (zh) 一种结合小波变换和感知哈希算法的图像相似度计算方法
CN103839280B (zh) 一种基于视觉信息的人体姿态跟踪方法
CN103927529B (zh) 一种最终分类器的获得方法及应用方法、系统
CN102495718A (zh) 一种用于图像渲染的拟随机数生成方法
CN103824372A (zh) 一种移动终端手摇选号方法
CN106570935B (zh) 植被分布模拟方法及装置
WO2007114939A3 (en) A fast generalized 2-dimensional heap for hausdorff and earth mover's distance
CN114462247A (zh) 一种北太平洋海表盐度年代际模态识别方法及系统
CN110188407A (zh) 多孔介质内液体流动参数的确定方法及装置
CN104202817A (zh) 大型室内空间中的多热点信号指纹地图的存储和匹配方法
CN109032667A (zh) 一种分子动力学模拟中邻接表快速建立方法和系统
TWI273509B (en) Method for rapidly building image space relation using plane filtering limitation
CN108510569B (zh) 一种基于多通道的艺术字生成方法及系统
CN103065363A (zh) 一种杆塔三维模型快速导入场景方法
CN112711897A (zh) 一种压力场的计算方法和设备,及存储介质
CN102646196A (zh) 一种snesim多点模拟结果不确定性评估方法
CN104699909B (zh) 一种保持强稳定性的变步长多步法时间离散方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120613